* go.test/go-test.exp (filecmp): New procedure.
(errchk): Handle quoted square brackets.
(go-gc-tests): Set go_compile_args. Handle various new test
lines. Skip a few new tests.
* lib/go-torture.exp (go-torture-execute): Use go_compile_args.
From-SVN: r183502
+2012-01-24 Ian Lance Taylor <iant@google.com>
+
+ * go.test/go-test.exp (filecmp): New procedure.
+ (errchk): Handle quoted square brackets.
+ (go-gc-tests): Set go_compile_args. Handle various new test
+ lines. Skip a few new tests.
+ * lib/go-torture.exp (go-torture-execute): Use go_compile_args.
+
2012-01-24 Richard Sandiford <rdsandiford@googlemail.com>
* lib/target-supports.exp (proc check_effective_target_vect_perm)
load_lib go-dg.exp
load_lib go-torture.exp
+# Compare two files
+proc filecmp { file1 file2 testname } {
+ set f1 [open $file1 r]
+ set f2 [open $file2 r]
+ set ok 1
+ while { [gets $f1 line1] >= 0 } {
+ if { [gets $f2 line2] < 0 } {
+ verbose -log "output mismatch: $file2 shorter than $file1"
+ set ok 0
+ break
+ }
+ if { $line1 != $line2 } {
+ verbose -log "output mismatch comparing $file1 and $file2"
+ verbose -log "expected \"$line1\""
+ verbose -log "got \"$line2\""
+ set ok 0
+ break
+ }
+ }
+ if { [gets $f2 line2] >= 0 } {
+ verbose -log "output mismatch: $file1 shorter than $file2"
+ set ok 0
+ }
+ close $f1
+ close $f2
+ if { ! $ok } {
+ fail $testname
+ } else {
+ pass $testname
+ }
+}
+
# Implement errchk
proc errchk { test opts } {
global dg-do-what-default
continue
}
regsub "// \(GCCGO_\)?ERROR \"\(\[^\"\]*\)\".*$" $copy_line "// \{ dg-error \"\\2\" \}" out_line
+ if [string match "*dg-error*\\\[*" $out_line] {
+ set index [string first "dg-error" $out_line]
+ regsub -start $index -all "\\\\\\\[" $out_line "\\\\\\\\\\\[" out_line
+ }
+ if [string match "*dg-error*\\\]*" $out_line] {
+ set index [string first "dg-error" $out_line]
+ regsub -start $index -all "\\\\\\\]" $out_line "\\\\\\\\\\\]" out_line
+ }
if [string match "*dg-error*.\**" $out_line] {
# I worked out the right number of backslashes by
# experimentation, not analysis.
global TOOL_OPTIONS
global TORTURE_OPTIONS
global dg-do-what-default
+ global go_compile_args
global go_execute_args
global target_triplet
continue
}
- # Skip the files in bench and garbage; they are not tests.
+ # Skip the files in bench; they are not tests.
if [string match "*go.test/test/bench/*" $test] {
continue
}
- if [string match "*go.test/test/garbage/*" $test] {
- continue
- }
# Skip files in sub-subdirectories: they are components of
# other tests.
continue
}
+ if { [file tail $test] == "init1.go" } {
+ # This tests whether GC runs during init, which for gccgo
+ # it currently does not.
+ untested $name
+ continue
+ }
+
+ if { [file tail $test] == "closure.go" } {
+ # This tests whether function closures do any memory
+ # allocation, which for gccgo they currently do.
+ untested $name
+ continue
+ }
+
set fd [open $test r]
set lines_ok 1
if { [ string match "*nacl*exit 0*" $test_line ] \
|| [ string match "*exit 0*nacl*" $test_line ] \
|| [ string match "*Android*exit 0*" $test_line ] \
- || [ string match "*exit 0*Android*" $test_line ] } {
+ || [ string match "*exit 0*Android*" $test_line ] \
+ || [ string match "*\"\$GOOS\" == windows*" $test_line ] } {
continue
}
close $fd
+ set go_compile_args ""
set go_execute_args ""
- if { [regexp ".*\\\$A.out (\[^|&>\].*)\$" $test_line match progargs] } {
+ if { [regexp ".*\\\$A.out (\[^|&>2\].*)\$" $test_line match progargs] } {
set go_execute_args $progargs
verbose -log "$test: go_execute_args is $go_execute_args"
set index [string last " $progargs" $test_line]
# This is a vanilla execution test.
go-torture-execute $test
file delete core [glob -nocomplain core.*]
+ } elseif { $test_line == "// \$G \$D/\$F.go && \$L \$F.\$A && ./\$A.out 2>&1 | cmp - \$D/\$F.out" \
+ || $test_line == "// (\$G \$D/\$F.go && \$L \$F.\$A && ./\$A.out 2>&1 | cmp - \$D/\$F.out)" } {
+ # This is an execution test for which we need to check the
+ # program output.
+ set hold_runtests $runtests
+ set runtests "go-test.exp"
+ set dg-do-what-default "link"
+ dg-test -keep-output $test "-O" "-w $DEFAULT_GOCFLAGS"
+ set output_file "./[file rootname [file tail $test]].exe"
+ set base "[file rootname [file tail $test]]"
+ if [isnative] {
+ verbose -log "$output_file >$base.p 2>&1"
+ if { [catch "exec $output_file 2>$base.p" catcherr] != 0 } {
+ verbose -log $catcherr
+ fail "$name execution"
+ untested "$name compare"
+ } else {
+ pass "$name execution"
+ regsub "\\.go$" $test ".out" expect
+ filecmp $expect $base.p "$name compare"
+ }
+ #file delete $base.p
+ } else {
+ untested "$name execution"
+ untested "$name compare"
+ }
+ set runtests $hold_runtests
} elseif { [string match \
"// \$G \$D/\$F.go && \$L \$F.\$A || echo BUG*" \
$test_line] \
} elseif { [string match "// \$G \$D/\$F.go" $test_line] \
|| [string match "// \$G \$D/\$F.go || echo BUG*" \
$test_line] \
+ || [string match "// \$G \$D/\$F.go || echo \"Bug*" \
+ $test_line] \
+ || [string match "// \$G \$D/\$F.go || echo \"Issue*" \
+ $test_line] \
|| [string match "// \$G \$F.go || echo BUG*" \
$test_line] \
|| [string match "// ! \$G \$D/\$F.go && echo BUG*" \
errchk $test ""
} elseif { [string match \
"// \$G \$D/\$F.dir/bug0.go && \$G \$D/\$F.dir/bug1.go || echo BUG*" \
- $test_line] } {
+ $test_line] \
+ || [string match \
+ "// \$G \$D/\$F.dir/one.go && \$G \$D/\$F.dir/two.go" \
+ $test_line] } {
+ if { [string match \
+ "// \$G \$D/\$F.dir/bug0.go && \$G \$D/\$F.dir/bug1.go || echo BUG*" \
+ $test_line] } {
+ set name1 "bug0.go"
+ set name2 "bug1.go"
+ } elseif { [string match \
+ "// \$G \$D/\$F.dir/one.go && \$G \$D/\$F.dir/two.go" \
+ $test_line] } {
+ set name1 "one.go"
+ set name2 "two.go"
+ }
set hold_runtests $runtests
set runtests "go-test.exp"
set dg-do-what-default "assemble"
- regsub "\\.go$" $test ".dir/bug0.go" file1
+ regsub "\\.go$" $test ".dir/$name1" file1
dg-test -keep-output $file1 "-O" "-w $DEFAULT_GOCFLAGS"
- regsub "\\.go$" $test ".dir/bug1.go" file2
+ regsub "\\.go$" $test ".dir/$name2" file2
dg-test $file2 "-O" "-w $DEFAULT_GOCFLAGS"
file delete "[file rootname [file tail $file1]].o"
set runtests $hold_runtests
set runtests $hold_runtests
} elseif { [string match \
"// \$G \$D/\$F.dir/lib.go && \$G \$D/\$F.dir/main.go && \$L main.\$A && ./\$A.out || echo BUG*" \
- $test_line ] } {
+ $test_line ] || \
+ [string match \
+ "// \$G \$D/\$F.dir/p.go && \$G \$D/\$F.dir/main.go && \$L main.\$A && ./\$A.out || echo BUG*" \
+ $test_line ] } {
+ if { [string match \
+ "// \$G \$D/\$F.dir/lib.go && \$G \$D/\$F.dir/main.go && \$L main.\$A && ./\$A.out || echo BUG*" \
+ $test_line ] } {
+ set name1 "lib.go"
+ set name2 "main.go"
+ } elseif { [string match \
+ "// \$G \$D/\$F.dir/p.go && \$G \$D/\$F.dir/main.go && \$L main.\$A && ./\$A.out || echo BUG*" \
+ $test_line ] } {
+ set name1 "p.go"
+ set name2 "main.go"
+ }
set hold_runtests $runtests
set runtests "go-test.exp"
set dg-do-what-default "assemble"
- regsub "\\.go$" $test ".dir/lib.go" file1
+ regsub "\\.go$" $test ".dir/$name1" file1
dg-test -keep-output $file1 "-O" "-w $DEFAULT_GOCFLAGS"
set ofile1 "[file rootname [file tail $file1]].o"
- regsub "\\.go$" $test ".dir/main.go" file2
+ regsub "\\.go$" $test ".dir/$name2" file2
dg-test -keep-output $file2 "-O" "-w $DEFAULT_GOCFLAGS"
set ofile2 "[file rootname [file tail $file2]].o"
set dg-do-what-default "link"
errchk $file2 ""
file delete "[file rootname [file tail $file1]].o"
set runtests $hold_runtests
- } elseif { [string match "// true*" $test_line] } {
+ } elseif { "$test_line" == "" || [string match "// true*" $test_line] } {
# Not a real test, just ignore.
} elseif { $test_line == "// \$G \$D/\$F.dir/bug0.go &&" \
&& $test_line2 == "// \$G \$D/\$F.dir/bug1.go &&" \
file delete $base-out.x
go-torture-execute "./$base-out.go"
}
- # file delete $base-out.go
+ file delete $base-out.go
}
file delete $output_file
set runtests $hold_runtests
regsub "\\.go$" $test ".dir/a.go" file1
regsub "\\.go$" $test ".dir/b.go" file2
errchk "$file1" "$file2"
+ } elseif { $test_line == "// \$G \$D/\$F.go \$D/z*.go && \$L \$F.\$A && ./\$A.out" } {
+ set dir [file dirname $test]
+ set go_compile_args [glob $dir/z*.go]
+ go-torture-execute $test
+ } elseif { $test_line == "// \$G -N -o slow.\$A \$D/bug369.dir/pkg.go &&" \
+ && $test_line2 == "// \$G -o fast.\$A \$D/bug369.dir/pkg.go &&" \
+ && $test_line3 == "// \$G \$D/\$F.go && \$L \$F.\$A && ./\$A.out" } {
+ set hold_runtests $runtests
+ set runtests "go-test.exp"
+ set dg-do-what-default "assemble"
+ regsub "\\.go$" $test ".dir/pkg.go" file1
+ dg-test -keep-output $file1 "" "-fgo-prefix=slow -w $DEFAULT_GOCFLAGS"
+ set ofile1 "[file rootname [file tail $file1]].o"
+ file rename -force $ofile1 slow.o
+ dg-test -keep-output $file1 "-O2" "-fgo-prefix=fast -w $DEFAULT_GOCFLAGS"
+ file rename -force $ofile1 fast.o
+ set ofile2 "[file rootname [file tail $test]].o"
+ dg-test -keep-output $test "-O" "-w $DEFAULT_GOCFLAGS"
+ set output_file "./[file rootname [file tail $test]].exe"
+ set comp_output [go_target_compile "$ofile2 slow.o fast.o" \
+ $output_file "executable" "$options"]
+ set comp_output [go-dg-prune $target_triplet $comp_output]
+ if [string match "" $comp_output] {
+ set result [go_load "$output_file" "" ""]
+ set status [lindex $result 0]
+ $status $name
+ } else {
+ verbose -log $comp_output
+ fail $name
+ }
+ file delete slow.o fast.o $ofile2 $output_file
+ set runtests $hold_runtests
+ } elseif { [string match \
+ "// \$G \$D/\$F.dir/pkg.go && \$G \$D/\$F.go || echo *" \
+ $test_line ] } {
+ set hold_runtests $runtests
+ set runtests "go-test.exp"
+ set dg-do-what-default "assemble"
+ regsub "\\.go$" $test ".dir/pkg.go" file1
+ dg-test -keep-output $file1 "-O" "-w $DEFAULT_GOCFLAGS"
+ dg-test $test "-O" "-w $DEFAULT_GOCFLAGS"
+ file delete "[file rootname [file tail $file1]].o"
+ set runtests $hold_runtests
+ } elseif { $test_line == "// \$G \$D/\$F.go && \$L \$F.\$A && ./\$A.out >tmp.go &&"
+ && $test_line2 == "// \$G tmp.go && \$L tmp.\$A && ./\$A.out" } {
+ set go_execute_args ""
+ set hold_runtests $runtests
+ set runtests "go-test.exp"
+ set dg-do-what-default "link"
+ dg-test -keep-output $test "-O" "-w $DEFAULT_GOCFLAGS"
+ set output_file "./[file rootname [file tail $test]].exe"
+ set base "[file rootname [file tail $test]]"
+ if [isnative] {
+ if { [catch "exec $output_file >$base-out.go"] != 0 } {
+ fail "$name execution"
+ } else {
+ pass "$name execution"
+ file delete $base-out.x
+ go-torture-execute "./$base-out.go"
+ }
+ file delete $base-out.go
+ }
+ file delete $output_file
+ set runtests $hold_runtests
} elseif { $test_line == "// # generated by cmplxdivide.c" } {
# Ignore.
} elseif { $test_line == "// \$G \$D/bug302.dir/p.go && gopack grc pp.a p.\$A && \$G \$D/bug302.dir/main.go" \
|| $test_line == "// \$G \$D/empty.go && errchk \$G \$D/\$F.go" } {
# These tests import the same package under two different
# names, which gccgo does not support.
- } elseif { $test_line == "// \$G -S \$D/\$F.go | egrep initdone >/dev/null && echo FAIL || true" } {
+ } elseif { $test_line == "// \$G -S \$D/\$F.go | egrep initdone >/dev/null && echo BUG sinit || true" } {
# This tests whether initializers are written out
# statically. gccgo does not provide a way to test that,
# as an initializer will be generated for any code which
# has global variables which need to be registered as GC
# roots.
+ } elseif { $test_line == "// errchk -0 \$G -m -l \$D/\$F.go" } {
+ # This tests debug output of the gc compiler, which is
+ # meaningless for gccgo.
+ } elseif { $test_line == "// \[ \$O == 6 \] || errchk \$G -e \$D/\$F.go" \
+ || $test_line == "// \[ \$O != 6 \] || errchk \$G -e \$D/\$F.go" } {
+ # This tests specific handling of the gc compiler on types
+ # that are too large. It is target specific in a way I
+ # haven't bothered to check for here.
} else {
clone_output "$name: unrecognized test line: $test_line"
unsupported $name
}
+ set go_compile_args ""
set go_execute_args ""
}
--- /dev/null
+// errchk $G -e $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+// Test that error messages say what the source file says
+// (uint8 vs byte, int32 vs. rune).
+
+import (
+ "fmt"
+ "unicode/utf8"
+)
+
+func f(byte) {}
+func g(uint8) {}
+
+func main() {
+ var x float64
+ f(x) // ERROR "byte"
+ g(x) // ERROR "uint8"
+
+ // Test across imports.
+
+ var ff fmt.Formatter
+ var fs fmt.State
+ ff.Format(fs, x) // ERROR "rune"
+
+ utf8.RuneStart(x) // ERROR "byte"
+}
--- /dev/null
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+// Test that dynamic interface checks treat byte=uint8
+// and rune=int or rune=int32.
+
+func main() {
+ var x interface{}
+
+ x = byte(1)
+ switch x.(type) {
+ case uint8:
+ // ok
+ default:
+ println("byte != uint8")
+ }
+
+ x = uint8(2)
+ switch x.(type) {
+ case byte:
+ // ok
+ default:
+ println("uint8 != byte")
+ }
+
+ rune32 := false
+ x = rune(3)
+ switch x.(type) {
+ case int:
+ // ok
+ case int32:
+ // must be new code
+ rune32 = true
+ default:
+ println("rune != int and rune != int32")
+ }
+
+ if rune32 {
+ x = int32(4)
+ } else {
+ x = int(5)
+ }
+ switch x.(type) {
+ case rune:
+ // ok
+ default:
+ println("int (or int32) != rune")
+ }
+}
{"byte i", append([]byte{0, 1, 2}, []byte{3}...), []byte{0, 1, 2, 3}},
{"byte j", append([]byte{0, 1, 2}, []byte{3, 4, 5}...), []byte{0, 1, 2, 3, 4, 5}},
+ {"bytestr a", append([]byte{}, "0"...), []byte("0")},
+ {"bytestr b", append([]byte{}, "0123"...), []byte("0123")},
+
+ {"bytestr c", append([]byte("012"), "3"...), []byte("0123")},
+ {"bytestr d", append([]byte("012"), "345"...), []byte("012345")},
{"int16 a", append([]int16{}), []int16{}},
{"int16 b", append([]int16{}, 0), []int16{0}},
+++ /dev/null
-# Copyright 2011 The Go Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-include ../../src/Make.inc
-
-all:
- @echo "make clean or timing"
-
-timing:
- ./timing.sh
-
-clean:
- rm -f [568].out *.[568]
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- * based on C program by Kevin Carson
- */
-
-package main
-
-import (
- "flag"
- "fmt"
-)
-
-var n = flag.Int("n", 15, "depth")
-
-type Node struct {
- item int
- left, right *Node
-}
-
-type Arena struct {
- head *Node
-}
-
-var arena Arena
-
-func (n *Node) free() {
- if n.left != nil {
- n.left.free()
- }
- if n.right != nil {
- n.right.free()
- }
- n.left = arena.head
- arena.head = n
-}
-
-func (a *Arena) New(item int, left, right *Node) *Node {
- if a.head == nil {
- nodes := make([]Node, 3<<uint(*n))
- for i := 0; i < len(nodes)-1; i++ {
- nodes[i].left = &nodes[i+1]
- }
- a.head = &nodes[0]
- }
- n := a.head
- a.head = a.head.left
- n.item = item
- n.left = left
- n.right = right
- return n
-}
-
-func bottomUpTree(item, depth int) *Node {
- if depth <= 0 {
- return arena.New(item, nil, nil)
- }
- return arena.New(item, bottomUpTree(2*item-1, depth-1), bottomUpTree(2*item, depth-1))
-}
-
-func (n *Node) itemCheck() int {
- if n.left == nil {
- return n.item
- }
- return n.item + n.left.itemCheck() - n.right.itemCheck()
-}
-
-const minDepth = 4
-
-func main() {
- flag.Parse()
-
- maxDepth := *n
- if minDepth+2 > *n {
- maxDepth = minDepth + 2
- }
- stretchDepth := maxDepth + 1
-
- check := bottomUpTree(0, stretchDepth).itemCheck()
- fmt.Printf("stretch tree of depth %d\t check: %d\n", stretchDepth, check)
-
- longLivedTree := bottomUpTree(0, maxDepth)
-
- for depth := minDepth; depth <= maxDepth; depth += 2 {
- iterations := 1 << uint(maxDepth-depth+minDepth)
- check = 0
-
- for i := 1; i <= iterations; i++ {
- t := bottomUpTree(i, depth)
- check += t.itemCheck()
- t.free()
- t = bottomUpTree(-i, depth)
- check += t.itemCheck()
- t.free()
- }
- fmt.Printf("%d\t trees of depth %d\t check: %d\n", iterations*2, depth, check)
- }
- fmt.Printf("long lived tree of depth %d\t check: %d\n", maxDepth, longLivedTree.itemCheck())
-}
+++ /dev/null
-stretch tree of depth 16 check: -1
-65536 trees of depth 4 check: -65536
-16384 trees of depth 6 check: -16384
-4096 trees of depth 8 check: -4096
-1024 trees of depth 10 check: -1024
-256 trees of depth 12 check: -256
-64 trees of depth 14 check: -64
-long lived tree of depth 15 check: -1
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Shootout Benchmarks
- http://shootout.alioth.debian.org/
-
- contributed by Kevin Carson
- compilation:
- gcc -O3 -fomit-frame-pointer -funroll-loops -static binary-trees.c -lm
- icc -O3 -ip -unroll -static binary-trees.c -lm
-*/
-
-#include <malloc.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-
-typedef struct tn {
- struct tn* left;
- struct tn* right;
- long item;
-} treeNode;
-
-
-treeNode* NewTreeNode(treeNode* left, treeNode* right, long item)
-{
- treeNode* new;
-
- new = (treeNode*)malloc(sizeof(treeNode));
-
- new->left = left;
- new->right = right;
- new->item = item;
-
- return new;
-} /* NewTreeNode() */
-
-
-long ItemCheck(treeNode* tree)
-{
- if (tree->left == NULL)
- return tree->item;
- else
- return tree->item + ItemCheck(tree->left) - ItemCheck(tree->right);
-} /* ItemCheck() */
-
-
-treeNode* BottomUpTree(long item, unsigned depth)
-{
- if (depth > 0)
- return NewTreeNode
- (
- BottomUpTree(2 * item - 1, depth - 1),
- BottomUpTree(2 * item, depth - 1),
- item
- );
- else
- return NewTreeNode(NULL, NULL, item);
-} /* BottomUpTree() */
-
-
-void DeleteTree(treeNode* tree)
-{
- if (tree->left != NULL)
- {
- DeleteTree(tree->left);
- DeleteTree(tree->right);
- }
-
- free(tree);
-} /* DeleteTree() */
-
-
-int main(int argc, char* argv[])
-{
- unsigned N, depth, minDepth, maxDepth, stretchDepth;
- treeNode *stretchTree, *longLivedTree, *tempTree;
-
- N = atol(argv[1]);
-
- minDepth = 4;
-
- if ((minDepth + 2) > N)
- maxDepth = minDepth + 2;
- else
- maxDepth = N;
-
- stretchDepth = maxDepth + 1;
-
- stretchTree = BottomUpTree(0, stretchDepth);
- printf
- (
- "stretch tree of depth %u\t check: %li\n",
- stretchDepth,
- ItemCheck(stretchTree)
- );
-
- DeleteTree(stretchTree);
-
- longLivedTree = BottomUpTree(0, maxDepth);
-
- for (depth = minDepth; depth <= maxDepth; depth += 2)
- {
- long i, iterations, check;
-
- iterations = pow(2, maxDepth - depth + minDepth);
-
- check = 0;
-
- for (i = 1; i <= iterations; i++)
- {
- tempTree = BottomUpTree(i, depth);
- check += ItemCheck(tempTree);
- DeleteTree(tempTree);
-
- tempTree = BottomUpTree(-i, depth);
- check += ItemCheck(tempTree);
- DeleteTree(tempTree);
- } /* for(i = 1...) */
-
- printf
- (
- "%li\t trees of depth %u\t check: %li\n",
- iterations * 2,
- depth,
- check
- );
- } /* for(depth = minDepth...) */
-
- printf
- (
- "long lived tree of depth %u\t check: %li\n",
- maxDepth,
- ItemCheck(longLivedTree)
- );
-
- return 0;
-} /* main() */
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- * based on C program by Kevin Carson
- */
-
-package main
-
-import (
- "flag"
- "fmt"
-)
-
-var n = flag.Int("n", 15, "depth")
-
-type Node struct {
- item int
- left, right *Node
-}
-
-func bottomUpTree(item, depth int) *Node {
- if depth <= 0 {
- return &Node{item: item}
- }
- return &Node{item, bottomUpTree(2*item-1, depth-1), bottomUpTree(2*item, depth-1)}
-}
-
-func (n *Node) itemCheck() int {
- if n.left == nil {
- return n.item
- }
- return n.item + n.left.itemCheck() - n.right.itemCheck()
-}
-
-const minDepth = 4
-
-func main() {
- flag.Parse()
-
- maxDepth := *n
- if minDepth+2 > *n {
- maxDepth = minDepth + 2
- }
- stretchDepth := maxDepth + 1
-
- check := bottomUpTree(0, stretchDepth).itemCheck()
- fmt.Printf("stretch tree of depth %d\t check: %d\n", stretchDepth, check)
-
- longLivedTree := bottomUpTree(0, maxDepth)
-
- for depth := minDepth; depth <= maxDepth; depth += 2 {
- iterations := 1 << uint(maxDepth-depth+minDepth)
- check = 0
-
- for i := 1; i <= iterations; i++ {
- check += bottomUpTree(i, depth).itemCheck()
- check += bottomUpTree(-i, depth).itemCheck()
- }
- fmt.Printf("%d\t trees of depth %d\t check: %d\n", iterations*2, depth, check)
- }
- fmt.Printf("long lived tree of depth %d\t check: %d\n", maxDepth, longLivedTree.itemCheck())
-}
+++ /dev/null
-stretch tree of depth 16 check: -1
-65536 trees of depth 4 check: -65536
-16384 trees of depth 6 check: -16384
-4096 trees of depth 8 check: -4096
-1024 trees of depth 10 check: -1024
-256 trees of depth 12 check: -256
-64 trees of depth 14 check: -64
-long lived tree of depth 15 check: -1
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- http://shootout.alioth.debian.org/
-
- contributed by Michael Barker
- based on a Java contribution by Luzius Meisser
-
- convert to C by dualamd
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <pthread.h>
-
-
-enum Colour
-{
- blue = 0,
- red = 1,
- yellow = 2,
- Invalid = 3
-};
-
-const char* ColourName[] = {"blue", "red", "yellow"};
-const int STACK_SIZE = 32*1024;
-
-typedef unsigned int BOOL;
-const BOOL TRUE = 1;
-const BOOL FALSE = 0;
-
-int CreatureID = 0;
-
-
-enum Colour doCompliment(enum Colour c1, enum Colour c2)
-{
- switch (c1)
- {
- case blue:
- switch (c2)
- {
- case blue:
- return blue;
- case red:
- return yellow;
- case yellow:
- return red;
- default:
- goto errlb;
- }
- case red:
- switch (c2)
- {
- case blue:
- return yellow;
- case red:
- return red;
- case yellow:
- return blue;
- default:
- goto errlb;
- }
- case yellow:
- switch (c2)
- {
- case blue:
- return red;
- case red:
- return blue;
- case yellow:
- return yellow;
- default:
- goto errlb;
- }
- default:
- break;
- }
-
-errlb:
- printf("Invalid colour\n");
- exit( 1 );
-}
-
-/* convert integer to number string: 1234 -> "one two three four" */
-char* formatNumber(int n, char* outbuf)
-{
- int ochar = 0, ichar = 0;
- int i;
- char tmp[64];
-
- const char* NUMBERS[] =
- {
- "zero", "one", "two", "three", "four", "five",
- "six", "seven", "eight", "nine"
- };
-
- ichar = sprintf(tmp, "%d", n);
-
- for (i = 0; i < ichar; i++)
- ochar += sprintf( outbuf + ochar, " %s", NUMBERS[ tmp[i] - '0' ] );
-
- return outbuf;
-}
-
-
-struct MeetingPlace
-{
- pthread_mutex_t mutex;
- int meetingsLeft;
- struct Creature* firstCreature;
-};
-
-struct Creature
-{
- pthread_t ht;
- pthread_attr_t stack_att;
-
- struct MeetingPlace* place;
- int count;
- int sameCount;
-
- enum Colour colour;
- int id;
-
- BOOL two_met;
- BOOL sameid;
-};
-
-
-void MeetingPlace_Init(struct MeetingPlace* m, int meetings )
-{
- pthread_mutex_init( &m->mutex, 0 );
- m->meetingsLeft = meetings;
- m->firstCreature = 0;
-}
-
-
-BOOL Meet( struct Creature* cr)
-{
- BOOL retval = TRUE;
-
- struct MeetingPlace* mp = cr->place;
- pthread_mutex_lock( &(mp->mutex) );
-
- if ( mp->meetingsLeft > 0 )
- {
- if ( mp->firstCreature == 0 )
- {
- cr->two_met = FALSE;
- mp->firstCreature = cr;
- }
- else
- {
- struct Creature* first;
- enum Colour newColour;
-
- first = mp->firstCreature;
- newColour = doCompliment( cr->colour, first->colour );
-
- cr->sameid = cr->id == first->id;
- cr->colour = newColour;
- cr->two_met = TRUE;
-
- first->sameid = cr->sameid;
- first->colour = newColour;
- first->two_met = TRUE;
-
- mp->firstCreature = 0;
- mp->meetingsLeft--;
- }
- }
- else
- retval = FALSE;
-
- pthread_mutex_unlock( &(mp->mutex) );
- return retval;
-}
-
-
-void* CreatureThreadRun(void* param)
-{
- struct Creature* cr = (struct Creature*)param;
-
- while (TRUE)
- {
- if ( Meet(cr) )
- {
- while (cr->two_met == FALSE)
- sched_yield();
-
- if (cr->sameid)
- cr->sameCount++;
- cr->count++;
- }
- else
- break;
- }
-
- return 0;
-}
-
-void Creature_Init( struct Creature *cr, struct MeetingPlace* place, enum Colour colour )
-{
- cr->place = place;
- cr->count = cr->sameCount = 0;
-
- cr->id = ++CreatureID;
- cr->colour = colour;
- cr->two_met = FALSE;
-
- pthread_attr_init( &cr->stack_att );
- pthread_attr_setstacksize( &cr->stack_att, STACK_SIZE );
- pthread_create( &cr->ht, &cr->stack_att, &CreatureThreadRun, (void*)(cr) );
-}
-
-/* format meeting times of each creature to string */
-char* Creature_getResult(struct Creature* cr, char* str)
-{
- char numstr[256];
- formatNumber(cr->sameCount, numstr);
-
- sprintf( str, "%u%s", cr->count, numstr );
- return str;
-}
-
-
-void runGame( int n_meeting, int ncolor, const enum Colour* colours )
-{
- int i;
- int total = 0;
- char str[256];
-
- struct MeetingPlace place;
- struct Creature *creatures = (struct Creature*) calloc( ncolor, sizeof(struct Creature) );
-
- MeetingPlace_Init( &place, n_meeting );
-
- /* print initial color of each creature */
- for (i = 0; i < ncolor; i++)
- {
- printf( "%s ", ColourName[ colours[i] ] );
- Creature_Init( &(creatures[i]), &place, colours[i] );
- }
- printf("\n");
-
- /* wait for them to meet */
- for (i = 0; i < ncolor; i++)
- pthread_join( creatures[i].ht, 0 );
-
- /* print meeting times of each creature */
- for (i = 0; i < ncolor; i++)
- {
- printf( "%s\n", Creature_getResult(&(creatures[i]), str) );
- total += creatures[i].count;
- }
-
- /* print total meeting times, should equal n_meeting */
- printf( "%s\n\n", formatNumber(total, str) );
-
- /* cleaup & quit */
- pthread_mutex_destroy( &place.mutex );
- free( creatures );
-}
-
-
-void printColours( enum Colour c1, enum Colour c2 )
-{
- printf( "%s + %s -> %s\n",
- ColourName[c1],
- ColourName[c2],
- ColourName[doCompliment(c1, c2)] );
-}
-
-void printColoursTable(void)
-{
- printColours(blue, blue);
- printColours(blue, red);
- printColours(blue, yellow);
- printColours(red, blue);
- printColours(red, red);
- printColours(red, yellow);
- printColours(yellow, blue);
- printColours(yellow, red);
- printColours(yellow, yellow);
-}
-
-int main(int argc, char** argv)
-{
- int n = (argc == 2) ? atoi(argv[1]) : 600;
-
- printColoursTable();
- printf("\n");
-
- const enum Colour r1[] = { blue, red, yellow };
- const enum Colour r2[] = { blue, red, yellow,
- red, yellow, blue,
- red, yellow, red, blue };
-
- runGame( n, sizeof(r1) / sizeof(r1[0]), r1 );
- runGame( n, sizeof(r2) / sizeof(r2[0]), r2 );
-
- return 0;
-}
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- */
-
-package main
-
-import (
- "flag"
- "fmt"
- "strconv"
-)
-
-const (
- blue = iota
- red
- yellow
- ncol
-)
-
-var complement = [...]int{
- red | red<<2: red,
- red | yellow<<2: blue,
- red | blue<<2: yellow,
- yellow | red<<2: blue,
- yellow | yellow<<2: yellow,
- yellow | blue<<2: red,
- blue | red<<2: yellow,
- blue | yellow<<2: red,
- blue | blue<<2: blue,
-}
-
-var colname = [...]string{
- blue: "blue",
- red: "red",
- yellow: "yellow",
-}
-
-// information about the current state of a creature.
-type info struct {
- colour int // creature's current colour.
- name int // creature's name.
-}
-
-// exclusive access data-structure kept inside meetingplace.
-// if mate is nil, it indicates there's no creature currently waiting;
-// otherwise the creature's info is stored in info, and
-// it is waiting to receive its mate's information on the mate channel.
-type rendez struct {
- n int // current number of encounters.
- mate chan<- info // creature waiting when non-nil.
- info info // info about creature waiting.
-}
-
-// result sent by each creature at the end of processing.
-type result struct {
- met int
- same int
-}
-
-var n = 600
-
-func main() {
- flag.Parse()
- if flag.NArg() > 0 {
- n, _ = strconv.Atoi(flag.Arg(0))
- }
-
- for c0 := 0; c0 < ncol; c0++ {
- for c1 := 0; c1 < ncol; c1++ {
- fmt.Printf("%s + %s -> %s\n", colname[c0], colname[c1], colname[complement[c0|c1<<2]])
- }
- }
- fmt.Print("\n")
-
- pallmall([]int{blue, red, yellow})
- pallmall([]int{blue, red, yellow, red, yellow, blue, red, yellow, red, blue})
-}
-
-func pallmall(cols []int) {
-
- // invariant: meetingplace always contains a value unless a creature
- // is currently dealing with it (whereupon it must put it back).
- meetingplace := make(chan rendez, 1)
- meetingplace <- rendez{n: 0}
-
- ended := make(chan result)
- msg := ""
- for i, col := range cols {
- go creature(info{col, i}, meetingplace, ended)
- msg += " " + colname[col]
- }
- fmt.Println(msg)
- tot := 0
- // wait for all results
- for _ = range cols {
- result := <-ended
- tot += result.met
- fmt.Printf("%v%v\n", result.met, spell(result.same, true))
- }
- fmt.Printf("%v\n\n", spell(tot, true))
-}
-
-// in this function, variables ending in 0 refer to the local creature,
-// variables ending in 1 to the creature we've met.
-func creature(info0 info, meetingplace chan rendez, ended chan result) {
- c0 := make(chan info)
- met := 0
- same := 0
- for {
- var othername int
- // get access to rendez data and decide what to do.
- switch r := <-meetingplace; {
- case r.n >= n:
- // if no more meetings left, then send our result data and exit.
- meetingplace <- rendez{n: r.n}
- ended <- result{met, same}
- return
- case r.mate == nil:
- // no creature waiting; wait for someone to meet us,
- // get their info and send our info in reply.
- meetingplace <- rendez{n: r.n, info: info0, mate: c0}
- info1 := <-c0
- othername = info1.name
- info0.colour = complement[info0.colour|info1.colour<<2]
- default:
- // another creature is waiting for us with its info;
- // increment meeting count,
- // send them our info in reply.
- r.n++
- meetingplace <- rendez{n: r.n, mate: nil}
- r.mate <- info0
- othername = r.info.name
- info0.colour = complement[info0.colour|r.info.colour<<2]
- }
- if othername == info0.name {
- same++
- }
- met++
- }
-}
-
-var digits = [...]string{"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}
-
-func spell(n int, required bool) string {
- if n == 0 && !required {
- return ""
- }
- return spell(n/10, false) + " " + digits[n%10]
-}
+++ /dev/null
-blue + blue -> blue
-blue + red -> yellow
-blue + yellow -> red
-red + blue -> yellow
-red + red -> red
-red + yellow -> blue
-yellow + blue -> red
-yellow + red -> blue
-yellow + yellow -> yellow
-
- blue red yellow
-400 zero
-400 zero
-400 zero
- one two zero zero
-
- blue red yellow red yellow blue red yellow red blue
-120 zero
-120 zero
-120 zero
-120 zero
-120 zero
-120 zero
-120 zero
-120 zero
-120 zero
-120 zero
- one two zero zero
-
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
- * The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- * Based on fannkuch.scala by Rex Kerr
- */
-
-package main
-
-import (
- "flag"
- "fmt"
- "runtime"
-)
-
-var n = flag.Int("n", 7, "count")
-var nCPU = flag.Int("ncpu", 4, "number of cpus")
-
-type Job struct {
- start []int
- n int
-}
-
-type Found struct {
- who *Kucher
- k int
-}
-
-type Kucher struct {
- perm []int
- temp []int
- flip []int
- in chan Job
-}
-
-func NewKucher(length int) *Kucher {
- return &Kucher{
- perm: make([]int, length),
- temp: make([]int, length),
- flip: make([]int, length),
- in: make(chan Job),
- }
-}
-
-func (k *Kucher) permute(n int) bool {
- i := 0
- for ; i < n-1 && k.flip[i] == 0; i++ {
- t := k.perm[0]
- j := 0
- for ; j <= i; j++ {
- k.perm[j] = k.perm[j+1]
- }
- k.perm[j] = t
- }
- k.flip[i]--
- for i > 0 {
- i--
- k.flip[i] = i
- }
- return k.flip[n-1] >= 0
-}
-
-func (k *Kucher) count() int {
- K := 0
- copy(k.temp, k.perm)
- for k.temp[0] != 0 {
- m := k.temp[0]
- for i := 0; i < m; i++ {
- k.temp[i], k.temp[m] = k.temp[m], k.temp[i]
- m--
- }
- K++
- }
- return K
-}
-
-func (k *Kucher) Run(foreman chan<- Found) {
- for job := range k.in {
- verbose := 30
- copy(k.perm, job.start)
- for i, v := range k.perm {
- if v != i {
- verbose = 0
- }
- k.flip[i] = i
- }
- K := 0
- for {
- if verbose > 0 {
- for _, p := range k.perm {
- fmt.Print(p + 1)
- }
- fmt.Println()
- verbose--
- }
- count := k.count()
- if count > K {
- K = count
- }
- if !k.permute(job.n) {
- break
- }
- }
- foreman <- Found{k, K}
- }
-}
-
-type Fanner struct {
- jobind int
- jobsdone int
- k int
- jobs []Job
- workers []*Kucher
- in chan Found
- result chan int
-}
-
-func NewFanner(jobs []Job, workers []*Kucher) *Fanner {
- return &Fanner{
- jobs: jobs, workers: workers,
- in: make(chan Found),
- result: make(chan int),
- }
-}
-
-func (f *Fanner) Run(N int) {
- for msg := range f.in {
- if msg.k > f.k {
- f.k = msg.k
- }
- if msg.k >= 0 {
- f.jobsdone++
- }
- if f.jobind < len(f.jobs) {
- msg.who.in <- f.jobs[f.jobind]
- f.jobind++
- } else if f.jobsdone == len(f.jobs) {
- f.result <- f.k
- return
- }
- }
-}
-
-func swapped(a []int, i, j int) []int {
- b := make([]int, len(a))
- copy(b, a)
- b[i], b[j] = a[j], a[i]
- return b
-}
-
-func main() {
- flag.Parse()
- runtime.GOMAXPROCS(*nCPU)
- N := *n
- base := make([]int, N)
- for i := range base {
- base[i] = i
- }
-
- njobs := 1
- if N > 8 {
- njobs += (N*(N-1))/2 - 28 // njobs = 1 + sum(8..N-1) = 1 + sum(1..N-1) - sum(1..7)
- }
- jobs := make([]Job, njobs)
- jobsind := 0
-
- firstN := N
- if firstN > 8 {
- firstN = 8
- }
- jobs[jobsind] = Job{base, firstN}
- jobsind++
- for i := N - 1; i >= 8; i-- {
- for j := 0; j < i; j++ {
- jobs[jobsind] = Job{swapped(base, i, j), i}
- jobsind++
- }
- }
-
- nworkers := *nCPU
- if njobs < nworkers {
- nworkers = njobs
- }
- workers := make([]*Kucher, nworkers)
- foreman := NewFanner(jobs, workers)
- go foreman.Run(N)
- for i := range workers {
- k := NewKucher(N)
- workers[i] = k
- go k.Run(foreman.in)
- foreman.in <- Found{k, -1}
- }
- fmt.Printf("Pfannkuchen(%d) = %d\n", N, <-foreman.result)
-}
+++ /dev/null
-1234567
-2134567
-2314567
-3214567
-3124567
-1324567
-2341567
-3241567
-3421567
-4321567
-4231567
-2431567
-3412567
-4312567
-4132567
-1432567
-1342567
-3142567
-4123567
-1423567
-1243567
-2143567
-2413567
-4213567
-2345167
-3245167
-3425167
-4325167
-4235167
-2435167
-Pfannkuchen(7) = 16
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
- * The Computer Language Shootout
- * http://shootout.alioth.debian.org/
- * Contributed by Heiner Marxen
- *
- * "fannkuch" for C gcc
- *
- * $Id: fannkuch.1.gcc.code,v 1.15 2009-04-28 15:39:31 igouy-guest Exp $
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#define Int int
-#define Aint int
-
- static long
-fannkuch( int n )
-{
- Aint* perm;
- Aint* perm1;
- Aint* count;
- long flips;
- long flipsMax;
- Int r;
- Int i;
- Int k;
- Int didpr;
- const Int n1 = n - 1;
-
- if( n < 1 ) return 0;
-
- perm = calloc(n, sizeof(*perm ));
- perm1 = calloc(n, sizeof(*perm1));
- count = calloc(n, sizeof(*count));
-
- for( i=0 ; i<n ; ++i ) perm1[i] = i; /* initial (trivial) permu */
-
- r = n; didpr = 0; flipsMax = 0;
- for(;;) {
- if( didpr < 30 ) {
- for( i=0 ; i<n ; ++i ) printf("%d", (int)(1+perm1[i]));
- printf("\n");
- ++didpr;
- }
- for( ; r!=1 ; --r ) {
- count[r-1] = r;
- }
-
-#define XCH(x,y) { Aint t_mp; t_mp=(x); (x)=(y); (y)=t_mp; }
-
- if( ! (perm1[0]==0 || perm1[n1]==n1) ) {
- flips = 0;
- for( i=1 ; i<n ; ++i ) { /* perm = perm1 */
- perm[i] = perm1[i];
- }
- k = perm1[0]; /* cache perm[0] in k */
- do { /* k!=0 ==> k>0 */
- Int j;
- for( i=1, j=k-1 ; i<j ; ++i, --j ) {
- XCH(perm[i], perm[j])
- }
- ++flips;
- /*
- * Now exchange k (caching perm[0]) and perm[k]... with care!
- * XCH(k, perm[k]) does NOT work!
- */
- j=perm[k]; perm[k]=k ; k=j;
- }while( k );
- if( flipsMax < flips ) {
- flipsMax = flips;
- }
- }
-
- for(;;) {
- if( r == n ) {
- return flipsMax;
- }
- /* rotate down perm[0..r] by one */
- {
- Int perm0 = perm1[0];
- i = 0;
- while( i < r ) {
- k = i+1;
- perm1[i] = perm1[k];
- i = k;
- }
- perm1[r] = perm0;
- }
- if( (count[r] -= 1) > 0 ) {
- break;
- }
- ++r;
- }
- }
-}
-
- int
-main( int argc, char* argv[] )
-{
- int n = (argc>1) ? atoi(argv[1]) : 0;
-
- printf("Pfannkuchen(%d) = %ld\n", n, fannkuch(n));
- return 0;
-}
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
- * The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- * Based on fannkuch.c by Heiner Marxen
- */
-
-package main
-
-import (
- "flag"
- "fmt"
-)
-
-var n = flag.Int("n", 7, "count")
-
-func fannkuch(n int) int {
- if n < 1 {
- return 0
- }
-
- n1 := n - 1
- perm := make([]int, n)
- perm1 := make([]int, n)
- count := make([]int, n)
-
- for i := 0; i < n; i++ {
- perm1[i] = i // initial (trivial) permutation
- }
-
- r := n
- didpr := 0
- flipsMax := 0
- for {
- if didpr < 30 {
- for i := 0; i < n; i++ {
- fmt.Printf("%d", 1+perm1[i])
- }
- fmt.Printf("\n")
- didpr++
- }
- for ; r != 1; r-- {
- count[r-1] = r
- }
-
- if perm1[0] != 0 && perm1[n1] != n1 {
- flips := 0
- for i := 1; i < n; i++ { // perm = perm1
- perm[i] = perm1[i]
- }
- k := perm1[0] // cache perm[0] in k
- for { // k!=0 ==> k>0
- for i, j := 1, k-1; i < j; i, j = i+1, j-1 {
- perm[i], perm[j] = perm[j], perm[i]
- }
- flips++
- // Now exchange k (caching perm[0]) and perm[k]... with care!
- j := perm[k]
- perm[k] = k
- k = j
- if k == 0 {
- break
- }
- }
- if flipsMax < flips {
- flipsMax = flips
- }
- }
-
- for ; r < n; r++ {
- // rotate down perm[0..r] by one
- perm0 := perm1[0]
- for i := 0; i < r; i++ {
- perm1[i] = perm1[i+1]
- }
- perm1[r] = perm0
- count[r]--
- if count[r] > 0 {
- break
- }
- }
- if r == n {
- return flipsMax
- }
- }
- return 0
-}
-
-func main() {
- flag.Parse()
- fmt.Printf("Pfannkuchen(%d) = %d\n", *n, fannkuch(*n))
-}
+++ /dev/null
-1234567
-2134567
-2314567
-3214567
-3124567
-1324567
-2341567
-3241567
-3421567
-4321567
-4231567
-2431567
-3412567
-4312567
-4132567
-1432567
-1342567
-3142567
-4123567
-1423567
-1243567
-2143567
-2413567
-4213567
-2345167
-3245167
-3425167
-4325167
-4235167
-2435167
-Pfannkuchen(7) = 16
+++ /dev/null
->ONE Homo sapiens alu
-GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA
-TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT
-AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG
-GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG
-CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT
-GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA
-GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA
-TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG
-AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA
-GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT
-AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC
-AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG
-GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC
-CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG
-AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT
-TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA
-TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT
-GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG
-TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT
-CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG
-CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG
-TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA
-CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG
-AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG
-GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC
-TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA
-TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA
-GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT
-GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC
-ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT
-TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC
-CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG
-CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG
-GGCGACAGAGCGAGACTCCG
->TWO IUB ambiguity codes
-cttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcg
-tactDtDagcctatttSVHtHttKtgtHMaSattgWaHKHttttagacatWatgtRgaaa
-NtactMcSMtYtcMgRtacttctWBacgaaatatagScDtttgaagacacatagtVgYgt
-cattHWtMMWcStgttaggKtSgaYaaccWStcgBttgcgaMttBYatcWtgacaYcaga
-gtaBDtRacttttcWatMttDBcatWtatcttactaBgaYtcttgttttttttYaaScYa
-HgtgttNtSatcMtcVaaaStccRcctDaataataStcYtRDSaMtDttgttSagtRRca
-tttHatSttMtWgtcgtatSSagactYaaattcaMtWatttaSgYttaRgKaRtccactt
-tattRggaMcDaWaWagttttgacatgttctacaaaRaatataataaMttcgDacgaSSt
-acaStYRctVaNMtMgtaggcKatcttttattaaaaagVWaHKYagtttttatttaacct
-tacgtVtcVaattVMBcttaMtttaStgacttagattWWacVtgWYagWVRctDattBYt
-gtttaagaagattattgacVatMaacattVctgtBSgaVtgWWggaKHaatKWcBScSWa
-accRVacacaaactaccScattRatatKVtactatatttHttaagtttSKtRtacaaagt
-RDttcaaaaWgcacatWaDgtDKacgaacaattacaRNWaatHtttStgttattaaMtgt
-tgDcgtMgcatBtgcttcgcgaDWgagctgcgaggggVtaaScNatttacttaatgacag
-cccccacatYScaMgtaggtYaNgttctgaMaacNaMRaacaaacaKctacatagYWctg
-ttWaaataaaataRattagHacacaagcgKatacBttRttaagtatttccgatctHSaat
-actcNttMaagtattMtgRtgaMgcataatHcMtaBSaRattagttgatHtMttaaKagg
-YtaaBataSaVatactWtataVWgKgttaaaacagtgcgRatatacatVtHRtVYataSa
-KtWaStVcNKHKttactatccctcatgWHatWaRcttactaggatctataDtDHBttata
-aaaHgtacVtagaYttYaKcctattcttcttaataNDaaggaaaDYgcggctaaWSctBa
-aNtgctggMBaKctaMVKagBaactaWaDaMaccYVtNtaHtVWtKgRtcaaNtYaNacg
-gtttNattgVtttctgtBaWgtaattcaagtcaVWtactNggattctttaYtaaagccgc
-tcttagHVggaYtgtNcDaVagctctctKgacgtatagYcctRYHDtgBattDaaDgccK
-tcHaaStttMcctagtattgcRgWBaVatHaaaataYtgtttagMDMRtaataaggatMt
-ttctWgtNtgtgaaaaMaatatRtttMtDgHHtgtcattttcWattRSHcVagaagtacg
-ggtaKVattKYagactNaatgtttgKMMgYNtcccgSKttctaStatatNVataYHgtNa
-BKRgNacaactgatttcctttaNcgatttctctataScaHtataRagtcRVttacDSDtt
-aRtSatacHgtSKacYagttMHtWataggatgactNtatSaNctataVtttRNKtgRacc
-tttYtatgttactttttcctttaaacatacaHactMacacggtWataMtBVacRaSaatc
-cgtaBVttccagccBcttaRKtgtgcctttttRtgtcagcRttKtaaacKtaaatctcac
-aattgcaNtSBaaccgggttattaaBcKatDagttactcttcattVtttHaaggctKKga
-tacatcBggScagtVcacattttgaHaDSgHatRMaHWggtatatRgccDttcgtatcga
-aacaHtaagttaRatgaVacttagattVKtaaYttaaatcaNatccRttRRaMScNaaaD
-gttVHWgtcHaaHgacVaWtgttScactaagSgttatcttagggDtaccagWattWtRtg
-ttHWHacgattBtgVcaYatcggttgagKcWtKKcaVtgaYgWctgYggVctgtHgaNcV
-taBtWaaYatcDRaaRtSctgaHaYRttagatMatgcatttNattaDttaattgttctaa
-ccctcccctagaWBtttHtBccttagaVaatMcBHagaVcWcagBVttcBtaYMccagat
-gaaaaHctctaacgttagNWRtcggattNatcRaNHttcagtKttttgWatWttcSaNgg
-gaWtactKKMaacatKatacNattgctWtatctaVgagctatgtRaHtYcWcttagccaa
-tYttWttaWSSttaHcaaaaagVacVgtaVaRMgattaVcDactttcHHggHRtgNcctt
-tYatcatKgctcctctatVcaaaaKaaaagtatatctgMtWtaaaacaStttMtcgactt
-taSatcgDataaactaaacaagtaaVctaggaSccaatMVtaaSKNVattttgHccatca
-cBVctgcaVatVttRtactgtVcaattHgtaaattaaattttYtatattaaRSgYtgBag
-aHSBDgtagcacRHtYcBgtcacttacactaYcgctWtattgSHtSatcataaatataHt
-cgtYaaMNgBaatttaRgaMaatatttBtttaaaHHKaatctgatWatYaacttMctctt
-ttVctagctDaaagtaVaKaKRtaacBgtatccaaccactHHaagaagaaggaNaaatBW
-attccgStaMSaMatBttgcatgRSacgttVVtaaDMtcSgVatWcaSatcttttVatag
-ttactttacgatcaccNtaDVgSRcgVcgtgaacgaNtaNatatagtHtMgtHcMtagaa
-attBgtataRaaaacaYKgtRccYtatgaagtaataKgtaaMttgaaRVatgcagaKStc
-tHNaaatctBBtcttaYaBWHgtVtgacagcaRcataWctcaBcYacYgatDgtDHccta
->THREE Homo sapiens frequency
-aacacttcaccaggtatcgtgaaggctcaagattacccagagaacctttgcaatataaga
-atatgtatgcagcattaccctaagtaattatattctttttctgactcaaagtgacaagcc
-ctagtgtatattaaatcggtatatttgggaaattcctcaaactatcctaatcaggtagcc
-atgaaagtgatcaaaaaagttcgtacttataccatacatgaattctggccaagtaaaaaa
-tagattgcgcaaaattcgtaccttaagtctctcgccaagatattaggatcctattactca
-tatcgtgtttttctttattgccgccatccccggagtatctcacccatccttctcttaaag
-gcctaatattacctatgcaaataaacatatattgttgaaaattgagaacctgatcgtgat
-tcttatgtgtaccatatgtatagtaatcacgcgactatatagtgctttagtatcgcccgt
-gggtgagtgaatattctgggctagcgtgagatagtttcttgtcctaatatttttcagatc
-gaatagcttctatttttgtgtttattgacatatgtcgaaactccttactcagtgaaagtc
-atgaccagatccacgaacaatcttcggaatcagtctcgttttacggcggaatcttgagtc
-taacttatatcccgtcgcttactttctaacaccccttatgtatttttaaaattacgttta
-ttcgaacgtacttggcggaagcgttattttttgaagtaagttacattgggcagactcttg
-acattttcgatacgactttctttcatccatcacaggactcgttcgtattgatatcagaag
-ctcgtgatgattagttgtcttctttaccaatactttgaggcctattctgcgaaatttttg
-ttgccctgcgaacttcacataccaaggaacacctcgcaacatgccttcatatccatcgtt
-cattgtaattcttacacaatgaatcctaagtaattacatccctgcgtaaaagatggtagg
-ggcactgaggatatattaccaagcatttagttatgagtaatcagcaatgtttcttgtatt
-aagttctctaaaatagttacatcgtaatgttatctcgggttccgcgaataaacgagatag
-attcattatatatggccctaagcaaaaacctcctcgtattctgttggtaattagaatcac
-acaatacgggttgagatattaattatttgtagtacgaagagatataaaaagatgaacaat
-tactcaagtcaagatgtatacgggatttataataaaaatcgggtagagatctgctttgca
-attcagacgtgccactaaatcgtaatatgtcgcgttacatcagaaagggtaactattatt
-aattaataaagggcttaatcactacatattagatcttatccgatagtcttatctattcgt
-tgtatttttaagcggttctaattcagtcattatatcagtgctccgagttctttattattg
-ttttaaggatgacaaaatgcctcttgttataacgctgggagaagcagactaagagtcgga
-gcagttggtagaatgaggctgcaaaagacggtctcgacgaatggacagactttactaaac
-caatgaaagacagaagtagagcaaagtctgaagtggtatcagcttaattatgacaaccct
-taatacttccctttcgccgaatactggcgtggaaaggttttaaaagtcgaagtagttaga
-ggcatctctcgctcataaataggtagactactcgcaatccaatgtgactatgtaatactg
-ggaacatcagtccgcgatgcagcgtgtttatcaaccgtccccactcgcctggggagacat
-gagaccacccccgtggggattattagtccgcagtaatcgactcttgacaatccttttcga
-ttatgtcatagcaatttacgacagttcagcgaagtgactactcggcgaaatggtattact
-aaagcattcgaacccacatgaatgtgattcttggcaatttctaatccactaaagcttttc
-cgttgaatctggttgtagatatttatataagttcactaattaagatcacggtagtatatt
-gatagtgatgtctttgcaagaggttggccgaggaatttacggattctctattgatacaat
-ttgtctggcttataactcttaaggctgaaccaggcgtttttagacgacttgatcagctgt
-tagaatggtttggactccctctttcatgtcagtaacatttcagccgttattgttacgata
-tgcttgaacaatattgatctaccacacacccatagtatattttataggtcatgctgttac
-ctacgagcatggtattccacttcccattcaatgagtattcaacatcactagcctcagaga
-tgatgacccacctctaataacgtcacgttgcggccatgtgaaacctgaacttgagtagac
-gatatcaagcgctttaaattgcatataacatttgagggtaaagctaagcggatgctttat
-ataatcaatactcaataataagatttgattgcattttagagttatgacacgacatagttc
-actaacgagttactattcccagatctagactgaagtactgatcgagacgatccttacgtc
-gatgatcgttagttatcgacttaggtcgggtctctagcggtattggtacttaaccggaca
-ctatactaataacccatgatcaaagcataacagaatacagacgataatttcgccaacata
-tatgtacagaccccaagcatgagaagctcattgaaagctatcattgaagtcccgctcaca
-atgtgtcttttccagacggtttaactggttcccgggagtcctggagtttcgacttacata
-aatggaaacaatgtattttgctaatttatctatagcgtcatttggaccaatacagaatat
-tatgttgcctagtaatccactataacccgcaagtgctgatagaaaatttttagacgattt
-ataaatgccccaagtatccctcccgtgaatcctccgttatactaattagtattcgttcat
-acgtataccgcgcatatatgaacatttggcgataaggcgcgtgaattgttacgtgacaga
-gatagcagtttcttgtgatatggttaacagacgtacatgaagggaaactttatatctata
-gtgatgcttccgtagaaataccgccactggtctgccaatgatgaagtatgtagctttagg
-tttgtactatgaggctttcgtttgtttgcagagtataacagttgcgagtgaaaaaccgac
-gaatttatactaatacgctttcactattggctacaaaatagggaagagtttcaatcatga
-gagggagtatatggatgctttgtagctaaaggtagaacgtatgtatatgctgccgttcat
-tcttgaaagatacataagcgataagttacgacaattataagcaacatccctaccttcgta
-acgatttcactgttactgcgcttgaaatacactatggggctattggcggagagaagcaga
-tcgcgccgagcatatacgagacctataatgttgatgatagagaaggcgtctgaattgata
-catcgaagtacactttctttcgtagtatctctcgtcctctttctatctccggacacaaga
-attaagttatatatatagagtcttaccaatcatgttgaatcctgattctcagagttcttt
-ggcgggccttgtgatgactgagaaacaatgcaatattgctccaaatttcctaagcaaatt
-ctcggttatgttatgttatcagcaaagcgttacgttatgttatttaaatctggaatgacg
-gagcgaagttcttatgtcggtgtgggaataattcttttgaagacagcactccttaaataa
-tatcgctccgtgtttgtatttatcgaatgggtctgtaaccttgcacaagcaaatcggtgg
-tgtatatatcggataacaattaatacgatgttcatagtgacagtatactgatcgagtcct
-ctaaagtcaattacctcacttaacaatctcattgatgttgtgtcattcccggtatcgccc
-gtagtatgtgctctgattgaccgagtgtgaaccaaggaacatctactaatgcctttgtta
-ggtaagatctctctgaattccttcgtgccaacttaaaacattatcaaaatttcttctact
-tggattaactacttttacgagcatggcaaattcccctgtggaagacggttcattattatc
-ggaaaccttatagaaattgcgtgttgactgaaattagatttttattgtaagagttgcatc
-tttgcgattcctctggtctagcttccaatgaacagtcctcccttctattcgacatcgggt
-ccttcgtacatgtctttgcgatgtaataattaggttcggagtgtggccttaatgggtgca
-actaggaatacaacgcaaatttgctgacatgatagcaaatcggtatgccggcaccaaaac
-gtgctccttgcttagcttgtgaatgagactcagtagttaaataaatccatatctgcaatc
-gattccacaggtattgtccactatctttgaactactctaagagatacaagcttagctgag
-accgaggtgtatatgactacgctgatatctgtaaggtaccaatgcaggcaaagtatgcga
-gaagctaataccggctgtttccagctttataagattaaaatttggctgtcctggcggcct
-cagaattgttctatcgtaatcagttggttcattaattagctaagtacgaggtacaactta
-tctgtcccagaacagctccacaagtttttttacagccgaaacccctgtgtgaatcttaat
-atccaagcgcgttatctgattagagtttacaactcagtattttatcagtacgttttgttt
-ccaacattacccggtatgacaaaatgacgccacgtgtcgaataatggtctgaccaatgta
-ggaagtgaaaagataaatat
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
- * http://shootout.alioth.debian.org/u32/program.php?test=fasta&lang=gcc&id=3
- */
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by Petr Prokhorenkov
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifndef fwrite_unlocked
-// not available on OS X
-#define fwrite_unlocked fwrite
-#define fputc_unlocked fputc
-#define fputs_unlocked fputs
-#endif
-
-#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
-#define unlikely(x) __builtin_expect((x), 0)
-
-#define IM 139968
-#define IA 3877
-#define IC 29573
-
-#define LINE_LEN 60
-#define LOOKUP_SIZE 4096
-#define LOOKUP_SCALE ((float)(LOOKUP_SIZE - 1))
-
-typedef unsigned random_t;
-
-void
-random_init(random_t *random) {
- *random = 42;
-}
-
-// Special version with result rescaled to LOOKUP_SCALE.
-static inline
-float
-random_next_lookup(random_t *random) {
- *random = (*random*IA + IC)%IM;
-
- return (*random)*(LOOKUP_SCALE/IM);
-}
-
-struct amino_acid {
- char sym;
- float prob;
- float cprob_lookup;
-};
-
-void
-repeat(const char *alu, const char *title, int n) {
- int len = strlen(alu);
- char buffer[len + LINE_LEN];
- int pos = 0;
-
- memcpy(buffer, alu, len);
- memcpy(buffer + len, alu, LINE_LEN);
-
- fputs_unlocked(title, stdout);
- while (n > 0) {
- int bytes = n > LINE_LEN ? LINE_LEN : n;
-
- fwrite_unlocked(buffer + pos, bytes, 1, stdout);
- pos += bytes;
- if (pos > len) {
- pos -= len;
- }
- fputc_unlocked('\n', stdout);
- n -= bytes;
- }
-}
-
-/*
- * Lookup table contains mapping from real values to cumulative
- * probabilities. Careful selection of table size allows lookup
- * virtually in constant time.
- *
- * All cumulative probabilities are rescaled to LOOKUP_SCALE,
- * this allows to save one multiplication operation on each iteration
- * in randomize().
- */
-
-void *
-fill_lookup(struct amino_acid **lookup, struct amino_acid *amino_acid, int amino_acid_size) {
- float p = 0;
- int i, j;
-
- for (i = 0; i < amino_acid_size; i++) {
- p += amino_acid[i].prob;
- amino_acid[i].cprob_lookup = p*LOOKUP_SCALE;
- }
-
- // Prevent rounding error.
- amino_acid[amino_acid_size - 1].cprob_lookup = LOOKUP_SIZE - 1;
-
- for (i = 0, j = 0; i < LOOKUP_SIZE; i++) {
- while (amino_acid[j].cprob_lookup < i) {
- j++;
- }
- lookup[i] = &amino_acid[j];
- }
-
- return 0;
-}
-
-void
-randomize(struct amino_acid *amino_acid, int amino_acid_size,
- const char *title, int n, random_t *rand) {
- struct amino_acid *lookup[LOOKUP_SIZE];
- char line_buffer[LINE_LEN + 1];
- int i, j;
-
- line_buffer[LINE_LEN] = '\n';
-
- fill_lookup(lookup, amino_acid, amino_acid_size);
-
- fputs_unlocked(title, stdout);
-
- for (i = 0, j = 0; i < n; i++, j++) {
- if (j == LINE_LEN) {
- fwrite_unlocked(line_buffer, LINE_LEN + 1, 1, stdout);
- j = 0;
- }
-
- float r = random_next_lookup(rand);
- struct amino_acid *u = lookup[(short)r];
- while (unlikely(u->cprob_lookup < r)) {
- ++u;
- }
- line_buffer[j] = u->sym;
- }
- line_buffer[j] = '\n';
- fwrite_unlocked(line_buffer, j + 1, 1, stdout);
-}
-
-struct amino_acid amino_acid[] = {
- { 'a', 0.27 },
- { 'c', 0.12 },
- { 'g', 0.12 },
- { 't', 0.27 },
-
- { 'B', 0.02 },
- { 'D', 0.02 },
- { 'H', 0.02 },
- { 'K', 0.02 },
- { 'M', 0.02 },
- { 'N', 0.02 },
- { 'R', 0.02 },
- { 'S', 0.02 },
- { 'V', 0.02 },
- { 'W', 0.02 },
- { 'Y', 0.02 },
-};
-
-struct amino_acid homo_sapiens[] = {
- { 'a', 0.3029549426680 },
- { 'c', 0.1979883004921 },
- { 'g', 0.1975473066391 },
- { 't', 0.3015094502008 },
-};
-
-static const char alu[] =
- "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG"
- "GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA"
- "GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA"
- "AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT"
- "CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC"
- "CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG"
- "CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA";
-
-int
-main(int argc, const char **argv) {
- int n = argc > 1 ? atoi( argv[1] ) : 512;
- random_t rand;
-
- random_init(&rand);
-
- repeat(alu, ">ONE Homo sapiens alu\n", n*2);
- randomize(amino_acid, ARRAY_SIZE(amino_acid),
- ">TWO IUB ambiguity codes\n", n*3, &rand);
- randomize(homo_sapiens, ARRAY_SIZE(homo_sapiens),
- ">THREE Homo sapiens frequency\n", n*5, &rand);
-
- return 0;
-}
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- * Based on C program by by Petr Prokhorenkov.
- */
-
-package main
-
-import (
- "flag"
- "os"
-)
-
-var out = make(buffer, 0, 32768)
-
-var n = flag.Int("n", 1000, "length of result")
-
-const Line = 60
-
-func Repeat(alu []byte, n int) {
- buf := append(alu, alu...)
- off := 0
- for n > 0 {
- m := n
- if m > Line {
- m = Line
- }
- buf1 := out.NextWrite(m + 1)
- copy(buf1, buf[off:])
- buf1[m] = '\n'
- if off += m; off >= len(alu) {
- off -= len(alu)
- }
- n -= m
- }
-}
-
-const (
- IM = 139968
- IA = 3877
- IC = 29573
-
- LookupSize = 4096
- LookupScale float64 = LookupSize - 1
-)
-
-var rand uint32 = 42
-
-type Acid struct {
- sym byte
- prob float64
- cprob float64
- next *Acid
-}
-
-func computeLookup(acid []Acid) *[LookupSize]*Acid {
- var lookup [LookupSize]*Acid
- var p float64
- for i := range acid {
- p += acid[i].prob
- acid[i].cprob = p * LookupScale
- if i > 0 {
- acid[i-1].next = &acid[i]
- }
- }
- acid[len(acid)-1].cprob = 1.0 * LookupScale
-
- j := 0
- for i := range lookup {
- for acid[j].cprob < float64(i) {
- j++
- }
- lookup[i] = &acid[j]
- }
-
- return &lookup
-}
-
-func Random(acid []Acid, n int) {
- lookup := computeLookup(acid)
- for n > 0 {
- m := n
- if m > Line {
- m = Line
- }
- buf := out.NextWrite(m + 1)
- f := LookupScale / IM
- myrand := rand
- for i := 0; i < m; i++ {
- myrand = (myrand*IA + IC) % IM
- r := float64(int(myrand)) * f
- a := lookup[int(r)]
- for a.cprob < r {
- a = a.next
- }
- buf[i] = a.sym
- }
- rand = myrand
- buf[m] = '\n'
- n -= m
- }
-}
-
-func main() {
- defer out.Flush()
-
- flag.Parse()
-
- iub := []Acid{
- {prob: 0.27, sym: 'a'},
- {prob: 0.12, sym: 'c'},
- {prob: 0.12, sym: 'g'},
- {prob: 0.27, sym: 't'},
- {prob: 0.02, sym: 'B'},
- {prob: 0.02, sym: 'D'},
- {prob: 0.02, sym: 'H'},
- {prob: 0.02, sym: 'K'},
- {prob: 0.02, sym: 'M'},
- {prob: 0.02, sym: 'N'},
- {prob: 0.02, sym: 'R'},
- {prob: 0.02, sym: 'S'},
- {prob: 0.02, sym: 'V'},
- {prob: 0.02, sym: 'W'},
- {prob: 0.02, sym: 'Y'},
- }
-
- homosapiens := []Acid{
- {prob: 0.3029549426680, sym: 'a'},
- {prob: 0.1979883004921, sym: 'c'},
- {prob: 0.1975473066391, sym: 'g'},
- {prob: 0.3015094502008, sym: 't'},
- }
-
- alu := []byte(
- "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG" +
- "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA" +
- "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT" +
- "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA" +
- "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG" +
- "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC" +
- "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA")
-
- out.WriteString(">ONE Homo sapiens alu\n")
- Repeat(alu, 2**n)
- out.WriteString(">TWO IUB ambiguity codes\n")
- Random(iub, 3**n)
- out.WriteString(">THREE Homo sapiens frequency\n")
- Random(homosapiens, 5**n)
-}
-
-
-type buffer []byte
-
-func (b *buffer) Flush() {
- p := *b
- if len(p) > 0 {
- os.Stdout.Write(p)
- }
- *b = p[0:0]
-}
-
-func (b *buffer) WriteString(s string) {
- p := b.NextWrite(len(s))
- copy(p, s)
-}
-
-func (b *buffer) NextWrite(n int) []byte {
- p := *b
- if len(p)+n > cap(p) {
- b.Flush()
- p = *b
- }
- out := p[len(p) : len(p)+n]
- *b = p[:len(p)+n]
- return out
-}
+++ /dev/null
->ONE Homo sapiens alu
-GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA
-TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT
-AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG
-GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG
-CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT
-GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA
-GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA
-TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG
-AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA
-GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT
-AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC
-AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG
-GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC
-CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG
-AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT
-TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA
-TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT
-GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG
-TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT
-CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG
-CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG
-TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA
-CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG
-AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG
-GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC
-TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA
-TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA
-GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT
-GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC
-ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT
-TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC
-CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG
-CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG
-GGCGACAGAGCGAGACTCCG
->TWO IUB ambiguity codes
-cttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcg
-tactDtDagcctatttSVHtHttKtgtHMaSattgWaHKHttttagacatWatgtRgaaa
-NtactMcSMtYtcMgRtacttctWBacgaaatatagScDtttgaagacacatagtVgYgt
-cattHWtMMWcStgttaggKtSgaYaaccWStcgBttgcgaMttBYatcWtgacaYcaga
-gtaBDtRacttttcWatMttDBcatWtatcttactaBgaYtcttgttttttttYaaScYa
-HgtgttNtSatcMtcVaaaStccRcctDaataataStcYtRDSaMtDttgttSagtRRca
-tttHatSttMtWgtcgtatSSagactYaaattcaMtWatttaSgYttaRgKaRtccactt
-tattRggaMcDaWaWagttttgacatgttctacaaaRaatataataaMttcgDacgaSSt
-acaStYRctVaNMtMgtaggcKatcttttattaaaaagVWaHKYagtttttatttaacct
-tacgtVtcVaattVMBcttaMtttaStgacttagattWWacVtgWYagWVRctDattBYt
-gtttaagaagattattgacVatMaacattVctgtBSgaVtgWWggaKHaatKWcBScSWa
-accRVacacaaactaccScattRatatKVtactatatttHttaagtttSKtRtacaaagt
-RDttcaaaaWgcacatWaDgtDKacgaacaattacaRNWaatHtttStgttattaaMtgt
-tgDcgtMgcatBtgcttcgcgaDWgagctgcgaggggVtaaScNatttacttaatgacag
-cccccacatYScaMgtaggtYaNgttctgaMaacNaMRaacaaacaKctacatagYWctg
-ttWaaataaaataRattagHacacaagcgKatacBttRttaagtatttccgatctHSaat
-actcNttMaagtattMtgRtgaMgcataatHcMtaBSaRattagttgatHtMttaaKagg
-YtaaBataSaVatactWtataVWgKgttaaaacagtgcgRatatacatVtHRtVYataSa
-KtWaStVcNKHKttactatccctcatgWHatWaRcttactaggatctataDtDHBttata
-aaaHgtacVtagaYttYaKcctattcttcttaataNDaaggaaaDYgcggctaaWSctBa
-aNtgctggMBaKctaMVKagBaactaWaDaMaccYVtNtaHtVWtKgRtcaaNtYaNacg
-gtttNattgVtttctgtBaWgtaattcaagtcaVWtactNggattctttaYtaaagccgc
-tcttagHVggaYtgtNcDaVagctctctKgacgtatagYcctRYHDtgBattDaaDgccK
-tcHaaStttMcctagtattgcRgWBaVatHaaaataYtgtttagMDMRtaataaggatMt
-ttctWgtNtgtgaaaaMaatatRtttMtDgHHtgtcattttcWattRSHcVagaagtacg
-ggtaKVattKYagactNaatgtttgKMMgYNtcccgSKttctaStatatNVataYHgtNa
-BKRgNacaactgatttcctttaNcgatttctctataScaHtataRagtcRVttacDSDtt
-aRtSatacHgtSKacYagttMHtWataggatgactNtatSaNctataVtttRNKtgRacc
-tttYtatgttactttttcctttaaacatacaHactMacacggtWataMtBVacRaSaatc
-cgtaBVttccagccBcttaRKtgtgcctttttRtgtcagcRttKtaaacKtaaatctcac
-aattgcaNtSBaaccgggttattaaBcKatDagttactcttcattVtttHaaggctKKga
-tacatcBggScagtVcacattttgaHaDSgHatRMaHWggtatatRgccDttcgtatcga
-aacaHtaagttaRatgaVacttagattVKtaaYttaaatcaNatccRttRRaMScNaaaD
-gttVHWgtcHaaHgacVaWtgttScactaagSgttatcttagggDtaccagWattWtRtg
-ttHWHacgattBtgVcaYatcggttgagKcWtKKcaVtgaYgWctgYggVctgtHgaNcV
-taBtWaaYatcDRaaRtSctgaHaYRttagatMatgcatttNattaDttaattgttctaa
-ccctcccctagaWBtttHtBccttagaVaatMcBHagaVcWcagBVttcBtaYMccagat
-gaaaaHctctaacgttagNWRtcggattNatcRaNHttcagtKttttgWatWttcSaNgg
-gaWtactKKMaacatKatacNattgctWtatctaVgagctatgtRaHtYcWcttagccaa
-tYttWttaWSSttaHcaaaaagVacVgtaVaRMgattaVcDactttcHHggHRtgNcctt
-tYatcatKgctcctctatVcaaaaKaaaagtatatctgMtWtaaaacaStttMtcgactt
-taSatcgDataaactaaacaagtaaVctaggaSccaatMVtaaSKNVattttgHccatca
-cBVctgcaVatVttRtactgtVcaattHgtaaattaaattttYtatattaaRSgYtgBag
-aHSBDgtagcacRHtYcBgtcacttacactaYcgctWtattgSHtSatcataaatataHt
-cgtYaaMNgBaatttaRgaMaatatttBtttaaaHHKaatctgatWatYaacttMctctt
-ttVctagctDaaagtaVaKaKRtaacBgtatccaaccactHHaagaagaaggaNaaatBW
-attccgStaMSaMatBttgcatgRSacgttVVtaaDMtcSgVatWcaSatcttttVatag
-ttactttacgatcaccNtaDVgSRcgVcgtgaacgaNtaNatatagtHtMgtHcMtagaa
-attBgtataRaaaacaYKgtRccYtatgaagtaataKgtaaMttgaaRVatgcagaKStc
-tHNaaatctBBtcttaYaBWHgtVtgacagcaRcataWctcaBcYacYgatDgtDHccta
->THREE Homo sapiens frequency
-aacacttcaccaggtatcgtgaaggctcaagattacccagagaacctttgcaatataaga
-atatgtatgcagcattaccctaagtaattatattctttttctgactcaaagtgacaagcc
-ctagtgtatattaaatcggtatatttgggaaattcctcaaactatcctaatcaggtagcc
-atgaaagtgatcaaaaaagttcgtacttataccatacatgaattctggccaagtaaaaaa
-tagattgcgcaaaattcgtaccttaagtctctcgccaagatattaggatcctattactca
-tatcgtgtttttctttattgccgccatccccggagtatctcacccatccttctcttaaag
-gcctaatattacctatgcaaataaacatatattgttgaaaattgagaacctgatcgtgat
-tcttatgtgtaccatatgtatagtaatcacgcgactatatagtgctttagtatcgcccgt
-gggtgagtgaatattctgggctagcgtgagatagtttcttgtcctaatatttttcagatc
-gaatagcttctatttttgtgtttattgacatatgtcgaaactccttactcagtgaaagtc
-atgaccagatccacgaacaatcttcggaatcagtctcgttttacggcggaatcttgagtc
-taacttatatcccgtcgcttactttctaacaccccttatgtatttttaaaattacgttta
-ttcgaacgtacttggcggaagcgttattttttgaagtaagttacattgggcagactcttg
-acattttcgatacgactttctttcatccatcacaggactcgttcgtattgatatcagaag
-ctcgtgatgattagttgtcttctttaccaatactttgaggcctattctgcgaaatttttg
-ttgccctgcgaacttcacataccaaggaacacctcgcaacatgccttcatatccatcgtt
-cattgtaattcttacacaatgaatcctaagtaattacatccctgcgtaaaagatggtagg
-ggcactgaggatatattaccaagcatttagttatgagtaatcagcaatgtttcttgtatt
-aagttctctaaaatagttacatcgtaatgttatctcgggttccgcgaataaacgagatag
-attcattatatatggccctaagcaaaaacctcctcgtattctgttggtaattagaatcac
-acaatacgggttgagatattaattatttgtagtacgaagagatataaaaagatgaacaat
-tactcaagtcaagatgtatacgggatttataataaaaatcgggtagagatctgctttgca
-attcagacgtgccactaaatcgtaatatgtcgcgttacatcagaaagggtaactattatt
-aattaataaagggcttaatcactacatattagatcttatccgatagtcttatctattcgt
-tgtatttttaagcggttctaattcagtcattatatcagtgctccgagttctttattattg
-ttttaaggatgacaaaatgcctcttgttataacgctgggagaagcagactaagagtcgga
-gcagttggtagaatgaggctgcaaaagacggtctcgacgaatggacagactttactaaac
-caatgaaagacagaagtagagcaaagtctgaagtggtatcagcttaattatgacaaccct
-taatacttccctttcgccgaatactggcgtggaaaggttttaaaagtcgaagtagttaga
-ggcatctctcgctcataaataggtagactactcgcaatccaatgtgactatgtaatactg
-ggaacatcagtccgcgatgcagcgtgtttatcaaccgtccccactcgcctggggagacat
-gagaccacccccgtggggattattagtccgcagtaatcgactcttgacaatccttttcga
-ttatgtcatagcaatttacgacagttcagcgaagtgactactcggcgaaatggtattact
-aaagcattcgaacccacatgaatgtgattcttggcaatttctaatccactaaagcttttc
-cgttgaatctggttgtagatatttatataagttcactaattaagatcacggtagtatatt
-gatagtgatgtctttgcaagaggttggccgaggaatttacggattctctattgatacaat
-ttgtctggcttataactcttaaggctgaaccaggcgtttttagacgacttgatcagctgt
-tagaatggtttggactccctctttcatgtcagtaacatttcagccgttattgttacgata
-tgcttgaacaatattgatctaccacacacccatagtatattttataggtcatgctgttac
-ctacgagcatggtattccacttcccattcaatgagtattcaacatcactagcctcagaga
-tgatgacccacctctaataacgtcacgttgcggccatgtgaaacctgaacttgagtagac
-gatatcaagcgctttaaattgcatataacatttgagggtaaagctaagcggatgctttat
-ataatcaatactcaataataagatttgattgcattttagagttatgacacgacatagttc
-actaacgagttactattcccagatctagactgaagtactgatcgagacgatccttacgtc
-gatgatcgttagttatcgacttaggtcgggtctctagcggtattggtacttaaccggaca
-ctatactaataacccatgatcaaagcataacagaatacagacgataatttcgccaacata
-tatgtacagaccccaagcatgagaagctcattgaaagctatcattgaagtcccgctcaca
-atgtgtcttttccagacggtttaactggttcccgggagtcctggagtttcgacttacata
-aatggaaacaatgtattttgctaatttatctatagcgtcatttggaccaatacagaatat
-tatgttgcctagtaatccactataacccgcaagtgctgatagaaaatttttagacgattt
-ataaatgccccaagtatccctcccgtgaatcctccgttatactaattagtattcgttcat
-acgtataccgcgcatatatgaacatttggcgataaggcgcgtgaattgttacgtgacaga
-gatagcagtttcttgtgatatggttaacagacgtacatgaagggaaactttatatctata
-gtgatgcttccgtagaaataccgccactggtctgccaatgatgaagtatgtagctttagg
-tttgtactatgaggctttcgtttgtttgcagagtataacagttgcgagtgaaaaaccgac
-gaatttatactaatacgctttcactattggctacaaaatagggaagagtttcaatcatga
-gagggagtatatggatgctttgtagctaaaggtagaacgtatgtatatgctgccgttcat
-tcttgaaagatacataagcgataagttacgacaattataagcaacatccctaccttcgta
-acgatttcactgttactgcgcttgaaatacactatggggctattggcggagagaagcaga
-tcgcgccgagcatatacgagacctataatgttgatgatagagaaggcgtctgaattgata
-catcgaagtacactttctttcgtagtatctctcgtcctctttctatctccggacacaaga
-attaagttatatatatagagtcttaccaatcatgttgaatcctgattctcagagttcttt
-ggcgggccttgtgatgactgagaaacaatgcaatattgctccaaatttcctaagcaaatt
-ctcggttatgttatgttatcagcaaagcgttacgttatgttatttaaatctggaatgacg
-gagcgaagttcttatgtcggtgtgggaataattcttttgaagacagcactccttaaataa
-tatcgctccgtgtttgtatttatcgaatgggtctgtaaccttgcacaagcaaatcggtgg
-tgtatatatcggataacaattaatacgatgttcatagtgacagtatactgatcgagtcct
-ctaaagtcaattacctcacttaacaatctcattgatgttgtgtcattcccggtatcgccc
-gtagtatgtgctctgattgaccgagtgtgaaccaaggaacatctactaatgcctttgtta
-ggtaagatctctctgaattccttcgtgccaacttaaaacattatcaaaatttcttctact
-tggattaactacttttacgagcatggcaaattcccctgtggaagacggttcattattatc
-ggaaaccttatagaaattgcgtgttgactgaaattagatttttattgtaagagttgcatc
-tttgcgattcctctggtctagcttccaatgaacagtcctcccttctattcgacatcgggt
-ccttcgtacatgtctttgcgatgtaataattaggttcggagtgtggccttaatgggtgca
-actaggaatacaacgcaaatttgctgacatgatagcaaatcggtatgccggcaccaaaac
-gtgctccttgcttagcttgtgaatgagactcagtagttaaataaatccatatctgcaatc
-gattccacaggtattgtccactatctttgaactactctaagagatacaagcttagctgag
-accgaggtgtatatgactacgctgatatctgtaaggtaccaatgcaggcaaagtatgcga
-gaagctaataccggctgtttccagctttataagattaaaatttggctgtcctggcggcct
-cagaattgttctatcgtaatcagttggttcattaattagctaagtacgaggtacaactta
-tctgtcccagaacagctccacaagtttttttacagccgaaacccctgtgtgaatcttaat
-atccaagcgcgttatctgattagagtttacaactcagtattttatcagtacgttttgttt
-ccaacattacccggtatgacaaaatgacgccacgtgtcgaataatggtctgaccaatgta
-ggaagtgaaaagataaatat
--- /dev/null
+# Copyright 2010 The Go Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file.
+
+include ../../../src/Make.inc
+
+ALL=\
+ parser\
+ peano\
+ tree\
+ tree2\
+
+all: $(addsuffix .out, $(ALL))
+
+%.$O: %.go stats.go
+ $(GC) $(GCFLAGS) $(GCIMPORTS) $*.go stats.go
+
+%.out: %.$O
+ $(LD) -o $@ $*.$O
+
+%.bench: %.out
+ time ./$*.out
+
+bench: $(addsuffix .bench, $(ALL))
+
+clean:
+ rm -f *.[$(OS)] $(addsuffix .out, $(ALL))
+
--- /dev/null
+// Copyright 2010 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Garbage collection benchmark: parse Go packages repeatedly.
+
+package main
+
+import (
+ "flag"
+ "fmt"
+ "go/ast"
+ "go/parser"
+ "go/token"
+ "log"
+ "net/http"
+ _ "net/http/pprof"
+ "os"
+ "path"
+ "runtime"
+ "strings"
+ "time"
+)
+
+var serve = flag.String("serve", "", "serve http on this address at end")
+
+func isGoFile(dir os.FileInfo) bool {
+ return !dir.IsDir() &&
+ !strings.HasPrefix(dir.Name(), ".") && // ignore .files
+ path.Ext(dir.Name()) == ".go"
+}
+
+func isPkgFile(dir os.FileInfo) bool {
+ return isGoFile(dir) &&
+ !strings.HasSuffix(dir.Name(), "_test.go") // ignore test files
+}
+
+func pkgName(filename string) string {
+ file, err := parser.ParseFile(token.NewFileSet(), filename, nil, parser.PackageClauseOnly)
+ if err != nil || file == nil {
+ return ""
+ }
+ return file.Name.Name
+}
+
+func parseDir(dirpath string) map[string]*ast.Package {
+ // the package name is the directory name within its parent
+ // (use dirname instead of path because dirname is clean; i.e. has no trailing '/')
+ _, pkgname := path.Split(dirpath)
+
+ // filter function to select the desired .go files
+ filter := func(d os.FileInfo) bool {
+ if isPkgFile(d) {
+ // Some directories contain main packages: Only accept
+ // files that belong to the expected package so that
+ // parser.ParsePackage doesn't return "multiple packages
+ // found" errors.
+ // Additionally, accept the special package name
+ // fakePkgName if we are looking at cmd documentation.
+ name := pkgName(dirpath + "/" + d.Name())
+ return name == pkgname
+ }
+ return false
+ }
+
+ // get package AST
+ pkgs, err := parser.ParseDir(token.NewFileSet(), dirpath, filter, parser.ParseComments)
+ if err != nil {
+ println("parse", dirpath, err.Error())
+ panic("fail")
+ }
+ return pkgs
+}
+
+func main() {
+ st := &runtime.MemStats
+ packages = append(packages, packages...)
+ packages = append(packages, packages...)
+ n := flag.Int("n", 4, "iterations")
+ p := flag.Int("p", len(packages), "# of packages to keep in memory")
+ flag.BoolVar(&st.DebugGC, "d", st.DebugGC, "print GC debugging info (pause times)")
+ flag.Parse()
+
+ var lastParsed []map[string]*ast.Package
+ var t0 time.Time
+ pkgroot := runtime.GOROOT() + "/src/pkg/"
+ for pass := 0; pass < 2; pass++ {
+ // Once the heap is grown to full size, reset counters.
+ // This hides the start-up pauses, which are much smaller
+ // than the normal pauses and would otherwise make
+ // the average look much better than it actually is.
+ st.NumGC = 0
+ st.PauseTotalNs = 0
+ t0 = time.Now()
+
+ for i := 0; i < *n; i++ {
+ parsed := make([]map[string]*ast.Package, *p)
+ for j := range parsed {
+ parsed[j] = parseDir(pkgroot + packages[j%len(packages)])
+ }
+ if i+1 == *n && *serve != "" {
+ lastParsed = parsed
+ }
+ }
+ runtime.GC()
+ runtime.GC()
+ }
+ t1 := time.Now()
+
+ fmt.Printf("Alloc=%d/%d Heap=%d Mallocs=%d PauseTime=%.3f/%d = %.3f\n",
+ st.Alloc, st.TotalAlloc,
+ st.Sys,
+ st.Mallocs, float64(st.PauseTotalNs)/1e9,
+ st.NumGC, float64(st.PauseTotalNs)/1e9/float64(st.NumGC))
+
+ /*
+ fmt.Printf("%10s %10s %10s\n", "size", "#alloc", "#free")
+ for _, s := range st.BySize {
+ fmt.Printf("%10d %10d %10d\n", s.Size, s.Mallocs, s.Frees)
+ }
+ */
+ // Standard gotest benchmark output, collected by build dashboard.
+ gcstats("BenchmarkParser", *n, t1.Sub(t0))
+
+ if *serve != "" {
+ log.Fatal(http.ListenAndServe(*serve, nil))
+ println(lastParsed)
+ }
+}
+
+var packages = []string{
+ "archive/tar",
+ "encoding/asn1",
+ "math/big",
+ "bufio",
+ "bytes",
+ "math/cmplx",
+ "compress/flate",
+ "compress/gzip",
+ "compress/zlib",
+ "container/heap",
+ "container/list",
+ "container/ring",
+ "crypto/aes",
+ "crypto/blowfish",
+ "crypto/hmac",
+ "crypto/md4",
+ "crypto/md5",
+ "crypto/rand",
+ "crypto/rc4",
+ "crypto/rsa",
+ "crypto/sha1",
+ "crypto/sha256",
+ "crypto/sha512",
+ "crypto/subtle",
+ "crypto/tls",
+ "crypto/x509",
+ "crypto/xtea",
+ "debug/dwarf",
+ "debug/macho",
+ "debug/elf",
+ "debug/gosym",
+ "exp/ebnf",
+ "encoding/ascii85",
+ "encoding/base64",
+ "encoding/binary",
+ "encoding/git85",
+ "encoding/hex",
+ "encoding/pem",
+ "os/exec",
+ "flag",
+ "fmt",
+ "go/ast",
+ "go/doc",
+ "go/parser",
+ "go/printer",
+ "go/scanner",
+ "go/token",
+ "encoding/gob",
+ "hash",
+ "hash/adler32",
+ "hash/crc32",
+ "hash/crc64",
+ "net/http",
+ "image",
+ "image/jpeg",
+ "image/png",
+ "io",
+ "io/ioutil",
+ "encoding/json",
+ "log",
+ "math",
+ "mime",
+ "net",
+ "os",
+ "os/signal",
+ "patch",
+ "path",
+ "math/rand",
+ "reflect",
+ "regexp",
+ "net/rpc",
+ "runtime",
+ "text/scanner",
+ "sort",
+ "net/smtp",
+ "strconv",
+ "strings",
+ "sync",
+ "syscall",
+ "log/syslog",
+ "text/tabwriter",
+ "text/template",
+ "testing",
+ "testing/iotest",
+ "testing/quick",
+ "testing/script",
+ "time",
+ "unicode",
+ "unicode/utf8",
+ "unicode/utf16",
+ "websocket",
+ "encoding/xml",
+}
--- /dev/null
+// $G $F.go && $L $F.$A && ./$A.out
+
+// Copyright 2009 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+import (
+ "fmt"
+ "runtime"
+ "time"
+)
+
+type Number struct {
+ next *Number
+}
+
+// -------------------------------------
+// Peano primitives
+
+func zero() *Number { return nil }
+
+func is_zero(x *Number) bool { return x == nil }
+
+func add1(x *Number) *Number {
+ e := new(Number)
+ e.next = x
+ return e
+}
+
+func sub1(x *Number) *Number { return x.next }
+
+func add(x, y *Number) *Number {
+ if is_zero(y) {
+ return x
+ }
+
+ return add(add1(x), sub1(y))
+}
+
+func mul(x, y *Number) *Number {
+ if is_zero(x) || is_zero(y) {
+ return zero()
+ }
+
+ return add(mul(x, sub1(y)), x)
+}
+
+func fact(n *Number) *Number {
+ if is_zero(n) {
+ return add1(zero())
+ }
+
+ return mul(fact(sub1(n)), n)
+}
+
+// -------------------------------------
+// Helpers to generate/count Peano integers
+
+func gen(n int) *Number {
+ if n > 0 {
+ return add1(gen(n - 1))
+ }
+
+ return zero()
+}
+
+func count(x *Number) int {
+ if is_zero(x) {
+ return 0
+ }
+
+ return count(sub1(x)) + 1
+}
+
+func check(x *Number, expected int) {
+ var c = count(x)
+ if c != expected {
+ panic(fmt.Sprintf("error: found %d; expected %d", c, expected))
+ }
+}
+
+// -------------------------------------
+// Test basic functionality
+
+func verify() {
+ check(zero(), 0)
+ check(add1(zero()), 1)
+ check(gen(10), 10)
+
+ check(add(gen(3), zero()), 3)
+ check(add(zero(), gen(4)), 4)
+ check(add(gen(3), gen(4)), 7)
+
+ check(mul(zero(), zero()), 0)
+ check(mul(gen(3), zero()), 0)
+ check(mul(zero(), gen(4)), 0)
+ check(mul(gen(3), add1(zero())), 3)
+ check(mul(add1(zero()), gen(4)), 4)
+ check(mul(gen(3), gen(4)), 12)
+
+ check(fact(zero()), 1)
+ check(fact(add1(zero())), 1)
+ check(fact(gen(5)), 120)
+}
+
+// -------------------------------------
+// Factorial
+
+func main() {
+ t0 := time.Now()
+ verify()
+ for i := 0; i <= 9; i++ {
+ print(i, "! = ", count(fact(gen(i))), "\n")
+ }
+ runtime.GC()
+ t1 := time.Now()
+
+ gcstats("BenchmarkPeano", 1, t1.Sub(t0))
+}
--- /dev/null
+// Copyright 2010 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+import (
+ "fmt"
+ "runtime"
+ "sort"
+ "time"
+)
+
+func gcstats(name string, n int, t time.Duration) {
+ st := &runtime.MemStats
+ fmt.Printf("garbage.%sMem Alloc=%d/%d Heap=%d NextGC=%d Mallocs=%d\n", name, st.Alloc, st.TotalAlloc, st.Sys, st.NextGC, st.Mallocs)
+ fmt.Printf("garbage.%s %d %d ns/op\n", name, n, t.Nanoseconds()/int64(n))
+ fmt.Printf("garbage.%sLastPause 1 %d ns/op\n", name, st.PauseNs[(st.NumGC-1)%uint32(len(st.PauseNs))])
+ fmt.Printf("garbage.%sPause %d %d ns/op\n", name, st.NumGC, int64(st.PauseTotalNs)/int64(st.NumGC))
+ nn := int(st.NumGC)
+ if nn >= len(st.PauseNs) {
+ nn = len(st.PauseNs)
+ }
+ t1, t2, t3, t4, t5 := tukey5(st.PauseNs[0:nn])
+ fmt.Printf("garbage.%sPause5: %d %d %d %d %d\n", name, t1, t2, t3, t4, t5)
+
+ // fmt.Printf("garbage.%sScan: %v\n", name, st.ScanDist)
+}
+
+type T []uint64
+
+func (t T) Len() int { return len(t) }
+func (t T) Swap(i, j int) { t[i], t[j] = t[j], t[i] }
+func (t T) Less(i, j int) bool { return t[i] < t[j] }
+
+func tukey5(raw []uint64) (lo, q1, q2, q3, hi uint64) {
+ x := make(T, len(raw))
+ copy(x, raw)
+ sort.Sort(T(x))
+ lo = x[0]
+ q1 = x[len(x)/4]
+ q2 = x[len(x)/2]
+ q3 = x[len(x)*3/4]
+ hi = x[len(x)-1]
+ return
+}
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ * based on C program by Kevin Carson
+ */
+
+package main
+
+import (
+ "flag"
+ "fmt"
+ "time"
+)
+
+var n = flag.Int("n", 16, "depth")
+
+type Node struct {
+ item int
+ left, right *Node
+}
+
+func bottomUpTree(item, depth int) *Node {
+ if depth <= 0 {
+ return &Node{item: item}
+ }
+ return &Node{item, bottomUpTree(2*item-1, depth-1), bottomUpTree(2*item, depth-1)}
+}
+
+func (n *Node) itemCheck() int {
+ if n.left == nil {
+ return n.item
+ }
+ return n.item + n.left.itemCheck() - n.right.itemCheck()
+}
+
+const minDepth = 4
+
+func main() {
+ flag.Parse()
+
+ t0 := time.Now()
+
+ maxDepth := *n
+ if minDepth+2 > *n {
+ maxDepth = minDepth + 2
+ }
+ stretchDepth := maxDepth + 1
+
+ check := bottomUpTree(0, stretchDepth).itemCheck()
+ fmt.Printf("stretch tree of depth %d\t check: %d\n", stretchDepth, check)
+
+ longLivedTree := bottomUpTree(0, maxDepth)
+
+ for depth := minDepth; depth <= maxDepth; depth += 2 {
+ iterations := 1 << uint(maxDepth-depth+minDepth)
+ check = 0
+
+ for i := 1; i <= iterations; i++ {
+ check += bottomUpTree(i, depth).itemCheck()
+ check += bottomUpTree(-i, depth).itemCheck()
+ }
+ fmt.Printf("%d\t trees of depth %d\t check: %d\n", iterations*2, depth, check)
+ }
+ fmt.Printf("long lived tree of depth %d\t check: %d\n", maxDepth, longLivedTree.itemCheck())
+
+ t1 := time.Now()
+
+ // Standard gotest benchmark output, collected by build dashboard.
+ gcstats("BenchmarkTree", *n, t1.Sub(t0))
+}
--- /dev/null
+// Copyright 2012 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+import (
+ "flag"
+ "fmt"
+ "log"
+ "os"
+ "runtime"
+ "runtime/pprof"
+ "unsafe"
+)
+
+const BranchingFactor = 4
+
+type Object struct {
+ child [BranchingFactor]*Object
+}
+
+var (
+ cpus = flag.Int("cpus", 1, "number of cpus to use")
+ heapsize = flag.Int64("heapsize", 100*1024*1024, "size of the heap in bytes")
+ cpuprofile = flag.String("cpuprofile", "", "write cpu profile to file")
+
+ lastPauseNs uint64 = 0
+ lastFree uint64 = 0
+ heap *Object
+ calls [20]int
+ numobjects int64
+)
+
+func buildHeap() {
+ objsize := int64(unsafe.Sizeof(Object{}))
+ heap, _ = buildTree(float64(objsize), float64(*heapsize), 0)
+ fmt.Printf("*** built heap: %.0f MB; (%d objects * %d bytes)\n",
+ float64(*heapsize)/1048576, numobjects, objsize)
+}
+
+func buildTree(objsize, size float64, depth int) (*Object, float64) {
+ calls[depth]++
+ x := &Object{}
+ numobjects++
+ subtreeSize := (size - objsize) / BranchingFactor
+ alloc := objsize
+ for i := 0; i < BranchingFactor && alloc < size; i++ {
+ c, n := buildTree(objsize, subtreeSize, depth+1)
+ x.child[i] = c
+ alloc += n
+ }
+ return x, alloc
+}
+
+func gc() {
+ runtime.GC()
+ runtime.UpdateMemStats()
+ pause := runtime.MemStats.PauseTotalNs
+ inuse := runtime.MemStats.Alloc
+ free := runtime.MemStats.TotalAlloc - inuse
+ fmt.Printf("gc pause: %8.3f ms; collect: %8.0f MB; heapsize: %8.0f MB\n",
+ float64(pause-lastPauseNs)/1e6,
+ float64(free-lastFree)/1048576,
+ float64(inuse)/1048576)
+ lastPauseNs = pause
+ lastFree = free
+}
+
+func main() {
+ flag.Parse()
+ buildHeap()
+ runtime.GOMAXPROCS(*cpus)
+ runtime.UpdateMemStats()
+ lastPauseNs = runtime.MemStats.PauseTotalNs
+ lastFree = runtime.MemStats.TotalAlloc - runtime.MemStats.Alloc
+ if *cpuprofile != "" {
+ f, err := os.Create(*cpuprofile)
+ if err != nil {
+ log.Fatal(err)
+ }
+ pprof.StartCPUProfile(f)
+ defer pprof.StopCPUProfile()
+ }
+ for i := 0; i < 10; i++ {
+ gc()
+ }
+}
--- /dev/null
+include $(GOROOT)/src/Make.inc
+
+TARG=go1
+GOFILES=\
+ dummy.go\
+
+include $(GOROOT)/src/Make.pkg
--- /dev/null
+go object linux amd64 weekly.2012-01-15 11312+ X:none
+ exports automatically generated from
+ template_test.go in package "go1"
+
+$$ // exports
+ package go1
+ import log "log"
+ import ioutil "io/ioutil"
+ import runtime "runtime"
+ import bufio "bufio"
+ import bzip2 "compress/bzip2"
+ import io "io"
+ import gzip "compress/gzip"
+ import testing "testing"
+ import base64 "encoding/base64"
+ import strings "strings"
+ import gob "encoding/gob"
+ import reflect "reflect"
+ import template "text/template"
+ import json "encoding/json"
+ import bytes "bytes"
+ type @"".binaryNode struct { @"".item int; @"".left *@"".binaryNode; @"".right *@"".binaryNode }
+ func (@"".n *@"".binaryNode "noescape") @"".itemCheck() (? int)
+ func @"".bottomUpTree(@"".item int, @"".depth int) (? *@"".binaryNode)
+ const @"".minDepth = 4
+ func @"".binarytree(@"".n int)
+ import time "time" // indirect
+ type @"time".zone struct { @"time".name string; @"time".offset int; @"time".isDST bool }
+ type @"time".zoneTrans struct { @"time".when int64; @"time".index uint8; @"time".isstd bool; @"time".isutc bool }
+ type @"time".Location struct { @"time".name string; @"time".zone []@"time".zone; @"time".tx []@"time".zoneTrans; @"time".cacheStart int64; @"time".cacheEnd int64; @"time".cacheZone *@"time".zone }
+ func (@"time".l *@"time".Location) String() (? string)
+ func (@"time".l *@"time".Location) @"time".get() (? *@"time".Location)
+ func (@"time".l *@"time".Location) @"time".lookup(@"time".sec int64) (@"time".name string, @"time".offset int, @"time".isDST bool, @"time".start int64, @"time".end int64)
+ func (@"time".l *@"time".Location) @"time".lookupName(@"time".name string "noescape") (@"time".offset int, @"time".isDST bool, @"time".ok bool)
+ func (@"time".l *@"time".Location) @"time".lookupOffset(@"time".offset int) (@"time".name string, @"time".isDST bool, @"time".ok bool)
+ type @"time".Duration int64
+ func (@"time".d @"time".Duration) Hours() (? float64)
+ func (@"time".d @"time".Duration) Minutes() (? float64)
+ func (@"time".d @"time".Duration) Nanoseconds() (? int64) { return int64(@"time".d) }
+ func (@"time".d @"time".Duration) Seconds() (? float64)
+ func (@"time".d @"time".Duration) String() (? string)
+ type @"time".Month int
+ func (@"time".m @"time".Month) String() (? string) { return @"time".months[@"time".m - @"time".Month(1)] }
+ type @"time".Weekday int
+ func (@"time".d @"time".Weekday) String() (? string) { return @"time".days[@"time".d] }
+ type @"time".Time struct { @"time".sec int64; @"time".nsec int32; @"time".loc *@"time".Location }
+ func (@"time".t @"time".Time) Add(@"time".d @"time".Duration) (? @"time".Time)
+ func (@"time".t @"time".Time) AddDate(@"time".years int, @"time".months int, @"time".days int) (? @"time".Time)
+ func (@"time".t @"time".Time "noescape") After(@"time".u @"time".Time "noescape") (? bool) { return @"time".t.@"time".sec > @"time".u.@"time".sec || @"time".t.@"time".sec == @"time".u.@"time".sec && @"time".t.@"time".nsec > @"time".u.@"time".nsec }
+ func (@"time".t @"time".Time "noescape") Before(@"time".u @"time".Time "noescape") (? bool) { return @"time".t.@"time".sec < @"time".u.@"time".sec || @"time".t.@"time".sec == @"time".u.@"time".sec && @"time".t.@"time".nsec < @"time".u.@"time".nsec }
+ func (@"time".t @"time".Time) Clock() (@"time".hour int, @"time".min int, @"time".sec int)
+ func (@"time".t @"time".Time) Date() (@"time".year int, @"time".month @"time".Month, @"time".day int)
+ func (@"time".t @"time".Time) Day() (? int)
+ func (@"time".t @"time".Time "noescape") Equal(@"time".u @"time".Time "noescape") (? bool) { return @"time".t.@"time".sec == @"time".u.@"time".sec && @"time".t.@"time".nsec == @"time".u.@"time".nsec }
+ func (@"time".t @"time".Time) Format(@"time".layout string) (? string)
+ func (@"time".t *@"time".Time "noescape") GobDecode(@"time".buf []byte "noescape") (? error)
+ func (@"time".t @"time".Time) GobEncode() (? []byte, ? error)
+ func (@"time".t @"time".Time) Hour() (? int)
+ func (@"time".t @"time".Time) ISOWeek() (@"time".year int, @"time".week int)
+ func (@"time".t @"time".Time) In(@"time".loc *@"time".Location) (? @"time".Time)
+ func (@"time".t @"time".Time "noescape") IsZero() (? bool) { return @"time".t.@"time".sec == 0 && @"time".t.@"time".nsec == 0 }
+ func (@"time".t @"time".Time) Local() (? @"time".Time)
+ func (@"time".t @"time".Time) Location() (? *@"time".Location)
+ func (@"time".t @"time".Time) MarshalJSON() (? []byte, ? error)
+ func (@"time".t @"time".Time) Minute() (? int)
+ func (@"time".t @"time".Time) Month() (? @"time".Month)
+ func (@"time".t @"time".Time "noescape") Nanosecond() (? int) { return int(@"time".t.@"time".nsec) }
+ func (@"time".t @"time".Time) Second() (? int)
+ func (@"time".t @"time".Time) String() (? string)
+ func (@"time".t @"time".Time "noescape") Sub(@"time".u @"time".Time "noescape") (? @"time".Duration) { return @"time".Duration(@"time".t.@"time".sec - @"time".u.@"time".sec) * @"time".Duration(1000000000) + @"time".Duration(@"time".t.@"time".nsec - @"time".u.@"time".nsec) }
+ func (@"time".t @"time".Time) UTC() (? @"time".Time)
+ func (@"time".t @"time".Time "noescape") Unix() (? int64) { return @"time".t.@"time".sec + -62135596800 }
+ func (@"time".t @"time".Time "noescape") UnixNano() (? int64) { return (@"time".t.@"time".sec + -62135596800) * 1000000000 + int64(@"time".t.@"time".nsec) }
+ func (@"time".t *@"time".Time "noescape") UnmarshalJSON(@"time".data []byte "noescape") (@"time".err error)
+ func (@"time".t @"time".Time) Weekday() (? @"time".Weekday)
+ func (@"time".t @"time".Time) Year() (? int)
+ func (@"time".t @"time".Time) Zone() (@"time".name string, @"time".offset int)
+ func (@"time".t @"time".Time) @"time".abs() (? uint64)
+ func (@"time".t @"time".Time) @"time".date(@"time".full bool) (@"time".year int, @"time".month @"time".Month, @"time".day int, @"time".yday int)
+ type @"testing".common struct { @"testing".output []byte; @"testing".failed bool; @"testing".start @"time".Time; @"testing".duration @"time".Duration; @"testing".self interface {}; @"testing".signal chan interface {} }
+ func (@"testing".c *@"testing".common "noescape") Error(@"testing".args ...interface {} "noescape")
+ func (@"testing".c *@"testing".common "noescape") Errorf(@"testing".format string "noescape", @"testing".args ...interface {} "noescape")
+ func (@"testing".c *@"testing".common "noescape") Fail() { @"testing".c.@"testing".failed = true }
+ func (@"testing".c *@"testing".common "noescape") FailNow()
+ func (@"testing".c *@"testing".common "noescape") Failed() (? bool) { return @"testing".c.@"testing".failed }
+ func (@"testing".c *@"testing".common "noescape") Fatal(@"testing".args ...interface {} "noescape")
+ func (@"testing".c *@"testing".common "noescape") Fatalf(@"testing".format string "noescape", @"testing".args ...interface {} "noescape")
+ func (@"testing".c *@"testing".common "noescape") Log(@"testing".args ...interface {} "noescape")
+ func (@"testing".c *@"testing".common "noescape") Logf(@"testing".format string "noescape", @"testing".args ...interface {} "noescape")
+ func (@"testing".c *@"testing".common "noescape") @"testing".log(@"testing".s string)
+ type @"testing".InternalBenchmark struct { Name string; F func(@"testing".b *@"testing".B) }
+ type @"testing".BenchmarkResult struct { N int; T @"time".Duration; Bytes int64 }
+ func (@"testing".r @"testing".BenchmarkResult) NsPerOp() (? int64)
+ func (@"testing".r @"testing".BenchmarkResult) String() (? string)
+ func (@"testing".r @"testing".BenchmarkResult) @"testing".mbPerSec() (? float64)
+ type @"testing".B struct { ? @"testing".common; N int; @"testing".benchmark @"testing".InternalBenchmark; @"testing".bytes int64; @"testing".timerOn bool; @"testing".result @"testing".BenchmarkResult }
+ func (@"testing".b *@"testing".B "noescape") ResetTimer()
+ func (@"testing".b *@"testing".B "noescape") SetBytes(@"testing".n int64) { @"testing".b.@"testing".bytes = @"testing".n }
+ func (@"testing".b *@"testing".B "noescape") StartTimer()
+ func (@"testing".b *@"testing".B "noescape") StopTimer()
+ func (@"testing".b *@"testing".B) @"testing".launch()
+ func (@"testing".b *@"testing".B "noescape") @"testing".nsPerOp() (? int64)
+ func (@"testing".b *@"testing".B) @"testing".run() (? @"testing".BenchmarkResult)
+ func (@"testing".b *@"testing".B) @"testing".runN(@"testing".n int)
+ func (@"testing".b *@"testing".B "noescape") @"testing".trimOutput()
+ func @"".BenchmarkBinaryTree17(@"".b *@"testing".B "noescape")
+ func @"".fannkuch(@"".n int) (? int)
+ func @"".BenchmarkFannkuch11(@"".b *@"testing".B "noescape")
+ var @"".fasta25m []byte
+ func @"".fasta(@"".n int) (? []byte)
+ type @"".fastaBuffer []byte
+ func (@"".b *@"".fastaBuffer "noescape") Flush()
+ func (@"".b *@"".fastaBuffer "noescape") NextWrite(@"".n int) (? []byte)
+ func (@"".b *@"".fastaBuffer "noescape") WriteString(@"".s string "noescape")
+ const @"".fastaLine = 60
+ func @"".fastaRepeat(@"".out *@"".fastaBuffer "noescape", @"".alu []byte "noescape", @"".n int)
+ const @"".fastaLookupSize = 4096
+ const @"".fastaLookupScale float64 = 4095p+0
+ var @"".fastaRand uint32
+ type @"".fastaAcid struct { @"".sym byte; @"".prob float64; @"".cprob float64; @"".next *@"".fastaAcid }
+ func @"".fastaComputeLookup(@"".acid []@"".fastaAcid) (? *[4096]*@"".fastaAcid)
+ func @"".fastaRandom(@"".out *@"".fastaBuffer "noescape", @"".acid []@"".fastaAcid, @"".n int)
+ var @"".gobbytes []byte
+ type @"".JSONNode struct { Name string "json:\"name\""; Kids []*@"".JSONNode "json:\"kids\""; CLWeight float64 "json:\"cl_weight\""; Touches int "json:\"touches\""; MinT int64 "json:\"min_t\""; MaxT int64 "json:\"max_t\""; MeanT int64 "json:\"mean_t\"" }
+ type @"".JSONResponse struct { Tree *@"".JSONNode "json:\"tree\""; Username string "json:\"username\"" }
+ var @"".gobdata *@"".JSONResponse
+ func @"".gobinit()
+ func @"".gobResponse(@"".r *@"".JSONResponse) (? *@"".JSONResponse)
+ func @"".gobNode(@"".n *@"".JSONNode "noescape") (? *@"".JSONNode)
+ func @"".gobdec()
+ func @"".gobenc()
+ func @"".BenchmarkGobDecode(@"".b *@"testing".B "noescape")
+ func @"".BenchmarkGobEncode(@"".b *@"testing".B "noescape")
+ var @"".jsongunz []byte
+ var @"".jsongz []byte
+ func @"".init·1()
+ func @"".gzip()
+ func @"".gunzip()
+ func @"".BenchmarkGzip(@"".b *@"testing".B "noescape")
+ func @"".BenchmarkGunzip(@"".b *@"testing".B "noescape")
+ var @"".jsonbytes []byte
+ var @"".jsondata @"".JSONResponse
+ func @"".init·2()
+ func @"".jsondec()
+ func @"".jsonenc()
+ func @"".BenchmarkJSONEncode(@"".b *@"testing".B "noescape")
+ func @"".BenchmarkJSONDecode(@"".b *@"testing".B "noescape")
+ var @"".jsonbz2_base64 string
+ var @"".revCompTable [256]uint8
+ func @"".revcomp(@"".data []byte)
+ func @"".BenchmarkRevcomp25M(@"".b *@"testing".B "noescape")
+ const @"".tmplText = "\n{\n\t\"tree\":{{template \"node\" .Tree}},\n\t\"username\":\"{{.Username}}\"\n}\n{{define \"node\"}}\n{\n\t\"name\":\"{{.Name}}\",\n\t\"kids\":[\n\t{{range $i, $k := .Kids}}\n\t\t{{if $i}}\n\t\t\t,\n\t\t{{end}}\n\t\t{{template \"node\" $k}}\n\t{{end}}\n\t],\n\t\"cl_weight\":{{.CLWeight}},\n\t\"touches\":{{.Touches}},\n\t\"min_t\":{{.MinT}},\n\t\"max_t\":{{.MaxT}},\n\t\"mean_t\":{{.MeanT}}\n}\n{{end}}\n"
+ func @"".stripTabNL(@"".r rune) (? rune)
+ import parse "text/template/parse" // indirect
+ type @"text/template/parse".NodeType int
+ func (@"text/template/parse".t @"text/template/parse".NodeType) Type() (? @"text/template/parse".NodeType) { return @"text/template/parse".t }
+ type @"text/template/parse".Node interface { Type() (? @"text/template/parse".NodeType); String() (? string) }
+ type @"text/template/parse".ListNode struct { ? @"text/template/parse".NodeType; Nodes []@"text/template/parse".Node }
+ func (@"text/template/parse".l *@"text/template/parse".ListNode "noescape") String() (? string)
+ func (@"text/template/parse".l *@"text/template/parse".ListNode "noescape") @"text/template/parse".append(@"text/template/parse".n @"text/template/parse".Node) { @"text/template/parse".l.Nodes = append(@"text/template/parse".l.Nodes, @"text/template/parse".n) }
+ type @"text/template/parse".stateFn func(? *@"text/template/parse".lexer) (? @"text/template/parse".stateFn)
+ type @"text/template/parse".itemType int
+ func (@"text/template/parse".i @"text/template/parse".itemType) String() (? string)
+ type @"text/template/parse".item struct { @"text/template/parse".typ @"text/template/parse".itemType; @"text/template/parse".val string }
+ func (@"text/template/parse".i @"text/template/parse".item) String() (? string)
+ type @"text/template/parse".lexer struct { @"text/template/parse".name string; @"text/template/parse".input string; @"text/template/parse".leftDelim string; @"text/template/parse".rightDelim string; @"text/template/parse".state @"text/template/parse".stateFn; @"text/template/parse".pos int; @"text/template/parse".start int; @"text/template/parse".width int; @"text/template/parse".items chan @"text/template/parse".item }
+ func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".accept(@"text/template/parse".valid string "noescape") (? bool)
+ func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".acceptRun(@"text/template/parse".valid string "noescape")
+ func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".backup()
+ func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".emit(@"text/template/parse".t @"text/template/parse".itemType)
+ func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".errorf(@"text/template/parse".format string "noescape", @"text/template/parse".args ...interface {} "noescape") (? @"text/template/parse".stateFn)
+ func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".ignore() { @"text/template/parse".l.@"text/template/parse".start = @"text/template/parse".l.@"text/template/parse".pos }
+ func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".lineNumber() (? int)
+ func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".next() (@"text/template/parse".r rune)
+ func (@"text/template/parse".l *@"text/template/parse".lexer) @"text/template/parse".nextItem() (? @"text/template/parse".item)
+ func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".peek() (? rune)
+ func (@"text/template/parse".l *@"text/template/parse".lexer "noescape") @"text/template/parse".scanNumber() (? bool)
+ type @"text/template/parse".CommandNode struct { ? @"text/template/parse".NodeType; Args []@"text/template/parse".Node }
+ func (@"text/template/parse".c *@"text/template/parse".CommandNode "noescape") String() (? string)
+ func (@"text/template/parse".c *@"text/template/parse".CommandNode "noescape") @"text/template/parse".append(@"text/template/parse".arg @"text/template/parse".Node) { @"text/template/parse".c.Args = append(@"text/template/parse".c.Args, @"text/template/parse".arg) }
+ type @"text/template/parse".VariableNode struct { ? @"text/template/parse".NodeType; Ident []string }
+ func (@"text/template/parse".v *@"text/template/parse".VariableNode "noescape") String() (? string)
+ type @"text/template/parse".PipeNode struct { ? @"text/template/parse".NodeType; Line int; Decl []*@"text/template/parse".VariableNode; Cmds []*@"text/template/parse".CommandNode }
+ func (@"text/template/parse".p *@"text/template/parse".PipeNode "noescape") String() (? string)
+ func (@"text/template/parse".p *@"text/template/parse".PipeNode "noescape") @"text/template/parse".append(@"text/template/parse".command *@"text/template/parse".CommandNode) { @"text/template/parse".p.Cmds = append(@"text/template/parse".p.Cmds, @"text/template/parse".command) }
+ type @"text/template/parse".Tree struct { Name string; Root *@"text/template/parse".ListNode; @"text/template/parse".funcs []map[string]interface {}; @"text/template/parse".lex *@"text/template/parse".lexer; @"text/template/parse".token [2]@"text/template/parse".item; @"text/template/parse".peekCount int; @"text/template/parse".vars []string }
+ func (@"text/template/parse".t *@"text/template/parse".Tree) Parse(@"text/template/parse".s string, @"text/template/parse".leftDelim string, @"text/template/parse".rightDelim string, @"text/template/parse".treeSet map[string]*@"text/template/parse".Tree "noescape", @"text/template/parse".funcs ...map[string]interface {}) (@"text/template/parse".tree *@"text/template/parse".Tree, @"text/template/parse".err error)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".action() (@"text/template/parse".n @"text/template/parse".Node)
+ func (@"text/template/parse".t *@"text/template/parse".Tree) @"text/template/parse".add(@"text/template/parse".treeSet map[string]*@"text/template/parse".Tree "noescape")
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".atEOF() (? bool)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".backup()
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".backup2(@"text/template/parse".t1 @"text/template/parse".item)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".command() (? *@"text/template/parse".CommandNode)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".elseControl() (? @"text/template/parse".Node)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".endControl() (? @"text/template/parse".Node)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".error(@"text/template/parse".err error)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".errorf(@"text/template/parse".format string, @"text/template/parse".args ...interface {} "noescape")
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".expect(@"text/template/parse".expected @"text/template/parse".itemType, @"text/template/parse".context string) (? @"text/template/parse".item)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".expectOneOf(@"text/template/parse".expected1 @"text/template/parse".itemType, @"text/template/parse".expected2 @"text/template/parse".itemType, @"text/template/parse".context string) (? @"text/template/parse".item)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".hasFunction(@"text/template/parse".name string "noescape") (? bool)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".ifControl() (? @"text/template/parse".Node)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".itemList() (@"text/template/parse".list *@"text/template/parse".ListNode, @"text/template/parse".next @"text/template/parse".Node)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".next() (? @"text/template/parse".item)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".parse(@"text/template/parse".treeSet map[string]*@"text/template/parse".Tree "noescape") (@"text/template/parse".next @"text/template/parse".Node)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".parseControl(@"text/template/parse".context string) (@"text/template/parse".lineNum int, @"text/template/parse".pipe *@"text/template/parse".PipeNode, @"text/template/parse".list *@"text/template/parse".ListNode, @"text/template/parse".elseList *@"text/template/parse".ListNode)
+ func (@"text/template/parse".t *@"text/template/parse".Tree) @"text/template/parse".parseDefinition(@"text/template/parse".treeSet map[string]*@"text/template/parse".Tree "noescape")
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".peek() (? @"text/template/parse".item)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".pipeline(@"text/template/parse".context string) (@"text/template/parse".pipe *@"text/template/parse".PipeNode)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".popVars(@"text/template/parse".n int) { @"text/template/parse".t.@"text/template/parse".vars = @"text/template/parse".t.@"text/template/parse".vars[:@"text/template/parse".n] }
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".rangeControl() (? @"text/template/parse".Node)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".recover(@"text/template/parse".errp *error "noescape")
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".startParse(@"text/template/parse".funcs []map[string]interface {}, @"text/template/parse".lex *@"text/template/parse".lexer)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".stopParse()
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".templateControl() (? @"text/template/parse".Node)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".textOrAction() (? @"text/template/parse".Node)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".unexpected(@"text/template/parse".token @"text/template/parse".item, @"text/template/parse".context string)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".useVar(@"text/template/parse".name string "noescape") (? @"text/template/parse".Node)
+ func (@"text/template/parse".t *@"text/template/parse".Tree "noescape") @"text/template/parse".withControl() (? @"text/template/parse".Node)
+ type @"text/template".FuncMap map[string]interface {}
+ type @"runtime".Type interface {}
+ type @"reflect".method struct { @"reflect".name *string; @"reflect".pkgPath *string; @"reflect".mtyp *@"runtime".Type; @"reflect".typ *@"runtime".Type; @"reflect".ifn @"unsafe".Pointer; @"reflect".tfn @"unsafe".Pointer }
+ type @"reflect".ChanDir int
+ func (@"reflect".d @"reflect".ChanDir) String() (? string)
+ type @"reflect".StructTag string
+ func (@"reflect".tag @"reflect".StructTag "noescape") Get(@"reflect".key string "noescape") (? string)
+ type @"reflect".StructField struct { PkgPath string; Name string; Type @"reflect".Type; Tag @"reflect".StructTag; Offset uintptr; Index []int; Anonymous bool }
+ type @"reflect".Kind uint
+ func (@"reflect".k @"reflect".Kind) String() (? string)
+ type @"reflect".Type interface { Align() (? int); FieldAlign() (? int); Method(? int) (? @"reflect".Method); MethodByName(? string) (? @"reflect".Method, ? bool); NumMethod() (? int); Name() (? string); PkgPath() (? string); Size() (? uintptr); String() (? string); Kind() (? @"reflect".Kind); Implements(@"reflect".u @"reflect".Type) (? bool); AssignableTo(@"reflect".u @"reflect".Type) (? bool); Bits() (? int); ChanDir() (? @"reflect".ChanDir); IsVariadic() (? bool); Elem() (? @"reflect".Type); Field(@"reflect".i int) (? @"reflect".StructField); FieldByIndex(@"reflect".index []int) (? @"reflect".StructField); FieldByName(@"reflect".name string) (? @"reflect".StructField, ? bool); FieldByNameFunc(@"reflect".match func(? string) (? bool)) (? @"reflect".StructField, ? bool); In(@"reflect".i int) (? @"reflect".Type); Key() (? @"reflect".Type); Len() (? int); NumField() (? int); NumIn() (? int); NumOut() (? int); Out(@"reflect".i int) (? @"reflect".Type); @"reflect".runtimeType() (? *@"runtime".Type); @"reflect".common() (? *@"reflect".commonType); @"reflect".uncommon() (? *@"reflect".uncommonType) }
+ type @"reflect".Method struct { PkgPath string; Name string; Type @"reflect".Type; Func @"reflect".Value; Index int }
+ type @"reflect".uncommonType struct { @"reflect".name *string; @"reflect".pkgPath *string; @"reflect".methods []@"reflect".method }
+ func (@"reflect".t *@"reflect".uncommonType "noescape") Method(@"reflect".i int) (@"reflect".m @"reflect".Method)
+ func (@"reflect".t *@"reflect".uncommonType "noescape") MethodByName(@"reflect".name string "noescape") (@"reflect".m @"reflect".Method, @"reflect".ok bool)
+ func (@"reflect".t *@"reflect".uncommonType "noescape") Name() (? string)
+ func (@"reflect".t *@"reflect".uncommonType "noescape") NumMethod() (? int)
+ func (@"reflect".t *@"reflect".uncommonType "noescape") PkgPath() (? string)
+ func (@"reflect".t *@"reflect".uncommonType) @"reflect".uncommon() (? *@"reflect".uncommonType) { return @"reflect".t }
+ type @"reflect".commonType struct { @"reflect".size uintptr; @"reflect".hash uint32; _ uint8; @"reflect".align uint8; @"reflect".fieldAlign uint8; @"reflect".kind uint8; @"reflect".alg *uintptr; @"reflect".string *string; ? *@"reflect".uncommonType; @"reflect".ptrToThis *@"runtime".Type }
+ func (@"reflect".t *@"reflect".commonType "noescape") Align() (? int) { return int(@"reflect".t.@"reflect".align) }
+ func (@"reflect".t *@"reflect".commonType "noescape") AssignableTo(@"reflect".u @"reflect".Type "noescape") (? bool)
+ func (@"reflect".t *@"reflect".commonType "noescape") Bits() (? int)
+ func (@"reflect".t *@"reflect".commonType "noescape") ChanDir() (? @"reflect".ChanDir)
+ func (@"reflect".t *@"reflect".commonType "noescape") Elem() (? @"reflect".Type)
+ func (@"reflect".t *@"reflect".commonType "noescape") Field(@"reflect".i int) (? @"reflect".StructField)
+ func (@"reflect".t *@"reflect".commonType "noescape") FieldAlign() (? int) { return int(@"reflect".t.@"reflect".fieldAlign) }
+ func (@"reflect".t *@"reflect".commonType) FieldByIndex(@"reflect".index []int "noescape") (? @"reflect".StructField)
+ func (@"reflect".t *@"reflect".commonType) FieldByName(@"reflect".name string "noescape") (? @"reflect".StructField, ? bool)
+ func (@"reflect".t *@"reflect".commonType) FieldByNameFunc(@"reflect".match func(? string) (? bool) "noescape") (? @"reflect".StructField, ? bool)
+ func (@"reflect".t *@"reflect".commonType "noescape") Implements(@"reflect".u @"reflect".Type) (? bool)
+ func (@"reflect".t *@"reflect".commonType "noescape") In(@"reflect".i int) (? @"reflect".Type)
+ func (@"reflect".t *@"reflect".commonType "noescape") IsVariadic() (? bool)
+ func (@"reflect".t *@"reflect".commonType "noescape") Key() (? @"reflect".Type)
+ func (@"reflect".t *@"reflect".commonType "noescape") Kind() (? @"reflect".Kind) { return @"reflect".Kind(@"reflect".t.@"reflect".kind & 127) }
+ func (@"reflect".t *@"reflect".commonType "noescape") Len() (? int)
+ func (@"reflect".t *@"reflect".commonType "noescape") Method(@"reflect".i int) (@"reflect".m @"reflect".Method)
+ func (@"reflect".t *@"reflect".commonType "noescape") MethodByName(@"reflect".name string "noescape") (@"reflect".m @"reflect".Method, @"reflect".ok bool)
+ func (@"reflect".t *@"reflect".commonType "noescape") Name() (? string)
+ func (@"reflect".t *@"reflect".commonType "noescape") NumField() (? int)
+ func (@"reflect".t *@"reflect".commonType "noescape") NumIn() (? int)
+ func (@"reflect".t *@"reflect".commonType "noescape") NumMethod() (? int)
+ func (@"reflect".t *@"reflect".commonType "noescape") NumOut() (? int)
+ func (@"reflect".t *@"reflect".commonType "noescape") Out(@"reflect".i int) (? @"reflect".Type)
+ func (@"reflect".t *@"reflect".commonType "noescape") PkgPath() (? string)
+ func (@"reflect".t *@"reflect".commonType "noescape") Size() (? uintptr) { return @"reflect".t.@"reflect".size }
+ func (@"reflect".t *@"reflect".commonType "noescape") String() (? string) { return *@"reflect".t.@"reflect".string }
+ func (@"reflect".t *@"reflect".commonType) @"reflect".common() (? *@"reflect".commonType) { return @"reflect".t }
+ func (@"reflect".ct *@"reflect".commonType) @"reflect".ptrTo() (? *@"reflect".commonType)
+ func (@"reflect".t *@"reflect".commonType) @"reflect".runtimeType() (? *@"runtime".Type)
+ func (@"reflect".t *@"reflect".commonType) @"reflect".toType() (? @"reflect".Type)
+ type @"reflect".flag uintptr
+ func (@"reflect".f @"reflect".flag) @"reflect".kind() (? @"reflect".Kind) { return @"reflect".Kind(@"reflect".f >> 4 & @"reflect".flag(31)) }
+ func (@"reflect".f @"reflect".flag) @"reflect".mustBe(@"reflect".expected @"reflect".Kind)
+ func (@"reflect".f @"reflect".flag) @"reflect".mustBeAssignable()
+ func (@"reflect".f @"reflect".flag) @"reflect".mustBeExported()
+ type @"reflect".iword @"unsafe".Pointer
+ type @"reflect".Value struct { @"reflect".typ *@"reflect".commonType; @"reflect".val @"unsafe".Pointer; ? @"reflect".flag }
+ func (@"reflect".v @"reflect".Value) Addr() (? @"reflect".Value)
+ func (@"reflect".v @"reflect".Value "noescape") Bool() (? bool)
+ func (@"reflect".v @"reflect".Value "noescape") Bytes() (? []byte)
+ func (@"reflect".v @"reflect".Value) Call(@"reflect".in []@"reflect".Value "noescape") (? []@"reflect".Value)
+ func (@"reflect".v @"reflect".Value) CallSlice(@"reflect".in []@"reflect".Value "noescape") (? []@"reflect".Value)
+ func (@"reflect".v @"reflect".Value "noescape") CanAddr() (? bool) { return @"reflect".v.@"reflect".flag & @"reflect".flag(4) != @"reflect".flag(0) }
+ func (@"reflect".v @"reflect".Value "noescape") CanInterface() (? bool)
+ func (@"reflect".v @"reflect".Value "noescape") CanSet() (? bool) { return @"reflect".v.@"reflect".flag & @"reflect".flag(5) == @"reflect".flag(4) }
+ func (@"reflect".v @"reflect".Value) Cap() (? int)
+ func (@"reflect".v @"reflect".Value) Close()
+ func (@"reflect".v @"reflect".Value "noescape") Complex() (? complex128)
+ func (@"reflect".v @"reflect".Value) Elem() (? @"reflect".Value)
+ func (@"reflect".v @"reflect".Value) Field(@"reflect".i int) (? @"reflect".Value)
+ func (@"reflect".v @"reflect".Value) FieldByIndex(@"reflect".index []int "noescape") (? @"reflect".Value)
+ func (@"reflect".v @"reflect".Value) FieldByName(@"reflect".name string "noescape") (? @"reflect".Value)
+ func (@"reflect".v @"reflect".Value) FieldByNameFunc(@"reflect".match func(? string) (? bool) "noescape") (? @"reflect".Value)
+ func (@"reflect".v @"reflect".Value "noescape") Float() (? float64)
+ func (@"reflect".v @"reflect".Value) Index(@"reflect".i int) (? @"reflect".Value)
+ func (@"reflect".v @"reflect".Value "noescape") Int() (? int64)
+ func (@"reflect".v @"reflect".Value) Interface() (? interface {})
+ func (@"reflect".v @"reflect".Value "noescape") InterfaceData() (? [2]uintptr)
+ func (@"reflect".v @"reflect".Value "noescape") IsNil() (? bool)
+ func (@"reflect".v @"reflect".Value "noescape") IsValid() (? bool) { return @"reflect".v.@"reflect".flag != @"reflect".flag(0) }
+ func (@"reflect".v @"reflect".Value "noescape") Kind() (? @"reflect".Kind)
+ func (@"reflect".v @"reflect".Value) Len() (? int)
+ func (@"reflect".v @"reflect".Value) MapIndex(@"reflect".key @"reflect".Value) (? @"reflect".Value)
+ func (@"reflect".v @"reflect".Value) MapKeys() (? []@"reflect".Value)
+ func (@"reflect".v @"reflect".Value) Method(@"reflect".i int) (? @"reflect".Value)
+ func (@"reflect".v @"reflect".Value) MethodByName(@"reflect".name string "noescape") (? @"reflect".Value)
+ func (@"reflect".v @"reflect".Value "noescape") NumField() (? int)
+ func (@"reflect".v @"reflect".Value "noescape") NumMethod() (? int)
+ func (@"reflect".v @"reflect".Value "noescape") OverflowComplex(@"reflect".x complex128 "noescape") (? bool)
+ func (@"reflect".v @"reflect".Value "noescape") OverflowFloat(@"reflect".x float64) (? bool)
+ func (@"reflect".v @"reflect".Value "noescape") OverflowInt(@"reflect".x int64) (? bool)
+ func (@"reflect".v @"reflect".Value "noescape") OverflowUint(@"reflect".x uint64) (? bool)
+ func (@"reflect".v @"reflect".Value) Pointer() (? uintptr)
+ func (@"reflect".v @"reflect".Value) Recv() (@"reflect".x @"reflect".Value, @"reflect".ok bool)
+ func (@"reflect".v @"reflect".Value) Send(@"reflect".x @"reflect".Value)
+ func (@"reflect".v @"reflect".Value) Set(@"reflect".x @"reflect".Value)
+ func (@"reflect".v @"reflect".Value "noescape") SetBool(@"reflect".x bool)
+ func (@"reflect".v @"reflect".Value "noescape") SetBytes(@"reflect".x []byte)
+ func (@"reflect".v @"reflect".Value "noescape") SetComplex(@"reflect".x complex128)
+ func (@"reflect".v @"reflect".Value "noescape") SetFloat(@"reflect".x float64)
+ func (@"reflect".v @"reflect".Value "noescape") SetInt(@"reflect".x int64)
+ func (@"reflect".v @"reflect".Value "noescape") SetLen(@"reflect".n int)
+ func (@"reflect".v @"reflect".Value) SetMapIndex(@"reflect".key @"reflect".Value, @"reflect".val @"reflect".Value)
+ func (@"reflect".v @"reflect".Value "noescape") SetPointer(@"reflect".x @"unsafe".Pointer)
+ func (@"reflect".v @"reflect".Value "noescape") SetString(@"reflect".x string)
+ func (@"reflect".v @"reflect".Value "noescape") SetUint(@"reflect".x uint64)
+ func (@"reflect".v @"reflect".Value) Slice(@"reflect".beg int, @"reflect".end int) (? @"reflect".Value)
+ func (@"reflect".v @"reflect".Value "noescape") String() (? string)
+ func (@"reflect".v @"reflect".Value) TryRecv() (@"reflect".x @"reflect".Value, @"reflect".ok bool)
+ func (@"reflect".v @"reflect".Value) TrySend(@"reflect".x @"reflect".Value) (? bool)
+ func (@"reflect".v @"reflect".Value) Type() (? @"reflect".Type)
+ func (@"reflect".v @"reflect".Value "noescape") Uint() (? uint64)
+ func (@"reflect".v @"reflect".Value) UnsafeAddr() (? uintptr)
+ func (@"reflect".v @"reflect".Value) @"reflect".assignTo(@"reflect".context string "noescape", @"reflect".dst *@"reflect".commonType, @"reflect".target *interface {}) (? @"reflect".Value)
+ func (@"reflect".v @"reflect".Value) @"reflect".call(@"reflect".method string "noescape", @"reflect".in []@"reflect".Value "noescape") (? []@"reflect".Value)
+ func (@"reflect".v @"reflect".Value) @"reflect".iword() (? @"reflect".iword)
+ func (@"reflect".v @"reflect".Value) @"reflect".recv(@"reflect".nb bool) (@"reflect".val @"reflect".Value, @"reflect".ok bool)
+ func (@"reflect".v @"reflect".Value) @"reflect".send(@"reflect".x @"reflect".Value, @"reflect".nb bool) (@"reflect".selected bool)
+ type @"text/template".common struct { @"text/template".tmpl map[string]*@"text/template".Template; @"text/template".parseFuncs @"text/template".FuncMap; @"text/template".execFuncs map[string]@"reflect".Value }
+ type @"io".Writer interface { Write(@"io".p []byte) (@"io".n int, @"io".err error) }
+ type @"text/template".Template struct { @"text/template".name string; ? *@"text/template/parse".Tree; ? *@"text/template".common; @"text/template".leftDelim string; @"text/template".rightDelim string }
+ func (@"text/template".t *@"text/template".Template) AddParseTree(@"text/template".name string, @"text/template".tree *@"text/template/parse".Tree) (? *@"text/template".Template, ? error)
+ func (@"text/template".t *@"text/template".Template) Clone() (? *@"text/template".Template)
+ func (@"text/template".t *@"text/template".Template) Delims(@"text/template".left string, @"text/template".right string) (? *@"text/template".Template)
+ func (@"text/template".t *@"text/template".Template) Execute(@"text/template".wr @"io".Writer, @"text/template".data interface {}) (@"text/template".err error)
+ func (@"text/template".t *@"text/template".Template "noescape") ExecuteTemplate(@"text/template".wr @"io".Writer, @"text/template".name string, @"text/template".data interface {}) (? error)
+ func (@"text/template".t *@"text/template".Template) Funcs(@"text/template".funcMap @"text/template".FuncMap "noescape") (? *@"text/template".Template)
+ func (@"text/template".t *@"text/template".Template "noescape") Lookup(@"text/template".name string "noescape") (? *@"text/template".Template)
+ func (@"text/template".t *@"text/template".Template "noescape") Name() (? string) { return @"text/template".t.@"text/template".name }
+ func (@"text/template".t *@"text/template".Template) New(@"text/template".name string) (? *@"text/template".Template)
+ func (@"text/template".t *@"text/template".Template) Parse(@"text/template".text string) (? *@"text/template".Template, ? error)
+ func (@"text/template".t *@"text/template".Template) ParseFiles(@"text/template".filenames ...string "noescape") (? *@"text/template".Template, ? error)
+ func (@"text/template".t *@"text/template".Template) ParseGlob(@"text/template".pattern string) (? *@"text/template".Template, ? error)
+ func (@"text/template".t *@"text/template".Template "noescape") Templates() (? []*@"text/template".Template)
+ func (@"text/template".t *@"text/template".Template "noescape") @"text/template".associate(@"text/template".new *@"text/template".Template) (? error)
+ func (@"text/template".t *@"text/template".Template) @"text/template".copy(@"text/template".c *@"text/template".common) (? *@"text/template".Template)
+ func (@"text/template".t *@"text/template".Template "noescape") @"text/template".init()
+ var @"".tmpl *@"text/template".Template
+ func @"".init·3()
+ func @"".tmplexec()
+ func @"".BenchmarkTemplate(@"".b *@"testing".B "noescape")
+ var @"".initdone· uint8
+ func @"".init()
+ var @"time".months [12]string
+ var @"time".days [7]string
+
+$$ // local types
+
+$$
+
+!
+\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<dummy.go\08\0\ 1\0\0\0\0\08\0\ 5\0\0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<binarytree_test.go\08\0\ 5\0\0\0\0\0\84\0y\ 1<testing.a\08\0\ e\0\0\0\0\ 5ÿÿÿÿu8\0D\0\0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<fannkuch_test.go\08\0D\0\0\0\0\0\84\0y\ 1<testing.a\08\0M\0\0\0\0\ 5ÿÿÿÿu8\0\98\0\0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<fasta_test.go\08\0\98\0\0\0\0\08\0<\ 1\0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<gob_test.go\08\0<\ 1\0\0\0\0\84\0y\ 1<bytes.a\08\0E\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<encoding\0\84\0y\ 1<gob.a\08\0F\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<encoding\0\84\0y\ 1<json.a\08\0G\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<io\0\84\0y\ 1<ioutil.a\08\0H\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<log.a\08\0I\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<reflect.a\08\0J\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<testing.a\08\0K\ 1\0\0\0\ 5ÿÿÿÿu8\0\9b\ 1\0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<gzip_test.go\08\0\9b\ 1\0\0\0\0\84\0y\ 1<bytes.a\08\0¤\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<compress\0\84\0y\ 1<gzip.a\08\0¥\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<io.a\08\0¦\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<io\0\84\0y\ 1<ioutil.a\08\0§\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<testing.a\08\0¨\ 1\0\0\0\ 5ÿÿÿÿu8\0à\ 1\0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<json_test.go\08\0à\ 1\0\0\0\0\84\0y\ 1<compress\0\84\0y\ 1<bzip2.a\08\0é\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<encoding\0\84\0y\ 1<base64.a\08\0ê\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<encoding\0\84\0y\ 1<json.a\08\0ë\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<io.a\08\0ì\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<io\0\84\0y\ 1<ioutil.a\08\0í\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<strings.a\08\0î\ 1\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<testing.a\08\0ï\ 1\0\0\0\ 5ÿÿÿÿu8\04\ 2\0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<jsondata_test.go\08\04\ 2\0\0\0\08\0N \0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<revcomp_test.go\08\0N \0\0\0\0\84\0y\ 1<bufio.a\08\0X \0\0\0\ 5ÿÿÿÿu\84\0y\ 1<bytes.a\08\0Y \0\0\0\ 5ÿÿÿÿu\84\0y\ 1<io\0\84\0y\ 1<ioutil.a\08\0Z \0\0\0\ 5ÿÿÿÿu\84\0y\ 1<testing.a\08\0[ \0\0\0\ 5ÿÿÿÿu8\0£ \0\0\0\0\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<template_test.go\08\0£ \0\0\0\0\84\0y\ 1<bytes.a\08\0 \0\0\0\ 5ÿÿÿÿu\84\0y\ 1<io\0\84\0y\ 1<ioutil.a\08\0® \0\0\0\ 5ÿÿÿÿu\84\0y\ 1<strings.a\08\0¯ \0\0\0\ 5ÿÿÿÿu\84\0y\ 1<testing.a\08\0° \0\0\0\ 5ÿÿÿÿu\84\0y\ 1<text\0\84\0y\ 1<template.a\08\0± \0\0\0\ 5ÿÿÿÿu8\0ï \0\0\0\0\84\0q\ 1"".bottomUpTree\0\84\0q\ 2type.func(int, int) *"".binaryNode\0ã\0\15\0\0\0\91\ 1q\ 2E\18\0\0\0\10\0\0\0u\84\0t\ 3"".depth\0\84\0q\ 4type.int\0r\0\16\0\0\0\95\ 4\0\0\0\ 3t\ 4\ 1\13&\0\16\0\0\0\ 1\13\ 1uS\0\16\0\0\0\0\ 5\10\0\0\0p\84\0q\ 5type."".binaryNode\0\84\0q\ 6type.uint8\0\84\0\8f\aruntime.typ\0®\ 1\17\0\0\0\93q\0\ 5x\ 6\11\a\8f\84\0q\bruntime.new\0\84\0q type.func(*uint8) *"".binaryNode\0\1f\0\17\0\0\0\0\91\bq ®\ 1\17\0\0\0\ 5\b\0\0\0\8f\ 1\11®\ 1\17\0\0\0\ 1\11\ 1\17®\ 1\17\0\0\0\ 1u\ 1\10Æ\ 1\17\0\0\0\0\0Æ\ 1\17\0\0\0\0\0Æ\ 1\17\0\0\0\0\0\84\0t
+"".item\0r\0\17\0\0\0\91
+t\ 4\ 1\15r\0\17\0\0\0\ 1\15\ 1\8c\84\0t\v""..noname\0®\ 1\17\0\0\0\ 1\11\15\b\0\0\0\vtª\0\17\0\0\0\0\0®\ 1\19\0\0\0\93q\0\ 5x\ 6\11\a\8f\1f\0\19\0\0\0\0\91\bq r\0\19\0\0\0\91
+t\ 4\ 1\11®\ 1\19\0\0\0\ 5\b\0\0\0\8f\ 1\10\84\0s\f"".autotmp_0008\0®\ 1\19\0\0\0\ 1\10\15øÿÿÿ\fsr\0\19\0\0\0\ 1\11\ 1\8br\0\19\0\0\0\ 5\ 2\0\0\0u\ 1\15>\0\19\0\0\0\ 1\11\ 1\15/\0\19\0\0\0\0\ 1\15\84\0\8f\r"".item\0r\0\19\0\0\0\ 1\15\11\r\8fr\0\19\0\0\0\95\ 4\0\0\0\ 3t\ 4\ 1\15/\0\19\0\0\0\0\ 1\15\84\0\8f\ e"".depth\0r\0\19\0\0\0\ 1\15\15\ 4\0\0\0\ e\8f\1f\0\19\0\0\0\0\91\ 1q\ 2®\ 1\19\0\0\0\ 5\b\0\0\0\8f\ 1\13®\ 1\19\0\0\0\15øÿÿÿ\fs\ 1\15®\ 1\19\0\0\0\ 1\13\ 5\b\0\0\0\90r\0\19\0\0\0\ 5\ 2\0\0\0u\ 1\15\84\0t\ f"".item\0r\0\19\0\0\0\91\ ft\ 4\ 1\18>\0\19\0\0\0\ 1\18\ 1\15\84\0\8f\10"".item\0r\0\19\0\0\0\ 1\15\11\10\8f\84\0t\11"".depth\0r\0\19\0\0\0\95\ 4\0\0\0\11t\ 4\ 1\15/\0\19\0\0\0\0\ 1\15\84\0\8f\12"".depth\0r\0\19\0\0\0\ 1\15\15\ 4\0\0\0\12\8f\1f\0\19\0\0\0\0\91\ 1q\ 2®\ 1\19\0\0\0\15øÿÿÿ\fs\ 1\10®\ 1\19\0\0\0\ 5\b\0\0\0\8f\ 1\13®\ 1\19\0\0\0\ 1\13\ 5\10\0\0\0\8b®\ 1\19\0\0\0\ 1\10\15\b\0\0\0\vtª\0\19\0\0\0\0\0\84\0q\13"".(*binaryNode).itemCheck\0\84\0q\14type.method(*"".binaryNode) func() int\0ã\0\1c\0\0\0\91\13q\14E\18\0\0\0\10\0\0\0u\84\0t\15"".n\0\84\0q\16type.*"".binaryNode\0®\ 1\1c\0\0\0\91\15t\16\ 1\10®\ 1\1d\0\0\0\ 5\b\0\0\0\8b\ 1\13®\ 1\1d\0\0\0\ 1u\ 1\15¢\ 1\1d\0\0\0\ 1\13\ 1\15Z\0\1d\0\0\0\0\ 57\0\0\0pr\0\1e\0\0\0\ 1\8b\ 1\15r\0\1e\0\0\0\ 1\15\15\b\0\0\0\vtª\0\1e\0\0\0\0\0®\ 1 \0\0\0\ 5\b\0\0\0\8b\ 1\18\84\0\8f\17"".n\0®\ 1 \0\0\0\ 1\18\11\17\8f\1f\0 \0\0\0\0\11\13q\84\0t\18"".n\0®\ 1 \0\0\0\91\18t\16\ 1\10r\0 \0\0\0\ 5\b\0\0\0\8f\ 1\13 \0 \0\0\0\ 1\8b\ 1\13\84\0s\19"".autotmp_0009\0r\0 \0\0\0\ 1\13\15üÿÿÿ\19s®\ 1 \0\0\0\ 5\10\0\0\0\8b\ 1\18\84\0\8f\1a"".n\0®\ 1 \0\0\0\ 1\18\11\1a\8f\1f\0 \0\0\0\0\11\13qr\0 \0\0\0\ 5\b\0\0\0\8f\ 1\13r\0 \0\0\0\15üÿÿÿ\19s\ 1\15Ý\0 \0\0\0\ 1\13\ 1\15r\0 \0\0\0\ 1\15\15\b\0\0\0\vtª\0 \0\0\0\0\0\84\0q\e"".binarytree\0\84\0q\1ctype.func(int)\0ã\0%\0\0\0\91\eq\1cE0\0\0\0\b\0\0\0u\84\0t\1d"".n\0r\0%\0\0\0\91\1dt\ 4\ 1\10&\0'\0\0\0\ 1\10\ 5\ 6\0\0\0uR\0'\0\0\0\0\ 5K\0\0\0pr\0(\0\0\0\ 5\ 6\0\0\0u\81\10\ 4r\0*\0\0\0\81\10\ 4\ 1\13\84\0s\1e"".maxDepth\0r\0*\0\0\0\ 1\10\95ìÿÿÿ\1es\ 4D\0*\0\0\0\0\ 1\13r\0,\0\0\0\ 1u\11\10\8fr\0,\0\0\0\ 1\13\15\ 4\0\0\0\12\8f\1f\0,\0\0\0\0\91\ 1q\ 2®\ 1,\0\0\0\ 5\b\0\0\0\8f\ 1\13\84\0\8f\1f"".n\0®\ 1,\0\0\0\ 1\13\11\1f\8f\1f\0,\0\0\0\0\11\13qr\0,\0\0\0\ 5\b\0\0\0\8f\ 1\13r\0/\0\0\0\ 1u\11\10\8fr\0/\0\0\0\95ìÿÿÿ\1es\ 4\ 1\13r\0/\0\0\0\ 1\13\15\ 4\0\0\0\12\8f\1f\0/\0\0\0\0\91\ 1q\ 2®\ 1/\0\0\0\ 5\b\0\0\0\8f\ 1\13\84\0s "".longLivedTree\0®\ 1/\0\0\0\ 1\13\95øÿÿÿ s\16r\01\0\0\0\ 5\ 4\0\0\0u\81\12\ 4Y\01\0\0\0\0\ 5^\0\0\0p \01\0\0\0\ 5\ 2\0\0\0u\81\12\ 4r\01\0\0\0\95ìÿÿÿ\1es\ 4\ 1\15&\01\0\0\0\ 1\12\ 1\15S\01\0\0\0\0\ 5\8b\0\0\0p®\ 12\0\0\0\ 1\11\ 1\13r\02\0\0\0\95ìÿÿÿ\1es\ 4\ 1\11Ý\02\0\0\0\ 1\12\ 1\11 \02\0\0\0\ 5\ 4\0\0\0u\ 1\11r\02\0\0\0\ 5\ 1\0\0\0u\ 1\15&\02\0\0\0\ 1\11\ 5 \0\0\0uO\02\0\0\0\0\ 5i\0\0\0pr\02\0\0\0\ 1u\ 1\15Ñ\02\0\0\0\ 1\11\ 1\15®\ 12\0\0\0\ 1\13\ 1\11\84\0s!"".iterations\0r\02\0\0\0\ 1\15\95äÿÿÿ!s\ 4\84\0s""".check\0r\03\0\0\0\ 1u\95ôÿÿÿ"s\ 4r\05\0\0\0\ 5\ 1\0\0\0u\81\10\ 4Y\05\0\0\0\0\ 5p\0\0\0pD\05\0\0\0\0\81\10\ 4r\05\0\0\0\95äÿÿÿ!s\ 4\ 1\15&\05\0\0\0\ 1\10\ 1\15S\05\0\0\0\0\ 5]\0\0\0p\84\0s#"".i\0r\06\0\0\0\ 1\10\95ðÿÿÿ#s\ 4r\06\0\0\0\ 1\10\11\10\8f\84\0s$"".depth\0r\06\0\0\0\ 1\12\95èÿÿÿ$s\ 4\84\0\8f%"".depth\0r\06\0\0\0\ 1\12\15\ 4\0\0\0%\8f\1f\06\0\0\0\0\91\ 1q\ 2®\ 16\0\0\0\ 5\b\0\0\0\8f\ 1\15®\ 16\0\0\0\ 1\15\11\1f\8f\1f\06\0\0\0\0\11\13qr\06\0\0\0\ 5\b\0\0\0\8f\ 1\13 \06\0\0\0\ 1\13\95ôÿÿÿ"s\ 4r\07\0\0\0\95ðÿÿÿ#s\ 4\ 1\15\86\07\0\0\0\0\ 1\15r\07\0\0\0\ 1\15\11\10\8f\84\0s&"".depth\0r\07\0\0\0\95èÿÿÿ&s\ 4\ 1\15\84\0\8f'"".depth\0r\07\0\0\0\ 1\15\15\ 4\0\0\0'\8f\1f\07\0\0\0\0\91\ 1q\ 2®\ 17\0\0\0\ 5\b\0\0\0\8f\ 1\15®\ 17\0\0\0\ 1\15\11\1f\8f\1f\07\0\0\0\0\11\13q\84\0s("".depth\0r\07\0\0\0\95èÿÿÿ(s\ 4\ 1\12r\07\0\0\0\95ðÿÿÿ#s\ 4\ 1\10r\07\0\0\0\ 5\b\0\0\0\8f\ 1\13 \07\0\0\0\ 1\13\95ôÿÿÿ"s\ 4Y\05\0\0\0\0\ 5o\0\0\0p®\ 1;\0\0\0\95øÿÿÿ s\16\ 1\13®\ 1;\0\0\0\ 1\13\11\1f\8f\1f\0;\0\0\0\0\11\13qª\0=\0\0\0\0\0\84\0q)"".BenchmarkBinaryTree17\0\84\0q*type.func(*testing.B)\0ã\0?\0\0\0\91)q*E\10\0\0\0\b\0\0\0ur\0@\0\0\0\ 1u\81\10\ 4Y\0@\0\0\0\0\ 5\93\0\0\0pD\0@\0\0\0\0\81\10\ 4\84\0t+"".b\0\84\0q,type.*testing.B\0®\ 1@\0\0\0\91+t,\ 1\15r\0@\0\0\0\ 5P\0\0\0\90\ 1\13r\0@\0\0\0\ 1\10\95üÿÿÿ#s\ 4&\0@\0\0\0\ 1\13\ 1\10U\0@\0\0\0\0\ 5\9c\0\0\0pr\0A\0\0\0\ 5\11\0\0\0u\11\1f\8f\1f\0A\0\0\0\0\91\eq\1cr\0A\0\0\0\95üÿÿÿ#s\ 4\ 1\10Y\0@\0\0\0\0\ 5\92\0\0\0pª\0C\0\0\0\0\0\84\0q-"".fannkuch\0\84\0q.type.func(int) int\0ã\0O\0\0\0\91-q.E`\0\0\0\10\0\0\0u\84\0t/"".n\0r\0O\0\0\0\91/t\ 4\ 1\10&\0P\0\0\0\ 1\10\ 5\ 1\0\0\0uR\0P\0\0\0\0\ 5£\0\0\0pr\0Q\0\0\0\ 1u\15\b\0\0\0\vtª\0Q\0\0\0\0\0r\0T\0\0\0\81\10\ 4\ 1\13/\0T\0\0\0\0\ 1\13\84\0s0"".n1\0r\0T\0\0\0\ 1\13\95Ôÿÿÿ0s\ 4\84\0q1type.[]int\0®\ 1U\0\0\0\93q\01x\ 6\11\a\8f¯\ 1U\0\0\0\ 1\10\ 1\13\84\0\8f\ 1runtime.nel\0®\ 1U\0\0\0\ 1\13\15\b\0\0\0\ 1\8f¯\ 1U\0\0\0\ 1\10\ 1\13\84\0\8f\ 2runtime.cap\0®\ 1U\0\0\0\ 1\13\15\10\0\0\0\ 2\8f\84\0q\ 3runtime.makeslice\0\84\0q\ 4type.func(*uint8, int64, int64) []int\0\1f\0U\0\0\0\0\91\ 3q\ 4\84\0q\ 5type.int\0r\0U\0\0\0\91/t\ 5\ 1\10®\ 1U\0\0\0\ 5\18\0\0\0\8f\ 1\13\84\0s\ 6"".perm\0®\ 1U\0\0\0\ 1\13\95àÿÿÿ\ 6s1r\0U\0\0\0\ 5 \0\0\0\8f\ 1\13r\0U\0\0\0\ 1\13\95èÿÿÿ\ 6s1r\0U\0\0\0\ 5$\0\0\0\8f\ 1\13\84\0q\atype.uint8\0\84\0\8f\bruntime.typ\0®\ 1V\0\0\0\93q\01x\a\11\b\8f¯\ 1V\0\0\0\ 1\10\ 1\13®\ 1V\0\0\0\ 1\13\15\b\0\0\0\ 1\8f¯\ 1V\0\0\0\ 1\10\ 1\13®\ 1V\0\0\0\ 1\13\15\10\0\0\0\ 2\8f\1f\0V\0\0\0\0\91\ 3q\ 4r\0V\0\0\0\91/t\ 5\ 1\10®\ 1V\0\0\0\ 5\18\0\0\0\8f\ 1\13\84\0s "".perm1\0®\ 1V\0\0\0\ 1\13\95ðÿÿÿ s1r\0V\0\0\0\ 5 \0\0\0\8f\ 1\13r\0V\0\0\0\ 1\13\95øÿÿÿ s1r\0V\0\0\0\ 5$\0\0\0\8f\ 1\13r\0V\0\0\0\ 1\13\95üÿÿÿ s1®\ 1W\0\0\0\93q\01x\a\11\b\8f¯\ 1W\0\0\0\ 1\10\ 1\13®\ 1W\0\0\0\ 1\13\15\b\0\0\0\ 1\8f¯\ 1W\0\0\0\ 1\10\ 1\13®\ 1W\0\0\0\ 1\13\15\10\0\0\0\ 2\8f\1f\0W\0\0\0\0\91\ 3q\ 4®\ 1W\0\0\0\95àÿÿÿ\ 6s1\ 1\12r\0W\0\0\0\95èÿÿÿ\ 6s1\ 1\11®\ 1W\0\0\0\ 5\18\0\0\0\8f\ 1\1dr\0W\0\0\0\ 5 \0\0\0\8f\ 1\1cr\0W\0\0\0\ 5$\0\0\0\8f\ 1\13r\0Y\0\0\0\ 1u\81\10\ 5Y\0Y\0\0\0\0\ 5Í\0\0\0pD\0Y\0\0\0\0\81\10\ 5r\0Y\0\0\0\91/t\ 5\ 1\15&\0Y\0\0\0\ 1\10\ 1\15R\0Y\0\0\0\0\ 5×\0\0\0p¯\ 1Z\0\0\0\ 1\10\ 1\13&\0Z\0\0\0\ 1\13\95øÿÿÿ s1O\0Z\0\0\0\0\ 5Ô\0\0\0p\84\0q
+runtime.panicindex\0\1f\0Z\0\0\0\0\11
+q®\ 1Z\0\0\0\95ðÿÿÿ s1\ 1\15r\0Z\0\0\0\ 1\10\ 3\13\ 4\90Y\0Y\0\0\0\0\ 5Ì\0\0\0pr\0]\0\0\0\91/t\ 5\ 1\10\84\0s\v"".didpr\0r\0^\0\0\0\ 1u\95Ìÿÿÿ\vs\ 5\84\0s\f"".flipsMax\0r\0_\0\0\0\ 1u\95Ðÿÿÿ\fs\ 5r\0a\0\0\0\95Ìÿÿÿ\vs\ 5\ 1\13&\0a\0\0\0\ 1\13\ 5\1e\0\0\0uR\0a\0\0\0\0\ 5à\0\0\0pD\0b\0\0\0\0\95Ìÿÿÿ\vs\ 5Y\0a\0\0\0\0\ 5à\0\0\0p/\0d\0\0\0\0\81\10\ 5&\0d\0\0\0\ 1\10\ 5\ 1\0\0\0uQ\0d\0\0\0\0\ 5ë\0\0\0pr\0e\0\0\0\81\10\ 5\ 1\13/\0e\0\0\0\0\ 1\13¯\ 1e\0\0\0\ 1\13\ 1\13&\0e\0\0\0\ 1\13\81\1c1O\0e\0\0\0\0\ 5è\0\0\0p\1f\0e\0\0\0\0\11
+q®\ 1e\0\0\0\81\1d1\ 1\15r\0e\0\0\0\ 1\10\ 3\13\ 4\90Y\0d\0\0\0\0\ 5ß\0\0\0p«\ 1h\0\0\0\95ðÿÿÿ s1\ 1\15&\0h\0\0\0\ 5\b\0\0\0\90\ 1uT\0h\0\0\0\0\ 5ï\0\0\0p\1f\0h\0\0\0\0\11
+q®\ 1h\0\0\0\ 1\90\ 1\15r\0h\0\0\0\ 1\90\ 1\13&\0h\0\0\0\ 1\13\ 1uQ\0h\0\0\0\0\ 5M\ 1\0\0pr\0h\0\0\0\95Ôÿÿÿ0s\ 5\ 1\15¯\ 1h\0\0\0\ 1\15\ 1\15&\0h\0\0\0\ 1\15\95øÿÿÿ s1O\0h\0\0\0\0\ 5ø\0\0\0p\1f\0h\0\0\0\0\11
+q®\ 1h\0\0\0\95ðÿÿÿ s1\ 1\18r\0h\0\0\0\ 3\15\ 4\93\ 1\13r\0h\0\0\0\95Ôÿÿÿ0s\ 5\ 1\15&\0h\0\0\0\ 1\13\ 1\15Q\0h\0\0\0\0\ 5M\ 1\0\0p\84\0s\r"".flips\0r\0i\0\0\0\ 1u\95Øÿÿÿ\rs\ 5r\0j\0\0\0\ 5\ 1\0\0\0u\81\16\ 5Y\0j\0\0\0\0\ 5\ 1\ 1\0\0pD\0j\0\0\0\0\81\16\ 5r\0j\0\0\0\91/t\ 5\ 1\15&\0j\0\0\0\ 1\16\ 1\15R\0j\0\0\0\0\ 5\11\ 1\0\0p¯\ 1k\0\0\0\ 1\16\ 1\13&\0k\0\0\0\ 1\13\81\111O\0k\0\0\0\0\ 5\b\ 1\0\0p\1f\0k\0\0\0\0\11
+q®\ 1k\0\0\0\81\121\ 1\15¯\ 1k\0\0\0\ 1\16\ 1\19&\0k\0\0\0\ 1\19\95øÿÿÿ s1O\0k\0\0\0\0\ 5\r\ 1\0\0p\1f\0k\0\0\0\0\11
+q®\ 1k\0\0\0\95ðÿÿÿ s1\ 1\1ar\0k\0\0\0\ 3\19\ 4\95\ 1\18r\0k\0\0\0\ 1\18\ 3\13\ 4\90Y\0j\0\0\0\0\ 5\0\ 1\0\0p«\ 1m\0\0\0\95ðÿÿÿ s1\ 1\13&\0m\0\0\0\ 5\b\0\0\0\8e\ 1uT\0m\0\0\0\0\ 5\15\ 1\0\0p\1f\0m\0\0\0\0\11
+q®\ 1m\0\0\0\ 1\8e\ 1\13r\0m\0\0\0\ 1\8e\ 1\er\0o\0\0\0\81\e\ 5\ 1\16/\0o\0\0\0\0\ 1\16r\0o\0\0\0\ 5\ 1\0\0\0u\81\17\ 5Y\0o\0\0\0\0\ 5\1d\ 1\0\0pD\0o\0\0\0\0\ 1\17/\0o\0\0\0\0\ 1\16&\0o\0\0\0\ 1\17\ 1\16R\0o\0\0\0\0\ 57\ 1\0\0p¯\ 1p\0\0\0\ 1\17\ 1\13&\0p\0\0\0\ 1\13\81\111O\0p\0\0\0\0\ 5#\ 1\0\0p\1f\0p\0\0\0\0\11
+qr\0p\0\0\0\ 3\13\ 4\8d\ 1\18\84\0s\ e"".autotmp_0014\0r\0p\0\0\0\ 1\18\15Üÿÿÿ\ es¯\ 1p\0\0\0\ 1\17\ 1\13&\0p\0\0\0\ 1\13\81\111O\0p\0\0\0\0\ 5)\ 1\0\0p\1f\0p\0\0\0\0\11
+q®\ 1p\0\0\0\81\121\ 1\15¯\ 1p\0\0\0\ 1\16\ 1\19&\0p\0\0\0\ 1\19\81\111O\0p\0\0\0\0\ 5.\ 1\0\0p\1f\0p\0\0\0\0\11
+qr\0p\0\0\0\ 3\19\ 4\8d\ 1\18r\0p\0\0\0\ 1\18\ 3\13\ 4\90¯\ 1p\0\0\0\ 1\16\ 1\13&\0p\0\0\0\ 1\13\81\111O\0p\0\0\0\0\ 54\ 1\0\0p\1f\0p\0\0\0\0\11
+qr\0p\0\0\0\15Üÿÿÿ\ es\ 1\18r\0p\0\0\0\ 1\18\ 3\13\ 4\8dY\0o\0\0\0\0\ 5\e\ 1\0\0pD\0r\0\0\0\0\95Øÿÿÿ\rs\ 5¯\ 1t\0\0\0\ 1\e\ 1\13&\0t\0\0\0\ 1\13\81\111O\0t\0\0\0\0\ 5<\ 1\0\0p\1f\0t\0\0\0\0\11
+qr\0t\0\0\0\ 3\13\ 4\8d\ 1\16¯\ 1u\0\0\0\ 1\e\ 1\13&\0u\0\0\0\ 1\13\81\111O\0u\0\0\0\0\ 5A\ 1\0\0p\1f\0u\0\0\0\0\11
+qr\0u\0\0\0\ 1\e\ 3\13\ 4\8dr\0v\0\0\0\ 1\16\81\e\ 5&\0w\0\0\0\ 1\16\ 1uZ\0w\0\0\0\0\ 5\17\ 1\0\0pr\0{\0\0\0\95Ðÿÿÿ\fs\ 5\ 1\13r\0{\0\0\0\95Øÿÿÿ\rs\ 5\ 1\15&\0{\0\0\0\ 1\13\ 1\15R\0{\0\0\0\0\ 5M\ 1\0\0pr\0|\0\0\0\95Øÿÿÿ\rs\ 5\ 1\13r\0|\0\0\0\ 1\13\95Ðÿÿÿ\fs\ 5Y\0{\0\0\0\0\ 5M\ 1\0\0pD\0\80\0\0\0\0\81\10\ 5r\0\80\0\0\0\91/t\ 5\ 1\15&\0\80\0\0\0\ 1\10\ 1\15R\0\80\0\0\0\0\ 5~\ 1\0\0p«\ 1\82\0\0\0\95ðÿÿÿ s1\ 1\13&\0\82\0\0\0\ 5\b\0\0\0\8e\ 1uT\0\82\0\0\0\0\ 5T\ 1\0\0p\1f\0\82\0\0\0\0\11
+q®\ 1\82\0\0\0\ 1\8e\ 1\13r\0\82\0\0\0\ 1\8e\ 1\17r\0\83\0\0\0\ 1u\81\16\ 5Y\0\83\0\0\0\0\ 5Y\ 1\0\0pD\0\83\0\0\0\0\81\16\ 5&\0\83\0\0\0\ 1\16\ 1\10R\0\83\0\0\0\0\ 5j\ 1\0\0p¯\ 1\84\0\0\0\ 1\16\ 1\13&\0\84\0\0\0\ 1\13\95øÿÿÿ s1O\0\84\0\0\0\0\ 5_\ 1\0\0p\1f\0\84\0\0\0\0\11
+q®\ 1\84\0\0\0\95ðÿÿÿ s1\ 1\15r\0\84\0\0\0\81\16\ 5\ 1\19D\0\84\0\0\0\0\ 1\19¯\ 1\84\0\0\0\ 1\19\ 1\19&\0\84\0\0\0\ 1\19\95øÿÿÿ s1O\0\84\0\0\0\0\ 5f\ 1\0\0p\1f\0\84\0\0\0\0\11
+q®\ 1\84\0\0\0\95ðÿÿÿ s1\ 1\1ar\0\84\0\0\0\ 3\19\ 4\95\ 1\18r\0\84\0\0\0\ 1\18\ 3\13\ 4\90Y\0\83\0\0\0\0\ 5X\ 1\0\0p¯\ 1\86\0\0\0\ 1\10\ 1\13&\0\86\0\0\0\ 1\13\95øÿÿÿ s1O\0\86\0\0\0\0\ 5n\ 1\0\0p\1f\0\86\0\0\0\0\11
+q®\ 1\86\0\0\0\95ðÿÿÿ s1\ 1\15r\0\86\0\0\0\ 1\17\ 3\13\ 4\90¯\ 1\87\0\0\0\ 1\10\ 1\13&\0\87\0\0\0\ 1\13\81\1c1O\0\87\0\0\0\0\ 5t\ 1\0\0p\1f\0\87\0\0\0\0\11
+q®\ 1\87\0\0\0\81\1d1\ 1\15/\0\87\0\0\0\0\ 3\13\ 4\90¯\ 1\88\0\0\0\ 1\10\ 1\15&\0\88\0\0\0\ 1\15\81\1c1O\0\88\0\0\0\0\ 5z\ 1\0\0p\1f\0\88\0\0\0\0\11
+q®\ 1\88\0\0\0\81\1d1\ 1\18r\0\88\0\0\0\ 3\15\ 4\93\ 1\13&\0\88\0\0\0\ 1\13\ 1uU\0\88\0\0\0\0\ 5L\ 1\0\0pr\0\8c\0\0\0\91/t\ 5\ 1\15&\0\8c\0\0\0\ 1\10\ 1\15Z\0\8c\0\0\0\0\ 5Ú\0\0\0pr\0\8d\0\0\0\95Ðÿÿÿ\fs\ 5\ 1\13\84\0t\ f""..noname\0r\0\8d\0\0\0\ 1\13\15\b\0\0\0\ ftª\0\8d\0\0\0\0\0\84\0q\10"".BenchmarkFannkuch11\0ã\0\93\0\0\0\91\10q*E\18\0\0\0\b\0\0\0ur\0\94\0\0\0\ 1u\81\10\ 5Y\0\94\0\0\0\0\ 5\88\ 1\0\0pD\0\94\0\0\0\0\81\10\ 5®\ 1\94\0\0\0\91+t,\ 1\15r\0\94\0\0\0\ 5P\0\0\0\90\ 1\13r\0\94\0\0\0\ 1\10\95üÿÿÿ#s\ 5&\0\94\0\0\0\ 1\13\ 1\10U\0\94\0\0\0\0\ 5\91\ 1\0\0p\84\0\8f\11"".n\0r\0\95\0\0\0\ 5\v\0\0\0u\11\11\8f\1f\0\95\0\0\0\0\91-q.r\0\95\0\0\0\95üÿÿÿ#s\ 5\ 1\10Y\0\94\0\0\0\0\ 5\87\ 1\0\0pª\0\97\0\0\0\0\0\84\0q\12"".fasta\0\84\0q\13type.func(int) []uint8\0ã\0¢\0\0\0\91\12q\13E\88\ 1\0\0\18\0\0\0u\84\0q\14type."".fastaBuffer\0®\ 1£\0\0\0\93q\0\14x\a\11\b\8f®\ 1£\0\0\0\ 1u\15\b\0\0\0\ 1\8fr\0£\0\0\0\ 5\v\0\0\0u\ 1\13\84\0t\15"".n\0r\0£\0\0\0\91\15t\ 5\ 1\15>\0£\0\0\0\ 1\15\ 1\13¯\ 1£\0\0\0\ 1\13\ 1\13®\ 1£\0\0\0\ 1\13\15\10\0\0\0\ 2\8f\84\0q\16type.func(*uint8, int64, int64) []uint8\0\1f\0£\0\0\0\0\91\ 3q\16®\ 1£\0\0\0\ 5\18\0\0\0\8f\ 1\13\84\0s\17"".out\0®\ 1£\0\0\0\ 1\13\95Àÿÿÿ\17s\14r\0£\0\0\0\ 5 \0\0\0\8f\ 1\13r\0£\0\0\0\ 1\13\95Èÿÿÿ\17s\14r\0£\0\0\0\ 5$\0\0\0\8f\ 1\13r\0£\0\0\0\ 1\13\95Ìÿÿÿ\17s\14\84\0q\18type.[15]"".fastaAcid\0®\ 1µ\0\0\0\93q\0\18x\a\11\b\8f\84\0q\19runtime.new\0\84\0q\1atype.func(*uint8) *[15]"".fastaAcid\0\1f\0µ\0\0\0\0\91\19q\1a®\ 1µ\0\0\0\ 5\b\0\0\0\8f\ 1\13®\ 1µ\0\0\0\ 1\13\ 1\17\84\0q\e"".statictmp_0015\0«\ 1µ\0\0\0\11\eq\ 1\16®\ 1µ\0\0\0\ 5<\0\0\0u\ 1\11¨\0µ\0\0\0\0\0²\ 1µ\0\0\0\0\0\84\0s\1c"".iub\0\84\0q\1dtype.[]"".fastaAcid\0r\0µ\0\0\0\ 5\ f\0\0\0u\95èÿÿÿ\1cs\1dr\0µ\0\0\0\ 5\ f\0\0\0u\95ìÿÿÿ\1cs\1d®\ 1µ\0\0\0\ 1\13\95àÿÿÿ\1cs\1d\84\0q\1etype.[4]"".fastaAcid\0®\ 1¼\0\0\0\93q\0\1ex\a\11\b\8f\84\0q\1ftype.func(*uint8) *[4]"".fastaAcid\0\1f\0¼\0\0\0\0\91\19q\1f®\ 1¼\0\0\0\ 5\b\0\0\0\8f\ 1\13®\ 1¼\0\0\0\ 1\13\ 1\17\84\0q "".statictmp_0017\0«\ 1¼\0\0\0\11 q\ 1\16®\ 1¼\0\0\0\ 5\10\0\0\0u\ 1\11¨\0¼\0\0\0\0\0²\ 1¼\0\0\0\0\0\84\0s!"".homosapiens\0r\0¼\0\0\0\ 5\ 4\0\0\0u\95Øÿÿÿ!s\1dr\0¼\0\0\0\ 5\ 4\0\0\0u\95Üÿÿÿ!s\1d®\ 1¼\0\0\0\ 1\13\95Ðÿÿÿ!s\1d\84\0s""".autotmp_0021\0«\ 1Å\0\0\0\15¡þÿÿ"s\ 1\17®\ 1Å\0\0\0\ 1u\ 1\10®\ 1Å\0\0\0\ 5#\0\0\0u\ 1\11¨\0Å\0\0\0\0\0Æ\ 1Å\0\0\0\0\0®\ 1Å\0\0\0\ 5\a\0\0\0u\ 1\11¨\0Å\0\0\0\0\0Ù\0Å\0\0\0\0\0«\ 1Å\0\0\0\15¡þÿÿ"s\ 1\13®\ 1Å\0\0\0\ 1\13\ 1\17\84\0q#"".statictmp_0019\0«\ 1Å\0\0\0\11#q\ 1\16®\ 1Å\0\0\0\ 5#\0\0\0u\ 1\11¨\0Å\0\0\0\0\0²\ 1Å\0\0\0\0\0\7f\0Å\0\0\0\0\0~\0Å\0\0\0\0\0~\0Å\0\0\0\0\0~\0Å\0\0\0\0\0\84\0s$"".alu\0\84\0q%type.[]uint8\0r\0Å\0\0\0\ 5\1f\ 1\0\0u\95øÿÿÿ$s%r\0Å\0\0\0\ 5\1f\ 1\0\0u\95üÿÿÿ$s%®\ 1Å\0\0\0\ 1\13\95ðÿÿÿ$s%«\ 1Ç\0\0\0\95Àÿÿÿ\17s\14\ 1\13\84\0\8f&"".b\0®\ 1Ç\0\0\0\ 1\13\11&\8f\84\0q'go.string.">ONE Homo sapiens alu\n"\0«\ 1Ç\0\0\0\11'q\ 1\16\84\0\8f("".s\0«\ 1Ç\0\0\0\15\b\0\0\0(\8f\ 1\17²\ 1Ç\0\0\0\0\0²\ 1Ç\0\0\0\0\0\84\0q)"".(*fastaBuffer).WriteString\0\1f\0Ç\0\0\0\0\11)q«\ 1È\0\0\0\95Àÿÿÿ\17s\14\ 1\13\84\0\8f*"".out\0®\ 1È\0\0\0\ 1\13\11*\8f\84\0\8f+"".alu\0«\ 1È\0\0\0\15\b\0\0\0+\8f\ 1\13\84\0s,"".alu\0®\ 1È\0\0\0\95ðÿÿÿ,s%\ 1\15®\ 1È\0\0\0\ 1\15\ 1\8er\0È\0\0\0\95øÿÿÿ,s%\ 1\15r\0È\0\0\0\ 1\15\ 5\b\0\0\0\8er\0È\0\0\0\95üÿÿÿ,s%\ 1\15r\0È\0\0\0\ 1\15\ 5\f\0\0\0\8er\0È\0\0\0\ 5\ 2\0\0\0u\ 1\13r\0È\0\0\0\91\15t\ 5\ 1\15>\0È\0\0\0\ 1\15\ 1\13\84\0\8f-"".n\0r\0È\0\0\0\ 1\13\15\18\0\0\0-\8f\84\0q."".fastaRepeat\0\84\0q/type.func(*"".fastaBuffer, []uint8, int)\0\1f\0È\0\0\0\0\91.q/\84\0s0"".out\0«\ 1É\0\0\0\95Àÿÿÿ0s\14\ 1\13®\ 1É\0\0\0\ 1\13\11&\8f\84\0q1go.string.">TWO IUB ambiguity codes\n"\0«\ 1É\0\0\0\111q\ 1\16«\ 1É\0\0\0\15\b\0\0\0(\8f\ 1\17²\ 1É\0\0\0\0\0²\ 1É\0\0\0\0\0\1f\0É\0\0\0\0\11)q«\ 1Ê\0\0\0\95Àÿÿÿ0s\14\ 1\13\84\0\8f\ 1"".out\0®\ 1Ê\0\0\0\ 1\13\11\ 1\8f\84\0\8f\ 2"".acid\0«\ 1Ê\0\0\0\15\b\0\0\0\ 2\8f\ 1\13®\ 1Ê\0\0\0\95àÿÿÿ\1cs\1d\ 1\15®\ 1Ê\0\0\0\ 1\15\ 1\8er\0Ê\0\0\0\95èÿÿÿ\1cs\1d\ 1\15r\0Ê\0\0\0\ 1\15\ 5\b\0\0\0\8er\0Ê\0\0\0\95ìÿÿÿ\1cs\1d\ 1\15r\0Ê\0\0\0\ 1\15\ 5\f\0\0\0\8er\0Ê\0\0\0\ 5\ 3\0\0\0u\ 1\13\84\0t\ 3"".n\0r\0Ê\0\0\0\91\ 3t\ 5\ 1\15>\0Ê\0\0\0\ 1\15\ 1\13\84\0\8f\ 4"".n\0r\0Ê\0\0\0\ 1\13\15\18\0\0\0\ 4\8f\84\0q\ 5"".fastaRandom\0\84\0q\ 6type.func(*"".fastaBuffer, []"".fastaAcid, int)\0\1f\0Ê\0\0\0\0\91\ 5q\ 6\84\0s\a"".out\0«\ 1Ë\0\0\0\95Àÿÿÿ\as\14\ 1\13®\ 1Ë\0\0\0\ 1\13\11&\8f\84\0q\bgo.string.">THREE Homo sapiens frequency\n"\0«\ 1Ë\0\0\0\11\bq\ 1\16«\ 1Ë\0\0\0\15\b\0\0\0(\8f\ 1\17²\ 1Ë\0\0\0\0\0²\ 1Ë\0\0\0\0\0\1f\0Ë\0\0\0\0\11)q«\ 1Ì\0\0\0\95Àÿÿÿ\as\14\ 1\13\84\0\8f "".out\0®\ 1Ì\0\0\0\ 1\13\11 \8f«\ 1Ì\0\0\0\15\b\0\0\0\ 2\8f\ 1\13®\ 1Ì\0\0\0\95Ðÿÿÿ!s\1d\ 1\15®\ 1Ì\0\0\0\ 1\15\ 1\8er\0Ì\0\0\0\95Øÿÿÿ!s\1d\ 1\15r\0Ì\0\0\0\ 1\15\ 5\b\0\0\0\8er\0Ì\0\0\0\95Üÿÿÿ!s\1d\ 1\15r\0Ì\0\0\0\ 1\15\ 5\f\0\0\0\8er\0Ì\0\0\0\ 5\ 5\0\0\0u\ 1\13\84\0t
+"".n\0\84\0q\vtype.int\0r\0Ì\0\0\0\91
+t\v\ 1\15>\0Ì\0\0\0\ 1\15\ 1\13\84\0\8f\f"".n\0r\0Ì\0\0\0\ 1\13\15\18\0\0\0\f\8f\1f\0Ì\0\0\0\0\91\ 5q\ 6\84\0s\r"".out\0®\ 1Í\0\0\0\95Àÿÿÿ\rs\14\ 1\13®\ 1Í\0\0\0\ 1\13\15\b\0\0\0\ ftr\0Í\0\0\0\95Èÿÿÿ\rs\14\ 1\13r\0Í\0\0\0\ 1\13\15\10\0\0\0\ ftr\0Í\0\0\0\95Ìÿÿÿ\rs\14\ 1\13r\0Í\0\0\0\ 1\13\15\14\0\0\0\ ftª\0Í\0\0\0\0\0\84\0q\ e"".(*fastaBuffer).Flush\0\84\0q\ ftype.method(*"".fastaBuffer) func()\0ã\0Ò\0\0\0\91\ eq\ fE(\0\0\0\b\0\0\0u\84\0q\10type.string\0\84\0q\11type.uint8\0\84\0\8f\12runtime.typ\0®\ 1Ó\0\0\0\93q\0\10x\11\11\12\8f\84\0q\13go.string."flush"\0«\ 1Ó\0\0\0\11\13q\ 1\16\84\0\8f\14runtime.elem\0«\ 1Ó\0\0\0\15\b\0\0\0\14\8f\ 1\17²\ 1Ó\0\0\0\0\0²\ 1Ó\0\0\0\0\0\84\0q\15runtime.convT2E\0\84\0q\16type.func(*uint8, string) interface {}\0\1f\0Ó\0\0\0\0\91\15q\16«\ 1Ó\0\0\0\ 5\18\0\0\0\8f\ 1\16«\ 1Ó\0\0\0\ 1\8f\ 1\17²\ 1Ó\0\0\0\0\0²\ 1Ó\0\0\0\0\0\84\0q\17runtime.panic\0\84\0q\18type.func(interface {})\0\1f\0Ó\0\0\0\0\91\17q\18ª\0Ô\0\0\0\0\0\84\0q\19type.method(*"".fastaBuffer) func(string)\0ã\0Ö\0\0\0\91)q\19E(\0\0\0\18\0\0\0u\84\0t\1a"".b\0\84\0q\etype.*"".fastaBuffer\0®\ 1×\0\0\0\91\1at\e\ 1\15\84\0\8f\1c"".b\0®\ 1×\0\0\0\ 1\15\11\1c\8f\84\0t\1d"".s\0r\0×\0\0\0\95\10\0\0\0\1dt\10\ 1\15r\0×\0\0\0\ 1\15\15\b\0\0\0\f\8f\84\0q\1e"".(*fastaBuffer).NextWrite\0\1f\0×\0\0\0\0\11\1eq«\ 1×\0\0\0\ 5\10\0\0\0\8f\ 1\13®\ 1×\0\0\0\ 1\8e\ 1\12r\0×\0\0\0\ 5\b\0\0\0\8e\ 1\11r\0×\0\0\0\ 5\f\0\0\0\8e\ 1\10\84\0\8f\1fruntime.to\0«\ 1Ø\0\0\0\11\1f\8f\ 1\13®\ 1Ø\0\0\0\ 1\12\ 1\8er\0Ø\0\0\0\ 1\11\ 5\b\0\0\0\8er\0Ø\0\0\0\ 1\10\ 5\f\0\0\0\8e\84\0\8f runtime.fr\0«\ 1Ø\0\0\0\15\10\0\0\0 \8f\ 1\13®\ 1Ø\0\0\0\95\b\0\0\0\1dt\10\ 1\15®\ 1Ø\0\0\0\ 1\15\ 1\8er\0Ø\0\0\0\95\10\0\0\0\1dt\10\ 1\15r\0Ø\0\0\0\ 1\15\ 5\b\0\0\0\8e\84\0q!runtime.slicestringcopy\0\84\0q"type.func([]uint8, string) int\0\1f\0Ø\0\0\0\0\91!q"ª\0Ù\0\0\0\0\0\84\0q#type.method(*"".fastaBuffer) func(int) []uint8\0ã\0Û\0\0\0\91\1eq#E\b\0\0\0 \0\0\0u\84\0t$"".n\0r\0Û\0\0\0\95\b\0\0\0$t\v\ 1\e\84\0t%"".b\0®\ 1Û\0\0\0\91%t\e\ 1\1a®\ 1Ü\0\0\0\ 1\95\ 1\12r\0Ü\0\0\0\ 5\b\0\0\0\95\ 1\13r\0Ü\0\0\0\ 5\f\0\0\0\95\ 1\11\84\0q&type."".fastaBuffer\0r\0Ý\0\0\0\81\13&\ 1\10 \0Ý\0\0\0\ 1\e\ 1\13&\0Ý\0\0\0\ 1\13\ 1\11U\0Ý\0\0\0\0\ 5E\ 2\0\0p\84\0\8f'"".b\0®\ 1Þ\0\0\0\ 1\1a\11'\8f\1f\0Þ\0\0\0\0\11\ eqr\0Þ\0\0\0\95\b\0\0\0$t\v\ 1\e\84\0t("".b\0®\ 1Þ\0\0\0\91(t\e\ 1\1a®\ 1ß\0\0\0\ 1\95\ 1\12r\0ß\0\0\0\ 5\b\0\0\0\95\ 1\10r\0ß\0\0\0\ 5\f\0\0\0\95\ 1\11r\0á\0\0\0\81\10&\ 1\17 \0á\0\0\0\ 1\e\ 1\17®\ 1á\0\0\0\ 1\12\ 1\19r\0á\0\0\0\ 1\11\ 1\16¯\ 1á\0\0\0\ 1\10\ 1\13¯\ 1á\0\0\0\ 1\17\ 1\15°\ 1á\0\0\0\ 1\11\ 1\18¢\ 1á\0\0\0\ 1\15\ 1\18V\0á\0\0\0\0\ 5O\ 2\0\0p\84\0q)runtime.panicslice\0\1f\0á\0\0\0\0\11)q¢\ 1á\0\0\0\ 1\13\ 1\15T\0á\0\0\0\0\ 5N\ 2\0\0pÝ\0á\0\0\0\ 1\13\ 1\15r\0á\0\0\0\ 1\15\81\18&r\0á\0\0\0\ 1\16\ 1\17Ý\0á\0\0\0\ 1\13\ 1\17\9a\ 1á\0\0\0\ 1\19\ 1\13®\ 1á\0\0\0\ 1\13\81\16&r\0â\0\0\0\81\10&\ 1\15 \0â\0\0\0\ 1\e\ 1\15r\0â\0\0\0\ 1\11\ 1\10¯\ 1â\0\0\0\ 1\15\ 1\13°\ 1â\0\0\0\ 1\11\ 1\15¢\ 1â\0\0\0\ 1\13\ 1\15V\0â\0\0\0\0\ 5_\ 2\0\0p\1f\0â\0\0\0\0\11)q®\ 1â\0\0\0\ 1\12\ 1\95r\0â\0\0\0\ 1\13\ 5\b\0\0\0\95r\0â\0\0\0\ 1\10\ 5\f\0\0\0\95\84\0t*""..noname\0®\ 1ã\0\0\0\ 1\16\15\10\0\0\0*tr\0ã\0\0\0\ 1\18\15\18\0\0\0*tr\0ã\0\0\0\ 1\17\15\1c\0\0\0*tª\0ã\0\0\0\0\0ã\0è\0\0\0\91.q/E`\0\0\0 \0\0\0u\84\0t+"".alu\0\84\0q,type.[]uint8\0®\ 1è\0\0\0\95\b\0\0\0+t,\ 1\12r\0è\0\0\0\95\10\0\0\0+t,\ 1\11r\0è\0\0\0\95\14\0\0\0+t,\ 1\10®\ 1é\0\0\0\93q\0,x\11\11\12\8f\84\0\8f-runtime.x\0«\ 1é\0\0\0\15\b\0\0\0-\8f\ 1\13®\ 1é\0\0\0\ 1\12\ 1\8er\0é\0\0\0\ 1\11\ 5\b\0\0\0\8er\0é\0\0\0\ 1\10\ 5\f\0\0\0\8e\84\0\8f.runtime.y\0«\ 1é\0\0\0\15\18\0\0\0.\8f\ 1\13®\ 1é\0\0\0\ 1\12\ 1\8er\0é\0\0\0\ 1\11\ 5\b\0\0\0\8er\0é\0\0\0\ 1\10\ 5\f\0\0\0\8e\84\0q/runtime.appendslice\0\84\0q0type.func(*uint8, []uint8, []uint8) []uint8\0\1f\0é\0\0\0\0\91/q0r\0é\0\0\0\95\18\0\0\0$t\v\ 1\12®\ 1é\0\0\0\ 5(\0\0\0\8f\ 1\13\84\0s1"".buf\0®\ 1é\0\0\0\ 1\13\95àÿÿÿ1s,r\0é\0\0\0\ 50\0\0\0\8f\ 1\13r\0é\0\0\0\ 1\13\95èÿÿÿ1s,r\0é\0\0\0\ 54\0\0\0\8f\ 1\13r\0é\0\0\0\ 1\13\95ìÿÿÿ1s,\84\0s\ 1"".off\0r\0ê\0\0\0\ 1u\95Øÿÿÿ\ 1s\v&\0ë\0\0\0\ 1\12\ 1uU\0ë\0\0\0\0\ 5·\ 2\0\0pr\0ì\0\0\0\ 1\12\95\18\0\0\0$t\vr\0ì\0\0\0\ 1\12\81\10\v&\0í\0\0\0\ 1\12\ 5<\0\0\0uU\0í\0\0\0\0\ 5\83\ 2\0\0pr\0î\0\0\0\ 5<\0\0\0u\81\10\v\84\0t\ 2"".out\0®\ 1ð\0\0\0\91\ 2t\e\ 1\15\84\0\8f\ 3"".b\0®\ 1ð\0\0\0\ 1\15\11\ 3\8fr\0ð\0\0\0\81\10\v\ 1\15\84\0s\ 4"".m\0r\0ð\0\0\0\ 1\10\95Üÿÿÿ\ 4s\vD\0ð\0\0\0\0\ 1\15\84\0\8f\ 5"".n\0r\0ð\0\0\0\ 1\15\15\b\0\0\0\ 5\8f\1f\0ð\0\0\0\0\11\1eqr\0ð\0\0\0\95èÿÿÿ1s,\ 1\10«\ 1ð\0\0\0\ 5\10\0\0\0\8f\ 1\13®\ 1ð\0\0\0\ 1\8e\ 1\18r\0ð\0\0\0\ 5\b\0\0\0\8e\ 1\17r\0ð\0\0\0\ 5\f\0\0\0\8e\ 1\16r\0ñ\0\0\0\95Øÿÿÿ\ 1s\v\ 1\13¯\ 1ñ\0\0\0\ 1\13\ 1\13°\ 1ñ\0\0\0\81\10,\ 1\15¢\ 1ñ\0\0\0\ 1\13\ 1\15V\0ñ\0\0\0\0\ 5\95\ 2\0\0p\1f\0ñ\0\0\0\0\11)qr\0ñ\0\0\0\81\10,\ 1\12Ý\0ñ\0\0\0\ 1\13\ 1\12r\0ñ\0\0\0\95ìÿÿÿ1s,\ 1\11Ý\0ñ\0\0\0\ 1\13\ 1\11\9a\ 1ñ\0\0\0\95àÿÿÿ1s,\ 1\13®\ 1ñ\0\0\0\ 1\13\ 1\10«\ 1ñ\0\0\0\15\10\0\0\0 \8f\ 1\13®\ 1ñ\0\0\0\ 1\10\ 1\8er\0ñ\0\0\0\ 1\12\ 5\b\0\0\0\8er\0ñ\0\0\0\ 1\11\ 5\f\0\0\0\8e«\ 1ñ\0\0\0\11\1f\8f\ 1\13\84\0s\ 6"".buf1\0®\ 1ñ\0\0\0\ 1\18\95ðÿÿÿ\ 6s,®\ 1ñ\0\0\0\ 1\18\ 1\8er\0ñ\0\0\0\ 1\17\95øÿÿÿ\ 6s,r\0ñ\0\0\0\ 1\17\ 5\b\0\0\0\8er\0ñ\0\0\0\ 1\16\ 5\f\0\0\0\8e\84\0\8f\aruntime.wid\0r\0ñ\0\0\0\ 5\ 1\0\0\0u\15 \0\0\0\a\8f\84\0q\bruntime.copy\0\84\0q type.func([]uint8, []uint8, uint32) int\0\1f\0ñ\0\0\0\0\91\bq \84\0t
+"".n\0r\0ñ\0\0\0\95\18\0\0\0
+t\v\ 1\12r\0ñ\0\0\0\95\10\0\0\0+t,\ 1\11r\0ñ\0\0\0\95Üÿÿÿ\ 4s\v\ 1\10¯\ 1ò\0\0\0\ 1\10\ 1\13&\0ò\0\0\0\ 1\13\95øÿÿÿ\ 6s,O\0ò\0\0\0\0\ 5®\ 2\0\0p\84\0q\vruntime.panicindex\0\1f\0ò\0\0\0\0\11\vq®\ 1ò\0\0\0\95ðÿÿÿ\ 6s,\ 1\15q\0ò\0\0\0\ 5
+\0\0\0u\ 3\13\ 1\90\84\0q\ftype.int\0 \0ó\0\0\0\ 1\10\95Øÿÿÿ\ 1s\fr\0ó\0\0\0\95Øÿÿÿ\ 1s\f\ 1\15&\0ó\0\0\0\ 1\11\ 1\15S\0ó\0\0\0\0\ 5µ\ 2\0\0pÝ\0ô\0\0\0\ 1\11\95Øÿÿÿ\ 1s\fÝ\0ö\0\0\0\ 1\10\81\12\fY\0ë\0\0\0\0\ 5|\ 2\0\0pª\0ø\0\0\0\0\0\84\0q\r"".fastaComputeLookup\0\84\0q\ etype.func([]"".fastaAcid) *[4096]*"".fastaAcid\0ã\0\b\ 1\0\0\91\rq\ eE\10\0\0\0\18\0\0\0u\84\0q\ ftype.[4096]*"".fastaAcid\0®\ 1 \ 1\0\0\93q\0\ fx\11\11\12\8f\84\0q\10runtime.new\0\84\0q\11type.func(*uint8) *[4096]*"".fastaAcid\0\1f\0 \ 1\0\0\0\91\10q\11®\ 1 \ 1\0\0\ 5\b\0\0\0\8f\ 1\16\15\ 2
+\ 1\0\0\b\0\0\0\0\0\0\0\0\ 14\84\0q\12type.float64\0\15\ 2
+\ 1\0\0\ 14\819\12r\0\v\ 1\0\0\ 1u\ 1\11\84\0t\13"".acid\0\84\0q\14type.[]"".fastaAcid\0r\0\v\ 1\0\0\95\b\0\0\0\13t\14\ 1\17Y\0\v\ 1\0\0\0\ 5Â\ 2\0\0pD\0\v\ 1\0\0\0\ 1\11&\0\v\ 1\0\0\ 1\11\ 1\17R\0\v\ 1\0\0\0\ 5ó\ 2\0\0pr\0\v\ 1\0\0\ 1\11\81\10\f«\ 1\f\ 1\0\0\91\13t\14\ 1\13¯\ 1\f\ 1\0\0\ 1\11\ 1\15&\0\f\ 1\0\0\ 1\15\ 5\b\0\0\0\8eO\0\f\ 1\0\0\0\ 5Ê\ 2\0\0p\1f\0\f\ 1\0\0\0\11\vq®\ 1\f\ 1\0\0\ 1\8e\ 1\13>\0\f\ 1\0\0\ 5 \0\0\0u\ 1\15\9a\ 1\f\ 1\0\0\ 1\15\ 1\13\15\ 2\f\ 1\0\0\ 5\b\0\0\0\8e\ 14\15\ 2\f\ 1\0\0\819\12\ 15Î\ 1\f\ 1\0\0\ 14\ 15\15\ 2\f\ 1\0\0\ 15\819\12«\ 1\r\ 1\0\0\91\13t\14\ 1\13¯\ 1\r\ 1\0\0\ 1\10\ 1\15&\0\r\ 1\0\0\ 1\15\ 5\b\0\0\0\8eO\0\r\ 1\0\0\0\ 5Ö\ 2\0\0p\1f\0\r\ 1\0\0\0\11\vq®\ 1\r\ 1\0\0\ 1\8e\ 1\13>\0\r\ 1\0\0\ 5 \0\0\0u\ 1\15\9a\ 1\r\ 1\0\0\ 1\15\ 1\13\15\ 2\r\ 1\0\0\819\12\ 14\15\ 2\r\ 1\0\0\b\0\0\0\0\0þ¯@\ 15\e\ 2\r\ 1\0\0\ 15\ 14\15\ 2\r\ 1\0\0\ 14\ 5\10\0\0\0\8e&\0\ e\ 1\0\0\ 1\10\ 1uU\0\ e\ 1\0\0\0\ 5Á\ 2\0\0pr\0\ f\ 1\0\0\81\10\f\ 1\12/\0\ f\ 1\0\0\0\ 1\12«\ 1\ f\ 1\0\0\91\13t\14\ 1\13¯\ 1\ f\ 1\0\0\ 1\12\ 1\15&\0\ f\ 1\0\0\ 1\15\ 5\b\0\0\0\8eO\0\ f\ 1\0\0\0\ 5æ\ 2\0\0p\1f\0\ f\ 1\0\0\0\11\vq®\ 1\ f\ 1\0\0\ 1\8e\ 1\13>\0\ f\ 1\0\0\ 5 \0\0\0u\ 1\15\9a\ 1\ f\ 1\0\0\ 1\15\ 1\13«\ 1\ f\ 1\0\0\91\13t\14\ 1\15¯\ 1\ f\ 1\0\0\ 1\10\ 1\18&\0\ f\ 1\0\0\ 1\18\ 5\b\0\0\0\90O\0\ f\ 1\0\0\0\ 5î\ 2\0\0p\1f\0\ f\ 1\0\0\0\11\vq®\ 1\ f\ 1\0\0\ 1\90\ 1\15>\0\ f\ 1\0\0\ 5 \0\0\0u\ 1\18\9a\ 1\ f\ 1\0\0\ 1\18\ 1\15®\ 1\ f\ 1\0\0\ 1\15\ 5\18\0\0\0\8eY\0\ e\ 1\0\0\0\ 5Á\ 2\0\0pr\0\12\ 1\0\0\95\b\0\0\0\13t\14\ 1\10/\0\12\ 1\0\0\0\ 1\10«\ 1\12\ 1\0\0\91\13t\14\ 1\13¯\ 1\12\ 1\0\0\ 1\10\ 1\15&\0\12\ 1\0\0\ 1\15\ 5\b\0\0\0\8eO\0\12\ 1\0\0\0\ 5ú\ 2\0\0p\1f\0\12\ 1\0\0\0\11\vq®\ 1\12\ 1\0\0\ 1\8e\ 1\13>\0\12\ 1\0\0\ 5 \0\0\0u\ 1\15\9a\ 1\12\ 1\0\0\ 1\15\ 1\13\15\ 2\12\ 1\0\0\b\0\0\0\0\0þ¯@\ 14\15\ 2\12\ 1\0\0\ 14\ 5\10\0\0\0\8er\0\14\ 1\0\0\ 1u\81\10\fr\0\15\ 1\0\0\ 1u\ 1\12r\0\15\ 1\0\0\ 5\0\10\0\0u\ 1\17Y\0\15\ 1\0\0\0\ 5\ 4\ 3\0\0pD\0\15\ 1\0\0\0\ 1\12&\0\15\ 1\0\0\ 1\12\ 1\17R\0\15\ 1\0\0\0\ 5%\ 3\0\0pr\0\15\ 1\0\0\ 1\12\81\11\f«\ 1\16\ 1\0\0\91\13t\14\ 1\13¯\ 1\16\ 1\0\0\ 1\10\ 1\15&\0\16\ 1\0\0\ 1\15\ 5\b\0\0\0\8eO\0\16\ 1\0\0\0\ 5\f\ 3\0\0p\1f\0\16\ 1\0\0\0\11\vq®\ 1\16\ 1\0\0\ 1\8e\ 1\13>\0\16\ 1\0\0\ 5 \0\0\0u\ 1\15\9a\ 1\16\ 1\0\0\ 1\15\ 1\13\15\ 2\16\ 1\0\0\ 5\10\0\0\0\8e\ 14ã\ 1\16\ 1\0\0\ 1\11\ 16\8a\ 2\16\ 1\0\0\ 14\ 16T\0\16\ 1\0\0\0\ 5\14\ 3\0\0pY\0\16\ 1\0\0\0\ 5\16\ 3\0\0pD\0\17\ 1\0\0\0\81\10\fY\0\16\ 1\0\0\0\ 5\a\ 3\0\0p®\ 1\19\ 1\0\0\ 1\16\ 1\13¯\ 1\19\ 1\0\0\ 1\11\ 1\15&\0\19\ 1\0\0\ 1\15\ 5\0\10\0\0uO\0\19\ 1\0\0\0\ 5\e\ 3\0\0p\1f\0\19\ 1\0\0\0\11\vq«\ 1\19\ 1\0\0\91\13t\14\ 1\18¯\ 1\19\ 1\0\0\ 1\10\ 1\19&\0\19\ 1\0\0\ 1\19\ 5\b\0\0\0\93O\0\19\ 1\0\0\0\ 5 \ 3\0\0p\1f\0\19\ 1\0\0\0\11\vq®\ 1\19\ 1\0\0\ 1\93\ 1\18>\0\19\ 1\0\0\ 5 \0\0\0u\ 1\19\9a\ 1\19\ 1\0\0\ 1\19\ 1\18®\ 1\19\ 1\0\0\ 1\18\ 3\15\b\8eY\0\15\ 1\0\0\0\ 5\ 3\ 3\0\0p®\ 1\1c\ 1\0\0\ 1\16\15\10\0\0\0*tª\0\1c\ 1\0\0\0\0\84\0q\15"".fastaRandom\0\84\0q\16type.func(*"".fastaBuffer, []"".fastaAcid, int)\0ã\0\1f\ 1\0\0\91\15q\16E0\0\0\0 \0\0\0u\84\0\8f\17"".acid\0«\ 1%\ 1\0\0\11\17\8f\ 1\13\84\0t\18"".acid\0®\ 1%\ 1\0\0\95\b\0\0\0\18t\14\ 1\15®\ 1%\ 1\0\0\ 1\15\ 1\8er\0%\ 1\0\0\95\10\0\0\0\18t\14\ 1\15r\0%\ 1\0\0\ 1\15\ 5\b\0\0\0\8er\0%\ 1\0\0\95\14\0\0\0\18t\14\ 1\15r\0%\ 1\0\0\ 1\15\ 5\f\0\0\0\8e\1f\0%\ 1\0\0\0\91\rq\ er\0%\ 1\0\0\95\18\0\0\0
+t\f\ 1\1c®\ 1%\ 1\0\0\ 5\10\0\0\0\8f\ 1\13\84\0s\19"".lookup\0\84\0q\1atype.*[4096]*"".fastaAcid\0®\ 1%\ 1\0\0\ 1\13\95øÿÿÿ\19s\1a&\0&\ 1\0\0\ 1\1c\ 1uU\0&\ 1\0\0\0\ 5\80\ 3\0\0pr\0'\ 1\0\0\ 1\1c\95\18\0\0\0
+t\fr\0'\ 1\0\0\ 1\1c\81\10\f&\0(\ 1\0\0\ 1\1c\ 5<\0\0\0uU\0(\ 1\0\0\0\ 5:\ 3\0\0pr\0)\ 1\0\0\ 5<\0\0\0u\81\10\f®\ 1+\ 1\0\0\91\ 2t\e\ 1\15®\ 1+\ 1\0\0\ 1\15\11\ 3\8fr\0+\ 1\0\0\81\10\f\ 1\15r\0+\ 1\0\0\ 1\10\95ôÿÿÿ\ 4s\fD\0+\ 1\0\0\0\ 1\15\84\0\8f\e"".n\0r\0+\ 1\0\0\ 1\15\15\b\0\0\0\e\8f\1f\0+\ 1\0\0\0\11\1eq®\ 1+\ 1\0\0\95øÿÿÿ\19s\1a\ 1\1d\84\0t\1c"".n\0r\0+\ 1\0\0\95\18\0\0\0\1ct\f\ 1\1cr\0+\ 1\0\0\95ôÿÿÿ\ 4s\f\ 1\e«\ 1+\ 1\0\0\ 5\10\0\0\0\8f\ 1\13®\ 1+\ 1\0\0\ 1\8e\ 1\1ar\0+\ 1\0\0\ 5\b\0\0\0\8e\ 1\17r\0+\ 1\0\0\ 5\f\0\0\0\8e\ 1\15\15\ 2,\ 1\0\0\bt¦\96\vwõ\9d?\ 14\15\ 2,\ 1\0\0\ 14\81:\12\84\0q\1d"".fastaRand\0\84\0q\1etype.uint32\0r\0-\ 1\0\0\91\1dq\1e\ 1\11r\0.\ 1\0\0\ 1u\81\16\fY\0.\ 1\0\0\0\ 5N\ 3\0\0pD\0.\ 1\0\0\0\81\16\f&\0.\ 1\0\0\ 1\16\ 1\eR\0.\ 1\0\0\0\ 5x\ 3\0\0pr\0/\ 1\0\0\81\11\1e\ 1\13r\0/\ 1\0\0\ 5%\ f\0\0u\ 1\15>\0/\ 1\0\0\ 1\15\ 1\13 \0/\ 1\0\0\ 5\85s\0\0u\ 1\13r\0/\ 1\0\0\ 1\13\ 1\18r\0/\ 1\0\0\ 5\81V÷\1du\ 1\10\82\0/\ 1\0\0\ 1\13\0Ô\0/\ 1\0\0\ 5\ e\0\0\0u\ 1\12r\0/\ 1\0\0\ 1\12\ 1\15>\0/\ 1\0\0\ 5À"\ 2\0u\ 1\15Ý\0/\ 1\0\0\ 1\15\ 1\13r\0/\ 1\0\0\ 1\13\81\11\1eã\ 10\ 1\0\0\ 1\13\ 15\15\ 20\ 1\0\0\ 15\ 14\15\ 20\ 1\0\0\81:\12\ 15\e\ 20\ 1\0\0\ 1:\ 14\15\ 20\ 1\0\0\ 14\819\12ì\ 11\ 1\0\0\ 14\ 1\15¯\ 11\ 1\0\0\ 1\15\ 1\13®\ 11\ 1\0\0\81\1d\1a\ 1\15à\01\ 1\0\0\ 1u\ 1\90&\01\ 1\0\0\ 1\13\ 5\0\10\0\0uO\01\ 1\0\0\0\ 5h\ 3\0\0p\1f\01\ 1\0\0\0\11\vq®\ 11\ 1\0\0\ 3\13\b\90\ 1\18\84\0q\1ftype.*"".fastaAcid\0®\ 11\ 1\0\0\ 1\18\81\10\1f\15\ 22\ 1\0\0\ 5\10\0\0\0\8b\ 14\8a\ 22\ 1\0\0\ 14\ 19T\02\ 1\0\0\0\ 5n\ 3\0\0pY\02\ 1\0\0\0\ 5p\ 3\0\0p®\ 13\ 1\0\0\ 5\18\0\0\0\8b\ 1\10Y\02\ 1\0\0\0\ 5j\ 3\0\0p¯\ 15\ 1\0\0\ 1\16\ 1\13&\05\ 1\0\0\ 1\13\81\17,O\05\ 1\0\0\0\ 5t\ 3\0\0p\1f\05\ 1\0\0\0\11\vq®\ 15\ 1\0\0\81\10\1f\ 1\19q\05\ 1\0\0\ 1\8b\ 1\18q\05\ 1\0\0\ 1\18\ 3\13\ 1\95Y\0.\ 1\0\0\0\ 5M\ 3\0\0pr\07\ 1\0\0\ 1\11\91\1dq\1e¯\ 18\ 1\0\0\ 1\e\ 1\13&\08\ 1\0\0\ 1\13\81\17,O\08\ 1\0\0\0\ 5}\ 3\0\0p\1f\08\ 1\0\0\0\11\vqq\08\ 1\0\0\ 5
+\0\0\0u\ 3\13\ 1\95Ý\09\ 1\0\0\ 1\e\81\1c\fY\0&\ 1\0\0\0\ 53\ 3\0\0pª\0;\ 1\0\0\0\0\84\0q "".gobinit\0\84\0q!type.func()\0ã\0S\ 1\0\0\91 q!\ 5(\ 1\0\0u\84\0q""".jsondata\0\84\0q#type."".JSONResponse\0«\ 1V\ 1\0\0\91"q#\ 1\13\84\0\8f$"".r\0®\ 1V\ 1\0\0\ 1\13\11$\8f\84\0q%"".gobResponse\0\84\0q&type.func(*"".JSONResponse) *"".JSONResponse\0\1f\0V\ 1\0\0\0\91%q&®\ 1V\ 1\0\0\ 5\b\0\0\0\8f\ 1\13\84\0q'"".gobdata\0\84\0q(type.*"".JSONResponse\0®\ 1V\ 1\0\0\ 1\13\91'q(\84\0q)type.bytes.Buffer\0\84\0q*type.uint8\0\84\0\8f+runtime.typ\0®\ 1X\ 1\0\0\93q\0)x*\11+\8f\84\0q,type.func(*uint8) *bytes.Buffer\0\1f\0X\ 1\0\0\0\91\10q,®\ 1X\ 1\0\0\ 5\b\0\0\0\8f\ 1\13\84\0q-type.*bytes.Buffer\0®\ 1Y\ 1\0\0\93q\0-x*\11+\8f\84\0q.type.io.Writer\0\84\0\8f/runtime.typ2\0®\ 1Y\ 1\0\0\93q\0.x*\15\b\0\0\0/\8f\84\0s0"".&buf\0®\ 1Y\ 1\0\0\ 1\13\15\18ÿÿÿ0s\84\0\8f1runtime.elem\0®\ 1Y\ 1\0\0\ 1\13\15\10\0\0\01\8f\84\0q\ 1runtime.convT2I\0\84\0q\ 2type.func(*uint8, *uint8, *bytes.Buffer) io.Writer\0\1f\0Y\ 1\0\0\0\91\ 1q\ 2«\ 1Y\ 1\0\0\ 5\18\0\0\0\8f\ 1\16\84\0\8f\ 3encoding/gob.w\0«\ 1Y\ 1\0\0\11\ 3\8f\ 1\17²\ 1Y\ 1\0\0\0\0²\ 1Y\ 1\0\0\0\0\84\0q\ 4encoding/gob.NewEncoder\0\84\0q\ 5type.func(io.Writer) *encoding/gob.Encoder\0\1f\0Y\ 1\0\0\0\91\ 4q\ 5®\ 1Y\ 1\0\0\ 5\10\0\0\0\8f\ 1\15\84\0s\ 6"".autotmp_0034\0®\ 1Y\ 1\0\0\ 1\15\15Øÿÿÿ\ 6s®\ 1Y\ 1\0\0\93q\0(x*\11+\8f®\ 1Y\ 1\0\0\91'q(\ 1\15®\ 1Y\ 1\0\0\ 1\15\15\b\0\0\01\8f\84\0q\aruntime.convT2E\0\84\0q\btype.func(*uint8, *"".JSONResponse) interface {}\0\1f\0Y\ 1\0\0\0\91\aq\b«\ 1Y\ 1\0\0\ 5\10\0\0\0\8f\ 1\16\84\0\8f encoding/gob.e\0«\ 1Y\ 1\0\0\15\b\0\0\0 \8f\ 1\17²\ 1Y\ 1\0\0\0\0²\ 1Y\ 1\0\0\0\0®\ 1Y\ 1\0\0\15Øÿÿÿ\ 6s\ 1\15\84\0\8f
+encoding/gob.enc\0®\ 1Y\ 1\0\0\ 1\15\11
+\8f\84\0q\vencoding/gob.(*Encoder).Encode\0\1f\0Y\ 1\0\0\0\11\vq«\ 1Y\ 1\0\0\ 5\18\0\0\0\8f\ 1\13®\ 1Y\ 1\0\0\ 1\8e\ 1\15\84\0s\f"".err\0\84\0q\rtype.error\0®\ 1Y\ 1\0\0\ 1\15\95 ÿÿÿ\fs\r®\ 1Y\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1Y\ 1\0\0\ 1\15\95(ÿÿÿ\fs\r«\ 1Y\ 1\0\0\95 ÿÿÿ\fs\r\ 1\13¢\ 1Y\ 1\0\0\ 1\8e\ 1uQ\0Y\ 1\0\0\0\ 5´\ 3\0\0p«\ 1Z\ 1\0\0\111\8f\ 1\13®\ 1Z\ 1\0\0\95 ÿÿÿ\fs\r\ 1\15®\ 1Z\ 1\0\0\ 1\15\ 1\8e®\ 1Z\ 1\0\0\95(ÿÿÿ\fs\r\ 1\15®\ 1Z\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\84\0q\ eruntime.convI2E\0\84\0q\ ftype.func(error) interface {}\0\1f\0Z\ 1\0\0\0\91\ eq\ f«\ 1Z\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1Z\ 1\0\0\ 1\8f\ 1\17²\ 1Z\ 1\0\0\0\0²\ 1Z\ 1\0\0\0\0\84\0q\10runtime.panic\0\84\0q\11type.func(interface {})\0\1f\0Z\ 1\0\0\0\91\10q\11®\ 1\\ 1\0\0\15\18ÿÿÿ0s\ 1\11\84\0s\12""..r0\0\84\0q\13type.[]uint8\0®\ 1\\ 1\0\0\ 1u\95\bÿÿÿ\12s\13r\0\\ 1\0\0\ 1u\95\10ÿÿÿ\12s\13r\0\\ 1\0\0\ 1u\95\14ÿÿÿ\12s\13®\ 1\\ 1\0\0\ 1\8c\ 1\17r\0\\ 1\0\0\ 5\b\0\0\0\8c\ 1\10r\0\\ 1\0\0\ 5\f\0\0\0\8c\ 1\16r\0\\ 1\0\0\ 5\10\0\0\0\8c\ 1\13¯\ 1\\ 1\0\0\ 1\13\ 1\13°\ 1\\ 1\0\0\ 1\10\ 1\15¢\ 1\\ 1\0\0\ 1\13\ 1\15V\0\\ 1\0\0\0\ 5Á\ 3\0\0p\84\0q\14runtime.panicslice\0\1f\0\\ 1\0\0\0\11\14qr\0\\ 1\0\0\ 1\10\ 1\12Ý\0\\ 1\0\0\ 1\13\ 1\12r\0\\ 1\0\0\ 1\16\ 1\15Ý\0\\ 1\0\0\ 1\13\ 1\15\9a\ 1\\ 1\0\0\ 1\17\ 1\13®\ 1\\ 1\0\0\ 1\13\95\bÿÿÿ\12s\13r\0\\ 1\0\0\ 1\12\95\10ÿÿÿ\12s\13r\0\\ 1\0\0\ 1\15\95\14ÿÿÿ\12s\13®\ 1\\ 1\0\0\95\bÿÿÿ\12s\13\ 1\13\84\0q\15"".gobbytes\0®\ 1\\ 1\0\0\ 1\13\91\15q\13r\0\\ 1\0\0\95\10ÿÿÿ\12s\13\ 1\13r\0\\ 1\0\0\ 1\13\95\b\0\0\0\15q\13r\0\\ 1\0\0\95\14ÿÿÿ\12s\13\ 1\13r\0\\ 1\0\0\ 1\13\95\f\0\0\0\15q\13®\ 1^\ 1\0\0\93q\0#x*\11+\8f\84\0q\16runtime.new\0\84\0q\17type.func(*uint8) *"".JSONResponse\0\1f\0^\ 1\0\0\0\91\16q\17®\ 1^\ 1\0\0\ 5\b\0\0\0\8f\ 1\13\84\0s\18"".&r\0®\ 1^\ 1\0\0\ 1\13\15Xÿÿÿ\18s®\ 1_\ 1\0\0\91\15q\13\ 1\13\84\0s\19bytes.buf\0®\ 1_\ 1\0\0\ 1\13\950ÿÿÿ\19s\13r\0_\ 1\0\0\95\b\0\0\0\15q\13\ 1\13r\0_\ 1\0\0\ 1\13\958ÿÿÿ\19s\13r\0_\ 1\0\0\95\f\0\0\0\15q\13\ 1\13r\0_\ 1\0\0\ 1\13\95<ÿÿÿ\19s\13®\ 1_\ 1\0\0\ 1u\95 ÿÿÿ\12s-®\ 1_\ 1\0\0\93q\0)x*\11+\8f\1f\0_\ 1\0\0\0\91\16q,®\ 1_\ 1\0\0\ 5\b\0\0\0\8f\ 1\12®\ 1_\ 1\0\0\ 1\12\ 1\17®\ 1_\ 1\0\0\ 1u\ 1\10®\ 1_\ 1\0\0\ 5\f\0\0\0u\ 1\11¨\0_\ 1\0\0\0\0Æ\ 1_\ 1\0\0\0\0®\ 1_\ 1\0\0\950ÿÿÿ\19s\13\ 1\15®\ 1_\ 1\0\0\ 1\15\ 1\8dr\0_\ 1\0\0\958ÿÿÿ\19s\13\ 1\15r\0_\ 1\0\0\ 1\15\ 5\b\0\0\0\8dr\0_\ 1\0\0\95<ÿÿÿ\19s\13\ 1\15r\0_\ 1\0\0\ 1\15\ 5\f\0\0\0\8d®\ 1_\ 1\0\0\ 1\12\95 ÿÿÿ\12s-®\ 1_\ 1\0\0\93q\0-x*\11+\8f\84\0q\1atype.io.Reader\0®\ 1_\ 1\0\0\93q\0\1ax*\15\b\0\0\0/\8f®\ 1_\ 1\0\0\95 ÿÿÿ\12s-\ 1\15®\ 1_\ 1\0\0\ 1\15\15\10\0\0\01\8f\84\0q\etype.func(*uint8, *uint8, *bytes.Buffer) io.Reader\0\1f\0_\ 1\0\0\0\91\ 1q\e«\ 1_\ 1\0\0\ 5\18\0\0\0\8f\ 1\16\84\0\8f\1cencoding/gob.r\0«\ 1_\ 1\0\0\11\1c\8f\ 1\17²\ 1_\ 1\0\0\0\0²\ 1_\ 1\0\0\0\0\84\0q\1dencoding/gob.NewDecoder\0\84\0q\1etype.func(io.Reader) *encoding/gob.Decoder\0\1f\0_\ 1\0\0\0\91\1dq\1e®\ 1_\ 1\0\0\ 5\10\0\0\0\8f\ 1\15\84\0s\1f"".autotmp_0038\0®\ 1_\ 1\0\0\ 1\15\15Pÿÿÿ\1fs®\ 1_\ 1\0\0\93q\0(x*\11+\8f®\ 1_\ 1\0\0\15Xÿÿÿ\18s\ 1\15®\ 1_\ 1\0\0\ 1\15\15\b\0\0\01\8f\1f\0_\ 1\0\0\0\91\aq\b«\ 1_\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1_\ 1\0\0\15\b\0\0\0 \8f\ 1\17²\ 1_\ 1\0\0\0\0²\ 1_\ 1\0\0\0\0®\ 1_\ 1\0\0\15Pÿÿÿ\1fs\ 1\15\84\0\8f encoding/gob.dec\0®\ 1_\ 1\0\0\ 1\15\11 \8f\84\0q!encoding/gob.(*Decoder).Decode\0\1f\0_\ 1\0\0\0\11!q«\ 1_\ 1\0\0\ 5\18\0\0\0\8f\ 1\13®\ 1_\ 1\0\0\ 1\8e\ 1\15®\ 1_\ 1\0\0\ 1\15\95\80ÿÿÿ\fs\r®\ 1_\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1_\ 1\0\0\ 1\15\95\88ÿÿÿ\fs\r«\ 1_\ 1\0\0\95\80ÿÿÿ\fs\r\ 1\13¢\ 1_\ 1\0\0\ 1\8e\ 1uQ\0_\ 1\0\0\0\ 5\13\ 4\0\0p«\ 1`\ 1\0\0\111\8f\ 1\13®\ 1`\ 1\0\0\95\80ÿÿÿ\fs\r\ 1\15®\ 1`\ 1\0\0\ 1\15\ 1\8e®\ 1`\ 1\0\0\95\88ÿÿÿ\fs\r\ 1\15®\ 1`\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0`\ 1\0\0\0\91\ eq\ f«\ 1`\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1`\ 1\0\0\ 1\8f\ 1\17²\ 1`\ 1\0\0\0\0²\ 1`\ 1\0\0\0\0\1f\0`\ 1\0\0\0\91\10q\11®\ 1b\ 1\0\0\93q\0(x*\11+\8f®\ 1b\ 1\0\0\91'q(\ 1\15®\ 1b\ 1\0\0\ 1\15\15\b\0\0\01\8f\1f\0b\ 1\0\0\0\91\aq\b®\ 1b\ 1\0\0\ 5\10\0\0\0\8f\ 1\15\84\0s""".autotmp_0039\0®\ 1b\ 1\0\0\ 1\15\15\90ÿÿÿ"s®\ 1b\ 1\0\0\ 5\18\0\0\0\8f\ 1\15®\ 1b\ 1\0\0\ 1\15\15\98ÿÿÿ"s®\ 1b\ 1\0\0\93q\0(x*\11+\8f®\ 1b\ 1\0\0\15Xÿÿÿ\18s\ 1\15®\ 1b\ 1\0\0\ 1\15\15\b\0\0\01\8f\1f\0b\ 1\0\0\0\91\aq\b«\ 1b\ 1\0\0\ 5\10\0\0\0\8f\ 1\16\84\0\8f#reflect.a2\0«\ 1b\ 1\0\0\15\10\0\0\0#\8f\ 1\17²\ 1b\ 1\0\0\0\0²\ 1b\ 1\0\0\0\0\84\0\8f$reflect.a1\0«\ 1b\ 1\0\0\11$\8f\ 1\15®\ 1b\ 1\0\0\15\90ÿÿÿ"s\ 1\18®\ 1b\ 1\0\0\ 1\18\ 1\90®\ 1b\ 1\0\0\15\98ÿÿÿ"s\ 1\18®\ 1b\ 1\0\0\ 1\18\ 5\b\0\0\0\90\84\0q%reflect.DeepEqual\0\84\0q&type.func(interface {}, interface {}) bool\0\1f\0b\ 1\0\0\0\91%q&q\0b\ 1\0\0\ 5 \0\0\0\8f\ 1\13%\0b\ 1\0\0\ 1\13\ 1uZ\0b\ 1\0\0\0\ 5·\ 4\0\0p\84\0s'"".autotmp_0042\0«\ 1c\ 1\0\0\15`ÿÿÿ's\ 1\17®\ 1c\ 1\0\0\ 1u\ 1\10®\ 1c\ 1\0\0\ 5\ 4\0\0\0u\ 1\11¨\0c\ 1\0\0\0\0Æ\ 1c\ 1\0\0\0\0«\ 1c\ 1\0\0\15`ÿÿÿ's\ 1\13\84\0s("".autotmp_0040\0r\0c\ 1\0\0\ 5\ 2\0\0\0u\15Ðÿÿÿ(sr\0c\ 1\0\0\ 5\ 2\0\0\0u\15Ôÿÿÿ(s®\ 1c\ 1\0\0\ 1\13\15Èÿÿÿ(s\84\0q)type."".JSONResponse\0®\ 1c\ 1\0\0\93q\0)x*\11+\8f\84\0q*"".jsondata\0«\ 1c\ 1\0\0\91*q)\ 1\16«\ 1c\ 1\0\0\15\b\0\0\01\8f\ 1\17²\ 1c\ 1\0\0\0\0²\ 1c\ 1\0\0\0\0²\ 1c\ 1\0\0\0\0\84\0q+type.func(*uint8, "".JSONResponse) interface {}\0\1f\0c\ 1\0\0\0\91\aq+«\ 1c\ 1\0\0\ 5 \0\0\0\8f\ 1\16«\ 1c\ 1\0\0\15Èÿÿÿ(s\ 1\17®\ 1c\ 1\0\0\ 1\92\ 1\17²\ 1c\ 1\0\0\0\0²\ 1c\ 1\0\0\0\0\84\0q,type.uint8\0\84\0\8f-runtime.typ\0®\ 1c\ 1\0\0\93q\0)x,\11-\8f®\ 1c\ 1\0\0\15Xÿÿÿ\18s\ 1\16«\ 1c\ 1\0\0\15\b\0\0\01\8f\ 1\17²\ 1c\ 1\0\0\0\0²\ 1c\ 1\0\0\0\0²\ 1c\ 1\0\0\0\0\1f\0c\ 1\0\0\0\91\aq+«\ 1c\ 1\0\0\ 5 \0\0\0\8f\ 1\16«\ 1c\ 1\0\0\15Èÿÿÿ(s\ 1\17®\ 1c\ 1\0\0\ 1\92\ 1\17\9a\ 1c\ 1\0\0\ 5\10\0\0\0u\ 1\17²\ 1c\ 1\0\0\0\0²\ 1c\ 1\0\0\0\0\84\0q.go.string."%v\n%v"\0«\ 1c\ 1\0\0\11.q\ 1\16\84\0\8f/log.format\0«\ 1c\ 1\0\0\11/\8f\ 1\17²\ 1c\ 1\0\0\0\0²\ 1c\ 1\0\0\0\0\84\0\8f0log.v\0«\ 1c\ 1\0\0\15\10\0\0\00\8f\ 1\13®\ 1c\ 1\0\0\15Èÿÿÿ(s\ 1\15®\ 1c\ 1\0\0\ 1\15\ 1\8er\0c\ 1\0\0\15Ðÿÿÿ(s\ 1\15r\0c\ 1\0\0\ 1\15\ 5\b\0\0\0\8er\0c\ 1\0\0\15Ôÿÿÿ(s\ 1\15r\0c\ 1\0\0\ 1\15\ 5\f\0\0\0\8e\84\0q1log.Printf\0\84\0q\ 1type.func(string, ...interface {})\0\1f\0c\ 1\0\0\0\911q\ 1\84\0q\ 2type.*"".JSONResponse\0®\ 1d\ 1\0\0\93q\0\ 2x,\11-\8f«\ 1d\ 1\0\0\91*q)\ 1\13\84\0\8f\ 3runtime.elem\0®\ 1d\ 1\0\0\ 1\13\15\b\0\0\0\ 3\8f\1f\0d\ 1\0\0\0\91\aq\b«\ 1d\ 1\0\0\ 5\10\0\0\0\8f\ 1\16\84\0\8f\ 4encoding/json.v\0«\ 1d\ 1\0\0\11\ 4\8f\ 1\17²\ 1d\ 1\0\0\0\0²\ 1d\ 1\0\0\0\0\84\0q\ 5encoding/json.Marshal\0\84\0q\ 6type.func(interface {}) ([]uint8, error)\0\1f\0d\ 1\0\0\0\91\ 5q\ 6«\ 1d\ 1\0\0\ 5\10\0\0\0\8f\ 1\13®\ 1d\ 1\0\0\ 1\8e\ 1\15\84\0s\a"".b\0®\ 1d\ 1\0\0\ 1\15\95@ÿÿÿ\as\13r\0d\ 1\0\0\ 5\b\0\0\0\8e\ 1\15r\0d\ 1\0\0\ 1\15\95Hÿÿÿ\as\13r\0d\ 1\0\0\ 5\f\0\0\0\8e\ 1\15r\0d\ 1\0\0\ 1\15\95Lÿÿÿ\as\13®\ 1e\ 1\0\0\93q\0\ 2x,\11-\8f®\ 1e\ 1\0\0\15Xÿÿÿ\18s\ 1\13®\ 1e\ 1\0\0\ 1\13\15\b\0\0\0\ 3\8f\84\0q\bruntime.convT2E\0\84\0q type.func(*uint8, *"".JSONResponse) interface {}\0\1f\0e\ 1\0\0\0\91\bq «\ 1e\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1e\ 1\0\0\11\ 4\8f\ 1\17²\ 1e\ 1\0\0\0\0²\ 1e\ 1\0\0\0\0\1f\0e\ 1\0\0\0\91\ 5q\ 6«\ 1e\ 1\0\0\ 5\10\0\0\0\8f\ 1\13®\ 1e\ 1\0\0\ 1\8e\ 1\15\84\0s
+"".br\0®\ 1e\ 1\0\0\ 1\15\95¸ÿÿÿ
+s\13r\0e\ 1\0\0\ 5\b\0\0\0\8e\ 1\15r\0e\ 1\0\0\ 1\15\95Àÿÿÿ
+s\13r\0e\ 1\0\0\ 5\f\0\0\0\8e\ 1\15r\0e\ 1\0\0\ 1\15\95Äÿÿÿ
+s\13\84\0s\v"".autotmp_0045\0«\ 1f\ 1\0\0\15àÿÿÿ\vs\ 1\17®\ 1f\ 1\0\0\ 1u\ 1\10®\ 1f\ 1\0\0\ 5\ 4\0\0\0u\ 1\11¨\0f\ 1\0\0\0\0Æ\ 1f\ 1\0\0\0\0«\ 1f\ 1\0\0\15àÿÿÿ\vs\ 1\13\84\0s\f"".autotmp_0043\0r\0f\ 1\0\0\ 5\ 2\0\0\0u\15°ÿÿÿ\fsr\0f\ 1\0\0\ 5\ 2\0\0\0u\15´ÿÿÿ\fs®\ 1f\ 1\0\0\ 1\13\15¨ÿÿÿ\fs®\ 1f\ 1\0\0\93q\0\13x,\11-\8f«\ 1f\ 1\0\0\15\b\0\0\0\ 3\8f\ 1\13®\ 1f\ 1\0\0\95@ÿÿÿ\as\13\ 1\15®\ 1f\ 1\0\0\ 1\15\ 1\8er\0f\ 1\0\0\95Hÿÿÿ\as\13\ 1\15r\0f\ 1\0\0\ 1\15\ 5\b\0\0\0\8er\0f\ 1\0\0\95Lÿÿÿ\as\13\ 1\15r\0f\ 1\0\0\ 1\15\ 5\f\0\0\0\8e\84\0q\rtype.func(*uint8, []uint8) interface {}\0\1f\0f\ 1\0\0\0\91\bq\r«\ 1f\ 1\0\0\ 5\18\0\0\0\8f\ 1\16«\ 1f\ 1\0\0\15¨ÿÿÿ\fs\ 1\17®\ 1f\ 1\0\0\ 1\92\ 1\17²\ 1f\ 1\0\0\0\0²\ 1f\ 1\0\0\0\0®\ 1f\ 1\0\0\93q\0\13x,\11-\8f«\ 1f\ 1\0\0\15\b\0\0\0\ 3\8f\ 1\13®\ 1f\ 1\0\0\95¸ÿÿÿ
+s\13\ 1\15®\ 1f\ 1\0\0\ 1\15\ 1\8er\0f\ 1\0\0\95Àÿÿÿ
+s\13\ 1\15r\0f\ 1\0\0\ 1\15\ 5\b\0\0\0\8er\0f\ 1\0\0\95Äÿÿÿ
+s\13\ 1\15r\0f\ 1\0\0\ 1\15\ 5\f\0\0\0\8e\1f\0f\ 1\0\0\0\91\bq\r«\ 1f\ 1\0\0\ 5\18\0\0\0\8f\ 1\16«\ 1f\ 1\0\0\15¨ÿÿÿ\fs\ 1\17®\ 1f\ 1\0\0\ 1\92\ 1\17\9a\ 1f\ 1\0\0\ 5\10\0\0\0u\ 1\17²\ 1f\ 1\0\0\0\0²\ 1f\ 1\0\0\0\0\84\0q\ ego.string."%s\n%s\n"\0«\ 1f\ 1\0\0\11\ eq\ 1\16«\ 1f\ 1\0\0\11/\8f\ 1\17²\ 1f\ 1\0\0\0\0²\ 1f\ 1\0\0\0\0«\ 1f\ 1\0\0\15\10\0\0\00\8f\ 1\13®\ 1f\ 1\0\0\15¨ÿÿÿ\fs\ 1\15®\ 1f\ 1\0\0\ 1\15\ 1\8er\0f\ 1\0\0\15°ÿÿÿ\fs\ 1\15r\0f\ 1\0\0\ 1\15\ 5\b\0\0\0\8er\0f\ 1\0\0\15´ÿÿÿ\fs\ 1\15r\0f\ 1\0\0\ 1\15\ 5\f\0\0\0\8e\1f\0f\ 1\0\0\0\911q\ 1\84\0q\ ftype.string\0®\ 1g\ 1\0\0\93q\0\ fx,\11-\8f\84\0q\10go.string."gob: encode+decode lost data"\0«\ 1g\ 1\0\0\11\10q\ 1\16«\ 1g\ 1\0\0\15\b\0\0\0\ 3\8f\ 1\17²\ 1g\ 1\0\0\0\0²\ 1g\ 1\0\0\0\0\84\0q\11type.func(*uint8, string) interface {}\0\1f\0g\ 1\0\0\0\91\bq\11«\ 1g\ 1\0\0\ 5\18\0\0\0\8f\ 1\16«\ 1g\ 1\0\0\ 1\8f\ 1\17²\ 1g\ 1\0\0\0\0²\ 1g\ 1\0\0\0\0\84\0q\12runtime.panic\0\84\0q\13type.func(interface {})\0\1f\0g\ 1\0\0\0\91\12q\13ª\0i\ 1\0\0\0\0\84\0q\14"".gobResponse\0\84\0q\15type.func(*"".JSONResponse) *"".JSONResponse\0ã\0l\ 1\0\0\91\14q\15E\18\0\0\0\10\0\0\0u®\ 1m\ 1\0\0\93q\0)x,\11-\8f\1f\0m\ 1\0\0\0\91\16q\17®\ 1m\ 1\0\0\ 5\b\0\0\0\8f\ 1\13\84\0s\16"".autotmp_0047\0®\ 1m\ 1\0\0\ 1\13\15øÿÿÿ\16s\84\0t\17"".r\0®\ 1m\ 1\0\0\91\17t\ 2\ 1\15®\ 1m\ 1\0\0\ 1\90\ 1\18\84\0\8f\18"".n\0®\ 1m\ 1\0\0\ 1\18\11\18\8f\84\0q\19"".gobNode\0\84\0q\1atype.func(*"".JSONNode) *"".JSONNode\0\1f\0m\ 1\0\0\0\91\19q\1a®\ 1m\ 1\0\0\15øÿÿÿ\16s\ 1\10®\ 1m\ 1\0\0\ 5\b\0\0\0\8f\ 1\13®\ 1m\ 1\0\0\ 1\13\ 1\8b®\ 1m\ 1\0\0\91\17t\ 2\ 1\16\9a\ 1m\ 1\0\0\ 5\b\0\0\0u\ 1\16®\ 1m\ 1\0\0\ 1\10\ 1\17\9a\ 1m\ 1\0\0\ 5\b\0\0\0u\ 1\17²\ 1m\ 1\0\0\0\0²\ 1m\ 1\0\0\0\0\84\0t\e""..noname\0®\ 1m\ 1\0\0\ 1\10\15\b\0\0\0\etª\0m\ 1\0\0\0\0ã\0p\ 1\0\0\91\19q\1aE@\0\0\0\10\0\0\0u\84\0q\1ctype."".JSONNode\0®\ 1q\ 1\0\0\93q\0\1cx,\11-\8f\84\0q\1druntime.new\0\84\0q\1etype.func(*uint8) *"".JSONNode\0\1f\0q\ 1\0\0\0\91\1dq\1e®\ 1q\ 1\0\0\ 5\b\0\0\0\8f\ 1\12\84\0t\1f"".n\0\84\0q type.*"".JSONNode\0®\ 1r\ 1\0\0\91\1ft \ 1\16®\ 1r\ 1\0\0\81\12 \ 1\17®\ 1r\ 1\0\0\ 5 \0\0\0u\ 1\11¨\0r\ 1\0\0\0\0²\ 1r\ 1\0\0\0\0®\ 1s\ 1\0\0\81\12 \ 1\13\9a\ 1s\ 1\0\0\ 5\10\0\0\0u\ 1\13r\0s\ 1\0\0\ 5\b\0\0\0\8e\ 1\13&\0s\ 1\0\0\ 1\13\ 1uZ\0s\ 1\0\0\0\ 5à\ 4\0\0p®\ 1t\ 1\0\0\81\12 \ 1\17\9a\ 1t\ 1\0\0\ 5\10\0\0\0u\ 1\17®\ 1t\ 1\0\0\ 1u\ 1\10Æ\ 1t\ 1\0\0\0\0Æ\ 1t\ 1\0\0\0\0Y\0s\ 1\0\0\0\ 5 \ 5\0\0p®\ 1v\ 1\0\0\81\12 \ 1\13\84\0s!"".n1\0®\ 1v\ 1\0\0\ 1\12\95ðÿÿÿ!s \9a\ 1v\ 1\0\0\ 5\10\0\0\0u\ 1\13®\ 1v\ 1\0\0\ 1\8e\ 1\15\84\0s""".autotmp_0048\0®\ 1v\ 1\0\0\ 1\15\15àÿÿÿ"sr\0v\ 1\0\0\ 5\b\0\0\0\8e\ 1\15r\0v\ 1\0\0\ 1\15\15èÿÿÿ"sr\0v\ 1\0\0\ 5\f\0\0\0\8e\ 1\15r\0v\ 1\0\0\ 1\15\15ìÿÿÿ"sr\0v\ 1\0\0\ 1u\ 1\10r\0v\ 1\0\0\15èÿÿÿ"s\ 1\13\84\0s#"".autotmp_0050\0r\0v\ 1\0\0\ 1\13\15Øÿÿÿ#s«\ 1v\ 1\0\0\15àÿÿÿ"s\ 1\13®\ 1v\ 1\0\0\ 1\8e\ 1\11Y\0v\ 1\0\0\0\ 5ð\ 4\0\0pD\0v\ 1\0\0\0\ 1\10r\0v\ 1\0\0\15Øÿÿÿ#s\ 1\15&\0v\ 1\0\0\ 1\10\ 1\15R\0v\ 1\0\0\0\ 5 \ 5\0\0p\84\0s$"".autotmp_0049\0r\0v\ 1\0\0\ 1\10\15Ôÿÿÿ$s\84\0s%"".i\0\84\0q&type.int\0r\0v\ 1\0\0\ 1\10\95Üÿÿÿ%s&®\ 1v\ 1\0\0\ 1\8c\ 1\15®\ 1v\ 1\0\0\ 1\11\ 1\13\9a\ 1v\ 1\0\0\ 5\b\0\0\0u\ 1\13\84\0s'"".autotmp_0051\0®\ 1v\ 1\0\0\ 1\13\15øÿÿÿ's\84\0\8f("".n\0®\ 1w\ 1\0\0\ 1\15\11(\8f\1f\0w\ 1\0\0\0\91\19q\1a®\ 1w\ 1\0\0\95ðÿÿÿ!s \ 1\12®\ 1w\ 1\0\0\15øÿÿÿ's\ 1\11r\0w\ 1\0\0\15Ôÿÿÿ$s\ 1\10®\ 1w\ 1\0\0\ 5\b\0\0\0\8f\ 1\13®\ 1w\ 1\0\0\81\12 \ 1\15\9a\ 1w\ 1\0\0\ 5\10\0\0\0u\ 1\15r\0w\ 1\0\0\95Üÿÿÿ%s&\ 1\18¯\ 1w\ 1\0\0\ 1\18\ 1\18&\0w\ 1\0\0\ 1\18\ 5\b\0\0\0\90O\0w\ 1\0\0\0\ 5\ 6\ 5\0\0p\84\0q)runtime.panicindex\0\1f\0w\ 1\0\0\0\11)q®\ 1w\ 1\0\0\ 1\90\ 1\15®\ 1w\ 1\0\0\ 1\13\ 3\18\b\90Y\0v\ 1\0\0\0\ 5ï\ 4\0\0p®\ 1z\ 1\0\0\ 1\12\15\b\0\0\0\etª\0z\ 1\0\0\0\0\84\0q*"".gobdec\0\84\0q+type.func()\0ã\0}\ 1\0\0\91*q+\ 5`\0\0\0u\84\0q,"".gobbytes\0\84\0q-type.[]uint8\0«\ 1~\ 1\0\0\91,q-\ 1\13¢\ 1~\ 1\0\0\ 1\8e\ 1uZ\0~\ 1\0\0\0\ 5\1a\ 5\0\0p\84\0q.type.uint8\0\84\0\8f/runtime.typ\0®\ 1\7f\ 1\0\0\93q\0\ fx.\11/\8f\84\0q0go.string."gobdata not initialized"\0«\ 1\7f\ 1\0\0\110q\ 1\16«\ 1\7f\ 1\0\0\15\b\0\0\0\ 3\8f\ 1\17²\ 1\7f\ 1\0\0\0\0²\ 1\7f\ 1\0\0\0\0\1f\0\7f\ 1\0\0\0\91\bq\11«\ 1\7f\ 1\0\0\ 5\18\0\0\0\8f\ 1\16«\ 1\7f\ 1\0\0\ 1\8f\ 1\17²\ 1\7f\ 1\0\0\0\0²\ 1\7f\ 1\0\0\0\0\1f\0\7f\ 1\0\0\0\91\12q\13\84\0q1type."".JSONResponse\0®\ 1\81\ 1\0\0\93q\01x.\11/\8f\84\0q\ 1type.func(*uint8) *"".JSONResponse\0\1f\0\81\ 1\0\0\0\91\1dq\ 1®\ 1\81\ 1\0\0\ 5\b\0\0\0\8f\ 1\13\84\0s\ 2"".&r\0®\ 1\81\ 1\0\0\ 1\13\15èÿÿÿ\ 2s®\ 1\82\ 1\0\0\91,q-\ 1\13\84\0s\ 3bytes.buf\0®\ 1\82\ 1\0\0\ 1\13\95Èÿÿÿ\ 3s-r\0\82\ 1\0\0\95\b\0\0\0,q-\ 1\13r\0\82\ 1\0\0\ 1\13\95Ðÿÿÿ\ 3s-r\0\82\ 1\0\0\95\f\0\0\0,q-\ 1\13r\0\82\ 1\0\0\ 1\13\95Ôÿÿÿ\ 3s-\84\0s\ 4""..r0\0\84\0q\ 5type.*bytes.Buffer\0®\ 1\82\ 1\0\0\ 1u\95ðÿÿÿ\ 4s\ 5\84\0q\ 6type.bytes.Buffer\0®\ 1\82\ 1\0\0\93q\0\ 6x.\11/\8f\84\0q\atype.func(*uint8) *bytes.Buffer\0\1f\0\82\ 1\0\0\0\91\1dq\a®\ 1\82\ 1\0\0\ 5\b\0\0\0\8f\ 1\12®\ 1\82\ 1\0\0\ 1\12\ 1\17®\ 1\82\ 1\0\0\ 1u\ 1\10®\ 1\82\ 1\0\0\ 5\f\0\0\0u\ 1\11¨\0\82\ 1\0\0\0\0Æ\ 1\82\ 1\0\0\0\0®\ 1\82\ 1\0\0\95Èÿÿÿ\ 3s-\ 1\15®\ 1\82\ 1\0\0\ 1\15\ 1\8dr\0\82\ 1\0\0\95Ðÿÿÿ\ 3s-\ 1\15r\0\82\ 1\0\0\ 1\15\ 5\b\0\0\0\8dr\0\82\ 1\0\0\95Ôÿÿÿ\ 3s-\ 1\15r\0\82\ 1\0\0\ 1\15\ 5\f\0\0\0\8d®\ 1\82\ 1\0\0\ 1\12\95ðÿÿÿ\ 4s\ 5®\ 1\82\ 1\0\0\93q\0\ 5x.\11/\8f\84\0q\btype.io.Reader\0\84\0\8f runtime.typ2\0®\ 1\82\ 1\0\0\93q\0\bx.\15\b\0\0\0 \8f®\ 1\82\ 1\0\0\95ðÿÿÿ\ 4s\ 5\ 1\15\84\0\8f
+runtime.elem\0®\ 1\82\ 1\0\0\ 1\15\15\10\0\0\0
+\8f\84\0q\vruntime.convT2I\0\84\0q\ftype.func(*uint8, *uint8, *bytes.Buffer) io.Reader\0\1f\0\82\ 1\0\0\0\91\vq\f«\ 1\82\ 1\0\0\ 5\18\0\0\0\8f\ 1\16\84\0\8f\rencoding/gob.r\0«\ 1\82\ 1\0\0\11\r\8f\ 1\17²\ 1\82\ 1\0\0\0\0²\ 1\82\ 1\0\0\0\0\84\0q\ eencoding/gob.NewDecoder\0\84\0q\ ftype.func(io.Reader) *encoding/gob.Decoder\0\1f\0\82\ 1\0\0\0\91\ eq\ f®\ 1\82\ 1\0\0\ 5\10\0\0\0\8f\ 1\15\84\0s\10"".autotmp_0054\0®\ 1\82\ 1\0\0\ 1\15\15øÿÿÿ\10s\84\0q\11type.*"".JSONResponse\0®\ 1\82\ 1\0\0\93q\0\11x.\11/\8f®\ 1\82\ 1\0\0\15èÿÿÿ\ 2s\ 1\15®\ 1\82\ 1\0\0\ 1\15\15\b\0\0\0
+\8f\84\0q\12runtime.convT2E\0\84\0q\13type.func(*uint8, *"".JSONResponse) interface {}\0\1f\0\82\ 1\0\0\0\91\12q\13«\ 1\82\ 1\0\0\ 5\10\0\0\0\8f\ 1\16\84\0\8f\14encoding/gob.e\0«\ 1\82\ 1\0\0\15\b\0\0\0\14\8f\ 1\17²\ 1\82\ 1\0\0\0\0²\ 1\82\ 1\0\0\0\0®\ 1\82\ 1\0\0\15øÿÿÿ\10s\ 1\15\84\0\8f\15encoding/gob.dec\0®\ 1\82\ 1\0\0\ 1\15\11\15\8f\84\0q\16encoding/gob.(*Decoder).Decode\0\1f\0\82\ 1\0\0\0\11\16q«\ 1\82\ 1\0\0\ 5\18\0\0\0\8f\ 1\13®\ 1\82\ 1\0\0\ 1\8e\ 1\15\84\0s\17"".err\0\84\0q\18type.error\0®\ 1\82\ 1\0\0\ 1\15\95Øÿÿÿ\17s\18®\ 1\82\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1\82\ 1\0\0\ 1\15\95àÿÿÿ\17s\18«\ 1\82\ 1\0\0\95Øÿÿÿ\17s\18\ 1\13¢\ 1\82\ 1\0\0\ 1\8e\ 1uQ\0\82\ 1\0\0\0\ 5^\ 5\0\0p«\ 1\83\ 1\0\0\11
+\8f\ 1\13®\ 1\83\ 1\0\0\95Øÿÿÿ\17s\18\ 1\15®\ 1\83\ 1\0\0\ 1\15\ 1\8e®\ 1\83\ 1\0\0\95àÿÿÿ\17s\18\ 1\15®\ 1\83\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\84\0q\19runtime.convI2E\0\84\0q\1atype.func(error) interface {}\0\1f\0\83\ 1\0\0\0\91\19q\1a«\ 1\83\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1\83\ 1\0\0\ 1\8f\ 1\17²\ 1\83\ 1\0\0\0\0²\ 1\83\ 1\0\0\0\0\84\0q\eruntime.panic\0\84\0q\1ctype.func(interface {})\0\1f\0\83\ 1\0\0\0\91\eq\1cª\0\86\ 1\0\0\0\0\84\0q\1d"".gobenc\0ã\0\88\ 1\0\0\91\1dq+\ 5@\0\0\0u\84\0\8f\1eencoding/gob.w\0«\ 1\89\ 1\0\0\11\1e\8f\ 1\15\84\0q\1fio/ioutil.Discard\0\84\0q type.io.Writer\0®\ 1\89\ 1\0\0\91\1fq \ 1\18®\ 1\89\ 1\0\0\ 1\18\ 1\90®\ 1\89\ 1\0\0\95\b\0\0\0\1fq \ 1\18®\ 1\89\ 1\0\0\ 1\18\ 5\b\0\0\0\90\84\0q!encoding/gob.NewEncoder\0\84\0q"type.func(io.Writer) *encoding/gob.Encoder\0\1f\0\89\ 1\0\0\0\91!q"®\ 1\89\ 1\0\0\ 5\10\0\0\0\8f\ 1\15\84\0s#"".autotmp_0055\0®\ 1\89\ 1\0\0\ 1\15\15øÿÿÿ#s\84\0q$type.**"".JSONResponse\0®\ 1\89\ 1\0\0\93q\0$x.\11/\8f\84\0q%"".gobdata\0«\ 1\89\ 1\0\0\91%q\11\ 1\15®\ 1\89\ 1\0\0\ 1\15\15\b\0\0\0
+\8f\84\0q&type.func(*uint8, **"".JSONResponse) interface {}\0\1f\0\89\ 1\0\0\0\91\12q&«\ 1\89\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1\89\ 1\0\0\15\b\0\0\0\14\8f\ 1\17²\ 1\89\ 1\0\0\0\0²\ 1\89\ 1\0\0\0\0®\ 1\89\ 1\0\0\15øÿÿÿ#s\ 1\15\84\0\8f'encoding/gob.enc\0®\ 1\89\ 1\0\0\ 1\15\11'\8f\84\0q(encoding/gob.(*Encoder).Encode\0\1f\0\89\ 1\0\0\0\11(q«\ 1\89\ 1\0\0\ 5\18\0\0\0\8f\ 1\13®\ 1\89\ 1\0\0\ 1\8e\ 1\15®\ 1\89\ 1\0\0\ 1\15\95èÿÿÿ\17s\18®\ 1\89\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1\89\ 1\0\0\ 1\15\95ðÿÿÿ\17s\18«\ 1\89\ 1\0\0\95èÿÿÿ\17s\18\ 1\13¢\ 1\89\ 1\0\0\ 1\8e\ 1uQ\0\89\ 1\0\0\0\ 5\86\ 5\0\0p«\ 1\8a\ 1\0\0\11
+\8f\ 1\13®\ 1\8a\ 1\0\0\95èÿÿÿ\17s\18\ 1\15®\ 1\8a\ 1\0\0\ 1\15\ 1\8e®\ 1\8a\ 1\0\0\95ðÿÿÿ\17s\18\ 1\15®\ 1\8a\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0\8a\ 1\0\0\0\91\19q\1a«\ 1\8a\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1\8a\ 1\0\0\ 1\8f\ 1\17²\ 1\8a\ 1\0\0\0\0²\ 1\8a\ 1\0\0\0\0\1f\0\8a\ 1\0\0\0\91\eq\1cª\0\8c\ 1\0\0\0\0\84\0q)"".BenchmarkGobDecode\0\84\0q*type.func(*testing.B)\0ã\0\8e\ 1\0\0\91)q*E\b\0\0\0\b\0\0\0u\84\0t+"".b\0\84\0q,type.*testing.B\0®\ 1\8f\ 1\0\0\91+t,\ 1\11\84\0q-"".gobbytes\0\84\0q.type.[]uint8\0r\0\8f\ 1\0\0\95\b\0\0\0-q.\ 1\10¯\ 1\8f\ 1\0\0\ 1\10\ 1\10®\ 1\8f\ 1\0\0\ 1\10\ 5p\0\0\0\8c\84\0q/type.int\0r\0\90\ 1\0\0\ 1u\81\10/Y\0\90\ 1\0\0\0\ 5\8f\ 5\0\0pD\0\90\ 1\0\0\0\81\10/®\ 1\90\ 1\0\0\91+t,\ 1\15r\0\90\ 1\0\0\ 5P\0\0\0\90\ 1\13\84\0s0"".i\0r\0\90\ 1\0\0\ 1\10\95üÿÿÿ0s/&\0\90\ 1\0\0\ 1\13\ 1\10U\0\90\ 1\0\0\0\ 5\97\ 5\0\0p\84\0q1"".gobdec\0\84\0q\ 1type.func()\0\1f\0\91\ 1\0\0\0\911q\ 1r\0\91\ 1\0\0\95üÿÿÿ0s/\ 1\10Y\0\90\ 1\0\0\0\ 5\8e\ 5\0\0pª\0\93\ 1\0\0\0\0\84\0q\ 2"".BenchmarkGobEncode\0ã\0\95\ 1\0\0\91\ 2q*E\b\0\0\0\b\0\0\0u®\ 1\96\ 1\0\0\91+t,\ 1\11r\0\96\ 1\0\0\95\b\0\0\0-q.\ 1\10¯\ 1\96\ 1\0\0\ 1\10\ 1\10®\ 1\96\ 1\0\0\ 1\10\ 5p\0\0\0\8cr\0\97\ 1\0\0\ 1u\81\10/Y\0\97\ 1\0\0\0\ 5 \ 5\0\0pD\0\97\ 1\0\0\0\81\10/®\ 1\97\ 1\0\0\91+t,\ 1\15r\0\97\ 1\0\0\ 5P\0\0\0\90\ 1\13r\0\97\ 1\0\0\ 1\10\95üÿÿÿ0s/&\0\97\ 1\0\0\ 1\13\ 1\10U\0\97\ 1\0\0\0\ 5¨\ 5\0\0p\1f\0\98\ 1\0\0\0\91\1dq\ 1r\0\98\ 1\0\0\95üÿÿÿ0s/\ 1\10Y\0\97\ 1\0\0\0\ 5\9f\ 5\0\0pª\0\9a\ 1\0\0\0\0\84\0q\ 3"".init·1\0ã\0°\ 1\0\0\91\ 3q\ 1\ 5`\0\0\0u\84\0q\ 4type.uint8\0\84\0\8f\ 5runtime.typ\0®\ 1±\ 1\0\0\93q\0\ 6x\ 4\11\ 5\8f\84\0q\ 6runtime.new\0\1f\0±\ 1\0\0\0\91\ 6q\a®\ 1±\ 1\0\0\ 5\b\0\0\0\8f\ 1\10\84\0q\atype.*bytes.Buffer\0®\ 1²\ 1\0\0\93q\0\ax\ 4\11\ 5\8f®\ 1²\ 1\0\0\93q\0 x\ 4\15\b\0\0\0 \8f\84\0s\b"".&buf\0®\ 1²\ 1\0\0\ 1\10\15øÿÿÿ\bs®\ 1²\ 1\0\0\ 1\10\15\10\0\0\0
+\8f\84\0q type.func(*uint8, *uint8, *bytes.Buffer) io.Writer\0\1f\0²\ 1\0\0\0\91\vq «\ 1²\ 1\0\0\ 5\18\0\0\0\8f\ 1\16\84\0\8f
+compress/gzip.w\0«\ 1²\ 1\0\0\11
+\8f\ 1\17²\ 1²\ 1\0\0\0\0²\ 1²\ 1\0\0\0\0\84\0q\vcompress/gzip.NewWriter\0\84\0q\ftype.func(io.Writer) (*compress/gzip.Compressor, error)\0\1f\0²\ 1\0\0\0\91\vq\f®\ 1²\ 1\0\0\ 5\10\0\0\0\8f\ 1\13\84\0s\r"".c\0\84\0q\ etype.*compress/gzip.Compressor\0®\ 1²\ 1\0\0\ 1\13\95Ðÿÿÿ\rs\ e«\ 1²\ 1\0\0\ 5\18\0\0\0\8f\ 1\13®\ 1²\ 1\0\0\ 1\8e\ 1\15®\ 1²\ 1\0\0\ 1\15\95èÿÿÿ\17s\18®\ 1²\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1²\ 1\0\0\ 1\15\95ðÿÿÿ\17s\18«\ 1³\ 1\0\0\95èÿÿÿ\17s\18\ 1\13¢\ 1³\ 1\0\0\ 1\8e\ 1uQ\0³\ 1\0\0\0\ 5Ì\ 5\0\0p\84\0\8f\ fruntime.elem\0«\ 1´\ 1\0\0\11\ f\8f\ 1\13®\ 1´\ 1\0\0\95èÿÿÿ\17s\18\ 1\15®\ 1´\ 1\0\0\ 1\15\ 1\8e®\ 1´\ 1\0\0\95ðÿÿÿ\17s\18\ 1\15®\ 1´\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0´\ 1\0\0\0\91\19q\1a«\ 1´\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1´\ 1\0\0\ 1\8f\ 1\17²\ 1´\ 1\0\0\0\0²\ 1´\ 1\0\0\0\0\1f\0´\ 1\0\0\0\91\eq\1c®\ 1¶\ 1\0\0\95Ðÿÿÿ\rs\ e\ 1\13\84\0\8f\10compress/gzip.z\0®\ 1¶\ 1\0\0\ 1\13\11\10\8f\84\0\8f\11compress/gzip.p\0«\ 1¶\ 1\0\0\15\b\0\0\0\11\8f\ 1\13\84\0q\12"".jsongunz\0®\ 1¶\ 1\0\0\91\12q.\ 1\15®\ 1¶\ 1\0\0\ 1\15\ 1\8er\0¶\ 1\0\0\95\b\0\0\0\12q.\ 1\15r\0¶\ 1\0\0\ 1\15\ 5\b\0\0\0\8er\0¶\ 1\0\0\95\f\0\0\0\12q.\ 1\15r\0¶\ 1\0\0\ 1\15\ 5\f\0\0\0\8e\84\0q\13compress/gzip.(*Compressor).Write\0\1f\0¶\ 1\0\0\0\11\13q®\ 1·\ 1\0\0\95Ðÿÿÿ\rs\ e\ 1\13®\ 1·\ 1\0\0\ 1\13\11\10\8f\84\0q\14compress/gzip.(*Compressor).Close\0\1f\0·\ 1\0\0\0\11\14q®\ 1¸\ 1\0\0\15øÿÿÿ\bs\ 1\11\84\0s\15""..r0\0®\ 1¸\ 1\0\0\ 1u\95Øÿÿÿ\15s.r\0¸\ 1\0\0\ 1u\95àÿÿÿ\15s.r\0¸\ 1\0\0\ 1u\95äÿÿÿ\15s.®\ 1¸\ 1\0\0\ 1\8c\ 1\17r\0¸\ 1\0\0\ 5\b\0\0\0\8c\ 1\10r\0¸\ 1\0\0\ 5\f\0\0\0\8c\ 1\16r\0¸\ 1\0\0\ 5\10\0\0\0\8c\ 1\13¯\ 1¸\ 1\0\0\ 1\13\ 1\13°\ 1¸\ 1\0\0\ 1\10\ 1\15¢\ 1¸\ 1\0\0\ 1\13\ 1\15V\0¸\ 1\0\0\0\ 5æ\ 5\0\0p\84\0q\16runtime.panicslice\0\1f\0¸\ 1\0\0\0\11\16qr\0¸\ 1\0\0\ 1\10\ 1\12Ý\0¸\ 1\0\0\ 1\13\ 1\12r\0¸\ 1\0\0\ 1\16\ 1\15Ý\0¸\ 1\0\0\ 1\13\ 1\15\9a\ 1¸\ 1\0\0\ 1\17\ 1\13®\ 1¸\ 1\0\0\ 1\13\ 1\10®\ 1¸\ 1\0\0\ 1\13\95Øÿÿÿ\15s.r\0¸\ 1\0\0\ 1\12\95àÿÿÿ\15s.r\0¸\ 1\0\0\ 1\15\95äÿÿÿ\15s.®\ 1¸\ 1\0\0\95Øÿÿÿ\15s.\ 1\13\84\0q\17"".jsongz\0®\ 1¸\ 1\0\0\ 1\13\91\17q.r\0¸\ 1\0\0\95àÿÿÿ\15s.\ 1\13r\0¸\ 1\0\0\ 1\13\95\b\0\0\0\17q.r\0¸\ 1\0\0\95äÿÿÿ\15s.\ 1\13r\0¸\ 1\0\0\ 1\13\95\f\0\0\0\17q.ª\0¹\ 1\0\0\0\0\84\0q\18"".gzip\0ã\0»\ 1\0\0\91\18q\ 1\ 5h\0\0\0u«\ 1¼\ 1\0\0\11
+\8f\ 1\13®\ 1¼\ 1\0\0\91\1fq \ 1\15®\ 1¼\ 1\0\0\ 1\15\ 1\8e®\ 1¼\ 1\0\0\95\b\0\0\0\1fq \ 1\15®\ 1¼\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0¼\ 1\0\0\0\91\vq\f®\ 1¼\ 1\0\0\ 5\10\0\0\0\8f\ 1\13®\ 1¼\ 1\0\0\ 1\13\95Èÿÿÿ\rs\ e«\ 1¼\ 1\0\0\ 5\18\0\0\0\8f\ 1\13®\ 1¼\ 1\0\0\ 1\8e\ 1\15\84\0s\19"".err\0\84\0q\1atype.error\0®\ 1¼\ 1\0\0\ 1\15\95àÿÿÿ\19s\1a®\ 1¼\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1¼\ 1\0\0\ 1\15\95èÿÿÿ\19s\1a«\ 1½\ 1\0\0\95àÿÿÿ\19s\1a\ 1\13¢\ 1½\ 1\0\0\ 1\8e\ 1uQ\0½\ 1\0\0\0\ 5\12\ 6\0\0p«\ 1¾\ 1\0\0\11\ f\8f\ 1\13®\ 1¾\ 1\0\0\95àÿÿÿ\19s\1a\ 1\15®\ 1¾\ 1\0\0\ 1\15\ 1\8e®\ 1¾\ 1\0\0\95èÿÿÿ\19s\1a\ 1\15®\ 1¾\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\84\0q\eruntime.convI2E\0\84\0q\1ctype.func(error) interface {}\0\1f\0¾\ 1\0\0\0\91\eq\1c«\ 1¾\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1¾\ 1\0\0\ 1\8f\ 1\17²\ 1¾\ 1\0\0\0\0²\ 1¾\ 1\0\0\0\0\84\0q\1druntime.panic\0\84\0q\1etype.func(interface {})\0\1f\0¾\ 1\0\0\0\91\1dq\1e®\ 1À\ 1\0\0\95Èÿÿÿ\rs\ e\ 1\13®\ 1À\ 1\0\0\ 1\13\11\10\8f«\ 1À\ 1\0\0\15\b\0\0\0\11\8f\ 1\13®\ 1À\ 1\0\0\91\12q.\ 1\15®\ 1À\ 1\0\0\ 1\15\ 1\8er\0À\ 1\0\0\95\b\0\0\0\12q.\ 1\15r\0À\ 1\0\0\ 1\15\ 5\b\0\0\0\8er\0À\ 1\0\0\95\f\0\0\0\12q.\ 1\15r\0À\ 1\0\0\ 1\15\ 5\f\0\0\0\8e\1f\0À\ 1\0\0\0\11\13q«\ 1À\ 1\0\0\ 5 \0\0\0\8f\ 1\13®\ 1À\ 1\0\0\ 1\8e\ 1\15®\ 1À\ 1\0\0\ 1\15\95Ðÿÿÿ\19s\1a®\ 1À\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1À\ 1\0\0\ 1\15\95Øÿÿÿ\19s\1a«\ 1À\ 1\0\0\95Ðÿÿÿ\19s\1a\ 1\13¢\ 1À\ 1\0\0\ 1\8e\ 1uQ\0À\ 1\0\0\0\ 5/\ 6\0\0p«\ 1Á\ 1\0\0\11\ f\8f\ 1\13®\ 1Á\ 1\0\0\95Ðÿÿÿ\19s\1a\ 1\15®\ 1Á\ 1\0\0\ 1\15\ 1\8e®\ 1Á\ 1\0\0\95Øÿÿÿ\19s\1a\ 1\15®\ 1Á\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0Á\ 1\0\0\0\91\eq\1c«\ 1Á\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1Á\ 1\0\0\ 1\8f\ 1\17²\ 1Á\ 1\0\0\0\0²\ 1Á\ 1\0\0\0\0\1f\0Á\ 1\0\0\0\91\1dq\1e®\ 1Ã\ 1\0\0\95Èÿÿÿ\rs\ e\ 1\15®\ 1Ã\ 1\0\0\ 1\15\11\10\8f\1f\0Ã\ 1\0\0\0\11\14q«\ 1Ã\ 1\0\0\ 5\b\0\0\0\8f\ 1\13®\ 1Ã\ 1\0\0\ 1\8e\ 1\15®\ 1Ã\ 1\0\0\ 1\15\95ðÿÿÿ\19s\1a®\ 1Ã\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1Ã\ 1\0\0\ 1\15\95øÿÿÿ\19s\1a«\ 1Ã\ 1\0\0\95ðÿÿÿ\19s\1a\ 1\13¢\ 1Ã\ 1\0\0\ 1\8e\ 1uQ\0Ã\ 1\0\0\0\ 5E\ 6\0\0p«\ 1Ä\ 1\0\0\11\ f\8f\ 1\13®\ 1Ä\ 1\0\0\95ðÿÿÿ\19s\1a\ 1\15®\ 1Ä\ 1\0\0\ 1\15\ 1\8e®\ 1Ä\ 1\0\0\95øÿÿÿ\19s\1a\ 1\15®\ 1Ä\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0Ä\ 1\0\0\0\91\eq\1c«\ 1Ä\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1Ä\ 1\0\0\ 1\8f\ 1\17²\ 1Ä\ 1\0\0\0\0²\ 1Ä\ 1\0\0\0\0\1f\0Ä\ 1\0\0\0\91\1dq\1eª\0Æ\ 1\0\0\0\0\84\0q\1f"".gunzip\0ã\0È\ 1\0\0\91\1fq\ 1\ 5x\0\0\0u®\ 1É\ 1\0\0\91\17q.\ 1\13\84\0s bytes.buf\0®\ 1É\ 1\0\0\ 1\13\95èÿÿÿ s.r\0É\ 1\0\0\95\b\0\0\0\17q.\ 1\13r\0É\ 1\0\0\ 1\13\95ðÿÿÿ s.r\0É\ 1\0\0\95\f\0\0\0\17q.\ 1\13r\0É\ 1\0\0\ 1\13\95ôÿÿÿ s.®\ 1É\ 1\0\0\ 1u\95øÿÿÿ\15s\a\84\0q!type.bytes.Buffer\0®\ 1É\ 1\0\0\93q\0!x\ 4\11\ 5\8f\84\0q"type.func(*uint8) *bytes.Buffer\0\1f\0É\ 1\0\0\0\91\ 6q"®\ 1É\ 1\0\0\ 5\b\0\0\0\8f\ 1\12®\ 1É\ 1\0\0\ 1\12\ 1\17®\ 1É\ 1\0\0\ 1u\ 1\10®\ 1É\ 1\0\0\ 5\f\0\0\0u\ 1\11¨\0É\ 1\0\0\0\0Æ\ 1É\ 1\0\0\0\0®\ 1É\ 1\0\0\95èÿÿÿ s.\ 1\15®\ 1É\ 1\0\0\ 1\15\ 1\8dr\0É\ 1\0\0\95ðÿÿÿ s.\ 1\15r\0É\ 1\0\0\ 1\15\ 5\b\0\0\0\8dr\0É\ 1\0\0\95ôÿÿÿ s.\ 1\15r\0É\ 1\0\0\ 1\15\ 5\f\0\0\0\8d®\ 1É\ 1\0\0\ 1\12\95øÿÿÿ\15s\a®\ 1É\ 1\0\0\93q\0\ax\ 4\11\ 5\8f\84\0q#type.io.Reader\0\84\0\8f$runtime.typ2\0®\ 1É\ 1\0\0\93q\0#x\ 4\15\b\0\0\0$\8f®\ 1É\ 1\0\0\95øÿÿÿ\15s\a\ 1\13®\ 1É\ 1\0\0\ 1\13\15\10\0\0\0\ f\8f\84\0q%runtime.convT2I\0\84\0q&type.func(*uint8, *uint8, *bytes.Buffer) io.Reader\0\1f\0É\ 1\0\0\0\91%q&«\ 1É\ 1\0\0\ 5\18\0\0\0\8f\ 1\16\84\0\8f'compress/gzip.r\0«\ 1É\ 1\0\0\11'\8f\ 1\17²\ 1É\ 1\0\0\0\0²\ 1É\ 1\0\0\0\0\84\0q(compress/gzip.NewReader\0\84\0q)type.func(io.Reader) (*compress/gzip.Decompressor, error)\0\1f\0É\ 1\0\0\0\91(q)®\ 1É\ 1\0\0\ 5\10\0\0\0\8f\ 1\13\84\0s*"".r\0\84\0q+type.*compress/gzip.Decompressor\0®\ 1É\ 1\0\0\ 1\13\95Àÿÿÿ*s+«\ 1É\ 1\0\0\ 5\18\0\0\0\8f\ 1\13®\ 1É\ 1\0\0\ 1\8e\ 1\15®\ 1É\ 1\0\0\ 1\15\95Øÿÿÿ\19s\1a®\ 1É\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1É\ 1\0\0\ 1\15\95àÿÿÿ\19s\1a«\ 1Ê\ 1\0\0\95Øÿÿÿ\19s\1a\ 1\13¢\ 1Ê\ 1\0\0\ 1\8e\ 1uQ\0Ê\ 1\0\0\0\ 5|\ 6\0\0p«\ 1Ë\ 1\0\0\11\ f\8f\ 1\13®\ 1Ë\ 1\0\0\95Øÿÿÿ\19s\1a\ 1\15®\ 1Ë\ 1\0\0\ 1\15\ 1\8e®\ 1Ë\ 1\0\0\95àÿÿÿ\19s\1a\ 1\15®\ 1Ë\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0Ë\ 1\0\0\0\91\eq\1c«\ 1Ë\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1Ë\ 1\0\0\ 1\8f\ 1\17²\ 1Ë\ 1\0\0\0\0²\ 1Ë\ 1\0\0\0\0\1f\0Ë\ 1\0\0\0\91\1dq\1e®\ 1Í\ 1\0\0\93q\0+x\ 4\11\ 5\8f®\ 1Í\ 1\0\0\93q\0#x\ 4\15\b\0\0\0$\8f®\ 1Í\ 1\0\0\95Àÿÿÿ*s+\ 1\13®\ 1Í\ 1\0\0\ 1\13\15\10\0\0\0\ f\8f\84\0q,type.func(*uint8, *uint8, *compress/gzip.Decompressor) io.Reader\0\1f\0Í\ 1\0\0\0\91%q,«\ 1Í\ 1\0\0\ 5\18\0\0\0\8f\ 1\16\84\0\8f-io.src\0«\ 1Í\ 1\0\0\15\10\0\0\0-\8f\ 1\17²\ 1Í\ 1\0\0\0\0²\ 1Í\ 1\0\0\0\0\84\0\8f.io.dst\0«\ 1Í\ 1\0\0\11.\8f\ 1\13\84\0q/io/ioutil.Discard\0\84\0q0type.io.Writer\0®\ 1Í\ 1\0\0\91/q0\ 1\15®\ 1Í\ 1\0\0\ 1\15\ 1\8e®\ 1Í\ 1\0\0\95\b\0\0\0/q0\ 1\15®\ 1Í\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\84\0q1io.Copy\0\84\0q\ 1type.func(io.Writer, io.Reader) (int64, error)\0\1f\0Í\ 1\0\0\0\911q\ 1\84\0\8f\ 2io.err\0«\ 1Í\ 1\0\0\15(\0\0\0\ 2\8f\ 1\13®\ 1Í\ 1\0\0\ 1\8e\ 1\15®\ 1Í\ 1\0\0\ 1\15\95Èÿÿÿ\19s\1a®\ 1Í\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1Í\ 1\0\0\ 1\15\95Ðÿÿÿ\19s\1a«\ 1Í\ 1\0\0\95Èÿÿÿ\19s\1a\ 1\13¢\ 1Í\ 1\0\0\ 1\8e\ 1uQ\0Í\ 1\0\0\0\ 5\9e\ 6\0\0p«\ 1Î\ 1\0\0\11\ f\8f\ 1\13®\ 1Î\ 1\0\0\95Èÿÿÿ\19s\1a\ 1\15®\ 1Î\ 1\0\0\ 1\15\ 1\8e®\ 1Î\ 1\0\0\95Ðÿÿÿ\19s\1a\ 1\15®\ 1Î\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0Î\ 1\0\0\0\91\eq\1c«\ 1Î\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1Î\ 1\0\0\ 1\8f\ 1\17²\ 1Î\ 1\0\0\0\0²\ 1Î\ 1\0\0\0\0\1f\0Î\ 1\0\0\0\91\1dq\1e®\ 1Ð\ 1\0\0\95Àÿÿÿ*s+\ 1\13®\ 1Ð\ 1\0\0\ 1\13\11\10\8f\84\0q\ 3compress/gzip.(*Decompressor).Close\0\1f\0Ð\ 1\0\0\0\11\ 3qª\0Ñ\ 1\0\0\0\0\84\0q\ 4"".BenchmarkGzip\0\84\0q\ 5type.func(*testing.B)\0ã\0Ó\ 1\0\0\91\ 4q\ 5E\b\0\0\0\b\0\0\0u\84\0t\ 6"".b\0\84\0q\atype.*testing.B\0®\ 1Ô\ 1\0\0\91\ 6t\a\ 1\11\84\0q\btype.[]uint8\0r\0Ô\ 1\0\0\95\b\0\0\0\12q\b\ 1\10¯\ 1Ô\ 1\0\0\ 1\10\ 1\10®\ 1Ô\ 1\0\0\ 1\10\ 5p\0\0\0\8c\84\0q type.int\0r\0Õ\ 1\0\0\ 1u\81\10 Y\0Õ\ 1\0\0\0\ 5ª\ 6\0\0pD\0Õ\ 1\0\0\0\81\10 ®\ 1Õ\ 1\0\0\91\ 6t\a\ 1\15r\0Õ\ 1\0\0\ 5P\0\0\0\90\ 1\13\84\0s
+"".i\0r\0Õ\ 1\0\0\ 1\10\95üÿÿÿ
+s &\0Õ\ 1\0\0\ 1\13\ 1\10U\0Õ\ 1\0\0\0\ 5²\ 6\0\0p\84\0q\vtype.func()\0\1f\0Ö\ 1\0\0\0\91\18q\vr\0Ö\ 1\0\0\95üÿÿÿ
+s \ 1\10Y\0Õ\ 1\0\0\0\ 5©\ 6\0\0pª\0Ø\ 1\0\0\0\0\84\0q\f"".BenchmarkGunzip\0ã\0Ú\ 1\0\0\91\fq\ 5E\b\0\0\0\b\0\0\0u®\ 1Û\ 1\0\0\91\ 6t\a\ 1\11r\0Û\ 1\0\0\95\b\0\0\0\12q\b\ 1\10¯\ 1Û\ 1\0\0\ 1\10\ 1\10®\ 1Û\ 1\0\0\ 1\10\ 5p\0\0\0\8cr\0Ü\ 1\0\0\ 1u\81\10 Y\0Ü\ 1\0\0\0\ 5»\ 6\0\0pD\0Ü\ 1\0\0\0\81\10 ®\ 1Ü\ 1\0\0\91\ 6t\a\ 1\15r\0Ü\ 1\0\0\ 5P\0\0\0\90\ 1\13r\0Ü\ 1\0\0\ 1\10\95üÿÿÿ
+s &\0Ü\ 1\0\0\ 1\13\ 1\10U\0Ü\ 1\0\0\0\ 5Ã\ 6\0\0p\1f\0Ý\ 1\0\0\0\91\1fq\vr\0Ý\ 1\0\0\95üÿÿÿ
+s \ 1\10Y\0Ü\ 1\0\0\0\ 5º\ 6\0\0pª\0ß\ 1\0\0\0\0\84\0q\r"".init·2\0ã\0÷\ 1\0\0\91\rq\v\ 5 \0\0\0u\84\0q\ e"".jsonbz2_base64\0\84\0q\ ftype.string\0®\ 1ù\ 1\0\0\91\ eq\ f\ 1\13\84\0s\10strings.s\0®\ 1ù\ 1\0\0\ 1\13\95 ÿÿÿ\10s\ fr\0ù\ 1\0\0\95\b\0\0\0\ eq\ f\ 1\13r\0ù\ 1\0\0\ 1\13\95¨ÿÿÿ\10s\ f\84\0q\11type.*strings.Reader\0®\ 1ù\ 1\0\0\ 1u\95Àÿÿÿ\15s\11\84\0q\12type.strings.Reader\0\84\0q\13type.uint8\0\84\0\8f\14runtime.typ\0®\ 1ù\ 1\0\0\93q\0\12x\13\11\14\8f\84\0q\15runtime.new\0\84\0q\16type.func(*uint8) *strings.Reader\0\1f\0ù\ 1\0\0\0\91\15q\16®\ 1ù\ 1\0\0\ 5\b\0\0\0\8f\ 1\10®\ 1ù\ 1\0\0\95 ÿÿÿ\10s\ f\ 1\15®\ 1ù\ 1\0\0\ 1\15\ 1\8br\0ù\ 1\0\0\95¨ÿÿÿ\10s\ f\ 1\15r\0ù\ 1\0\0\ 1\15\ 5\b\0\0\0\8br\0ù\ 1\0\0\ 1u\ 5\10\0\0\0\8br\0ù\ 1\0\0\ 5ÿÿÿÿu\ 5\14\0\0\0\8b\84\0s\17""..r0\0®\ 1ù\ 1\0\0\ 1\10\95Àÿÿÿ\17s\11®\ 1ù\ 1\0\0\93q\0\11x\13\11\14\8f®\ 1ù\ 1\0\0\93q\0#x\13\15\b\0\0\0$\8f®\ 1ù\ 1\0\0\95Àÿÿÿ\17s\11\ 1\13\84\0\8f\18runtime.elem\0®\ 1ù\ 1\0\0\ 1\13\15\10\0\0\0\18\8f\84\0q\19type.func(*uint8, *uint8, *strings.Reader) io.Reader\0\1f\0ù\ 1\0\0\0\91%q\19®\ 1ù\ 1\0\0\ 5\18\0\0\0\8f\ 1\11®\ 1ù\ 1\0\0\ 5 \0\0\0\8f\ 1\10\84\0q\1aencoding/base64.StdEncoding\0\84\0q\etype.*encoding/base64.Encoding\0®\ 1ú\ 1\0\0\91\1aq\e\ 1\13\84\0s\1cencoding/base64.enc\0®\ 1ú\ 1\0\0\ 1\13\95èÿÿÿ\1cs\e\84\0s\1dencoding/base64.r\0®\ 1ú\ 1\0\0\ 1\11\95Øÿÿÿ\1ds#®\ 1ú\ 1\0\0\ 1\10\95àÿÿÿ\1ds#®\ 1ú\ 1\0\0\ 1u\95ðÿÿÿ\17s#®\ 1ú\ 1\0\0\ 1u\95øÿÿÿ\17s#\84\0q\1etype.encoding/base64.decoder\0®\ 1ú\ 1\0\0\93q\0\1ex\13\11\14\8f\84\0q\1ftype.func(*uint8) *encoding/base64.decoder\0\1f\0ú\ 1\0\0\0\91\15q\1f®\ 1ú\ 1\0\0\ 5\b\0\0\0\8f\ 1\12®\ 1ú\ 1\0\0\ 1\12\ 1\17®\ 1ú\ 1\0\0\ 1u\ 1\10®\ 1ú\ 1\0\0\ 5è\0\0\0u\ 1\11¨\0ú\ 1\0\0\0\0Æ\ 1ú\ 1\0\0\0\0®\ 1ú\ 1\0\0\95èÿÿÿ\1cs\e\ 1\15®\ 1ú\ 1\0\0\ 1\15\ 5\10\0\0\0\8d®\ 1ú\ 1\0\0\ 1\12\ 1\13\9a\ 1ú\ 1\0\0\ 5\18\0\0\0u\ 1\13®\ 1ú\ 1\0\0\95Øÿÿÿ\1ds#\ 1\15®\ 1ú\ 1\0\0\ 1\15\ 1\8e®\ 1ú\ 1\0\0\95àÿÿÿ\1ds#\ 1\15®\ 1ú\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\84\0q type.*encoding/base64.decoder\0®\ 1ú\ 1\0\0\93q\0 x\13\11\14\8f®\ 1ú\ 1\0\0\93q\0#x\13\15\b\0\0\0$\8f®\ 1ú\ 1\0\0\ 1\12\15\10\0\0\0\18\8f\84\0q!type.func(*uint8, *uint8, *encoding/base64.decoder) io.Reader\0\1f\0ú\ 1\0\0\0\91%q!®\ 1ú\ 1\0\0\ 5\18\0\0\0\8f\ 1\11®\ 1ú\ 1\0\0\ 5 \0\0\0\8f\ 1\10®\ 1ú\ 1\0\0\ 1\11\95ðÿÿÿ\17s#®\ 1ú\ 1\0\0\ 1\10\95øÿÿÿ\17s#®\ 1ú\ 1\0\0\95ðÿÿÿ\17s#\ 1\11®\ 1ú\ 1\0\0\95øÿÿÿ\17s#\ 1\10\84\0\8f"compress/bzip2.r\0«\ 1û\ 1\0\0\11"\8f\ 1\13®\ 1û\ 1\0\0\ 1\11\ 1\8e®\ 1û\ 1\0\0\ 1\10\ 5\b\0\0\0\8e\84\0q#compress/bzip2.NewReader\0\84\0q$type.func(io.Reader) io.Reader\0\1f\0û\ 1\0\0\0\91#q$®\ 1û\ 1\0\0\ 5\10\0\0\0\8f\ 1\11®\ 1û\ 1\0\0\ 5\18\0\0\0\8f\ 1\10\84\0\8f%io/ioutil.r\0«\ 1ü\ 1\0\0\11%\8f\ 1\13®\ 1ü\ 1\0\0\ 1\11\ 1\8e®\ 1ü\ 1\0\0\ 1\10\ 5\b\0\0\0\8e\84\0q&io/ioutil.ReadAll\0\84\0q'type.func(io.Reader) ([]uint8, error)\0\1f\0ü\ 1\0\0\0\91&q'«\ 1ü\ 1\0\0\ 5\10\0\0\0\8f\ 1\13®\ 1ü\ 1\0\0\ 1\8e\ 1\15\84\0s("".b\0®\ 1ü\ 1\0\0\ 1\15\95°ÿÿÿ(s\br\0ü\ 1\0\0\ 5\b\0\0\0\8e\ 1\15r\0ü\ 1\0\0\ 1\15\95¸ÿÿÿ(s\br\0ü\ 1\0\0\ 5\f\0\0\0\8e\ 1\15r\0ü\ 1\0\0\ 1\15\95¼ÿÿÿ(s\b«\ 1ü\ 1\0\0\ 5 \0\0\0\8f\ 1\13®\ 1ü\ 1\0\0\ 1\8e\ 1\15\84\0s)"".err\0\84\0q*type.error\0®\ 1ü\ 1\0\0\ 1\15\95\90ÿÿÿ)s*®\ 1ü\ 1\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1ü\ 1\0\0\ 1\15\95\98ÿÿÿ)s*«\ 1ý\ 1\0\0\95\90ÿÿÿ)s*\ 1\13¢\ 1ý\ 1\0\0\ 1\8e\ 1uQ\0ý\ 1\0\0\0\ 5\1f\a\0\0p«\ 1þ\ 1\0\0\11\18\8f\ 1\13®\ 1þ\ 1\0\0\95\90ÿÿÿ)s*\ 1\15®\ 1þ\ 1\0\0\ 1\15\ 1\8e®\ 1þ\ 1\0\0\95\98ÿÿÿ)s*\ 1\15®\ 1þ\ 1\0\0\ 1\15\ 5\b\0\0\0\8e\84\0q+runtime.convI2E\0\84\0q,type.func(error) interface {}\0\1f\0þ\ 1\0\0\0\91+q,«\ 1þ\ 1\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1þ\ 1\0\0\ 1\8f\ 1\17²\ 1þ\ 1\0\0\0\0²\ 1þ\ 1\0\0\0\0\84\0q-runtime.panic\0\84\0q.type.func(interface {})\0\1f\0þ\ 1\0\0\0\91-q.®\ 1\0\ 2\0\0\95°ÿÿÿ(s\b\ 1\13\84\0q/"".jsonbytes\0®\ 1\0\ 2\0\0\ 1\13\91/q\br\0\0\ 2\0\0\95¸ÿÿÿ(s\b\ 1\13r\0\0\ 2\0\0\ 1\13\95\b\0\0\0/q\br\0\0\ 2\0\0\95¼ÿÿÿ(s\b\ 1\13r\0\0\ 2\0\0\ 1\13\95\f\0\0\0/q\b\84\0q0type.*"".JSONResponse\0®\ 1\ 2\ 2\0\0\93q\00x\13\11\14\8f\84\0q1"".jsondata\0\84\0q\ 1type."".JSONResponse\0«\ 1\ 2\ 2\0\0\911q\ 1\ 1\13®\ 1\ 2\ 2\0\0\ 1\13\15\b\0\0\0\18\8f\84\0q\ 2runtime.convT2E\0\84\0q\ 3type.func(*uint8, *"".JSONResponse) interface {}\0\1f\0\ 2\ 2\0\0\0\91\ 2q\ 3«\ 1\ 2\ 2\0\0\ 5\10\0\0\0\8f\ 1\16\84\0\8f\ 4encoding/json.v\0«\ 1\ 2\ 2\0\0\15\10\0\0\0\ 4\8f\ 1\17²\ 1\ 2\ 2\0\0\0\0²\ 1\ 2\ 2\0\0\0\0\84\0\8f\ 5encoding/json.data\0«\ 1\ 2\ 2\0\0\11\ 5\8f\ 1\13®\ 1\ 2\ 2\0\0\91/q\b\ 1\15®\ 1\ 2\ 2\0\0\ 1\15\ 1\8er\0\ 2\ 2\0\0\95\b\0\0\0/q\b\ 1\15r\0\ 2\ 2\0\0\ 1\15\ 5\b\0\0\0\8er\0\ 2\ 2\0\0\95\f\0\0\0/q\b\ 1\15r\0\ 2\ 2\0\0\ 1\15\ 5\f\0\0\0\8e\84\0q\ 6encoding/json.Unmarshal\0\84\0q\atype.func([]uint8, interface {}) error\0\1f\0\ 2\ 2\0\0\0\91\ 6q\a®\ 1\ 2\ 2\0\0\ 5 \0\0\0\8f\ 1\13®\ 1\ 2\ 2\0\0\ 1\13\95Èÿÿÿ)s*®\ 1\ 2\ 2\0\0\ 5(\0\0\0\8f\ 1\13®\ 1\ 2\ 2\0\0\ 1\13\95Ðÿÿÿ)s*«\ 1\ 2\ 2\0\0\95Èÿÿÿ)s*\ 1\13¢\ 1\ 2\ 2\0\0\ 1\8e\ 1uQ\0\ 2\ 2\0\0\0\ 5G\a\0\0p«\ 1\ 3\ 2\0\0\11\18\8f\ 1\13®\ 1\ 3\ 2\0\0\95Èÿÿÿ)s*\ 1\15®\ 1\ 3\ 2\0\0\ 1\15\ 1\8e®\ 1\ 3\ 2\0\0\95Ðÿÿÿ)s*\ 1\15®\ 1\ 3\ 2\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0\ 3\ 2\0\0\0\91+q,«\ 1\ 3\ 2\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1\ 3\ 2\0\0\ 1\8f\ 1\17²\ 1\ 3\ 2\0\0\0\0²\ 1\ 3\ 2\0\0\0\0\1f\0\ 3\ 2\0\0\0\91-q.\84\0q\b"".gobinit\0\1f\0\ 5\ 2\0\0\0\91\bq\vª\0\ 6\ 2\0\0\0\0\84\0q "".jsondec\0ã\0\17\ 2\0\0\91 q\v\ 5@\0\0\0u®\ 1\18\ 2\0\0\93q\0\ 1x\13\11\14\8f\84\0q
+type.func(*uint8) *"".JSONResponse\0\1f\0\18\ 2\0\0\0\91\15q
+®\ 1\18\ 2\0\0\ 5\b\0\0\0\8f\ 1\13®\ 1\19\ 2\0\0\93q\00x\13\11\14\8f®\ 1\19\ 2\0\0\ 1\13\15\b\0\0\0\18\8f\1f\0\19\ 2\0\0\0\91\ 2q\ 3«\ 1\19\ 2\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1\19\ 2\0\0\15\10\0\0\0\ 4\8f\ 1\17²\ 1\19\ 2\0\0\0\0²\ 1\19\ 2\0\0\0\0«\ 1\19\ 2\0\0\11\ 5\8f\ 1\13\84\0q\vtype.[]uint8\0®\ 1\19\ 2\0\0\91/q\v\ 1\15®\ 1\19\ 2\0\0\ 1\15\ 1\8er\0\19\ 2\0\0\95\b\0\0\0/q\v\ 1\15r\0\19\ 2\0\0\ 1\15\ 5\b\0\0\0\8er\0\19\ 2\0\0\95\f\0\0\0/q\v\ 1\15r\0\19\ 2\0\0\ 1\15\ 5\f\0\0\0\8e\1f\0\19\ 2\0\0\0\91\ 6q\a®\ 1\19\ 2\0\0\ 5 \0\0\0\8f\ 1\13®\ 1\19\ 2\0\0\ 1\13\95ðÿÿÿ)s*®\ 1\19\ 2\0\0\ 5(\0\0\0\8f\ 1\13®\ 1\19\ 2\0\0\ 1\13\95øÿÿÿ)s*«\ 1\19\ 2\0\0\95ðÿÿÿ)s*\ 1\13¢\ 1\19\ 2\0\0\ 1\8e\ 1uQ\0\19\ 2\0\0\0\ 5n\a\0\0p«\ 1\1a\ 2\0\0\11\18\8f\ 1\13®\ 1\1a\ 2\0\0\95ðÿÿÿ)s*\ 1\15®\ 1\1a\ 2\0\0\ 1\15\ 1\8e®\ 1\1a\ 2\0\0\95øÿÿÿ)s*\ 1\15®\ 1\1a\ 2\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0\1a\ 2\0\0\0\91+q,«\ 1\1a\ 2\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1\1a\ 2\0\0\ 1\8f\ 1\17²\ 1\1a\ 2\0\0\0\0²\ 1\1a\ 2\0\0\0\0\1f\0\1a\ 2\0\0\0\91-q.ª\0\1d\ 2\0\0\0\0\84\0q\f"".jsonenc\0\84\0q\rtype.func()\0ã\0\1f\ 2\0\0\91\fq\r\ 5P\0\0\0u®\ 1 \ 2\0\0\93q\00x\13\11\14\8f«\ 1 \ 2\0\0\911q\ 1\ 1\13®\ 1 \ 2\0\0\ 1\13\15\b\0\0\0\18\8f\1f\0 \ 2\0\0\0\91\ 2q\ 3«\ 1 \ 2\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1 \ 2\0\0\11\ 4\8f\ 1\17²\ 1 \ 2\0\0\0\0²\ 1 \ 2\0\0\0\0\84\0q\ eencoding/json.Marshal\0\84\0q\ ftype.func(interface {}) ([]uint8, error)\0\1f\0 \ 2\0\0\0\91\ eq\ f«\ 1 \ 2\0\0\ 5\10\0\0\0\8f\ 1\13®\ 1 \ 2\0\0\ 1\8e\ 1\15\84\0s\10"".buf\0®\ 1 \ 2\0\0\ 1\15\95àÿÿÿ\10s\vr\0 \ 2\0\0\ 5\b\0\0\0\8e\ 1\15r\0 \ 2\0\0\ 1\15\95èÿÿÿ\10s\vr\0 \ 2\0\0\ 5\f\0\0\0\8e\ 1\15r\0 \ 2\0\0\ 1\15\95ìÿÿÿ\10s\v«\ 1 \ 2\0\0\ 5 \0\0\0\8f\ 1\13®\ 1 \ 2\0\0\ 1\8e\ 1\15®\ 1 \ 2\0\0\ 1\15\95ðÿÿÿ)s*®\ 1 \ 2\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1 \ 2\0\0\ 1\15\95øÿÿÿ)s*«\ 1!\ 2\0\0\95ðÿÿÿ)s*\ 1\13¢\ 1!\ 2\0\0\ 1\8e\ 1uQ\0!\ 2\0\0\0\ 5\93\a\0\0p«\ 1"\ 2\0\0\11\18\8f\ 1\13®\ 1"\ 2\0\0\95ðÿÿÿ)s*\ 1\15®\ 1"\ 2\0\0\ 1\15\ 1\8e®\ 1"\ 2\0\0\95øÿÿÿ)s*\ 1\15®\ 1"\ 2\0\0\ 1\15\ 5\b\0\0\0\8e\1f\0"\ 2\0\0\0\91+q,«\ 1"\ 2\0\0\ 5\10\0\0\0\8f\ 1\16«\ 1"\ 2\0\0\ 1\8f\ 1\17²\ 1"\ 2\0\0\0\0²\ 1"\ 2\0\0\0\0\1f\0"\ 2\0\0\0\91-q.ª\0%\ 2\0\0\0\0\84\0q\11"".BenchmarkJSONEncode\0\84\0q\12type.func(*testing.B)\0ã\0'\ 2\0\0\91\11q\12E\b\0\0\0\b\0\0\0u\84\0t\13"".b\0\84\0q\14type.*testing.B\0®\ 1(\ 2\0\0\91\13t\14\ 1\11r\0(\ 2\0\0\95\b\0\0\0/q\v\ 1\10¯\ 1(\ 2\0\0\ 1\10\ 1\10®\ 1(\ 2\0\0\ 1\10\ 5p\0\0\0\8c\84\0q\15type.int\0r\0)\ 2\0\0\ 1u\81\10\15Y\0)\ 2\0\0\0\ 5\9c\a\0\0pD\0)\ 2\0\0\0\81\10\15®\ 1)\ 2\0\0\91\13t\14\ 1\15r\0)\ 2\0\0\ 5P\0\0\0\90\ 1\13\84\0s\16"".i\0r\0)\ 2\0\0\ 1\10\95üÿÿÿ\16s\15&\0)\ 2\0\0\ 1\13\ 1\10U\0)\ 2\0\0\0\ 5¤\a\0\0p\1f\0*\ 2\0\0\0\91\fq\rr\0*\ 2\0\0\95üÿÿÿ\16s\15\ 1\10Y\0)\ 2\0\0\0\ 5\9b\a\0\0pª\0,\ 2\0\0\0\0\84\0q\17"".BenchmarkJSONDecode\0ã\0.\ 2\0\0\91\17q\12E\b\0\0\0\b\0\0\0u®\ 1/\ 2\0\0\91\13t\14\ 1\11r\0/\ 2\0\0\95\b\0\0\0/q\v\ 1\10¯\ 1/\ 2\0\0\ 1\10\ 1\10®\ 1/\ 2\0\0\ 1\10\ 5p\0\0\0\8cr\00\ 2\0\0\ 1u\81\10\15Y\00\ 2\0\0\0\ 5\a\0\0pD\00\ 2\0\0\0\81\10\15®\ 10\ 2\0\0\91\13t\14\ 1\15r\00\ 2\0\0\ 5P\0\0\0\90\ 1\13r\00\ 2\0\0\ 1\10\95üÿÿÿ\16s\15&\00\ 2\0\0\ 1\13\ 1\10U\00\ 2\0\0\0\ 5µ\a\0\0p\1f\01\ 2\0\0\0\91 q\rr\01\ 2\0\0\95üÿÿÿ\16s\15\ 1\10Y\00\ 2\0\0\0\ 5¬\a\0\0pª\03\ 2\0\0\0\0\84\0q\18"".revcomp\0\84\0q\19type.func([]uint8)\0ã\0q \0\0\91\18q\19EÀ\0\0\0\10\0\0\0u\84\0t\1a"".data\0®\ 1r \0\0\91\1at\v\ 1\13\84\0s\ebytes.buf\0®\ 1r \0\0\ 1\13\95¨ÿÿÿ\es\vr\0r \0\0\95\b\0\0\0\1at\v\ 1\13r\0r \0\0\ 1\13\95°ÿÿÿ\es\vr\0r \0\0\95\f\0\0\0\1at\v\ 1\13r\0r \0\0\ 1\13\95´ÿÿÿ\es\v\84\0s\1c""..r0\0\84\0q\1dtype.*bytes.Buffer\0®\ 1r \0\0\ 1u\95èÿÿÿ\1cs\1d\84\0q\1etype.bytes.Buffer\0\84\0q\1ftype.uint8\0\84\0\8f runtime.typ\0®\ 1r \0\0\93q\0\1ex\1f\11 \8f\84\0q!runtime.new\0\84\0q"type.func(*uint8) *bytes.Buffer\0\1f\0r \0\0\0\91!q"®\ 1r \0\0\ 5\b\0\0\0\8f\ 1\17®\ 1r \0\0\ 1\17\ 1\12®\ 1r \0\0\ 1u\ 1\10®\ 1r \0\0\ 5\f\0\0\0u\ 1\11¨\0r \0\0\0\0Æ\ 1r \0\0\0\0®\ 1r \0\0\95¨ÿÿÿ\es\v\ 1\15®\ 1r \0\0\ 1\15\ 1\8dr\0r \0\0\95°ÿÿÿ\es\v\ 1\15r\0r \0\0\ 1\15\ 5\b\0\0\0\8dr\0r \0\0\95´ÿÿÿ\es\v\ 1\15r\0r \0\0\ 1\15\ 5\f\0\0\0\8d®\ 1r \0\0\ 1\12\95èÿÿÿ\1cs\1d®\ 1r \0\0\93q\0\1dx\1f\11 \8f\84\0q#type.io.Reader\0\84\0\8f$runtime.typ2\0®\ 1r \0\0\93q\0#x\1f\15\b\0\0\0$\8f®\ 1r \0\0\95èÿÿÿ\1cs\1d\ 1\13\84\0\8f%runtime.elem\0®\ 1r \0\0\ 1\13\15\10\0\0\0%\8f\84\0q&runtime.convT2I\0\84\0q'type.func(*uint8, *uint8, *bytes.Buffer) io.Reader\0\1f\0r \0\0\0\91&q'«\ 1r \0\0\ 5\18\0\0\0\8f\ 1\16\84\0\8f(bufio.rd\0«\ 1r \0\0\11(\8f\ 1\17²\ 1r \0\0\0\0²\ 1r \0\0\0\0\84\0q)bufio.NewReader\0\84\0q*type.func(io.Reader) *bufio.Reader\0\1f\0r \0\0\0\91)q*®\ 1r \0\0\ 5\10\0\0\0\8f\ 1\13\84\0s+"".in\0\84\0q,type.*bufio.Reader\0®\ 1r \0\0\ 1\13\95\90ÿÿÿ+s,\84\0q-io/ioutil.Discard\0\84\0q.type.io.Writer\0®\ 1s \0\0\91-q.\ 1\13\84\0s/"".out\0®\ 1s \0\0\ 1\13\95\80ÿÿÿ/s.®\ 1s \0\0\95\b\0\0\0-q.\ 1\13®\ 1s \0\0\ 1\13\95\88ÿÿÿ/s.®\ 1t \0\0\93q\0\vx\1f\11 \8f\84\0\8f0runtime.nel\0®\ 1t \0\0\ 5\0\0\10\0u\15\b\0\0\00\8f\84\0\8f1runtime.cap\0®\ 1t \0\0\ 5\0\0\10\0u\15\10\0\0\01\8f\84\0q\ 1runtime.makeslice\0\84\0q\ 2type.func(*uint8, int64, int64) []uint8\0\1f\0t \0\0\0\91\ 1q\ 2®\ 1t \0\0\ 5\18\0\0\0\8f\ 1\13®\ 1t \0\0\ 1\13\95¸ÿÿÿ\10s\vr\0t \0\0\ 5 \0\0\0\8f\ 1\13r\0t \0\0\ 1\13\95Àÿÿÿ\10s\vr\0t \0\0\ 5$\0\0\0\8f\ 1\13r\0t \0\0\ 1\13\95Äÿÿÿ\10s\v®\ 1u \0\0\95\90ÿÿÿ+s,\ 1\13\84\0\8f\ 3bufio.b\0®\ 1u \0\0\ 1\13\11\ 3\8f\84\0\8f\ 4bufio.delim\0q\0u \0\0\ 5
+\0\0\0u\15\b\0\0\0\ 4\8f\84\0q\ 5bufio.(*Reader).ReadSlice\0\1f\0u \0\0\0\11\ 5q\84\0\8f\ 6bufio.line\0«\ 1u \0\0\15\10\0\0\0\ 6\8f\ 1\13®\ 1u \0\0\ 1\8e\ 1\15\84\0s\a"".line\0®\ 1u \0\0\ 1\15\95\98ÿÿÿ\as\vr\0u \0\0\ 5\b\0\0\0\8e\ 1\15r\0u \0\0\ 1\15\95 ÿÿÿ\as\vr\0u \0\0\ 5\f\0\0\0\8e\ 1\15r\0u \0\0\ 1\15\95¤ÿÿÿ\as\v\84\0\8f\bbufio.err\0«\ 1u \0\0\15 \0\0\0\b\8f\ 1\13®\ 1u \0\0\ 1\8e\ 1\15\84\0s "".err\0\84\0q
+type.error\0®\ 1u \0\0\ 1\15\95Øÿÿÿ s
+®\ 1u \0\0\ 5\b\0\0\0\8e\ 1\15®\ 1u \0\0\ 1\15\95àÿÿÿ s
+«\ 1v \0\0\95Øÿÿÿ s
+\ 1\13¢\ 1v \0\0\ 1\8e\ 1uZ\0v \0\0\0\ 5ä\b\0\0p\84\0\8f\vio.p\0«\ 1w \0\0\15\b\0\0\0\v\8f\ 1\13\84\0q\ftype.[]uint8\0®\ 1w \0\0\95\98ÿÿÿ\as\f\ 1\15®\ 1w \0\0\ 1\15\ 1\8er\0w \0\0\95 ÿÿÿ\as\f\ 1\15r\0w \0\0\ 1\15\ 5\b\0\0\0\8er\0w \0\0\95¤ÿÿÿ\as\f\ 1\15r\0w \0\0\ 1\15\ 5\f\0\0\0\8e«\ 1w \0\0\95\80ÿÿÿ/s.\ 1\13®\ 1w \0\0\ 5\b\0\0\0\8e\ 1\15®\ 1w \0\0\ 1\15\ 1\8f®\ 1w \0\0\ 1\8e\ 1\13®\ 1w \0\0\ 5 \0\0\0\8e\ 1\13\1f\0w \0\0\0\ 1\13\84\0s\r"".nchar\0r\0z \0\0\ 1u\95pÿÿÿ\rs\15r\0{ \0\0\95Àÿÿÿ\10s\f\ 1\13\84\0s\ e"".w\0r\0{ \0\0\ 1\13\95xÿÿÿ\ es\15®\ 1} \0\0\95\90ÿÿÿ+s,\ 1\13®\ 1} \0\0\ 1\13\11\ 3\8fq\0} \0\0\ 5
+\0\0\0u\15\b\0\0\0\ 4\8f\1f\0} \0\0\0\11\ 5qr\0} \0\0\95xÿÿÿ\ es\15\ 1\1cr\0} \0\0\95Äÿÿÿ\10s\f\ 1\19®\ 1} \0\0\95¸ÿÿÿ\10s\f\ 1\17r\0} \0\0\95Àÿÿÿ\10s\f\ 1\16«\ 1} \0\0\15\10\0\0\0\ 6\8f\ 1\13®\ 1} \0\0\ 1\8e\ 1\15®\ 1} \0\0\ 1\15\95\98ÿÿÿ\as\fr\0} \0\0\ 5\b\0\0\0\8e\ 1\15r\0} \0\0\ 1\15\95 ÿÿÿ\as\fr\0} \0\0\ 5\f\0\0\0\8e\ 1\15r\0} \0\0\ 1\15\95¤ÿÿÿ\as\f«\ 1} \0\0\15 \0\0\0\b\8f\ 1\13®\ 1} \0\0\ 1\8e\ 1\15®\ 1} \0\0\ 1\15\95Øÿÿÿ s
+®\ 1} \0\0\ 5\b\0\0\0\8e\ 1\15®\ 1} \0\0\ 1\15\95àÿÿÿ s
+«\ 1~ \0\0\95Øÿÿÿ s
+\ 1\13¢\ 1~ \0\0\ 1\8e\ 1uZ\0~ \0\0\0\ 5\96\b\0\0p«\ 1~ \0\0\95\98ÿÿÿ\as\f\ 1\15&\0~ \0\0\ 5\b\0\0\0\90\ 1uT\0~ \0\0\0\ 5%\b\0\0p\84\0q\ fruntime.panicindex\0\1f\0~ \0\0\0\11\ fq®\ 1~ \0\0\ 1\90\ 1\15q\0~ \0\0\ 1\90\ 1\13%\0~ \0\0\ 1\13\ 5>\0\0\0uQ\0~ \0\0\0\ 5\96\b\0\0pr\0\81 \0\0\95 ÿÿÿ\as\f\ 1\13/\0\81 \0\0\0\ 1\13¯\ 1\81 \0\0\ 1\13\ 1\13°\ 1\81 \0\0\95¤ÿÿÿ\as\f\ 1\15¢\ 1\81 \0\0\ 1\13\ 1\15V\0\81 \0\0\0\ 50\b\0\0p\84\0q\10runtime.panicslice\0\1f\0\81 \0\0\0\11\10qr\0\81 \0\0\ 1\13\95 ÿÿÿ\as\fr\0\81 \0\0\95¤ÿÿÿ\as\f\ 1\13r\0\81 \0\0\ 1\13\95¤ÿÿÿ\as\f®\ 1\81 \0\0\95\98ÿÿÿ\as\f\ 1\15®\ 1\81 \0\0\ 1\15\95\98ÿÿÿ\as\fr\0\82 \0\0\95 ÿÿÿ\as\f\ 1\13 \0\82 \0\0\ 1\13\95pÿÿÿ\rs\15r\0\83 \0\0\95 ÿÿÿ\as\f\ 1\13r\0\83 \0\0\95pÿÿÿ\rs\15\ 1\18r\0\83 \0\0\ 5\89\88\88\88u\ 1\10>\0\83 \0\0\ 1\18\0 \0\83 \0\0\ 1\18\ 1\12¶\0\83 \0\0\ 5\ 5\0\0\0u\ 1\12¶\0\83 \0\0\ 5\1f\0\0\0u\ 1\18Ý\0\83 \0\0\ 1\18\ 1\12 \0\83 \0\0\ 1\12\ 1\13 \0\83 \0\0\ 5\80\0\0\0u\ 1\13&\0\83 \0\0\ 1\13\ 1\1cW\0\83 \0\0\0\ 5x\b\0\0pr\0\84 \0\0\81\16\f\ 1\10r\0\84 \0\0\ 5\ 5\0\0\0u\ 1\15>\0\84 \0\0\ 1\15\ 1\10®\ 1\84 \0\0\93q\0\fx\1f\11 \8f¯\ 1\84 \0\0\ 1\10\ 1\13®\ 1\84 \0\0\ 1\13\15\b\0\0\00\8f¯\ 1\84 \0\0\ 1\10\ 1\13®\ 1\84 \0\0\ 1\13\15\10\0\0\01\8f\1f\0\84 \0\0\0\91\ 1q\ 2\84\0s\11"".buf\0r\0\84 \0\0\95Àÿÿÿ\11s\f\ 1\18®\ 1\84 \0\0\ 5\18\0\0\0\8f\ 1\17r\0\84 \0\0\ 5 \0\0\0\8f\ 1\13r\0\84 \0\0\ 5$\0\0\0\8f\ 1\16r\0\85 \0\0\81\13\f\ 1\10Ý\0\85 \0\0\ 1\18\ 1\13¯\ 1\85 \0\0\ 1\13\ 1\13°\ 1\85 \0\0\81\10\f\ 1\15¢\ 1\85 \0\0\ 1\13\ 1\15V\0\85 \0\0\0\ 5W\b\0\0p\1f\0\85 \0\0\0\11\10qr\0\85 \0\0\81\10\f\ 1\12\84\0s\12"".nbuf\0r\0\85 \0\0\ 1\10\95Ðÿÿÿ\12s\fÝ\0\85 \0\0\ 1\13\ 1\12r\0\85 \0\0\81\16\f\ 1\11r\0\85 \0\0\ 1\16\95Ôÿÿÿ\12s\fÝ\0\85 \0\0\ 1\13\ 1\11\9a\ 1\85 \0\0\81\17\f\ 1\13®\ 1\85 \0\0\ 1\17\95Èÿÿÿ\12s\f®\ 1\85 \0\0\ 1\13\ 1\10\84\0\8f\13runtime.to\0«\ 1\85 \0\0\11\13\8f\ 1\13®\ 1\85 \0\0\ 1\10\ 1\8er\0\85 \0\0\ 1\12\ 5\b\0\0\0\8er\0\85 \0\0\ 1\11\ 5\f\0\0\0\8e\84\0\8f\14runtime.fr\0«\ 1\85 \0\0\15\10\0\0\0\14\8f\ 1\13®\ 1\85 \0\0\95¸ÿÿÿ\11s\f\ 1\15®\ 1\85 \0\0\ 1\15\ 1\8er\0\85 \0\0\ 1\18\ 5\b\0\0\0\8er\0\85 \0\0\95Äÿÿÿ\11s\f\ 1\15r\0\85 \0\0\ 1\15\ 5\f\0\0\0\8e\84\0\8f\15runtime.wid\0r\0\85 \0\0\ 5\ 1\0\0\0u\15 \0\0\0\15\8f\84\0q\16runtime.copy\0\84\0q\17type.func([]uint8, []uint8, uint32) int\0\1f\0\85 \0\0\0\91\16q\17\84\0q\18type.int\0r\0\85 \0\0\95xÿÿÿ\ es\18\ 1\1cr\0\85 \0\0\95Ðÿÿÿ\12s\f\ 1\13r\0\86 \0\0\81\13\f\ 1\16r\0\86 \0\0\95Àÿÿÿ\11s\f\ 1\15Ý\0\86 \0\0\ 1\15\ 1\13 \0\86 \0\0\ 1\13\81\1c\18r\0\86 \0\0\ 1\1c\95xÿÿÿ\ es\18®\ 1\87 \0\0\95Èÿÿÿ\12s\f\ 1\17®\ 1\87 \0\0\ 1\17\95¸ÿÿÿ\11s\fr\0\87 \0\0\ 1\16\95Àÿÿÿ\11s\fr\0\87 \0\0\95Ôÿÿÿ\12s\f\ 1\13r\0\87 \0\0\ 1\13\95Äÿÿÿ\11s\f®\ 1\8b \0\0\95\98ÿÿÿ\as\f\ 1\13\84\0s\19"".autotmp_0075\0®\ 1\8b \0\0\ 1\13\15ðÿÿÿ\19sr\0\8b \0\0\95 ÿÿÿ\as\f\ 1\13r\0\8b \0\0\ 1\13\15øÿÿÿ\19sr\0\8b \0\0\95¤ÿÿÿ\as\f\ 1\13r\0\8b \0\0\ 1\13\15üÿÿÿ\19sr\0\8b \0\0\ 1u\ 1\10r\0\8b \0\0\15øÿÿÿ\19s\ 1\e«\ 1\8b \0\0\15ðÿÿÿ\19s\ 1\13®\ 1\8b \0\0\ 1\8e\ 1\11Y\0\8b \0\0\0\ 5\84\b\0\0pD\0\8b \0\0\0\ 1\10r\0\8b \0\0\ 1\e\ 1\15&\0\8b \0\0\ 1\10\ 1\eR\0\8b \0\0\0\ 5
+\b\0\0pq\0\8b \0\0\ 1\8c\ 1\15q\0\8b \0\0\ 1\15\81\12\1fE\0\8b \0\0\0\ 1\11/\0\8c \0\0\0\81\1c\18r\0\8d \0\0\ 1\1c\95xÿÿÿ\ es\18¯\ 1\8d \0\0\ 1\1c\ 1\13&\0\8d \0\0\ 1\13\81\16\fO\0\8d \0\0\0\ 5\90\b\0\0p\1f\0\8d \0\0\0\11\ fqq\0\8d \0\0\81\12\1f\ 1\19w\0\8d \0\0\ 1\19\ 1\19\84\0q\1a"".revCompTable\0\84\0q\etype.[256]uint8\0«\ 1\8d \0\0\91\1aq\e\ 1\1aq\0\8d \0\0\ 3\19\ 1\95\ 1\18q\0\8d \0\0\ 1\18\ 3\13\ 1\92Y\0\8b \0\0\0\ 5\83\b\0\0pr\0\93 \0\0\ 1u\81\10\18Y\0\94 \0\0\0\ 5\99\b\0\0p \0\94 \0\0\ 5<\0\0\0u\81\1c\18&\0\94 \0\0\ 1\16\ 1\1cU\0\94 \0\0\0\ 5Ó\b\0\0pr\0\95 \0\0\81\10\18\ 1\11 \0\95 \0\0\ 5<\0\0\0u\ 1\11\84\0s\1c"".i\0r\0\95 \0\0\ 1\10\95tÿÿÿ\1cs\18¯\ 1\95 \0\0\ 1\10\ 1\13¯\ 1\95 \0\0\ 1\11\ 1\15°\ 1\95 \0\0\81\19\f\ 1\18¢\ 1\95 \0\0\ 1\15\ 1\18V\0\95 \0\0\0\ 5¤\b\0\0p\1f\0\95 \0\0\0\11\10q¢\ 1\95 \0\0\ 1\13\ 1\15T\0\95 \0\0\0\ 5£\b\0\0pÝ\0\95 \0\0\ 1\13\ 1\15r\0\95 \0\0\ 1\15\ 1\er\0\95 \0\0\81\19\f\ 1\1aÝ\0\95 \0\0\ 1\13\ 1\1a\9a\ 1\95 \0\0\81\17\f\ 1\13®\ 1\95 \0\0\ 1\13\ 1\18\84\0s\1d"".j\0r\0\95 \0\0\ 1\1c\95|ÿÿÿ\1ds\18¯\ 1\95 \0\0\ 1\1c\ 1\13°\ 1\95 \0\0\81\16\f\ 1\15¢\ 1\95 \0\0\ 1\13\ 1\15V\0\95 \0\0\0\ 5²\b\0\0p\1f\0\95 \0\0\0\11\10qr\0\95 \0\0\81\16\f\ 1\12Ý\0\95 \0\0\ 1\13\ 1\12r\0\95 \0\0\81\19\f\ 1\11Ý\0\95 \0\0\ 1\13\ 1\11\9a\ 1\95 \0\0\81\17\f\ 1\13®\ 1\95 \0\0\ 1\13\ 1\10«\ 1\95 \0\0\15\10\0\0\0\14\8f\ 1\13®\ 1\95 \0\0\ 1\10\ 1\8er\0\95 \0\0\ 1\12\ 5\b\0\0\0\8er\0\95 \0\0\ 1\11\ 5\f\0\0\0\8e«\ 1\95 \0\0\11\13\8f\ 1\13®\ 1\95 \0\0\ 1\18\ 1\8er\0\95 \0\0\ 1\e\ 5\b\0\0\0\8er\0\95 \0\0\ 1\1a\ 5\f\0\0\0\8er\0\95 \0\0\ 5\ 1\0\0\0u\15 \0\0\0\15\8f\1f\0\95 \0\0\0\91\16q\17r\0\95 \0\0\95|ÿÿÿ\1ds\18\ 1\1cr\0\95 \0\0\95Äÿÿÿ\11s\f\ 1\19®\ 1\95 \0\0\95¸ÿÿÿ\11s\f\ 1\17r\0\95 \0\0\95tÿÿÿ\1cs\18\ 1\13r\0\95 \0\0\95Àÿÿÿ\11s\f\ 1\16r\0\95 \0\0\ 5(\0\0\0\8f\ 1\11r\0\96 \0\0\81\13\18\ 1\10 \0\96 \0\0\ 1\11\ 1\13¯\ 1\96 \0\0\ 1\13\ 1\13&\0\96 \0\0\ 1\13\81\16\fO\0\96 \0\0\0\ 5Î\b\0\0p\1f\0\96 \0\0\0\11\ fqq\0\96 \0\0\ 5
+\0\0\0u\ 3\13\ 1\92r\0\97 \0\0\81\11\18\ 1\13D\0\97 \0\0\0\ 1\13 \0\97 \0\0\ 1\13\81\10\18Y\0\94 \0\0\0\ 5\98\b\0\0p¯\ 1\99 \0\0\ 1\10\ 1\13°\ 1\99 \0\0\81\19\f\ 1\15¢\ 1\99 \0\0\ 1\13\ 1\15V\0\99 \0\0\0\ 5Ø\b\0\0p\1f\0\99 \0\0\0\11\10qr\0\99 \0\0\ 1\13\ 1\12«\ 1\99 \0\0\15\b\0\0\0\v\8f\ 1\13®\ 1\99 \0\0\ 1\17\ 1\8er\0\99 \0\0\ 1\12\ 5\b\0\0\0\8er\0\99 \0\0\ 1\19\ 5\f\0\0\0\8e«\ 1\99 \0\0\95\80ÿÿÿ/s.\ 1\13®\ 1\99 \0\0\ 5\b\0\0\0\8e\ 1\15®\ 1\99 \0\0\ 1\15\ 1\8f®\ 1\99 \0\0\ 1\8e\ 1\13®\ 1\99 \0\0\ 5 \0\0\0\8e\ 1\13\1f\0\99 \0\0\0\ 1\13Y\0v \0\0\0\ 5÷\a\0\0pª\0\9b \0\0\0\0\84\0q\1e"".BenchmarkRevcomp25M\0\84\0q\1ftype.func(*testing.B)\0ã\0\9d \0\0\91\1eq\1fE\18\0\0\0\b\0\0\0u\84\0t "".b\0\84\0q!type.*testing.B\0®\ 1\9e \0\0\91 t!\ 1\11\84\0q""".fasta25m\0r\0\9e \0\0\95\b\0\0\0"q\f\ 1\10¯\ 1\9e \0\0\ 1\10\ 1\10®\ 1\9e \0\0\ 1\10\ 5p\0\0\0\8cr\0\9f \0\0\ 1u\81\10\18Y\0\9f \0\0\0\ 5í\b\0\0pD\0\9f \0\0\0\81\10\18®\ 1\9f \0\0\91 t!\ 1\15r\0\9f \0\0\ 5P\0\0\0\90\ 1\13r\0\9f \0\0\ 1\10\95üÿÿÿ\1cs\18&\0\9f \0\0\ 1\13\ 1\10U\0\9f \0\0\0\ 5ü\b\0\0p\84\0\8f#"".data\0«\ 1 \0\0\11#\8f\ 1\13®\ 1 \0\0\91"q\f\ 1\15®\ 1 \0\0\ 1\15\ 1\8er\0 \0\0\95\b\0\0\0"q\f\ 1\15r\0 \0\0\ 1\15\ 5\b\0\0\0\8er\0 \0\0\95\f\0\0\0"q\f\ 1\15r\0 \0\0\ 1\15\ 5\f\0\0\0\8e\84\0q$"".revcomp\0\84\0q%type.func([]uint8)\0\1f\0 \0\0\0\91$q%r\0 \0\0\95üÿÿÿ\1cs\18\ 1\10Y\0\9f \0\0\0\ 5ì\b\0\0pª\0¢ \0\0\0\0\84\0q&"".stripTabNL\0\84\0q'type.func(int32) int32\0ã\0Ï \0\0\91&q'E\0\0\0\0\10\0\0\0u\84\0t("".r\0\84\0q)type.int32\0r\0Ï \0\0\91(t)\ 1\10&\0Ð \0\0\ 1\10\ 5 \0\0\0uQ\0Ð \0\0\0\ 5\ 4 \0\0p&\0Ð \0\0\ 1\10\ 5
+\0\0\0uQ\0Ð \0\0\0\ 5\ 4 \0\0pY\0Ð \0\0\0\ 5\ 6 \0\0p\84\0t*""..noname\0r\0Ñ \0\0\ 5ÿÿÿÿu\15\b\0\0\0*tª\0Ñ \0\0\0\0r\0Ó \0\0\ 1\10\15\b\0\0\0*tª\0Ó \0\0\0\0\84\0q+"".init·3\0\84\0q,type.func()\0ã\0Ø \0\0\91+q,\ 5x\0\0\0u\84\0q-type.bytes.Buffer\0\84\0q.type.uint8\0\84\0\8f/runtime.typ\0®\ 1Ù \0\0\93q\0-x.\11/\8f\84\0q0runtime.new\0\84\0q1type.func(*uint8) *bytes.Buffer\0\1f\0Ù \0\0\0\910q1®\ 1Ù \0\0\ 5\b\0\0\0\8f\ 1\13\84\0q\ 1type.*bytes.Buffer\0®\ 1Ú \0\0\93q\0\ 1x.\11/\8f\84\0q\ 2type.io.Writer\0\84\0\8f\ 3runtime.typ2\0®\ 1Ú \0\0\93q\0\ 2x.\15\b\0\0\0\ 3\8f\84\0s\ 4"".&buf\0®\ 1Ú \0\0\ 1\13\15Øÿÿÿ\ 4s\84\0\8f\ 5runtime.elem\0®\ 1Ú \0\0\ 1\13\15\10\0\0\0\ 5\8f\84\0q\ 6runtime.convT2I\0\84\0q\atype.func(*uint8, *uint8, *bytes.Buffer) io.Writer\0\1f\0Ú \0\0\0\91\ 6q\a®\ 1Ú \0\0\ 5\18\0\0\0\8f\ 1\15\84\0s\b"".autotmp_0086\0®\ 1Ú \0\0\ 1\15\15ðÿÿÿ\bs®\ 1Ú \0\0\ 5 \0\0\0\8f\ 1\15®\ 1Ú \0\0\ 1\15\15øÿÿÿ\bs\84\0q type.*"".JSONResponse\0®\ 1Ú \0\0\93q\0 x.\11/\8f\84\0q
+"".jsondata\0\84\0q\vtype."".JSONResponse\0«\ 1Ú \0\0\91
+q\v\ 1\15®\ 1Ú \0\0\ 1\15\15\b\0\0\0\ 5\8f\84\0q\fruntime.convT2E\0\84\0q\rtype.func(*uint8, *"".JSONResponse) interface {}\0\1f\0Ú \0\0\0\91\fq\r«\ 1Ú \0\0\ 5\10\0\0\0\8f\ 1\16\84\0\8f\ etext/template.data\0«\ 1Ú \0\0\15\18\0\0\0\ e\8f\ 1\17×\0Ú \0\0\0\0\9a\ 1Ú \0\0\ 5\b\0\0\0u\ 1\16\9a\ 1Ú \0\0\ 5\b\0\0\0u\ 1\17®\ 1Ú \0\0\ 5\ 2\0\0\0u\ 1\11¨\0Ú \0\0\0\0²\ 1Ú \0\0\0\0!\0Ú \0\0\0\0\84\0q\ f"".tmpl\0\84\0q\10type.*text/template.Template\0®\ 1Ú \0\0\91\ fq\10\ 1\15\84\0\8f\11text/template.t\0®\ 1Ú \0\0\ 1\15\11\11\8f\84\0\8f\12text/template.wr\0«\ 1Ú \0\0\15\b\0\0\0\12\8f\ 1\15®\ 1Ú \0\0\15ðÿÿÿ\bs\ 1\18®\ 1Ú \0\0\ 1\18\ 1\90®\ 1Ú \0\0\15øÿÿÿ\bs\ 1\18®\ 1Ú \0\0\ 1\18\ 5\b\0\0\0\90\84\0q\13text/template.(*Template).Execute\0\1f\0Ú \0\0\0\11\13q«\ 1Ú \0\0\ 5(\0\0\0\8f\ 1\13®\ 1Ú \0\0\ 1\8e\ 1\15\84\0s\14"".err\0\84\0q\15type.error\0®\ 1Ú \0\0\ 1\15\95Èÿÿÿ\14s\15®\ 1Ú \0\0\ 5\b\0\0\0\8e\ 1\15®\ 1Ú \0\0\ 1\15\95Ðÿÿÿ\14s\15«\ 1Ú \0\0\95Èÿÿÿ\14s\15\ 1\13¢\ 1Ú \0\0\ 1\8e\ 1uQ\0Ú \0\0\0\ 5= \0\0p«\ 1Û \0\0\11\ 5\8f\ 1\13®\ 1Û \0\0\95Èÿÿÿ\14s\15\ 1\15®\ 1Û \0\0\ 1\15\ 1\8e®\ 1Û \0\0\95Ðÿÿÿ\14s\15\ 1\15®\ 1Û \0\0\ 1\15\ 5\b\0\0\0\8e\84\0q\16runtime.convI2E\0\84\0q\17type.func(error) interface {}\0\1f\0Û \0\0\0\91\16q\17«\ 1Û \0\0\ 5\10\0\0\0\8f\ 1\16«\ 1Û \0\0\ 1\8f\ 1\17²\ 1Û \0\0\0\0²\ 1Û \0\0\0\0\84\0q\18runtime.panic\0\84\0q\19type.func(interface {})\0\1f\0Û \0\0\0\91\18q\19®\ 1Ý \0\0\15Øÿÿÿ\ 4s\ 1\11\84\0s\1a""..r0\0\84\0q\etype.[]uint8\0®\ 1Ý \0\0\ 1u\95àÿÿÿ\1as\er\0Ý \0\0\ 1u\95èÿÿÿ\1as\er\0Ý \0\0\ 1u\95ìÿÿÿ\1as\e®\ 1Ý \0\0\ 1\8c\ 1\17r\0Ý \0\0\ 5\b\0\0\0\8c\ 1\10r\0Ý \0\0\ 5\f\0\0\0\8c\ 1\16r\0Ý \0\0\ 5\10\0\0\0\8c\ 1\13¯\ 1Ý \0\0\ 1\13\ 1\13°\ 1Ý \0\0\ 1\10\ 1\15¢\ 1Ý \0\0\ 1\13\ 1\15V\0Ý \0\0\0\ 5J \0\0p\84\0q\1cruntime.panicslice\0\1f\0Ý \0\0\0\11\1cqr\0Ý \0\0\ 1\10\ 1\12Ý\0Ý \0\0\ 1\13\ 1\12r\0Ý \0\0\ 1\16\ 1\15Ý\0Ý \0\0\ 1\13\ 1\15\9a\ 1Ý \0\0\ 1\17\ 1\13®\ 1Ý \0\0\ 1\13\95àÿÿÿ\1as\er\0Ý \0\0\ 1\12\95èÿÿÿ\1as\er\0Ý \0\0\ 1\15\95ìÿÿÿ\1as\e\84\0\8f\1dbytes.a\0«\ 1Ý \0\0\11\1d\8f\ 1\15®\ 1Ý \0\0\95àÿÿÿ\1as\e\ 1\18®\ 1Ý \0\0\ 1\18\ 1\90r\0Ý \0\0\95èÿÿÿ\1as\e\ 1\18r\0Ý \0\0\ 1\18\ 5\b\0\0\0\90r\0Ý \0\0\95ìÿÿÿ\1as\e\ 1\18r\0Ý \0\0\ 1\18\ 5\f\0\0\0\90\84\0\8f\1ebytes.b\0«\ 1Ý \0\0\15\10\0\0\0\1e\8f\ 1\15\84\0q\1f"".jsonbytes\0®\ 1Ý \0\0\91\1fq\e\ 1\18®\ 1Ý \0\0\ 1\18\ 1\90r\0Ý \0\0\95\b\0\0\0\1fq\e\ 1\18r\0Ý \0\0\ 1\18\ 5\b\0\0\0\90r\0Ý \0\0\95\f\0\0\0\1fq\e\ 1\18r\0Ý \0\0\ 1\18\ 5\f\0\0\0\90\84\0q bytes.Equal\0\84\0q!type.func([]uint8, []uint8) bool\0\1f\0Ý \0\0\0\91 q!q\0Ý \0\0\ 5 \0\0\0\8f\ 1\13%\0Ý \0\0\ 1\13\ 1uZ\0Ý \0\0\0\ 5~ \0\0p®\ 1Þ \0\0\15Øÿÿÿ\ 4s\ 1\10\84\0q"type.int\0r\0Þ \0\0\ 1u\95Äÿÿÿ\1as"r\0Þ \0\0\ 5\b\0\0\0\8b\ 1\13Ý\0Þ \0\0\ 5\10\0\0\0\8b\ 1\13r\0Þ \0\0\ 1\13\95Äÿÿÿ\1as"r\0Þ \0\0\95Äÿÿÿ\1as"\ 1\13¯\ 1Þ \0\0\ 1\13\ 1\13®\ 1Þ \0\0\ 1\13\ 1\8f\84\0q#runtime.printint\0\84\0q$type.func(int64)\0\1f\0Þ \0\0\0\91#q$\84\0q%runtime.printsp\0\1f\0Þ \0\0\0\91%q,r\0Þ \0\0\95\b\0\0\0\1fq\e\ 1\13¯\ 1Þ \0\0\ 1\13\ 1\13®\ 1Þ \0\0\ 1\13\ 1\8f\1f\0Þ \0\0\0\91#q$\84\0q&runtime.printnl\0\1f\0Þ \0\0\0\91&q,\84\0q'type.string\0®\ 1ß \0\0\93q\0'x.\11/\8f\84\0q(go.string."wrong output"\0«\ 1ß \0\0\11(q\ 1\16«\ 1ß \0\0\15\b\0\0\0\ 5\8f\ 1\17²\ 1ß \0\0\0\0²\ 1ß \0\0\0\0\84\0q)type.func(*uint8, string) interface {}\0\1f\0ß \0\0\0\91\fq)«\ 1ß \0\0\ 5\18\0\0\0\8f\ 1\16«\ 1ß \0\0\ 1\8f\ 1\17²\ 1ß \0\0\0\0²\ 1ß \0\0\0\0\1f\0ß \0\0\0\91\18q\19ª\0á \0\0\0\0\84\0q*"".tmplexec\0ã\0ã \0\0\91*q,\ 5H\0\0\0u®\ 1ä \0\0\93q\0 x.\11/\8f«\ 1ä \0\0\91
+q\v\ 1\15®\ 1ä \0\0\ 1\15\15\b\0\0\0\ 5\8f\1f\0ä \0\0\0\91\fq\r«\ 1ä \0\0\ 5\10\0\0\0\8f\ 1\16«\ 1ä \0\0\15\18\0\0\0\ e\8f\ 1\17×\0ä \0\0\0\0\9a\ 1ä \0\0\ 5\b\0\0\0u\ 1\16\9a\ 1ä \0\0\ 5\b\0\0\0u\ 1\17®\ 1ä \0\0\ 5\ 2\0\0\0u\ 1\11¨\0ä \0\0\0\0²\ 1ä \0\0\0\0!\0ä \0\0\0\0®\ 1ä \0\0\91\ fq\10\ 1\15®\ 1ä \0\0\ 1\15\11\11\8f«\ 1ä \0\0\15\b\0\0\0\12\8f\ 1\15\84\0q+io/ioutil.Discard\0®\ 1ä \0\0\91+q\ 2\ 1\18®\ 1ä \0\0\ 1\18\ 1\90®\ 1ä \0\0\95\b\0\0\0+q\ 2\ 1\18®\ 1ä \0\0\ 1\18\ 5\b\0\0\0\90\1f\0ä \0\0\0\11\13q«\ 1ä \0\0\ 5(\0\0\0\8f\ 1\13®\ 1ä \0\0\ 1\8e\ 1\15®\ 1ä \0\0\ 1\15\95ðÿÿÿ\14s\15®\ 1ä \0\0\ 5\b\0\0\0\8e\ 1\15®\ 1ä \0\0\ 1\15\95øÿÿÿ\14s\15«\ 1ä \0\0\95ðÿÿÿ\14s\15\ 1\13¢\ 1ä \0\0\ 1\8e\ 1uQ\0ä \0\0\0\ 5¨ \0\0p«\ 1å \0\0\11\ 5\8f\ 1\13®\ 1å \0\0\95ðÿÿÿ\14s\15\ 1\15®\ 1å \0\0\ 1\15\ 1\8e®\ 1å \0\0\95øÿÿÿ\14s\15\ 1\15®\ 1å \0\0\ 1\15\ 5\b\0\0\0\8e\1f\0å \0\0\0\91\16q\17«\ 1å \0\0\ 5\10\0\0\0\8f\ 1\16«\ 1å \0\0\ 1\8f\ 1\17²\ 1å \0\0\0\0²\ 1å \0\0\0\0\1f\0å \0\0\0\91\18q\19ª\0ç \0\0\0\0\84\0q,"".BenchmarkTemplate\0\84\0q-type.func(*testing.B)\0ã\0é \0\0\91,q-E\b\0\0\0\b\0\0\0u\84\0t."".b\0\84\0q/type.*testing.B\0®\ 1ê \0\0\91.t/\ 1\11r\0ê \0\0\95\b\0\0\0\1fq\e\ 1\10¯\ 1ê \0\0\ 1\10\ 1\10®\ 1ê \0\0\ 1\10\ 5p\0\0\0\8cr\0ë \0\0\ 1u\81\10"Y\0ë \0\0\0\ 5± \0\0pD\0ë \0\0\0\81\10"®\ 1ë \0\0\91.t/\ 1\15r\0ë \0\0\ 5P\0\0\0\90\ 1\13\84\0s0"".i\0r\0ë \0\0\ 1\10\95üÿÿÿ0s"&\0ë \0\0\ 1\13\ 1\10U\0ë \0\0\0\ 5¹ \0\0p\84\0q1type.func()\0\1f\0ì \0\0\0\91*q1r\0ì \0\0\95üÿÿÿ0s"\ 1\10Y\0ë \0\0\0\ 5° \0\0pª\0î \0\0\0\0\84\0q\ 1"".init\0ã\0î \0\0\91\ 1q1\ 58\0\0\0u\84\0q\ 2"".initdone·\0\84\0q\ 3type.uint8\0q\0î \0\0\91\ 2q\ 3\ 1\10q\0î \0\0\81\10\ 3\ 1\13%\0î \0\0\ 1\13\ 1uQ\0î \0\0\0\ 5Ä \0\0pq\0î \0\0\81\10\ 3\ 1\13%\0î \0\0\ 1\13\ 5\ 2\0\0\0uZ\0î \0\0\0\ 5à \0\0pª\0î \0\0\0\0\84\0q\ 4runtime.throwinit\0\1f\0î \0\0\0\91\ 4q1q\0î \0\0\ 5\ 1\0\0\0u\91\ 2q\ 3\84\0q\ 5text/template.init\0\1f\0î \0\0\0\91\ 5q1\84\0q\ 6bufio.init\0\1f\0î \0\0\0\91\ 6q1\84\0q\astrings.init\0\1f\0î \0\0\0\91\aq1\84\0q\bencoding/base64.init\0\1f\0î \0\0\0\91\bq1\84\0q compress/bzip2.init\0\1f\0î \0\0\0\91 q1\84\0q
+io.init\0\1f\0î \0\0\0\91
+q1\84\0q\vcompress/gzip.init\0\1f\0î \0\0\0\91\vq1\84\0q\freflect.init\0\1f\0î \0\0\0\91\fq1\84\0q\rlog.init\0\1f\0î \0\0\0\91\rq1\84\0q\ eio/ioutil.init\0\1f\0î \0\0\0\91\ eq1\84\0q\ fencoding/json.init\0\1f\0î \0\0\0\91\ fq1\84\0q\10encoding/gob.init\0\1f\0î \0\0\0\91\10q1\84\0q\11bytes.init\0\1f\0î \0\0\0\91\11q1\84\0q\12testing.init\0\1f\0î \0\0\0\91\12q1\84\0\8f\13"".n\0r\0 \0\0\0\ 5@x}\ 1u\11\13\8f\84\0q\14"".fasta\0\84\0q\15type.func(int) []uint8\0\1f\0 \0\0\0\0\91\14q\15®\ 1 \0\0\0\ 5\b\0\0\0\8f\ 1\13\84\0q\16"".fasta25m\0®\ 1 \0\0\0\ 1\13\91\16q\er\0 \0\0\0\ 5\10\0\0\0\8f\ 1\13r\0 \0\0\0\ 1\13\95\b\0\0\0\16q\er\0 \0\0\0\ 5\14\0\0\0\8f\ 1\13r\0 \0\0\0\ 1\13\95\f\0\0\0\16q\e«\ 1¬\ 1\0\0\11\1e\8f\ 1\13®\ 1¬\ 1\0\0\91\1fq\e\ 1\15®\ 1¬\ 1\0\0\ 1\15\ 1\8er\0¬\ 1\0\0\95\b\0\0\0\1fq\e\ 1\15r\0¬\ 1\0\0\ 1\15\ 5\b\0\0\0\8er\0¬\ 1\0\0\95\f\0\0\0\1fq\e\ 1\15r\0¬\ 1\0\0\ 1\15\ 5\f\0\0\0\8e\84\0\8f\17bytes.count\0r\0¬\ 1\0\0\ 5
+\0\0\0u\15\10\0\0\0\17\8f\84\0q\18bytes.Repeat\0\84\0q\19type.func([]uint8, int) []uint8\0\1f\0¬\ 1\0\0\0\91\18q\19®\ 1¬\ 1\0\0\ 5\18\0\0\0\8f\ 1\13\84\0q\1a"".jsongunz\0®\ 1¬\ 1\0\0\ 1\13\91\1aq\er\0¬\ 1\0\0\ 5 \0\0\0\8f\ 1\13r\0¬\ 1\0\0\ 1\13\95\b\0\0\0\1aq\er\0¬\ 1\0\0\ 5$\0\0\0\8f\ 1\13r\0¬\ 1\0\0\ 1\13\95\f\0\0\0\1aq\e\84\0q\ego.string."main"\0«\ 1Ö \0\0\11\eq\ 1\16\84\0\8f\1ctext/template.name\0«\ 1Ö \0\0\11\1c\8f\ 1\17²\ 1Ö \0\0\0\0²\ 1Ö \0\0\0\0\84\0q\1dtext/template.New\0\84\0q\1etype.func(string) *text/template.Template\0\1f\0Ö \0\0\0\91\1dq\1e®\ 1Ö \0\0\ 5\10\0\0\0\8f\ 1\13\84\0s\1f"".autotmp_0091\0®\ 1Ö \0\0\ 1\13\15øÿÿÿ\1fs\84\0q "".stripTabNL\0\84\0q!type.func(int32) int32\0®\ 1Ö \0\0\93q\0 x!\ 1\13\84\0\8f"strings.mapping\0®\ 1Ö \0\0\ 1\13\11"\8f\84\0q#""..gostring.2\0«\ 1Ö \0\0\11#q\ 1\16\84\0\8f$strings.s\0«\ 1Ö \0\0\15\b\0\0\0$\8f\ 1\17²\ 1Ö \0\0\0\0²\ 1Ö \0\0\0\0\84\0q%strings.Map\0\84\0q&type.func(func(int32) int32, string) string\0\1f\0Ö \0\0\0\91%q&«\ 1Ö \0\0\ 5\18\0\0\0\8f\ 1\16\84\0\8f'text/template.text\0«\ 1Ö \0\0\15\b\0\0\0'\8f\ 1\17²\ 1Ö \0\0\0\0²\ 1Ö \0\0\0\0®\ 1Ö \0\0\15øÿÿÿ\1fs\ 1\13\84\0\8f(text/template.t\0®\ 1Ö \0\0\ 1\13\11(\8f\84\0q)text/template.(*Template).Parse\0\1f\0Ö \0\0\0\11)q®\ 1Ö \0\0\ 5\18\0\0\0\8f\ 1\12«\ 1Ö \0\0\ 5 \0\0\0\8f\ 1\13®\ 1Ö \0\0\ 1\8e\ 1\11®\ 1Ö \0\0\ 5\b\0\0\0\8e\ 1\10®\ 1Ö \0\0\ 1\12\11(\8f\84\0\8f*text/template.err\0«\ 1Ö \0\0\15\b\0\0\0*\8f\ 1\13®\ 1Ö \0\0\ 1\11\ 1\8e®\ 1Ö \0\0\ 1\10\ 5\b\0\0\0\8e\84\0q+text/template.Must\0\84\0q,type.func(*text/template.Template, error) *text/template.Template\0\1f\0Ö \0\0\0\91+q,®\ 1Ö \0\0\ 5\18\0\0\0\8f\ 1\13\84\0q-"".tmpl\0\84\0q.type.*text/template.Template\0®\ 1Ö \0\0\ 1\13\91-q.\84\0q/"".init·1\0\1f\0î \0\0\0\91/q1\84\0q0"".init·2\0\1f\0î \0\0\0\910q1\84\0q1"".init·3\0\84\0q\ 1type.func()\0\1f\0î \0\0\0\911q\ 1q\0î \0\0\ 5\ 2\0\0\0u\91\ 2q\ 3ª\0î \0\0\0\0\84\0q\ 2type..hash."".JSONResponse\0\84\0q\ 3type.func(*uintptr, uintptr, *"".JSONResponse)\0ã\0\ 1\0\0\0\93o\ 2\ 2q\ 3E\18\0\0\0\18\0\0\0u\84\0t\ 4"".h\0\84\0q\ 5type.*uintptr\0®\ 1\ 1\0\0\0\91\ 4t\ 5\ 1\13®\ 1\ 1\0\0\0\ 1\13\ 1\8f®\ 1\ 1\0\0\0\ 5\b\0\0\0u\ 5\b\0\0\0\8f\84\0t\ 6"".p\0\84\0q\atype.*"".JSONResponse\0®\ 1\ 1\0\0\0\95\10\0\0\0\ 6t\a\ 1\13®\ 1\ 1\0\0\0\ 1\13\ 5\10\0\0\0\8f\84\0q\bruntime.memhash\0\84\0q type.func(*uintptr, uintptr, **"".JSONNode)\0\1f\0\ 1\0\0\0\0\91\bq ®\ 1\ 1\0\0\0\91\ 4t\ 5\ 1\13®\ 1\ 1\0\0\0\ 1\13\ 1\8f®\ 1\ 1\0\0\0\ 5\10\0\0\0u\ 5\b\0\0\0\8f®\ 1\ 1\0\0\0\95\10\0\0\0\ 6t\a\ 1\13®\ 1\ 1\0\0\0\ 1\13\ 5\10\0\0\0\8f\9a\ 1\ 1\0\0\0\ 5\b\0\0\0u\ 5\10\0\0\0\8f\84\0q
+runtime.strhash\0\84\0q\vtype.func(*uintptr, uintptr, *string)\0\1f\0\ 1\0\0\0\0\91
+q\vª\0\ 1\0\0\0\0\0\84\0q\ftype..eq."".JSONResponse\0\84\0q\rtype.func(*bool, uintptr, *"".JSONResponse, *"".JSONResponse)\0ã\0\ 1\0\0\0\93o\ 2\fq\rE(\0\0\0 \0\0\0u®\ 1\ 1\0\0\0\95\10\0\0\0\ 6t\a\ 1\11\84\0t\ e"".q\0®\ 1\ 1\0\0\0\95\18\0\0\0\ et\a\ 1\10\84\0t\ f"".eq\0\84\0q\10type.*bool\0®\ 1\ 1\0\0\0\91\ ft\10\ 1\17®\ 1\ 1\0\0\0\ 1\8c\ 1\13®\ 1\ 1\0\0\0\ 1\8b\ 1\15¢\ 1\ 1\0\0\0\ 1\13\ 1\15Q\0\ 1\0\0\0\0\ 5(
+\0\0pq\0\ 1\0\0\0\ 1u\ 1\92ª\0\ 1\0\0\0\0\0®\ 1\ 1\0\0\0\81\11\a\ 1\13\9a\ 1\ 1\0\0\0\ 5\b\0\0\0u\ 1\13®\ 1\ 1\0\0\0\ 1\8e\ 1\16r\0\ 1\0\0\0\ 5\b\0\0\0\8e\ 1\11®\ 1\ 1\0\0\0\81\10\a\ 1\13\9a\ 1\ 1\0\0\0\ 5\b\0\0\0u\ 1\13®\ 1\ 1\0\0\0\ 1\8e\ 1\12r\0\ 1\0\0\0\ 5\b\0\0\0\8e\ 1\10&\0\ 1\0\0\0\ 1\11\ 1\10Z\0\ 1\0\0\0\0\ 5>
+\0\0p«\ 1\ 1\0\0\0\ 1\8f\ 1\15®\ 1\ 1\0\0\0\ 1\16\ 1\90r\0\ 1\0\0\0\ 1\11\ 5\b\0\0\0\90«\ 1\ 1\0\0\0\ 5\10\0\0\0\8f\ 1\15®\ 1\ 1\0\0\0\ 1\12\ 1\90r\0\ 1\0\0\0\ 1\10\ 5\b\0\0\0\90\84\0q\11runtime.cmpstring\0\84\0q\12type.func(string, string) int\0\1f\0\ 1\0\0\0\0\91\11q\12®\ 1\ 1\0\0\0\91\ ft\10\ 1\17r\0\ 1\0\0\0\ 5 \0\0\0\8f\ 1\13&\0\ 1\0\0\0\ 1\13\ 1uZ\0\ 1\0\0\0\0\ 5>
+\0\0pY\0\ 1\0\0\0\0\ 5@
+\0\0pq\0\ 1\0\0\0\ 1u\ 1\92ª\0\ 1\0\0\0\0\0q\0\ 1\0\0\0\ 5\ 1\0\0\0u\ 1\92ª\0\ 1\0\0\0\0\0\84\0q\13"".statictmp_0015\0-\0µ\0\0\0\17o\b\b\0\0\0\13q\bHáz\14®GÑ?-\0µ\0\0\0\13o\ 1\13q\ 5a\0\0\0u-\0µ\0\0\0\17o\b(\0\0\0\13q\b¸\1e\85ëQ¸¾?-\0µ\0\0\0\17o\ 1 \0\0\0\13q\ 5c\0\0\0u-\0µ\0\0\0\17o\bH\0\0\0\13q\b¸\1e\85ëQ¸¾?-\0µ\0\0\0\17o\ 1@\0\0\0\13q\ 5g\0\0\0u-\0µ\0\0\0\17o\bh\0\0\0\13q\bHáz\14®GÑ?-\0µ\0\0\0\17o\ 1`\0\0\0\13q\ 5t\0\0\0u-\0µ\0\0\0\17o\b\88\0\0\0\13q\b{\14®Gáz\94?-\0µ\0\0\0\17o\ 1\80\0\0\0\13q\ 5B\0\0\0u-\0µ\0\0\0\17o\b¨\0\0\0\13q\b{\14®Gáz\94?-\0µ\0\0\0\17o\ 1 \0\0\0\13q\ 5D\0\0\0u-\0µ\0\0\0\17o\bÈ\0\0\0\13q\b{\14®Gáz\94?-\0µ\0\0\0\17o\ 1À\0\0\0\13q\ 5H\0\0\0u-\0µ\0\0\0\17o\bè\0\0\0\13q\b{\14®Gáz\94?-\0µ\0\0\0\17o\ 1à\0\0\0\13q\ 5K\0\0\0u-\0µ\0\0\0\17o\b\b\ 1\0\0\13q\b{\14®Gáz\94?-\0µ\0\0\0\17o\ 1\0\ 1\0\0\13q\ 5M\0\0\0u-\0µ\0\0\0\17o\b(\ 1\0\0\13q\b{\14®Gáz\94?-\0µ\0\0\0\17o\ 1 \ 1\0\0\13q\ 5N\0\0\0u-\0µ\0\0\0\17o\bH\ 1\0\0\13q\b{\14®Gáz\94?-\0µ\0\0\0\17o\ 1@\ 1\0\0\13q\ 5R\0\0\0u-\0µ\0\0\0\17o\bh\ 1\0\0\13q\b{\14®Gáz\94?-\0µ\0\0\0\17o\ 1`\ 1\0\0\13q\ 5S\0\0\0u-\0µ\0\0\0\17o\b\88\ 1\0\0\13q\b{\14®Gáz\94?-\0µ\0\0\0\17o\ 1\80\ 1\0\0\13q\ 5V\0\0\0u-\0µ\0\0\0\17o\b¨\ 1\0\0\13q\b{\14®Gáz\94?-\0µ\0\0\0\17o\ 1 \ 1\0\0\13q\ 5W\0\0\0u-\0µ\0\0\0\17o\bÈ\ 1\0\0\13q\b{\14®Gáz\94?-\0µ\0\0\0\17o\ 1À\ 1\0\0\13q\ 5Y\0\0\0u\84\0q\14"".statictmp_0017\0-\0¼\0\0\0\17o\b\b\0\0\0\14q\b[ëº \9dcÓ?-\0¼\0\0\0\13o\ 1\14q\ 5a\0\0\0u-\0¼\0\0\0\17o\b(\0\0\0\14q\b\eVÍ=®WÉ?-\0¼\0\0\0\17o\ 1 \0\0\0\14q\ 5c\0\0\0u-\0¼\0\0\0\17o\bH\0\0\0\14q\b¿Â¶ê:IÉ?-\0¼\0\0\0\17o\ 1@\0\0\0\14q\ 5g\0\0\0u-\0¼\0\0\0\17o\bh\0\0\0\14q\b8\b\ 3KîKÓ?-\0¼\0\0\0\17o\ 1`\0\0\0\14q\ 5t\0\0\0u\84\0q\15"".statictmp_0019\0-\0Å\0\0\0\13o\ 1\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\ 1\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\ 2\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\ 3\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\ 4\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\ 5\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\ 6\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\a\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\b\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1 \0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1
+\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\v\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\f\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1\r\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\ e\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\ f\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\10\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1\11\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\12\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\13\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\14\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\15\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\16\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\17\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1\18\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\19\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1\1a\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\e\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\1c\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1\1d\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\1e\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\1f\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1 \0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1!\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1"\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1#\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1$\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1%\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1&\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1'\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1(\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1)\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1*\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1+\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1,\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1-\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1.\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1/\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 10\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 11\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 12\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 13\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 14\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 15\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 16\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 17\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 18\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 19\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1:\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1;\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1<\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1=\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1>\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1?\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1@\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1A\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1B\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1C\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1D\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1E\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1F\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1G\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1H\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1I\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1J\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1K\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1L\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1M\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1N\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1O\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1P\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1Q\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1R\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1S\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1T\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1U\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1V\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1W\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1X\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1Y\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1Z\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1[\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1]\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1^\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1_\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1`\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1a\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1b\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1c\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1d\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1e\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1f\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1g\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1h\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1i\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1j\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1k\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1l\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1m\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1n\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1o\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1p\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1q\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1r\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1s\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1t\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1u\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1v\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1w\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1x\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1y\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1z\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1{\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1|\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1}\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1~\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\7f\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\80\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\81\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\82\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\83\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\84\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\85\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1\86\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1\87\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\88\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\89\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\8a\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\8b\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\8c\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\8d\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\8e\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\8f\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\90\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1\91\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\92\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\93\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1\94\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\95\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\96\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\97\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\98\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\99\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\9a\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\9b\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\9c\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\9d\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\9e\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1\9f\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1 \0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1¡\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1¢\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1£\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1¤\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1¥\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1¦\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1§\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1¨\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1©\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1ª\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1«\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1¬\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1®\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1¯\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1°\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1±\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1²\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1³\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1´\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1µ\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1¶\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1·\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1¸\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1¹\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1º\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1»\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1¼\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1½\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1¾\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1¿\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1À\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1Á\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1Â\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1Ã\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1Ä\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1Å\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1Æ\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1Ç\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1È\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1É\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1Ê\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1Ë\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1Ì\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1Í\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1Î\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1Ï\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1Ð\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1Ñ\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1Ò\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1Ó\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1Ô\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1Õ\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1Ö\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1×\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1Ø\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1Ù\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1Ú\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1Û\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1Ü\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1Ý\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1Þ\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1ß\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1à\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1á\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1â\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1ã\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1ä\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1å\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1æ\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1ç\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1è\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1é\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1ê\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1ë\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1ì\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1í\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1î\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1ï\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1ð\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1ñ\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1ò\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1ó\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1ô\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1õ\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1ö\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1÷\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1ø\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1ù\0\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1ú\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1û\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1ü\0\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1ý\0\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1þ\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1ÿ\0\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\0\ 1\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1\ 1\ 1\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\ 2\ 1\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\ 3\ 1\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\ 4\ 1\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\ 5\ 1\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\ 6\ 1\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\a\ 1\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\b\ 1\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1 \ 1\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1
+\ 1\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\v\ 1\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\f\ 1\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\r\ 1\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\ e\ 1\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\ f\ 1\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\10\ 1\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\11\ 1\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\12\ 1\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1\13\ 1\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\14\ 1\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\15\ 1\0\0\15q\ 5G\0\0\0u-\0Å\0\0\0\17o\ 1\16\ 1\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1\17\ 1\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\18\ 1\0\0\15q\ 5T\0\0\0u-\0Å\0\0\0\17o\ 1\19\ 1\0\0\15q\ 5C\0\0\0u-\0Å\0\0\0\17o\ 1\1a\ 1\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\e\ 1\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\1c\ 1\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\1d\ 1\0\0\15q\ 5A\0\0\0u-\0Å\0\0\0\17o\ 1\1e\ 1\0\0\15q\ 5A\0\0\0u\84\0q\16go.string.">ONE Homo sapiens alu\n"\0-\0Ç\0\0\0\13o\b\16q\17q\0\f\0\0\0\16x-\0Ç\0\0\0\17o\ 4\b\0\0\0\16q\ 5\16\0\0\0u-\0Ç\0\0\0\17o\b\f\0\0\0\16q >ONE Hom-\0Ç\0\0\0\17o\b\14\0\0\0\16q o sapien-\0Ç\0\0\0\17o\ 6\1c\0\0\0\16q s alu
+\0\0-\0Ç\0\0\0\17o\ 1"\0\0\0\16q\ 1u6\0Ç\0\0\0\13o
+\16q\ 5(\0\0\0u\84\0q\17go.string.">TWO IUB ambiguity codes\n"\0-\0É\0\0\0\13o\b\17q\17q\0\f\0\0\0\17x-\0É\0\0\0\17o\ 4\b\0\0\0\17q\ 5\19\0\0\0u-\0É\0\0\0\17o\b\f\0\0\0\17q >TWO IUB-\0É\0\0\0\17o\b\14\0\0\0\17q ambigui-\0É\0\0\0\17o\b\1c\0\0\0\17q ty codes-\0É\0\0\0\17o\ 1$\0\0\0\17q
+\0\0\0\0\0\0\0-\0É\0\0\0\17o\ 1%\0\0\0\17q\ 1u6\0É\0\0\0\13o
+\17q\ 5(\0\0\0u\84\0q\18go.string.">THREE Homo sapiens frequency\n"\0-\0Ë\0\0\0\13o\b\18q\17q\0\f\0\0\0\18x-\0Ë\0\0\0\17o\ 4\b\0\0\0\18q\ 5\1e\0\0\0u-\0Ë\0\0\0\17o\b\f\0\0\0\18q >THREE H-\0Ë\0\0\0\17o\b\14\0\0\0\18q omo sapi-\0Ë\0\0\0\17o\b\1c\0\0\0\18q ens freq-\0Ë\0\0\0\17o\ 6$\0\0\0\18q uency
+\0\0-\0Ë\0\0\0\17o\ 1*\0\0\0\18q\ 1u6\0Ë\0\0\0\13o
+\18q\ 50\0\0\0u\84\0q\19go.string."flush"\0-\0Ó\0\0\0\13o\b\19q\17q\0\f\0\0\0\19x-\0Ó\0\0\0\17o\ 4\b\0\0\0\19q\ 5\ 5\0\0\0u-\0Ó\0\0\0\17o\ 5\f\0\0\0\19q flush\0\0\0-\0Ó\0\0\0\17o\ 1\11\0\0\0\19q\ 1u6\0Ó\0\0\0\13o
+\19q\ 5\18\0\0\0u\84\0q\1ago.string."%v\n%v"\0-\0c\ 1\0\0\13o\b\1aq\17q\0\f\0\0\0\1ax-\0c\ 1\0\0\17o\ 4\b\0\0\0\1aq\ 5\ 5\0\0\0u-\0c\ 1\0\0\17o\ 5\f\0\0\0\1aq %v
+%v\0\0\0-\0c\ 1\0\0\17o\ 1\11\0\0\0\1aq\ 1u6\0c\ 1\0\0\13o
+\1aq\ 5\18\0\0\0u\84\0q\ego.string."%s\n%s\n"\0-\0f\ 1\0\0\13o\b\eq\17q\0\f\0\0\0\ex-\0f\ 1\0\0\17o\ 4\b\0\0\0\eq\ 5\ 6\0\0\0u-\0f\ 1\0\0\17o\ 6\f\0\0\0\eq %s
+%s
+\0\0-\0f\ 1\0\0\17o\ 1\12\0\0\0\eq\ 1u6\0f\ 1\0\0\13o
+\eq\ 5\18\0\0\0u\84\0q\1cgo.string."gob: encode+decode lost data"\0-\0g\ 1\0\0\13o\b\1cq\17q\0\f\0\0\0\1cx-\0g\ 1\0\0\17o\ 4\b\0\0\0\1cq\ 5\1c\0\0\0u-\0g\ 1\0\0\17o\b\f\0\0\0\1cq gob: enc-\0g\ 1\0\0\17o\b\14\0\0\0\1cq ode+deco-\0g\ 1\0\0\17o\b\1c\0\0\0\1cq de lost -\0g\ 1\0\0\17o\ 4$\0\0\0\1cq data\0\0\0\0-\0g\ 1\0\0\17o\ 1(\0\0\0\1cq\ 1u6\0g\ 1\0\0\13o
+\1cq\ 50\0\0\0u\84\0q\1dgo.string."gobdata not initialized"\0-\0\7f\ 1\0\0\13o\b\1dq\17q\0\f\0\0\0\1dx-\0\7f\ 1\0\0\17o\ 4\b\0\0\0\1dq\ 5\17\0\0\0u-\0\7f\ 1\0\0\17o\b\f\0\0\0\1dq gobdata -\0\7f\ 1\0\0\17o\b\14\0\0\0\1dq not init-\0\7f\ 1\0\0\17o\a\1c\0\0\0\1dq ialized\0-\0\7f\ 1\0\0\17o\ 1#\0\0\0\1dq\ 1u6\0\7f\ 1\0\0\13o
+\1dq\ 5(\0\0\0u\84\0q\1ego.string."wrong output"\0-\0ß \0\0\13o\b\1eq\17q\0\f\0\0\0\1ex-\0ß \0\0\17o\ 4\b\0\0\0\1eq\ 5\f\0\0\0u-\0ß \0\0\17o\b\f\0\0\0\1eq wrong ou-\0ß \0\0\17o\ 4\14\0\0\0\1eq tput\0\0\0\0-\0ß \0\0\17o\ 1\18\0\0\0\1eq\ 1u6\0ß \0\0\13o
+\1eq\ 5 \0\0\0u\84\0q\1f"".fastaRand\0\84\0q type.uint32\0-\0ÿ\0\0\0\93o\ 4\1fq \ 5*\0\0\0u\84\0q!"".jsonbz2_base64\0\84\0q"type.string\0\84\0q#""..gostring.1\0-\0M \0\0\93o\b!q"\17q\0\f\0\0\0#x-\0M \0\0\13o\b#q\17q\0\f\0\0\0#x-\0M \0\0\17o\ 4\b\0\0\0#q\ 5´Â\ 1\0u-\0M \0\0\17o\b\f\0\0\0#q QlpoOTFB-\0M \0\0\17o\b\14\0\0\0#q WSZTWZ0H-\0M \0\0\17o\b\1c\0\0\0#q 0LkG0bxf-\0M \0\0\17o\b$\0\0\0#q gFH8UAf/-\0M \0\0\17o\b,\0\0\0#q 8D////q/-\0M \0\0\17o\b4\0\0\0#q ///6YSvJ-\0M \0\0\17o\b<\0\0\0#q veAAAAAH-\0M \0\0\17o\bD\0\0\0#q 3ddt7gAN-\0M \0\0\17o\bL\0\0\0#q FrKppN9g-\0M \0\0\17o\bT\0\0\0#q w0gA++fG-\0M \0\0\17o\b\\0\0\0#q B9xKkUpX-\0M \0\0\17o\bd\0\0\0#q 0YWTENCg-\0M \0\0\17o\bl\0\0\0#q qzUW1tls-\0M \0\0\17o\bt\0\0\0#q yMB2w9nn-\0M \0\0\17o\b|\0\0\0#q vNSigNyS-\0M \0\0\17o\b\84\0\0\0#q +3cui5zA-\0M \0\0\17o\b\8c\0\0\0#q AAAAAAAA-\0M \0\0\17o\b\94\0\0\0#q AI4kILu6-\0M \0\0\17o\b\9c\0\0\0#q ytuWTLBb-\0M \0\0\17o\b¤\0\0\0#q aPXfc+A+-\0M \0\0\17o\b¬\0\0\0#q PQEgNAG1-\0M \0\0\17o\b´\0\0\0#q ZMBYWnWw-\0M \0\0\17o\b¼\0\0\0#q PoFrGjoB-\0M \0\0\17o\bÄ\0\0\0#q nYMumlUF-\0M \0\0\17o\bÌ\0\0\0#q UKA7NVBQ-\0M \0\0\17o\bÔ\0\0\0#q gut30zzu-\0M \0\0\17o\bÜ\0\0\0#q 8eM2tsoa-\0M \0\0\17o\bä\0\0\0#q pJ7u41dj-\0M \0\0\17o\bì\0\0\0#q LsxZarpl-\0M \0\0\17o\bô\0\0\0#q SoJouxrd-\0M \0\0\17o\bü\0\0\0#q fHrHPSiq-\0M \0\0\17o\b\ 4\ 1\0\0#q AGgkAD6D-\0M \0\0\17o\b\f\ 1\0\0#q QfT0ABu7-\0M \0\0\17o\b\14\ 1\0\0#q gG1qDtdV-\0M \0\0\17o\b\1c\ 1\0\0#q HVXp7vWu-\0M \0\0\17o\b$\ 1\0\0#q BoBk2wEO-\0M \0\0\17o\b,\ 1\0\0#q jKChQ5bv-\0M \0\0\17o\b4\ 1\0\0#q bh3riupX-\0M \0\0\17o\b<\ 1\0\0#q ZycASbai-\0M \0\0\17o\bD\ 1\0\0#q QEECRKib-\0M \0\0\17o\bL\ 1\0\0#q ZFJFtqWj-\0M \0\0\17o\bT\ 1\0\0#q R7bsGoaa-\0M \0\0\17o\b\\ 1\0\0#q 1lIFPRoK-\0M \0\0\17o\bd\ 1\0\0#q VQKoJFyq-\0M \0\0\17o\bl\ 1\0\0#q bWr5OB1A-\0M \0\0\17o\bt\ 1\0\0#q ie2pobm1-\0M \0\0\17o\b|\ 1\0\0#q EJKqVBU1-\0M \0\0\17o\b\84\ 1\0\0#q EE2lCg6a-\0M \0\0\17o\b\8c\ 1\0\0#q AUBV9hqL-\0M \0\0\17o\b\94\ 1\0\0#q 00q9btQ0-\0M \0\0\17o\b\9c\ 1\0\0#q J9hqu2za-\0M \0\0\17o\b¤\ 1\0\0#q vWVdjI6a-\0M \0\0\17o\b¬\ 1\0\0#q AusU22tN-\0M \0\0\17o\b´\ 1\0\0#q a+8m70Gj-\0M \0\0\17o\b¼\ 1\0\0#q RqarKRWt-\0M \0\0\17o\bÄ\ 1\0\0#q UDW2yFBI-\0M \0\0\17o\bÌ\ 1\0\0#q 1kBrrqrx-\0M \0\0\17o\bÔ\ 1\0\0#q eX3AyB9A-\0M \0\0\17o\bÜ\ 1\0\0#q D0wAAAeZ-\0M \0\0\17o\bä\ 1\0\0#q 6weqV1rV-\0M \0\0\17o\bì\ 1\0\0#q u8UVICgA-\0M \0\0\17o\bô\ 1\0\0#q AABeDn2c-\0M \0\0\17o\bü\ 1\0\0#q AAd9gAAC-\0M \0\0\17o\b\ 4\ 2\0\0#q I+7DvjHo-\0M \0\0\17o\b\f\ 2\0\0#q j73u8X2d-\0M \0\0\17o\b\14\ 2\0\0#q DXT2x6ad-\0M \0\0\17o\b\1c\ 2\0\0#q eFOTNe7B-\0M \0\0\17o\b$\ 2\0\0#q vavozFez-\0M \0\0\17o\b,\ 2\0\0#q kV1xXtJz-\0M \0\0\17o\b4\ 2\0\0#q u8H0983Q-\0M \0\0\17o\b<\ 2\0\0#q AHr5aPT4-\0M \0\0\17o\bD\ 2\0\0#q 2iem53fX-\0M \0\0\17o\bL\ 2\0\0#q 23IDr7Ye-\0M \0\0\17o\bT\ 2\0\0#q jQNtVVZr-\0M \0\0\17o\b\\ 2\0\0#q 24gGgB0V-\0M \0\0\17o\bd\ 2\0\0#q QffPXH18-\0M \0\0\17o\bl\ 2\0\0#q g9DoaDW8-\0M \0\0\17o\bt\ 2\0\0#q vt729h9b-\0M \0\0\17o\b|\ 2\0\0#q t72XsKth-\0M \0\0\17o\b\84\ 2\0\0#q 0ANxgodG-\0M \0\0\17o\b\8c\ 2\0\0#q iRxvYclA-\0M \0\0\17o\b\94\ 2\0\0#q AAAAnpqR-\0M \0\0\17o\b\9c\ 2\0\0#q tgGvcbo9-\0M \0\0\17o\b¤\ 2\0\0#q ABpy6aPQ-\0M \0\0\17o\b¬\ 2\0\0#q ADRZ3aAC-\0M \0\0\17o\b´\ 2\0\0#q jyox4Naw-\0M \0\0\17o\b¼\ 2\0\0#q KCqNdA6o-\0M \0\0\17o\bÄ\ 2\0\0#q ffa1WtPc-\0M \0\0\17o\bÌ\ 2\0\0#q fdjQUPva-\0M \0\0\17o\bÔ\ 2\0\0#q uprcLoPe-\0M \0\0\17o\bÜ\ 2\0\0#q 2oaplp2w-\0M \0\0\17o\bä\ 2\0\0#q 7cnOHdlF-\0M \0\0\17o\bì\ 2\0\0#q 27xvPY1Q-\0M \0\0\17o\bô\ 2\0\0#q U67vc8go-\0M \0\0\17o\bü\ 2\0\0#q BRttLYKa-\0M \0\0\17o\b\ 4\ 3\0\0#q HXkPAAAA-\0M \0\0\17o\b\f\ 3\0\0#q AAdyFFaY-\0M \0\0\17o\b\14\ 3\0\0#q CVClAVSl-\0M \0\0\17o\b\1c\ 3\0\0#q CqVSilFU-\0M \0\0\17o\b$\ 3\0\0#q KEgoNT0C-\0M \0\0\17o\b,\ 3\0\0#q AQCBAk00-\0M \0\0\17o\b4\ 3\0\0#q g1T0jQNN-\0M \0\0\17o\b<\ 3\0\0#q PSbKADQx-\0M \0\0\17o\bD\ 3\0\0#q AJEBESIg-\0M \0\0\17o\bL\ 3\0\0#q Seomk9EB-\0M \0\0\17o\bT\ 3\0\0#q 6mjQ0NNG-\0M \0\0\17o\b\\ 3\0\0#q gAAAAkEg-\0M \0\0\17o\bd\ 3\0\0#q kiGk0CR6-\0M \0\0\17o\bl\ 3\0\0#q U9CNNNNN-\0M \0\0\17o\bt\ 3\0\0#q PQRo0ANA-\0M \0\0\17o\b|\ 3\0\0#q aAAk9UpE-\0M \0\0\17o\b\84\ 3\0\0#q QmoNNRqe-\0M \0\0\17o\b\8c\ 3\0\0#q U02o00AA-\0M \0\0\17o\b\94\ 3\0\0#q ADQABoAC-\0M \0\0\17o\b\9c\ 3\0\0#q JEAlKamU-\0M \0\0\17o\b¤\ 3\0\0#q CjZT9UGn-\0M \0\0\17o\b¬\ 3\0\0#q qAAG1AGg-\0M \0\0\17o\b´\ 3\0\0#q AAAFRJCA-\0M \0\0\17o\b¼\ 3\0\0#q QCBA0SYj-\0M \0\0\17o\bÄ\ 3\0\0#q TKbQmqea-\0M \0\0\17o\bÌ\ 3\0\0#q p6YU2o09-\0M \0\0\17o\bÔ\ 3\0\0#q Q9TT00nA-\0M \0\0\17o\bÜ\ 3\0\0#q lwPEuSel-\0M \0\0\17o\bä\ 3\0\0#q CeXl28B3-\0M \0\0\17o\bì\ 3\0\0#q IYIQHEwX-\0M \0\0\17o\bô\ 3\0\0#q UMSCvlAY-\0M \0\0\17o\bü\ 3\0\0#q S5LkrZn+-\0M \0\0\17o\b\ 4\ 4\0\0#q XhHHAXZz-\0M \0\0\17o\b\f\ 4\0\0#q FTJHAzrK-\0M \0\0\17o\b\14\ 4\0\0#q ZzYWC0pt-\0M \0\0\17o\b\1c\ 4\0\0#q hA9SCmbk-\0M \0\0\17o\b$\ 4\0\0#q yVzoHbSU-\0M \0\0\17o\b,\ 4\0\0#q jhnAfBrY-\0M \0\0\17o\b4\ 4\0\0#q pwWYIB7G-\0M \0\0\17o\b<\ 4\0\0#q RjOjDQqo-\0M \0\0\17o\bD\ 4\0\0#q kMbJENSO-\0M \0\0\17o\bL\ 4\0\0#q SBCN0Wha-\0M \0\0\17o\bT\ 4\0\0#q RhQWpVuo-\0M \0\0\17o\b\\ 4\0\0#q OLN0NPRe-\0M \0\0\17o\bd\ 4\0\0#q d7eO5eW2-\0M \0\0\17o\bl\ 4\0\0#q lv5L+X/j-\0M \0\0\17o\bt\ 4\0\0#q f7EpJkEU-\0M \0\0\17o\b|\ 4\0\0#q NMJKZREo-\0M \0\0\17o\b\84\ 4\0\0#q gmkjMgZJ-\0M \0\0\17o\b\8c\ 4\0\0#q BiEEEliR-\0M \0\0\17o\b\94\ 4\0\0#q IUKAoiaS-\0M \0\0\17o\b\9c\ 4\0\0#q EoDQZJBh-\0M \0\0\17o\b¤\ 4\0\0#q KEZEQySQ-\0M \0\0\17o\b¬\ 4\0\0#q CAIIFNIM-\0M \0\0\17o\b´\ 4\0\0#q wCiSYRSY-\0M \0\0\17o\b¼\ 4\0\0#q zKMkSSlI-\0M \0\0\17o\bÄ\ 4\0\0#q 0xZMZKko-\0M \0\0\17o\bÌ\ 4\0\0#q RKlRtkmW-\0M \0\0\17o\bÔ\ 4\0\0#q JIrNNIBE-\0M \0\0\17o\bÜ\ 4\0\0#q JEYiJBhG-\0M \0\0\17o\bä\ 4\0\0#q MMkWYxRq-\0M \0\0\17o\bì\ 4\0\0#q UsmjKJMm-\0M \0\0\17o\bô\ 4\0\0#q CFJMaSmi-\0M \0\0\17o\bü\ 4\0\0#q yDSaEJtB-\0M \0\0\17o\b\ 4\ 5\0\0#q IJpANKMN-\0M \0\0\17o\b\f\ 5\0\0#q JEkpGQAY-\0M \0\0\17o\b\14\ 5\0\0#q jLNETGUB-\0M \0\0\17o\b\1c\ 5\0\0#q RAlBKURg-\0M \0\0\17o\b$\ 5\0\0#q sC0wzKZh-\0M \0\0\17o\b,\ 5\0\0#q RmhiYIQZ-\0M \0\0\17o\b4\ 5\0\0#q IsZCIIMi-\0M \0\0\17o\b<\ 5\0\0#q iNmFCCiS-\0M \0\0\17o\bD\ 5\0\0#q ZNjI0khE-\0M \0\0\17o\bL\ 5\0\0#q AYSEUkjT-\0M \0\0\17o\bT\ 5\0\0#q MSZskZKR-\0M \0\0\17o\b\\ 5\0\0#q QWJoRNBI-\0M \0\0\17o\bd\ 5\0\0#q 2IojZmMh-\0M \0\0\17o\bl\ 5\0\0#q TIkQEgyR-\0M \0\0\17o\bt\ 5\0\0#q EEMoomDS-\0M \0\0\17o\b|\ 5\0\0#q iYxAZMEC-\0M \0\0\17o\b\84\ 5\0\0#q FCSKIkGg-\0M \0\0\17o\b\8c\ 5\0\0#q kIDIw2MN-\0M \0\0\17o\b\94\ 5\0\0#q AlgyA0Sm-\0M \0\0\17o\b\9c\ 5\0\0#q KWSSyIaR-\0M \0\0\17o\b¤\ 5\0\0#q CSDDIkZm-\0M \0\0\17o\b¬\ 5\0\0#q NGghgyAE-\0M \0\0\17o\b´\ 5\0\0#q oERokkWT-\0M \0\0\17o\b¼\ 5\0\0#q A0xZBEQh-\0M \0\0\17o\bÄ\ 5\0\0#q mUSBGmaQ-\0M \0\0\17o\bÌ\ 5\0\0#q aQBFmRJM-\0M \0\0\17o\bÔ\ 5\0\0#q okwxIyRS-\0M \0\0\17o\bÜ\ 5\0\0#q WbAkbCUF-\0M \0\0\17o\bä\ 5\0\0#q lAhgUISJ-\0M \0\0\17o\bì\ 5\0\0#q IRkySYhA-\0M \0\0\17o\bô\ 5\0\0#q xoUARCSa-\0M \0\0\17o\bü\ 5\0\0#q IJMkyiZJ-\0M \0\0\17o\b\ 4\ 6\0\0#q NBMyGRIh-\0M \0\0\17o\b\f\ 6\0\0#q Y0komKIm-\0M \0\0\17o\b\14\ 6\0\0#q gMDI/038-\0M \0\0\17o\b\1c\ 6\0\0#q qLf/av/b-\0M \0\0\17o\b$\ 6\0\0#q WSNVEtmF-\0M \0\0\17o\b,\ 6\0\0#q Rx/2aaDV-\0M \0\0\17o\b4\ 6\0\0#q mKkY0NkI-\0M \0\0\17o\b<\ 6\0\0#q RDGJEWoE-\0M \0\0\17o\bD\ 6\0\0#q GLf9g9MV-\0M \0\0\17o\bL\ 6\0\0#q UJWGSu0p-\0M \0\0\17o\bT\ 6\0\0#q WVpSOdWD-\0M \0\0\17o\b\\ 6\0\0#q VjQJGRSC-\0M \0\0\17o\bd\ 6\0\0#q hGBGDGhN-\0M \0\0\17o\bl\ 6\0\0#q NMYYwjEs-\0M \0\0\17o\bt\ 6\0\0#q aFISGPT3-\0M \0\0\17o\b|\ 6\0\0#q TbFXk873-\0M \0\0\17o\b\84\ 6\0\0#q Xq8vPa9b-\0M \0\0\17o\b\8c\ 6\0\0#q 0dcco0UE-\0M \0\0\17o\b\94\ 6\0\0#q PXIl/+em-\0M \0\0\17o\b\9c\ 6\0\0#q 0IMHNYJa-\0M \0\0\17o\b¤\ 6\0\0#q XBEsiKQh-\0M \0\0\17o\b¬\ 6\0\0#q /7QwsC9g-\0M \0\0\17o\b´\ 6\0\0#q AauDvWtM-\0M \0\0\17o\b¼\ 6\0\0#q EBWhGBIB-\0M \0\0\17o\bÄ\ 6\0\0#q AerIYlBU-\0M \0\0\17o\bÌ\ 6\0\0#q SzPasze1-\0M \0\0\17o\bÔ\ 6\0\0#q 5BfAyGrr-\0M \0\0\17o\bÜ\ 6\0\0#q 284QNjGN-\0M \0\0\17o\bä\ 6\0\0#q EmaUphiM-\0M \0\0\17o\bì\ 6\0\0#q xEMwCZjA-\0M \0\0\17o\bô\ 6\0\0#q YRpMiZBM-\0M \0\0\17o\bü\ 6\0\0#q pEMkkQzI-\0M \0\0\17o\b\ 4\a\0\0#q wTDu5zru-\0M \0\0\17o\b\f\a\0\0#q Xd1xdQ6A-\0M \0\0\17o\b\14\a\0\0#q 6E7m7d03-\0M \0\0\17o\b\1c\a\0\0#q OLnXOxd3-\0M \0\0\17o\b$\a\0\0#q HBu50dl0-\0M \0\0\17o\b,\a\0\0#q JOhxS4Hd-\0M \0\0\17o\b4\a\0\0#q HczuO647-\0M \0\0\17o\b<\a\0\0#q uuLu6650-\0M \0\0\17o\bD\a\0\0#q O67t3Duu-\0M \0\0\17o\bL\a\0\0#q 3DucukzR-\0M \0\0\17o\bT\a\0\0#q KIMhsUjS-\0M \0\0\17o\b\\a\0\0#q QQxDIzQJ-\0M \0\0\17o\bd\a\0\0#q gxohEkYT-\0M \0\0\17o\bl\a\0\0#q YkZsAxSD-\0M \0\0\17o\bt\a\0\0#q GCJJERhp-\0M \0\0\17o\b|\a\0\0#q EAygoZRE-\0M \0\0\17o\b\84\a\0\0#q SSEjMpFE-\0M \0\0\17o\b\8c\a\0\0#q 0UpJlBkI-\0M \0\0\17o\b\94\a\0\0#q YwoyQ7/2-\0M \0\0\17o\b\9c\a\0\0#q f9H/Py8r-\0M \0\0\17o\b¤\a\0\0#q oY3wEn8n-\0M \0\0\17o\b¬\a\0\0#q r7+72ybZ-\0M \0\0\17o\b´\a\0\0#q tybdqY06-\0M \0\0\17o\b¼\a\0\0#q yp1tjGVm-\0M \0\0\17o\bÄ\a\0\0#q smJvG48y-\0M \0\0\17o\bÌ\a\0\0#q 89EXnvy9-\0M \0\0\17o\bÔ\a\0\0#q F6OvX0vp-\0M \0\0\17o\bÜ\a\0\0#q BSIEiSRA-\0M \0\0\17o\bä\a\0\0#q mgSASYSk-\0M \0\0\17o\bì\a\0\0#q CGBkyc5J-\0M \0\0\17o\bô\a\0\0#q 63pgiRBN-\0M \0\0\17o\bü\a\0\0#q sJW2xjGm-\0M \0\0\17o\b\ 4\b\0\0#q mNsf9v7R-\0M \0\0\17o\b\f\b\0\0#q z1rueFmZ-\0M \0\0\17o\b\14\b\0\0#q cfXzw/zT-\0M \0\0\17o\b\1c\b\0\0#q GRYxsYm2-\0M \0\0\17o\b$\b\0\0#q NjbbfXD6-\0M \0\0\17o\b,\b\0\0#q 4GtivKx5-\0M \0\0\17o\b4\b\0\0#q t9eubzms-\0M \0\0\17o\b<\b\0\0#q MTbf9rTf-\0M \0\0\17o\bD\b\0\0#q KRsYx7YR-\0M \0\0\17o\bL\b\0\0#q jHWL7OoA-\0M \0\0\17o\bT\b\0\0#q JpsFBJgy-\0M \0\0\17o\b\\b\0\0#q AEzSJiLH-\0M \0\0\17o\bd\b\0\0#q xfJKWQgS-\0M \0\0\17o\bl\b\0\0#q lJjGduRq-\0M \0\0\17o\bt\b\0\0#q RxDIoETG-\0M \0\0\17o\b|\b\0\0#q 4wj+VgUj-\0M \0\0\17o\b\84\b\0\0#q nMt5PXnm-\0M \0\0\17o\b\8c\b\0\0#q vEQwO7oj-\0M \0\0\17o\b\94\b\0\0#q zu7lxu7u-\0M \0\0\17o\b\9c\b\0\0#q asg9T00z-\0M \0\0\17o\b¤\b\0\0#q jrtcaG2R-\0M \0\0\17o\b¬\b\0\0#q KIwyHx2v-\0M \0\0\17o\b´\b\0\0#q Ucbjd0OX-\0M \0\0\17o\b¼\b\0\0#q XvfNafFE-\0M \0\0\17o\bÄ\b\0\0#q 3u3t7bu9-\0M \0\0\17o\bÌ\b\0\0#q TpJ1t6SK-\0M \0\0\17o\bÔ\b\0\0#q h9vi13hQ-\0M \0\0\17o\bÜ\b\0\0#q UX4d307p-\0M \0\0\17o\bä\b\0\0#q PHt553zx-\0M \0\0\17o\bì\b\0\0#q xHMGb4Kr-\0M \0\0\17o\bô\b\0\0#q bbvJGTCc-\0M \0\0\17o\bü\b\0\0#q Ns3WmOyG-\0M \0\0\17o\b\ 4 \0\0#q 2fg5vsuZ-\0M \0\0\17o\b\f \0\0#q jMi+lacp-\0M \0\0\17o\b\14 \0\0#q Ncvr0XeK-\0M \0\0\17o\b\1c \0\0#q DnafDcIv-\0M \0\0\17o\b$ \0\0#q hyL7927r-\0M \0\0\17o\b, \0\0#q r7/Pzfj7-\0M \0\0\17o\b4 \0\0#q qLVW5dFK-\0M \0\0\17o\b< \0\0#q Ig8+fKpu-\0M \0\0\17o\bD \0\0#q xf+vfhB+-\0M \0\0\17o\bL \0\0#q 73vWXz3q-\0M \0\0\17o\bT \0\0#q CPPfw32M-\0M \0\0\17o\b\ \0\0#q n4c/9mtO-\0M \0\0\17o\bd \0\0#q NctW/fc1-\0M \0\0\17o\bl \0\0#q sYad9JYn-\0M \0\0\17o\bt \0\0#q /D1DlDPo-\0M \0\0\17o\b| \0\0#q yyc7D5bS-\0M \0\0\17o\b\84 \0\0#q i3ncMPNH-\0M \0\0\17o\b\8c \0\0#q bWmvm42e-\0M \0\0\17o\b\94 \0\0#q ODHImqoo-\0M \0\0\17o\b\9c \0\0#q iuXwn95X-\0M \0\0\17o\b¤ \0\0#q ZlmKYKGK-\0M \0\0\17o\b¬ \0\0#q 7KdA6lrg-\0M \0\0\17o\b´ \0\0#q zZpEiUcc-\0M \0\0\17o\b¼ \0\0#q ypzKofPy-\0M \0\0\17o\bÄ \0\0#q 4kbjq6Nh-\0M \0\0\17o\bÌ \0\0#q o/ou++j5-\0M \0\0\17o\bÔ \0\0#q g2i5alDG-\0M \0\0\17o\bÜ \0\0#q /G3Cb0ya-\0M \0\0\17o\bä \0\0#q OY3lH7wd-\0M \0\0\17o\bì \0\0#q 83fLG1uQ-\0M \0\0\17o\bô \0\0#q 0nDG18UH-\0M \0\0\17o\bü \0\0#q nnOOsy+Y-\0M \0\0\17o\b\ 4
+\0\0#q 4u2Nv5Hl-\0M \0\0\17o\b\f
+\0\0#q jTCKmSJY-\0M \0\0\17o\b\14
+\0\0#q yBhnB1Lb-\0M \0\0\17o\b\1c
+\0\0#q bafjgaat-\0M \0\0\17o\b$
+\0\0#q 8zzctvDj-\0M \0\0\17o\b,
+\0\0#q PPy7e5Id-\0M \0\0\17o\b4
+\0\0#q yZHPSTxq-\0M \0\0\17o\b<
+\0\0#q /zkHjinr-\0M \0\0\17o\bD
+\0\0#q I5v0/nmG-\0M \0\0\17o\bL
+\0\0#q Pp+JUz4o-\0M \0\0\17o\bT
+\0\0#q dkc9b4/c-\0M \0\0\17o\b\
+\0\0#q ze19oRNO-\0M \0\0\17o\bd
+\0\0#q jG2wb+Pk-\0M \0\0\17o\bl
+\0\0#q Wtt4RRjb-\0M \0\0\17o\bt
+\0\0#q BsfupHPO-\0M \0\0\17o\b|
+\0\0#q 3Mmgc18a-\0M \0\0\17o\b\84
+\0\0#q z57U+TM7-\0M \0\0\17o\b\8c
+\0\0#q gQsH90UP-\0M \0\0\17o\b\94
+\0\0#q HJCZN4Ws-\0M \0\0\17o\b\9c
+\0\0#q aY383qkb-\0M \0\0\17o\b¤
+\0\0#q xxO20pI2-\0M \0\0\17o\b¬
+\0\0#q 3JHbCr3s-\0M \0\0\17o\b´
+\0\0#q snqkVFJG-\0M \0\0\17o\b¼
+\0\0#q /lN5x6yQ-\0M \0\0\17o\bÄ
+\0\0#q ydwiaSA6-\0M \0\0\17o\bÌ
+\0\0#q rcgBoSxE-\0M \0\0\17o\bÔ
+\0\0#q DRKIuS1s-\0M \0\0\17o\bÜ
+\0\0#q lJsq1MtS-\0M \0\0\17o\bä
+\0\0#q 6koA5+jF-\0M \0\0\17o\bì
+\0\0#q Gb17XFu0-\0M \0\0\17o\bô
+\0\0#q owrTZZSq-\0M \0\0\17o\bü
+\0\0#q sjrkmLVo-\0M \0\0\17o\b\ 4\v\0\0#q 2tSN44ac-\0M \0\0\17o\b\f\v\0\0#q fvD3aWfO-\0M \0\0\17o\b\14\v\0\0#q erth5lG/-\0M \0\0\17o\b\1c\v\0\0#q Jlkfp6bq-\0M \0\0\17o\b$\v\0\0#q UbOZs2Fp-\0M \0\0\17o\b,\v\0\0#q VptDIwCu-\0M \0\0\17o\b4\v\0\0#q WVgqIgkg-\0M \0\0\17o\b<\v\0\0#q JMtDBFi+-\0M \0\0\17o\bD\v\0\0#q 2FpRDhEI-\0M \0\0\17o\bL\v\0\0#q JAKJtPXl-\0M \0\0\17o\bT\v\0\0#q oMoKGWpU-\0M \0\0\17o\b\\v\0\0#q 0YvH9h2n-\0M \0\0\17o\bd\v\0\0#q x/hxra8/-\0M \0\0\17o\bl\v\0\0#q 8UoaoWbi-\0M \0\0\17o\bt\v\0\0#q a9EeoTlN-\0M \0\0\17o\b|\v\0\0#q 7Bd5PNdc-\0M \0\0\17o\b\84\v\0\0#q CDKemn+L-\0M \0\0\17o\b\8c\v\0\0#q cY2qMUXG-\0M \0\0\17o\b\94\v\0\0#q ibc0a33/-\0M \0\0\17o\b\9c\v\0\0#q wjqMN0s8-\0M \0\0\17o\b¤\v\0\0#q PmTeeup7-\0M \0\0\17o\b¬\v\0\0#q 6JA7aKr1-\0M \0\0\17o\b´\v\0\0#q nMbhIkn1-\0M \0\0\17o\b¼\v\0\0#q aX4m5rTP-\0M \0\0\17o\bÄ\v\0\0#q H4aOBlTQ-\0M \0\0\17o\bÌ\v\0\0#q I35HXHwt-\0M \0\0\17o\bÔ\v\0\0#q J9z1XuF9-\0M \0\0\17o\bÜ\v\0\0#q EQDwDnCS-\0M \0\0\17o\bä\v\0\0#q 3S9W358a-\0M \0\0\17o\bì\v\0\0#q /E4pTeTS-\0M \0\0\17o\bô\v\0\0#q VvyKGWTK-\0M \0\0\17o\bü\v\0\0#q /n4Xp7V4-\0M \0\0\17o\b\ 4\f\0\0#q dB64Ua3Q-\0M \0\0\17o\b\f\f\0\0#q BIaDtzTs-\0M \0\0\17o\b\14\f\0\0#q XpXV1k9E-\0M \0\0\17o\b\1c\f\0\0#q 54ousxG/-\0M \0\0\17o\b$\f\0\0#q XtEhuaGm-\0M \0\0\17o\b,\f\0\0#q yCefTL/r-\0M \0\0\17o\b4\f\0\0#q 3478anc7-\0M \0\0\17o\b<\f\0\0#q 8deNRjg9-\0M \0\0\17o\bD\f\0\0#q uchGVxVD-\0M \0\0\17o\bL\f\0\0#q Fq6cMZqI-\0M \0\0\17o\bT\f\0\0#q dp0ihq0x-\0M \0\0\17o\b\\f\0\0#q oIf1zldy-\0M \0\0\17o\bd\f\0\0#q BS011SFz-\0M \0\0\17o\bl\f\0\0#q q08qfSxV-\0M \0\0\17o\bt\f\0\0#q 8u0cT70d-\0M \0\0\17o\b|\f\0\0#q Zgp8ebjk-\0M \0\0\17o\b\84\f\0\0#q 800pU8m2-\0M \0\0\17o\b\8c\f\0\0#q s1kKdj+z-\0M \0\0\17o\b\94\f\0\0#q vmBEEU+P-\0M \0\0\17o\b\9c\f\0\0#q 0+FlzrhO-\0M \0\0\17o\b¤\f\0\0#q f/ifG2tO-\0M \0\0\17o\b¬\f\0\0#q smrlp7B8-\0M \0\0\17o\b´\f\0\0#q 8bbCY9u1-\0M \0\0\17o\b¼\f\0\0#q VFK7Yavj-\0M \0\0\17o\bÄ\f\0\0#q SQ7xtE94-\0M \0\0\17o\bÌ\f\0\0#q 3aiJb59/-\0M \0\0\17o\bÔ\f\0\0#q et60wn2v-\0M \0\0\17o\bÜ\f\0\0#q rgeV/jeN-\0M \0\0\17o\bä\f\0\0#q d+O/Wt/f-\0M \0\0\17o\bì\f\0\0#q p6dNf7iJ-\0M \0\0\17o\bô\f\0\0#q A5QICcGy-\0M \0\0\17o\bü\f\0\0#q iKgpFEFQ-\0M \0\0\17o\b\ 4\r\0\0#q iCjEGEQC-\0M \0\0\17o\b\f\r\0\0#q LBIioACS-\0M \0\0\17o\b\14\r\0\0#q IqiCxSCq-\0M \0\0\17o\b\1c\r\0\0#q IxJIw1GQ-\0M \0\0\17o\b$\r\0\0#q 0Ua1Vam2-\0M \0\0\17o\b,\r\0\0#q qYsmg1rV-\0M \0\0\17o\b4\r\0\0#q TbQlmjVb-\0M \0\0\17o\b<\r\0\0#q WbaGLbU1-\0M \0\0\17o\bD\r\0\0#q kWtlqWrN-\0M \0\0\17o\bL\r\0\0#q LVNNaaQI-\0M \0\0\17o\bT\r\0\0#q CZqIhD/Q-\0M \0\0\17o\b\\r\0\0#q iASyQCUE-\0M \0\0\17o\bd\r\0\0#q BKiRKRAJ-\0M \0\0\17o\bl\r\0\0#q SUiASySK-\0M \0\0\17o\bt\r\0\0#q RAJSD/zA-\0M \0\0\17o\b|\r\0\0#q gJUghMIg-\0M \0\0\17o\b\84\r\0\0#q EojKiCf+-\0M \0\0\17o\b\8c\r\0\0#q CIBP9wIC-\0M \0\0\17o\b\94\r\0\0#q fq+/889/-\0M \0\0\17o\b\9c\r\0\0#q 0uxkuba/-\0M \0\0\17o\b¤\r\0\0#q pJdybzbJ-\0M \0\0\17o\b¬\r\0\0#q vEsZ/CpE-\0M \0\0\17o\b´\r\0\0#q x89uGn3O-\0M \0\0\17o\b¼\r\0\0#q ONVtyYDH-\0M \0\0\17o\bÄ\r\0\0#q CGIxNyIx-\0M \0\0\17o\bÌ\r\0\0#q JsYgJYbH-\0M \0\0\17o\bÔ\r\0\0#q +I5RK73D-\0M \0\0\17o\bÜ\r\0\0#q uMZminld-\0M \0\0\17o\bä\r\0\0#q jp3e8QpD-\0M \0\0\17o\bì\r\0\0#q Jju1QToo-\0M \0\0\17o\bô\r\0\0#q 7pQFEpAB-\0M \0\0\17o\bü\r\0\0#q pEV4CLQo-\0M \0\0\17o\b\ 4\ e\0\0#q 2QicBAbo-\0M \0\0\17o\b\f\ e\0\0#q SEINjsMs-\0M \0\0\17o\b\14\ e\0\0#q Dt9BO4nJ-\0M \0\0\17o\b\1c\ e\0\0#q zGstqAmg-\0M \0\0\17o\b$\ e\0\0#q EJwhRygg-\0M \0\0\17o\b,\ e\0\0#q JYoMJE0s-\0M \0\0\17o\b4\ e\0\0#q Joa0zOdE-\0M \0\0\17o\b<\ e\0\0#q gXdwiQss-\0M \0\0\17o\bD\ e\0\0#q y4L3pzbM-\0M \0\0\17o\bL\ e\0\0#q CwOaLEYF-\0M \0\0\17o\bT\ e\0\0#q DBQKzaJC-\0M \0\0\17o\b\\ e\0\0#q jFh2yhQO-\0M \0\0\17o\bd\ e\0\0#q HbgLVMHX-\0M \0\0\17o\bl\ e\0\0#q FUf7jhKT-\0M \0\0\17o\bt\ e\0\0#q XPWsNDuE-\0M \0\0\17o\b|\ e\0\0#q PXRHfJuL-\0M \0\0\17o\b\84\ e\0\0#q lKqls5Tx-\0M \0\0\17o\b\8c\ e\0\0#q pCC1IgIH-\0M \0\0\17o\b\94\ e\0\0#q nTm5PeWk-\0M \0\0\17o\b\9c\ e\0\0#q wwjobODc-\0M \0\0\17o\b¤\ e\0\0#q CdTCa0Yo-\0M \0\0\17o\b¬\ e\0\0#q DvMlcZwv-\0M \0\0\17o\b´\ e\0\0#q mQTkg8KC-\0M \0\0\17o\b¼\ e\0\0#q 06oALrhz-\0M \0\0\17o\bÄ\ e\0\0#q ZqrQmQq6-\0M \0\0\17o\bÌ\ e\0\0#q E28rdrSU-\0M \0\0\17o\bÔ\ e\0\0#q xBeLkBsh-\0M \0\0\17o\bÜ\ e\0\0#q IKRh04g4-\0M \0\0\17o\bä\ e\0\0#q LDdsmTCp-\0M \0\0\17o\bì\ e\0\0#q NKSszbu9-\0M \0\0\17o\bô\ e\0\0#q lHOoAwkm-\0M \0\0\17o\bü\ e\0\0#q TDrOKCmS-\0M \0\0\17o\b\ 4\ f\0\0#q qExdOsOV-\0M \0\0\17o\b\f\ f\0\0#q D1XsAQpF-\0M \0\0\17o\b\14\ f\0\0#q VMukLCcG-\0M \0\0\17o\b\1c\ f\0\0#q YGVFpAp4-\0M \0\0\17o\b$\ f\0\0#q Bg0VnXFF-\0M \0\0\17o\b,\ f\0\0#q jjdC8avB-\0M \0\0\17o\b4\ f\0\0#q E6BepA3q-\0M \0\0\17o\b<\ f\0\0#q 6bOgot8L-\0M \0\0\17o\bD\ f\0\0#q tHTiIlkb-\0M \0\0\17o\bL\ f\0\0#q ARVEcldJ-\0M \0\0\17o\bT\ f\0\0#q oYt4Piml-\0M \0\0\17o\b\\ f\0\0#q s9rpBzDN-\0M \0\0\17o\bd\ f\0\0#q zeMwOdNA-\0M \0\0\17o\bl\ f\0\0#q dSkWo4Cr-\0M \0\0\17o\bt\ f\0\0#q sTZ065yP-\0M \0\0\17o\b|\ f\0\0#q aODXMCkc-\0M \0\0\17o\b\84\ f\0\0#q ZCarR0LU-\0M \0\0\17o\b\8c\ f\0\0#q voX1R3nD-\0M \0\0\17o\b\94\ f\0\0#q EsLtlykl-\0M \0\0\17o\b\9c\ f\0\0#q Mo3qrYHI-\0M \0\0\17o\b¤\ f\0\0#q guO1Ci7x-\0M \0\0\17o\b¬\ f\0\0#q RXFwJZjf-\0M \0\0\17o\b´\ f\0\0#q TrtZfAyz-\0M \0\0\17o\b¼\ f\0\0#q UKhgJcLO-\0M \0\0\17o\bÄ\ f\0\0#q IzeTvWjG-\0M \0\0\17o\bÌ\ f\0\0#q zDE27OYM-\0M \0\0\17o\bÔ\ f\0\0#q E6dM3Z2k-\0M \0\0\17o\bÜ\ f\0\0#q VeKcV1I4-\0M \0\0\17o\bä\ f\0\0#q jKga0x3v-\0M \0\0\17o\bì\ f\0\0#q CKlcUmkj-\0M \0\0\17o\bô\ f\0\0#q RE1Zzsmx-\0M \0\0\17o\bü\ f\0\0#q sq7L3zOn-\0M \0\0\17o\b\ 4\10\0\0#q Q8wzeGDZ-\0M \0\0\17o\b\f\10\0\0#q pQO0uN0N-\0M \0\0\17o\b\14\10\0\0#q pZhcQSuV-\0M \0\0\17o\b\1c\10\0\0#q ETbLL2zv-\0M \0\0\17o\b$\10\0\0#q KTzqjtBh-\0M \0\0\17o\b,\10\0\0#q wIXGaksi-\0M \0\0\17o\b4\10\0\0#q 8rYKx2Wi-\0M \0\0\17o\b<\10\0\0#q 6C1J3Ulb-\0M \0\0\17o\bD\10\0\0#q 1dwqkjat-\0M \0\0\17o\bL\10\0\0#q FU6mO1F5-\0M \0\0\17o\bT\10\0\0#q Ii+bGnOM-\0M \0\0\17o\b\\10\0\0#q aOlc5EKe-\0M \0\0\17o\bd\10\0\0#q kFDaQ9tj-\0M \0\0\17o\bl\10\0\0#q CU1yqcE6-\0M \0\0\17o\bt\10\0\0#q 6xRVh1nd-\0M \0\0\17o\b|\10\0\0#q LcBt7ThN-\0M \0\0\17o\b\84\10\0\0#q I8LbowKP-\0M \0\0\17o\b\8c\10\0\0#q Md0AHRNh-\0M \0\0\17o\b\94\10\0\0#q dYOJksYI-\0M \0\0\17o\b\9c\10\0\0#q QETYuK3y-\0M \0\0\17o\b¤\10\0\0#q tX1UEkFH-\0M \0\0\17o\b¬\10\0\0#q ZLCghijo-\0M \0\0\17o\b´\10\0\0#q BdFzCgKJ-\0M \0\0\17o\b¼\10\0\0#q mlJSADdF-\0M \0\0\17o\bÄ\10\0\0#q 5CnsMoIp-\0M \0\0\17o\bÌ\10\0\0#q pMjeqUgB-\0M \0\0\17o\bÔ\10\0\0#q rXACCcsh-\0M \0\0\17o\bÜ\10\0\0#q XWsqyAge-\0M \0\0\17o\bä\10\0\0#q nB7IMoT6-\0M \0\0\17o\bì\10\0\0#q ZghKl5lj-\0M \0\0\17o\bô\10\0\0#q wkJTUVQu-\0M \0\0\17o\bü\10\0\0#q hTp3YIWg-\0M \0\0\17o\b\ 4\11\0\0#q QCl8eBO7-\0M \0\0\17o\b\f\11\0\0#q FTzwWGBE-\0M \0\0\17o\b\14\11\0\0#q w8BDaLuS-\0M \0\0\17o\b\1c\11\0\0#q qMmM0wWE-\0M \0\0\17o\b$\11\0\0#q 6QVsFIpR-\0M \0\0\17o\b,\11\0\0#q wmCRA128-\0M \0\0\17o\b4\11\0\0#q BCKpdaVu-\0M \0\0\17o\b<\11\0\0#q nHbkyuSc-\0M \0\0\17o\bD\11\0\0#q BsqeFjLJ-\0M \0\0\17o\bL\11\0\0#q qAw0WUUI-\0M \0\0\17o\bT\11\0\0#q hMN3S5Ke-\0M \0\0\17o\b\\11\0\0#q ua7Wynjn-\0M \0\0\17o\bd\11\0\0#q ew31G8je-\0M \0\0\17o\bl\11\0\0#q cPcVIYxG-\0M \0\0\17o\bt\11\0\0#q w3trGziG-\0M \0\0\17o\b|\11\0\0#q oCdTHKPO-\0M \0\0\17o\b\84\11\0\0#q EpO5732V-\0M \0\0\17o\b\8c\11\0\0#q 4lnVA4Vv-\0M \0\0\17o\b\94\11\0\0#q Ksc+R4OH-\0M \0\0\17o\b\9c\11\0\0#q HQz2JkHF-\0M \0\0\17o\b¤\11\0\0#q dwSzeiDB-\0M \0\0\17o\b¬\11\0\0#q UGBiQAJc-\0M \0\0\17o\b´\11\0\0#q znd7Z0oC-\0M \0\0\17o\b¼\11\0\0#q mMykE5Kj-\0M \0\0\17o\bÄ\11\0\0#q ZuKCyKhd-\0M \0\0\17o\bÌ\11\0\0#q 5nTSBBtu-\0M \0\0\17o\bÔ\11\0\0#q 1sj6s2JC-\0M \0\0\17o\bÜ\11\0\0#q iZBgpYdO-\0M \0\0\17o\bä\11\0\0#q IM4luy6e-\0M \0\0\17o\bì\11\0\0#q vBlYUYld-\0M \0\0\17o\bô\11\0\0#q UQQZKOoA-\0M \0\0\17o\bü\11\0\0#q iZL4d7fe-\0M \0\0\17o\b\ 4\12\0\0#q 003l07CD-\0M \0\0\17o\b\f\12\0\0#q omKNzZgX-\0M \0\0\17o\b\14\12\0\0#q iveIrzXj-\0M \0\0\17o\b\1c\12\0\0#q CZel4Bcy-\0M \0\0\17o\b$\12\0\0#q Y752rec3-\0M \0\0\17o\b,\12\0\0#q eRoT6jAG-\0M \0\0\17o\b4\12\0\0#q ZAGEc3kk-\0M \0\0\17o\b<\12\0\0#q ZQhLcVNC-\0M \0\0\17o\bD\12\0\0#q q+qVFSim-\0M \0\0\17o\bL\12\0\0#q BuCKZeQr-\0M \0\0\17o\bT\12\0\0#q 5FF85WTJ-\0M \0\0\17o\b\\12\0\0#q ZzIXXwto-\0M \0\0\17o\bd\12\0\0#q 0cB2Cpnt-\0M \0\0\17o\bl\12\0\0#q lWr0xWTf-\0M \0\0\17o\bt\12\0\0#q Lt1yrDg8-\0M \0\0\17o\b|\12\0\0#q 503VJAdH-\0M \0\0\17o\b\84\12\0\0#q 0uqes4bJ-\0M \0\0\17o\b\8c\12\0\0#q d5wsYFak-\0M \0\0\17o\b\94\12\0\0#q MZlVS7ls-\0M \0\0\17o\b\9c\12\0\0#q Eko6gj0L-\0M \0\0\17o\b¤\12\0\0#q qyENh3rv-\0M \0\0\17o\b¬\12\0\0#q G7qYJiQ9-\0M \0\0\17o\b´\12\0\0#q xoY33Uth-\0M \0\0\17o\b¼\12\0\0#q sUwRtEF6-\0M \0\0\17o\bÄ\12\0\0#q HUjtHWGA-\0M \0\0\17o\bÌ\12\0\0#q 1q5N1HNg-\0M \0\0\17o\bÔ\12\0\0#q iI7rFa5Q-\0M \0\0\17o\bÜ\12\0\0#q iEzuCDZ0-\0M \0\0\17o\bä\12\0\0#q 3KzKswfM-\0M \0\0\17o\bì\12\0\0#q 7185zaRU-\0M \0\0\17o\bô\12\0\0#q kRyiUUss-\0M \0\0\17o\bü\12\0\0#q QSPAwlc6-\0M \0\0\17o\b\ 4\13\0\0#q CAaa2KwB-\0M \0\0\17o\b\f\13\0\0#q CwsOVTUr-\0M \0\0\17o\b\14\13\0\0#q pamy4uS+-\0M \0\0\17o\b\1c\13\0\0#q mkF2pVMr-\0M \0\0\17o\b$\13\0\0#q pWpG7eYk-\0M \0\0\17o\b,\13\0\0#q YjcqSMY+-\0M \0\0\17o\b4\13\0\0#q pyDKhDIL-\0M \0\0\17o\b<\13\0\0#q MmR5HGGc-\0M \0\0\17o\bD\13\0\0#q 5ml4LJEa-\0M \0\0\17o\bL\13\0\0#q A2sxQOlw-\0M \0\0\17o\bT\13\0\0#q RDZ0WyiD-\0M \0\0\17o\b\\13\0\0#q jMTFnLRK-\0M \0\0\17o\bd\13\0\0#q Rw6sK02p-\0M \0\0\17o\bl\13\0\0#q h9cZnMe8-\0M \0\0\17o\bt\13\0\0#q fZrmsJ07-\0M \0\0\17o\b|\13\0\0#q 10vNY0uY-\0M \0\0\17o\b\84\13\0\0#q 4QFbSrzd-\0M \0\0\17o\b\8c\13\0\0#q WY7FvR2o-\0M \0\0\17o\b\94\13\0\0#q W0ZI0zyU-\0M \0\0\17o\b\9c\13\0\0#q KMETaoJF-\0M \0\0\17o\b¤\13\0\0#q AUTUyWua-\0M \0\0\17o\b¬\13\0\0#q SjAQt4Db-\0M \0\0\17o\b´\13\0\0#q xyqAYcj2-\0M \0\0\17o\b¼\13\0\0#q ysQneAWK-\0M \0\0\17o\bÄ\13\0\0#q MQAWMoBB-\0M \0\0\17o\bÌ\13\0\0#q hIT0HPY5-\0M \0\0\17o\bÔ\13\0\0#q ne8L49gq-\0M \0\0\17o\bÜ\13\0\0#q YBFQhCXl-\0M \0\0\17o\bä\13\0\0#q CmzuzQIm-\0M \0\0\17o\bì\13\0\0#q hRcjCApq-\0M \0\0\17o\bô\13\0\0#q iwAmbWJb-\0M \0\0\17o\bü\13\0\0#q zsY5reBB-\0M \0\0\17o\b\ 4\14\0\0#q 1xT5l5T1-\0M \0\0\17o\b\f\14\0\0#q ybWy6V0t-\0M \0\0\17o\b\14\14\0\0#q nJKrLM5W-\0M \0\0\17o\b\1c\14\0\0#q HNy+RpkM-\0M \0\0\17o\b$\14\0\0#q 2cyZ5heb-\0M \0\0\17o\b,\14\0\0#q Ccdg7aCc-\0M \0\0\17o\b4\14\0\0#q 7IdY80lC-\0M \0\0\17o\b<\14\0\0#q FwSGCAXN-\0M \0\0\17o\bD\14\0\0#q mQXb2QRQ-\0M \0\0\17o\bL\14\0\0#q x7k3NRDG-\0M \0\0\17o\bT\14\0\0#q XELYQ1gs-\0M \0\0\17o\b\\14\0\0#q QhhUDum3-\0M \0\0\17o\bd\14\0\0#q ZE72ughH-\0M \0\0\17o\bl\14\0\0#q RdRDe5Te-\0M \0\0\17o\bt\14\0\0#q 6qw1u1LB-\0M \0\0\17o\b|\14\0\0#q 7lbNrJow-\0M \0\0\17o\b\84\14\0\0#q 7QT1uAV3-\0M \0\0\17o\b\8c\14\0\0#q LMgyxdGj-\0M \0\0\17o\b\94\14\0\0#q CMORl8Gn-\0M \0\0\17o\b\9c\14\0\0#q 2BQuwIUz-\0M \0\0\17o\b¤\14\0\0#q m8BtHWJn-\0M \0\0\17o\b¬\14\0\0#q ZGBtieoI-\0M \0\0\17o\b´\14\0\0#q CDTvKJbI-\0M \0\0\17o\b¼\14\0\0#q MisQ2U1B-\0M \0\0\17o\bÄ\14\0\0#q CZoZlhQX-\0M \0\0\17o\bÌ\14\0\0#q ygQBW0jt-\0M \0\0\17o\bÔ\14\0\0#q gQdslCYN-\0M \0\0\17o\bÜ\14\0\0#q crXVNnBA-\0M \0\0\17o\bä\14\0\0#q +zLTmqmq-\0M \0\0\17o\bì\14\0\0#q YeS9YapA-\0M \0\0\17o\bô\14\0\0#q 12zNGgCP-\0M \0\0\17o\bü\14\0\0#q sUFmdoio-\0M \0\0\17o\b\ 4\15\0\0#q 3ByWaNXs-\0M \0\0\17o\b\f\15\0\0#q 7NrZuGMr-\0M \0\0\17o\b\14\15\0\0#q SZWRJA0v-\0M \0\0\17o\b\1c\15\0\0#q OHdOWzMw-\0M \0\0\17o\b$\15\0\0#q 8kjKrskd-\0M \0\0\17o\b,\15\0\0#q tyHLanDt-\0M \0\0\17o\b4\15\0\0#q iyJzpWVg-\0M \0\0\17o\b<\15\0\0#q jo+aaaAk-\0M \0\0\17o\bD\15\0\0#q qTKWLcdw-\0M \0\0\17o\bL\15\0\0#q xANHQyoZ-\0M \0\0\17o\bT\15\0\0#q 1XdCK2bi-\0M \0\0\17o\b\\15\0\0#q AxFgjnDM-\0M \0\0\17o\bd\15\0\0#q sxEk4wrW-\0M \0\0\17o\bl\15\0\0#q TKgmoae5-\0M \0\0\17o\bt\15\0\0#q DQbpESpt-\0M \0\0\17o\b|\15\0\0#q b1u3Dbpe-\0M \0\0\17o\b\84\15\0\0#q 6qOAZBKa-\0M \0\0\17o\b\8c\15\0\0#q UBJKBZei-\0M \0\0\17o\b\94\15\0\0#q CwEJ0Wgj-\0M \0\0\17o\b\9c\15\0\0#q FAInS4JG-\0M \0\0\17o\b¤\15\0\0#q F6SCWBfA-\0M \0\0\17o\b¬\15\0\0#q 6F3ud3Yt-\0M \0\0\17o\b´\15\0\0#q JTVontzK-\0M \0\0\17o\b¼\15\0\0#q vsRDk5li-\0M \0\0\17o\bÄ\15\0\0#q puE0+KVI-\0M \0\0\17o\bÌ\15\0\0#q KnHbGmhh-\0M \0\0\17o\bÔ\15\0\0#q DdShYAZ2-\0M \0\0\17o\bÜ\15\0\0#q 0BJi8hNs-\0M \0\0\17o\bä\15\0\0#q 22nd3MxN-\0M \0\0\17o\bì\15\0\0#q WKTyqlNV-\0M \0\0\17o\bô\15\0\0#q dr1vFs1k-\0M \0\0\17o\bü\15\0\0#q iRRBRoZY-\0M \0\0\17o\b\ 4\16\0\0#q Jt1SAw2W-\0M \0\0\17o\b\f\16\0\0#q IVY7gXmt-\0M \0\0\17o\b\14\16\0\0#q BFNaclgF-\0M \0\0\17o\b\1c\16\0\0#q QFjwnNh/-\0M \0\0\17o\b$\16\0\0#q g2AZt0p2-\0M \0\0\17o\b,\16\0\0#q YbFHgZ1Z-\0M \0\0\17o\b4\16\0\0#q kUHIuCAE-\0M \0\0\17o\b<\16\0\0#q MTDITBEM-\0M \0\0\17o\bD\16\0\0#q Bgx4Ecgg-\0M \0\0\17o\bL\16\0\0#q OwyuETQ7-\0M \0\0\17o\bT\16\0\0#q GUQsGRFZ-\0M \0\0\17o\b\\16\0\0#q ENlWXORD-\0M \0\0\17o\bd\16\0\0#q AZBg5I2Q-\0M \0\0\17o\bl\16\0\0#q g0CU0NEc-\0M \0\0\17o\bt\16\0\0#q uCVhf8E4-\0M \0\0\17o\b|\16\0\0#q pyCmHivN-\0M \0\0\17o\b\84\16\0\0#q aJAP8Dg6-\0M \0\0\17o\b\8c\16\0\0#q HMU/BCCc-\0M \0\0\17o\b\94\16\0\0#q RX/CAZi3-\0M \0\0\17o\b\9c\16\0\0#q FTsR+gqa-\0M \0\0\17o\b¤\16\0\0#q gg7gfXVQ-\0M \0\0\17o\b¬\16\0\0#q F3AFS45i-\0M \0\0\17o\b´\16\0\0#q g+iMnICO-\0M \0\0\17o\b¼\16\0\0#q KROLlQG9-\0M \0\0\17o\bÄ\16\0\0#q QyjKyxqt-\0M \0\0\17o\bÌ\16\0\0#q rL7DL2NW-\0M \0\0\17o\bÔ\16\0\0#q EoOARpsJ-\0M \0\0\17o\bÜ\16\0\0#q ENtjCQig-\0M \0\0\17o\bä\16\0\0#q yaiVbD8R-\0M \0\0\17o\bì\16\0\0#q cRpvD0dJ-\0M \0\0\17o\bô\16\0\0#q Yxh4KmIN-\0M \0\0\17o\bü\16\0\0#q WGAOAshC-\0M \0\0\17o\b\ 4\17\0\0#q D2ihhCBU-\0M \0\0\17o\b\f\17\0\0#q w7Rz2iEe-\0M \0\0\17o\b\14\17\0\0#q FpgIN0kK-\0M \0\0\17o\b\1c\17\0\0#q qUcbsJC1-\0M \0\0\17o\b$\17\0\0#q I9OQR1AR-\0M \0\0\17o\b,\17\0\0#q qIJlDBA9-\0M \0\0\17o\b4\17\0\0#q OIaiEhhK-\0M \0\0\17o\b<\17\0\0#q 4RqJxpaG-\0M \0\0\17o\bD\17\0\0#q 4HNX26+L-\0M \0\0\17o\bL\17\0\0#q L2uVbzYr-\0M \0\0\17o\bT\17\0\0#q 6uxSpDYD-\0M \0\0\17o\b\\17\0\0#q ItapRNSD-\0M \0\0\17o\bd\17\0\0#q SPMC40zS-\0M \0\0\17o\bl\17\0\0#q hplaragE-\0M \0\0\17o\bt\17\0\0#q HVTTzmCY-\0M \0\0\17o\b|\17\0\0#q zRWDaG4b-\0M \0\0\17o\b\84\17\0\0#q oqxNVpQe-\0M \0\0\17o\b\8c\17\0\0#q /U/8feVF-\0M \0\0\17o\b\94\17\0\0#q +H1z3Iy2-\0M \0\0\17o\b\9c\17\0\0#q hnvDyeOt-\0M \0\0\17o\b¤\17\0\0#q 5n1QI23z-\0M \0\0\17o\b¬\17\0\0#q arZHe9m7-\0M \0\0\17o\b´\17\0\0#q tUTEm75v-\0M \0\0\17o\b¼\17\0\0#q IImeGztc-\0M \0\0\17o\bÄ\17\0\0#q Nqf8/DK0-\0M \0\0\17o\bÌ\17\0\0#q 7AS3hyuu-\0M \0\0\17o\bÔ\17\0\0#q jbWlvld0-\0M \0\0\17o\bÜ\17\0\0#q RqQIdaW8-\0M \0\0\17o\bä\17\0\0#q VAyyAqKp-\0M \0\0\17o\bì\17\0\0#q JUEU5BBq-\0M \0\0\17o\bô\17\0\0#q ICLiixEH-\0M \0\0\17o\bü\17\0\0#q 2fZwoinT-\0M \0\0\17o\b\ 4\18\0\0#q hP1ruaww-\0M \0\0\17o\b\f\18\0\0#q Wxs79RpI-\0M \0\0\17o\b\14\18\0\0#q WIc1I6Vk-\0M \0\0\17o\b\1c\18\0\0#q HrWTkb36-\0M \0\0\17o\b$\18\0\0#q HKsT8aCE-\0M \0\0\17o\b,\18\0\0#q dYQp8dyc-\0M \0\0\17o\b4\18\0\0#q 8nHc5Tn1-\0M \0\0\17o\b<\18\0\0#q GZ9DqfXs-\0M \0\0\17o\bD\18\0\0#q +w6jU5vi-\0M \0\0\17o\bL\18\0\0#q 5KOwjHVB-\0M \0\0\17o\bT\18\0\0#q 4s9RJbGx-\0M \0\0\17o\b\\18\0\0#q esXpEnue-\0M \0\0\17o\bd\18\0\0#q ovCTuXRS-\0M \0\0\17o\bl\18\0\0#q XfPMqMjx-\0M \0\0\17o\bt\18\0\0#q q9le4We7-\0M \0\0\17o\b|\18\0\0#q 4avJg7nr-\0M \0\0\17o\b\84\18\0\0#q h8fkY4r3-\0M \0\0\17o\b\8c\18\0\0#q uTybuqrI-\0M \0\0\17o\b\94\18\0\0#q 5WCNRuBi-\0M \0\0\17o\b\9c\18\0\0#q LUVuMAR0-\0M \0\0\17o\b¤\18\0\0#q 2HDRwNFm-\0M \0\0\17o\b¬\18\0\0#q hVQC0wOx-\0M \0\0\17o\b´\18\0\0#q tAjoECQd-\0M \0\0\17o\b¼\18\0\0#q IAuc+Zfa-\0M \0\0\17o\bÄ\18\0\0#q Lo6O0IVM-\0M \0\0\17o\bÌ\18\0\0#q EV4FEtlx-\0M \0\0\17o\bÔ\18\0\0#q 4W2FCCd0-\0M \0\0\17o\bÜ\18\0\0#q Phvqkylm-\0M \0\0\17o\bä\18\0\0#q +T5VSzgZ-\0M \0\0\17o\bì\18\0\0#q CqK7UNZc-\0M \0\0\17o\bô\18\0\0#q +X11LEfD-\0M \0\0\17o\bü\18\0\0#q 369NnPNn-\0M \0\0\17o\b\ 4\19\0\0#q 684h236W-\0M \0\0\17o\b\f\19\0\0#q bTiIcgob-\0M \0\0\17o\b\14\19\0\0#q iiYguzQo-\0M \0\0\17o\b\1c\19\0\0#q Gj4YxXj+-\0M \0\0\17o\b$\19\0\0#q +cs4Tz0q-\0M \0\0\17o\b,\19\0\0#q dHkwXXYu-\0M \0\0\17o\b4\19\0\0#q qOxh4RlK-\0M \0\0\17o\b<\19\0\0#q lgXcTb+Z-\0M \0\0\17o\bD\19\0\0#q T58LL54/-\0M \0\0\17o\bL\19\0\0#q X5UkWd6U-\0M \0\0\17o\bT\19\0\0#q wSUtKWg8-\0M \0\0\17o\b\\19\0\0#q ezAgn3Ll-\0M \0\0\17o\bd\19\0\0#q VGy99KvH-\0M \0\0\17o\bl\19\0\0#q ea5jdcQU-\0M \0\0\17o\bt\19\0\0#q uTpOwzdq-\0M \0\0\17o\b|\19\0\0#q e2VOu9t1-\0M \0\0\17o\b\84\19\0\0#q 2gz7+79S-\0M \0\0\17o\b\8c\19\0\0#q tp9hZGnb-\0M \0\0\17o\b\94\19\0\0#q 9KZ0+UWV-\0M \0\0\17o\b\9c\19\0\0#q GOfa8PL8-\0M \0\0\17o\b¤\19\0\0#q MePzZ2jp-\0M \0\0\17o\b¬\19\0\0#q XPc6c8Sz-\0M \0\0\17o\b´\19\0\0#q 56UZnuR7-\0M \0\0\17o\b¼\19\0\0#q VyqryWOd-\0M \0\0\17o\bÄ\19\0\0#q ve7uxH+f-\0M \0\0\17o\bÌ\19\0\0#q 7i9zTaJu-\0M \0\0\17o\bÔ\19\0\0#q akt23DIb-\0M \0\0\17o\bÜ\19\0\0#q PPKW3Wvw-\0M \0\0\17o\bä\19\0\0#q vI5hyr5W-\0M \0\0\17o\bì\19\0\0#q OMzSpMgc-\0M \0\0\17o\bô\19\0\0#q Rs3ZkcLr-\0M \0\0\17o\bü\19\0\0#q NrzmzOP/-\0M \0\0\17o\b\ 4\1a\0\0#q kkQSPs/c-\0M \0\0\17o\b\f\1a\0\0#q fx/623+6-\0M \0\0\17o\b\14\1a\0\0#q 2xX7H7t/-\0M \0\0\17o\b\1c\1a\0\0#q 15ZmW2yT-\0M \0\0\17o\b$\1a\0\0#q /C26fxC/-\0M \0\0\17o\b,\1a\0\0#q 1B/Nm/4v-\0M \0\0\17o\b4\1a\0\0#q Hf4Y/W83-\0M \0\0\17o\b<\1a\0\0#q vZdxnDDN-\0M \0\0\17o\bD\1a\0\0#q atLLf4zJ-\0M \0\0\17o\bL\1a\0\0#q 2SOOSTXt-\0M \0\0\17o\bT\1a\0\0#q mh6bgfkM-\0M \0\0\17o\b\\1a\0\0#q /aUg/9rY-\0M \0\0\17o\bd\1a\0\0#q z+ROs5f0-\0M \0\0\17o\bl\1a\0\0#q f7Np83tX-\0M \0\0\17o\bt\1a\0\0#q E0ON27yn-\0M \0\0\17o\b|\1a\0\0#q Of4eduzH-\0M \0\0\17o\b\84\1a\0\0#q ucnkr/bP-\0M \0\0\17o\b\8c\1a\0\0#q /xPo+Tm1-\0M \0\0\17o\b\94\1a\0\0#q N30cm7RX-\0M \0\0\17o\b\9c\1a\0\0#q Z2cox/U5-\0M \0\0\17o\b¤\1a\0\0#q Js3cZ8ct-\0M \0\0\17o\b¬\1a\0\0#q GrXWkfP6-\0M \0\0\17o\b´\1a\0\0#q /AuC4YHo-\0M \0\0\17o\b¼\1a\0\0#q +wmtGj+j-\0M \0\0\17o\bÄ\1a\0\0#q DpRjOnhC-\0M \0\0\17o\bÌ\1a\0\0#q Rui6MS/o-\0M \0\0\17o\bÔ\1a\0\0#q i+aX3Nt6-\0M \0\0\17o\bÜ\1a\0\0#q cccYzh37-\0M \0\0\17o\bä\1a\0\0#q RNxmjpw8-\0M \0\0\17o\bì\1a\0\0#q 54P83H24-\0M \0\0\17o\bô\1a\0\0#q dWtaabtn-\0M \0\0\17o\bü\1a\0\0#q mK/F6q09-\0M \0\0\17o\b\ 4\e\0\0#q XRzP6HOT-\0M \0\0\17o\b\f\e\0\0#q UEd6oETQ-\0M \0\0\17o\b\14\e\0\0#q UHmXUt2t-\0M \0\0\17o\b\1c\e\0\0#q oYLMjFiM-\0M \0\0\17o\b$\e\0\0#q iAgDhaE2-\0M \0\0\17o\b,\e\0\0#q Dii0fPTc-\0M \0\0\17o\b4\e\0\0#q NGH7p5jf-\0M \0\0\17o\b<\e\0\0#q 0kPg3fXk-\0M \0\0\17o\bD\e\0\0#q ttKDMGej-\0M \0\0\17o\bL\e\0\0#q 3IKP2KJO-\0M \0\0\17o\bT\e\0\0#q lt/R+CT7-\0M \0\0\17o\b\\e\0\0#q PcY3AZxs-\0M \0\0\17o\bd\e\0\0#q oa+WREFD-\0M \0\0\17o\bl\e\0\0#q 5vk4TdXR-\0M \0\0\17o\bt\e\0\0#q 6uRq+MzK-\0M \0\0\17o\b|\e\0\0#q xSvDrq2a-\0M \0\0\17o\b\84\e\0\0#q k+c2275m-\0M \0\0\17o\b\8c\e\0\0#q d5ettnJp-\0M \0\0\17o\b\94\e\0\0#q +4/Y+HV6-\0M \0\0\17o\b\9c\e\0\0#q qxudXLde-\0M \0\0\17o\b¤\e\0\0#q dt6uSdTK-\0M \0\0\17o\b¬\e\0\0#q GaMJP6jN-\0M \0\0\17o\b´\e\0\0#q bZZww68/-\0M \0\0\17o\b¼\e\0\0#q M8PzplDq-\0M \0\0\17o\bÄ\e\0\0#q Yusu8ZQB-\0M \0\0\17o\bÌ\e\0\0#q AFQUJ8y9-\0M \0\0\17o\bÔ\e\0\0#q CB2DjMri-\0M \0\0\17o\bÜ\e\0\0#q YXiyEoiF-\0M \0\0\17o\bä\e\0\0#q RoNAmCWW-\0M \0\0\17o\bì\e\0\0#q SMuP4EvG-\0M \0\0\17o\bô\e\0\0#q SYUfk7ut-\0M \0\0\17o\bü\e\0\0#q 8CD78n+j-\0M \0\0\17o\b\ 4\1c\0\0#q +iqqihWU-\0M \0\0\17o\b\f\1c\0\0#q fmZb8RVj-\0M \0\0\17o\b\14\1c\0\0#q X9LiIokX-\0M \0\0\17o\b\1c\1c\0\0#q hgfqc+hj-\0M \0\0\17o\b$\1c\0\0#q bZR8xHTS-\0M \0\0\17o\b,\1c\0\0#q G2Nvltye-\0M \0\0\17o\b4\1c\0\0#q EkBoz+i+-\0M \0\0\17o\b<\1c\0\0#q EBqwZMS3-\0M \0\0\17o\bD\1c\0\0#q bqJsEaIa-\0M \0\0\17o\bL\1c\0\0#q GhUYwpTg-\0M \0\0\17o\bT\1c\0\0#q GQIwCHFS-\0M \0\0\17o\b\\1c\0\0#q PHf9PH5s-\0M \0\0\17o\bd\1c\0\0#q oVQwNtyu-\0M \0\0\17o\bl\1c\0\0#q 3LdB4H7h-\0M \0\0\17o\bt\1c\0\0#q 7qHvPtJP-\0M \0\0\17o\b|\1c\0\0#q gw2vhhBm-\0M \0\0\17o\b\84\1c\0\0#q wPscrZ9i-\0M \0\0\17o\b\8c\1c\0\0#q B0ofZ8/K-\0M \0\0\17o\b\94\1c\0\0#q 22LZTR+R-\0M \0\0\17o\b\9c\1c\0\0#q 6NBmMbWj-\0M \0\0\17o\b¤\1c\0\0#q +o8N5NK4-\0M \0\0\17o\b¬\1c\0\0#q btPxmPo3-\0M \0\0\17o\b´\1c\0\0#q Yvl53M08-\0M \0\0\17o\b¼\1c\0\0#q zTwps2Ux-\0M \0\0\17o\bÄ\1c\0\0#q 8n29W7or-\0M \0\0\17o\bÌ\1c\0\0#q ecnOTH4L-\0M \0\0\17o\bÔ\1c\0\0#q DyKfk9ee-\0M \0\0\17o\bÜ\1c\0\0#q nmurrptb-\0M \0\0\17o\bä\1c\0\0#q 6EDAylMS-\0M \0\0\17o\bì\1c\0\0#q yCFoPt68-\0M \0\0\17o\bô\1c\0\0#q A+P2W2rx-\0M \0\0\17o\bü\1c\0\0#q pvgRO7eO-\0M \0\0\17o\b\ 4\1d\0\0#q TE06p78T-\0M \0\0\17o\b\f\1d\0\0#q pM095szd-\0M \0\0\17o\b\14\1d\0\0#q T5dJNkqV-\0M \0\0\17o\b\1c\1d\0\0#q 9yvdk2Kj-\0M \0\0\17o\b$\1d\0\0#q Rq7ZNv2M-\0M \0\0\17o\b,\1d\0\0#q /zD1uISN-\0M \0\0\17o\b4\1d\0\0#q H5LRt2dP-\0M \0\0\17o\b<\1d\0\0#q bXxwgg+a-\0M \0\0\17o\bD\1d\0\0#q STdJarr4-\0M \0\0\17o\bL\1d\0\0#q +t4IO5+i-\0M \0\0\17o\bT\1d\0\0#q saqdYSfl-\0M \0\0\17o\b\\1d\0\0#q 2IOJ0ntA-\0M \0\0\17o\bd\1d\0\0#q 756tsBY3-\0M \0\0\17o\bl\1d\0\0#q I66SOBHl-\0M \0\0\17o\bt\1d\0\0#q U+0+8bWU-\0M \0\0\17o\b|\1d\0\0#q bHdtxa1P-\0M \0\0\17o\b\84\1d\0\0#q 2y83z5Pv-\0M \0\0\17o\b\8c\1d\0\0#q NqJ29h6y-\0M \0\0\17o\b\94\1d\0\0#q mz5tztPN-\0M \0\0\17o\b\9c\1d\0\0#q 04yw5+Os-\0M \0\0\17o\b¤\1d\0\0#q Ux767u+t-\0M \0\0\17o\b¬\1d\0\0#q 4Wb68vvz-\0M \0\0\17o\b´\1d\0\0#q tvPsCb27-\0M \0\0\17o\b¼\1d\0\0#q OnbrgHff-\0M \0\0\17o\bÄ\1d\0\0#q egij8Dbt-\0M \0\0\17o\bÌ\1d\0\0#q R+cpqFnr-\0M \0\0\17o\bÔ\1d\0\0#q poO2jCj+-\0M \0\0\17o\bÜ\1d\0\0#q dtrCBfwt-\0M \0\0\17o\bä\1d\0\0#q FtxfNrZd-\0M \0\0\17o\bì\1d\0\0#q 9ZcQzVPa-\0M \0\0\17o\bô\1d\0\0#q 9qbeq8du-\0M \0\0\17o\bü\1d\0\0#q MYmVfF+2-\0M \0\0\17o\b\ 4\1e\0\0#q cTONb3u2-\0M \0\0\17o\b\f\1e\0\0#q m+N7LwZw-\0M \0\0\17o\b\14\1e\0\0#q K24TMUPA-\0M \0\0\17o\b\1c\1e\0\0#q /s1xS2PJ-\0M \0\0\17o\b$\1e\0\0#q 211vg1Jf-\0M \0\0\17o\b,\1e\0\0#q BUXQLO2t-\0M \0\0\17o\b4\1e\0\0#q MacGtLJm-\0M \0\0\17o\b<\1e\0\0#q ttPE59YW-\0M \0\0\17o\bD\1e\0\0#q nForCNrr-\0M \0\0\17o\bL\1e\0\0#q vbv4+/xy-\0M \0\0\17o\bT\1e\0\0#q 7+NG7BfX-\0M \0\0\17o\b\\1e\0\0#q bnqKVTuo-\0M \0\0\17o\bd\1e\0\0#q 0DMuFW6c-\0M \0\0\17o\bl\1e\0\0#q /DBvb4i5-\0M \0\0\17o\bt\1e\0\0#q +crr56qL-\0M \0\0\17o\b|\1e\0\0#q SmCHWi13-\0M \0\0\17o\b\84\1e\0\0#q 1w0DRNem-\0M \0\0\17o\b\8c\1e\0\0#q G8J8mWF6-\0M \0\0\17o\b\94\1e\0\0#q /BavOE5Y-\0M \0\0\17o\b\9c\1e\0\0#q JruAqh/e-\0M \0\0\17o\b¤\1e\0\0#q 19oRd79a-\0M \0\0\17o\b¬\1e\0\0#q 8j2xXHhV-\0M \0\0\17o\b´\1e\0\0#q teYnEW9a-\0M \0\0\17o\b¼\1e\0\0#q 1AvE2WHF-\0M \0\0\17o\bÄ\1e\0\0#q Hnr7Wf43-\0M \0\0\17o\bÌ\1e\0\0#q p9q/GjSG-\0M \0\0\17o\bÔ\1e\0\0#q tZb51XBD-\0M \0\0\17o\bÜ\1e\0\0#q R5fZe/af-\0M \0\0\17o\bä\1e\0\0#q Xwzt1jTi-\0M \0\0\17o\bì\1e\0\0#q 0aTqd5pQ-\0M \0\0\17o\bô\1e\0\0#q 9xPS9+tf-\0M \0\0\17o\bü\1e\0\0#q lc68V3+R-\0M \0\0\17o\b\ 4\1f\0\0#q 30RS3anM-\0M \0\0\17o\b\f\1f\0\0#q Z7/OYoK8-\0M \0\0\17o\b\14\1f\0\0#q 3au2vY96-\0M \0\0\17o\b\1c\1f\0\0#q 2u/Pmnmv-\0M \0\0\17o\b$\1f\0\0#q WmcymeWx-\0M \0\0\17o\b,\1f\0\0#q xPne1H49-\0M \0\0\17o\b4\1f\0\0#q bc+va/KV-\0M \0\0\17o\b<\1f\0\0#q HaqJxTgr-\0M \0\0\17o\bD\1f\0\0#q qcN7zDZ2-\0M \0\0\17o\bL\1f\0\0#q TweudXva-\0M \0\0\17o\bT\1f\0\0#q vlknvqps-\0M \0\0\17o\b\\1f\0\0#q g6zC6+Ia-\0M \0\0\17o\bd\1f\0\0#q vvB2enbr-\0M \0\0\17o\bl\1f\0\0#q x754TjNR-\0M \0\0\17o\bt\1f\0\0#q ir97rpG6-\0M \0\0\17o\b|\1f\0\0#q 2S7VPnth-\0M \0\0\17o\b\84\1f\0\0#q +nn9KvmF-\0M \0\0\17o\b\8c\1f\0\0#q thTinXkT-\0M \0\0\17o\b\94\1f\0\0#q rfbYcr54-\0M \0\0\17o\b\9c\1f\0\0#q eVPbFQRF-\0M \0\0\17o\b¤\1f\0\0#q 11vTW9+C-\0M \0\0\17o\b¬\1f\0\0#q cB+4r3XR-\0M \0\0\17o\b´\1f\0\0#q pMtsKWHn-\0M \0\0\17o\b¼\1f\0\0#q hn3dFDF7-\0M \0\0\17o\bÄ\1f\0\0#q PYpQoLeU-\0M \0\0\17o\bÌ\1f\0\0#q zh639UyD-\0M \0\0\17o\bÔ\1f\0\0#q F5ouhQer-\0M \0\0\17o\bÜ\1f\0\0#q fW+FKROl-\0M \0\0\17o\bä\1f\0\0#q O2lJwm+U-\0M \0\0\17o\bì\1f\0\0#q DcwvkjwQ-\0M \0\0\17o\bô\1f\0\0#q 51nx2aQ+-\0M \0\0\17o\bü\1f\0\0#q iINt/lkD-\0M \0\0\17o\b\ 4 \0\0#q DTrmb2vr-\0M \0\0\17o\b\f \0\0#q xryHii64-\0M \0\0\17o\b\14 \0\0#q 8Xu/tF6Q-\0M \0\0\17o\b\1c \0\0#q HbUcIFxg-\0M \0\0\17o\b$ \0\0#q YRp4+V7e-\0M \0\0\17o\b, \0\0#q aLG64b2s-\0M \0\0\17o\b4 \0\0#q u+ONNxKE-\0M \0\0\17o\b< \0\0#q DlYjMR1F-\0M \0\0\17o\bD \0\0#q uhvauj8z-\0M \0\0\17o\bL \0\0#q eus/aeYa-\0M \0\0\17o\bT \0\0#q 2iB/Va1t-\0M \0\0\17o\b\ \0\0#q uuH2zjOv-\0M \0\0\17o\bd \0\0#q xxxonwsb-\0M \0\0\17o\bl \0\0#q YInfrnTP-\0M \0\0\17o\bt \0\0#q Ns504yed-\0M \0\0\17o\b| \0\0#q SRkJR0je-\0M \0\0\17o\b\84 \0\0#q aBvNr5mG-\0M \0\0\17o\b\8c \0\0#q nFr5TFHN-\0M \0\0\17o\b\94 \0\0#q ub0FVE30-\0M \0\0\17o\b\9c \0\0#q 34E+q7tf-\0M \0\0\17o\b¤ \0\0#q F5n54uuT-\0M \0\0\17o\b¬ \0\0#q 4o+28bYp-\0M \0\0\17o\b´ \0\0#q zjhtI6mf-\0M \0\0\17o\b¼ \0\0#q B4jbVMEd-\0M \0\0\17o\bÄ \0\0#q 31VAR4vi-\0M \0\0\17o\bÌ \0\0#q GN8Tu4um-\0M \0\0\17o\bÔ \0\0#q aeq9qLGL-\0M \0\0\17o\bÜ \0\0#q NUsvpQu/-\0M \0\0\17o\bä \0\0#q 8faJd34U-\0M \0\0\17o\bì \0\0#q W2pXhjva-\0M \0\0\17o\bô \0\0#q q0NFmKDN-\0M \0\0\17o\bü \0\0#q Z7UjVrNM-\0M \0\0\17o\b\ 4!\0\0#q 4aXvd5pS-\0M \0\0\17o\b\f!\0\0#q g7LW/5p7-\0M \0\0\17o\b\14!\0\0#q 955Vtvf6-\0M \0\0\17o\b\1c!\0\0#q tsMfFl9r-\0M \0\0\17o\b$!\0\0#q s3VvkKnf-\0M \0\0\17o\b,!\0\0#q vemaXnFP-\0M \0\0\17o\b4!\0\0#q Gd4je+Y3-\0M \0\0\17o\b<!\0\0#q iU3nXv37-\0M \0\0\17o\bD!\0\0#q xz8/Ot5b-\0M \0\0\17o\bL!\0\0#q nc6a2J+d-\0M \0\0\17o\bT!\0\0#q PSXnLYpv-\0M \0\0\17o\b\!\0\0#q qfBk7Zif-\0M \0\0\17o\bd!\0\0#q A8RiUeNN-\0M \0\0\17o\bl!\0\0#q auSKONwZ-\0M \0\0\17o\bt!\0\0#q WKpMDsKh-\0M \0\0\17o\b|!\0\0#q Pt+f5X25-\0M \0\0\17o\b\84!\0\0#q +dAjco/6-\0M \0\0\17o\b\8c!\0\0#q X52E/Ys3-\0M \0\0\17o\b\94!\0\0#q 128FfCeI-\0M \0\0\17o\b\9c!\0\0#q +sV1Ngs+-\0M \0\0\17o\b¤!\0\0#q 8/j7+sqr-\0M \0\0\17o\b¬!\0\0#q WwKe/0yd-\0M \0\0\17o\b´!\0\0#q fK2xlW++-\0M \0\0\17o\b¼!\0\0#q +7Sx8Nr0-\0M \0\0\17o\bÄ!\0\0#q 9NQEOaq5-\0M \0\0\17o\bÌ!\0\0#q Z21TVe+3-\0M \0\0\17o\bÔ!\0\0#q euawND9L-\0M \0\0\17o\bÜ!\0\0#q Pk1eaTWO-\0M \0\0\17o\bä!\0\0#q D2M1bXSf-\0M \0\0\17o\bì!\0\0#q q32fH5Wr-\0M \0\0\17o\bô!\0\0#q qCSRodPH-\0M \0\0\17o\bü!\0\0#q mm85a3Gq-\0M \0\0\17o\b\ 4"\0\0#q 8/ldR8zn-\0M \0\0\17o\b\f"\0\0#q NtO6s/E5-\0M \0\0\17o\b\14"\0\0#q oRyyZ1pX-\0M \0\0\17o\b\1c"\0\0#q 09q7BTxk-\0M \0\0\17o\b$"\0\0#q /n5j1O8Y-\0M \0\0\17o\b,"\0\0#q r8nSj+qe-\0M \0\0\17o\b4"\0\0#q zJTO/bzu-\0M \0\0\17o\b<"\0\0#q Io9vLwYb-\0M \0\0\17o\bD"\0\0#q xnRYVVut-\0M \0\0\17o\bL"\0\0#q OL7dQJYP-\0M \0\0\17o\bT"\0\0#q FNnRyNDL-\0M \0\0\17o\b\"\0\0#q jWmONtQB-\0M \0\0\17o\bd"\0\0#q d1AxDZA3-\0M \0\0\17o\bl"\0\0#q 9o0QEps8-\0M \0\0\17o\bt"\0\0#q eiBrSOQO-\0M \0\0\17o\b|"\0\0#q +M2yN/b3-\0M \0\0\17o\b\84"\0\0#q A0Mr9bVG-\0M \0\0\17o\b\8c"\0\0#q 5A42A3Lc-\0M \0\0\17o\b\94"\0\0#q I0uBvqcx-\0M \0\0\17o\b\9c"\0\0#q zal1tziF-\0M \0\0\17o\b¤"\0\0#q TfaXakSn-\0M \0\0\17o\b¬"\0\0#q UaaNpTxp-\0M \0\0\17o\b´"\0\0#q S+3avWO1-\0M \0\0\17o\b¼"\0\0#q hvyyUtPU-\0M \0\0\17o\bÄ"\0\0#q e+uu45yi-\0M \0\0\17o\bÌ"\0\0#q 4aeNNM2G-\0M \0\0\17o\bÔ"\0\0#q nS0nrucv-\0M \0\0\17o\bÜ"\0\0#q jF/OGhoO-\0M \0\0\17o\bä"\0\0#q nW1aB+Lx-\0M \0\0\17o\bì"\0\0#q nmzq3Gyz-\0M \0\0\17o\bô"\0\0#q taXeuQpo-\0M \0\0\17o\bü"\0\0#q mp1FUXt7-\0M \0\0\17o\b\ 4#\0\0#q Rffavj8e-\0M \0\0\17o\b\f#\0\0#q Jxqux8ey-\0M \0\0\17o\b\14#\0\0#q ex3ftOU4-\0M \0\0\17o\b\1c#\0\0#q rXxtxMYw-\0M \0\0\17o\b$#\0\0#q PRqwXX3R-\0M \0\0\17o\b,#\0\0#q cbx8dn9s-\0M \0\0\17o\b4#\0\0#q 3YtPa1Xr-\0M \0\0\17o\b<#\0\0#q nZx3dqik-\0M \0\0\17o\bD#\0\0#q I3E1b3fP-\0M \0\0\17o\bL#\0\0#q b83aGWPm-\0M \0\0\17o\bT#\0\0#q e0CcoGvA-\0M \0\0\17o\b\#\0\0#q 1o2PWLs1-\0M \0\0\17o\bd#\0\0#q K+ceH4fT-\0M \0\0\17o\bl#\0\0#q FuVHzrGW-\0M \0\0\17o\bt#\0\0#q GpHci+da-\0M \0\0\17o\b|#\0\0#q beFi0V6m-\0M \0\0\17o\b\84#\0\0#q 3aE68H73-\0M \0\0\17o\b\8c#\0\0#q Zw10nviG-\0M \0\0\17o\b\94#\0\0#q OyJI6Dzq-\0M \0\0\17o\b\9c#\0\0#q zFDysrN7-\0M \0\0\17o\b¤#\0\0#q Vt3elS/j-\0M \0\0\17o\b¬#\0\0#q FreqKx+U-\0M \0\0\17o\b´#\0\0#q pRu/mfHb-\0M \0\0\17o\b¼#\0\0#q O2Jz7663-\0M \0\0\17o\bÄ#\0\0#q zp9WvTov-\0M \0\0\17o\bÌ#\0\0#q vvvi14Hr-\0M \0\0\17o\bÔ#\0\0#q 7KrTbRdu-\0M \0\0\17o\bÜ#\0\0#q DN4R+UTm-\0M \0\0\17o\bä#\0\0#q qrtsy2L5-\0M \0\0\17o\bì#\0\0#q ZVHyb3Y6-\0M \0\0\17o\bô#\0\0#q t0R06bVX-\0M \0\0\17o\bü#\0\0#q uuJsOJpv-\0M \0\0\17o\b\ 4$\0\0#q 5TdGqPBn-\0M \0\0\17o\b\f$\0\0#q vjuRp2u8-\0M \0\0\17o\b\14$\0\0#q z2WyNdKc-\0M \0\0\17o\b\1c$\0\0#q ny5v9uOf-\0M \0\0\17o\b$$\0\0#q k2vv7aae-\0M \0\0\17o\b,$\0\0#q etW8z7wt-\0M \0\0\17o\b4$\0\0#q z15nB6We-\0M \0\0\17o\b<$\0\0#q nehxSnft-\0M \0\0\17o\bD$\0\0#q gbkj3tWd-\0M \0\0\17o\bL$\0\0#q Mah+7rRb-\0M \0\0\17o\bT$\0\0#q rONx6m49-\0M \0\0\17o\b\$\0\0#q l1arhpoQ-\0M \0\0\17o\bd$\0\0#q IQzabRKa-\0M \0\0\17o\bl$\0\0#q TwFVPoKP-\0M \0\0\17o\bt$\0\0#q OmlsaT9t-\0M \0\0\17o\b|$\0\0#q WeFUp8/X-\0M \0\0\17o\b\84$\0\0#q rDuFrtXT-\0M \0\0\17o\b\8c$\0\0#q 1Ap74Ub+-\0M \0\0\17o\b\94$\0\0#q kFY8KMkm-\0M \0\0\17o\b\9c$\0\0#q Q4I7OOw1-\0M \0\0\17o\b¤$\0\0#q 7bYmTedi-\0M \0\0\17o\b¬$\0\0#q Z0ZtqXZa-\0M \0\0\17o\b´$\0\0#q koO7cey6-\0M \0\0\17o\b¼$\0\0#q d0rpPrCr-\0M \0\0\17o\bÄ$\0\0#q pmfgHM/b-\0M \0\0\17o\bÌ$\0\0#q a7hjUcJ7-\0M \0\0\17o\bÔ$\0\0#q c3OM2GCC-\0M \0\0\17o\bÜ$\0\0#q HLLJ9KNH-\0M \0\0\17o\bä$\0\0#q Ob1c199t-\0M \0\0\17o\bì$\0\0#q bZc8EKX0-\0M \0\0\17o\bô$\0\0#q o9vETvYa-\0M \0\0\17o\bü$\0\0#q zOKX1tnT-\0M \0\0\17o\b\ 4%\0\0#q N9u/0fij-\0M \0\0\17o\b\f%\0\0#q 7WpVRTrm-\0M \0\0\17o\b\14%\0\0#q mb7c73x2-\0M \0\0\17o\b\1c%\0\0#q zlpOsWq3-\0M \0\0\17o\b$%\0\0#q PBNjMryy-\0M \0\0\17o\b,%\0\0#q Vim+k6qI-\0M \0\0\17o\b4%\0\0#q HV8cZzrm-\0M \0\0\17o\b<%\0\0#q 1NNNtGG3-\0M \0\0\17o\bD%\0\0#q WiU222+q-\0M \0\0\17o\bL%\0\0#q WvilXLVP-\0M \0\0\17o\bT%\0\0#q DTtuujYq-\0M \0\0\17o\b\%\0\0#q nq92Hkjt-\0M \0\0\17o\bd%\0\0#q Prnhn8wf-\0M \0\0\17o\bl%\0\0#q FVRtPKbM-\0M \0\0\17o\bt%\0\0#q lam+ja2n-\0M \0\0\17o\b|%\0\0#q ZNWzVGx4-\0M \0\0\17o\b\84%\0\0#q 0FOJoI1m-\0M \0\0\17o\b\8c%\0\0#q jzX8RMGu-\0M \0\0\17o\b\94%\0\0#q vpd/eu+l-\0M \0\0\17o\b\9c%\0\0#q F81TFb00-\0M \0\0\17o\b¤%\0\0#q pDIz9nRK-\0M \0\0\17o\b¬%\0\0#q Td6RSnvt-\0M \0\0\17o\b´%\0\0#q 2s+s7+qq-\0M \0\0\17o\b¼%\0\0#q t/jhaRHw-\0M \0\0\17o\bÄ%\0\0#q yffKQ/z0-\0M \0\0\17o\bÌ%\0\0#q /tG3K+dU-\0M \0\0\17o\bÔ%\0\0#q Xivrmu3j-\0M \0\0\17o\bÜ%\0\0#q C03fjSsN-\0M \0\0\17o\bä%\0\0#q vPfd9sob-\0M \0\0\17o\bì%\0\0#q +3xr8iPB-\0M \0\0\17o\bô%\0\0#q lBljpK63-\0M \0\0\17o\bü%\0\0#q v6fnbHtx-\0M \0\0\17o\b\ 4&\0\0#q KpDNFNx4-\0M \0\0\17o\b\f&\0\0#q fWXi+m1X-\0M \0\0\17o\b\14&\0\0#q LycVHAWw-\0M \0\0\17o\b\1c&\0\0#q I7iooCKf-\0M \0\0\17o\b$&\0\0#q X4XX8vjq-\0M \0\0\17o\b,&\0\0#q gNOk/E9u-\0M \0\0\17o\b4&\0\0#q dJqie7fM-\0M \0\0\17o\b<&\0\0#q u3gr4Snj-\0M \0\0\17o\bD&\0\0#q 7XtqUiPX-\0M \0\0\17o\bL&\0\0#q k/dmGsfH-\0M \0\0\17o\bT&\0\0#q vAp85erx-\0M \0\0\17o\b\&\0\0#q qS/xs1bw-\0M \0\0\17o\bd&\0\0#q lgkOcUNz-\0M \0\0\17o\bl&\0\0#q 9VxavzsJ-\0M \0\0\17o\bt&\0\0#q 6RvKmczE-\0M \0\0\17o\b|&\0\0#q 3Qfa3x8N-\0M \0\0\17o\b\84&\0\0#q 7dfP19fV-\0M \0\0\17o\b\8c&\0\0#q 5zBafd0+-\0M \0\0\17o\b\94&\0\0#q t4Gv1r9d-\0M \0\0\17o\b\9c&\0\0#q Sf3T6+af-\0M \0\0\17o\b¤&\0\0#q WJ0nyP0Y-\0M \0\0\17o\b¬&\0\0#q agjzqAok-\0M \0\0\17o\b´&\0\0#q AsvA5HMv-\0M \0\0\17o\b¼&\0\0#q ICycScGR-\0M \0\0\17o\bÄ&\0\0#q H5DZSUA+-\0M \0\0\17o\bÌ&\0\0#q 4yHCgQfx-\0M \0\0\17o\bÔ&\0\0#q OdfUK0Si-\0M \0\0\17o\bÜ&\0\0#q I3A5uCNv-\0M \0\0\17o\bä&\0\0#q ta9mxHyt-\0M \0\0\17o\bì&\0\0#q vJydnbe2-\0M \0\0\17o\bô&\0\0#q vh3ekY7R-\0M \0\0\17o\bü&\0\0#q p0aKfJeT-\0M \0\0\17o\b\ 4'\0\0#q kcPDZ8Nm-\0M \0\0\17o\b\f'\0\0#q PB3NTaen-\0M \0\0\17o\b\14'\0\0#q 67W1s5nL-\0M \0\0\17o\b\1c'\0\0#q DjLOzJpd-\0M \0\0\17o\b$'\0\0#q ra8zzbuJ-\0M \0\0\17o\b,'\0\0#q p5Pt6W7c-\0M \0\0\17o\b4'\0\0#q nZU5vM2/-\0M \0\0\17o\b<'\0\0#q Y6dMPz9e-\0M \0\0\17o\bD'\0\0#q 5Tcsdwed-\0M \0\0\17o\bL'\0\0#q g3dJ1jb2-\0M \0\0\17o\bT'\0\0#q DdpxJIz0-\0M \0\0\17o\b\'\0\0#q Z0kNPqBs-\0M \0\0\17o\bd'\0\0#q n92/s4FF-\0M \0\0\17o\bl'\0\0#q +N/glGnY-\0M \0\0\17o\bt'\0\0#q gij0wPhQ-\0M \0\0\17o\b|'\0\0#q uH0EH5P7-\0M \0\0\17o\b\84'\0\0#q jwhh/JyC-\0M \0\0\17o\b\8c'\0\0#q zw+Z3IMd-\0M \0\0\17o\b\94'\0\0#q OXTp3K3Z-\0M \0\0\17o\b\9c'\0\0#q OHCvyezH-\0M \0\0\17o\b¤'\0\0#q Js5atrTS-\0M \0\0\17o\b¬'\0\0#q jQcMZLMt-\0M \0\0\17o\b´'\0\0#q xWHd4dXK-\0M \0\0\17o\b¼'\0\0#q Ngxw4aZq-\0M \0\0\17o\bÄ'\0\0#q 3nzb+1vu-\0M \0\0\17o\bÌ'\0\0#q cjpvN/b6-\0M \0\0\17o\bÔ'\0\0#q mqqpFQxW-\0M \0\0\17o\bÜ'\0\0#q MPRn6H4L-\0M \0\0\17o\bä'\0\0#q FK8ID7PD-\0M \0\0\17o\bì'\0\0#q 0s4SMs9K-\0M \0\0\17o\bô'\0\0#q L0KMPT9C-\0M \0\0\17o\bü'\0\0#q xUqLPxoS-\0M \0\0\17o\b\ 4(\0\0#q UfQf0KPy-\0M \0\0\17o\b\f(\0\0#q Lhh9D1vz-\0M \0\0\17o\b\14(\0\0#q 6H9jW/B0-\0M \0\0\17o\b\1c(\0\0#q emjPs4eC-\0M \0\0\17o\b$(\0\0#q R1R8HP7M-\0M \0\0\17o\b,(\0\0#q bkZSDnGy-\0M \0\0\17o\b4(\0\0#q W2fQzpoF-\0M \0\0\17o\b<(\0\0#q HCz0g/k0-\0M \0\0\17o\bD(\0\0#q /c8XzYzM-\0M \0\0\17o\bL(\0\0#q Xg5v2dmm-\0M \0\0\17o\bT(\0\0#q necnavJv-\0M \0\0\17o\b\(\0\0#q G6+L5VVN-\0M \0\0\17o\bd(\0\0#q Pmrir5NP-\0M \0\0\17o\bl(\0\0#q /86vZ5HJ-\0M \0\0\17o\bt(\0\0#q 8Nnbq3mj-\0M \0\0\17o\b|(\0\0#q 04tjyV4Y-\0M \0\0\17o\b\84(\0\0#q 9nm2eh0f-\0M \0\0\17o\b\8c(\0\0#q qafNu7Pn-\0M \0\0\17o\b\94(\0\0#q s6K05Gnm-\0M \0\0\17o\b\9c(\0\0#q +zfa1ps3-\0M \0\0\17o\b¤(\0\0#q fD43tuO7-\0M \0\0\17o\b¬(\0\0#q 6Gt3pHDu-\0M \0\0\17o\b´(\0\0#q 2Z4fN0c3-\0M \0\0\17o\b¼(\0\0#q eclcM5W4-\0M \0\0\17o\bÄ(\0\0#q 6KqvgrfL-\0M \0\0\17o\bÌ(\0\0#q ZZ8Ozk5z-\0M \0\0\17o\bÔ(\0\0#q j2t+GJ1O-\0M \0\0\17o\bÜ(\0\0#q Zux01LfB-\0M \0\0\17o\bä(\0\0#q Lof2MVLI-\0M \0\0\17o\bì(\0\0#q b+iTTw/Q-\0M \0\0\17o\bô(\0\0#q ko8MWFEI-\0M \0\0\17o\bü(\0\0#q 2oiP1WGG-\0M \0\0\17o\b\ 4)\0\0#q jYyKLrbb-\0M \0\0\17o\b\f)\0\0#q fh6PuDD7-\0M \0\0\17o\b\14)\0\0#q yk3srttD-\0M \0\0\17o\b\1c)\0\0#q 0dPqECgg-\0M \0\0\17o\b$)\0\0#q sURwgcKH-\0M \0\0\17o\b,)\0\0#q FYVt9Z+a-\0M \0\0\17o\b4)\0\0#q 1C4nm6Up-\0M \0\0\17o\b<)\0\0#q a9L3uLtW-\0M \0\0\17o\bD)\0\0#q 7mx0YcK4-\0M \0\0\17o\bL)\0\0#q Kx0dfZa/-\0M \0\0\17o\bT)\0\0#q Ltw8n9hX-\0M \0\0\17o\b\)\0\0#q Z89reu1q-\0M \0\0\17o\bd)\0\0#q DcLLcHUQ-\0M \0\0\17o\bl)\0\0#q NwHtoWoG-\0M \0\0\17o\bt)\0\0#q tuURwwrI-\0M \0\0\17o\b|)\0\0#q GERCPzCr-\0M \0\0\17o\b\84)\0\0#q 0EbZJDNy-\0M \0\0\17o\b\8c)\0\0#q QYwp37N0-\0M \0\0\17o\b\94)\0\0#q hT9ZQ2fo-\0M \0\0\17o\b\9c)\0\0#q Lh0PmQ4b-\0M \0\0\17o\b¤)\0\0#q KfLwekfR-\0M \0\0\17o\b¬)\0\0#q ti0fBA/Y-\0M \0\0\17o\b´)\0\0#q fU4d3Prb-\0M \0\0\17o\b¼)\0\0#q bDZ6xtdC-\0M \0\0\17o\bÄ)\0\0#q y8gjwLiJ-\0M \0\0\17o\bÌ)\0\0#q ERJhI2+1-\0M \0\0\17o\bÔ)\0\0#q B1WIF0Fd-\0M \0\0\17o\bÜ)\0\0#q F1DCwjKk-\0M \0\0\17o\bä)\0\0#q l0UI4z0M-\0M \0\0\17o\bì)\0\0#q 6fVMf6ve-\0M \0\0\17o\bô)\0\0#q nWbllsbt-\0M \0\0\17o\bü)\0\0#q gcPvILqx-\0M \0\0\17o\b\ 4*\0\0#q Nlq6efK2-\0M \0\0\17o\b\f*\0\0#q Sq6vRw6K-\0M \0\0\17o\b\14*\0\0#q 51ebu01V-\0M \0\0\17o\b\1c*\0\0#q 9Z5ui4IU-\0M \0\0\17o\b$*\0\0#q OJjUBhQU-\0M \0\0\17o\b,*\0\0#q eqIhoDPB-\0M \0\0\17o\b4*\0\0#q JAf0TLYP-\0M \0\0\17o\b<*\0\0#q oToLip4W-\0M \0\0\17o\bD*\0\0#q dGkzxt/Z-\0M \0\0\17o\bL*\0\0#q 762yzA4Q-\0M \0\0\17o\bT*\0\0#q hhh4oHIv-\0M \0\0\17o\b\*\0\0#q 3KIDT5Km-\0M \0\0\17o\bd*\0\0#q ZlTKwtaW-\0M \0\0\17o\bl*\0\0#q OeREM862-\0M \0\0\17o\bt*\0\0#q 3/B6elo8-\0M \0\0\17o\b|*\0\0#q Q1JxiWAg-\0M \0\0\17o\b\84*\0\0#q QncQECgM-\0M \0\0\17o\b\8c*\0\0#q LAiWAQRU-\0M \0\0\17o\b\94*\0\0#q xWNHd3dx-\0M \0\0\17o\b\9c*\0\0#q djkaybr2-\0M \0\0\17o\b¤*\0\0#q VslNjq7N-\0M \0\0\17o\b¬*\0\0#q lVT2j4cJ-\0M \0\0\17o\b´*\0\0#q 2ejho/Rk-\0M \0\0\17o\b¼*\0\0#q 05YtfCzu-\0M \0\0\17o\bÄ*\0\0#q 1xat+Hdu-\0M \0\0\17o\bÌ*\0\0#q 91cvNxDs-\0M \0\0\17o\bÔ*\0\0#q pIbRFIVU-\0M \0\0\17o\bÜ*\0\0#q RFCyHQYe-\0M \0\0\17o\bä*\0\0#q wlUKLjAg-\0M \0\0\17o\bì*\0\0#q dUHOqqFX-\0M \0\0\17o\bô*\0\0#q QdDAGooO-\0M \0\0\17o\bü*\0\0#q ZKIyENwS-\0M \0\0\17o\b\ 4+\0\0#q UKq4sEFR-\0M \0\0\17o\b\f+\0\0#q yNRMUadp-\0M \0\0\17o\b\14+\0\0#q 0PLpEZlE-\0M \0\0\17o\b\1c+\0\0#q 3GfqYaDK-\0M \0\0\17o\b$+\0\0#q GQcHDf7n-\0M \0\0\17o\b,+\0\0#q D8kmHDRh-\0M \0\0\17o\b4+\0\0#q 4fwWWYff-\0M \0\0\17o\b<+\0\0#q jxw24caY-\0M \0\0\17o\bD+\0\0#q Wfk0mkeN-\0M \0\0\17o\bL+\0\0#q D4SFGhHi-\0M \0\0\17o\bT+\0\0#q VFbu2Ekg-\0M \0\0\17o\b\+\0\0#q tHFezxIq-\0M \0\0\17o\bd+\0\0#q aWnaEdzJ-\0M \0\0\17o\bl+\0\0#q FsqSNEFK-\0M \0\0\17o\bt+\0\0#q pZXphid2-\0M \0\0\17o\b|+\0\0#q 50aNmnZo-\0M \0\0\17o\b\84+\0\0#q 7ZMVlx7m-\0M \0\0\17o\b\8c+\0\0#q zFVXDo03-\0M \0\0\17o\b\94+\0\0#q KvK3TTdq-\0M \0\0\17o\b\9c+\0\0#q ZZZ0j34L-\0M \0\0\17o\b¤+\0\0#q qeGyvh6K-\0M \0\0\17o\b¬+\0\0#q 8ns4bdre-\0M \0\0\17o\b´+\0\0#q quzHYrNt-\0M \0\0\17o\b¼+\0\0#q 5jMmO7tq-\0M \0\0\17o\bÄ+\0\0#q 3Hk9GTU6-\0M \0\0\17o\bÌ+\0\0#q GMOGnzTT-\0M \0\0\17o\bÔ+\0\0#q gbO08zq5-\0M \0\0\17o\bÜ+\0\0#q PJjdy74z-\0M \0\0\17o\bä+\0\0#q Obhx6M8n-\0M \0\0\17o\bì+\0\0#q Ju5Vc+Lb-\0M \0\0\17o\bô+\0\0#q m9uVj1ez-\0M \0\0\17o\bü+\0\0#q k3q17t3D-\0M \0\0\17o\b\ 4,\0\0#q 0exwYMKB-\0M \0\0\17o\b\f,\0\0#q pTOURDWR-\0M \0\0\17o\b\14,\0\0#q GaXREECY-\0M \0\0\17o\b\1c,\0\0#q uJhxzxhE-\0M \0\0\17o\b$,\0\0#q TUu8mXv9-\0M \0\0\17o\b,,\0\0#q Vjp48d1l-\0M \0\0\17o\b4,\0\0#q C0/f0WGg-\0M \0\0\17o\b<,\0\0#q xkH1HjiP-\0M \0\0\17o\bD,\0\0#q yUUeFBGO-\0M \0\0\17o\bL,\0\0#q am8bm7o0-\0M \0\0\17o\bT,\0\0#q 7t3Vu5la-\0M \0\0\17o\b\,\0\0#q h4OzS302-\0M \0\0\17o\bd,\0\0#q 0qqBK4IC-\0M \0\0\17o\bl,\0\0#q gQPb8h8f-\0M \0\0\17o\bt,\0\0#q j69n+3hl-\0M \0\0\17o\b|,\0\0#q eET5+1Kk-\0M \0\0\17o\b\84,\0\0#q 1maNSlav-\0M \0\0\17o\b\8c,\0\0#q R9c8+++/-\0M \0\0\17o\b\94,\0\0#q Pnenwej1-\0M \0\0\17o\b\9c,\0\0#q erxtb6HV-\0M \0\0\17o\b¤,\0\0#q 2SCSSdrJ-\0M \0\0\17o\b¬,\0\0#q HVYHikZU-\0M \0\0\17o\b´,\0\0#q g1ZVkDtU-\0M \0\0\17o\b¼,\0\0#q EypDVQZT-\0M \0\0\17o\bÄ,\0\0#q N8kDSwll-\0M \0\0\17o\bÌ,\0\0#q keMwS78a-\0M \0\0\17o\bÔ,\0\0#q kNOMiJQQ-\0M \0\0\17o\bÜ,\0\0#q c3dihLlK-\0M \0\0\17o\bä,\0\0#q j+oCG7aE-\0M \0\0\17o\bì,\0\0#q M7oG4kZW-\0M \0\0\17o\bô,\0\0#q 1NVLsxIV-\0M \0\0\17o\bü,\0\0#q jJxmQMVB-\0M \0\0\17o\b\ 4-\0\0#q iUTaWsgY-\0M \0\0\17o\b\f-\0\0#q DYxiQYyP-\0M \0\0\17o\b\14-\0\0#q uBXhdUKW-\0M \0\0\17o\b\1c-\0\0#q rZb79D15-\0M \0\0\17o\b$-\0\0#q ra7uMfLW-\0M \0\0\17o\b,-\0\0#q 1eW8dXOa-\0M \0\0\17o\b4-\0\0#q iNhdxQsl-\0M \0\0\17o\b<-\0\0#q kuUzMFKg-\0M \0\0\17o\bD-\0\0#q agC1Ehom-\0M \0\0\17o\bL-\0\0#q iOOZC4Ay-\0M \0\0\17o\bT-\0\0#q O5qNxXMV-\0M \0\0\17o\b\-\0\0#q ogEhIpqS-\0M \0\0\17o\bd-\0\0#q NRe4grNt-\0M \0\0\17o\bl-\0\0#q R7emHctE-\0M \0\0\17o\bt-\0\0#q hpNtsXLS-\0M \0\0\17o\b|-\0\0#q m9xOTBmO-\0M \0\0\17o\b\84-\0\0#q SDYeNILY-\0M \0\0\17o\b\8c-\0\0#q 2DG2ibk3-\0M \0\0\17o\b\94-\0\0#q hUFnKtvT-\0M \0\0\17o\b\9c-\0\0#q MXYBFsiI-\0M \0\0\17o\b¤-\0\0#q 1xxoHjiB-\0M \0\0\17o\b¬-\0\0#q Jg0ZhC2V-\0M \0\0\17o\b´-\0\0#q ig602I1P-\0M \0\0\17o\b¼-\0\0#q KTNWvbUb-\0M \0\0\17o\bÄ-\0\0#q Ym/JAG0U-\0M \0\0\17o\bÌ-\0\0#q aUsNNFaf-\0M \0\0\17o\bÔ-\0\0#q JHs1SpG5-\0M \0\0\17o\bÜ-\0\0#q rY8UsGwe-\0M \0\0\17o\bä-\0\0#q 7VRhp+PJ-\0M \0\0\17o\bì-\0\0#q Fmpjr15a-\0M \0\0\17o\bô-\0\0#q htvTFpqh-\0M \0\0\17o\bü-\0\0#q uKWCg24W-\0M \0\0\17o\b\ 4.\0\0#q Kj7kpybZ-\0M \0\0\17o\b\f.\0\0#q c6V5CsG9-\0M \0\0\17o\b\14.\0\0#q 6jMayx1G-\0M \0\0\17o\b\1c.\0\0#q WUOgDVCI-\0M \0\0\17o\b$.\0\0#q ZKqhixI3-\0M \0\0\17o\b,.\0\0#q lLuejpuw-\0M \0\0\17o\b4.\0\0#q X0E8/UR6-\0M \0\0\17o\b<.\0\0#q +vsvzdYq-\0M \0\0\17o\bD.\0\0#q EqnmqYPr-\0M \0\0\17o\bL.\0\0#q ynyiMGXW-\0M \0\0\17o\bT.\0\0#q 2W+XV42w-\0M \0\0\17o\b\.\0\0#q NasYmujH-\0M \0\0\17o\bd.\0\0#q R/B20ne7-\0M \0\0\17o\bl.\0\0#q B8uftj52-\0M \0\0\17o\bt.\0\0#q a23ykGf0-\0M \0\0\17o\b|.\0\0#q r2Fya3xE-\0M \0\0\17o\b\84.\0\0#q EDcibiTQ-\0M \0\0\17o\b\8c.\0\0#q 0lZLgyC2-\0M \0\0\17o\b\94.\0\0#q ePfZkNiK-\0M \0\0\17o\b\9c.\0\0#q 8bqa+t/u-\0M \0\0\17o\b¤.\0\0#q N5kVHlxN-\0M \0\0\17o\b¬.\0\0#q 3dckC7FJ-\0M \0\0\17o\b´.\0\0#q ia9ve/Uu-\0M \0\0\17o\b¼.\0\0#q gg2wm6UB-\0M \0\0\17o\bÄ.\0\0#q kqXOGuys-\0M \0\0\17o\bÌ.\0\0#q qBJmITKh-\0M \0\0\17o\bÔ.\0\0#q YQIImk5o-\0M \0\0\17o\bÜ.\0\0#q 5EECZQKp-\0M \0\0\17o\bä.\0\0#q HrRxXGOT-\0M \0\0\17o\bì.\0\0#q i2LXQmqW-\0M \0\0\17o\bô.\0\0#q h6LhdyTi-\0M \0\0\17o\bü.\0\0#q 01SqSQ3V-\0M \0\0\17o\b\ 4/\0\0#q OEDXmHyx-\0M \0\0\17o\b\f/\0\0#q eGS7oe6m-\0M \0\0\17o\b\14/\0\0#q zQZ5CDD0-\0M \0\0\17o\b\1c/\0\0#q 0rOtqeKJ-\0M \0\0\17o\b$/\0\0#q jKBw+ee+-\0M \0\0\17o\b,/\0\0#q cWoiUVDV-\0M \0\0\17o\b4/\0\0#q LJ/FhK0i-\0M \0\0\17o\b</\0\0#q Gh1VeKiE-\0M \0\0\17o\bD/\0\0#q S0TeYm9Y-\0M \0\0\17o\bL/\0\0#q aEWwQmDQ-\0M \0\0\17o\bT/\0\0#q oQiRwvF1-\0M \0\0\17o\b\/\0\0#q pOMzCkqw-\0M \0\0\17o\bd/\0\0#q S5CmptDq-\0M \0\0\17o\bl/\0\0#q zik403jS-\0M \0\0\17o\bt/\0\0#q hJgqi2Ua-\0M \0\0\17o\b|/\0\0#q BbWZmCIl-\0M \0\0\17o\b\84/\0\0#q grKzuoHE-\0M \0\0\17o\b\8c/\0\0#q I80UvVUM-\0M \0\0\17o\b\94/\0\0#q TR9bJIWy-\0M \0\0\17o\b\9c/\0\0#q 6iiIAxXu-\0M \0\0\17o\b¤/\0\0#q kg2P4TDx-\0M \0\0\17o\b¬/\0\0#q 8uds7uzm-\0M \0\0\17o\b´/\0\0#q TTj2cu9+-\0M \0\0\17o\b¼/\0\0#q 82j892bL-\0M \0\0\17o\bÄ/\0\0#q O1fYjuV1-\0M \0\0\17o\bÌ/\0\0#q nOX+0ET1-\0M \0\0\17o\bÔ/\0\0#q +9s/q59/-\0M \0\0\17o\bÜ/\0\0#q SSQJI/0p-\0M \0\0\17o\bä/\0\0#q ffnnpk32-\0M \0\0\17o\bì/\0\0#q yWNNLZIy-\0M \0\0\17o\bô/\0\0#q LEInER1S-\0M \0\0\17o\bü/\0\0#q 3+6lv+L1-\0M \0\0\17o\b\ 40\0\0#q te04VnqI-\0M \0\0\17o\b\f0\0\0#q JI1eRIDo-\0M \0\0\17o\b\140\0\0#q s0ygqI/u-\0M \0\0\17o\b\1c0\0\0#q 84V/ySnv-\0M \0\0\17o\b$0\0\0#q Ufr5/o6a-\0M \0\0\17o\b,0\0\0#q vXhuP26/-\0M \0\0\17o\b40\0\0#q +dG413/y-\0M \0\0\17o\b<0\0\0#q fDY/hOza-\0M \0\0\17o\bD0\0\0#q /3m6353D-\0M \0\0\17o\bL0\0\0#q FQf4gPLy-\0M \0\0\17o\bT0\0\0#q ckmNf0/Z-\0M \0\0\17o\b\0\0\0#q +79v75+C-\0M \0\0\17o\bd0\0\0#q aSQkY8In-\0M \0\0\17o\bl0\0\0#q 6aqSH03W-\0M \0\0\17o\bt0\0\0#q X6Z0X9VQ-\0M \0\0\17o\b|0\0\0#q B/vFWq6C-\0M \0\0\17o\b\840\0\0#q 5csRuvBZ-\0M \0\0\17o\b\8c0\0\0#q nX9ytV12-\0M \0\0\17o\b\940\0\0#q MkIm7FR+-\0M \0\0\17o\b\9c0\0\0#q DLJ9H6IB-\0M \0\0\17o\b¤0\0\0#q OuiLogQG-\0M \0\0\17o\b¬0\0\0#q Q/eRgyJJ-\0M \0\0\17o\b´0\0\0#q Ax+aYLFF-\0M \0\0\17o\b¼0\0\0#q oFE+nXZE-\0M \0\0\17o\bÄ0\0\0#q mdeEk51K-\0M \0\0\17o\bÌ0\0\0#q K8zR4ejl-\0M \0\0\17o\bÔ0\0\0#q k1Rjyd9O-\0M \0\0\17o\bÜ0\0\0#q lGOU1IHR-\0M \0\0\17o\bä0\0\0#q C4Twt1lj-\0M \0\0\17o\bì0\0\0#q 8fuDSl+t-\0M \0\0\17o\bô0\0\0#q oyn7KlPB-\0M \0\0\17o\bü0\0\0#q dN9Gfhbd-\0M \0\0\17o\b\ 41\0\0#q lfyOpi2j-\0M \0\0\17o\b\f1\0\0#q 7n1z3jf4-\0M \0\0\17o\b\141\0\0#q hxzT5xvp-\0M \0\0\17o\b\1c1\0\0#q enii/OQ9-\0M \0\0\17o\b$1\0\0#q atPRJOV8-\0M \0\0\17o\b,1\0\0#q YpWSsyBk-\0M \0\0\17o\b41\0\0#q CMSKpoqN-\0M \0\0\17o\b<1\0\0#q VJ4qi6kb-\0M \0\0\17o\bD1\0\0#q GS0oTp5U-\0M \0\0\17o\bL1\0\0#q Ze+1/H5L-\0M \0\0\17o\bT1\0\0#q YmU6Uu36-\0M \0\0\17o\b\1\0\0#q 2dTHpJsy-\0M \0\0\17o\bd1\0\0#q InEO5DvT-\0M \0\0\17o\bl1\0\0#q RhC0noXD-\0M \0\0\17o\bt1\0\0#q bUrY0aAq-\0M \0\0\17o\b|1\0\0#q h/N252CZ-\0M \0\0\17o\b\841\0\0#q JLYxRLww-\0M \0\0\17o\b\8c1\0\0#q eDIgJvhT-\0M \0\0\17o\b\941\0\0#q pSsrEJ4S-\0M \0\0\17o\b\9c1\0\0#q VDvd9S6B-\0M \0\0\17o\b¤1\0\0#q wlgfShNM-\0M \0\0\17o\b¬1\0\0#q d9KmGrWk-\0M \0\0\17o\b´1\0\0#q 3I52ZEqk-\0M \0\0\17o\b¼1\0\0#q IKJiiDZg-\0M \0\0\17o\bÄ1\0\0#q pwVrTuGm-\0M \0\0\17o\bÌ1\0\0#q 0Uo/ZLXM-\0M \0\0\17o\bÔ1\0\0#q 3bFdFTPS-\0M \0\0\17o\bÜ1\0\0#q QCOxHSpD-\0M \0\0\17o\bä1\0\0#q GrWnDhd5-\0M \0\0\17o\bì1\0\0#q Y05Lm5qt-\0M \0\0\17o\bô1\0\0#q LILG02ER-\0M \0\0\17o\bü1\0\0#q oixRXRka-\0M \0\0\17o\b\ 42\0\0#q boZjM9Fm-\0M \0\0\17o\b\f2\0\0#q XShtFC7O-\0M \0\0\17o\b\142\0\0#q coJwLVrb-\0M \0\0\17o\b\1c2\0\0#q J2vpmlco-\0M \0\0\17o\b$2\0\0#q 5wxxJm17-\0M \0\0\17o\b,2\0\0#q X2pWtUow-\0M \0\0\17o\b42\0\0#q XbS88Via-\0M \0\0\17o\b<2\0\0#q Vfl1mbDd-\0M \0\0\17o\bD2\0\0#q KMZhHFFV-\0M \0\0\17o\bL2\0\0#q CHEiCc2e-\0M \0\0\17o\bT2\0\0#q d3C08Xm0-\0M \0\0\17o\b\2\0\0#q T2nd6Uv1-\0M \0\0\17o\bd2\0\0#q K0yITQlB-\0M \0\0\17o\bl2\0\0#q sslUGWxQ-\0M \0\0\17o\bt2\0\0#q P4OXJVEf-\0M \0\0\17o\b|2\0\0#q YPWUXA+k-\0M \0\0\17o\b\842\0\0#q dcuh/+HP-\0M \0\0\17o\b\8c2\0\0#q wWUH7diy-\0M \0\0\17o\b\942\0\0#q uFPB1lyF-\0M \0\0\17o\b\9c2\0\0#q 6ZrDIprJ-\0M \0\0\17o\b¤2\0\0#q E4SEZ7ms-\0M \0\0\17o\b¬2\0\0#q K+k6P1h5-\0M \0\0\17o\b´2\0\0#q hh3qskj4-\0M \0\0\17o\b¼2\0\0#q roZNzZTZ-\0M \0\0\17o\bÄ2\0\0#q jCbg2ePa-\0M \0\0\17o\bÌ2\0\0#q UWtQoyUu-\0M \0\0\17o\bÔ2\0\0#q Gzm+j26e-\0M \0\0\17o\bÜ2\0\0#q 5Sjd6d8b-\0M \0\0\17o\bä2\0\0#q Pnh8J/3o-\0M \0\0\17o\bì2\0\0#q PU17aMyl-\0M \0\0\17o\bô2\0\0#q jAcLyiBh-\0M \0\0\17o\bü2\0\0#q r8j7ZOg/-\0M \0\0\17o\b\ 43\0\0#q Q3IF/0Ta-\0M \0\0\17o\b\f3\0\0#q f6XwNY0R-\0M \0\0\17o\b\143\0\0#q dbAzegLT-\0M \0\0\17o\b\1c3\0\0#q 47336Ne7-\0M \0\0\17o\b$3\0\0#q qtUughSk-\0M \0\0\17o\b,3\0\0#q 2m77D7Kk-\0M \0\0\17o\b43\0\0#q /viknCAA-\0M \0\0\17o\b<3\0\0#q DCufnfnm-\0M \0\0\17o\bD3\0\0#q fRa+PuZ8-\0M \0\0\17o\bL3\0\0#q GbDsi+jR-\0M \0\0\17o\bT3\0\0#q Frzw3ixP-\0M \0\0\17o\b\3\0\0#q HSw07DIX-\0M \0\0\17o\bd3\0\0#q ufXiw4eH-\0M \0\0\17o\bl3\0\0#q q9LyQfWZ-\0M \0\0\17o\bt3\0\0#q nFx+S0TQ-\0M \0\0\17o\b|3\0\0#q XRM1QT6Q-\0M \0\0\17o\b\843\0\0#q bNSZJj8m-\0M \0\0\17o\b\8c3\0\0#q 7UMbjp4V-\0M \0\0\17o\b\943\0\0#q /ZPnp3lb-\0M \0\0\17o\b\9c3\0\0#q J4dvxkSf-\0M \0\0\17o\b¤3\0\0#q H+zJaG1+-\0M \0\0\17o\b¬3\0\0#q r41D+t7j-\0M \0\0\17o\b´3\0\0#q CD0giVFE-\0M \0\0\17o\b¼3\0\0#q saiSGe8y-\0M \0\0\17o\bÄ3\0\0#q zuQcIPsg-\0M \0\0\17o\bÌ3\0\0#q 7JTIOFnT-\0M \0\0\17o\bÔ3\0\0#q 68Mlm/Xt-\0M \0\0\17o\bÜ3\0\0#q HO4/DVbo-\0M \0\0\17o\bä3\0\0#q ellFEFwp-\0M \0\0\17o\bì3\0\0#q f9tkkmQR-\0M \0\0\17o\bô3\0\0#q Hs6yXoRC-\0M \0\0\17o\bü3\0\0#q kuKPxU4Z-\0M \0\0\17o\b\ 44\0\0#q 4SueGdIi-\0M \0\0\17o\b\f4\0\0#q CB3cE9RK-\0M \0\0\17o\b\144\0\0#q uhrCdlwc-\0M \0\0\17o\b\1c4\0\0#q yTChsiIX-\0M \0\0\17o\b$4\0\0#q rJwrTvs9-\0M \0\0\17o\b,4\0\0#q M61zkDIs-\0M \0\0\17o\b44\0\0#q OaTPnYck-\0M \0\0\17o\b<4\0\0#q uRlvrVGx-\0M \0\0\17o\bD4\0\0#q Zx0zpzzt-\0M \0\0\17o\bL4\0\0#q 8L7s4Wtd-\0M \0\0\17o\bT4\0\0#q LbRACW2F-\0M \0\0\17o\b\4\0\0#q aHvN2uU7-\0M \0\0\17o\bd4\0\0#q i5n0qt00-\0M \0\0\17o\bl4\0\0#q Kgy9iK7J-\0M \0\0\17o\bt4\0\0#q ba3/3pNi-\0M \0\0\17o\b|4\0\0#q LNMrM1Xh-\0M \0\0\17o\b\844\0\0#q IIBPZHET-\0M \0\0\17o\b\8c4\0\0#q RypdGC5p-\0M \0\0\17o\b\944\0\0#q Zhk1rtje-\0M \0\0\17o\b\9c4\0\0#q 4i3zM6TW-\0M \0\0\17o\b¤4\0\0#q PeYQEE2I-\0M \0\0\17o\b¬4\0\0#q Cad2RgNn-\0M \0\0\17o\b´4\0\0#q BwoZOXY1-\0M \0\0\17o\b¼4\0\0#q T9NwigxK-\0M \0\0\17o\bÄ4\0\0#q QAH9P9Hz-\0M \0\0\17o\bÌ4\0\0#q 7gx+I7Cg-\0M \0\0\17o\bÔ4\0\0#q /gWYSkB3-\0M \0\0\17o\bÜ4\0\0#q Ml8YRVoO-\0M \0\0\17o\bä4\0\0#q +7qZcd04-\0M \0\0\17o\bì4\0\0#q 606nOv7+-\0M \0\0\17o\bô4\0\0#q wkB9/5D9-\0M \0\0\17o\bü4\0\0#q dwJKJD9w-\0M \0\0\17o\b\ 45\0\0#q /pOUxtmf-\0M \0\0\17o\b\f5\0\0#q p+39YZxm-\0M \0\0\17o\b\145\0\0#q /5BaSsnQ-\0M \0\0\17o\b\1c5\0\0#q xtYbRsXr-\0M \0\0\17o\b$5\0\0#q aiFwqdRN-\0M \0\0\17o\b,5\0\0#q WIdK5L46-\0M \0\0\17o\b45\0\0#q DjXUSMMK-\0M \0\0\17o\b<5\0\0#q SKJGX16p-\0M \0\0\17o\bD5\0\0#q uhl1MLFs-\0M \0\0\17o\bL5\0\0#q NjnoaUBM-\0M \0\0\17o\bT5\0\0#q XnCJ+Kus-\0M \0\0\17o\b\5\0\0#q 2EV8F1F0-\0M \0\0\17o\bd5\0\0#q KGG54Hes-\0M \0\0\17o\bl5\0\0#q hTQt8laF-\0M \0\0\17o\bt5\0\0#q CKcUvV0V-\0M \0\0\17o\b|5\0\0#q SQaPOy1K-\0M \0\0\17o\b\845\0\0#q ydMvj2Ez-\0M \0\0\17o\b\8c5\0\0#q AewDB4P7-\0M \0\0\17o\b\945\0\0#q DzDchsca-\0M \0\0\17o\b\9c5\0\0#q fa/a6vq6-\0M \0\0\17o\b¤5\0\0#q 2dZRm3G2-\0M \0\0\17o\b¬5\0\0#q jIrBxhr3-\0M \0\0\17o\b´5\0\0#q MevBrYhs-\0M \0\0\17o\b¼5\0\0#q kfQQhIEa-\0M \0\0\17o\bÄ5\0\0#q 0BTQhzBU-\0M \0\0\17o\bÌ5\0\0#q xFWQUuAI-\0M \0\0\17o\bÔ5\0\0#q PIiFQc+2-\0M \0\0\17o\bÜ5\0\0#q IfQGI/Bw-\0M \0\0\17o\bä5\0\0#q LEPA90bT-\0M \0\0\17o\bì5\0\0#q /w9O6Hlg-\0M \0\0\17o\bô5\0\0#q j+ABZZYI-\0M \0\0\17o\bü5\0\0#q k4UKMgIv-\0M \0\0\17o\b\ 46\0\0#q 5BFETg9o-\0M \0\0\17o\b\f6\0\0#q QqCd/YV/-\0M \0\0\17o\b\146\0\0#q CKsIEgWi-\0M \0\0\17o\b\1c6\0\0#q K+Iqgr+Q-\0M \0\0\17o\b$6\0\0#q aKBHSWPI-\0M \0\0\17o\b,6\0\0#q IpYAYOlq-\0M \0\0\17o\b46\0\0#q JTAzWgXc-\0M \0\0\17o\b<6\0\0#q JAWQkSQf-\0M \0\0\17o\bD6\0\0#q BkVzkTkt-\0M \0\0\17o\bL6\0\0#q EBuCK441-\0M \0\0\17o\bT6\0\0#q 2dduYOlR-\0M \0\0\17o\b\6\0\0#q LbTkd6BO-\0M \0\0\17o\bd6\0\0#q G9mJ3lkO-\0M \0\0\17o\bl6\0\0#q MIivftOj-\0M \0\0\17o\bt6\0\0#q RKpUQ1n8-\0M \0\0\17o\b|6\0\0#q N8AXRv85-\0M \0\0\17o\b\846\0\0#q sESi9I3B-\0M \0\0\17o\b\8c6\0\0#q wqNAL+Sb-\0M \0\0\17o\b\946\0\0#q EH87kA4Q-\0M \0\0\17o\b\9c6\0\0#q 0iLxfAXQ-\0M \0\0\17o\b¤6\0\0#q zIiiJA+D-\0M \0\0\17o\b¬6\0\0#q io0PfHBF-\0M \0\0\17o\b´6\0\0#q ET4KwoGE-\0M \0\0\17o\b¼6\0\0#q uhuF0X0+-\0M \0\0\17o\bÄ6\0\0#q Od6iPDZB-\0M \0\0\17o\bÌ6\0\0#q vqe2ZbNm-\0M \0\0\17o\bÔ6\0\0#q wwwQNnbl-\0M \0\0\17o\bÜ6\0\0#q G4ZREfEA-\0M \0\0\17o\bä6\0\0#q DnQldENc-\0M \0\0\17o\bì6\0\0#q +vyD2hPF-\0M \0\0\17o\bô6\0\0#q PDVaTmO6-\0M \0\0\17o\bü6\0\0#q ErcB2CSr-\0M \0\0\17o\b\ 47\0\0#q JHawjBeT-\0M \0\0\17o\b\f7\0\0#q Lu1HHXec-\0M \0\0\17o\b\147\0\0#q OXpfFifa-\0M \0\0\17o\b\1c7\0\0#q jXzf803t-\0M \0\0\17o\b$7\0\0#q o/li3IQr-\0M \0\0\17o\b,7\0\0#q aCMnXE7a-\0M \0\0\17o\b47\0\0#q NaF+UhNC-\0M \0\0\17o\b<7\0\0#q JJ6bST1y-\0M \0\0\17o\bD7\0\0#q CMSEkvrk-\0M \0\0\17o\bL7\0\0#q EZsiJnq9-\0M \0\0\17o\bT7\0\0#q YnIRyfoE-\0M \0\0\17o\b\7\0\0#q 3qs1+5g4-\0M \0\0\17o\bd7\0\0#q qCjgAB/d-\0M \0\0\17o\bl7\0\0#q 3LXII3r+-\0M \0\0\17o\bt7\0\0#q NecgG/A/-\0M \0\0\17o\b|7\0\0#q EBhNc2cE-\0M \0\0\17o\b\847\0\0#q hOijxJO0-\0M \0\0\17o\b\8c7\0\0#q FJewHGBz-\0M \0\0\17o\b\947\0\0#q K1YnNiLk-\0M \0\0\17o\b\9c7\0\0#q APBkUztU-\0M \0\0\17o\b¤7\0\0#q 2GMpL0j3-\0M \0\0\17o\b¬7\0\0#q 1B6VEaAu-\0M \0\0\17o\b´7\0\0#q iEtObw0V-\0M \0\0\17o\b¼7\0\0#q iA2Qo2CQ-\0M \0\0\17o\bÄ7\0\0#q rPgdgapv-\0M \0\0\17o\bÌ7\0\0#q FCGKU5zw-\0M \0\0\17o\bÔ7\0\0#q AX48rSmS-\0M \0\0\17o\bÜ7\0\0#q GfCh0sBA-\0M \0\0\17o\bä7\0\0#q p5Vw+mHY-\0M \0\0\17o\bì7\0\0#q BmgyfBvQ-\0M \0\0\17o\bô7\0\0#q 2gE9Qiw2-\0M \0\0\17o\bü7\0\0#q eCK950Ur-\0M \0\0\17o\b\ 48\0\0#q em/KrOD7-\0M \0\0\17o\b\f8\0\0#q tAApA2iL-\0M \0\0\17o\b\148\0\0#q xtGRmFUG-\0M \0\0\17o\b\1c8\0\0#q VZgNFMIQ-\0M \0\0\17o\b$8\0\0#q i7APICVt-\0M \0\0\17o\b,8\0\0#q lUdVP5fq-\0M \0\0\17o\b48\0\0#q GLX9TEJB-\0M \0\0\17o\b<8\0\0#q SYcWuJiE-\0M \0\0\17o\bD8\0\0#q gyD+whr8-\0M \0\0\17o\bL8\0\0#q Qt4j0BCv-\0M \0\0\17o\bT8\0\0#q hFy3AUJA-\0M \0\0\17o\b\8\0\0#q HpE2ATCf-\0M \0\0\17o\bd8\0\0#q Y/XP0YM6-\0M \0\0\17o\bl8\0\0#q 8EHwJaHT-\0M \0\0\17o\bt8\0\0#q WChL8gPd-\0M \0\0\17o\b|8\0\0#q CT9IoJW0-\0M \0\0\17o\b\848\0\0#q 4ShPtj4h-\0M \0\0\17o\b\8c8\0\0#q rXUO1N+9-\0M \0\0\17o\b\948\0\0#q eNBzh958-\0M \0\0\17o\b\9c8\0\0#q PwJ3onum-\0M \0\0\17o\b¤8\0\0#q 3eftLwTI-\0M \0\0\17o\b¬8\0\0#q IDagDw+o-\0M \0\0\17o\b´8\0\0#q 2Baej5qT-\0M \0\0\17o\b¼8\0\0#q 77qlol7l-\0M \0\0\17o\bÄ8\0\0#q fPlQODAr-\0M \0\0\17o\bÌ8\0\0#q 7Qiue8Er-\0M \0\0\17o\bÔ8\0\0#q GKQIVtOQ-\0M \0\0\17o\bÜ8\0\0#q +yuebQ9j-\0M \0\0\17o\bä8\0\0#q z0QHR0XS-\0M \0\0\17o\bì8\0\0#q F1f1oB0w-\0M \0\0\17o\bô8\0\0#q m+nhBsV5-\0M \0\0\17o\bü8\0\0#q Dgxx5TjC-\0M \0\0\17o\b\ 49\0\0#q 7ifRJgWQ-\0M \0\0\17o\b\f9\0\0#q JQKDKZ5Q-\0M \0\0\17o\b\149\0\0#q cF8aA+2F-\0M \0\0\17o\b\1c9\0\0#q RB9siyFb-\0M \0\0\17o\b$9\0\0#q QEtXEFsi-\0M \0\0\17o\b,9\0\0#q yD1KeYp4-\0M \0\0\17o\b49\0\0#q vn1kdk65-\0M \0\0\17o\b<9\0\0#q sBN3fx5t-\0M \0\0\17o\bD9\0\0#q 3nO/Y59A-\0M \0\0\17o\bL9\0\0#q R189AT77-\0M \0\0\17o\bT9\0\0#q u6pOAXgc-\0M \0\0\17o\b\9\0\0#q INOFPg0r-\0M \0\0\17o\bd9\0\0#q AnT4ODvD-\0M \0\0\17o\bl9\0\0#q pDvB+Q6A-\0M \0\0\17o\bt9\0\0#q jhNjrJ2a-\0M \0\0\17o\b|9\0\0#q 9VBRzOAG-\0M \0\0\17o\b\849\0\0#q Z6eDgd4b-\0M \0\0\17o\b\8c9\0\0#q NoM0UeBx-\0M \0\0\17o\b\949\0\0#q PD5FreuG-\0M \0\0\17o\b\9c9\0\0#q t6Dwo9RF-\0M \0\0\17o\b¤9\0\0#q db8nAiAa-\0M \0\0\17o\b¬9\0\0#q 2R1p49xi-\0M \0\0\17o\b´9\0\0#q f5Sm4cGG-\0M \0\0\17o\b¼9\0\0#q g5x+6Zre-\0M \0\0\17o\bÄ9\0\0#q F2MUxiIK-\0M \0\0\17o\bÌ9\0\0#q +gryR/Pf-\0M \0\0\17o\bÔ9\0\0#q nDI6Q9Gn-\0M \0\0\17o\bÜ9\0\0#q 57KlMJ57-\0M \0\0\17o\bä9\0\0#q 66E3pkiW-\0M \0\0\17o\bì9\0\0#q tHqD0Eed-\0M \0\0\17o\bô9\0\0#q IKlAC3Qa-\0M \0\0\17o\bü9\0\0#q Bfbl/j82-\0M \0\0\17o\b\ 4:\0\0#q SCLdu7yW-\0M \0\0\17o\b\f:\0\0#q v6Hmk/T9-\0M \0\0\17o\b\14:\0\0#q Y/qXglgi-\0M \0\0\17o\b\1c:\0\0#q Q/aIREU3-\0M \0\0\17o\b$:\0\0#q sfkhFsOh-\0M \0\0\17o\b,:\0\0#q ToBSbFaU-\0M \0\0\17o\b4:\0\0#q QBrYeBo7-\0M \0\0\17o\b<:\0\0#q 8wWrCIiT-\0M \0\0\17o\bD:\0\0#q 9D1wcVo4-\0M \0\0\17o\bL:\0\0#q GjuBz3jo-\0M \0\0\17o\bT:\0\0#q xqZU7bQD-\0M \0\0\17o\b\:\0\0#q FwmjB5e7-\0M \0\0\17o\bd:\0\0#q 4MBLoK0P-\0M \0\0\17o\bl:\0\0#q A4Qkclbw-\0M \0\0\17o\bt:\0\0#q ijNF7qEE-\0M \0\0\17o\b|:\0\0#q oFkFRROi-\0M \0\0\17o\b\84:\0\0#q 0IZfN0sI-\0M \0\0\17o\b\8c:\0\0#q zwihRtDz-\0M \0\0\17o\b\94:\0\0#q 4T7ibJnx-\0M \0\0\17o\b\9c:\0\0#q ZdmKq4qO-\0M \0\0\17o\b¤:\0\0#q eIUAbh8K-\0M \0\0\17o\b¬:\0\0#q mERXb9nK-\0M \0\0\17o\b´:\0\0#q Q+5QdzgD-\0M \0\0\17o\b¼:\0\0#q PcJjvxw6-\0M \0\0\17o\bÄ:\0\0#q bZ3TBIWY-\0M \0\0\17o\bÌ:\0\0#q SSeN4U3E-\0M \0\0\17o\bÔ:\0\0#q ZkhKxct8-\0M \0\0\17o\bÜ:\0\0#q oIiTDi7l-\0M \0\0\17o\bä:\0\0#q qOt3Kvi/-\0M \0\0\17o\bì:\0\0#q tFCQEsIm-\0M \0\0\17o\bô:\0\0#q hN98ZBnW-\0M \0\0\17o\bü:\0\0#q jLEBK6dw-\0M \0\0\17o\b\ 4;\0\0#q +FxgB1I+-\0M \0\0\17o\b\f;\0\0#q dDUAkMR8-\0M \0\0\17o\b\14;\0\0#q mm+NWReO-\0M \0\0\17o\b\1c;\0\0#q PvBhDZjk-\0M \0\0\17o\b$;\0\0#q 4boMpjxo-\0M \0\0\17o\b,;\0\0#q BGF5Lqkt-\0M \0\0\17o\b4;\0\0#q 7tL3kyTU-\0M \0\0\17o\b<;\0\0#q NCK+PoZx-\0M \0\0\17o\bD;\0\0#q 3oUqB7h4-\0M \0\0\17o\bL;\0\0#q 5wEXO/ld-\0M \0\0\17o\bT;\0\0#q uTg4NfIq-\0M \0\0\17o\b\;\0\0#q Ah8ZfJSA-\0M \0\0\17o\bd;\0\0#q cG/jGkuH-\0M \0\0\17o\bl;\0\0#q A8qr7Ro1-\0M \0\0\17o\bt;\0\0#q 3OwIJLia-\0M \0\0\17o\b|;\0\0#q 9u+yBZ0d-\0M \0\0\17o\b\84;\0\0#q icUAxwCA-\0M \0\0\17o\b\8c;\0\0#q kEDreMjH-\0M \0\0\17o\b\94;\0\0#q sNGLghIQ-\0M \0\0\17o\b\9c;\0\0#q jFyrYc98-\0M \0\0\17o\b¤;\0\0#q oQaGSKed-\0M \0\0\17o\b¬;\0\0#q iKrHfueb-\0M \0\0\17o\b´;\0\0#q Y7DkhSaK-\0M \0\0\17o\b¼;\0\0#q vv+X/oH7-\0M \0\0\17o\bÄ;\0\0#q Ij+oKSLw-\0M \0\0\17o\bÌ;\0\0#q 2kgfoPv0-\0M \0\0\17o\bÔ;\0\0#q +vpfWeMj-\0M \0\0\17o\bÜ;\0\0#q RqQk6L7Q-\0M \0\0\17o\bä;\0\0#q tAATi0oN-\0M \0\0\17o\bì;\0\0#q ZJzgYxP1-\0M \0\0\17o\bô;\0\0#q w4HgU8+o-\0M \0\0\17o\bü;\0\0#q YPhFESAj-\0M \0\0\17o\b\ 4<\0\0#q Ayvt302e-\0M \0\0\17o\b\f<\0\0#q CDaAWgGA-\0M \0\0\17o\b\14<\0\0#q h7Xub6oU-\0M \0\0\17o\b\1c<\0\0#q Y6dMeNnQ-\0M \0\0\17o\b$<\0\0#q h4yl+Nm1-\0M \0\0\17o\b,<\0\0#q AA19panR-\0M \0\0\17o\b4<\0\0#q 4CYHnOGi-\0M \0\0\17o\b<<\0\0#q idVdfdsd-\0M \0\0\17o\bD<\0\0#q Gvhv6Zx0-\0M \0\0\17o\bL<\0\0#q jjJBqQaw-\0M \0\0\17o\bT<\0\0#q cqukBR4U-\0M \0\0\17o\b\<\0\0#q x34pXobq-\0M \0\0\17o\bd<\0\0#q CIL3lHdg-\0M \0\0\17o\bl<\0\0#q Oad5nLqY-\0M \0\0\17o\bt<\0\0#q jUZgE4Qv-\0M \0\0\17o\b|<\0\0#q tAltbhvP-\0M \0\0\17o\b\84<\0\0#q RFES+goc-\0M \0\0\17o\b\8c<\0\0#q QfyAkiF/-\0M \0\0\17o\b\94<\0\0#q e4WiKYNU-\0M \0\0\17o\b\9c<\0\0#q IFjKWJZA-\0M \0\0\17o\b¤<\0\0#q 5fwJczRR-\0M \0\0\17o\b¬<\0\0#q ibFGT6zC-\0M \0\0\17o\b´<\0\0#q HofhgW8e-\0M \0\0\17o\b¼<\0\0#q ydxvZ1UF-\0M \0\0\17o\bÄ<\0\0#q Hu97Toow-\0M \0\0\17o\bÌ<\0\0#q 8FguNJpi-\0M \0\0\17o\bÔ<\0\0#q KoCc0GQA-\0M \0\0\17o\bÜ<\0\0#q n4ceHt3K-\0M \0\0\17o\bä<\0\0#q 0i1feYVc-\0M \0\0\17o\bì<\0\0#q ihrJaNBC-\0M \0\0\17o\bô<\0\0#q ZJgh3FO6-\0M \0\0\17o\bü<\0\0#q ENqkEW9e-\0M \0\0\17o\b\ 4=\0\0#q LD7vi6wf-\0M \0\0\17o\b\f=\0\0#q fT7OU2J7-\0M \0\0\17o\b\14=\0\0#q Zn4VPfXd-\0M \0\0\17o\b\1c=\0\0#q nohaADg6-\0M \0\0\17o\b$=\0\0#q HCzQSKlL-\0M \0\0\17o\b,=\0\0#q KttUpsb9-\0M \0\0\17o\b4=\0\0#q HGGYyM1k-\0M \0\0\17o\b<=\0\0#q dbG3LRyK-\0M \0\0\17o\bD=\0\0#q BaAlAEQi-\0M \0\0\17o\bL=\0\0#q 6K3SwEpX-\0M \0\0\17o\bT=\0\0#q NuY3BAQX-\0M \0\0\17o\b\=\0\0#q +wSMOhQK-\0M \0\0\17o\bd=\0\0#q 6JuJ9Bbi-\0M \0\0\17o\bl=\0\0#q QxBRmAui-\0M \0\0\17o\bt=\0\0#q m0FUeeYU-\0M \0\0\17o\b|=\0\0#q LAUKioFQ-\0M \0\0\17o\b\84=\0\0#q Bh8aR3Mo-\0M \0\0\17o\b\8c=\0\0#q 71V1gxBy-\0M \0\0\17o\b\94=\0\0#q A7oX2gGD-\0M \0\0\17o\b\9c=\0\0#q Qe8klFNQ-\0M \0\0\17o\b¤=\0\0#q QNSjx5kW-\0M \0\0\17o\b¬=\0\0#q PD8XwbJr-\0M \0\0\17o\b´=\0\0#q OHhrmPG1-\0M \0\0\17o\b¼=\0\0#q eVz2hyCe-\0M \0\0\17o\bÄ=\0\0#q Czw70QRm-\0M \0\0\17o\bÌ=\0\0#q PBaXfmHp-\0M \0\0\17o\bÔ=\0\0#q q4d6Cj30-\0M \0\0\17o\bÜ=\0\0#q CwL4FmzR-\0M \0\0\17o\bä=\0\0#q hVE1Z3PX-\0M \0\0\17o\bì=\0\0#q Gd4oUT3R-\0M \0\0\17o\bô=\0\0#q T2fXIk3T-\0M \0\0\17o\bü=\0\0#q n6hAxuw6-\0M \0\0\17o\b\ 4>\0\0#q R4ZKzAfB-\0M \0\0\17o\b\f>\0\0#q E2O4JIhA-\0M \0\0\17o\b\14>\0\0#q k0YDAlY3-\0M \0\0\17o\b\1c>\0\0#q e4AHkEgA-\0M \0\0\17o\b$>\0\0#q r74ycQwA-\0M \0\0\17o\b,>\0\0#q nQW7rtlc-\0M \0\0\17o\b4>\0\0#q pF6JZA7V-\0M \0\0\17o\b<>\0\0#q Nu66JrCc-\0M \0\0\17o\bD>\0\0#q gjUCEFCE-\0M \0\0\17o\bL>\0\0#q RpghIiGj-\0M \0\0\17o\bT>\0\0#q 2TWA7EMd-\0M \0\0\17o\b\>\0\0#q 0aiCjpcI-\0M \0\0\17o\bd>\0\0#q QOLL43hk-\0M \0\0\17o\bl>\0\0#q AKrIRD57-\0M \0\0\17o\bt>\0\0#q bdINOGQ0-\0M \0\0\17o\b|>\0\0#q 1LwiQc32-\0M \0\0\17o\b\84>\0\0#q iwDYCMaA-\0M \0\0\17o\b\8c>\0\0#q kHwImA5v-\0M \0\0\17o\b\94>\0\0#q u3GtiupP-\0M \0\0\17o\b\9c>\0\0#q Vup02YPe-\0M \0\0\17o\b¤>\0\0#q 4G+iICJJ-\0M \0\0\17o\b¬>\0\0#q zomO2gry-\0M \0\0\17o\b´>\0\0#q Y5W3M5zx-\0M \0\0\17o\b¼>\0\0#q 7DfU8YCD-\0M \0\0\17o\bÄ>\0\0#q sEXiG6zV-\0M \0\0\17o\bÌ>\0\0#q +xuOJIG8-\0M \0\0\17o\bÔ>\0\0#q KOYoQjJH-\0M \0\0\17o\bÜ>\0\0#q HsGD13J0-\0M \0\0\17o\bä>\0\0#q uAvNmGVf-\0M \0\0\17o\bì>\0\0#q Cbv+KJrz-\0M \0\0\17o\bô>\0\0#q yu7cZk07-\0M \0\0\17o\bü>\0\0#q DszWZjii-\0M \0\0\17o\b\ 4?\0\0#q 34Z5Oq4J-\0M \0\0\17o\b\f?\0\0#q YoGxovON-\0M \0\0\17o\b\14?\0\0#q SVdyqdDa-\0M \0\0\17o\b\1c?\0\0#q iI5o1E9g-\0M \0\0\17o\b$?\0\0#q ZEO+MOkn-\0M \0\0\17o\b,?\0\0#q bKrd3vCG-\0M \0\0\17o\b4?\0\0#q jWOSCrnI-\0M \0\0\17o\b<?\0\0#q 7Ux2qgrF-\0M \0\0\17o\bD?\0\0#q 1ozkJ12i-\0M \0\0\17o\bL?\0\0#q qiB+Qq2i-\0M \0\0\17o\bT?\0\0#q Ql6eKyIK-\0M \0\0\17o\b\?\0\0#q evnnG4vy-\0M \0\0\17o\bd?\0\0#q 6vIfKJt1-\0M \0\0\17o\bl?\0\0#q EpCX9n+P-\0M \0\0\17o\bt?\0\0#q 6PQpAeBR-\0M \0\0\17o\b|?\0\0#q KJQ1sOYC-\0M \0\0\17o\b\84?\0\0#q WlkXAgV6-\0M \0\0\17o\b\8c?\0\0#q zM7YJl8s-\0M \0\0\17o\b\94?\0\0#q a21D2vb7-\0M \0\0\17o\b\9c?\0\0#q geeO2Spm-\0M \0\0\17o\b¤?\0\0#q kzN+KTwl-\0M \0\0\17o\b¬?\0\0#q zt0iohA2-\0M \0\0\17o\b´?\0\0#q AcDPLw1F-\0M \0\0\17o\b¼?\0\0#q WDBUJvFW-\0M \0\0\17o\bÄ?\0\0#q 9ggVk6Dx-\0M \0\0\17o\bÌ?\0\0#q nW8ShTWw-\0M \0\0\17o\bÔ?\0\0#q RlT1sHHJ-\0M \0\0\17o\bÜ?\0\0#q yMsXFDhN-\0M \0\0\17o\bä?\0\0#q L6q7kI6W-\0M \0\0\17o\bì?\0\0#q JJzpELbU-\0M \0\0\17o\bô?\0\0#q QNVIhmsR-\0M \0\0\17o\bü?\0\0#q Vy0ajWqq-\0M \0\0\17o\b\ 4@\0\0#q iK9NrXLa-\0M \0\0\17o\b\f@\0\0#q rEhagikV-\0M \0\0\17o\b\14@\0\0#q JEOvbHSF-\0M \0\0\17o\b\1c@\0\0#q h2axoim1-\0M \0\0\17o\b$@\0\0#q j1bJkioW-\0M \0\0\17o\b,@\0\0#q VpJnTIwo-\0M \0\0\17o\b4@\0\0#q tJdInhXv-\0M \0\0\17o\b<@\0\0#q flf6SU/P-\0M \0\0\17o\bD@\0\0#q PQX0bTPh-\0M \0\0\17o\bL@\0\0#q CdsP29yw-\0M \0\0\17o\bT@\0\0#q EL0SWUfT-\0M \0\0\17o\b\@\0\0#q CD7EJL6E-\0M \0\0\17o\bd@\0\0#q TkKMZq+X-\0M \0\0\17o\bl@\0\0#q fvOV9/V1-\0M \0\0\17o\bt@\0\0#q w3yP6vw8-\0M \0\0\17o\b|@\0\0#q Bs00Num+-\0M \0\0\17o\b\84@\0\0#q z8M7mbcc-\0M \0\0\17o\b\8c@\0\0#q Nyaf49zD-\0M \0\0\17o\b\94@\0\0#q IxUaQ2Ev-\0M \0\0\17o\b\9c@\0\0#q qlaeEBsx-\0M \0\0\17o\b¤@\0\0#q pWMXnJV3-\0M \0\0\17o\b¬@\0\0#q xw2Tk85C-\0M \0\0\17o\b´@\0\0#q vjXKxcvj-\0M \0\0\17o\b¼@\0\0#q 69eMUfMr-\0M \0\0\17o\bÄ@\0\0#q 8bW8bRbU-\0M \0\0\17o\bÌ@\0\0#q onKyW5YZ-\0M \0\0\17o\bÔ@\0\0#q YTLbI2sO-\0M \0\0\17o\bÜ@\0\0#q +23t750N-\0M \0\0\17o\bä@\0\0#q k8klcxbg-\0M \0\0\17o\bì@\0\0#q YLeIcQe/-\0M \0\0\17o\bô@\0\0#q QCQJFkWj-\0M \0\0\17o\bü@\0\0#q +oMfqaTh-\0M \0\0\17o\b\ 4A\0\0#q zaIrMI2P-\0M \0\0\17o\b\fA\0\0#q 7OfFp/Tv-\0M \0\0\17o\b\14A\0\0#q ReP9gGjS-\0M \0\0\17o\b\1cA\0\0#q GXxEeEVF-\0M \0\0\17o\b$A\0\0#q AmDkEvv9-\0M \0\0\17o\b,A\0\0#q VUZSkBPb-\0M \0\0\17o\b4A\0\0#q MF8w/60D-\0M \0\0\17o\b<A\0\0#q 9GpeH1QC-\0M \0\0\17o\bDA\0\0#q Fw55QkLu-\0M \0\0\17o\bLA\0\0#q z9IAXDqK-\0M \0\0\17o\bTA\0\0#q nNMEC9zi-\0M \0\0\17o\b\A\0\0#q BCmelf4w-\0M \0\0\17o\bdA\0\0#q fDqr8bOB-\0M \0\0\17o\blA\0\0#q hgIc0RJI-\0M \0\0\17o\btA\0\0#q I4qPuV5N-\0M \0\0\17o\b|A\0\0#q z9AAJ6AR-\0M \0\0\17o\b\84A\0\0#q U+oPi6hT-\0M \0\0\17o\b\8cA\0\0#q +q8gwvYg-\0M \0\0\17o\b\94A\0\0#q oidW+M0f-\0M \0\0\17o\b\9cA\0\0#q bI8rtLFt-\0M \0\0\17o\b¤A\0\0#q XO8iTUFl-\0M \0\0\17o\b¬A\0\0#q JvXeyFxm-\0M \0\0\17o\b´A\0\0#q JtnkC7zu-\0M \0\0\17o\b¼A\0\0#q iaT8nGzt-\0M \0\0\17o\bÄA\0\0#q zQSqBLOU-\0M \0\0\17o\bÌA\0\0#q ovW3gp+v-\0M \0\0\17o\bÔA\0\0#q zfBxm7Ph-\0M \0\0\17o\bÜA\0\0#q lVblQM2b-\0M \0\0\17o\bäA\0\0#q d+/Rh4dP-\0M \0\0\17o\bìA\0\0#q RBvEDSXn-\0M \0\0\17o\bôA\0\0#q gueiAwyD-\0M \0\0\17o\büA\0\0#q AY7g52aB-\0M \0\0\17o\b\ 4B\0\0#q 58+eG+XC-\0M \0\0\17o\b\fB\0\0#q rEW8lGS1-\0M \0\0\17o\b\14B\0\0#q QUeWOAT3-\0M \0\0\17o\b\1cB\0\0#q cakjvwRH-\0M \0\0\17o\b$B\0\0#q NevLrWRG-\0M \0\0\17o\b,B\0\0#q xOBmTNeU-\0M \0\0\17o\b4B\0\0#q Hz5BNT4o-\0M \0\0\17o\b<B\0\0#q +AkxZAgM-\0M \0\0\17o\bDB\0\0#q 8CgQuYt7-\0M \0\0\17o\bLB\0\0#q U5ikqOco-\0M \0\0\17o\bTB\0\0#q 13h+zN5A-\0M \0\0\17o\b\B\0\0#q 3dAfUbWA-\0M \0\0\17o\bdB\0\0#q pJdeQtkM-\0M \0\0\17o\blB\0\0#q kEkG1iAU-\0M \0\0\17o\btB\0\0#q lofiG95d-\0M \0\0\17o\b|B\0\0#q axu0Xul4-\0M \0\0\17o\b\84B\0\0#q UwF56lZ8-\0M \0\0\17o\b\8cB\0\0#q 3m8LyQBi-\0M \0\0\17o\b\94B\0\0#q oWOMnxAZ-\0M \0\0\17o\b\9cB\0\0#q w8H19FHn-\0M \0\0\17o\b¤B\0\0#q TZSfCQ8U-\0M \0\0\17o\b¬B\0\0#q KukI6IKb-\0M \0\0\17o\b´B\0\0#q gi2EROEV-\0M \0\0\17o\b¼B\0\0#q BFDkVQRm-\0M \0\0\17o\bÄB\0\0#q NCWiK5gK-\0M \0\0\17o\bÌB\0\0#q gjqIqofR-\0M \0\0\17o\bÔB\0\0#q AygkWCEQ-\0M \0\0\17o\bÜB\0\0#q QOEBE3AU-\0M \0\0\17o\bäB\0\0#q BUywFE+i-\0M \0\0\17o\bìB\0\0#q CoPxHKo4-\0M \0\0\17o\bôB\0\0#q qQYSR0uW-\0M \0\0\17o\büB\0\0#q SDgsC3LB-\0M \0\0\17o\b\ 4C\0\0#q C2FUgIbA-\0M \0\0\17o\b\fC\0\0#q gEIgr0IF-\0M \0\0\17o\b\14C\0\0#q BFEV2beE-\0M \0\0\17o\b\1cC\0\0#q GgOV2VCE-\0M \0\0\17o\b$C\0\0#q kasTeUI3-\0M \0\0\17o\b,C\0\0#q 5YWoqjQQ-\0M \0\0\17o\b4C\0\0#q JBJsaVFs-\0M \0\0\17o\b<C\0\0#q gnIIYIeg-\0M \0\0\17o\bDC\0\0#q AZiYinAC-\0M \0\0\17o\bLC\0\0#q KCHIB8L9-\0M \0\0\17o\bTC\0\0#q aSU2jqpg-\0M \0\0\17o\b\C\0\0#q HDRm0jio-\0M \0\0\17o\bdC\0\0#q EdaHayC8-\0M \0\0\17o\blC\0\0#q iYiN6RSg-\0M \0\0\17o\btC\0\0#q qyRLYbpY-\0M \0\0\17o\b|C\0\0#q JZUhzsQd-\0M \0\0\17o\b\84C\0\0#q YEVBA3EU-\0M \0\0\17o\b\8cC\0\0#q HoIwQQ3B-\0M \0\0\17o\b\94C\0\0#q FaiKBRPa-\0M \0\0\17o\b\9cC\0\0#q gNKp4YAb-\0M \0\0\17o\b¤C\0\0#q iYCICDII-\0M \0\0\17o\b¬C\0\0#q OliTxeOO-\0M \0\0\17o\b´C\0\0#q GnL2EcaO-\0M \0\0\17o\b¼C\0\0#q MNDMGJjK-\0M \0\0\17o\bÄC\0\0#q NGgchDj/-\0M \0\0\17o\bÌC\0\0#q BKwYSZqR-\0M \0\0\17o\bÔC\0\0#q lgLQR7nz-\0M \0\0\17o\bÜC\0\0#q cAWpLACU-\0M \0\0\17o\bäC\0\0#q RHNK7oqA-\0M \0\0\17o\bìC\0\0#q sUjajiiY-\0M \0\0\17o\bôC\0\0#q MTUESEVX-\0M \0\0\17o\büC\0\0#q 6ICF+TFg-\0M \0\0\17o\b\ 4D\0\0#q wSIL3tKF-\0M \0\0\17o\b\fD\0\0#q +9aliQFd-\0M \0\0\17o\b\14D\0\0#q BBB/IK0A-\0M \0\0\17o\b\1cD\0\0#q ryCL37nj-\0M \0\0\17o\b$D\0\0#q uaj74l8y-\0M \0\0\17o\b,D\0\0#q ZNHN1lSj-\0M \0\0\17o\b4D\0\0#q gfcTgmPs-\0M \0\0\17o\b<D\0\0#q JRZVGcrS-\0M \0\0\17o\bDD\0\0#q r8IEjldQ-\0M \0\0\17o\bLD\0\0#q KtmKapHX-\0M \0\0\17o\bTD\0\0#q 0QlsIki0-\0M \0\0\17o\b\D\0\0#q IuSRcABg-\0M \0\0\17o\bdD\0\0#q N0Gs+4Hb-\0M \0\0\17o\blD\0\0#q DqPIFBxJ-\0M \0\0\17o\btD\0\0#q iVh3OSuk-\0M \0\0\17o\b|D\0\0#q GiQvd5no-\0M \0\0\17o\b\84D\0\0#q gLDQRteh-\0M \0\0\17o\b\8cD\0\0#q 2MyW2SI9-\0M \0\0\17o\b\94D\0\0#q oRhikH4T-\0M \0\0\17o\b\9cD\0\0#q 0jXdxNxJ-\0M \0\0\17o\b¤D\0\0#q F2Xnskl3-\0M \0\0\17o\b¬D\0\0#q AVffHjA6-\0M \0\0\17o\b´D\0\0#q 7x2y8y73-\0M \0\0\17o\b¼D\0\0#q Yo5mAE1D-\0M \0\0\17o\bÄD\0\0#q hsMmXJEc-\0M \0\0\17o\bÌD\0\0#q XQigaZco-\0M \0\0\17o\bÔD\0\0#q gCwOAJSm-\0M \0\0\17o\bÜD\0\0#q vkK59/AZ-\0M \0\0\17o\bäD\0\0#q t5r6CHoK-\0M \0\0\17o\bìD\0\0#q YtZF6XRW-\0M \0\0\17o\bôD\0\0#q BxO/0HFi-\0M \0\0\17o\büD\0\0#q G/lmwBS0-\0M \0\0\17o\b\ 4E\0\0#q IXvAvwXw-\0M \0\0\17o\b\fE\0\0#q uNK56cJC-\0M \0\0\17o\b\14E\0\0#q uiEUIhAn-\0M \0\0\17o\b\1cE\0\0#q VsVC0oQ/-\0M \0\0\17o\b$E\0\0#q LDomFtpZ-\0M \0\0\17o\b,E\0\0#q XfIu324p-\0M \0\0\17o\b4E\0\0#q Rnto5FdN-\0M \0\0\17o\b<E\0\0#q UA7OBqem-\0M \0\0\17o\bDE\0\0#q CvdxU76w-\0M \0\0\17o\bLE\0\0#q rnterFGP-\0M \0\0\17o\bTE\0\0#q G+6Q45tX-\0M \0\0\17o\b\E\0\0#q nD6WRacT-\0M \0\0\17o\bdE\0\0#q +nbNIk1J-\0M \0\0\17o\blE\0\0#q CPpi9vz6-\0M \0\0\17o\btE\0\0#q KPo0aWTY-\0M \0\0\17o\b|E\0\0#q VCFR78pP-\0M \0\0\17o\b\84E\0\0#q NQgpwlQo-\0M \0\0\17o\b\8cE\0\0#q 7nZl96ld-\0M \0\0\17o\b\94E\0\0#q o0qhd6oA-\0M \0\0\17o\b\9cE\0\0#q riD7PYX3-\0M \0\0\17o\b¤E\0\0#q YjYi6+Kt-\0M \0\0\17o\b¬E\0\0#q yURx0Dh5-\0M \0\0\17o\b´E\0\0#q o389ggNb-\0M \0\0\17o\b¼E\0\0#q U0B+KOiB-\0M \0\0\17o\bÄE\0\0#q JNO/YO34-\0M \0\0\17o\bÌE\0\0#q 6a7wfKK5-\0M \0\0\17o\bÔE\0\0#q PBjVqgoz-\0M \0\0\17o\bÜE\0\0#q X5yrvYe4-\0M \0\0\17o\bäE\0\0#q b+g/eQES-\0M \0\0\17o\bìE\0\0#q yAJYADkx-\0M \0\0\17o\bôE\0\0#q 6QeCQZ6h-\0M \0\0\17o\büE\0\0#q HDToVxoz-\0M \0\0\17o\b\ 4F\0\0#q 61c19ymI-\0M \0\0\17o\b\fF\0\0#q QUB4ySSE-\0M \0\0\17o\b\14F\0\0#q GSTHhMs0-\0M \0\0\17o\b\1cF\0\0#q Tr7Of7v5-\0M \0\0\17o\b$F\0\0#q ZHrYzWRq-\0M \0\0\17o\b,F\0\0#q mxy/D2PV-\0M \0\0\17o\b4F\0\0#q nfrHr7nm-\0M \0\0\17o\b<F\0\0#q k6vMiLt6-\0M \0\0\17o\bDF\0\0#q Pfbbft76-\0M \0\0\17o\bLF\0\0#q NqFfrnnc-\0M \0\0\17o\bTF\0\0#q wD0EdL8q-\0M \0\0\17o\b\F\0\0#q WqmCRcAG-\0M \0\0\17o\bdF\0\0#q drsAgwQV-\0M \0\0\17o\blF\0\0#q 6XyemW3c-\0M \0\0\17o\btF\0\0#q sQRzF17h-\0M \0\0\17o\b|F\0\0#q RM8sNaA5-\0M \0\0\17o\b\84F\0\0#q u41TovvJ-\0M \0\0\17o\b\8cF\0\0#q lL6Jmj0Q-\0M \0\0\17o\b\94F\0\0#q dj3rXVUP-\0M \0\0\17o\b\9cF\0\0#q YlIJEIbM-\0M \0\0\17o\b¤F\0\0#q cN6Qo+y6-\0M \0\0\17o\b¬F\0\0#q +Gy6V0pk-\0M \0\0\17o\b´F\0\0#q 2Gw6o2eX-\0M \0\0\17o\b¼F\0\0#q yfFnBOzA-\0M \0\0\17o\bÄF\0\0#q XCDYADzR-\0M \0\0\17o\bÌF\0\0#q CSnRaQYZ-\0M \0\0\17o\bÔF\0\0#q +hwQZ0h7-\0M \0\0\17o\bÜF\0\0#q sXXIQK0D-\0M \0\0\17o\bäF\0\0#q QwbFchiJ-\0M \0\0\17o\bìF\0\0#q 7Akq/buu-\0M \0\0\17o\bôF\0\0#q qEJT+Fvw-\0M \0\0\17o\büF\0\0#q SPhCs1JX-\0M \0\0\17o\b\ 4G\0\0#q 34emWkc1-\0M \0\0\17o\b\fG\0\0#q +0JlH7mg-\0M \0\0\17o\b\14G\0\0#q V6fdrze3-\0M \0\0\17o\b\1cG\0\0#q n1BaU/HP-\0M \0\0\17o\b$G\0\0#q 0Ip6Az60-\0M \0\0\17o\b,G\0\0#q FlmH0F+F-\0M \0\0\17o\b4G\0\0#q DieRNSps-\0M \0\0\17o\b<G\0\0#q h3JnZieg-\0M \0\0\17o\bDG\0\0#q 899kMapx-\0M \0\0\17o\bLG\0\0#q A2Agedvb-\0M \0\0\17o\bTG\0\0#q fYhjt7fw-\0M \0\0\17o\b\G\0\0#q dfgTf5O/-\0M \0\0\17o\bdG\0\0#q lUCeRAZE-\0M \0\0\17o\blG\0\0#q pJHwvsvi-\0M \0\0\17o\btG\0\0#q +d3wMBEn-\0M \0\0\17o\b|G\0\0#q a+Z6+GGG-\0M \0\0\17o\b\84G\0\0#q gCoek/BW-\0M \0\0\17o\b\8cG\0\0#q dQo/JYry-\0M \0\0\17o\b\94G\0\0#q YiLihedI-\0M \0\0\17o\b\9cG\0\0#q ULrmV2fA-\0M \0\0\17o\b¤G\0\0#q YIU15yOA-\0M \0\0\17o\b¬G\0\0#q fqwHuI8E-\0M \0\0\17o\b´G\0\0#q wYI7aM8k-\0M \0\0\17o\b¼G\0\0#q O0X6aYyg-\0M \0\0\17o\bÄG\0\0#q iiUvGaA5-\0M \0\0\17o\bÌG\0\0#q AqKrb3bL-\0M \0\0\17o\bÔG\0\0#q K3Bu/ws6-\0M \0\0\17o\bÜG\0\0#q awNQMldR-\0M \0\0\17o\bäG\0\0#q V/OihvSG-\0M \0\0\17o\bìG\0\0#q eGuLuQ5z-\0M \0\0\17o\bôG\0\0#q hdKQyvBb-\0M \0\0\17o\büG\0\0#q unGHiqbS-\0M \0\0\17o\b\ 4H\0\0#q VBLCBBR3-\0M \0\0\17o\b\fH\0\0#q sJmkCunD-\0M \0\0\17o\b\14H\0\0#q AXHHd4eQ-\0M \0\0\17o\b\1cH\0\0#q xhEGRYdB-\0M \0\0\17o\b$H\0\0#q zZu7UXXM-\0M \0\0\17o\b,H\0\0#q iBb3M0jR-\0M \0\0\17o\b4H\0\0#q VaMN1xw0-\0M \0\0\17o\b<H\0\0#q 4qyJ8G6D-\0M \0\0\17o\bDH\0\0#q CyAXnHwZ-\0M \0\0\17o\bLH\0\0#q RDcJFX32-\0M \0\0\17o\bTH\0\0#q jyXoosS3-\0M \0\0\17o\b\H\0\0#q eitAOfuZ-\0M \0\0\17o\bdH\0\0#q FfqdLyQB-\0M \0\0\17o\blH\0\0#q CCB3aIfY-\0M \0\0\17o\btH\0\0#q 2OMhjfbV-\0M \0\0\17o\b|H\0\0#q A5gUvI4N-\0M \0\0\17o\b\84H\0\0#q I0ulOm0b-\0M \0\0\17o\b\8cH\0\0#q 1FDfrFHR-\0M \0\0\17o\b\94H\0\0#q 10hZU+OD-\0M \0\0\17o\b\9cH\0\0#q KMCViSSt-\0M \0\0\17o\b¤H\0\0#q xuklLxyr-\0M \0\0\17o\b¬H\0\0#q OzBrvpkT-\0M \0\0\17o\b´H\0\0#q D7nncH/Y-\0M \0\0\17o\b¼H\0\0#q WN/xZ/cW-\0M \0\0\17o\bÄH\0\0#q B4MEWMjo-\0M \0\0\17o\bÌH\0\0#q uNq+pDjI-\0M \0\0\17o\bÔH\0\0#q NyCJIMft-\0M \0\0\17o\bÜH\0\0#q 7GzDNPmQ-\0M \0\0\17o\bäH\0\0#q MmfKO8C3-\0M \0\0\17o\bìH\0\0#q BCupq3ah-\0M \0\0\17o\bôH\0\0#q 8aC+3PLy-\0M \0\0\17o\büH\0\0#q daANlYxb-\0M \0\0\17o\b\ 4I\0\0#q ybhnNhxC-\0M \0\0\17o\b\fI\0\0#q RTyS5wfe-\0M \0\0\17o\b\14I\0\0#q 8lJ5C60b-\0M \0\0\17o\b\1cI\0\0#q 3pGVdQBE-\0M \0\0\17o\b$I\0\0#q F12XTIjM-\0M \0\0\17o\b,I\0\0#q tk1B3sJL-\0M \0\0\17o\b4I\0\0#q jW843JTV-\0M \0\0\17o\b<I\0\0#q 6tmmB3sz-\0M \0\0\17o\bDI\0\0#q zW8PCNWR-\0M \0\0\17o\bLI\0\0#q 3yd28o27-\0M \0\0\17o\bTI\0\0#q CnITe6LT-\0M \0\0\17o\b\I\0\0#q d1rriEPv-\0M \0\0\17o\bdI\0\0#q +r+W/Lr2-\0M \0\0\17o\blI\0\0#q jtO7uzN3-\0M \0\0\17o\btI\0\0#q c4O+Tfc0-\0M \0\0\17o\b|I\0\0#q 2jcUkrJR-\0M \0\0\17o\b\84I\0\0#q 8QctADA0-\0M \0\0\17o\b\8cI\0\0#q gXSiA676-\0M \0\0\17o\b\94I\0\0#q RwOkRHUR-\0M \0\0\17o\b\9cI\0\0#q dCHLXIqe-\0M \0\0\17o\b¤I\0\0#q lq5LOSTV-\0M \0\0\17o\b¬I\0\0#q lo0mrcKs-\0M \0\0\17o\b´I\0\0#q bgjhEjAp-\0M \0\0\17o\b¼I\0\0#q zpaorkBL-\0M \0\0\17o\bÄI\0\0#q DgWikaMD-\0M \0\0\17o\bÌI\0\0#q WBmkEQLF-\0M \0\0\17o\bÔI\0\0#q 3ZzJGd55-\0M \0\0\17o\bÜI\0\0#q Vbo6iJbS-\0M \0\0\17o\bäI\0\0#q XTzOm0HE-\0M \0\0\17o\bìI\0\0#q agBiaN6S-\0M \0\0\17o\bôI\0\0#q rGSjgMe8-\0M \0\0\17o\büI\0\0#q kJ1BRvID-\0M \0\0\17o\b\ 4J\0\0#q Kb2rTVuv-\0M \0\0\17o\b\fJ\0\0#q UjayCQnF-\0M \0\0\17o\b\14J\0\0#q gki2WkEJ-\0M \0\0\17o\b\1cJ\0\0#q GRQCMRew-\0M \0\0\17o\b$J\0\0#q EqK/x1GD-\0M \0\0\17o\b,J\0\0#q BcgGSKNr-\0M \0\0\17o\b4J\0\0#q CGtI59ly-\0M \0\0\17o\b<J\0\0#q NKkdOrQ0-\0M \0\0\17o\bDJ\0\0#q UCJT/tYC-\0M \0\0\17o\bLJ\0\0#q QsXuKTEr-\0M \0\0\17o\bTJ\0\0#q gmB/L7qW-\0M \0\0\17o\b\J\0\0#q QAgjObGx-\0M \0\0\17o\bdJ\0\0#q tYRpoNAh-\0M \0\0\17o\blJ\0\0#q ObSe0Yb8-\0M \0\0\17o\btJ\0\0#q 6I/8koc5-\0M \0\0\17o\b|J\0\0#q eNsi+mHW-\0M \0\0\17o\b\84J\0\0#q zWtVmg20-\0M \0\0\17o\b\8cJ\0\0#q +QHoAlFm-\0M \0\0\17o\b\94J\0\0#q GJHkyHlQ-\0M \0\0\17o\b\9cJ\0\0#q 13uGhptH-\0M \0\0\17o\b¤J\0\0#q j5jDJQi8-\0M \0\0\17o\b¬J\0\0#q LDIbkOBv-\0M \0\0\17o\b´J\0\0#q Kk72hX8s-\0M \0\0\17o\b¼J\0\0#q J7ueW16G-\0M \0\0\17o\bÄJ\0\0#q HGq4y9iI-\0M \0\0\17o\bÌJ\0\0#q j3yMYtSI-\0M \0\0\17o\bÔJ\0\0#q bDhrWwlm-\0M \0\0\17o\bÜJ\0\0#q qZXVJRCq-\0M \0\0\17o\bäJ\0\0#q ouUAUhKK-\0M \0\0\17o\bìJ\0\0#q oGCwqjpq-\0M \0\0\17o\bôJ\0\0#q 43WTfM2q-\0M \0\0\17o\büJ\0\0#q ub+jk2T4-\0M \0\0\17o\b\ 4K\0\0#q GKHeyOVj-\0M \0\0\17o\b\fK\0\0#q tYdlk++2-\0M \0\0\17o\b\14K\0\0#q vs+/+x5N-\0M \0\0\17o\b\1cK\0\0#q vlJOLPYm-\0M \0\0\17o\b$K\0\0#q GRLWSHhD-\0M \0\0\17o\b,K\0\0#q rPt8vLxj-\0M \0\0\17o\b4K\0\0#q o69Xl+W2-\0M \0\0\17o\b<K\0\0#q ESbJz6o+-\0M \0\0\17o\bDK\0\0#q epO91qFW-\0M \0\0\17o\bLK\0\0#q HfEcnfU/-\0M \0\0\17o\bTK\0\0#q 36UAcqgb-\0M \0\0\17o\b\K\0\0#q Z7xi7DdK-\0M \0\0\17o\bdK\0\0#q jmP6OdAd-\0M \0\0\17o\blK\0\0#q 8+vBt/Qt-\0M \0\0\17o\btK\0\0#q BnxhQ5Y5-\0M \0\0\17o\b|K\0\0#q 5yjps21V-\0M \0\0\17o\b\84K\0\0#q oCjTyYLL-\0M \0\0\17o\b\8cK\0\0#q 1CSAQTQg-\0M \0\0\17o\b\94K\0\0#q B7K2FHCv-\0M \0\0\17o\b\9cK\0\0#q BzdvNMXN-\0M \0\0\17o\b¤K\0\0#q bRQpcZKH-\0M \0\0\17o\b¬K\0\0#q abwUfuGc-\0M \0\0\17o\b´K\0\0#q 374PhwMY-\0M \0\0\17o\b¼K\0\0#q pCQXoDnJ-\0M \0\0\17o\bÄK\0\0#q Zi+6wEgi-\0M \0\0\17o\bÌK\0\0#q AiX71dMR-\0M \0\0\17o\bÔK\0\0#q dTfvYRIw-\0M \0\0\17o\bÜK\0\0#q t14Tk5HP-\0M \0\0\17o\bäK\0\0#q rJ9sRIYw-\0M \0\0\17o\bìK\0\0#q CUOkZlDd-\0M \0\0\17o\bôK\0\0#q 4TvtfPdg-\0M \0\0\17o\büK\0\0#q HxB1w21p-\0M \0\0\17o\b\ 4L\0\0#q zT08CJyh-\0M \0\0\17o\b\fL\0\0#q 7Xc8oYd9-\0M \0\0\17o\b\14L\0\0#q ZaSpdBvq-\0M \0\0\17o\b\1cL\0\0#q DRYUDhA4-\0M \0\0\17o\b$L\0\0#q KO7b0HDw-\0M \0\0\17o\b,L\0\0#q 6Hwa7Xtt-\0M \0\0\17o\b4L\0\0#q FLJvwUID-\0M \0\0\17o\b<L\0\0#q pRXAcDIR-\0M \0\0\17o\bDL\0\0#q WHS+aUSz-\0M \0\0\17o\bLL\0\0#q xocp5qow-\0M \0\0\17o\bTL\0\0#q JUFyIVcK-\0M \0\0\17o\b\L\0\0#q Hx7WHevE-\0M \0\0\17o\bdL\0\0#q 5XHZxO+4-\0M \0\0\17o\blL\0\0#q peTzkkly-\0M \0\0\17o\btL\0\0#q u0YuiXbL-\0M \0\0\17o\b|L\0\0#q EIJQUcsg-\0M \0\0\17o\b\84L\0\0#q 9pabkI/h-\0M \0\0\17o\b\8cL\0\0#q od3gISwZ-\0M \0\0\17o\b\94L\0\0#q 4fwv1Xzc-\0M \0\0\17o\b\9cL\0\0#q /OeFHgwt-\0M \0\0\17o\b¤L\0\0#q N7OIIX02-\0M \0\0\17o\b¬L\0\0#q fD0/FYKl-\0M \0\0\17o\b´L\0\0#q oiIWHTB7-\0M \0\0\17o\b¼L\0\0#q PYJwBsz1-\0M \0\0\17o\bÄL\0\0#q ERDlrZJE-\0M \0\0\17o\bÌL\0\0#q YDEhYass-\0M \0\0\17o\bÔL\0\0#q KO0Hhjno-\0M \0\0\17o\bÜL\0\0#q W2l4pHuK-\0M \0\0\17o\bäL\0\0#q oFBPAi0I-\0M \0\0\17o\bìL\0\0#q HcnEsMNI-\0M \0\0\17o\bôL\0\0#q UlBMw4wq-\0M \0\0\17o\büL\0\0#q CkAz69wR-\0M \0\0\17o\b\ 4M\0\0#q dbCpCqYV-\0M \0\0\17o\b\fM\0\0#q IiZOnuCR-\0M \0\0\17o\b\14M\0\0#q 9k4a5ZjW-\0M \0\0\17o\b\1cM\0\0#q NKYUSxiF-\0M \0\0\17o\b$M\0\0#q zpNQQUVw-\0M \0\0\17o\b,M\0\0#q U0iIm9Gb-\0M \0\0\17o\b4M\0\0#q ESmCr3RF-\0M \0\0\17o\b<M\0\0#q Qr1Uigjc-\0M \0\0\17o\bDM\0\0#q 4jisu4pJ-\0M \0\0\17o\bLM\0\0#q puPoO5yO-\0M \0\0\17o\bTM\0\0#q eZt1Lgzt-\0M \0\0\17o\b\M\0\0#q DDSQtUkU-\0M \0\0\17o\bdM\0\0#q +DXS9idD-\0M \0\0\17o\blM\0\0#q pAhOhoTB-\0M \0\0\17o\btM\0\0#q eU7AAikk-\0M \0\0\17o\b|M\0\0#q j6CLUxCI-\0M \0\0\17o\b\84M\0\0#q ImIIc+BM-\0M \0\0\17o\b\8cM\0\0#q GVzqBtTl-\0M \0\0\17o\b\94M\0\0#q qMISI1Sc-\0M \0\0\17o\b\9cM\0\0#q 4AgyKiD4-\0M \0\0\17o\b¤M\0\0#q gcWAivyJ-\0M \0\0\17o\b¬M\0\0#q qEowpHET-\0M \0\0\17o\b´M\0\0#q khIOIUiJ-\0M \0\0\17o\b¼M\0\0#q Asq4g6in-\0M \0\0\17o\bÄM\0\0#q SDsxKRWg-\0M \0\0\17o\bÌM\0\0#q Yt+3owIG-\0M \0\0\17o\bÔM\0\0#q gQI7FgKR-\0M \0\0\17o\bÜM\0\0#q ip6JhDOM-\0M \0\0\17o\bäM\0\0#q YUVRT0Tq-\0M \0\0\17o\bìM\0\0#q gKJELhtS-\0M \0\0\17o\bôM\0\0#q rt5BLVIq-\0M \0\0\17o\büM\0\0#q tKhEQLgg-\0M \0\0\17o\b\ 4N\0\0#q ZJ4QhiQR-\0M \0\0\17o\b\fN\0\0#q Gq0Cqrht-\0M \0\0\17o\b\14N\0\0#q k6wQnTdr-\0M \0\0\17o\b\1cN\0\0#q ZdiQdLJb-\0M \0\0\17o\b$N\0\0#q BMJNwoI5-\0M \0\0\17o\b,N\0\0#q yOuHOpAb-\0M \0\0\17o\b4N\0\0#q HCioJ0J6-\0M \0\0\17o\b<N\0\0#q YhibSGY1-\0M \0\0\17o\bDN\0\0#q HllCJmB4-\0M \0\0\17o\bLN\0\0#q jcrMaFD0-\0M \0\0\17o\bTN\0\0#q ewXkW4ej-\0M \0\0\17o\b\N\0\0#q jFIZTGKo-\0M \0\0\17o\bdN\0\0#q 4JHcpSBB-\0M \0\0\17o\blN\0\0#q Ptd0Qxs1-\0M \0\0\17o\btN\0\0#q vmR1w4jy-\0M \0\0\17o\b|N\0\0#q A/Q8IHSl-\0M \0\0\17o\b\84N\0\0#q HwHq+Ee/-\0M \0\0\17o\b\8cN\0\0#q WKYiGSG4-\0M \0\0\17o\b\94N\0\0#q HC6NiRUC-\0M \0\0\17o\b\9cN\0\0#q LF32CGop-\0M \0\0\17o\b¤N\0\0#q cnwE7g8W-\0M \0\0\17o\b¬N\0\0#q C7D27ysT-\0M \0\0\17o\b´N\0\0#q rEzHoRC9-\0M \0\0\17o\b¼N\0\0#q BQyGYAhk-\0M \0\0\17o\bÄN\0\0#q qhOQBwpF-\0M \0\0\17o\bÌN\0\0#q wUlY3keY-\0M \0\0\17o\bÔN\0\0#q QrRXorRF-\0M \0\0\17o\bÜN\0\0#q PA+GhTj5-\0M \0\0\17o\bäN\0\0#q pDpAE7BL-\0M \0\0\17o\bìN\0\0#q gAlbrkDp-\0M \0\0\17o\bôN\0\0#q k7XdBkMC-\0M \0\0\17o\büN\0\0#q e7aC56yt-\0M \0\0\17o\b\ 4O\0\0#q hMcLyB5M-\0M \0\0\17o\b\fO\0\0#q qB1IiizV-\0M \0\0\17o\b\14O\0\0#q K6jgSzmX-\0M \0\0\17o\b\1cO\0\0#q FAgGIgqw-\0M \0\0\17o\b$O\0\0#q IgA6EtEe-\0M \0\0\17o\b,O\0\0#q wNxEDMEK-\0M \0\0\17o\b4O\0\0#q svoUzTnl-\0M \0\0\17o\b<O\0\0#q KA5iDnmt-\0M \0\0\17o\bDO\0\0#q Y0XrFdi7-\0M \0\0\17o\bLO\0\0#q oO1avSIz-\0M \0\0\17o\bTO\0\0#q 4+XbDYhp-\0M \0\0\17o\b\O\0\0#q YNbXls12-\0M \0\0\17o\bdO\0\0#q lualldWW-\0M \0\0\17o\blO\0\0#q 6Rmvp3Xi-\0M \0\0\17o\btO\0\0#q Sn4tr7H2-\0M \0\0\17o\b|O\0\0#q DBIdge2U-\0M \0\0\17o\b\84O\0\0#q Hx5TmHNI-\0M \0\0\17o\b\8cO\0\0#q B0iD6NlF-\0M \0\0\17o\b\94O\0\0#q C9gO0A7S-\0M \0\0\17o\b\9cO\0\0#q i+DLWvYU-\0M \0\0\17o\b¤O\0\0#q sE7DYKO6-\0M \0\0\17o\b¬O\0\0#q BRETeHLc-\0M \0\0\17o\b´O\0\0#q g6SAFuaZ-\0M \0\0\17o\b¼O\0\0#q 2hO+UAet-\0M \0\0\17o\bÄO\0\0#q ihqZiOFA-\0M \0\0\17o\bÌO\0\0#q GI9nCa1g-\0M \0\0\17o\bÔO\0\0#q vgaJXoNN-\0M \0\0\17o\bÜO\0\0#q ThLNEDOV-\0M \0\0\17o\bäO\0\0#q QpTOKJxU-\0M \0\0\17o\bìO\0\0#q xb7ouRUN-\0M \0\0\17o\bôO\0\0#q 5KMOSuV3-\0M \0\0\17o\büO\0\0#q bdQuokVE-\0M \0\0\17o\b\ 4P\0\0#q dMKFDQPm-\0M \0\0\17o\b\fP\0\0#q AmkMhmx1-\0M \0\0\17o\b\14P\0\0#q /f2bHBC8-\0M \0\0\17o\b\1cP\0\0#q ijYJk50C-\0M \0\0\17o\b$P\0\0#q 6E0XqgwM-\0M \0\0\17o\b,P\0\0#q J6K9wOKa-\0M \0\0\17o\b4P\0\0#q AATyGEoa-\0M \0\0\17o\b<P\0\0#q SjjPogj2-\0M \0\0\17o\bDP\0\0#q CyAOQRZk-\0M \0\0\17o\bLP\0\0#q JxFQViYR-\0M \0\0\17o\bTP\0\0#q M0i+Ei8g-\0M \0\0\17o\b\P\0\0#q AZiihW1W-\0M \0\0\17o\bdP\0\0#q Ukg7JgoK-\0M \0\0\17o\blP\0\0#q GBijbIMe-\0M \0\0\17o\btP\0\0#q nRopoooF-\0M \0\0\17o\b|P\0\0#q jRhdB5Eb-\0M \0\0\17o\b\84P\0\0#q kD0B3K05-\0M \0\0\17o\b\8cP\0\0#q 69Q6zqcb-\0M \0\0\17o\b\94P\0\0#q kOM1Fpwn-\0M \0\0\17o\b\9cP\0\0#q oGyJMqYs-\0M \0\0\17o\b¤P\0\0#q uqUojv8c-\0M \0\0\17o\b¬P\0\0#q Z1sKM4tO-\0M \0\0\17o\b´P\0\0#q 5+rCm9ZZ-\0M \0\0\17o\b¼P\0\0#q JCE6fbtt-\0M \0\0\17o\bÄP\0\0#q A7APREM1-\0M \0\0\17o\bÌP\0\0#q 9CSIPRp8-\0M \0\0\17o\bÔP\0\0#q 16UCN9JJ-\0M \0\0\17o\bÜP\0\0#q BPsHGQVv-\0M \0\0\17o\bäP\0\0#q YZdivqFy-\0M \0\0\17o\bìP\0\0#q +EDnwVAw-\0M \0\0\17o\bôP\0\0#q p4cGED2K-\0M \0\0\17o\büP\0\0#q JDVUXA7y-\0M \0\0\17o\b\ 4Q\0\0#q rAlwDiMK-\0M \0\0\17o\b\fQ\0\0#q 5xTOPCYr-\0M \0\0\17o\b\14Q\0\0#q IplcSluc-\0M \0\0\17o\b\1cQ\0\0#q CUpqSpZo-\0M \0\0\17o\b$Q\0\0#q xggu32wz-\0M \0\0\17o\b,Q\0\0#q jnF2FlIi-\0M \0\0\17o\b4Q\0\0#q doAllPOF-\0M \0\0\17o\b<Q\0\0#q bJzD2SIC-\0M \0\0\17o\bDQ\0\0#q WniGwEiA-\0M \0\0\17o\bLQ\0\0#q 3QNDcV1n-\0M \0\0\17o\bTQ\0\0#q gXIKepNW-\0M \0\0\17o\b\Q\0\0#q 41sRWLhv-\0M \0\0\17o\bdQ\0\0#q PSg1vwFI-\0M \0\0\17o\blQ\0\0#q hjFd0VnV-\0M \0\0\17o\btQ\0\0#q LBR9WMhk-\0M \0\0\17o\b|Q\0\0#q sUIIoiX6-\0M \0\0\17o\b\84Q\0\0#q b6aI6gwm-\0M \0\0\17o\b\8cQ\0\0#q eWGTazqF-\0M \0\0\17o\b\94Q\0\0#q hRbYz6Bw-\0M \0\0\17o\b\9cQ\0\0#q daC+k9L6-\0M \0\0\17o\b¤Q\0\0#q lESGVK0K-\0M \0\0\17o\b¬Q\0\0#q gKYufORB-\0M \0\0\17o\b´Q\0\0#q 0fYYzTnB-\0M \0\0\17o\b¼Q\0\0#q emj4BH2g-\0M \0\0\17o\bÄQ\0\0#q EaHaaIrv-\0M \0\0\17o\bÌQ\0\0#q fxwDWvTn-\0M \0\0\17o\bÔQ\0\0#q qdY6WgKU-\0M \0\0\17o\bÜQ\0\0#q pgSoZrcE-\0M \0\0\17o\bäQ\0\0#q XkiQwPFh-\0M \0\0\17o\bìQ\0\0#q y9jFIQUO-\0M \0\0\17o\bôQ\0\0#q RTJpUAFr-\0M \0\0\17o\büQ\0\0#q hENwKQV1-\0M \0\0\17o\b\ 4R\0\0#q OLa5FQdh-\0M \0\0\17o\b\fR\0\0#q FEEkFVhF-\0M \0\0\17o\b\14R\0\0#q QCQVCRUl-\0M \0\0\17o\b\1cR\0\0#q RhtibMFY-\0M \0\0\17o\b$R\0\0#q g7DmjWQ0-\0M \0\0\17o\b,R\0\0#q vBThVntD-\0M \0\0\17o\b4R\0\0#q Vh0KBEg8-\0M \0\0\17o\b<R\0\0#q z0VFZ1dn-\0M \0\0\17o\bDR\0\0#q lwvOxCyV-\0M \0\0\17o\bLR\0\0#q yFg6KORR-\0M \0\0\17o\bTR\0\0#q zKtb9eVa-\0M \0\0\17o\b\R\0\0#q U6PsPpQ6-\0M \0\0\17o\bdR\0\0#q vqCxMQym-\0M \0\0\17o\blR\0\0#q mlu1MoOo-\0M \0\0\17o\btR\0\0#q fNGJrbSJ-\0M \0\0\17o\b|R\0\0#q qCnCG0Zk-\0M \0\0\17o\b\84R\0\0#q U3SmgEqj-\0M \0\0\17o\b\8cR\0\0#q ljqxILxo-\0M \0\0\17o\b\94R\0\0#q C0NXXqMY-\0M \0\0\17o\b\9cR\0\0#q PKZsTNGg-\0M \0\0\17o\b¤R\0\0#q seiQX1Um-\0M \0\0\17o\b¬R\0\0#q +tDnWCzE-\0M \0\0\17o\b´R\0\0#q FM5KYaQw-\0M \0\0\17o\b¼R\0\0#q iK2hebBF-\0M \0\0\17o\bÄR\0\0#q tFvWbIKl-\0M \0\0\17o\bÌR\0\0#q A0gySQIK-\0M \0\0\17o\bÔR\0\0#q EVUFY1qk-\0M \0\0\17o\bÜR\0\0#q KQisEBDE-\0M \0\0\17o\bäR\0\0#q YcpVOMqL-\0M \0\0\17o\bìR\0\0#q jVHCwFV4-\0M \0\0\17o\bôR\0\0#q coAKcGYV-\0M \0\0\17o\büR\0\0#q aniPIi0I-\0M \0\0\17o\b\ 4S\0\0#q DFCEO6py-\0M \0\0\17o\b\fS\0\0#q iK3Sb5Qt-\0M \0\0\17o\b\14S\0\0#q wUTkeVRq-\0M \0\0\17o\b\1cS\0\0#q SZvgtiPR-\0M \0\0\17o\b$S\0\0#q iC9YmOGp-\0M \0\0\17o\b,S\0\0#q hARNmQ6k-\0M \0\0\17o\b4S\0\0#q LF5Mm9RN-\0M \0\0\17o\b<S\0\0#q 5UknKirN-\0M \0\0\17o\bDS\0\0#q lCkLBMDw-\0M \0\0\17o\bLS\0\0#q LZGwouEW-\0M \0\0\17o\bTS\0\0#q mYel0VvP-\0M \0\0\17o\b\S\0\0#q Jk0f9vqD-\0M \0\0\17o\bdS\0\0#q gB1OMRmK-\0M \0\0\17o\blS\0\0#q ZKIzWahO-\0M \0\0\17o\btS\0\0#q Gd6NWRFA-\0M \0\0\17o\b|S\0\0#q nCIXEL6B-\0M \0\0\17o\b\84S\0\0#q 0Uc2fl5P-\0M \0\0\17o\b\8cS\0\0#q sIeQC1Fo-\0M \0\0\17o\b\94S\0\0#q bsyuXXTi-\0M \0\0\17o\b\9cS\0\0#q CpCs4yTW-\0M \0\0\17o\b¤S\0\0#q 8WkdGVi0-\0M \0\0\17o\b¬S\0\0#q 2BNTSDmt-\0M \0\0\17o\b´S\0\0#q nKPWeq9Y-\0M \0\0\17o\b¼S\0\0#q 4twF4gEp-\0M \0\0\17o\bÄS\0\0#q DgiKRGKA-\0M \0\0\17o\bÌS\0\0#q rATvQoMR-\0M \0\0\17o\bÔS\0\0#q EzE7FMRA-\0M \0\0\17o\bÜS\0\0#q K9ixd+aT-\0M \0\0\17o\bäS\0\0#q uQoIDMYQ-\0M \0\0\17o\bìS\0\0#q ZSoQTcKE-\0M \0\0\17o\bôS\0\0#q AaDgwLsS-\0M \0\0\17o\büS\0\0#q RHUTmeBl-\0M \0\0\17o\b\ 4T\0\0#q wAjqJW12-\0M \0\0\17o\b\fT\0\0#q haMGnPdB-\0M \0\0\17o\b\14T\0\0#q 7Rko8t7U-\0M \0\0\17o\b\1cT\0\0#q YLQRAzDo-\0M \0\0\17o\b$T\0\0#q HldEqn4z-\0M \0\0\17o\b,T\0\0#q fIlR+ahT-\0M \0\0\17o\b4T\0\0#q FDj40bkE-\0M \0\0\17o\b<T\0\0#q s7N9ubb1-\0M \0\0\17o\bDT\0\0#q r5Pkz4P7-\0M \0\0\17o\bLT\0\0#q KmacMbzs-\0M \0\0\17o\bTT\0\0#q Q60kjr28-\0M \0\0\17o\b\T\0\0#q eWZT5fOl-\0M \0\0\17o\bdT\0\0#q M3PVqKOM-\0M \0\0\17o\blT\0\0#q RxDR3mUf-\0M \0\0\17o\btT\0\0#q p54ZLqzc-\0M \0\0\17o\b|T\0\0#q SJorg+9h-\0M \0\0\17o\b\84T\0\0#q oxMGzVzk-\0M \0\0\17o\b\8cT\0\0#q E32DW2Jt-\0M \0\0\17o\b\94T\0\0#q bU2qrPLp-\0M \0\0\17o\b\9cT\0\0#q N5Xpxamj-\0M \0\0\17o\b¤T\0\0#q zu8wb1lW-\0M \0\0\17o\b¬T\0\0#q 8jakUx6d-\0M \0\0\17o\b´T\0\0#q IsLnCxQw-\0M \0\0\17o\b¼T\0\0#q pEzLzYbS-\0M \0\0\17o\bÄT\0\0#q CTWTEZrw-\0M \0\0\17o\bÌT\0\0#q p0sG2G5E-\0M \0\0\17o\bÔT\0\0#q vMnZyhFF-\0M \0\0\17o\bÜT\0\0#q F5tTkG1A-\0M \0\0\17o\bäT\0\0#q ZohFJvea-\0M \0\0\17o\bìT\0\0#q YcvskKd5-\0M \0\0\17o\bôT\0\0#q SozIJ5nC-\0M \0\0\17o\büT\0\0#q lUEHKNtL-\0M \0\0\17o\b\ 4U\0\0#q ZSLNdA29-\0M \0\0\17o\b\fU\0\0#q uDYo7sXx-\0M \0\0\17o\b\14U\0\0#q jC44bazL-\0M \0\0\17o\b\1cU\0\0#q kkiHu8qr-\0M \0\0\17o\b$U\0\0#q YzJnnJ2o-\0M \0\0\17o\b,U\0\0#q Q08SqTZV-\0M \0\0\17o\b4U\0\0#q lzXJN05f-\0M \0\0\17o\b<U\0\0#q OLkVt9y4-\0M \0\0\17o\bDU\0\0#q SAdhsUds-\0M \0\0\17o\bLU\0\0#q ETItUioA-\0M \0\0\17o\bTU\0\0#q 4xSCJRd2-\0M \0\0\17o\b\U\0\0#q ihTicgxY-\0M \0\0\17o\bdU\0\0#q cOnBhN2O-\0M \0\0\17o\blU\0\0#q XCLbNOTB-\0M \0\0\17o\btU\0\0#q hkqTgh2g-\0M \0\0\17o\b|U\0\0#q 0U4XAdMY-\0M \0\0\17o\b\84U\0\0#q maJDRnHR-\0M \0\0\17o\b\8cU\0\0#q R4Lu3sBv-\0M \0\0\17o\b\94U\0\0#q FYojVUFk-\0M \0\0\17o\b\9cU\0\0#q FCHnDpF0-\0M \0\0\17o\b¤U\0\0#q yh0wkgez-\0M \0\0\17o\b¬U\0\0#q uLUwW6ma-\0M \0\0\17o\b´U\0\0#q OnVNAne9-\0M \0\0\17o\b¼U\0\0#q DRbH+AAH-\0M \0\0\17o\bÄU\0\0#q ETar2+Ft-\0M \0\0\17o\bÌU\0\0#q 41Wuaum2-\0M \0\0\17o\bÔU\0\0#q jm5bd3WK-\0M \0\0\17o\bÜU\0\0#q QkCQUMg9-\0M \0\0\17o\bäU\0\0#q FB/ynAQT-\0M \0\0\17o\bìU\0\0#q MVeIB8oh-\0M \0\0\17o\bôU\0\0#q 6CKP0EAQ-\0M \0\0\17o\büU\0\0#q xoFOUgEE-\0M \0\0\17o\b\ 4V\0\0#q vm7+N6n5-\0M \0\0\17o\b\fV\0\0#q WSrmuWds-\0M \0\0\17o\b\14V\0\0#q diR+nu8p-\0M \0\0\17o\b\1cV\0\0#q v3szvUcb-\0M \0\0\17o\b$V\0\0#q eXbM8Y2r-\0M \0\0\17o\b,V\0\0#q YHrC4l+z-\0M \0\0\17o\b4V\0\0#q yLjDfmIM-\0M \0\0\17o\b<V\0\0#q YVsENPkK-\0M \0\0\17o\bDV\0\0#q 9m6v+lyT-\0M \0\0\17o\bLV\0\0#q 5D1f3aEZ-\0M \0\0\17o\bTV\0\0#q uONmS117-\0M \0\0\17o\b\V\0\0#q lX6NWkjP-\0M \0\0\17o\bdV\0\0#q Zo21sYFw-\0M \0\0\17o\blV\0\0#q u55fns3W-\0M \0\0\17o\btV\0\0#q ZHrU9bIX-\0M \0\0\17o\b|V\0\0#q YmXLdyes-\0M \0\0\17o\b\84V\0\0#q JJhtZsyP-\0M \0\0\17o\b\8cV\0\0#q 8XuYeY2q-\0M \0\0\17o\b\94V\0\0#q PLzk8i2e-\0M \0\0\17o\b\9cV\0\0#q MXprLlTU-\0M \0\0\17o\b¤V\0\0#q ee8pZwCQ-\0M \0\0\17o\b¬V\0\0#q X5F0LaW8-\0M \0\0\17o\b´V\0\0#q MCu2YWI+-\0M \0\0\17o\b¼V\0\0#q FoVCAHBD-\0M \0\0\17o\bÄV\0\0#q 2BOl9jQc-\0M \0\0\17o\bÌV\0\0#q oGoiISmk-\0M \0\0\17o\bÔV\0\0#q exUTRuFC-\0M \0\0\17o\bÜV\0\0#q kqlW4ITO-\0M \0\0\17o\bäV\0\0#q GyomsKYH-\0M \0\0\17o\bìV\0\0#q BjZrY5wn-\0M \0\0\17o\bôV\0\0#q cn7k8ejM-\0M \0\0\17o\büV\0\0#q 3ET0XYlJ-\0M \0\0\17o\b\ 4W\0\0#q U8VglCrh-\0M \0\0\17o\b\fW\0\0#q D1mEVbUg-\0M \0\0\17o\b\14W\0\0#q nLS6ENcM-\0M \0\0\17o\b\1cW\0\0#q UAAwOwoo-\0M \0\0\17o\b$W\0\0#q znxlE7lP-\0M \0\0\17o\b,W\0\0#q uAKOBPjK-\0M \0\0\17o\b4W\0\0#q FlnYC6AD-\0M \0\0\17o\b<W\0\0#q qLSrEfFW-\0M \0\0\17o\bDW\0\0#q gZgi07lQ-\0M \0\0\17o\bLW\0\0#q JqzHsmsU-\0M \0\0\17o\bTW\0\0#q g1ZBbG7l-\0M \0\0\17o\b\W\0\0#q W9a5qOWx-\0M \0\0\17o\bdW\0\0#q HURNRDgo-\0M \0\0\17o\blW\0\0#q mOIhVc+e-\0M \0\0\17o\btW\0\0#q 4RuBqAVW-\0M \0\0\17o\b|W\0\0#q jExp9ZXg-\0M \0\0\17o\b\84W\0\0#q MJ2l+KEV-\0M \0\0\17o\b\8cW\0\0#q vOwwHQfp-\0M \0\0\17o\b\94W\0\0#q lT6irimo-\0M \0\0\17o\b\9cW\0\0#q Kktr1mTv-\0M \0\0\17o\b¤W\0\0#q Mn1AI6Nj-\0M \0\0\17o\b¬W\0\0#q 8IOjnF6d-\0M \0\0\17o\b´W\0\0#q HXSm3bQx-\0M \0\0\17o\b¼W\0\0#q 3SNAEqFi-\0M \0\0\17o\bÄW\0\0#q gcKwa6F/-\0M \0\0\17o\bÌW\0\0#q BubLQ9vc-\0M \0\0\17o\bÔW\0\0#q q85KsS6A-\0M \0\0\17o\bÜW\0\0#q ydGpaE6q-\0M \0\0\17o\bäW\0\0#q tgkARpz1-\0M \0\0\17o\bìW\0\0#q BKuNSoGB-\0M \0\0\17o\bôW\0\0#q OgBQ5A1k-\0M \0\0\17o\büW\0\0#q Ba73YHOd-\0M \0\0\17o\b\ 4X\0\0#q tULNUiHq-\0M \0\0\17o\b\fX\0\0#q pDygDESZ-\0M \0\0\17o\b\14X\0\0#q ngsBXWfd-\0M \0\0\17o\b\1cX\0\0#q QdUGGBnh-\0M \0\0\17o\b$X\0\0#q tbsFzJEX-\0M \0\0\17o\b,X\0\0#q O68eFC4N-\0M \0\0\17o\b4X\0\0#q 2M3gCnwh-\0M \0\0\17o\b<X\0\0#q Ljo2sgkK-\0M \0\0\17o\bDX\0\0#q uQ/2GLWH-\0M \0\0\17o\bLX\0\0#q g0I67776-\0M \0\0\17o\bTX\0\0#q B8O/3enH-\0M \0\0\17o\b\X\0\0#q ovnD5QgD-\0M \0\0\17o\bdX\0\0#q 5SX19KJh-\0M \0\0\17o\blX\0\0#q ml4fQjZ7-\0M \0\0\17o\btX\0\0#q +0Q5JZrA-\0M \0\0\17o\b|X\0\0#q 6YidgWYy-\0M \0\0\17o\b\84X\0\0#q Y4jl8xSV-\0M \0\0\17o\b\8cX\0\0#q sK0myHtg-\0M \0\0\17o\b\94X\0\0#q 0AKidGTG-\0M \0\0\17o\b\9cX\0\0#q 7nAv1K6y-\0M \0\0\17o\b¤X\0\0#q 5UVikEpJ-\0M \0\0\17o\b¬X\0\0#q JeVcrzdb-\0M \0\0\17o\b´X\0\0#q 0hpFKVRz-\0M \0\0\17o\b¼X\0\0#q LlSn17KM-\0M \0\0\17o\bÄX\0\0#q aMkjCTLM-\0M \0\0\17o\bÌX\0\0#q QQ0FPTr0-\0M \0\0\17o\bÔX\0\0#q SQkXhEVo-\0M \0\0\17o\bÜX\0\0#q yWhvoQ9y-\0M \0\0\17o\bäX\0\0#q PsIB3yDP-\0M \0\0\17o\bìX\0\0#q eHXPwPw9-\0M \0\0\17o\bôX\0\0#q rkIoDOGz-\0M \0\0\17o\büX\0\0#q 49jxbEtA-\0M \0\0\17o\b\ 4Y\0\0#q Ll682Rhs-\0M \0\0\17o\b\fY\0\0#q 0JwxZeyK-\0M \0\0\17o\b\14Y\0\0#q gGTMoB+Y-\0M \0\0\17o\b\1cY\0\0#q AhZz8Qa9-\0M \0\0\17o\b$Y\0\0#q iOMdcWRB-\0M \0\0\17o\b,Y\0\0#q 55QGYQwr-\0M \0\0\17o\b4Y\0\0#q yLwiXDkQ-\0M \0\0\17o\b<Y\0\0#q LgYR9ATD-\0M \0\0\17o\bDY\0\0#q OHVU8lId-\0M \0\0\17o\bLY\0\0#q eOvOCO8P-\0M \0\0\17o\bTY\0\0#q htQKPJPa-\0M \0\0\17o\b\Y\0\0#q SS5gH9u2-\0M \0\0\17o\bdY\0\0#q h8QPjqFh-\0M \0\0\17o\blY\0\0#q zWX1iUDk-\0M \0\0\17o\btY\0\0#q BGGRdQFO-\0M \0\0\17o\b|Y\0\0#q RGvidclj-\0M \0\0\17o\b\84Y\0\0#q OQQDzVBl-\0M \0\0\17o\b\8cY\0\0#q TGG2UR07-\0M \0\0\17o\b\94Y\0\0#q istKQkPD-\0M \0\0\17o\b\9cY\0\0#q ezFCw0PU-\0M \0\0\17o\b¤Y\0\0#q RkJVk1fF-\0M \0\0\17o\b¬Y\0\0#q tUDEY3Ct-\0M \0\0\17o\b´Y\0\0#q DUhqIFYm-\0M \0\0\17o\b¼Y\0\0#q bk+TNC9b-\0M \0\0\17o\bÄY\0\0#q RLgC1B2Q-\0M \0\0\17o\bÌY\0\0#q hmoGNNdE-\0M \0\0\17o\bÔY\0\0#q XHTlVNGE-\0M \0\0\17o\bÜY\0\0#q VIJL1zKJ-\0M \0\0\17o\bäY\0\0#q JcvOiDo0-\0M \0\0\17o\bìY\0\0#q nuITwMO7-\0M \0\0\17o\bôY\0\0#q aogoMQul-\0M \0\0\17o\büY\0\0#q p1Uzxq+a-\0M \0\0\17o\b\ 4Z\0\0#q 5SU07uZm-\0M \0\0\17o\b\fZ\0\0#q vE1CJnZZ-\0M \0\0\17o\b\14Z\0\0#q 70OyN16a-\0M \0\0\17o\b\1cZ\0\0#q Wcbe7Cfh-\0M \0\0\17o\b$Z\0\0#q B0W5dv9C-\0M \0\0\17o\b,Z\0\0#q 6SR3sHAF-\0M \0\0\17o\b4Z\0\0#q MHzkGZVh-\0M \0\0\17o\b<Z\0\0#q ljT9BtpA-\0M \0\0\17o\bDZ\0\0#q ZFGb0IBh-\0M \0\0\17o\bLZ\0\0#q iANn4yVt-\0M \0\0\17o\bTZ\0\0#q UWWNjZlO-\0M \0\0\17o\b\Z\0\0#q DZOyQgvv-\0M \0\0\17o\bdZ\0\0#q s4J4XQtR-\0M \0\0\17o\blZ\0\0#q 3HQo1zIK-\0M \0\0\17o\btZ\0\0#q aCGoA3MH-\0M \0\0\17o\b|Z\0\0#q DeDBQRyG-\0M \0\0\17o\b\84Z\0\0#q SIusq+Iu-\0M \0\0\17o\b\8cZ\0\0#q UOnPeNgB-\0M \0\0\17o\b\94Z\0\0#q ZsMVdUK/-\0M \0\0\17o\b\9cZ\0\0#q MA7M74eX-\0M \0\0\17o\b¤Z\0\0#q N+cCMybr-\0M \0\0\17o\b¬Z\0\0#q gKkJpI2A-\0M \0\0\17o\b´Z\0\0#q ViGsH9t9-\0M \0\0\17o\b¼Z\0\0#q NE2mTXEA-\0M \0\0\17o\bÄZ\0\0#q H2u1lnrn-\0M \0\0\17o\bÌZ\0\0#q 3EhxUTGq-\0M \0\0\17o\bÔZ\0\0#q z2uqtiqA-\0M \0\0\17o\bÜZ\0\0#q hUVEQ7IF-\0M \0\0\17o\bäZ\0\0#q AI05ncwT-\0M \0\0\17o\bìZ\0\0#q fKHWxRzw-\0M \0\0\17o\bôZ\0\0#q OqtWiKzn-\0M \0\0\17o\büZ\0\0#q M7zWPbVz-\0M \0\0\17o\b\ 4[\0\0#q w4j5iIaD-\0M \0\0\17o\b\f[\0\0#q SHW84UBR-\0M \0\0\17o\b\14[\0\0#q M2Z3vmt3-\0M \0\0\17o\b\1c[\0\0#q R7bnF9KA-\0M \0\0\17o\b$[\0\0#q sRXK5MOI-\0M \0\0\17o\b,[\0\0#q Wdxy1IhO-\0M \0\0\17o\b4[\0\0#q 4yIpyYRj-\0M \0\0\17o\b<[\0\0#q iTl6klPn-\0M \0\0\17o\bD[\0\0#q dDcCERED-\0M \0\0\17o\bL[\0\0#q fIAlT9Ge-\0M \0\0\17o\bT[\0\0#q QO/FHYQ4-\0M \0\0\17o\b\[\0\0#q IvbAcQGR-\0M \0\0\17o\bd[\0\0#q xYyPYeZe-\0M \0\0\17o\bl[\0\0#q wWBoEX3d-\0M \0\0\17o\bt[\0\0#q zOxpl0F2-\0M \0\0\17o\b|[\0\0#q A6Xk4Rpt-\0M \0\0\17o\b\84[\0\0#q VObwVYvR-\0M \0\0\17o\b\8c[\0\0#q JgUdJSoU-\0M \0\0\17o\b\94[\0\0#q Bw0WAB93-\0M \0\0\17o\b\9c[\0\0#q YAWGu4ui-\0M \0\0\17o\b¤[\0\0#q aiu2D0oQ-\0M \0\0\17o\b¬[\0\0#q 6CQqYz2s-\0M \0\0\17o\b´[\0\0#q vjWxM5GL-\0M \0\0\17o\b¼[\0\0#q ngT4hPu9-\0M \0\0\17o\bÄ[\0\0#q PIny6IsR-\0M \0\0\17o\bÌ[\0\0#q ZwrtKctQ-\0M \0\0\17o\bÔ[\0\0#q EYHDXdoR-\0M \0\0\17o\bÜ[\0\0#q qg5oQ2uS-\0M \0\0\17o\bä[\0\0#q sX4bCJ3N-\0M \0\0\17o\bì[\0\0#q GGNxFpY9-\0M \0\0\17o\bô[\0\0#q K9jfyTMP-\0M \0\0\17o\bü[\0\0#q t60P9tHl-\0M \0\0\17o\b\ 4\\0\0#q UE941bvY-\0M \0\0\17o\b\f\\0\0#q 0CWQSCsN-\0M \0\0\17o\b\14\\0\0#q Udyq41St-\0M \0\0\17o\b\1c\\0\0#q OyY05v6r-\0M \0\0\17o\b$\\0\0#q yYNfhWLr-\0M \0\0\17o\b,\\0\0#q uNAJjmG6-\0M \0\0\17o\b4\\0\0#q yfUmfUsh-\0M \0\0\17o\b<\\0\0#q kQw5BAYq-\0M \0\0\17o\bD\\0\0#q lskE4XZZ-\0M \0\0\17o\bL\\0\0#q 0rCcTJIR-\0M \0\0\17o\bT\\0\0#q vQcxBsbo-\0M \0\0\17o\b\\\0\0#q dFNqdCpM-\0M \0\0\17o\bd\\0\0#q hmSYhrWB-\0M \0\0\17o\bl\\0\0#q xkg7XIf3-\0M \0\0\17o\bt\\0\0#q 71jehCbU-\0M \0\0\17o\b|\\0\0#q wexm4dGg-\0M \0\0\17o\b\84\\0\0#q VDsU5gmy-\0M \0\0\17o\b\8c\\0\0#q ARYrMvjR-\0M \0\0\17o\b\94\\0\0#q HnRAjrEi-\0M \0\0\17o\b\9c\\0\0#q 0GYc5Y6O-\0M \0\0\17o\b¤\\0\0#q iwRdCNAU-\0M \0\0\17o\b¬\\0\0#q hDcJxjcB-\0M \0\0\17o\b´\\0\0#q NIBhrUp2-\0M \0\0\17o\b¼\\0\0#q G6ndXbO7-\0M \0\0\17o\bÄ\\0\0#q n1V1kivl-\0M \0\0\17o\bÌ\\0\0#q 8XxGjFDj-\0M \0\0\17o\bÔ\\0\0#q 0HsLjFzt-\0M \0\0\17o\bÜ\\0\0#q VYhL2gQA-\0M \0\0\17o\bä\\0\0#q RiRjzTge-\0M \0\0\17o\bì\\0\0#q THDnuVV3-\0M \0\0\17o\bô\\0\0#q Z6EWdEVx-\0M \0\0\17o\bü\\0\0#q 3o6ECjQ5-\0M \0\0\17o\b\ 4]\0\0#q rCJk6KO7-\0M \0\0\17o\b\f]\0\0#q JyyngW7F-\0M \0\0\17o\b\14]\0\0#q aBI8Q0m9-\0M \0\0\17o\b\1c]\0\0#q 0Hkz6/HS-\0M \0\0\17o\b$]\0\0#q OXw7wPcG-\0M \0\0\17o\b,]\0\0#q EkM3MXsy-\0M \0\0\17o\b4]\0\0#q tQGxEqIO-\0M \0\0\17o\b<]\0\0#q eR5s569+-\0M \0\0\17o\bD]\0\0#q 9oW4M1qt-\0M \0\0\17o\bL]\0\0#q CS6KKEew-\0M \0\0\17o\bT]\0\0#q SrVVQ9Z2-\0M \0\0\17o\b\]\0\0#q x1nmgZsV-\0M \0\0\17o\bd]\0\0#q 5A2G0sh3-\0M \0\0\17o\bl]\0\0#q RXUp64xy-\0M \0\0\17o\bt]\0\0#q 5NrrMXvw-\0M \0\0\17o\b|]\0\0#q /jH9rrG9-\0M \0\0\17o\b\84]\0\0#q Vbajixah-\0M \0\0\17o\b\8c]\0\0#q aXPO4PyE-\0M \0\0\17o\b\94]\0\0#q x5aentlm-\0M \0\0\17o\b\9c]\0\0#q gg3UzPNc-\0M \0\0\17o\b¤]\0\0#q yQmn8jm7-\0M \0\0\17o\b¬]\0\0#q WpaxrIJe-\0M \0\0\17o\b´]\0\0#q GcWmiyb2-\0M \0\0\17o\b¼]\0\0#q JVHMgUcg-\0M \0\0\17o\bÄ]\0\0#q NYWQZ8qR-\0M \0\0\17o\bÌ]\0\0#q l9nHMTRw-\0M \0\0\17o\bÔ]\0\0#q 3MikGYWc-\0M \0\0\17o\bÜ]\0\0#q a2t3Qhha-\0M \0\0\17o\bä]\0\0#q YddzCOLk-\0M \0\0\17o\bì]\0\0#q 1SxmG3ve-\0M \0\0\17o\bô]\0\0#q c1U7jhza-\0M \0\0\17o\bü]\0\0#q LKrbNpl7-\0M \0\0\17o\b\ 4^\0\0#q cveuJ4GT-\0M \0\0\17o\b\f^\0\0#q VKmHNOGI-\0M \0\0\17o\b\14^\0\0#q KDJJCa1h-\0M \0\0\17o\b\1c^\0\0#q ZpVTd9dd-\0M \0\0\17o\b$^\0\0#q zdqXynyK-\0M \0\0\17o\b,^\0\0#q 3LQF/1fv-\0M \0\0\17o\b4^\0\0#q HvFwDEEA-\0M \0\0\17o\b<^\0\0#q gG7s21nI-\0M \0\0\17o\bD^\0\0#q U4+UAFqO-\0M \0\0\17o\bL^\0\0#q BOzZXxva-\0M \0\0\17o\bT^\0\0#q fGAJlsTL-\0M \0\0\17o\b\^\0\0#q a0vUiRYN-\0M \0\0\17o\bd^\0\0#q bsqb6jMC-\0M \0\0\17o\bl^\0\0#q Vwky24Sy-\0M \0\0\17o\bt^\0\0#q lLvbtzhy-\0M \0\0\17o\b|^\0\0#q 4U047dzR-\0M \0\0\17o\b\84^\0\0#q IGiqxGqI-\0M \0\0\17o\b\8c^\0\0#q kIjQID2q-\0M \0\0\17o\b\94^\0\0#q NEqudsyo-\0M \0\0\17o\b\9c^\0\0#q ALL7Rxcl-\0M \0\0\17o\b¤^\0\0#q L04W5tQJ-\0M \0\0\17o\b¬^\0\0#q 5QDpK7RH-\0M \0\0\17o\b´^\0\0#q XccMSIKz-\0M \0\0\17o\b¼^\0\0#q BREj6ROm-\0M \0\0\17o\bÄ^\0\0#q SpdaVrt4-\0M \0\0\17o\bÌ^\0\0#q adqfw1EQ-\0M \0\0\17o\bÔ^\0\0#q X0QzEHsC-\0M \0\0\17o\bÜ^\0\0#q a660tktL-\0M \0\0\17o\bä^\0\0#q xhOLIkn2-\0M \0\0\17o\bì^\0\0#q OyUnq6l1-\0M \0\0\17o\bô^\0\0#q ++dxH9/n-\0M \0\0\17o\bü^\0\0#q 3L2c8+25-\0M \0\0\17o\b\ 4_\0\0#q +V4ffTlL-\0M \0\0\17o\b\f_\0\0#q WbIZ6mIo-\0M \0\0\17o\b\14_\0\0#q WFkymTGc-\0M \0\0\17o\b\1c_\0\0#q Ewjhh9wU-\0M \0\0\17o\b$_\0\0#q dmPPecx/-\0M \0\0\17o\b,_\0\0#q I04eIAX8-\0M \0\0\17o\b4_\0\0#q Pfv3s8Jw-\0M \0\0\17o\b<_\0\0#q 7Rz+F57P-\0M \0\0\17o\bD_\0\0#q 356BfL1E-\0M \0\0\17o\bL_\0\0#q 2R485lDJ-\0M \0\0\17o\bT_\0\0#q Bs/Jx45H-\0M \0\0\17o\b\_\0\0#q bNb+1znk-\0M \0\0\17o\bd_\0\0#q LrlQVg2n-\0M \0\0\17o\bl_\0\0#q 3Z3ePSJu-\0M \0\0\17o\bt_\0\0#q R7bhMxd8-\0M \0\0\17o\b|_\0\0#q mt5Ml7Cn-\0M \0\0\17o\b\84_\0\0#q a2v47Av2-\0M \0\0\17o\b\8c_\0\0#q ShobDchL-\0M \0\0\17o\b\94_\0\0#q us/dr8YR-\0M \0\0\17o\b\9c_\0\0#q ijOCfI/a-\0M \0\0\17o\b¤_\0\0#q oS1CEk62-\0M \0\0\17o\b¬_\0\0#q /SwaX0d+-\0M \0\0\17o\b´_\0\0#q zqSS4TLc-\0M \0\0\17o\b¼_\0\0#q KBNHf3WD-\0M \0\0\17o\bÄ_\0\0#q oO6NgvqD-\0M \0\0\17o\bÌ_\0\0#q AcAR82hL-\0M \0\0\17o\bÔ_\0\0#q 32rdu4FR-\0M \0\0\17o\bÜ_\0\0#q ZaPc4BSz-\0M \0\0\17o\bä_\0\0#q InYiK90P-\0M \0\0\17o\bì_\0\0#q siBLMdwB-\0M \0\0\17o\bô_\0\0#q ZzGeZDD4-\0M \0\0\17o\bü_\0\0#q g5u3gUBy-\0M \0\0\17o\b\ 4`\0\0#q lQUbarAR-\0M \0\0\17o\b\f`\0\0#q BUBIVnQq-\0M \0\0\17o\b\14`\0\0#q bgplEWh9-\0M \0\0\17o\b\1c`\0\0#q veEZod7p-\0M \0\0\17o\b$`\0\0#q 4BlUkk5V-\0M \0\0\17o\b,`\0\0#q EijGEoh0-\0M \0\0\17o\b4`\0\0#q dAiX2FHN-\0M \0\0\17o\b<`\0\0#q FOZcC5Ca-\0M \0\0\17o\bD`\0\0#q W4XLEDTI-\0M \0\0\17o\bL`\0\0#q SgogmLJA-\0M \0\0\17o\bT`\0\0#q KIqAY78+-\0M \0\0\17o\b\`\0\0#q xmDgxem8-\0M \0\0\17o\bd`\0\0#q eRwYA+e+-\0M \0\0\17o\bl`\0\0#q 7Gs7BLa5-\0M \0\0\17o\bt`\0\0#q 9uFG8ZoV-\0M \0\0\17o\b|`\0\0#q eVgy9USR-\0M \0\0\17o\b\84`\0\0#q kUkhykQ2-\0M \0\0\17o\b\8c`\0\0#q gdhQBuNL-\0M \0\0\17o\b\94`\0\0#q AzEGQWz6-\0M \0\0\17o\b\9c`\0\0#q uWiSqgkg-\0M \0\0\17o\b¤`\0\0#q PFhL1X2+-\0M \0\0\17o\b¬`\0\0#q 0eYLcIcj-\0M \0\0\17o\b´`\0\0#q 3iZyxIJ5-\0M \0\0\17o\b¼`\0\0#q vmkDHss1-\0M \0\0\17o\bÄ`\0\0#q UAY9Kwmu-\0M \0\0\17o\bÌ`\0\0#q cUvi7vEK-\0M \0\0\17o\bÔ`\0\0#q uyu0GwhC-\0M \0\0\17o\bÜ`\0\0#q TA/yoyJy-\0M \0\0\17o\bä`\0\0#q KgfHT7x1-\0M \0\0\17o\bì`\0\0#q mgrpxkN4-\0M \0\0\17o\bô`\0\0#q KkOQXU5C-\0M \0\0\17o\bü`\0\0#q 2Mg4GpNJ-\0M \0\0\17o\b\ 4a\0\0#q atXYSKiD-\0M \0\0\17o\b\fa\0\0#q qMyBxJCb-\0M \0\0\17o\b\14a\0\0#q 3pESGxB3-\0M \0\0\17o\b\1ca\0\0#q ecBzpYGN-\0M \0\0\17o\b$a\0\0#q W/OquelO-\0M \0\0\17o\b,a\0\0#q kMMQhLMN-\0M \0\0\17o\b4a\0\0#q vp2CszyQ-\0M \0\0\17o\b<a\0\0#q XClDLJFN-\0M \0\0\17o\bDa\0\0#q asPABkrG-\0M \0\0\17o\bLa\0\0#q Mqh3NC4P-\0M \0\0\17o\bTa\0\0#q 2iBrGm2B-\0M \0\0\17o\b\a\0\0#q OkclnvhV-\0M \0\0\17o\bda\0\0#q haRISz3t-\0M \0\0\17o\bla\0\0#q cWC4e3px-\0M \0\0\17o\bta\0\0#q cma792Aa-\0M \0\0\17o\b|a\0\0#q xCl7oESl-\0M \0\0\17o\b\84a\0\0#q xfjoIKJ7-\0M \0\0\17o\b\8ca\0\0#q a2FiDuAw-\0M \0\0\17o\b\94a\0\0#q eHtnbwXS-\0M \0\0\17o\b\9ca\0\0#q 5c7GQzEP-\0M \0\0\17o\b¤a\0\0#q RFNwEFkC-\0M \0\0\17o\b¬a\0\0#q QFcwLhdU-\0M \0\0\17o\b´a\0\0#q KEAz2x8R-\0M \0\0\17o\b¼a\0\0#q GVU4dMOH-\0M \0\0\17o\bÄa\0\0#q fKVIFIhm-\0M \0\0\17o\bÌa\0\0#q 2iWtGuVM-\0M \0\0\17o\bÔa\0\0#q hENpjLWF-\0M \0\0\17o\bÜa\0\0#q ciSZlotH-\0M \0\0\17o\bäa\0\0#q Br+3aNL0-\0M \0\0\17o\bìa\0\0#q JXa8XgqP-\0M \0\0\17o\bôa\0\0#q AEd6EVpK-\0M \0\0\17o\büa\0\0#q nkMUG11O-\0M \0\0\17o\b\ 4b\0\0#q 6XJWr5Yd-\0M \0\0\17o\b\fb\0\0#q e1Z9xlu5-\0M \0\0\17o\b\14b\0\0#q eR7mJ0wH-\0M \0\0\17o\b\1cb\0\0#q vDupi0w9-\0M \0\0\17o\b$b\0\0#q qHg0Qgci-\0M \0\0\17o\b,b\0\0#q AVh2IX6I-\0M \0\0\17o\b4b\0\0#q XeOlrntO-\0M \0\0\17o\b<b\0\0#q QTFZdBaw-\0M \0\0\17o\bDb\0\0#q zrREld3j-\0M \0\0\17o\bLb\0\0#q PlFqXVGJ-\0M \0\0\17o\bTb\0\0#q kUYTNloh-\0M \0\0\17o\b\b\0\0#q LiPDOszj-\0M \0\0\17o\bdb\0\0#q jML0boQt-\0M \0\0\17o\blb\0\0#q WicWm1LQ-\0M \0\0\17o\btb\0\0#q fEJgpwVZ-\0M \0\0\17o\b|b\0\0#q EwVAf1rp-\0M \0\0\17o\b\84b\0\0#q wKDiWeW2-\0M \0\0\17o\b\8cb\0\0#q T44FofGx-\0M \0\0\17o\b\94b\0\0#q 9X7FflnT-\0M \0\0\17o\b\9cb\0\0#q v57B7RWf-\0M \0\0\17o\b¤b\0\0#q e+Ko/xh7-\0M \0\0\17o\b¬b\0\0#q BrfbW16M-\0M \0\0\17o\b´b\0\0#q dhYNV5Pv-\0M \0\0\17o\b¼b\0\0#q lOkBqBZn-\0M \0\0\17o\bÄb\0\0#q JhkCwWXb-\0M \0\0\17o\bÌb\0\0#q ALoENInG-\0M \0\0\17o\bÔb\0\0#q VVyEpJHr-\0M \0\0\17o\bÜb\0\0#q MH1FM5yh-\0M \0\0\17o\bäb\0\0#q FxZi6xvm-\0M \0\0\17o\bìb\0\0#q HQaSOdy8-\0M \0\0\17o\bôb\0\0#q vvLlDQ0c-\0M \0\0\17o\büb\0\0#q ip0Q10A0-\0M \0\0\17o\b\ 4c\0\0#q glmjphjg-\0M \0\0\17o\b\fc\0\0#q AtXhh5sC-\0M \0\0\17o\b\14c\0\0#q 2DuE7wOi-\0M \0\0\17o\b\1cc\0\0#q 1ogHvNgo-\0M \0\0\17o\b$c\0\0#q aKThOzB1-\0M \0\0\17o\b,c\0\0#q lxriiGCe-\0M \0\0\17o\b4c\0\0#q shTQvqL8-\0M \0\0\17o\b<c\0\0#q 9HPQ+io6-\0M \0\0\17o\bDc\0\0#q J1Omxss5-\0M \0\0\17o\bLc\0\0#q Zv6kfi67-\0M \0\0\17o\bTc\0\0#q wFWe2dNZ-\0M \0\0\17o\b\c\0\0#q FCyzJZwr-\0M \0\0\17o\bdc\0\0#q esuVNd9s-\0M \0\0\17o\blc\0\0#q V2RTnE5N-\0M \0\0\17o\btc\0\0#q 7GjnjtGh-\0M \0\0\17o\b|c\0\0#q DOLCGejh-\0M \0\0\17o\b\84c\0\0#q EM4VqEAY-\0M \0\0\17o\b\8cc\0\0#q I4iKBkRF-\0M \0\0\17o\b\94c\0\0#q L4BZuzJl-\0M \0\0\17o\b\9cc\0\0#q fc28UAYv-\0M \0\0\17o\b¤c\0\0#q BA0puE6Z-\0M \0\0\17o\b¬c\0\0#q ecsRdO8V-\0M \0\0\17o\b´c\0\0#q 2w3M1t4Y-\0M \0\0\17o\b¼c\0\0#q GKaBMQ9g-\0M \0\0\17o\bÄc\0\0#q zlCEQ22W-\0M \0\0\17o\bÌc\0\0#q BSqbwKaR-\0M \0\0\17o\bÔc\0\0#q djkQHC4i-\0M \0\0\17o\bÜc\0\0#q xmWzxGIa-\0M \0\0\17o\bäc\0\0#q JQxyRAxH-\0M \0\0\17o\bìc\0\0#q r6FlXRHC-\0M \0\0\17o\bôc\0\0#q tOM7Ur2K-\0M \0\0\17o\büc\0\0#q SG17m5xI-\0M \0\0\17o\b\ 4d\0\0#q KQuaUIjp-\0M \0\0\17o\b\fd\0\0#q KPU4oul3-\0M \0\0\17o\b\14d\0\0#q DGBPUe9X-\0M \0\0\17o\b\1cd\0\0#q NE5SjJ7u-\0M \0\0\17o\b$d\0\0#q sYsvJroD-\0M \0\0\17o\b,d\0\0#q QcDTaLFr-\0M \0\0\17o\b4d\0\0#q KnCLS1aq-\0M \0\0\17o\b<d\0\0#q Hqo1vSGE-\0M \0\0\17o\bDd\0\0#q ySRhymq1-\0M \0\0\17o\bLd\0\0#q 0Ub2JdLj-\0M \0\0\17o\bTd\0\0#q ui5Cg0Og-\0M \0\0\17o\b\d\0\0#q AyFwRzuT-\0M \0\0\17o\bdd\0\0#q trLIETne-\0M \0\0\17o\bld\0\0#q k84awMtC-\0M \0\0\17o\btd\0\0#q p9ESClI6-\0M \0\0\17o\b|d\0\0#q GC70L6Vc-\0M \0\0\17o\b\84d\0\0#q HG5I5VRM-\0M \0\0\17o\b\8cd\0\0#q DxkDYaht-\0M \0\0\17o\b\94d\0\0#q 0wnKaDRT-\0M \0\0\17o\b\9cd\0\0#q pUruQQOh-\0M \0\0\17o\b¤d\0\0#q rJt5eU9z-\0M \0\0\17o\b¬d\0\0#q wnDZsQC8-\0M \0\0\17o\b´d\0\0#q XLboLBCT-\0M \0\0\17o\b¼d\0\0#q oaxiPIoi-\0M \0\0\17o\bÄd\0\0#q xht299g1-\0M \0\0\17o\bÌd\0\0#q eAN4RdbB-\0M \0\0\17o\bÔd\0\0#q M3PFsKrg-\0M \0\0\17o\bÜd\0\0#q 6ERTws9w-\0M \0\0\17o\bäd\0\0#q PEE53AHu-\0M \0\0\17o\bìd\0\0#q 9HnSjwnU-\0M \0\0\17o\bôd\0\0#q OBSNrBA7-\0M \0\0\17o\büd\0\0#q 0oCmilLY-\0M \0\0\17o\b\ 4e\0\0#q Pe+DGDgh-\0M \0\0\17o\b\fe\0\0#q 6AG94FT/-\0M \0\0\17o\b\14e\0\0#q EZfpoKj3-\0M \0\0\17o\b\1ce\0\0#q EISVg8Qp-\0M \0\0\17o\b$e\0\0#q AngqM8vm-\0M \0\0\17o\b,e\0\0#q A3SBJCvR-\0M \0\0\17o\b4e\0\0#q Sw6yhCJN-\0M \0\0\17o\b<e\0\0#q dyVUolCj-\0M \0\0\17o\bDe\0\0#q ZPDeXsG9-\0M \0\0\17o\bLe\0\0#q 6bxkCEDL-\0M \0\0\17o\bTe\0\0#q 4kgQb0NH-\0M \0\0\17o\b\e\0\0#q SghSvjbg-\0M \0\0\17o\bde\0\0#q TCRImOgQ-\0M \0\0\17o\ble\0\0#q X9g5YQnK-\0M \0\0\17o\bte\0\0#q 1JnCHQir-\0M \0\0\17o\b|e\0\0#q 06levMFK-\0M \0\0\17o\b\84e\0\0#q VYkHy0hY-\0M \0\0\17o\b\8ce\0\0#q Iko0oj33-\0M \0\0\17o\b\94e\0\0#q Fl52C2vK-\0M \0\0\17o\b\9ce\0\0#q sBIXYs0A-\0M \0\0\17o\b¤e\0\0#q wtC0BAVs-\0M \0\0\17o\b¬e\0\0#q qkEI2A51-\0M \0\0\17o\b´e\0\0#q DCQ4czmz-\0M \0\0\17o\b¼e\0\0#q pfPFmm+b-\0M \0\0\17o\bÄe\0\0#q 8ANnSoK6-\0M \0\0\17o\bÌe\0\0#q NuBO5JsE-\0M \0\0\17o\bÔe\0\0#q 9wB54ZFk-\0M \0\0\17o\bÜe\0\0#q Sd6awB68-\0M \0\0\17o\bäe\0\0#q gOzx6BZk-\0M \0\0\17o\bìe\0\0#q U0W41kPJ-\0M \0\0\17o\bôe\0\0#q p0tdlQoN-\0M \0\0\17o\büe\0\0#q WMl5ouXn-\0M \0\0\17o\b\ 4f\0\0#q VwAAOBQV-\0M \0\0\17o\b\ff\0\0#q QtmwACYS-\0M \0\0\17o\b\14f\0\0#q MN8JJSXD-\0M \0\0\17o\b\1cf\0\0#q EpDDXCxM-\0M \0\0\17o\b$f\0\0#q zIoc1vtU-\0M \0\0\17o\b,f\0\0#q CyI83wsQ-\0M \0\0\17o\b4f\0\0#q owQmOdEQ-\0M \0\0\17o\b<f\0\0#q eu+6wUTU-\0M \0\0\17o\bDf\0\0#q VTUZ6V0G-\0M \0\0\17o\bLf\0\0#q BjiUxQLw-\0M \0\0\17o\bTf\0\0#q wVYDEAdo-\0M \0\0\17o\b\f\0\0#q XZoZo9PK-\0M \0\0\17o\bdf\0\0#q 2kLxhW04-\0M \0\0\17o\blf\0\0#q FenMCowg-\0M \0\0\17o\btf\0\0#q 8QhwJC6I-\0M \0\0\17o\b|f\0\0#q SvJoZdAM-\0M \0\0\17o\b\84f\0\0#q I4RxmXl9-\0M \0\0\17o\b\8cf\0\0#q WGpq1m5Q-\0M \0\0\17o\b\94f\0\0#q DogASIeg-\0M \0\0\17o\b\9cf\0\0#q EgDIpUXc-\0M \0\0\17o\b¤f\0\0#q DP6wOlBb-\0M \0\0\17o\b¬f\0\0#q 2oB2J7FI-\0M \0\0\17o\b´f\0\0#q YiZ3rGZX-\0M \0\0\17o\b¼f\0\0#q NIJf2atR-\0M \0\0\17o\bÄf\0\0#q cQbYVDkx-\0M \0\0\17o\bÌf\0\0#q Cz1D0Gsd-\0M \0\0\17o\bÔf\0\0#q MvIO8NzF-\0M \0\0\17o\bÜf\0\0#q YSwtpbyZ-\0M \0\0\17o\bäf\0\0#q 1nGAWoza-\0M \0\0\17o\bìf\0\0#q QYNERCAe-\0M \0\0\17o\bôf\0\0#q NIRK/KCx-\0M \0\0\17o\büf\0\0#q iAvTnMSe-\0M \0\0\17o\b\ 4g\0\0#q KBcSoITt-\0M \0\0\17o\b\fg\0\0#q OIamG40x-\0M \0\0\17o\b\14g\0\0#q IsICd7QG-\0M \0\0\17o\b\1cg\0\0#q Yq7g5yMZ-\0M \0\0\17o\b$g\0\0#q SfYIBjSC-\0M \0\0\17o\b,g\0\0#q 8cIthVOm-\0M \0\0\17o\b4g\0\0#q Emzl5cjR-\0M \0\0\17o\b<g\0\0#q RQSFEKnI-\0M \0\0\17o\bDg\0\0#q qSKUG2y0-\0M \0\0\17o\bLg\0\0#q d4pDaUQk-\0M \0\0\17o\bTg\0\0#q J5CMiAKr-\0M \0\0\17o\b\g\0\0#q dvrMLFEI-\0M \0\0\17o\bdg\0\0#q FbQrfWW0-\0M \0\0\17o\blg\0\0#q hD7GB2Fr-\0M \0\0\17o\btg\0\0#q FcwCpSRO-\0M \0\0\17o\b|g\0\0#q wIDjxYYP-\0M \0\0\17o\b\84g\0\0#q X3mjKzEA-\0M \0\0\17o\b\8cg\0\0#q oiIESUYp-\0M \0\0\17o\b\94g\0\0#q R3ygcvab-\0M \0\0\17o\b\9cg\0\0#q gvYb5JsU-\0M \0\0\17o\b¤g\0\0#q BDar6xA0-\0M \0\0\17o\b¬g\0\0#q 8yYdnJ3d-\0M \0\0\17o\b´g\0\0#q mc8KkH6u-\0M \0\0\17o\b¼g\0\0#q n9F+sESc-\0M \0\0\17o\bÄg\0\0#q tLBFkQGm-\0M \0\0\17o\bÌg\0\0#q Ta0bPig+-\0M \0\0\17o\bÔg\0\0#q sM/K4rcN-\0M \0\0\17o\bÜg\0\0#q licUhXGv-\0M \0\0\17o\bäg\0\0#q keO2yqSZ-\0M \0\0\17o\bìg\0\0#q 5oKmK7mz-\0M \0\0\17o\bôg\0\0#q QnIIpTd6-\0M \0\0\17o\büg\0\0#q txohrPWx-\0M \0\0\17o\b\ 4h\0\0#q C+w7O7Xd-\0M \0\0\17o\b\fh\0\0#q 9LQtO6uq-\0M \0\0\17o\b\14h\0\0#q ZLhzsHZp-\0M \0\0\17o\b\1ch\0\0#q RcxYOi1C-\0M \0\0\17o\b$h\0\0#q FignFLhw-\0M \0\0\17o\b,h\0\0#q DuxorIb1-\0M \0\0\17o\b4h\0\0#q rsUMRBHk-\0M \0\0\17o\b<h\0\0#q UkH9+wAq-\0M \0\0\17o\bDh\0\0#q L2aiyPoA-\0M \0\0\17o\bLh\0\0#q lLwUclJO-\0M \0\0\17o\bTh\0\0#q 0yK/pNNL-\0M \0\0\17o\b\h\0\0#q RBkAgxgR-\0M \0\0\17o\bdh\0\0#q JDowL+MD-\0M \0\0\17o\blh\0\0#q bn7aFmDs-\0M \0\0\17o\bth\0\0#q 3Zum7TMm-\0M \0\0\17o\b|h\0\0#q pl6eNnnK-\0M \0\0\17o\b\84h\0\0#q XjW+cIZL-\0M \0\0\17o\b\8ch\0\0#q KTUDBhEK-\0M \0\0\17o\b\94h\0\0#q 8ciqkQeV-\0M \0\0\17o\b\9ch\0\0#q 7o9nO+Rd-\0M \0\0\17o\b¤h\0\0#q jYhyConj-\0M \0\0\17o\b¬h\0\0#q MQRTBWme-\0M \0\0\17o\b´h\0\0#q Lu3GkKYb-\0M \0\0\17o\b¼h\0\0#q SDZ+NFyt-\0M \0\0\17o\bÄh\0\0#q hpRclB0u-\0M \0\0\17o\bÌh\0\0#q +MM9hIPy-\0M \0\0\17o\bÔh\0\0#q 379/P5Jv-\0M \0\0\17o\bÜh\0\0#q Rp9K7Hh8-\0M \0\0\17o\bäh\0\0#q rACxIThk-\0M \0\0\17o\bìh\0\0#q R9bC/mjT-\0M \0\0\17o\bôh\0\0#q 79r7kMrZ-\0M \0\0\17o\büh\0\0#q fL3DsQq9-\0M \0\0\17o\b\ 4i\0\0#q dPzd80jy-\0M \0\0\17o\b\fi\0\0#q omUQ0MGQ-\0M \0\0\17o\b\14i\0\0#q ccce3Fj7-\0M \0\0\17o\b\1ci\0\0#q MWzP6VNx-\0M \0\0\17o\b$i\0\0#q LUm/pBux-\0M \0\0\17o\b,i\0\0#q mmyioIE4-\0M \0\0\17o\b4i\0\0#q 5y9suzCq-\0M \0\0\17o\b<i\0\0#q g25nIpkv-\0M \0\0\17o\bDi\0\0#q Y49evNI1-\0M \0\0\17o\bLi\0\0#q vdkD9EHH-\0M \0\0\17o\bTi\0\0#q Y32D6/Wt-\0M \0\0\17o\b\i\0\0#q 95wXiY14-\0M \0\0\17o\bdi\0\0#q QGHv6Tup-\0M \0\0\17o\bli\0\0#q r4QlovqZ-\0M \0\0\17o\bti\0\0#q sUxN/gpp-\0M \0\0\17o\b|i\0\0#q AOiLCJKK-\0M \0\0\17o\b\84i\0\0#q RQoB3Tq7-\0M \0\0\17o\b\8ci\0\0#q wOD2KVRz-\0M \0\0\17o\b\94i\0\0#q t/RlCRyI-\0M \0\0\17o\b\9ci\0\0#q OQHSOSr3-\0M \0\0\17o\b¤i\0\0#q uh4krxkm-\0M \0\0\17o\b¬i\0\0#q wT/BsrQ7-\0M \0\0\17o\b´i\0\0#q 9YvUxmCB-\0M \0\0\17o\b¼i\0\0#q saLPe3BE-\0M \0\0\17o\bÄi\0\0#q 9rd44cRs-\0M \0\0\17o\bÌi\0\0#q EtHttA6U-\0M \0\0\17o\bÔi\0\0#q iBxgHNHM-\0M \0\0\17o\bÜi\0\0#q Bs2t3Woq-\0M \0\0\17o\bäi\0\0#q icOUCJ/p-\0M \0\0\17o\bìi\0\0#q dOhWwXx0-\0M \0\0\17o\bôi\0\0#q xzvjx3O0-\0M \0\0\17o\büi\0\0#q KVN84or1-\0M \0\0\17o\b\ 4j\0\0#q DOx3VbmY-\0M \0\0\17o\b\fj\0\0#q XBKjiLHH-\0M \0\0\17o\b\14j\0\0#q Q6cosigw-\0M \0\0\17o\b\1cj\0\0#q db8KKicN-\0M \0\0\17o\b$j\0\0#q L3O90EPY-\0M \0\0\17o\b,j\0\0#q 3XkwoBs5-\0M \0\0\17o\b4j\0\0#q FPf48Tw4-\0M \0\0\17o\b<j\0\0#q m8Z4osEy-\0M \0\0\17o\bDj\0\0#q HXmsb2fA-\0M \0\0\17o\bLj\0\0#q Ok4HFRdQ-\0M \0\0\17o\bTj\0\0#q RcU7OGXa-\0M \0\0\17o\b\j\0\0#q HlQhmiCf-\0M \0\0\17o\bdj\0\0#q cEzj2hQN-\0M \0\0\17o\blj\0\0#q DNA6MRu4-\0M \0\0\17o\btj\0\0#q t68O2Z1C-\0M \0\0\17o\b|j\0\0#q jKZpojvI-\0M \0\0\17o\b\84j\0\0#q Z6gSyZPH-\0M \0\0\17o\b\8cj\0\0#q rL9rdnsg-\0M \0\0\17o\b\94j\0\0#q o9LEDXNX-\0M \0\0\17o\b\9cj\0\0#q d1Xbuepm-\0M \0\0\17o\b¤j\0\0#q StaOYiD4-\0M \0\0\17o\b¬j\0\0#q /r5zmElX-\0M \0\0\17o\b´j\0\0#q 0N6F0Tz3-\0M \0\0\17o\b¼j\0\0#q VCoRv4sI-\0M \0\0\17o\bÄj\0\0#q sFhYUIgI-\0M \0\0\17o\bÌj\0\0#q numbH4pN-\0M \0\0\17o\bÔj\0\0#q 2G+IcL7A-\0M \0\0\17o\bÜj\0\0#q BCaNu1mN-\0M \0\0\17o\bäj\0\0#q j6QkUIMA-\0M \0\0\17o\bìj\0\0#q htoR0MMP-\0M \0\0\17o\bôj\0\0#q iEUwHvdw-\0M \0\0\17o\büj\0\0#q MF50hG8Q-\0M \0\0\17o\b\ 4k\0\0#q YCTnhfkt-\0M \0\0\17o\b\fk\0\0#q UMX5FQVz-\0M \0\0\17o\b\14k\0\0#q DOdATVLQ-\0M \0\0\17o\b\1ck\0\0#q bTBOoetS-\0M \0\0\17o\b$k\0\0#q GcCjNrjg-\0M \0\0\17o\b,k\0\0#q N51GgITF-\0M \0\0\17o\b4k\0\0#q doNWnL64-\0M \0\0\17o\b<k\0\0#q lJHbNkln-\0M \0\0\17o\bDk\0\0#q JKcjAsED-\0M \0\0\17o\bLk\0\0#q 6LlEuu3z-\0M \0\0\17o\bTk\0\0#q lPY6SEci-\0M \0\0\17o\b\k\0\0#q bIy1pLUA-\0M \0\0\17o\bdk\0\0#q d0IHMRZu-\0M \0\0\17o\blk\0\0#q IwhRlzAX-\0M \0\0\17o\btk\0\0#q sU1wRK4F-\0M \0\0\17o\b|k\0\0#q 5NYIkTsb-\0M \0\0\17o\b\84k\0\0#q gaGKAOrk-\0M \0\0\17o\b\8ck\0\0#q 3mDdrs9o-\0M \0\0\17o\b\94k\0\0#q HE5vbz3e-\0M \0\0\17o\b\9ck\0\0#q O7IwqJxc-\0M \0\0\17o\b¤k\0\0#q JxDru7DP-\0M \0\0\17o\b¬k\0\0#q r5kZnfTp-\0M \0\0\17o\b´k\0\0#q XLnLVEx7-\0M \0\0\17o\b¼k\0\0#q eQEex5Vc-\0M \0\0\17o\bÄk\0\0#q 10EW/bNS-\0M \0\0\17o\bÌk\0\0#q /UN3fOWk-\0M \0\0\17o\bÔk\0\0#q QhgOwHG8-\0M \0\0\17o\bÜk\0\0#q e4Yi8HiG-\0M \0\0\17o\bäk\0\0#q e47HhLNW-\0M \0\0\17o\bìk\0\0#q wnMlMsrB-\0M \0\0\17o\bôk\0\0#q Hoa5VyAy-\0M \0\0\17o\bük\0\0#q XB8ny2xO-\0M \0\0\17o\b\ 4l\0\0#q vMcOHDgH-\0M \0\0\17o\b\fl\0\0#q b3EqkrzS-\0M \0\0\17o\b\14l\0\0#q ChHUyZmL-\0M \0\0\17o\b\1cl\0\0#q I+6hu7wI-\0M \0\0\17o\b$l\0\0#q SKUqFFKT-\0M \0\0\17o\b,l\0\0#q FWDllLro-\0M \0\0\17o\b4l\0\0#q mzIiucDw-\0M \0\0\17o\b<l\0\0#q BOQQ1kp6-\0M \0\0\17o\bDl\0\0#q KGChwrGN-\0M \0\0\17o\bLl\0\0#q IdiidKkg-\0M \0\0\17o\bTl\0\0#q 6IolNojc-\0M \0\0\17o\b\l\0\0#q rO0BeJ7r-\0M \0\0\17o\bdl\0\0#q 7kxA8TUb-\0M \0\0\17o\bll\0\0#q 1OsJ0DwX-\0M \0\0\17o\btl\0\0#q lDQCiVkW-\0M \0\0\17o\b|l\0\0#q TKjwgEQo-\0M \0\0\17o\b\84l\0\0#q LqhDMXRo-\0M \0\0\17o\b\8cl\0\0#q Qo9pGorE-\0M \0\0\17o\b\94l\0\0#q 3XPYHlVc-\0M \0\0\17o\b\9cl\0\0#q m/Fl0ZUN-\0M \0\0\17o\b¤l\0\0#q WuXAbPgx-\0M \0\0\17o\b¬l\0\0#q VowsObJt-\0M \0\0\17o\b´l\0\0#q ykwDZmd3-\0M \0\0\17o\b¼l\0\0#q Rs9kF7ov-\0M \0\0\17o\bÄl\0\0#q tgP9gQ+4-\0M \0\0\17o\bÌl\0\0#q ImoCUYDV-\0M \0\0\17o\bÔl\0\0#q bTqWeNIf-\0M \0\0\17o\bÜl\0\0#q HhQ3fcGS-\0M \0\0\17o\bäl\0\0#q ykKPKGvz-\0M \0\0\17o\bìl\0\0#q G0gw0ZET-\0M \0\0\17o\bôl\0\0#q g97odgi+-\0M \0\0\17o\bül\0\0#q CtWJvpYu-\0M \0\0\17o\b\ 4m\0\0#q 2qwoTAIs-\0M \0\0\17o\b\fm\0\0#q E9R6CGlA-\0M \0\0\17o\b\14m\0\0#q cEl9tTTw-\0M \0\0\17o\b\1cm\0\0#q ETIhk6KN-\0M \0\0\17o\b$m\0\0#q V2KAPhQL-\0M \0\0\17o\b,m\0\0#q imtCFryG-\0M \0\0\17o\b4m\0\0#q /Hiw3nYg-\0M \0\0\17o\b<m\0\0#q O3u3TfEJ-\0M \0\0\17o\bDm\0\0#q HQuFVBHi-\0M \0\0\17o\bLm\0\0#q QGsiLqgz-\0M \0\0\17o\bTm\0\0#q s4bdm1MO-\0M \0\0\17o\b\m\0\0#q 8CUwBqvD-\0M \0\0\17o\bdm\0\0#q Vp0jQlTr-\0M \0\0\17o\blm\0\0#q bg64FHW9-\0M \0\0\17o\btm\0\0#q 7NcVIgio-\0M \0\0\17o\b|m\0\0#q HQCAjzim-\0M \0\0\17o\b\84m\0\0#q 4h2byc6c-\0M \0\0\17o\b\8cm\0\0#q ANEWA7Wm-\0M \0\0\17o\b\94m\0\0#q 3xWoYIRb-\0M \0\0\17o\b\9cm\0\0#q EHeZqnzz-\0M \0\0\17o\b¤m\0\0#q DMAxmjmt-\0M \0\0\17o\b¬m\0\0#q CjoyJRko-\0M \0\0\17o\b´m\0\0#q 4E6qJSoa-\0M \0\0\17o\b¼m\0\0#q bUiR5UHY-\0M \0\0\17o\bÄm\0\0#q 4rwkhjGi-\0M \0\0\17o\bÌm\0\0#q 57nGCJQG-\0M \0\0\17o\bÔm\0\0#q yYa6EIE1-\0M \0\0\17o\bÜm\0\0#q ZkbQuFKK-\0M \0\0\17o\bäm\0\0#q xvM0KGlA-\0M \0\0\17o\bìm\0\0#q UTD2PCxz-\0M \0\0\17o\bôm\0\0#q TTr3sa2o-\0M \0\0\17o\büm\0\0#q AwP2Ie5M-\0M \0\0\17o\b\ 4n\0\0#q 1JRb4eh8-\0M \0\0\17o\b\fn\0\0#q NazCTDn7-\0M \0\0\17o\b\14n\0\0#q w1nJjXI8-\0M \0\0\17o\b\1cn\0\0#q EDCKsUAD-\0M \0\0\17o\b$n\0\0#q gQVYSIv0-\0M \0\0\17o\b,n\0\0#q oS9b+UA6-\0M \0\0\17o\b4n\0\0#q gPIs1SOi-\0M \0\0\17o\b<n\0\0#q IhCIbAer-\0M \0\0\17o\bDn\0\0#q i0sZgp2q-\0M \0\0\17o\bLn\0\0#q Cjt1qVoB-\0M \0\0\17o\bTn\0\0#q inB93WUF-\0M \0\0\17o\b\n\0\0#q d3i+GNTr-\0M \0\0\17o\bdn\0\0#q 0BMoqCtD-\0M \0\0\17o\bln\0\0#q Io66aNKI-\0M \0\0\17o\btn\0\0#q kZtiCtBF-\0M \0\0\17o\b|n\0\0#q YTxRAkbR-\0M \0\0\17o\b\84n\0\0#q GHW4E2Qa-\0M \0\0\17o\b\8cn\0\0#q wGELRMBS-\0M \0\0\17o\b\94n\0\0#q lDORfaNH-\0M \0\0\17o\b\9cn\0\0#q jJo8HetT-\0M \0\0\17o\b¤n\0\0#q IRdgB0R/-\0M \0\0\17o\b¬n\0\0#q fXAbO2dW-\0M \0\0\17o\b´n\0\0#q Jb6DfUEs-\0M \0\0\17o\b¼n\0\0#q ipYiw5A0-\0M \0\0\17o\bÄn\0\0#q GnF8Ezhv-\0M \0\0\17o\bÌn\0\0#q GlTxeCaE-\0M \0\0\17o\bÔn\0\0#q A4SjJdyi-\0M \0\0\17o\bÜn\0\0#q fLMm9GUI-\0M \0\0\17o\bän\0\0#q qQiABhBN-\0M \0\0\17o\bìn\0\0#q rSrnBJZw-\0M \0\0\17o\bôn\0\0#q cLnsUPG8-\0M \0\0\17o\bün\0\0#q AVmRARIa-\0M \0\0\17o\b\ 4o\0\0#q JRIAl2Aq-\0M \0\0\17o\b\fo\0\0#q vN8GsE1z-\0M \0\0\17o\b\14o\0\0#q gnAAG4OQ-\0M \0\0\17o\b\1co\0\0#q m/dxkQHK-\0M \0\0\17o\b$o\0\0#q oewTW3Rs-\0M \0\0\17o\b,o\0\0#q FeU7RIFD-\0M \0\0\17o\b4o\0\0#q vSeKq6tm-\0M \0\0\17o\b<o\0\0#q LIwK8gvY-\0M \0\0\17o\bDo\0\0#q W2oipkRT-\0M \0\0\17o\bLo\0\0#q wRjRc2uN-\0M \0\0\17o\bTo\0\0#q OhMZYE5y-\0M \0\0\17o\b\o\0\0#q w8o4PRld-\0M \0\0\17o\bdo\0\0#q ld0CRW1D-\0M \0\0\17o\blo\0\0#q o6zyeWGL-\0M \0\0\17o\bto\0\0#q AfbpCqPT-\0M \0\0\17o\b|o\0\0#q GDSqcoJX-\0M \0\0\17o\b\84o\0\0#q E1eKBT20-\0M \0\0\17o\b\8co\0\0#q VES/Gir1-\0M \0\0\17o\b\94o\0\0#q g0EQCpg7-\0M \0\0\17o\b\9co\0\0#q m5ZtoK5G-\0M \0\0\17o\b¤o\0\0#q ATGOZsXK-\0M \0\0\17o\b¬o\0\0#q cwCUdiYw-\0M \0\0\17o\b´o\0\0#q 78huOate-\0M \0\0\17o\b¼o\0\0#q 6CDObwFx-\0M \0\0\17o\bÄo\0\0#q CKBgXHBB-\0M \0\0\17o\bÌo\0\0#q V6vNFaO1-\0M \0\0\17o\bÔo\0\0#q koc5AG7n-\0M \0\0\17o\bÜo\0\0#q TRtcl9Sa-\0M \0\0\17o\bäo\0\0#q tzUT+2es-\0M \0\0\17o\bìo\0\0#q G3qOOQch-\0M \0\0\17o\bôo\0\0#q oqjI0MZi-\0M \0\0\17o\büo\0\0#q YEGiTyVZ-\0M \0\0\17o\b\ 4p\0\0#q p67hPaez-\0M \0\0\17o\b\fp\0\0#q 0Y0m6xKB-\0M \0\0\17o\b\14p\0\0#q zy6R5ZAO-\0M \0\0\17o\b\1cp\0\0#q 9vJiMqsh-\0M \0\0\17o\b$p\0\0#q jhrIky5H-\0M \0\0\17o\b,p\0\0#q VSaeZ5qE-\0M \0\0\17o\b4p\0\0#q yNVLWOJt-\0M \0\0\17o\b<p\0\0#q WG+4jGMG-\0M \0\0\17o\bDp\0\0#q DZuXubu+-\0M \0\0\17o\bLp\0\0#q 1BVxAySG-\0M \0\0\17o\bTp\0\0#q WyePnaGc-\0M \0\0\17o\b\p\0\0#q 7uXgXUFU-\0M \0\0\17o\bdp\0\0#q o7J3BHWd-\0M \0\0\17o\blp\0\0#q zfN0ndx9-\0M \0\0\17o\btp\0\0#q 7DRHhMuD-\0M \0\0\17o\b|p\0\0#q 3FIbtcmD-\0M \0\0\17o\b\84p\0\0#q u9FIUiHM-\0M \0\0\17o\b\8cp\0\0#q wvJzV1rl-\0M \0\0\17o\b\94p\0\0#q 7V3DAElv-\0M \0\0\17o\b\9cp\0\0#q IjuzuAN5-\0M \0\0\17o\b¤p\0\0#q aVFegjAg-\0M \0\0\17o\b¬p\0\0#q 8oRCh3gt-\0M \0\0\17o\b´p\0\0#q Og4EUlSN-\0M \0\0\17o\b¼p\0\0#q Q+g+YCsN-\0M \0\0\17o\bÄp\0\0#q L0DFoWiB-\0M \0\0\17o\bÌp\0\0#q 8GhSYOOE-\0M \0\0\17o\bÔp\0\0#q 2b5zZHnF-\0M \0\0\17o\bÜp\0\0#q EUAwcmIW-\0M \0\0\17o\bäp\0\0#q CMHBxMSo-\0M \0\0\17o\bìp\0\0#q JhWMWrtE-\0M \0\0\17o\bôp\0\0#q 4EJmAmGL-\0M \0\0\17o\büp\0\0#q hxoTvSHC-\0M \0\0\17o\b\ 4q\0\0#q ijrgpjFw-\0M \0\0\17o\b\fq\0\0#q YaJ00WnS-\0M \0\0\17o\b\14q\0\0#q Jr+RmC5j-\0M \0\0\17o\b\1cq\0\0#q FqtEbUiI-\0M \0\0\17o\b$q\0\0#q 3kQFaXgg-\0M \0\0\17o\b,q\0\0#q 7vKLYF/f-\0M \0\0\17o\b4q\0\0#q BgwaV+En-\0M \0\0\17o\b<q\0\0#q Rk9XQKQP-\0M \0\0\17o\bDq\0\0#q OgkBdnA8-\0M \0\0\17o\bLq\0\0#q kKDUtNQ2-\0M \0\0\17o\bTq\0\0#q 8kWcA2LC-\0M \0\0\17o\b\q\0\0#q iCujWK5n-\0M \0\0\17o\bdq\0\0#q Ssg+u2au-\0M \0\0\17o\blq\0\0#q 4siUCIIu-\0M \0\0\17o\btq\0\0#q FgTFpAqi-\0M \0\0\17o\b|q\0\0#q DAnZW7L6-\0M \0\0\17o\b\84q\0\0#q 3Tx5sg/t-\0M \0\0\17o\b\8cq\0\0#q IR5eMo5H-\0M \0\0\17o\b\94q\0\0#q INaaOXDM-\0M \0\0\17o\b\9cq\0\0#q rHyG8ytg-\0M \0\0\17o\b¤q\0\0#q +NvLtlHB-\0M \0\0\17o\b¬q\0\0#q kBo9kRnr-\0M \0\0\17o\b´q\0\0#q KYt8/qyV-\0M \0\0\17o\b¼q\0\0#q qWjj5VEq-\0M \0\0\17o\bÄq\0\0#q Vy3GpUqV-\0M \0\0\17o\bÌq\0\0#q hixKBqJG-\0M \0\0\17o\bÔq\0\0#q zkfhHgoF-\0M \0\0\17o\bÜq\0\0#q l/X1yrlE-\0M \0\0\17o\bäq\0\0#q scB5vLEA-\0M \0\0\17o\bìq\0\0#q KPAYyGQR-\0M \0\0\17o\bôq\0\0#q irBKEZm6-\0M \0\0\17o\büq\0\0#q RZfA9cJG-\0M \0\0\17o\b\ 4r\0\0#q IMRHO5ca-\0M \0\0\17o\b\fr\0\0#q CEW/DnIy-\0M \0\0\17o\b\14r\0\0#q naC2XohJ-\0M \0\0\17o\b\1cr\0\0#q QkB3yhFr-\0M \0\0\17o\b$r\0\0#q MFq3qxHJ-\0M \0\0\17o\b,r\0\0#q 4+QOtEUb-\0M \0\0\17o\b4r\0\0#q 2wG1dJBD-\0M \0\0\17o\b<r\0\0#q DTr2sZrv-\0M \0\0\17o\bDr\0\0#q J4RcRMbT-\0M \0\0\17o\bLr\0\0#q qH2Jdooa-\0M \0\0\17o\bTr\0\0#q xt0NjDiS-\0M \0\0\17o\b\r\0\0#q cucKju2Y-\0M \0\0\17o\bdr\0\0#q zYaBBzvU-\0M \0\0\17o\blr\0\0#q kkz7Rs5Q-\0M \0\0\17o\btr\0\0#q xX2gwjkd-\0M \0\0\17o\b|r\0\0#q YD4UtQub-\0M \0\0\17o\b\84r\0\0#q OAigAFmX-\0M \0\0\17o\b\8cr\0\0#q wNXZ4di5-\0M \0\0\17o\b\94r\0\0#q 9KNNkgta-\0M \0\0\17o\b\9cr\0\0#q pzDO5Ze1-\0M \0\0\17o\b¤r\0\0#q RNDg3lGl-\0M \0\0\17o\b¬r\0\0#q zmLiBgSs-\0M \0\0\17o\b´r\0\0#q l48e7xxr-\0M \0\0\17o\b¼r\0\0#q PEEVA8Di-\0M \0\0\17o\bÄr\0\0#q gDOnCoWC-\0M \0\0\17o\bÌr\0\0#q NyRTfSav-\0M \0\0\17o\bÔr\0\0#q pnxLQ91R-\0M \0\0\17o\bÜr\0\0#q qpqq7DJK-\0M \0\0\17o\bär\0\0#q oyD2FuCL-\0M \0\0\17o\bìr\0\0#q kgrmASAS-\0M \0\0\17o\bôr\0\0#q JuqhEdiv-\0M \0\0\17o\bür\0\0#q R0jzeV9C-\0M \0\0\17o\b\ 4s\0\0#q ZNSuy7ox-\0M \0\0\17o\b\fs\0\0#q U34bo3ZB-\0M \0\0\17o\b\14s\0\0#q M43NBAmh-\0M \0\0\17o\b\1cs\0\0#q DigDK71F-\0M \0\0\17o\b$s\0\0#q QEKZjWNa-\0M \0\0\17o\b,s\0\0#q enQQjAhU-\0M \0\0\17o\b4s\0\0#q wtFmR3di-\0M \0\0\17o\b<s\0\0#q UG9KvqSE-\0M \0\0\17o\bDs\0\0#q ILrtcrnK-\0M \0\0\17o\bLs\0\0#q JYMYsRyZ-\0M \0\0\17o\bTs\0\0#q AMUMhxGC-\0M \0\0\17o\b\s\0\0#q 3SmHeUdd-\0M \0\0\17o\bds\0\0#q C8aQDaaj-\0M \0\0\17o\bls\0\0#q NAGHbXfM-\0M \0\0\17o\bts\0\0#q JnKQ3Io5-\0M \0\0\17o\b|s\0\0#q u809jIeO-\0M \0\0\17o\b\84s\0\0#q AiCmGwEc-\0M \0\0\17o\b\8cs\0\0#q SGxFf2Mh-\0M \0\0\17o\b\94s\0\0#q 3Ck7Q8Nm-\0M \0\0\17o\b\9cs\0\0#q AQs8MQPG-\0M \0\0\17o\b¤s\0\0#q wLfoDFgf-\0M \0\0\17o\b¬s\0\0#q OCTl3U4o-\0M \0\0\17o\b´s\0\0#q 3sLxM3kk-\0M \0\0\17o\b¼s\0\0#q QktElpUO-\0M \0\0\17o\bÄs\0\0#q IQi8KGes-\0M \0\0\17o\bÌs\0\0#q JJoQV1lF-\0M \0\0\17o\bÔs\0\0#q dBdVKBU8-\0M \0\0\17o\bÜs\0\0#q i65cXjg3-\0M \0\0\17o\bäs\0\0#q ziOG1RVy-\0M \0\0\17o\bìs\0\0#q GUA5EA1B-\0M \0\0\17o\bôs\0\0#q z2PdlZvX-\0M \0\0\17o\büs\0\0#q iVd3sCFz-\0M \0\0\17o\b\ 4t\0\0#q pi7ZkuuA-\0M \0\0\17o\b\ft\0\0#q okzCH5e6-\0M \0\0\17o\b\14t\0\0#q 0sadzfeQ-\0M \0\0\17o\b\1ct\0\0#q CtFe9t3j-\0M \0\0\17o\b$t\0\0#q HrFGwPRH-\0M \0\0\17o\b,t\0\0#q JzHlWiIz-\0M \0\0\17o\b4t\0\0#q EmgstR6I-\0M \0\0\17o\b<t\0\0#q Y+MDjh98-\0M \0\0\17o\bDt\0\0#q XwynDQJ9-\0M \0\0\17o\bLt\0\0#q BcV2odee-\0M \0\0\17o\bTt\0\0#q cqlvFnFC-\0M \0\0\17o\b\t\0\0#q /t9u3NHj-\0M \0\0\17o\bdt\0\0#q nIqGa7bY-\0M \0\0\17o\blt\0\0#q ikVnM+yf-\0M \0\0\17o\btt\0\0#q 5vO/or7f-\0M \0\0\17o\b|t\0\0#q vUJSIr37-\0M \0\0\17o\b\84t\0\0#q 9aG/2n64-\0M \0\0\17o\b\8ct\0\0#q /p2BO0/o-\0M \0\0\17o\b\94t\0\0#q 9sxrOt3v-\0M \0\0\17o\b\9ct\0\0#q Ipd9x5yv-\0M \0\0\17o\b¤t\0\0#q c+etFPve-\0M \0\0\17o\b¬t\0\0#q VHuePsUB-\0M \0\0\17o\b´t\0\0#q 3DIaidl4-\0M \0\0\17o\b¼t\0\0#q CxRx010k-\0M \0\0\17o\bÄt\0\0#q 46whEN0I-\0M \0\0\17o\bÌt\0\0#q g9O0ug50-\0M \0\0\17o\bÔt\0\0#q 6JYDlFzQ-\0M \0\0\17o\bÜt\0\0#q buZEuMBA-\0M \0\0\17o\bät\0\0#q WvO6IBV8-\0M \0\0\17o\bìt\0\0#q LQl756E4-\0M \0\0\17o\bôt\0\0#q B76UHCsG-\0M \0\0\17o\büt\0\0#q LzEOHBSd-\0M \0\0\17o\b\ 4u\0\0#q +XvXk9WI-\0M \0\0\17o\b\fu\0\0#q YMbfg56n-\0M \0\0\17o\b\14u\0\0#q dwHELY0v-\0M \0\0\17o\b\1cu\0\0#q RDPXRQ99-\0M \0\0\17o\b$u\0\0#q d6bL5OdJ-\0M \0\0\17o\b,u\0\0#q IUUzbJDq-\0M \0\0\17o\b4u\0\0#q WMfi11tQ-\0M \0\0\17o\b<u\0\0#q ANmXKblI-\0M \0\0\17o\bDu\0\0#q sgFamLRx-\0M \0\0\17o\bLu\0\0#q GwxzOeJQ-\0M \0\0\17o\bTu\0\0#q dSQi75cW-\0M \0\0\17o\b\u\0\0#q KugYgDTZ-\0M \0\0\17o\bdu\0\0#q 3sYwfDRy-\0M \0\0\17o\blu\0\0#q oBTFJzhN-\0M \0\0\17o\btu\0\0#q ZdKia3kO-\0M \0\0\17o\b|u\0\0#q BcotQFEQ-\0M \0\0\17o\b\84u\0\0#q CbS2nCSC-\0M \0\0\17o\b\8cu\0\0#q TtEiEunc-\0M \0\0\17o\b\94u\0\0#q q5ywL4jC-\0M \0\0\17o\b\9cu\0\0#q uAjum3CY-\0M \0\0\17o\b¤u\0\0#q QzZnvAEl-\0M \0\0\17o\b¬u\0\0#q Vp2RRCOS-\0M \0\0\17o\b´u\0\0#q GjCgOCgk-\0M \0\0\17o\b¼u\0\0#q 5JdEY3Yq-\0M \0\0\17o\bÄu\0\0#q tbGzSJKS-\0M \0\0\17o\bÌu\0\0#q UdKYzo16-\0M \0\0\17o\bÔu\0\0#q eoPENGLo-\0M \0\0\17o\bÜu\0\0#q 0phETPJZ-\0M \0\0\17o\bäu\0\0#q 6OIkAK9m-\0M \0\0\17o\bìu\0\0#q +kPCOQTX-\0M \0\0\17o\bôu\0\0#q KwGmFeO3-\0M \0\0\17o\büu\0\0#q Qo9mYJjm-\0M \0\0\17o\b\ 4v\0\0#q t47wpZ4n-\0M \0\0\17o\b\fv\0\0#q OUCpkBXx-\0M \0\0\17o\b\14v\0\0#q s5+EADfP-\0M \0\0\17o\b\1cv\0\0#q u0KwMIEg-\0M \0\0\17o\b$v\0\0#q yIE6Rn15-\0M \0\0\17o\b,v\0\0#q vJ9n2j32-\0M \0\0\17o\b4v\0\0#q MTvEFNRG-\0M \0\0\17o\b<v\0\0#q +O5FKG2l-\0M \0\0\17o\bDv\0\0#q rAqyh+Tf-\0M \0\0\17o\bLv\0\0#q Rzh4eWFJ-\0M \0\0\17o\bTv\0\0#q aDwsQTEa-\0M \0\0\17o\b\v\0\0#q SEdaoYgZ-\0M \0\0\17o\bdv\0\0#q 1LlWfjUA-\0M \0\0\17o\blv\0\0#q eC8q2dWn-\0M \0\0\17o\btv\0\0#q J0LQ8IrF-\0M \0\0\17o\b|v\0\0#q g6vYcrdp-\0M \0\0\17o\b\84v\0\0#q rGOfYLx4-\0M \0\0\17o\b\8cv\0\0#q 1uAB00NB-\0M \0\0\17o\b\94v\0\0#q rexzAOhx-\0M \0\0\17o\b\9cv\0\0#q EV0hJgfd-\0M \0\0\17o\b¤v\0\0#q nNpAR2ye-\0M \0\0\17o\b¬v\0\0#q tGXXTyUK-\0M \0\0\17o\b´v\0\0#q 7POeMFSw-\0M \0\0\17o\b¼v\0\0#q UcyK0k54-\0M \0\0\17o\bÄv\0\0#q TYZ3BFZc-\0M \0\0\17o\bÌv\0\0#q 82vsHiaF-\0M \0\0\17o\bÔv\0\0#q 0rspFEpT-\0M \0\0\17o\bÜv\0\0#q TqjrGMoh-\0M \0\0\17o\bäv\0\0#q OJwo131k-\0M \0\0\17o\bìv\0\0#q TcrGNoxl-\0M \0\0\17o\bôv\0\0#q 7VJWqRTY-\0M \0\0\17o\büv\0\0#q NtAAJC7V-\0M \0\0\17o\b\ 4w\0\0#q +xyyGxzg-\0M \0\0\17o\b\fw\0\0#q D6IYN9Wt-\0M \0\0\17o\b\14w\0\0#q IiQNBELy-\0M \0\0\17o\b\1cw\0\0#q UK0RY7CB-\0M \0\0\17o\b$w\0\0#q DsyDhV4e-\0M \0\0\17o\b,w\0\0#q NdSOX7wM-\0M \0\0\17o\b4w\0\0#q OkXgGQkR-\0M \0\0\17o\b<w\0\0#q ysCNmAEP-\0M \0\0\17o\bDw\0\0#q pdYUaOma-\0M \0\0\17o\bLw\0\0#q XGtvRVaK-\0M \0\0\17o\bTw\0\0#q BTpnHMGX-\0M \0\0\17o\b\w\0\0#q sHRzNvcH-\0M \0\0\17o\bdw\0\0#q trkV4qMS-\0M \0\0\17o\blw\0\0#q 3LQYC7AF-\0M \0\0\17o\btw\0\0#q DRgeIQXw-\0M \0\0\17o\b|w\0\0#q 4+CQaigK-\0M \0\0\17o\b\84w\0\0#q JZLolFEe-\0M \0\0\17o\b\8cw\0\0#q ynETG9Vk-\0M \0\0\17o\b\94w\0\0#q DEWb3PCL-\0M \0\0\17o\b\9cw\0\0#q QWZvtb1u-\0M \0\0\17o\b¤w\0\0#q yQ9OCb2l-\0M \0\0\17o\b¬w\0\0#q jqdYeYVQ-\0M \0\0\17o\b´w\0\0#q UVrlhSmZ-\0M \0\0\17o\b¼w\0\0#q CCLoCzeq-\0M \0\0\17o\bÄw\0\0#q 3qihdKlC-\0M \0\0\17o\bÌw\0\0#q FCVu9Gdt-\0M \0\0\17o\bÔw\0\0#q anaDaeoe-\0M \0\0\17o\bÜw\0\0#q e8Gh0XfV-\0M \0\0\17o\bäw\0\0#q 746AG0mF-\0M \0\0\17o\bìw\0\0#q R3grOkNa-\0M \0\0\17o\bôw\0\0#q EV4oAxcw-\0M \0\0\17o\büw\0\0#q ugi+5mLa-\0M \0\0\17o\b\ 4x\0\0#q vDgNyeab-\0M \0\0\17o\b\fx\0\0#q aPNUAdaR-\0M \0\0\17o\b\14x\0\0#q x6GueEE8-\0M \0\0\17o\b\1cx\0\0#q UgBraaEP-\0M \0\0\17o\b$x\0\0#q EBA90Hd0-\0M \0\0\17o\b,x\0\0#q IoiYKzzL-\0M \0\0\17o\b4x\0\0#q eyC+QP86-\0M \0\0\17o\b<x\0\0#q S24oNGgP-\0M \0\0\17o\bDx\0\0#q N7VEZLkc-\0M \0\0\17o\bLx\0\0#q 3KKB9yaO-\0M \0\0\17o\bTx\0\0#q 3suM7dsq-\0M \0\0\17o\b\x\0\0#q IyXBAyaP-\0M \0\0\17o\bdx\0\0#q JIVawzuy-\0M \0\0\17o\blx\0\0#q Ny8Uis1T-\0M \0\0\17o\btx\0\0#q N6MwDW+S-\0M \0\0\17o\b|x\0\0#q c8Jp63uy-\0M \0\0\17o\b\84x\0\0#q ww2NEo+W-\0M \0\0\17o\b\8cx\0\0#q pXWbpGdz-\0M \0\0\17o\b\94x\0\0#q mc2qkqcY-\0M \0\0\17o\b\9cx\0\0#q 5CJNMqip-\0M \0\0\17o\b¤x\0\0#q mJnZ7lPX-\0M \0\0\17o\b¬x\0\0#q MBYk5A0C-\0M \0\0\17o\b´x\0\0#q O8LEGgRC-\0M \0\0\17o\b¼x\0\0#q LCyFEGqD-\0M \0\0\17o\bÄx\0\0#q ni6GFwh4-\0M \0\0\17o\bÌx\0\0#q ISrK96I0-\0M \0\0\17o\bÔx\0\0#q lzDiiuVY-\0M \0\0\17o\bÜx\0\0#q cpktYea5-\0M \0\0\17o\bäx\0\0#q V0fSBQQ4-\0M \0\0\17o\bìx\0\0#q HLSCYxVJ-\0M \0\0\17o\bôx\0\0#q EIpIEG1i-\0M \0\0\17o\büx\0\0#q vgPWGQ9z-\0M \0\0\17o\b\ 4y\0\0#q RCT5pzks-\0M \0\0\17o\b\fy\0\0#q lUdNyhMq-\0M \0\0\17o\b\14y\0\0#q yFLVbXZ+-\0M \0\0\17o\b\1cy\0\0#q dbaAL5Mo-\0M \0\0\17o\b$y\0\0#q lnGQ0f2Y-\0M \0\0\17o\b,y\0\0#q 0lbErTW9-\0M \0\0\17o\b4y\0\0#q N9zvnf1P-\0M \0\0\17o\b<y\0\0#q L7QhIQj5-\0M \0\0\17o\bDy\0\0#q Qqg9+9Ze-\0M \0\0\17o\bLy\0\0#q cP2k9FIf-\0M \0\0\17o\bTy\0\0#q AnPPeCQE-\0M \0\0\17o\b\y\0\0#q emCDu+Pp-\0M \0\0\17o\bdy\0\0#q ovnNLGt2-\0M \0\0\17o\bly\0\0#q xn12fm+7-\0M \0\0\17o\bty\0\0#q k++eYUe5-\0M \0\0\17o\b|y\0\0#q zI3I85qK-\0M \0\0\17o\b\84y\0\0#q YoJjmjnl-\0M \0\0\17o\b\8cy\0\0#q nmGtQxhZ-\0M \0\0\17o\b\94y\0\0#q 8OrjWLs2-\0M \0\0\17o\b\9cy\0\0#q 9chu705l-\0M \0\0\17o\b¤y\0\0#q yXsj00pO-\0M \0\0\17o\b¬y\0\0#q 0r01isVa-\0M \0\0\17o\b´y\0\0#q NX6Hs8cR-\0M \0\0\17o\b¼y\0\0#q tAzPRBUp-\0M \0\0\17o\bÄy\0\0#q l8Xo2aUU-\0M \0\0\17o\bÌy\0\0#q RMFSH1bM-\0M \0\0\17o\bÔy\0\0#q AjgAzlpf-\0M \0\0\17o\bÜy\0\0#q CL5AHePj-\0M \0\0\17o\bäy\0\0#q DzgQW5sE-\0M \0\0\17o\bìy\0\0#q zApAHGDa-\0M \0\0\17o\bôy\0\0#q jlxaEJMR-\0M \0\0\17o\büy\0\0#q ENKpBhNA-\0M \0\0\17o\b\ 4z\0\0#q m92ON0Jo-\0M \0\0\17o\b\fz\0\0#q cKOslyv1-\0M \0\0\17o\b\14z\0\0#q CmpWvaQT-\0M \0\0\17o\b\1cz\0\0#q Dp2e7sgw-\0M \0\0\17o\b$z\0\0#q MWOxFETV-\0M \0\0\17o\b,z\0\0#q edrRILOe-\0M \0\0\17o\b4z\0\0#q cthi4+kH-\0M \0\0\17o\b<z\0\0#q bXO7UCGY-\0M \0\0\17o\bDz\0\0#q ShLGHMPL-\0M \0\0\17o\bLz\0\0#q BFyJnkln-\0M \0\0\17o\bTz\0\0#q bddyTMMg-\0M \0\0\17o\b\z\0\0#q m68FBsVz-\0M \0\0\17o\bdz\0\0#q HACN16/Q-\0M \0\0\17o\blz\0\0#q BHAADr0h-\0M \0\0\17o\btz\0\0#q yZ57ivEs-\0M \0\0\17o\b|z\0\0#q ZjdscOB4-\0M \0\0\17o\b\84z\0\0#q MukOoq75-\0M \0\0\17o\b\8cz\0\0#q 3Sm6oznx-\0M \0\0\17o\b\94z\0\0#q vBWSoYDs-\0M \0\0\17o\b\9cz\0\0#q 0mM85hVF-\0M \0\0\17o\b¤z\0\0#q 3AUJAQhI-\0M \0\0\17o\b¬z\0\0#q C+IAnAQ0-\0M \0\0\17o\b´z\0\0#q nYeBojTt-\0M \0\0\17o\b¼z\0\0#q DDu9fb2Z-\0M \0\0\17o\bÄz\0\0#q gfOvvEtI-\0M \0\0\17o\bÌz\0\0#q Ir4U3SSA-\0M \0\0\17o\bÔz\0\0#q bviqYgJS-\0M \0\0\17o\bÜz\0\0#q p4BnTGwb-\0M \0\0\17o\bäz\0\0#q atDG9A3m-\0M \0\0\17o\bìz\0\0#q GF9hEO+h-\0M \0\0\17o\bôz\0\0#q cZwvmsmK-\0M \0\0\17o\büz\0\0#q w4IUUYSm-\0M \0\0\17o\b\ 4{\0\0#q 04b969eJ-\0M \0\0\17o\b\f{\0\0#q yhd9UFNe-\0M \0\0\17o\b\14{\0\0#q 3iSa87zn-\0M \0\0\17o\b\1c{\0\0#q SZ8uMCA9-\0M \0\0\17o\b${\0\0#q unXVOthw-\0M \0\0\17o\b,{\0\0#q gCtrI694-\0M \0\0\17o\b4{\0\0#q ULz3RAeR-\0M \0\0\17o\b<{\0\0#q PJ0dGGH4-\0M \0\0\17o\bD{\0\0#q cQq8+E1k-\0M \0\0\17o\bL{\0\0#q N2XKOIV8-\0M \0\0\17o\bT{\0\0#q b7t0k3pI-\0M \0\0\17o\b\{\0\0#q nQ2SYhUa-\0M \0\0\17o\bd{\0\0#q CSxLkRMI-\0M \0\0\17o\bl{\0\0#q bumyj4sT-\0M \0\0\17o\bt{\0\0#q Vz8/OCjn-\0M \0\0\17o\b|{\0\0#q FqV6iuYC-\0M \0\0\17o\b\84{\0\0#q rEQETZhg-\0M \0\0\17o\b\8c{\0\0#q aTaO1M91-\0M \0\0\17o\b\94{\0\0#q eVU+0dN5-\0M \0\0\17o\b\9c{\0\0#q lIKE0hY+-\0M \0\0\17o\b¤{\0\0#q 6ZhdH8xP-\0M \0\0\17o\b¬{\0\0#q atSu9IGj-\0M \0\0\17o\b´{\0\0#q iSBRxdlY-\0M \0\0\17o\b¼{\0\0#q hnVgx3DM-\0M \0\0\17o\bÄ{\0\0#q 3OmAAPUh-\0M \0\0\17o\bÌ{\0\0#q oivOGZEA-\0M \0\0\17o\bÔ{\0\0#q 50UKDKlB-\0M \0\0\17o\bÜ{\0\0#q GKmuKZHM-\0M \0\0\17o\bä{\0\0#q 7ZnaIrey-\0M \0\0\17o\bì{\0\0#q 9kZzbWmT-\0M \0\0\17o\bô{\0\0#q Bux5hLri-\0M \0\0\17o\bü{\0\0#q aXv3sCjh-\0M \0\0\17o\b\ 4|\0\0#q 3RSQN2Km-\0M \0\0\17o\b\f|\0\0#q seQirWUX-\0M \0\0\17o\b\14|\0\0#q ffY2PUwR-\0M \0\0\17o\b\1c|\0\0#q 4ix73JkV-\0M \0\0\17o\b$|\0\0#q 2Xnrhe5w-\0M \0\0\17o\b,|\0\0#q c7ATvBMN-\0M \0\0\17o\b4|\0\0#q CGsQ9s1j-\0M \0\0\17o\b<|\0\0#q t3XLtQAW-\0M \0\0\17o\bD|\0\0#q 0gIAsK7i-\0M \0\0\17o\bL|\0\0#q GYMN4XZo-\0M \0\0\17o\bT|\0\0#q BFGRARR6-\0M \0\0\17o\b\|\0\0#q qCjNIi9R-\0M \0\0\17o\bd|\0\0#q gC+TuutU-\0M \0\0\17o\bl|\0\0#q Gw5urUrW-\0M \0\0\17o\bt|\0\0#q 9IBs3WmZ-\0M \0\0\17o\b||\0\0#q h5j0JAQt-\0M \0\0\17o\b\84|\0\0#q ReBHKKCw-\0M \0\0\17o\b\8c|\0\0#q Ao1BYPjd-\0M \0\0\17o\b\94|\0\0#q MlMyTuA3-\0M \0\0\17o\b\9c|\0\0#q z3s5Hrzx-\0M \0\0\17o\b¤|\0\0#q CD7DNUpI-\0M \0\0\17o\b¬|\0\0#q 9NKK1QCb-\0M \0\0\17o\b´|\0\0#q U3u6DYiK-\0M \0\0\17o\b¼|\0\0#q aA7sOUSY-\0M \0\0\17o\bÄ|\0\0#q FvgSL2GV-\0M \0\0\17o\bÌ|\0\0#q 56raInCN-\0M \0\0\17o\bÔ|\0\0#q ge3z1vok-\0M \0\0\17o\bÜ|\0\0#q DQ4oBA7D-\0M \0\0\17o\bä|\0\0#q VZChDpWQ-\0M \0\0\17o\bì|\0\0#q 6HOcrY+5-\0M \0\0\17o\bô|\0\0#q Qi5tmkDU-\0M \0\0\17o\bü|\0\0#q UFPEQNwV-\0M \0\0\17o\b\ 4}\0\0#q KiIBqChg-\0M \0\0\17o\b\f}\0\0#q igm4JIiX-\0M \0\0\17o\b\14}\0\0#q EAJEBKiK-\0M \0\0\17o\b\1c}\0\0#q BIihiUjI-\0M \0\0\17o\b$}\0\0#q dguH3Txt-\0M \0\0\17o\b,}\0\0#q EV8CLnCZ-\0M \0\0\17o\b4}\0\0#q ZJXuZrns-\0M \0\0\17o\b<}\0\0#q 5yGzNcQq-\0M \0\0\17o\bD}\0\0#q b5nRD8Kf-\0M \0\0\17o\bL}\0\0#q Ejj1uLim-\0M \0\0\17o\bT}\0\0#q HfFsXzlU-\0M \0\0\17o\b\}\0\0#q Zzvk7zxY-\0M \0\0\17o\bd}\0\0#q PeGzkRdg-\0M \0\0\17o\bl}\0\0#q YzYoe7Nc-\0M \0\0\17o\bt}\0\0#q 34mq1NfS-\0M \0\0\17o\b|}\0\0#q 0+Tpc572-\0M \0\0\17o\b\84}\0\0#q vBToIi+h-\0M \0\0\17o\b\8c}\0\0#q NC8Ksk0w-\0M \0\0\17o\b\94}\0\0#q ShGEgp3j-\0M \0\0\17o\b\9c}\0\0#q Ot0s2159-\0M \0\0\17o\b¤}\0\0#q erxfPx1e-\0M \0\0\17o\b¬}\0\0#q Tb02DQXS-\0M \0\0\17o\b´}\0\0#q uDB5AkTV-\0M \0\0\17o\b¼}\0\0#q TpTmMjNg-\0M \0\0\17o\bÄ}\0\0#q cOdrKEzr-\0M \0\0\17o\bÌ}\0\0#q tc4aYgDJ-\0M \0\0\17o\bÔ}\0\0#q qgdKhmhE-\0M \0\0\17o\bÜ}\0\0#q 3HZulPmA-\0M \0\0\17o\bä}\0\0#q HB7632oF-\0M \0\0\17o\bì}\0\0#q lcTlmCvK-\0M \0\0\17o\bô}\0\0#q gosDR7ft-\0M \0\0\17o\bü}\0\0#q 7TOgZfTY-\0M \0\0\17o\b\ 4~\0\0#q JwR7AXuW-\0M \0\0\17o\b\f~\0\0#q /S8+gIFe-\0M \0\0\17o\b\14~\0\0#q KNjkv3u7-\0M \0\0\17o\b\1c~\0\0#q oLzAyBFi-\0M \0\0\17o\b$~\0\0#q IY4bJOh4-\0M \0\0\17o\b,~\0\0#q OuYdqgOI-\0M \0\0\17o\b4~\0\0#q WvESJAdR-\0M \0\0\17o\b<~\0\0#q UwkRH0TB-\0M \0\0\17o\bD~\0\0#q zeSHfdN6-\0M \0\0\17o\bL~\0\0#q Bz4E9oSS-\0M \0\0\17o\bT~\0\0#q CWPhUXvD-\0M \0\0\17o\b\~\0\0#q kFmbZ2uS-\0M \0\0\17o\bd~\0\0#q LokHIEKe-\0M \0\0\17o\bl~\0\0#q nMqeTFXg-\0M \0\0\17o\bt~\0\0#q g3poKBEk-\0M \0\0\17o\b|~\0\0#q 9zF2SbQh-\0M \0\0\17o\b\84~\0\0#q Jap4uGJJ-\0M \0\0\17o\b\8c~\0\0#q FC6V1rXo-\0M \0\0\17o\b\94~\0\0#q CFhRw7Yc-\0M \0\0\17o\b\9c~\0\0#q nMjkezOE-\0M \0\0\17o\b¤~\0\0#q ULe98ME6-\0M \0\0\17o\b¬~\0\0#q Ds0IYzER-\0M \0\0\17o\b´~\0\0#q WbF33DHN-\0M \0\0\17o\b¼~\0\0#q cyL7qBna-\0M \0\0\17o\bÄ~\0\0#q eKKU8Wx9-\0M \0\0\17o\bÌ~\0\0#q AYMaYwHM-\0M \0\0\17o\bÔ~\0\0#q mO44OFPK-\0M \0\0\17o\bÜ~\0\0#q 1nebx24P-\0M \0\0\17o\bä~\0\0#q dpQEPFOI-\0M \0\0\17o\bì~\0\0#q OCGGRgnf-\0M \0\0\17o\bô~\0\0#q bPFFecB7-\0M \0\0\17o\bü~\0\0#q CSMybA7N-\0M \0\0\17o\b\ 4\7f\0\0#q NoCJdWkq-\0M \0\0\17o\b\f\7f\0\0#q A6uxgQHT-\0M \0\0\17o\b\14\7f\0\0#q SlzjN02j-\0M \0\0\17o\b\1c\7f\0\0#q fYhsKEJK-\0M \0\0\17o\b$\7f\0\0#q fK3grm8I-\0M \0\0\17o\b,\7f\0\0#q X6/ZCr04-\0M \0\0\17o\b4\7f\0\0#q RBTyJ2sb-\0M \0\0\17o\b<\7f\0\0#q uCdybNeE-\0M \0\0\17o\bD\7f\0\0#q ICJ26MbJ-\0M \0\0\17o\bL\7f\0\0#q jeDS6wgq-\0M \0\0\17o\bT\7f\0\0#q PaR9ormf-\0M \0\0\17o\b\\7f\0\0#q dmFDLWdB-\0M \0\0\17o\bd\7f\0\0#q F0bbY221-\0M \0\0\17o\bl\7f\0\0#q 2EiKqJfX-\0M \0\0\17o\bt\7f\0\0#q chQkdNNX-\0M \0\0\17o\b|\7f\0\0#q rLktUifq-\0M \0\0\17o\b\84\7f\0\0#q XfCq84+8-\0M \0\0\17o\b\8c\7f\0\0#q Z6VhYN5i-\0M \0\0\17o\b\94\7f\0\0#q 5hktLGeD-\0M \0\0\17o\b\9c\7f\0\0#q vDyUvWWA-\0M \0\0\17o\b¤\7f\0\0#q s27y4SHH-\0M \0\0\17o\b¬\7f\0\0#q MOtg0Rag-\0M \0\0\17o\b´\7f\0\0#q 4RHHJZJz-\0M \0\0\17o\b¼\7f\0\0#q JpVzqEyp-\0M \0\0\17o\bÄ\7f\0\0#q uBMu2xKI-\0M \0\0\17o\bÌ\7f\0\0#q MQEgIgDM-\0M \0\0\17o\bÔ\7f\0\0#q NB440aFx-\0M \0\0\17o\bÜ\7f\0\0#q BiGgVIhd-\0M \0\0\17o\bä\7f\0\0#q jaNkyK8R-\0M \0\0\17o\bì\7f\0\0#q RKsepNlm-\0M \0\0\17o\bô\7f\0\0#q wLGE3pI5-\0M \0\0\17o\bü\7f\0\0#q dmBEqgxM-\0M \0\0\17o\b\ 4\80\0\0#q dV0KaHO8-\0M \0\0\17o\b\f\80\0\0#q HhyQ2xG2-\0M \0\0\17o\b\14\80\0\0#q KGDGNoGz-\0M \0\0\17o\b\1c\80\0\0#q Bt7biE+k-\0M \0\0\17o\b$\80\0\0#q Q6Bod7WX-\0M \0\0\17o\b,\80\0\0#q ByC2xtI4-\0M \0\0\17o\b4\80\0\0#q zTaLsEoG-\0M \0\0\17o\b<\80\0\0#q d3XlmZdy-\0M \0\0\17o\bD\80\0\0#q lWF1alnb-\0M \0\0\17o\bL\80\0\0#q M69mJMgn-\0M \0\0\17o\bT\80\0\0#q kxqru4Oo-\0M \0\0\17o\b\\80\0\0#q gy+Ri7zg-\0M \0\0\17o\bd\80\0\0#q qVzMxct3-\0M \0\0\17o\bl\80\0\0#q GGZgXGSd-\0M \0\0\17o\bt\80\0\0#q kzJjhyAu-\0M \0\0\17o\b|\80\0\0#q E2PZ723D-\0M \0\0\17o\b\84\80\0\0#q JwTyMnjh-\0M \0\0\17o\b\8c\80\0\0#q l3tHY5VD-\0M \0\0\17o\b\94\80\0\0#q pUieCoJm-\0M \0\0\17o\b\9c\80\0\0#q SC8uhRWO-\0M \0\0\17o\b¤\80\0\0#q sIvHrs3I-\0M \0\0\17o\b¬\80\0\0#q cXRWXW5d-\0M \0\0\17o\b´\80\0\0#q Av7/778f-\0M \0\0\17o\b¼\80\0\0#q UJpA9gUV-\0M \0\0\17o\bÄ\80\0\0#q tiDse9fX-\0M \0\0\17o\bÌ\80\0\0#q eLqjFjg9-\0M \0\0\17o\bÔ\80\0\0#q tC9YHmeT-\0M \0\0\17o\bÜ\80\0\0#q lFWicKAU-\0M \0\0\17o\bä\80\0\0#q pOimCqgE-\0M \0\0\17o\bì\80\0\0#q tGlSNGcp-\0M \0\0\17o\bô\80\0\0#q e3u66YHC-\0M \0\0\17o\bü\80\0\0#q 5aNSJLww-\0M \0\0\17o\b\ 4\81\0\0#q 2kUhcBCo-\0M \0\0\17o\b\f\81\0\0#q sQJBzkAY-\0M \0\0\17o\b\14\81\0\0#q mK7l1EZT-\0M \0\0\17o\b\1c\81\0\0#q iK2JEzDn-\0M \0\0\17o\b$\81\0\0#q WILQWZzI-\0M \0\0\17o\b,\81\0\0#q 5NHO5yHs-\0M \0\0\17o\b4\81\0\0#q QScKeLA3-\0M \0\0\17o\b<\81\0\0#q Y1UxANcW-\0M \0\0\17o\bD\81\0\0#q cBcAXTZC-\0M \0\0\17o\bL\81\0\0#q nG3WEshv-\0M \0\0\17o\bT\81\0\0#q ETCEE/bP-\0M \0\0\17o\b\\81\0\0#q auJ2LcYY-\0M \0\0\17o\bd\81\0\0#q pkGUUtAj-\0M \0\0\17o\bl\81\0\0#q 4AMoK/tv-\0M \0\0\17o\bt\81\0\0#q 6dyS4In1-\0M \0\0\17o\b|\81\0\0#q VQtIbiS0-\0M \0\0\17o\b\84\81\0\0#q kHqwagwE-\0M \0\0\17o\b\8c\81\0\0#q s2PM5itn-\0M \0\0\17o\b\94\81\0\0#q uLiqWW68-\0M \0\0\17o\b\9c\81\0\0#q 0Rhkknpn-\0M \0\0\17o\b¤\81\0\0#q 2RxZA/Nq-\0M \0\0\17o\b¬\81\0\0#q uFxL9qJ+-\0M \0\0\17o\b´\81\0\0#q MWTj/aqb-\0M \0\0\17o\b¼\81\0\0#q ZM1Eg28n-\0M \0\0\17o\bÄ\81\0\0#q mVVm5HKs-\0M \0\0\17o\bÌ\81\0\0#q lPLjlU2y-\0M \0\0\17o\bÔ\81\0\0#q Zl+lLy2b-\0M \0\0\17o\bÜ\81\0\0#q +bKSNUYS-\0M \0\0\17o\bä\81\0\0#q ElldBP7y-\0M \0\0\17o\bì\81\0\0#q b+gMMPeI-\0M \0\0\17o\bô\81\0\0#q R9GJowRg-\0M \0\0\17o\bü\81\0\0#q kgRoYVdq-\0M \0\0\17o\b\ 4\82\0\0#q HQlwIDLQ-\0M \0\0\17o\b\f\82\0\0#q aiI6H1Xm-\0M \0\0\17o\b\14\82\0\0#q nDYFAee3-\0M \0\0\17o\b\1c\82\0\0#q 04yulhRg-\0M \0\0\17o\b$\82\0\0#q MIl8rODv-\0M \0\0\17o\b,\82\0\0#q jPsYDh4F-\0M \0\0\17o\b4\82\0\0#q RB4lS0XT-\0M \0\0\17o\b<\82\0\0#q d85zYMBd-\0M \0\0\17o\bD\82\0\0#q O9uA1XQj-\0M \0\0\17o\bL\82\0\0#q EQiIrzFb-\0M \0\0\17o\bT\82\0\0#q mDjy+83g-\0M \0\0\17o\b\\82\0\0#q vNdxScSE-\0M \0\0\17o\bd\82\0\0#q U2bnSmgA-\0M \0\0\17o\bl\82\0\0#q jjhZ0eHK-\0M \0\0\17o\bt\82\0\0#q QtVyg3vI-\0M \0\0\17o\b|\82\0\0#q 5fSCEKUQ-\0M \0\0\17o\b\84\82\0\0#q LGWCcN64-\0M \0\0\17o\b\8c\82\0\0#q SoBE1gka-\0M \0\0\17o\b\94\82\0\0#q 0aWw7IlY-\0M \0\0\17o\b\9c\82\0\0#q UoJeMdqQ-\0M \0\0\17o\b¤\82\0\0#q 5ytWEITj-\0M \0\0\17o\b¬\82\0\0#q sqzKm8ZQ-\0M \0\0\17o\b´\82\0\0#q ESwE6E2C-\0M \0\0\17o\b¼\82\0\0#q N4IIUSEn-\0M \0\0\17o\bÄ\82\0\0#q UYdM0vGl-\0M \0\0\17o\bÌ\82\0\0#q bHppfLXO-\0M \0\0\17o\bÔ\82\0\0#q IXBTSfWI-\0M \0\0\17o\bÜ\82\0\0#q gFSl6ICh-\0M \0\0\17o\bä\82\0\0#q y+B0e4/J-\0M \0\0\17o\bì\82\0\0#q ZIPYtHBc-\0M \0\0\17o\bô\82\0\0#q 8xqqNyEa-\0M \0\0\17o\bü\82\0\0#q YZAWKNvf-\0M \0\0\17o\b\ 4\83\0\0#q jpvJ6pXN-\0M \0\0\17o\b\f\83\0\0#q iRCGxlbe-\0M \0\0\17o\b\14\83\0\0#q PrTJreU3-\0M \0\0\17o\b\1c\83\0\0#q HXYA2d8C-\0M \0\0\17o\b$\83\0\0#q BSRKa51B-\0M \0\0\17o\b,\83\0\0#q pHeF0vGi-\0M \0\0\17o\b4\83\0\0#q 5yH3vMvA-\0M \0\0\17o\b<\83\0\0#q 8hjcyHui-\0M \0\0\17o\bD\83\0\0#q jgTurUuj-\0M \0\0\17o\bL\83\0\0#q QcspGgZq-\0M \0\0\17o\bT\83\0\0#q bDJsCwLl-\0M \0\0\17o\b\\83\0\0#q jxYqwh0U-\0M \0\0\17o\bd\83\0\0#q edgzggA1-\0M \0\0\17o\bl\83\0\0#q oQPI1qSz-\0M \0\0\17o\bt\83\0\0#q DKyyTLBu-\0M \0\0\17o\b|\83\0\0#q sjazKdKb-\0M \0\0\17o\b\84\83\0\0#q N8Mpiiht-\0M \0\0\17o\b\8c\83\0\0#q tahHCFFJ-\0M \0\0\17o\b\94\83\0\0#q FECD5lOa-\0M \0\0\17o\b\9c\83\0\0#q LBoYNnSA-\0M \0\0\17o\b¤\83\0\0#q 5Vo0uVRG-\0M \0\0\17o\b¬\83\0\0#q un3s3jbM-\0M \0\0\17o\b´\83\0\0#q CD8MAOHp-\0M \0\0\17o\b¼\83\0\0#q iyBtrvGj-\0M \0\0\17o\bÄ\83\0\0#q hr1I4Kam-\0M \0\0\17o\bÌ\83\0\0#q hC90hDDg-\0M \0\0\17o\bÔ\83\0\0#q rxsCgbMg-\0M \0\0\17o\bÜ\83\0\0#q mSDrjyPJ-\0M \0\0\17o\bä\83\0\0#q SVi0W46r-\0M \0\0\17o\bì\83\0\0#q oi+Blde3-\0M \0\0\17o\bô\83\0\0#q oaM85BCO-\0M \0\0\17o\bü\83\0\0#q MlkvxXOB-\0M \0\0\17o\b\ 4\84\0\0#q KzLEV9tx-\0M \0\0\17o\b\f\84\0\0#q jdKcCx5V-\0M \0\0\17o\b\14\84\0\0#q 102vHRvA-\0M \0\0\17o\b\1c\84\0\0#q EBovGic6-\0M \0\0\17o\b$\84\0\0#q QBeiErtE-\0M \0\0\17o\b,\84\0\0#q TJWKgpIg-\0M \0\0\17o\b4\84\0\0#q xvYmMdZt-\0M \0\0\17o\b<\84\0\0#q +YQ8c1Cs-\0M \0\0\17o\bD\84\0\0#q akICg2WZ-\0M \0\0\17o\bL\84\0\0#q YJ1wKg5N-\0M \0\0\17o\bT\84\0\0#q IYcsHI7T-\0M \0\0\17o\b\\84\0\0#q KYIG9UiK-\0M \0\0\17o\bd\84\0\0#q 5Dh3nMiY-\0M \0\0\17o\bl\84\0\0#q QyjsFTAp-\0M \0\0\17o\bt\84\0\0#q EA2cmsjh-\0M \0\0\17o\b|\84\0\0#q UIqrYHeo-\0M \0\0\17o\b\84\84\0\0#q S28gi1UT-\0M \0\0\17o\b\8c\84\0\0#q O+eZXGRA-\0M \0\0\17o\b\94\84\0\0#q HUG1Gwk3-\0M \0\0\17o\b\9c\84\0\0#q 3qXWInhb-\0M \0\0\17o\b¤\84\0\0#q yo5dSTqB-\0M \0\0\17o\b¬\84\0\0#q DuQtgRSK-\0M \0\0\17o\b´\84\0\0#q 2UpGW9OB-\0M \0\0\17o\b¼\84\0\0#q 04oooTkj-\0M \0\0\17o\bÄ\84\0\0#q 1I1XpEzE-\0M \0\0\17o\bÌ\84\0\0#q sEzSF8gC-\0M \0\0\17o\bÔ\84\0\0#q doVyiYDk-\0M \0\0\17o\bÜ\84\0\0#q YCLfSn0S-\0M \0\0\17o\bä\84\0\0#q yX2hCQQs-\0M \0\0\17o\bì\84\0\0#q iaxSyGKp-\0M \0\0\17o\bô\84\0\0#q CEVn+T+7-\0M \0\0\17o\bü\84\0\0#q ACroi7X8-\0M \0\0\17o\b\ 4\85\0\0#q aJopBWVZ-\0M \0\0\17o\b\f\85\0\0#q ZWHIQaTx-\0M \0\0\17o\b\14\85\0\0#q 4SNUeLDF-\0M \0\0\17o\b\1c\85\0\0#q Sxevebd+-\0M \0\0\17o\b$\85\0\0#q cHKoaR+U-\0M \0\0\17o\b,\85\0\0#q ldj4hZiy-\0M \0\0\17o\b4\85\0\0#q xAxiEJPs-\0M \0\0\17o\b<\85\0\0#q 55pQEVzs-\0M \0\0\17o\bD\85\0\0#q qkE5E3EK-\0M \0\0\17o\bL\85\0\0#q C8Zrl12Z-\0M \0\0\17o\bT\85\0\0#q 6ZyL3XJI-\0M \0\0\17o\b\\85\0\0#q IiYtC1Ax-\0M \0\0\17o\bd\85\0\0#q c5KDSj61-\0M \0\0\17o\bl\85\0\0#q 2cHXeoDi-\0M \0\0\17o\bt\85\0\0#q FrcpuKKB-\0M \0\0\17o\b|\85\0\0#q 6LCLGCsg-\0M \0\0\17o\b\84\85\0\0#q EWAcjIYi-\0M \0\0\17o\b\8c\85\0\0#q 7hqF7Haj-\0M \0\0\17o\b\94\85\0\0#q 4908uyiA-\0M \0\0\17o\b\9c\85\0\0#q KrcawQQ5-\0M \0\0\17o\b¤\85\0\0#q bsgLte4F-\0M \0\0\17o\b¬\85\0\0#q vgR3kPuH-\0M \0\0\17o\b´\85\0\0#q tlEgneUB-\0M \0\0\17o\b¼\85\0\0#q i6RqG4Di-\0M \0\0\17o\bÄ\85\0\0#q DmJiBIgS-\0M \0\0\17o\bÌ\85\0\0#q VKzW6RQT-\0M \0\0\17o\bÔ\85\0\0#q sDZDRB7v-\0M \0\0\17o\bÜ\85\0\0#q FB/Npbn3-\0M \0\0\17o\bä\85\0\0#q thjxnOfz-\0M \0\0\17o\bì\85\0\0#q 03l8o4iP-\0M \0\0\17o\bô\85\0\0#q r5vcTXay-\0M \0\0\17o\bü\85\0\0#q Irevu4el-\0M \0\0\17o\b\ 4\86\0\0#q RUVaMYKB-\0M \0\0\17o\b\f\86\0\0#q TVWh4hpU-\0M \0\0\17o\b\14\86\0\0#q 3OBfMUdp-\0M \0\0\17o\b\1c\86\0\0#q qaMvN5Rf-\0M \0\0\17o\b$\86\0\0#q QRHEA5SR-\0M \0\0\17o\b,\86\0\0#q sCqgNvSa-\0M \0\0\17o\b4\86\0\0#q SWAjxg2S-\0M \0\0\17o\b<\86\0\0#q ce8tmpLw-\0M \0\0\17o\bD\86\0\0#q QTzaEJKY-\0M \0\0\17o\bL\86\0\0#q a7vw4DMq-\0M \0\0\17o\bT\86\0\0#q 4BBwDCYq-\0M \0\0\17o\b\\86\0\0#q TySZ5Y4q-\0M \0\0\17o\bd\86\0\0#q UEBqrTyj-\0M \0\0\17o\bl\86\0\0#q RBdDSeJI-\0M \0\0\17o\bt\86\0\0#q R3x93G24-\0M \0\0\17o\b|\86\0\0#q dW0Fsfb5-\0M \0\0\17o\b\84\86\0\0#q 2b53LqcB-\0M \0\0\17o\b\8c\86\0\0#q LxkrVu+j-\0M \0\0\17o\b\94\86\0\0#q OgAOVeWK-\0M \0\0\17o\b\9c\86\0\0#q SAPYajZn-\0M \0\0\17o\b¤\86\0\0#q WDo8DQrw-\0M \0\0\17o\b¬\86\0\0#q VXMRLreC-\0M \0\0\17o\b´\86\0\0#q HM8HdKQ7-\0M \0\0\17o\b¼\86\0\0#q MnILkIj3-\0M \0\0\17o\bÄ\86\0\0#q MoONh0TW-\0M \0\0\17o\bÌ\86\0\0#q CXGY8bOC-\0M \0\0\17o\bÔ\86\0\0#q BgAXDflH-\0M \0\0\17o\bÜ\86\0\0#q cvJbxkD4-\0M \0\0\17o\bä\86\0\0#q icpcbMiA-\0M \0\0\17o\bì\86\0\0#q 0ObDPeZM-\0M \0\0\17o\bô\86\0\0#q m9qh4Tsx-\0M \0\0\17o\bü\86\0\0#q eYSrNdsE-\0M \0\0\17o\b\ 4\87\0\0#q RNogpnNA-\0M \0\0\17o\b\f\87\0\0#q iWcLBMk3-\0M \0\0\17o\b\14\87\0\0#q AFNaaFs8-\0M \0\0\17o\b\1c\87\0\0#q 4CFDeDFX-\0M \0\0\17o\b$\87\0\0#q xodhl7a9-\0M \0\0\17o\b,\87\0\0#q MyVyMFFD-\0M \0\0\17o\b4\87\0\0#q 0AIGiNGC-\0M \0\0\17o\b<\87\0\0#q voSCLqpw-\0M \0\0\17o\bD\87\0\0#q 0errcmtJ-\0M \0\0\17o\bL\87\0\0#q ZMaVMLAk-\0M \0\0\17o\bT\87\0\0#q EC6A0HNH-\0M \0\0\17o\b\\87\0\0#q B9bcXzSD-\0M \0\0\17o\bd\87\0\0#q liqUfebI-\0M \0\0\17o\bl\87\0\0#q SAiIRkyh-\0M \0\0\17o\bt\87\0\0#q vuGM41wC-\0M \0\0\17o\b|\87\0\0#q 0GZ9e14N-\0M \0\0\17o\b\84\87\0\0#q 0k1dvH2j-\0M \0\0\17o\b\8c\87\0\0#q IIzL0HDg-\0M \0\0\17o\b\94\87\0\0#q Ogo2Teq2-\0M \0\0\17o\b\9c\87\0\0#q QOrLViXL-\0M \0\0\17o\b¤\87\0\0#q anCQRVQk-\0M \0\0\17o\b¬\87\0\0#q cYimjkTc-\0M \0\0\17o\b´\87\0\0#q FagkgFwM-\0M \0\0\17o\b¼\87\0\0#q QzjIhkES-\0M \0\0\17o\bÄ\87\0\0#q KoRYDARO-\0M \0\0\17o\bÌ\87\0\0#q OUM3MEMW-\0M \0\0\17o\bÔ\87\0\0#q ezt6GgSu-\0M \0\0\17o\bÜ\87\0\0#q FhS2HQXO-\0M \0\0\17o\bä\87\0\0#q veJgcUGz-\0M \0\0\17o\bì\87\0\0#q sH1FZhnV-\0M \0\0\17o\bô\87\0\0#q aE8D1kRD-\0M \0\0\17o\bü\87\0\0#q jrF+riAw-\0M \0\0\17o\b\ 4\88\0\0#q E0VbuVvu-\0M \0\0\17o\b\f\88\0\0#q Wx0Vo0Iv-\0M \0\0\17o\b\14\88\0\0#q o3snYbRf-\0M \0\0\17o\b\1c\88\0\0#q lxgcfJwR-\0M \0\0\17o\b$\88\0\0#q 3m0ICx85-\0M \0\0\17o\b,\88\0\0#q dsSDvT3c-\0M \0\0\17o\b4\88\0\0#q Z29Q4CWG-\0M \0\0\17o\b<\88\0\0#q BQLggyCK-\0M \0\0\17o\bD\88\0\0#q EiARitqr-\0M \0\0\17o\bL\88\0\0#q sNm0fTrW-\0M \0\0\17o\bT\88\0\0#q 3Krxa102-\0M \0\0\17o\b\\88\0\0#q dakYpVhq-\0M \0\0\17o\bd\88\0\0#q whVCrC2S-\0M \0\0\17o\bl\88\0\0#q GOlkRk1U-\0M \0\0\17o\bt\88\0\0#q lqBaSVYV-\0M \0\0\17o\b|\88\0\0#q JYN7ERi1-\0M \0\0\17o\b\84\88\0\0#q FAbW+G3z-\0M \0\0\17o\b\8c\88\0\0#q 51re5VjV-\0M \0\0\17o\b\94\88\0\0#q bm5W5Ulb-\0M \0\0\17o\b\9c\88\0\0#q mrUmM9t/-\0M \0\0\17o\b¤\88\0\0#q 6/T6vv9P-\0M \0\0\17o\b¬\88\0\0#q o7vhq+xJ-\0M \0\0\17o\b´\88\0\0#q DxqrZJCS-\0M \0\0\17o\b¼\88\0\0#q N4A9ebXx-\0M \0\0\17o\bÄ\88\0\0#q yczXxmoN-\0M \0\0\17o\bÌ\88\0\0#q 33VoVPS3-\0M \0\0\17o\bÔ\88\0\0#q BLDLLHbi-\0M \0\0\17o\bÜ\88\0\0#q 5spPNZK0-\0M \0\0\17o\bä\88\0\0#q uCZvZgZz-\0M \0\0\17o\bì\88\0\0#q c23MBvtL-\0M \0\0\17o\bô\88\0\0#q dad1ruTZ-\0M \0\0\17o\bü\88\0\0#q JGVJwael-\0M \0\0\17o\b\ 4\89\0\0#q Jw113fR8-\0M \0\0\17o\b\f\89\0\0#q rnExqR0P-\0M \0\0\17o\b\14\89\0\0#q rSFjAyjj-\0M \0\0\17o\b\1c\89\0\0#q VUETBCGw-\0M \0\0\17o\b$\89\0\0#q kwwK3s28-\0M \0\0\17o\b,\89\0\0#q 7kNjE+yu-\0M \0\0\17o\b4\89\0\0#q 0Hbm242i-\0M \0\0\17o\b<\89\0\0#q 5VRLlk0S-\0M \0\0\17o\bD\89\0\0#q TTSgxaFK-\0M \0\0\17o\bL\89\0\0#q RQ77zTcy-\0M \0\0\17o\bT\89\0\0#q WsiGy8yI-\0M \0\0\17o\b\\89\0\0#q rLiHHJjt-\0M \0\0\17o\bd\89\0\0#q G1A2Yw3W-\0M \0\0\17o\bl\89\0\0#q 9UlzdFd2-\0M \0\0\17o\bt\89\0\0#q HcNCqkQg-\0M \0\0\17o\b|\89\0\0#q yani4Bu3-\0M \0\0\17o\b\84\89\0\0#q NroVFnYL-\0M \0\0\17o\b\8c\89\0\0#q 2HzDRFdv-\0M \0\0\17o\b\94\89\0\0#q Tmig2HcO-\0M \0\0\17o\b\9c\89\0\0#q nFxATrA0-\0M \0\0\17o\b¤\89\0\0#q TnGma3YZ-\0M \0\0\17o\b¬\89\0\0#q z0ymbsQA-\0M \0\0\17o\b´\89\0\0#q YJGBFbqw-\0M \0\0\17o\b¼\89\0\0#q ZSEku3x2-\0M \0\0\17o\bÄ\89\0\0#q 1FBfCArF-\0M \0\0\17o\bÌ\89\0\0#q 0wi6MyRr-\0M \0\0\17o\bÔ\89\0\0#q QQhzxXZC-\0M \0\0\17o\bÜ\89\0\0#q ortLApgc-\0M \0\0\17o\bä\89\0\0#q ocDruDxk-\0M \0\0\17o\bì\89\0\0#q uASSjkkC-\0M \0\0\17o\bô\89\0\0#q RHHVa1oV-\0M \0\0\17o\bü\89\0\0#q lDu7SymY-\0M \0\0\17o\b\ 4\8a\0\0#q TanF4+3W-\0M \0\0\17o\b\f\8a\0\0#q eROwxPvS-\0M \0\0\17o\b\14\8a\0\0#q Bh9NNJ8i-\0M \0\0\17o\b\1c\8a\0\0#q k1JAnwJi-\0M \0\0\17o\b$\8a\0\0#q vP2b/k6e-\0M \0\0\17o\b,\8a\0\0#q XnnoQc+e-\0M \0\0\17o\b4\8a\0\0#q 3REtcmUh-\0M \0\0\17o\b<\8a\0\0#q KCgg9oIg-\0M \0\0\17o\bD\8a\0\0#q j3cO94cZ-\0M \0\0\17o\bL\8a\0\0#q 1/yZZPYX-\0M \0\0\17o\bT\8a\0\0#q mLsEVzL9-\0M \0\0\17o\b\\8a\0\0#q wyayYqdo-\0M \0\0\17o\bd\8a\0\0#q Lf7u7cMa-\0M \0\0\17o\bl\8a\0\0#q iHlnOXVc-\0M \0\0\17o\bt\8a\0\0#q jK1tFvlV-\0M \0\0\17o\b|\8a\0\0#q LZVUn6Ct-\0M \0\0\17o\b\84\8a\0\0#q S/Dc2MGy-\0M \0\0\17o\b\8c\8a\0\0#q jQgfhC2K-\0M \0\0\17o\b\94\8a\0\0#q djr3P4oF-\0M \0\0\17o\b\9c\8a\0\0#q 82DpTA7d-\0M \0\0\17o\b¤\8a\0\0#q JI8fmoIQ-\0M \0\0\17o\b¬\8a\0\0#q cC1skeRz-\0M \0\0\17o\b´\8a\0\0#q KgLQfdKJ-\0M \0\0\17o\b¼\8a\0\0#q KWsxDeDR-\0M \0\0\17o\bÄ\8a\0\0#q AOkVD1Uj-\0M \0\0\17o\bÌ\8a\0\0#q 6REe5pkk-\0M \0\0\17o\bÔ\8a\0\0#q FtcBVDyB-\0M \0\0\17o\bÜ\8a\0\0#q msYcJiDP-\0M \0\0\17o\bä\8a\0\0#q KL4QYIAK-\0M \0\0\17o\bì\8a\0\0#q g3pFBYsE-\0M \0\0\17o\bô\8a\0\0#q heQysfqh-\0M \0\0\17o\bü\8a\0\0#q Kb7Z5Wjm-\0M \0\0\17o\b\ 4\8b\0\0#q 10jpNiZp-\0M \0\0\17o\b\f\8b\0\0#q B5IyQBQM-\0M \0\0\17o\b\14\8b\0\0#q UV05k5WF-\0M \0\0\17o\b\1c\8b\0\0#q 025JblIl-\0M \0\0\17o\b$\8b\0\0#q xOjYPTSQ-\0M \0\0\17o\b,\8b\0\0#q S14ht99a-\0M \0\0\17o\b4\8b\0\0#q 4g4RAIME-\0M \0\0\17o\b<\8b\0\0#q XBQ9VYdU-\0M \0\0\17o\bD\8b\0\0#q OnAHboCb-\0M \0\0\17o\bL\8b\0\0#q AM8xBqUi-\0M \0\0\17o\bT\8b\0\0#q dwUIqCaN-\0M \0\0\17o\b\\8b\0\0#q uDndlLch-\0M \0\0\17o\bd\8b\0\0#q eCQRzyDZ-\0M \0\0\17o\bl\8b\0\0#q sza6jpcC-\0M \0\0\17o\bt\8b\0\0#q 8J5t93uI-\0M \0\0\17o\b|\8b\0\0#q 52DOCUmx-\0M \0\0\17o\b\84\8b\0\0#q yBWG6xjU-\0M \0\0\17o\b\8c\8b\0\0#q DfvcQN2R-\0M \0\0\17o\b\94\8b\0\0#q 3loD2RQp-\0M \0\0\17o\b\9c\8b\0\0#q UCyjb0Nn-\0M \0\0\17o\b¤\8b\0\0#q j8jM44gO-\0M \0\0\17o\b¬\8b\0\0#q I4HkYOhJ-\0M \0\0\17o\b´\8b\0\0#q NFBUaBwi-\0M \0\0\17o\b¼\8b\0\0#q iugHBtgm-\0M \0\0\17o\bÄ\8b\0\0#q VWWcPJ2v-\0M \0\0\17o\bÌ\8b\0\0#q AGlYg8pB-\0M \0\0\17o\bÔ\8b\0\0#q 1knDeEQy-\0M \0\0\17o\bÜ\8b\0\0#q YzoFW+nZ-\0M \0\0\17o\bä\8b\0\0#q ieSuAOXH-\0M \0\0\17o\bì\8b\0\0#q dpQnYHII-\0M \0\0\17o\bô\8b\0\0#q vsnV62gW-\0M \0\0\17o\bü\8b\0\0#q 62oGOQSq-\0M \0\0\17o\b\ 4\8c\0\0#q 0ZHQmkz6-\0M \0\0\17o\b\f\8c\0\0#q ve09eR6+-\0M \0\0\17o\b\14\8c\0\0#q As6PaDEA-\0M \0\0\17o\b\1c\8c\0\0#q PBAjCRxH-\0M \0\0\17o\b$\8c\0\0#q iizSKSWE-\0M \0\0\17o\b,\8c\0\0#q 3lI8fDOC-\0M \0\0\17o\b4\8c\0\0#q DmGnmVpN-\0M \0\0\17o\b<\8c\0\0#q bi8eUVoB-\0M \0\0\17o\bD\8c\0\0#q cnjVYXJH-\0M \0\0\17o\bL\8c\0\0#q Wy5Y+Ig8-\0M \0\0\17o\bT\8c\0\0#q gsiDUDTA-\0M \0\0\17o\b\\8c\0\0#q 6xDbTXjD-\0M \0\0\17o\bd\8c\0\0#q HGKyNg20-\0M \0\0\17o\bl\8c\0\0#q +8AoKRpU-\0M \0\0\17o\bt\8c\0\0#q zjVgeIne-\0M \0\0\17o\b|\8c\0\0#q yymHNIhl-\0M \0\0\17o\b\84\8c\0\0#q OlRveBNb-\0M \0\0\17o\b\8c\8c\0\0#q AyNu+YZy-\0M \0\0\17o\b\94\8c\0\0#q 5q7JQKKS-\0M \0\0\17o\b\9c\8c\0\0#q SPDgYkgO-\0M \0\0\17o\b¤\8c\0\0#q Z54N9vTD-\0M \0\0\17o\b¬\8c\0\0#q Vhqc6Uhu-\0M \0\0\17o\b´\8c\0\0#q wvCADsV5-\0M \0\0\17o\b¼\8c\0\0#q z0KRpEIT-\0M \0\0\17o\bÄ\8c\0\0#q Xj4+mgml-\0M \0\0\17o\bÌ\8c\0\0#q oIZg4a71-\0M \0\0\17o\bÔ\8c\0\0#q Zlm7m0gk-\0M \0\0\17o\bÜ\8c\0\0#q dp4U3zAn-\0M \0\0\17o\bä\8c\0\0#q K2iHrqjs-\0M \0\0\17o\bì\8c\0\0#q xi8S8sDd-\0M \0\0\17o\bô\8c\0\0#q GDo9ucdG-\0M \0\0\17o\bü\8c\0\0#q hjq81Jfa-\0M \0\0\17o\b\ 4\8d\0\0#q 1MiJSKcB-\0M \0\0\17o\b\f\8d\0\0#q A701FV6a-\0M \0\0\17o\b\14\8d\0\0#q w8Hp7V9E-\0M \0\0\17o\b\1c\8d\0\0#q URNiZNAD-\0M \0\0\17o\b$\8d\0\0#q wG3dhrhp-\0M \0\0\17o\b,\8d\0\0#q 2xsMQdoN-\0M \0\0\17o\b4\8d\0\0#q aPWpg17F-\0M \0\0\17o\b<\8d\0\0#q E8O8dR1V-\0M \0\0\17o\bD\8d\0\0#q HRzpUzs4-\0M \0\0\17o\bL\8d\0\0#q oW8uITBT-\0M \0\0\17o\bT\8d\0\0#q DYPLynlw-\0M \0\0\17o\b\\8d\0\0#q ZDIItG+C-\0M \0\0\17o\bd\8d\0\0#q IpXe2AKu-\0M \0\0\17o\bl\8d\0\0#q CI7Qs1rn-\0M \0\0\17o\bt\8d\0\0#q C94AEyGb-\0M \0\0\17o\b|\8d\0\0#q MuhIPF1H-\0M \0\0\17o\b\84\8d\0\0#q gmbONCmS-\0M \0\0\17o\b\8c\8d\0\0#q 5k7bSMjX-\0M \0\0\17o\b\94\8d\0\0#q hXQp1OCj-\0M \0\0\17o\b\9c\8d\0\0#q mkAGTvLO-\0M \0\0\17o\b¤\8d\0\0#q mI0HOAt3-\0M \0\0\17o\b¬\8d\0\0#q YzBQRFgq-\0M \0\0\17o\b´\8d\0\0#q Fp2bepbO-\0M \0\0\17o\b¼\8d\0\0#q C2EIwJLO-\0M \0\0\17o\bÄ\8d\0\0#q pBSCVEHI-\0M \0\0\17o\bÌ\8d\0\0#q kdNxHOkA-\0M \0\0\17o\bÔ\8d\0\0#q Qs0VIpgJ-\0M \0\0\17o\bÜ\8d\0\0#q l4XMHMjE-\0M \0\0\17o\bä\8d\0\0#q gid0t3FO-\0M \0\0\17o\bì\8d\0\0#q 8MJhYYXY-\0M \0\0\17o\bô\8d\0\0#q 8sERIghd-\0M \0\0\17o\bü\8d\0\0#q xq3vQKeC-\0M \0\0\17o\b\ 4\8e\0\0#q 72BkdCeG-\0M \0\0\17o\b\f\8e\0\0#q xRxAiGkD-\0M \0\0\17o\b\14\8e\0\0#q GK5LYsCK-\0M \0\0\17o\b\1c\8e\0\0#q 3AWW+AM5-\0M \0\0\17o\b$\8e\0\0#q VQaWqrkJ-\0M \0\0\17o\b,\8e\0\0#q 3NiK8HR0-\0M \0\0\17o\b4\8e\0\0#q Oyaird7M-\0M \0\0\17o\b<\8e\0\0#q 0013PrNY-\0M \0\0\17o\bD\8e\0\0#q 4oA67ZPe-\0M \0\0\17o\bL\8e\0\0#q zuDTrV0o-\0M \0\0\17o\bT\8e\0\0#q ZMsRpR7Z-\0M \0\0\17o\b\\8e\0\0#q ipzQ1jzg-\0M \0\0\17o\bd\8e\0\0#q 4Ut53oN2-\0M \0\0\17o\bl\8e\0\0#q DS2qHRF3-\0M \0\0\17o\bt\8e\0\0#q Qms17VFo-\0M \0\0\17o\b|\8e\0\0#q J5zQGLHn-\0M \0\0\17o\b\84\8e\0\0#q TQ1WhcBQ-\0M \0\0\17o\b\8c\8e\0\0#q uEUTQhQj-\0M \0\0\17o\b\94\8e\0\0#q EQUHI85h-\0M \0\0\17o\b\9c\8e\0\0#q T5R2UYC3-\0M \0\0\17o\b¤\8e\0\0#q twsue/zO-\0M \0\0\17o\b¬\8e\0\0#q INAzYK9M-\0M \0\0\17o\b´\8e\0\0#q g24cwzR4-\0M \0\0\17o\b¼\8e\0\0#q rXfuB43f-\0M \0\0\17o\bÄ\8e\0\0#q 5g0wg+ma-\0M \0\0\17o\bÌ\8e\0\0#q n54RRErd-\0M \0\0\17o\bÔ\8e\0\0#q utOia0EP-\0M \0\0\17o\bÜ\8e\0\0#q ZPBoCriZ-\0M \0\0\17o\bä\8e\0\0#q 3WIjYiAi-\0M \0\0\17o\bì\8e\0\0#q Y9ycBy8P-\0M \0\0\17o\bô\8e\0\0#q vV0fdNCt-\0M \0\0\17o\bü\8e\0\0#q r1kSkUTF-\0M \0\0\17o\b\ 4\8f\0\0#q pWjZQ33A-\0M \0\0\17o\b\f\8f\0\0#q Gh0a7ep6-\0M \0\0\17o\b\14\8f\0\0#q g4nkWoAS-\0M \0\0\17o\b\1c\8f\0\0#q DIDjZq/B-\0M \0\0\17o\b$\8f\0\0#q gHfve9jg-\0M \0\0\17o\b,\8f\0\0#q EEhzWCeQ-\0M \0\0\17o\b4\8f\0\0#q R7Hli6A2-\0M \0\0\17o\b<\8f\0\0#q 0uwCorkh-\0M \0\0\17o\bD\8f\0\0#q nm7lK6hw-\0M \0\0\17o\bL\8f\0\0#q 1GyiXCVz-\0M \0\0\17o\bT\8f\0\0#q PlIK80Mp-\0M \0\0\17o\b\\8f\0\0#q CjwRAoag-\0M \0\0\17o\bd\8f\0\0#q LZOVxmZA-\0M \0\0\17o\bl\8f\0\0#q +eBSGhCI-\0M \0\0\17o\bt\8f\0\0#q L9tBXabr-\0M \0\0\17o\b|\8f\0\0#q pw47c5zK-\0M \0\0\17o\b\84\8f\0\0#q NaAKO4sL-\0M \0\0\17o\b\8c\8f\0\0#q 7KvUaVGg-\0M \0\0\17o\b\94\8f\0\0#q eYA4XSjs-\0M \0\0\17o\b\9c\8f\0\0#q TXG+b3fB-\0M \0\0\17o\b¤\8f\0\0#q FtoGLhoK-\0M \0\0\17o\b¬\8f\0\0#q vIHohI5z-\0M \0\0\17o\b´\8f\0\0#q zHSwDMUy-\0M \0\0\17o\b¼\8f\0\0#q PCJ8Zjol-\0M \0\0\17o\bÄ\8f\0\0#q sa6FJ1An-\0M \0\0\17o\bÌ\8f\0\0#q 5EizYQKc-\0M \0\0\17o\bÔ\8f\0\0#q por6HHhk-\0M \0\0\17o\bÜ\8f\0\0#q 6GdulzXb-\0M \0\0\17o\bä\8f\0\0#q HMekayul-\0M \0\0\17o\bì\8f\0\0#q 6RlzuOIX-\0M \0\0\17o\bô\8f\0\0#q QHGhtCOs-\0M \0\0\17o\bü\8f\0\0#q Ordgh5yB-\0M \0\0\17o\b\ 4\90\0\0#q UI4QD6cJ-\0M \0\0\17o\b\f\90\0\0#q CNmU1QYJ-\0M \0\0\17o\b\14\90\0\0#q oXJADgxa-\0M \0\0\17o\b\1c\90\0\0#q ZvbMMEEk-\0M \0\0\17o\b$\90\0\0#q HSPshs7O-\0M \0\0\17o\b,\90\0\0#q GaJOF613-\0M \0\0\17o\b4\90\0\0#q Nd0CBj2P-\0M \0\0\17o\b<\90\0\0#q Ii+PXV5W-\0M \0\0\17o\bD\90\0\0#q 90bvAECz-\0M \0\0\17o\bL\90\0\0#q SV7CKiJi-\0M \0\0\17o\bT\90\0\0#q GUeZErQb-\0M \0\0\17o\b\\90\0\0#q fUGQNmjh-\0M \0\0\17o\bd\90\0\0#q ny5vomzE-\0M \0\0\17o\bl\90\0\0#q BFviHjwi-\0M \0\0\17o\bt\90\0\0#q iJ0o1E52-\0M \0\0\17o\b|\90\0\0#q tFzGaXbd-\0M \0\0\17o\b\84\90\0\0#q CZ4hwwYE-\0M \0\0\17o\b\8c\90\0\0#q QPQQkQZF-\0M \0\0\17o\b\94\90\0\0#q RB5oqVQl-\0M \0\0\17o\b\9c\90\0\0#q Vfs5E1NS-\0M \0\0\17o\b¤\90\0\0#q Qq6LJmIh-\0M \0\0\17o\b¬\90\0\0#q qJUJBkST-\0M \0\0\17o\b´\90\0\0#q mKRwxxBG-\0M \0\0\17o\b¼\90\0\0#q 4hmGYgYh-\0M \0\0\17o\bÄ\90\0\0#q OlbgcIM3-\0M \0\0\17o\bÌ\90\0\0#q Qhnd3c1B-\0M \0\0\17o\bÔ\90\0\0#q bjEYvIhb-\0M \0\0\17o\bÜ\90\0\0#q ZzEQRGBE-\0M \0\0\17o\bä\90\0\0#q 2cgI5W4R-\0M \0\0\17o\bì\90\0\0#q hHpgCsRs-\0M \0\0\17o\bô\90\0\0#q jcdWFMN0-\0M \0\0\17o\bü\90\0\0#q olQDA5nd-\0M \0\0\17o\b\ 4\91\0\0#q 4AckRPbG-\0M \0\0\17o\b\f\91\0\0#q 2+i25y8W-\0M \0\0\17o\b\14\91\0\0#q qkxW8Wup-\0M \0\0\17o\b\1c\91\0\0#q q+jB2ymQ-\0M \0\0\17o\b$\91\0\0#q ckBbjqGG-\0M \0\0\17o\b,\91\0\0#q J2AtMuBu-\0M \0\0\17o\b4\91\0\0#q G4BrSNp5-\0M \0\0\17o\b<\91\0\0#q MsuWwgXb-\0M \0\0\17o\bD\91\0\0#q cCXcIAxo-\0M \0\0\17o\bL\91\0\0#q J5BTSW05-\0M \0\0\17o\bT\91\0\0#q do8jzcwV-\0M \0\0\17o\b\\91\0\0#q XNZNxgxu-\0M \0\0\17o\bd\91\0\0#q imapGRGR-\0M \0\0\17o\bl\91\0\0#q MeE3Yqpo-\0M \0\0\17o\bt\91\0\0#q RFQVEB1g-\0M \0\0\17o\b|\91\0\0#q VMQgYxo7-\0M \0\0\17o\b\84\91\0\0#q G7bmRDES-\0M \0\0\17o\b\8c\91\0\0#q u71hcZac-\0M \0\0\17o\b\94\91\0\0#q 1QBCRIHe-\0M \0\0\17o\b\9c\91\0\0#q 0LZAbAbH-\0M \0\0\17o\b¤\91\0\0#q xDwuLIhF-\0M \0\0\17o\b¬\91\0\0#q lGQ311uR-\0M \0\0\17o\b´\91\0\0#q lODv9YkC-\0M \0\0\17o\b¼\91\0\0#q QRH+Eh/r-\0M \0\0\17o\bÄ\91\0\0#q 6Q/7bT83-\0M \0\0\17o\bÌ\91\0\0#q 9x/Fr+4/-\0M \0\0\17o\bÔ\91\0\0#q N+xjJ/ef-\0M \0\0\17o\bÜ\91\0\0#q +if6dubx-\0M \0\0\17o\bä\91\0\0#q /+uT/af5-\0M \0\0\17o\bì\91\0\0#q yl/qO7x5-\0M \0\0\17o\bô\91\0\0#q v6rVWuWZ-\0M \0\0\17o\bü\91\0\0#q lZjM5eZ/-\0M \0\0\17o\b\ 4\92\0\0#q VustitjY-\0M \0\0\17o\b\f\92\0\0#q 3HC0dHEx-\0M \0\0\17o\b\14\92\0\0#q sx/qOenT-\0M \0\0\17o\b\1c\92\0\0#q OnMdJLi6-\0M \0\0\17o\b$\92\0\0#q X+gqTDD7-\0M \0\0\17o\b,\92\0\0#q MX/BpCpm-\0M \0\0\17o\b4\92\0\0#q Fwf/C6fg-\0M \0\0\17o\b<\92\0\0#q 79fommh7-\0M \0\0\17o\bD\92\0\0#q CkD5icKI-\0M \0\0\17o\bL\92\0\0#q rVSTX/Uh-\0M \0\0\17o\bT\92\0\0#q 8fGFGKs+-\0M \0\0\17o\b\\92\0\0#q lPgrQH+b-\0M \0\0\17o\bd\92\0\0#q z8pu235H-\0M \0\0\17o\bl\92\0\0#q wdPyPCs0-\0M \0\0\17o\bt\92\0\0#q aP60bPSY-\0M \0\0\17o\b|\92\0\0#q wmirZ/oP-\0M \0\0\17o\b\84\92\0\0#q 34xfQ1wP-\0M \0\0\17o\b\8c\92\0\0#q pnDAX5KP-\0M \0\0\17o\b\94\92\0\0#q S23/G6nZ-\0M \0\0\17o\b\9c\92\0\0#q /TKCJiCN-\0M \0\0\17o\b¤\92\0\0#q S5oIRTN0-\0M \0\0\17o\b¬\92\0\0#q GCKEmhG9-\0M \0\0\17o\b´\92\0\0#q kYgIrr/U-\0M \0\0\17o\b¼\92\0\0#q H+fx/tEu-\0M \0\0\17o\bÄ\92\0\0#q BL+6UPJP-\0M \0\0\17o\bÌ\92\0\0#q b3bTrJph-\0M \0\0\17o\bÔ\92\0\0#q J0Vu8PmO-\0M \0\0\17o\bÜ\92\0\0#q nIeyvm4J-\0M \0\0\17o\bä\92\0\0#q 8dKtpVV7-\0M \0\0\17o\bì\92\0\0#q Nxk1Ldm7-\0M \0\0\17o\bô\92\0\0#q r2f9z6Vb-\0M \0\0\17o\bü\92\0\0#q D/lVr/jI-\0M \0\0\17o\b\ 4\93\0\0#q a0/ZP2/6-\0M \0\0\17o\b\f\93\0\0#q fsPJ4euM-\0M \0\0\17o\b\14\93\0\0#q 7/l/w/Hb-\0M \0\0\17o\b\1c\93\0\0#q e2qPmk4G-\0M \0\0\17o\b$\93\0\0#q ye8+XFXS-\0M \0\0\17o\b,\93\0\0#q sxt8HE/h-\0M \0\0\17o\b4\93\0\0#q OObeMcPp-\0M \0\0\17o\b<\93\0\0#q NPb7slXd-\0M \0\0\17o\bD\93\0\0#q Tm6OZ/v/-\0M \0\0\17o\bL\93\0\0#q 5dVzU58r-\0M \0\0\17o\bT\93\0\0#q FtJ4e3yv-\0M \0\0\17o\b\\93\0\0#q 9l6buQsj-\0M \0\0\17o\bd\93\0\0#q iD1R2Np9-\0M \0\0\17o\bl\93\0\0#q hTyeTt6+-\0M \0\0\17o\bt\93\0\0#q 038W47SR-\0M \0\0\17o\b|\93\0\0#q y6PY06E+-\0M \0\0\17o\b\84\93\0\0#q P3JOgWaQ-\0M \0\0\17o\b\8c\93\0\0#q hHAkkR/X-\0M \0\0\17o\b\94\93\0\0#q h/2ncXif-\0M \0\0\17o\b\9c\93\0\0#q 2afyf4Sv-\0M \0\0\17o\b¤\93\0\0#q f5NvY3/U-\0M \0\0\17o\b¬\93\0\0#q P3JXCqfa-\0M \0\0\17o\b´\93\0\0#q xkZRL/J3-\0M \0\0\17o\b¼\93\0\0#q CPDzFxNG-\0M \0\0\17o\bÄ\93\0\0#q AzKcQTnd-\0M \0\0\17o\bÌ\93\0\0#q cHPayzzb-\0M \0\0\17o\bÔ\93\0\0#q vLxDd1Un-\0M \0\0\17o\bÜ\93\0\0#q VvMbTw9B-\0M \0\0\17o\bä\93\0\0#q ywcPDfsc-\0M \0\0\17o\bì\93\0\0#q 2zm/nyMf-\0M \0\0\17o\bô\93\0\0#q Dmf932T7-\0M \0\0\17o\bü\93\0\0#q p87Krxgy-\0M \0\0\17o\b\ 4\94\0\0#q eFftQ+tf-\0M \0\0\17o\b\f\94\0\0#q Cfh7HZye-\0M \0\0\17o\b\14\94\0\0#q E2aj8Ld3-\0M \0\0\17o\b\1c\94\0\0#q bXw43xb8-\0M \0\0\17o\b$\94\0\0#q 3/u3I6WS-\0M \0\0\17o\b,\94\0\0#q ftIeD/xb-\0M \0\0\17o\b4\94\0\0#q ZE/8bwT5-\0M \0\0\17o\b<\94\0\0#q H1OjB9vD-\0M \0\0\17o\bD\94\0\0#q c2fr8Q+u-\0M \0\0\17o\bL\94\0\0#q 397X9Gf+-\0M \0\0\17o\bT\94\0\0#q PSdnVOzp-\0M \0\0\17o\b\\94\0\0#q P8PP+c7z-\0M \0\0\17o\bd\94\0\0#q 52c3SP5G-\0M \0\0\17o\bl\94\0\0#q tkn9kn/w-\0M \0\0\17o\bt\94\0\0#q 7H1cp+5o-\0M \0\0\17o\b|\94\0\0#q +HrPZPv7-\0M \0\0\17o\b\84\94\0\0#q uTykTn4t-\0M \0\0\17o\b\8c\94\0\0#q qMW5ktln-\0M \0\0\17o\b\94\94\0\0#q N5X7r3/G-\0M \0\0\17o\b\9c\94\0\0#q JDMMmGVM-\0M \0\0\17o\b¤\94\0\0#q JN7siu/y-\0M \0\0\17o\b¬\94\0\0#q fnqffmvS-\0M \0\0\17o\b´\94\0\0#q XMu6ft6b-\0M \0\0\17o\b¼\94\0\0#q OJlTaKqp-\0M \0\0\17o\bÄ\94\0\0#q /L3k/g2n-\0M \0\0\17o\bÌ\94\0\0#q c/7fv5SH-\0M \0\0\17o\bÔ\94\0\0#q 4e7wSNdH-\0M \0\0\17o\bÜ\94\0\0#q TnGSe7br-\0M \0\0\17o\bä\94\0\0#q Kd9m2+rf-\0M \0\0\17o\bì\94\0\0#q s+75c1sW-\0M \0\0\17o\bô\94\0\0#q pbaXqOkk-\0M \0\0\17o\bü\94\0\0#q pTo6LvZV-\0M \0\0\17o\b\ 4\95\0\0#q DoKaaPJd-\0M \0\0\17o\b\f\95\0\0#q rf6/wabf-\0M \0\0\17o\b\14\95\0\0#q y//P+Ses-\0M \0\0\17o\b\1c\95\0\0#q /dNe1Wv4-\0M \0\0\17o\b$\95\0\0#q P05eaf0X-\0M \0\0\17o\b,\95\0\0#q g/vluP7O-\0M \0\0\17o\b4\95\0\0#q km/5eu4+-\0M \0\0\17o\b<\95\0\0#q LJMnvJ6v-\0M \0\0\17o\bD\95\0\0#q yfdiuNK0-\0M \0\0\17o\bL\95\0\0#q Wbn2ZOW7-\0M \0\0\17o\bT\95\0\0#q k/O5dVV1-\0M \0\0\17o\b\\95\0\0#q S0twqcn6-\0M \0\0\17o\bd\95\0\0#q SMKzp/2y-\0M \0\0\17o\bl\95\0\0#q 3c5D8U7E-\0M \0\0\17o\bt\95\0\0#q ssiWcxtq-\0M \0\0\17o\b|\95\0\0#q ybtlfi2p-\0M \0\0\17o\b\84\95\0\0#q 2J1xcn7G-\0M \0\0\17o\b\8c\95\0\0#q nI/NwcrP-\0M \0\0\17o\b\94\95\0\0#q +tfj8/sc-\0M \0\0\17o\b\9c\95\0\0#q v7QZ8v3t-\0M \0\0\17o\b¤\95\0\0#q jkfXsw7H-\0M \0\0\17o\b¬\95\0\0#q k28PhyNk-\0M \0\0\17o\b´\95\0\0#q cPY3e7To-\0M \0\0\17o\b¼\95\0\0#q 4dLZXs52-\0M \0\0\17o\bÄ\95\0\0#q SnOcp+0v-\0M \0\0\17o\bÌ\95\0\0#q BzIaa0rM-\0M \0\0\17o\bÔ\95\0\0#q ZV/r4j+X-\0M \0\0\17o\bÜ\95\0\0#q 7dHd5Oqe-\0M \0\0\17o\bä\95\0\0#q K/l2Ng6Z-\0M \0\0\17o\bì\95\0\0#q Cf3R4Msi-\0M \0\0\17o\bô\95\0\0#q MaozClqv-\0M \0\0\17o\bü\95\0\0#q 621/Cfwf-\0M \0\0\17o\b\ 4\96\0\0#q p/G2c4GO-\0M \0\0\17o\b\f\96\0\0#q dLV9XSfL-\0M \0\0\17o\b\14\96\0\0#q Mq1YzWax-\0M \0\0\17o\b\1c\96\0\0#q rDFXxLOJ-\0M \0\0\17o\b$\96\0\0#q 3YfCa+Wp-\0M \0\0\17o\b,\96\0\0#q zeb8XWTm-\0M \0\0\17o\b4\96\0\0#q +JzP+IIC-\0M \0\0\17o\b<\96\0\0#q f93/kNaq-\0M \0\0\17o\bD\96\0\0#q LaNrWSqi-\0M \0\0\17o\bL\96\0\0#q ttajRqjb-\0M \0\0\17o\bT\96\0\0#q apmqtpS2-\0M \0\0\17o\b\\96\0\0#q qxVk1bUl-\0M \0\0\17o\bd\96\0\0#q WpNqLRWp-\0M \0\0\17o\bl\96\0\0#q ZqtJNKo1-\0M \0\0\17o\bt\96\0\0#q U0ttRsy2-\0M \0\0\17o\b|\96\0\0#q 0zVJqrG2-\0M \0\0\17o\b\84\96\0\0#q wBY1sVoL-\0M \0\0\17o\b\8c\96\0\0#q FUWJs1ik-\0M \0\0\17o\b\94\96\0\0#q LFTK0am2-\0M \0\0\17o\b\9c\96\0\0#q RVFYUrYN-\0M \0\0\17o\b¤\96\0\0#q FpNtTCoN-\0M \0\0\17o\b¬\96\0\0#q YjWpaFbG-\0M \0\0\17o\b´\96\0\0#q 0TKLTDY1-\0M \0\0\17o\b¼\96\0\0#q RrJSWwCV-\0M \0\0\17o\bÄ\96\0\0#q U1K0mkrG-\0M \0\0\17o\bÌ\96\0\0#q yUpUbZDV-\0M \0\0\17o\bÔ\96\0\0#q ikMW0bZk-\0M \0\0\17o\bÜ\96\0\0#q YotZMmZG-\0M \0\0\17o\bä\96\0\0#q LRsY0KIV-\0M \0\0\17o\bì\96\0\0#q iLGjRsUW-\0M \0\0\17o\bô\96\0\0#q xtRUzFiT-\0M \0\0\17o\bü\96\0\0#q QaisJEzI-\0M \0\0\17o\b\ 4\97\0\0#q aWTNYIjU-\0M \0\0\17o\b\f\97\0\0#q RhTZsyUW-\0M \0\0\17o\b\14\97\0\0#q xsUUlY2o-\0M \0\0\17o\b\1c\97\0\0#q yRsm1G1k-\0M \0\0\17o\b$\97\0\0#q 1MhLM2Q2-\0M \0\0\17o\b,\97\0\0#q gWRRMpDG-\0M \0\0\17o\b4\97\0\0#q E0zA0ktF-\0M \0\0\17o\b<\97\0\0#q BaZGyBET-\0M \0\0\17o\bD\97\0\0#q CCMgSEaj-\0M \0\0\17o\bL\97\0\0#q EWjaJKU2-\0M \0\0\17o\bT\97\0\0#q NqZFooxi-\0M \0\0\17o\b\\97\0\0#q okSIyMMU-\0M \0\0\17o\bd\97\0\0#q IWEaiMhQ-\0M \0\0\17o\bl\97\0\0#q oIiiqQmI-\0M \0\0\17o\bt\97\0\0#q YEkRhFpE-\0M \0\0\17o\b|\97\0\0#q hYqSGCLF-\0M \0\0\17o\b\84\97\0\0#q CKEMEEGT-\0M \0\0\17o\b\8c\97\0\0#q 9mvzf2fu-\0M \0\0\17o\b\94\97\0\0#q M6SFZC4Q-\0M \0\0\17o\b\9c\97\0\0#q d9fugRia-\0M \0\0\17o\b¤\97\0\0#q 8BBCIvlh-\0M \0\0\17o\b¬\97\0\0#q /UPmUoYB-\0M \0\0\17o\b´\97\0\0#q ieRgSMiP-\0M \0\0\17o\b¼\97\0\0#q A/zM5kG8-\0M \0\0\17o\bÄ\97\0\0#q 0OwWXxVB-\0M \0\0\17o\bÌ\97\0\0#q kDKCgX+v-\0M \0\0\17o\bÔ\97\0\0#q VRm/7UQI-\0M \0\0\17o\bÜ\97\0\0#q DInnOZ/v-\0M \0\0\17o\bä\97\0\0#q uDq/4D8+-\0M \0\0\17o\bì\97\0\0#q p51Kq1Jw-\0M \0\0\17o\bô\97\0\0#q /kWTzvI4-\0M \0\0\17o\bü\97\0\0#q d9a7SyLf-\0M \0\0\17o\b\ 4\98\0\0#q WstuvCsR-\0M \0\0\17o\b\f\98\0\0#q 8vO+Ve9W-\0M \0\0\17o\b\14\98\0\0#q pNJv7s7+-\0M \0\0\17o\b\1c\98\0\0#q fuL8JV+d-\0M \0\0\17o\b$\98\0\0#q boUuDPzE-\0M \0\0\17o\b,\98\0\0#q R7chJZ58-\0M \0\0\17o\b4\98\0\0#q smGb6bfH-\0M \0\0\17o\b<\98\0\0#q J+/wytuI-\0M \0\0\17o\bD\98\0\0#q dr6d7a47-\0M \0\0\17o\bL\98\0\0#q bq+tvU9u-\0M \0\0\17o\bT\98\0\0#q bKTxSujp-\0M \0\0\17o\b\\98\0\0#q WpbkOGAr-\0M \0\0\17o\bd\98\0\0#q KSYHFiSS-\0M \0\0\17o\bl\98\0\0#q fHgG2RPc-\0M \0\0\17o\bt\98\0\0#q G5lSlkRG-\0M \0\0\17o\b|\98\0\0#q brdlTVFV-\0M \0\0\17o\b\84\98\0\0#q eA1pC41W-\0M \0\0\17o\b\8c\98\0\0#q V8XE0QYW-\0M \0\0\17o\b\94\98\0\0#q bMrorO7D-\0M \0\0\17o\b\9c\98\0\0#q WTBoBRpg-\0M \0\0\17o\b¤\98\0\0#q yaqKdSFI-\0M \0\0\17o\b¬\98\0\0#q tuzQ+Qpm-\0M \0\0\17o\b´\98\0\0#q RRpSUkgk-\0M \0\0\17o\b¼\98\0\0#q AkgVhutQ-\0M \0\0\17o\bÄ\98\0\0#q k5vCYVVC-\0M \0\0\17o\bÌ\98\0\0#q 2pCBtTYc-\0M \0\0\17o\bÔ\98\0\0#q nZA1HRmQ-\0M \0\0\17o\bÜ\98\0\0#q 5KEKUJCj-\0M \0\0\17o\bä\98\0\0#q E441UykK-\0M \0\0\17o\bì\98\0\0#q rp04rW12-\0M \0\0\17o\bô\98\0\0#q EaksMjEq-\0M \0\0\17o\bü\98\0\0#q CmiOKKAi-\0M \0\0\17o\b\ 4\99\0\0#q IoVAjHHG-\0M \0\0\17o\b\f\99\0\0#q 4Oy2vMLF-\0M \0\0\17o\b\14\99\0\0#q phr2skml-\0M \0\0\17o\b\1c\99\0\0#q tbAj2yHt-\0M \0\0\17o\b$\99\0\0#q o+/C1qRS-\0M \0\0\17o\b,\99\0\0#q HQI0oYJy-\0M \0\0\17o\b4\99\0\0#q 4xPAK0hB-\0M \0\0\17o\b<\99\0\0#q hkBkzKGI-\0M \0\0\17o\bD\99\0\0#q DKfqR5fu-\0M \0\0\17o\bL\99\0\0#q 9Rb6jriP-\0M \0\0\17o\bT\99\0\0#q wFfrT57/-\0M \0\0\17o\b\\99\0\0#q BORRUS2u-\0M \0\0\17o\bd\99\0\0#q xaWe/23v-\0M \0\0\17o\bl\99\0\0#q w/VDRJUN-\0M \0\0\17o\bt\99\0\0#q DKbcoql9-\0M \0\0\17o\b|\99\0\0#q hR1STaoU-\0M \0\0\17o\b\84\99\0\0#q KFJAhAE0-\0M \0\0\17o\b\8c\99\0\0#q AZZLjCTR-\0M \0\0\17o\b\94\99\0\0#q 5qxIgYLh-\0M \0\0\17o\b\9c\99\0\0#q yUQktqwQ-\0M \0\0\17o\b¤\99\0\0#q 0LakMUoD-\0M \0\0\17o\b¬\99\0\0#q ZaYvf1dL-\0M \0\0\17o\b´\99\0\0#q 7/UTZGZS-\0M \0\0\17o\b¼\99\0\0#q t/h0bF8b-\0M \0\0\17o\bÄ\99\0\0#q OrkShINm-\0M \0\0\17o\bÌ\99\0\0#q UC5JVQoU-\0M \0\0\17o\bÔ\99\0\0#q LQdWFmEx-\0M \0\0\17o\bÜ\99\0\0#q ZOwxx6b/-\0M \0\0\17o\bä\99\0\0#q nrJEIzcA-\0M \0\0\17o\bì\99\0\0#q TXe9RX4u-\0M \0\0\17o\bô\99\0\0#q AjQuZbT7-\0M \0\0\17o\bü\99\0\0#q +8dvCcTe-\0M \0\0\17o\b\ 4\9a\0\0#q 970nE51j-\0M \0\0\17o\b\f\9a\0\0#q cmac2Wkt-\0M \0\0\17o\b\14\9a\0\0#q rRIBr8KK-\0M \0\0\17o\b\1c\9a\0\0#q qmFiShCh-\0M \0\0\17o\b$\9a\0\0#q QWsTPnID-\0M \0\0\17o\b,\9a\0\0#q 4M0CSyZe-\0M \0\0\17o\b4\9a\0\0#q 7rltE0/b-\0M \0\0\17o\b<\9a\0\0#q IvrM+YcP-\0M \0\0\17o\bD\9a\0\0#q thAH85JJ-\0M \0\0\17o\bL\9a\0\0#q 219mY5mj-\0M \0\0\17o\bT\9a\0\0#q PQZhiZDY-\0M \0\0\17o\b\\9a\0\0#q ZA1DzBlA-\0M \0\0\17o\bd\9a\0\0#q jUcjXvLL-\0M \0\0\17o\bl\9a\0\0#q 8BABMGVQ-\0M \0\0\17o\bt\9a\0\0#q h/A/vPwU-\0M \0\0\17o\b|\9a\0\0#q fqX/5kl6-\0M \0\0\17o\b\84\9a\0\0#q UGGJn8FC-\0M \0\0\17o\b\8c\9a\0\0#q P2GG+Qce-\0M \0\0\17o\b\94\9a\0\0#q VRTNvxzt-\0M \0\0\17o\b\9c\9a\0\0#q s75paBK7-\0M \0\0\17o\b¤\9a\0\0#q NzM7TzVV-\0M \0\0\17o\b¬\9a\0\0#q UzlIqqif-\0M \0\0\17o\b´\9a\0\0#q 8NJKRImR-\0M \0\0\17o\b¼\9a\0\0#q 08cg2cHr-\0M \0\0\17o\bÄ\9a\0\0#q QWxKYcNh-\0M \0\0\17o\bÌ\9a\0\0#q OjnHzz+Y-\0M \0\0\17o\bÔ\9a\0\0#q PyaL9PWN-\0M \0\0\17o\bÜ\9a\0\0#q rPR37fFa-\0M \0\0\17o\bä\9a\0\0#q Hr23fpcy-\0M \0\0\17o\bì\9a\0\0#q +YYGWlsu-\0M \0\0\17o\bô\9a\0\0#q Qf4q7bXF-\0M \0\0\17o\bü\9a\0\0#q jzjZ66t5-\0M \0\0\17o\b\ 4\9b\0\0#q DEnZsqLU-\0M \0\0\17o\b\f\9b\0\0#q ixYlKiy0-\0M \0\0\17o\b\14\9b\0\0#q ibZsjalZ-\0M \0\0\17o\b\1c\9b\0\0#q amaizKs1-\0M \0\0\17o\b$\9b\0\0#q laSpmk2r-\0M \0\0\17o\b,\9b\0\0#q atltZbWS-\0M \0\0\17o\b4\9b\0\0#q ta0bazUr-\0M \0\0\17o\b<\9b\0\0#q FJs0ttal-\0M \0\0\17o\bD\9b\0\0#q azaQUhKg-\0M \0\0\17o\bL\9b\0\0#q lSUAqyQo-\0M \0\0\17o\bT\9b\0\0#q WSKtotVY-\0M \0\0\17o\b\\9b\0\0#q tSmoyW22-\0M \0\0\17o\bd\9b\0\0#q 0arUsoo1-\0M \0\0\17o\bl\9b\0\0#q tpLaNtMs-\0M \0\0\17o\bt\9b\0\0#q mtaaYsVT-\0M \0\0\17o\b|\9b\0\0#q bS2UtJgr-\0M \0\0\17o\b\84\9b\0\0#q am22rCkS-\0M \0\0\17o\b\8c\9b\0\0#q qQSxISyQ-\0M \0\0\17o\b\94\9b\0\0#q S0FSSyM1-\0M \0\0\17o\b\9c\9b\0\0#q KaS2laa0-\0M \0\0\17o\b¤\9b\0\0#q lhNFGhYW-\0M \0\0\17o\b¬\9b\0\0#q igRULZFi-\0M \0\0\17o\b´\9b\0\0#q yykqoCxF-\0M \0\0\17o\b¼\9b\0\0#q BKRFSItC-\0M \0\0\17o\bÄ\9b\0\0#q rIUWLKak-\0M \0\0\17o\bÌ\9b\0\0#q ppY2WbY2-\0M \0\0\17o\bÔ\9b\0\0#q tps1pm2y-\0M \0\0\17o\bÜ\9b\0\0#q mqbabbLN-\0M \0\0\17o\bä\9b\0\0#q iZojaZkr-\0M \0\0\17o\bì\9b\0\0#q FMKZrKza-\0M \0\0\17o\bô\9b\0\0#q WVptZtpp-\0M \0\0\17o\bü\9b\0\0#q ijZNM2Sz-\0M \0\0\17o\b\ 4\9c\0\0#q KmmxsRab-\0M \0\0\17o\b\f\9c\0\0#q LZs2K1NV-\0M \0\0\17o\b\14\9c\0\0#q qWqEzMlJ-\0M \0\0\17o\b\1c\9c\0\0#q tmqVRjVN-\0M \0\0\17o\b$\9c\0\0#q ZWllSVLM-\0M \0\0\17o\b,\9c\0\0#q 0LNNZpal-\0M \0\0\17o\b4\9c\0\0#q ZokSlltL-\0M \0\0\17o\b<\9c\0\0#q asJRUqop-\0M \0\0\17o\bD\9c\0\0#q UpZIElIE-\0M \0\0\17o\bL\9c\0\0#q lkqrYjVi-\0M \0\0\17o\bT\9c\0\0#q 0aSNqWmL-\0M \0\0\17o\b\\9c\0\0#q KpslJtFR-\0M \0\0\17o\bd\9c\0\0#q BbSbbMy1-\0M \0\0\17o\bl\9c\0\0#q KoplRspa-\0M \0\0\17o\bt\9c\0\0#q NlNUrNUa-\0M \0\0\17o\b|\9c\0\0#q aak2mpVF-\0M \0\0\17o\b\84\9c\0\0#q TZVGxk2a-\0M \0\0\17o\b\8c\9c\0\0#q GTSWmzaC-\0M \0\0\17o\b\94\9c\0\0#q pKbNJW2W-\0M \0\0\17o\b\9c\9c\0\0#q qWqKMmNk-\0M \0\0\17o\b¤\9c\0\0#q 1GkKUtk2-\0M \0\0\17o\b¬\9c\0\0#q ysrLNs2W-\0M \0\0\17o\b´\9c\0\0#q wyrMqKpq-\0M \0\0\17o\b¼\9c\0\0#q ZmmmKxtm-\0M \0\0\17o\bÄ\9c\0\0#q qayKZlUk-\0M \0\0\17o\bÌ\9c\0\0#q qNltKlRS-\0M \0\0\17o\bÔ\9c\0\0#q m2StUtbL-\0M \0\0\17o\bÜ\9c\0\0#q WxTNUqls-\0M \0\0\17o\bä\9c\0\0#q po1ZtltN-\0M \0\0\17o\bì\9c\0\0#q KRIqGm0t-\0M \0\0\17o\bô\9c\0\0#q lRtNmmal-\0M \0\0\17o\bü\9c\0\0#q NGZYybMo-\0M \0\0\17o\b\ 4\9d\0\0#q zNNKkxpI-\0M \0\0\17o\b\f\9d\0\0#q 2i2ULJqU-\0M \0\0\17o\b\14\9d\0\0#q rGyyxJsl-\0M \0\0\17o\b\1c\9d\0\0#q NGpZmtNS-\0M \0\0\17o\b$\9d\0\0#q srNWZY22-\0M \0\0\17o\b,\9d\0\0#q 2yttmrVN-\0M \0\0\17o\b4\9d\0\0#q TbWZZMms-\0M \0\0\17o\b<\9d\0\0#q 2lllbKst-\0M \0\0\17o\bD\9d\0\0#q pmrNMUmp-\0M \0\0\17o\bL\9d\0\0#q KqUtptKy-\0M \0\0\17o\bT\9d\0\0#q aplKbRSb-\0M \0\0\17o\b\\9d\0\0#q JbLNplZt-\0M \0\0\17o\bd\9d\0\0#q qM1KKbab-\0M \0\0\17o\bl\9d\0\0#q U1ZSUAmU-\0M \0\0\17o\bt\9d\0\0#q axpZjUkh-\0M \0\0\17o\b|\9d\0\0#q UmyZmxbR-\0M \0\0\17o\b\84\9d\0\0#q SltNsrMq-\0M \0\0\17o\b\8c\9d\0\0#q qVbNtslS-\0M \0\0\17o\b\94\9d\0\0#q ptEzVrMq-\0M \0\0\17o\b\9c\9d\0\0#q aazNpmkq-\0M \0\0\17o\b¤\9d\0\0#q ZsxExpJS-\0M \0\0\17o\b¬\9d\0\0#q k1itlWqa-\0M \0\0\17o\b´\9d\0\0#q y1KppYop-\0M \0\0\17o\b¼\9d\0\0#q MUkkkmbL-\0M \0\0\17o\bÄ\9d\0\0#q NlMymsxS-\0M \0\0\17o\bÌ\9d\0\0#q 0TKlNjKb-\0M \0\0\17o\bÔ\9d\0\0#q A1TLLLU0-\0M \0\0\17o\bÜ\9d\0\0#q lTWalTNM-\0M \0\0\17o\bä\9d\0\0#q ilKmys2Z-\0M \0\0\17o\bì\9d\0\0#q Y2mqViUV-\0M \0\0\17o\bô\9d\0\0#q KSyksmap-\0M \0\0\17o\bü\9d\0\0#q VNqSJRqx-\0M \0\0\17o\b\ 4\9e\0\0#q ZSyylMlS-\0M \0\0\17o\b\f\9e\0\0#q yLFSWRUl-\0M \0\0\17o\b\14\9e\0\0#q iWKLJPR4-\0M \0\0\17o\b\1c\9e\0\0#q 87tzxPbv-\0M \0\0\17o\b$\9e\0\0#q pf6y887/-\0M \0\0\17o\b,\9e\0\0#q zT6h9Umf-\0M \0\0\17o\b4\9e\0\0#q Sx2PLPXL-\0M \0\0\17o\b<\9e\0\0#q E2t67TNb-\0M \0\0\17o\bD\9e\0\0#q +d8616jt-\0M \0\0\17o\bL\9e\0\0#q tPkeNmjO-\0M \0\0\17o\bT\9e\0\0#q nd2bULjn-\0M \0\0\17o\b\\9e\0\0#q N/5x19I3-\0M \0\0\17o\bd\9e\0\0#q dES+7KaA-\0M \0\0\17o\bl\9e\0\0#q HB8sg9Oa-\0M \0\0\17o\bt\9e\0\0#q IHogcFmo-\0M \0\0\17o\b|\9e\0\0#q wcPkd56v-\0M \0\0\17o\b\84\9e\0\0#q 4UKiqJhg-\0M \0\0\17o\b\8c\9e\0\0#q oAU9AHxY-\0M \0\0\17o\b\94\9e\0\0#q iJSboAuO-\0M \0\0\17o\b\9c\9e\0\0#q 2tYkauzY-\0M \0\0\17o\b¤\9e\0\0#q owUsXVGV-\0M \0\0\17o\b¬\9e\0\0#q lc0nYOpi-\0M \0\0\17o\b´\9e\0\0#q hEKtGCEL-\0M \0\0\17o\b¼\9e\0\0#q stXcQR40-\0M \0\0\17o\bÄ\9e\0\0#q ZwxcKms+-\0M \0\0\17o\bÌ\9e\0\0#q 7pFjCoGn-\0M \0\0\17o\bÔ\9e\0\0#q lWDFSsND-\0M \0\0\17o\bÜ\9e\0\0#q I2M37zbD-\0M \0\0\17o\bä\9e\0\0#q fLv3avdl-\0M \0\0\17o\bì\9e\0\0#q nZZ+BC52-\0M \0\0\17o\bô\9e\0\0#q UzTjZKLt-\0M \0\0\17o\bü\9e\0\0#q h+Xpejoa-\0M \0\0\17o\b\ 4\9f\0\0#q OcVlvLIp-\0M \0\0\17o\b\f\9f\0\0#q Bt0bICZG-\0M \0\0\17o\b\14\9f\0\0#q x12W3Mem-\0M \0\0\17o\b\1c\9f\0\0#q DI+BEABp-\0M \0\0\17o\b$\9f\0\0#q XP87P4rJ-\0M \0\0\17o\b,\9f\0\0#q iq/on3uc-\0M \0\0\17o\b4\9f\0\0#q mKl3H2qk-\0M \0\0\17o\b<\9f\0\0#q VoDOXeBV-\0M \0\0\17o\bD\9f\0\0#q IHThRlRW-\0M \0\0\17o\bL\9f\0\0#q oIeneSsF-\0M \0\0\17o\bT\9f\0\0#q b5P81QBg-\0M \0\0\17o\b\\9f\0\0#q JOLBARAX-\0M \0\0\17o\bd\9f\0\0#q 3nH8/r/f-\0M \0\0\17o\bl\9f\0\0#q 8w3ilqIG-\0M \0\0\17o\bt\9f\0\0#q YIs2ETpW-\0M \0\0\17o\b|\9f\0\0#q jUrVBz3a-\0M \0\0\17o\b\84\9f\0\0#q p+abPKWH-\0M \0\0\17o\b\8c\9f\0\0#q pLM3ltPx-\0M \0\0\17o\b\94\9f\0\0#q /+N/Wbt1-\0M \0\0\17o\b\9c\9f\0\0#q NbzHN6yn-\0M \0\0\17o\b¤\9f\0\0#q 49NkVXLj-\0M \0\0\17o\b¬\9f\0\0#q Hsi0YsxW-\0M \0\0\17o\b´\9f\0\0#q Yxt0mpP5-\0M \0\0\17o\b¼\9f\0\0#q liJ0D/BK-\0M \0\0\17o\bÄ\9f\0\0#q 861JPxVJ-\0M \0\0\17o\bÌ\9f\0\0#q KrrKd1DE-\0M \0\0\17o\bÔ\9f\0\0#q sjkf2fd+-\0M \0\0\17o\bÜ\9f\0\0#q E1sqc+0G-\0M \0\0\17o\bä\9f\0\0#q 02nKaZP3-\0M \0\0\17o\bì\9f\0\0#q /wWYV/JK-\0M \0\0\17o\bô\9f\0\0#q hVSKU/9f-\0M \0\0\17o\bü\9f\0\0#q 2kP+Es6z-\0M \0\0\17o\b\ 4 \0\0#q 7k/gUksW-\0M \0\0\17o\b\f \0\0#q JYe1an/9-\0M \0\0\17o\b\14 \0\0#q 21pBsrUd-\0M \0\0\17o\b\1c \0\0#q XyfSH+6h-\0M \0\0\17o\b$ \0\0#q 3N4k/jE5-\0M \0\0\17o\b, \0\0#q ItS1VTka-\0M \0\0\17o\b4 \0\0#q jSXnZgf5-\0M \0\0\17o\b< \0\0#q UtgpKk2j-\0M \0\0\17o\bD \0\0#q axZibyd4-\0M \0\0\17o\bL \0\0#q 83LeR6x6-\0M \0\0\17o\bT \0\0#q +RPw/T0l-\0M \0\0\17o\b\ \0\0#q WWVLOy4k-\0M \0\0\17o\bd \0\0#q 54wllqVW-\0M \0\0\17o\bl \0\0#q tTTUvHd5-\0M \0\0\17o\bt \0\0#q G6VXZwcL-\0M \0\0\17o\b| \0\0#q VpZCyOyS-\0M \0\0\17o\b\84 \0\0#q qT/VUqI2-\0M \0\0\17o\b\8c \0\0#q a3OjB+BJ-\0M \0\0\17o\b\94 \0\0#q /c5vJ17x-\0M \0\0\17o\b\9c \0\0#q aYezrA2W-\0M \0\0\17o\b¤ \0\0#q Tu8JipWJ-\0M \0\0\17o\b¬ \0\0#q 34en5WST-\0M \0\0\17o\b´ \0\0#q hOGGFkqs-\0M \0\0\17o\b¼ \0\0#q lgxWw1Ri-\0M \0\0\17o\bÄ \0\0#q yit2TjUk-\0M \0\0\17o\bÌ \0\0#q 4m2SJs+3-\0M \0\0\17o\bÔ \0\0#q WFSYNQcR-\0M \0\0\17o\bÜ \0\0#q 9lN+j4j1-\0M \0\0\17o\bä \0\0#q noP93VyH-\0M \0\0\17o\bì \0\0#q CfI7cNMS-\0M \0\0\17o\bô \0\0#q ZzH2ZNRT-\0M \0\0\17o\bü \0\0#q hulseIk/-\0M \0\0\17o\b\ 4¡\0\0#q yU5KdXt9-\0M \0\0\17o\b\f¡\0\0#q v7zmbk+g-\0M \0\0\17o\b\14¡\0\0#q jtO690cS-\0M \0\0\17o\b\1c¡\0\0#q QSoFfmme-\0M \0\0\17o\b$¡\0\0#q BxfI+vqG-\0M \0\0\17o\b,¡\0\0#q sirzNH5C-\0M \0\0\17o\b4¡\0\0#q +xTw2WGG-\0M \0\0\17o\b<¡\0\0#q HE0X+u17-\0M \0\0\17o\bD¡\0\0#q 6U0uLoPT-\0M \0\0\17o\bL¡\0\0#q OEn+qsbD-\0M \0\0\17o\bT¡\0\0#q vaA4s+lX-\0M \0\0\17o\b\¡\0\0#q 8EqpJzPr-\0M \0\0\17o\bd¡\0\0#q H0sloeXR-\0M \0\0\17o\bl¡\0\0#q 1c9OiqmX-\0M \0\0\17o\bt¡\0\0#q er0zgSe5-\0M \0\0\17o\b|¡\0\0#q ZrT6ScTD-\0M \0\0\17o\b\84¡\0\0#q ZPxHCbPN-\0M \0\0\17o\b\8c¡\0\0#q 0R5uo6u0-\0M \0\0\17o\b\94¡\0\0#q 7SaTyP+1-\0M \0\0\17o\b\9c¡\0\0#q LS2qfont-\0M \0\0\17o\b¤¡\0\0#q I4sTqU/n-\0M \0\0\17o\b¬¡\0\0#q Onq3gQE3-\0M \0\0\17o\b´¡\0\0#q PlZlmWZR-\0M \0\0\17o\b¼¡\0\0#q JYUsqyJ2-\0M \0\0\17o\bÄ¡\0\0#q P6PJ+L5/-\0M \0\0\17o\bÌ¡\0\0#q D8Jssqnh-\0M \0\0\17o\bÔ¡\0\0#q 8+u+2ca0-\0M \0\0\17o\bÜ¡\0\0#q nxwRAJ32-\0M \0\0\17o\bä¡\0\0#q knCcvhmY-\0M \0\0\17o\bì¡\0\0#q ySY8DlHw-\0M \0\0\17o\bô¡\0\0#q PRZOyxVS-\0M \0\0\17o\bü¡\0\0#q qrmc5yn+-\0M \0\0\17o\b\ 4¢\0\0#q vVN35FkO-\0M \0\0\17o\b\f¢\0\0#q yvNZM/OR-\0M \0\0\17o\b\14¢\0\0#q PMmjIkxN-\0M \0\0\17o\b\1c¢\0\0#q tLVRf1qQ-\0M \0\0\17o\b$¢\0\0#q 3ksieqJL-\0M \0\0\17o\b,¢\0\0#q 38h25Pbe-\0M \0\0\17o\b4¢\0\0#q ROj0cV6G-\0M \0\0\17o\b<¢\0\0#q FHWIPN2q-\0M \0\0\17o\bD¢\0\0#q xXorv7Oc-\0M \0\0\17o\bL¢\0\0#q ifauTZXz-\0M \0\0\17o\bT¢\0\0#q YwjFM+LP-\0M \0\0\17o\b\¢\0\0#q NWr/a58p-\0M \0\0\17o\bd¢\0\0#q 5xuD9uXn-\0M \0\0\17o\bl¢\0\0#q 6b8HdXj7-\0M \0\0\17o\bt¢\0\0#q TiR9vZIw-\0M \0\0\17o\b|¢\0\0#q 7HVkmGI8-\0M \0\0\17o\b\84¢\0\0#q 569eqqvk-\0M \0\0\17o\b\8c¢\0\0#q P0vhi5cx-\0M \0\0\17o\b\94¢\0\0#q U9euWvzV-\0M \0\0\17o\b\9c¢\0\0#q 52lG6lLC-\0M \0\0\17o\b¤¢\0\0#q SmYWK8co-\0M \0\0\17o\b¬¢\0\0#q eiN0jxIm-\0M \0\0\17o\b´¢\0\0#q MiT1bT9F-\0M \0\0\17o\b¼¢\0\0#q ffylTz7S-\0M \0\0\17o\bÄ¢\0\0#q Rs5vwq1O-\0M \0\0\17o\bÌ¢\0\0#q E1BPxdk4-\0M \0\0\17o\bÔ¢\0\0#q PSI/RJu9-\0M \0\0\17o\bÜ¢\0\0#q WoSzsTH6-\0M \0\0\17o\bä¢\0\0#q v0nJ8nrz-\0M \0\0\17o\bì¢\0\0#q i+ITko3S-\0M \0\0\17o\bô¢\0\0#q qSvxOJ2n-\0M \0\0\17o\bü¢\0\0#q ukqKkpNL-\0M \0\0\17o\b\ 4£\0\0#q Hec/hfS3-\0M \0\0\17o\b\f£\0\0#q JEnzWJ39-\0M \0\0\17o\b\14£\0\0#q PoktklpW-\0M \0\0\17o\b\1c£\0\0#q MyyPh/0T-\0M \0\0\17o\b$£\0\0#q c9E9Kdo5-\0M \0\0\17o\b,£\0\0#q IemeY1NR-\0M \0\0\17o\b4£\0\0#q +smI8T/d-\0M \0\0\17o\b<£\0\0#q PNYrc5nX-\0M \0\0\17o\bD£\0\0#q v9t9sHUa-\0M \0\0\17o\bL£\0\0#q mQsqCq1P-\0M \0\0\17o\bT£\0\0#q emmmTVTe-\0M \0\0\17o\b\£\0\0#q R5UqqSop-\0M \0\0\17o\bd£\0\0#q SlKWFOYa-\0M \0\0\17o\bl£\0\0#q L87JVmxy-\0M \0\0\17o\bt£\0\0#q cMd8wy5f-\0M \0\0\17o\b|£\0\0#q M2Yw/RXl-\0M \0\0\17o\b\84£\0\0#q 8vbb5SVb-\0M \0\0\17o\b\8c£\0\0#q u3zORyjj-\0M \0\0\17o\b\94£\0\0#q G3DhlMKM-\0M \0\0\17o\b\9c£\0\0#q 111l6sSk-\0M \0\0\17o\b¤£\0\0#q +BAMLpSj-\0M \0\0\17o\b¬£\0\0#q qdn8I5U+-\0M \0\0\17o\b´£\0\0#q moXwXX5p-\0M \0\0\17o\b¼£\0\0#q 0Z+Ev8Zh-\0M \0\0\17o\bÄ£\0\0#q 48/wLRnq-\0M \0\0\17o\bÌ£\0\0#q sVOvKupu-\0M \0\0\17o\bÔ£\0\0#q 7tEKFfaN-\0M \0\0\17o\bÜ£\0\0#q wYH8/Ci1-\0M \0\0\17o\bä£\0\0#q xHTYAbRE-\0M \0\0\17o\bì£\0\0#q OEoEoBMb-\0M \0\0\17o\bô£\0\0#q tSSnI7Qn-\0M \0\0\17o\bü£\0\0#q HvPpNvIr-\0M \0\0\17o\b\ 4¤\0\0#q SaUlVwno-\0M \0\0\17o\b\f¤\0\0#q cA2T6JPx-\0M \0\0\17o\b\14¤\0\0#q Oc9Hjj80-\0M \0\0\17o\b\1c¤\0\0#q 5OqKqKTK-\0M \0\0\17o\b$¤\0\0#q Mtvz7PuS-\0M \0\0\17o\b,¤\0\0#q a/Ze7Y4T-\0M \0\0\17o\b4¤\0\0#q Xj0keaMV-\0M \0\0\17o\b<¤\0\0#q JIBO6TUt-\0M \0\0\17o\bD¤\0\0#q Nbu22/rK-\0M \0\0\17o\bL¤\0\0#q Ik20pV+z-\0M \0\0\17o\bT¤\0\0#q X62sR+LT-\0M \0\0\17o\b\¤\0\0#q YvA/nP8S-\0M \0\0\17o\bd¤\0\0#q /x/z/y/t-\0M \0\0\17o\bl¤\0\0#q /m/n/s/o-\0M \0\0\17o\bt¤\0\0#q zh/TTT0z-\0M \0\0\17o\b|¤\0\0#q NN8l832e-\0M \0\0\17o\b\84¤\0\0#q eZrP1ft7-\0M \0\0\17o\b\8c¤\0\0#q l855ZP0+-\0M \0\0\17o\b\94¤\0\0#q 7P2fht+M-\0M \0\0\17o\b\9c¤\0\0#q ct5xlvGp-\0M \0\0\17o\b¤¤\0\0#q yPw3YySS-\0M \0\0\17o\b¬¤\0\0#q q45XU1bS-\0M \0\0\17o\b´¤\0\0#q yrab5ycr-\0M \0\0\17o\b¼¤\0\0#q jjicbfT6-\0M \0\0\17o\bĤ\0\0#q o/FPun2h-\0M \0\0\17o\b̤\0\0#q kqLVQZw1-\0M \0\0\17o\bÔ¤\0\0#q OrdGyq/A-\0M \0\0\17o\bܤ\0\0#q mFG8iUYm-\0M \0\0\17o\bä¤\0\0#q GjHDOy2Y-\0M \0\0\17o\bì¤\0\0#q stLLBnKV-\0M \0\0\17o\bô¤\0\0#q ZJvoZpv/-\0M \0\0\17o\bü¤\0\0#q dskjgWfX-\0M \0\0\17o\b\ 4¥\0\0#q 0jmmn+XT-\0M \0\0\17o\b\f¥\0\0#q 9EpEKhcA-\0M \0\0\17o\b\14¥\0\0#q UlB/eYz+-\0M \0\0\17o\b\1c¥\0\0#q SbNu4qNS-\0M \0\0\17o\b$¥\0\0#q SEC7hItG-\0M \0\0\17o\b,¥\0\0#q yfhotsOA-\0M \0\0\17o\b4¥\0\0#q f9SwdHA8-\0M \0\0\17o\b<¥\0\0#q hOJqR/Dy-\0M \0\0\17o\bD¥\0\0#q aGA0EVqI-\0M \0\0\17o\bL¥\0\0#q SKD6AWMb-\0M \0\0\17o\bT¥\0\0#q IK+iFwiW-\0M \0\0\17o\b\¥\0\0#q ZNpCAwgF-\0M \0\0\17o\bd¥\0\0#q lSy1TRu/-\0M \0\0\17o\bl¥\0\0#q m2NnOmMX-\0M \0\0\17o\bt¥\0\0#q FK6UuExR-\0M \0\0\17o\b|¥\0\0#q VkRZMoar-\0M \0\0\17o\b\84¥\0\0#q /6uXRP9P-\0M \0\0\17o\b\8c¥\0\0#q 7ZP87LZw-\0M \0\0\17o\b\94¥\0\0#q Yx0FWaYU-\0M \0\0\17o\b\9c¥\0\0#q 5vlVTqmn-\0M \0\0\17o\b¤¥\0\0#q h1eev7sz-\0M \0\0\17o\b¬¥\0\0#q JOiq4lea-\0M \0\0\17o\b´¥\0\0#q II1cL9t5-\0M \0\0\17o\b¼¥\0\0#q 1vM2+LzX-\0M \0\0\17o\bÄ¥\0\0#q lfVqKWyp-\0M \0\0\17o\bÌ¥\0\0#q WvCVPQwS-\0M \0\0\17o\bÔ¥\0\0#q cjU2St+k-\0M \0\0\17o\bÜ¥\0\0#q Oba054lw-\0M \0\0\17o\bä¥\0\0#q kpIqTJm2-\0M \0\0\17o\bì¥\0\0#q mrtWuoYN-\0M \0\0\17o\bô¥\0\0#q ioqjXh9Z-\0M \0\0\17o\bü¥\0\0#q Ccg4fauR-\0M \0\0\17o\b\ 4¦\0\0#q yifOQnf6-\0M \0\0\17o\b\f¦\0\0#q SGRSfxqd-\0M \0\0\17o\b\14¦\0\0#q VrKlWU2q-\0M \0\0\17o\b\1c¦\0\0#q UzZplGsp-\0M \0\0\17o\b$¦\0\0#q rUmLRsRa-\0M \0\0\17o\b,¦\0\0#q jVG1FqI0-\0M \0\0\17o\b4¦\0\0#q mwhqNsVY-\0M \0\0\17o\b<¦\0\0#q 0VqNYxgA-\0M \0\0\17o\bD¦\0\0#q SIkzAhPb-\0M \0\0\17o\bL¦\0\0#q KKjCrJLV-\0M \0\0\17o\bT¦\0\0#q vcYYOJOH-\0M \0\0\17o\b\¦\0\0#q +vt9D6MO-\0M \0\0\17o\bd¦\0\0#q VhCbzFWO-\0M \0\0\17o\bl¦\0\0#q 4yRsEfXv-\0M \0\0\17o\bt¦\0\0#q zBp0P+0m-\0M \0\0\17o\b|¦\0\0#q 6q/l61TU-\0M \0\0\17o\b\84¦\0\0#q NMPwDbP4-\0M \0\0\17o\b\8c¦\0\0#q A4ZborpX-\0M \0\0\17o\b\94¦\0\0#q A29kUhEL-\0M \0\0\17o\b\9c¦\0\0#q Xpos8r3d-\0M \0\0\17o\b¤¦\0\0#q rnud3G50-\0M \0\0\17o\b¬¦\0\0#q Si5VJtef-\0M \0\0\17o\b´¦\0\0#q j+9ZVvVR-\0M \0\0\17o\b¼¦\0\0#q lXCz1Xg6-\0M \0\0\17o\bĦ\0\0#q KThMk4mm-\0M \0\0\17o\b̦\0\0#q /BxViVUb-\0M \0\0\17o\bÔ¦\0\0#q KrUw0nSU-\0M \0\0\17o\bܦ\0\0#q xVm8OjGc-\0M \0\0\17o\bä¦\0\0#q hs/DpN49-\0M \0\0\17o\bì¦\0\0#q 5AGe5+K5-\0M \0\0\17o\bô¦\0\0#q OvXzvbUN-\0M \0\0\17o\bü¦\0\0#q NMVStZlS-\0M \0\0\17o\b\ 4§\0\0#q c5ucwd3W-\0M \0\0\17o\b\f§\0\0#q l4u1dm3W-\0M \0\0\17o\b\14§\0\0#q lJobdG41-\0M \0\0\17o\b\1c§\0\0#q bAbKyodI-\0M \0\0\17o\b$§\0\0#q BU0lRgRg-\0M \0\0\17o\b,§\0\0#q W0aw1kwV-\0M \0\0\17o\b4§\0\0#q rIutSyFW-\0M \0\0\17o\b<§\0\0#q Nio1Fc3U-\0M \0\0\17o\bD§\0\0#q KqqpRju5-\0M \0\0\17o\bL§\0\0#q Aadp5fl5-\0M \0\0\17o\bT§\0\0#q udRTjI1J-\0M \0\0\17o\b\§\0\0#q PdwpAh5+-\0M \0\0\17o\bd§\0\0#q pEn8lE/g-\0M \0\0\17o\bl§\0\0#q wPC4SP7y-\0M \0\0\17o\bt§\0\0#q Q/wfmhzK-\0M \0\0\17o\b|§\0\0#q 6WLcLLBf-\0M \0\0\17o\b\84§\0\0#q zaejXg5N-\0M \0\0\17o\b\8c§\0\0#q ROtJbDGT-\0M \0\0\17o\b\94§\0\0#q LY1NWSMQ-\0M \0\0\17o\b\9c§\0\0#q 3kPP8tNl-\0M \0\0\17o\b¤§\0\0#q bsFLO0kh-\0M \0\0\17o\b¬§\0\0#q JHEnOD8i-\0M \0\0\17o\b´§\0\0#q IBLHY5E5-\0M \0\0\17o\b¼§\0\0#q Vaioqq6m-\0M \0\0\17o\bħ\0\0#q HOzViRnO-\0M \0\0\17o\b̧\0\0#q TJDV5noj-\0M \0\0\17o\bÔ§\0\0#q 3lYCpbB/-\0M \0\0\17o\bܧ\0\0#q UKCPiSPR-\0M \0\0\17o\bä§\0\0#q FBjGEsHZ-\0M \0\0\17o\bì§\0\0#q XWOmMUqq-\0M \0\0\17o\bô§\0\0#q oqjVmVmo-\0M \0\0\17o\bü§\0\0#q GFKNXF5U-\0M \0\0\17o\b\ 4¨\0\0#q qRqditja-\0M \0\0\17o\b\f¨\0\0#q VqjRtTTJ-\0M \0\0\17o\b\14¨\0\0#q JCSNK2SI-\0M \0\0\17o\b\1c¨\0\0#q BLIlcoL9-\0M \0\0\17o\b$¨\0\0#q 3JoaGmSY-\0M \0\0\17o\b,¨\0\0#q ppju7taV-\0M \0\0\17o\b4¨\0\0#q JZUVshVK-\0M \0\0\17o\b<¨\0\0#q nwaD0EH7-\0M \0\0\17o\bD¨\0\0#q hMmp/h+o-\0M \0\0\17o\bL¨\0\0#q Pbiejj/L-\0M \0\0\17o\bT¨\0\0#q CXLxi+sY-\0M \0\0\17o\b\¨\0\0#q 57t+Gq/c-\0M \0\0\17o\bd¨\0\0#q ILqWSklk-\0M \0\0\17o\bl¨\0\0#q sgVasVYd-\0M \0\0\17o\bt¨\0\0#q Ki3aLGlc-\0M \0\0\17o\b|¨\0\0#q q4fh/b/0-\0M \0\0\17o\b\84¨\0\0#q JI17/hz9-\0M \0\0\17o\b\8c¨\0\0#q I5p2kpb6-\0M \0\0\17o\b\94¨\0\0#q oqMezcw1-\0M \0\0\17o\b\9c¨\0\0#q GWkqUylk-\0M \0\0\17o\b¤¨\0\0#q KqYsxkpU-\0M \0\0\17o\b¬¨\0\0#q qrKj6ahm-\0M \0\0\17o\b´¨\0\0#q lf3ytR/Q-\0M \0\0\17o\b¼¨\0\0#q MwpaUHB8-\0M \0\0\17o\bĨ\0\0#q iNiv9K/z-\0M \0\0\17o\b̨\0\0#q 0K6HAP93-\0M \0\0\17o\bÔ¨\0\0#q CkfDPEO0-\0M \0\0\17o\bܨ\0\0#q tLILS0pZ-\0M \0\0\17o\bä¨\0\0#q tCxDEo+s-\0M \0\0\17o\bì¨\0\0#q mm6SnpFq-\0M \0\0\17o\bô¨\0\0#q PN8mB8k8-\0M \0\0\17o\bü¨\0\0#q 4m6eFkLP-\0M \0\0\17o\b\ 4©\0\0#q r2/b9vvq-\0M \0\0\17o\b\f©\0\0#q 30sMxTJb-\0M \0\0\17o\b\14©\0\0#q KbV41vET-\0M \0\0\17o\b\1c©\0\0#q NRjrYhAm-\0M \0\0\17o\b$©\0\0#q 0Kmypb2o-\0M \0\0\17o\b,©\0\0#q zMJGlqo0-\0M \0\0\17o\b4©\0\0#q oyt7s1+Z-\0M \0\0\17o\b<©\0\0#q qRGE5GDh-\0M \0\0\17o\bD©\0\0#q x9HdIoQm-\0M \0\0\17o\bL©\0\0#q hH5pdOT8-\0M \0\0\17o\bT©\0\0#q GMwPVn9c-\0M \0\0\17o\b\©\0\0#q d2LOKocJ-\0M \0\0\17o\bd©\0\0#q YqpE2fJi-\0M \0\0\17o\bl©\0\0#q bmxMRhVj-\0M \0\0\17o\bt©\0\0#q dipjJLKx-\0M \0\0\17o\b|©\0\0#q v8lUwhE3-\0M \0\0\17o\b\84©\0\0#q F+9vM/Z+-\0M \0\0\17o\b\8c©\0\0#q 96zDku8j-\0M \0\0\17o\b\94©\0\0#q uRY8Zkyg-\0M \0\0\17o\b\9c©\0\0#q VpQhCSGE-\0M \0\0\17o\b¤©\0\0#q 5vWjeiSS-\0M \0\0\17o\b¬©\0\0#q O8ZFx43q-\0M \0\0\17o\b´©\0\0#q YwI0q4xe-\0M \0\0\17o\b¼©\0\0#q FMojCEBo-\0M \0\0\17o\bÄ©\0\0#q YwhDwpBe-\0M \0\0\17o\bÌ©\0\0#q iHCkNkSi-\0M \0\0\17o\bÔ©\0\0#q hsIJhUNu-\0M \0\0\17o\bÜ©\0\0#q ES4aChQw-\0M \0\0\17o\bä©\0\0#q WFNLDYrS-\0M \0\0\17o\bì©\0\0#q qqVumBhK-\0M \0\0\17o\bô©\0\0#q 0xiN2qw0-\0M \0\0\17o\bü©\0\0#q 2aBvWoQR-\0M \0\0\17o\b\ 4ª\0\0#q kbNJJAkj-\0M \0\0\17o\b\fª\0\0#q HBk/f0jB-\0M \0\0\17o\b\14ª\0\0#q i0Qj3tra-\0M \0\0\17o\b\1cª\0\0#q sZSWJAAB-\0M \0\0\17o\b$ª\0\0#q GGhpyETY-\0M \0\0\17o\b,ª\0\0#q 2mx2GGOb-\0M \0\0\17o\b4ª\0\0#q pTObWrb3-\0M \0\0\17o\b<ª\0\0#q 51Vt6QUR-\0M \0\0\17o\bDª\0\0#q N7vvOMuZ-\0M \0\0\17o\bLª\0\0#q MryvV8es-\0M \0\0\17o\bTª\0\0#q vd69S9JG-\0M \0\0\17o\b\ª\0\0#q xrTRiEw0-\0M \0\0\17o\bdª\0\0#q k5hoCqjC-\0M \0\0\17o\blª\0\0#q Fy3INRaq-\0M \0\0\17o\btª\0\0#q NJwakaGE-\0M \0\0\17o\b|ª\0\0#q ikSrNSYR-\0M \0\0\17o\b\84ª\0\0#q WTRj019T-\0M \0\0\17o\b\8cª\0\0#q 4CORqY4u-\0M \0\0\17o\b\94ª\0\0#q bfHfS36+-\0M \0\0\17o\b\9cª\0\0#q r2c6tibQ-\0M \0\0\17o\b¤ª\0\0#q pT7uqxK5-\0M \0\0\17o\b¬ª\0\0#q TMRXftJ8-\0M \0\0\17o\b´ª\0\0#q 3l0OEKb1-\0M \0\0\17o\b¼ª\0\0#q aVXy8jZK-\0M \0\0\17o\bĪ\0\0#q twphii1E-\0M \0\0\17o\b̪\0\0#q 32XPN122-\0M \0\0\17o\bÔª\0\0#q +997zbb3-\0M \0\0\17o\bܪ\0\0#q qg2rFWEs-\0M \0\0\17o\bäª\0\0#q pycmx5fi-\0M \0\0\17o\bìª\0\0#q 63iHJ04N-\0M \0\0\17o\bôª\0\0#q MLBsItv9-\0M \0\0\17o\büª\0\0#q IBqEOmT9-\0M \0\0\17o\b\ 4«\0\0#q g+SGvcbp-\0M \0\0\17o\b\f«\0\0#q +/hdEfGR-\0M \0\0\17o\b\14«\0\0#q ojRGhaIF-\0M \0\0\17o\b\1c«\0\0#q KIYxkBlx-\0M \0\0\17o\b$«\0\0#q KkgcNtjb-\0M \0\0\17o\b,«\0\0#q aQ3UpIqY-\0M \0\0\17o\b4«\0\0#q gYoKWc8G-\0M \0\0\17o\b<«\0\0#q tGtpwV4r-\0M \0\0\17o\bD«\0\0#q XQ74tWyW-\0M \0\0\17o\bL«\0\0#q WrSqxFk4-\0M \0\0\17o\bT«\0\0#q NRFSeaSc-\0M \0\0\17o\b\«\0\0#q u5yP8VEx-\0M \0\0\17o\bd«\0\0#q ZEm6XE4c-\0M \0\0\17o\bl«\0\0#q hWxqNGXX-\0M \0\0\17o\bt«\0\0#q VJkYnR2c-\0M \0\0\17o\b|«\0\0#q dHk8WdGY-\0M \0\0\17o\b\84«\0\0#q y2vCmNjq-\0M \0\0\17o\b\8c«\0\0#q ybrMN1FO-\0M \0\0\17o\b\94«\0\0#q OcToskqq-\0M \0\0\17o\b\9c«\0\0#q I6hQJYpk-\0M \0\0\17o\b¤«\0\0#q EaNCNn6F-\0M \0\0\17o\b¬«\0\0#q TLldFQjI-\0M \0\0\17o\b´«\0\0#q RVoB+utw-\0M \0\0\17o\b¼«\0\0#q bXmdbmWE-\0M \0\0\17o\bÄ«\0\0#q DBprGCfA-\0M \0\0\17o\bÌ«\0\0#q JCZRpKqR-\0M \0\0\17o\bÔ«\0\0#q Yfq2e+7C-\0M \0\0\17o\bÜ«\0\0#q q5cNSfue-\0M \0\0\17o\bä«\0\0#q E8nT0BAA-\0M \0\0\17o\bì«\0\0#q mYe3/Q5/-\0M \0\0\17o\bô«\0\0#q hbbwssFC-\0M \0\0\17o\bü«\0\0#q Xp+OE9Ek-\0M \0\0\17o\b\ 4¬\0\0#q GFrg00fG-\0M \0\0\17o\b\f¬\0\0#q yXabHiy3-\0M \0\0\17o\b\14¬\0\0#q EqpTo/Z9-\0M \0\0\17o\b\1c¬\0\0#q bfo+ZtPr-\0M \0\0\17o\b$¬\0\0#q QAuNWcI9-\0M \0\0\17o\b,¬\0\0#q +eSwSa/n-\0M \0\0\17o\b4¬\0\0#q Yd7oXFad-\0M \0\0\17o\b<¬\0\0#q mUYi1ukq-\0M \0\0\17o\bD¬\0\0#q /ac5AAQE-\0M \0\0\17o\bL¬\0\0#q 7du1t6q7-\0M \0\0\17o\bT¬\0\0#q K4YbOHkb-\0M \0\0\17o\b\¬\0\0#q tuq8NNGM-\0M \0\0\17o\bd¬\0\0#q Zw/VibN2-\0M \0\0\17o\bl¬\0\0#q MKnJyZJz-\0M \0\0\17o\bt¬\0\0#q Vzbk8nni-\0M \0\0\17o\b|¬\0\0#q zzY8nI5P-\0M \0\0\17o\b\84¬\0\0#q u2KrwXrL-\0M \0\0\17o\b\8c¬\0\0#q dm6nQ57a-\0M \0\0\17o\b\94¬\0\0#q XMY8TsVy-\0M \0\0\17o\b\9c¬\0\0#q IDC5bX0W-\0M \0\0\17o\b¤¬\0\0#q fDw+jTpp-\0M \0\0\17o\b¬¬\0\0#q 6QuEj7W1-\0M \0\0\17o\b´¬\0\0#q TMvq8Zyu-\0M \0\0\17o\b¼¬\0\0#q 9vdXFD+n-\0M \0\0\17o\bĬ\0\0#q VQXfaj5R-\0M \0\0\17o\b̬\0\0#q BRz2fkfn-\0M \0\0\17o\bÔ¬\0\0#q vWnhDIyY-\0M \0\0\17o\bܬ\0\0#q KVitWiZZ-\0M \0\0\17o\bä¬\0\0#q Us64DB3W-\0M \0\0\17o\bì¬\0\0#q mYY2xUAX-\0M \0\0\17o\bô¬\0\0#q s0Cakm2W-\0M \0\0\17o\bü¬\0\0#q q5otBR1e-\0M \0\0\17o\b\ 4\0\0#q 9IE4xR6I-\0M \0\0\17o\b\f\0\0#q UQ1xETvE-\0M \0\0\17o\b\14\0\0#q mN8IlSLE-\0M \0\0\17o\b\1c\0\0#q h0Um6u2F-\0M \0\0\17o\b$\0\0#q SoE1m8LD-\0M \0\0\17o\b,\0\0#q pW1Hm4TF-\0M \0\0\17o\b4\0\0#q aGovlKmd-\0M \0\0\17o\b<\0\0#q EOVumVxa-\0M \0\0\17o\bD\0\0#q m7bCipxu-\0M \0\0\17o\bL\0\0#q T6y5i4+S-\0M \0\0\17o\bT\0\0#q RHYrzydy-\0M \0\0\17o\b\\0\0#q zSvjm0vM-\0M \0\0\17o\bd\0\0#q KixJqmXo-\0M \0\0\17o\bl\0\0#q TSKKjLRT-\0M \0\0\17o\bt\0\0#q RkxS7yrS-\0M \0\0\17o\b|\0\0#q DPFa3nQX-\0M \0\0\17o\b\84\0\0#q LkJi0PGz-\0M \0\0\17o\b\8c\0\0#q Ue3b6kGd-\0M \0\0\17o\b\94\0\0#q ih7KjMMN-\0M \0\0\17o\b\9c\0\0#q AjQzQTDB-\0M \0\0\17o\b¤\0\0#q /OKQ8KFu-\0M \0\0\17o\b¬\0\0#q O0yGQmIs-\0M \0\0\17o\b´\0\0#q JJJLKKGQ-\0M \0\0\17o\b¼\0\0#q AQmMosKA-\0M \0\0\17o\bÄ\0\0#q sZY1R0kL-\0M \0\0\17o\bÌ\0\0#q PhQaaKZW-\0M \0\0\17o\bÔ\0\0#q N45u7TtP-\0M \0\0\17o\bÜ\0\0#q s7uvVu7u-\0M \0\0\17o\bä\0\0#q qsd2mxpM-\0M \0\0\17o\bì\0\0#q js4adWm7-\0M \0\0\17o\bô\0\0#q k2YxhWGO-\0M \0\0\17o\bü\0\0#q TRjkw3Yp-\0M \0\0\17o\b\ 4®\0\0#q pSco2dSD-\0M \0\0\17o\b\f®\0\0#q nDT6F8LN-\0M \0\0\17o\b\14®\0\0#q CzhHRwSH-\0M \0\0\17o\b\1c®\0\0#q ThhZCw/J-\0M \0\0\17o\b$®\0\0#q CkWC0Z4G-\0M \0\0\17o\b,®\0\0#q lllmHQk0-\0M \0\0\17o\b4®\0\0#q JGWItJae-\0M \0\0\17o\b<®\0\0#q mBYmSUfC-\0M \0\0\17o\bD®\0\0#q /CzGtdOZ-\0M \0\0\17o\bL®\0\0#q glpafCCz-\0M \0\0\17o\bT®\0\0#q TTeNljGY-\0M \0\0\17o\b\®\0\0#q rTsbK77s-\0M \0\0\17o\bd®\0\0#q rM0abuHR-\0M \0\0\17o\bl®\0\0#q sdXENonR-\0M \0\0\17o\bt®\0\0#q Vgs/Pvuq-\0M \0\0\17o\b|®\0\0#q zvZPJURU-\0M \0\0\17o\b\84®\0\0#q wfRVTFTL-\0M \0\0\17o\b\8c®\0\0#q HP5c+u4d-\0M \0\0\17o\b\94®\0\0#q T7LGDtNF-\0M \0\0\17o\b\9c®\0\0#q EMwhcRar-\0M \0\0\17o\b¤®\0\0#q iKthqTD1-\0M \0\0\17o\b¬®\0\0#q vPM95zBV-\0M \0\0\17o\b´®\0\0#q A62rlBLf-\0M \0\0\17o\b¼®\0\0#q aioIouD1-\0M \0\0\17o\bÄ®\0\0#q obsxmY4/-\0M \0\0\17o\bÌ®\0\0#q SLbB1fe/-\0M \0\0\17o\bÔ®\0\0#q WE5wvNs4-\0M \0\0\17o\bÜ®\0\0#q XW/dM+pC-\0M \0\0\17o\bä®\0\0#q uTReSLHk-\0M \0\0\17o\bì®\0\0#q 06DGF0Wk-\0M \0\0\17o\bô®\0\0#q GUHXGlrL-\0M \0\0\17o\bü®\0\0#q Y4aDxn3f-\0M \0\0\17o\b\ 4¯\0\0#q Ht8HuzrJ-\0M \0\0\17o\b\f¯\0\0#q 2+aMDPlI-\0M \0\0\17o\b\14¯\0\0#q 78q6bHxj-\0M \0\0\17o\b\1c¯\0\0#q 5uF2TCFw-\0M \0\0\17o\b$¯\0\0#q bZMGRZ9Y-\0M \0\0\17o\b,¯\0\0#q DJhIWy5K-\0M \0\0\17o\b4¯\0\0#q gdxy7a9+-\0M \0\0\17o\b<¯\0\0#q tDiflePr-\0M \0\0\17o\bD¯\0\0#q abvyHDj9-\0M \0\0\17o\bL¯\0\0#q YiBjKMXY-\0M \0\0\17o\bT¯\0\0#q ZIRdTNJH-\0M \0\0\17o\b\¯\0\0#q AOT6taIR-\0M \0\0\17o\bd¯\0\0#q RhwL6k4W-\0M \0\0\17o\bl¯\0\0#q H8MdqdOH-\0M \0\0\17o\bt¯\0\0#q DZ5XET0k-\0M \0\0\17o\b|¯\0\0#q KmF2Bk/g-\0M \0\0\17o\b\84¯\0\0#q CivPTwLD-\0M \0\0\17o\b\8c¯\0\0#q D6OnV3Bt-\0M \0\0\17o\b\94¯\0\0#q j6vA6NAo-\0M \0\0\17o\b\9c¯\0\0#q RYdIDZ/G-\0M \0\0\17o\b¤¯\0\0#q wT5X5/HR-\0M \0\0\17o\b¬¯\0\0#q th0F6JgM-\0M \0\0\17o\b´¯\0\0#q p8aAo/b8-\0M \0\0\17o\b¼¯\0\0#q aP0dVD3b-\0M \0\0\17o\bį\0\0#q WzoGD9jA-\0M \0\0\17o\b̯\0\0#q IdGjWJpq-\0M \0\0\17o\bÔ¯\0\0#q FEIwOEjh-\0M \0\0\17o\bܯ\0\0#q +nBfY8Pv-\0M \0\0\17o\bä¯\0\0#q 9ThAfIA+-\0M \0\0\17o\bì¯\0\0#q v1W1zDh9-\0M \0\0\17o\bô¯\0\0#q 8+IKpRNs-\0M \0\0\17o\bü¯\0\0#q 2Kmxah79-\0M \0\0\17o\b\ 4°\0\0#q W223bEUj-\0M \0\0\17o\b\f°\0\0#q 8FgfYebz-\0M \0\0\17o\b\14°\0\0#q bUyGl4S8-\0M \0\0\17o\b\1c°\0\0#q AJvIixBO-\0M \0\0\17o\b$°\0\0#q hDSmA2GY-\0M \0\0\17o\b,°\0\0#q KhWeUS6A-\0M \0\0\17o\b4°\0\0#q DRDvpmoC-\0M \0\0\17o\b<°\0\0#q lc1nZxo2-\0M \0\0\17o\bD°\0\0#q BcF8lMAq-\0M \0\0\17o\bL°\0\0#q GbIksqAL-\0M \0\0\17o\bT°\0\0#q JKpZprIe-\0M \0\0\17o\b\°\0\0#q l0G/UM0/-\0M \0\0\17o\bd°\0\0#q NROWO2EH-\0M \0\0\17o\bl°\0\0#q dl8baxjf-\0M \0\0\17o\bt°\0\0#q vVc1Dz9V-\0M \0\0\17o\b|°\0\0#q KlRqHhPw-\0M \0\0\17o\b\84°\0\0#q oX/hRooL-\0M \0\0\17o\b\8c°\0\0#q hYtcLETv-\0M \0\0\17o\b\94°\0\0#q FJPN1IgE-\0M \0\0\17o\b\9c°\0\0#q 2b15FDZI-\0M \0\0\17o\b¤°\0\0#q 8kftKHm2-\0M \0\0\17o\b¬°\0\0#q 5vocSMiW-\0M \0\0\17o\b´°\0\0#q e502fv/5-\0M \0\0\17o\b¼°\0\0#q wLI7POST-\0M \0\0\17o\bİ\0\0#q npHiVNkn-\0M \0\0\17o\b̰\0\0#q KN0f5ylS-\0M \0\0\17o\bÔ°\0\0#q llDaC8/E-\0M \0\0\17o\bܰ\0\0#q nNMn8bMO-\0M \0\0\17o\bä°\0\0#q XdHDBEki-\0M \0\0\17o\bì°\0\0#q oNT/Kpjl-\0M \0\0\17o\bô°\0\0#q 5T/FSNst-\0M \0\0\17o\bü°\0\0#q pVTGKjCy-\0M \0\0\17o\b\ 4±\0\0#q ZJilljk0-\0M \0\0\17o\b\f±\0\0#q WCJtTbKt-\0M \0\0\17o\b\14±\0\0#q tU1vQ16R-\0M \0\0\17o\b\1c±\0\0#q REbZJVRV-\0M \0\0\17o\b$±\0\0#q nrJY8Vbp-\0M \0\0\17o\b,±\0\0#q fQ4jCfGE-\0M \0\0\17o\b4±\0\0#q xUvOtzOc-\0M \0\0\17o\b<±\0\0#q h1jTc+c6-\0M \0\0\17o\bD±\0\0#q fhbzdJ+T-\0M \0\0\17o\bL±\0\0#q ZjocHhp7-\0M \0\0\17o\bT±\0\0#q tOTg0hqF-\0M \0\0\17o\b\±\0\0#q HEdpzHf3-\0M \0\0\17o\bd±\0\0#q mFU3tGUG-\0M \0\0\17o\bl±\0\0#q nq9aOgRX-\0M \0\0\17o\bt±\0\0#q wlMPc4oq-\0M \0\0\17o\b|±\0\0#q ofnnzkev-\0M \0\0\17o\b\84±\0\0#q Pke8ocXV-\0M \0\0\17o\b\8c±\0\0#q cWn5KA/w-\0M \0\0\17o\b\94±\0\0#q BIoOBRh4-\0M \0\0\17o\b\9c±\0\0#q tKPhq0ow-\0M \0\0\17o\b¤±\0\0#q g6MZB0JF-\0M \0\0\17o\b¬±\0\0#q 0/BAeEjI-\0M \0\0\17o\b´±\0\0#q Czw6dNpJ-\0M \0\0\17o\b¼±\0\0#q CSLZwqAG-\0M \0\0\17o\bı\0\0#q V7MVmZlz-\0M \0\0\17o\ḇ\0\0#q FW3GuSbW-\0M \0\0\17o\bÔ±\0\0#q rY1tbz6c-\0M \0\0\17o\bܱ\0\0#q EBX5/031-\0M \0\0\17o\bä±\0\0#q t5Xq26tD-\0M \0\0\17o\bì±\0\0#q 0eeTKPan-\0M \0\0\17o\bô±\0\0#q Zz5maen4-\0M \0\0\17o\bü±\0\0#q 8Hmfm+rh-\0M \0\0\17o\b\ 4²\0\0#q 8R/tsevt-\0M \0\0\17o\b\f²\0\0#q 95vOVW8m-\0M \0\0\17o\b\14²\0\0#q uQ0/dwn6-\0M \0\0\17o\b\1c²\0\0#q qkVSPxsT-\0M \0\0\17o\b$²\0\0#q ydUx6UtR-\0M \0\0\17o\b,²\0\0#q VtlfoqMj-\0M \0\0\17o\b4²\0\0#q se8kMZUj-\0M \0\0\17o\b<²\0\0#q 0SSye7/K-\0M \0\0\17o\bD²\0\0#q VZXR81mz-\0M \0\0\17o\bL²\0\0#q STUJXk04-\0M \0\0\17o\bT²\0\0#q fITUm7Y+-\0M \0\0\17o\b\²\0\0#q EeH1SIBL-\0M \0\0\17o\bd²\0\0#q CfsshViY-\0M \0\0\17o\bl²\0\0#q pJybG/42-\0M \0\0\17o\bt²\0\0#q 9HOeflhi-\0M \0\0\17o\b|²\0\0#q yJoizZZJ-\0M \0\0\17o\b\84²\0\0#q qnHAaUfl-\0M \0\0\17o\b\8c²\0\0#q IkvOJH3S-\0M \0\0\17o\b\94²\0\0#q KlVJFWbJ-\0M \0\0\17o\b\9c²\0\0#q PqT6ux9p-\0M \0\0\17o\b¤²\0\0#q skzdwrJy-\0M \0\0\17o\b¬²\0\0#q 6NBxBPGk-\0M \0\0\17o\b´²\0\0#q SiqK9nE/-\0M \0\0\17o\b¼²\0\0#q 6yaHtOaO-\0M \0\0\17o\bIJ\0\0#q IlPR5ned-\0M \0\0\17o\b̲\0\0#q BwjqrLOV-\0M \0\0\17o\bÔ²\0\0#q GfdvOzy8-\0M \0\0\17o\bܲ\0\0#q zy6OTpB8-\0M \0\0\17o\bä²\0\0#q JJ5O35aT-\0M \0\0\17o\bì²\0\0#q vUnmpOHO-\0M \0\0\17o\bô²\0\0#q TST7q5Tt-\0M \0\0\17o\bü²\0\0#q 4SqsKqrK-\0M \0\0\17o\b\ 4³\0\0#q U8ZMLO59-\0M \0\0\17o\b\f³\0\0#q VefKuttZ-\0M \0\0\17o\b\14³\0\0#q mLKmGsVu-\0M \0\0\17o\b\1c³\0\0#q zxJ4xtmO-\0M \0\0\17o\b$³\0\0#q sbzj7jrH-\0M \0\0\17o\b,³\0\0#q OnDaObg2-\0M \0\0\17o\b4³\0\0#q tvZVLY2b-\0M \0\0\17o\b<³\0\0#q G06W4xJ2-\0M \0\0\17o\bD³\0\0#q PRXowWn6-\0M \0\0\17o\bL³\0\0#q Q2qskgjI-\0M \0\0\17o\bT³\0\0#q GgwGL/Z/-\0M \0\0\17o\b\³\0\0#q 7+qho/gP-\0M \0\0\17o\bd³\0\0#q TXh36jmR-\0M \0\0\17o\bl³\0\0#q 1w9demMo-\0M \0\0\17o\bt³\0\0#q 4Y8k1Pnr-\0M \0\0\17o\b|³\0\0#q L5bLq5qt-\0M \0\0\17o\b\84³\0\0#q lHMrhcTx-\0M \0\0\17o\b\8c³\0\0#q qkjHMqVQ-\0M \0\0\17o\b\94³\0\0#q DGMFtMg0-\0M \0\0\17o\b\9c³\0\0#q tkKYtmlj-\0M \0\0\17o\b¤³\0\0#q aZTJIMj9-\0M \0\0\17o\b¬³\0\0#q NFIipt2B-\0M \0\0\17o\b´³\0\0#q tNmmpK5M-\0M \0\0\17o\b¼³\0\0#q DFVUUwrJ-\0M \0\0\17o\bij\0\0#q vjElbUrM-\0M \0\0\17o\b̳\0\0#q i23kbNn7-\0M \0\0\17o\bÔ³\0\0#q H7hCiP4Z-\0M \0\0\17o\bܳ\0\0#q ebpITlFV-\0M \0\0\17o\bä³\0\0#q 4hhqmRLE-\0M \0\0\17o\bì³\0\0#q 7Z94lSPP-\0M \0\0\17o\bô³\0\0#q mM6+HR5P-\0M \0\0\17o\bü³\0\0#q Y6k0ntVq-\0M \0\0\17o\b\ 4´\0\0#q 21Nlhixw-\0M \0\0\17o\b\f´\0\0#q sJ52ZHpN-\0M \0\0\17o\b\14´\0\0#q NQajs6c9-\0M \0\0\17o\b\1c´\0\0#q vfpv6Znt-\0M \0\0\17o\b$´\0\0#q OE9LGPhh-\0M \0\0\17o\b,´\0\0#q 91dhtbjq-\0M \0\0\17o\b4´\0\0#q 2MjZvtil-\0M \0\0\17o\b<´\0\0#q 0zo6r+jL-\0M \0\0\17o\bD´\0\0#q 2H8eLj18-\0M \0\0\17o\bL´\0\0#q yGzWRNcm-\0M \0\0\17o\bT´\0\0#q 9I5GokcO-\0M \0\0\17o\b\´\0\0#q jGnDG7Sa-\0M \0\0\17o\bd´\0\0#q aFYxVOit-\0M \0\0\17o\bl´\0\0#q W1Wmzf9N-\0M \0\0\17o\bt´\0\0#q OstsnBXs-\0M \0\0\17o\b|´\0\0#q VhrLaczN-\0M \0\0\17o\b\84´\0\0#q WymFZQmR-\0M \0\0\17o\b\8c´\0\0#q BAR4hXFL-\0M \0\0\17o\b\94´\0\0#q IMn8tE0K-\0M \0\0\17o\b\9c´\0\0#q NiGlQnWd-\0M \0\0\17o\b¤´\0\0#q m5TOjQdS-\0M \0\0\17o\b¬´\0\0#q 2GXGiCBh-\0M \0\0\17o\b´´\0\0#q AiR3+IuN-\0M \0\0\17o\b¼´\0\0#q tczrWRxL-\0M \0\0\17o\bÄ´\0\0#q egSYOFQ8-\0M \0\0\17o\bÌ´\0\0#q aNwQ5pS1-\0M \0\0\17o\bÔ´\0\0#q bOmZvMuM-\0M \0\0\17o\bÜ´\0\0#q 2Titbss3-\0M \0\0\17o\bä´\0\0#q zVUdd41y-\0M \0\0\17o\bì´\0\0#q 8iQI3cC+-\0M \0\0\17o\bô´\0\0#q BYszD3iy-\0M \0\0\17o\bü´\0\0#q YZAxufkk-\0M \0\0\17o\b\ 4µ\0\0#q +P8nXHL9-\0M \0\0\17o\b\fµ\0\0#q uAF6kyiw-\0M \0\0\17o\b\14µ\0\0#q 54eRvOBZ-\0M \0\0\17o\b\1cµ\0\0#q OAlO2Jkk-\0M \0\0\17o\b$µ\0\0#q s3WNzvOH-\0M \0\0\17o\b,µ\0\0#q ZTF8wXjO-\0M \0\0\17o\b4µ\0\0#q nz157FNv-\0M \0\0\17o\b<µ\0\0#q 8IdeqWn4-\0M \0\0\17o\bDµ\0\0#q QqxyMzjd-\0M \0\0\17o\bLµ\0\0#q ovNzuHBn-\0M \0\0\17o\bTµ\0\0#q GNqB8Uyp-\0M \0\0\17o\b\µ\0\0#q LJspmo/P-\0M \0\0\17o\bdµ\0\0#q ZrnERR2P-\0M \0\0\17o\blµ\0\0#q qVzauvfq-\0M \0\0\17o\btµ\0\0#q DryP7Z+v-\0M \0\0\17o\b|µ\0\0#q QD7IISU+-\0M \0\0\17o\b\84µ\0\0#q 56T4JDTE-\0M \0\0\17o\b\8cµ\0\0#q q+pP9Klp-\0M \0\0\17o\b\94µ\0\0#q I+PV4dT1-\0M \0\0\17o\b\9cµ\0\0#q ixJrec50-\0M \0\0\17o\b¤µ\0\0#q 4hI0p0ai-\0M \0\0\17o\b¬µ\0\0#q nusxoch3-\0M \0\0\17o\b´µ\0\0#q Rf1aTnA9-\0M \0\0\17o\b¼µ\0\0#q yf8ixfuf-\0M \0\0\17o\bĵ\0\0#q D/nGTaR+-\0M \0\0\17o\b̵\0\0#q r9Yxn56q-\0M \0\0\17o\bÔµ\0\0#q Bqi9vX5h-\0M \0\0\17o\bܵ\0\0#q PpZKpLI3-\0M \0\0\17o\bäµ\0\0#q 7GNPZmMf-\0M \0\0\17o\bìµ\0\0#q bbfbh2nC-\0M \0\0\17o\bôµ\0\0#q cj2D8Z5X-\0M \0\0\17o\büµ\0\0#q fTA5tD/U-\0M \0\0\17o\b\ 4¶\0\0#q rkhsSybh-\0M \0\0\17o\b\f¶\0\0#q P3xy2n8v-\0M \0\0\17o\b\14¶\0\0#q Xr3+fHF+-\0M \0\0\17o\b\1c¶\0\0#q jbhrfffr-\0M \0\0\17o\b$¶\0\0#q gpMdwyKs-\0M \0\0\17o\b,¶\0\0#q EIABftZx-\0M \0\0\17o\b4¶\0\0#q WHn6eRPx-\0M \0\0\17o\b<¶\0\0#q 3H4Xyvkz-\0M \0\0\17o\bD¶\0\0#q MnSq9ves-\0M \0\0\17o\bL¶\0\0#q 52gWBe8W-\0M \0\0\17o\bT¶\0\0#q N0R5UW63-\0M \0\0\17o\b\¶\0\0#q ukJQWFQ4-\0M \0\0\17o\bd¶\0\0#q oKhAJyCJ-\0M \0\0\17o\bl¶\0\0#q nQEqDppQ-\0M \0\0\17o\bt¶\0\0#q lchLgECa-\0M \0\0\17o\b|¶\0\0#q szI1WAe5-\0M \0\0\17o\b\84¶\0\0#q g4MUFyh0-\0M \0\0\17o\b\8c¶\0\0#q anCQg4mS-\0M \0\0\17o\b\94¶\0\0#q NdSo2xtq-\0M \0\0\17o\b\9c¶\0\0#q gYJ+eC6e-\0M \0\0\17o\b¤¶\0\0#q Yyu+bd9Q-\0M \0\0\17o\b¬¶\0\0#q OSufIb1a-\0M \0\0\17o\b´¶\0\0#q qsFPuqFW-\0M \0\0\17o\b¼¶\0\0#q SpbKUpWl-\0M \0\0\17o\bĶ\0\0#q KojFKpSj-\0M \0\0\17o\b̶\0\0#q ujZZcdbO-\0M \0\0\17o\bÔ¶\0\0#q TOI0xFWR-\0M \0\0\17o\bܶ\0\0#q NkIpGoH4-\0M \0\0\17o\bä¶\0\0#q pGFJpP3g-\0M \0\0\17o\bì¶\0\0#q r/zxFkAW-\0M \0\0\17o\bô¶\0\0#q oqElVYP4-\0M \0\0\17o\bü¶\0\0#q Gt/X38U2-\0M \0\0\17o\b\ 4·\0\0#q 71ZrEysV-\0M \0\0\17o\b\f·\0\0#q o23KuyJZ-\0M \0\0\17o\b\14·\0\0#q atOZ0Kp4-\0M \0\0\17o\b\1c·\0\0#q TXVYhqbv-\0M \0\0\17o\b$·\0\0#q rZeRB/cP-\0M \0\0\17o\b,·\0\0#q mRH1kRtu-\0M \0\0\17o\b4·\0\0#q ErUZW4Uh-\0M \0\0\17o\b<·\0\0#q QwwgBj0N-\0M \0\0\17o\bD·\0\0#q R/V3kMY7-\0M \0\0\17o\bL·\0\0#q EobIBcOQ-\0M \0\0\17o\bT·\0\0#q ukBiqbEG-\0M \0\0\17o\b\·\0\0#q pMmJiq+W-\0M \0\0\17o\bd·\0\0#q ZWm2LXZ6-\0M \0\0\17o\bl·\0\0#q qn6+3RY7-\0M \0\0\17o\bt·\0\0#q yG3Jww0z-\0M \0\0\17o\b|·\0\0#q Z0a0T9xZ-\0M \0\0\17o\b\84·\0\0#q o9U2SMjs-\0M \0\0\17o\b\8c·\0\0#q PDENqfk7-\0M \0\0\17o\b\94·\0\0#q N482T5PL-\0M \0\0\17o\b\9c·\0\0#q SV+d2a1f-\0M \0\0\17o\b¤·\0\0#q 1eexrCMf-\0M \0\0\17o\b¬·\0\0#q ZXsuIkyj-\0M \0\0\17o\b´·\0\0#q /nLJDF6p-\0M \0\0\17o\b¼·\0\0#q Yr8eHJ6T-\0M \0\0\17o\bÄ·\0\0#q BVV87tmm-\0M \0\0\17o\bÌ·\0\0#q a7bz+ky6-\0M \0\0\17o\bÔ·\0\0#q PN897u1C-\0M \0\0\17o\bÜ·\0\0#q ATUrOcfr-\0M \0\0\17o\bä·\0\0#q YT7WLUnZ-\0M \0\0\17o\bì·\0\0#q UkfzoytV-\0M \0\0\17o\bô·\0\0#q KsFSxI3T-\0M \0\0\17o\bü·\0\0#q kSuWTSN9-\0M \0\0\17o\b\ 4¸\0\0#q Jpp5QZrw-\0M \0\0\17o\b\f¸\0\0#q J9vP1+nT-\0M \0\0\17o\b\14¸\0\0#q bT6eldk/-\0M \0\0\17o\b\1c¸\0\0#q oc3RMOhp-\0M \0\0\17o\b$¸\0\0#q 4yJZ4IUQ-\0M \0\0\17o\b,¸\0\0#q xBgmiHJj-\0M \0\0\17o\b4¸\0\0#q tlz2GvOH-\0M \0\0\17o\b<¸\0\0#q ReN9+iGp-\0M \0\0\17o\bD¸\0\0#q 4Jktksd2-\0M \0\0\17o\bL¸\0\0#q Fk4SV2/J-\0M \0\0\17o\bT¸\0\0#q atrxIFOH-\0M \0\0\17o\b\¸\0\0#q 9wap6FtH-\0M \0\0\17o\bd¸\0\0#q EfVGhB1s-\0M \0\0\17o\bl¸\0\0#q DwiGOwtc-\0M \0\0\17o\bt¸\0\0#q vTAgVkF6-\0M \0\0\17o\b|¸\0\0#q fh/XVVVU-\0M \0\0\17o\b\84¸\0\0#q QaOqOQog-\0M \0\0\17o\b\8c¸\0\0#q 5PKIzrA2-\0M \0\0\17o\b\94¸\0\0#q mJiXdzzL-\0M \0\0\17o\b\9c¸\0\0#q WRbIZCyU-\0M \0\0\17o\b¤¸\0\0#q xgbN2zVN-\0M \0\0\17o\b¬¸\0\0#q iK1HWZJu-\0M \0\0\17o\b´¸\0\0#q qUsH34W6-\0M \0\0\17o\b¼¸\0\0#q Tk5MbyVm-\0M \0\0\17o\bĸ\0\0#q v9jI2aSL-\0M \0\0\17o\b̸\0\0#q I2VKRQpz-\0M \0\0\17o\bÔ¸\0\0#q mQyE8pC1-\0M \0\0\17o\bܸ\0\0#q C1EUiox5-\0M \0\0\17o\bä¸\0\0#q RWwS9UwZ-\0M \0\0\17o\bì¸\0\0#q Ly63VpJN-\0M \0\0\17o\bô¸\0\0#q JfEm63Wu-\0M \0\0\17o\bü¸\0\0#q bJNNHJJO-\0M \0\0\17o\b\ 4¹\0\0#q 5+RurZhi-\0M \0\0\17o\b\f¹\0\0#q qlWMUlah-\0M \0\0\17o\b\14¹\0\0#q +7hqpN26-\0M \0\0\17o\b\1c¹\0\0#q aksmYnEl-\0M \0\0\17o\b$¹\0\0#q +2jDzy2s-\0M \0\0\17o\b,¹\0\0#q WVaxhxo0-\0M \0\0\17o\b4¹\0\0#q sy3GKzqg-\0M \0\0\17o\b<¹\0\0#q 4dVFnqiH-\0M \0\0\17o\bD¹\0\0#q /Afo6ZOB-\0M \0\0\17o\bL¹\0\0#q w6/25A/k-\0M \0\0\17o\bT¹\0\0#q KKi+ipEI-\0M \0\0\17o\b\¹\0\0#q iyL9rIz6-\0M \0\0\17o\bd¹\0\0#q 1tdfOz5b-\0M \0\0\17o\bl¹\0\0#q 9tOLlSqe-\0M \0\0\17o\bt¹\0\0#q 0SxNVPNT-\0M \0\0\17o\b|¹\0\0#q Fk/XTHSx-\0M \0\0\17o\b\84¹\0\0#q ksktjnfv-\0M \0\0\17o\b\8c¹\0\0#q TFaebEYV-\0M \0\0\17o\b\94¹\0\0#q xUzjImU3-\0M \0\0\17o\b\9c¹\0\0#q vFMtuuFx-\0M \0\0\17o\b¤¹\0\0#q 2WDCnNvk-\0M \0\0\17o\b¬¹\0\0#q JhZJpZDk-\0M \0\0\17o\b´¹\0\0#q rlXW3eZt-\0M \0\0\17o\b¼¹\0\0#q cuKZcvAe-\0M \0\0\17o\bĹ\0\0#q dJhwsO8s-\0M \0\0\17o\b̹\0\0#q JvKWfGcu-\0M \0\0\17o\bÔ¹\0\0#q MmSVOdMu-\0M \0\0\17o\bܹ\0\0#q PtO5iTO2-\0M \0\0\17o\bä¹\0\0#q 5qE9ntOJ-\0M \0\0\17o\bì¹\0\0#q 7c8nKZfw-\0M \0\0\17o\bô¹\0\0#q xh1UZJba-\0M \0\0\17o\bü¹\0\0#q turhTFgc-\0M \0\0\17o\b\ 4º\0\0#q 4VklKumu-\0M \0\0\17o\b\fº\0\0#q lWXlu5Ac-\0M \0\0\17o\b\14º\0\0#q QCTBIkaK-\0M \0\0\17o\b\1cº\0\0#q GFUrEV2U-\0M \0\0\17o\b$º\0\0#q U/n8/Hpx-\0M \0\0\17o\b,º\0\0#q HWKqpiLF-\0M \0\0\17o\b4º\0\0#q VxDTtu0Z-\0M \0\0\17o\b<º\0\0#q LFI6kEKT-\0M \0\0\17o\bDº\0\0#q sGEUPGDF-\0M \0\0\17o\bLº\0\0#q OyKFmi9f-\0M \0\0\17o\bTº\0\0#q CJPgqu54-\0M \0\0\17o\b\º\0\0#q sCIJ6uD6-\0M \0\0\17o\bdº\0\0#q eDlOsdVO-\0M \0\0\17o\blº\0\0#q SppKzATw-\0M \0\0\17o\btº\0\0#q fi2t4CPH-\0M \0\0\17o\b|º\0\0#q gfLsRZAI-\0M \0\0\17o\b\84º\0\0#q TsgfqQ3S-\0M \0\0\17o\b\8cº\0\0#q VryjsJs6-\0M \0\0\17o\b\94º\0\0#q HWRGyuXS-\0M \0\0\17o\b\9cº\0\0#q EjvQFceI-\0M \0\0\17o\b¤º\0\0#q nojgi66B-\0M \0\0\17o\b¬º\0\0#q /Jn9YGev-\0M \0\0\17o\b´º\0\0#q 5OSROQPg-\0M \0\0\17o\b¼º\0\0#q pDM311cz-\0M \0\0\17o\bĺ\0\0#q h5pv7QH1-\0M \0\0\17o\b̺\0\0#q mjYdG88T-\0M \0\0\17o\bÔº\0\0#q 0Y6lKoky-\0M \0\0\17o\bܺ\0\0#q /ahYfzsf-\0M \0\0\17o\bäº\0\0#q 2FLP37iw-\0M \0\0\17o\bìº\0\0#q 0iHVc4G1-\0M \0\0\17o\bôº\0\0#q T+qGtRbb-\0M \0\0\17o\büº\0\0#q YqpbLVXm-\0M \0\0\17o\b\ 4»\0\0#q WjUYsWtd-\0M \0\0\17o\b\f»\0\0#q 3blc3Nco-\0M \0\0\17o\b\14»\0\0#q sbFotRq1-\0M \0\0\17o\b\1c»\0\0#q lJaLZLMX-\0M \0\0\17o\b$»\0\0#q +yeAaVGq-\0M \0\0\17o\b,»\0\0#q xZhXrnN4-\0M \0\0\17o\b4»\0\0#q O7p233eK-\0M \0\0\17o\b<»\0\0#q V527HTl3-\0M \0\0\17o\bD»\0\0#q dF67ngUT-\0M \0\0\17o\bL»\0\0#q DIWkYklB-\0M \0\0\17o\bT»\0\0#q hCDIYMo0-\0M \0\0\17o\b\»\0\0#q DsbYvZpk-\0M \0\0\17o\bd»\0\0#q T5KZKN0l-\0M \0\0\17o\bl»\0\0#q GEqTdkzE-\0M \0\0\17o\bt»\0\0#q sUySxKGy-\0M \0\0\17o\b|»\0\0#q Atr23/mY-\0M \0\0\17o\b\84»\0\0#q GEIYA2ic-\0M \0\0\17o\b\8c»\0\0#q NDzgWF6B-\0M \0\0\17o\b\94»\0\0#q TisD+sxS-\0M \0\0\17o\b\9c»\0\0#q j0YjKCGU-\0M \0\0\17o\b¤»\0\0#q BhaU0dbA-\0M \0\0\17o\b¬»\0\0#q uSAVMAWd-\0M \0\0\17o\b´»\0\0#q JKS0UVTI-\0M \0\0\17o\b¼»\0\0#q yJw03tpP-\0M \0\0\17o\bÄ»\0\0#q FQtSP5Zb-\0M \0\0\17o\bÌ»\0\0#q pmLpJw4T-\0M \0\0\17o\bÔ»\0\0#q +ko4c5H5-\0M \0\0\17o\bÜ»\0\0#q d37d2YZY-\0M \0\0\17o\bä»\0\0#q sw/VekqV-\0M \0\0\17o\bì»\0\0#q Fiu6LIkA-\0M \0\0\17o\bô»\0\0#q nOUupHbp-\0M \0\0\17o\bü»\0\0#q VuhXVTeP-\0M \0\0\17o\b\ 4¼\0\0#q KxVB0bps-\0M \0\0\17o\b\f¼\0\0#q xhwtW3SV-\0M \0\0\17o\b\14¼\0\0#q TpJP4oli-\0M \0\0\17o\b\1c¼\0\0#q flH2jl+C-\0M \0\0\17o\b$¼\0\0#q LI6HIdid-\0M \0\0\17o\b,¼\0\0#q SOtEWxPw-\0M \0\0\17o\b4¼\0\0#q TYaOFsTD-\0M \0\0\17o\b<¼\0\0#q dMOO9lsh-\0M \0\0\17o\bD¼\0\0#q LUSxbIu5-\0M \0\0\17o\bL¼\0\0#q uldYJIE/-\0M \0\0\17o\bT¼\0\0#q CVEfQGnw-\0M \0\0\17o\b\¼\0\0#q 3KR8rEXX-\0M \0\0\17o\bd¼\0\0#q fhMiZYN1-\0M \0\0\17o\bl¼\0\0#q TKw6ox20-\0M \0\0\17o\bt¼\0\0#q 9eLH1yz6-\0M \0\0\17o\b|¼\0\0#q Qd55slpU-\0M \0\0\17o\b\84¼\0\0#q wKmJGhpV-\0M \0\0\17o\b\8c¼\0\0#q YEWZi/Z/-\0M \0\0\17o\b\94¼\0\0#q B+/mfovm-\0M \0\0\17o\b\9c¼\0\0#q doZ+b+KH-\0M \0\0\17o\b¤¼\0\0#q 47xRdEr1-\0M \0\0\17o\b¬¼\0\0#q MjJ+9ZGE-\0M \0\0\17o\b´¼\0\0#q k8zDzXfo-\0M \0\0\17o\b¼¼\0\0#q ia3VNrVu-\0M \0\0\17o\bļ\0\0#q 2HqivcwY-\0M \0\0\17o\b̼\0\0#q 3Cn7tM3u-\0M \0\0\17o\bÔ¼\0\0#q jFGxSqYs-\0M \0\0\17o\bܼ\0\0#q /dy22jfJ-\0M \0\0\17o\bä¼\0\0#q LV3mNSTm-\0M \0\0\17o\bì¼\0\0#q x6I9vwKi-\0M \0\0\17o\bô¼\0\0#q fsrmelJX-\0M \0\0\17o\bü¼\0\0#q D6zmOk4e-\0M \0\0\17o\b\ 4½\0\0#q /y1x5u6N-\0M \0\0\17o\b\f½\0\0#q kaNqieX1-\0M \0\0\17o\b\14½\0\0#q 7yTTwyGt-\0M \0\0\17o\b\1c½\0\0#q H46H4Fak-\0M \0\0\17o\b$½\0\0#q 1c3Kk5z/-\0M \0\0\17o\b,½\0\0#q ZZaK7PU4-\0M \0\0\17o\b4½\0\0#q mLKJZX6y-\0M \0\0\17o\b<½\0\0#q Sfl593p1-\0M \0\0\17o\bD½\0\0#q JU4nVzP4-\0M \0\0\17o\bL½\0\0#q uonn80Sf-\0M \0\0\17o\bT½\0\0#q 8PxBATaS-\0M \0\0\17o\b\½\0\0#q frZLZLbU-\0M \0\0\17o\bd½\0\0#q FOifY8b/-\0M \0\0\17o\bl½\0\0#q OQOkPKRJ-\0M \0\0\17o\bt½\0\0#q YuHzE80n-\0M \0\0\17o\b|½\0\0#q 8kWiVZVK-\0M \0\0\17o\b\84½\0\0#q KsiPyj7f-\0M \0\0\17o\b\8c½\0\0#q 1czhH4I6-\0M \0\0\17o\b\94½\0\0#q GHur5ngf-\0M \0\0\17o\b\9c½\0\0#q JsPHxaVD-\0M \0\0\17o\b¤½\0\0#q wbH4JEAn-\0M \0\0\17o\b¬½\0\0#q Rdt8Mbc2-\0M \0\0\17o\b´½\0\0#q 5sbc26Wp-\0M \0\0\17o\b¼½\0\0#q K369rsq2-\0M \0\0\17o\bĽ\0\0#q Jk7ybJJ7-\0M \0\0\17o\b̽\0\0#q nc7O76eH-\0M \0\0\17o\bÔ½\0\0#q pxPLzn7O-\0M \0\0\17o\bܽ\0\0#q kGqH8mmR-\0M \0\0\17o\bä½\0\0#q +h6xJVRV-\0M \0\0\17o\bì½\0\0#q TckP3rP/-\0M \0\0\17o\bô½\0\0#q RST+xYn6-\0M \0\0\17o\bü½\0\0#q JzHM8ErZ-\0M \0\0\17o\b\ 4¾\0\0#q P8IJf7oK-\0M \0\0\17o\b\f¾\0\0#q am6yrFq3-\0M \0\0\17o\b\14¾\0\0#q COr+Gv1f-\0M \0\0\17o\b\1c¾\0\0#q kE1ZskzB-\0M \0\0\17o\b$¾\0\0#q Ulfkrr8b-\0M \0\0\17o\b,¾\0\0#q 8hzk8yxE-\0M \0\0\17o\b4¾\0\0#q 2fNMfNrm-\0M \0\0\17o\b<¾\0\0#q i187J8z+-\0M \0\0\17o\bD¾\0\0#q Bmx2Wzuo-\0M \0\0\17o\bL¾\0\0#q upumHT83-\0M \0\0\17o\bT¾\0\0#q 4f0K/hL3-\0M \0\0\17o\b\¾\0\0#q SkSzQ2U8-\0M \0\0\17o\bd¾\0\0#q 5TkrZYbK-\0M \0\0\17o\bl¾\0\0#q MVKVsprf-\0M \0\0\17o\bt¾\0\0#q bMMsmUWy-\0M \0\0\17o\b|¾\0\0#q WP1W3DVj-\0M \0\0\17o\b\84¾\0\0#q Wss1MNMa-\0M \0\0\17o\b\8c¾\0\0#q H1WP6OTa-\0M \0\0\17o\b\94¾\0\0#q GllrnZoi-\0M \0\0\17o\b\9c¾\0\0#q AS6ssfNp-\0M \0\0\17o\b¤¾\0\0#q 5sy3o6d+-\0M \0\0\17o\b¬¾\0\0#q z1Phfsun-\0M \0\0\17o\b´¾\0\0#q c9WPbpmX-\0M \0\0\17o\b¼¾\0\0#q Pm3eqbeJ-\0M \0\0\17o\bľ\0\0#q 3nCllcoS-\0M \0\0\17o\b̾\0\0#q R9y0sQei-\0M \0\0\17o\bÔ¾\0\0#q KPWxdMHS-\0M \0\0\17o\bܾ\0\0#q L5yAm6DO-\0M \0\0\17o\bä¾\0\0#q mnZx9/de-\0M \0\0\17o\bì¾\0\0#q 80IwLgMA-\0M \0\0\17o\bô¾\0\0#q wP8AgoIE-\0M \0\0\17o\bü¾\0\0#q rJWSGzBh-\0M \0\0\17o\b\ 4¿\0\0#q MaRbyCyG-\0M \0\0\17o\b\f¿\0\0#q /KI3YnIr-\0M \0\0\17o\b\14¿\0\0#q +zatN5zJ-\0M \0\0\17o\b\1c¿\0\0#q m9iJx5Fl-\0M \0\0\17o\b$¿\0\0#q EPllZszj-\0M \0\0\17o\b,¿\0\0#q niMMODP1-\0M \0\0\17o\b4¿\0\0#q NDhIdNGS-\0M \0\0\17o\b<¿\0\0#q UoDpyr2M-\0M \0\0\17o\bD¿\0\0#q FiNFAp7m-\0M \0\0\17o\bL¿\0\0#q dhmsM3rn-\0M \0\0\17o\bT¿\0\0#q 7xcKDPsQ-\0M \0\0\17o\b\¿\0\0#q KdNOmEcq-\0M \0\0\17o\bd¿\0\0#q RWE10Vn0-\0M \0\0\17o\bl¿\0\0#q f5jdKeQd-\0M \0\0\17o\bt¿\0\0#q D+sX9BD/-\0M \0\0\17o\b|¿\0\0#q gPSY95Pt-\0M \0\0\17o\b\84¿\0\0#q G5r5T0HY-\0M \0\0\17o\b\8c¿\0\0#q ruV86045-\0M \0\0\17o\b\94¿\0\0#q uEMRVSih-\0M \0\0\17o\b\9c¿\0\0#q TsyZa8Me-\0M \0\0\17o\b¤¿\0\0#q smkTJVlL-\0M \0\0\17o\b¬¿\0\0#q KqkjBRhG-\0M \0\0\17o\b´¿\0\0#q +JG9NNZ4-\0M \0\0\17o\b¼¿\0\0#q h9alqTnN-\0M \0\0\17o\bÄ¿\0\0#q fxllQNGA-\0M \0\0\17o\bÌ¿\0\0#q 0GINwKMD-\0M \0\0\17o\bÔ¿\0\0#q Y0ZDqh5V-\0M \0\0\17o\bÜ¿\0\0#q +GFsqw2G-\0M \0\0\17o\bä¿\0\0#q 6lfuxMZj-\0M \0\0\17o\bì¿\0\0#q yPPPVzVO-\0M \0\0\17o\bô¿\0\0#q +/y341ul-\0M \0\0\17o\bü¿\0\0#q 3m+Nvxlt-\0M \0\0\17o\b\ 4À\0\0#q Y2IqNsRY-\0M \0\0\17o\b\fÀ\0\0#q 1tTEiANR-\0M \0\0\17o\b\14À\0\0#q tZmKiypq-\0M \0\0\17o\b\1cÀ\0\0#q JVJKtpSl-\0M \0\0\17o\b$À\0\0#q tTk/sPm7-\0M \0\0\17o\b,À\0\0#q /O/dRNKm-\0M \0\0\17o\b4À\0\0#q 7YOQYxq6-\0M \0\0\17o\b<À\0\0#q uWOcR7KE-\0M \0\0\17o\bDÀ\0\0#q 3fYnBOUc-\0M \0\0\17o\bLÀ\0\0#q rZ8tbxGp-\0M \0\0\17o\bTÀ\0\0#q Qnw+T1h+-\0M \0\0\17o\b\À\0\0#q E9UnrJ+6-\0M \0\0\17o\bdÀ\0\0#q E4e77/fd-\0M \0\0\17o\blÀ\0\0#q EqziI7b4-\0M \0\0\17o\btÀ\0\0#q QxqWvgPV-\0M \0\0\17o\b|À\0\0#q Y2JuUihv-\0M \0\0\17o\b\84À\0\0#q CTzqWzax-\0M \0\0\17o\b\8cÀ\0\0#q J8k0/ueZ-\0M \0\0\17o\b\94À\0\0#q Nn2cHv/7-\0M \0\0\17o\b\9cÀ\0\0#q 23l7vkvl-\0M \0\0\17o\b¤À\0\0#q 321HbIYe-\0M \0\0\17o\b¬À\0\0#q gUM+f6eV-\0M \0\0\17o\b´À\0\0#q z7iFR6+P-\0M \0\0\17o\b¼À\0\0#q 17uMwF+A-\0M \0\0\17o\bÄÀ\0\0#q HuHwfOrG-\0M \0\0\17o\bÌÀ\0\0#q 7J7tnlJL-\0M \0\0\17o\bÔÀ\0\0#q oqxiJZp7-\0M \0\0\17o\bÜÀ\0\0#q OkanzOMm-\0M \0\0\17o\bäÀ\0\0#q 8/JPR9k3-\0M \0\0\17o\bìÀ\0\0#q N9px0iV2-\0M \0\0\17o\bôÀ\0\0#q kiN/2MZW-\0M \0\0\17o\büÀ\0\0#q Op+Dmehw-\0M \0\0\17o\b\ 4Á\0\0#q 93hD9FiR-\0M \0\0\17o\b\fÁ\0\0#q 9EvPnH5s-\0M \0\0\17o\b\14Á\0\0#q fKX5VzOW-\0M \0\0\17o\b\1cÁ\0\0#q REnZyUU+-\0M \0\0\17o\b$Á\0\0#q va6YuauV-\0M \0\0\17o\b,Á\0\0#q pl1jSzGG-\0M \0\0\17o\b4Á\0\0#q KqpqKIOV-\0M \0\0\17o\b<Á\0\0#q A2BEIIMp-\0M \0\0\17o\bDÁ\0\0#q S3xoVbiJ-\0M \0\0\17o\bLÁ\0\0#q DZ+4+ep9-\0M \0\0\17o\bTÁ\0\0#q reEaqbrq-\0M \0\0\17o\b\Á\0\0#q J9X9jOrr-\0M \0\0\17o\bdÁ\0\0#q vJSr+/C3-\0M \0\0\17o\blÁ\0\0#q LCqZIomM-\0M \0\0\17o\btÁ\0\0#q TTGl5dro-\0M \0\0\17o\b|Á\0\0#q WwvUnqT7-\0M \0\0\17o\b\84Á\0\0#q fVasJ7Q3-\0M \0\0\17o\b\8cÁ\0\0#q Vdshbp9j-\0M \0\0\17o\b\94Á\0\0#q H8pBJ6bD-\0M \0\0\17o\b\9cÁ\0\0#q 2U+Cd/hZ-\0M \0\0\17o\b¤Á\0\0#q bX9ay6kU-\0M \0\0\17o\b¬Á\0\0#q 8KxTu8tt-\0M \0\0\17o\b´Á\0\0#q bZlm1Zpp-\0M \0\0\17o\b¼Á\0\0#q tjy1hjMV-\0M \0\0\17o\bÄÁ\0\0#q abYxkKUR-\0M \0\0\17o\bÌÁ\0\0#q gyjKMrbF-\0M \0\0\17o\bÔÁ\0\0#q pVVpilVW-\0M \0\0\17o\bÜÁ\0\0#q Fxd4lsXb-\0M \0\0\17o\bäÁ\0\0#q 8MOW7fVi-\0M \0\0\17o\bìÁ\0\0#q pDJxhwVy-\0M \0\0\17o\bôÁ\0\0#q RmzTVLLx-\0M \0\0\17o\büÁ\0\0#q kzco2dz5-\0M \0\0\17o\b\ 4Â\0\0#q NnmsjnxG-\0M \0\0\17o\b\fÂ\0\0#q SQ0xLOUG-\0M \0\0\17o\b\14Â\0\0#q ItVGqYkj-\0M \0\0\17o\b\1cÂ\0\0#q aPOd1ixX-\0M \0\0\17o\b$Â\0\0#q J8pvAbHr-\0M \0\0\17o\b,Â\0\0#q xPhNAgJ1-\0M \0\0\17o\b4Â\0\0#q 68Kvepi5-\0M \0\0\17o\b<Â\0\0#q THZi1Orm-\0M \0\0\17o\bDÂ\0\0#q 5ld4ad8r-\0M \0\0\17o\bLÂ\0\0#q 162e8Lnx-\0M \0\0\17o\bTÂ\0\0#q 2rLKuWUX-\0M \0\0\17o\b\Â\0\0#q YSACKn+0-\0M \0\0\17o\bdÂ\0\0#q Q+UPkiWk-\0M \0\0\17o\blÂ\0\0#q UT/jy4+m-\0M \0\0\17o\btÂ\0\0#q bc//nw1t-\0M \0\0\17o\b|Â\0\0#q lzru26a1-\0M \0\0\17o\b\84Â\0\0#q 6nw/ipmj-\0M \0\0\17o\b\8cÂ\0\0#q oukAwgMm-\0M \0\0\17o\b\94Â\0\0#q ggdSKdGb-\0M \0\0\17o\b\9cÂ\0\0#q GU/Iprgv-\0M \0\0\17o\b¤Â\0\0#q jn77Ct2W-\0M \0\0\17o\b¬Â\0\0#q hTTOcy5K-\0M \0\0\17o\b´Â\0\0#q ZMORZMZR-\0M \0\0\17o\b¼Â\0\0#q WwQ6QquG-\0M \0\0\17o\bÄÂ\0\0#q ZW1JTVlg-\0M \0\0\17o\bÌÂ\0\0#q QmM8osKK-\0M \0\0\17o\bÔÂ\0\0#q GDGMJIGM-\0M \0\0\17o\bÜÂ\0\0#q IBsiwhSh-\0M \0\0\17o\bäÂ\0\0#q SkqxMPy+-\0M \0\0\17o\bìÂ\0\0#q 3NPLDrbg-\0M \0\0\17o\bôÂ\0\0#q VBbDqzyC-\0M \0\0\17o\büÂ\0\0#q BgWZKJrE-\0M \0\0\17o\b\ 4Ã\0\0#q QiRzR54q-\0M \0\0\17o\b\fÃ\0\0#q wia4gUep-\0M \0\0\17o\b\14Ã\0\0#q CJo2Szrc-\0M \0\0\17o\b\1cÃ\0\0#q VXl3bH+s-\0M \0\0\17o\b$Ã\0\0#q TOvr0qFH-\0M \0\0\17o\b,Ã\0\0#q lmMYpGEQ-\0M \0\0\17o\b4Ã\0\0#q aiFZjEgQ-\0M \0\0\17o\b<Ã\0\0#q mdarIu7T-\0M \0\0\17o\bDÃ\0\0#q 2kdmRlAF-\0M \0\0\17o\bLÃ\0\0#q SkKsnCon-\0M \0\0\17o\bTÃ\0\0#q JTZVYwmz-\0M \0\0\17o\b\Ã\0\0#q OAdnDjWU-\0M \0\0\17o\bdÃ\0\0#q lQbpLqEm-\0M \0\0\17o\blÃ\0\0#q zOttyWq4-\0M \0\0\17o\btÃ\0\0#q 29ehDBlM-\0M \0\0\17o\b|Ã\0\0#q RRpyaUji-\0M \0\0\17o\b\84Ã\0\0#q 5o2uW/LZ-\0M \0\0\17o\b\8cÃ\0\0#q 8wQgAFSM-\0M \0\0\17o\b\94Ã\0\0#q YB0Wdnuk-\0M \0\0\17o\b\9cÃ\0\0#q 9X8nH0na-\0M \0\0\17o\b¤Ã\0\0#q SH9JI+g9-\0M \0\0\17o\b¬Ã\0\0#q o2Gzu5nU-\0M \0\0\17o\b´Ã\0\0#q Vw9Vruje-\0M \0\0\17o\b¼Ã\0\0#q RN048OjN-\0M \0\0\17o\bÄÃ\0\0#q oP8LOjhS-\0M \0\0\17o\bÌÃ\0\0#q uG/rTtFP-\0M \0\0\17o\bÔÃ\0\0#q k8g307qh-\0M \0\0\17o\bÜÃ\0\0#q pyc48W4w-\0M \0\0\17o\bäÃ\0\0#q op6dLpbp-\0M \0\0\17o\bìÃ\0\0#q G62VarE1-\0M \0\0\17o\bôÃ\0\0#q XE8iOyVK-\0M \0\0\17o\büÃ\0\0#q 9ztXvOYw-\0M \0\0\17o\b\ 4Ä\0\0#q 0JoSwJZJ-\0M \0\0\17o\b\fÄ\0\0#q Ftfft+V8-\0M \0\0\17o\b\14Ä\0\0#q JibSreNo-\0M \0\0\17o\b\1cÄ\0\0#q mUqaifeY-\0M \0\0\17o\b$Ä\0\0#q C3fJ5fCn-\0M \0\0\17o\b,Ä\0\0#q ZQIMR8DD-\0M \0\0\17o\b4Ä\0\0#q QUIxtbZG-\0M \0\0\17o\b<Ä\0\0#q zGjKKNDy-\0M \0\0\17o\bDÄ\0\0#q RspoqZqZ-\0M \0\0\17o\bLÄ\0\0#q ossZ6UUD-\0M \0\0\17o\bTÄ\0\0#q MFZKUgwY-\0M \0\0\17o\b\Ä\0\0#q wsMaaYqa-\0M \0\0\17o\bdÄ\0\0#q YrCr66wt-\0M \0\0\17o\blÄ\0\0#q ypjY2abp-\0M \0\0\17o\btÄ\0\0#q VSX/mXeS-\0M \0\0\17o\b|Ä\0\0#q NkaJPqgQ-\0M \0\0\17o\b\84Ä\0\0#q hw2mmMjH-\0M \0\0\17o\b\8cÄ\0\0#q EHymdzJL-\0M \0\0\17o\b\94Ä\0\0#q zYsvmuuv-\0M \0\0\17o\b\9cÄ\0\0#q Vbsqy6m7-\0M \0\0\17o\b¤Ä\0\0#q aYqyZnGo-\0M \0\0\17o\b¬Ä\0\0#q erqj3UeP-\0M \0\0\17o\b´Ä\0\0#q iyIVZIoq-\0M \0\0\17o\b¼Ä\0\0#q KthYOZ6v-\0M \0\0\17o\bÄÄ\0\0#q GFsYpWJz-\0M \0\0\17o\bÌÄ\0\0#q 5ns4SY/y-\0M \0\0\17o\bÔÄ\0\0#q i4BSSykt-\0M \0\0\17o\bÜÄ\0\0#q v0dXbf1b-\0M \0\0\17o\bäÄ\0\0#q 1fl9fp9+-\0M \0\0\17o\bìÄ\0\0#q 36YjGvdR-\0M \0\0\17o\bôÄ\0\0#q RMDFkx6P-\0M \0\0\17o\büÄ\0\0#q p9wzFt1H-\0M \0\0\17o\b\ 4Å\0\0#q 2f0Y5CMb-\0M \0\0\17o\b\fÅ\0\0#q VjGyUszE-\0M \0\0\17o\b\14Å\0\0#q rxN3k9ks-\0M \0\0\17o\b\1cÅ\0\0#q 0S1Zk8Ie-\0M \0\0\17o\b$Å\0\0#q itT1VrI3-\0M \0\0\17o\b,Å\0\0#q R37ye53T-\0M \0\0\17o\b4Å\0\0#q h502X+92-\0M \0\0\17o\b<Å\0\0#q 54a+co8o-\0M \0\0\17o\bDÅ\0\0#q 7nMnWdCi-\0M \0\0\17o\bLÅ\0\0#q wosHYmvk-\0M \0\0\17o\bTÅ\0\0#q tSVSyC6P-\0M \0\0\17o\b\Å\0\0#q 4FSTb4ev-\0M \0\0\17o\bdÅ\0\0#q j8e+aNQ/-\0M \0\0\17o\blÅ\0\0#q gr3by2tm-\0M \0\0\17o\btÅ\0\0#q lU3bI5Cj-\0M \0\0\17o\b|Å\0\0#q jaesCuuO-\0M \0\0\17o\b\84Å\0\0#q TInFMxR6-\0M \0\0\17o\b\8cÅ\0\0#q BGGiWW1N-\0M \0\0\17o\b\94Å\0\0#q jQqsYxKU-\0M \0\0\17o\b\9cÅ\0\0#q lU0qtak2-\0M \0\0\17o\b¤Å\0\0#q QF9FdGkK-\0M \0\0\17o\b¬Å\0\0#q OPTjiqoq-\0M \0\0\17o\b´Å\0\0#q d6H0PuA+-\0M \0\0\17o\b¼Å\0\0#q KaOAwX65-\0M \0\0\17o\bÄÅ\0\0#q yfbt0Uu2-\0M \0\0\17o\bÌÅ\0\0#q t+9+Ovxw-\0M \0\0\17o\bÔÅ\0\0#q swtdK+Z6-\0M \0\0\17o\bÜÅ\0\0#q T46z9ur6-\0M \0\0\17o\bäÅ\0\0#q JavYqrVy-\0M \0\0\17o\bìÅ\0\0#q SsYUxinb-\0M \0\0\17o\bôÅ\0\0#q ay2mTZRV-\0M \0\0\17o\büÅ\0\0#q K1bWMy8H-\0M \0\0\17o\b\ 4Æ\0\0#q m/TRaetZ-\0M \0\0\17o\b\fÆ\0\0#q W+L6HJ1G-\0M \0\0\17o\b\14Æ\0\0#q I7KbTEno-\0M \0\0\17o\b\1cÆ\0\0#q kj3nzVNV-\0M \0\0\17o\b$Æ\0\0#q iyloqqry-\0M \0\0\17o\b,Æ\0\0#q Y4aU20ms-\0M \0\0\17o\b4Æ\0\0#q YtW5mTfB-\0M \0\0\17o\b<Æ\0\0#q tWDH/fMF-\0M \0\0\17o\bDÆ\0\0#q A6MUxGMR-\0M \0\0\17o\bLÆ\0\0#q NFAuSNrZ-\0M \0\0\17o\bTÆ\0\0#q k1GrtLMg-\0M \0\0\17o\b\Æ\0\0#q 2RpFCqVU-\0M \0\0\17o\bdÆ\0\0#q aUsYRZMi-\0M \0\0\17o\blÆ\0\0#q N2Nim9bn-\0M \0\0\17o\btÆ\0\0#q yPI1L5d7-\0M \0\0\17o\b|Æ\0\0#q amo7nk14-\0M \0\0\17o\b\84Æ\0\0#q 2ZMm73SJ-\0M \0\0\17o\b\8cÆ\0\0#q /eoPU902-\0M \0\0\17o\b\94Æ\0\0#q bpY5T5yQ-\0M \0\0\17o\b\9cÆ\0\0#q 6ffJkrLb-\0M \0\0\17o\b¤Æ\0\0#q Kvs844re-\0M \0\0\17o\b¬Æ\0\0#q ynK6fNsr-\0M \0\0\17o\b´Æ\0\0#q oOIGSOqT-\0M \0\0\17o\b¼Æ\0\0#q dhDZO0Il-\0M \0\0\17o\bÄÆ\0\0#q kpYiq6Oz-\0M \0\0\17o\bÌÆ\0\0#q Fkc0U/fP-\0M \0\0\17o\bÔÆ\0\0#q TYvU9bxW-\0M \0\0\17o\bÜÆ\0\0#q XZeLi5F9-\0M \0\0\17o\bäÆ\0\0#q 02sZZU2y-\0M \0\0\17o\bìÆ\0\0#q sGSmlVu0-\0M \0\0\17o\bôÆ\0\0#q qcXTGyX5-\0M \0\0\17o\büÆ\0\0#q KS21VKrY-\0M \0\0\17o\b\ 4Ç\0\0#q w87pVnOc-\0M \0\0\17o\b\fÇ\0\0#q iN204sTw-\0M \0\0\17o\b\14Ç\0\0#q OM8R5cJL-\0M \0\0\17o\b\1cÇ\0\0#q XpE8sT3g-\0M \0\0\17o\b$Ç\0\0#q dCaTqejS-\0M \0\0\17o\b,Ç\0\0#q JPFnanub-\0M \0\0\17o\b4Ç\0\0#q qkqvQ5+E-\0M \0\0\17o\b<Ç\0\0#q kEjrFki/-\0M \0\0\17o\bDÇ\0\0#q syRPSKqx-\0M \0\0\17o\bLÇ\0\0#q ixHNf1x6-\0M \0\0\17o\bTÇ\0\0#q 9+Xp6t6l-\0M \0\0\17o\b\Ç\0\0#q 5LGF8d0x-\0M \0\0\17o\bdÇ\0\0#q I7umlRgx-\0M \0\0\17o\blÇ\0\0#q kIYgsKQG-\0M \0\0\17o\btÇ\0\0#q ahBGMdwk-\0M \0\0\17o\b|Ç\0\0#q bbIclCjg-\0M \0\0\17o\b\84Ç\0\0#q 2oW00iZA-\0M \0\0\17o\b\8cÇ\0\0#q hDSVAoDG-\0M \0\0\17o\b\94Ç\0\0#q hqhIDTC4-\0M \0\0\17o\b\9cÇ\0\0#q UGjDNVSw-\0M \0\0\17o\b¤Ç\0\0#q INaWT7/c-\0M \0\0\17o\b¬Ç\0\0#q +6B936RG-\0M \0\0\17o\b´Ç\0\0#q V91beaH+-\0M \0\0\17o\b¼Ç\0\0#q tFpClUqV-\0M \0\0\17o\bÄÇ\0\0#q ar6a57xS-\0M \0\0\17o\bÌÇ\0\0#q 1YsdOxwx-\0M \0\0\17o\bÔÇ\0\0#q j98iTq3t-\0M \0\0\17o\bÜÇ\0\0#q eHw5yT2N-\0M \0\0\17o\bäÇ\0\0#q nV6Ms+s+-\0M \0\0\17o\bìÇ\0\0#q NR8b24bK-\0M \0\0\17o\bôÇ\0\0#q w/NWKKqq-\0M \0\0\17o\büÇ\0\0#q ZhiqnM8Q-\0M \0\0\17o\b\ 4È\0\0#q ftpfQb+C-\0M \0\0\17o\b\fÈ\0\0#q Vs3lZLSS-\0M \0\0\17o\b\14È\0\0#q ASqcfM7y-\0M \0\0\17o\b\1cÈ\0\0#q VxGYledb-\0M \0\0\17o\b$È\0\0#q nrN50XJB-\0M \0\0\17o\b,È\0\0#q ATYaCsBt-\0M \0\0\17o\b4È\0\0#q FYJlZR2S-\0M \0\0\17o\b<È\0\0#q Kwb21+jq-\0M \0\0\17o\bDÈ\0\0#q RiNFI0Sa-\0M \0\0\17o\bLÈ\0\0#q rSjgiATZ-\0M \0\0\17o\bTÈ\0\0#q nWelW7O0-\0M \0\0\17o\b\È\0\0#q mbziCfju-\0M \0\0\17o\bdÈ\0\0#q 7ylzo7WS-\0M \0\0\17o\blÈ\0\0#q qylsYp0J-\0M \0\0\17o\btÈ\0\0#q pjJU0qaM-\0M \0\0\17o\b|È\0\0#q lJUUVhGi-\0M \0\0\17o\b\84È\0\0#q lWTZudCx-\0M \0\0\17o\b\8cÈ\0\0#q M+kc+l5u-\0M \0\0\17o\b\94È\0\0#q TSG84qLY-\0M \0\0\17o\b\9cÈ\0\0#q v2ZJMli2-\0M \0\0\17o\b¤È\0\0#q qrILI2Tq-\0M \0\0\17o\b¬È\0\0#q ln4cMqNh-\0M \0\0\17o\b´È\0\0#q Aj4gogAn-\0M \0\0\17o\b¼È\0\0#q cslWOiwa-\0M \0\0\17o\bÄÈ\0\0#q V+BwnPnE-\0M \0\0\17o\bÌÈ\0\0#q jdp7E6Ul-\0M \0\0\17o\bÔÈ\0\0#q qPtYJYV9-\0M \0\0\17o\bÜÈ\0\0#q Tg3WI95F-\0M \0\0\17o\bäÈ\0\0#q kO6beZO8-\0M \0\0\17o\bìÈ\0\0#q nlbeyYVc-\0M \0\0\17o\bôÈ\0\0#q 7od2tLyl-\0M \0\0\17o\büÈ\0\0#q ZPKLTp1I-\0M \0\0\17o\b\ 4É\0\0#q 35t2iLsk-\0M \0\0\17o\b\fÉ\0\0#q ipSBQqtb-\0M \0\0\17o\b\14É\0\0#q UX19H2kW-\0M \0\0\17o\b\1cÉ\0\0#q D8z2PyVP-\0M \0\0\17o\b$É\0\0#q mh9rLUcr-\0M \0\0\17o\b,É\0\0#q DSKQsTJI-\0M \0\0\17o\b4É\0\0#q fukqY7Hl-\0M \0\0\17o\b<É\0\0#q 5DzdPLdU-\0M \0\0\17o\bDÉ\0\0#q qq1+LJp5-\0M \0\0\17o\bLÉ\0\0#q emzvHWPL-\0M \0\0\17o\bTÉ\0\0#q N9YtWeh+-\0M \0\0\17o\b\É\0\0#q 2WzylkbF-\0M \0\0\17o\bdÉ\0\0#q NlTCyVWK-\0M \0\0\17o\blÉ\0\0#q ZpKyQ4Yw-\0M \0\0\17o\btÉ\0\0#q qnWq3kKz-\0M \0\0\17o\b|É\0\0#q Cwje4lWd-\0M \0\0\17o\b\84É\0\0#q zTuDbTZx-\0M \0\0\17o\b\8cÉ\0\0#q x4bJ8tzH-\0M \0\0\17o\b\94É\0\0#q Gu7m3prW-\0M \0\0\17o\b\9cÉ\0\0#q SakaVZnc-\0M \0\0\17o\b¤É\0\0#q MwY02dcu-\0M \0\0\17o\b¬É\0\0#q 7kznctvM-\0M \0\0\17o\b´É\0\0#q 5MknBXCm-\0M \0\0\17o\b¼É\0\0#q wVtKfU0x-\0M \0\0\17o\bÄÉ\0\0#q Wphkowpi-\0M \0\0\17o\bÌÉ\0\0#q VsxiVW7I-\0M \0\0\17o\bÔÉ\0\0#q 2rWqtRhw-\0M \0\0\17o\bÜÉ\0\0#q pcXDoaZN-\0M \0\0\17o\bäÉ\0\0#q 1MN6tYlK-\0M \0\0\17o\bìÉ\0\0#q rh3GpWUl-\0M \0\0\17o\bôÉ\0\0#q JLvXd43O-\0M \0\0\17o\büÉ\0\0#q uslSWQ0f-\0M \0\0\17o\b\ 4Ê\0\0#q VcxqeL+B-\0M \0\0\17o\b\fÊ\0\0#q Xv1rpQyB-\0M \0\0\17o\b\14Ê\0\0#q qdm7e1Ra-\0M \0\0\17o\b\1cÊ\0\0#q 8loulyub-\0M \0\0\17o\b$Ê\0\0#q VzbXOGoN-\0M \0\0\17o\b,Ê\0\0#q VpN1/mjc-\0M \0\0\17o\b4Ê\0\0#q bxaAiUP6-\0M \0\0\17o\b<Ê\0\0#q xnhT7z2I-\0M \0\0\17o\bDÊ\0\0#q JaTCQVgt-\0M \0\0\17o\bLÊ\0\0#q DpQcGFJg-\0M \0\0\17o\bTÊ\0\0#q WSBTA5ba-\0M \0\0\17o\b\Ê\0\0#q tqKV5l3r-\0M \0\0\17o\bdÊ\0\0#q uu7XC3Ny-\0M \0\0\17o\blÊ\0\0#q ZRFeT486-\0M \0\0\17o\btÊ\0\0#q vWm68lRq-\0M \0\0\17o\b|Ê\0\0#q MyRNpSzS-\0M \0\0\17o\b\84Ê\0\0#q psi1KyzL-\0M \0\0\17o\b\8cÊ\0\0#q GmTS2azS-\0M \0\0\17o\b\94Ê\0\0#q VMZqtq2b-\0M \0\0\17o\b\9cÊ\0\0#q ay1a0raV-\0M \0\0\17o\b¤Ê\0\0#q mmyq2yqi-\0M \0\0\17o\b¬Ê\0\0#q kIVCwBSI-\0M \0\0\17o\b´Ê\0\0#q qSpJJKsV-\0M \0\0\17o\b¼Ê\0\0#q BYgSKsBL-\0M \0\0\17o\bÄÊ\0\0#q SopRkS2t-\0M \0\0\17o\bÌÊ\0\0#q tKmrVKmA-\0M \0\0\17o\bÔÊ\0\0#q 1rSpZU2J-\0M \0\0\17o\bÜÊ\0\0#q TWWSGtUt-\0M \0\0\17o\bäÊ\0\0#q msrMWKVL-\0M \0\0\17o\bìÊ\0\0#q LVRCkSkE-\0M \0\0\17o\bôÊ\0\0#q qQS0GpKl-\0M \0\0\17o\büÊ\0\0#q KZllNtK0-\0M \0\0\17o\b\ 4Ë\0\0#q WFGTNpZY-\0M \0\0\17o\b\fË\0\0#q 2lmmZKZL-\0M \0\0\17o\b\14Ë\0\0#q bWbabW0t-\0M \0\0\17o\b\1cË\0\0#q tZTSTFMk-\0M \0\0\17o\b$Ë\0\0#q lmzbbTaa-\0M \0\0\17o\b,Ë\0\0#q jUNZaVNK-\0M \0\0\17o\b4Ë\0\0#q zWaipYqK-\0M \0\0\17o\b<Ë\0\0#q mU2mMk2l-\0M \0\0\17o\bDË\0\0#q ilaVplhZ-\0M \0\0\17o\bLË\0\0#q MykpmlSw-\0M \0\0\17o\bTË\0\0#q amzZsrUt-\0M \0\0\17o\b\Ë\0\0#q UJCNs2xE-\0M \0\0\17o\bdË\0\0#q 2zWbLJpm-\0M \0\0\17o\blË\0\0#q mmlSyzaY-\0M \0\0\17o\btË\0\0#q zNqWpsss-\0M \0\0\17o\b|Ë\0\0#q pZTaqtm1-\0M \0\0\17o\b\84Ë\0\0#q VbJlmm01-\0M \0\0\17o\b\8cË\0\0#q kzUtDKks-\0M \0\0\17o\b\94Ë\0\0#q 1LIK020p-\0M \0\0\17o\b\9cË\0\0#q KUpNRlKT-\0M \0\0\17o\b¤Ë\0\0#q SlmUprKz-\0M \0\0\17o\b¬Ë\0\0#q RSmk1NTZ-\0M \0\0\17o\b´Ë\0\0#q ZJrNhJIZ-\0M \0\0\17o\b¼Ë\0\0#q MlSpNJDM-\0M \0\0\17o\bÄË\0\0#q ktbNVDEs-\0M \0\0\17o\bÌË\0\0#q mpKFKVJt-\0M \0\0\17o\bÔË\0\0#q llm0ps2W-\0M \0\0\17o\bÜË\0\0#q zabGsbM2-\0M \0\0\17o\bäË\0\0#q aQtmsJaM-\0M \0\0\17o\bìË\0\0#q kNaVJmss-\0M \0\0\17o\bôË\0\0#q NbZtbMpr-\0M \0\0\17o\büË\0\0#q NYqWVKla-\0M \0\0\17o\b\ 4Ì\0\0#q TUapJmGz-\0M \0\0\17o\b\fÌ\0\0#q RClCZhpm-\0M \0\0\17o\b\14Ì\0\0#q EmZpEymp-\0M \0\0\17o\b\1cÌ\0\0#q qWZmWbRs-\0M \0\0\17o\b$Ì\0\0#q 0SaY0lNT-\0M \0\0\17o\b,Ì\0\0#q U2lqbLNt-\0M \0\0\17o\b4Ì\0\0#q ts1tsrNt-\0M \0\0\17o\b<Ì\0\0#q KqSWmGWW-\0M \0\0\17o\bDÌ\0\0#q W0tZrNiG-\0M \0\0\17o\bLÌ\0\0#q Uy2ylLU2-\0M \0\0\17o\bTÌ\0\0#q jJWUySml-\0M \0\0\17o\b\Ì\0\0#q NmpspWFK-\0M \0\0\17o\bdÌ\0\0#q JrTVkE1l-\0M \0\0\17o\blÌ\0\0#q JmakWTZm-\0M \0\0\17o\btÌ\0\0#q UtpS0rKy-\0M \0\0\17o\b|Ì\0\0#q qpVsilms-\0M \0\0\17o\b\84Ì\0\0#q NrWWbLMq-\0M \0\0\17o\b\8cÌ\0\0#q aVLFlNma-\0M \0\0\17o\b\94Ì\0\0#q zabZtNpp-\0M \0\0\17o\b\9cÌ\0\0#q oZJEkxlJ-\0M \0\0\17o\b¤Ì\0\0#q IlplYbNU-\0M \0\0\17o\b¬Ì\0\0#q MaaVKhIU-\0M \0\0\17o\b´Ì\0\0#q ylmxaWkE-\0M \0\0\17o\b¼Ì\0\0#q slm2WoAZ-\0M \0\0\17o\bÄÌ\0\0#q mYGmm02k-\0M \0\0\17o\bÌÌ\0\0#q mZ9vNcym-\0M \0\0\17o\bÔÌ\0\0#q /zYZ1m/E-\0M \0\0\17o\bÜÌ\0\0#q +UySfg39-\0M \0\0\17o\bäÌ\0\0#q LUVVWb+0-\0M \0\0\17o\bìÌ\0\0#q CAnu+IVn-\0M \0\0\17o\bôÌ\0\0#q zkTYexs7-\0M \0\0\17o\büÌ\0\0#q ufDm0VjD-\0M \0\0\17o\b\ 4Í\0\0#q Z7mmLPDC-\0M \0\0\17o\b\fÍ\0\0#q jvRkCK4N-\0M \0\0\17o\b\14Í\0\0#q H4KYIPfT-\0M \0\0\17o\b\1cÍ\0\0#q EsxAJVJT-\0M \0\0\17o\b$Í\0\0#q CY4MNNqK-\0M \0\0\17o\b,Í\0\0#q qTgrJkmj-\0M \0\0\17o\b4Í\0\0#q RkVkyN9M-\0M \0\0\17o\b<Í\0\0#q MuNskxW0-\0M \0\0\17o\bDÍ\0\0#q mmjTSlSs-\0M \0\0\17o\bLÍ\0\0#q RiUzxDKZ-\0M \0\0\17o\bTÍ\0\0#q mvWVXm9Y-\0M \0\0\17o\b\Í\0\0#q 8a6VLqbb-\0M \0\0\17o\bdÍ\0\0#q WXtSMLsZ-\0M \0\0\17o\blÍ\0\0#q GTNoSqYk-\0M \0\0\17o\btÍ\0\0#q yYjI2VEs-\0M \0\0\17o\b|Í\0\0#q koLRRUbR-\0M \0\0\17o\b\84Í\0\0#q RsbWkqSt-\0M \0\0\17o\b\8cÍ\0\0#q Sau0Wgop-\0M \0\0\17o\b\94Í\0\0#q Msq6V0SZ-\0M \0\0\17o\b\9cÍ\0\0#q ehQ82kyx-\0M \0\0\17o\b¤Í\0\0#q bJsqq2k6-\0M \0\0\17o\b¬Í\0\0#q xbaqqpy8-\0M \0\0\17o\b´Í\0\0#q chxElkKV-\0M \0\0\17o\b¼Í\0\0#q ybMPBqa1-\0M \0\0\17o\bÄÍ\0\0#q jIGLJqNa-\0M \0\0\17o\bÌÍ\0\0#q WSNnw5w5-\0M \0\0\17o\bÔÍ\0\0#q rJRVJ8pX-\0M \0\0\17o\bÜÍ\0\0#q QahwWUzy-\0M \0\0\17o\bäÍ\0\0#q p0wnz/U0-\0M \0\0\17o\bìÍ\0\0#q hIEiEYfz-\0M \0\0\17o\bôÍ\0\0#q EVFZGtr8-\0M \0\0\17o\büÍ\0\0#q GqLFqNUU-\0M \0\0\17o\b\ 4Î\0\0#q a0pVZVFV-\0M \0\0\17o\b\fÎ\0\0#q lLVsEy7V-\0M \0\0\17o\b\14Î\0\0#q F1qILVeG-\0M \0\0\17o\b\1cÎ\0\0#q Ek2aS+WJ-\0M \0\0\17o\b$Î\0\0#q ki7F2pqD-\0M \0\0\17o\b,Î\0\0#q 7InRyG/W-\0M \0\0\17o\b4Î\0\0#q jNbxTzY7-\0M \0\0\17o\b<Î\0\0#q E029eTdr-\0M \0\0\17o\bDÎ\0\0#q /1ZJlhzx-\0M \0\0\17o\bLÎ\0\0#q xZEk7TYx-\0M \0\0\17o\bTÎ\0\0#q ZI2Vk4yI-\0M \0\0\17o\b\Î\0\0#q 8WLZEUcf-\0M \0\0\17o\bdÎ\0\0#q Opyzjm2I-\0M \0\0\17o\blÎ\0\0#q 50sicpFj-\0M \0\0\17o\btÎ\0\0#q zHRZKelY-\0M \0\0\17o\b|Î\0\0#q LMxipnrp-\0M \0\0\17o\b\84Î\0\0#q olbK2wP3-\0M \0\0\17o\b\8cÎ\0\0#q Gj5QrZ3m-\0M \0\0\17o\b\94Î\0\0#q E7dW70dJ-\0M \0\0\17o\b\9cÎ\0\0#q N3aTWPvG-\0M \0\0\17o\b¤Î\0\0#q zFnLOYsc-\0M \0\0\17o\b¬Î\0\0#q QkecNk/K-\0M \0\0\17o\b´Î\0\0#q dSbVattW-\0M \0\0\17o\b¼Î\0\0#q /g8tatRJ-\0M \0\0\17o\bÄÎ\0\0#q 9BbaVmTU-\0M \0\0\17o\bÌÎ\0\0#q cNkbE5Ni-\0M \0\0\17o\bÔÎ\0\0#q RgCjqJjB-\0M \0\0\17o\bÜÎ\0\0#q FYYMQEpX-\0M \0\0\17o\bäÎ\0\0#q T39BIxlL-\0M \0\0\17o\bìÎ\0\0#q WwvLhFGp-\0M \0\0\17o\bôÎ\0\0#q GWUqKViq-\0M \0\0\17o\büÎ\0\0#q xkcZkznh-\0M \0\0\17o\b\ 4Ï\0\0#q qQLSNrGQ-\0M \0\0\17o\b\fÏ\0\0#q hBUdGYxN-\0M \0\0\17o\b\14Ï\0\0#q 2kbWNpAz-\0M \0\0\17o\b\1cÏ\0\0#q dTVXSs46-\0M \0\0\17o\b$Ï\0\0#q S3TNK5yd-\0M \0\0\17o\b,Ï\0\0#q 26mxXO7t-\0M \0\0\17o\b4Ï\0\0#q XNdm0m6b-\0M \0\0\17o\b<Ï\0\0#q RbSTJvK6-\0M \0\0\17o\bDÏ\0\0#q rpKW2TFt-\0M \0\0\17o\bLÏ\0\0#q vPLvJbNa-\0M \0\0\17o\bTÏ\0\0#q SixoxKyE-\0M \0\0\17o\b\Ï\0\0#q mNk0kWK0-\0M \0\0\17o\bdÏ\0\0#q SdjZs2No-\0M \0\0\17o\blÏ\0\0#q hYnAsejh-\0M \0\0\17o\btÏ\0\0#q FowruXCQ-\0M \0\0\17o\b|Ï\0\0#q lUVFqVGp-\0M \0\0\17o\b\84Ï\0\0#q E0UGZIZE-\0M \0\0\17o\b\8cÏ\0\0#q c3lktTo0-\0M \0\0\17o\b\94Ï\0\0#q 3a6N+Eif-\0M \0\0\17o\b\9cÏ\0\0#q lSdFScJJ-\0M \0\0\17o\b¤Ï\0\0#q 0xKRxN5+-\0M \0\0\17o\b¬Ï\0\0#q ZDlCLZB9-\0M \0\0\17o\b´Ï\0\0#q FWySZUtk-\0M \0\0\17o\b¼Ï\0\0#q hL9OWNS5-\0M \0\0\17o\bÄÏ\0\0#q Kx7HmGk3-\0M \0\0\17o\bÌÏ\0\0#q Zm+vn/ku-\0M \0\0\17o\bÔÏ\0\0#q SquatyCw-\0M \0\0\17o\bÜÏ\0\0#q YtGGhIxp-\0M \0\0\17o\bäÏ\0\0#q QKVBh9sw-\0M \0\0\17o\bìÏ\0\0#q s7qnJ2th-\0M \0\0\17o\bôÏ\0\0#q u+NtlbJb-\0M \0\0\17o\büÏ\0\0#q ljpdXFmF-\0M \0\0\17o\b\ 4Ð\0\0#q p6I0cN3V-\0M \0\0\17o\b\fÐ\0\0#q hW7RqTNa-\0M \0\0\17o\b\14Ð\0\0#q cWNJ80k/-\0M \0\0\17o\b\1cÐ\0\0#q pbIVr82C-\0M \0\0\17o\b$Ð\0\0#q R/iVzKp1-\0M \0\0\17o\b,Ð\0\0#q fJPyjz7u-\0M \0\0\17o\b4Ð\0\0#q 0PGnOl53-\0M \0\0\17o\b<Ð\0\0#q LbDvYakR-\0M \0\0\17o\bDÐ\0\0#q 0ZJD8qm5-\0M \0\0\17o\bLÐ\0\0#q 9mWLpEWR-\0M \0\0\17o\bTÐ\0\0#q zhu+1n9O-\0M \0\0\17o\b\Ð\0\0#q UKT1kn8V-\0M \0\0\17o\bdÐ\0\0#q Oh3p4lv5-\0M \0\0\17o\blÐ\0\0#q ZjCqf3P8-\0M \0\0\17o\btÐ\0\0#q 2pWjKmxU-\0M \0\0\17o\b|Ð\0\0#q zVvxpOH8-\0M \0\0\17o\b\84Ð\0\0#q eDZPhDwf-\0M \0\0\17o\b\8cÐ\0\0#q ii4JZZPc-\0M \0\0\17o\b\94Ð\0\0#q J67Ts94+-\0M \0\0\17o\b\9cÐ\0\0#q JJ8JN6n2-\0M \0\0\17o\b¤Ð\0\0#q RXJ/iPpD-\0M \0\0\17o\b¬Ð\0\0#q EN5uehqR-\0M \0\0\17o\b´Ð\0\0#q 3Yxju2bX-\0M \0\0\17o\b¼Ð\0\0#q bGDrRv6T-\0M \0\0\17o\bÄÐ\0\0#q 0R5vdxJO-\0M \0\0\17o\bÌÐ\0\0#q R2mD+4dU-\0M \0\0\17o\bÔÐ\0\0#q jVjZFQf6-\0M \0\0\17o\bÜÐ\0\0#q RFZJ8rFs-\0M \0\0\17o\bäÐ\0\0#q kqu7VMy3-\0M \0\0\17o\bìÐ\0\0#q EjDuzE2K-\0M \0\0\17o\bôÐ\0\0#q 5wH1nnG9-\0M \0\0\17o\büÐ\0\0#q 71lZjE1G-\0M \0\0\17o\b\ 4Ñ\0\0#q MMpMLzVo-\0M \0\0\17o\b\fÑ\0\0#q tmMJoN2g-\0M \0\0\17o\b\14Ñ\0\0#q v8yApnCp-\0M \0\0\17o\b\1cÑ\0\0#q gihcVoiU-\0M \0\0\17o\b$Ñ\0\0#q FH+c9nnb-\0M \0\0\17o\b,Ñ\0\0#q z+momOTD-\0M \0\0\17o\b4Ñ\0\0#q 2WTT5sRk-\0M \0\0\17o\b<Ñ\0\0#q o0skZYtt-\0M \0\0\17o\bDÑ\0\0#q ki1bLSVY-\0M \0\0\17o\bLÑ\0\0#q mmMY0wqh-\0M \0\0\17o\bTÑ\0\0#q WnGhdSll-\0M \0\0\17o\b\Ñ\0\0#q SSW9z4am-\0M \0\0\17o\bdÑ\0\0#q EW8VfPq+-\0M \0\0\17o\blÑ\0\0#q 6qyaeu2j-\0M \0\0\17o\btÑ\0\0#q ZNvXtEl6-\0M \0\0\17o\b|Ñ\0\0#q ptryvUox-\0M \0\0\17o\b\84Ñ\0\0#q wqtXN1Fm-\0M \0\0\17o\b\8cÑ\0\0#q Yqyc7Jql-\0M \0\0\17o\b\94Ñ\0\0#q sb2TXkul-\0M \0\0\17o\b\9cÑ\0\0#q ki/galjc-\0M \0\0\17o\b¤Ñ\0\0#q AwqxIxJE-\0M \0\0\17o\b¬Ñ\0\0#q kIZjxWvo-\0M \0\0\17o\b´Ñ\0\0#q hjDLbjDg-\0M \0\0\17o\b¼Ñ\0\0#q 3VHCdKtl-\0M \0\0\17o\bÄÑ\0\0#q CUmTvHq1-\0M \0\0\17o\bÌÑ\0\0#q g1bKsb1n-\0M \0\0\17o\bÔÑ\0\0#q ufaqpD0u-\0M \0\0\17o\bÜÑ\0\0#q QWNon9Cd-\0M \0\0\17o\bäÑ\0\0#q rrb3LTMl-\0M \0\0\17o\bìÑ\0\0#q SbUTSbK0-\0M \0\0\17o\bôÑ\0\0#q ohajIvgj-\0M \0\0\17o\büÑ\0\0#q H+99Bt8p-\0M \0\0\17o\b\ 4Ò\0\0#q 3n6qleSV-\0M \0\0\17o\b\fÒ\0\0#q ZE6o9h2e-\0M \0\0\17o\b\14Ò\0\0#q HZRzpwc3-\0M \0\0\17o\b\1cÒ\0\0#q OYmK009E-\0M \0\0\17o\b$Ò\0\0#q 9R328jxM-\0M \0\0\17o\b,Ò\0\0#q bJvFH6St-\0M \0\0\17o\b4Ò\0\0#q QnM1NNmL-\0M \0\0\17o\b<Ò\0\0#q DBWdD/Dw-\0M \0\0\17o\bDÒ\0\0#q dQc+bD7v-\0M \0\0\17o\bLÒ\0\0#q Uoz8D4pQ-\0M \0\0\17o\bTÒ\0\0#q aY3jgmo4-\0M \0\0\17o\b\Ò\0\0#q UpCiqrGz-\0M \0\0\17o\bdÒ\0\0#q ZpNbC5h/-\0M \0\0\17o\blÒ\0\0#q TXGpNqn1-\0M \0\0\17o\btÒ\0\0#q Vaok4ZPk-\0M \0\0\17o\b|Ò\0\0#q 4KphiwyW-\0M \0\0\17o\b\84Ò\0\0#q Jy5ZHRwf-\0M \0\0\17o\b\8cÒ\0\0#q oiZC34h6-\0M \0\0\17o\b\94Ò\0\0#q SrVlWif7-\0M \0\0\17o\b\9cÒ\0\0#q FRHs1+Nu-\0M \0\0\17o\b¤Ò\0\0#q h+L5Hs6k-\0M \0\0\17o\b¬Ò\0\0#q 7WWyNKya-\0M \0\0\17o\b´Ò\0\0#q ld2mpMaN-\0M \0\0\17o\b¼Ò\0\0#q p8+jr5z3-\0M \0\0\17o\bÄÒ\0\0#q H5HpDpU/-\0M \0\0\17o\bÌÒ\0\0#q yqPXPAk9-\0M \0\0\17o\bÔÒ\0\0#q 1O6UFo2P-\0M \0\0\17o\bÜÒ\0\0#q K2u5jy7l-\0M \0\0\17o\bäÒ\0\0#q Wy35Kw+i-\0M \0\0\17o\bìÒ\0\0#q PIqfOySO-\0M \0\0\17o\bôÒ\0\0#q pNDJ1k4n-\0M \0\0\17o\büÒ\0\0#q qsilXhke-\0M \0\0\17o\b\ 4Ó\0\0#q ZbW8c56z-\0M \0\0\17o\b\fÓ\0\0#q Rx1kbkR1-\0M \0\0\17o\b\14Ó\0\0#q nBpJ1VUP-\0M \0\0\17o\b\1cÓ\0\0#q WotkR0rd-\0M \0\0\17o\b$Ó\0\0#q sQsexSuL-\0M \0\0\17o\b,Ó\0\0#q +5pk+Mk2-\0M \0\0\17o\b4Ó\0\0#q l/i7Oi6X-\0M \0\0\17o\b<Ó\0\0#q GwkvE5Jy-\0M \0\0\17o\bDÓ\0\0#q D6Ifc0l8-\0M \0\0\17o\bLÓ\0\0#q iIBO6c0D-\0M \0\0\17o\bTÓ\0\0#q ixXt8Wk0-\0M \0\0\17o\b\Ó\0\0#q H6+6WxFl-\0M \0\0\17o\bdÓ\0\0#q iWWWhO5P-\0M \0\0\17o\blÓ\0\0#q 1UUsfx/o-\0M \0\0\17o\btÓ\0\0#q /JZJ9ipr-\0M \0\0\17o\b|Ó\0\0#q tPkmjEsf-\0M \0\0\17o\b\84Ó\0\0#q Wdqnbtat-\0M \0\0\17o\b\8cÓ\0\0#q q24Ockqq-\0M \0\0\17o\b\94Ó\0\0#q qnQw+6k7-\0M \0\0\17o\b\9cÓ\0\0#q EfBZHMen-\0M \0\0\17o\b¤Ó\0\0#q tbUafUcO-\0M \0\0\17o\b¬Ó\0\0#q iqVVVYFU-\0M \0\0\17o\b´Ó\0\0#q lFKKqejE-\0M \0\0\17o\b¼Ó\0\0#q Y6Y+lfo+-\0M \0\0\17o\bÄÓ\0\0#q ubdLJdCu-\0M \0\0\17o\bÌÓ\0\0#q RFXLgVQw-\0M \0\0\17o\bÔÓ\0\0#q rGW3GIYJ-\0M \0\0\17o\bÜÓ\0\0#q WGCYwwtW-\0M \0\0\17o\bäÓ\0\0#q WlUskYxZ-\0M \0\0\17o\bìÓ\0\0#q +emKaZHy-\0M \0\0\17o\bôÓ\0\0#q QfWMWTUk-\0M \0\0\17o\büÓ\0\0#q P9FV7wTx-\0M \0\0\17o\b\ 4Ô\0\0#q +WRVUrZI-\0M \0\0\17o\b\fÔ\0\0#q 0/KPlYWl-\0M \0\0\17o\b\14Ô\0\0#q UqaINRpI-\0M \0\0\17o\b\1cÔ\0\0#q xmMlMfoe-\0M \0\0\17o\b$Ô\0\0#q ftr+7+JP-\0M \0\0\17o\b,Ô\0\0#q 2H69M/jD-\0M \0\0\17o\b4Ô\0\0#q 8xaKRKgS-\0M \0\0\17o\b<Ô\0\0#q rdibLHI0-\0M \0\0\17o\bDÔ\0\0#q VxjbdHGN-\0M \0\0\17o\bLÔ\0\0#q jQd0aMDA-\0M \0\0\17o\bTÔ\0\0#q 0QIQWEpT-\0M \0\0\17o\b\Ô\0\0#q RDGZrq3R-\0M \0\0\17o\bdÔ\0\0#q 00OH8GFj-\0M \0\0\17o\blÔ\0\0#q uAD9iwhU-\0M \0\0\17o\btÔ\0\0#q 2MP6wiGD-\0M \0\0\17o\b|Ô\0\0#q +jp0Ymd0-\0M \0\0\17o\b\84Ô\0\0#q 6Ksv5piO-\0M \0\0\17o\b\8cÔ\0\0#q Uq1rMkwZ-\0M \0\0\17o\b\94Ô\0\0#q kiw2SmZI-\0M \0\0\17o\b\9cÔ\0\0#q UHD5pP5P-\0M \0\0\17o\b¤Ô\0\0#q 1qcNmkgD-\0M \0\0\17o\b¬Ô\0\0#q 9vum0hi+-\0M \0\0\17o\b´Ô\0\0#q X4S/PJ3/-\0M \0\0\17o\b¼Ô\0\0#q mfi9rbsp-\0M \0\0\17o\bÄÔ\0\0#q yye2Fk1Y-\0M \0\0\17o\bÌÔ\0\0#q tSqo+5O3-\0M \0\0\17o\bÔÔ\0\0#q 3q0nAeTH-\0M \0\0\17o\bÜÔ\0\0#q bg7lc2zB-\0M \0\0\17o\bäÔ\0\0#q xS2K2xjL-\0M \0\0\17o\bìÔ\0\0#q /dLmkWZG-\0M \0\0\17o\bôÔ\0\0#q HQNxp9Nk-\0M \0\0\17o\büÔ\0\0#q yrGxuvp9-\0M \0\0\17o\b\ 4Õ\0\0#q akHp3+A3-\0M \0\0\17o\b\fÕ\0\0#q ROSdXUb1-\0M \0\0\17o\b\14Õ\0\0#q air5yyvd-\0M \0\0\17o\b\1cÕ\0\0#q I8km6PrI-\0M \0\0\17o\b$Õ\0\0#q gEskaR1c-\0M \0\0\17o\b,Õ\0\0#q eOmv5q4d-\0M \0\0\17o\b4Õ\0\0#q pNp4dofK-\0M \0\0\17o\b<Õ\0\0#q up3NzUTx-\0M \0\0\17o\bDÕ\0\0#q svxlZbZ/-\0M \0\0\17o\bLÕ\0\0#q V7KshwsV-\0M \0\0\17o\bTÕ\0\0#q cSqwxapT-\0M \0\0\17o\b\Õ\0\0#q 6487uYnO-\0M \0\0\17o\bdÕ\0\0#q E9IdPT5D-\0M \0\0\17o\blÕ\0\0#q shyR8GTg-\0M \0\0\17o\btÕ\0\0#q 8yZIxO7D-\0M \0\0\17o\b|Õ\0\0#q 2Xoe8wbP-\0M \0\0\17o\b\84Õ\0\0#q D2vkrki1-\0M \0\0\17o\b\8cÕ\0\0#q J6oe6xXD-\0M \0\0\17o\b\94Õ\0\0#q YppjTbDe-\0M \0\0\17o\b\9cÕ\0\0#q zUkdjZXV-\0M \0\0\17o\b¤Õ\0\0#q jE75bVWX-\0M \0\0\17o\b¬Õ\0\0#q RUdldu05-\0M \0\0\17o\b´Õ\0\0#q D4OvVbD8-\0M \0\0\17o\b¼Õ\0\0#q SxVZLZ00-\0M \0\0\17o\bÄÕ\0\0#q 9nJEkSTN-\0M \0\0\17o\bÌÕ\0\0#q 7Y8kpPWH-\0M \0\0\17o\bÔÕ\0\0#q 5pUvT49i-\0M \0\0\17o\bÜÕ\0\0#q IMA9AfID-\0M \0\0\17o\bäÕ\0\0#q JEZQpYI0-\0M \0\0\17o\bìÕ\0\0#q oY5HlZOH-\0M \0\0\17o\bôÕ\0\0#q xMMSe9Wu-\0M \0\0\17o\büÕ\0\0#q ihVMpamS-\0M \0\0\17o\b\ 4Ö\0\0#q nEH4RE9Z-\0M \0\0\17o\b\fÖ\0\0#q aWlkKsWr-\0M \0\0\17o\b\14Ö\0\0#q VSPdFT2z-\0M \0\0\17o\b\1cÖ\0\0#q JGJOHBVl-\0M \0\0\17o\b$Ö\0\0#q VUrpTJRy-\0M \0\0\17o\b,Ö\0\0#q wuMlV0T9-\0M \0\0\17o\b4Ö\0\0#q myzARkCl-\0M \0\0\17o\b<Ö\0\0#q qiJX70kg-\0M \0\0\17o\bDÖ\0\0#q pcYzsakR-\0M \0\0\17o\bLÖ\0\0#q kiRXw/k/-\0M \0\0\17o\bTÖ\0\0#q H9sfrouz-\0M \0\0\17o\b\Ö\0\0#q /j/oVDN7-\0M \0\0\17o\bdÖ\0\0#q /u1hxCRI-\0M \0\0\17o\blÖ\0\0#q RZULOfq+-\0M \0\0\17o\btÖ\0\0#q KvHsxm1M-\0M \0\0\17o\b|Ö\0\0#q 2jkhY7We-\0M \0\0\17o\b\84Ö\0\0#q Uc1j/ARD-\0M \0\0\17o\b\8cÖ\0\0#q X9g55b0y-\0M \0\0\17o\b\94Ö\0\0#q 0OAkCC5c-\0M \0\0\17o\b\9cÖ\0\0#q P+IWkuBk-\0M \0\0\17o\b¤Ö\0\0#q JyInN3re-\0M \0\0\17o\b¬Ö\0\0#q K6uz5oJ3-\0M \0\0\17o\b´Ö\0\0#q cmh5kk5S-\0M \0\0\17o\b¼Ö\0\0#q OROSWbV3-\0M \0\0\17o\bÄÖ\0\0#q cz6GtQbZ-\0M \0\0\17o\bÌÖ\0\0#q KFKWuNFt-\0M \0\0\17o\bÔÖ\0\0#q iyrDpfLM-\0M \0\0\17o\bÜÖ\0\0#q zGSYWFVp-\0M \0\0\17o\bäÖ\0\0#q VVZYebEE-\0M \0\0\17o\bìÖ\0\0#q sBqBXBsj-\0M \0\0\17o\bôÖ\0\0#q MbarG2x/-\0M \0\0\17o\büÖ\0\0#q fZQ+jLYb-\0M \0\0\17o\b\ 4×\0\0#q HHqNwzdK-\0M \0\0\17o\b\f×\0\0#q EarMZjYx-\0M \0\0\17o\b\14×\0\0#q uuOPbI9s-\0M \0\0\17o\b\1c×\0\0#q ySN6HDIR-\0M \0\0\17o\b$×\0\0#q KMbSRBlK-\0M \0\0\17o\b,×\0\0#q UoJjSMba-\0M \0\0\17o\b4×\0\0#q V15eryvB-\0M \0\0\17o\b<×\0\0#q qvJXDYi8-\0M \0\0\17o\bD×\0\0#q l107GrKu-\0M \0\0\17o\bL×\0\0#q rrePql/G-\0M \0\0\17o\bT×\0\0#q 999PfuvQ-\0M \0\0\17o\b\×\0\0#q QNubc1or-\0M \0\0\17o\bd×\0\0#q FGJnz9/3-\0M \0\0\17o\bl×\0\0#q e/n38Nvh-\0M \0\0\17o\bt×\0\0#q XHdrlX0h-\0M \0\0\17o\b|×\0\0#q VyULe2vF-\0M \0\0\17o\b\84×\0\0#q 4tSELMby-\0M \0\0\17o\b\8c×\0\0#q nXaVdIyz-\0M \0\0\17o\b\94×\0\0#q VzptzbpG-\0M \0\0\17o\b\9c×\0\0#q 0kYyrYmU-\0M \0\0\17o\b¤×\0\0#q stRUilMV-\0M \0\0\17o\b¬×\0\0#q 6qhiUaXU-\0M \0\0\17o\b´×\0\0#q qU2t22sq-\0M \0\0\17o\b¼×\0\0#q VUgIrrtL-\0M \0\0\17o\bÄ×\0\0#q Q1QdExSK-\0M \0\0\17o\bÌ×\0\0#q lSKNIKND-\0M \0\0\17o\bÔ×\0\0#q YBCEhONt-\0M \0\0\17o\bÜ×\0\0#q cvec081d-\0M \0\0\17o\bä×\0\0#q aISsVrnN-\0M \0\0\17o\bì×\0\0#q whsmVFh9-\0M \0\0\17o\bô×\0\0#q UnkeSpU/-\0M \0\0\17o\bü×\0\0#q Ucu0cHJG-\0M \0\0\17o\b\ 4Ø\0\0#q 1Tws6MbG-\0M \0\0\17o\b\fØ\0\0#q 5/FVq2qh-\0M \0\0\17o\b\14Ø\0\0#q SlIpMbqk-\0M \0\0\17o\b\1cØ\0\0#q dPrfnJsR-\0M \0\0\17o\b$Ø\0\0#q P5LJP3kl-\0M \0\0\17o\b,Ø\0\0#q 8j+YotqN-\0M \0\0\17o\b4Ø\0\0#q Dkj+2rYW-\0M \0\0\17o\b<Ø\0\0#q xbJPER5O-\0M \0\0\17o\bDØ\0\0#q zzamSJYm-\0M \0\0\17o\bLØ\0\0#q ofxdXtOq-\0M \0\0\17o\bTØ\0\0#q Pt84dU9J-\0M \0\0\17o\b\Ø\0\0#q +/4gPBe8-\0M \0\0\17o\bdØ\0\0#q BUHiJMP6-\0M \0\0\17o\blØ\0\0#q uXrNpwqw-\0M \0\0\17o\btØ\0\0#q ttVSaxGF-\0M \0\0\17o\b|Ø\0\0#q +jEifCpF-\0M \0\0\17o\b\84Ø\0\0#q fxSkr9mc-\0M \0\0\17o\b\8cØ\0\0#q 32c3S3Sz-\0M \0\0\17o\b\94Ø\0\0#q bd2ZoiFI-\0M \0\0\17o\b\9cØ\0\0#q b5ZGYtnE-\0M \0\0\17o\b¤Ø\0\0#q kdJ+Try/-\0M \0\0\17o\b¬Ø\0\0#q CPL9Mi5m-\0M \0\0\17o\b´Ø\0\0#q Mdh+Ug/l-\0M \0\0\17o\b¼Ø\0\0#q ZFsslk+Z-\0M \0\0\17o\bÄØ\0\0#q J6Es33Tm-\0M \0\0\17o\bÌØ\0\0#q ZHKzR+qo-\0M \0\0\17o\bÔØ\0\0#q +jHqk0bP-\0M \0\0\17o\bÜØ\0\0#q R7vVXJrn-\0M \0\0\17o\bäØ\0\0#q +Xaeaslp-\0M \0\0\17o\bìØ\0\0#q RZLB6fWT-\0M \0\0\17o\bôØ\0\0#q y0fm4NJO-\0M \0\0\17o\büØ\0\0#q 9fzVkjpK-\0M \0\0\17o\b\ 4Ù\0\0#q W2+cmMea-\0M \0\0\17o\b\fÙ\0\0#q KKivw3yN-\0M \0\0\17o\b\14Ù\0\0#q m0nsxo0q-\0M \0\0\17o\b\1cÙ\0\0#q Y/JPx9o9-\0M \0\0\17o\b$Ù\0\0#q 26TeJg2I-\0M \0\0\17o\b,Ù\0\0#q tr4mV3Ui-\0M \0\0\17o\b4Ù\0\0#q bG6zyzGV-\0M \0\0\17o\b<Ù\0\0#q VRZRZzUm-\0M \0\0\17o\bDÙ\0\0#q JYrYjeJP-\0M \0\0\17o\bLÙ\0\0#q tG57vdmC-\0M \0\0\17o\bTÙ\0\0#q lZ7rv1y8-\0M \0\0\17o\b\Ù\0\0#q 228aKmVl-\0M \0\0\17o\bdÙ\0\0#q 6+qvZfKR-\0M \0\0\17o\blÙ\0\0#q cLOG6ldO-\0M \0\0\17o\btÙ\0\0#q qd/Vu6vn-\0M \0\0\17o\b|Ù\0\0#q zdTvHSaW-\0M \0\0\17o\b\84Ù\0\0#q dJCUkjhk-\0M \0\0\17o\b\8cÙ\0\0#q kn7Gk+ei-\0M \0\0\17o\b\94Ù\0\0#q ZHzRJjsh-\0M \0\0\17o\b\9cÙ\0\0#q qSwqyDyZ-\0M \0\0\17o\b¤Ù\0\0#q 80X6SPqx-\0M \0\0\17o\b¬Ù\0\0#q 722PQanW-\0M \0\0\17o\b´Ù\0\0#q ebyOhb9n-\0M \0\0\17o\b¼Ù\0\0#q 7djstjZ4-\0M \0\0\17o\bÄÙ\0\0#q dY2OQxL8-\0M \0\0\17o\bÌÙ\0\0#q hdS7hgfQ-\0M \0\0\17o\bÔÙ\0\0#q +5CDkj7o-\0M \0\0\17o\bÜÙ\0\0#q 7K4g5yNp-\0M \0\0\17o\bäÙ\0\0#q yOpPqRyw-\0M \0\0\17o\bìÙ\0\0#q lpQRSDKS-\0M \0\0\17o\bôÙ\0\0#q ubGQjFYy-\0M \0\0\17o\büÙ\0\0#q aHIAwiqR-\0M \0\0\17o\b\ 4Ú\0\0#q am0sMSLC-\0M \0\0\17o\b\fÚ\0\0#q sJviL0yJ-\0M \0\0\17o\b\14Ú\0\0#q 2OkeKEsl-\0M \0\0\17o\b\1cÚ\0\0#q hZYLLIdX-\0M \0\0\17o\b$Ú\0\0#q uqTrJIqK-\0M \0\0\17o\b,Ú\0\0#q aZP1acJC-\0M \0\0\17o\b4Ú\0\0#q cH4eh1+k-\0M \0\0\17o\b<Ú\0\0#q fB93b1WT-\0M \0\0\17o\bDÚ\0\0#q nIpa+SDt-\0M \0\0\17o\bLÚ\0\0#q JnSUSfEh-\0M \0\0\17o\bTÚ\0\0#q NliaKTnK-\0M \0\0\17o\b\Ú\0\0#q 6bk2NUtO-\0M \0\0\17o\bdÚ\0\0#q pwxwxVUb-\0M \0\0\17o\blÚ\0\0#q Nmx5x8lI-\0M \0\0\17o\btÚ\0\0#q qppySP7f-\0M \0\0\17o\b|Ú\0\0#q keJPkfA/-\0M \0\0\17o\b\84Ú\0\0#q GZNlaB85-\0M \0\0\17o\b\8cÚ\0\0#q U/xOGz7n-\0M \0\0\17o\b\94Ú\0\0#q G7VxLbFv-\0M \0\0\17o\b\9cÚ\0\0#q OJRc267d-\0M \0\0\17o\b¤Ú\0\0#q Y5TS32y8-\0M \0\0\17o\b¬Ú\0\0#q 2q967Sok-\0M \0\0\17o\b´Ú\0\0#q 5Aw3FStp-\0M \0\0\17o\b¼Ú\0\0#q hVLMYoq5-\0M \0\0\17o\bÄÚ\0\0#q nJ05S7XG-\0M \0\0\17o\bÌÚ\0\0#q 3bTWXLti-\0M \0\0\17o\bÔÚ\0\0#q slaIjwcK-\0M \0\0\17o\bÜÚ\0\0#q pUlVZ5bN-\0M \0\0\17o\bäÚ\0\0#q l3MjhW/1-\0M \0\0\17o\bìÚ\0\0#q ibOUVX6b-\0M \0\0\17o\bôÚ\0\0#q GO9ltr3q-\0M \0\0\17o\büÚ\0\0#q NM4ZOuTm-\0M \0\0\17o\b\ 4Û\0\0#q dlJHaTrd-\0M \0\0\17o\b\fÛ\0\0#q opbJmZI0-\0M \0\0\17o\b\14Û\0\0#q WRqsr4Q/-\0M \0\0\17o\b\1cÛ\0\0#q tfrZ3oi2-\0M \0\0\17o\b$Û\0\0#q RVBaIqi1-\0M \0\0\17o\b,Û\0\0#q MzEkmVJ0-\0M \0\0\17o\b4Û\0\0#q pnG2r43k-\0M \0\0\17o\b<Û\0\0#q 6qGCL9Kk-\0M \0\0\17o\bDÛ\0\0#q pczv4SeP-\0M \0\0\17o\bLÛ\0\0#q sFeTIEBc-\0M \0\0\17o\bTÛ\0\0#q 3DtAZcH6-\0M \0\0\17o\b\Û\0\0#q XxGW7Yaw-\0M \0\0\17o\bdÛ\0\0#q +DznoSqy-\0M \0\0\17o\blÛ\0\0#q rouIMcMH-\0M \0\0\17o\btÛ\0\0#q bjD/FBny-\0M \0\0\17o\b|Û\0\0#q /X179rvt-\0M \0\0\17o\b\84Û\0\0#q jikQCcgQ-\0M \0\0\17o\b\8cÛ\0\0#q E4HS222z-\0M \0\0\17o\b\94Û\0\0#q VI+KD/aP-\0M \0\0\17o\b\9cÛ\0\0#q 1IS0pJSB-\0M \0\0\17o\b¤Û\0\0#q Yzn2USdP-\0M \0\0\17o\b¬Û\0\0#q STTu868a-\0M \0\0\17o\b´Û\0\0#q rlGQodZ/-\0M \0\0\17o\b¼Û\0\0#q tyxVyU5R-\0M \0\0\17o\bÄÛ\0\0#q rlBdEqjR-\0M \0\0\17o\bÌÛ\0\0#q +4KCHQDi-\0M \0\0\17o\bÔÛ\0\0#q 6aQjlScf-\0M \0\0\17o\bÜÛ\0\0#q +T5kjee1-\0M \0\0\17o\bäÛ\0\0#q Xoxo/SOO-\0M \0\0\17o\bìÛ\0\0#q yTCd1xDl-\0M \0\0\17o\bôÛ\0\0#q X+YN/MVv-\0M \0\0\17o\büÛ\0\0#q tOj2tXZX-\0M \0\0\17o\b\ 4Ü\0\0#q ckMqqZHZ-\0M \0\0\17o\b\fÜ\0\0#q EKEQlkdn-\0M \0\0\17o\b\14Ü\0\0#q L7Jdydlg-\0M \0\0\17o\b\1cÜ\0\0#q mev89uU7-\0M \0\0\17o\b$Ü\0\0#q 8j5cSJ/l-\0M \0\0\17o\b,Ü\0\0#q 8dkmE7rh-\0M \0\0\17o\b4Ü\0\0#q zD8qadHM-\0M \0\0\17o\b<Ü\0\0#q H4jZj3nD-\0M \0\0\17o\bDÜ\0\0#q GPdwajh7-\0M \0\0\17o\bLÜ\0\0#q sMdnVu5u-\0M \0\0\17o\bTÜ\0\0#q jXXl+T1/-\0M \0\0\17o\b\Ü\0\0#q u4LOHgw0-\0M \0\0\17o\bdÜ\0\0#q +z8FGBY2-\0M \0\0\17o\blÜ\0\0#q M89iIokY-\0M \0\0\17o\btÜ\0\0#q Qvh0gpDs-\0M \0\0\17o\b|Ü\0\0#q MgXC5N6M-\0M \0\0\17o\b\84Ü\0\0#q MVWqIDKF-\0M \0\0\17o\b\8cÜ\0\0#q k7Bhi7LC-\0M \0\0\17o\b\94Ü\0\0#q a12ZnoYV-\0M \0\0\17o\b\9cÜ\0\0#q i5gcGP9X-\0M \0\0\17o\b¤Ü\0\0#q 5TyVn5jj-\0M \0\0\17o\b¬Ü\0\0#q pmK38e0H-\0M \0\0\17o\b´Ü\0\0#q 0yNy9sy6-\0M \0\0\17o\b¼Ü\0\0#q krJx2NyX-\0M \0\0\17o\bÄÜ\0\0#q EkufYjPY-\0M \0\0\17o\bÌÜ\0\0#q 35HJdzHa-\0M \0\0\17o\bÔÜ\0\0#q IWeWpGch-\0M \0\0\17o\bÜÜ\0\0#q 1C2GpaeI-\0M \0\0\17o\bäÜ\0\0#q IyAyJiVK-\0M \0\0\17o\bìÜ\0\0#q /Gotmvs6-\0M \0\0\17o\bôÜ\0\0#q vH4Xixys-\0M \0\0\17o\büÜ\0\0#q dNfO67Zu-\0M \0\0\17o\b\ 4Ý\0\0#q afPse3Xt-\0M \0\0\17o\b\fÝ\0\0#q czmeH1mH-\0M \0\0\17o\b\14Ý\0\0#q V6i2qvNH-\0M \0\0\17o\b\1cÝ\0\0#q rsuyeFJj-\0M \0\0\17o\b$Ý\0\0#q 1OGjd4Zq-\0M \0\0\17o\b,Ý\0\0#q 4YLjGTEx-\0M \0\0\17o\b4Ý\0\0#q lUsVV/xc-\0M \0\0\17o\b<Ý\0\0#q bG0nNuxl-\0M \0\0\17o\bDÝ\0\0#q xTLllUUB-\0M \0\0\17o\bLÝ\0\0#q hE0vYrX0-\0M \0\0\17o\bTÝ\0\0#q AxuvoyLW-\0M \0\0\17o\b\Ý\0\0#q YktLUDBX-\0M \0\0\17o\bdÝ\0\0#q 8H5cYsLk-\0M \0\0\17o\blÝ\0\0#q OfeXyz9A-\0M \0\0\17o\btÝ\0\0#q 4QbZ7J00-\0M \0\0\17o\b|Ý\0\0#q FTnG94VN-\0M \0\0\17o\b\84Ý\0\0#q ve5NkYen-\0M \0\0\17o\b\8cÝ\0\0#q LptnR61a-\0M \0\0\17o\b\94Ý\0\0#q v5SHOPZV-\0M \0\0\17o\b\9cÝ\0\0#q dEI2fk5/-\0M \0\0\17o\b¤Ý\0\0#q k3VxOX5P-\0M \0\0\17o\b¬Ý\0\0#q ckzZv1ec-\0M \0\0\17o\b´Ý\0\0#q 8TchyRzO-\0M \0\0\17o\b¼Ý\0\0#q Oqs5zOUk-\0M \0\0\17o\bÄÝ\0\0#q m0wWPJVW-\0M \0\0\17o\bÌÝ\0\0#q TC1sxMVV-\0M \0\0\17o\bÔÝ\0\0#q TWOfpWxn-\0M \0\0\17o\bÜÝ\0\0#q sx/JmyBR-\0M \0\0\17o\bäÝ\0\0#q sFWNsiIq-\0M \0\0\17o\bìÝ\0\0#q oVUFReZr-\0M \0\0\17o\bôÝ\0\0#q K80s5jqp-\0M \0\0\17o\büÝ\0\0#q OqvOS43z-\0M \0\0\17o\b\ 4Þ\0\0#q EuyOx1cp-\0M \0\0\17o\b\fÞ\0\0#q 0Y8OhOW7-\0M \0\0\17o\b\14Þ\0\0#q ME8lk6LC-\0M \0\0\17o\b\1cÞ\0\0#q eFLjEsFS-\0M \0\0\17o\b$Þ\0\0#q qpSyelXJ-\0M \0\0\17o\b,Þ\0\0#q hXAcdpsp-\0M \0\0\17o\b4Þ\0\0#q 0Y6/OqpW-\0M \0\0\17o\b<Þ\0\0#q hUMVm2xj-\0M \0\0\17o\bDÞ\0\0#q yTgU6nrw-\0M \0\0\17o\bLÞ\0\0#q 6yszFUtt-\0M \0\0\17o\bTÞ\0\0#q ktLZVtnX-\0M \0\0\17o\b\Þ\0\0#q i3kuDRtD-\0M \0\0\17o\bdÞ\0\0#q z/sJ5OxX-\0M \0\0\17o\blÞ\0\0#q V22LVZKM-\0M \0\0\17o\btÞ\0\0#q YxihA2Q/-\0M \0\0\17o\b|Þ\0\0#q Dq/NjZ+5-\0M \0\0\17o\b\84Þ\0\0#q 35t7PF0a-\0M \0\0\17o\b\8cÞ\0\0#q 3E6sM0t9-\0M \0\0\17o\b\94Þ\0\0#q 0PBzJHT5-\0M \0\0\17o\b\9cÞ\0\0#q SRrz+MtS-\0M \0\0\17o\b¤Þ\0\0#q HquWXGSM-\0M \0\0\17o\b¬Þ\0\0#q c07ChTvJ-\0M \0\0\17o\b´Þ\0\0#q 7sjSm49U-\0M \0\0\17o\b¼Þ\0\0#q 8JK0NlKr-\0M \0\0\17o\bÄÞ\0\0#q XIMbnnPC-\0M \0\0\17o\bÌÞ\0\0#q 0qUqjU5J-\0M \0\0\17o\bÔÞ\0\0#q xyt7ynN5-\0M \0\0\17o\bÜÞ\0\0#q e/kM7y2Y-\0M \0\0\17o\bäÞ\0\0#q xjGrVeTE-\0M \0\0\17o\bìÞ\0\0#q 5xqbVT8L-\0M \0\0\17o\bôÞ\0\0#q iY6bpo+Z-\0M \0\0\17o\büÞ\0\0#q dRG82/fr-\0M \0\0\17o\b\ 4ß\0\0#q 1m22xZSB-\0M \0\0\17o\b\fß\0\0#q 38PxIyNM-\0M \0\0\17o\b\14ß\0\0#q ShQiH6G9-\0M \0\0\17o\b\1cß\0\0#q hXLOZK6w-\0M \0\0\17o\b$ß\0\0#q 3N5+X72H-\0M \0\0\17o\b,ß\0\0#q FAxu5NSf-\0M \0\0\17o\b4ß\0\0#q RpW6afRX-\0M \0\0\17o\b<ß\0\0#q qo8VJGH9-\0M \0\0\17o\bDß\0\0#q x5ObPuVJ-\0M \0\0\17o\bLß\0\0#q QLAiFlH6-\0M \0\0\17o\bTß\0\0#q /u/FbMJ3-\0M \0\0\17o\b\ß\0\0#q EnnDq7T0-\0M \0\0\17o\bdß\0\0#q En449m8J-\0M \0\0\17o\blß\0\0#q HNPxcyzX-\0M \0\0\17o\btß\0\0#q SV7BCP9J-\0M \0\0\17o\b|ß\0\0#q ENSIjTah-\0M \0\0\17o\b\84ß\0\0#q AiKfMpQX-\0M \0\0\17o\b\8cß\0\0#q fhvwg6xj-\0M \0\0\17o\b\94ß\0\0#q TyfA09Ua-\0M \0\0\17o\b\9cß\0\0#q kjGjZSMk-\0M \0\0\17o\b¤ß\0\0#q cm0k69uD-\0M \0\0\17o\b¬ß\0\0#q Qkz5aTWC-\0M \0\0\17o\b´ß\0\0#q W2iz7hlc-\0M \0\0\17o\b¼ß\0\0#q SciTjD3I-\0M \0\0\17o\bÄß\0\0#q oFZBYmNt-\0M \0\0\17o\bÌß\0\0#q odoFMMIk-\0M \0\0\17o\bÔß\0\0#q DWQjASGk-\0M \0\0\17o\bÜß\0\0#q 0NA76DcI-\0M \0\0\17o\bäß\0\0#q ySAGLYwA-\0M \0\0\17o\bìß\0\0#q ZPQkVbS9-\0M \0\0\17o\bôß\0\0#q raOCXx0N-\0M \0\0\17o\büß\0\0#q 4NPJAcpT-\0M \0\0\17o\b\ 4à\0\0#q E24YEIYy-\0M \0\0\17o\b\fà\0\0#q g7CfLWmi-\0M \0\0\17o\b\14à\0\0#q 2E1TDcjd-\0M \0\0\17o\b\1cà\0\0#q kTMXE0qK-\0M \0\0\17o\b$à\0\0#q sqvYI1Rc-\0M \0\0\17o\b,à\0\0#q 1zUWKjBt-\0M \0\0\17o\b4à\0\0#q 3dZMYLSc-\0M \0\0\17o\b<à\0\0#q 1V8teNrS-\0M \0\0\17o\bDà\0\0#q wW867u67-\0M \0\0\17o\bLà\0\0#q u3XWz3ui-\0M \0\0\17o\bTà\0\0#q TDJ7uup6-\0M \0\0\17o\b\à\0\0#q aktGEa9d-\0M \0\0\17o\bdà\0\0#q 1hTNubvV-\0M \0\0\17o\blà\0\0#q 2q883d3I-\0M \0\0\17o\btà\0\0#q oqVnZHRy-\0M \0\0\17o\b|à\0\0#q RZT547K2-\0M \0\0\17o\b\84à\0\0#q nlbs57pm-\0M \0\0\17o\b\8cà\0\0#q 7cLQoYwF-\0M \0\0\17o\b\94à\0\0#q 2iZPBBH+-\0M \0\0\17o\b\9cà\0\0#q 5LQ7dYkk-\0M \0\0\17o\b¤à\0\0#q hI6u5sNK-\0M \0\0\17o\b¬à\0\0#q 9nPxux2b-\0M \0\0\17o\b´à\0\0#q nayrYrkT-\0M \0\0\17o\b¼à\0\0#q q+u7erJb-\0M \0\0\17o\bÄà\0\0#q BUNziMaP-\0M \0\0\17o\bÌà\0\0#q rppVcY3S-\0M \0\0\17o\bÔà\0\0#q xyySyySf-\0M \0\0\17o\bÜà\0\0#q FXkjZSuA-\0M \0\0\17o\bäà\0\0#q 61FVMKi5-\0M \0\0\17o\bìà\0\0#q jFHB+UxN-\0M \0\0\17o\bôà\0\0#q KWOqcRzf-\0M \0\0\17o\büà\0\0#q OSQki42n-\0M \0\0\17o\b\ 4á\0\0#q kQs97JyK-\0M \0\0\17o\b\fá\0\0#q 5amm58SF-\0M \0\0\17o\b\14á\0\0#q k3LVSU0u-\0M \0\0\17o\b\1cá\0\0#q j7SQfqwE-\0M \0\0\17o\b$á\0\0#q fho1r92H-\0M \0\0\17o\b,á\0\0#q 6uG22K2l-\0M \0\0\17o\b4á\0\0#q Vz+Uf5sq-\0M \0\0\17o\b<á\0\0#q P0dLN/Ge-\0M \0\0\17o\bDá\0\0#q jmK0sxrP-\0M \0\0\17o\bLá\0\0#q xz1m2/05-\0M \0\0\17o\bTá\0\0#q yx4ONjCb-\0M \0\0\17o\b\á\0\0#q JH9A+8Qk-\0M \0\0\17o\bdá\0\0#q hIqoJKiR-\0M \0\0\17o\blá\0\0#q IQWkkRKA-\0M \0\0\17o\btá\0\0#q K20HGfR9-\0M \0\0\17o\b|á\0\0#q lFGh2vmz-\0M \0\0\17o\b\84á\0\0#q MyyCig/w-\0M \0\0\17o\b\8cá\0\0#q mlAinByN-\0M \0\0\17o\b\94á\0\0#q ccszHu82-\0M \0\0\17o\b\9cá\0\0#q 6vNs08Oj-\0M \0\0\17o\b¤á\0\0#q dXU3GzSp-\0M \0\0\17o\b¬á\0\0#q wG2/sZ6S-\0M \0\0\17o\b´á\0\0#q HoyTSVw0-\0M \0\0\17o\b¼á\0\0#q slcGjSBn-\0M \0\0\17o\bÄá\0\0#q q4UMw08I-\0M \0\0\17o\bÌá\0\0#q tvw4uHqD-\0M \0\0\17o\bÔá\0\0#q A/w6OSCR-\0M \0\0\17o\bÜá\0\0#q nyIh/MH4-\0M \0\0\17o\bäá\0\0#q 6rxmTFxd-\0M \0\0\17o\bìá\0\0#q HacVc+uD-\0M \0\0\17o\bôá\0\0#q 3HvflqHv-\0M \0\0\17o\büá\0\0#q L7RI7e5e-\0M \0\0\17o\b\ 4â\0\0#q dJqb4ZU4-\0M \0\0\17o\b\fâ\0\0#q 09uYztwe-\0M \0\0\17o\b\14â\0\0#q +W/IpAaO-\0M \0\0\17o\b\1câ\0\0#q oyLcwQVP-\0M \0\0\17o\b$â\0\0#q k3k69Fff-\0M \0\0\17o\b,â\0\0#q n6zXZ3kI-\0M \0\0\17o\b4â\0\0#q ON0cYOXD-\0M \0\0\17o\b<â\0\0#q uS+3vzTO-\0M \0\0\17o\bDâ\0\0#q m/K7Mq6H-\0M \0\0\17o\bLâ\0\0#q OlZUd7Px-\0M \0\0\17o\bTâ\0\0#q xdl9t69N-\0M \0\0\17o\b\â\0\0#q orsK6eU6-\0M \0\0\17o\bdâ\0\0#q 442+am88-\0M \0\0\17o\blâ\0\0#q vu73UsgR-\0M \0\0\17o\btâ\0\0#q oV5Z211t-\0M \0\0\17o\b|â\0\0#q TDr33RPy-\0M \0\0\17o\b\84â\0\0#q M6/XfL5U-\0M \0\0\17o\b\8câ\0\0#q EDhtlOMG-\0M \0\0\17o\b\94â\0\0#q IOhqVFDM-\0M \0\0\17o\b\9câ\0\0#q LDExeDQG-\0M \0\0\17o\b¤â\0\0#q HON0fZdt-\0M \0\0\17o\b¬â\0\0#q pnTpZ6cD-\0M \0\0\17o\b´â\0\0#q 6JBkGJpU-\0M \0\0\17o\b¼â\0\0#q x0Y0Wupp-\0M \0\0\17o\bÄâ\0\0#q UjCvDGzH-\0M \0\0\17o\bÌâ\0\0#q Jsmjd0Vy-\0M \0\0\17o\bÔâ\0\0#q NNnRZ1Y1-\0M \0\0\17o\bÜâ\0\0#q MNHaMbOG-\0M \0\0\17o\bäâ\0\0#q zcp3Vtts-\0M \0\0\17o\bìâ\0\0#q sZwsk0gs-\0M \0\0\17o\bôâ\0\0#q TGWj6gLX-\0M \0\0\17o\büâ\0\0#q G8FJpoGG-\0M \0\0\17o\b\ 4ã\0\0#q jp6NmZZI-\0M \0\0\17o\b\fã\0\0#q mQYvcYoa-\0M \0\0\17o\b\14ã\0\0#q IEFW2vkM-\0M \0\0\17o\b\1cã\0\0#q 2ui4SWaS-\0M \0\0\17o\b$ã\0\0#q MLtv6RnW-\0M \0\0\17o\b,ã\0\0#q 2Q1A4FIH-\0M \0\0\17o\b4ã\0\0#q gMRpRK4e-\0M \0\0\17o\b<ã\0\0#q NjfwZ5oq-\0M \0\0\17o\bDã\0\0#q GaaSMo5b-\0M \0\0\17o\bLã\0\0#q dknhw4Sb-\0M \0\0\17o\bTã\0\0#q OELPGyXL-\0M \0\0\17o\b\ã\0\0#q yqGoGSSq-\0M \0\0\17o\bdã\0\0#q SomY1HBB-\0M \0\0\17o\blã\0\0#q VkQqys9M-\0M \0\0\17o\btã\0\0#q CWL1YjTE-\0M \0\0\17o\b|ã\0\0#q vrT/lW/H-\0M \0\0\17o\b\84ã\0\0#q vnSpG2HG-\0M \0\0\17o\b\8cã\0\0#q W0YwPtou-\0M \0\0\17o\b\94ã\0\0#q fZQEsPWk-\0M \0\0\17o\b\9cã\0\0#q Fdi4q6Bs-\0M \0\0\17o\b¤ã\0\0#q 3tkoppX5-\0M \0\0\17o\b¬ã\0\0#q Eiaqo5JX-\0M \0\0\17o\b´ã\0\0#q 1UtH2/gz-\0M \0\0\17o\b¼ã\0\0#q rxnmXNzE-\0M \0\0\17o\bÄã\0\0#q 5gfF8iGh-\0M \0\0\17o\bÌã\0\0#q wMagId9O-\0M \0\0\17o\bÔã\0\0#q eGfjPxGK-\0M \0\0\17o\bÜã\0\0#q TtKHVVJ7-\0M \0\0\17o\bäã\0\0#q vT6eMIaV-\0M \0\0\17o\bìã\0\0#q B+wH3n3+-\0M \0\0\17o\bôã\0\0#q jxV4Svh6-\0M \0\0\17o\büã\0\0#q l0hS2vo/-\0M \0\0\17o\b\ 4ä\0\0#q Hxp46W8T-\0M \0\0\17o\b\fä\0\0#q mStcsHMr-\0M \0\0\17o\b\14ä\0\0#q io8lNypo-\0M \0\0\17o\b\1cä\0\0#q lKYqrT5A-\0M \0\0\17o\b$ä\0\0#q yFDChtZG-\0M \0\0\17o\b,ä\0\0#q HuINKBsp-\0M \0\0\17o\b4ä\0\0#q BGKg7kJt-\0M \0\0\17o\b<ä\0\0#q 6Bo8fNBs-\0M \0\0\17o\bDä\0\0#q wFHISJJt-\0M \0\0\17o\bLä\0\0#q PcLdHk1+-\0M \0\0\17o\bTä\0\0#q NWshZCgq-\0M \0\0\17o\b\ä\0\0#q nMZITrDX-\0M \0\0\17o\bdä\0\0#q 2VnDFGhC-\0M \0\0\17o\blä\0\0#q e+9um2ka-\0M \0\0\17o\btä\0\0#q Wy3BLFDr-\0M \0\0\17o\b|ä\0\0#q Bte5ISqM-\0M \0\0\17o\b\84ä\0\0#q a3whRNX2-\0M \0\0\17o\b\8cä\0\0#q hdsSnCgd-\0M \0\0\17o\b\94ä\0\0#q mnJiwaaF-\0M \0\0\17o\b\9cä\0\0#q mqxgEhoS-\0M \0\0\17o\b¤ä\0\0#q kmS4W5nn-\0M \0\0\17o\b¬ä\0\0#q c2pOkjMC-\0M \0\0\17o\b´ä\0\0#q i0Pn4WGj-\0M \0\0\17o\b¼ä\0\0#q UumeTCfL-\0M \0\0\17o\bÄä\0\0#q JJ1jYrHx-\0M \0\0\17o\bÌä\0\0#q jaFRrCj5-\0M \0\0\17o\bÔä\0\0#q qXWxkTin-\0M \0\0\17o\bÜä\0\0#q m7fk9Hu2-\0M \0\0\17o\bää\0\0#q JvELPk8M-\0M \0\0\17o\bìä\0\0#q MVKpWKtK-\0M \0\0\17o\bôä\0\0#q q1iVVKKU-\0M \0\0\17o\büä\0\0#q xXlx31G9-\0M \0\0\17o\b\ 4å\0\0#q Tw/vO6Mb-\0M \0\0\17o\b\få\0\0#q E80lYmSJ-\0M \0\0\17o\b\14å\0\0#q p0FRrDJy-\0M \0\0\17o\b\1cå\0\0#q LJ51U9ZI-\0M \0\0\17o\b$å\0\0#q 6GiLTUsT-\0M \0\0\17o\b,å\0\0#q lnZqBqxH-\0M \0\0\17o\b4å\0\0#q cOldSSip-\0M \0\0\17o\b<å\0\0#q 2iosJI2E-\0M \0\0\17o\bDå\0\0#q hx0kHxDZ-\0M \0\0\17o\bLå\0\0#q /AZNzYUG-\0M \0\0\17o\bTå\0\0#q DTXrMpla-\0M \0\0\17o\b\å\0\0#q chkVuS1t-\0M \0\0\17o\bdå\0\0#q siYIYyt2-\0M \0\0\17o\blå\0\0#q mzZDErJJ-\0M \0\0\17o\btå\0\0#q WTTEalrQ-\0M \0\0\17o\b|å\0\0#q plZC7YM+-\0M \0\0\17o\b\84å\0\0#q li2SUoxV-\0M \0\0\17o\b\8cå\0\0#q VZY0yZky-\0M \0\0\17o\b\94å\0\0#q cNIiDcCJ-\0M \0\0\17o\b\9cå\0\0#q MaGNe5kX-\0M \0\0\17o\b¤å\0\0#q BpN+8HIU-\0M \0\0\17o\b¬å\0\0#q goKqYnY1-\0M \0\0\17o\b´å\0\0#q JISR6tsh-\0M \0\0\17o\b¼å\0\0#q CE6JhknV-\0M \0\0\17o\bÄå\0\0#q jg6cMhWn-\0M \0\0\17o\bÌå\0\0#q JNlbSdpp-\0M \0\0\17o\bÔå\0\0#q sotV9zG2-\0M \0\0\17o\bÜå\0\0#q 02HYjiEn-\0M \0\0\17o\bäå\0\0#q mTz+E7xX-\0M \0\0\17o\bìå\0\0#q hSrLv5Zt-\0M \0\0\17o\bôå\0\0#q dazVbW2h-\0M \0\0\17o\büå\0\0#q jEYNKDGE-\0M \0\0\17o\b\ 4æ\0\0#q BkJ9/vy+-\0M \0\0\17o\b\fæ\0\0#q vnrFURs1-\0M \0\0\17o\b\14æ\0\0#q YvpvLuyE-\0M \0\0\17o\b\1cæ\0\0#q 245w0VLL-\0M \0\0\17o\b$æ\0\0#q 1kr7cOg/-\0M \0\0\17o\b,æ\0\0#q Ba/Qf0QM-\0M \0\0\17o\b4æ\0\0#q 8JPxZLLO-\0M \0\0\17o\b<æ\0\0#q StL5KZ+f-\0M \0\0\17o\bDæ\0\0#q aXr7LE9j-\0M \0\0\17o\bLæ\0\0#q 17oH4+Oi-\0M \0\0\17o\bTæ\0\0#q R8orIu4h-\0M \0\0\17o\b\æ\0\0#q /RAagtxG-\0M \0\0\17o\bdæ\0\0#q ICYpOWtB-\0M \0\0\17o\blæ\0\0#q CN8eXMu7-\0M \0\0\17o\btæ\0\0#q rl485VKQ-\0M \0\0\17o\b|æ\0\0#q mKi+aU6r-\0M \0\0\17o\b\84æ\0\0#q wbyfLXpr-\0M \0\0\17o\b\8cæ\0\0#q 161+qbet-\0M \0\0\17o\b\94æ\0\0#q tfqWN0pL-\0M \0\0\17o\b\9cæ\0\0#q 88tJbgpK-\0M \0\0\17o\b¤æ\0\0#q Wur4a8ki-\0M \0\0\17o\b¬æ\0\0#q 2arIszGh-\0M \0\0\17o\b´æ\0\0#q ZJVK03h6-\0M \0\0\17o\b¼æ\0\0#q o84nieE+-\0M \0\0\17o\bÄæ\0\0#q RSDA2EJn-\0M \0\0\17o\bÌæ\0\0#q ygppzrRH-\0M \0\0\17o\bÔæ\0\0#q jjDHHjQ3-\0M \0\0\17o\bÜæ\0\0#q oAGNIa0Q-\0M \0\0\17o\bäæ\0\0#q IJjBiGd8-\0M \0\0\17o\bìæ\0\0#q s3glSnsM-\0M \0\0\17o\bôæ\0\0#q ZSEY1I4B-\0M \0\0\17o\büæ\0\0#q qCBOrFtg-\0M \0\0\17o\b\ 4ç\0\0#q XZ7YoGff-\0M \0\0\17o\b\fç\0\0#q 5SOeYkWT-\0M \0\0\17o\b\14ç\0\0#q oVOR6a7/-\0M \0\0\17o\b\1cç\0\0#q Dmyl7pPe-\0M \0\0\17o\b$ç\0\0#q bOTUlLEY-\0M \0\0\17o\b,ç\0\0#q ebR5Ikzr-\0M \0\0\17o\b4ç\0\0#q 5O+azEJX-\0M \0\0\17o\b<ç\0\0#q Ry731dGO-\0M \0\0\17o\bDç\0\0#q XtcW5mTx-\0M \0\0\17o\bLç\0\0#q HG7GnHVx-\0M \0\0\17o\bTç\0\0#q IbSbnuyU-\0M \0\0\17o\b\ç\0\0#q slYdMltV-\0M \0\0\17o\bdç\0\0#q hpO7tytj-\0M \0\0\17o\blç\0\0#q o3Cx2IyG-\0M \0\0\17o\btç\0\0#q ZDKmmWOx-\0M \0\0\17o\b|ç\0\0#q CaYRisSq-\0M \0\0\17o\b\84ç\0\0#q 0VhSVpit-\0M \0\0\17o\b\8cç\0\0#q JWkrS3VY-\0M \0\0\17o\b\94ç\0\0#q 0DcaigxK-\0M \0\0\17o\b\9cç\0\0#q kRFVBNRk-\0M \0\0\17o\b¤ç\0\0#q kg1UhOMu-\0M \0\0\17o\b¬ç\0\0#q rldw8knJ-\0M \0\0\17o\b´ç\0\0#q jznZobpJ-\0M \0\0\17o\b¼ç\0\0#q OCnNMtmM-\0M \0\0\17o\bÄç\0\0#q 9JI/gses-\0M \0\0\17o\bÌç\0\0#q Dl0es/T0-\0M \0\0\17o\bÔç\0\0#q c4b+aSO5-\0M \0\0\17o\bÜç\0\0#q yy8it57P-\0M \0\0\17o\bäç\0\0#q tER7yQ49-\0M \0\0\17o\bìç\0\0#q svq6K2Ko-\0M \0\0\17o\bôç\0\0#q qVhjFUqm-\0M \0\0\17o\büç\0\0#q m02P9rP+-\0M \0\0\17o\b\ 4è\0\0#q enbyTaJy-\0M \0\0\17o\b\fè\0\0#q k7zyB5Vd-\0M \0\0\17o\b\14è\0\0#q EyRHyqE2-\0M \0\0\17o\b\1cè\0\0#q jlT/N+4j-\0M \0\0\17o\b$è\0\0#q PJHNVfOP-\0M \0\0\17o\b,è\0\0#q ajFtvo+b-\0M \0\0\17o\b4è\0\0#q RIhxDIiA-\0M \0\0\17o\b<è\0\0#q REIBEBHm-\0M \0\0\17o\bDè\0\0#q AseJvCKp-\0M \0\0\17o\bLè\0\0#q aWSr3ORE-\0M \0\0\17o\bTè\0\0#q AnaST8LJ-\0M \0\0\17o\b\è\0\0#q p9TClbcG-\0M \0\0\17o\bdè\0\0#q N022eOxs-\0M \0\0\17o\blè\0\0#q 0mObY5x+-\0M \0\0\17o\btè\0\0#q f0+u0ck5-\0M \0\0\17o\b|è\0\0#q RKKUopJr-\0M \0\0\17o\b\84è\0\0#q gB87bebv-\0M \0\0\17o\b\8cè\0\0#q yv5u7W3q-\0M \0\0\17o\b\94è\0\0#q /fvzQ+JG-\0M \0\0\17o\b\9cè\0\0#q ypskPUre-\0M \0\0\17o\b¤è\0\0#q RLIrmyba-\0M \0\0\17o\b¬è\0\0#q tMsX0a/R-\0M \0\0\17o\b´è\0\0#q ksaxtIKI-\0M \0\0\17o\b¼è\0\0#q X8sn739q-\0M \0\0\17o\bÄè\0\0#q sebzOZiG-\0M \0\0\17o\bÌè\0\0#q by7s3vda-\0M \0\0\17o\bÔè\0\0#q JR6Dj2ma-\0M \0\0\17o\bÜè\0\0#q cG0WSRT7-\0M \0\0\17o\bäè\0\0#q SDN9KC4x-\0M \0\0\17o\bìè\0\0#q mGSRgRYw-\0M \0\0\17o\bôè\0\0#q af7MbwGI-\0M \0\0\17o\büè\0\0#q OPrP6Rb8-\0M \0\0\17o\b\ 4é\0\0#q N/DY1I1H-\0M \0\0\17o\b\fé\0\0#q JIkrMaQb-\0M \0\0\17o\b\14é\0\0#q xJHdIbif-\0M \0\0\17o\b\1cé\0\0#q Dkh15l2d-\0M \0\0\17o\b$é\0\0#q 27BHRHVP-\0M \0\0\17o\b,é\0\0#q Kch+6RBz-\0M \0\0\17o\b4é\0\0#q eUnBMtct-\0M \0\0\17o\b<é\0\0#q c4pKUyuu-\0M \0\0\17o\bDé\0\0#q 2upJrlrq-\0M \0\0\17o\bLé\0\0#q 667pW6+1-\0M \0\0\17o\bTé\0\0#q t+6Vk20J-\0M \0\0\17o\b\é\0\0#q kkpYV59A-\0M \0\0\17o\bdé\0\0#q 5unxbofu-\0M \0\0\17o\blé\0\0#q 3vn21Ey/-\0M \0\0\17o\bté\0\0#q s+HYx9za-\0M \0\0\17o\b|é\0\0#q sPu1JNm5-\0M \0\0\17o\b\84é\0\0#q an1x85Hp-\0M \0\0\17o\b\8cé\0\0#q GG1LFk0R-\0M \0\0\17o\b\94é\0\0#q AJ1kfSK+-\0M \0\0\17o\b\9cé\0\0#q E9UPntJM-\0M \0\0\17o\b¤é\0\0#q sjrKWnc/-\0M \0\0\17o\b¬é\0\0#q YuFg5pe8-\0M \0\0\17o\b´é\0\0#q Oyx5qIpZ-\0M \0\0\17o\b¼é\0\0#q EbwKh7e7-\0M \0\0\17o\bÄé\0\0#q yTBhymws-\0M \0\0\17o\bÌé\0\0#q JtGzb8PD-\0M \0\0\17o\bÔé\0\0#q zkfvPfLZ-\0M \0\0\17o\bÜé\0\0#q J5yR/o9p-\0M \0\0\17o\bäé\0\0#q H2H9Kqdt-\0M \0\0\17o\bìé\0\0#q VVX7VbbW-\0M \0\0\17o\bôé\0\0#q I2Nmr22l-\0M \0\0\17o\büé\0\0#q llliKehV-\0M \0\0\17o\b\ 4ê\0\0#q TXVI09Cd-\0M \0\0\17o\b\fê\0\0#q Z/Ou/e1a-\0M \0\0\17o\b\14ê\0\0#q Ks8lfvPi-\0M \0\0\17o\b\1cê\0\0#q SD3/Bks8-\0M \0\0\17o\b$ê\0\0#q PeYcuVmG-\0M \0\0\17o\b,ê\0\0#q gTKW2WyV-\0M \0\0\17o\b4ê\0\0#q Y/isZRxJ-\0M \0\0\17o\b<ê\0\0#q N2T4vyfP-\0M \0\0\17o\bDê\0\0#q 0vRyfZZK-\0M \0\0\17o\bLê\0\0#q rbaZNZsT-\0M \0\0\17o\bTê\0\0#q idKX8ofE-\0M \0\0\17o\b\ê\0\0#q cnunxzNE-\0M \0\0\17o\bdê\0\0#q JWu9xbuQ-\0M \0\0\17o\blê\0\0#q 3w1er3T4-\0M \0\0\17o\btê\0\0#q Y3g7/gte-\0M \0\0\17o\b|ê\0\0#q J4WVbTtm-\0M \0\0\17o\b\84ê\0\0#q n85O7lJ/-\0M \0\0\17o\b\8cê\0\0#q VEnkTJ9a-\0M \0\0\17o\b\94ê\0\0#q tqsYYYeu-\0M \0\0\17o\b\9cê\0\0#q jDUxIwox-\0M \0\0\17o\b¤ê\0\0#q R56sknNj-\0M \0\0\17o\b¬ê\0\0#q 7SbuGneR-\0M \0\0\17o\b´ê\0\0#q s8nq4fJO-\0M \0\0\17o\b¼ê\0\0#q 2cpuiWKi-\0M \0\0\17o\bÄê\0\0#q oslVKlRS-\0M \0\0\17o\bÌê\0\0#q pJZ/ULtd-\0M \0\0\17o\bÔê\0\0#q lKi0b+Z8-\0M \0\0\17o\bÜê\0\0#q 1+yixKtJ-\0M \0\0\17o\bäê\0\0#q IPDdvJ+L-\0M \0\0\17o\bìê\0\0#q vDu0SyY/-\0M \0\0\17o\bôê\0\0#q h7/w/FiN-\0M \0\0\17o\büê\0\0#q s+mias1c-\0M \0\0\17o\b\ 4ë\0\0#q SpOznIPK-\0M \0\0\17o\b\fë\0\0#q yrHt1CY9-\0M \0\0\17o\b\14ë\0\0#q 42YTzH+y-\0M \0\0\17o\b\1cë\0\0#q rZIoqhOE-\0M \0\0\17o\b$ë\0\0#q iZIT845d-\0M \0\0\17o\b,ë\0\0#q 3T6Pps/6-\0M \0\0\17o\b4ë\0\0#q Ofl4bEm9-\0M \0\0\17o\b<ë\0\0#q vIZB/UJB-\0M \0\0\17o\bDë\0\0#q bEtgRgyB-\0M \0\0\17o\bLë\0\0#q QrgTP96/-\0M \0\0\17o\bTë\0\0#q o80lj8Fr-\0M \0\0\17o\b\ë\0\0#q pZ3WuiX6-\0M \0\0\17o\bdë\0\0#q brraSSqx-\0M \0\0\17o\blë\0\0#q RuxjTFUb-\0M \0\0\17o\btë\0\0#q WarrGGKM-\0M \0\0\17o\b|ë\0\0#q DbBcSioF-\0M \0\0\17o\b\84ë\0\0#q Sqf3ZLaC-\0M \0\0\17o\b\8cë\0\0#q XBlKqfB9-\0M \0\0\17o\b\94ë\0\0#q CZLWcmut-\0M \0\0\17o\b\9cë\0\0#q dlVXXxEz-\0M \0\0\17o\b¤ë\0\0#q qHZVo2a5-\0M \0\0\17o\b¬ë\0\0#q uZjrbE5X-\0M \0\0\17o\b´ë\0\0#q 5CvSKi2W-\0M \0\0\17o\b¼ë\0\0#q pbDaOR0O-\0M \0\0\17o\bÄë\0\0#q qaV2Vjxq-\0M \0\0\17o\bÌë\0\0#q myEND13Y-\0M \0\0\17o\bÔë\0\0#q GGgTBqRB-\0M \0\0\17o\bÜë\0\0#q qAkgipVk-\0M \0\0\17o\bäë\0\0#q tsk1bJm2-\0M \0\0\17o\bìë\0\0#q 8lu2ll5d-\0M \0\0\17o\bôë\0\0#q kUpklpVL-\0M \0\0\17o\büë\0\0#q KkqjThs7-\0M \0\0\17o\b\ 4ì\0\0#q SaJqeWRG-\0M \0\0\17o\b\fì\0\0#q VasWSxZL-\0M \0\0\17o\b\14ì\0\0#q Zu4aIgE5-\0M \0\0\17o\b\1cì\0\0#q GtmzUkyW-\0M \0\0\17o\b$ì\0\0#q RexTG+WO-\0M \0\0\17o\b,ì\0\0#q 1qi40I7X-\0M \0\0\17o\b4ì\0\0#q +GXLi6g1-\0M \0\0\17o\b<ì\0\0#q d5IU5Kyd-\0M \0\0\17o\bDì\0\0#q n5ZoeE4k-\0M \0\0\17o\bLì\0\0#q iNK7HJJH-\0M \0\0\17o\bTì\0\0#q Z32hk/Rz-\0M \0\0\17o\b\ì\0\0#q VTRzKwrO-\0M \0\0\17o\bdì\0\0#q elrcXxZC-\0M \0\0\17o\blì\0\0#q b6V8ambb-\0M \0\0\17o\btì\0\0#q 6i+3z7g8-\0M \0\0\17o\b|ì\0\0#q vV7o2qRK-\0M \0\0\17o\b\84ì\0\0#q 3bNfx+d9-\0M \0\0\17o\b\8cì\0\0#q az5ZypWy-\0M \0\0\17o\b\94ì\0\0#q vNOJkq2z-\0M \0\0\17o\b\9cì\0\0#q TDGW3I2k-\0M \0\0\17o\b¤ì\0\0#q xsrRVg0q-\0M \0\0\17o\b¬ì\0\0#q aU6NmxvJ-\0M \0\0\17o\b´ì\0\0#q VssZPf5C-\0M \0\0\17o\b¼ì\0\0#q h3jJZiNs-\0M \0\0\17o\bÄì\0\0#q kkJC5thW-\0M \0\0\17o\bÌì\0\0#q jziKca5y-\0M \0\0\17o\bÔì\0\0#q YTlK0RAJ-\0M \0\0\17o\bÜì\0\0#q y2l5f1mH-\0M \0\0\17o\bäì\0\0#q rY2Dc6Ok-\0M \0\0\17o\bìì\0\0#q I2TTTy2T-\0M \0\0\17o\bôì\0\0#q GVsRATPx-\0M \0\0\17o\büì\0\0#q GssjZRln-\0M \0\0\17o\b\ 4í\0\0#q pIg3iSRi-\0M \0\0\17o\b\fí\0\0#q xI5OR2SO-\0M \0\0\17o\b\14í\0\0#q ZJPl5/nc-\0M \0\0\17o\b\1cí\0\0#q vR8vln1Y-\0M \0\0\17o\b$í\0\0#q /uaaeTGF-\0M \0\0\17o\b,í\0\0#q Sl5VO11Z-\0M \0\0\17o\b4í\0\0#q 1vnvja5W-\0M \0\0\17o\b<í\0\0#q 9Kw09ahk-\0M \0\0\17o\bDí\0\0#q gtDDYyAY-\0M \0\0\17o\bLí\0\0#q Qw/WRKMp-\0M \0\0\17o\bTí\0\0#q 5aFVusKr-\0M \0\0\17o\b\í\0\0#q ZpjSKdZ3-\0M \0\0\17o\bdí\0\0#q v58tazxm-\0M \0\0\17o\blí\0\0#q Jb6NXQlD-\0M \0\0\17o\btí\0\0#q 2AabBtG1-\0M \0\0\17o\b|í\0\0#q MLD6P6xK-\0M \0\0\17o\b\84í\0\0#q QChW0XsB-\0M \0\0\17o\b\8cí\0\0#q 77Y5z/JB-\0M \0\0\17o\b\94í\0\0#q kkMXpKgX-\0M \0\0\17o\b\9cí\0\0#q iWquYcP3-\0M \0\0\17o\b¤í\0\0#q Pv6+I4oB-\0M \0\0\17o\b¬í\0\0#q I7HediIr-\0M \0\0\17o\b´í\0\0#q xI/Ei95E-\0M \0\0\17o\b¼í\0\0#q sFOQPxkk-\0M \0\0\17o\bÄí\0\0#q 78pP8rbI-\0M \0\0\17o\bÌí\0\0#q tJ+v+lu6-\0M \0\0\17o\bÔí\0\0#q eiHk6+Kq-\0M \0\0\17o\bÜí\0\0#q z+L5PSR4-\0M \0\0\17o\bäí\0\0#q npITj7fg-\0M \0\0\17o\bìí\0\0#q sgl+q1VW-\0M \0\0\17o\bôí\0\0#q GLPweJJj-\0M \0\0\17o\büí\0\0#q UnC/Grtc-\0M \0\0\17o\b\ 4î\0\0#q /J2G01ZT-\0M \0\0\17o\b\fî\0\0#q LW5ObQ+b-\0M \0\0\17o\b\14î\0\0#q nkr8xJ/5-\0M \0\0\17o\b\1cî\0\0#q P/vSSP+C-\0M \0\0\17o\b$î\0\0#q 1jG1YK0Y-\0M \0\0\17o\b,î\0\0#q 1sao1qoi-\0M \0\0\17o\b4î\0\0#q qxtFbG1b-\0M \0\0\17o\b<î\0\0#q FRtUa1sV-\0M \0\0\17o\bDî\0\0#q o1trGrG1-\0M \0\0\17o\bLî\0\0#q RZKNo0UF-\0M \0\0\17o\bTî\0\0#q SilTNtRt-\0M \0\0\17o\b\î\0\0#q GjYIEClG-\0M \0\0\17o\bdî\0\0#q bbBQhUJB-\0M \0\0\17o\blî\0\0#q pCDY1o0b-\0M \0\0\17o\btî\0\0#q FbGCxY1M-\0M \0\0\17o\b|î\0\0#q oNG2zTaL-\0M \0\0\17o\b\84î\0\0#q UEKzFBMN-\0M \0\0\17o\b\8cî\0\0#q tUbFY2iq-\0M \0\0\17o\b\94î\0\0#q KIjEUlZK-\0M \0\0\17o\b\9cî\0\0#q ixqNsW0U-\0M \0\0\17o\b¤î\0\0#q Y22i2g0a-\0M \0\0\17o\b¬î\0\0#q girFbYrF-\0M \0\0\17o\b´î\0\0#q tJiNJbSa-\0M \0\0\17o\b¼î\0\0#q o1sWMUUU-\0M \0\0\17o\bÄî\0\0#q UbWNslpL-\0M \0\0\17o\bÌî\0\0#q WNjajFop-\0M \0\0\17o\bÔî\0\0#q FMhJGxRR-\0M \0\0\17o\bÜî\0\0#q ttjbBtYN-\0M \0\0\17o\bäî\0\0#q too0YrRq-\0M \0\0\17o\bìî\0\0#q AKKLUkmq-\0M \0\0\17o\bôî\0\0#q i2sSVY2o-\0M \0\0\17o\büî\0\0#q NFaNotsV-\0M \0\0\17o\b\ 4ï\0\0#q oyQVaNGo-\0M \0\0\17o\b\fï\0\0#q o2ooqxaN-\0M \0\0\17o\b\14ï\0\0#q UUbFQoYQ-\0M \0\0\17o\b\1cï\0\0#q 1o1WLUG2-\0M \0\0\17o\b$ï\0\0#q xVgybYtG-\0M \0\0\17o\b,ï\0\0#q tFRgmVk1-\0M \0\0\17o\b4ï\0\0#q iqZFQlJr-\0M \0\0\17o\b<ï\0\0#q G1sbWTaj-\0M \0\0\17o\bDï\0\0#q RaLFaTUU-\0M \0\0\17o\bLï\0\0#q VRtSW0bV-\0M \0\0\17o\bTï\0\0#q FWxasFWI-\0M \0\0\17o\b\ï\0\0#q sVosatiq-\0M \0\0\17o\bdï\0\0#q ii1GLaNa-\0M \0\0\17o\blï\0\0#q NGpINqg2-\0M \0\0\17o\btï\0\0#q jVoihmxF-\0M \0\0\17o\b|ï\0\0#q ti2DGqiq-\0M \0\0\17o\b\84ï\0\0#q NFrFslti-\0M \0\0\17o\b\8cï\0\0#q qMZJm2sY-\0M \0\0\17o\b\94ï\0\0#q TbGLaiKi-\0M \0\0\17o\b\9cï\0\0#q NYrRRGsb-\0M \0\0\17o\b¤ï\0\0#q WLbQWoi0-\0M \0\0\17o\b¬ï\0\0#q WNGo21ir-\0M \0\0\17o\b´ï\0\0#q G2RMpRo1-\0M \0\0\17o\b¼ï\0\0#q GK2Koo1i-\0M \0\0\17o\bÄï\0\0#q i1i22C1i-\0M \0\0\17o\bÌï\0\0#q 1RqA2o2j-\0M \0\0\17o\bÔï\0\0#q bRRjWi1j-\0M \0\0\17o\bÜï\0\0#q atG0lUBW-\0M \0\0\17o\bäï\0\0#q zNUWo2xp-\0M \0\0\17o\bìï\0\0#q RTRVG1G1-\0M \0\0\17o\bôï\0\0#q Ftii2pLW-\0M \0\0\17o\büï\0\0#q TahQqKi1-\0M \0\0\17o\b\ 4ð\0\0#q otitJqNU-\0M \0\0\17o\b\fð\0\0#q lGjJNKqI-\0M \0\0\17o\b\14ð\0\0#q 0Rq2i2ya-\0M \0\0\17o\b\1cð\0\0#q xjbRqMUV-\0M \0\0\17o\b$ð\0\0#q YjQaKwVR-\0M \0\0\17o\b,ð\0\0#q tFjWiCyF-\0M \0\0\17o\b4ð\0\0#q iKsRbUWi-\0M \0\0\17o\b<ð\0\0#q osmsaiqj-\0M \0\0\17o\bDð\0\0#q Y22iqLQb-\0M \0\0\17o\bLð\0\0#q X5/99f4p-\0M \0\0\17o\bTð\0\0#q /uUf0tf5-\0M \0\0\17o\b\ð\0\0#q /9K/qseg-\0M \0\0\17o\bdð\0\0#q /3/8O3Ej-\0M \0\0\17o\blð\0\0#q r31kY1gc-\0M \0\0\17o\btð\0\0#q 5A1pvXCx-\0M \0\0\17o\b|ð\0\0#q CkNiwvOQ-\0M \0\0\17o\b\84ð\0\0#q ZYLITeUx-\0M \0\0\17o\b\8cð\0\0#q 5CNobGwq-\0M \0\0\17o\b\94ð\0\0#q J5o3bWtQ-\0M \0\0\17o\b\9cð\0\0#q 2oqajkZR-\0M \0\0\17o\b¤ð\0\0#q rRj1prYW-\0M \0\0\17o\b¬ð\0\0#q 5TG2Rkzh-\0M \0\0\17o\b´ð\0\0#q xibIud1z-\0M \0\0\17o\b¼ð\0\0#q ezbDrRBn-\0M \0\0\17o\bÄð\0\0#q 8s2xsbHZ-\0M \0\0\17o\bÌð\0\0#q Ilaaujw8-\0M \0\0\17o\bÔð\0\0#q 73Rttris-\0M \0\0\17o\bÜð\0\0#q 4cJCx42D-\0M \0\0\17o\bäð\0\0#q giHZM67L-\0M \0\0\17o\bìð\0\0#q Em5mczQU-\0M \0\0\17o\bôð\0\0#q 0zdbGxtv-\0M \0\0\17o\büð\0\0#q ENm4RY8a-\0M \0\0\17o\b\ 4ñ\0\0#q xrs0rvvB-\0M \0\0\17o\b\fñ\0\0#q 2Lmhu9ZH-\0M \0\0\17o\b\14ñ\0\0#q 1rnXlfnh-\0M \0\0\17o\b\1cñ\0\0#q QMwstTWM-\0M \0\0\17o\b$ñ\0\0#q gZ24VXZJ-\0M \0\0\17o\b,ñ\0\0#q dzdKmphd-\0M \0\0\17o\b4ñ\0\0#q lKOvHF5Y-\0M \0\0\17o\b<ñ\0\0#q pc1co3Wp-\0M \0\0\17o\bDñ\0\0#q PG5UchDH-\0M \0\0\17o\bLñ\0\0#q HthGXu6j-\0M \0\0\17o\bTñ\0\0#q HcIFa8oQ-\0M \0\0\17o\b\ñ\0\0#q rWt53ErY-\0M \0\0\17o\bdñ\0\0#q 2jQyDFGQ-\0M \0\0\17o\blñ\0\0#q Gaaj15Bb-\0M \0\0\17o\btñ\0\0#q vaLTDPKU-\0M \0\0\17o\b|ñ\0\0#q 2xY9Mj2z-\0M \0\0\17o\b\84ñ\0\0#q rW2Hba2J-\0M \0\0\17o\b\8cñ\0\0#q jEwZb1ms-\0M \0\0\17o\b\94ñ\0\0#q hmPWcZdX-\0M \0\0\17o\b\9cñ\0\0#q PGGDOQ4h-\0M \0\0\17o\b¤ñ\0\0#q qWsZbxqy-\0M \0\0\17o\b¬ñ\0\0#q LQ6ysx+P-\0M \0\0\17o\b´ñ\0\0#q u9UmOHJE-\0M \0\0\17o\b¼ñ\0\0#q yavWvHjb-\0M \0\0\17o\bÄñ\0\0#q PPnsX1XI-\0M \0\0\17o\bÌñ\0\0#q iq+W3w8T-\0M \0\0\17o\bÔñ\0\0#q u+Ry16Js-\0M \0\0\17o\bÜñ\0\0#q 2+QVNGKU-\0M \0\0\17o\bäñ\0\0#q jZLWwXGB-\0M \0\0\17o\bìñ\0\0#q xtiE2hFT-\0M \0\0\17o\bôñ\0\0#q SXGBGkBj-\0M \0\0\17o\büñ\0\0#q Mu6xtIYN-\0M \0\0\17o\b\ 4ò\0\0#q FQM1yBbp-\0M \0\0\17o\b\fò\0\0#q 9u0ksTSt-\0M \0\0\17o\b\14ò\0\0#q orHkolJ3-\0M \0\0\17o\b\1cò\0\0#q E5XN5tOF-\0M \0\0\17o\b$ò\0\0#q jhjhwmVc-\0M \0\0\17o\b,ò\0\0#q OxEtLHxy-\0M \0\0\17o\b4ò\0\0#q yr7N9lk1-\0M \0\0\17o\b<ò\0\0#q DJaN0qwp-\0M \0\0\17o\bDò\0\0#q iCBpBAPG-\0M \0\0\17o\bLò\0\0#q 3V0ccPvd-\0M \0\0\17o\bTò\0\0#q 0Avs82rS-\0M \0\0\17o\b\ò\0\0#q KmAnj7RQ-\0M \0\0\17o\bdò\0\0#q AdYSdYbz-\0M \0\0\17o\blò\0\0#q JjI4URnJ-\0M \0\0\17o\btò\0\0#q fO3TT4xQ-\0M \0\0\17o\b|ò\0\0#q 26ahpseR-\0M \0\0\17o\b\84ò\0\0#q DUtS+MKb-\0M \0\0\17o\b\8cò\0\0#q aVjQ9wg3-\0M \0\0\17o\b\94ò\0\0#q lnedmecm-\0M \0\0\17o\b\9cò\0\0#q uQV2y44p-\0M \0\0\17o\b¤ò\0\0#q tKaHyuZc-\0M \0\0\17o\b¬ò\0\0#q F1u1JXKJ-\0M \0\0\17o\b´ò\0\0#q lu6pRPST-\0M \0\0\17o\b¼ò\0\0#q udsbp5qi-\0M \0\0\17o\bÄò\0\0#q xXfWcnpx-\0M \0\0\17o\bÌò\0\0#q PboouIu6-\0M \0\0\17o\bÔò\0\0#q q3vjI6ci-\0M \0\0\17o\bÜò\0\0#q 2PuVosvF-\0M \0\0\17o\bäò\0\0#q 0bH3kaaL-\0M \0\0\17o\bìò\0\0#q yFWNsiaL-\0M \0\0\17o\bôò\0\0#q GxxWqGnv-\0M \0\0\17o\büò\0\0#q HH4d8MyQ-\0M \0\0\17o\b\ 4ó\0\0#q pjfcyGZA-\0M \0\0\17o\b\fó\0\0#q 6+PHVbTd-\0M \0\0\17o\b\14ó\0\0#q 22SxshNh-\0M \0\0\17o\b\1có\0\0#q jBvMiBio-\0M \0\0\17o\b$ó\0\0#q csG2M5zF-\0M \0\0\17o\b,ó\0\0#q Rj1yyQh5-\0M \0\0\17o\b4ó\0\0#q C7vZX53z-\0M \0\0\17o\b<ó\0\0#q Dy85X19h-\0M \0\0\17o\bDó\0\0#q w6XAhSc4-\0M \0\0\17o\bLó\0\0#q 4HRB2w2J-\0M \0\0\17o\bTó\0\0#q zqalk90q-\0M \0\0\17o\b\ó\0\0#q qeRM9JrL-\0M \0\0\17o\bdó\0\0#q jIlc2+tv-\0M \0\0\17o\bló\0\0#q hMyT2eUu-\0M \0\0\17o\btó\0\0#q q4MdumMq-\0M \0\0\17o\b|ó\0\0#q yCenJRHT-\0M \0\0\17o\b\84ó\0\0#q k1OZudfS-\0M \0\0\17o\b\8có\0\0#q +VfKOcyA-\0M \0\0\17o\b\94ó\0\0#q 5HHezeQr-\0M \0\0\17o\b\9có\0\0#q Jxq2piOM-\0M \0\0\17o\b¤ó\0\0#q 5vIJjY0f-\0M \0\0\17o\b¬ó\0\0#q YvMt9eOL-\0M \0\0\17o\b´ó\0\0#q t3WsvDtG-\0M \0\0\17o\b¼ó\0\0#q 97S85zOs-\0M \0\0\17o\bÄó\0\0#q 8DAjs7dX-\0M \0\0\17o\bÌó\0\0#q vmFFxB5l-\0M \0\0\17o\bÔó\0\0#q 4hvFFWKj-\0M \0\0\17o\bÜó\0\0#q G6TIUmyW-\0M \0\0\17o\bäó\0\0#q mMme3cQz-\0M \0\0\17o\bìó\0\0#q Nyatha2C-\0M \0\0\17o\bôó\0\0#q Ux7UUluG-\0M \0\0\17o\büó\0\0#q UDYW7GzY-\0M \0\0\17o\b\ 4ô\0\0#q GPvUZVUN-\0M \0\0\17o\b\fô\0\0#q 2QruGNDb-\0M \0\0\17o\b\14ô\0\0#q Q2NtNsoE-\0M \0\0\17o\b\1cô\0\0#q DGs5S4Sw-\0M \0\0\17o\b$ô\0\0#q 7tuXObFD-\0M \0\0\17o\b,ô\0\0#q TJmQpdzu-\0M \0\0\17o\b4ô\0\0#q USm7gDGi-\0M \0\0\17o\b<ô\0\0#q 7IElwyNb-\0M \0\0\17o\bDô\0\0#q NWUW5apw-\0M \0\0\17o\bLô\0\0#q r1xMC2oS-\0M \0\0\17o\bTô\0\0#q 5tUYZA2c-\0M \0\0\17o\b\ô\0\0#q HGiAzve7-\0M \0\0\17o\bdô\0\0#q XardJ2Iu-\0M \0\0\17o\blô\0\0#q YysvZR0K-\0M \0\0\17o\btô\0\0#q u5Ck+2RL-\0M \0\0\17o\b|ô\0\0#q 65bzSHlF-\0M \0\0\17o\b\84ô\0\0#q lxDxNMK5-\0M \0\0\17o\b\8cô\0\0#q TWUzcfeF-\0M \0\0\17o\b\94ô\0\0#q omjrOXGk-\0M \0\0\17o\b\9cô\0\0#q uCogWNpZ-\0M \0\0\17o\b¤ô\0\0#q b5Tmyes2-\0M \0\0\17o\b¬ô\0\0#q YdxqRBmU-\0M \0\0\17o\b´ô\0\0#q 6GoIV0TP-\0M \0\0\17o\b¼ô\0\0#q JNojDDaq-\0M \0\0\17o\bÄô\0\0#q LiTC92lI-\0M \0\0\17o\bÌô\0\0#q 44VORRdd-\0M \0\0\17o\bÔô\0\0#q 7f/n2zez-\0M \0\0\17o\bÜô\0\0#q 072fHsVc-\0M \0\0\17o\bäô\0\0#q 0lJBrBTJ-\0M \0\0\17o\bìô\0\0#q O0dTCCHB-\0M \0\0\17o\bôô\0\0#q nnJ7l4TD-\0M \0\0\17o\büô\0\0#q b0xvuQrW-\0M \0\0\17o\b\ 4õ\0\0#q jqhowcNm-\0M \0\0\17o\b\fõ\0\0#q KETZaeWn-\0M \0\0\17o\b\14õ\0\0#q 2MKO9JNM-\0M \0\0\17o\b\1cõ\0\0#q jipkZF31-\0M \0\0\17o\b$õ\0\0#q GWlSxcYp-\0M \0\0\17o\b,õ\0\0#q Jydb5hSn-\0M \0\0\17o\b4õ\0\0#q INMGPuEO-\0M \0\0\17o\b<õ\0\0#q nRLL4UV1-\0M \0\0\17o\bDõ\0\0#q hvIPGKBl-\0M \0\0\17o\bLõ\0\0#q ZvS4ydl0-\0M \0\0\17o\bTõ\0\0#q W3uRzvMA-\0M \0\0\17o\b\õ\0\0#q xgqY2gIY-\0M \0\0\17o\bdõ\0\0#q c5EjKevt-\0M \0\0\17o\blõ\0\0#q HG5vkRZf-\0M \0\0\17o\btõ\0\0#q Ti704pm6-\0M \0\0\17o\b|õ\0\0#q 4VOlm9mn-\0M \0\0\17o\b\84õ\0\0#q ddnhX1d8-\0M \0\0\17o\b\8cõ\0\0#q i11nlLfO-\0M \0\0\17o\b\94õ\0\0#q 43hvIUvk-\0M \0\0\17o\b\9cõ\0\0#q hnaDTed1-\0M \0\0\17o\b¤õ\0\0#q UYzb4SQy-\0M \0\0\17o\b¬õ\0\0#q 8iOZJY0O-\0M \0\0\17o\b´õ\0\0#q XGtwdkbr-\0M \0\0\17o\b¼õ\0\0#q l6UMLqQo-\0M \0\0\17o\bÄõ\0\0#q Oxj6wqcm-\0M \0\0\17o\bÌõ\0\0#q 67PRzUcw-\0M \0\0\17o\bÔõ\0\0#q OOdgLJgv-\0M \0\0\17o\bÜõ\0\0#q lpWuyLe1-\0M \0\0\17o\bäõ\0\0#q MNGlSR9c-\0M \0\0\17o\bìõ\0\0#q dZItEm9x-\0M \0\0\17o\bôõ\0\0#q aWRy5l21-\0M \0\0\17o\büõ\0\0#q raQcOMen-\0M \0\0\17o\b\ 4ö\0\0#q bGPjUtId-\0M \0\0\17o\b\fö\0\0#q 5L5rfXWQ-\0M \0\0\17o\b\14ö\0\0#q r2NbGd5B-\0M \0\0\17o\b\1cö\0\0#q XI6+tVcA-\0M \0\0\17o\b$ö\0\0#q 2rcJgTsa-\0M \0\0\17o\b,ö\0\0#q 6HJhyR9J-\0M \0\0\17o\b4ö\0\0#q ZrTaSuTN-\0M \0\0\17o\b<ö\0\0#q 7tG94c7f-\0M \0\0\17o\bDö\0\0#q N54bJ5gK-\0M \0\0\17o\bLö\0\0#q AteSmybg-\0M \0\0\17o\bTö\0\0#q HEB3lSGH-\0M \0\0\17o\b\ö\0\0#q TGcmecrP-\0M \0\0\17o\bdö\0\0#q GjWNw+WA-\0M \0\0\17o\blö\0\0#q 2uNR0eri-\0M \0\0\17o\btö\0\0#q oM73usN6-\0M \0\0\17o\b|ö\0\0#q veTkgxmQ-\0M \0\0\17o\b\84ö\0\0#q tzC+7W1C-\0M \0\0\17o\b\8cö\0\0#q 52SQlmXc-\0M \0\0\17o\b\94ö\0\0#q ODt80oUQ-\0M \0\0\17o\b\9cö\0\0#q Qutphmed-\0M \0\0\17o\b¤ö\0\0#q zHoa0Pb5-\0M \0\0\17o\b¬ö\0\0#q uGiUik1k-\0M \0\0\17o\b´ö\0\0#q XE7ZGybH-\0M \0\0\17o\b¼ö\0\0#q 16ydOZNO-\0M \0\0\17o\bÄö\0\0#q pe5Sgesh-\0M \0\0\17o\bÌö\0\0#q jsIhgWST-\0M \0\0\17o\bÔö\0\0#q nObvd7JY-\0M \0\0\17o\bÜö\0\0#q yX1O5WwQ-\0M \0\0\17o\bäö\0\0#q QTtFWii2-\0M \0\0\17o\bìö\0\0#q tYujUsWb-\0M \0\0\17o\bôö\0\0#q w0ezmrTN-\0M \0\0\17o\büö\0\0#q w5aVPbIM-\0M \0\0\17o\b\ 4÷\0\0#q BpLsctzL-\0M \0\0\17o\b\f÷\0\0#q 3e82boiM-\0M \0\0\17o\b\14÷\0\0#q G5yOnOmm-\0M \0\0\17o\b\1c÷\0\0#q 8fMsldyW-\0M \0\0\17o\b$÷\0\0#q w025uHyF-\0M \0\0\17o\b,÷\0\0#q FYaQ8uhZ-\0M \0\0\17o\b4÷\0\0#q TsWKiNp8-\0M \0\0\17o\b<÷\0\0#q JA35OM6z-\0M \0\0\17o\bD÷\0\0#q tkc5IRzb-\0M \0\0\17o\bL÷\0\0#q yi5eshOO-\0M \0\0\17o\bT÷\0\0#q 7RfQUENx-\0M \0\0\17o\b\÷\0\0#q DrF3qvnK-\0M \0\0\17o\bd÷\0\0#q utTq2OI2-\0M \0\0\17o\bl÷\0\0#q Axlgzi73-\0M \0\0\17o\bt÷\0\0#q va5to5kV-\0M \0\0\17o\b|÷\0\0#q tHbQ7Y32-\0M \0\0\17o\b\84÷\0\0#q Dd1k3HCj-\0M \0\0\17o\b\8c÷\0\0#q LIPSN73V-\0M \0\0\17o\b\94÷\0\0#q uOclVLYX-\0M \0\0\17o\b\9c÷\0\0#q pmseBJzb-\0M \0\0\17o\b¤÷\0\0#q NvLSDWBy-\0M \0\0\17o\b¬÷\0\0#q I7kReScm-\0M \0\0\17o\b´÷\0\0#q 2jiac6zt-\0M \0\0\17o\b¼÷\0\0#q XZGkbaiC-\0M \0\0\17o\bÄ÷\0\0#q AyO2QzIX-\0M \0\0\17o\bÌ÷\0\0#q Td7J06xs-\0M \0\0\17o\bÔ÷\0\0#q s3ieAXL4-\0M \0\0\17o\bÜ÷\0\0#q jMoKMHss-\0M \0\0\17o\bä÷\0\0#q zhnY2tu+-\0M \0\0\17o\bì÷\0\0#q PYncmERU-\0M \0\0\17o\bô÷\0\0#q RzYjb7rV-\0M \0\0\17o\bü÷\0\0#q mXU5FSXu-\0M \0\0\17o\b\ 4ø\0\0#q zzzvke8r-\0M \0\0\17o\b\fø\0\0#q flq8UMwG-\0M \0\0\17o\b\14ø\0\0#q zmKayKZk-\0M \0\0\17o\b\1cø\0\0#q WIVa8gdU-\0M \0\0\17o\b$ø\0\0#q zJzlgqDk-\0M \0\0\17o\b,ø\0\0#q EC5XJt6M-\0M \0\0\17o\b4ø\0\0#q pysuebzM-\0M \0\0\17o\b<ø\0\0#q k5crS96O-\0M \0\0\17o\bDø\0\0#q kqQR3Dkz-\0M \0\0\17o\bLø\0\0#q ElgmcLoC-\0M \0\0\17o\bTø\0\0#q wfLTbkIR-\0M \0\0\17o\b\ø\0\0#q 3GXy81m+-\0M \0\0\17o\bdø\0\0#q S4PlrND6-\0M \0\0\17o\blø\0\0#q 9sIGpuN6-\0M \0\0\17o\btø\0\0#q O4g2ktmw-\0M \0\0\17o\b|ø\0\0#q gkuHKu9w-\0M \0\0\17o\b\84ø\0\0#q yznIiYqH-\0M \0\0\17o\b\8cø\0\0#q xh287t87-\0M \0\0\17o\b\94ø\0\0#q BEPFkERt-\0M \0\0\17o\b\9cø\0\0#q 85JvWK2O-\0M \0\0\17o\b¤ø\0\0#q rjtJEX2u-\0M \0\0\17o\b¬ø\0\0#q 3Obs84de-\0M \0\0\17o\b´ø\0\0#q bd0rw7zd-\0M \0\0\17o\b¼ø\0\0#q eXMFzOZD-\0M \0\0\17o\bÄø\0\0#q J3NvLmvO-\0M \0\0\17o\bÌø\0\0#q W98l52ee-\0M \0\0\17o\bÔø\0\0#q c8Ovx3UR-\0M \0\0\17o\bÜø\0\0#q CkNEx+BY-\0M \0\0\17o\bäø\0\0#q 1uglDVhy-\0M \0\0\17o\bìø\0\0#q 3y0UPJcK-\0M \0\0\17o\bôø\0\0#q yiDZjGbe-\0M \0\0\17o\büø\0\0#q wQ+bM3Ed-\0M \0\0\17o\b\ 4ù\0\0#q m6FJOvzz-\0M \0\0\17o\b\fù\0\0#q azuclkGa-\0M \0\0\17o\b\14ù\0\0#q GMcYNlfJ-\0M \0\0\17o\b\1cù\0\0#q EmxcZb4M-\0M \0\0\17o\b$ù\0\0#q 0d5vObBO-\0M \0\0\17o\b,ù\0\0#q O3PN5hD0-\0M \0\0\17o\b4ù\0\0#q onSZ5O7G-\0M \0\0\17o\b<ù\0\0#q GzFbRbOZ-\0M \0\0\17o\bDù\0\0#q zlE2Rhka-\0M \0\0\17o\bLù\0\0#q wphx0zrl-\0M \0\0\17o\bTù\0\0#q ixjRccim-\0M \0\0\17o\b\ù\0\0#q W65Ok1uZ-\0M \0\0\17o\bdù\0\0#q Q8tkA7rS-\0M \0\0\17o\blù\0\0#q LGbUGzJI-\0M \0\0\17o\btù\0\0#q Zew32hAF-\0M \0\0\17o\b|ù\0\0#q kPnNVhE9-\0M \0\0\17o\b\84ù\0\0#q MqWiOw47-\0M \0\0\17o\b\8cù\0\0#q zozjty6k-\0M \0\0\17o\b\94ù\0\0#q Nk1N83UI-\0M \0\0\17o\b\9cù\0\0#q 0ZAZmzwz-\0M \0\0\17o\b¤ù\0\0#q Hu5NUqQy-\0M \0\0\17o\b¬ù\0\0#q Qow0vktd-\0M \0\0\17o\b´ù\0\0#q qtUDtNuQ-\0M \0\0\17o\b¼ù\0\0#q OWVDBrlB-\0M \0\0\17o\bÄù\0\0#q zZMzs4tf-\0M \0\0\17o\bÌù\0\0#q bbgLjvOV-\0M \0\0\17o\bÔù\0\0#q lw1POknT-\0M \0\0\17o\bÜù\0\0#q ok9nX1y1-\0M \0\0\17o\bäù\0\0#q i108eGb3-\0M \0\0\17o\bìù\0\0#q lqIbyXdF-\0M \0\0\17o\bôù\0\0#q m5ZQ1N1r-\0M \0\0\17o\büù\0\0#q dRtQsbwY-\0M \0\0\17o\b\ 4ú\0\0#q cJmHBeXW-\0M \0\0\17o\b\fú\0\0#q 2qMDeacg-\0M \0\0\17o\b\14ú\0\0#q 55NcqOxl-\0M \0\0\17o\b\1cú\0\0#q x5mVneeF-\0M \0\0\17o\b$ú\0\0#q YjRYeJ0c-\0M \0\0\17o\b,ú\0\0#q kbFCkO9H-\0M \0\0\17o\b4ú\0\0#q PGh6Uz0Y-\0M \0\0\17o\b<ú\0\0#q irAec3cA-\0M \0\0\17o\bDú\0\0#q aT2SN9TI-\0M \0\0\17o\bLú\0\0#q dhI4eu6x-\0M \0\0\17o\bTú\0\0#q RjeuwlnH-\0M \0\0\17o\b\ú\0\0#q tcd9I6I7-\0M \0\0\17o\bdú\0\0#q mnNQujxo-\0M \0\0\17o\blú\0\0#q haKtvuAQ-\0M \0\0\17o\btú\0\0#q d6d17CIo-\0M \0\0\17o\b|ú\0\0#q MjnTcYTJ-\0M \0\0\17o\b\84ú\0\0#q 0gzDnLog-\0M \0\0\17o\b\8cú\0\0#q y87zLa4R-\0M \0\0\17o\b\94ú\0\0#q IWrjb3QJ-\0M \0\0\17o\b\9cú\0\0#q V4OaRG3h-\0M \0\0\17o\b¤ú\0\0#q mhxMjBao-\0M \0\0\17o\b¬ú\0\0#q zkkzdTcU-\0M \0\0\17o\b´ú\0\0#q bRtJzGnc-\0M \0\0\17o\b¼ú\0\0#q sju30dDu-\0M \0\0\17o\bÄú\0\0#q birvs7xZ-\0M \0\0\17o\bÌú\0\0#q JuXdqYd7-\0M \0\0\17o\bÔú\0\0#q zsWQFdt5-\0M \0\0\17o\bÜú\0\0#q eUcWbvOE-\0M \0\0\17o\bäú\0\0#q b3hdO1zO-\0M \0\0\17o\bìú\0\0#q bnI7UeWd-\0M \0\0\17o\bôú\0\0#q 7m7t8zw5-\0M \0\0\17o\büú\0\0#q eWdMmpq9-\0M \0\0\17o\b\ 4û\0\0#q lvkl1O2s-\0M \0\0\17o\b\fû\0\0#q 33XNPfK3-\0M \0\0\17o\b\14û\0\0#q sTSyZwcb-\0M \0\0\17o\b\1cû\0\0#q L7OVx6ZF-\0M \0\0\17o\b$û\0\0#q d7y47nYj-\0M \0\0\17o\b,û\0\0#q GcfOl5WU-\0M \0\0\17o\b4û\0\0#q bFK6jGO8-\0M \0\0\17o\b<û\0\0#q 5fdlu+Oj-\0M \0\0\17o\bDû\0\0#q //MUFZJl-\0M \0\0\17o\bLû\0\0#q NZf1tARw-\0M \0\0\17o\bTû\0\0#q a8BV+AQD-\0M \0\0\17o\b\û\0\0#q gQB3/wP+-\0M \0\0\17o\bdû\0\0#q ffir////-\0M \0\0\17o\blû\0\0#q pgsXwAAA-\0M \0\0\17o\btû\0\0#q AAAAAAAA-\0M \0\0\17o\b|û\0\0#q ADkAFvAB-\0M \0\0\17o\b\84û\0\0#q 9CgCqKvh-\0M \0\0\17o\b\8cû\0\0#q wIIRClJB-\0M \0\0\17o\b\94û\0\0#q QGt931Kc-\0M \0\0\17o\b\9cû\0\0#q B7ue29fO-\0M \0\0\17o\b¤û\0\0#q M4xl8OCC-\0M \0\0\17o\b¬û\0\0#q gCOsAD4g-\0M \0\0\17o\b´û\0\0#q AMCCqAgi-\0M \0\0\17o\b¼û\0\0#q gO4wANPN-\0M \0\0\17o\bÄû\0\0#q s0ABQWrw-\0M \0\0\17o\bÌû\0\0#q W94D7vhh-\0M \0\0\17o\bÔû\0\0#q 57CBAWsP-\0M \0\0\17o\bÜû\0\0#q bK21bY1p-\0M \0\0\17o\bäû\0\0#q 2NSlc29v-\0M \0\0\17o\bìû\0\0#q nvroj5VJ-\0M \0\0\17o\bôû\0\0#q CRUilcbP-\0M \0\0\17o\büû\0\0#q tq+nc776-\0M \0\0\17o\b\ 4ü\0\0#q 2bq+rYxo-\0M \0\0\17o\b\fü\0\0#q GIRFFTW+-\0M \0\0\17o\b\14ü\0\0#q 199fPB8o-\0M \0\0\17o\b\1cü\0\0#q qqVSlUqJ-\0M \0\0\17o\b$ü\0\0#q fA6522q9-\0M \0\0\17o\b,ü\0\0#q YIUQr2e0-\0M \0\0\17o\b4ü\0\0#q dTolBEUA-\0M \0\0\17o\b<ü\0\0#q pKpKdxdy-\0M \0\0\17o\bDü\0\0#q iq9PcxXp-\0M \0\0\17o\bLü\0\0#q pT7XA1zw-\0M \0\0\17o\bTü\0\0#q 2DoUqJQt-\0M \0\0\17o\b\ü\0\0#q bhzOqiUF-\0M \0\0\17o\bdü\0\0#q UEnrTwsJ-\0M \0\0\17o\blü\0\0#q plFOzKlP-\0M \0\0\17o\btü\0\0#q LNubxmlv-\0M \0\0\17o\b|ü\0\0#q LabHh70v-\0M \0\0\17o\b\84ü\0\0#q Pbs9VSlU-\0M \0\0\17o\b\8cü\0\0#q C2aInZnW-\0M \0\0\17o\b\94ü\0\0#q UtKa6kV0-\0M \0\0\17o\b\9cü\0\0#q 6iV7xWDf-\0M \0\0\17o\b¤ü\0\0#q ctwDvZfb-\0M \0\0\17o\b¬ü\0\0#q VSHSMzex-\0M \0\0\17o\b´ü\0\0#q 1T1Xu3db-\0M \0\0\17o\b¼ü\0\0#q tgdcgV00-\0M \0\0\17o\bÄü\0\0#q eRqTtivM-\0M \0\0\17o\bÌü\0\0#q xlkDWp3c-\0M \0\0\17o\bÔü\0\0#q 5VXc0tLh-\0M \0\0\17o\bÜü\0\0#q itmrNiVC-\0M \0\0\17o\bäü\0\0#q hF12zldt-\0M \0\0\17o\bìü\0\0#q J3W27okK-\0M \0\0\17o\bôü\0\0#q oCs8t8dj-\0M \0\0\17o\büü\0\0#q vZ9jdAPW-\0M \0\0\17o\b\ 4ý\0\0#q i0r3HoNJ-\0M \0\0\17o\b\fý\0\0#q bs1XKl3d-\0M \0\0\17o\b\14ý\0\0#q Vs7jAPbH-\0M \0\0\17o\b\1cý\0\0#q mZ03gFeU-\0M \0\0\17o\b$ý\0\0#q l02d2aYc-\0M \0\0\17o\b,ý\0\0#q R6bmqg61-\0M \0\0\17o\b4ý\0\0#q 73G4GXhq-\0M \0\0\17o\b<ý\0\0#q egQBAgTQ-\0M \0\0\17o\bDý\0\0#q SUPUEGEP-\0M \0\0\17o\bLý\0\0#q UZGTAA1P-\0M \0\0\17o\bTý\0\0#q CCSJVT9o-\0M \0\0\17o\b\ý\0\0#q wqPVMeqf-\0M \0\0\17o\bdý\0\0#q iQAIxGJk-\0M \0\0\17o\blý\0\0#q YAEmkSIQ-\0M \0\0\17o\btý\0\0#q jRRphCT1-\0M \0\0\17o\b|ý\0\0#q GTygAPU9-\0M \0\0\17o\b\84ý\0\0#q TTTEACT1-\0M \0\0\17o\b\8cý\0\0#q SkiFPIj1-\0M \0\0\17o\b\94ý\0\0#q MSaNAAAA-\0M \0\0\17o\b\9cý\0\0#q AAAApSIC-\0M \0\0\17o\b¤ý\0\0#q IoiTMqep-\0M \0\0\17o\b¬ý\0\0#q gUaeyoaa-\0M \0\0\17o\b´ý\0\0#q AaMgBiBU-\0M \0\0\17o\b¼ý\0\0#q SIIIgRoE-\0M \0\0\17o\bÄý\0\0#q Jkmqaek2-\0M \0\0\17o\bÌý\0\0#q po0BkZAP-\0M \0\0\17o\bÔý\0\0#q U+d9mfOt-\0M \0\0\17o\bÜý\0\0#q n2399/Ua-\0M \0\0\17o\bäý\0\0#q ZITRTREB-\0M \0\0\17o\bìý\0\0#q AJMILEUS-\0M \0\0\17o\bôý\0\0#q ZiSKkYAE-\0M \0\0\17o\büý\0\0#q mGm0IokQ-\0M \0\0\17o\b\ 4þ\0\0#q KAYlDGAS-\0M \0\0\17o\b\fþ\0\0#q ykCCmWJB-\0M \0\0\17o\b\14þ\0\0#q QBpkaKQL-\0M \0\0\17o\b\1cþ\0\0#q BIiZhJpS-\0M \0\0\17o\b$þ\0\0#q zJEhDTRC-\0M \0\0\17o\b,þ\0\0#q EkUETEKM-\0M \0\0\17o\b4þ\0\0#q xQRSIxia-\0M \0\0\17o\b<þ\0\0#q GQREwxpZ-\0M \0\0\17o\bDþ\0\0#q Eg0KYgAa-\0M \0\0\17o\bLþ\0\0#q EkAGJGE0-\0M \0\0\17o\bTþ\0\0#q ilIIhQZF-\0M \0\0\17o\b\þ\0\0#q LKTCMSQM-\0M \0\0\17o\bdþ\0\0#q kBYoRIUk-\0M \0\0\17o\blþ\0\0#q FIkmkQMZ-\0M \0\0\17o\btþ\0\0#q hGYyJkQw-\0M \0\0\17o\b|þ\0\0#q IUUkTQwJ-\0M \0\0\17o\b\84þ\0\0#q slEQk0IA-\0M \0\0\17o\b\8cþ\0\0#q pAEEkJCI-\0M \0\0\17o\b\94þ\0\0#q RQLAGUhJ-\0M \0\0\17o\b\9cþ\0\0#q M0NCzNDK-\0M \0\0\17o\b¤þ\0\0#q bFlk0QYE-\0M \0\0\17o\b¬þ\0\0#q aSCihZRN-\0M \0\0\17o\b´þ\0\0#q ABJhCZRF-\0M \0\0\17o\b¼þ\0\0#q KJFkxIKR-\0M \0\0\17o\bÄþ\0\0#q mDJEZZSi-\0M \0\0\17o\bÌþ\0\0#q mhJRNkEj-\0M \0\0\17o\bÔþ\0\0#q GUIIIGFM-\0M \0\0\17o\bÜþ\0\0#q pgaQMaSR-\0M \0\0\17o\bäþ\0\0#q jJEYTCYo-\0M \0\0\17o\bìþ\0\0#q GlEQpmzG-\0M \0\0\17o\bôþ\0\0#q ZLISlRlC-\0M \0\0\17o\büþ\0\0#q GEIIyYMa-\0M \0\0\17o\b\ 4ÿ\0\0#q ZKkpiCNI-\0M \0\0\17o\b\fÿ\0\0#q jIURTTTG-\0M \0\0\17o\b\14ÿ\0\0#q kmkaGUWK-\0M \0\0\17o\b\1cÿ\0\0#q RNiEM1ER-\0M \0\0\17o\b$ÿ\0\0#q kZEjIyMx-\0M \0\0\17o\b,ÿ\0\0#q IQJRjBkK-\0M \0\0\17o\b4ÿ\0\0#q TBJiUyzM-\0M \0\0\17o\b<ÿ\0\0#q 0BhkLMYk-\0M \0\0\17o\bDÿ\0\0#q JEwQBQGh-\0M \0\0\17o\bLÿ\0\0#q pGWTRjKI-\0M \0\0\17o\bTÿ\0\0#q E0SYCUjD-\0M \0\0\17o\b\ÿ\0\0#q SIhmGkyE-\0M \0\0\17o\bdÿ\0\0#q ZlMZjCAY-\0M \0\0\17o\blÿ\0\0#q YkpimEBM-\0M \0\0\17o\btÿ\0\0#q ZlEghCUs-\0M \0\0\17o\b|ÿ\0\0#q kyWQyUZi-\0M \0\0\17o\b\84ÿ\0\0#q GYJlEmSz-\0M \0\0\17o\b\8cÿ\0\0#q MmKRiQML-\0M \0\0\17o\b\94ÿ\0\0#q MxTTBlJo-\0M \0\0\17o\b\9cÿ\0\0#q iJphJImI-\0M \0\0\17o\b¤ÿ\0\0#q igzIpSYz-\0M \0\0\17o\b¬ÿ\0\0#q FIo2MUAS-\0M \0\0\17o\b´ÿ\0\0#q SpKIRJia-\0M \0\0\17o\b¼ÿ\0\0#q BiFAGGmg-\0M \0\0\17o\bÄÿ\0\0#q IUlEgSMm-\0M \0\0\17o\bÌÿ\0\0#q BGIZqYzQ-\0M \0\0\17o\bÔÿ\0\0#q IwIpIljM-\0M \0\0\17o\bÜÿ\0\0#q JIKSZE0F-\0M \0\0\17o\bäÿ\0\0#q mAxg2IjI-\0M \0\0\17o\bìÿ\0\0#q aNLAaEhI-\0M \0\0\17o\bôÿ\0\0#q sCyTEgyG-\0M \0\0\17o\büÿ\0\0#q YokNMEzT-\0M \0\0\17o\b\ 4\0\ 1\0#q MUiNiMNg-\0M \0\0\17o\b\f\0\ 1\0#q jRMMYSSQ-\0M \0\0\17o\b\14\0\ 1\0#q QhMghBgA-\0M \0\0\17o\b\1c\0\ 1\0#q GCEoEY0S-\0M \0\0\17o\b$\0\ 1\0#q kZlCiRhR-\0M \0\0\17o\b,\0\ 1\0#q QSiZEQgK-\0M \0\0\17o\b4\0\ 1\0#q MGQFIkkG-\0M \0\0\17o\b<\0\ 1\0#q IySy0CZQ-\0M \0\0\17o\bD\0\ 1\0#q EqIshpMx-\0M \0\0\17o\bL\0\ 1\0#q jGSUUKGS-\0M \0\0\17o\bT\0\ 1\0#q QogUJJAM-\0M \0\0\17o\b\\0\ 1\0#q g0YhCooU-\0M \0\0\17o\bd\0\ 1\0#q JTKEgJoU-\0M \0\0\17o\bl\0\ 1\0#q opZCiYLE-\0M \0\0\17o\bt\0\ 1\0#q UsIkGESL-\0M \0\0\17o\b|\0\ 1\0#q IajJokJj-\0M \0\0\17o\b\84\0\ 1\0#q EQJgDSli-\0M \0\0\17o\b\8c\0\ 1\0#q QhGIaADE-\0M \0\0\17o\b\94\0\ 1\0#q BsWJJAYm-\0M \0\0\17o\b\9c\0\ 1\0#q koDQjIJN-\0M \0\0\17o\b¤\0\ 1\0#q CNGUEwGZ-\0M \0\0\17o\b¬\0\ 1\0#q IEkqYjAs-\0M \0\0\17o\b´\0\ 1\0#q bMbGjBAZ-\0M \0\0\17o\b¼\0\ 1\0#q kgkBKRjQ-\0M \0\0\17o\bÄ\0\ 1\0#q GUQQTKZg-\0M \0\0\17o\bÌ\0\ 1\0#q ymhiQIhE-\0M \0\0\17o\bÔ\0\ 1\0#q CNhhmMyE-\0M \0\0\17o\bÜ\0\ 1\0#q MgjBMYCJ-\0M \0\0\17o\bä\0\ 1\0#q TZBEhSMp-\0M \0\0\17o\bì\0\ 1\0#q k0zGlEyZ-\0M \0\0\17o\bô\0\ 1\0#q SjGFFRQp-\0M \0\0\17o\bü\0\ 1\0#q IykkjFCo-\0M \0\0\17o\b\ 4\ 1\ 1\0#q JoxhpIQS-\0M \0\0\17o\b\f\ 1\ 1\0#q JoRZIZMR-\0M \0\0\17o\b\14\ 1\ 1\0#q miLJEMwS-\0M \0\0\17o\b\1c\ 1\ 1\0#q JgibCaJg-\0M \0\0\17o\b$\ 1\ 1\0#q hRAEyggk-\0M \0\0\17o\b,\ 1\ 1\0#q QySTISQB-\0M \0\0\17o\b4\ 1\ 1\0#q SIJJMyjW-\0M \0\0\17o\b<\ 1\ 1\0#q KAQSQKQY-\0M \0\0\17o\bD\ 1\ 1\0#q KLDSDRFg-\0M \0\0\17o\bL\ 1\ 1\0#q gaYDJhkR-\0M \0\0\17o\bT\ 1\ 1\0#q BqJiSBkS-\0M \0\0\17o\b\\ 1\ 1\0#q yBmQJhFN-\0M \0\0\17o\bd\ 1\ 1\0#q BESMWJkm-\0M \0\0\17o\bl\ 1\ 1\0#q pEwkjEQx-\0M \0\0\17o\bt\ 1\ 1\0#q QomI0wJi-\0M \0\0\17o\b|\ 1\ 1\0#q RijNKCQQ-\0M \0\0\17o\b\84\ 1\ 1\0#q NNhaYhlk-\0M \0\0\17o\b\8c\ 1\ 1\0#q whhLKEYJ-\0M \0\0\17o\b\94\ 1\ 1\0#q KExEESAz-\0M \0\0\17o\b\9c\ 1\ 1\0#q LCSURhIA-\0M \0\0\17o\b¤\ 1\ 1\0#q QIJEpiQk-\0M \0\0\17o\b¬\ 1\ 1\0#q lAmZ/txd-\0M \0\0\17o\b´\ 1\ 1\0#q d3XdcOzl-\0M \0\0\17o\b¼\ 1\ 1\0#q 3Oc4ca53-\0M \0\0\17o\bÄ\ 1\ 1\0#q bsdc53c7-\0M \0\0\17o\bÌ\ 1\ 1\0#q k7runOug-\0M \0\0\17o\bÔ\ 1\ 1\0#q oiVLVlto-\0M \0\0\17o\bÜ\ 1\ 1\0#q 221GpSpU-\0M \0\0\17o\bä\ 1\ 1\0#q titttttE-\0M \0\0\17o\bì\ 1\ 1\0#q qtCirbVt-\0M \0\0\17o\bô\ 1\ 1\0#q trWLW0Vs-\0M \0\0\17o\bü\ 1\ 1\0#q raQEkhMx-\0M \0\0\17o\b\ 4\ 2\ 1\0#q SAMkmAyS-\0M \0\0\17o\b\f\ 2\ 1\0#q CjDSRDJC-\0M \0\0\17o\b\14\ 2\ 1\0#q CJBly6RM-\0M \0\0\17o\b\1c\ 2\ 1\0#q JSkkEJIM-\0M \0\0\17o\b$\ 2\ 1\0#q hCAo0wEk-\0M \0\0\17o\b,\ 2\ 1\0#q gYIkQzrd-\0M \0\0\17o\b4\ 2\ 1\0#q 2YCBRMZS-\0M \0\0\17o\b<\ 2\ 1\0#q mJTCjKhm-\0M \0\0\17o\bD\ 2\ 1\0#q JIEiTDJM-\0M \0\0\17o\bL\ 2\ 1\0#q 0SUsIxIE-\0M \0\0\17o\bT\ 2\ 1\0#q kkRTRMyE-\0M \0\0\17o\b\\ 2\ 1\0#q hJCSBIBs-\0M \0\0\17o\bd\ 2\ 1\0#q KBMmAohg-\0M \0\0\17o\bl\ 2\ 1\0#q wmJIkkCQ-\0M \0\0\17o\bt\ 2\ 1\0#q aYkkCGSJ-\0M \0\0\17o\b|\ 2\ 1\0#q kxCMCTru-\0M \0\0\17o\b\84\ 2\ 1\0#q hzdNjaVq-\0M \0\0\17o\b\8c\ 2\ 1\0#q NGI1qqn/-\0M \0\0\17o\b\94\ 2\ 1\0#q H/D+f92/-\0M \0\0\17o\b\9c\ 2\ 1\0#q 9N7/nf+x-\0M \0\0\17o\b¤\ 2\ 1\0#q /T/BM7+j-\0M \0\0\17o\b¬\ 2\ 1\0#q /3Df5s4H-\0M \0\0\17o\b´\ 2\ 1\0#q 91tC/+oo-\0M \0\0\17o\b¼\ 2\ 1\0#q sD+/gYNH-\0M \0\0\17o\bÄ\ 2\ 1\0#q pnVNy5J2-\0M \0\0\17o\bÌ\ 2\ 1\0#q alEaZU/6-\0M \0\0\17o\bÔ\ 2\ 1\0#q 6SB3/PXf-\0M \0\0\17o\bÜ\ 2\ 1\0#q /7//et/n-\0M \0\0\17o\bä\ 2\ 1\0#q u+/f9KKr-\0M \0\0\17o\bì\ 2\ 1\0#q 9VSKdhIp-\0M \0\0\17o\bô\ 2\ 1\0#q tIjKzARQ-\0M \0\0\17o\bü\ 2\ 1\0#q ZZiqimGU-\0M \0\0\17o\b\ 4\ 3\ 1\0#q FLMlVWMj-\0M \0\0\17o\b\f\ 3\ 1\0#q MSUU2oif-\0M \0\0\17o\b\14\ 3\ 1\0#q 8IKKYIhl-\0M \0\0\17o\b\1c\ 3\ 1\0#q VIpkBgFF-\0M \0\0\17o\b$\ 3\ 1\0#q MIYCimSU-\0M \0\0\17o\b,\ 3\ 1\0#q /8VUimSi-\0M \0\0\17o\b4\ 3\ 1\0#q VoFFMUof-\0M \0\0\17o\b<\ 3\ 1\0#q /mCin/Kq-\0M \0\0\17o\bD\ 3\ 1\0#q kU/1/2/7-\0M \0\0\17o\bL\ 3\ 1\0#q ipn+uSn/-\0M \0\0\17o\bT\ 3\ 1\0#q P/jZ/qZL-\0M \0\0\17o\b\\ 3\ 1\0#q jiqHKWml-\0M \0\0\17o\bd\ 3\ 1\0#q twNK6udN-\0M \0\0\17o\bl\ 3\ 1\0#q 0mKLpTbn-\0M \0\0\17o\bt\ 3\ 1\0#q FbHSxf6h-\0M \0\0\17o\b|\ 3\ 1\0#q /6WePKSh-\0M \0\0\17o\b\84\ 3\ 1\0#q wUl1VbdK-\0M \0\0\17o\b\8c\ 3\ 1\0#q GyqU5ooa-\0M \0\0\17o\b\94\ 3\ 1\0#q /vt32BeA-\0M \0\0\17o\b\9c\ 3\ 1\0#q 5cSpdlPa-\0M \0\0\17o\b¤\ 3\ 1\0#q WguWZVUx-\0M \0\0\17o\b¬\ 3\ 1\0#q Zht422i4-\0M \0\0\17o\b´\ 3\ 1\0#q WJpNsWzj-\0M \0\0\17o\b¼\ 3\ 1\0#q jnNrttYx-\0M \0\0\17o\bÄ\ 3\ 1\0#q BLESWBXA-\0M \0\0\17o\bÌ\ 3\ 1\0#q to5UMFuT-\0M \0\0\17o\bÔ\ 3\ 1\0#q hmsrEMqj-\0M \0\0\17o\bÜ\ 3\ 1\0#q bDpYOmG3-\0M \0\0\17o\bä\ 3\ 1\0#q M9440VM3-\0M \0\0\17o\bì\ 3\ 1\0#q kpxzZ0ZL-\0M \0\0\17o\bô\ 3\ 1\0#q jiqHSXOD-\0M \0\0\17o\bü\ 3\ 1\0#q DEyJisUW-\0M \0\0\17o\b\ 4\ 4\ 1\0#q WKaaZVEW-\0M \0\0\17o\b\f\ 4\ 1\0#q drHTWsbg-\0M \0\0\17o\b\14\ 4\ 1\0#q 1ZFVRmRG-\0M \0\0\17o\b\1c\ 4\ 1\0#q CMFFhITK-\0M \0\0\17o\b$\ 4\ 1\0#q NXhUhsLA-\0M \0\0\17o\b,\ 4\ 1\0#q nAXFVTa2-\0M \0\0\17o\b4\ 4\ 1\0#q xYZviazv-\0M \0\0\17o\b<\ 4\ 1\0#q p7z20VOk-\0M \0\0\17o\bD\ 4\ 1\0#q udsVqq3j-\0M \0\0\17o\bL\ 4\ 1\0#q OeGtvWOV-\0M \0\0\17o\bT\ 4\ 1\0#q hDnvvuoO-\0M \0\0\17o\b\\ 4\ 1\0#q ynI6VhVK-\0M \0\0\17o\bd\ 4\ 1\0#q baPHLcld-\0M \0\0\17o\bl\ 4\ 1\0#q dm+VRwsd-\0M \0\0\17o\bt\ 4\ 1\0#q 9tpyhwG6-\0M \0\0\17o\b|\ 4\ 1\0#q KG0tNMuN-\0M \0\0\17o\b\84\ 4\ 1\0#q M0w1YZC1-\0M \0\0\17o\b\8c\ 4\ 1\0#q SUMAuLhn-\0M \0\0\17o\b\94\ 4\ 1\0#q LQOupddA-\0M \0\0\17o\b\9c\ 4\ 1\0#q 65UOXPDK-\0M \0\0\17o\b¤\ 4\ 1\0#q oZRXMpLJ-\0M \0\0\17o\b¬\ 4\ 1\0#q UsrlyDY2-\0M \0\0\17o\b´\ 4\ 1\0#q utozHDrg-\0M \0\0\17o\b¼\ 4\ 1\0#q 6uimKZS0-\0M \0\0\17o\bÄ\ 4\ 1\0#q WgtDKos4-\0M \0\0\17o\bÌ\ 4\ 1\0#q KnPMppbM-\0M \0\0\17o\bÔ\ 4\ 1\0#q LnNIaySc-\0M \0\0\17o\bÜ\ 4\ 1\0#q 5TMHGbax-\0M \0\0\17o\bä\ 4\ 1\0#q Tuqd6qpH-\0M \0\0\17o\bì\ 4\ 1\0#q acO527Xh-\0M \0\0\17o\bô\ 4\ 1\0#q 33/xUTId-\0M \0\0\17o\bü\ 4\ 1\0#q WeKTmjbs-\0M \0\0\17o\b\ 4\ 5\ 1\0#q g0PYKnmC-\0M \0\0\17o\b\f\ 5\ 1\0#q 1lVSd88u-\0M \0\0\17o\b\14\ 5\ 1\0#q qKGOW10E-\0M \0\0\17o\b\1c\ 5\ 1\0#q 52BMkmKt-\0M \0\0\17o\b$\ 5\ 1\0#q kyldBFsS-\0M \0\0\17o\b,\ 5\ 1\0#q cY1nFJZk-\0M \0\0\17o\b4\ 5\ 1\0#q tZQvRzSd-\0M \0\0\17o\b<\ 5\ 1\0#q 5S0O9PG4-\0M \0\0\17o\bD\ 5\ 1\0#q 3nhMOVRs-\0M \0\0\17o\bL\ 5\ 1\0#q OXHDbwU5-\0M \0\0\17o\bT\ 5\ 1\0#q iQ1kkWZE-\0M \0\0\17o\b\\ 5\ 1\0#q eZGOqNqS-\0M \0\0\17o\bd\ 5\ 1\0#q 6xHOJZZI-\0M \0\0\17o\bl\ 5\ 1\0#q hTExGkq6-\0M \0\0\17o\bt\ 5\ 1\0#q rcObBbGr-\0M \0\0\17o\b|\ 5\ 1\0#q BOaqc8Om-\0M \0\0\17o\b\84\ 5\ 1\0#q mJTzI751-\0M \0\0\17o\b\8c\ 5\ 1\0#q Vi7Tx0Lb-\0M \0\0\17o\b\94\ 5\ 1\0#q Y0JUgoOE-\0M \0\0\17o\b\9c\ 5\ 1\0#q mzhjjnpt-\0M \0\0\17o\b¤\ 5\ 1\0#q xIKus546-\0M \0\0\17o\b¬\ 5\ 1\0#q uBtXLO4J-\0M \0\0\17o\b´\ 5\ 1\0#q kyYP+eAc-\0M \0\0\17o\b¼\ 5\ 1\0#q AAHOD6fr-\0M \0\0\17o\bÄ\ 5\ 1\0#q 9j9V+RH2-\0M \0\0\17o\bÌ\ 5\ 1\0#q S/L/QXTV-\0M \0\0\17o\bÔ\ 5\ 1\0#q 3dz8SL/T-\0M \0\0\17o\bÜ\ 5\ 1\0#q 8qH5noZQ-\0M \0\0\17o\bä\ 5\ 1\0#q LPqGwlvR-\0M \0\0\17o\bì\ 5\ 1\0#q 6dhx2TVt-\0M \0\0\17o\bô\ 5\ 1\0#q fs9W4cn6-\0M \0\0\17o\bü\ 5\ 1\0#q VF1Rfst5-\0M \0\0\17o\b\ 4\ 6\ 1\0#q hq6EbM2q-\0M \0\0\17o\b\f\ 6\ 1\0#q dokF7YlT-\0M \0\0\17o\b\14\ 6\ 1\0#q +AevC278-\0M \0\0\17o\b\1c\ 6\ 1\0#q qkbLKawm-\0M \0\0\17o\b$\ 6\ 1\0#q h4pJzRaP-\0M \0\0\17o\b,\ 6\ 1\0#q v9leNe26-\0M \0\0\17o\b4\ 6\ 1\0#q uHhSuwBu-\0M \0\0\17o\b<\ 6\ 1\0#q LK+a3xCu-\0M \0\0\17o\bD\ 6\ 1\0#q 7uCt8ICc-\0M \0\0\17o\bL\ 6\ 1\0#q hqAubTDu-\0M \0\0\17o\bT\ 6\ 1\0#q ymwW6zBs-\0M \0\0\17o\b\\ 6\ 1\0#q aun77TDC-\0M \0\0\17o\bd\ 6\ 1\0#q ZizuwBP7-\0M \0\0\17o\bl\ 6\ 1\0#q lwSttmpS-\0M \0\0\17o\bt\ 6\ 1\0#q ykZaG/3I-\0M \0\0\17o\b|\ 6\ 1\0#q Vw50MThj-\0M \0\0\17o\b\84\ 6\ 1\0#q dLpDuH0k-\0M \0\0\17o\b\8c\ 6\ 1\0#q DTDN0e2m-\0M \0\0\17o\b\94\ 6\ 1\0#q vqqKkAmV-\0M \0\0\17o\b\9c\ 6\ 1\0#q y9EDwysG-\0M \0\0\17o\b¤\ 6\ 1\0#q ysaREKB2-\0M \0\0\17o\b¬\ 6\ 1\0#q NormNHUw-\0M \0\0\17o\b´\ 6\ 1\0#q j0vgO6Ii-\0M \0\0\17o\b¼\ 6\ 1\0#q GsJpEuyQ-\0M \0\0\17o\bÄ\ 6\ 1\0#q ETJyWsUL-\0M \0\0\17o\bÌ\ 6\ 1\0#q zZWvlFri-\0M \0\0\17o\bÔ\ 6\ 1\0#q eCawpUQg-\0M \0\0\17o\bÜ\ 6\ 1\0#q zlKTRwiZ-\0M \0\0\17o\bä\ 6\ 1\0#q JXKyzbD3-\0M \0\0\17o\bì\ 6\ 1\0#q ulpxiGZ3-\0M \0\0\17o\bô\ 6\ 1\0#q uqqknBCt-\0M \0\0\17o\bü\ 6\ 1\0#q eytK6wxr-\0M \0\0\17o\b\ 4\a\ 1\0#q aGufXo4j-\0M \0\0\17o\b\f\a\ 1\0#q 6Ql84X68-\0M \0\0\17o\b\14\a\ 1\0#q MHo9PTm7-\0M \0\0\17o\b\1c\a\ 1\0#q GxF43W97-\0M \0\0\17o\b$\a\ 1\0#q OVuPemu2-\0M \0\0\17o\b,\a\ 1\0#q nSInel9r-\0M \0\0\17o\b4\a\ 1\0#q nXmRB4Zm-\0M \0\0\17o\b<\a\ 1\0#q N2FaIWPH-\0M \0\0\17o\bD\a\ 1\0#q WBY1gskI-\0M \0\0\17o\bL\a\ 1\0#q XduCgbTF-\0M \0\0\17o\bT\a\ 1\0#q mxaE5YSi-\0M \0\0\17o\b\\a\ 1\0#q hkBIUBZk-\0M \0\0\17o\bd\a\ 1\0#q 43EhJxOA-\0M \0\0\17o\bl\a\ 1\0#q qFTkTEgZ-\0M \0\0\17o\bt\a\ 1\0#q g/58BOXS-\0M \0\0\17o\b|\a\ 1\0#q Vo8zbqfJ-\0M \0\0\17o\b\84\a\ 1\0#q fApfLFzo-\0M \0\0\17o\b\8c\a\ 1\0#q w/f/d25j-\0M \0\0\17o\b\94\a\ 1\0#q XyxD+I/O-\0M \0\0\17o\b\9c\a\ 1\0#q eU0dcx/x-\0M \0\0\17o\b¤\a\ 1\0#q /aRkaa7T-\0M \0\0\17o\b¬\a\ 1\0#q XU9oVlOf-\0M \0\0\17o\b´\a\ 1\0#q GYMm7+LW-\0M \0\0\17o\b¼\a\ 1\0#q 4ifNnrp1-\0M \0\0\17o\bÄ\a\ 1\0#q XifHFxMu-\0M \0\0\17o\bÌ\a\ 1\0#q 5IbmiCpr-\0M \0\0\17o\bÔ\a\ 1\0#q TZzImVSR-\0M \0\0\17o\bÜ\a\ 1\0#q 0Qa8znKb-\0M \0\0\17o\bä\a\ 1\0#q kRuKQuyr-\0M \0\0\17o\bì\a\ 1\0#q 1cokqPHO-\0M \0\0\17o\bô\a\ 1\0#q IDMit4yc-\0M \0\0\17o\bü\a\ 1\0#q 4kkbdort-\0M \0\0\17o\b\ 4\b\ 1\0#q TU60qgIp-\0M \0\0\17o\b\f\b\ 1\0#q BnSrVsKM-\0M \0\0\17o\b\14\b\ 1\0#q euZ4NPFF-\0M \0\0\17o\b\1c\b\ 1\0#q Xo3ratpw-\0M \0\0\17o\b$\b\ 1\0#q LFLGtrbR-\0M \0\0\17o\b,\b\ 1\0#q Ubc6dxjl-\0M \0\0\17o\b4\b\ 1\0#q HMt30iAL-\0M \0\0\17o\b<\b\ 1\0#q UHtqu5g6-\0M \0\0\17o\bD\b\ 1\0#q R2+W8fwX-\0M \0\0\17o\bL\b\ 1\0#q w/9tjnDI-\0M \0\0\17o\bT\b\ 1\0#q SkwpFIFI-\0M \0\0\17o\b\\b\ 1\0#q TGooZI4I-\0M \0\0\17o\bd\b\ 1\0#q pEG2wm2m-\0M \0\0\17o\bl\b\ 1\0#q 2Gk22+Nt-\0M \0\0\17o\bt\b\ 1\0#q tNFNpstJ-\0M \0\0\17o\b|\b\ 1\0#q JJJL4r7F-\0M \0\0\17o\b\84\b\ 1\0#q o9BaHfpy-\0M \0\0\17o\b\8c\b\ 1\0#q dVdT9v6/-\0M \0\0\17o\b\94\b\ 1\0#q JXtG67C1-\0M \0\0\17o\b\9c\b\ 1\0#q 7waENSlY-\0M \0\0\17o\b¤\b\ 1\0#q vNK2F2Wo-\0M \0\0\17o\b¬\b\ 1\0#q mFGFDQgR-\0M \0\0\17o\b´\b\ 1\0#q HIUKMGMI-\0M \0\0\17o\b¼\b\ 1\0#q WE4Qp1LP-\0M \0\0\17o\bÄ\b\ 1\0#q YVOJ3ajX-\0M \0\0\17o\bÌ\b\ 1\0#q ij0R2SiU-\0M \0\0\17o\bÔ\b\ 1\0#q ikUutMpX-\0M \0\0\17o\bÜ\b\ 1\0#q scLDown5-\0M \0\0\17o\bä\b\ 1\0#q 3VRa5NdN-\0M \0\0\17o\bì\b\ 1\0#q Bc3ojNNa-\0M \0\0\17o\bô\b\ 1\0#q ETWjiHFD-\0M \0\0\17o\bü\b\ 1\0#q 0SSCCSSS-\0M \0\0\17o\b\ 4 \ 1\0#q CDKT2PSI-\0M \0\0\17o\b\f \ 1\0#q aiwTiy0m-\0M \0\0\17o\b\14 \ 1\0#q bTO6iKbZ-\0M \0\0\17o\b\1c \ 1\0#q NVIZ/GZu-\0M \0\0\17o\b$ \ 1\0#q WsmDvZ2j-\0M \0\0\17o\b, \ 1\0#q yAcoTPVE-\0M \0\0\17o\b4 \ 1\0#q i8HyYNj0-\0M \0\0\17o\b< \ 1\0#q fsH+BpVN-\0M \0\0\17o\bD \ 1\0#q 61a8JAiY-\0M \0\0\17o\bL \ 1\0#q SJvPsFnw-\0M \0\0\17o\bT \ 1\0#q gTI1HXbh-\0M \0\0\17o\b\ \ 1\0#q bNF1FnpC-\0M \0\0\17o\bd \ 1\0#q Teho7rSi-\0M \0\0\17o\bl \ 1\0#q 2EUjT83q-\0M \0\0\17o\bt \ 1\0#q /Cmc4nET-\0M \0\0\17o\b| \ 1\0#q mio0AIuw-\0M \0\0\17o\b\84 \ 1\0#q 3CbLSbKx-\0M \0\0\17o\b\8c \ 1\0#q plU6HxSn-\0M \0\0\17o\b\94 \ 1\0#q Z2X76jMx-\0M \0\0\17o\b\9c \ 1\0#q wG6zEfg/-\0M \0\0\17o\b¤ \ 1\0#q GT47sv4G-\0M \0\0\17o\b¬ \ 1\0#q vUeZiImj-\0M \0\0\17o\b´ \ 1\0#q SpzqWhp1-\0M \0\0\17o\b¼ \ 1\0#q koVUQmYg-\0M \0\0\17o\bÄ \ 1\0#q ZfQYMrIw-\0M \0\0\17o\bÌ \ 1\0#q zgqXzPCl-\0M \0\0\17o\bÔ \ 1\0#q mVSyPgXc-\0M \0\0\17o\bÜ \ 1\0#q khxZXzdV-\0M \0\0\17o\bä \ 1\0#q cKyu4Qi0-\0M \0\0\17o\bì \ 1\0#q aa7hpB4I-\0M \0\0\17o\bô \ 1\0#q Js6THDIT-\0M \0\0\17o\bü \ 1\0#q GdymCiiM-\0M \0\0\17o\b\ 4
+\ 1\0#q CFZjbbD1-\0M \0\0\17o\b\f
+\ 1\0#q Zs2RDWNr-\0M \0\0\17o\b\14
+\ 1\0#q UlQ/P8x6-\0M \0\0\17o\b\1c
+\ 1\0#q SH7v7Pz/-\0M \0\0\17o\b$
+\ 1\0#q 8fq/1tn9-\0M \0\0\17o\b,
+\ 1\0#q U3lWuTf1-\0M \0\0\17o\b4
+\ 1\0#q JnUUMBZ0-\0M \0\0\17o\b<
+\ 1\0#q zXwlfGtz-\0M \0\0\17o\bD
+\ 1\0#q jVdDGdNw-\0M \0\0\17o\bL
+\ 1\0#q /Wb/TcYv-\0M \0\0\17o\bT
+\ 1\0#q ZhOV0yvd-\0M \0\0\17o\b\
+\ 1\0#q dt9942XK-\0M \0\0\17o\bd
+\ 1\0#q 1inv3hKP-\0M \0\0\17o\bl
+\ 1\0#q Y1yG22ft-\0M \0\0\17o\bt
+\ 1\0#q VJYGIHec-\0M \0\0\17o\b|
+\ 1\0#q Ma1WHrVR-\0M \0\0\17o\b\84
+\ 1\0#q dWNFu82a-\0M \0\0\17o\b\8c
+\ 1\0#q cxAgPKsq-\0M \0\0\17o\b\94
+\ 1\0#q ap3SvCX1-\0M \0\0\17o\b\9c
+\ 1\0#q k9lfXPem-\0M \0\0\17o\b¤
+\ 1\0#q 9N6bX0ua-\0M \0\0\17o\b¬
+\ 1\0#q UbPfM+K4-\0M \0\0\17o\b´
+\ 1\0#q StqpjulM-\0M \0\0\17o\b¼
+\ 1\0#q kJsnYV74-\0M \0\0\17o\bÄ
+\ 1\0#q vTdMY1Ed-\0M \0\0\17o\bÌ
+\ 1\0#q oFSIZ4/h-\0M \0\0\17o\bÔ
+\ 1\0#q 6sOvXBRO-\0M \0\0\17o\bÜ
+\ 1\0#q O5iA46Yd-\0M \0\0\17o\bä
+\ 1\0#q g4cPQkTn-\0M \0\0\17o\bì
+\ 1\0#q MmYnMTmT-\0M \0\0\17o\bô
+\ 1\0#q OZL0JQOV-\0M \0\0\17o\bü
+\ 1\0#q aKsWLsGx-\0M \0\0\17o\b\ 4\v\ 1\0#q YqhdCCQM-\0M \0\0\17o\b\f\v\ 1\0#q UGxBBBEJ-\0M \0\0\17o\b\14\v\ 1\0#q 7+U3578j-\0M \0\0\17o\b\1c\v\ 1\0#q 0euaooSZ-\0M \0\0\17o\b$\v\ 1\0#q 6QPtSOwW-\0M \0\0\17o\b,\v\ 1\0#q KBXnFoZl-\0M \0\0\17o\b4\v\ 1\0#q ecqTfq1/-\0M \0\0\17o\b<\v\ 1\0#q RtQ4OIti-\0M \0\0\17o\bD\v\ 1\0#q MpbHqNXS-\0M \0\0\17o\bL\v\ 1\0#q LBpu9xQ9-\0M \0\0\17o\bT\v\ 1\0#q UiKIOt8l-\0M \0\0\17o\b\\v\ 1\0#q moPPrrV8-\0M \0\0\17o\bd\v\ 1\0#q 1xoI5KWx-\0M \0\0\17o\bl\v\ 1\0#q vXhM3vY8-\0M \0\0\17o\bt\v\ 1\0#q pR7qqK4Y-\0M \0\0\17o\b|\v\ 1\0#q LstYwxOV-\0M \0\0\17o\b\84\v\ 1\0#q Ystg0KRO-\0M \0\0\17o\b\8c\v\ 1\0#q i1fLX6rg-\0M \0\0\17o\b\94\v\ 1\0#q Trxlmqlb-\0M \0\0\17o\b\9c\v\ 1\0#q rkE9LEGe-\0M \0\0\17o\b¤\v\ 1\0#q Ied9k26r-\0M \0\0\17o\b¬\v\ 1\0#q GnWed6Nh-\0M \0\0\17o\b´\v\ 1\0#q 06p11O87-\0M \0\0\17o\b¼\v\ 1\0#q aBEwmLoD-\0M \0\0\17o\bÄ\v\ 1\0#q 3HcEEAkE-\0M \0\0\17o\bÌ\v\ 1\0#q GRBBBBBE-\0M \0\0\17o\bÔ\v\ 1\0#q kFZVQUUk-\0M \0\0\17o\bÜ\v\ 1\0#q THdrccRv-\0M \0\0\17o\bä\v\ 1\0#q m2/fthj1-\0M \0\0\17o\bì\v\ 1\0#q pS2KWAbK-\0M \0\0\17o\bô\v\ 1\0#q GFox0dOm-\0M \0\0\17o\bü\v\ 1\0#q XvOlr51n-\0M \0\0\17o\b\ 4\f\ 1\0#q WKGJum43-\0M \0\0\17o\b\f\f\ 1\0#q BBBIJBq/-\0M \0\0\17o\b\14\f\ 1\0#q KsYn0ipp-\0M \0\0\17o\b\1c\f\ 1\0#q p9W01W5Z-\0M \0\0\17o\b$\f\ 1\0#q RjbTSfDN-\0M \0\0\17o\b,\f\ 1\0#q kM7isVOp-\0M \0\0\17o\b4\f\ 1\0#q 5Wk82WrJ-\0M \0\0\17o\b<\f\ 1\0#q NLTsbRZZ-\0M \0\0\17o\bD\f\ 1\0#q zsMYDiQS-\0M \0\0\17o\bL\f\ 1\0#q QQGRB573-\0M \0\0\17o\bT\f\ 1\0#q Pe988yZm-\0M \0\0\17o\b\\f\ 1\0#q ZmaB0HgH-\0M \0\0\17o\bd\f\ 1\0#q cz7ZHJKF-\0M \0\0\17o\bl\f\ 1\0#q gkEgyIki-\0M \0\0\17o\bt\f\ 1\0#q SS9eHnk2-\0M \0\0\17o\b|\f\ 1\0#q SvPDryK1-\0M \0\0\17o\b\84\f\ 1\0#q aqqqmtW4-\0M \0\0\17o\b\8c\f\ 1\0#q PSycD/w8-\0M \0\0\17o\b\94\f\ 1\0#q sflE+v8v-\0M \0\0\17o\b\9c\f\ 1\0#q 83/dyIpl-\0M \0\0\17o\b¤\f\ 1\0#q qpb1llsz-\0M \0\0\17o\b¬\f\ 1\0#q Ka0Kl8tW-\0M \0\0\17o\b´\f\ 1\0#q XbMGzMy8-\0M \0\0\17o\b¼\f\ 1\0#q XWnF0X93-\0M \0\0\17o\bÄ\f\ 1\0#q 7o/wO4fq-\0M \0\0\17o\bÌ\f\ 1\0#q 0+r7tk9q-\0M \0\0\17o\bÔ\f\ 1\0#q e2FJ6z3C-\0M \0\0\17o\bÜ\f\ 1\0#q kozLYqzE-\0M \0\0\17o\bä\f\ 1\0#q KiqUFDKG-\0M \0\0\17o\bì\f\ 1\0#q P7kqsHaW-\0M \0\0\17o\bô\f\ 1\0#q q1aDYcCQ-\0M \0\0\17o\bü\f\ 1\0#q okp/eU+v-\0M \0\0\17o\b\ 4\r\ 1\0#q t7uZp4fD-\0M \0\0\17o\b\f\r\ 1\0#q vw29FcKU-\0M \0\0\17o\b\14\r\ 1\0#q SuratW2r-\0M \0\0\17o\b\1c\r\ 1\0#q X7I00/Uc-\0M \0\0\17o\b$\r\ 1\0#q nqCIfPyP-\0M \0\0\17o\b,\r\ 1\0#q 4ftqCVUy-\0M \0\0\17o\b4\r\ 1\0#q NaqZi2P7-\0M \0\0\17o\b<\r\ 1\0#q Lo2/nvtw-\0M \0\0\17o\bD\r\ 1\0#q 1Ntxu2Ov-\0M \0\0\17o\bL\r\ 1\0#q M1cLOMOj-\0M \0\0\17o\bT\r\ 1\0#q Tdl/Jw/j-\0M \0\0\17o\b\\r\ 1\0#q qwjhrHX7-\0M \0\0\17o\bd\r\ 1\0#q ljvTS0Ng-\0M \0\0\17o\bl\r\ 1\0#q 9YWklWli-\0M \0\0\17o\bt\r\ 1\0#q FUpZUiCj-\0M \0\0\17o\b|\r\ 1\0#q OKclNiKm-\0M \0\0\17o\b\84\r\ 1\0#q jWdFMjuo-\0M \0\0\17o\b\8c\r\ 1\0#q dSAo96Jm-\0M \0\0\17o\b\94\r\ 1\0#q slmGgyCe-\0M \0\0\17o\b\9c\r\ 1\0#q UmmjEtIT-\0M \0\0\17o\b¤\r\ 1\0#q qi4DqWXT-\0M \0\0\17o\b¬\r\ 1\0#q g4318osV-\0M \0\0\17o\b´\r\ 1\0#q uX2Vfa63-\0M \0\0\17o\b¼\r\ 1\0#q aYJNvvZp-\0M \0\0\17o\bÄ\r\ 1\0#q HIUVXXbr-\0M \0\0\17o\bÌ\r\ 1\0#q pPMYqxKr-\0M \0\0\17o\bÔ\r\ 1\0#q XRvoXCGu-\0M \0\0\17o\bÜ\r\ 1\0#q FnXhSb4S-\0M \0\0\17o\bä\r\ 1\0#q VZtAm6oj-\0M \0\0\17o\bì\r\ 1\0#q tvuIBkdO-\0M \0\0\17o\bô\r\ 1\0#q cqdgEZ6l-\0M \0\0\17o\bü\r\ 1\0#q cZZFN1kP-\0M \0\0\17o\b\ 4\ e\ 1\0#q KhJJhRBr-\0M \0\0\17o\b\f\ e\ 1\0#q WEQyIWkl-\0M \0\0\17o\b\14\ e\ 1\0#q 1hnFU3uy-\0M \0\0\17o\b\1c\ e\ 1\0#q s63k4eJJ-\0M \0\0\17o\b$\ e\ 1\0#q lSIMlKqo-\0M \0\0\17o\b,\ e\ 1\0#q ErDI6G4E-\0M \0\0\17o\b4\ e\ 1\0#q EUnpZfaO-\0M \0\0\17o\b<\ e\ 1\0#q rlixLp9D-\0M \0\0\17o\bD\ e\ 1\0#q vOUpB4Ta-\0M \0\0\17o\bL\ e\ 1\0#q n2/ZW/q+-\0M \0\0\17o\bT\ e\ 1\0#q fvPhH07t-\0M \0\0\17o\b\\ e\ 1\0#q 9H4MT16X-\0M \0\0\17o\bd\ e\ 1\0#q ESiARMKU-\0M \0\0\17o\bl\ e\ 1\0#q E/rVVU3K-\0M \0\0\17o\bt\ e\ 1\0#q NwDooJ7d-\0M \0\0\17o\b|\ e\ 1\0#q lAzgnD7E-\0M \0\0\17o\b\84\ e\ 1\0#q hScMIYxZ-\0M \0\0\17o\b\8c\ e\ 1\0#q /mOidHDe-\0M \0\0\17o\b\94\ e\ 1\0#q stpVUIAE-\0M \0\0\17o\b\9c\ e\ 1\0#q gC0t7/m9-\0M \0\0\17o\b¤\ e\ 1\0#q fLzzvPVb-\0M \0\0\17o\b¬\ e\ 1\0#q 1fK+s+Y+-\0M \0\0\17o\b´\ e\ 1\0#q f0Pon6xz-\0M \0\0\17o\b¼\ e\ 1\0#q J9vzOD8R-\0M \0\0\17o\bÄ\ e\ 1\0#q 9GeLf1T5-\0M \0\0\17o\bÌ\ e\ 1\0#q 3aq222kV-\0M \0\0\17o\bÔ\ e\ 1\0#q RIqwftW1-\0M \0\0\17o\bÜ\ e\ 1\0#q VyfHRO+8-\0M \0\0\17o\bä\ e\ 1\0#q 9MPe5zak-\0M \0\0\17o\bì\ e\ 1\0#q tbKQr49+-\0M \0\0\17o\bô\ e\ 1\0#q /jZmajwx-\0M \0\0\17o\bü\ e\ 1\0#q Nu3Zk7fV-\0M \0\0\17o\b\ 4\ f\ 1\0#q WkSWG+K2-\0M \0\0\17o\b\f\ f\ 1\0#q a1xZlKFO-\0M \0\0\17o\b\14\ f\ 1\0#q w5BlJpDT-\0M \0\0\17o\b\1c\ f\ 1\0#q gyzEORiG-\0M \0\0\17o\b$\ f\ 1\0#q Vhmzt4tc-\0M \0\0\17o\b,\ f\ 1\0#q tufPV1Ds-\0M \0\0\17o\b4\ f\ 1\0#q nIxdsV3S-\0M \0\0\17o\b<\ f\ 1\0#q bUdlXBrT-\0M \0\0\17o\bD\ f\ 1\0#q gwnt41HJ-\0M \0\0\17o\bL\ f\ 1\0#q 0263X9fa-\0M \0\0\17o\bT\ f\ 1\0#q Pss1y+iN-\0M \0\0\17o\b\\ f\ 1\0#q SMUfp/X6-\0M \0\0\17o\bd\ f\ 1\0#q ff7/6/TW-\0M \0\0\17o\bl\ f\ 1\0#q 98cccp1b-\0M \0\0\17o\bt\ f\ 1\0#q Yjhzq/3u-\0M \0\0\17o\b|\ f\ 1\0#q XPJj5bT8-\0M \0\0\17o\b\84\ f\ 1\0#q /7W+nhNo-\0M \0\0\17o\b\8c\ f\ 1\0#q /69v1+jG-\0M \0\0\17o\b\94\ f\ 1\0#q yfY/aaf9-\0M \0\0\17o\b\9c\ f\ 1\0#q UV6T6SQP-\0M \0\0\17o\b¤\ f\ 1\0#q l1Bq30rH-\0M \0\0\17o\b¬\ f\ 1\0#q 6H4yV69J-\0M \0\0\17o\b´\ f\ 1\0#q /bdqqKoS-\0M \0\0\17o\b¼\ f\ 1\0#q Hon4AEpm-\0M \0\0\17o\bÄ\ f\ 1\0#q UtPAez+t-\0M \0\0\17o\bÌ\ f\ 1\0#q 92Y5lOj2-\0M \0\0\17o\bÔ\ f\ 1\0#q CJ7CYdkZ-\0M \0\0\17o\bÜ\ f\ 1\0#q xf0D3R/X-\0M \0\0\17o\bä\ f\ 1\0#q fsuFMS/C-\0M \0\0\17o\bì\ f\ 1\0#q 43Nv5T9s-\0M \0\0\17o\bô\ f\ 1\0#q fMZV4L/G-\0M \0\0\17o\bü\ f\ 1\0#q 9pvd03/3-\0M \0\0\17o\b\ 4\10\ 1\0#q mq9yzlm2-\0M \0\0\17o\b\f\10\ 1\0#q xVJVkOV0-\0M \0\0\17o\b\14\10\ 1\0#q LvETLzsJ-\0M \0\0\17o\b\1c\10\ 1\0#q Rx4cqu6d-\0M \0\0\17o\b$\10\ 1\0#q XdXXuPQc-\0M \0\0\17o\b,\10\ 1\0#q CHb7ePRk-\0M \0\0\17o\b4\10\ 1\0#q 7He904sD-\0M \0\0\17o\b<\10\ 1\0#q cwdra7Nt-\0M \0\0\17o\bD\10\ 1\0#q 9q7VFY9l-\0M \0\0\17o\bL\10\ 1\0#q 7jUQJW14-\0M \0\0\17o\bT\10\ 1\0#q xnuJPn7/-\0M \0\0\17o\b\\10\ 1\0#q TMw/3fPn-\0M \0\0\17o\bd\10\ 1\0#q 4+Pj6o/C-\0M \0\0\17o\bl\10\ 1\0#q x3cXKtql-\0M \0\0\17o\bt\10\ 1\0#q rD9PRbmY-\0M \0\0\17o\b|\10\ 1\0#q Zme3mP9E-\0M \0\0\17o\b\84\10\ 1\0#q /y7G36I/-\0M \0\0\17o\b\8c\10\ 1\0#q LH+Z9Pht-\0M \0\0\17o\b\94\10\ 1\0#q 8Afun7v7-\0M \0\0\17o\b\9c\10\ 1\0#q tJGbXiae-\0M \0\0\17o\b¤\10\ 1\0#q U0eH+Gn5-\0M \0\0\17o\b¬\10\ 1\0#q fst6/K+N-\0M \0\0\17o\b´\10\ 1\0#q qmUrWijb-\0M \0\0\17o\b¼\10\ 1\0#q u3DZSH3h-\0M \0\0\17o\bÄ\10\ 1\0#q D6nZ+o9S-\0M \0\0\17o\bÌ\10\ 1\0#q qiIxVVjI-\0M \0\0\17o\bÔ\10\ 1\0#q Qnk5/AzM-\0M \0\0\17o\bÜ\10\ 1\0#q rhcclKH4-\0M \0\0\17o\bä\10\ 1\0#q STg5bfDD-\0M \0\0\17o\bì\10\ 1\0#q GO33aTpJ-\0M \0\0\17o\bô\10\ 1\0#q 0rlQeHwT-\0M \0\0\17o\bü\10\ 1\0#q E4GVRAlh-\0M \0\0\17o\b\ 4\11\ 1\0#q OxMpdgNv-\0M \0\0\17o\b\f\11\ 1\0#q 3ajAlCIV-\0M \0\0\17o\b\14\11\ 1\0#q M6Qe6uKg-\0M \0\0\17o\b\1c\11\ 1\0#q 9yOwUV9e-\0M \0\0\17o\b$\11\ 1\0#q Rvl2dAWQ-\0M \0\0\17o\b,\11\ 1\0#q Kng+meXZ-\0M \0\0\17o\b4\11\ 1\0#q oWhDqzCy-\0M \0\0\17o\b<\11\ 1\0#q CFDwHzql-\0M \0\0\17o\bD\11\ 1\0#q W653rPFy-\0M \0\0\17o\bL\11\ 1\0#q aXH00S9/-\0M \0\0\17o\bT\11\ 1\0#q SI7ZIaPa-\0M \0\0\17o\b\\11\ 1\0#q DOu/U2er-\0M \0\0\17o\bd\11\ 1\0#q r6Wt0/RG-\0M \0\0\17o\bl\11\ 1\0#q xFCJ/FfX-\0M \0\0\17o\bt\11\ 1\0#q ywJ+Z0Nu-\0M \0\0\17o\b|\11\ 1\0#q UscckrzN-\0M \0\0\17o\b\84\11\ 1\0#q 2LlS+4To-\0M \0\0\17o\b\8c\11\ 1\0#q ymv403aB-\0M \0\0\17o\b\94\11\ 1\0#q j+06Tl0T-\0M \0\0\17o\b\9c\11\ 1\0#q 6Xne5mhK-\0M \0\0\17o\b¤\11\ 1\0#q ZXrsbvOu-\0M \0\0\17o\b¬\11\ 1\0#q KiXR7e6H-\0M \0\0\17o\b´\11\ 1\0#q iOm9CknW-\0M \0\0\17o\b¼\11\ 1\0#q sik7Lmvs-\0M \0\0\17o\bÄ\11\ 1\0#q vrn08oTa-\0M \0\0\17o\bÌ\11\ 1\0#q aD3VS6R5-\0M \0\0\17o\bÔ\11\ 1\0#q uebW2cod-\0M \0\0\17o\bÜ\11\ 1\0#q GHht9KN5-\0M \0\0\17o\bä\11\ 1\0#q dWRYyrvS-\0M \0\0\17o\bì\11\ 1\0#q KCuOIvhy-\0M \0\0\17o\bô\11\ 1\0#q uzboi48y-\0M \0\0\17o\bü\11\ 1\0#q 0eX0b1ZE-\0M \0\0\17o\b\ 4\12\ 1\0#q k7XR2mzQ-\0M \0\0\17o\b\f\12\ 1\0#q lIxgob6y-\0M \0\0\17o\b\14\12\ 1\0#q p54pmGTl-\0M \0\0\17o\b\1c\12\ 1\0#q mwZ30l56-\0M \0\0\17o\b$\12\ 1\0#q vdry8vuv-\0M \0\0\17o\b,\12\ 1\0#q XD4hdHdk-\0M \0\0\17o\b4\12\ 1\0#q DKTAhgiU-\0M \0\0\17o\b<\12\ 1\0#q o5KUmzxN-\0M \0\0\17o\bD\12\ 1\0#q milIqOOR-\0M \0\0\17o\bL\12\ 1\0#q j4IT356J-\0M \0\0\17o\bT\12\ 1\0#q 9N4UeHHb-\0M \0\0\17o\b\\12\ 1\0#q OSSOyBPJ-\0M \0\0\17o\bd\12\ 1\0#q 7lSGRJEj-\0M \0\0\17o\bl\12\ 1\0#q G2PX7P+m-\0M \0\0\17o\bt\12\ 1\0#q xdE4E9kZ-\0M \0\0\17o\b|\12\ 1\0#q hSbrNHt+-\0M \0\0\17o\b\84\12\ 1\0#q LR6oxuXC-\0M \0\0\17o\b\8c\12\ 1\0#q xtS3UxPl-\0M \0\0\17o\b\94\12\ 1\0#q EzA5Xpdl-\0M \0\0\17o\b\9c\12\ 1\0#q qQj4iqsk-\0M \0\0\17o\b¤\12\ 1\0#q ZZ3pmdTp-\0M \0\0\17o\b¬\12\ 1\0#q I2hJsTma-\0M \0\0\17o\b´\12\ 1\0#q 3b8RF/Eo-\0M \0\0\17o\b¼\12\ 1\0#q YxU2m5oF-\0M \0\0\17o\bÄ\12\ 1\0#q B5TT0rss-\0M \0\0\17o\bÌ\12\ 1\0#q 2w8zlr3B-\0M \0\0\17o\bÔ\12\ 1\0#q w9jYwgtN-\0M \0\0\17o\bÜ\12\ 1\0#q tPCzmmpq-\0M \0\0\17o\bä\12\ 1\0#q JwmZzfse-\0M \0\0\17o\bì\12\ 1\0#q w9o+/u+N-\0M \0\0\17o\bô\12\ 1\0#q CiXjuaEv-\0M \0\0\17o\bü\12\ 1\0#q hdu9cDRP-\0M \0\0\17o\b\ 4\13\ 1\0#q zPZbreMo-\0M \0\0\17o\b\f\13\ 1\0#q pkxCrlWT-\0M \0\0\17o\b\14\13\ 1\0#q i29L4pZE-\0M \0\0\17o\b\1c\13\ 1\0#q MIlfLbK+-\0M \0\0\17o\b$\13\ 1\0#q xSL0Zqy7-\0M \0\0\17o\b,\13\ 1\0#q IjaLss0Z-\0M \0\0\17o\b4\13\ 1\0#q GYsGcMGr-\0M \0\0\17o\b<\13\ 1\0#q gagM+zil-\0M \0\0\17o\bD\13\ 1\0#q XFMbIldU-\0M \0\0\17o\bL\13\ 1\0#q QarxUPis-\0M \0\0\17o\bT\13\ 1\0#q yxhSqeew-\0M \0\0\17o\b\\13\ 1\0#q 68PlX96+-\0M \0\0\17o\bd\13\ 1\0#q Vn81ovst-\0M \0\0\17o\bl\13\ 1\0#q tNN7r2tO-\0M \0\0\17o\bt\13\ 1\0#q wJnj1OGZ-\0M \0\0\17o\b|\13\ 1\0#q 6GmypFEL-\0M \0\0\17o\b\84\13\ 1\0#q /OURjEXj-\0M \0\0\17o\b\8c\13\ 1\0#q xamLJXj4-\0M \0\0\17o\b\94\13\ 1\0#q pVTillpr-\0M \0\0\17o\b\9c\13\ 1\0#q Nqvk5OqC-\0M \0\0\17o\b¤\13\ 1\0#q Y8vVrvLm-\0M \0\0\17o\b¬\13\ 1\0#q 3qoKGDgx-\0M \0\0\17o\b´\13\ 1\0#q zLgEkqry-\0M \0\0\17o\b¼\13\ 1\0#q 6tOg257k-\0M \0\0\17o\bÄ\13\ 1\0#q mNzyTdlj-\0M \0\0\17o\bÌ\13\ 1\0#q Q8tAmWAy-\0M \0\0\17o\bÔ\13\ 1\0#q U3697une-\0M \0\0\17o\bÜ\13\ 1\0#q tmwupGyw-\0M \0\0\17o\bä\13\ 1\0#q UXVcTN9M-\0M \0\0\17o\bì\13\ 1\0#q qL1479u2-\0M \0\0\17o\bô\13\ 1\0#q I2tsRZbv-\0M \0\0\17o\bü\13\ 1\0#q yj68/LNR-\0M \0\0\17o\b\ 4\14\ 1\0#q M01plhvS-\0M \0\0\17o\b\f\14\ 1\0#q bN5Ncjrr-\0M \0\0\17o\b\14\14\ 1\0#q ccL8Htyj-\0M \0\0\17o\b\1c\14\ 1\0#q +BCrHefe-\0M \0\0\17o\b$\14\ 1\0#q 9PVPN5zr-\0M \0\0\17o\b,\14\ 1\0#q UH+1Pb6r-\0M \0\0\17o\b4\14\ 1\0#q Xdo22uWW-\0M \0\0\17o\b<\14\ 1\0#q d/EfwZZb-\0M \0\0\17o\bD\14\ 1\0#q Ur34gOaZ-\0M \0\0\17o\bL\14\ 1\0#q 1MdLqLC9-\0M \0\0\17o\bT\14\ 1\0#q RP7u6RSO-\0M \0\0\17o\b\\14\ 1\0#q 3a3RxXP8-\0M \0\0\17o\bd\14\ 1\0#q X0wBLkn9-\0M \0\0\17o\bl\14\ 1\0#q FRxLMv9C-\0M \0\0\17o\bt\14\ 1\0#q JEbYsiOp-\0M \0\0\17o\b|\14\ 1\0#q gpUSoa5G-\0M \0\0\17o\b\84\14\ 1\0#q SlIQU0ym-\0M \0\0\17o\b\8c\14\ 1\0#q 1JJSRLor-\0M \0\0\17o\b\94\14\ 1\0#q CY+OqjQV-\0M \0\0\17o\b\9c\14\ 1\0#q lihaqBci-\0M \0\0\17o\b¤\14\ 1\0#q ZcOS7lgm-\0M \0\0\17o\b¬\14\ 1\0#q ERMS0iZQ-\0M \0\0\17o\b´\14\ 1\0#q TN2xVFER-\0M \0\0\17o\b¼\14\ 1\0#q DdrxbKJt-\0M \0\0\17o\bÄ\14\ 1\0#q zCzbbXC5-\0M \0\0\17o\bÌ\14\ 1\0#q bTm3j1zM-\0M \0\0\17o\bÔ\14\ 1\0#q s1uqI3AH-\0M \0\0\17o\bÜ\14\ 1\0#q ShpYzQRb-\0M \0\0\17o\bä\14\ 1\0#q TYKYrZRI-\0M \0\0\17o\bì\14\ 1\0#q LVpDLWCC-\0M \0\0\17o\bô\14\ 1\0#q HKKFK04P-\0M \0\0\17o\bü\14\ 1\0#q z6l9+B8Q-\0M \0\0\17o\b\ 4\15\ 1\0#q wVBx3HZ3-\0M \0\0\17o\b\f\15\ 1\0#q pHj9L3wP-\0M \0\0\17o\b\14\15\ 1\0#q qk8LV2RT-\0M \0\0\17o\b\1c\15\ 1\0#q 9q1kZcel-\0M \0\0\17o\b$\15\ 1\0#q VkMztswv-\0M \0\0\17o\b,\15\ 1\0#q hMxRjp82-\0M \0\0\17o\b4\15\ 1\0#q 6SggOKFA-\0M \0\0\17o\b<\15\ 1\0#q SfzLUZH+-\0M \0\0\17o\bD\15\ 1\0#q Trbl452C-\0M \0\0\17o\bL\15\ 1\0#q rv71T9Wh-\0M \0\0\17o\bT\15\ 1\0#q t51YV3hX-\0M \0\0\17o\b\\15\ 1\0#q G4QPJdqV-\0M \0\0\17o\bd\15\ 1\0#q 3uZz13mw-\0M \0\0\17o\bl\15\ 1\0#q rzVZnjVL-\0M \0\0\17o\bt\15\ 1\0#q bVn+YVe6-\0M \0\0\17o\b|\15\ 1\0#q 2EzchMqt-\0M \0\0\17o\b\84\15\ 1\0#q zShLkKPE-\0M \0\0\17o\b\8c\15\ 1\0#q dMnTiMTv-\0M \0\0\17o\b\94\15\ 1\0#q OqRJbzVh-\0M \0\0\17o\b\9c\15\ 1\0#q xDI1dd1r-\0M \0\0\17o\b¤\15\ 1\0#q QhiTqmcL-\0M \0\0\17o\b¬\15\ 1\0#q OhwiEgTP-\0M \0\0\17o\b´\15\ 1\0#q FVyLB/BY-\0M \0\0\17o\b¼\15\ 1\0#q xVVJ0qTb-\0M \0\0\17o\bÄ\15\ 1\0#q e0X+E2NJ-\0M \0\0\17o\bÌ\15\ 1\0#q 5FQil9Im-\0M \0\0\17o\bÔ\15\ 1\0#q 2yK4hAhR-\0M \0\0\17o\bÜ\15\ 1\0#q OqTbaIFD-\0M \0\0\17o\bä\15\ 1\0#q 7Kzyqk3n-\0M \0\0\17o\bì\15\ 1\0#q y25Hm6dG-\0M \0\0\17o\bô\15\ 1\0#q XKvdrsl+-\0M \0\0\17o\bü\15\ 1\0#q j9LTNJyM-\0M \0\0\17o\b\ 4\16\ 1\0#q bczUREDG-\0M \0\0\17o\b\f\16\ 1\0#q XgVzlti/-\0M \0\0\17o\b\14\16\ 1\0#q gxxcK9lm-\0M \0\0\17o\b\1c\16\ 1\0#q rQmuXy00-\0M \0\0\17o\b$\16\ 1\0#q nPZ1ZnYM-\0M \0\0\17o\b,\16\ 1\0#q COztzV44-\0M \0\0\17o\b4\16\ 1\0#q ehTr4++n-\0M \0\0\17o\b<\16\ 1\0#q 1Tt21RvA-\0M \0\0\17o\bD\16\ 1\0#q 1/+natOd-\0M \0\0\17o\bL\16\ 1\0#q +etlwD45-\0M \0\0\17o\bT\16\ 1\0#q o3FOGbqi-\0M \0\0\17o\b\\16\ 1\0#q F43Vsp2V-\0M \0\0\17o\bd\16\ 1\0#q A9kWCP6E-\0M \0\0\17o\bl\16\ 1\0#q RX78Jds3-\0M \0\0\17o\bt\16\ 1\0#q aZdJHuSi-\0M \0\0\17o\b|\16\ 1\0#q VaYad/n7-\0M \0\0\17o\b\84\16\ 1\0#q 3gTnNOq8-\0M \0\0\17o\b\8c\16\ 1\0#q bUvQV1ck-\0M \0\0\17o\b\94\16\ 1\0#q 9/tFEv8o-\0M \0\0\17o\b\9c\16\ 1\0#q /X7P+1Zh-\0M \0\0\17o\b¤\16\ 1\0#q augDmvV+-\0M \0\0\17o\b¬\16\ 1\0#q 7UkaQ/vH-\0M \0\0\17o\b´\16\ 1\0#q B7fX5WVg-\0M \0\0\17o\b¼\16\ 1\0#q RokFFMNz-\0M \0\0\17o\bÄ\16\ 1\0#q V0S7rpL5-\0M \0\0\17o\bÌ\16\ 1\0#q fPt5Hpdv-\0M \0\0\17o\bÔ\16\ 1\0#q Xdsa8XNC-\0M \0\0\17o\bÜ\16\ 1\0#q J3dO64Rj-\0M \0\0\17o\bä\16\ 1\0#q AXp5PJc5-\0M \0\0\17o\bì\16\ 1\0#q siQE7p10-\0M \0\0\17o\bô\16\ 1\0#q k7q5MlxQ-\0M \0\0\17o\bü\16\ 1\0#q kHbwYYb3-\0M \0\0\17o\b\ 4\17\ 1\0#q 7js+uXMr-\0M \0\0\17o\b\f\17\ 1\0#q XQD53neb-\0M \0\0\17o\b\14\17\ 1\0#q kY+JEQ3K-\0M \0\0\17o\b\1c\17\ 1\0#q r6j5LcbH-\0M \0\0\17o\b$\17\ 1\0#q txRKez7r-\0M \0\0\17o\b,\17\ 1\0#q jvN74ZI/-\0M \0\0\17o\b4\17\ 1\0#q binYF32T-\0M \0\0\17o\b<\17\ 1\0#q atmu8Be6-\0M \0\0\17o\bD\17\ 1\0#q TXLsrqtU-\0M \0\0\17o\bL\17\ 1\0#q SyjpPtDk-\0M \0\0\17o\bT\17\ 1\0#q efbc/yap-\0M \0\0\17o\b\\17\ 1\0#q 8EMZR59e-\0M \0\0\17o\bd\17\ 1\0#q NbE1KJt1-\0M \0\0\17o\bl\17\ 1\0#q yzjkr8Ir-\0M \0\0\17o\bt\17\ 1\0#q Bj8d5+WZ-\0M \0\0\17o\b|\17\ 1\0#q HW1FCToy-\0M \0\0\17o\b\84\17\ 1\0#q AsXOUEXr-\0M \0\0\17o\b\8c\17\ 1\0#q Wtq1r5tZ-\0M \0\0\17o\b\94\17\ 1\0#q b+GoluBz-\0M \0\0\17o\b\9c\17\ 1\0#q 2+U8FT3v-\0M \0\0\17o\b¤\17\ 1\0#q a2RkKc6W-\0M \0\0\17o\b¬\17\ 1\0#q R3ZeNn4i-\0M \0\0\17o\b´\17\ 1\0#q q1okKrUT-\0M \0\0\17o\b¼\17\ 1\0#q hD2MqptN-\0M \0\0\17o\bÄ\17\ 1\0#q GqiTJ4M2-\0M \0\0\17o\bÌ\17\ 1\0#q f9u45+/n-\0M \0\0\17o\bÔ\17\ 1\0#q wFAQyTz4-\0M \0\0\17o\bÜ\17\ 1\0#q I8lDKWkd-\0M \0\0\17o\bä\17\ 1\0#q QxJJEruE-\0M \0\0\17o\bì\17\ 1\0#q VFU6mHlM-\0M \0\0\17o\bô\17\ 1\0#q h/SyVffy-\0M \0\0\17o\bü\17\ 1\0#q tduOEYY+-\0M \0\0\17o\b\ 4\18\ 1\0#q qcVewuWR-\0M \0\0\17o\b\f\18\ 1\0#q 7sCx2jKW-\0M \0\0\17o\b\14\18\ 1\0#q aQSEq05V-\0M \0\0\17o\b\1c\18\ 1\0#q h2otTsmL-\0M \0\0\17o\b$\18\ 1\0#q P8nxVuGA-\0M \0\0\17o\b,\18\ 1\0#q JlL6CQ0f-\0M \0\0\17o\b4\18\ 1\0#q XzP22Mn0-\0M \0\0\17o\b<\18\ 1\0#q O/dc+Rzx-\0M \0\0\17o\bD\18\ 1\0#q qdnXq/N3-\0M \0\0\17o\bL\18\ 1\0#q KIZUKGEw-\0M \0\0\17o\bT\18\ 1\0#q HCFgyKwJ-\0M \0\0\17o\b\\18\ 1\0#q cqXSyY9+-\0M \0\0\17o\bd\18\ 1\0#q KkWLMIVw-\0M \0\0\17o\bl\18\ 1\0#q WZW84+AK-\0M \0\0\17o\bt\18\ 1\0#q /Bz5wnaL-\0M \0\0\17o\b|\18\ 1\0#q I44LmU90-\0M \0\0\17o\b\84\18\ 1\0#q x/EkyBYo-\0M \0\0\17o\b\8c\18\ 1\0#q YS1EJA9j-\0M \0\0\17o\b\94\18\ 1\0#q WfE+/5tR-\0M \0\0\17o\b\9c\18\ 1\0#q UV1ipCoo-\0M \0\0\17o\b¤\18\ 1\0#q f2zsjgKQ-\0M \0\0\17o\b¬\18\ 1\0#q 8vpHUIwQ-\0M \0\0\17o\b´\18\ 1\0#q U4hNNSOW-\0M \0\0\17o\b¼\18\ 1\0#q 4tYulfaq-\0M \0\0\17o\bÄ\18\ 1\0#q fz6P4wYH-\0M \0\0\17o\bÌ\18\ 1\0#q GDM4DID3-\0M \0\0\17o\bÔ\18\ 1\0#q +NqN1ONU-\0M \0\0\17o\bÜ\18\ 1\0#q A/PfuPMR-\0M \0\0\17o\bä\18\ 1\0#q XS88tk7z-\0M \0\0\17o\bì\18\ 1\0#q Kq/wt5Rm-\0M \0\0\17o\bô\18\ 1\0#q aVy9WAxs-\0M \0\0\17o\bü\18\ 1\0#q jPw3pHVU-\0M \0\0\17o\b\ 4\19\ 1\0#q omq01Y27-\0M \0\0\17o\b\f\19\ 1\0#q q1V1m7Yd-\0M \0\0\17o\b\14\19\ 1\0#q 2KfWl+O5-\0M \0\0\17o\b\1c\19\ 1\0#q Zq7729d9-\0M \0\0\17o\b$\19\ 1\0#q zZ0l0p3f-\0M \0\0\17o\b,\19\ 1\0#q EcrJ5Ygf-\0M \0\0\17o\b4\19\ 1\0#q bvWje7O3-\0M \0\0\17o\b<\19\ 1\0#q f3xZrowI-\0M \0\0\17o\bD\19\ 1\0#q WRkq4O+T-\0M \0\0\17o\bL\19\ 1\0#q FRyxJpiW-\0M \0\0\17o\bT\19\ 1\0#q o4lFPH3W-\0M \0\0\17o\b\\19\ 1\0#q rGdl4cvr-\0M \0\0\17o\bd\19\ 1\0#q RgQWOs7e-\0M \0\0\17o\bl\19\ 1\0#q +Rm7Fg5S-\0M \0\0\17o\bt\19\ 1\0#q GPs7K8wI-\0M \0\0\17o\b|\19\ 1\0#q I3++tGhU-\0M \0\0\17o\b\84\19\ 1\0#q MYuglST7-\0M \0\0\17o\b\8c\19\ 1\0#q 5Ktdoynt-\0M \0\0\17o\b\94\19\ 1\0#q NOHVVlYk-\0M \0\0\17o\b\9c\19\ 1\0#q vFyJtG6k-\0M \0\0\17o\b¤\19\ 1\0#q 2rcPNYnR-\0M \0\0\17o\b¬\19\ 1\0#q azDvM0jt-\0M \0\0\17o\b´\19\ 1\0#q v9e0GxHt-\0M \0\0\17o\b¼\19\ 1\0#q Pw9lbsVH-\0M \0\0\17o\bÄ\19\ 1\0#q o999iMnW-\0M \0\0\17o\bÌ\19\ 1\0#q ySQyREBB-\0M \0\0\17o\bÔ\19\ 1\0#q JkSLp6Bs-\0M \0\0\17o\bÜ\19\ 1\0#q nvG/p9fa-\0M \0\0\17o\bä\19\ 1\0#q VUKlPzdQ-\0M \0\0\17o\bì\19\ 1\0#q /ZVIRVFq-\0M \0\0\17o\bô\19\ 1\0#q LwVZA3bC-\0M \0\0\17o\bü\19\ 1\0#q zzChJo/V-\0M \0\0\17o\b\ 4\1a\ 1\0#q G3vBX5SF-\0M \0\0\17o\b\f\1a\ 1\0#q rWK1RZmz-\0M \0\0\17o\b\14\1a\ 1\0#q bONI5WDQ-\0M \0\0\17o\b\1c\1a\ 1\0#q JSoSvFrW-\0M \0\0\17o\b$\1a\ 1\0#q QPYWLVWp-\0M \0\0\17o\b,\1a\ 1\0#q k4wJi851-\0M \0\0\17o\b4\1a\ 1\0#q alamk1f8-\0M \0\0\17o\b<\1a\ 1\0#q QZvBepyq-\0M \0\0\17o\bD\1a\ 1\0#q UITCUW1M-\0M \0\0\17o\bL\1a\ 1\0#q PO3E+bYp-\0M \0\0\17o\bT\1a\ 1\0#q bGJWorqr-\0M \0\0\17o\b\\1a\ 1\0#q G+spHFPy-\0M \0\0\17o\bd\1a\ 1\0#q 6ovW+piP-\0M \0\0\17o\bl\1a\ 1\0#q xPDpvMK9-\0M \0\0\17o\bt\1a\ 1\0#q cLBMXT02-\0M \0\0\17o\b|\1a\ 1\0#q D897907t-\0M \0\0\17o\b\84\1a\ 1\0#q O7q6Tqpw-\0M \0\0\17o\b\8c\1a\ 1\0#q mu19VLVj-\0M \0\0\17o\b\94\1a\ 1\0#q 5w68m9aL-\0M \0\0\17o\b\9c\1a\ 1\0#q xrh5pRd6-\0M \0\0\17o\b¤\1a\ 1\0#q 0Z1Y7OPl-\0M \0\0\17o\b¬\1a\ 1\0#q nWyT67h8-\0M \0\0\17o\b´\1a\ 1\0#q VWsGO4nU-\0M \0\0\17o\b¼\1a\ 1\0#q UKiC8Pu5-\0M \0\0\17o\bÄ\1a\ 1\0#q yxhCT898-\0M \0\0\17o\bÌ\1a\ 1\0#q xuvPfY+f-\0M \0\0\17o\bÔ\1a\ 1\0#q hoRK5T5q-\0M \0\0\17o\bÜ\1a\ 1\0#q vf5+ore9-\0M \0\0\17o\bä\1a\ 1\0#q q8fDLTyk-\0M \0\0\17o\bì\1a\ 1\0#q 2u/mia2v-\0M \0\0\17o\bô\1a\ 1\0#q XGhbTXwj-\0M \0\0\17o\bü\1a\ 1\0#q pwro94vO-\0M \0\0\17o\b\ 4\e\ 1\0#q KUYpdrNK-\0M \0\0\17o\b\f\e\ 1\0#q /ilIKJN5-\0M \0\0\17o\b\14\e\ 1\0#q 9XedxQPP-\0M \0\0\17o\b\1c\e\ 1\0#q GvYqUmlT-\0M \0\0\17o\b$\e\ 1\0#q pq88kgne-\0M \0\0\17o\b,\e\ 1\0#q W7DHmiG2-\0M \0\0\17o\b4\e\ 1\0#q 3HMo7Zsh-\0M \0\0\17o\b<\e\ 1\0#q 04+H7xMd-\0M \0\0\17o\bD\e\ 1\0#q o7xOJJtY-\0M \0\0\17o\bL\e\ 1\0#q eizcYZdt-\0M \0\0\17o\bT\e\ 1\0#q 7XbKVK6O-\0M \0\0\17o\b\\e\ 1\0#q L4vQLe/M-\0M \0\0\17o\bd\e\ 1\0#q +3jq86Sg-\0M \0\0\17o\bl\e\ 1\0#q U5889oFK-\0M \0\0\17o\bt\e\ 1\0#q fPVuxF3w-\0M \0\0\17o\b|\e\ 1\0#q lFrkIun9-\0M \0\0\17o\b\84\e\ 1\0#q efjz79d+-\0M \0\0\17o\b\8c\e\ 1\0#q wYeN/C+u-\0M \0\0\17o\b\94\e\ 1\0#q 3m1rd0jF-\0M \0\0\17o\b\9c\e\ 1\0#q Gq9X89Km-\0M \0\0\17o\b¤\e\ 1\0#q LLXN2C5P-\0M \0\0\17o\b¬\e\ 1\0#q o/veZd64-\0M \0\0\17o\b´\e\ 1\0#q ndf3MKIx-\0M \0\0\17o\b¼\e\ 1\0#q sceKwWTe-\0M \0\0\17o\bÄ\e\ 1\0#q L7MD3i1L-\0M \0\0\17o\bÌ\e\ 1\0#q FVj6xz2p-\0M \0\0\17o\bÔ\e\ 1\0#q zr8QKCFN-\0M \0\0\17o\bÜ\e\ 1\0#q CFKpIp+x-\0M \0\0\17o\bä\e\ 1\0#q TH6JnyBs-\0M \0\0\17o\bì\e\ 1\0#q NsPitQlo-\0M \0\0\17o\bô\e\ 1\0#q Ygqd1l5g-\0M \0\0\17o\bü\e\ 1\0#q 4jhq6cPD-\0M \0\0\17o\b\ 4\1c\ 1\0#q UvHlmwrI-\0M \0\0\17o\b\f\1c\ 1\0#q oOhRQkOJ-\0M \0\0\17o\b\14\1c\ 1\0#q cJfIaDs0-\0M \0\0\17o\b\1c\1c\ 1\0#q KhNWaJJh-\0M \0\0\17o\b$\1c\ 1\0#q i4g5WXdY-\0M \0\0\17o\b,\1c\ 1\0#q cDKbkpiy-\0M \0\0\17o\b4\1c\ 1\0#q 7o20IRRp-\0M \0\0\17o\b<\1c\ 1\0#q RFyOFooQ-\0M \0\0\17o\bD\1c\ 1\0#q 42GI3+Su-\0M \0\0\17o\bL\1c\ 1\0#q oMuUwozR-\0M \0\0\17o\bT\1c\ 1\0#q 5RSK47Uc-\0M \0\0\17o\b\\1c\ 1\0#q IoQsIwhh-\0M \0\0\17o\bd\1c\ 1\0#q RiAXHRoV-\0M \0\0\17o\bl\1c\ 1\0#q M/c+S9/l-\0M \0\0\17o\bt\1c\ 1\0#q 9R47JC+j-\0M \0\0\17o\b|\1c\ 1\0#q +m/Feaff-\0M \0\0\17o\b\84\1c\ 1\0#q 6jz8TUQc-\0M \0\0\17o\b\8c\1c\ 1\0#q fBu36cbf-\0M \0\0\17o\b\94\1c\ 1\0#q XyrsgqiU-\0M \0\0\17o\b\9c\1c\ 1\0#q IyVfLNwC-\0M \0\0\17o\b¤\1c\ 1\0#q KvgnlBRw-\0M \0\0\17o\b¬\1c\ 1\0#q KKm+brfb-\0M \0\0\17o\b´\1c\ 1\0#q FcOClV8L-\0M \0\0\17o\b¼\1c\ 1\0#q fTPJElZD-\0M \0\0\17o\bÄ\1c\ 1\0#q w+Yw7n3R-\0M \0\0\17o\bÌ\1c\ 1\0#q /39I96pW-\0M \0\0\17o\bÔ\1c\ 1\0#q acn74akm-\0M \0\0\17o\bÜ\1c\ 1\0#q CfZk9N7H-\0M \0\0\17o\bä\1c\ 1\0#q nbmfnm+G-\0M \0\0\17o\bì\1c\ 1\0#q 9N9IIVf2-\0M \0\0\17o\bô\1c\ 1\0#q 33Vjv2K+-\0M \0\0\17o\bü\1c\ 1\0#q dmOqXTgm-\0M \0\0\17o\b\ 4\1d\ 1\0#q /cpSxjx5-\0M \0\0\17o\b\f\1d\ 1\0#q NoTM+aO9-\0M \0\0\17o\b\14\1d\ 1\0#q xtTisCE1-\0M \0\0\17o\b\1c\1d\ 1\0#q pRXSdT2d-\0M \0\0\17o\b$\1d\ 1\0#q oOxqKdUb-\0M \0\0\17o\b,\1d\ 1\0#q 7MQGth/h-\0M \0\0\17o\b4\1d\ 1\0#q kgx+xCAl-\0M \0\0\17o\b<\1d\ 1\0#q vCV3TRG0-\0M \0\0\17o\bD\1d\ 1\0#q Ce6IyQW7-\0M \0\0\17o\bL\1d\ 1\0#q O5ROkRaO-\0M \0\0\17o\bT\1d\ 1\0#q iwj2YN2c-\0M \0\0\17o\b\\1d\ 1\0#q oi/fFuiz-\0M \0\0\17o\bd\1d\ 1\0#q w675bLOf-\0M \0\0\17o\bl\1d\ 1\0#q JnWg2VO7-\0M \0\0\17o\bt\1d\ 1\0#q rRIEXexn-\0M \0\0\17o\b|\1d\ 1\0#q FH3XUPPf-\0M \0\0\17o\b\84\1d\ 1\0#q xRcRGzXs-\0M \0\0\17o\b\8c\1d\ 1\0#q xpAtbS7e-\0M \0\0\17o\b\94\1d\ 1\0#q u63smcY2-\0M \0\0\17o\b\9c\1d\ 1\0#q W+6RTU1p-\0M \0\0\17o\b¤\1d\ 1\0#q svDNdHE5-\0M \0\0\17o\b¬\1d\ 1\0#q 1pxd+N1F-\0M \0\0\17o\b´\1d\ 1\0#q lWJbYbvu-\0M \0\0\17o\b¼\1d\ 1\0#q 4qRoHx0s-\0M \0\0\17o\bÄ\1d\ 1\0#q 6pEIRV8N-\0M \0\0\17o\bÌ\1d\ 1\0#q xbCsclUV-\0M \0\0\17o\bÔ\1d\ 1\0#q Re1t0Tr9-\0M \0\0\17o\bÜ\1d\ 1\0#q /qt689+z-\0M \0\0\17o\bä\1d\ 1\0#q MRbOMBXq-\0M \0\0\17o\bì\1d\ 1\0#q vBVD8KyF-\0M \0\0\17o\bô\1d\ 1\0#q EO9HimPz-\0M \0\0\17o\bü\1d\ 1\0#q qLzwaL5e-\0M \0\0\17o\b\ 4\1e\ 1\0#q +3ZBPN5Y-\0M \0\0\17o\b\f\1e\ 1\0#q 7c/Kfp4k-\0M \0\0\17o\b\14\1e\ 1\0#q QCKdTjmO-\0M \0\0\17o\b\1c\1e\ 1\0#q a/v154+n-\0M \0\0\17o\b$\1e\ 1\0#q 3TBe7/D3-\0M \0\0\17o\b,\1e\ 1\0#q +v6r+/vo-\0M \0\0\17o\b4\1e\ 1\0#q inkqWoit-\0M \0\0\17o\b<\1e\ 1\0#q VotACCo6-\0M \0\0\17o\bD\1e\ 1\0#q 64ufF4Po-\0M \0\0\17o\bL\1e\ 1\0#q 3J6cfruz-\0M \0\0\17o\bT\1e\ 1\0#q 8fcQTLL1-\0M \0\0\17o\b\\1e\ 1\0#q 3Kd1yNXL-\0M \0\0\17o\bd\1e\ 1\0#q le7zzhNi-\0M \0\0\17o\bl\1e\ 1\0#q NjuuwY3d-\0M \0\0\17o\bt\1e\ 1\0#q vT6en4e/-\0M \0\0\17o\b|\1e\ 1\0#q 3/ffT7fX-\0M \0\0\17o\b\84\1e\ 1\0#q 3eKmQXX0-\0M \0\0\17o\b\8c\1e\ 1\0#q /wDQj59+-\0M \0\0\17o\b\94\1e\ 1\0#q yNfHDLb2-\0M \0\0\17o\b\9c\1e\ 1\0#q ngE11HTs-\0M \0\0\17o\b¤\1e\ 1\0#q 1D00z1Rm-\0M \0\0\17o\b¬\1e\ 1\0#q nx+dfhwb-\0M \0\0\17o\b´\1e\ 1\0#q hbzuLp0q-\0M \0\0\17o\b¼\1e\ 1\0#q d0QHMBsp-\0M \0\0\17o\bÄ\1e\ 1\0#q KuzzC3ON-\0M \0\0\17o\bÌ\1e\ 1\0#q dfyL9+3r-\0M \0\0\17o\bÔ\1e\ 1\0#q QfBoYPjz-\0M \0\0\17o\bÜ\1e\ 1\0#q 4zsDVN+W-\0M \0\0\17o\bä\1e\ 1\0#q G7vLnXx9-\0M \0\0\17o\bì\1e\ 1\0#q Tr2sSvtE-\0M \0\0\17o\bô\1e\ 1\0#q 8MUa1li7-\0M \0\0\17o\bü\1e\ 1\0#q Bpqrgl9m-\0M \0\0\17o\b\ 4\1f\ 1\0#q bKWWkUrS-\0M \0\0\17o\b\f\1f\ 1\0#q xt51NbR1-\0M \0\0\17o\b\14\1f\ 1\0#q yPPlQlNb-\0M \0\0\17o\b\1c\1f\ 1\0#q X2vpMO6O-\0M \0\0\17o\b$\1f\ 1\0#q ipAZVCnO-\0M \0\0\17o\b,\1f\ 1\0#q zMdCcdMd-\0M \0\0\17o\b4\1f\ 1\0#q 8ANNA3fU-\0M \0\0\17o\b<\1f\ 1\0#q 9nxFkfot-\0M \0\0\17o\bD\1f\ 1\0#q Xt+qp9oP-\0M \0\0\17o\bL\1f\ 1\0#q k+AQUQa8-\0M \0\0\17o\bT\1f\ 1\0#q iUvJUoSV-\0M \0\0\17o\b\\1f\ 1\0#q IGwuzKjM-\0M \0\0\17o\bd\1f\ 1\0#q pmM+3+Z0-\0M \0\0\17o\bl\1f\ 1\0#q JJ9oAjV2-\0M \0\0\17o\bt\1f\ 1\0#q 34RfrNBx-\0M \0\0\17o\b|\1f\ 1\0#q tZMos3vC-\0M \0\0\17o\b\84\1f\ 1\0#q krhlcmZX-\0M \0\0\17o\b\8c\1f\ 1\0#q JZqK1aqY-\0M \0\0\17o\b\94\1f\ 1\0#q Ug1pqK4f-\0M \0\0\17o\b\9c\1f\ 1\0#q wfD1WX0e-\0M \0\0\17o\b¤\1f\ 1\0#q SASEKQ/x-\0M \0\0\17o\b¬\1f\ 1\0#q P5j5X1rQ-\0M \0\0\17o\b´\1f\ 1\0#q Tbnv3OI8-\0M \0\0\17o\b¼\1f\ 1\0#q ip3bm/Id-\0M \0\0\17o\bÄ\1f\ 1\0#q SENUwIVV-\0M \0\0\17o\bÌ\1f\ 1\0#q CBlkpUln-\0M \0\0\17o\bÔ\1f\ 1\0#q Z2REw9p9-\0M \0\0\17o\bÜ\1f\ 1\0#q /blysnsi-\0M \0\0\17o\bä\1f\ 1\0#q Ozjy+3xK-\0M \0\0\17o\bì\1f\ 1\0#q hFfg6Y9V-\0M \0\0\17o\bô\1f\ 1\0#q KDt267q3-\0M \0\0\17o\bü\1f\ 1\0#q dT8u8J9N-\0M \0\0\17o\b\ 4 \ 1\0#q hYJotAkH-\0M \0\0\17o\b\f \ 1\0#q UBPU1WdV-\0M \0\0\17o\b\14 \ 1\0#q V2dPq97X-\0M \0\0\17o\b\1c \ 1\0#q 2saP9b/I-\0M \0\0\17o\b$ \ 1\0#q 78+d+hJa-\0M \0\0\17o\b, \ 1\0#q 9dsO8Dq7-\0M \0\0\17o\b4 \ 1\0#q uuiXBGuV-\0M \0\0\17o\b< \ 1\0#q PDdiDl5s-\0M \0\0\17o\bD \ 1\0#q gMgCCkTR-\0M \0\0\17o\bL \ 1\0#q ucudbu90-\0M \0\0\17o\bT \ 1\0#q qcSryhxz-\0M \0\0\17o\b\ \ 1\0#q aniH091s-\0M \0\0\17o\bd \ 1\0#q PgD3KHqW-\0M \0\0\17o\bl \ 1\0#q gJEDwpMC-\0M \0\0\17o\bt \ 1\0#q gIuFF5DD-\0M \0\0\17o\b| \ 1\0#q tnI77sGM-\0M \0\0\17o\b\84 \ 1\0#q f+eGrB8U-\0M \0\0\17o\b\8c \ 1\0#q CUkTW1qL-\0M \0\0\17o\b\94 \ 1\0#q EWR7RSws-\0M \0\0\17o\b\9c \ 1\0#q tGmUIlsN-\0M \0\0\17o\b¤ \ 1\0#q wAQgEqgy-\0M \0\0\17o\b¬ \ 1\0#q kQQLO1kn-\0M \0\0\17o\b´ \ 1\0#q r6u1ttq2-\0M \0\0\17o\b¼ \ 1\0#q 1Hb6I+XS-\0M \0\0\17o\bÄ \ 1\0#q d9/RPL0/-\0M \0\0\17o\bÌ \ 1\0#q pE9I8J/g-\0M \0\0\17o\bÔ \ 1\0#q r8OkY248-\0M \0\0\17o\bÜ \ 1\0#q frxb8ffH-\0M \0\0\17o\bä \ 1\0#q G2a4zitL-\0M \0\0\17o\bì \ 1\0#q xY9lPyn2-\0M \0\0\17o\bô \ 1\0#q k/bD85+5-\0M \0\0\17o\bü \ 1\0#q 9xlp+/Kf-\0M \0\0\17o\b\ 4!\ 1\0#q S6jzTDGV-\0M \0\0\17o\b\f!\ 1\0#q KlCSXUKD-\0M \0\0\17o\b\14!\ 1\0#q uGBA2Gxz-\0M \0\0\17o\b\1c!\ 1\0#q jS7K6hA7-\0M \0\0\17o\b$!\ 1\0#q uoAgSlLY-\0M \0\0\17o\b,!\ 1\0#q S2qL/6jh-\0M \0\0\17o\b4!\ 1\0#q Pn+y2y2u-\0M \0\0\17o\b<!\ 1\0#q 3o2Tt0/s-\0M \0\0\17o\bD!\ 1\0#q 8v7+lrl/-\0M \0\0\17o\bL!\ 1\0#q tPT9O/Fv-\0M \0\0\17o\bT!\ 1\0#q bfdk0V+H-\0M \0\0\17o\b\!\ 1\0#q toX6P4/h-\0M \0\0\17o\bd!\ 1\0#q 5fh/Zzr6-\0M \0\0\17o\bl!\ 1\0#q 5P+z5dyH-\0M \0\0\17o\bt!\ 1\0#q 9HPb4K1f-\0M \0\0\17o\b|!\ 1\0#q uqT5PuQM-\0M \0\0\17o\b\84!\ 1\0#q hcP2210T-\0M \0\0\17o\b\8c!\ 1\0#q TD6Tx8In-\0M \0\0\17o\b\94!\ 1\0#q pqHwj333-\0M \0\0\17o\b\9c!\ 1\0#q mVmPK+Lf-\0M \0\0\17o\b¤!\ 1\0#q w/Zy/VOH-\0M \0\0\17o\b¬!\ 1\0#q TmPh/Y4e-\0M \0\0\17o\b´!\ 1\0#q 230Y6cun-\0M \0\0\17o\b¼!\ 1\0#q Lw2flSdv-\0M \0\0\17o\bÄ!\ 1\0#q b90NP4n7-\0M \0\0\17o\bÌ!\ 1\0#q P7x+yfRP-\0M \0\0\17o\bÔ!\ 1\0#q 3enyjwH7-\0M \0\0\17o\bÜ!\ 1\0#q P7Pb7p+s-\0M \0\0\17o\bä!\ 1\0#q +0w6WTLF-\0M \0\0\17o\bì!\ 1\0#q VJtJ7fRw-\0M \0\0\17o\bô!\ 1\0#q +3jh93hw-\0M \0\0\17o\bü!\ 1\0#q 0r/PVq20-\0M \0\0\17o\b\ 4"\ 1\0#q NKhwUT+m-\0M \0\0\17o\b\f"\ 1\0#q nppNp/lX-\0M \0\0\17o\b\14"\ 1\0#q TSUy24lK-\0M \0\0\17o\b\1c"\ 1\0#q /p9p+x+7-\0M \0\0\17o\b$"\ 1\0#q bhT5Y/39-\0M \0\0\17o\b,"\ 1\0#q es1H9J9h-\0M \0\0\17o\b4"\ 1\0#q /LTt/Ha6-\0M \0\0\17o\b<"\ 1\0#q djhODEY0-\0M \0\0\17o\bD"\ 1\0#q qtFflRyn-\0M \0\0\17o\bL"\ 1\0#q 0FY5fsE/-\0M \0\0\17o\bT"\ 1\0#q Dp0+HL/L-\0M \0\0\17o\b\"\ 1\0#q b9lnh6Yc-\0M \0\0\17o\bd"\ 1\0#q P0Ym32Y/-\0M \0\0\17o\bl"\ 1\0#q Rwp+H3k/-\0M \0\0\17o\bt"\ 1\0#q Kf3z7vTy-\0M \0\0\17o\b|"\ 1\0#q 8I+K+yj2-\0M \0\0\17o\b\84"\ 1\0#q 2wqny+Ps-\0M \0\0\17o\b\8c"\ 1\0#q dv3/tbwj-\0M \0\0\17o\b\94"\ 1\0#q 0m1dOmO2-\0M \0\0\17o\b\9c"\ 1\0#q g8Kfo4em-\0M \0\0\17o\b¤"\ 1\0#q jSqXi3tw-\0M \0\0\17o\b¬"\ 1\0#q +KtNzhy7-\0M \0\0\17o\b´"\ 1\0#q Y8PwY/U/-\0M \0\0\17o\b¼"\ 1\0#q sn9o/l8P-\0M \0\0\17o\bÄ"\ 1\0#q SD+utZcW-\0M \0\0\17o\bÌ"\ 1\0#q 37Ph7krk-\0M \0\0\17o\bÔ"\ 1\0#q Pur4qw0f-\0M \0\0\17o\bÜ"\ 1\0#q u31nGszW-\0M \0\0\17o\bä"\ 1\0#q 2itKPy7n-\0M \0\0\17o\bì"\ 1\0#q 5Y+v8W+v-\0M \0\0\17o\bô"\ 1\0#q zZf2Onp4-\0M \0\0\17o\bü"\ 1\0#q K8qjB+bb-\0M \0\0\17o\b\ 4#\ 1\0#q 8v8tOH1H-\0M \0\0\17o\b\f#\ 1\0#q B8o/l+O9-\0M \0\0\17o\b\14#\ 1\0#q +G0tG1pa-\0M \0\0\17o\b\1c#\ 1\0#q 21taN/eU-\0M \0\0\17o\b$#\ 1\0#q 7knnyMCj-\0M \0\0\17o\b,#\ 1\0#q BUlf4T4N-\0M \0\0\17o\b4#\ 1\0#q vg4a8W9D-\0M \0\0\17o\b<#\ 1\0#q pG34af0d-\0M \0\0\17o\bD#\ 1\0#q OXz/L8Bt-\0M \0\0\17o\bL#\ 1\0#q /Lo8d/GX-\0M \0\0\17o\bT#\ 1\0#q Ph9HDFcP-\0M \0\0\17o\b\#\ 1\0#q hj+ngr92-\0M \0\0\17o\bd#\ 1\0#q if2dHMPk-\0M \0\0\17o\bl#\ 1\0#q +xw0x+Xp-\0M \0\0\17o\bt#\ 1\0#q tPtbdPTb-\0M \0\0\17o\b|#\ 1\0#q XxbFcOvG-\0M \0\0\17o\b\84#\ 1\0#q ltuZktu3-\0M \0\0\17o\b\8c#\ 1\0#q B29JpHD9-\0M \0\0\17o\b\94#\ 1\0#q /l+75T24-\0M \0\0\17o\b\9c#\ 1\0#q fcjp/93t-\0M \0\0\17o\b¤#\ 1\0#q G58fLFy/-\0M \0\0\17o\b¬#\ 1\0#q Nc1mOE2P-\0M \0\0\17o\b´#\ 1\0#q Tw+O7a/K-\0M \0\0\17o\b¼#\ 1\0#q sP1dPKz1-\0M \0\0\17o\bÄ#\ 1\0#q Ielp65m3-\0M \0\0\17o\bÌ#\ 1\0#q Lly5mZmO-\0M \0\0\17o\bÔ#\ 1\0#q W2qiqrJO-\0M \0\0\17o\bÜ#\ 1\0#q g0SUOpO/-\0M \0\0\17o\bä#\ 1\0#q Ym4AUdn9-\0M \0\0\17o\bì#\ 1\0#q 1ovgujOz-\0M \0\0\17o\bô#\ 1\0#q 4FB0MBZW-\0M \0\0\17o\bü#\ 1\0#q JO4mPoNt-\0M \0\0\17o\b\ 4$\ 1\0#q b+7266rf-\0M \0\0\17o\b\f$\ 1\0#q z9zM1txq-\0M \0\0\17o\b\14$\ 1\0#q ittGlEv4-\0M \0\0\17o\b\1c$\ 1\0#q /jbbCTio-\0M \0\0\17o\b$$\ 1\0#q BO/q3CKi-\0M \0\0\17o\b,$\ 1\0#q 49u7fnvT-\0M \0\0\17o\b4$\ 1\0#q o05uxVVX-\0M \0\0\17o\b<$\ 1\0#q 8Y0CiogU-\0M \0\0\17o\bD$\ 1\0#q Nx5JLet3-\0M \0\0\17o\bL$\ 1\0#q YPFu7NOE-\0M \0\0\17o\bT$\ 1\0#q C+62c7Aw-\0M \0\0\17o\b\$\ 1\0#q sFCz2reu-\0M \0\0\17o\bd$\ 1\0#q sG9vMFWa-\0M \0\0\17o\bl$\ 1\0#q x1VlAwU1-\0M \0\0\17o\bt$\ 1\0#q dUyIEhit-\0M \0\0\17o\b|$\ 1\0#q 6aC7Du7M-\0M \0\0\17o\b\84$\ 1\0#q 7VdNstC1-\0M \0\0\17o\b\8c$\ 1\0#q lXlm7XRk-\0M \0\0\17o\b\94$\ 1\0#q SLM0jajT-\0M \0\0\17o\b\9c$\ 1\0#q ZqNBA9IW-\0M \0\0\17o\b¤$\ 1\0#q 4mqEa7U3-\0M \0\0\17o\b¬$\ 1\0#q XwsODHDZ-\0M \0\0\17o\b´$\ 1\0#q VYjuyTqy-\0M \0\0\17o\b¼$\ 1\0#q pLVdoZbq-\0M \0\0\17o\bÄ$\ 1\0#q cyjdlRjo-\0M \0\0\17o\bÌ$\ 1\0#q dkyjWpGB-\0M \0\0\17o\bÔ$\ 1\0#q mkajVWlJ-\0M \0\0\17o\bÜ$\ 1\0#q 1DzMPPfJ-\0M \0\0\17o\bä$\ 1\0#q IIJJJJPA-\0M \0\0\17o\bì$\ 1\0#q QDIGiiFD-\0M \0\0\17o\bô$\ 1\0#q I221bW79-\0M \0\0\17o\bü$\ 1\0#q r+Dx4685-\0M \0\0\17o\b\ 4%\ 1\0#q zOUWtrbb-\0M \0\0\17o\b\f%\ 1\0#q fyOzogfC-\0M \0\0\17o\b\14%\ 1\0#q vL38Olr2-\0M \0\0\17o\b\1c%\ 1\0#q TVKbaW0v-\0M \0\0\17o\b$%\ 1\0#q vu6QF5fn-\0M \0\0\17o\b,%\ 1\0#q nbMxw4f2-\0M \0\0\17o\b4%\ 1\0#q Y/dynRyq-\0M \0\0\17o\b<%\ 1\0#q ptyw2Smn-\0M \0\0\17o\bD%\ 1\0#q j++v21rW-\0M \0\0\17o\bL%\ 1\0#q uHL/Sh6a-\0M \0\0\17o\bT%\ 1\0#q fEfd+rg7-\0M \0\0\17o\b\%\ 1\0#q tq21/aO3-\0M \0\0\17o\bd%\ 1\0#q 8mnw4SfD-\0M \0\0\17o\bl%\ 1\0#q yY9KYm/9-\0M \0\0\17o\bt%\ 1\0#q rcSPu/X7-\0M \0\0\17o\b|%\ 1\0#q Jy8DtpVN-\0M \0\0\17o\b\84%\ 1\0#q p/s39X6P-\0M \0\0\17o\b\8c%\ 1\0#q xVjyn28M-\0M \0\0\17o\b\94%\ 1\0#q f2culqrI-\0M \0\0\17o\b\9c%\ 1\0#q D0/Z9WNK-\0M \0\0\17o\b¤%\ 1\0#q 9+LbXseX-\0M \0\0\17o\b¬%\ 1\0#q B+yp9Iez-\0M \0\0\17o\b´%\ 1\0#q Tttsnsw0-\0M \0\0\17o\b¼%\ 1\0#q m2J9HPXr-\0M \0\0\17o\bÄ%\ 1\0#q TWa1mZcr-\0M \0\0\17o\bÌ%\ 1\0#q Y5Fj9fX8-\0M \0\0\17o\bÔ%\ 1\0#q f16/rtx/-\0M \0\0\17o\bÜ%\ 1\0#q W/7ccT29-\0M \0\0\17o\bä%\ 1\0#q K9P8fS2f-\0M \0\0\17o\bì%\ 1\0#q Rp+r4Cer-\0M \0\0\17o\bô%\ 1\0#q ERJEebBr-\0M \0\0\17o\bü%\ 1\0#q /HVX8Y2y-\0M \0\0\17o\b\ 4&\ 1\0#q v6ZK4N87-\0M \0\0\17o\b\f&\ 1\0#q Oc3/UFSf-\0M \0\0\17o\b\14&\ 1\0#q 54kQJDPt-\0M \0\0\17o\b\1c&\ 1\0#q 4hEQISiN-\0M \0\0\17o\b$&\ 1\0#q sJ19vv6d-\0M \0\0\17o\b,&\ 1\0#q 5ePOXnLn-\0M \0\0\17o\b4&\ 1\0#q KlVRMqnK-\0M \0\0\17o\b<&\ 1\0#q JRN8HOc4-\0M \0\0\17o\bD&\ 1\0#q eHnBzoIH-\0M \0\0\17o\bL&\ 1\0#q MpAZ5mOq-\0M \0\0\17o\bT&\ 1\0#q 2Kzf1XTz-\0M \0\0\17o\b\&\ 1\0#q nObSPHfY-\0M \0\0\17o\bd&\ 1\0#q LFdt2e53-\0M \0\0\17o\bl&\ 1\0#q f+MGA8zE-\0M \0\0\17o\bt&\ 1\0#q D54z4hfE-\0M \0\0\17o\b|&\ 1\0#q g7rRJfbX-\0M \0\0\17o\b\84&\ 1\0#q keq33bpR-\0M \0\0\17o\b\8c&\ 1\0#q ebgJAwUv-\0M \0\0\17o\b\94&\ 1\0#q LQPVZKKF-\0M \0\0\17o\b\9c&\ 1\0#q SSDRYI4w-\0M \0\0\17o\b¤&\ 1\0#q wgQCBcqq-\0M \0\0\17o\b¬&\ 1\0#q Hmqrcrro-\0M \0\0\17o\b´&\ 1\0#q /+ISKcn/-\0M \0\0\17o\b¼&\ 1\0#q 1pVyxUc+-\0M \0\0\17o\bÄ&\ 1\0#q 791ve+Gi-\0M \0\0\17o\bÌ&\ 1\0#q 7f91U5/U-\0M \0\0\17o\bÔ&\ 1\0#q tURLrEFw-\0M \0\0\17o\bÜ&\ 1\0#q xif/K7mL-\0M \0\0\17o\bä&\ 1\0#q JLLBmTJk-\0M \0\0\17o\bì&\ 1\0#q lllMbAuM-\0M \0\0\17o\bô&\ 1\0#q lEryqfWi-\0M \0\0\17o\bü&\ 1\0#q tYksSyFR-\0M \0\0\17o\b\ 4'\ 1\0#q 0c9WGSW2-\0M \0\0\17o\b\f'\ 1\0#q NMjKZLbG-\0M \0\0\17o\b\14'\ 1\0#q mSTzVb7J-\0M \0\0\17o\b\1c'\ 1\0#q bba9lttv-\0M \0\0\17o\b$'\ 1\0#q nPje29yk-\0M \0\0\17o\b,'\ 1\0#q ZaxopllR-\0M \0\0\17o\b4'\ 1\0#q LYrTpUlc-\0M \0\0\17o\b<'\ 1\0#q 4iY8qqyI-\0M \0\0\17o\bD'\ 1\0#q 5d705MZv-\0M \0\0\17o\bL'\ 1\0#q u1ZllGst-\0M \0\0\17o\bT'\ 1\0#q GZYT7z6Z-\0M \0\0\17o\b\'\ 1\0#q 6plQwqdu-\0M \0\0\17o\bd'\ 1\0#q umGQywMc-\0M \0\0\17o\bl'\ 1\0#q HwrK86pa-\0M \0\0\17o\bt'\ 1\0#q v3RTHhW1-\0M \0\0\17o\b|'\ 1\0#q 8XfjLFYy-\0M \0\0\17o\b\84'\ 1\0#q Wbjorjna-\0M \0\0\17o\b\8c'\ 1\0#q TttpVOBU-\0M \0\0\17o\b\94'\ 1\0#q pg27Ou7M-\0M \0\0\17o\b\9c'\ 1\0#q rMMyszLd-\0M \0\0\17o\b¤'\ 1\0#q HBzymitU-\0M \0\0\17o\b¬'\ 1\0#q J4Tz0dVM-\0M \0\0\17o\b´'\ 1\0#q piyXRJDb-\0M \0\0\17o\b¼'\ 1\0#q skep0BN7-\0M \0\0\17o\bÄ'\ 1\0#q JGO8mdHV-\0M \0\0\17o\bÌ'\ 1\0#q Pd1TStUz-\0M \0\0\17o\bÔ'\ 1\0#q fsg4eXuW-\0M \0\0\17o\bÜ'\ 1\0#q E9PVt2ju-\0M \0\0\17o\bä'\ 1\0#q EFWDZr24-\0M \0\0\17o\bì'\ 1\0#q eiXW5DE7-\0M \0\0\17o\bô'\ 1\0#q KjZzEOuN-\0M \0\0\17o\bü'\ 1\0#q ZG7I2ocW-\0M \0\0\17o\b\ 4(\ 1\0#q RlLYLVvF-\0M \0\0\17o\b\f(\ 1\0#q GIucZOLI-\0M \0\0\17o\b\14(\ 1\0#q bpOKjLLU-\0M \0\0\17o\b\1c(\ 1\0#q tRat4sjI-\0M \0\0\17o\b$(\ 1\0#q GnHJoJtX-\0M \0\0\17o\b,(\ 1\0#q 59aGaxoZ-\0M \0\0\17o\b4(\ 1\0#q tSn3kjr/-\0M \0\0\17o\b<(\ 1\0#q BfvvEueq-\0M \0\0\17o\bD(\ 1\0#q YoavHjKx-\0M \0\0\17o\bL(\ 1\0#q lfTkQc9P-\0M \0\0\17o\bT(\ 1\0#q wqlPyjh+-\0M \0\0\17o\b\(\ 1\0#q 1Tjaztea-\0M \0\0\17o\bd(\ 1\0#q 0tZo/XVF-\0M \0\0\17o\bl(\ 1\0#q D512U2ED-\0M \0\0\17o\bt(\ 1\0#q j9tVTpSL-\0M \0\0\17o\b|(\ 1\0#q eu7zGstZ-\0M \0\0\17o\b\84(\ 1\0#q acdMaS3H-\0M \0\0\17o\b\8c(\ 1\0#q LvcS+9fH-\0M \0\0\17o\b\94(\ 1\0#q UcNsArlV-\0M \0\0\17o\b\9c(\ 1\0#q O3L8To+Y-\0M \0\0\17o\b¤(\ 1\0#q ZW3QdvX4-\0M \0\0\17o\b¬(\ 1\0#q 6+4Zlyqn-\0M \0\0\17o\b´(\ 1\0#q Ds2vzrkq-\0M \0\0\17o\b¼(\ 1\0#q cOL7lnnr-\0M \0\0\17o\bÄ(\ 1\0#q nu8/OY54-\0M \0\0\17o\bÌ(\ 1\0#q O1Vp+VBo-\0M \0\0\17o\bÔ(\ 1\0#q MO5sxa7O-\0M \0\0\17o\bÜ(\ 1\0#q DUmwnEJv-\0M \0\0\17o\bä(\ 1\0#q qyTdRq22-\0M \0\0\17o\bì(\ 1\0#q yZN7KutP-\0M \0\0\17o\bô(\ 1\0#q TVelXigr-\0M \0\0\17o\bü(\ 1\0#q JvTW7bYe-\0M \0\0\17o\b\ 4)\ 1\0#q EeJUxwNk-\0M \0\0\17o\b\f)\ 1\0#q NlWq21Ic-\0M \0\0\17o\b\14)\ 1\0#q SHn3w6MT-\0M \0\0\17o\b\1c)\ 1\0#q x68cHTac-\0M \0\0\17o\b$)\ 1\0#q UEfeN4zP-\0M \0\0\17o\b,)\ 1\0#q FzT3uFY7-\0M \0\0\17o\b4)\ 1\0#q X3XTNafe-\0M \0\0\17o\b<)\ 1\0#q 0tNeKqbV-\0M \0\0\17o\bD)\ 1\0#q U8s+c5mt-\0M \0\0\17o\bL)\ 1\0#q 7E7erU+H-\0M \0\0\17o\bT)\ 1\0#q Tx2Su+Om-\0M \0\0\17o\b\)\ 1\0#q vhpwPmcI-\0M \0\0\17o\bd)\ 1\0#q eHwW7qx2-\0M \0\0\17o\bl)\ 1\0#q 9oNMLvh0-\0M \0\0\17o\bt)\ 1\0#q fHz44pNO-\0M \0\0\17o\b|)\ 1\0#q DegO6ZME-\0M \0\0\17o\b\84)\ 1\0#q IgYczrCT-\0M \0\0\17o\b\8c)\ 1\0#q WdKk8MDF-\0M \0\0\17o\b\94)\ 1\0#q GSiuOOdB-\0M \0\0\17o\b\9c)\ 1\0#q zS1zZzVo-\0M \0\0\17o\b¤)\ 1\0#q qio5kOTt-\0M \0\0\17o\b¬)\ 1\0#q bKzi7aNM-\0M \0\0\17o\b´)\ 1\0#q ZgoHKdbV-\0M \0\0\17o\b¼)\ 1\0#q 9Dlq7N0h-\0M \0\0\17o\bÄ)\ 1\0#q 523x9+6i-\0M \0\0\17o\bÌ)\ 1\0#q 49cdHhy5-\0M \0\0\17o\bÔ)\ 1\0#q L3Kdee8u-\0M \0\0\17o\bÜ)\ 1\0#q Trlo5JI8-\0M \0\0\17o\bä)\ 1\0#q MkRs0xx3-\0M \0\0\17o\bì)\ 1\0#q Jy2Vtbxb-\0M \0\0\17o\bô)\ 1\0#q ho8Fzs+R-\0M \0\0\17o\bü)\ 1\0#q Yy555fVj-\0M \0\0\17o\b\ 4*\ 1\0#q xRvjk17q-\0M \0\0\17o\b\f*\ 1\0#q u+TeMhUN-\0M \0\0\17o\b\14*\ 1\0#q SCJxOGSa-\0M \0\0\17o\b\1c*\ 1\0#q XOJIampR-\0M \0\0\17o\b$*\ 1\0#q OLhmaO2z-\0M \0\0\17o\b,*\ 1\0#q c6CyY2kb-\0M \0\0\17o\b4*\ 1\0#q d7PgiY9M-\0M \0\0\17o\b<*\ 1\0#q kmm76s3T-\0M \0\0\17o\bD*\ 1\0#q x7yp8fnf-\0M \0\0\17o\bL*\ 1\0#q E1+NlrW6-\0M \0\0\17o\bT*\ 1\0#q nhoz1fPX-\0M \0\0\17o\b\*\ 1\0#q b3ymeTtu-\0M \0\0\17o\bd*\ 1\0#q RGa89uIg-\0M \0\0\17o\bl*\ 1\0#q ybYSRnch-\0M \0\0\17o\bt*\ 1\0#q 0uU2n5K6-\0M \0\0\17o\b|*\ 1\0#q nymfCrxs-\0M \0\0\17o\b\84*\ 1\0#q nUc7yc9N-\0M \0\0\17o\b\8c*\ 1\0#q gY+UCpqe-\0M \0\0\17o\b\94*\ 1\0#q Mhw3YTjN-\0M \0\0\17o\b\9c*\ 1\0#q ExOOB6Op-\0M \0\0\17o\b¤*\ 1\0#q wmBt07D2-\0M \0\0\17o\b¬*\ 1\0#q 7E2yOkgo-\0M \0\0\17o\b´*\ 1\0#q 92SedsjG-\0M \0\0\17o\b¼*\ 1\0#q Fb5T4cKH-\0M \0\0\17o\bÄ*\ 1\0#q WuV2M8cF-\0M \0\0\17o\bÌ*\ 1\0#q 8zMy4Fsu-\0M \0\0\17o\bÔ*\ 1\0#q JXHLaRId-\0M \0\0\17o\bÜ*\ 1\0#q imuHBprX-\0M \0\0\17o\bä*\ 1\0#q H3TZTtjD-\0M \0\0\17o\bì*\ 1\0#q i8eLZ0dK-\0M \0\0\17o\bô*\ 1\0#q Hf427eFd-\0M \0\0\17o\bü*\ 1\0#q KGF72Hen-\0M \0\0\17o\b\ 4+\ 1\0#q vID6MMOn-\0M \0\0\17o\b\f+\ 1\0#q bCLWNsgp-\0M \0\0\17o\b\14+\ 1\0#q UEoZZG/v-\0M \0\0\17o\b\1c+\ 1\0#q yoPxPnHd-\0M \0\0\17o\b$+\ 1\0#q +D3Y+H3r-\0M \0\0\17o\b,+\ 1\0#q pjqclZUi-\0M \0\0\17o\b4+\ 1\0#q sODjFbL6-\0M \0\0\17o\b<+\ 1\0#q 9xIOG+Qc-\0M \0\0\17o\bD+\ 1\0#q lTpogxxw-\0M \0\0\17o\bL+\ 1\0#q qNO9m2ni-\0M \0\0\17o\bT+\ 1\0#q +V9vD2uz-\0M \0\0\17o\b\+\ 1\0#q 1tpoxtt5-\0M \0\0\17o\bd+\ 1\0#q t1PjrlVP-\0M \0\0\17o\bl+\ 1\0#q hy7WwKnZ-\0M \0\0\17o\bt+\ 1\0#q HuC3ruTK-\0M \0\0\17o\b|+\ 1\0#q RLY2yUlq-\0M \0\0\17o\b\84+\ 1\0#q GlKqWkiW-\0M \0\0\17o\b\8c+\ 1\0#q y9iHnhPZ-\0M \0\0\17o\b\94+\ 1\0#q O0rN94N2-\0M \0\0\17o\b\9c+\ 1\0#q brW8hut0-\0M \0\0\17o\b¤+\ 1\0#q yR51BrPK-\0M \0\0\17o\b¬+\ 1\0#q Xs7JGxb5-\0M \0\0\17o\b´+\ 1\0#q AnRiZTl2-\0M \0\0\17o\b¼+\ 1\0#q Xq1hpiXy-\0M \0\0\17o\bÄ+\ 1\0#q 8iczq1p0-\0M \0\0\17o\bÌ+\ 1\0#q 4OUvW9g8-\0M \0\0\17o\bÔ+\ 1\0#q WPrtcenx-\0M \0\0\17o\bÜ+\ 1\0#q bXL58ic8-\0M \0\0\17o\bä+\ 1\0#q LgbnL1I0-\0M \0\0\17o\bì+\ 1\0#q m4MeNSM4-\0M \0\0\17o\bô+\ 1\0#q zVJrWW9u-\0M \0\0\17o\bü+\ 1\0#q I3DW3tqH-\0M \0\0\17o\b\ 4,\ 1\0#q zluUwxR9-\0M \0\0\17o\b\f,\ 1\0#q +s0Vc0hp-\0M \0\0\17o\b\14,\ 1\0#q weORY4VO-\0M \0\0\17o\b\1c,\ 1\0#q tNXbALUC-\0M \0\0\17o\b$,\ 1\0#q yXLqNFcC-\0M \0\0\17o\b,,\ 1\0#q R7xxw8jT-\0M \0\0\17o\b4,\ 1\0#q kStO873D-\0M \0\0\17o\b<,\ 1\0#q PfY017vH-\0M \0\0\17o\bD,\ 1\0#q fEhE5xAu-\0M \0\0\17o\bL,\ 1\0#q lh+U9Pt+-\0M \0\0\17o\bT,\ 1\0#q W9++O/u0-\0M \0\0\17o\b\,\ 1\0#q 5zeb4c7p-\0M \0\0\17o\bd,\ 1\0#q zjRaWurt-\0M \0\0\17o\bl,\ 1\0#q lU91y/Pj-\0M \0\0\17o\bt,\ 1\0#q 38bnSo+8-\0M \0\0\17o\b|,\ 1\0#q PfvF8I5S-\0M \0\0\17o\b\84,\ 1\0#q NJ62aL20-\0M \0\0\17o\b\8c,\ 1\0#q QZtJUXrr-\0M \0\0\17o\b\94,\ 1\0#q TO3rYPXw-\0M \0\0\17o\b\9c,\ 1\0#q +NeuFWme-\0M \0\0\17o\b¤,\ 1\0#q vi1C41Gt-\0M \0\0\17o\b¬,\ 1\0#q 1m2DMqHm-\0M \0\0\17o\b´,\ 1\0#q ySGsXd4X-\0M \0\0\17o\b¼,\ 1\0#q EMFkBpCU-\0M \0\0\17o\bÄ,\ 1\0#q lZSTWAUm-\0M \0\0\17o\bÌ,\ 1\0#q a5gWmZLE-\0M \0\0\17o\bÔ,\ 1\0#q QcLCwtjR-\0M \0\0\17o\bÜ,\ 1\0#q 0rZplkWr-\0M \0\0\17o\bä,\ 1\0#q ZuMqsNpW-\0M \0\0\17o\bì,\ 1\0#q rMyvBJ5/-\0M \0\0\17o\bô,\ 1\0#q Gff5lT3F-\0M \0\0\17o\bü,\ 1\0#q TnKql0x9-\0M \0\0\17o\b\ 4-\ 1\0#q H4PU/DTX-\0M \0\0\17o\b\f-\ 1\0#q OxAXime7-\0M \0\0\17o\b\14-\ 1\0#q qULq7Dqo-\0M \0\0\17o\b\1c-\ 1\0#q aFW7tVaV-\0M \0\0\17o\b$-\ 1\0#q WymOAghD-\0M \0\0\17o\b,-\ 1\0#q dEltpIww-\0M \0\0\17o\b4-\ 1\0#q yIooHivf-\0M \0\0\17o\b<-\ 1\0#q PjSHoqKy-\0M \0\0\17o\bD-\ 1\0#q 0NCBIRpB-\0M \0\0\17o\bL-\ 1\0#q IGQK8fXh-\0M \0\0\17o\bT-\ 1\0#q PBpMTMhc-\0M \0\0\17o\b\-\ 1\0#q 4OCJWMux-\0M \0\0\17o\bd-\ 1\0#q lIYammJ2-\0M \0\0\17o\bl-\ 1\0#q sgEEXEs8-\0M \0\0\17o\bt-\ 1\0#q oDopthFp-\0M \0\0\17o\b|-\ 1\0#q LOUlVTJV-\0M \0\0\17o\b\84-\ 1\0#q AqKGFoiu-\0M \0\0\17o\b\8c-\ 1\0#q fFmCKtsq-\0M \0\0\17o\b\94-\ 1\0#q 1oM33uOW-\0M \0\0\17o\b\9c-\ 1\0#q 59vV16cD-\0M \0\0\17o\b¤-\ 1\0#q Svt7p7+u-\0M \0\0\17o\b¬-\ 1\0#q 80IySXnV-\0M \0\0\17o\b´-\ 1\0#q y5lF3Mz5-\0M \0\0\17o\b¼-\ 1\0#q ZLDu9ZrD-\0M \0\0\17o\bÄ-\ 1\0#q zoUPrekc-\0M \0\0\17o\bÌ-\ 1\0#q 9Ie3XnPl-\0M \0\0\17o\bÔ-\ 1\0#q ekWLviZo-\0M \0\0\17o\bÜ-\ 1\0#q 7sWzm9WT-\0M \0\0\17o\bä-\ 1\0#q 4r4vmvd4-\0M \0\0\17o\bì-\ 1\0#q +Mn1zI9e-\0M \0\0\17o\bô-\ 1\0#q advv8/FY-\0M \0\0\17o\bü-\ 1\0#q v0fllb9O-\0M \0\0\17o\b\ 4.\ 1\0#q dHfmF98c-\0M \0\0\17o\b\f.\ 1\0#q xiihhSVR-\0M \0\0\17o\b\14.\ 1\0#q BRSemqq3-\0M \0\0\17o\b\1c.\ 1\0#q 2pgz4bzM-\0M \0\0\17o\b$.\ 1\0#q D6OjNYam-\0M \0\0\17o\b,.\ 1\0#q HHHp0WsL-\0M \0\0\17o\b4.\ 1\0#q bYyKxZ3m-\0M \0\0\17o\b<.\ 1\0#q LD52kY91-\0M \0\0\17o\bD.\ 1\0#q zW6fPB9d-\0M \0\0\17o\bL.\ 1\0#q GObcd2fP-\0M \0\0\17o\bT.\ 1\0#q PjX0d4du-\0M \0\0\17o\b\.\ 1\0#q 7bA4tvfm-\0M \0\0\17o\bd.\ 1\0#q Szb6t9No-\0M \0\0\17o\bl.\ 1\0#q uC2GU+LH-\0M \0\0\17o\bt.\ 1\0#q HGJNXK4s-\0M \0\0\17o\b|.\ 1\0#q 3xiY6Mfb-\0M \0\0\17o\b\84.\ 1\0#q xT4Z83cZ-\0M \0\0\17o\b\8c.\ 1\0#q UuZDLGk0-\0M \0\0\17o\b\94.\ 1\0#q mY/Z/iHr-\0M \0\0\17o\b\9c.\ 1\0#q RxSY3S1S-\0M \0\0\17o\b¤.\ 1\0#q G9mvzS+b-\0M \0\0\17o\b¬.\ 1\0#q vxc44Th6-\0M \0\0\17o\b´.\ 1\0#q JqNHLLC4-\0M \0\0\17o\b¼.\ 1\0#q ZR+p+Nfp-\0M \0\0\17o\bÄ.\ 1\0#q U+sMTeHg-\0M \0\0\17o\bÌ.\ 1\0#q a67ZI7LO-\0M \0\0\17o\bÔ.\ 1\0#q 0gsjRa27-\0M \0\0\17o\bÜ.\ 1\0#q 8NqHpyOH-\0M \0\0\17o\bä.\ 1\0#q +PRsdMcq-\0M \0\0\17o\bì.\ 1\0#q F5x65vjp-\0M \0\0\17o\bô.\ 1\0#q 0KeJjqR4-\0M \0\0\17o\bü.\ 1\0#q dknzo+Zs-\0M \0\0\17o\b\ 4/\ 1\0#q le+oZmSN-\0M \0\0\17o\b\f/\ 1\0#q f8ttztuT-\0M \0\0\17o\b\14/\ 1\0#q Wnh+4V2f-\0M \0\0\17o\b\1c/\ 1\0#q pXP02u7t-\0M \0\0\17o\b$/\ 1\0#q tibExiUs-\0M \0\0\17o\b,/\ 1\0#q NhbdfPzh-\0M \0\0\17o\b4/\ 1\0#q 1+rQ09U+-\0M \0\0\17o\b</\ 1\0#q enFtXS5q-\0M \0\0\17o\bD/\ 1\0#q QkjjxMd8-\0M \0\0\17o\bL/\ 1\0#q MkkY56cY-\0M \0\0\17o\bT/\ 1\0#q wqZcb6vi-\0M \0\0\17o\b\/\ 1\0#q 222vU9cy-\0M \0\0\17o\bd/\ 1\0#q YersXMh7-\0M \0\0\17o\bl/\ 1\0#q cOOI2Y7V-\0M \0\0\17o\bt/\ 1\0#q iz6BNspa-\0M \0\0\17o\b|/\ 1\0#q c/J9fjp3-\0M \0\0\17o\b\84/\ 1\0#q RQw/gqpU-\0M \0\0\17o\b\8c/\ 1\0#q 1kIPpx1m-\0M \0\0\17o\b\94/\ 1\0#q bn6DEJI5-\0M \0\0\17o\b\9c/\ 1\0#q wLjKElOj-\0M \0\0\17o\b¤/\ 1\0#q 3z3XAvFr-\0M \0\0\17o\b¬/\ 1\0#q +HD+fSn8-\0M \0\0\17o\b´/\ 1\0#q rhs166dJ-\0M \0\0\17o\b¼/\ 1\0#q p1CBw82P-\0M \0\0\17o\bÄ/\ 1\0#q eVw26dIv-\0M \0\0\17o\bÌ/\ 1\0#q 7MUi/KQb-\0M \0\0\17o\bÔ/\ 1\0#q LXXHt4nP-\0M \0\0\17o\bÜ/\ 1\0#q h0fSOYs3-\0M \0\0\17o\bä/\ 1\0#q 5zI1WtZG-\0M \0\0\17o\bì/\ 1\0#q rbfqaOvl-\0M \0\0\17o\bô/\ 1\0#q Np6Vywni-\0M \0\0\17o\bü/\ 1\0#q tCl7G/Rj-\0M \0\0\17o\b\ 40\ 1\0#q ngwTGOXw-\0M \0\0\17o\b\f0\ 1\0#q v3ThnnFF-\0M \0\0\17o\b\140\ 1\0#q Db8PHJ2l-\0M \0\0\17o\b\1c0\ 1\0#q L1vMzxiX-\0M \0\0\17o\b$0\ 1\0#q S7Hci9P1-\0M \0\0\17o\b,0\ 1\0#q 69PULTtp-\0M \0\0\17o\b40\ 1\0#q 8MorSZB2-\0M \0\0\17o\b<0\ 1\0#q 5VNA4Pw6-\0M \0\0\17o\bD0\ 1\0#q X609+3Vz-\0M \0\0\17o\bL0\ 1\0#q WTVcyRy2-\0M \0\0\17o\bT0\ 1\0#q dbt8H177-\0M \0\0\17o\b\0\ 1\0#q mEWSRvh8-\0M \0\0\17o\bd0\ 1\0#q M+vSerjn-\0M \0\0\17o\bl0\ 1\0#q x/SZfuZ0-\0M \0\0\17o\bt0\ 1\0#q beIXSUuz-\0M \0\0\17o\b|0\ 1\0#q na/Om+cz-\0M \0\0\17o\b\840\ 1\0#q LbbbVfTz-\0M \0\0\17o\b\8c0\ 1\0#q 54naAdd+-\0M \0\0\17o\b\940\ 1\0#q pE26qa+j-\0M \0\0\17o\b\9c0\ 1\0#q h4iOkG3g-\0M \0\0\17o\b¤0\ 1\0#q +U1Fmjxm-\0M \0\0\17o\b¬0\ 1\0#q GX6Gj40+-\0M \0\0\17o\b´0\ 1\0#q jLEntyrI-\0M \0\0\17o\b¼0\ 1\0#q n7/D+T8f-\0M \0\0\17o\bÄ0\ 1\0#q y1+Pjjup-\0M \0\0\17o\bÌ0\ 1\0#q Bc3CtbNu-\0M \0\0\17o\bÔ0\ 1\0#q XO2tRdul-\0M \0\0\17o\bÜ0\ 1\0#q Iu21ItGs-\0M \0\0\17o\bä0\ 1\0#q L9ccDt6a-\0M \0\0\17o\bì0\ 1\0#q EtrxfwXj-\0M \0\0\17o\bô0\ 1\0#q qcDx58Hq-\0M \0\0\17o\bü0\ 1\0#q qhesQkkF-\0M \0\0\17o\b\ 41\ 1\0#q R5Hw5s+Y-\0M \0\0\17o\b\f1\ 1\0#q 95rjxZ49-\0M \0\0\17o\b\141\ 1\0#q Zxzzzs55-\0M \0\0\17o\b\1c1\ 1\0#q zny5Y/Tr-\0M \0\0\17o\b$1\ 1\0#q f42ninSh-\0M \0\0\17o\b,1\ 1\0#q p2tC5Myk-\0M \0\0\17o\b41\ 1\0#q PXPDq/HS-\0M \0\0\17o\b<1\ 1\0#q uOcy/Hrg-\0M \0\0\17o\bD1\ 1\0#q +uXOZjhw-\0M \0\0\17o\bL1\ 1\0#q qpi7evQ+-\0M \0\0\17o\bT1\ 1\0#q G3aueLbI-\0M \0\0\17o\b\1\ 1\0#q W2pPLBOX-\0M \0\0\17o\bd1\ 1\0#q PB2k0qeW-\0M \0\0\17o\bl1\ 1\0#q cvH8dPX3-\0M \0\0\17o\bt1\ 1\0#q 537NGVVj-\0M \0\0\17o\b|1\ 1\0#q FVhhjKxl-\0M \0\0\17o\b\841\ 1\0#q iVkqkjay-\0M \0\0\17o\b\8c1\ 1\0#q ptqZq2S1-\0M \0\0\17o\b\941\ 1\0#q WktJVZNt-\0M \0\0\17o\b\9c1\ 1\0#q VJa0VtCm-\0M \0\0\17o\b¤1\ 1\0#q 2mzbZsiN-\0M \0\0\17o\b¬1\ 1\0#q NZVVSy2t-\0M \0\0\17o\b´1\ 1\0#q i1tS2Sq3-\0M \0\0\17o\b¼1\ 1\0#q md9hy463-\0M \0\0\17o\bÄ1\ 1\0#q 8z5PHNMz-\0M \0\0\17o\bÌ1\ 1\0#q Ix3IfMkD-\0M \0\0\17o\bÔ1\ 1\0#q 8jgU/hev-\0M \0\0\17o\bÜ1\ 1\0#q g0z6O9vr-\0M \0\0\17o\bä1\ 1\0#q hfx2u0pd-\0M \0\0\17o\bì1\ 1\0#q Xi4ooddn-\0M \0\0\17o\bô1\ 1\0#q 1WwLTt3u-\0M \0\0\17o\bü1\ 1\0#q 0dtfx13/-\0M \0\0\17o\b\ 42\ 1\0#q DwegMQYQ-\0M \0\0\17o\b\f2\ 1\0#q wdp85zgw-\0M \0\0\17o\b\142\ 1\0#q AfA3hJq6-\0M \0\0\17o\b\1c2\ 1\0#q 9eh7Lu7z-\0M \0\0\17o\b$2\ 1\0#q LGHl5V6e-\0M \0\0\17o\b,2\ 1\0#q ivCu1elH-\0M \0\0\17o\b42\ 1\0#q unTwnjRy-\0M \0\0\17o\b<2\ 1\0#q 61p714uT-\0M \0\0\17o\bD2\ 1\0#q hUcOOcz8-\0M \0\0\17o\bL2\ 1\0#q O1cqxabW-\0M \0\0\17o\bT2\ 1\0#q OunLt5Rw-\0M \0\0\17o\b\2\ 1\0#q 9iSJHt3F-\0M \0\0\17o\bd2\ 1\0#q 3y3WWZdt-\0M \0\0\17o\bl2\ 1\0#q ujHhx50i-\0M \0\0\17o\bt2\ 1\0#q RPHtKach-\0M \0\0\17o\b|2\ 1\0#q w2vnz8eK-\0M \0\0\17o\b\842\ 1\0#q 369x98Ov-\0M \0\0\17o\b\8c2\ 1\0#q hw2vztQt-\0M \0\0\17o\b\942\ 1\0#q 4JRlnK9Q-\0M \0\0\17o\b\9c2\ 1\0#q FCycOHEp-\0M \0\0\17o\b¤2\ 1\0#q chMB0Ym5-\0M \0\0\17o\b¬2\ 1\0#q SeIlIUMn-\0M \0\0\17o\b´2\ 1\0#q PFcafA3k-\0M \0\0\17o\b¼2\ 1\0#q lDSwWSTX-\0M \0\0\17o\bÄ2\ 1\0#q 9VVFP3k/-\0M \0\0\17o\bÌ2\ 1\0#q KQ0+nzF4-\0M \0\0\17o\bÔ2\ 1\0#q rj5wtvAr-\0M \0\0\17o\bÜ2\ 1\0#q h604+dqC-\0M \0\0\17o\bä2\ 1\0#q N3Qjz0Vc-\0M \0\0\17o\bì2\ 1\0#q qypVmrlX-\0M \0\0\17o\bô2\ 1\0#q VlSVcqyi-\0M \0\0\17o\bü2\ 1\0#q SeckRld1-\0M \0\0\17o\b\ 43\ 1\0#q JlJlRlJB-\0M \0\0\17o\b\f3\ 1\0#q zmlk1LS0-\0M \0\0\17o\b\143\ 1\0#q RqoTfWN3-\0M \0\0\17o\b\1c3\ 1\0#q vzzprfXj-\0M \0\0\17o\b$3\ 1\0#q Y+ZUWT9c-\0M \0\0\17o\b,3\ 1\0#q +ednqsvv-\0M \0\0\17o\b43\ 1\0#q SSJCkAXp-\0M \0\0\17o\b<3\ 1\0#q hQSFpCgX-\0M \0\0\17o\bD3\ 1\0#q IwRJFQeP-\0M \0\0\17o\bL3\ 1\0#q HfxpU2Op-\0M \0\0\17o\bT3\ 1\0#q 7pg4ZhX8-\0M \0\0\17o\b\3\ 1\0#q 0D8P0HcE-\0M \0\0\17o\bd3\ 1\0#q +tvtafe0-\0M \0\0\17o\bl3\ 1\0#q PslS2h6b-\0M \0\0\17o\bt3\ 1\0#q EUphB+Tr-\0M \0\0\17o\b|3\ 1\0#q t9zcMySl-\0M \0\0\17o\b\843\ 1\0#q FfrXx8s6-\0M \0\0\17o\b\8c3\ 1\0#q aKGUneDd-\0M \0\0\17o\b\943\ 1\0#q fjQ99/yY-\0M \0\0\17o\b\9c3\ 1\0#q fX7l9meC-\0M \0\0\17o\b¤3\ 1\0#q DI/bvJDJ-\0M \0\0\17o\b¬3\ 1\0#q AQgdu6Sz-\0M \0\0\17o\b´3\ 1\0#q NW3eZlBQ-\0M \0\0\17o\b¼3\ 1\0#q ykZoKrwo-\0M \0\0\17o\bÄ3\ 1\0#q 37d0TaW2-\0M \0\0\17o\bÌ3\ 1\0#q 0DnfHOPJ-\0M \0\0\17o\bÔ3\ 1\0#q fg278Pvn-\0M \0\0\17o\bÜ3\ 1\0#q Xg+re/l0-\0M \0\0\17o\bä3\ 1\0#q U+vfj83Q-\0M \0\0\17o\bì3\ 1\0#q mJIyIhDN-\0M \0\0\17o\bô3\ 1\0#q 53JH5Px9-\0M \0\0\17o\bü3\ 1\0#q XhPr2/DX-\0M \0\0\17o\b\ 44\ 1\0#q cY+NzGJO-\0M \0\0\17o\b\f4\ 1\0#q 6t1p8J77-\0M \0\0\17o\b\144\ 1\0#q +GH2+xfb-\0M \0\0\17o\b\1c4\ 1\0#q wXyN7S7y-\0M \0\0\17o\b$4\ 1\0#q SU8e36Zc-\0M \0\0\17o\b,4\ 1\0#q Y2cmX9Zq-\0M \0\0\17o\b44\ 1\0#q JVTbyyJ9-\0M \0\0\17o\b<4\ 1\0#q LNd2Hy9p-\0M \0\0\17o\bD4\ 1\0#q FJjOJx48-\0M \0\0\17o\bL4\ 1\0#q YJh9fxDD-\0M \0\0\17o\bT4\ 1\0#q VU7nuPtj-\0M \0\0\17o\b\4\ 1\0#q dzVxq402-\0M \0\0\17o\bd4\ 1\0#q 5elJxy5k-\0M \0\0\17o\bl4\ 1\0#q TGLIXu3J-\0M \0\0\17o\bt4\ 1\0#q Dla90qnL-\0M \0\0\17o\b|4\ 1\0#q mi/u/hOX-\0M \0\0\17o\b\844\ 1\0#q SqnQu+mf-\0M \0\0\17o\b\8c4\ 1\0#q lpHZt8sR-\0M \0\0\17o\b\944\ 1\0#q qH7saHSS-\0M \0\0\17o\b\9c4\ 1\0#q EQXU251X-\0M \0\0\17o\b¤4\ 1\0#q wY4dOFRt-\0M \0\0\17o\b¬4\ 1\0#q 18lS6cUn-\0M \0\0\17o\b´4\ 1\0#q TgWreu+m-\0M \0\0\17o\b¼4\ 1\0#q 18JO/Rkm-\0M \0\0\17o\bÄ4\ 1\0#q YWb9Oofm-\0M \0\0\17o\bÌ4\ 1\0#q aH1PPXk2-\0M \0\0\17o\bÔ4\ 1\0#q 44ZeFEhw-\0M \0\0\17o\bÜ4\ 1\0#q s+fI7ckn-\0M \0\0\17o\bä4\ 1\0#q aR6D4fDd-\0M \0\0\17o\bì4\ 1\0#q fBuITwr5-\0M \0\0\17o\bô4\ 1\0#q +BweumnD-\0M \0\0\17o\bü4\ 1\0#q tjA5GjvZ-\0M \0\0\17o\b\ 45\ 1\0#q puOHS0si-\0M \0\0\17o\b\f5\ 1\0#q Djw9vK9v-\0M \0\0\17o\b\145\ 1\0#q VXw3M4ta-\0M \0\0\17o\b\1c5\ 1\0#q kTts7Ric-\0M \0\0\17o\b$5\ 1\0#q qcARg31R-\0M \0\0\17o\b,5\ 1\0#q Q03CvXwC-\0M \0\0\17o\b45\ 1\0#q POWh+DxP-\0M \0\0\17o\b<5\ 1\0#q rrPL04oI-\0M \0\0\17o\bD5\ 1\0#q 3S1HWXPL-\0M \0\0\17o\bL5\ 1\0#q V28NsefH-\0M \0\0\17o\bT5\ 1\0#q Eu5KGKEq-\0M \0\0\17o\b\5\ 1\0#q e8NJPYLC-\0M \0\0\17o\bd5\ 1\0#q CHQMJCQ7-\0M \0\0\17o\bl5\ 1\0#q PR5y21rb-\0M \0\0\17o\bt5\ 1\0#q PLh6zyKm-\0M \0\0\17o\b|5\ 1\0#q 7rpxn60/-\0M \0\0\17o\b\845\ 1\0#q GG3l6l0b-\0M \0\0\17o\b\8c5\ 1\0#q Mqm2VCL8-\0M \0\0\17o\b\945\ 1\0#q CsOWG2Qe-\0M \0\0\17o\b\9c5\ 1\0#q 5VVUemVS-\0M \0\0\17o\b¤5\ 1\0#q 2xUlz8FN-\0M \0\0\17o\b¬5\ 1\0#q VTjEzB3g-\0M \0\0\17o\b´5\ 1\0#q TsxNJ2NL-\0M \0\0\17o\b¼5\ 1\0#q 8fkcfOEh-\0M \0\0\17o\bÄ5\ 1\0#q UaCuYPW1-\0M \0\0\17o\bÌ5\ 1\0#q wuNRLHrV-\0M \0\0\17o\bÔ5\ 1\0#q BHPnUBbf-\0M \0\0\17o\bÜ5\ 1\0#q GqqnLbx2-\0M \0\0\17o\bä5\ 1\0#q unVlEqcf-\0M \0\0\17o\bì5\ 1\0#q FU674T6+-\0M \0\0\17o\bô5\ 1\0#q c8eHON8c-\0M \0\0\17o\bü5\ 1\0#q bcPxnVY7-\0M \0\0\17o\b\ 46\ 1\0#q 9dPSQXrj-\0M \0\0\17o\b\f6\ 1\0#q j02ctOXI-\0M \0\0\17o\b\146\ 1\0#q nljHDTac-\0M \0\0\17o\b\1c6\ 1\0#q JEg5ZB5G-\0M \0\0\17o\b$6\ 1\0#q NDvHrWNO-\0M \0\0\17o\b,6\ 1\0#q quSOU5GH-\0M \0\0\17o\b46\ 1\0#q gGIrXB8Q-\0M \0\0\17o\b<6\ 1\0#q 3PTh49XF-\0M \0\0\17o\bD6\ 1\0#q uZnMke3D-\0M \0\0\17o\bL6\ 1\0#q Pi349tnT-\0M \0\0\17o\bT6\ 1\0#q c2x78Zba-\0M \0\0\17o\b\6\ 1\0#q bfvzMff1-\0M \0\0\17o\bd6\ 1\0#q Q00qpoql-\0M \0\0\17o\bl6\ 1\0#q PdKqaqUO-\0M \0\0\17o\bt6\ 1\0#q bw73hT5r-\0M \0\0\17o\b|6\ 1\0#q m2u3Djb9-\0M \0\0\17o\b\846\ 1\0#q 2qrt3QRw-\0M \0\0\17o\b\8c6\ 1\0#q acoV3xS8-\0M \0\0\17o\b\946\ 1\0#q qpNypaaM-\0M \0\0\17o\b\9c6\ 1\0#q 8CBy9599-\0M \0\0\17o\b¤6\ 1\0#q F75+N8/O-\0M \0\0\17o\b¬6\ 1\0#q M7xre29w-\0M \0\0\17o\b´6\ 1\0#q +OXpOnjt-\0M \0\0\17o\b¼6\ 1\0#q yeGSEgry-\0M \0\0\17o\bÄ6\ 1\0#q pPNCAvLz-\0M \0\0\17o\bÌ6\ 1\0#q gjvv0nE4-\0M \0\0\17o\bÔ6\ 1\0#q N8L06x27-\0M \0\0\17o\bÜ6\ 1\0#q SNPjUeRJ-\0M \0\0\17o\bä6\ 1\0#q EjXk3zlz-\0M \0\0\17o\bì6\ 1\0#q OGsVtiMq-\0M \0\0\17o\bô6\ 1\0#q 9O5Hkcp2-\0M \0\0\17o\bü6\ 1\0#q VPh8K+XJ-\0M \0\0\17o\b\ 47\ 1\0#q 7XZx9Zvt-\0M \0\0\17o\b\f7\ 1\0#q 531nPHGb-\0M \0\0\17o\b\147\ 1\0#q 550jpsrv-\0M \0\0\17o\b\1c7\ 1\0#q KpnZ7X18-\0M \0\0\17o\b$7\ 1\0#q 2tPp4nB2-\0M \0\0\17o\b,7\ 1\0#q m23Dj50a-\0M \0\0\17o\b47\ 1\0#q +PuHwWvH-\0M \0\0\17o\b<7\ 1\0#q vJzCvWfD-\0M \0\0\17o\bD7\ 1\0#q 1elNOsfN-\0M \0\0\17o\bL7\ 1\0#q SEgw75bT-\0M \0\0\17o\bT7\ 1\0#q bwkkc524-\0M \0\0\17o\b\7\ 1\0#q 10eGuLbz-\0M \0\0\17o\bd7\ 1\0#q mZkZvvVm-\0M \0\0\17o\bl7\ 1\0#q tPrz195l-\0M \0\0\17o\bt7\ 1\0#q SMXTdO+G-\0M \0\0\17o\b|7\ 1\0#q vWa25VN0-\0M \0\0\17o\b\847\ 1\0#q UMpetNG+-\0M \0\0\17o\b\8c7\ 1\0#q NwU07IY+-\0M \0\0\17o\b\947\ 1\0#q Tmk5PCX1-\0M \0\0\17o\b\9c7\ 1\0#q drtxw6Vw-\0M \0\0\17o\b¤7\ 1\0#q lEnsyq9F-\0M \0\0\17o\b¬7\ 1\0#q xYhCRtIh-\0M \0\0\17o\b´7\ 1\0#q PTOT09a7-\0M \0\0\17o\b¼7\ 1\0#q ZutZpiLA-\0M \0\0\17o\bÄ7\ 1\0#q 6pDtYY3V-\0M \0\0\17o\bÌ7\ 1\0#q 5igfFU4z-\0M \0\0\17o\bÔ7\ 1\0#q U4brTy7e-\0M \0\0\17o\bÜ7\ 1\0#q jat64Qej-\0M \0\0\17o\bä7\ 1\0#q h0SJHTST-\0M \0\0\17o\bì7\ 1\0#q Z3u3h212-\0M \0\0\17o\bô7\ 1\0#q EB3mgeek-\0M \0\0\17o\bü7\ 1\0#q TleTDmSO-\0M \0\0\17o\b\ 48\ 1\0#q OVnfrh6P-\0M \0\0\17o\b\f8\ 1\0#q Y8ntJJ7P-\0M \0\0\17o\b\148\ 1\0#q r2KTqnMO-\0M \0\0\17o\b\1c8\ 1\0#q Ybga2Jzn-\0M \0\0\17o\b$8\ 1\0#q ETGW1bGq-\0M \0\0\17o\b,8\ 1\0#q mrY4zLwt-\0M \0\0\17o\b48\ 1\0#q 8niQD18x-\0M \0\0\17o\b<8\ 1\0#q ElWURb94-\0M \0\0\17o\bD8\ 1\0#q FyqjnAZ3-\0M \0\0\17o\bL8\ 1\0#q z6YJ1iOc-\0M \0\0\17o\bT8\ 1\0#q C2nMPuqL-\0M \0\0\17o\b\8\ 1\0#q NVQhSiLL-\0M \0\0\17o\bd8\ 1\0#q qoyCroXV-\0M \0\0\17o\bl8\ 1\0#q +YwVxq9c-\0M \0\0\17o\bt8\ 1\0#q ddcOZJtS-\0M \0\0\17o\b|8\ 1\0#q 0iqScZGJ-\0M \0\0\17o\b\848\ 1\0#q bLQOBQXO-\0M \0\0\17o\b\8c8\ 1\0#q HE9q+9mb-\0M \0\0\17o\b\948\ 1\0#q o5znrM8c-\0M \0\0\17o\b\9c8\ 1\0#q rxzyCVKh-\0M \0\0\17o\b¤8\ 1\0#q GIK9qoKp-\0M \0\0\17o\b¬8\ 1\0#q R4L0FF29-\0M \0\0\17o\b´8\ 1\0#q epznKxmh-\0M \0\0\17o\b¼8\ 1\0#q KoosQGVD-\0M \0\0\17o\bÄ8\ 1\0#q U2h3Ay47-\0M \0\0\17o\bÌ8\ 1\0#q SFIJE+nw-\0M \0\0\17o\bÔ8\ 1\0#q 88FX5l03-\0M \0\0\17o\bÜ8\ 1\0#q vzu+Jfbr-\0M \0\0\17o\bä8\ 1\0#q zePF0kBS-\0M \0\0\17o\bì8\ 1\0#q ZvDVsr5K-\0M \0\0\17o\bô8\ 1\0#q aIWZmJzq-\0M \0\0\17o\bü8\ 1\0#q UoIpQrMh-\0M \0\0\17o\b\ 49\ 1\0#q ASe/z86c-\0M \0\0\17o\b\f9\ 1\0#q 6HyL3Zqe-\0M \0\0\17o\b\149\ 1\0#q zLvn2w0+-\0M \0\0\17o\b\1c9\ 1\0#q aVZ7vTMR-\0M \0\0\17o\b$9\ 1\0#q FUZPLRe7-\0M \0\0\17o\b,9\ 1\0#q Rk+Uox4X-\0M \0\0\17o\b49\ 1\0#q rFfp8/Xz-\0M \0\0\17o\b<9\ 1\0#q 18+/jybi-\0M \0\0\17o\bD9\ 1\0#q Rw7VvURT-\0M \0\0\17o\bL9\ 1\0#q 5MeVT3Td-\0M \0\0\17o\bT9\ 1\0#q 4+Ma5xHF-\0M \0\0\17o\b\9\ 1\0#q TVt3xxqc-\0M \0\0\17o\bd9\ 1\0#q ror7cx5c-\0M \0\0\17o\bl9\ 1\0#q ZbWPo78+-\0M \0\0\17o\bt9\ 1\0#q Fcp3j1jC-\0M \0\0\17o\b|9\ 1\0#q SRIxTy4+-\0M \0\0\17o\b\849\ 1\0#q XByxM192-\0M \0\0\17o\b\8c9\ 1\0#q To8aO6en-\0M \0\0\17o\b\949\ 1\0#q Dlp8Tpwn-\0M \0\0\17o\b\9c9\ 1\0#q p5LwvE56-\0M \0\0\17o\b¤9\ 1\0#q l2zffqYl-\0M \0\0\17o\b¬9\ 1\0#q RPPQ4gQy-\0M \0\0\17o\b´9\ 1\0#q wiSLYYac-\0M \0\0\17o\b¼9\ 1\0#q vPXtw/DH-\0M \0\0\17o\bÄ9\ 1\0#q ocyrt2j0-\0M \0\0\17o\bÌ9\ 1\0#q e/enNm57-\0M \0\0\17o\bÔ9\ 1\0#q m0qsB8Yr-\0M \0\0\17o\bÜ9\ 1\0#q RH1Lrhwg-\0M \0\0\17o\bä9\ 1\0#q i85HTIVi-\0M \0\0\17o\bì9\ 1\0#q qnpHjX5o-\0M \0\0\17o\bô9\ 1\0#q dbWnqdJN-\0M \0\0\17o\bü9\ 1\0#q pywNzy5F-\0M \0\0\17o\b\ 4:\ 1\0#q 55CTpz3b-\0M \0\0\17o\b\f:\ 1\0#q Offvji3G-\0M \0\0\17o\b\14:\ 1\0#q WujD788z-\0M \0\0\17o\b\1c:\ 1\0#q PCvnTt/r-\0M \0\0\17o\b$:\ 1\0#q 5SH4mbMv-\0M \0\0\17o\b,:\ 1\0#q Vznmrtcu-\0M \0\0\17o\b4:\ 1\0#q fVxUd3tF-\0M \0\0\17o\b<:\ 1\0#q D8H+XCVA-\0M \0\0\17o\bD:\ 1\0#q 9+aArHR5-\0M \0\0\17o\bL:\ 1\0#q t2MPNpfF-\0M \0\0\17o\bT:\ 1\0#q spyylwe0-\0M \0\0\17o\b\:\ 1\0#q mEjs5oJO-\0M \0\0\17o\bd:\ 1\0#q vfjxfnnN-\0M \0\0\17o\bl:\ 1\0#q XNbdJPJ5-\0M \0\0\17o\bt:\ 1\0#q YcaYgXzE-\0M \0\0\17o\b|:\ 1\0#q bNNe/DNp-\0M \0\0\17o\b\84:\ 1\0#q S95PXWbX-\0M \0\0\17o\b\8c:\ 1\0#q Lj5me++l-\0M \0\0\17o\b\94:\ 1\0#q riwkeI4c-\0M \0\0\17o\b\9c:\ 1\0#q k6bca2nH-\0M \0\0\17o\b¤:\ 1\0#q auuzfPTy-\0M \0\0\17o\b¬:\ 1\0#q rxRXIm23-\0M \0\0\17o\b´:\ 1\0#q TPacNjaj-\0M \0\0\17o\b¼:\ 1\0#q fNUa97T7-\0M \0\0\17o\bÄ:\ 1\0#q 54q3c0rP-\0M \0\0\17o\bÌ:\ 1\0#q IE5Nere/-\0M \0\0\17o\bÔ:\ 1\0#q DaZzyBPT-\0M \0\0\17o\bÜ:\ 1\0#q HL667M6Y-\0M \0\0\17o\bä:\ 1\0#q MUiwUw84-\0M \0\0\17o\bì:\ 1\0#q c4W+5rlf-\0M \0\0\17o\bô:\ 1\0#q VR6zxCza-\0M \0\0\17o\bü:\ 1\0#q eKly9x9x-\0M \0\0\17o\b\ 4;\ 1\0#q 6DhaooPI-\0M \0\0\17o\b\f;\ 1\0#q 1CNpPHVt-\0M \0\0\17o\b\14;\ 1\0#q q129Z3bp-\0M \0\0\17o\b\1c;\ 1\0#q zpOM14nh-\0M \0\0\17o\b$;\ 1\0#q w8c8mvgV-\0M \0\0\17o\b,;\ 1\0#q GdYiu3n1-\0M \0\0\17o\b4;\ 1\0#q jtni6FPT-\0M \0\0\17o\b<;\ 1\0#q xEt8uOLV-\0M \0\0\17o\bD;\ 1\0#q AnqxzGvU-\0M \0\0\17o\bL;\ 1\0#q 4XXlc09E-\0M \0\0\17o\bT;\ 1\0#q DkrS68VH-\0M \0\0\17o\b\;\ 1\0#q EuLovfh0-\0M \0\0\17o\bd;\ 1\0#q kKjn16nx-\0M \0\0\17o\bl;\ 1\0#q 2624KnuS-\0M \0\0\17o\bt;\ 1\0#q nHXYVkIp-\0M \0\0\17o\b|;\ 1\0#q rh8uKrXk-\0M \0\0\17o\b\84;\ 1\0#q xp5Z3aqc-\0M \0\0\17o\b\8c;\ 1\0#q aeE59GkS-\0M \0\0\17o\b\94;\ 1\0#q J0a8drt6-\0M \0\0\17o\b\9c;\ 1\0#q aX+06Y9W-\0M \0\0\17o\b¤;\ 1\0#q 1WYqdPi+-\0M \0\0\17o\b¬;\ 1\0#q di9Pw6ev-\0M \0\0\17o\b´;\ 1\0#q m8zGnrTz-\0M \0\0\17o\b¼;\ 1\0#q vvv+GSuG-\0M \0\0\17o\bÄ;\ 1\0#q 79/XDiov-\0M \0\0\17o\bÌ;\ 1\0#q H0qepaxP-\0M \0\0\17o\bÔ;\ 1\0#q YPTbhXBj-\0M \0\0\17o\bÜ;\ 1\0#q 1xR4w6Tg-\0M \0\0\17o\bä;\ 1\0#q 6NcOybV4-\0M \0\0\17o\bì;\ 1\0#q +Om+3X41-\0M \0\0\17o\bô;\ 1\0#q ItLvfGlU-\0M \0\0\17o\bü;\ 1\0#q 341TWO2R-\0M \0\0\17o\b\ 4<\ 1\0#q 7tSuZO+O-\0M \0\0\17o\b\f<\ 1\0#q 3asyajzI-\0M \0\0\17o\b\14<\ 1\0#q ENvnh5J4-\0M \0\0\17o\b\1c<\ 1\0#q Xw8OuDlf-\0M \0\0\17o\b$<\ 1\0#q BN8GUCx4-\0M \0\0\17o\b,<\ 1\0#q 420ZVU52-\0M \0\0\17o\b4<\ 1\0#q z250coXT-\0M \0\0\17o\b<<\ 1\0#q ppy6fELl-\0M \0\0\17o\bD<\ 1\0#q 7Rjpy+nP-\0M \0\0\17o\bL<\ 1\0#q x28cG3ng-\0M \0\0\17o\bT<\ 1\0#q 7sNCRkis-\0M \0\0\17o\b\<\ 1\0#q Ee3Ltzt6-\0M \0\0\17o\bd<\ 1\0#q 2dtbszTg-\0M \0\0\17o\bl<\ 1\0#q XpLw27eP-\0M \0\0\17o\bt<\ 1\0#q vRw+vlFc-\0M \0\0\17o\b|<\ 1\0#q KR0ekbTa-\0M \0\0\17o\b\84<\ 1\0#q MSHDJB5e-\0M \0\0\17o\b\8c<\ 1\0#q nZ8vLbTt-\0M \0\0\17o\b\94<\ 1\0#q 78dG25fC-\0M \0\0\17o\b\9c<\ 1\0#q wkJ//etW-\0M \0\0\17o\b¤<\ 1\0#q 1scxPdFs-\0M \0\0\17o\b¬<\ 1\0#q VVsi0tFq-\0M \0\0\17o\b´<\ 1\0#q S177RsuX-\0M \0\0\17o\b¼<\ 1\0#q JMklSkhr-\0M \0\0\17o\bÄ<\ 1\0#q EjSwORa5-\0M \0\0\17o\bÌ<\ 1\0#q 3WlxTnZf-\0M \0\0\17o\bÔ<\ 1\0#q jFJJ8qqY-\0M \0\0\17o\bÜ<\ 1\0#q tJkGIYaQ-\0M \0\0\17o\bä<\ 1\0#q X+CRXd/3-\0M \0\0\17o\bì<\ 1\0#q dKH8uAJ8-\0M \0\0\17o\bô<\ 1\0#q Y9cu+OcS-\0M \0\0\17o\bü<\ 1\0#q SPAL6Gs3-\0M \0\0\17o\b\ 4=\ 1\0#q 36Z468Zz-\0M \0\0\17o\b\f=\ 1\0#q vNxQRIyX-\0M \0\0\17o\b\14=\ 1\0#q t3dm7s0S-\0M \0\0\17o\b\1c=\ 1\0#q AwKIJ5wE-\0M \0\0\17o\b$=\ 1\0#q k8AwcCHF-\0M \0\0\17o\b,=\ 1\0#q znBwg8o1-\0M \0\0\17o\b4=\ 1\0#q kzNO72t3-\0M \0\0\17o\b<=\ 1\0#q vAPY+sfn-\0M \0\0\17o\bD=\ 1\0#q gZ9dFb0o-\0M \0\0\17o\bL=\ 1\0#q +X4H6XmW-\0M \0\0\17o\bT=\ 1\0#q neYezTTi-\0M \0\0\17o\b\=\ 1\0#q KIZ4CUUD-\0M \0\0\17o\bd=\ 1\0#q 4QEQCdPG-\0M \0\0\17o\bl=\ 1\0#q mwTwkyTa-\0M \0\0\17o\bt=\ 1\0#q XmJ2d+i8-\0M \0\0\17o\b|=\ 1\0#q PAPAvDjE-\0M \0\0\17o\b\84=\ 1\0#q Repd2Z2U-\0M \0\0\17o\b\8c=\ 1\0#q tFeZqfop-\0M \0\0\17o\b\94=\ 1\0#q Oh7VAjAe-\0M \0\0\17o\b\9c=\ 1\0#q Q8BPpenx-\0M \0\0\17o\b¤=\ 1\0#q xACAkEQh-\0M \0\0\17o\b¬=\ 1\0#q EExObQ9X-\0M \0\0\17o\b´=\ 1\0#q lR+e37Iw-\0M \0\0\17o\b¼=\ 1\0#q 1mN+ICD3-\0M \0\0\17o\bÄ=\ 1\0#q 4z4TEzKK-\0M \0\0\17o\bÌ=\ 1\0#q dyQ5oUQn-\0M \0\0\17o\bÔ=\ 1\0#q sRgHH1l1-\0M \0\0\17o\bÜ=\ 1\0#q ker09IZ4-\0M \0\0\17o\bä=\ 1\0#q KIqyrFUO-\0M \0\0\17o\bì=\ 1\0#q LmqZbKLY-\0M \0\0\17o\bô=\ 1\0#q UGaGAgOc-\0M \0\0\17o\bü=\ 1\0#q GgdbwVvR-\0M \0\0\17o\b\ 4>\ 1\0#q ho1lbYNU-\0M \0\0\17o\b\f>\ 1\0#q cdPj1zU4-\0M \0\0\17o\b\14>\ 1\0#q ogY7l1Tx-\0M \0\0\17o\b\1c>\ 1\0#q fNNPT+zP-\0M \0\0\17o\b$>\ 1\0#q 92ta1Xu6-\0M \0\0\17o\b,>\ 1\0#q TpY6QeIS-\0M \0\0\17o\b4>\ 1\0#q M9/hrny5-\0M \0\0\17o\b<>\ 1\0#q 9kjOErh+-\0M \0\0\17o\bD>\ 1\0#q Ht2BPj57-\0M \0\0\17o\bL>\ 1\0#q 6L5BzgoC-\0M \0\0\17o\bT>\ 1\0#q DQAx6HNq-\0M \0\0\17o\b\>\ 1\0#q d9+Dyvbt-\0M \0\0\17o\bd>\ 1\0#q 27Lq3osA-\0M \0\0\17o\bl>\ 1\0#q uFDt/Zv5-\0M \0\0\17o\bt>\ 1\0#q zu78vxMX-\0M \0\0\17o\b|>\ 1\0#q Pz5rDDqp-\0M \0\0\17o\b\84>\ 1\0#q 1z+Pi2nh-\0M \0\0\17o\b\8c>\ 1\0#q zxuQkFAn-\0M \0\0\17o\b\94>\ 1\0#q qvWm2HD0-\0M \0\0\17o\b\9c>\ 1\0#q 9db9dvJv-\0M \0\0\17o\b¤>\ 1\0#q pZ775mY/-\0M \0\0\17o\b¬>\ 1\0#q Nd5n5du3-\0M \0\0\17o\b´>\ 1\0#q 4vVU6F+N-\0M \0\0\17o\b¼>\ 1\0#q +jTb5Ses-\0M \0\0\17o\bÄ>\ 1\0#q ToqJfaen-\0M \0\0\17o\bÌ>\ 1\0#q DXwdO+bu-\0M \0\0\17o\bÔ>\ 1\0#q 81I8knny-\0M \0\0\17o\bÜ>\ 1\0#q 2dLk+lPt-\0M \0\0\17o\bä>\ 1\0#q FD493Hx7-\0M \0\0\17o\bì>\ 1\0#q 0x8+ZnD/-\0M \0\0\17o\bô>\ 1\0#q LrkygIFr-\0M \0\0\17o\bü>\ 1\0#q 4AcZGrTD-\0M \0\0\17o\b\ 4?\ 1\0#q QcMwVWSB-\0M \0\0\17o\b\f?\ 1\0#q UIKC4cSt-\0M \0\0\17o\b\14?\ 1\0#q oBZZEzt+-\0M \0\0\17o\b\1c?\ 1\0#q 9tptwYhb-\0M \0\0\17o\b$?\ 1\0#q UixKXVLS-\0M \0\0\17o\b,?\ 1\0#q o3XvhOmi-\0M \0\0\17o\b4?\ 1\0#q pnoTQ+XB-\0M \0\0\17o\b<?\ 1\0#q JCdfHJ8r-\0M \0\0\17o\bD?\ 1\0#q 47yZmPlN-\0M \0\0\17o\bL?\ 1\0#q tp88W+Hn-\0M \0\0\17o\bT?\ 1\0#q zreZnj2d-\0M \0\0\17o\b\?\ 1\0#q X2cPfT3z-\0M \0\0\17o\bd?\ 1\0#q CQm3ifI8-\0M \0\0\17o\bl?\ 1\0#q tvCeDfBN-\0M \0\0\17o\bt?\ 1\0#q nl0nnzDy-\0M \0\0\17o\b|?\ 1\0#q nndrPNOb-\0M \0\0\17o\b\84?\ 1\0#q jUhIM70k-\0M \0\0\17o\b\8c?\ 1\0#q +Phvzu5n-\0M \0\0\17o\b\94?\ 1\0#q iebfbE8N-\0M \0\0\17o\b\9c?\ 1\0#q Y1HHuJBz-\0M \0\0\17o\b¤?\ 1\0#q qbt41px6-\0M \0\0\17o\b¬?\ 1\0#q TjT2wnuO-\0M \0\0\17o\b´?\ 1\0#q fnskTlZw-\0M \0\0\17o\b¼?\ 1\0#q enlVTqj+-\0M \0\0\17o\bÄ?\ 1\0#q HnLFtEu3-\0M \0\0\17o\bÌ?\ 1\0#q oQOnRi96-\0M \0\0\17o\bÔ?\ 1\0#q VHqH1D1c-\0M \0\0\17o\bÜ?\ 1\0#q +g/IZ9nQ-\0M \0\0\17o\bä?\ 1\0#q p1cZlfv1-\0M \0\0\17o\bì?\ 1\0#q 606UPjEU-\0M \0\0\17o\bô?\ 1\0#q Vw/C6dh+-\0M \0\0\17o\bü?\ 1\0#q Pz4Dro+b-\0M \0\0\17o\b\ 4@\ 1\0#q IdOl2OTP-\0M \0\0\17o\b\f@\ 1\0#q vLTZ5+7/-\0M \0\0\17o\b\14@\ 1\0#q XSX29Bv0-\0M \0\0\17o\b\1c@\ 1\0#q PSCdHY28-\0M \0\0\17o\b$@\ 1\0#q GJ5eY3dd-\0M \0\0\17o\b,@\ 1\0#q XvTet3d8-\0M \0\0\17o\b4@\ 1\0#q H187Yn31-\0M \0\0\17o\b<@\ 1\0#q vrt8fNKu-\0M \0\0\17o\bD@\ 1\0#q 1D4+cOuX-\0M \0\0\17o\bL@\ 1\0#q InT13p65-\0M \0\0\17o\bT@\ 1\0#q ql8fJv74-\0M \0\0\17o\b\@\ 1\0#q 217Pm/vX-\0M \0\0\17o\bd@\ 1\0#q bqk3Ntnk-\0M \0\0\17o\bl@\ 1\0#q qrqnTkK7-\0M \0\0\17o\bt@\ 1\0#q wpfdhA+r-\0M \0\0\17o\b|@\ 1\0#q 975xmcNI-\0M \0\0\17o\b\84@\ 1\0#q p7Twznji-\0M \0\0\17o\b\8c@\ 1\0#q evTlp74w-\0M \0\0\17o\b\94@\ 1\0#q 9peduGxX-\0M \0\0\17o\b\9c@\ 1\0#q iNdczaym-\0M \0\0\17o\b¤@\ 1\0#q NYnPSSSS-\0M \0\0\17o\b¬@\ 1\0#q FdH57db5-\0M \0\0\17o\b´@\ 1\0#q cA+GzcQe-\0M \0\0\17o\b¼@\ 1\0#q EkOBjPVe-\0M \0\0\17o\bÄ@\ 1\0#q ntzlrtHQ-\0M \0\0\17o\bÌ@\ 1\0#q fBtWJ18U-\0M \0\0\17o\bÔ@\ 1\0#q Ib3yjguw-\0M \0\0\17o\bÜ@\ 1\0#q w+BUcg8J-\0M \0\0\17o\bä@\ 1\0#q 5eHbljZU-\0M \0\0\17o\bì@\ 1\0#q 09Ja1euO-\0M \0\0\17o\bô@\ 1\0#q jrmjp59o-\0M \0\0\17o\bü@\ 1\0#q oZ2hzKN2-\0M \0\0\17o\b\ 4A\ 1\0#q Qay4mLA1-\0M \0\0\17o\b\fA\ 1\0#q pTOLMipV-\0M \0\0\17o\b\14A\ 1\0#q kiB0k7w4-\0M \0\0\17o\b\1cA\ 1\0#q rISoDm5v-\0M \0\0\17o\b$A\ 1\0#q GxYTTI8y-\0M \0\0\17o\b,A\ 1\0#q mFxmtm+O-\0M \0\0\17o\b4A\ 1\0#q GuNY5ZPb-\0M \0\0\17o\b<A\ 1\0#q cqyxJP8q-\0M \0\0\17o\bDA\ 1\0#q LkqcrsuN-\0M \0\0\17o\bLA\ 1\0#q XvVCjgr1-\0M \0\0\17o\bTA\ 1\0#q Q3zy6o5T-\0M \0\0\17o\b\A\ 1\0#q 0ZznGJlV-\0M \0\0\17o\bdA\ 1\0#q eY1Td52q-\0M \0\0\17o\blA\ 1\0#q u2m5V2aq-\0M \0\0\17o\btA\ 1\0#q 1GXbu10d-\0M \0\0\17o\b|A\ 1\0#q dY3rOrpy-\0M \0\0\17o\b\84A\ 1\0#q 0u3G0gaI-\0M \0\0\17o\b\8cA\ 1\0#q oCqoGaZw-\0M \0\0\17o\b\94A\ 1\0#q MADnKp1u-\0M \0\0\17o\b\9cA\ 1\0#q p7vrdzvS-\0M \0\0\17o\b¤A\ 1\0#q Oe91CCUr-\0M \0\0\17o\b¬A\ 1\0#q W9pWJcng-\0M \0\0\17o\b´A\ 1\0#q yfSVtIng-\0M \0\0\17o\b¼A\ 1\0#q w8zxCUFz-\0M \0\0\17o\bÄA\ 1\0#q pAJs+tb5-\0M \0\0\17o\bÌA\ 1\0#q Zsn1j4Dp-\0M \0\0\17o\bÔA\ 1\0#q 7628zYe6-\0M \0\0\17o\bÜA\ 1\0#q Rgm2wa9F-\0M \0\0\17o\bäA\ 1\0#q Yc1vkPNM-\0M \0\0\17o\bìA\ 1\0#q B5NQ8Ic3-\0M \0\0\17o\bôA\ 1\0#q l160dXv1-\0M \0\0\17o\büA\ 1\0#q c6zek8W9-\0M \0\0\17o\b\ 4B\ 1\0#q yRs1O1TS-\0M \0\0\17o\b\fB\ 1\0#q z1rN1Ehw-\0M \0\0\17o\b\14B\ 1\0#q klOMD2NG-\0M \0\0\17o\b\1cB\ 1\0#q X6ryTXTq-\0M \0\0\17o\b$B\ 1\0#q gq+B6Y+T-\0M \0\0\17o\b,B\ 1\0#q GD0AgzsO-\0M \0\0\17o\b4B\ 1\0#q 3XvudNp0-\0M \0\0\17o\b<B\ 1\0#q bcBy7fAS-\0M \0\0\17o\bDB\ 1\0#q eOUcunRo-\0M \0\0\17o\bLB\ 1\0#q 167Ew2GN-\0M \0\0\17o\bTB\ 1\0#q nFZG/O7e-\0M \0\0\17o\b\B\ 1\0#q EsenI5SH-\0M \0\0\17o\bdB\ 1\0#q rvvWZ2ad-\0M \0\0\17o\blB\ 1\0#q dPjD+Ttf-\0M \0\0\17o\btB\ 1\0#q XdODuwvq-\0M \0\0\17o\b|B\ 1\0#q 5huPLaOD-\0M \0\0\17o\b\84B\ 1\0#q CtE0ntOn-\0M \0\0\17o\b\8cB\ 1\0#q L4e8t7dJ-\0M \0\0\17o\b\94B\ 1\0#q 5M07bNC1-\0M \0\0\17o\b\9cB\ 1\0#q FSRtpsdz-\0M \0\0\17o\b¤B\ 1\0#q zppPfI7d-\0M \0\0\17o\b¬B\ 1\0#q xw1640x8-\0M \0\0\17o\b´B\ 1\0#q bjJekxsa-\0M \0\0\17o\b¼B\ 1\0#q 5Y8VNtjE-\0M \0\0\17o\bÄB\ 1\0#q cBtCWwcl-\0M \0\0\17o\bÌB\ 1\0#q ZTbCJcD8-\0M \0\0\17o\bÔB\ 1\0#q HrfbHN5K-\0M \0\0\17o\bÜB\ 1\0#q HTo4Fp81-\0M \0\0\17o\bäB\ 1\0#q 9fe92ONY-\0M \0\0\17o\bìB\ 1\0#q 4erddMSl-\0M \0\0\17o\bôB\ 1\0#q 2w76PG6t-\0M \0\0\17o\büB\ 1\0#q cHtZwrlP-\0M \0\0\17o\b\ 4C\ 1\0#q XKVGjFac-\0M \0\0\17o\b\fC\ 1\0#q 1j+rOTbp-\0M \0\0\17o\b\14C\ 1\0#q 5jOXJwuP-\0M \0\0\17o\b\1cC\ 1\0#q 10ofsoU9-\0M \0\0\17o\b$C\ 1\0#q Td33dv3n-\0M \0\0\17o\b,C\ 1\0#q 1t2cqdfj-\0M \0\0\17o\b4C\ 1\0#q 9Pvyqk2e-\0M \0\0\17o\b<C\ 1\0#q fPmZ48XT-\0M \0\0\17o\bDC\ 1\0#q l0KlODvM-\0M \0\0\17o\bLC\ 1\0#q 5h0nx+Mf-\0M \0\0\17o\bTC\ 1\0#q dEOnxtt8-\0M \0\0\17o\b\C\ 1\0#q 6WaVU/eu-\0M \0\0\17o\bdC\ 1\0#q cz4+eu3Z-\0M \0\0\17o\blC\ 1\0#q VKY+v3r8-\0M \0\0\17o\btC\ 1\0#q 50xVTdad-\0M \0\0\17o\b|C\ 1\0#q rjormihy-\0M \0\0\17o\b\84C\ 1\0#q N/evHXTl-\0M \0\0\17o\b\8cC\ 1\0#q OFR1cY65-\0M \0\0\17o\b\94C\ 1\0#q NTCcRp8F-\0M \0\0\17o\b\9cC\ 1\0#q enYLLIlU-\0M \0\0\17o\b¤C\ 1\0#q W8sJOnpS-\0M \0\0\17o\b¬C\ 1\0#q cPWt7tZI-\0M \0\0\17o\b´C\ 1\0#q JtsSOmHB-\0M \0\0\17o\b¼C\ 1\0#q 33atvt8e-\0M \0\0\17o\bÄC\ 1\0#q F2+HHiQg-\0M \0\0\17o\bÌC\ 1\0#q NCRxrt5e-\0M \0\0\17o\bÔC\ 1\0#q jjpt8Lh0-\0M \0\0\17o\bÜC\ 1\0#q U4HvntHL-\0M \0\0\17o\bäC\ 1\0#q tejv64Wu-\0M \0\0\17o\bìC\ 1\0#q Yovx4cvj-\0M \0\0\17o\bôC\ 1\0#q udsIfUUV-\0M \0\0\17o\büC\ 1\0#q 5bOXl6xX-\0M \0\0\17o\b\ 4D\ 1\0#q KF8KXjpP-\0M \0\0\17o\b\fD\ 1\0#q vQ+fOmXa-\0M \0\0\17o\b\14D\ 1\0#q o1fF8OIm-\0M \0\0\17o\b\1cD\ 1\0#q Wnu/i1at-\0M \0\0\17o\b$D\ 1\0#q r4deV54z-\0M \0\0\17o\b,D\ 1\0#q S60z0kRU-\0M \0\0\17o\b4D\ 1\0#q kUeKm8Hi-\0M \0\0\17o\b<D\ 1\0#q jJ0r4pFq-\0M \0\0\17o\bDD\ 1\0#q 7Fh+ZW0p-\0M \0\0\17o\bLD\ 1\0#q aNBfXr10-\0M \0\0\17o\bTD\ 1\0#q NlfrR027-\0M \0\0\17o\b\D\ 1\0#q 8/Td06Kx-\0M \0\0\17o\bdD\ 1\0#q n1/HSm+H-\0M \0\0\17o\blD\ 1\0#q 8Kqdsseb-\0M \0\0\17o\btD\ 1\0#q vr9V00fg-\0M \0\0\17o\b|D\ 1\0#q Px9owrAz-\0M \0\0\17o\b\84D\ 1\0#q k/h42KL1-\0M \0\0\17o\b\8cD\ 1\0#q 67fvfB4V-\0M \0\0\17o\b\94D\ 1\0#q PiUIfGBc-\0M \0\0\17o\b\9cD\ 1\0#q H0P4etPo-\0M \0\0\17o\b¤D\ 1\0#q VyKa5fXx-\0M \0\0\17o\b¬D\ 1\0#q T68OOsAu-\0M \0\0\17o\b´D\ 1\0#q VItPWj1w-\0M \0\0\17o\b¼D\ 1\0#q 165dPPO3-\0M \0\0\17o\bÄD\ 1\0#q Prp1euH7-\0M \0\0\17o\bÌD\ 1\0#q 9fds6coX-\0M \0\0\17o\bÔD\ 1\0#q oqU5gR9L-\0M \0\0\17o\bÜD\ 1\0#q j1cVXDfO-\0M \0\0\17o\bäD\ 1\0#q fUFnHKJc-\0M \0\0\17o\bìD\ 1\0#q n73553ve-\0M \0\0\17o\bôD\ 1\0#q 94fphI76-\0M \0\0\17o\büD\ 1\0#q boE5x5eZ-\0M \0\0\17o\b\ 4E\ 1\0#q tBy+Ht3z-\0M \0\0\17o\b\fE\ 1\0#q 2NsO2PGC-\0M \0\0\17o\b\14E\ 1\0#q nbwrDt+P-\0M \0\0\17o\b\1cE\ 1\0#q q4KodNhA-\0M \0\0\17o\b$E\ 1\0#q 28Ozw9e3-\0M \0\0\17o\b,E\ 1\0#q Tlac0vVR-\0M \0\0\17o\b4E\ 1\0#q rljGXXjK-\0M \0\0\17o\b<E\ 1\0#q 74Z2eHlK-\0M \0\0\17o\bDE\ 1\0#q bXHRrpJ2-\0M \0\0\17o\bLE\ 1\0#q M2gxJI5S-\0M \0\0\17o\bTE\ 1\0#q 8WzbWJB5-\0M \0\0\17o\b\E\ 1\0#q fOzzK0ng-\0M \0\0\17o\bdE\ 1\0#q IDK6THQV-\0M \0\0\17o\blE\ 1\0#q qb+66e22-\0M \0\0\17o\btE\ 1\0#q 1x72x9UW-\0M \0\0\17o\b|E\ 1\0#q +rxDexdJ-\0M \0\0\17o\b\84E\ 1\0#q 8d+/O9Zr-\0M \0\0\17o\b\8cE\ 1\0#q M1mXw8jy-\0M \0\0\17o\b\94E\ 1\0#q xjie+j29-\0M \0\0\17o\b\9cE\ 1\0#q RJENvabZ-\0M \0\0\17o\b¤E\ 1\0#q ofCnhWL1-\0M \0\0\17o\b¬E\ 1\0#q wD3ljj4B-\0M \0\0\17o\b´E\ 1\0#q cQ54OO0G-\0M \0\0\17o\b¼E\ 1\0#q kHSQe/IN-\0M \0\0\17o\bÄE\ 1\0#q 7t4HfjuD-\0M \0\0\17o\bÌE\ 1\0#q tPHLp3Kl-\0M \0\0\17o\bÔE\ 1\0#q kOazq8sU-\0M \0\0\17o\bÜE\ 1\0#q y9Y3tjOL-\0M \0\0\17o\bäE\ 1\0#q JlCzMmaW-\0M \0\0\17o\bìE\ 1\0#q i4d78Kd+-\0M \0\0\17o\bôE\ 1\0#q VQ0sVjFF-\0M \0\0\17o\büE\ 1\0#q isKSwqlN-\0M \0\0\17o\b\ 4F\ 1\0#q NSpaCyMY-\0M \0\0\17o\b\fF\ 1\0#q JhUqbN41-\0M \0\0\17o\b\14F\ 1\0#q WLJEmRFs-\0M \0\0\17o\b\1cF\ 1\0#q shFLI70w-\0M \0\0\17o\b$F\ 1\0#q pzxVDVJQ-\0M \0\0\17o\b,F\ 1\0#q OGVDMCz+-\0M \0\0\17o\b4F\ 1\0#q Yz50FeeC-\0M \0\0\17o\b<F\ 1\0#q nxee+p0O-\0M \0\0\17o\bDF\ 1\0#q Khjnr5nP-\0M \0\0\17o\bLF\ 1\0#q et8cb4wg-\0M \0\0\17o\bTF\ 1\0#q YO5ud9c6-\0M \0\0\17o\b\F\ 1\0#q 65eXro2Z-\0M \0\0\17o\bdF\ 1\0#q ltpaqQ2V-\0M \0\0\17o\blF\ 1\0#q AWc7xIg8-\0M \0\0\17o\btF\ 1\0#q F9WbmVmu-\0M \0\0\17o\b|F\ 1\0#q ss1wH46N-\0M \0\0\17o\b\84F\ 1\0#q PSq6o+75-\0M \0\0\17o\b\8cF\ 1\0#q r6ndGvN2-\0M \0\0\17o\b\94F\ 1\0#q auHmEkDx-\0M \0\0\17o\b\9cF\ 1\0#q 6GEenCEQ-\0M \0\0\17o\b¤F\ 1\0#q jUVKH6S7-\0M \0\0\17o\b¬F\ 1\0#q o7nqeTy/-\0M \0\0\17o\b´F\ 1\0#q VH1TrvmV-\0M \0\0\17o\b¼F\ 1\0#q fi24LBBw-\0M \0\0\17o\bÄF\ 1\0#q 8xYwSNpE-\0M \0\0\17o\bÌF\ 1\0#q 8sJnV1c5-\0M \0\0\17o\bÔF\ 1\0#q fbaj7DwB-\0M \0\0\17o\bÜF\ 1\0#q MORMfPLN-\0M \0\0\17o\bäF\ 1\0#q ZvLOcobr-\0M \0\0\17o\bìF\ 1\0#q d4s2vvkg-\0M \0\0\17o\bôF\ 1\0#q cp4VXw0S-\0M \0\0\17o\büF\ 1\0#q ckHZ8PbX-\0M \0\0\17o\b\ 4G\ 1\0#q 4yw2pF80-\0M \0\0\17o\b\fG\ 1\0#q 01SGzT3e-\0M \0\0\17o\b\14G\ 1\0#q 1kxTTTd0-\0M \0\0\17o\b\1cG\ 1\0#q 4UOGN4uY-\0M \0\0\17o\b$G\ 1\0#q NHi8W+3I-\0M \0\0\17o\b,G\ 1\0#q tR+t5UkO-\0M \0\0\17o\b4G\ 1\0#q Hvho7WGO-\0M \0\0\17o\b<G\ 1\0#q o9fXnnm5-\0M \0\0\17o\bDG\ 1\0#q jU28kkcn-\0M \0\0\17o\bLG\ 1\0#q h8ar34DK-\0M \0\0\17o\bTG\ 1\0#q Qz8PS+0U-\0M \0\0\17o\b\G\ 1\0#q NLpvX12v-\0M \0\0\17o\bdG\ 1\0#q xVVT4Fix-\0M \0\0\17o\blG\ 1\0#q ZRLGVTCK-\0M \0\0\17o\btG\ 1\0#q g7d6NpMK-\0M \0\0\17o\b|G\ 1\0#q Y20fHFHb-\0M \0\0\17o\b\84G\ 1\0#q PHAd9cW8-\0M \0\0\17o\b\8cG\ 1\0#q W3B6uvHn-\0M \0\0\17o\b\94G\ 1\0#q 1lut7168-\0M \0\0\17o\b\9cG\ 1\0#q 2+3b0eek-\0M \0\0\17o\b¤G\ 1\0#q CcIhIfPB-\0M \0\0\17o\b¬G\ 1\0#q femlNvty-\0M \0\0\17o\b´G\ 1\0#q BHAV/OuT-\0M \0\0\17o\b¼G\ 1\0#q YkcsZ7vx-\0M \0\0\17o\bÄG\ 1\0#q b3PCthAc-\0M \0\0\17o\bÌG\ 1\0#q J5Tp8Erw-\0M \0\0\17o\bÔG\ 1\0#q sxlI0n3r-\0M \0\0\17o\bÜG\ 1\0#q zjvR4rr5-\0M \0\0\17o\bäG\ 1\0#q meB17QHb-\0M \0\0\17o\bìG\ 1\0#q hSBLIyHa-\0M \0\0\17o\bôG\ 1\0#q 1ZzsIKrD-\0M \0\0\17o\büG\ 1\0#q w6gTDhlw-\0M \0\0\17o\b\ 4H\ 1\0#q JiwFxV7C-\0M \0\0\17o\b\fH\ 1\0#q TiTvjH4u-\0M \0\0\17o\b\14H\ 1\0#q OQLhBYpF-\0M \0\0\17o\b\1cH\ 1\0#q s7g9iZz1-\0M \0\0\17o\b$H\ 1\0#q eObpyecF-\0M \0\0\17o\b,H\ 1\0#q Tp09Ydve-\0M \0\0\17o\b4H\ 1\0#q /h67KmyA-\0M \0\0\17o\b<H\ 1\0#q Mb5631VN-\0M \0\0\17o\bDH\ 1\0#q tmzEgiaH-\0M \0\0\17o\bLH\ 1\0#q voEEA9jO-\0M \0\0\17o\bTH\ 1\0#q cHBB6Y5j-\0M \0\0\17o\b\H\ 1\0#q ttTflN4n-\0M \0\0\17o\bdH\ 1\0#q tsbyJB2k-\0M \0\0\17o\blH\ 1\0#q kiqnekzu-\0M \0\0\17o\btH\ 1\0#q 324+Oz6u-\0M \0\0\17o\b|H\ 1\0#q +mggPLyZ-\0M \0\0\17o\b\84H\ 1\0#q 359BJ5B0-\0M \0\0\17o\b\8cH\ 1\0#q H75vv+O9-\0M \0\0\17o\b\94H\ 1\0#q 8cccbcv1-\0M \0\0\17o\b\9cH\ 1\0#q 2976z0kU-\0M \0\0\17o\b¤H\ 1\0#q 9dPnSF74-\0M \0\0\17o\b¬H\ 1\0#q 5HyYQ33c-\0M \0\0\17o\b´H\ 1\0#q pPXoOXLO-\0M \0\0\17o\b¼H\ 1\0#q hUp0DfHb-\0M \0\0\17o\bÄH\ 1\0#q lUbbed8u-\0M \0\0\17o\bÌH\ 1\0#q lr64ejy5-\0M \0\0\17o\bÔH\ 1\0#q Ydw69Z2I-\0M \0\0\17o\bÜH\ 1\0#q 9N+ed8a3-\0M \0\0\17o\bäH\ 1\0#q ve9zh58t-\0M \0\0\17o\bìH\ 1\0#q Tm3kTpI2-\0M \0\0\17o\bôH\ 1\0#q VpN8Mb84-\0M \0\0\17o\büH\ 1\0#q XPTbiYlS-\0M \0\0\17o\b\ 4I\ 1\0#q nHxsVKd7-\0M \0\0\17o\b\fI\ 1\0#q 5NOQ9jvh-\0M \0\0\17o\b\14I\ 1\0#q PHro9jzn-\0M \0\0\17o\b\1cI\ 1\0#q CFWeydPN-\0M \0\0\17o\b$I\ 1\0#q aNzME08n-\0M \0\0\17o\b,I\ 1\0#q R6LWss1O-\0M \0\0\17o\b4I\ 1\0#q uel7em2J-\0M \0\0\17o\b<I\ 1\0#q vht075zN-\0M \0\0\17o\bDI\ 1\0#q ukuFDuk1-\0M \0\0\17o\bLI\ 1\0#q adIWgfeP-\0M \0\0\17o\bTI\ 1\0#q GTgVKdrr-\0M \0\0\17o\b\I\ 1\0#q 4ziPTO8P-\0M \0\0\17o\bdI\ 1\0#q PDtjuAh5-\0M \0\0\17o\blI\ 1\0#q 1atsnp48-\0M \0\0\17o\btI\ 1\0#q 6Ws04OcX-\0M \0\0\17o\b|I\ 1\0#q 3GrzMsVS-\0M \0\0\17o\b\84I\ 1\0#q x9Po989d-\0M \0\0\17o\b\8cI\ 1\0#q 4u9uULJy-\0M \0\0\17o\b\94I\ 1\0#q wb+G3r10-\0M \0\0\17o\b\9cI\ 1\0#q Y9F054GP-\0M \0\0\17o\b¤I\ 1\0#q rm4+L04Z-\0M \0\0\17o\b¬I\ 1\0#q JJkqxvxw-\0M \0\0\17o\b´I\ 1\0#q 8zVtr078-\0M \0\0\17o\b¼I\ 1\0#q cZmaVPNF-\0M \0\0\17o\bÄI\ 1\0#q 8eWOnzjt-\0M \0\0\17o\bÌI\ 1\0#q m+Dzp6MO-\0M \0\0\17o\bÔI\ 1\0#q XKqbXT5a-\0M \0\0\17o\bÜI\ 1\0#q KmzzblVT-\0M \0\0\17o\bäI\ 1\0#q g1w8Fy8+-\0M \0\0\17o\bìI\ 1\0#q g7bfFrpV-\0M \0\0\17o\bôI\ 1\0#q SnXPW1fH-\0M \0\0\17o\büI\ 1\0#q bb1XDGGp-\0M \0\0\17o\b\ 4J\ 1\0#q mJERNfAa-\0M \0\0\17o\b\fJ\ 1\0#q YbUdLIY1-\0M \0\0\17o\b\14J\ 1\0#q MzGDJvWa-\0M \0\0\17o\b\1cJ\ 1\0#q VJua1NSM-\0M \0\0\17o\b$J\ 1\0#q 8i0YiLdV-\0M \0\0\17o\b,J\ 1\0#q bblrW5bV-\0M \0\0\17o\b4J\ 1\0#q tO8YJSMq-\0M \0\0\17o\b<J\ 1\0#q FKEhgmDm-\0M \0\0\17o\bDJ\ 1\0#q WUhjLJDM-\0M \0\0\17o\bLJ\ 1\0#q DKMoiZY0-\0M \0\0\17o\bTJ\ 1\0#q CluHGm7k-\0M \0\0\17o\b\J\ 1\0#q suQolpmE-\0M \0\0\17o\bdJ\ 1\0#q xItaAGFE-\0M \0\0\17o\blJ\ 1\0#q t1JhFAmU-\0M \0\0\17o\btJ\ 1\0#q BNrbKCiJ-\0M \0\0\17o\b|J\ 1\0#q TAyJZtAr-\0M \0\0\17o\b\84J\ 1\0#q EMXRREHC-\0M \0\0\17o\b\8cJ\ 1\0#q ZTHBRGRE-\0M \0\0\17o\b\94J\ 1\0#q xxlmSkst-\0M \0\0\17o\b\9cJ\ 1\0#q EbmFe7IA-\0M \0\0\17o\b¤J\ 1\0#q BXoWWFGH-\0M \0\0\17o\b¬J\ 1\0#q TOoGks2l-\0M \0\0\17o\b´J\ 1\0#q kVQKlwse-\0M \0\0\17o\b¼J\ 1\0#q rtIkulaY-\0M \0\0\17o\bÄJ\ 1\0#q xU1YkYar-\0M \0\0\17o\bÌJ\ 1\0#q IugRakIp-\0M \0\0\17o\bÔJ\ 1\0#q IA20qUYZ-\0M \0\0\17o\bÜJ\ 1\0#q mFcabhmN-\0M \0\0\17o\bäJ\ 1\0#q azfPjwNM-\0M \0\0\17o\bìJ\ 1\0#q IdbaUG3c-\0M \0\0\17o\bôJ\ 1\0#q zeq/mv+/-\0M \0\0\17o\büJ\ 1\0#q sp9452V9-\0M \0\0\17o\b\ 4K\ 1\0#q fRjeX3nA-\0M \0\0\17o\b\fK\ 1\0#q +uetKRd6-\0M \0\0\17o\b\14K\ 1\0#q dGlzfHRV-\0M \0\0\17o\b\1cK\ 1\0#q jgAwXV1f-\0M \0\0\17o\b$K\ 1\0#q rY5IFJFD-\0M \0\0\17o\b,K\ 1\0#q JHyc4IKX-\0M \0\0\17o\b4K\ 1\0#q OHll1l7l-\0M \0\0\17o\b<K\ 1\0#q pW8epW5M-\0M \0\0\17o\bDK\ 1\0#q L2nMCWfF-\0M \0\0\17o\bLK\ 1\0#q zdoNoJaH-\0M \0\0\17o\bTK\ 1\0#q yyw0D1bE-\0M \0\0\17o\b\K\ 1\0#q tW98yTVc-\0M \0\0\17o\bdK\ 1\0#q nh6l4fNM-\0M \0\0\17o\blK\ 1\0#q 870OjJT1-\0M \0\0\17o\btK\ 1\0#q pY+N9aOl-\0M \0\0\17o\b|K\ 1\0#q HSOoPVAj-\0M \0\0\17o\b\84K\ 1\0#q vfOy6XY2-\0M \0\0\17o\b\8cK\ 1\0#q YjllLzgB-\0M \0\0\17o\b\94K\ 1\0#q wOAG54zy-\0M \0\0\17o\b\9cK\ 1\0#q 9JMd5d5Q-\0M \0\0\17o\b¤K\ 1\0#q 8hgek7Rp-\0M \0\0\17o\b¬K\ 1\0#q Q8Gnkrxx-\0M \0\0\17o\b´K\ 1\0#q qqbKdNcH-\0M \0\0\17o\b¼K\ 1\0#q fWnS55Nc-\0M \0\0\17o\bÄK\ 1\0#q mdbrjhq8-\0M \0\0\17o\bÌK\ 1\0#q o7ZUGlvW-\0M \0\0\17o\bÔK\ 1\0#q BfCumh2v-\0M \0\0\17o\bÜK\ 1\0#q HI1+9s96-\0M \0\0\17o\bäK\ 1\0#q 2fXxMfAc-\0M \0\0\17o\bìK\ 1\0#q quYF86Tr-\0M \0\0\17o\bôK\ 1\0#q DOPl1vW8-\0M \0\0\17o\büK\ 1\0#q b/pXKecT-\0M \0\0\17o\b\ 4L\ 1\0#q uBeH0U+L-\0M \0\0\17o\b\fL\ 1\0#q 2fGp45XJ-\0M \0\0\17o\b\14L\ 1\0#q w718Z9c+-\0M \0\0\17o\b\1cL\ 1\0#q sP5PnLvB-\0M \0\0\17o\b$L\ 1\0#q 4ymlt2Kl-\0M \0\0\17o\b,L\ 1\0#q HLXaTto+-\0M \0\0\17o\b4L\ 1\0#q Lz741xvN-\0M \0\0\17o\b<L\ 1\0#q 7za4jqJI-\0M \0\0\17o\bDL\ 1\0#q njts1qe5-\0M \0\0\17o\bLL\ 1\0#q S8qL8mlD-\0M \0\0\17o\bTL\ 1\0#q H49Q5+dZ-\0M \0\0\17o\b\L\ 1\0#q rXjzpsqc-\0M \0\0\17o\bdL\ 1\0#q d5m9LldK-\0M \0\0\17o\blL\ 1\0#q pvtv4EDZ-\0M \0\0\17o\btL\ 1\0#q 8DPrN/Pu-\0M \0\0\17o\b|L\ 1\0#q tb32490+-\0M \0\0\17o\b\84L\ 1\0#q paWvg7pO-\0M \0\0\17o\b\8cL\ 1\0#q vrlKWmnn-\0M \0\0\17o\b\94L\ 1\0#q I72+pedY-\0M \0\0\17o\b\9cL\ 1\0#q n31Y0duG-\0M \0\0\17o\b¤L\ 1\0#q m3a9uBOG-\0M \0\0\17o\b¬L\ 1\0#q OHp0h1SV-\0M \0\0\17o\b´L\ 1\0#q 29OedcZx-\0M \0\0\17o\b¼L\ 1\0#q res3mbt3-\0M \0\0\17o\bÄL\ 1\0#q 2npptw7E-\0M \0\0\17o\bÌL\ 1\0#q xetpdUUO-\0M \0\0\17o\bÔL\ 1\0#q nblLt5m2-\0M \0\0\17o\bÜL\ 1\0#q eaqlyh4K-\0M \0\0\17o\bäL\ 1\0#q fAeqHL66-\0M \0\0\17o\bìL\ 1\0#q aztyzHfh-\0M \0\0\17o\bôL\ 1\0#q 69Zol/Tf-\0M \0\0\17o\büL\ 1\0#q R5kRkieu-\0M \0\0\17o\b\ 4M\ 1\0#q PNq2+3lo-\0M \0\0\17o\b\fM\ 1\0#q JODHljhP-\0M \0\0\17o\b\14M\ 1\0#q alUp+OsY-\0M \0\0\17o\b\1cM\ 1\0#q +bVGsXp3-\0M \0\0\17o\b$M\ 1\0#q +KNK9Otu-\0M \0\0\17o\b,M\ 1\0#q XLOAJqZo-\0M \0\0\17o\b4M\ 1\0#q ZPU24tuy-\0M \0\0\17o\b<M\ 1\0#q RwnGurXK-\0M \0\0\17o\bDM\ 1\0#q ohrzvvvN-\0M \0\0\17o\bLM\ 1\0#q a1ts2nXK-\0M \0\0\17o\bTM\ 1\0#q nipqQDwx-\0M \0\0\17o\b\M\ 1\0#q Ou8bJI6Z-\0M \0\0\17o\bdM\ 1\0#q fCCZCNw6-\0M \0\0\17o\blM\ 1\0#q XfbiBozK-\0M \0\0\17o\btM\ 1\0#q 29Oz5zmL-\0M \0\0\17o\b|M\ 1\0#q qvm1x9ci-\0M \0\0\17o\b\84M\ 1\0#q pT7Klty8-\0M \0\0\17o\b\8cM\ 1\0#q pOF329uO-\0M \0\0\17o\b\94M\ 1\0#q N9fPvbr1-\0M \0\0\17o\b\9cM\ 1\0#q pzeMpPe+-\0M \0\0\17o\b¤M\ 1\0#q Hr3sIHq4-\0M \0\0\17o\b¬M\ 1\0#q +uc3mZ3P-\0M \0\0\17o\b´M\ 1\0#q LvZO09OH-\0M \0\0\17o\b¼M\ 1\0#q TzESDs42-\0M \0\0\17o\bÄM\ 1\0#q 6htwdn3f-\0M \0\0\17o\bÌM\ 1\0#q VRW3ZttT-\0M \0\0\17o\bÔM\ 1\0#q nnnM+rHb-\0M \0\0\17o\bÜM\ 1\0#q w7G+GlU7-\0M \0\0\17o\bäM\ 1\0#q XPMqrzx1-\0M \0\0\17o\bìM\ 1\0#q qcbOsdvG-\0M \0\0\17o\bôM\ 1\0#q ePMYn1vf-\0M \0\0\17o\büM\ 1\0#q 33e97bkX-\0M \0\0\17o\b\ 4N\ 1\0#q TF7M1573-\0M \0\0\17o\b\fN\ 1\0#q x3nTpy0f-\0M \0\0\17o\b\14N\ 1\0#q rx3VKHxz-\0M \0\0\17o\b\1cN\ 1\0#q qqHTh4ED-\0M \0\0\17o\b$N\ 1\0#q 3htxzp0r-\0M \0\0\17o\b,N\ 1\0#q R7w7XpnF-\0M \0\0\17o\b4N\ 1\0#q bjBaMsMA-\0M \0\0\17o\b<N\ 1\0#q ti2WdMGW-\0M \0\0\17o\bDN\ 1\0#q WphmA3IG-\0M \0\0\17o\bLN\ 1\0#q ILJKMBLT-\0M \0\0\17o\bTN\ 1\0#q KBQMAVWS-\0M \0\0\17o\b\N\ 1\0#q sjIorJMW-\0M \0\0\17o\bdN\ 1\0#q W8bZqzbp-\0M \0\0\17o\blN\ 1\0#q hIxqPLNy-\0M \0\0\17o\btN\ 1\0#q rUqhpj+j-\0M \0\0\17o\b|N\ 1\0#q 5VOekvjv-\0M \0\0\17o\b\84N\ 1\0#q VUYBwAAa-\0M \0\0\17o\b\8cN\ 1\0#q KM8rSbnb-\0M \0\0\17o\b\94N\ 1\0#q y5mMvMGZ-\0M \0\0\17o\b\9cN\ 1\0#q KspWru7u-\0M \0\0\17o\b¤N\ 1\0#q iVau7t3V-\0M \0\0\17o\b¬N\ 1\0#q 3cu7uqaS-\0M \0\0\17o\b´N\ 1\0#q IWAE8B4e-\0M \0\0\17o\b¼N\ 1\0#q Ac8bruXX-\0M \0\0\17o\bÄN\ 1\0#q Y8ta9Ryl-\0M \0\0\17o\bÌN\ 1\0#q s10jpy+y-\0M \0\0\17o\bÔN\ 1\0#q ++675d2E-\0M \0\0\17o\bÜN\ 1\0#q USCjzzqZ-\0M \0\0\17o\bäN\ 1\0#q O093qYXV-\0M \0\0\17o\bìN\ 1\0#q 3T5vii7t-\0M \0\0\17o\bôN\ 1\0#q dBPVdZIj-\0M \0\0\17o\büN\ 1\0#q 3ygmbS4u-\0M \0\0\17o\b\ 4O\ 1\0#q +tw9U5gd-\0M \0\0\17o\b\fO\ 1\0#q efWVrXZ6-\0M \0\0\17o\b\14O\ 1\0#q tawSHPWT-\0M \0\0\17o\b\1cO\ 1\0#q XMsxnk4i-\0M \0\0\17o\b$O\ 1\0#q q+i56tph-\0M \0\0\17o\b,O\ 1\0#q w8+ToZ4O-\0M \0\0\17o\b4O\ 1\0#q 5ATgW0Mk-\0M \0\0\17o\b<O\ 1\0#q EcLw296l-\0M \0\0\17o\bDO\ 1\0#q NsfrDk50-\0M \0\0\17o\bLO\ 1\0#q J1jPLRV9-\0M \0\0\17o\bTO\ 1\0#q 0fWN0hz8-\0M \0\0\17o\b\O\ 1\0#q XrpcPBen-\0M \0\0\17o\bdO\ 1\0#q vXi8edeZ-\0M \0\0\17o\blO\ 1\0#q s4mllq+u-\0M \0\0\17o\btO\ 1\0#q tW458+TO-\0M \0\0\17o\b|O\ 1\0#q npnKJE+E-\0M \0\0\17o\b\84O\ 1\0#q 9OPI7Lq6-\0M \0\0\17o\b\8cO\ 1\0#q OG1pjRt3-\0M \0\0\17o\b\94O\ 1\0#q w5fVc9jp-\0M \0\0\17o\b\9cO\ 1\0#q +Ncu5Uh7-\0M \0\0\17o\b¤O\ 1\0#q FTth7vi3-\0M \0\0\17o\b¬O\ 1\0#q HHbwktHI-\0M \0\0\17o\b´O\ 1\0#q vTl5d+3C-\0M \0\0\17o\b¼O\ 1\0#q HhU0Lhwy-\0M \0\0\17o\bÄO\ 1\0#q Sh1NMXTX-\0M \0\0\17o\bÌO\ 1\0#q faqcvPWZ-\0M \0\0\17o\bÔO\ 1\0#q mV6OkmSy-\0M \0\0\17o\bÜO\ 1\0#q xFrWcJrW-\0M \0\0\17o\bäO\ 1\0#q i1kksrvv-\0M \0\0\17o\bìO\ 1\0#q gqr6xW9z-\0M \0\0\17o\bôO\ 1\0#q j1ymeq4d-\0M \0\0\17o\büO\ 1\0#q cNajmbSD-\0M \0\0\17o\b\ 4P\ 1\0#q kR2mTlry-\0M \0\0\17o\b\fP\ 1\0#q 5AnE7fgk-\0M \0\0\17o\b\14P\ 1\0#q 9Tk978Fs-\0M \0\0\17o\b\1cP\ 1\0#q 2pXhPvjl-\0M \0\0\17o\b$P\ 1\0#q tkl3AXoF-\0M \0\0\17o\b,P\ 1\0#q 93yfjrr8-\0M \0\0\17o\b4P\ 1\0#q 4+986555-\0M \0\0\17o\b<P\ 1\0#q 56eaKe/T-\0M \0\0\17o\bDP\ 1\0#q cvX8+tDp-\0M \0\0\17o\bLP\ 1\0#q +Pi1RQ8f-\0M \0\0\17o\bTP\ 1\0#q dUu2pvFd-\0M \0\0\17o\b\P\ 1\0#q MbdPAQGN-\0M \0\0\17o\bdP\ 1\0#q N8ivU7S9-\0M \0\0\17o\blP\ 1\0#q Ryc166k8-\0M \0\0\17o\btP\ 1\0#q yJc5IdVF-\0M \0\0\17o\b|P\ 1\0#q db88+uu+-\0M \0\0\17o\b\84P\ 1\0#q /zeZveuG-\0M \0\0\17o\b\8cP\ 1\0#q j1wuL35U-\0M \0\0\17o\b\94P\ 1\0#q llCnrTCt-\0M \0\0\17o\b\9cP\ 1\0#q 7IYcNxTh-\0M \0\0\17o\b¤P\ 1\0#q FFbQtqjN-\0M \0\0\17o\b¬P\ 1\0#q ZgXr60ba-\0M \0\0\17o\b´P\ 1\0#q Y2hffWp4-\0M \0\0\17o\b¼P\ 1\0#q +ubvM/NI-\0M \0\0\17o\bÄP\ 1\0#q WzW5Uj1D-\0M \0\0\17o\bÌP\ 1\0#q p8eU+ZTg-\0M \0\0\17o\bÔP\ 1\0#q 3naukLoZ-\0M \0\0\17o\bÜP\ 1\0#q zl+a1n3v-\0M \0\0\17o\bäP\ 1\0#q Gta8samS-\0M \0\0\17o\bìP\ 1\0#q Fp7nvlKV-\0M \0\0\17o\bôP\ 1\0#q uVxKevXT-\0M \0\0\17o\büP\ 1\0#q jTg2duJ3-\0M \0\0\17o\b\ 4Q\ 1\0#q SfNK066b-\0M \0\0\17o\b\fQ\ 1\0#q lwcPF5xw-\0M \0\0\17o\b\14Q\ 1\0#q 2+0cZJzr-\0M \0\0\17o\b\1cQ\ 1\0#q x68c3veN-\0M \0\0\17o\b$Q\ 1\0#q ZrGOHXbT-\0M \0\0\17o\b,Q\ 1\0#q SSRwPSDE-\0M \0\0\17o\b4Q\ 1\0#q 242fCWz4-\0M \0\0\17o\b<Q\ 1\0#q vTsVKYqO-\0M \0\0\17o\bDQ\ 1\0#q F4bx775p-\0M \0\0\17o\bLQ\ 1\0#q 0xeOddrO-\0M \0\0\17o\bTQ\ 1\0#q pVXqcPaq-\0M \0\0\17o\b\Q\ 1\0#q qOW22WtV-\0M \0\0\17o\bdQ\ 1\0#q 88c4xmZY-\0M \0\0\17o\blQ\ 1\0#q 7dL6ei95-\0M \0\0\17o\btQ\ 1\0#q 6V67bbVt-\0M \0\0\17o\b|Q\ 1\0#q Wu+nzM5f-\0M \0\0\17o\b\84Q\ 1\0#q LQ6pS9sJ-\0M \0\0\17o\b\8cQ\ 1\0#q RXrzSp0c-\0M \0\0\17o\b\94Q\ 1\0#q NSpHqF1o-\0M \0\0\17o\b\9cQ\ 1\0#q swXg7xoe-\0M \0\0\17o\b¤Q\ 1\0#q ipTO2OO3-\0M \0\0\17o\b¬Q\ 1\0#q gSMFkwqy-\0M \0\0\17o\b´Q\ 1\0#q WwWmzzmd-\0M \0\0\17o\b¼Q\ 1\0#q 5mSrkIb9-\0M \0\0\17o\bÄQ\ 1\0#q W0R4V052-\0M \0\0\17o\bÌQ\ 1\0#q 4SQ8m/L0-\0M \0\0\17o\bÔQ\ 1\0#q 7yCFN+NE-\0M \0\0\17o\bÜQ\ 1\0#q inDh32PH-\0M \0\0\17o\bäQ\ 1\0#q fHDzfDTY-\0M \0\0\17o\bìQ\ 1\0#q p2pF9vXX-\0M \0\0\17o\bôQ\ 1\0#q neZ84x6v-\0M \0\0\17o\büQ\ 1\0#q cPRzRtDb-\0M \0\0\17o\b\ 4R\ 1\0#q 1rS9KNoj-\0M \0\0\17o\b\fR\ 1\0#q G3tt8trV-\0M \0\0\17o\b\14R\ 1\0#q Sm4nKzy3-\0M \0\0\17o\b\1cR\ 1\0#q R6xxhOMV-\0M \0\0\17o\b$R\ 1\0#q R5krVhMy-\0M \0\0\17o\b,R\ 1\0#q jGXOrVEk-\0M \0\0\17o\b4R\ 1\0#q qjaow3gh-\0M \0\0\17o\b<R\ 1\0#q lCSpZNWB-\0M \0\0\17o\bDR\ 1\0#q cVaxL3Fc-\0M \0\0\17o\bLR\ 1\0#q Y9ZJpkrn-\0M \0\0\17o\bTR\ 1\0#q Jzlzh3m8-\0M \0\0\17o\b\R\ 1\0#q wze+XP8u-\0M \0\0\17o\bdR\ 1\0#q V2KlNuHo-\0M \0\0\17o\blR\ 1\0#q vYPm99af-\0M \0\0\17o\btR\ 1\0#q Pmu8VUqU-\0M \0\0\17o\b|R\ 1\0#q J47l3jmZ-\0M \0\0\17o\b\84R\ 1\0#q l5eHCqbb-\0M \0\0\17o\b\8cR\ 1\0#q HO7xlEBF-\0M \0\0\17o\b\94R\ 1\0#q cBA5Jb3t-\0M \0\0\17o\b\9cR\ 1\0#q 32Zl9tPv-\0M \0\0\17o\b¤R\ 1\0#q d2smGycK-\0M \0\0\17o\b¬R\ 1\0#q E9uyfDQQ-\0M \0\0\17o\b´R\ 1\0#q PDS8Ltb4-\0M \0\0\17o\b¼R\ 1\0#q qBF9a8qn-\0M \0\0\17o\bÄR\ 1\0#q udmpDwX4-\0M \0\0\17o\bÌR\ 1\0#q +wdtdWPr-\0M \0\0\17o\bÔR\ 1\0#q zp5ZJ51I-\0M \0\0\17o\bÜR\ 1\0#q afAcnZAs-\0M \0\0\17o\bäR\ 1\0#q PkypcqpR-\0M \0\0\17o\bìR\ 1\0#q FBAcxIYW-\0M \0\0\17o\bôR\ 1\0#q s3vTR50f-\0M \0\0\17o\büR\ 1\0#q EtvnqdcU-\0M \0\0\17o\b\ 4S\ 1\0#q o/dUXwei-\0M \0\0\17o\b\fS\ 1\0#q bTydGiJ4-\0M \0\0\17o\b\14S\ 1\0#q PFIOWjex-\0M \0\0\17o\b\1cS\ 1\0#q 8NM77ddu-\0M \0\0\17o\b$S\ 1\0#q nuIT3rfm-\0M \0\0\17o\b,S\ 1\0#q 5Wc23BHl-\0M \0\0\17o\b4S\ 1\0#q y1Kmmj15-\0M \0\0\17o\b<S\ 1\0#q 2czh1j2q-\0M \0\0\17o\bDS\ 1\0#q UpWYqJEq-\0M \0\0\17o\bLS\ 1\0#q vL10rcCe-\0M \0\0\17o\bTS\ 1\0#q dpLOreZE-\0M \0\0\17o\b\S\ 1\0#q jlnPpzu3-\0M \0\0\17o\bdS\ 1\0#q bt2Pe9pI-\0M \0\0\17o\blS\ 1\0#q bbhG5Vds-\0M \0\0\17o\btS\ 1\0#q kX49R4c9-\0M \0\0\17o\b|S\ 1\0#q PrbZr3tV-\0M \0\0\17o\b\84S\ 1\0#q MdOn17de-\0M \0\0\17o\b\8cS\ 1\0#q nw+aNedr-\0M \0\0\17o\b\94S\ 1\0#q TuVI+Pjo-\0M \0\0\17o\b\9cS\ 1\0#q 67O359n1-\0M \0\0\17o\b¤S\ 1\0#q jijiSSJ9-\0M \0\0\17o\b¬S\ 1\0#q jstJAwAW-\0M \0\0\17o\b´S\ 1\0#q h6D6ObOe-\0M \0\0\17o\b¼S\ 1\0#q kTEOeh3n-\0M \0\0\17o\bÄS\ 1\0#q Ar2g7ynr-\0M \0\0\17o\bÌS\ 1\0#q 8xXTOMYF-\0M \0\0\17o\bÔS\ 1\0#q cwj5xiIp-\0M \0\0\17o\bÜS\ 1\0#q x8cwczh8-\0M \0\0\17o\bäS\ 1\0#q LfyjzhSP-\0M \0\0\17o\bìS\ 1\0#q Bt74x6zv-\0M \0\0\17o\bôS\ 1\0#q dzHlySLo-\0M \0\0\17o\büS\ 1\0#q 8nCSRsk0-\0M \0\0\17o\b\ 4T\ 1\0#q eS6TRbxm-\0M \0\0\17o\b\fT\ 1\0#q Z3wnmxmn-\0M \0\0\17o\b\14T\ 1\0#q HMkNhygx-\0M \0\0\17o\b\1cT\ 1\0#q jtJKwkU8-\0M \0\0\17o\b$T\ 1\0#q 3mOviqqN-\0M \0\0\17o\b,T\ 1\0#q jty5d4e4-\0M \0\0\17o\b4T\ 1\0#q 4KmUaw85-\0M \0\0\17o\b<T\ 1\0#q 5t7i6cPI-\0M \0\0\17o\bDT\ 1\0#q 8nbp5Sqj-\0M \0\0\17o\bLT\ 1\0#q jbpFk2dj-\0M \0\0\17o\bTT\ 1\0#q dy3yk88p-\0M \0\0\17o\b\T\ 1\0#q G+mJSHbO-\0M \0\0\17o\bdT\ 1\0#q Xfhw58IK-\0M \0\0\17o\blT\ 1\0#q 24kkSC+D-\0M \0\0\17o\btT\ 1\0#q zcXXnNW6-\0M \0\0\17o\b|T\ 1\0#q 12O4HXcP-\0M \0\0\17o\b\84T\ 1\0#q Owd+O0Fl-\0M \0\0\17o\b\8cT\ 1\0#q 8PvuZjsC-\0M \0\0\17o\b\94T\ 1\0#q x5376uzw-\0M \0\0\17o\b\9cT\ 1\0#q IG+WIPHL-\0M \0\0\17o\b¤T\ 1\0#q tDGueXTE-\0M \0\0\17o\b¬T\ 1\0#q g7dMzfR0-\0M \0\0\17o\b´T\ 1\0#q JnnGHYm9-\0M \0\0\17o\b¼T\ 1\0#q idAqLLCy-\0M \0\0\17o\bÄT\ 1\0#q KsqxZVXx-\0M \0\0\17o\bÌT\ 1\0#q lbdLKppp-\0M \0\0\17o\bÔT\ 1\0#q SUky2Smf-\0M \0\0\17o\bÜT\ 1\0#q Gld42pFy-\0M \0\0\17o\bäT\ 1\0#q h9d+861r-\0M \0\0\17o\bìT\ 1\0#q CugePr6r-\0M \0\0\17o\bôT\ 1\0#q 6xOggdtd-\0M \0\0\17o\büT\ 1\0#q Pr4hx457-\0M \0\0\17o\b\ 4U\ 1\0#q uTlQ/lju-\0M \0\0\17o\b\fU\ 1\0#q vcrnltjn-\0M \0\0\17o\b\14U\ 1\0#q btqu9rUk-\0M \0\0\17o\b\1cU\ 1\0#q 6cL7e+9c-\0M \0\0\17o\b$U\ 1\0#q X1mt71d5-\0M \0\0\17o\b,U\ 1\0#q mJrs2PD2-\0M \0\0\17o\b4U\ 1\0#q zySR16d7-\0M \0\0\17o\b<U\ 1\0#q 2kTx67dP-\0M \0\0\17o\bDU\ 1\0#q B2rKOy76-\0M \0\0\17o\bLU\ 1\0#q 78XpyWhU-\0M \0\0\17o\bTU\ 1\0#q p8dXq0t/-\0M \0\0\17o\b\U\ 1\0#q AX04768z-\0M \0\0\17o\bdU\ 1\0#q Wa18ejz5-\0M \0\0\17o\blU\ 1\0#q cuUnls27-\0M \0\0\17o\btU\ 1\0#q TZy4O2rx-\0M \0\0\17o\b|U\ 1\0#q Rtxcg11S-\0M \0\0\17o\b\84U\ 1\0#q 6cfNoYO+-\0M \0\0\17o\b\8cU\ 1\0#q +madlcs6-\0M \0\0\17o\b\94U\ 1\0#q drb67VY8-\0M \0\0\17o\b\9cU\ 1\0#q K3zSk4Yq-\0M \0\0\17o\b¤U\ 1\0#q tLvupO/D-\0M \0\0\17o\b¬U\ 1\0#q a6JNXUsg-\0M \0\0\17o\b´U\ 1\0#q 3mJLapKt-\0M \0\0\17o\b¼U\ 1\0#q WFixTMIx-\0M \0\0\17o\bÄU\ 1\0#q iMYqYxW1-\0M \0\0\17o\bÌU\ 1\0#q DMkpmVKM-\0M \0\0\17o\bÔU\ 1\0#q qXrbSzMt-\0M \0\0\17o\bÜU\ 1\0#q 9/sqIqP+-\0M \0\0\17o\bäU\ 1\0#q t/93+I/0-\0M \0\0\17o\bìU\ 1\0#q n5Sn7T+Q-\0M \0\0\17o\bôU\ 1\0#q T8zf0X7f-\0M \0\0\17o\büU\ 1\0#q +TD+B4Ct-\0M \0\0\17o\b\ 4V\ 1\0#q tqUP4hlE-\0M \0\0\17o\b\fV\ 1\0#q RRRTARIf-\0M \0\0\17o\b\14V\ 1\0#q upD+YUw/-\0M \0\0\17o\b\1cV\ 1\0#q Q0KfxO/Y-\0M \0\0\17o\b$V\ 1\0#q VFVv5cOF-\0M \0\0\17o\b,V\ 1\0#q w/8J24f+-\0M \0\0\17o\b4V\ 1\0#q hMf6Mf+D-\0M \0\0\17o\b<V\ 1\0#q F/3MXL//-\0M \0\0\17o\bDV\ 1\0#q P7Nv+9/D-\0M \0\0\17o\bLV\ 1\0#q R8PD7NE/-\0M \0\0\17o\bTV\ 1\0#q L5Y0/73/-\0M \0\0\17o\b\V\ 1\0#q Q5TalV9v-\0M \0\0\17o\bdV\ 1\0#q /fbLbfTY-\0M \0\0\17o\blV\ 1\0#q 6Wd/hbKs-\0M \0\0\17o\btV\ 1\0#q n7vhvhct-\0M \0\0\17o\b|V\ 1\0#q tfh9p/Rx-\0M \0\0\17o\b\84V\ 1\0#q 9F7ThpoO-\0M \0\0\17o\b\8cV\ 1\0#q zo/of+im-\0M \0\0\17o\b\94V\ 1\0#q n7jnrLba-\0M \0\0\17o\b\9cV\ 1\0#q vsef4r/U-\0M \0\0\17o\b¤V\ 1\0#q cA+RPuf3-\0M \0\0\17o\b¬V\ 1\0#q Q+f9UqkU-\0M \0\0\17o\b´V\ 1\0#q /8ap/+MF-\0M \0\0\17o\b¼V\ 1\0#q IjMqlZkq-\0M \0\0\17o\bÄV\ 1\0#q slsVZsrV-\0M \0\0\17o\bÌV\ 1\0#q JUlRZLa2-\0M \0\0\17o\bÔV\ 1\0#q yy2qaRaW-\0M \0\0\17o\bÜV\ 1\0#q WqRTKzaZ-\0M \0\0\17o\bäV\ 1\0#q ooGCAwg+-\0M \0\0\17o\bìV\ 1\0#q x/nV+FYg-\0M \0\0\17o\bôV\ 1\0#q +fi2+gz8-\0M \0\0\17o\büV\ 1\0#q s/Z89W73-\0M \0\0\17o\b\ 4W\ 1\0#q ufUfZfMZ-\0M \0\0\17o\b\fW\ 1\0#q rG5jSeX2-\0M \0\0\17o\b\14W\ 1\0#q +tXiLy5t-\0M \0\0\17o\b\1cW\ 1\0#q M25ZFqjV-\0M \0\0\17o\b$W\ 1\0#q UHVXHVO7-\0M \0\0\17o\b,W\ 1\0#q t3Rjfk7W-\0M \0\0\17o\b4W\ 1\0#q WV5Xd3zf-\0M \0\0\17o\b<W\ 1\0#q CC7d74/B-\0M \0\0\17o\bDW\ 1\0#q svzb8BBp-\0M \0\0\17o\bLW\ 1\0#q uu3U3zvX-\0M \0\0\17o\bTW\ 1\0#q Onzxjysz-\0M \0\0\17o\b\W\ 1\0#q B3F1Lpzy-\0M \0\0\17o\bdW\ 1\0#q 88Auvjt8-\0M \0\0\17o\blW\ 1\0#q OJfX88hg-\0M \0\0\17o\btW\ 1\0#q 8tvPa23z-\0M \0\0\17o\b|W\ 1\0#q rze8IBCE-\0M \0\0\17o\b\84W\ 1\0#q kACBACSe-\0M \0\0\17o\b\8cW\ 1\0#q svoy46Ii-\0M \0\0\17o\b\94W\ 1\0#q KqqiKiKr-\0M \0\0\17o\b\9cW\ 1\0#q mbpczNUA-\0M \0\0\17o\b¤W\ 1\0#q kJJCTVer-\0M \0\0\17o\b¬W\ 1\0#q Lbqur773-\0M \0\0\17o\b´W\ 1\0#q rXpy1c6c-\0M \0\0\17o\b¼W\ 1\0#q 7tea+Z7X-\0M \0\0\17o\bÄW\ 1\0#q ygAnXQEQ-\0M \0\0\17o\bÌW\ 1\0#q RJmCo+i1-\0M \0\0\17o\bÔW\ 1\0#q VHsgGMnt-\0M \0\0\17o\bÜW\ 1\0#q 6oTG4h52-\0M \0\0\17o\bäW\ 1\0#q C6u8SvLr-\0M \0\0\17o\bìW\ 1\0#q MP/waB4B-\0M \0\0\17o\bôW\ 1\0#q wc2A8sBa-\0M \0\0\17o\büW\ 1\0#q DwhBB/o7-\0M \0\0\17o\b\ 4X\ 1\0#q aeobMefe-\0M \0\0\17o\b\fX\ 1\0#q uPi73vZt-\0M \0\0\17o\b\14X\ 1\0#q 7rVet2rb-\0M \0\0\17o\b\1cX\ 1\0#q 0T0fQ/9r-\0M \0\0\17o\b$X\ 1\0#q ykNCbO/h-\0M \0\0\17o\b,X\ 1\0#q d3LcnNv0-\0M \0\0\17o\b4X\ 1\0#q nxbJpOOM-\0M \0\0\17o\b<X\ 1\0#q 9dbX3aau-\0M \0\0\17o\bDX\ 1\0#q DKzP4RVk-\0M \0\0\17o\bLX\ 1\0#q 8gGChiP3-\0M \0\0\17o\bTX\ 1\0#q tin+2Ko0-\0M \0\0\17o\b\X\ 1\0#q zGvv8rm9-\0M \0\0\17o\bdX\ 1\0#q 97r3xV1p-\0M \0\0\17o\blX\ 1\0#q t67QJwiE-\0M \0\0\17o\btX\ 1\0#q FqEG2tbk-\0M \0\0\17o\b|X\ 1\0#q dFH93DBw-\0M \0\0\17o\b\84X\ 1\0#q DjIPBfPi-\0M \0\0\17o\b\8cX\ 1\0#q 1V5aFeIA-\0M \0\0\17o\b\94X\ 1\0#q HWiKoxX7-\0M \0\0\17o\b\9cX\ 1\0#q fYcN7XsJ-\0M \0\0\17o\b¤X\ 1\0#q zs2YByCq-\0M \0\0\17o\b¬X\ 1\0#q CB9JkFUV-\0M \0\0\17o\b´X\ 1\0#q QVTA6PRv-\0M \0\0\17o\b¼X\ 1\0#q zz5effmf-\0M \0\0\17o\bÄX\ 1\0#q 8/OC9PMp-\0M \0\0\17o\bÌX\ 1\0#q C+ZtzACF-\0M \0\0\17o\bÔX\ 1\0#q V1K3GMDv-\0M \0\0\17o\bÜX\ 1\0#q G5p00Ri2-\0M \0\0\17o\bäX\ 1\0#q rRwdRGfG-\0M \0\0\17o\bìX\ 1\0#q JGZluZmR-\0M \0\0\17o\bôX\ 1\0#q rhVWSvlP-\0M \0\0\17o\büX\ 1\0#q XhbVm0jU-\0M \0\0\17o\b\ 4Y\ 1\0#q eerZfHWX-\0M \0\0\17o\b\fY\ 1\0#q OyPb4dvG-\0M \0\0\17o\b\14Y\ 1\0#q 7fq7d2Yu-\0M \0\0\17o\b\1cY\ 1\0#q V64ePXrv-\0M \0\0\17o\b$Y\ 1\0#q x6mb41zv-\0M \0\0\17o\b,Y\ 1\0#q jnrfDiqr-\0M \0\0\17o\b4Y\ 1\0#q wFcQ9VbJ-\0M \0\0\17o\b<Y\ 1\0#q CMKmIWYs-\0M \0\0\17o\bDY\ 1\0#q yFKsKZAp-\0M \0\0\17o\bLY\ 1\0#q mGYZYsyk-\0M \0\0\17o\bTY\ 1\0#q KYZSrJYG-\0M \0\0\17o\b\Y\ 1\0#q ZBVZVDCh-\0M \0\0\17o\bdY\ 1\0#q ZKsAxJMK-\0M \0\0\17o\blY\ 1\0#q FRiFQZVK-\0M \0\0\17o\btY\ 1\0#q xBZKLJJh-\0M \0\0\17o\b|Y\ 1\0#q JTbbapSl-\0M \0\0\17o\b\84Y\ 1\0#q mzRec3cV-\0M \0\0\17o\b\8cY\ 1\0#q XShD4BDz-\0M \0\0\17o\b\94Y\ 1\0#q mq1wkRIY-\0M \0\0\17o\b\9cY\ 1\0#q PpUFVy20-\0M \0\0\17o\b¤Y\ 1\0#q DjqcYA1w-\0M \0\0\17o\b¬Y\ 1\0#q AOHwq+O9-\0M \0\0\17o\b´Y\ 1\0#q r3vWre0s-\0M \0\0\17o\b¼Y\ 1\0#q CbAG9xdK-\0M \0\0\17o\bÄY\ 1\0#q yeSrfivb-\0M \0\0\17o\bÌY\ 1\0#q QO34ZArR-\0M \0\0\17o\bÔY\ 1\0#q rbCmGhJ6-\0M \0\0\17o\bÜY\ 1\0#q LPbla+t+-\0M \0\0\17o\bäY\ 1\0#q POc5nw7q-\0M \0\0\17o\bìY\ 1\0#q zbdSzdq7-\0M \0\0\17o\bôY\ 1\0#q p0eJSUbV-\0M \0\0\17o\büY\ 1\0#q XZtq6NOr-\0M \0\0\17o\b\ 4Z\ 1\0#q QouWy7TR-\0M \0\0\17o\b\fZ\ 1\0#q Es2HZNRu-\0M \0\0\17o\b\14Z\ 1\0#q 1Stu7Ysi-\0M \0\0\17o\b\1cZ\ 1\0#q 26gMq7VS-\0M \0\0\17o\b$Z\ 1\0#q 751zzvXP-\0M \0\0\17o\b,Z\ 1\0#q F5506HQJ-\0M \0\0\17o\b4Z\ 1\0#q CRi6HLlt-\0M \0\0\17o\b<Z\ 1\0#q z9uN8Xm7-\0M \0\0\17o\bDZ\ 1\0#q zDLmXMwz-\0M \0\0\17o\bLZ\ 1\0#q p7a33Llu-\0M \0\0\17o\bTZ\ 1\0#q Y0zKuVZC-\0M \0\0\17o\b\Z\ 1\0#q e1T/O/Vl-\0M \0\0\17o\bdZ\ 1\0#q 8Lrrrqrr-\0M \0\0\17o\blZ\ 1\0#q pOIUG2dJ-\0M \0\0\17o\btZ\ 1\0#q ip/z1f+m-\0M \0\0\17o\b|Z\ 1\0#q v/K98Hqw-\0M \0\0\17o\b\84Z\ 1\0#q OlWunXPV-\0M \0\0\17o\b\8cZ\ 1\0#q 64nVSTpZ-\0M \0\0\17o\b\94Z\ 1\0#q bdoyVil8-\0M \0\0\17o\b\9cZ\ 1\0#q PHTcq/c4-\0M \0\0\17o\b¤Z\ 1\0#q iSP+Kkth-\0M \0\0\17o\b¬Z\ 1\0#q +WA/sxSm-\0M \0\0\17o\b´Z\ 1\0#q 2JD/tMfE-\0M \0\0\17o\b¼Z\ 1\0#q f8rSNT+n-\0M \0\0\17o\bÄZ\ 1\0#q 1kfxMmZY-\0M \0\0\17o\bÌZ\ 1\0#q y5UmMVMV-\0M \0\0\17o\bÔZ\ 1\0#q J8ZbwcyY-\0M \0\0\17o\bÜZ\ 1\0#q Sf/ThUxk-\0M \0\0\17o\bäZ\ 1\0#q MMoOz+R2-\0M \0\0\17o\bìZ\ 1\0#q qaP6HTar-\0M \0\0\17o\bôZ\ 1\0#q lv9Raiqx-\0M \0\0\17o\büZ\ 1\0#q hI8PDkHT-\0M \0\0\17o\b\ 4[\ 1\0#q +8nW3ZOm-\0M \0\0\17o\b\f[\ 1\0#q t1jbpR/a-\0M \0\0\17o\b\14[\ 1\0#q cHDtXbA6-\0M \0\0\17o\b\1c[\ 1\0#q Tww1EzKi-\0M \0\0\17o\b$[\ 1\0#q 2KTySO7N-\0M \0\0\17o\b,[\ 1\0#q 2ZTCkq7j-\0M \0\0\17o\b4[\ 1\0#q Yh702Rpx-\0M \0\0\17o\b<[\ 1\0#q AodJwef/-\0M \0\0\17o\bD[\ 1\0#q IaXmsXK/-\0M \0\0\17o\bL[\ 1\0#q lMbLbeD/-\0M \0\0\17o\bT[\ 1\0#q FpyuGQfE-\0M \0\0\17o\b\[\ 1\0#q v6LSrGVZ-\0M \0\0\17o\bd[\ 1\0#q hmSxSSgo-\0M \0\0\17o\bl[\ 1\0#q ikttRbLU-\0M \0\0\17o\bt[\ 1\0#q 9uW0Nrwx-\0M \0\0\17o\b|[\ 1\0#q mKrwfsj9-\0M \0\0\17o\b\84[\ 1\0#q zZ07ekki-\0M \0\0\17o\b\8c[\ 1\0#q Ej2irVcq-\0M \0\0\17o\b\94[\ 1\0#q tMxjTEjV-\0M \0\0\17o\b\9c[\ 1\0#q Xdf6P9p/-\0M \0\0\17o\b¤[\ 1\0#q KOcsyr/s-\0M \0\0\17o\b¬[\ 1\0#q yrMkfUEh-\0M \0\0\17o\b´[\ 1\0#q I+3yT4fG-\0M \0\0\17o\b¼[\ 1\0#q 7atVVren-\0M \0\0\17o\bÄ[\ 1\0#q 4qxU6V/T-\0M \0\0\17o\bÌ[\ 1\0#q taOFf5Mj-\0M \0\0\17o\bÔ[\ 1\0#q /xYPqwPY-\0M \0\0\17o\bÜ[\ 1\0#q q8bLlYHT-\0M \0\0\17o\bä[\ 1\0#q 7x9X86t2-\0M \0\0\17o\bì[\ 1\0#q frOsP+5U-\0M \0\0\17o\bô[\ 1\0#q nmbJUjAN-\0M \0\0\17o\bü[\ 1\0#q vKTCvZwk-\0M \0\0\17o\b\ 4\\ 1\0#q j4T2/Xbt-\0M \0\0\17o\b\f\\ 1\0#q J9f3uJLl-\0M \0\0\17o\b\14\\ 1\0#q xpGGJJwQ-\0M \0\0\17o\b\1c\\ 1\0#q +9LUNxUf-\0M \0\0\17o\b$\\ 1\0#q u/pLKj7v-\0M \0\0\17o\b,\\ 1\0#q l9RwfBGH-\0M \0\0\17o\b4\\ 1\0#q 822fqJ8u-\0M \0\0\17o\b<\\ 1\0#q kk8mkR2V-\0M \0\0\17o\bD\\ 1\0#q 7eCdNCih-\0M \0\0\17o\bL\\ 1\0#q 4rqR/FLZ-\0M \0\0\17o\bT\\ 1\0#q 4nb6xyNC-\0M \0\0\17o\b\\\ 1\0#q n1IfeRyy-\0M \0\0\17o\bd\\ 1\0#q RO0OnsT1-\0M \0\0\17o\bl\\ 1\0#q CDQ+jZX2-\0M \0\0\17o\bt\\ 1\0#q q4iaXcTh-\0M \0\0\17o\b|\\ 1\0#q cJadGG5K-\0M \0\0\17o\b\84\\ 1\0#q +NMY2w4X-\0M \0\0\17o\b\8c\\ 1\0#q V16pdJLb-\0M \0\0\17o\b\94\\ 1\0#q 4bb6ykpD-\0M \0\0\17o\b\9c\\ 1\0#q JjVVSiyD-\0M \0\0\17o\b¤\\ 1\0#q x2/Ppatf-\0M \0\0\17o\b¬\\ 1\0#q 7fHfqTzb-\0M \0\0\17o\b´\\ 1\0#q xrUmrdbU-\0M \0\0\17o\b¼\\ 1\0#q +rGg1FD5-\0M \0\0\17o\bÄ\\ 1\0#q mI/V8tSf-\0M \0\0\17o\bÌ\\ 1\0#q V8o1D9E2-\0M \0\0\17o\bÔ\\ 1\0#q nlH/Sfrs-\0M \0\0\17o\bÜ\\ 1\0#q r/yHD/OP-\0M \0\0\17o\bä\\ 1\0#q 4SeoUU/V-\0M \0\0\17o\bì\\ 1\0#q +sYwlSp/-\0M \0\0\17o\bô\\ 1\0#q 5mPQ/3D6-\0M \0\0\17o\bü\\ 1\0#q 4aVkKRGl-\0M \0\0\17o\b\ 4]\ 1\0#q SewWP9VC-\0M \0\0\17o\b\f]\ 1\0#q GFgUGZCQ-\0M \0\0\17o\b\14]\ 1\0#q wsROn6Cq-\0M \0\0\17o\b\1c]\ 1\0#q H9BPpvLY-\0M \0\0\17o\b$]\ 1\0#q lK20kmjU-\0M \0\0\17o\b,]\ 1\0#q qRVZgh9a-\0M \0\0\17o\b4]\ 1\0#q aGzdo/4o-\0M \0\0\17o\b<]\ 1\0#q xbVDFP9/-\0M \0\0\17o\bD]\ 1\0#q xGOTxP+x-\0M \0\0\17o\bL]\ 1\0#q g6H8uhV0-\0M \0\0\17o\bT]\ 1\0#q ykMME8OX-\0M \0\0\17o\b\]\ 1\0#q jcocLSqe-\0M \0\0\17o\bd]\ 1\0#q qxYyhl2P-\0M \0\0\17o\bl]\ 1\0#q 6/5Hp5nN-\0M \0\0\17o\bt]\ 1\0#q Lf8IonRU-\0M \0\0\17o\b|]\ 1\0#q qUNjY/Db-\0M \0\0\17o\b\84]\ 1\0#q O5llxWJF-\0M \0\0\17o\b\8c]\ 1\0#q SKUSsy3E-\0M \0\0\17o\b\94]\ 1\0#q iYhPJ+cG-\0M \0\0\17o\b\9c]\ 1\0#q Hd98MzE6-\0M \0\0\17o\b¤]\ 1\0#q 4M+DAkD4-\0M \0\0\17o\b¬]\ 1\0#q YiKRisRk-\0M \0\0\17o\b´]\ 1\0#q TDMpmR+s-\0M \0\0\17o\b¼]\ 1\0#q xk9icopW-\0M \0\0\17o\bÄ]\ 1\0#q w4WnC1/0-\0M \0\0\17o\bÌ]\ 1\0#q 5aVMf79W-\0M \0\0\17o\bÔ]\ 1\0#q Mpaf9tje-\0M \0\0\17o\bÜ]\ 1\0#q 5Pm9MTeo-\0M \0\0\17o\bä]\ 1\0#q t7xUVJUo-\0M \0\0\17o\bì]\ 1\0#q SR1ibG8T-\0M \0\0\17o\bô]\ 1\0#q G+mE9pDB-\0M \0\0\17o\bü]\ 1\0#q pFKsllWe-\0M \0\0\17o\b\ 4^\ 1\0#q 3HKtI8x6-\0M \0\0\17o\b\f^\ 1\0#q SfEmFttp-\0M \0\0\17o\b\14^\ 1\0#q JpEsCWDS-\0M \0\0\17o\b\1c^\ 1\0#q lS/NdtwJ-\0M \0\0\17o\b$^\ 1\0#q 44ls8MVR-\0M \0\0\17o\b,^\ 1\0#q i1bmLU08-\0M \0\0\17o\b4^\ 1\0#q xzI4bQf8-\0M \0\0\17o\b<^\ 1\0#q lyf3o/X5-\0M \0\0\17o\bD^\ 1\0#q 8cfuZXke-\0M \0\0\17o\bL^\ 1\0#q jA9K/Wkv-\0M \0\0\17o\bT^\ 1\0#q /oCpOX8A-\0M \0\0\17o\b\^\ 1\0#q optO3imx-\0M \0\0\17o\bd^\ 1\0#q pWsWZVKa-\0M \0\0\17o\bl^\ 1\0#q PlFYOn5e-\0M \0\0\17o\bt^\ 1\0#q kY1bMWGW-\0M \0\0\17o\b|^\ 1\0#q YopWjCWG-\0M \0\0\17o\b\84^\ 1\0#q KaLTIGkP-\0M \0\0\17o\b\8c^\ 1\0#q wFSZp1BR-\0M \0\0\17o\b\94^\ 1\0#q Tc+o1ds/-\0M \0\0\17o\b\9c^\ 1\0#q D/mY0uTh-\0M \0\0\17o\b¤^\ 1\0#q aKlVSilO-\0M \0\0\17o\b¬^\ 1\0#q Hlj2XFcG-\0M \0\0\17o\b´^\ 1\0#q 5JxLZUja-\0M \0\0\17o\b¼^\ 1\0#q yIhAAACE-\0M \0\0\17o\bÄ^\ 1\0#q hJTX703r-\0M \0\0\17o\bÌ^\ 1\0#q bKxG0kYo-\0M \0\0\17o\bÔ^\ 1\0#q RihhijZM-\0M \0\0\17o\bÜ^\ 1\0#q YwxZWGEb-\0M \0\0\17o\bä^\ 1\0#q WSBqVDlZ-\0M \0\0\17o\bì^\ 1\0#q MpZTZSts-\0M \0\0\17o\bô^\ 1\0#q kllbfWle-\0M \0\0\17o\bü^\ 1\0#q ql5taVJK-\0M \0\0\17o\b\ 4_\ 1\0#q GgnkxRrC-\0M \0\0\17o\b\f_\ 1\0#q VSqptIny-\0M \0\0\17o\b\14_\ 1\0#q lG2SrIwx-\0M \0\0\17o\b\1c_\ 1\0#q +wwoppFC-\0M \0\0\17o\b$_\ 1\0#q iU2sGh/N-\0M \0\0\17o\b,_\ 1\0#q QbbQhTFW-\0M \0\0\17o\b4_\ 1\0#q SmMltqpy-\0M \0\0\17o\b<_\ 1\0#q 9NIxK+lX-\0M \0\0\17o\bD_\ 1\0#q 6Y+UYTIb-\0M \0\0\17o\bL_\ 1\0#q ZDzMDN6G-\0M \0\0\17o\bT_\ 1\0#q /c8HjdYs-\0M \0\0\17o\b\_\ 1\0#q VEVWSZxb-\0M \0\0\17o\bd_\ 1\0#q tU0dN3q1-\0M \0\0\17o\bl_\ 1\0#q u3bFRfC4-\0M \0\0\17o\bt_\ 1\0#q kqOpVSPL-\0M \0\0\17o\b|_\ 1\0#q o0pZSIiQ-\0M \0\0\17o\b\84_\ 1\0#q OFnZ0d4q-\0M \0\0\17o\b\8c_\ 1\0#q sQkz4Qqa-\0M \0\0\17o\b\94_\ 1\0#q 1DlekfEJ-\0M \0\0\17o\b\9c_\ 1\0#q ApicdLA4-\0M \0\0\17o\b¤_\ 1\0#q a9OMxhyv-\0M \0\0\17o\b¬_\ 1\0#q FegkCmuM-\0M \0\0\17o\b´_\ 1\0#q 2yHU5NSc-\0M \0\0\17o\b¼_\ 1\0#q I25iY4U2-\0M \0\0\17o\bÄ_\ 1\0#q 4jHLltts-\0M \0\0\17o\bÌ_\ 1\0#q 7StNCk4f-\0M \0\0\17o\bÔ_\ 1\0#q rJzwu0Y6-\0M \0\0\17o\bÜ_\ 1\0#q VjDDFk5R-\0M \0\0\17o\bä_\ 1\0#q ppNKqlRA-\0M \0\0\17o\bì_\ 1\0#q SOcpVq3M-\0M \0\0\17o\bô_\ 1\0#q yVYiVt25-\0M \0\0\17o\bü_\ 1\0#q mTCT+oTR-\0M \0\0\17o\b\ 4`\ 1\0#q DRPR2CKq-\0M \0\0\17o\b\f`\ 1\0#q KWrVqlUr-\0M \0\0\17o\b\14`\ 1\0#q lqaNSrjD-\0M \0\0\17o\b\1c`\ 1\0#q opxKbp6u-\0M \0\0\17o\b$`\ 1\0#q pXldb1PU-\0M \0\0\17o\b,`\ 1\0#q 9s4hJGJA-\0M \0\0\17o\b4`\ 1\0#q 1VbLTiRJ-\0M \0\0\17o\b<`\ 1\0#q 7eok2sM+-\0M \0\0\17o\bD`\ 1\0#q UHLbthMQ-\0M \0\0\17o\bL`\ 1\0#q UFfLLbZV-\0M \0\0\17o\bT`\ 1\0#q qqyVK+p1-\0M \0\0\17o\b\`\ 1\0#q Equ3tpth-\0M \0\0\17o\bd`\ 1\0#q zYl7KWLE-\0M \0\0\17o\bl`\ 1\0#q MTEq4Ll3-\0M \0\0\17o\bt`\ 1\0#q YoV5stLb-\0M \0\0\17o\b|`\ 1\0#q id+m7alk-\0M \0\0\17o\b\84`\ 1\0#q lmvcxMyY-\0M \0\0\17o\b\8c`\ 1\0#q aGFGVGL1-\0M \0\0\17o\b\94`\ 1\0#q wYwx7R6x-\0M \0\0\17o\b\9c`\ 1\0#q jFy7cn0p-\0M \0\0\17o\b¤`\ 1\0#q ouDotHyZ-\0M \0\0\17o\b¬`\ 1\0#q kzo/hptT-\0M \0\0\17o\b´`\ 1\0#q ZOkPyO1e-\0M \0\0\17o\b¼`\ 1\0#q mWMxhjZL-\0M \0\0\17o\bÄ`\ 1\0#q l04IdDYK-\0M \0\0\17o\bÌ`\ 1\0#q mkh1kK4y-\0M \0\0\17o\bÔ`\ 1\0#q 2TMxcjHD-\0M \0\0\17o\bÜ`\ 1\0#q mvtbZMWE-\0M \0\0\17o\bä`\ 1\0#q +zDHXCnu-\0M \0\0\17o\bì`\ 1\0#q D8yQLIjg-\0M \0\0\17o\bô`\ 1\0#q 4UlcKxjH-\0M \0\0\17o\bü`\ 1\0#q r9gopzYx-\0M \0\0\17o\b\ 4a\ 1\0#q fuda1rEs-\0M \0\0\17o\b\fa\ 1\0#q eHCK6OCQ-\0M \0\0\17o\b\14a\ 1\0#q 6xT4Pju3-\0M \0\0\17o\b\1ca\ 1\0#q n5/X9kki-\0M \0\0\17o\b$a\ 1\0#q Ej6cN+/v-\0M \0\0\17o\b,a\ 1\0#q l+uaZ5gY-\0M \0\0\17o\b4a\ 1\0#q N/g5JlAU-\0M \0\0\17o\b<a\ 1\0#q HSDiUhoO-\0M \0\0\17o\bDa\ 1\0#q AhwMFMVB-\0M \0\0\17o\bLa\ 1\0#q c3DDHMN3-\0M \0\0\17o\bTa\ 1\0#q DFulS0xr-\0M \0\0\17o\b\a\ 1\0#q gWmW4W5c-\0M \0\0\17o\bda\ 1\0#q MuZhWta1-\0M \0\0\17o\bla\ 1\0#q rW21tbbR-\0M \0\0\17o\bta\ 1\0#q zrJVtBe+-\0M \0\0\17o\b|a\ 1\0#q ulvYM/s8-\0M \0\0\17o\b\84a\ 1\0#q dPjcuY66-\0M \0\0\17o\b\8ca\ 1\0#q qqqisgnS-\0M \0\0\17o\b\94a\ 1\0#q Pat2gVwb-\0M \0\0\17o\b\9ca\ 1\0#q VEysKVgX-\0M \0\0\17o\b¤a\ 1\0#q dk1QJsk8-\0M \0\0\17o\b¬a\ 1\0#q RJCBD2v8-\0M \0\0\17o\b´a\ 1\0#q tenlrnM3-\0M \0\0\17o\b¼a\ 1\0#q edFeqa8Z-\0M \0\0\17o\bÄa\ 1\0#q u7mq1raU-\0M \0\0\17o\bÌa\ 1\0#q mEZP6xTG-\0M \0\0\17o\bÔa\ 1\0#q t6zMkdvq-\0M \0\0\17o\bÜa\ 1\0#q 9uZwdp7P-\0M \0\0\17o\bäa\ 1\0#q TR2nSvKi-\0M \0\0\17o\bìa\ 1\0#q dMcnTDZC-\0M \0\0\17o\bôa\ 1\0#q bRQfLpsj-\0M \0\0\17o\büa\ 1\0#q VtrN222z-\0M \0\0\17o\b\ 4b\ 1\0#q 1LI9jbbS-\0M \0\0\17o\b\fb\ 1\0#q Yde7dtk6-\0M \0\0\17o\b\14b\ 1\0#q DgycBMmW-\0M \0\0\17o\b\1cb\ 1\0#q 9OTcaTFM-\0M \0\0\17o\b$b\ 1\0#q fB8NtuYi-\0M \0\0\17o\b,b\ 1\0#q TvVscobN-\0M \0\0\17o\b4b\ 1\0#q GKRo6Wb4-\0M \0\0\17o\b<b\ 1\0#q zDniY3e2-\0M \0\0\17o\bDb\ 1\0#q mSmsjJQJ-\0M \0\0\17o\bLb\ 1\0#q 4EQ2vqQk-\0M \0\0\17o\bTb\ 1\0#q RVGM8qYh-\0M \0\0\17o\b\b\ 1\0#q 3v0q2rPt-\0M \0\0\17o\bdb\ 1\0#q eqmFz2k1-\0M \0\0\17o\blb\ 1\0#q KQNMUOrL-\0M \0\0\17o\btb\ 1\0#q k2hBsGYs-\0M \0\0\17o\b|b\ 1\0#q 7NRoFGZ5-\0M \0\0\17o\b\84b\ 1\0#q rKHrKVFW-\0M \0\0\17o\b\8cb\ 1\0#q Up3oJ4GS-\0M \0\0\17o\b\94b\ 1\0#q +bM2pved-\0M \0\0\17o\b\9cb\ 1\0#q Th2+z59q-\0M \0\0\17o\b¤b\ 1\0#q cemFaIM+-\0M \0\0\17o\b¬b\ 1\0#q lnMKY/XL-\0M \0\0\17o\b´b\ 1\0#q M2leOJtT-\0M \0\0\17o\b¼b\ 1\0#q iZEVfbeo-\0M \0\0\17o\bÄb\ 1\0#q n1+vwZOB-\0M \0\0\17o\bÌb\ 1\0#q hQgviaCM-\0M \0\0\17o\bÔb\ 1\0#q yAjYhRqy-\0M \0\0\17o\bÜb\ 1\0#q LmywXa6s-\0M \0\0\17o\bäb\ 1\0#q JtAjY0ek-\0M \0\0\17o\bìb\ 1\0#q bBVdHErI-\0M \0\0\17o\bôb\ 1\0#q 5ucHJgQ4-\0M \0\0\17o\büb\ 1\0#q jsRIimS+-\0M \0\0\17o\b\ 4c\ 1\0#q VhHvLz2P-\0M \0\0\17o\b\fc\ 1\0#q o9PoKp4f-\0M \0\0\17o\b\14c\ 1\0#q Ly9uDHlj-\0M \0\0\17o\b\1cc\ 1\0#q DyKyG7cV-\0M \0\0\17o\b$c\ 1\0#q tjlTlwPJ-\0M \0\0\17o\b,c\ 1\0#q 2wD56Xk0-\0M \0\0\17o\b4c\ 1\0#q 2ttipijb-\0M \0\0\17o\b<c\ 1\0#q GTs6TRK6-\0M \0\0\17o\bDc\ 1\0#q R26babRK-\0M \0\0\17o\bLc\ 1\0#q 3K25I5U6-\0M \0\0\17o\bTc\ 1\0#q OTolR0fL-\0M \0\0\17o\b\c\ 1\0#q t24J9Hae-\0M \0\0\17o\bdc\ 1\0#q VeHM4svh-\0M \0\0\17o\blc\ 1\0#q puNNlYp5-\0M \0\0\17o\btc\ 1\0#q eDRNLKaW-\0M \0\0\17o\b|c\ 1\0#q rGQiqmZb-\0M \0\0\17o\b\84c\ 1\0#q s0Tlo8Bp-\0M \0\0\17o\b\8cc\ 1\0#q tppto4Th-\0M \0\0\17o\b\94c\ 1\0#q Gn0cT6On-\0M \0\0\17o\b\9cc\ 1\0#q AeX+R8K2-\0M \0\0\17o\b¤c\ 1\0#q 5e3KOzaU-\0M \0\0\17o\b¬c\ 1\0#q pVttKUnl-\0M \0\0\17o\b´c\ 1\0#q UhZWFTas-\0M \0\0\17o\b¼c\ 1\0#q OmERzfpm-\0M \0\0\17o\bÄc\ 1\0#q b6O47lt3-\0M \0\0\17o\bÌc\ 1\0#q Whna6Emi-\0M \0\0\17o\bÔc\ 1\0#q B7nAKT0e-\0M \0\0\17o\bÜc\ 1\0#q A/sERTa2-\0M \0\0\17o\bäc\ 1\0#q uhyCini8-\0M \0\0\17o\bìc\ 1\0#q 5zJ/DpU/-\0M \0\0\17o\bôc\ 1\0#q B/+m3fJ/-\0M \0\0\17o\büc\ 1\0#q wH9Y9Aki-\0M \0\0\17o\b\ 4d\ 1\0#q PcclOX2Y-\0M \0\0\17o\b\fd\ 1\0#q n/g2elK/-\0M \0\0\17o\b\14d\ 1\0#q 4y2ikYKw-\0M \0\0\17o\b\1cd\ 1\0#q UzMZcuJV-\0M \0\0\17o\b$d\ 1\0#q Fe362bba-\0M \0\0\17o\b,d\ 1\0#q GluwykCm-\0M \0\0\17o\b4d\ 1\0#q E8ysyzLF-\0M \0\0\17o\b<d\ 1\0#q rmryuvj1-\0M \0\0\17o\bDd\ 1\0#q Xz/S9/AA-\0M \0\0\17o\bLd\ 1\0#q AF15cn4T-\0M \0\0\17o\bTd\ 1\0#q bNPgsRs7-\0M \0\0\17o\b\d\ 1\0#q cOFV/dG3-\0M \0\0\17o\bdd\ 1\0#q g0p+7T5d-\0M \0\0\17o\bld\ 1\0#q L60/tdkg-\0M \0\0\17o\btd\ 1\0#q pyzk/3v8-\0M \0\0\17o\b|d\ 1\0#q imkP80cF-\0M \0\0\17o\b\84d\ 1\0#q iv6KUxX9-\0M \0\0\17o\b\8cd\ 1\0#q LGz9Vfy9-\0M \0\0\17o\b\94d\ 1\0#q n0NI+HBM-\0M \0\0\17o\b\9cd\ 1\0#q GjFPGRfU-\0M \0\0\17o\b¤d\ 1\0#q 20/oK/wT-\0M \0\0\17o\b¬d\ 1\0#q +7+V6CiR-\0M \0\0\17o\b´d\ 1\0#q 4ktktkvJ-\0M \0\0\17o\b¼d\ 1\0#q P6O5j9Kt-\0M \0\0\17o\bÄd\ 1\0#q pUGP1T4k-\0M \0\0\17o\bÌd\ 1\0#q kf+7GZWM-\0M \0\0\17o\bÔd\ 1\0#q J/d/NKP8-\0M \0\0\17o\bÜd\ 1\0#q Ksq/q7hR-\0M \0\0\17o\bäd\ 1\0#q yh+q/vOT-\0M \0\0\17o\bìd\ 1\0#q /iN1f/NG-\0M \0\0\17o\bôd\ 1\0#q Jt/f9yWf-\0M \0\0\17o\büd\ 1\0#q 5H9z+wKW-\0M \0\0\17o\b\ 4e\ 1\0#q ITjGZjP2-\0M \0\0\17o\b\fe\ 1\0#q GmInSyTk-\0M \0\0\17o\b\14e\ 1\0#q Ro2qVStS-\0M \0\0\17o\b\1ce\ 1\0#q ThT8HxX8-\0M \0\0\17o\b$e\ 1\0#q MximI2dI-\0M \0\0\17o\b,e\ 1\0#q qo04dIbQ-\0M \0\0\17o\b4e\ 1\0#q vxbWO2MV-\0M \0\0\17o\b<e\ 1\0#q GkVTxHSI-\0M \0\0\17o\bDe\ 1\0#q 0R/h0eev-\0M \0\0\17o\bLe\ 1\0#q LpWSyT2p-\0M \0\0\17o\bTe\ 1\0#q 9GP8P1y2-\0M \0\0\17o\b\e\ 1\0#q m2c1q832-\0M \0\0\17o\bde\ 1\0#q 5VIvE485-\0M \0\0\17o\ble\ 1\0#q eDI9AlOH-\0M \0\0\17o\bte\ 1\0#q KGBw4JhD-\0M \0\0\17o\b|e\ 1\0#q iv5HUmnS-\0M \0\0\17o\b\84e\ 1\0#q O00Q40Je-\0M \0\0\17o\b\8ce\ 1\0#q rcSSy5GX-\0M \0\0\17o\b\94e\ 1\0#q LGVUp2n0-\0M \0\0\17o\b\9ce\ 1\0#q eDpFE6T4-\0M \0\0\17o\b¤e\ 1\0#q Y/r+er5Y-\0M \0\0\17o\b¬e\ 1\0#q qJai+n4M-\0M \0\0\17o\b´e\ 1\0#q phhmLSwD-\0M \0\0\17o\b¼e\ 1\0#q 8QKQoGSR-\0M \0\0\17o\bÄe\ 1\0#q J/o+6YvW-\0M \0\0\17o\bÌe\ 1\0#q aSVmfLS2-\0M \0\0\17o\bÔe\ 1\0#q qpnMM9Wm-\0M \0\0\17o\bÜe\ 1\0#q HTRzMJxy-\0M \0\0\17o\bäe\ 1\0#q 0qHVaVET-\0M \0\0\17o\bìe\ 1\0#q OYZ1ScEw-\0M \0\0\17o\bôe\ 1\0#q OJ9g0NPA-\0M \0\0\17o\büe\ 1\0#q mjGk0rSt-\0M \0\0\17o\b\ 4f\ 1\0#q NtsbQ5MG-\0M \0\0\17o\b\ff\ 1\0#q 2BivKYNI-\0M \0\0\17o\b\14f\ 1\0#q 9Fvbiqv8-\0M \0\0\17o\b\1cf\ 1\0#q b+qqdv6P-\0M \0\0\17o\b$f\ 1\0#q L9GI+O0l-\0M \0\0\17o\b,f\ 1\0#q co7fpI4c-\0M \0\0\17o\b4f\ 1\0#q Ei8XLlw2-\0M \0\0\17o\b<f\ 1\0#q kn5YnpWF-\0M \0\0\17o\bDf\ 1\0#q TwgTabky-\0M \0\0\17o\bLf\ 1\0#q liH7Ax+f-\0M \0\0\17o\bTf\ 1\0#q y+323r5B-\0M \0\0\17o\b\f\ 1\0#q IEhez17d-\0M \0\0\17o\bdf\ 1\0#q dXMxVVQF-\0M \0\0\17o\blf\ 1\0#q UOdlCkEi-\0M \0\0\17o\btf\ 1\0#q QJigNAR9-\0M \0\0\17o\b|f\ 1\0#q MV9a+Xx1-\0M \0\0\17o\b\84f\ 1\0#q 6vk7dzgH-\0M \0\0\17o\b\8cf\ 1\0#q lDoGcCQ7-\0M \0\0\17o\b\94f\ 1\0#q 4xnfnz3r-\0M \0\0\17o\b\9cf\ 1\0#q zzvXO4dl-\0M \0\0\17o\b¤f\ 1\0#q aYNK5NOU-\0M \0\0\17o\b¬f\ 1\0#q kh4fqSwe-\0M \0\0\17o\b´f\ 1\0#q oaJidvSK-\0M \0\0\17o\b¼f\ 1\0#q 2eXFtkPP-\0M \0\0\17o\bÄf\ 1\0#q EfCh9Gkm-\0M \0\0\17o\bÌf\ 1\0#q XRyk9Pzm-\0M \0\0\17o\bÔf\ 1\0#q ZVzMqjDG-\0M \0\0\17o\bÜf\ 1\0#q leXlHlJE-\0M \0\0\17o\bäf\ 1\0#q 5ZMZSrZt-\0M \0\0\17o\bìf\ 1\0#q /Vu5MHK/-\0M \0\0\17o\bôf\ 1\0#q 2HZNP2iv-\0M \0\0\17o\büf\ 1\0#q mSPQ/6qw-\0M \0\0\17o\b\ 4g\ 1\0#q /Hu3mR+n-\0M \0\0\17o\b\fg\ 1\0#q CmQgJH8f-\0M \0\0\17o\b\14g\ 1\0#q UlH/NlVM-\0M \0\0\17o\b\1cg\ 1\0#q ZjKHCWNs-\0M \0\0\17o\b$g\ 1\0#q fyX3+p/5-\0M \0\0\17o\b,g\ 1\0#q 3h/1MZA1-\0M \0\0\17o\b4g\ 1\0#q UFrEx/2M-\0M \0\0\17o\b<g\ 1\0#q anCu/BiY-\0M \0\0\17o\bDg\ 1\0#q s5NIwfyV-\0M \0\0\17o\bLg\ 1\0#q 9hsjSn/V-\0M \0\0\17o\bTg\ 1\0#q 9nhY5Phj-\0M \0\0\17o\b\g\ 1\0#q I7Ullm1J-\0M \0\0\17o\bdg\ 1\0#q VllLfJtZ-\0M \0\0\17o\blg\ 1\0#q NrGVSVH0-\0M \0\0\17o\btg\ 1\0#q hBWtW0en-\0M \0\0\17o\b|g\ 1\0#q iUKWCpQp-\0M \0\0\17o\b\84g\ 1\0#q lb1tteSG-\0M \0\0\17o\b\8cg\ 1\0#q W0qTK02l-\0M \0\0\17o\b\94g\ 1\0#q laKdJIwk-\0M \0\0\17o\b\9cg\ 1\0#q +rhGI29x-\0M \0\0\17o\b¤g\ 1\0#q HeDU7Wsz-\0M \0\0\17o\b¬g\ 1\0#q dtKrDKso-\0M \0\0\17o\b´g\ 1\0#q RP1Geg1M-\0M \0\0\17o\b¼g\ 1\0#q yhiYmBAp-\0M \0\0\17o\bÄg\ 1\0#q JgHZ+sFf-\0M \0\0\17o\bÌg\ 1\0#q yDkcXDK/-\0M \0\0\17o\bÔg\ 1\0#q ydg+VJSP-\0M \0\0\17o\bÜg\ 1\0#q 5sSdLVsK-\0M \0\0\17o\bäg\ 1\0#q tSHjkwmz-\0M \0\0\17o\bìg\ 1\0#q ZhbIuvbv-\0M \0\0\17o\bôg\ 1\0#q TXnHN1Bi-\0M \0\0\17o\büg\ 1\0#q MYylZk7k-\0M \0\0\17o\b\ 4h\ 1\0#q /LKCYDYH-\0M \0\0\17o\b\fh\ 1\0#q X13JBDq8-\0M \0\0\17o\b\14h\ 1\0#q YZURZWoi-\0M \0\0\17o\b\1ch\ 1\0#q xpkaIyJu-\0M \0\0\17o\b$h\ 1\0#q N7+dTwzt-\0M \0\0\17o\b,h\ 1\0#q Xv57+nTh-\0M \0\0\17o\b4h\ 1\0#q HDDHBkYh-\0M \0\0\17o\b<h\ 1\0#q VKpPSK0U-\0M \0\0\17o\bDh\ 1\0#q GMMYTbsK-\0M \0\0\17o\bLh\ 1\0#q VqDzx4I8-\0M \0\0\17o\bTh\ 1\0#q qh0+G90A-\0M \0\0\17o\b\h\ 1\0#q Ala9VKVW-\0M \0\0\17o\bdh\ 1\0#q aW0s7IZm-\0M \0\0\17o\blh\ 1\0#q GGCsGJhh-\0M \0\0\17o\bth\ 1\0#q SnC6DSPa-\0M \0\0\17o\b|h\ 1\0#q cu07EkRI-\0M \0\0\17o\b\84h\ 1\0#q 5jWcLUjw-\0M \0\0\17o\b\8ch\ 1\0#q /d2+p5Lb-\0M \0\0\17o\b\94h\ 1\0#q fLw/ft4t-\0M \0\0\17o\b\9ch\ 1\0#q spaVjDMY-\0M \0\0\17o\b¤h\ 1\0#q WjCpQqLB-\0M \0\0\17o\b¬h\ 1\0#q UhDSjgT+-\0M \0\0\17o\b´h\ 1\0#q k9T8hNA7-\0M \0\0\17o\b¼h\ 1\0#q KVTkkn2G-\0M \0\0\17o\bÄh\ 1\0#q nDBRs4gq-\0M \0\0\17o\bÌh\ 1\0#q HgJXCnB8-\0M \0\0\17o\bÔh\ 1\0#q vaJ5e0/l-\0M \0\0\17o\bÜh\ 1\0#q /WLbZbFL-\0M \0\0\17o\bäh\ 1\0#q FUpVRJEC-\0M \0\0\17o\bìh\ 1\0#q IT7iSv69-\0M \0\0\17o\bôh\ 1\0#q sHJkTAi1-\0M \0\0\17o\büh\ 1\0#q mJkzExpM-\0M \0\0\17o\b\ 4i\ 1\0#q sxUqaYaU-\0M \0\0\17o\b\fi\ 1\0#q miWTRpNt-\0M \0\0\17o\b\14i\ 1\0#q I5UcttEX-\0M \0\0\17o\b\1ci\ 1\0#q FPVdQaiw-\0M \0\0\17o\b$i\ 1\0#q V/wNOFTa-\0M \0\0\17o\b,i\ 1\0#q FSaL45y+-\0M \0\0\17o\b4i\ 1\0#q 41lrMYcv-\0M \0\0\17o\b<i\ 1\0#q R0Cijhsl-\0M \0\0\17o\bDi\ 1\0#q cNI/0x5X-\0M \0\0\17o\bLi\ 1\0#q Yo0kXy7c-\0M \0\0\17o\bTi\ 1\0#q q/RMSNtO-\0M \0\0\17o\b\i\ 1\0#q U8qn+U1I-\0M \0\0\17o\bdi\ 1\0#q Pp+mXMmZ-\0M \0\0\17o\bli\ 1\0#q bhJ0PZ5B-\0M \0\0\17o\bti\ 1\0#q ISOpVSyS-\0M \0\0\17o\b|i\ 1\0#q G3jR/pLe-\0M \0\0\17o\b\84i\ 1\0#q KmXKxwbv-\0M \0\0\17o\b\8ci\ 1\0#q w08D+N6W-\0M \0\0\17o\b\94i\ 1\0#q zGTJkSey-\0M \0\0\17o\b\9ci\ 1\0#q hTax4Km0-\0M \0\0\17o\b¤i\ 1\0#q mkp+2qVI-\0M \0\0\17o\b¬i\ 1\0#q 0rFU2n8S-\0M \0\0\17o\b´i\ 1\0#q vhDnkx7T-\0M \0\0\17o\b¼i\ 1\0#q +ba3mQua-\0M \0\0\17o\bÄi\ 1\0#q iT5PhZj/-\0M \0\0\17o\bÌi\ 1\0#q BPIPTKvh-\0M \0\0\17o\bÔi\ 1\0#q 1If7V05H-\0M \0\0\17o\bÜi\ 1\0#q +Z/nVSKc-\0M \0\0\17o\bäi\ 1\0#q n+SK/2dX-\0M \0\0\17o\bìi\ 1\0#q 9F/Uvj+t-\0M \0\0\17o\bôi\ 1\0#q YktW6Y9S-\0M \0\0\17o\büi\ 1\0#q Js9U8H2+-\0M \0\0\17o\b\ 4j\ 1\0#q uGZNORKn-\0M \0\0\17o\b\fj\ 1\0#q w6+2/Cqt-\0M \0\0\17o\b\14j\ 1\0#q q2vpfTbl-\0M \0\0\17o\b\1cj\ 1\0#q suXEmsGz-\0M \0\0\17o\b$j\ 1\0#q llqypVLF-\0M \0\0\17o\b,j\ 1\0#q YDCVIQ9J-\0M \0\0\17o\b4j\ 1\0#q 3NuEfwGn-\0M \0\0\17o\b<j\ 1\0#q xGlfyMeY-\0M \0\0\17o\bDj\ 1\0#q jQf6WRG+-\0M \0\0\17o\bLj\ 1\0#q x+JPz9kl-\0M \0\0\17o\bTj\ 1\0#q /QyP6sMY-\0M \0\0\17o\b\j\ 1\0#q 0xZf5xV/-\0M \0\0\17o\bdj\ 1\0#q I/U5f+p6-\0M \0\0\17o\blj\ 1\0#q o7h0sRjp-\0M \0\0\17o\btj\ 1\0#q 934eHA9K-\0M \0\0\17o\b|j\ 1\0#q 9T3ZcSNL-\0M \0\0\17o\b\84j\ 1\0#q Gkno0CQk-\0M \0\0\17o\b\8cj\ 1\0#q YVp8JT0v-\0M \0\0\17o\b\94j\ 1\0#q FuFfq7kI-\0M \0\0\17o\b\9cj\ 1\0#q nwp9TyTE-\0M \0\0\17o\b¤j\ 1\0#q +k95/GX6-\0M \0\0\17o\b¬j\ 1\0#q qj9zhqP1-\0M \0\0\17o\b´j\ 1\0#q y390T8OT-\0M \0\0\17o\b¼j\ 1\0#q sAJxZv0p-\0M \0\0\17o\bÄj\ 1\0#q BjS09ndu-\0M \0\0\17o\bÌj\ 1\0#q /queeVeI-\0M \0\0\17o\bÔj\ 1\0#q 9GunPNTJ-\0M \0\0\17o\bÜj\ 1\0#q tIrybqni-\0M \0\0\17o\bäj\ 1\0#q 5552x0a9-\0M \0\0\17o\bìj\ 1\0#q g4GMHRBA-\0M \0\0\17o\bôj\ 1\0#q AhHYgg4O-\0M \0\0\17o\büj\ 1\0#q GOTGIx0m-\0M \0\0\17o\b\ 4k\ 1\0#q d24x2cp1-\0M \0\0\17o\b\fk\ 1\0#q ws56tnBh-\0M \0\0\17o\b\14k\ 1\0#q yqW7W22G-\0M \0\0\17o\b\1ck\ 1\0#q lI2+w+z4-\0M \0\0\17o\b$k\ 1\0#q NJHpLENN-\0M \0\0\17o\b,k\ 1\0#q vsSMmLVc-\0M \0\0\17o\b4k\ 1\0#q LMVj9GSB-\0M \0\0\17o\b<k\ 1\0#q NLTXNtfw-\0M \0\0\17o\bDk\ 1\0#q xi4U4bKw-\0M \0\0\17o\bLk\ 1\0#q MhtuWyY+-\0M \0\0\17o\bTk\ 1\0#q 2mWYp5tt-\0M \0\0\17o\b\k\ 1\0#q KqpA6paj-\0M \0\0\17o\bdk\ 1\0#q 8vKRxEaw-\0M \0\0\17o\blk\ 1\0#q vhY0NIfg-\0M \0\0\17o\btk\ 1\0#q fiH9z+ya-\0M \0\0\17o\b|k\ 1\0#q jt60n97P-\0M \0\0\17o\b\84k\ 1\0#q +eZ9rS0x-\0M \0\0\17o\b\8ck\ 1\0#q W0+VV/0s-\0M \0\0\17o\b\94k\ 1\0#q P8sevxzx-\0M \0\0\17o\b\9ck\ 1\0#q ZkupTbH8-\0M \0\0\17o\b¤k\ 1\0#q sPl/D6tc-\0M \0\0\17o\b¬k\ 1\0#q rSqnhp05-\0M \0\0\17o\b´k\ 1\0#q PlHCOok2-\0M \0\0\17o\b¼k\ 1\0#q cFqHB+kT-\0M \0\0\17o\bÄk\ 1\0#q vuQ+xWMY-\0M \0\0\17o\bÌk\ 1\0#q xjkg4SNq-\0M \0\0\17o\bÔk\ 1\0#q TWUt19K/-\0M \0\0\17o\bÜk\ 1\0#q fat9iuFW-\0M \0\0\17o\bäk\ 1\0#q 5XN8JyNM-\0M \0\0\17o\bìk\ 1\0#q VvGVP7r8-\0M \0\0\17o\bôk\ 1\0#q 2PqvjL7j-\0M \0\0\17o\bük\ 1\0#q tfwP8yYr-\0M \0\0\17o\b\ 4l\ 1\0#q +QqSfsJ/-\0M \0\0\17o\b\fl\ 1\0#q jvt2zClU-\0M \0\0\17o\b\14l\ 1\0#q VYzM/e1n-\0M \0\0\17o\b\1cl\ 1\0#q 9tRN7Zd5-\0M \0\0\17o\b$l\ 1\0#q buwMVVKq-\0M \0\0\17o\b,l\ 1\0#q RKoVR2Yx-\0M \0\0\17o\b4l\ 1\0#q VWrU0/hH-\0M \0\0\17o\b<l\ 1\0#q BU0sekk5-\0M \0\0\17o\bDl\ 1\0#q eWPDSfeZ-\0M \0\0\17o\bLl\ 1\0#q dQOaqRT0-\0M \0\0\17o\bTl\ 1\0#q r4rFtLHe-\0M \0\0\17o\b\l\ 1\0#q ZaEkiKs8-\0M \0\0\17o\bdl\ 1\0#q vN+vcjw/-\0M \0\0\17o\bll\ 1\0#q CGRlxRVk-\0M \0\0\17o\btl\ 1\0#q q1SPDFex-\0M \0\0\17o\b|l\ 1\0#q Pt0FOvhP-\0M \0\0\17o\b\84l\ 1\0#q FuY6Tbab-\0M \0\0\17o\b\8cl\ 1\0#q lve6MycQ-\0M \0\0\17o\b\94l\ 1\0#q 4l0tzYO2-\0M \0\0\17o\b\9cl\ 1\0#q m5eZhoWc-\0M \0\0\17o\b¤l\ 1\0#q ZUOk7NTT-\0M \0\0\17o\b¬l\ 1\0#q LtwdLblt-\0M \0\0\17o\b´l\ 1\0#q 25Jy6YaT-\0M \0\0\17o\b¼l\ 1\0#q DpixoPYK-\0M \0\0\17o\bÄl\ 1\0#q KYtMSx4V-\0M \0\0\17o\bÌl\ 1\0#q /I+Nn+Zd-\0M \0\0\17o\bÔl\ 1\0#q TDBNJM+L-\0M \0\0\17o\bÜl\ 1\0#q fQOkttkf-\0M \0\0\17o\bäl\ 1\0#q VOk7faSB-\0M \0\0\17o\bìl\ 1\0#q w+y2ei5Z-\0M \0\0\17o\bôl\ 1\0#q haxgYP9n-\0M \0\0\17o\bül\ 1\0#q mnNi2Fst-\0M \0\0\17o\b\ 4m\ 1\0#q I8cfri5j-\0M \0\0\17o\b\fm\ 1\0#q 4bHPFumZ-\0M \0\0\17o\b\14m\ 1\0#q bbbybHMp-\0M \0\0\17o\b\1cm\ 1\0#q Mg5WROgw-\0M \0\0\17o\b$m\ 1\0#q +Q29S8lh-\0M \0\0\17o\b,m\ 1\0#q iiGULhSj-\0M \0\0\17o\b4m\ 1\0#q SdtjNpsy-\0M \0\0\17o\b<m\ 1\0#q IlsyhYqx-\0M \0\0\17o\bDm\ 1\0#q bcJrYw+o-\0M \0\0\17o\bLm\ 1\0#q k8CH6HRj-\0M \0\0\17o\bTm\ 1\0#q SvDSMVFQ-\0M \0\0\17o\b\m\ 1\0#q qqko0xiI-\0M \0\0\17o\bdm\ 1\0#q clqrGrAw-\0M \0\0\17o\blm\ 1\0#q 0hpi/ouV-\0M \0\0\17o\btm\ 1\0#q /i2foVy/-\0M \0\0\17o\b|m\ 1\0#q oK1INsn/-\0M \0\0\17o\b\84m\ 1\0#q LKzEnZt0-\0M \0\0\17o\b\8cm\ 1\0#q 0/TfY/WW-\0M \0\0\17o\b\94m\ 1\0#q sZMkwqJF-\0M \0\0\17o\b\9cm\ 1\0#q KpVKpSGE-\0M \0\0\17o\b¤m\ 1\0#q 5kJD5cnT-\0M \0\0\17o\b¬m\ 1\0#q 5T6BPRj2-\0M \0\0\17o\b´m\ 1\0#q k+rIH3fS-\0M \0\0\17o\b¼m\ 1\0#q dvy2kEdD-\0M \0\0\17o\bÄm\ 1\0#q 9W0T4tsh-\0M \0\0\17o\bÌm\ 1\0#q +40PbR+x-\0M \0\0\17o\bÔm\ 1\0#q RPpJN8az-\0M \0\0\17o\bÜm\ 1\0#q aR9OJJrf-\0M \0\0\17o\bäm\ 1\0#q GcJHGHBw-\0M \0\0\17o\bìm\ 1\0#q 2OTGMmHP-\0M \0\0\17o\bôm\ 1\0#q duPz+ryT-\0M \0\0\17o\büm\ 1\0#q H3/TGTMY-\0M \0\0\17o\b\ 4n\ 1\0#q 0bTThPa/-\0M \0\0\17o\b\fn\ 1\0#q xbhjyxUT-\0M \0\0\17o\b\14n\ 1\0#q Fkr8JJwY-\0M \0\0\17o\b\1cn\ 1\0#q mivf1xmZ-\0M \0\0\17o\b$n\ 1\0#q Jq2ySlSo-\0M \0\0\17o\b,n\ 1\0#q JPBIfK/r-\0M \0\0\17o\b4n\ 1\0#q ASBSF+cM-\0M \0\0\17o\b<n\ 1\0#q /nZk213b-\0M \0\0\17o\bDn\ 1\0#q MmBX5laT-\0M \0\0\17o\bLn\ 1\0#q Tg0Vqrba-\0M \0\0\17o\bTn\ 1\0#q kxFiRzCe-\0M \0\0\17o\b\n\ 1\0#q Lg1rQx4x-\0M \0\0\17o\bdn\ 1\0#q f2Vq/pUj-\0M \0\0\17o\bln\ 1\0#q o01d0k/V-\0M \0\0\17o\btn\ 1\0#q y7frMy3J-\0M \0\0\17o\b|n\ 1\0#q IUqSKj8l-\0M \0\0\17o\b\84n\ 1\0#q G44ZP1xk-\0M \0\0\17o\b\8cn\ 1\0#q y5bcTEsH-\0M \0\0\17o\b\94n\ 1\0#q L9YMZLGF-\0M \0\0\17o\b\9cn\ 1\0#q +0n1bjZ+-\0M \0\0\17o\b¤n\ 1\0#q MHj6OXau-\0M \0\0\17o\b¬n\ 1\0#q 8pg6GVof-\0M \0\0\17o\b´n\ 1\0#q 9Cv/Y9Bb-\0M \0\0\17o\b¼n\ 1\0#q Wvn632UM-\0M \0\0\17o\bÄn\ 1\0#q YJoMElJr-\0M \0\0\17o\bÌn\ 1\0#q W1JQhbfu-\0M \0\0\17o\bÔn\ 1\0#q 5MliIQxx-\0M \0\0\17o\bÜn\ 1\0#q yxlFWYJJ-\0M \0\0\17o\bän\ 1\0#q So/lsdkj-\0M \0\0\17o\bìn\ 1\0#q /9Utg244-\0M \0\0\17o\bôn\ 1\0#q /f72xHsU-\0M \0\0\17o\bün\ 1\0#q qlRVMGPu-\0M \0\0\17o\b\ 4o\ 1\0#q JWipOBhj-\0M \0\0\17o\b\fo\ 1\0#q qEkxqGNg-\0M \0\0\17o\b\14o\ 1\0#q op68j+4/-\0M \0\0\17o\b\1co\ 1\0#q mhRTtlWM-\0M \0\0\17o\b$o\ 1\0#q EwwuUKKd-\0M \0\0\17o\b,o\ 1\0#q DCxGGldP-\0M \0\0\17o\b4o\ 1\0#q 8X8NFUz8-\0M \0\0\17o\b<o\ 1\0#q 5NW01rD7-\0M \0\0\17o\bDo\ 1\0#q NpifMq2W-\0M \0\0\17o\bLo\ 1\0#q o7dpQsUx-\0M \0\0\17o\bTo\ 1\0#q ivU9S0/z-\0M \0\0\17o\b\o\ 1\0#q YuHDin8g-\0M \0\0\17o\bdo\ 1\0#q ytmwSEj4-\0M \0\0\17o\blo\ 1\0#q WYqVwrKq-\0M \0\0\17o\bto\ 1\0#q Fn2kfvYW-\0M \0\0\17o\b|o\ 1\0#q yx06X1X9-\0M \0\0\17o\b\84o\ 1\0#q 3T+Vj5iv-\0M \0\0\17o\b\8co\ 1\0#q X+C0fH6n-\0M \0\0\17o\b\94o\ 1\0#q AMNqMKFV-\0M \0\0\17o\b\9co\ 1\0#q Xg8nuEYK-\0M \0\0\17o\b¤o\ 1\0#q Kk2Rtat7-\0M \0\0\17o\b¬o\ 1\0#q V7zXsSJC-\0M \0\0\17o\b´o\ 1\0#q USSRT1tP-\0M \0\0\17o\b¼o\ 1\0#q uvGtNOFn-\0M \0\0\17o\bÄo\ 1\0#q GGB1Pnt/-\0M \0\0\17o\bÌo\ 1\0#q MW1VDT4E-\0M \0\0\17o\bÔo\ 1\0#q Q56UUWLF-\0M \0\0\17o\bÜo\ 1\0#q FBZqjHB6-\0M \0\0\17o\bäo\ 1\0#q 9cXANNLJ-\0M \0\0\17o\bìo\ 1\0#q bE0k2zdl-\0M \0\0\17o\bôo\ 1\0#q NHR0OU05-\0M \0\0\17o\büo\ 1\0#q 6txtowmL-\0M \0\0\17o\b\ 4p\ 1\0#q OO1WSsa6-\0M \0\0\17o\b\fp\ 1\0#q mpA1B7Tl-\0M \0\0\17o\b\14p\ 1\0#q xdF+0uvI-\0M \0\0\17o\b\1cp\ 1\0#q tZVay3b0-\0M \0\0\17o\b$p\ 1\0#q whrGdccX-\0M \0\0\17o\b,p\ 1\0#q inUpEidg-\0M \0\0\17o\b4p\ 1\0#q aTHSdubV-\0M \0\0\17o\b<p\ 1\0#q Uqqtqqab-\0M \0\0\17o\bDp\ 1\0#q ViKw14Em-\0M \0\0\17o\bLp\ 1\0#q JmDeVXXL-\0M \0\0\17o\bTp\ 1\0#q yvKySljt-\0M \0\0\17o\b\p\ 1\0#q LGMq1t/w-\0M \0\0\17o\bdp\ 1\0#q TEMgWhuj-\0M \0\0\17o\blp\ 1\0#q LDJRJgxk-\0M \0\0\17o\btp\ 1\0#q JlQy5UMl-\0M \0\0\17o\b|p\ 1\0#q B40srBFe-\0M \0\0\17o\b\84p\ 1\0#q Llq7bpq9-\0M \0\0\17o\b\8cp\ 1\0#q ptq0rbSx-\0M \0\0\17o\b\94p\ 1\0#q ohSrCmSR-\0M \0\0\17o\b\9cp\ 1\0#q MyzLLLMS-\0M \0\0\17o\b¤p\ 1\0#q FMMqVkss-\0M \0\0\17o\b¬p\ 1\0#q wFVkqTKp-\0M \0\0\17o\b´p\ 1\0#q lkqwklGC-\0M \0\0\17o\b¼p\ 1\0#q sCyqplQs-\0M \0\0\17o\bÄp\ 1\0#q WLGMZZmT-\0M \0\0\17o\bÌp\ 1\0#q JwN3COML-\0M \0\0\17o\bÔp\ 1\0#q WLVtt2fF-\0M \0\0\17o\bÜp\ 1\0#q Uij5Hs/S-\0M \0\0\17o\bäp\ 1\0#q R03sfZ5n-\0M \0\0\17o\bìp\ 1\0#q glZWZjJS-\0M \0\0\17o\bôp\ 1\0#q qn822RTB-\0M \0\0\17o\büp\ 1\0#q pyxvWHlV-\0M \0\0\17o\b\ 4q\ 1\0#q KjTbGVtS-\0M \0\0\17o\b\fq\ 1\0#q KqskrbRp-\0M \0\0\17o\b\14q\ 1\0#q KaRWKlUq-\0M \0\0\17o\b\1cq\ 1\0#q Sk4VwY4c-\0M \0\0\17o\b$q\ 1\0#q YMNTGkW1-\0M \0\0\17o\b,q\ 1\0#q bk5Mk2jb-\0M \0\0\17o\b4q\ 1\0#q g0RUmojT-\0M \0\0\17o\b<q\ 1\0#q 0wxxKQVY-\0M \0\0\17o\bDq\ 1\0#q hbbLZbFB-\0M \0\0\17o\bLq\ 1\0#q oqok2slv-\0M \0\0\17o\bTq\ 1\0#q xSlrqul/-\0M \0\0\17o\b\q\ 1\0#q g7aXHwxi-\0M \0\0\17o\bdq\ 1\0#q x/68Toof-\0M \0\0\17o\blq\ 1\0#q 7qkpOaD4-\0M \0\0\17o\btq\ 1\0#q wC2yq1Ew-\0M \0\0\17o\b|q\ 1\0#q XZiapV6/-\0M \0\0\17o\b\84q\ 1\0#q hsyJvBiy-\0M \0\0\17o\b\8cq\ 1\0#q EnDHppUr-\0M \0\0\17o\b\94q\ 1\0#q seSqqll+-\0M \0\0\17o\b\9cq\ 1\0#q rGDc5R6W-\0M \0\0\17o\b¤q\ 1\0#q rvWH+G9b-\0M \0\0\17o\b¬q\ 1\0#q y3kboLdJ-\0M \0\0\17o\b´q\ 1\0#q Kq9H7sVW-\0M \0\0\17o\b¼q\ 1\0#q 0OfMc6vW-\0M \0\0\17o\bÄq\ 1\0#q l01qZLMZ-\0M \0\0\17o\bÌq\ 1\0#q GXXa6QEI-\0M \0\0\17o\bÔq\ 1\0#q tcit7KxX-\0M \0\0\17o\bÜq\ 1\0#q TeedbF5N-\0M \0\0\17o\bäq\ 1\0#q 5WV5LJkt-\0M \0\0\17o\bìq\ 1\0#q 1ZLKLEMp-\0M \0\0\17o\bôq\ 1\0#q lYlj+iTA-\0M \0\0\17o\büq\ 1\0#q 1EdNMJwt-\0M \0\0\17o\b\ 4r\ 1\0#q IUTETRhJ-\0M \0\0\17o\b\fr\ 1\0#q /Shi7iTF-\0M \0\0\17o\b\14r\ 1\0#q IxhiMSWY-\0M \0\0\17o\b\1cr\ 1\0#q FgxhilFc-\0M \0\0\17o\b$r\ 1\0#q lagZLPw+-\0M \0\0\17o\b,r\ 1\0#q zk+h+o0b-\0M \0\0\17o\b4r\ 1\0#q MSmKxOFf-\0M \0\0\17o\b<r\ 1\0#q TOrm2TbW-\0M \0\0\17o\bDr\ 1\0#q XbWV6uG2-\0M \0\0\17o\bLr\ 1\0#q zX+jEamL-\0M \0\0\17o\bTr\ 1\0#q H9lX+6Yr-\0M \0\0\17o\b\r\ 1\0#q /YLxH1w5-\0M \0\0\17o\bdr\ 1\0#q c28qRqX+-\0M \0\0\17o\blr\ 1\0#q +P6v9czJ-\0M \0\0\17o\btr\ 1\0#q /Bpq0wP7-\0M \0\0\17o\b|r\ 1\0#q uyQ7eB+V-\0M \0\0\17o\b\84r\ 1\0#q f7n/N/A4-\0M \0\0\17o\b\8cr\ 1\0#q I+n6Oyqa-\0M \0\0\17o\b\94r\ 1\0#q f8ybStl8-\0M \0\0\17o\b\9cr\ 1\0#q Wgvg5aMW-\0M \0\0\17o\b¤r\ 1\0#q KcsqRmLC-\0M \0\0\17o\b¬r\ 1\0#q pH+JHY7+-\0M \0\0\17o\b´r\ 1\0#q o/ZUcf8b-\0M \0\0\17o\b¼r\ 1\0#q Q0syoa0y-\0M \0\0\17o\bÄr\ 1\0#q WdpVOGka-\0M \0\0\17o\bÌr\ 1\0#q ZNpjvIUV-\0M \0\0\17o\bÔr\ 1\0#q J+ZH6qhX-\0M \0\0\17o\bÜr\ 1\0#q 3fZFanSy-\0M \0\0\17o\bär\ 1\0#q HdkYpGWG-\0M \0\0\17o\bìr\ 1\0#q xtjGKcNM-\0M \0\0\17o\bôr\ 1\0#q NKwlSpDg-\0M \0\0\17o\bür\ 1\0#q p8KdD2cj-\0M \0\0\17o\b\ 4s\ 1\0#q 9bMv9zY2-\0M \0\0\17o\b\fs\ 1\0#q 4SHDkmkf-\0M \0\0\17o\b\14s\ 1\0#q 2xkDCf6L-\0M \0\0\17o\b\1cs\ 1\0#q KQfCpoFa-\0M \0\0\17o\b$s\ 1\0#q OJ9BoH5T-\0M \0\0\17o\b,s\ 1\0#q Di2/9rCR-\0M \0\0\17o\b4s\ 1\0#q hPqSKlR9-\0M \0\0\17o\b<s\ 1\0#q EcmpFLro-\0M \0\0\17o\bDs\ 1\0#q 0rH4U5fo-\0M \0\0\17o\bLs\ 1\0#q dOMs3lzL-\0M \0\0\17o\bTs\ 1\0#q MZaKYNom-\0M \0\0\17o\b\s\ 1\0#q miU6RuIh-\0M \0\0\17o\bds\ 1\0#q 0nD/kT7l-\0M \0\0\17o\bls\ 1\0#q H58Cz8XL-\0M \0\0\17o\bts\ 1\0#q MuKhGo2V-\0M \0\0\17o\b|s\ 1\0#q 06T/Rhf9-\0M \0\0\17o\b\84s\ 1\0#q p9apP5P0-\0M \0\0\17o\b\8cs\ 1\0#q /xq2rWqv-\0M \0\0\17o\b\94s\ 1\0#q 1erT/PLM-\0M \0\0\17o\b\9cs\ 1\0#q qx/K0O2D-\0M \0\0\17o\b¤s\ 1\0#q g/csyqf8-\0M \0\0\17o\b¬s\ 1\0#q VH92myX+-\0M \0\0\17o\b´s\ 1\0#q Z8BRTxbZ-\0M \0\0\17o\b¼s\ 1\0#q HaYmgsP/-\0M \0\0\17o\bÄs\ 1\0#q J9QmCR+7-\0M \0\0\17o\bÌs\ 1\0#q y/0+qv0f-\0M \0\0\17o\bÔs\ 1\0#q CnyiPJSH-\0M \0\0\17o\bÜs\ 1\0#q CaH4SEiY-\0M \0\0\17o\bäs\ 1\0#q fT7Hsxa0-\0M \0\0\17o\bìs\ 1\0#q 6QsXGmMq-\0M \0\0\17o\bôs\ 1\0#q TClIxIpR-\0M \0\0\17o\büs\ 1\0#q FUn8jGqv-\0M \0\0\17o\b\ 4t\ 1\0#q 7oxG3iH0-\0M \0\0\17o\b\ft\ 1\0#q WUiCZpN8-\0M \0\0\17o\b\14t\ 1\0#q b6/n1+1f-\0M \0\0\17o\b\1ct\ 1\0#q kq7ffeV5-\0M \0\0\17o\b$t\ 1\0#q XQXGJARn-\0M \0\0\17o\b,t\ 1\0#q 3MyZKRCo-\0M \0\0\17o\b4t\ 1\0#q sJhcTJSY-\0M \0\0\17o\b<t\ 1\0#q UEP9MYaS-\0M \0\0\17o\bDt\ 1\0#q lQxKRSo4-\0M \0\0\17o\bLt\ 1\0#q T/usWhVI-\0M \0\0\17o\bTt\ 1\0#q 0Ps/HwzG-\0M \0\0\17o\b\t\ 1\0#q MyRhR1q2-\0M \0\0\17o\bdt\ 1\0#q WLastVlj-\0M \0\0\17o\blt\ 1\0#q MZmYxjw3-\0M \0\0\17o\btt\ 1\0#q K6VX+qMd-\0M \0\0\17o\b|t\ 1\0#q uROGGFym-\0M \0\0\17o\b\84t\ 1\0#q qf4nekcJ-\0M \0\0\17o\b\8ct\ 1\0#q jClisYLI-\0M \0\0\17o\b\94t\ 1\0#q Pl8mk0rZ-\0M \0\0\17o\b\9ct\ 1\0#q wHtB+viy-\0M \0\0\17o\b¤t\ 1\0#q yk+VPL1H-\0M \0\0\17o\b¬t\ 1\0#q uRApl/cZ-\0M \0\0\17o\b´t\ 1\0#q MDw+MZfZ-\0M \0\0\17o\b¼t\ 1\0#q t7Tx7LCp-\0M \0\0\17o\bÄt\ 1\0#q LZS/LK6S-\0M \0\0\17o\bÌt\ 1\0#q W2SkqS0s-\0M \0\0\17o\bÔt\ 1\0#q cvTSTnLc-\0M \0\0\17o\bÜt\ 1\0#q Gk28PRKV-\0M \0\0\17o\bät\ 1\0#q pMSUr4Pi-\0M \0\0\17o\bìt\ 1\0#q zlmNNE8Y-\0M \0\0\17o\bôt\ 1\0#q GrZq/51J-\0M \0\0\17o\büt\ 1\0#q Sfi7Ts2T-\0M \0\0\17o\b\ 4u\ 1\0#q +5Tuf5cL-\0M \0\0\17o\b\fu\ 1\0#q UaX6LUnQ-\0M \0\0\17o\b\14u\ 1\0#q aR5PlE+Z-\0M \0\0\17o\b\1cu\ 1\0#q yTiUqVaO-\0M \0\0\17o\b$u\ 1\0#q ZTHx9XDI-\0M \0\0\17o\b,u\ 1\0#q qqOjpwld-\0M \0\0\17o\b4u\ 1\0#q JmO7TbfS-\0M \0\0\17o\b<u\ 1\0#q 5VtUwnin-\0M \0\0\17o\bDu\ 1\0#q Q/6Jhf1N-\0M \0\0\17o\bLu\ 1\0#q p/3sSnS7-\0M \0\0\17o\bTu\ 1\0#q Y/q9Btj4-\0M \0\0\17o\b\u\ 1\0#q /60tF5xm-\0M \0\0\17o\bdu\ 1\0#q T9MwRXPy-\0M \0\0\17o\blu\ 1\0#q 8PM4fiKU-\0M \0\0\17o\btu\ 1\0#q Oh/FVVRE-\0M \0\0\17o\b|u\ 1\0#q YiiQhAhE-\0M \0\0\17o\b\84u\ 1\0#q a3qu3nv2-\0M \0\0\17o\b\8cu\ 1\0#q d7+q9S8O-\0M \0\0\17o\b\94u\ 1\0#q 8rb0Bs06-\0M \0\0\17o\b\9cu\ 1\0#q WlE0arEx-\0M \0\0\17o\b¤u\ 1\0#q G4ZViJk4-\0M \0\0\17o\b¬u\ 1\0#q YG2Gl1Nm-\0M \0\0\17o\b´u\ 1\0#q RsyoMpaZ-\0M \0\0\17o\b¼u\ 1\0#q V7PclFEk-\0M \0\0\17o\bÄu\ 1\0#q hkSN7T1+-\0M \0\0\17o\bÌu\ 1\0#q jx5uV62p-\0M \0\0\17o\bÔu\ 1\0#q Gsk5ajBR-\0M \0\0\17o\bÜu\ 1\0#q IogIzWpu-\0M \0\0\17o\bäu\ 1\0#q cxals3vL-\0M \0\0\17o\bìu\ 1\0#q LZmGWmKY-\0M \0\0\17o\bôu\ 1\0#q UqcpZRpG-\0M \0\0\17o\büu\ 1\0#q E2OC4ras-\0M \0\0\17o\b\ 4v\ 1\0#q jHDE4E3a-\0M \0\0\17o\b\fv\ 1\0#q VkxkzLZJ-\0M \0\0\17o\b\14v\ 1\0#q SckySoFD-\0M \0\0\17o\b\1cv\ 1\0#q 8JNDSmOG-\0M \0\0\17o\b$v\ 1\0#q xNtM2uJg-\0M \0\0\17o\b,v\ 1\0#q wFUYSjFF-\0M \0\0\17o\b4v\ 1\0#q UqlFGExq-\0M \0\0\17o\b<v\ 1\0#q 2zQorAow-\0M \0\0\17o\bDv\ 1\0#q oxy2rlV/-\0M \0\0\17o\bLv\ 1\0#q wdJPWk8R-\0M \0\0\17o\bTv\ 1\0#q jHBV2lsF-\0M \0\0\17o\b\v\ 1\0#q jhYX+gys-\0M \0\0\17o\bdv\ 1\0#q yZkxh0f3-\0M \0\0\17o\blv\ 1\0#q RhVg/4Uc-\0M \0\0\17o\btv\ 1\0#q J6TuScH1-\0M \0\0\17o\b|v\ 1\0#q VPy29yH5-\0M \0\0\17o\b\84v\ 1\0#q DloLCqpU-\0M \0\0\17o\b\8cv\ 1\0#q qInySSwx-\0M \0\0\17o\b\94v\ 1\0#q RKrl+50K-\0M \0\0\17o\b\9cv\ 1\0#q 0qqo24Ty-\0M \0\0\17o\b¤v\ 1\0#q kjydiqiU-\0M \0\0\17o\b¬v\ 1\0#q ngn5KlPj-\0M \0\0\17o\b´v\ 1\0#q r2zMmZmZ-\0M \0\0\17o\b¼v\ 1\0#q lXDMt/Qm-\0M \0\0\17o\bÄv\ 1\0#q nwPDD7q8-\0M \0\0\17o\bÌv\ 1\0#q JHcLH4Wj-\0M \0\0\17o\bÔv\ 1\0#q VHYxiwsK-\0M \0\0\17o\bÜv\ 1\0#q x8JjVH90-\0M \0\0\17o\bäv\ 1\0#q Yz02rRwp-\0M \0\0\17o\bìv\ 1\0#q tHkY4fT6-\0M \0\0\17o\bôv\ 1\0#q Ksmn8HZH-\0M \0\0\17o\büv\ 1\0#q weLk7kPR-\0M \0\0\17o\b\ 4w\ 1\0#q GKpyh/eq-\0M \0\0\17o\b\fw\ 1\0#q bPRt8Jw9-\0M \0\0\17o\b\14w\ 1\0#q H0f9riJN-\0M \0\0\17o\b\1cw\ 1\0#q 29Ik05Pj-\0M \0\0\17o\b$w\ 1\0#q eYzM7a+q-\0M \0\0\17o\b,w\ 1\0#q enD4QbH4-\0M \0\0\17o\b4w\ 1\0#q OfJwfZMB-\0M \0\0\17o\b<w\ 1\0#q 9ytJtyhX-\0M \0\0\17o\bDw\ 1\0#q EiMJiVNH-\0M \0\0\17o\bLw\ 1\0#q cUPwV4H6-\0M \0\0\17o\bTw\ 1\0#q o7H3fBXS-\0M \0\0\17o\b\w\ 1\0#q flFn+Sn3-\0M \0\0\17o\bdw\ 1\0#q kdp9U/Hh-\0M \0\0\17o\blw\ 1\0#q SqjtSP/Y-\0M \0\0\17o\btw\ 1\0#q lJJT9D1K-\0M \0\0\17o\b|w\ 1\0#q WFG1D7Gn-\0M \0\0\17o\b\84w\ 1\0#q 2HR9iD60-\0M \0\0\17o\b\8cw\ 1\0#q 4ZhiiTUj-\0M \0\0\17o\b\94w\ 1\0#q aPujNmxM-\0M \0\0\17o\b\9cw\ 1\0#q UhRQMUxV-\0M \0\0\17o\b¤w\ 1\0#q YpiKFSJk-\0M \0\0\17o\b¬w\ 1\0#q VJXJrRuO-\0M \0\0\17o\b´w\ 1\0#q pD+nmZJ/-\0M \0\0\17o\b¼w\ 1\0#q LmR07HlW-\0M \0\0\17o\bÄw\ 1\0#q k3VZMyK/-\0M \0\0\17o\bÌw\ 1\0#q m/D6vP7Z-\0M \0\0\17o\bÔw\ 1\0#q tqy2BISP-\0M \0\0\17o\bÜw\ 1\0#q UCQkdu9b-\0M \0\0\17o\bäw\ 1\0#q zXnqeuj9-\0M \0\0\17o\bìw\ 1\0#q E79X9hjU-\0M \0\0\17o\bôw\ 1\0#q SttuMzBu-\0M \0\0\17o\büw\ 1\0#q JcLcpmDm-\0M \0\0\17o\b\ 4x\ 1\0#q XFzLmW0a-\0M \0\0\17o\b\fx\ 1\0#q Nra22stG-\0M \0\0\17o\b\14x\ 1\0#q jRo3xd71-\0M \0\0\17o\b\1cx\ 1\0#q /j7Crbuq-\0M \0\0\17o\b$x\ 1\0#q NuCV+Pn7-\0M \0\0\17o\b,x\ 1\0#q RiTiM9JJ-\0M \0\0\17o\b4x\ 1\0#q IEgAeHxJ-\0M \0\0\17o\b<x\ 1\0#q dEfM80MF-\0M \0\0\17o\bDx\ 1\0#q tPnBMxsr-\0M \0\0\17o\bLx\ 1\0#q AgcxJUHB-\0M \0\0\17o\bTx\ 1\0#q QgNneHDh-\0M \0\0\17o\b\x\ 1\0#q d46b0pvH-\0M \0\0\17o\bdx\ 1\0#q TJccMlKY-\0M \0\0\17o\blx\ 1\0#q UIk+5RcO-\0M \0\0\17o\btx\ 1\0#q Xp7Ryfl0-\0M \0\0\17o\b|x\ 1\0#q Nnc0n5iT-\0M \0\0\17o\b\84x\ 1\0#q GzpiTkxo-\0M \0\0\17o\b\8cx\ 1\0#q FCf/H09m-\0M \0\0\17o\b\94x\ 1\0#q HBodkFJS-\0M \0\0\17o\b\9cx\ 1\0#q 2Z2cs427-\0M \0\0\17o\b¤x\ 1\0#q TqZEjg2X-\0M \0\0\17o\b¬x\ 1\0#q Kgms0uWP-\0M \0\0\17o\b´x\ 1\0#q 9EwnyRTK-\0M \0\0\17o\b¼x\ 1\0#q CH4BWvY2-\0M \0\0\17o\bÄx\ 1\0#q oHETm/gw-\0M \0\0\17o\bÌx\ 1\0#q zIiIJE4S-\0M \0\0\17o\bÔx\ 1\0#q QGl2Ck88-\0M \0\0\17o\bÜx\ 1\0#q xdoqynSI-\0M \0\0\17o\bäx\ 1\0#q aAsnIZAH-\0M \0\0\17o\bìx\ 1\0#q ItqcqEkc-\0M \0\0\17o\bôx\ 1\0#q 5usa5371-\0M \0\0\17o\büx\ 1\0#q h9/ghm6w-\0M \0\0\17o\b\ 4y\ 1\0#q vaD++Ev8-\0M \0\0\17o\b\fy\ 1\0#q O9O1aUzF-\0M \0\0\17o\b\14y\ 1\0#q PwkL4FbX-\0M \0\0\17o\b\1cy\ 1\0#q vIfOvp57-\0M \0\0\17o\b$y\ 1\0#q 1rp7GmKU-\0M \0\0\17o\b,y\ 1\0#q GlYdK/70-\0M \0\0\17o\b4y\ 1\0#q n+m237St-\0M \0\0\17o\b<y\ 1\0#q jy2V0w2w-\0M \0\0\17o\bDy\ 1\0#q 6YfZFPh9-\0M \0\0\17o\bLy\ 1\0#q Hg06PAx0-\0M \0\0\17o\bTy\ 1\0#q ppwTTGGy-\0M \0\0\17o\b\y\ 1\0#q Sp/LydK8-\0M \0\0\17o\bdy\ 1\0#q /p8z7d2Z-\0M \0\0\17o\bly\ 1\0#q mabu+zmX-\0M \0\0\17o\bty\ 1\0#q HZJtVDh9-\0M \0\0\17o\b|y\ 1\0#q axBEEQcz-\0M \0\0\17o\b\84y\ 1\0#q HKc39VaV-\0M \0\0\17o\b\8cy\ 1\0#q T4x8bLS/-\0M \0\0\17o\b\94y\ 1\0#q TE/iYRwj-\0M \0\0\17o\b\9cy\ 1\0#q wdM0rY+r-\0M \0\0\17o\b¤y\ 1\0#q UH8HTgw/-\0M \0\0\17o\b¬y\ 1\0#q pHI4Jpor-\0M \0\0\17o\b´y\ 1\0#q pt5nzbKm-\0M \0\0\17o\b¼y\ 1\0#q LJH82WyJ-\0M \0\0\17o\bÄy\ 1\0#q NK5mnJ4D-\0M \0\0\17o\bÌy\ 1\0#q eABtlKSy-\0M \0\0\17o\bÔy\ 1\0#q i0srSV+j-\0M \0\0\17o\bÜy\ 1\0#q HaGkaf0o-\0M \0\0\17o\bäy\ 1\0#q L5Xqr49f-\0M \0\0\17o\bìy\ 1\0#q 2cO3KPHd-\0M \0\0\17o\bôy\ 1\0#q VlOlxT2L-\0M \0\0\17o\büy\ 1\0#q botv5H7P-\0M \0\0\17o\b\ 4z\ 1\0#q q5pfnuZz-\0M \0\0\17o\b\fz\ 1\0#q /dmMfvq7-\0M \0\0\17o\b\14z\ 1\0#q Hqnxosaf-\0M \0\0\17o\b\1cz\ 1\0#q 5U5j9bbH-\0M \0\0\17o\b$z\ 1\0#q 6/WKPbcO-\0M \0\0\17o\b,z\ 1\0#q 7bK+EPh5-\0M \0\0\17o\b4z\ 1\0#q IfmR4cj2-\0M \0\0\17o\b<z\ 1\0#q lOqW0RIh-\0M \0\0\17o\bDz\ 1\0#q +qOFlpQ4-\0M \0\0\17o\bLz\ 1\0#q QPJP14ba-\0M \0\0\17o\bTz\ 1\0#q 1ay0a5WM-\0M \0\0\17o\b\z\ 1\0#q szhMV5f9-\0M \0\0\17o\bdz\ 1\0#q J609T6Pl-\0M \0\0\17o\blz\ 1\0#q I9nB/Z+l-\0M \0\0\17o\btz\ 1\0#q tJpZfELl-\0M \0\0\17o\b|z\ 1\0#q yFYfUpiT-\0M \0\0\17o\b\84z\ 1\0#q UrTJy1Ra-\0M \0\0\17o\b\8cz\ 1\0#q mlkyy1ar-\0M \0\0\17o\b\94z\ 1\0#q GFKjH1Sm-\0M \0\0\17o\b\9cz\ 1\0#q RptiNFKl-\0M \0\0\17o\b¤z\ 1\0#q HlOxTypV-\0M \0\0\17o\b¬z\ 1\0#q NuJAVJ4E-\0M \0\0\17o\b´z\ 1\0#q rlpVbYWd-\0M \0\0\17o\b¼z\ 1\0#q nGukOx25-\0M \0\0\17o\bÄz\ 1\0#q SUDvhmkJ-\0M \0\0\17o\bÌz\ 1\0#q SKvuGWZY-\0M \0\0\17o\bÔz\ 1\0#q ZZExglQq-\0M \0\0\17o\bÜz\ 1\0#q FSfb9gSR-\0M \0\0\17o\bäz\ 1\0#q He26lLJV-\0M \0\0\17o\bìz\ 1\0#q fZjBJ/oi-\0M \0\0\17o\bôz\ 1\0#q PHr3rq/p-\0M \0\0\17o\büz\ 1\0#q JEQkegQk-\0M \0\0\17o\b\ 4{\ 1\0#q Cw6m6pxf-\0M \0\0\17o\b\f{\ 1\0#q vmXePsQv-\0M \0\0\17o\b\14{\ 1\0#q n9xLQI6K-\0M \0\0\17o\b\1c{\ 1\0#q SRQIAG3b-\0M \0\0\17o\b${\ 1\0#q EGfh7NUK-\0M \0\0\17o\b,{\ 1\0#q cK53UPq8-\0M \0\0\17o\b4{\ 1\0#q OHUkcacJ-\0M \0\0\17o\b<{\ 1\0#q yvTMdOk6-\0M \0\0\17o\bD{\ 1\0#q aVZtbeXD-\0M \0\0\17o\bL{\ 1\0#q JrDQwQRB-\0M \0\0\17o\bT{\ 1\0#q jBWHXQ31-\0M \0\0\17o\b\{\ 1\0#q cy5mBlRZ-\0M \0\0\17o\bd{\ 1\0#q 6IYlcEmE-\0M \0\0\17o\bl{\ 1\0#q U04Y4cGE-\0M \0\0\17o\bt{\ 1\0#q w43ZacPu-\0M \0\0\17o\b|{\ 1\0#q bU5VthDl-\0M \0\0\17o\b\84{\ 1\0#q icPuw5tq-\0M \0\0\17o\b\8c{\ 1\0#q 27YxgrGO-\0M \0\0\17o\b\94{\ 1\0#q OrbLbUDH-\0M \0\0\17o\b\9c{\ 1\0#q k2YqK5Y+-\0M \0\0\17o\b¤{\ 1\0#q iuHLp5DT-\0M \0\0\17o\b¬{\ 1\0#q 4+JNH2/Z-\0M \0\0\17o\b´{\ 1\0#q 8HtbEa9p-\0M \0\0\17o\b¼{\ 1\0#q ifS5hRZb-\0M \0\0\17o\bÄ{\ 1\0#q RbRJLmJk-\0M \0\0\17o\bÌ{\ 1\0#q tJK4MBO+-\0M \0\0\17o\bÔ{\ 1\0#q IfGu7xq/-\0M \0\0\17o\bÜ{\ 1\0#q hYNWnTpG-\0M \0\0\17o\bä{\ 1\0#q nT2zPJAB-\0M \0\0\17o\bì{\ 1\0#q 7pIdsgDn-\0M \0\0\17o\bô{\ 1\0#q jwae+mHs-\0M \0\0\17o\bü{\ 1\0#q Zcy3KXSR-\0M \0\0\17o\b\ 4|\ 1\0#q 8U8MMHx3-\0M \0\0\17o\b\f|\ 1\0#q 67L6cwta-\0M \0\0\17o\b\14|\ 1\0#q VLbW0oON-\0M \0\0\17o\b\1c|\ 1\0#q WeD2UwAh-\0M \0\0\17o\b$|\ 1\0#q lkYAd9Py-\0M \0\0\17o\b,|\ 1\0#q GVl2b951-\0M \0\0\17o\b4|\ 1\0#q gXi5PVcb-\0M \0\0\17o\b<|\ 1\0#q 8QkPLMTq-\0M \0\0\17o\bD|\ 1\0#q 0gBWTz4K-\0M \0\0\17o\bL|\ 1\0#q b75X2bmG-\0M \0\0\17o\bT|\ 1\0#q XKOkz4+P-\0M \0\0\17o\b\|\ 1\0#q NebXzvhX-\0M \0\0\17o\bd|\ 1\0#q 0lvnW92F-\0M \0\0\17o\bl|\ 1\0#q LBBb7Y5N-\0M \0\0\17o\bt|\ 1\0#q tIVito4V-\0M \0\0\17o\b||\ 1\0#q iq+U3q3G-\0M \0\0\17o\b\84|\ 1\0#q 5KxpPY05-\0M \0\0\17o\b\8c|\ 1\0#q fL8uNtqq-\0M \0\0\17o\b\94|\ 1\0#q VHwkaYHg-\0M \0\0\17o\b\9c|\ 1\0#q 7TTw5Y28-\0M \0\0\17o\b¤|\ 1\0#q GPVWo6bO-\0M \0\0\17o\b¬|\ 1\0#q 3c2dGOmk-\0M \0\0\17o\b´|\ 1\0#q 5G3CG38p-\0M \0\0\17o\b¼|\ 1\0#q 48S6Hjls-\0M \0\0\17o\bÄ|\ 1\0#q NF2N5UG3-\0M \0\0\17o\bÌ|\ 1\0#q rhMMNpgt-\0M \0\0\17o\bÔ|\ 1\0#q Tb7iCOst-\0M \0\0\17o\bÜ|\ 1\0#q 5UUraeXa-\0M \0\0\17o\bä|\ 1\0#q RgqdGFNm-\0M \0\0\17o\bì|\ 1\0#q IlmjFNDb-\0M \0\0\17o\bô|\ 1\0#q T2JT0+HD-\0M \0\0\17o\bü|\ 1\0#q bb6fWUsv-\0M \0\0\17o\b\ 4}\ 1\0#q Kq43XF85-\0M \0\0\17o\b\f}\ 1\0#q mSaaDRzy-\0M \0\0\17o\b\14}\ 1\0#q tq8wj6of-\0M \0\0\17o\b\1c}\ 1\0#q RCj5Spba-\0M \0\0\17o\b$}\ 1\0#q wpLGJ941-\0M \0\0\17o\b,}\ 1\0#q qyZFjLKF-\0M \0\0\17o\b4}\ 1\0#q SaYxiaJL-\0M \0\0\17o\b<}\ 1\0#q LaQhJJAk-\0M \0\0\17o\bD}\ 1\0#q hvLrtqoC-\0M \0\0\17o\bL}\ 1\0#q ttttq21F-\0M \0\0\17o\bT}\ 1\0#q iQaI9vwr-\0M \0\0\17o\b\}\ 1\0#q DxA5e0qy-\0M \0\0\17o\bd}\ 1\0#q 21HycDga-\0M \0\0\17o\bl}\ 1\0#q RwSPs8Q8-\0M \0\0\17o\bt}\ 1\0#q LbbbaEEq-\0M \0\0\17o\b|}\ 1\0#q JAA+29r5-\0M \0\0\17o\b\84}\ 1\0#q V87e9va2-\0M \0\0\17o\b\8c}\ 1\0#q 19Eb4CSi-\0M \0\0\17o\b\94}\ 1\0#q IivrXz3x-\0M \0\0\17o\b\9c}\ 1\0#q YwYxlsMd-\0M \0\0\17o\b¤}\ 1\0#q qma+mXMu-\0M \0\0\17o\b¬}\ 1\0#q MrKWCsMV-\0M \0\0\17o\b´}\ 1\0#q UFYvUsRa-\0M \0\0\17o\b¼}\ 1\0#q VppRgxw1-\0M \0\0\17o\bÄ}\ 1\0#q JXOMb3mL-\0M \0\0\17o\bÌ}\ 1\0#q yozTBtdt-\0M \0\0\17o\bÔ}\ 1\0#q NjDDApBM-\0M \0\0\17o\bÜ}\ 1\0#q AoSHCRow-\0M \0\0\17o\bä}\ 1\0#q phkwjDBu-\0M \0\0\17o\bì}\ 1\0#q cNtDaRKM-\0M \0\0\17o\bô}\ 1\0#q MYKomhyN-\0M \0\0\17o\bü}\ 1\0#q Y0ck0nxv-\0M \0\0\17o\b\ 4~\ 1\0#q 7WzTGIgK-\0M \0\0\17o\b\f~\ 1\0#q aWfqbVi/-\0M \0\0\17o\b\14~\ 1\0#q VMlGxYTH-\0M \0\0\17o\b\1c~\ 1\0#q 9BkkfLWr-\0M \0\0\17o\b$~\ 1\0#q fruDbbbd-\0M \0\0\17o\b,~\ 1\0#q SUqaY2JU-\0M \0\0\17o\b4~\ 1\0#q cG9pYR+O-\0M \0\0\17o\b<~\ 1\0#q 0/p+5jB/-\0M \0\0\17o\bD~\ 1\0#q JZUMKxWI-\0M \0\0\17o\bL~\ 1\0#q qpUVIKVE-\0M \0\0\17o\bT~\ 1\0#q VQxZMcum-\0M \0\0\17o\b\~\ 1\0#q 5tZISSZs-\0M \0\0\17o\bd~\ 1\0#q kAD4W+H5-\0M \0\0\17o\bl~\ 1\0#q 9LNJklKl-\0M \0\0\17o\bt~\ 1\0#q fGlrqabJ-\0M \0\0\17o\b|~\ 1\0#q QptdXKqV-\0M \0\0\17o\b\84~\ 1\0#q KsqlUqOA-\0M \0\0\17o\b\8c~\ 1\0#q aRSiVP6P-\0M \0\0\17o\b\94~\ 1\0#q eBAlSQJC-\0M \0\0\17o\b\9c~\ 1\0#q TLBC2223-\0M \0\0\17o\b¤~\ 1\0#q 6NPq6ejH-\0M \0\0\17o\b¬~\ 1\0#q cSd2rZE7-\0M \0\0\17o\b´~\ 1\0#q YfVPKyfU-\0M \0\0\17o\b¼~\ 1\0#q T4b7fr8W-\0M \0\0\17o\bÄ~\ 1\0#q yefXfb6N-\0M \0\0\17o\bÌ~\ 1\0#q MyWzwG2m-\0M \0\0\17o\bÔ~\ 1\0#q Ep4bur6p-\0M \0\0\17o\bÜ~\ 1\0#q an33d8BX-\0M \0\0\17o\bä~\ 1\0#q GubpOl5e-\0M \0\0\17o\bì~\ 1\0#q d4jcsltU-\0M \0\0\17o\bô~\ 1\0#q aNEoRiM8-\0M \0\0\17o\bü~\ 1\0#q GkA0MS2l-\0M \0\0\17o\b\ 4\7f\ 1\0#q i5l+V2vw-\0M \0\0\17o\b\f\7f\ 1\0#q 4XIm74fH-\0M \0\0\17o\b\14\7f\ 1\0#q ps8HR/jS-\0M \0\0\17o\b\1c\7f\ 1\0#q /q+HQ8pS-\0M \0\0\17o\b$\7f\ 1\0#q v0K84J8+-\0M \0\0\17o\b,\7f\ 1\0#q flIn1SJ6-\0M \0\0\17o\b4\7f\ 1\0#q +UsU+C0c-\0M \0\0\17o\b<\7f\ 1\0#q 9Aop1HSt-\0M \0\0\17o\bD\7f\ 1\0#q KsYGMDKx-\0M \0\0\17o\bL\7f\ 1\0#q VVbVX8PI-\0M \0\0\17o\bT\7f\ 1\0#q 4Q6YTdhx-\0M \0\0\17o\b\\7f\ 1\0#q S2Nirbpb-\0M \0\0\17o\bd\7f\ 1\0#q f9Rt6er8-\0M \0\0\17o\bl\7f\ 1\0#q OQx00quK-\0M \0\0\17o\bt\7f\ 1\0#q /pxvKLQg-\0M \0\0\17o\b|\7f\ 1\0#q CMAPno3L-\0M \0\0\17o\b\84\7f\ 1\0#q mmAsuG5c-\0M \0\0\17o\b\8c\7f\ 1\0#q 3ARCCJ9n-\0M \0\0\17o\b\94\7f\ 1\0#q kfLTE07U-\0M \0\0\17o\b\9c\7f\ 1\0#q WQ+xE4df-\0M \0\0\17o\b¤\7f\ 1\0#q ZtP3VPs7-\0M \0\0\17o\b¬\7f\ 1\0#q YjtMjphy-\0M \0\0\17o\b´\7f\ 1\0#q P+UhGz0R-\0M \0\0\17o\b¼\7f\ 1\0#q 9z8FYVLW-\0M \0\0\17o\bÄ\7f\ 1\0#q Vdq/Htqr-\0M \0\0\17o\bÌ\7f\ 1\0#q 8qLbe2t9-\0M \0\0\17o\bÔ\7f\ 1\0#q wr6vumCB-\0M \0\0\17o\bÜ\7f\ 1\0#q 9f/1f4sd-\0M \0\0\17o\bä\7f\ 1\0#q o/2GBgKK-\0M \0\0\17o\bì\7f\ 1\0#q f9A+qrof-\0M \0\0\17o\bô\7f\ 1\0#q yy5yaOmG-\0M \0\0\17o\bü\7f\ 1\0#q MYh/zf7g-\0M \0\0\17o\b\ 4\80\ 1\0#q pXixGz8L-\0M \0\0\17o\b\f\80\ 1\0#q +5/xfK/0-\0M \0\0\17o\b\14\80\ 1\0#q YL8tv7GR-\0M \0\0\17o\b\1c\80\ 1\0#q +gqTsvxJ-\0M \0\0\17o\b$\80\ 1\0#q 9Ht9VkkL-\0M \0\0\17o\b,\80\ 1\0#q IxYsKqMP-\0M \0\0\17o\b4\80\ 1\0#q DNH2Sv8q-\0M \0\0\17o\b<\80\ 1\0#q 0SrVcBPl-\0M \0\0\17o\bD\80\ 1\0#q If3fwNJ/-\0M \0\0\17o\bL\80\ 1\0#q tUtJJygp-\0M \0\0\17o\bT\80\ 1\0#q 7lJ+qPde-\0M \0\0\17o\b\\80\ 1\0#q OJP8PnGm-\0M \0\0\17o\bd\80\ 1\0#q 0/cbR/Cu-\0M \0\0\17o\bl\80\ 1\0#q 1iq/DodI-\0M \0\0\17o\bt\80\ 1\0#q qyKlElfh-\0M \0\0\17o\b|\80\ 1\0#q 9ROO50qs-\0M \0\0\17o\b\84\80\ 1\0#q VPQ/KWck-\0M \0\0\17o\b\8c\80\ 1\0#q mmleZE/K-\0M \0\0\17o\b\94\80\ 1\0#q wjD935Yn-\0M \0\0\17o\b\9c\80\ 1\0#q pOIH6pJJ-\0M \0\0\17o\b¤\80\ 1\0#q krJ2Ojg/-\0M \0\0\17o\b¬\80\ 1\0#q KkmBVi22-\0M \0\0\17o\b´\80\ 1\0#q RUNKkxWo-\0M \0\0\17o\b¼\80\ 1\0#q wxU7iMnl-\0M \0\0\17o\bÄ\80\ 1\0#q aqlgNpJ8-\0M \0\0\17o\bÌ\80\ 1\0#q pj7iYnkV-\0M \0\0\17o\bÔ\80\ 1\0#q UWTvh03P-\0M \0\0\17o\bÜ\80\ 1\0#q CvJ5UwWA-\0M \0\0\17o\bä\80\ 1\0#q O+/U+8rw-\0M \0\0\17o\bì\80\ 1\0#q tQ/m/pYc-\0M \0\0\17o\bô\80\ 1\0#q u7dSLkkq-\0M \0\0\17o\bü\80\ 1\0#q lUIKb4Ad-\0M \0\0\17o\b\ 4\81\ 1\0#q xPxWQX6d-\0M \0\0\17o\b\f\81\ 1\0#q K8cR/srl-\0M \0\0\17o\b\14\81\ 1\0#q Nn5QkJHS-\0M \0\0\17o\b\1c\81\ 1\0#q lU6YlWNK-\0M \0\0\17o\b$\81\ 1\0#q sqyjRa1Z-\0M \0\0\17o\b,\81\ 1\0#q MrLLMYBj-\0M \0\0\17o\b4\81\ 1\0#q 6NRJ0Tlh-\0M \0\0\17o\b<\81\ 1\0#q NqV6ntwb-\0M \0\0\17o\bD\81\ 1\0#q HC0tcGIM-\0M \0\0\17o\bL\81\ 1\0#q SikWx6q/-\0M \0\0\17o\bT\81\ 1\0#q J86IAjIC-\0M \0\0\17o\b\\81\ 1\0#q aXDPuClJ-\0M \0\0\17o\bd\81\ 1\0#q RcO8kmIt-\0M \0\0\17o\bl\81\ 1\0#q QriaGCUl-\0M \0\0\17o\bt\81\ 1\0#q FzXDGSLi-\0M \0\0\17o\b|\81\ 1\0#q FQTqmfrN-\0M \0\0\17o\b\84\81\ 1\0#q Ozl03Ole-\0M \0\0\17o\b\8c\81\ 1\0#q IMWrYKKb-\0M \0\0\17o\b\94\81\ 1\0#q CrtOGYDo-\0M \0\0\17o\b\9c\81\ 1\0#q M00bf+1W-\0M \0\0\17o\b¤\81\ 1\0#q 6hV/xyoR-\0M \0\0\17o\b¬\81\ 1\0#q H9H1kIxE-\0M \0\0\17o\b´\81\ 1\0#q KqEqwhOh-\0M \0\0\17o\b¼\81\ 1\0#q 0fbf3XzN-\0M \0\0\17o\bÄ\81\ 1\0#q t1ZIaQ/Z-\0M \0\0\17o\bÌ\81\ 1\0#q Tcp8CVPC-\0M \0\0\17o\bÔ\81\ 1\0#q px/rV4xb-\0M \0\0\17o\bÜ\81\ 1\0#q 9LJRO2Ff-\0M \0\0\17o\bä\81\ 1\0#q AhRPU75R-\0M \0\0\17o\bì\81\ 1\0#q FAhEnDwr-\0M \0\0\17o\bô\81\ 1\0#q LCvgVkHF-\0M \0\0\17o\bü\81\ 1\0#q pWj6sNJo-\0M \0\0\17o\b\ 4\82\ 1\0#q 0rweXtOp-\0M \0\0\17o\b\f\82\ 1\0#q yT+x5Tl0-\0M \0\0\17o\b\14\82\ 1\0#q wTwqLD3p-\0M \0\0\17o\b\1c\82\ 1\0#q VXSJ+5+R-\0M \0\0\17o\b$\82\ 1\0#q tPl5TqEh-\0M \0\0\17o\b,\82\ 1\0#q VD+w7piT-\0M \0\0\17o\b4\82\ 1\0#q k2lwGKf1-\0M \0\0\17o\b<\82\ 1\0#q bfq5W39V-\0M \0\0\17o\bD\82\ 1\0#q r75V8q/9-\0M \0\0\17o\bL\82\ 1\0#q /wWTBGo2-\0M \0\0\17o\bT\82\ 1\0#q g0WqS2it-\0M \0\0\17o\b\\82\ 1\0#q FWqKtY1W-\0M \0\0\17o\bd\82\ 1\0#q osWrRVYr-\0M \0\0\17o\bl\82\ 1\0#q UaxWiqxa-\0M \0\0\17o\bt\82\ 1\0#q sa220Ftq-\0M \0\0\17o\b|\82\ 1\0#q xFVbQaNU-\0M \0\0\17o\b\84\82\ 1\0#q aotGxFsb-\0M \0\0\17o\b\8c\82\ 1\0#q axtbSaLb-\0M \0\0\17o\b\94\82\ 1\0#q G2tYrRrV-\0M \0\0\17o\b\9c\82\ 1\0#q GoitRVEa-\0M \0\0\17o\b¤\82\ 1\0#q 2iitFFbR-\0M \0\0\17o\b¬\82\ 1\0#q qi2xWxVt-\0M \0\0\17o\b´\82\ 1\0#q itrFaqNr-\0M \0\0\17o\b¼\82\ 1\0#q RbGrVFWs-\0M \0\0\17o\bÄ\82\ 1\0#q VtrFqoBZ-\0M \0\0\17o\bÌ\82\ 1\0#q kqzAMyJm-\0M \0\0\17o\bÔ\82\ 1\0#q CrMpSsxa-\0M \0\0\17o\bÜ\82\ 1\0#q rGraooi2-\0M \0\0\17o\bä\82\ 1\0#q o1WxaqxY-\0M \0\0\17o\bì\82\ 1\0#q kirFkFgS-\0M \0\0\17o\bô\82\ 1\0#q QP+X9/8v-\0M \0\0\17o\bü\82\ 1\0#q 5ZP6G0/t-\0M \0\0\17o\b\ 4\83\ 1\0#q c4bk13k3-\0M \0\0\17o\b\f\83\ 1\0#q JrvDkTm8-\0M \0\0\17o\b\14\83\ 1\0#q Quc3Qw/x-\0M \0\0\17o\b\1c\83\ 1\0#q o2mMqVok-\0M \0\0\17o\b$\83\ 1\0#q Qel047gD-\0M \0\0\17o\b,\83\ 1\0#q u6KK9vXS-\0M \0\0\17o\b4\83\ 1\0#q ItvS8kwS-\0M \0\0\17o\b<\83\ 1\0#q VIXbC5SC-\0M \0\0\17o\bD\83\ 1\0#q kWVJiFZg-\0M \0\0\17o\bL\83\ 1\0#q hUtoVKxa-\0M \0\0\17o\bT\83\ 1\0#q lLbdMKjl-\0M \0\0\17o\b\\83\ 1\0#q WErKlStS-\0M \0\0\17o\bd\83\ 1\0#q eOmTUeNg-\0M \0\0\17o\bl\83\ 1\0#q u7o2dzri-\0M \0\0\17o\bt\83\ 1\0#q ub3bxvGB-\0M \0\0\17o\b|\83\ 1\0#q NRCbu64Y-\0M \0\0\17o\b\84\83\ 1\0#q 4kT37cPB-\0M \0\0\17o\b\8c\83\ 1\0#q IVhFJFkU-\0M \0\0\17o\b\94\83\ 1\0#q hs5l65OB-\0M \0\0\17o\b\9c\83\ 1\0#q c/xyiJn9-\0M \0\0\17o\b¤\83\ 1\0#q pvMTp04G-\0M \0\0\17o\b¬\83\ 1\0#q A55Yats2-\0M \0\0\17o\b´\83\ 1\0#q p3krH/20-\0M \0\0\17o\b¼\83\ 1\0#q yE1IIqJ4-\0M \0\0\17o\bÄ\83\ 1\0#q GE72HU7u-\0M \0\0\17o\bÌ\83\ 1\0#q YYM8Ubq8-\0M \0\0\17o\bÔ\83\ 1\0#q 7w0emUBO-\0M \0\0\17o\bÜ\83\ 1\0#q g4KzHejc-\0M \0\0\17o\bä\83\ 1\0#q 5vnlBVjw-\0M \0\0\17o\bì\83\ 1\0#q Wj2JDp78-\0M \0\0\17o\bô\83\ 1\0#q uxUmIZjG-\0M \0\0\17o\bü\83\ 1\0#q SSXv2+C+-\0M \0\0\17o\b\ 4\84\ 1\0#q Vk2buCu5-\0M \0\0\17o\b\f\84\ 1\0#q waLzxxtC-\0M \0\0\17o\b\14\84\ 1\0#q qTeYuYkz-\0M \0\0\17o\b\1c\84\ 1\0#q GRiwWkxW-\0M \0\0\17o\b$\84\ 1\0#q MbuiWxbD-\0M \0\0\17o\b,\84\ 1\0#q iVZW3Hey-\0M \0\0\17o\b4\84\ 1\0#q 4sc9aW7D-\0M \0\0\17o\b<\84\ 1\0#q LDfXXvBO-\0M \0\0\17o\bD\84\ 1\0#q 8UcMOrE6-\0M \0\0\17o\bL\84\ 1\0#q ZHKIJJkS-\0M \0\0\17o\bT\84\ 1\0#q MuZM51Zh-\0M \0\0\17o\b\\84\ 1\0#q DeUpVpMi-\0M \0\0\17o\bd\84\ 1\0#q llJZpvUR-\0M \0\0\17o\bl\84\ 1\0#q zSaUu8Tx-\0M \0\0\17o\bt\84\ 1\0#q mWyQ4sN1-\0M \0\0\17o\b|\84\ 1\0#q HLGJuVCy-\0M \0\0\17o\b\84\84\ 1\0#q o1rGYzbr-\0M \0\0\17o\b\8c\84\ 1\0#q G6nipyrX-\0M \0\0\17o\b\94\84\ 1\0#q O7Z7vS43-\0M \0\0\17o\b\9c\84\ 1\0#q pcWFeb5b-\0M \0\0\17o\b¤\84\ 1\0#q U4saY8yV-\0M \0\0\17o\b¬\84\ 1\0#q ux4640jF-\0M \0\0\17o\b´\84\ 1\0#q LmIWjVTa-\0M \0\0\17o\b¼\84\ 1\0#q VtUu6xHF-\0M \0\0\17o\bÄ\84\ 1\0#q mprC7jGK-\0M \0\0\17o\bÌ\84\ 1\0#q 0oY3kblG-\0M \0\0\17o\bÔ\84\ 1\0#q mTI1k3ub-\0M \0\0\17o\bÜ\84\ 1\0#q EQo4klMa-\0M \0\0\17o\bä\84\ 1\0#q Sc87iGrn-\0M \0\0\17o\bì\84\ 1\0#q c67p0dLL-\0M \0\0\17o\bô\84\ 1\0#q SaMM8Wbg-\0M \0\0\17o\bü\84\ 1\0#q ykoqxHuh-\0M \0\0\17o\b\ 4\85\ 1\0#q UIiSVgcN-\0M \0\0\17o\b\f\85\ 1\0#q s4ReusZ2-\0M \0\0\17o\b\14\85\ 1\0#q W9pwcOl7-\0M \0\0\17o\b\1c\85\ 1\0#q l6OFfAh1-\0M \0\0\17o\b$\85\ 1\0#q 1ZNRZnWh-\0M \0\0\17o\b,\85\ 1\0#q 576MW2q1-\0M \0\0\17o\b4\85\ 1\0#q bFKxVnLe-\0M \0\0\17o\b<\85\ 1\0#q +3xhp5sO-\0M \0\0\17o\bD\85\ 1\0#q /llybe2u-\0M \0\0\17o\bL\85\ 1\0#q 6vZwQiJ6-\0M \0\0\17o\bT\85\ 1\0#q 3JuaKKNC-\0M \0\0\17o\b\\85\ 1\0#q GBLFFoua-\0M \0\0\17o\bd\85\ 1\0#q 715rvMY1-\0M \0\0\17o\bl\85\ 1\0#q dJZyLBbr-\0M \0\0\17o\bt\85\ 1\0#q OZ5XV5qe-\0M \0\0\17o\b|\85\ 1\0#q IKQWC7JD-\0M \0\0\17o\b\84\85\ 1\0#q CltJRnjc-\0M \0\0\17o\b\8c\85\ 1\0#q MWVKILJ3-\0M \0\0\17o\b\94\85\ 1\0#q QpiLVSjw-\0M \0\0\17o\b\9c\85\ 1\0#q UMweGw6N-\0M \0\0\17o\b¤\85\ 1\0#q EzJrF1i1-\0M \0\0\17o\b¬\85\ 1\0#q Fr4tLGZj-\0M \0\0\17o\b´\85\ 1\0#q FiWmbSya-\0M \0\0\17o\b¼\85\ 1\0#q gjBTJHzl-\0M \0\0\17o\bÄ\85\ 1\0#q DjD4ecQ6-\0M \0\0\17o\bÌ\85\ 1\0#q 82snBkEB-\0M \0\0\17o\bÔ\85\ 1\0#q IfIt4B0k-\0M \0\0\17o\bÜ\85\ 1\0#q gWTyUekm-\0M \0\0\17o\bä\85\ 1\0#q pzCiQ5yh-\0M \0\0\17o\bì\85\ 1\0#q 1wM4G8Se-\0M \0\0\17o\bô\85\ 1\0#q OG+NNwKd-\0M \0\0\17o\bü\85\ 1\0#q jDrIdZ3n-\0M \0\0\17o\b\ 4\86\ 1\0#q nxc5azJS-\0M \0\0\17o\b\f\86\ 1\0#q gWIWMigB-\0M \0\0\17o\b\14\86\ 1\0#q FTrbdrcC-\0M \0\0\17o\b\1c\86\ 1\0#q 3d1FulyS-\0M \0\0\17o\b$\86\ 1\0#q tyYtcJGJ-\0M \0\0\17o\b,\86\ 1\0#q ReZlFmTV-\0M \0\0\17o\b4\86\ 1\0#q NTS4yPGP-\0M \0\0\17o\b<\86\ 1\0#q G6m4mU4U-\0M \0\0\17o\bD\86\ 1\0#q pUnHfhrr-\0M \0\0\17o\bL\86\ 1\0#q wWZWNdRv-\0M \0\0\17o\bT\86\ 1\0#q xxpo63XA-\0M \0\0\17o\b\\86\ 1\0#q 16Gk8d9E-\0M \0\0\17o\bd\86\ 1\0#q E0Xhw0Mm-\0M \0\0\17o\bl\86\ 1\0#q KiDFJNWV-\0M \0\0\17o\bt\86\ 1\0#q 25mGqnfP-\0M \0\0\17o\b|\86\ 1\0#q HiSZDmy0-\0M \0\0\17o\b\84\86\ 1\0#q tLVotC9m-\0M \0\0\17o\b\8c\86\ 1\0#q E3s7B8ef-\0M \0\0\17o\b\94\86\ 1\0#q HiO2NasF-\0M \0\0\17o\b\9c\86\ 1\0#q iqCyLUrM-\0M \0\0\17o\b¤\86\ 1\0#q VTLjOkid-\0M \0\0\17o\b¬\86\ 1\0#q BUijvl11-\0M \0\0\17o\b´\86\ 1\0#q NMuFdid4-\0M \0\0\17o\b¼\86\ 1\0#q Pnq556pj-\0M \0\0\17o\bÄ\86\ 1\0#q 0CZeWiKi-\0M \0\0\17o\bÌ\86\ 1\0#q RE4EFhe7-\0M \0\0\17o\bÔ\86\ 1\0#q nIB0MWSo-\0M \0\0\17o\bÜ\86\ 1\0#q VFVEKlEg-\0M \0\0\17o\bä\86\ 1\0#q dTKChKRI-\0M \0\0\17o\bì\86\ 1\0#q xmMBSnnM-\0M \0\0\17o\bô\86\ 1\0#q iG9dA90R-\0M \0\0\17o\bü\86\ 1\0#q I90p4oXn-\0M \0\0\17o\b\ 4\87\ 1\0#q QyoVOzwO-\0M \0\0\17o\b\f\87\ 1\0#q XmFFm7kU-\0M \0\0\17o\b\14\87\ 1\0#q 1EJfOeLl-\0M \0\0\17o\b\1c\87\ 1\0#q 7pwCnXR2-\0M \0\0\17o\b$\87\ 1\0#q AkONIgVX-\0M \0\0\17o\b,\87\ 1\0#q EixG8HO3-\0M \0\0\17o\b4\87\ 1\0#q zk2uUXZ4-\0M \0\0\17o\b<\87\ 1\0#q KDRPGOMQ-\0M \0\0\17o\bD\87\ 1\0#q cFigu6MB-\0M \0\0\17o\bL\87\ 1\0#q AynwUr5t-\0M \0\0\17o\bT\87\ 1\0#q MSp4Zm3S-\0M \0\0\17o\b\\87\ 1\0#q 97lkYwrK-\0M \0\0\17o\bd\87\ 1\0#q bmYdS7N0-\0M \0\0\17o\bl\87\ 1\0#q thbaW8cM-\0M \0\0\17o\bt\87\ 1\0#q cuPGm2iN-\0M \0\0\17o\b|\87\ 1\0#q lkxeVSsr-\0M \0\0\17o\b\84\87\ 1\0#q DdwwNvjm-\0M \0\0\17o\b\8c\87\ 1\0#q OMsQWV0b-\0M \0\0\17o\b\94\87\ 1\0#q YCzEe/Eu-\0M \0\0\17o\b\9c\87\ 1\0#q duWNOYe4-\0M \0\0\17o\b¤\87\ 1\0#q t4neTnLW-\0M \0\0\17o\b¬\87\ 1\0#q Q7yaysyt-\0M \0\0\17o\b´\87\ 1\0#q 7Nq5jW3w-\0M \0\0\17o\b¼\87\ 1\0#q 84tro7rF-\0M \0\0\17o\bÄ\87\ 1\0#q bxrm3ROc-\0M \0\0\17o\bÌ\87\ 1\0#q yItTKia3-\0M \0\0\17o\bÔ\87\ 1\0#q 1oMVVVzM-\0M \0\0\17o\bÜ\87\ 1\0#q mKibuKkZ-\0M \0\0\17o\bä\87\ 1\0#q YOb3Z3Un-\0M \0\0\17o\bì\87\ 1\0#q BYN1JxUt-\0M \0\0\17o\bô\87\ 1\0#q iasqwcnV-\0M \0\0\17o\bü\87\ 1\0#q w0qRd45s-\0M \0\0\17o\b\ 4\88\ 1\0#q TvWJOrIZ-\0M \0\0\17o\b\f\88\ 1\0#q cp3W8pby-\0M \0\0\17o\b\14\88\ 1\0#q ud6rMm8T-\0M \0\0\17o\b\1c\88\ 1\0#q WW/KOlHv-\0M \0\0\17o\b$\88\ 1\0#q rjW2vNJM-\0M \0\0\17o\b,\88\ 1\0#q EmW6wk8+-\0M \0\0\17o\b4\88\ 1\0#q aSBDqHZe-\0M \0\0\17o\b<\88\ 1\0#q 3wLGK4+W-\0M \0\0\17o\bD\88\ 1\0#q YxQYao+a-\0M \0\0\17o\bL\88\ 1\0#q FMLu3Zia-\0M \0\0\17o\bT\88\ 1\0#q 4DJiYsHL-\0M \0\0\17o\b\\88\ 1\0#q W8vWVSaq-\0M \0\0\17o\bd\88\ 1\0#q uNQVVUQ7-\0M \0\0\17o\bl\88\ 1\0#q dSGGWs7c-\0M \0\0\17o\bt\88\ 1\0#q gmMXdseV-\0M \0\0\17o\b|\88\ 1\0#q DzwzwgEv-\0M \0\0\17o\b\84\88\ 1\0#q mRsCB5fB-\0M \0\0\17o\b\8c\88\ 1\0#q QVQXq0Zj-\0M \0\0\17o\b\94\88\ 1\0#q 5wJrB6UF-\0M \0\0\17o\b\9c\88\ 1\0#q aTgUTjAX-\0M \0\0\17o\b¤\88\ 1\0#q mHe6AjId-\0M \0\0\17o\b¬\88\ 1\0#q sFIpFIYZ-\0M \0\0\17o\b´\88\ 1\0#q 5zPJpMFN-\0M \0\0\17o\b¼\88\ 1\0#q 97axjrOe-\0M \0\0\17o\bÄ\88\ 1\0#q bjescSIe-\0M \0\0\17o\bÌ\88\ 1\0#q OlxIjJYu-\0M \0\0\17o\bÔ\88\ 1\0#q YzMCWWMV-\0M \0\0\17o\bÜ\88\ 1\0#q ihKxiTtW-\0M \0\0\17o\bä\88\ 1\0#q +9a1edTM-\0M \0\0\17o\bì\88\ 1\0#q rhldTnO8-\0M \0\0\17o\bô\88\ 1\0#q F0E1nhOr-\0M \0\0\17o\bü\88\ 1\0#q 4yVONeDj-\0M \0\0\17o\b\ 4\89\ 1\0#q Tro3vk4e-\0M \0\0\17o\b\f\89\ 1\0#q VFXbfM/6-\0M \0\0\17o\b\14\89\ 1\0#q MUFZJlNZ-\0M \0\0\17o\b\1c\89\ 1\0#q Z+RMiADv-\0M \0\0\17o\b$\89\ 1\0#q El+AAvwQ-\0M \0\0\17o\b,\89\ 1\0#q B3/wP//f-\0M \0\0\17o\b4\89\ 1\0#q yr////pg-\0M \0\0\17o\b<\89\ 1\0#q Qg94DwHe-\0M \0\0\17o\bD\89\ 1\0#q 94+e89AU-\0M \0\0\17o\bL\89\ 1\0#q H2NBDuwv-\0M \0\0\17o\bT\89\ 1\0#q r6eX3b72-\0M \0\0\17o\b\\89\ 1\0#q JJyiefd5-\0M \0\0\17o\bd\89\ 1\0#q 8+Vd8GQI-\0M \0\0\17o\bl\89\ 1\0#q qkiC6wJS-\0M \0\0\17o\bt\89\ 1\0#q bBm5uQAA-\0M \0\0\17o\b|\89\ 1\0#q AKq7u5JK-\0M \0\0\17o\b\84\89\ 1\0#q oSaaqQKQ-\0M \0\0\17o\b\8c\89\ 1\0#q l21VBRUl-\0M \0\0\17o\b\94\89\ 1\0#q VJEKkqkq-\0M \0\0\17o\b\9c\89\ 1\0#q klKlVSiC-\0M \0\0\17o\b¤\89\ 1\0#q ooVFg+Bc-\0M \0\0\17o\b¬\89\ 1\0#q YAA+7T5I-\0M \0\0\17o\b´\89\ 1\0#q +gBL4hzd-\0M \0\0\17o\b¼\89\ 1\0#q zp5AMgOt-\0M \0\0\17o\bÄ\89\ 1\0#q Gq4ADa13-\0M \0\0\17o\bÌ\89\ 1\0#q bYpbuB97-\0M \0\0\17o\bÔ\89\ 1\0#q AXvu0OR1-\0M \0\0\17o\bÜ\89\ 1\0#q 329gffKP-\0M \0\0\17o\bä\89\ 1\0#q us6EiQIG-\0M \0\0\17o\bì\89\ 1\0#q hBMJE8hN-\0M \0\0\17o\bô\89\ 1\0#q E02U9Q0N-\0M \0\0\17o\bü\89\ 1\0#q DQGhp+qY-\0M \0\0\17o\b\ 4\8a\ 1\0#q gkgCIklT-\0M \0\0\17o\b\f\8a\ 1\0#q 0IaaZADQ-\0M \0\0\17o\b\14\8a\ 1\0#q AAAAAAae-\0M \0\0\17o\b\1c\8a\ 1\0#q iIiUn6Jq-\0M \0\0\17o\b$\8a\ 1\0#q JgaI2hNG-\0M \0\0\17o\b,\8a\ 1\0#q AA0Bk9QA-\0M \0\0\17o\b4\8a\ 1\0#q mgk9VJJE-\0M \0\0\17o\b<\8a\ 1\0#q yZJ6npNl-\0M \0\0\17o\bD\8a\ 1\0#q NNBoZoTC-\0M \0\0\17o\bL\8a\ 1\0#q NDaTRkD1-\0M \0\0\17o\bT\8a\ 1\0#q BiBEiAiK-\0M \0\0\17o\b\\8a\ 1\0#q RKekw0mI-\0M \0\0\17o\bd\8a\ 1\0#q Bpo0aMTQ-\0M \0\0\17o\bl\8a\ 1\0#q ZMjI00YI-\0M \0\0\17o\bt\8a\ 1\0#q kiARpomQ-\0M \0\0\17o\b|\8a\ 1\0#q hkE1Efqn-\0M \0\0\17o\b\84\8a\ 1\0#q qNA02oAA-\0M \0\0\17o\b\8c\8a\ 1\0#q Bo53OJuR-\0M \0\0\17o\b\94\8a\ 1\0#q wkNrkuMU-\0M \0\0\17o\b\9c\8a\ 1\0#q JOhNQiCK-\0M \0\0\17o\b¤\8a\ 1\0#q MocWFChE-\0M \0\0\17o\b¬\8a\ 1\0#q EQrUGVTG-\0M \0\0\17o\b´\8a\ 1\0#q gg0sMW2b-\0M \0\0\17o\b¼\8a\ 1\0#q qgkJBgah-\0M \0\0\17o\bÄ\8a\ 1\0#q Uxttdb03-\0M \0\0\17o\bÌ\8a\ 1\0#q 1poJEQAh-\0M \0\0\17o\bÔ\8a\ 1\0#q SSeqS4Rw-\0M \0\0\17o\bÜ\8a\ 1\0#q ucrgpgGD-\0M \0\0\17o\bä\8a\ 1\0#q RopQUVIk-\0M \0\0\17o\bì\8a\ 1\0#q NExkDQSG-\0M \0\0\17o\bô\8a\ 1\0#q ATIZGCmT-\0M \0\0\17o\bü\8a\ 1\0#q CKIkUjZJ-\0M \0\0\17o\b\ 4\8b\ 1\0#q ZESZSaMx-\0M \0\0\17o\b\f\8b\ 1\0#q BmaRQQFl-\0M \0\0\17o\b\14\8b\ 1\0#q NGJKRIQi-\0M \0\0\17o\b\1c\8b\ 1\0#q hnBz6Pqb-\0M \0\0\17o\b$\8b\ 1\0#q 1dXa7ucr-\0M \0\0\17o\b,\8b\ 1\0#q jgmcuCGg-\0M \0\0\17o\b4\8b\ 1\0#q bYNpgK8A-\0M \0\0\17o\b<\8b\ 1\0#q KEFIr8o4-\0M \0\0\17o\bD\8b\ 1\0#q gKQFwMGj-\0M \0\0\17o\bL\8b\ 1\0#q vveHmstx-\0M \0\0\17o\bT\8b\ 1\0#q 7CuEmmgY-\0M \0\0\17o\b\\8b\ 1\0#q nRQhB3iu-\0M \0\0\17o\bd\8b\ 1\0#q /mzlcrWd-\0M \0\0\17o\bl\8b\ 1\0#q LQASIoDp-\0M \0\0\17o\bt\8b\ 1\0#q mY0D1WpC-\0M \0\0\17o\b|\8b\ 1\0#q xNppg6Vo-\0M \0\0\17o\b\84\8b\ 1\0#q TStS8btY-\0M \0\0\17o\b\8c\8b\ 1\0#q ssBpPUaC-\0M \0\0\17o\b\94\8b\ 1\0#q 7k8vu+aX-\0M \0\0\17o\b\9c\8b\ 1\0#q zwycRqJj-\0M \0\0\17o\b¤\8b\ 1\0#q 4XNyCaEL-\0M \0\0\17o\b¬\8b\ 1\0#q 8W6PxaWp-\0M \0\0\17o\b´\8b\ 1\0#q Q2NtCG2k-\0M \0\0\17o\b¼\8b\ 1\0#q MTE6TpoD-\0M \0\0\17o\bÄ\8b\ 1\0#q CHUaLpoa-\0M \0\0\17o\bÌ\8b\ 1\0#q W1Dm0upH-\0M \0\0\17o\bÔ\8b\ 1\0#q lZaDritX-\0M \0\0\17o\bÜ\8b\ 1\0#q aTgmhQQN-\0M \0\0\17o\bä\8b\ 1\0#q tsojjagM-\0M \0\0\17o\bì\8b\ 1\0#q pMIthjtQ-\0M \0\0\17o\bô\8b\ 1\0#q 0xZUttPC-\0M \0\0\17o\bü\8b\ 1\0#q v+T0I+nD-\0M \0\0\17o\b\ 4\8c\ 1\0#q /mkZQ8ZD-\0M \0\0\17o\b\f\8c\ 1\0#q zjB4ZdHI-\0M \0\0\17o\b\14\8c\ 1\0#q +/AJQaEv-\0M \0\0\17o\b\1c\8c\ 1\0#q DFvWEt9e-\0M \0\0\17o\b$\8c\ 1\0#q ecKhyJv7-\0M \0\0\17o\b,\8c\ 1\0#q 3XRVYff5-\0M \0\0\17o\b4\8c\ 1\0#q 934ryHcP-\0M \0\0\17o\b<\8c\ 1\0#q uxRvk/OT-\0M \0\0\17o\bD\8c\ 1\0#q X8AQBAXI-\0M \0\0\17o\bL\8c\ 1\0#q YIooDEBE-\0M \0\0\17o\bT\8c\ 1\0#q g2yTSZqt-\0M \0\0\17o\b\\8c\ 1\0#q rWliJNFt-\0M \0\0\17o\bd\8c\ 1\0#q WstQg22m-\0M \0\0\17o\bl\8c\ 1\0#q zaljNU2W-\0M \0\0\17o\bt\8c\ 1\0#q pmzNipNt-\0M \0\0\17o\b|\8c\ 1\0#q VbdVtq9G-\0M \0\0\17o\b\84\8c\ 1\0#q q1bKqplA-\0M \0\0\17o\b\8c\8c\ 1\0#q FijAQQWA-\0M \0\0\17o\b\94\8c\ 1\0#q EEEFi/vV-\0M \0\0\17o\b\9c\8c\ 1\0#q AFgAq0II-\0M \0\0\17o\b¤\8c\ 1\0#q LEWRBPH+-\0M \0\0\17o\b¬\8c\ 1\0#q qAgv4VAE-\0M \0\0\17o\b´\8c\ 1\0#q vYexHwNT-\0M \0\0\17o\b¼\8c\ 1\0#q vPzKQKnq-\0M \0\0\17o\bÄ\8c\ 1\0#q 9pQt7ith-\0M \0\0\17o\bÌ\8c\ 1\0#q SFQE3KoT-\0M \0\0\17o\bÔ\8c\ 1\0#q 92BcQS5r-\0M \0\0\17o\bÜ\8c\ 1\0#q F1INoi0B-\0M \0\0\17o\bä\8c\ 1\0#q QOEBIieU-\0M \0\0\17o\bì\8c\ 1\0#q UBAgVIw0-\0M \0\0\17o\bô\8c\ 1\0#q feYQlJIx-\0M \0\0\17o\bü\8c\ 1\0#q ilA5Iylo-\0M \0\0\17o\b\ 4\8d\ 1\0#q T2iIDEdI-\0M \0\0\17o\b\f\8d\ 1\0#q qoG946hl-\0M \0\0\17o\b\14\8d\ 1\0#q U0gdFhuj-\0M \0\0\17o\b\1c\8d\ 1\0#q gx6GOFTZ-\0M \0\0\17o\b$\8d\ 1\0#q JSSpDwQu-\0M \0\0\17o\b,\8d\ 1\0#q VTcllZOq-\0M \0\0\17o\b4\8d\ 1\0#q H4ZyZC0B-\0M \0\0\17o\b<\8d\ 1\0#q lmkC4cCw-\0M \0\0\17o\bD\8d\ 1\0#q sYRI2uGk-\0M \0\0\17o\bL\8d\ 1\0#q ouXauJiy-\0M \0\0\17o\bT\8d\ 1\0#q sgW2UY5i-\0M \0\0\17o\b\\8d\ 1\0#q FJOlmzOC-\0M \0\0\17o\bd\8d\ 1\0#q GH4iZGZY-\0M \0\0\17o\bl\8d\ 1\0#q XJxDLdJ5-\0M \0\0\17o\bt\8d\ 1\0#q I+okgLjd-\0M \0\0\17o\b|\8d\ 1\0#q FcGyxGcT-\0M \0\0\17o\b\84\8d\ 1\0#q uXzC2QNL-\0M \0\0\17o\b\8c\8d\ 1\0#q MmgZDlHJ-\0M \0\0\17o\b\94\8d\ 1\0#q wpxaWwzw-\0M \0\0\17o\b\9c\8d\ 1\0#q 0jjTdXZY-\0M \0\0\17o\b¤\8d\ 1\0#q SK7Qr5tM-\0M \0\0\17o\b¬\8d\ 1\0#q VE1KLGpq-\0M \0\0\17o\b´\8d\ 1\0#q expkXBFI-\0M \0\0\17o\b¼\8d\ 1\0#q CAcNsKQU-\0M \0\0\17o\bÄ\8d\ 1\0#q ZzMFIgVm-\0M \0\0\17o\bÌ\8d\ 1\0#q knN2YKiG-\0M \0\0\17o\bÔ\8d\ 1\0#q SuBbRzat-\0M \0\0\17o\bÜ\8d\ 1\0#q IQgm+KaQ-\0M \0\0\17o\bä\8d\ 1\0#q ZAS8uDHT-\0M \0\0\17o\bì\8d\ 1\0#q nWrudlkM-\0M \0\0\17o\bô\8d\ 1\0#q 5iRrvStx-\0M \0\0\17o\bü\8d\ 1\0#q KFwKKVWk-\0M \0\0\17o\b\ 4\8e\ 1\0#q rxS0Gc5b-\0M \0\0\17o\b\f\8e\ 1\0#q 46jB4beD-\0M \0\0\17o\b\14\8e\ 1\0#q QDNZhiAY-\0M \0\0\17o\b\1c\8e\ 1\0#q wuRpE1ml-\0M \0\0\17o\b$\8e\ 1\0#q IxJctXj6-\0M \0\0\17o\b,\8e\ 1\0#q hyy5cxgi-\0M \0\0\17o\b4\8e\ 1\0#q VA40kzeE-\0M \0\0\17o\b<\8e\ 1\0#q pxsaUJjk-\0M \0\0\17o\bD\8e\ 1\0#q vd5gjFhh-\0M \0\0\17o\bL\8e\ 1\0#q XMuSAhJw-\0M \0\0\17o\bT\8e\ 1\0#q 0YIxgxcz-\0M \0\0\17o\b\\8e\ 1\0#q l8mAJ0kl-\0M \0\0\17o\bd\8e\ 1\0#q HCWrkkch-\0M \0\0\17o\bl\8e\ 1\0#q WY7a9j4N-\0M \0\0\17o\bt\8e\ 1\0#q u7SQ0sTh-\0M \0\0\17o\b|\8e\ 1\0#q JQxDvI40-\0M \0\0\17o\b\84\8e\ 1\0#q wEU4mYE8-\0M \0\0\17o\b\8c\8e\ 1\0#q 5vWPNKDd-\0M \0\0\17o\b\94\8e\ 1\0#q BTZq8WAk-\0M \0\0\17o\b\9c\8e\ 1\0#q a53apCRS-\0M \0\0\17o\b¤\8e\ 1\0#q SNpCqgUB-\0M \0\0\17o\b¬\8e\ 1\0#q IEqkKIRC-\0M \0\0\17o\b´\8e\ 1\0#q CLDdFlql-\0M \0\0\17o\b¼\8e\ 1\0#q xAohLqDO-\0M \0\0\17o\bÄ\8e\ 1\0#q d5oy51ju-\0M \0\0\17o\bÌ\8e\ 1\0#q LwUEYBLp-\0M \0\0\17o\bÔ\8e\ 1\0#q qiqzTi6C-\0M \0\0\17o\bÜ\8e\ 1\0#q EFgheJY6-\0M \0\0\17o\bä\8e\ 1\0#q jhnYUa1q-\0M \0\0\17o\bì\8e\ 1\0#q iwwzdN4q-\0M \0\0\17o\bô\8e\ 1\0#q AkZJTTMx-\0M \0\0\17o\bü\8e\ 1\0#q tG2YbaUR-\0M \0\0\17o\b\ 4\8f\ 1\0#q oLQYUs8E-\0M \0\0\17o\b\f\8f\ 1\0#q LNMt81O4-\0M \0\0\17o\b\14\8f\ 1\0#q S4MhIrqC-\0M \0\0\17o\b\1c\8f\ 1\0#q 8Y2RJqiB-\0M \0\0\17o\b$\8f\ 1\0#q ikskgX1L-\0M \0\0\17o\b,\8f\ 1\0#q s0fwJ4OC-\0M \0\0\17o\b4\8f\ 1\0#q aGBlINkg-\0M \0\0\17o\b<\8f\ 1\0#q mKE6hXEC-\0M \0\0\17o\bD\8f\ 1\0#q wCkyUOuw-\0M \0\0\17o\bL\8f\ 1\0#q dQqIBJJN-\0M \0\0\17o\bT\8f\ 1\0#q GXYw2m6A-\0M \0\0\17o\b\\8f\ 1\0#q gaYHhuJJ-\0M \0\0\17o\bd\8f\ 1\0#q JCxy4jkm-\0M \0\0\17o\bl\8f\ 1\0#q rBKJZbYW-\0M \0\0\17o\bt\8f\ 1\0#q NXa3ElQy-\0M \0\0\17o\b|\8f\ 1\0#q VBKsZAmK-\0M \0\0\17o\b\84\8f\ 1\0#q eWFLmqL/-\0M \0\0\17o\b\8c\8f\ 1\0#q aqWV6VDz-\0M \0\0\17o\b\94\8f\ 1\0#q rw/jTfYq-\0M \0\0\17o\b\9c\8f\ 1\0#q 6/bw8pT5-\0M \0\0\17o\b¤\8f\ 1\0#q +4NHZ5Dp-\0M \0\0\17o\b¬\8f\ 1\0#q JIDo3mpe-\0M \0\0\17o\b´\8f\ 1\0#q N6SJGMka-\0M \0\0\17o\b¼\8f\ 1\0#q 7izeeoko-\0M \0\0\17o\bÄ\8f\ 1\0#q 43C2Epfp-\0M \0\0\17o\bÌ\8f\ 1\0#q g4TpoXY3-\0M \0\0\17o\bÔ\8f\ 1\0#q puxOTFNp-\0M \0\0\17o\bÜ\8f\ 1\0#q HLlJkTMJ-\0M \0\0\17o\bä\8f\ 1\0#q /cig8exb-\0M \0\0\17o\bì\8f\ 1\0#q J4wXM1wq-\0M \0\0\17o\bô\8f\ 1\0#q I/cnSPX4-\0M \0\0\17o\bü\8f\ 1\0#q zRN3hNeG-\0M \0\0\17o\b\ 4\90\ 1\0#q DNBlDPCc-\0M \0\0\17o\b\f\90\ 1\0#q RjKdSlEX-\0M \0\0\17o\b\14\90\ 1\0#q McLYVo5z-\0M \0\0\17o\b\1c\90\ 1\0#q rESzdhn5-\0M \0\0\17o\b$\90\ 1\0#q oQgF7Vy7-\0M \0\0\17o\b,\90\ 1\0#q d/xXre3+-\0M \0\0\17o\b4\90\ 1\0#q 0a929Re2-\0M \0\0\17o\b<\90\ 1\0#q 659oOIpG-\0M \0\0\17o\bD\90\ 1\0#q mnWprpit-\0M \0\0\17o\bL\90\ 1\0#q uWOpOh/b-\0M \0\0\17o\bT\90\ 1\0#q vzdU3UXe-\0M \0\0\17o\b\\90\ 1\0#q NVH5d/Xi-\0M \0\0\17o\bd\90\ 1\0#q T9umGfzp-\0M \0\0\17o\bl\90\ 1\0#q TP5/9FU8-\0M \0\0\17o\bt\90\ 1\0#q nQ2l+WGP-\0M \0\0\17o\b|\90\ 1\0#q ykDtzW8+-\0M \0\0\17o\b\84\90\ 1\0#q x9V9eEZL-\0M \0\0\17o\b\8c\90\ 1\0#q xXZrntku-\0M \0\0\17o\b\94\90\ 1\0#q w70ekWyr-\0M \0\0\17o\b\9c\90\ 1\0#q vMhHrucZ-\0M \0\0\17o\b¤\90\ 1\0#q m9KfynpN-\0M \0\0\17o\b¬\90\ 1\0#q 9pZTE+0M-\0M \0\0\17o\b´\90\ 1\0#q THTPffeZ-\0M \0\0\17o\b¼\90\ 1\0#q 6Ne/Z488-\0M \0\0\17o\bÄ\90\ 1\0#q WceGj41e-\0M \0\0\17o\bÌ\90\ 1\0#q xPJ4/IOa-\0M \0\0\17o\bÔ\90\ 1\0#q ZmtZu7us-\0M \0\0\17o\bÜ\90\ 1\0#q 13BA3Kgk-\0M \0\0\17o\bä\90\ 1\0#q ZGgZhXkE-\0M \0\0\17o\bì\90\ 1\0#q nmKKSCdM-\0M \0\0\17o\bô\90\ 1\0#q rtunVFC2-\0M \0\0\17o\bü\90\ 1\0#q hCzVzNmb-\0M \0\0\17o\b\ 4\91\ 1\0#q 4pa9MrfR-\0M \0\0\17o\b\f\91\ 1\0#q 5L368R+A-\0M \0\0\17o\b\14\91\ 1\0#q 5cTbzcuF-\0M \0\0\17o\b\1c\91\ 1\0#q IBItqqa9-\0M \0\0\17o\b$\91\ 1\0#q ZJWrv440-\0M \0\0\17o\b,\91\ 1\0#q HQdtONRR-\0M \0\0\17o\b4\91\ 1\0#q NMqQLRvC-\0M \0\0\17o\b<\91\ 1\0#q oXjJsHsN-\0M \0\0\17o\bD\91\ 1\0#q jp3oqjTU-\0M \0\0\17o\bL\91\ 1\0#q nuUk+tSS-\0M \0\0\17o\bT\91\ 1\0#q qY06SBeO-\0M \0\0\17o\b\\91\ 1\0#q NJjOPZli-\0M \0\0\17o\bd\91\ 1\0#q tBWP2Y/a-\0M \0\0\17o\bl\91\ 1\0#q 4myrWhja-\0M \0\0\17o\bt\91\ 1\0#q 8Y48ITl3-\0M \0\0\17o\b|\91\ 1\0#q w70cPAUv-\0M \0\0\17o\b\84\91\ 1\0#q OLu3N73x-\0M \0\0\17o\b\8c\91\ 1\0#q oNCWxRXK-\0M \0\0\17o\b\94\91\ 1\0#q JMZBOcsI-\0M \0\0\17o\b\9c\91\ 1\0#q iYNsbb6I-\0M \0\0\17o\b¤\91\ 1\0#q qgA1MYWC-\0M \0\0\17o\b¬\91\ 1\0#q yzFLX46t-\0M \0\0\17o\b´\91\ 1\0#q yDIsrZmB-\0M \0\0\17o\b¼\91\ 1\0#q dV11KBpm-\0M \0\0\17o\bÄ\91\ 1\0#q bcG2jSmW-\0M \0\0\17o\bÌ\91\ 1\0#q klZqbJwQ-\0M \0\0\17o\bÔ\91\ 1\0#q mXHcfS+k-\0M \0\0\17o\bÜ\91\ 1\0#q qBbvzhoF-\0M \0\0\17o\bä\91\ 1\0#q YwQVevOa-\0M \0\0\17o\bì\91\ 1\0#q UWDtMkiQ-\0M \0\0\17o\bô\91\ 1\0#q 4OL3wfiG-\0M \0\0\17o\bü\91\ 1\0#q hdLDJF2o-\0M \0\0\17o\b\ 4\92\ 1\0#q WKWCGRKi-\0M \0\0\17o\b\f\92\ 1\0#q hQlR9vBW-\0M \0\0\17o\b\14\92\ 1\0#q B8QPr7h+-\0M \0\0\17o\b\1c\92\ 1\0#q /XlnwgBk-\0M \0\0\17o\b$\92\ 1\0#q Z6IHoruq-\0M \0\0\17o\b,\92\ 1\0#q uvYHPb3d-\0M \0\0\17o\b4\92\ 1\0#q 2c9Vu1qF-\0M \0\0\17o\b<\92\ 1\0#q s4DoTfPO-\0M \0\0\17o\bD\92\ 1\0#q Zy5eaTfG-\0M \0\0\17o\bL\92\ 1\0#q EbeW2TVk-\0M \0\0\17o\bT\92\ 1\0#q ZWcjbLyy-\0M \0\0\17o\b\\92\ 1\0#q 5fXm3YKb-\0M \0\0\17o\bd\92\ 1\0#q 4ufb/wb8-\0M \0\0\17o\bl\92\ 1\0#q 1JfR8qaT-\0M \0\0\17o\bt\92\ 1\0#q CaWBkN5O-\0M \0\0\17o\b|\92\ 1\0#q AgOisFhT-\0M \0\0\17o\b\84\92\ 1\0#q R2+eXXkc-\0M \0\0\17o\b\8c\92\ 1\0#q 3pGtx5da-\0M \0\0\17o\b\94\92\ 1\0#q 9R7O60uz-\0M \0\0\17o\b\9c\92\ 1\0#q r4vD1ctQ-\0M \0\0\17o\b¤\92\ 1\0#q eFni4kxC-\0M \0\0\17o\b¬\92\ 1\0#q BF61C2yR-\0M \0\0\17o\b´\92\ 1\0#q 4amYWm6e-\0M \0\0\17o\b¼\92\ 1\0#q mxGhMsrB-\0M \0\0\17o\bÄ\92\ 1\0#q SNygglLJ-\0M \0\0\17o\bÌ\92\ 1\0#q ju41nhlz-\0M \0\0\17o\bÔ\92\ 1\0#q S1oTvHIJ-\0M \0\0\17o\bÜ\92\ 1\0#q 3iKAtp6a-\0M \0\0\17o\bä\92\ 1\0#q slyLp2Xz-\0M \0\0\17o\bì\92\ 1\0#q 4u2mDjOO-\0M \0\0\17o\bô\92\ 1\0#q FZxL3c45-\0M \0\0\17o\bü\92\ 1\0#q xPx8u1dj-\0M \0\0\17o\b\ 4\93\ 1\0#q CMsttzHL-\0M \0\0\17o\b\f\93\ 1\0#q vlwW7OA4-\0M \0\0\17o\b\14\93\ 1\0#q 8Dxvhzz0-\0M \0\0\17o\b\1c\93\ 1\0#q vTvl3lSn-\0M \0\0\17o\b$\93\ 1\0#q fgXC1bTv-\0M \0\0\17o\b,\93\ 1\0#q QOQPN9u0-\0M \0\0\17o\b4\93\ 1\0#q GMqUZDiU-\0M \0\0\17o\b<\93\ 1\0#q u+0SqNTn-\0M \0\0\17o\bD\93\ 1\0#q cw4JrOJd-\0M \0\0\17o\bL\93\ 1\0#q C5ae2h22-\0M \0\0\17o\bT\93\ 1\0#q 9JhHJcsa-\0M \0\0\17o\b\\93\ 1\0#q mPYtGY2n-\0M \0\0\17o\bd\93\ 1\0#q qSYKK7Zk-\0M \0\0\17o\bl\93\ 1\0#q CWcOaeo6-\0M \0\0\17o\bt\93\ 1\0#q wnA5uE6U-\0M \0\0\17o\b|\93\ 1\0#q mOicOKSl-\0M \0\0\17o\b\84\93\ 1\0#q x01thtO2-\0M \0\0\17o\b\8c\93\ 1\0#q U5RWOvTw-\0M \0\0\17o\b\94\93\ 1\0#q 6+Fysmd8-\0M \0\0\17o\b\9c\93\ 1\0#q Kd83F6zp-\0M \0\0\17o\b¤\93\ 1\0#q jTvnstmb-\0M \0\0\17o\b¬\93\ 1\0#q nM78jhR6-\0M \0\0\17o\b´\93\ 1\0#q FmzlfenL-\0M \0\0\17o\b¼\93\ 1\0#q a9NuMaGg-\0M \0\0\17o\bÄ\93\ 1\0#q sxrWUpGv-\0M \0\0\17o\bÌ\93\ 1\0#q xczOq5bX-\0M \0\0\17o\bÔ\93\ 1\0#q KtNQPDHE-\0M \0\0\17o\bÜ\93\ 1\0#q Hk5QkHLA-\0M \0\0\17o\bä\93\ 1\0#q 7Ei3HDC6-\0M \0\0\17o\bì\93\ 1\0#q vuGTk25m-\0M \0\0\17o\bô\93\ 1\0#q xRUpKKkr-\0M \0\0\17o\bü\93\ 1\0#q lGpasCNz-\0M \0\0\17o\b\ 4\94\ 1\0#q 44/k+3tD-\0M \0\0\17o\b\f\94\ 1\0#q wDe5wjgd-\0M \0\0\17o\b\14\94\ 1\0#q DHrPy8gs-\0M \0\0\17o\b\1c\94\ 1\0#q g2W5zWGf-\0M \0\0\17o\b$\94\ 1\0#q iMkjEJmg-\0M \0\0\17o\b,\94\ 1\0#q Qcnm7BcP-\0M \0\0\17o\b4\94\ 1\0#q MOgmPy6p-\0M \0\0\17o\b<\94\ 1\0#q IvZOyXeD-\0M \0\0\17o\bD\94\ 1\0#q h5m5rpxh-\0M \0\0\17o\bL\94\ 1\0#q u2O72A7G-\0M \0\0\17o\bT\94\ 1\0#q exroWfc4-\0M \0\0\17o\b\\94\ 1\0#q Pg/Hs7+F-\0M \0\0\17o\bd\94\ 1\0#q oQ8r9jIQ-\0M \0\0\17o\bl\94\ 1\0#q taxoXODg-\0M \0\0\17o\bt\94\ 1\0#q +TR8z0PR-\0M \0\0\17o\b|\94\ 1\0#q zeAOoeeR-\0M \0\0\17o\b\84\94\ 1\0#q uMi7hdOS-\0M \0\0\17o\b\8c\94\ 1\0#q 81h4GqNy-\0M \0\0\17o\b\94\94\ 1\0#q guIRmNhQ-\0M \0\0\17o\b\9c\94\ 1\0#q KnFMJWaZ-\0M \0\0\17o\b¤\94\ 1\0#q LQzV+urX-\0M \0\0\17o\b¬\94\ 1\0#q gFRWKiY8-\0M \0\0\17o\b´\94\ 1\0#q ZIxJo6Gy-\0M \0\0\17o\b¼\94\ 1\0#q npoUkgAn-\0M \0\0\17o\bÄ\94\ 1\0#q Nj57hPkk-\0M \0\0\17o\bÌ\94\ 1\0#q CiIEgKoY-\0M \0\0\17o\bÔ\94\ 1\0#q hUZF/EFX-\0M \0\0\17o\bÜ\94\ 1\0#q 75QYsoLi-\0M \0\0\17o\bä\94\ 1\0#q XAfylQHs-\0M \0\0\17o\bì\94\ 1\0#q FzFbiMlV-\0M \0\0\17o\bô\94\ 1\0#q TCoUCVRu-\0M \0\0\17o\bü\94\ 1\0#q 0SOlVOua-\0M \0\0\17o\b\ 4\95\ 1\0#q qN2WvP1c-\0M \0\0\17o\b\f\95\ 1\0#q 77nObXJx-\0M \0\0\17o\b\14\95\ 1\0#q riiMINSQ-\0M \0\0\17o\b\1c\95\ 1\0#q ogBTFkqq-\0M \0\0\17o\b$\95\ 1\0#q mEoC2VXv-\0M \0\0\17o\b,\95\ 1\0#q QXneIkUd-\0M \0\0\17o\b4\95\ 1\0#q JiMdJihT-\0M \0\0\17o\b<\95\ 1\0#q 4fO2rWLd-\0M \0\0\17o\bD\95\ 1\0#q y1y9kXJW-\0M \0\0\17o\bL\95\ 1\0#q wjNZBRy2-\0M \0\0\17o\bT\95\ 1\0#q pfGS/8Lw-\0M \0\0\17o\b\\95\ 1\0#q dy9Cmq8f-\0M \0\0\17o\bd\95\ 1\0#q h9iYjz/X-\0M \0\0\17o\bl\95\ 1\0#q 4mvTlzXp-\0M \0\0\17o\bt\95\ 1\0#q X65f5J38-\0M \0\0\17o\b|\95\ 1\0#q LH6DNGfi-\0M \0\0\17o\b\84\95\ 1\0#q 2efIIvIZ-\0M \0\0\17o\b\8c\95\ 1\0#q 10n5NE1k-\0M \0\0\17o\b\94\95\ 1\0#q N59vlWXn-\0M \0\0\17o\b\9c\95\ 1\0#q OfKiq7ER-\0M \0\0\17o\b¤\95\ 1\0#q 8fWpiWWA-\0M \0\0\17o\b¬\95\ 1\0#q khS+t+Lr-\0M \0\0\17o\b´\95\ 1\0#q fbL2atTn-\0M \0\0\17o\b¼\95\ 1\0#q X7FlB6Uv-\0M \0\0\17o\bÄ\95\ 1\0#q lXavrdWX-\0M \0\0\17o\bÌ\95\ 1\0#q HX4WKTvt-\0M \0\0\17o\bÔ\95\ 1\0#q WbyZlXdb-\0M \0\0\17o\bÜ\95\ 1\0#q ue7pYypb-\0M \0\0\17o\bä\95\ 1\0#q J5UnERU0-\0M \0\0\17o\bì\95\ 1\0#q llbaJ5Zv-\0M \0\0\17o\bô\95\ 1\0#q PfC98s8b-\0M \0\0\17o\bü\95\ 1\0#q TLO12ZXN-\0M \0\0\17o\b\ 4\96\ 1\0#q ItLa866P-\0M \0\0\17o\b\f\96\ 1\0#q 2611pp3t-\0M \0\0\17o\b\14\96\ 1\0#q R1vrwgjn-\0M \0\0\17o\b\1c\96\ 1\0#q vvzhWTmU-\0M \0\0\17o\b$\96\ 1\0#q w9oSQv1d-\0M \0\0\17o\b,\96\ 1\0#q ZnBnZnRG-\0M \0\0\17o\b4\96\ 1\0#q fK8QzR5O-\0M \0\0\17o\b<\96\ 1\0#q bplZCCc5-\0M \0\0\17o\bD\96\ 1\0#q ujfT9R6v-\0M \0\0\17o\bL\96\ 1\0#q JL1s8iD5-\0M \0\0\17o\bT\96\ 1\0#q lDfnIokm-\0M \0\0\17o\b\\96\ 1\0#q LJsX6RI1-\0M \0\0\17o\bd\96\ 1\0#q PafLCcKs-\0M \0\0\17o\bl\96\ 1\0#q /Tg4AkOM-\0M \0\0\17o\bt\96\ 1\0#q BDBIQit/-\0M \0\0\17o\b|\96\ 1\0#q raxnAKMU-\0M \0\0\17o\b\84\96\ 1\0#q BAZBr9yq-\0M \0\0\17o\b\8c\96\ 1\0#q s1/QXIbV-\0M \0\0\17o\b\94\96\ 1\0#q pWgIAgmE-\0M \0\0\17o\b\9c\96\ 1\0#q ILgYvh0y-\0M \0\0\17o\b¤\96\ 1\0#q WOUmv3jA-\0M \0\0\17o\b¬\96\ 1\0#q UfKBfkdB-\0M \0\0\17o\b´\96\ 1\0#q qK0fOeYV-\0M \0\0\17o\b¼\96\ 1\0#q yHCSZHQ6-\0M \0\0\17o\bÄ\96\ 1\0#q VMFk2HIr-\0M \0\0\17o\bÌ\96\ 1\0#q sD0RNdD7-\0M \0\0\17o\bÔ\96\ 1\0#q WUaPgRyI-\0M \0\0\17o\bÜ\96\ 1\0#q ZcjoUkiB-\0M \0\0\17o\bä\96\ 1\0#q +YRfCWIe-\0M \0\0\17o\bì\96\ 1\0#q IcpVQPm6-\0M \0\0\17o\bô\96\ 1\0#q Q1BfgQaJ-\0M \0\0\17o\bü\96\ 1\0#q ofhQUEMg-\0M \0\0\17o\b\ 4\97\ 1\0#q ZOGDeJA9-\0M \0\0\17o\b\f\97\ 1\0#q IPcCCRV4-\0M \0\0\17o\b\14\97\ 1\0#q AUgAYPdw-\0M \0\0\17o\b\1c\97\ 1\0#q 6IdQASI4-\0M \0\0\17o\b$\97\ 1\0#q FnXKQHmc-\0M \0\0\17o\b,\97\ 1\0#q g2w6ALxI-\0M \0\0\17o\b4\97\ 1\0#q MpE3ZaAx-\0M \0\0\17o\b<\97\ 1\0#q xeCoTJ0H-\0M \0\0\17o\bD\97\ 1\0#q TJEbxQOz-\0M \0\0\17o\bL\97\ 1\0#q vOl4O5xZ-\0M \0\0\17o\bT\97\ 1\0#q 05zeiMkP-\0M \0\0\17o\b\\97\ 1\0#q QD3Jg7lQ-\0M \0\0\17o\bd\97\ 1\0#q svJS7KCk-\0M \0\0\17o\bl\97\ 1\0#q LTfpQmQl-\0M \0\0\17o\bt\97\ 1\0#q EPQs76Ei-\0M \0\0\17o\b|\97\ 1\0#q GVGr9s8U-\0M \0\0\17o\b\84\97\ 1\0#q 7Q7yKUh6-\0M \0\0\17o\b\8c\97\ 1\0#q XQJAgcEP-\0M \0\0\17o\b\94\97\ 1\0#q OW6rmfKx-\0M \0\0\17o\b\9c\97\ 1\0#q k0kYB6Nn-\0M \0\0\17o\b¤\97\ 1\0#q WeroUq8B-\0M \0\0\17o\b¬\97\ 1\0#q mBHowHKG-\0M \0\0\17o\b´\97\ 1\0#q qH4gESif-\0M \0\0\17o\b¼\97\ 1\0#q AlozD0+e-\0M \0\0\17o\bÄ\97\ 1\0#q Q0j4kT02-\0M \0\0\17o\bÌ\97\ 1\0#q LZ4WaPDW-\0M \0\0\17o\bÔ\97\ 1\0#q 2w+IYtHZ-\0M \0\0\17o\bÜ\97\ 1\0#q eImTcCWC-\0M \0\0\17o\bä\97\ 1\0#q RQLWBxyH-\0M \0\0\17o\bì\97\ 1\0#q fijRhjIp-\0M \0\0\17o\bô\97\ 1\0#q sF6jmAN0-\0M \0\0\17o\bü\97\ 1\0#q 8BB4SheI-\0M \0\0\17o\b\ 4\98\ 1\0#q vMCQv3O9-\0M \0\0\17o\b\f\98\ 1\0#q IBxhPz0S-\0M \0\0\17o\b\14\98\ 1\0#q kvgHt3FC-\0M \0\0\17o\b\1c\98\ 1\0#q KbZGAMBD-\0M \0\0\17o\b$\98\ 1\0#q gJArIhI9-\0M \0\0\17o\b,\98\ 1\0#q BSIY8gc5-\0M \0\0\17o\b4\98\ 1\0#q jHmj+E+p-\0M \0\0\17o\b<\98\ 1\0#q 9S/UAPry-\0M \0\0\17o\bD\98\ 1\0#q P36WOYnx-\0M \0\0\17o\bL\98\ 1\0#q 34Ii7m5q-\0M \0\0\17o\bT\98\ 1\0#q kMm9mPRF-\0M \0\0\17o\b\\98\ 1\0#q NHfnTkYo-\0M \0\0\17o\bd\98\ 1\0#q j0GQr4OO-\0M \0\0\17o\bl\98\ 1\0#q eHrNeCzA-\0M \0\0\17o\bt\98\ 1\0#q Ylhhc5B9-\0M \0\0\17o\b|\98\ 1\0#q Dx8dhsYr-\0M \0\0\17o\b\84\98\ 1\0#q 6Q8qgkWn-\0M \0\0\17o\b\8c\98\ 1\0#q ZzILYoTD-\0M \0\0\17o\b\94\98\ 1\0#q z4BIKReo-\0M \0\0\17o\b\9c\98\ 1\0#q EWCYEF+G-\0M \0\0\17o\b¤\98\ 1\0#q taVpIuJ9-\0M \0\0\17o\b¬\98\ 1\0#q O+zUiaxt-\0M \0\0\17o\b´\98\ 1\0#q JE68pepg-\0M \0\0\17o\b¼\98\ 1\0#q bqZg0bMu-\0M \0\0\17o\bÄ\98\ 1\0#q PgcmlPnY-\0M \0\0\17o\bÌ\98\ 1\0#q g6RPUYju-\0M \0\0\17o\bÔ\98\ 1\0#q Cge0Uj8+-\0M \0\0\17o\bÜ\98\ 1\0#q CFpsWlfL-\0M \0\0\17o\bä\98\ 1\0#q ghvvAgHO-\0M \0\0\17o\bì\98\ 1\0#q AUAaHOuB-\0M \0\0\17o\bô\98\ 1\0#q CwTEJ1iN-\0M \0\0\17o\bü\98\ 1\0#q dj0An37b-\0M \0\0\17o\b\ 4\99\ 1\0#q TZlzLF7r-\0M \0\0\17o\b\f\99\ 1\0#q i8nzHeJW-\0M \0\0\17o\b\14\99\ 1\0#q S8Y6zJjr-\0M \0\0\17o\b\1c\99\ 1\0#q LCcqH4JH-\0M \0\0\17o\b$\99\ 1\0#q hRMidIZS-\0M \0\0\17o\b,\99\ 1\0#q kw8EIub4-\0M \0\0\17o\b4\99\ 1\0#q C6LDowDz-\0M \0\0\17o\b<\99\ 1\0#q JO0NYq0k-\0M \0\0\17o\bD\99\ 1\0#q ILgV0Xug-\0M \0\0\17o\bL\99\ 1\0#q kCCZveXn-\0M \0\0\17o\bT\99\ 1\0#q ig8iigRg-\0M \0\0\17o\b\\99\ 1\0#q dCLAPCpC-\0M \0\0\17o\bd\99\ 1\0#q oaA8AMX+-\0M \0\0\17o\bl\99\ 1\0#q M94icjIE-\0M \0\0\17o\bt\99\ 1\0#q iHwoKCEQ-\0M \0\0\17o\b|\99\ 1\0#q hEX3HtmP-\0M \0\0\17o\b\84\99\ 1\0#q nzHMo4T8-\0M \0\0\17o\b\8c\99\ 1\0#q NPcs2WZJ-\0M \0\0\17o\b\94\99\ 1\0#q YUlDwPX7-\0M \0\0\17o\b\9c\99\ 1\0#q E5AKIDuK-\0M \0\0\17o\b¤\99\ 1\0#q SJ5wxZlK-\0M \0\0\17o\b¬\99\ 1\0#q KsPwLwU8-\0M \0\0\17o\b´\99\ 1\0#q KDrAPQyZ-\0M \0\0\17o\b¼\99\ 1\0#q +Jla9ISK-\0M \0\0\17o\bÄ\99\ 1\0#q /IHBC8hL-\0M \0\0\17o\bÌ\99\ 1\0#q AJi8KMiP-\0M \0\0\17o\bÔ\99\ 1\0#q QXfpqpK+-\0M \0\0\17o\bÜ\99\ 1\0#q sINQSQJG-\0M \0\0\17o\bä\99\ 1\0#q gioXVwYx-\0M \0\0\17o\bì\99\ 1\0#q vvIhV0sJ-\0M \0\0\17o\bô\99\ 1\0#q EIsZpIel-\0M \0\0\17o\bü\99\ 1\0#q y4rWA1B7-\0M \0\0\17o\b\ 4\9a\ 1\0#q CQPyZJLQ-\0M \0\0\17o\b\f\9a\ 1\0#q OahcYOxh-\0M \0\0\17o\b\14\9a\ 1\0#q vMPiDui4-\0M \0\0\17o\b\1c\9a\ 1\0#q 9WezMfDb-\0M \0\0\17o\b$\9a\ 1\0#q rdT686aJ-\0M \0\0\17o\b,\9a\ 1\0#q +EQ2kJEr-\0M \0\0\17o\b4\9a\ 1\0#q ap94yg2I-\0M \0\0\17o\b<\9a\ 1\0#q Sh+eqqB0-\0M \0\0\17o\bD\9a\ 1\0#q QQPpBERM-\0M \0\0\17o\bL\9a\ 1\0#q BBR+wkAA-\0M \0\0\17o\bT\9a\ 1\0#q H2CA+KJE-\0M \0\0\17o\b\\9a\ 1\0#q V+wAFcxB-\0M \0\0\17o\bd\9a\ 1\0#q kBfIpkCZ-\0M \0\0\17o\bl\9a\ 1\0#q 2gULsgCI-\0M \0\0\17o\bt\9a\ 1\0#q ciHoB1hJ-\0M \0\0\17o\b|\9a\ 1\0#q Q9gIEguU-\0M \0\0\17o\b\84\9a\ 1\0#q goVulKgg-\0M \0\0\17o\b\8c\9a\ 1\0#q ntUcGAJr-\0M \0\0\17o\b\94\9a\ 1\0#q 0oJHR6UM-\0M \0\0\17o\b\9c\9a\ 1\0#q gdYB4JHE-\0M \0\0\17o\b¤\9a\ 1\0#q EfADtXgv-\0M \0\0\17o\b¬\9a\ 1\0#q EGyLL8+a-\0M \0\0\17o\b´\9a\ 1\0#q ma2oQMkP-\0M \0\0\17o\b¼\9a\ 1\0#q uYKfH8tz-\0M \0\0\17o\bÄ\9a\ 1\0#q iwAEEz7M-\0M \0\0\17o\bÌ\9a\ 1\0#q qXYXsAoQ-\0M \0\0\17o\bÔ\9a\ 1\0#q HsjwQYik-\0M \0\0\17o\bÜ\9a\ 1\0#q 4/RunvQc-\0M \0\0\17o\bä\9a\ 1\0#q feEFs6nF-\0M \0\0\17o\bì\9a\ 1\0#q YUjPo+WP-\0M \0\0\17o\bô\9a\ 1\0#q guYCD9BY-\0M \0\0\17o\bü\9a\ 1\0#q 7j7j/PYG-\0M \0\0\17o\b\ 4\9b\ 1\0#q CWLpEvWu-\0M \0\0\17o\b\f\9b\ 1\0#q 7/IZokD0-\0M \0\0\17o\b\14\9b\ 1\0#q 80Zk5wSD-\0M \0\0\17o\b\1c\9b\ 1\0#q 1AVqPRbs-\0M \0\0\17o\b$\9b\ 1\0#q HEFBSr0s-\0M \0\0\17o\b,\9b\ 1\0#q XtjlDoV5-\0M \0\0\17o\b4\9b\ 1\0#q UI6IgNFe-\0M \0\0\17o\b<\9b\ 1\0#q EvHffv4n-\0M \0\0\17o\bD\9b\ 1\0#q 0LiGvfQ5-\0M \0\0\17o\bL\9b\ 1\0#q KFaH4Gqp-\0M \0\0\17o\bT\9b\ 1\0#q z0Mxh9UD-\0M \0\0\17o\b\\9b\ 1\0#q G/SNxy6H-\0M \0\0\17o\bd\9b\ 1\0#q 6DRQBcV+-\0M \0\0\17o\bl\9b\ 1\0#q sBle8GiG-\0M \0\0\17o\bt\9b\ 1\0#q x3QAXgqT-\0M \0\0\17o\b|\9b\ 1\0#q MlrqSTAk-\0M \0\0\17o\b\84\9b\ 1\0#q r2SSQEFV-\0M \0\0\17o\b\8c\9b\ 1\0#q 9QEYOxHy-\0M \0\0\17o\b\94\9b\ 1\0#q mNgdkGXw-\0M \0\0\17o\b\9c\9b\ 1\0#q 8Y+fRsHr-\0M \0\0\17o\b¤\9b\ 1\0#q gXw0GR09-\0M \0\0\17o\b¬\9b\ 1\0#q kMpCq5Ml-\0M \0\0\17o\b´\9b\ 1\0#q DiZDzgGO-\0M \0\0\17o\b¼\9b\ 1\0#q LxJuHDgR-\0M \0\0\17o\bÄ\9b\ 1\0#q qQOet5Kp-\0M \0\0\17o\bÌ\9b\ 1\0#q ezggkS1j-\0M \0\0\17o\bÔ\9b\ 1\0#q SF0MO0JZ-\0M \0\0\17o\bÜ\9b\ 1\0#q 2yqQKSLF-\0M \0\0\17o\bä\9b\ 1\0#q 7UIgkEZK-\0M \0\0\17o\bì\9b\ 1\0#q 5OM/HYXO-\0M \0\0\17o\bô\9b\ 1\0#q HJeOW9vB-\0M \0\0\17o\bü\9b\ 1\0#q r8HHbkuW-\0M \0\0\17o\b\ 4\9c\ 1\0#q Pxox6fms-\0M \0\0\17o\b\f\9c\ 1\0#q GumVzMqB-\0M \0\0\17o\b\14\9c\ 1\0#q nqecSQsu-\0M \0\0\17o\b\1c\9c\ 1\0#q BDogwNRV-\0M \0\0\17o\b$\9c\ 1\0#q QM9eBnKY-\0M \0\0\17o\b,\9c\ 1\0#q 0b2gZRHe-\0M \0\0\17o\b4\9c\ 1\0#q sEG2rOE4-\0M \0\0\17o\b<\9c\ 1\0#q hkmdWB6V-\0M \0\0\17o\bD\9c\ 1\0#q 5y1KgqA1-\0M \0\0\17o\bL\9c\ 1\0#q BGhikPMU-\0M \0\0\17o\bT\9c\ 1\0#q QmrL7aky-\0M \0\0\17o\b\\9c\ 1\0#q e+mkvllm-\0M \0\0\17o\bd\9c\ 1\0#q GuOkpMek-\0M \0\0\17o\bl\9c\ 1\0#q kiTCSRAC-\0M \0\0\17o\bt\9c\ 1\0#q mrhLIlul-\0M \0\0\17o\b|\9c\ 1\0#q AF9N5rth-\0M \0\0\17o\b\84\9c\ 1\0#q lpQ/XQkp-\0M \0\0\17o\b\8c\9c\ 1\0#q 01zssYOx-\0M \0\0\17o\b\94\9c\ 1\0#q eeIYRSTW-\0M \0\0\17o\b\9c\9c\ 1\0#q bG2KBe2S-\0M \0\0\17o\b¤\9c\ 1\0#q OKBXQ5DU-\0M \0\0\17o\b¬\9c\ 1\0#q 55aOtIvB-\0M \0\0\17o\b´\9c\ 1\0#q bCk+zYig-\0M \0\0\17o\b¼\9c\ 1\0#q +CBkc6wH-\0M \0\0\17o\bÄ\9c\ 1\0#q 3bQOiaPv-\0M \0\0\17o\bÌ\9c\ 1\0#q iscLEZjI-\0M \0\0\17o\bÔ\9c\ 1\0#q LNSSmX9O-\0M \0\0\17o\bÜ\9c\ 1\0#q dgQXgna+-\0M \0\0\17o\bä\9c\ 1\0#q HtgT0K4D-\0M \0\0\17o\bì\9c\ 1\0#q whmvgWOY-\0M \0\0\17o\bô\9c\ 1\0#q SV0NSQuh-\0M \0\0\17o\bü\9c\ 1\0#q 8OHmg/Ex-\0M \0\0\17o\b\ 4\9d\ 1\0#q tAoX4Pob-\0M \0\0\17o\b\f\9d\ 1\0#q q+dVHoXJ-\0M \0\0\17o\b\14\9d\ 1\0#q 7hVNiGlV-\0M \0\0\17o\b\1c\9d\ 1\0#q A2bGEGEH-\0M \0\0\17o\b$\9d\ 1\0#q 1bRIRBDh-\0M \0\0\17o\b,\9d\ 1\0#q CQDs2oQt-\0M \0\0\17o\b4\9d\ 1\0#q WIbppQHs-\0M \0\0\17o\b<\9d\ 1\0#q VDJEQ2qo-\0M \0\0\17o\bD\9d\ 1\0#q EALIiIJh-\0M \0\0\17o\bL\9d\ 1\0#q iA5Ibr48-\0M \0\0\17o\bT\9d\ 1\0#q 9zs18KLd-\0M \0\0\17o\b\\9d\ 1\0#q Ik2wVcpF-\0M \0\0\17o\bd\9d\ 1\0#q RBx6+tia-\0M \0\0\17o\bl\9d\ 1\0#q CCj5EMxE-\0M \0\0\17o\bt\9d\ 1\0#q zMCxQyTx-\0M \0\0\17o\b|\9d\ 1\0#q J8gAo5Zc-\0M \0\0\17o\b\84\9d\ 1\0#q S4gmZqKG-\0M \0\0\17o\b\8c\9d\ 1\0#q 0IlJiAbs-\0M \0\0\17o\b\94\9d\ 1\0#q +AEAgERP-\0M \0\0\17o\b\9c\9d\ 1\0#q IieEQN50-\0M \0\0\17o\b¤\9d\ 1\0#q HzB2KnFi-\0M \0\0\17o\b¬\9d\ 1\0#q LFTJR7Q0-\0M \0\0\17o\b´\9d\ 1\0#q qNQ4QXyC-\0M \0\0\17o\b¼\9d\ 1\0#q tKqBvJY8-\0M \0\0\17o\bÄ\9d\ 1\0#q 2LSiEDtD-\0M \0\0\17o\bÌ\9d\ 1\0#q SMDyDTVA-\0M \0\0\17o\bÔ\9d\ 1\0#q lMx1KR0p-\0M \0\0\17o\bÜ\9d\ 1\0#q MIRUiJ7Y-\0M \0\0\17o\bä\9d\ 1\0#q F7xSGDGU-\0M \0\0\17o\bì\9d\ 1\0#q 8MEIMgEj-\0M \0\0\17o\bô\9d\ 1\0#q hWgojVGu-\0M \0\0\17o\bü\9d\ 1\0#q XwHA5gtw-\0M \0\0\17o\b\ 4\9e\ 1\0#q UckHgZqo-\0M \0\0\17o\b\f\9e\ 1\0#q ezI2FDLs-\0M \0\0\17o\b\14\9e\ 1\0#q fUAQ3Zjo-\0M \0\0\17o\b\1c\9e\ 1\0#q WaTPcjar-\0M \0\0\17o\b$\9e\ 1\0#q hqjpVVrh-\0M \0\0\17o\b,\9e\ 1\0#q ZIQ6Ssgn-\0M \0\0\17o\b4\9e\ 1\0#q CohVS0it-\0M \0\0\17o\b<\9e\ 1\0#q MJYhS0GK-\0M \0\0\17o\bD\9e\ 1\0#q 7o0K+ky5-\0M \0\0\17o\bL\9e\ 1\0#q Y7gH3tCG-\0M \0\0\17o\bT\9e\ 1\0#q O3xVQLLk-\0M \0\0\17o\b\\9e\ 1\0#q MHlUMsfg-\0M \0\0\17o\bd\9e\ 1\0#q QTLECRQx-\0M \0\0\17o\bl\9e\ 1\0#q OLsclipl-\0M \0\0\17o\bt\9e\ 1\0#q NO4omhGO-\0M \0\0\17o\b|\9e\ 1\0#q IJICZNgK-\0M \0\0\17o\b\84\9e\ 1\0#q F+kPDnyh-\0M \0\0\17o\b\8c\9e\ 1\0#q 3ErwNoat-\0M \0\0\17o\b\94\9e\ 1\0#q DOLWiFE0-\0M \0\0\17o\b\9c\9e\ 1\0#q bhwyOBJE-\0M \0\0\17o\b¤\9e\ 1\0#q YDfGHjaG-\0M \0\0\17o\b¬\9e\ 1\0#q 8xFtMBoW-\0M \0\0\17o\b´\9e\ 1\0#q YA6HNgFy-\0M \0\0\17o\b¼\9e\ 1\0#q cuim5Q7p-\0M \0\0\17o\bÄ\9e\ 1\0#q 2qoGrMrZ-\0M \0\0\17o\bÌ\9e\ 1\0#q iV9I6DYo-\0M \0\0\17o\bÔ\9e\ 1\0#q CVwCNjaB-\0M \0\0\17o\bÜ\9e\ 1\0#q mh9VIACE-\0M \0\0\17o\bä\9e\ 1\0#q QL8wi1ky-\0M \0\0\17o\bì\9e\ 1\0#q AWKD09rw-\0M \0\0\17o\bô\9e\ 1\0#q ynBSL7BD-\0M \0\0\17o\bü\9e\ 1\0#q biUwABZH-\0M \0\0\17o\b\ 4\9f\ 1\0#q ykpFUzkw-\0M \0\0\17o\b\f\9f\ 1\0#q tIaZSwCn-\0M \0\0\17o\b\14\9f\ 1\0#q 04GkNoQO-\0M \0\0\17o\b\1c\9f\ 1\0#q lasfSOXA-\0M \0\0\17o\b$\9f\ 1\0#q Ya64AHCJ-\0M \0\0\17o\b,\9f\ 1\0#q yMVG81eg-\0M \0\0\17o\b4\9f\ 1\0#q 8guTY5Jt-\0M \0\0\17o\b<\9f\ 1\0#q M+Empxh2-\0M \0\0\17o\bD\9f\ 1\0#q Tu34PTsv-\0M \0\0\17o\bL\9f\ 1\0#q KYzszJQ7-\0M \0\0\17o\bT\9f\ 1\0#q oZY4pJ7C-\0M \0\0\17o\b\\9f\ 1\0#q i6JrOjEo-\0M \0\0\17o\bd\9f\ 1\0#q zq8F0gbg-\0M \0\0\17o\bl\9f\ 1\0#q liwihrt8-\0M \0\0\17o\bt\9f\ 1\0#q mJA2tda3-\0M \0\0\17o\b|\9f\ 1\0#q aqkAfanx-\0M \0\0\17o\b\84\9f\ 1\0#q Bmq2ZHU5-\0M \0\0\17o\b\8c\9f\ 1\0#q 0MvBycGZ-\0M \0\0\17o\b\94\9f\ 1\0#q je43sNn5-\0M \0\0\17o\b\9c\9f\ 1\0#q CYiGYNwJ-\0M \0\0\17o\b¤\9f\ 1\0#q BIRNj/Eq-\0M \0\0\17o\b¬\9f\ 1\0#q mR34YYff-\0M \0\0\17o\b´\9f\ 1\0#q Kj41OKr7-\0M \0\0\17o\b¼\9f\ 1\0#q 4Ihj1OnA-\0M \0\0\17o\bÄ\9f\ 1\0#q C82B5rJS-\0M \0\0\17o\bÌ\9f\ 1\0#q xuPCk5Sn-\0M \0\0\17o\bÔ\9f\ 1\0#q OICrQbAW-\0M \0\0\17o\bÜ\9f\ 1\0#q FCMDZEMl-\0M \0\0\17o\bä\9f\ 1\0#q lsNkyUZk-\0M \0\0\17o\bì\9f\ 1\0#q hMzrWJAi-\0M \0\0\17o\bô\9f\ 1\0#q Qm+4YC0K-\0M \0\0\17o\bü\9f\ 1\0#q 62MK0mlr-\0M \0\0\17o\b\ 4 \ 1\0#q mIc8DWIE-\0M \0\0\17o\b\f \ 1\0#q FjI4sXzh-\0M \0\0\17o\b\14 \ 1\0#q L8vpkYEZ-\0M \0\0\17o\b\1c \ 1\0#q wSigrGAr-\0M \0\0\17o\b$ \ 1\0#q DcBGj0gG-\0M \0\0\17o\b, \ 1\0#q FAr4FqGF-\0M \0\0\17o\b4 \ 1\0#q Q1SOjTvH-\0M \0\0\17o\b< \ 1\0#q 0TulJ1XW-\0M \0\0\17o\bD \ 1\0#q HAIDBQFU-\0M \0\0\17o\bL \ 1\0#q 2BL7SBXa-\0M \0\0\17o\bT \ 1\0#q +99dSAvx-\0M \0\0\17o\b\ \ 1\0#q CgIPnOIV-\0M \0\0\17o\bd \ 1\0#q hPMmTqqg-\0M \0\0\17o\bl \ 1\0#q YRFDUUEs-\0M \0\0\17o\bt \ 1\0#q UuxDfjmw-\0M \0\0\17o\b| \ 1\0#q MpaAek0+-\0M \0\0\17o\b\84 \ 1\0#q O9i+KyRp-\0M \0\0\17o\b\8c \ 1\0#q AG8DGE3q-\0M \0\0\17o\b\94 \ 1\0#q EdlsT9H5-\0M \0\0\17o\b\9c \ 1\0#q BPmUugch-\0M \0\0\17o\b¤ \ 1\0#q 5YLMiAwT-\0M \0\0\17o\b¬ \ 1\0#q Akdnj7Y3-\0M \0\0\17o\b´ \ 1\0#q zvRe4V3q-\0M \0\0\17o\b¼ \ 1\0#q 41uohGNQ-\0M \0\0\17o\bÄ \ 1\0#q NXT1Czcw-\0M \0\0\17o\bÌ \ 1\0#q ZOHoCYis-\0M \0\0\17o\bÔ \ 1\0#q +EOsTzzi-\0M \0\0\17o\bÜ \ 1\0#q YOV5ZAwq-\0M \0\0\17o\bä \ 1\0#q oHrl2ATK-\0M \0\0\17o\bì \ 1\0#q FHnpRssD-\0M \0\0\17o\bô \ 1\0#q zmLdSlJD-\0M \0\0\17o\bü \ 1\0#q g7CCwocg-\0M \0\0\17o\b\ 4¡\ 1\0#q lqhuE+Eo-\0M \0\0\17o\b\f¡\ 1\0#q jpsHOFog-\0M \0\0\17o\b\14¡\ 1\0#q ASPtXBwK-\0M \0\0\17o\b\1c¡\ 1\0#q Z802h3fl-\0M \0\0\17o\b$¡\ 1\0#q M1s1tZA8-\0M \0\0\17o\b,¡\ 1\0#q sM4cPDnA-\0M \0\0\17o\b4¡\ 1\0#q T6uS6umb-\0M \0\0\17o\b<¡\ 1\0#q St9nww6r-\0M \0\0\17o\bD¡\ 1\0#q DoI6wdYP-\0M \0\0\17o\bL¡\ 1\0#q ABwCkD4M-\0M \0\0\17o\bT¡\ 1\0#q pyWUDjtR-\0M \0\0\17o\b\¡\ 1\0#q IBzdU79H-\0M \0\0\17o\bd¡\ 1\0#q bBiX3vcZ-\0M \0\0\17o\bl¡\ 1\0#q ZGYTeQOl-\0M \0\0\17o\bt¡\ 1\0#q ZsLH/hj7-\0M \0\0\17o\b|¡\ 1\0#q 8oFxFCAR-\0M \0\0\17o\b\84¡\ 1\0#q 3XQLAaGA-\0M \0\0\17o\b\8c¡\ 1\0#q dDiPltBD-\0M \0\0\17o\b\94¡\ 1\0#q 5eyxp0sa-\0M \0\0\17o\b\9c¡\ 1\0#q 6DUCQ9yB-\0M \0\0\17o\b¤¡\ 1\0#q 3omnTqYz-\0M \0\0\17o\b¬¡\ 1\0#q NOQ7dGkZ-\0M \0\0\17o\b´¡\ 1\0#q ocqlwqH9-\0M \0\0\17o\b¼¡\ 1\0#q pIRCGyUG-\0M \0\0\17o\bÄ¡\ 1\0#q WBqQyCxy-\0M \0\0\17o\bÌ¡\ 1\0#q ehq7n/X6-\0M \0\0\17o\bÔ¡\ 1\0#q 3fbu3lvZ-\0M \0\0\17o\bÜ¡\ 1\0#q ivHbt2xc-\0M \0\0\17o\bä¡\ 1\0#q 3MNMke2l-\0M \0\0\17o\bì¡\ 1\0#q 6Uc4OiBR-\0M \0\0\17o\bô¡\ 1\0#q sMViTMcm-\0M \0\0\17o\bü¡\ 1\0#q SUZzTiou-\0M \0\0\17o\b\ 4¢\ 1\0#q B0cMzMDc-\0M \0\0\17o\b\f¢\ 1\0#q MhAn5DyX-\0M \0\0\17o\b\14¢\ 1\0#q qlkdoH6T-\0M \0\0\17o\b\1c¢\ 1\0#q OX/ia/Rn-\0M \0\0\17o\b$¢\ 1\0#q X2fHg6KQ-\0M \0\0\17o\b,¢\ 1\0#q TF18xSwH-\0M \0\0\17o\b4¢\ 1\0#q CgLERnIs-\0M \0\0\17o\b<¢\ 1\0#q 7MqnDBCu-\0M \0\0\17o\bD¢\ 1\0#q u5uA3wgA-\0M \0\0\17o\bL¢\ 1\0#q RixX8J05-\0M \0\0\17o\bT¢\ 1\0#q hR8PDApx-\0M \0\0\17o\b\¢\ 1\0#q lQIJmGtp-\0M \0\0\17o\bd¢\ 1\0#q RVjPTQ4W-\0M \0\0\17o\bl¢\ 1\0#q hDIBRyoZ-\0M \0\0\17o\bt¢\ 1\0#q 5o1kdEjB-\0M \0\0\17o\b|¢\ 1\0#q ho15A6uh-\0M \0\0\17o\b\84¢\ 1\0#q LHeFCwXL-\0M \0\0\17o\b\8c¢\ 1\0#q +9soCWWt-\0M \0\0\17o\b\94¢\ 1\0#q fZsFJSQS-\0M \0\0\17o\b\9c¢\ 1\0#q Lh/i4cAD-\0M \0\0\17o\b¤¢\ 1\0#q pq1VAz4G-\0M \0\0\17o\b¬¢\ 1\0#q FTiJjhUb-\0M \0\0\17o\b´¢\ 1\0#q Kosgl7B7-\0M \0\0\17o\b¼¢\ 1\0#q 51ekmAW8-\0M \0\0\17o\bÄ¢\ 1\0#q qEBkjrpJ-\0M \0\0\17o\bÌ¢\ 1\0#q Tsj2D0Ak-\0M \0\0\17o\bÔ¢\ 1\0#q IBD0X4qo-\0M \0\0\17o\bÜ¢\ 1\0#q EMX0AA0z-\0M \0\0\17o\bä¢\ 1\0#q Qzao5o5T-\0M \0\0\17o\bì¢\ 1\0#q Tzd5LNDK-\0M \0\0\17o\bô¢\ 1\0#q rnPfRfO1-\0M \0\0\17o\bü¢\ 1\0#q p44OgI4x-\0M \0\0\17o\b\ 4£\ 1\0#q IzjnvqR2-\0M \0\0\17o\b\f£\ 1\0#q Kz5Gwg+D-\0M \0\0\17o\b\14£\ 1\0#q JUL4dAjs-\0M \0\0\17o\b\1c£\ 1\0#q yge+pYSe-\0M \0\0\17o\b$£\ 1\0#q PvEmKovg-\0M \0\0\17o\b,£\ 1\0#q UXXilLjB-\0M \0\0\17o\b4£\ 1\0#q fO4fT3oT-\0M \0\0\17o\b<£\ 1\0#q YGwHVC0J-\0M \0\0\17o\bD£\ 1\0#q 2gKaO2qo-\0M \0\0\17o\bL£\ 1\0#q GfZ3ymu7-\0M \0\0\17o\bT£\ 1\0#q AqTWofKK-\0M \0\0\17o\b\£\ 1\0#q Hc998pr0-\0M \0\0\17o\bd£\ 1\0#q 1xD2hKFg-\0M \0\0\17o\bl£\ 1\0#q CFCO1eIW-\0M \0\0\17o\bt£\ 1\0#q DjYeGgvG-\0M \0\0\17o\b|£\ 1\0#q gWPaFTjz-\0M \0\0\17o\b\84£\ 1\0#q JlNzf2GX-\0M \0\0\17o\b\8c£\ 1\0#q XyGuBywp-\0M \0\0\17o\b\94£\ 1\0#q bCI9aM6U-\0M \0\0\17o\b\9c£\ 1\0#q O+tOtaQS-\0M \0\0\17o\b¤£\ 1\0#q qpWu2Bes-\0M \0\0\17o\b¬£\ 1\0#q Y5kXgwTF-\0M \0\0\17o\b´£\ 1\0#q HTUPCg+y-\0M \0\0\17o\b¼£\ 1\0#q 8oeXVwQ7-\0M \0\0\17o\bÄ£\ 1\0#q yjsYrMak-\0M \0\0\17o\bÌ£\ 1\0#q XS4XXDAJ-\0M \0\0\17o\bÔ£\ 1\0#q lUBAhUGk-\0M \0\0\17o\bÜ£\ 1\0#q 7oKAYdKT-\0M \0\0\17o\bä£\ 1\0#q LFPcGom1-\0M \0\0\17o\bì£\ 1\0#q CBxTjSRR-\0M \0\0\17o\bô£\ 1\0#q soYbfcOs-\0M \0\0\17o\bü£\ 1\0#q 9iE2BKVx-\0M \0\0\17o\b\ 4¤\ 1\0#q 8w4aN9z7-\0M \0\0\17o\b\f¤\ 1\0#q 7xds1BTp-\0M \0\0\17o\b\14¤\ 1\0#q EnKyEY4T-\0M \0\0\17o\b\1c¤\ 1\0#q EIk3XeTS-\0M \0\0\17o\b$¤\ 1\0#q 9hcaRANI-\0M \0\0\17o\b,¤\ 1\0#q X4k22qCD-\0M \0\0\17o\b4¤\ 1\0#q j84dwRJj-\0M \0\0\17o\b<¤\ 1\0#q o5YkxitJ-\0M \0\0\17o\bD¤\ 1\0#q JAO9xXTk-\0M \0\0\17o\bL¤\ 1\0#q OFA/MS7J-\0M \0\0\17o\bT¤\ 1\0#q YZDxNviH-\0M \0\0\17o\b\¤\ 1\0#q hoYrl0bD-\0M \0\0\17o\bd¤\ 1\0#q xFvhTQwS-\0M \0\0\17o\bl¤\ 1\0#q QimhAnQF-\0M \0\0\17o\bt¤\ 1\0#q iYoaaHrM-\0M \0\0\17o\b|¤\ 1\0#q gkYrCOGB-\0M \0\0\17o\b\84¤\ 1\0#q tDa5Bmne-\0M \0\0\17o\b\8c¤\ 1\0#q OFKwdG8D-\0M \0\0\17o\b\94¤\ 1\0#q mOpCyvhq-\0M \0\0\17o\b\9c¤\ 1\0#q GYNRcB69-\0M \0\0\17o\b¤¤\ 1\0#q KAlJSFA5-\0M \0\0\17o\b¬¤\ 1\0#q hCUHKDE4-\0M \0\0\17o\b´¤\ 1\0#q GFcRwyRm-\0M \0\0\17o\b¼¤\ 1\0#q EbfPPpve-\0M \0\0\17o\bĤ\ 1\0#q JJIDaQgw-\0M \0\0\17o\b̤\ 1\0#q rWJ/P78y-\0M \0\0\17o\bÔ¤\ 1\0#q CMO9svE7-\0M \0\0\17o\bܤ\ 1\0#q GZpvnPSW-\0M \0\0\17o\bä¤\ 1\0#q aCtoEgL2-\0M \0\0\17o\bì¤\ 1\0#q jLabbxBV-\0M \0\0\17o\bô¤\ 1\0#q KIsbSY3Y-\0M \0\0\17o\bü¤\ 1\0#q tJJ+NjNh-\0M \0\0\17o\b\ 4¥\ 1\0#q 8b8AilDw-\0M \0\0\17o\b\f¥\ 1\0#q UPusGoZA-\0M \0\0\17o\b\14¥\ 1\0#q u82EYImS-\0M \0\0\17o\b\1c¥\ 1\0#q RSk5GnwV-\0M \0\0\17o\b$¥\ 1\0#q IKWpSvFe-\0M \0\0\17o\b,¥\ 1\0#q BQnOAdAM-\0M \0\0\17o\b4¥\ 1\0#q uTV9DgEQ-\0M \0\0\17o\b<¥\ 1\0#q gQgvrro7-\0M \0\0\17o\bD¥\ 1\0#q JHSHZZfM-\0M \0\0\17o\bL¥\ 1\0#q JCKmTtQF-\0M \0\0\17o\bT¥\ 1\0#q OCceAYcT-\0M \0\0\17o\b\¥\ 1\0#q 265PCAg2-\0M \0\0\17o\bd¥\ 1\0#q SE+XhMkK-\0M \0\0\17o\bl¥\ 1\0#q lPgHB9+H-\0M \0\0\17o\bt¥\ 1\0#q TOoLI8s4-\0M \0\0\17o\b|¥\ 1\0#q BJuk9F7w-\0M \0\0\17o\b\84¥\ 1\0#q qDCjRw6y-\0M \0\0\17o\b\8c¥\ 1\0#q D8yVeukR-\0M \0\0\17o\b\94¥\ 1\0#q Z7qrFZYr-\0M \0\0\17o\b\9c¥\ 1\0#q AMMmhmgF-\0M \0\0\17o\b¤¥\ 1\0#q DKEdZztk-\0M \0\0\17o\b¬¥\ 1\0#q qFY4HuEk-\0M \0\0\17o\b´¥\ 1\0#q fuhz9pTs-\0M \0\0\17o\b¼¥\ 1\0#q XzFtqqB5-\0M \0\0\17o\bÄ¥\ 1\0#q Tv5gsZ8h-\0M \0\0\17o\bÌ¥\ 1\0#q mh8x8wAf-\0M \0\0\17o\bÔ¥\ 1\0#q ZSHNyDX0-\0M \0\0\17o\bÜ¥\ 1\0#q vZDTySL9-\0M \0\0\17o\bä¥\ 1\0#q 4fOjqfD0-\0M \0\0\17o\bì¥\ 1\0#q KHsVflvr-\0M \0\0\17o\bô¥\ 1\0#q WX5ow8Q0-\0M \0\0\17o\bü¥\ 1\0#q QhFVMbcp-\0M \0\0\17o\b\ 4¦\ 1\0#q mX80Ezgf-\0M \0\0\17o\b\f¦\ 1\0#q HYjMuA8w-\0M \0\0\17o\b\14¦\ 1\0#q Ly42E7Sz-\0M \0\0\17o\b\1c¦\ 1\0#q 3rziuCIB-\0M \0\0\17o\b$¦\ 1\0#q 2Dsghxkk-\0M \0\0\17o\b,¦\ 1\0#q Ry0Bzp6F-\0M \0\0\17o\b4¦\ 1\0#q VAA8MKcF-\0M \0\0\17o\b<¦\ 1\0#q vSjqknlx-\0M \0\0\17o\bD¦\ 1\0#q dHAT0wDn-\0M \0\0\17o\bL¦\ 1\0#q 07kBQcd9-\0M \0\0\17o\bT¦\ 1\0#q oLK7tKmn-\0M \0\0\17o\b\¦\ 1\0#q ZYnZZrh6-\0M \0\0\17o\bd¦\ 1\0#q DrhvciJ0-\0M \0\0\17o\bl¦\ 1\0#q ss6vdzXd-\0M \0\0\17o\bt¦\ 1\0#q wMQKJMWT-\0M \0\0\17o\b|¦\ 1\0#q 7tXSHPBy-\0M \0\0\17o\b\84¦\ 1\0#q oD9hWNqM-\0M \0\0\17o\b\8c¦\ 1\0#q OwE85ypX-\0M \0\0\17o\b\94¦\ 1\0#q mQLQwbXS-\0M \0\0\17o\b\9c¦\ 1\0#q kJWY6qxC-\0M \0\0\17o\b¤¦\ 1\0#q wo6HFcFL-\0M \0\0\17o\b¬¦\ 1\0#q CAk6bCVH-\0M \0\0\17o\b´¦\ 1\0#q FyYQc5H6-\0M \0\0\17o\b¼¦\ 1\0#q Ezm+mNHD-\0M \0\0\17o\bĦ\ 1\0#q 03wkk6j7-\0M \0\0\17o\b̦\ 1\0#q m480R07W-\0M \0\0\17o\bÔ¦\ 1\0#q +QkhCKSn-\0M \0\0\17o\bܦ\ 1\0#q JVvGUvBB-\0M \0\0\17o\bä¦\ 1\0#q lRzDZDee-\0M \0\0\17o\bì¦\ 1\0#q aNvGwHd0-\0M \0\0\17o\bô¦\ 1\0#q PT2wTy2H-\0M \0\0\17o\bü¦\ 1\0#q nkWtuMhk-\0M \0\0\17o\b\ 4§\ 1\0#q klgK66LZ-\0M \0\0\17o\b\f§\ 1\0#q BC6hKMJn-\0M \0\0\17o\b\14§\ 1\0#q OxOpo4Ya-\0M \0\0\17o\b\1c§\ 1\0#q B5V7rgii-\0M \0\0\17o\b$§\ 1\0#q WQXGCiJr-\0M \0\0\17o\b,§\ 1\0#q Yk4Y59qs-\0M \0\0\17o\b4§\ 1\0#q lhcA8/XJ-\0M \0\0\17o\b<§\ 1\0#q NJQLb+5t-\0M \0\0\17o\bD§\ 1\0#q UzHJCBgj-\0M \0\0\17o\bL§\ 1\0#q Qx3GrzzH-\0M \0\0\17o\bT§\ 1\0#q n6xmZ9A0-\0M \0\0\17o\b\§\ 1\0#q PtV9dbez-\0M \0\0\17o\bd§\ 1\0#q pCHExoED-\0M \0\0\17o\bl§\ 1\0#q wlrH8dll-\0M \0\0\17o\bt§\ 1\0#q A4YEY1mh-\0M \0\0\17o\b|§\ 1\0#q sA0dIPPs-\0M \0\0\17o\b\84§\ 1\0#q j4Mi73vz-\0M \0\0\17o\b\8c§\ 1\0#q nrsvJLs5-\0M \0\0\17o\b\94§\ 1\0#q YqABDfro-\0M \0\0\17o\b\9c§\ 1\0#q HBg+ShQ0-\0M \0\0\17o\b¤§\ 1\0#q IgOs44NI-\0M \0\0\17o\b¬§\ 1\0#q 4F8CIIsV-\0M \0\0\17o\b´§\ 1\0#q XHQ6z3KS-\0M \0\0\17o\b¼§\ 1\0#q 4MOhdxig-\0M \0\0\17o\bħ\ 1\0#q YOImz2UG-\0M \0\0\17o\b̧\ 1\0#q gJAuBhps-\0M \0\0\17o\bÔ§\ 1\0#q gLrldXnh-\0M \0\0\17o\bܧ\ 1\0#q NQ4jLCUy-\0M \0\0\17o\bä§\ 1\0#q TxyhrIrw-\0M \0\0\17o\bì§\ 1\0#q uyYrqo6M-\0M \0\0\17o\bô§\ 1\0#q JzQ2Wl3A-\0M \0\0\17o\bü§\ 1\0#q dDzKOb3C-\0M \0\0\17o\b\ 4¨\ 1\0#q ydryz5Do-\0M \0\0\17o\b\f¨\ 1\0#q pHBHMKBN-\0M \0\0\17o\b\14¨\ 1\0#q dAOAdXJh-\0M \0\0\17o\b\1c¨\ 1\0#q YMgMb2s9-\0M \0\0\17o\b$¨\ 1\0#q Fp70MSCl-\0M \0\0\17o\b,¨\ 1\0#q w9KpTbdz-\0M \0\0\17o\b4¨\ 1\0#q hHAuMGAt-\0M \0\0\17o\b<¨\ 1\0#q obHQJ2SU-\0M \0\0\17o\bD¨\ 1\0#q Rvgbbhyt-\0M \0\0\17o\bL¨\ 1\0#q BecsuXl+-\0M \0\0\17o\bT¨\ 1\0#q 2jKigzt7-\0M \0\0\17o\b\¨\ 1\0#q goBTjmpC-\0M \0\0\17o\bd¨\ 1\0#q 8RowanZd-\0M \0\0\17o\bl¨\ 1\0#q xJOhWjwh-\0M \0\0\17o\bt¨\ 1\0#q wrm99FSi-\0M \0\0\17o\b|¨\ 1\0#q J2OgLLnm-\0M \0\0\17o\b\84¨\ 1\0#q 8pnjT1Fc-\0M \0\0\17o\b\8c¨\ 1\0#q CXCc0JaZ-\0M \0\0\17o\b\94¨\ 1\0#q ijcmjpDA-\0M \0\0\17o\b\9c¨\ 1\0#q CeVTrZne-\0M \0\0\17o\b¤¨\ 1\0#q XxGRA+18-\0M \0\0\17o\b¬¨\ 1\0#q 4I985kcH-\0M \0\0\17o\b´¨\ 1\0#q QIQIEFMg-\0M \0\0\17o\b¼¨\ 1\0#q WfO635rg-\0M \0\0\17o\bĨ\ 1\0#q 0SZSO/at-\0M \0\0\17o\b̨\ 1\0#q HtcUKa3T-\0M \0\0\17o\bÔ¨\ 1\0#q Z8OJoImY-\0M \0\0\17o\bܨ\ 1\0#q sgRoKAhi-\0M \0\0\17o\bä¨\ 1\0#q ZKIBUsG7-\0M \0\0\17o\bì¨\ 1\0#q yTOFlDFn-\0M \0\0\17o\bô¨\ 1\0#q cMU9EG4C-\0M \0\0\17o\bü¨\ 1\0#q MLUKMxbi-\0M \0\0\17o\b\ 4©\ 1\0#q CaMDYdhs-\0M \0\0\17o\b\f©\ 1\0#q JSKdyLFJ-\0M \0\0\17o\b\14©\ 1\0#q CQmviCCL-\0M \0\0\17o\b\1c©\ 1\0#q gGuUz81p-\0M \0\0\17o\b$©\ 1\0#q tojXx2oe-\0M \0\0\17o\b,©\ 1\0#q 4d2iHnAk-\0M \0\0\17o\b4©\ 1\0#q VSdhzcfH-\0M \0\0\17o\b<©\ 1\0#q 2K2UnIQ9-\0M \0\0\17o\bD©\ 1\0#q u0F30MHB-\0M \0\0\17o\bL©\ 1\0#q OBY0UHMY-\0M \0\0\17o\bT©\ 1\0#q YjgCQTAW-\0M \0\0\17o\b\©\ 1\0#q MbwXTZQX-\0M \0\0\17o\bd©\ 1\0#q aOgnfjck-\0M \0\0\17o\bl©\ 1\0#q J+BO475Z-\0M \0\0\17o\bt©\ 1\0#q yfo8/R0N-\0M \0\0\17o\b|©\ 1\0#q lEMBq8c9-\0M \0\0\17o\b\84©\ 1\0#q 4sZJiNrn-\0M \0\0\17o\b\8c©\ 1\0#q yJ8OoMID-\0M \0\0\17o\b\94©\ 1\0#q QPjt9uJK-\0M \0\0\17o\b\9c©\ 1\0#q 8Rk5aFDY-\0M \0\0\17o\b¤©\ 1\0#q bJfWSynw-\0M \0\0\17o\b¬©\ 1\0#q RhgIbQoB-\0M \0\0\17o\b´©\ 1\0#q 0+IsZPFG-\0M \0\0\17o\b¼©\ 1\0#q y4yADzZL-\0M \0\0\17o\bÄ©\ 1\0#q YokaBywD-\0M \0\0\17o\bÌ©\ 1\0#q CRmTeH5t-\0M \0\0\17o\bÔ©\ 1\0#q mhDzPmA2-\0M \0\0\17o\bÜ©\ 1\0#q rD32gaqn-\0M \0\0\17o\bä©\ 1\0#q eqHMNqA3-\0M \0\0\17o\bì©\ 1\0#q FgsMePDM-\0M \0\0\17o\bô©\ 1\0#q 9KB69ebN-\0M \0\0\17o\bü©\ 1\0#q 4HOAhc26-\0M \0\0\17o\b\ 4ª\ 1\0#q eoGFI1QJ-\0M \0\0\17o\b\fª\ 1\0#q m898wsO5-\0M \0\0\17o\b\14ª\ 1\0#q qZxBxcWU-\0M \0\0\17o\b\1cª\ 1\0#q gvtw5Q8A-\0M \0\0\17o\b$ª\ 1\0#q MEOOJJ8H-\0M \0\0\17o\b,ª\ 1\0#q EEk6B45Z-\0M \0\0\17o\b4ª\ 1\0#q yIoFaB5K-\0M \0\0\17o\b<ª\ 1\0#q W8FLb/M4-\0M \0\0\17o\bDª\ 1\0#q KYSZIP/T-\0M \0\0\17o\bLª\ 1\0#q y/DoMk5A-\0M \0\0\17o\bTª\ 1\0#q mi3wPAH8-\0M \0\0\17o\b\ª\ 1\0#q EyWhTaUs-\0M \0\0\17o\bdª\ 1\0#q FlQ+g6AE-\0M \0\0\17o\blª\ 1\0#q FdgHlJWN-\0M \0\0\17o\btª\ 1\0#q LpOCvdk3-\0M \0\0\17o\b|ª\ 1\0#q q+hWdqbT-\0M \0\0\17o\b\84ª\ 1\0#q JWRS1dey-\0M \0\0\17o\b\8cª\ 1\0#q wOAQwQUm-\0M \0\0\17o\b\94ª\ 1\0#q sxpFozUQ-\0M \0\0\17o\b\9cª\ 1\0#q bFTRcPzh-\0M \0\0\17o\b¤ª\ 1\0#q mHw0BxsE-\0M \0\0\17o\b¬ª\ 1\0#q HFHdI2kU-\0M \0\0\17o\b´ª\ 1\0#q HjDkRPSG-\0M \0\0\17o\b¼ª\ 1\0#q Ap3SUo8B-\0M \0\0\17o\bĪ\ 1\0#q EdPPPTw4-\0M \0\0\17o\b̪\ 1\0#q 44KbQ4SZ-\0M \0\0\17o\bÔª\ 1\0#q sIKdYe3W-\0M \0\0\17o\bܪ\ 1\0#q Co1EtM7z-\0M \0\0\17o\bäª\ 1\0#q KTu1VAoZ-\0M \0\0\17o\bìª\ 1\0#q 7hPFDfU8-\0M \0\0\17o\bôª\ 1\0#q 8SlCY2aH-\0M \0\0\17o\büª\ 1\0#q VSnVAOBA-\0M \0\0\17o\b\ 4«\ 1\0#q 5wzuGlcH-\0M \0\0\17o\b\f«\ 1\0#q Rs8STcvG-\0M \0\0\17o\b\14«\ 1\0#q Cu0xIzUF-\0M \0\0\17o\b\1c«\ 1\0#q jkwcvlhe-\0M \0\0\17o\b$«\ 1\0#q RAzgRbJk-\0M \0\0\17o\b,«\ 1\0#q zf/N0YjQ-\0M \0\0\17o\b4«\ 1\0#q wJYrJ16V-\0M \0\0\17o\b<«\ 1\0#q zC1gueMT-\0M \0\0\17o\bD«\ 1\0#q W4Rt5rYT-\0M \0\0\17o\bL«\ 1\0#q IRNwYQYt-\0M \0\0\17o\bT«\ 1\0#q HOtSD6Sh-\0M \0\0\17o\b\«\ 1\0#q BHOQzP37-\0M \0\0\17o\bd«\ 1\0#q jm+TT/gv-\0M \0\0\17o\bl«\ 1\0#q nq0DgyDu-\0M \0\0\17o\bt«\ 1\0#q ezyZv7FG-\0M \0\0\17o\b|«\ 1\0#q KF8j4kpF-\0M \0\0\17o\b\84«\ 1\0#q LwakHPsy-\0M \0\0\17o\b\8c«\ 1\0#q LSDphCyx-\0M \0\0\17o\b\94«\ 1\0#q QLl7xgnr-\0M \0\0\17o\b\9c«\ 1\0#q +Pl8wbTs-\0M \0\0\17o\b¤«\ 1\0#q F8dx04kw-\0M \0\0\17o\b¬«\ 1\0#q B75wFRLd-\0M \0\0\17o\b´«\ 1\0#q NRIBmhw2-\0M \0\0\17o\b¼«\ 1\0#q pH3UCbB9-\0M \0\0\17o\bÄ«\ 1\0#q EgE9z5eI-\0M \0\0\17o\bÌ«\ 1\0#q BPN3vYxz-\0M \0\0\17o\bÔ«\ 1\0#q TZ4nEgVR-\0M \0\0\17o\bÜ«\ 1\0#q 4qoGQtM+-\0M \0\0\17o\bä«\ 1\0#q BuGwlgV1-\0M \0\0\17o\bì«\ 1\0#q WoHG4Eao-\0M \0\0\17o\bô«\ 1\0#q NASMhGBg-\0M \0\0\17o\bü«\ 1\0#q XYFRVYIX-\0M \0\0\17o\b\ 4¬\ 1\0#q lASg6LSg-\0M \0\0\17o\b\f¬\ 1\0#q GqeHmiyA-\0M \0\0\17o\b\14¬\ 1\0#q sDilBBOq-\0M \0\0\17o\b\1c¬\ 1\0#q QsS4Og5r-\0M \0\0\17o\b$¬\ 1\0#q ap1miKqA-\0M \0\0\17o\b,¬\ 1\0#q dUA6AdYT-\0M \0\0\17o\b4¬\ 1\0#q WmgTRQWe-\0M \0\0\17o\b<¬\ 1\0#q ULDLBzlS-\0M \0\0\17o\bD¬\ 1\0#q EcEEDJbB-\0M \0\0\17o\bL¬\ 1\0#q 4nTaBTC2-\0M \0\0\17o\bT¬\ 1\0#q glnEXi2h-\0M \0\0\17o\b\¬\ 1\0#q aNhLoJcd-\0M \0\0\17o\bd¬\ 1\0#q gCNAkhcq-\0M \0\0\17o\bl¬\ 1\0#q bCc44gFr-\0M \0\0\17o\bt¬\ 1\0#q Brre1RE7-\0M \0\0\17o\b|¬\ 1\0#q eydRrtb9-\0M \0\0\17o\b\84¬\ 1\0#q wdNITgOo-\0M \0\0\17o\b\8c¬\ 1\0#q j4QWulZi-\0M \0\0\17o\b\94¬\ 1\0#q Ll9z7V6D-\0M \0\0\17o\b\9c¬\ 1\0#q bnFmgcim-\0M \0\0\17o\b¤¬\ 1\0#q AjOFhQs7-\0M \0\0\17o\b¬¬\ 1\0#q UI75C551-\0M \0\0\17o\b´¬\ 1\0#q aKdXmUEH-\0M \0\0\17o\b¼¬\ 1\0#q KSvEOCld-\0M \0\0\17o\bĬ\ 1\0#q H1YzE3wo-\0M \0\0\17o\b̬\ 1\0#q E42BxwHl-\0M \0\0\17o\bÔ¬\ 1\0#q 9Xk7YSa0-\0M \0\0\17o\bܬ\ 1\0#q g1vV9Cri-\0M \0\0\17o\bä¬\ 1\0#q IWOztgqD-\0M \0\0\17o\bì¬\ 1\0#q 6DgKN3Av-\0M \0\0\17o\bô¬\ 1\0#q OkS3ODdn-\0M \0\0\17o\bü¬\ 1\0#q Tdtll+ab-\0M \0\0\17o\b\ 4\ 1\0#q k1SRIIGv-\0M \0\0\17o\b\f\ 1\0#q fALBUOBR-\0M \0\0\17o\b\14\ 1\0#q 7ZFBZ4BU-\0M \0\0\17o\b\1c\ 1\0#q pBnSQ4hF-\0M \0\0\17o\b$\ 1\0#q HFEZ473Y-\0M \0\0\17o\b,\ 1\0#q 3P+zY7O6-\0M \0\0\17o\b4\ 1\0#q 0Rs1LaWq-\0M \0\0\17o\b<\ 1\0#q HHIcwa8t-\0M \0\0\17o\bD\ 1\0#q xlB4jJJE-\0M \0\0\17o\bL\ 1\0#q w5YZFHWA-\0M \0\0\17o\bT\ 1\0#q ZUEtKyoI-\0M \0\0\17o\b\\ 1\0#q GdMwDYlA-\0M \0\0\17o\bd\ 1\0#q +A9mFgSZ-\0M \0\0\17o\bl\ 1\0#q bOw4M6OO-\0M \0\0\17o\bt\ 1\0#q SmPkMl1O-\0M \0\0\17o\b|\ 1\0#q YzvpRASm-\0M \0\0\17o\b\84\ 1\0#q vvXmUjTp-\0M \0\0\17o\b\8c\ 1\0#q 8joGG1lR-\0M \0\0\17o\b\94\ 1\0#q 1cQpEEug-\0M \0\0\17o\b\9c\ 1\0#q zJBUyZnl-\0M \0\0\17o\b¤\ 1\0#q ygzInkeR-\0M \0\0\17o\b¬\ 1\0#q 9IZ+wHyA-\0M \0\0\17o\b´\ 1\0#q TZQgPmd1-\0M \0\0\17o\b¼\ 1\0#q ZmIUecB8-\0M \0\0\17o\bÄ\ 1\0#q pAzd6P0t-\0M \0\0\17o\bÌ\ 1\0#q AUK45zvD-\0M \0\0\17o\bÔ\ 1\0#q zCusNxdK-\0M \0\0\17o\bÜ\ 1\0#q PDohseJe-\0M \0\0\17o\bä\ 1\0#q eAI6Zvad-\0M \0\0\17o\bì\ 1\0#q wEcFQCRC-\0M \0\0\17o\bô\ 1\0#q gsXNcDfG-\0M \0\0\17o\bü\ 1\0#q 6wqIm732-\0M \0\0\17o\b\ 4®\ 1\0#q cGQgwkIA-\0M \0\0\17o\b\f®\ 1\0#q SKEgydIj-\0M \0\0\17o\b\14®\ 1\0#q IZQ4a2th-\0M \0\0\17o\b\1c®\ 1\0#q urU6wysr-\0M \0\0\17o\b$®\ 1\0#q TQQglytZ-\0M \0\0\17o\b,®\ 1\0#q nEFtKoQO-\0M \0\0\17o\b4®\ 1\0#q jdqfOmiD-\0M \0\0\17o\b<®\ 1\0#q ah274ym7-\0M \0\0\17o\bD®\ 1\0#q EDxm9s9L-\0M \0\0\17o\bL®\ 1\0#q CegGgMop-\0M \0\0\17o\bT®\ 1\0#q kIt4LQ1X-\0M \0\0\17o\b\®\ 1\0#q tb9yBS7B-\0M \0\0\17o\bd®\ 1\0#q 2LUpK7hU-\0M \0\0\17o\bl®\ 1\0#q pgHQVCXm-\0M \0\0\17o\bt®\ 1\0#q wmbMOQqG-\0M \0\0\17o\b|®\ 1\0#q HhGVvfpg-\0M \0\0\17o\b\84®\ 1\0#q EjVDoew6-\0M \0\0\17o\b\8c®\ 1\0#q qNbwaB5v-\0M \0\0\17o\b\94®\ 1\0#q ajnexW8p-\0M \0\0\17o\b\9c®\ 1\0#q SBC73poO-\0M \0\0\17o\b¤®\ 1\0#q sSDMENqj-\0M \0\0\17o\b¬®\ 1\0#q GDoVUvvC-\0M \0\0\17o\b´®\ 1\0#q S9M4jdfR-\0M \0\0\17o\b¼®\ 1\0#q rEmuQYwM-\0M \0\0\17o\bÄ®\ 1\0#q 5KDSHMK3-\0M \0\0\17o\bÌ®\ 1\0#q B64lqG9D-\0M \0\0\17o\bÔ®\ 1\0#q hQ0JoNQH-\0M \0\0\17o\bÜ®\ 1\0#q lDlAPccR-\0M \0\0\17o\bä®\ 1\0#q KnfODi2T-\0M \0\0\17o\bì®\ 1\0#q DOoYNSZA-\0M \0\0\17o\bô®\ 1\0#q cBzrUAVg-\0M \0\0\17o\bü®\ 1\0#q lyHGRUI0-\0M \0\0\17o\b\ 4¯\ 1\0#q bMziEWOU-\0M \0\0\17o\b\f¯\ 1\0#q JYnAOUMt-\0M \0\0\17o\b\14¯\ 1\0#q 6Rku3X2Z-\0M \0\0\17o\b\1c¯\ 1\0#q a5l+nJIH-\0M \0\0\17o\b$¯\ 1\0#q iJXNq4xz-\0M \0\0\17o\b,¯\ 1\0#q ccGdzaqu-\0M \0\0\17o\b4¯\ 1\0#q 4qJJiDRB-\0M \0\0\17o\b<¯\ 1\0#q AN2TBKur-\0M \0\0\17o\bD¯\ 1\0#q ol+bv9SB-\0M \0\0\17o\bL¯\ 1\0#q CSAX8+8H-\0M \0\0\17o\bT¯\ 1\0#q l/r7sZnx-\0M \0\0\17o\b\¯\ 1\0#q y9PYe6Z7-\0M \0\0\17o\bd¯\ 1\0#q cvs98YtZ-\0M \0\0\17o\bl¯\ 1\0#q /SwPrgMD-\0M \0\0\17o\bt¯\ 1\0#q 9OXynBh/-\0M \0\0\17o\b|¯\ 1\0#q XzxwXwdW-\0M \0\0\17o\b\84¯\ 1\0#q FeXp/iVD-\0M \0\0\17o\b\8c¯\ 1\0#q kMgNriWp-\0M \0\0\17o\b\94¯\ 1\0#q JDP1n5az-\0M \0\0\17o\b\9c¯\ 1\0#q Cg6/xxxE-\0M \0\0\17o\b¤¯\ 1\0#q vwpxkfhI-\0M \0\0\17o\b¬¯\ 1\0#q P9s+2nQ/-\0M \0\0\17o\b´¯\ 1\0#q fn4vF9+j-\0M \0\0\17o\b¼¯\ 1\0#q J+ngfdWL-\0M \0\0\17o\bį\ 1\0#q 4CPb5czf-\0M \0\0\17o\b̯\ 1\0#q UQwvVtZE-\0M \0\0\17o\bÔ¯\ 1\0#q uz7Om9iW-\0M \0\0\17o\bܯ\ 1\0#q rwP/ePX0-\0M \0\0\17o\bä¯\ 1\0#q KAP0+V9i-\0M \0\0\17o\bì¯\ 1\0#q nRoSgybc-\0M \0\0\17o\bô¯\ 1\0#q cCP6dPd+-\0M \0\0\17o\bü¯\ 1\0#q K+f24YnQ-\0M \0\0\17o\b\ 4°\ 1\0#q 9YpYUGst-\0M \0\0\17o\b\f°\ 1\0#q TKKFMYQd-\0M \0\0\17o\b\14°\ 1\0#q T2HL0fr+-\0M \0\0\17o\b\1c°\ 1\0#q fbVW3qvv-\0M \0\0\17o\b$°\ 1\0#q 1NLVbRWS-\0M \0\0\17o\b,°\ 1\0#q UrVJUxgS-\0M \0\0\17o\b4°\ 1\0#q VjWktRao-\0M \0\0\17o\b<°\ 1\0#q qKNrFWmU-\0M \0\0\17o\bD°\ 1\0#q UVMjUUmp-\0M \0\0\17o\bL°\ 1\0#q li0zKazD-\0M \0\0\17o\bT°\ 1\0#q abQ0YKDY-\0M \0\0\17o\b\°\ 1\0#q xZMGg1Bp-\0M \0\0\17o\bd°\ 1\0#q RpYUwpQC-\0M \0\0\17o\bl°\ 1\0#q MhoC8nsJ-\0M \0\0\17o\bt°\ 1\0#q e4+Dy3Xr-\0M \0\0\17o\b|°\ 1\0#q 8S8ifkOz-\0M \0\0\17o\b\84°\ 1\0#q /vaP7ETx-\0M \0\0\17o\b\8c°\ 1\0#q FiYoqdkO-\0M \0\0\17o\b\94°\ 1\0#q eLbBtH+b-\0M \0\0\17o\b\9c°\ 1\0#q Hadmz2QG-\0M \0\0\17o\b¤°\ 1\0#q sccbGX7O-\0M \0\0\17o\b¬°\ 1\0#q U2D+LhZD-\0M \0\0\17o\b´°\ 1\0#q xGPjMsOy-\0M \0\0\17o\b¼°\ 1\0#q V+DZO9PS-\0M \0\0\17o\bİ\ 1\0#q eDPkEcZO-\0M \0\0\17o\b̰\ 1\0#q SS8UzBJ+-\0M \0\0\17o\bÔ°\ 1\0#q ecnUZhlZ-\0M \0\0\17o\bܰ\ 1\0#q 9ZyM/ad2-\0M \0\0\17o\bä°\ 1\0#q 2YYrjBcA-\0M \0\0\17o\bì°\ 1\0#q z/3V2B8/-\0M \0\0\17o\bô°\ 1\0#q JiuT7ED9-\0M \0\0\17o\bü°\ 1\0#q kw+rGGSG-\0M \0\0\17o\b\ 4±\ 1\0#q mqTbJiMm-\0M \0\0\17o\b\f±\ 1\0#q LSysmTaS-\0M \0\0\17o\b\14±\ 1\0#q 0aks2bSz-\0M \0\0\17o\b\1c±\ 1\0#q WlZtg1Ep-\0M \0\0\17o\b$±\ 1\0#q SSYlNkqI-\0M \0\0\17o\b,±\ 1\0#q tCalNFst-\0M \0\0\17o\b4±\ 1\0#q NttqaprS-\0M \0\0\17o\b<±\ 1\0#q mpS0pqU1-\0M \0\0\17o\bD±\ 1\0#q LNFgKpZV-\0M \0\0\17o\bL±\ 1\0#q srWWrM0l-\0M \0\0\17o\bT±\ 1\0#q JM1bEW0q-\0M \0\0\17o\b\±\ 1\0#q bEmiLVtR-\0M \0\0\17o\bd±\ 1\0#q GZUbSprW-\0M \0\0\17o\bl±\ 1\0#q bNaLUqak-\0M \0\0\17o\bt±\ 1\0#q s021KtbS-\0M \0\0\17o\b|±\ 1\0#q 2RlllbMs-\0M \0\0\17o\b\84±\ 1\0#q ywtspLGj-\0M \0\0\17o\b\8c±\ 1\0#q SaVEzMYk-\0M \0\0\17o\b\94±\ 1\0#q 2NmzWptl-\0M \0\0\17o\b\9c±\ 1\0#q rJWmSoRZ-\0M \0\0\17o\b¤±\ 1\0#q SsptlZZL-\0M \0\0\17o\b¬±\ 1\0#q RGTaNKm2-\0M \0\0\17o\b´±\ 1\0#q LJmmyUmS-\0M \0\0\17o\b¼±\ 1\0#q WRk0Wpql-\0M \0\0\17o\bı\ 1\0#q UZJJiWlp-\0M \0\0\17o\ḇ\ 1\0#q tkjGjUy0-\0M \0\0\17o\bÔ±\ 1\0#q 1TaUkrKz-\0M \0\0\17o\bܱ\ 1\0#q SlLTMzAb-\0M \0\0\17o\bä±\ 1\0#q Ng2KlpJM-\0M \0\0\17o\bì±\ 1\0#q l63e7/d+-\0M \0\0\17o\bô±\ 1\0#q ENF1fgGL-\0M \0\0\17o\bü±\ 1\0#q Huf56NGd-\0M \0\0\17o\b\ 4²\ 1\0#q qOvg7hSN-\0M \0\0\17o\b\f²\ 1\0#q iHHED5NK-\0M \0\0\17o\b\14²\ 1\0#q zQnm2yaA-\0M \0\0\17o\b\1c²\ 1\0#q QJTIxieF-\0M \0\0\17o\b$²\ 1\0#q JM3ij3X3-\0M \0\0\17o\b,²\ 1\0#q qh5AHBhk-\0M \0\0\17o\b4²\ 1\0#q 2riuNRvB-\0M \0\0\17o\b<²\ 1\0#q d1dJNK/o-\0M \0\0\17o\bD²\ 1\0#q 55W5e1NX-\0M \0\0\17o\bL²\ 1\0#q ks/nngBU-\0M \0\0\17o\bT²\ 1\0#q Dz7INtUf-\0M \0\0\17o\b\²\ 1\0#q FdK0JrgN-\0M \0\0\17o\bd²\ 1\0#q gbjAdgkJ-\0M \0\0\17o\bl²\ 1\0#q GRczQCng-\0M \0\0\17o\bt²\ 1\0#q L6Zh4BT2-\0M \0\0\17o\b|²\ 1\0#q UW6xEWOC-\0M \0\0\17o\b\84²\ 1\0#q C4FzQuaj-\0M \0\0\17o\b\8c²\ 1\0#q OxoBErUs-\0M \0\0\17o\b\94²\ 1\0#q V1z6K8cA-\0M \0\0\17o\b\9c²\ 1\0#q ICwJGRj6-\0M \0\0\17o\b¤²\ 1\0#q fB5iCC6h-\0M \0\0\17o\b¬²\ 1\0#q 8QhiZB9q-\0M \0\0\17o\b´²\ 1\0#q Lr5NFyCe-\0M \0\0\17o\b¼²\ 1\0#q nPzIPnc0-\0M \0\0\17o\bIJ\ 1\0#q WwotMInx-\0M \0\0\17o\b̲\ 1\0#q 4sAoHfMU-\0M \0\0\17o\bÔ²\ 1\0#q 5HgU6hhR-\0M \0\0\17o\bܲ\ 1\0#q Bkppj/Fg-\0M \0\0\17o\bä²\ 1\0#q HNLt0ubr-\0M \0\0\17o\bì²\ 1\0#q 4APQXPI0-\0M \0\0\17o\bô²\ 1\0#q 6DXqSSyD-\0M \0\0\17o\bü²\ 1\0#q Zid8zuPu-\0M \0\0\17o\b\ 4³\ 1\0#q LwXKN4cj-\0M \0\0\17o\b\f³\ 1\0#q jq/w8zET-\0M \0\0\17o\b\14³\ 1\0#q QQQXn+w0-\0M \0\0\17o\b\1c³\ 1\0#q DiEJEiKh-\0M \0\0\17o\b$³\ 1\0#q 7fzQ5LMf-\0M \0\0\17o\b,³\ 1\0#q gQXmXrdt-\0M \0\0\17o\b4³\ 1\0#q A+sBzTIi-\0M \0\0\17o\b<³\ 1\0#q gGxVCwsO-\0M \0\0\17o\bD³\ 1\0#q YhmJycnC-\0M \0\0\17o\bL³\ 1\0#q CGplhE8/-\0M \0\0\17o\bT³\ 1\0#q sdAhQXcs-\0M \0\0\17o\b\³\ 1\0#q IRJFJISE-\0M \0\0\17o\bd³\ 1\0#q JE8flHQO-\0M \0\0\17o\bl³\ 1\0#q 6cgR0ZCo-\0M \0\0\17o\bt³\ 1\0#q E/TcCd+B-\0M \0\0\17o\b|³\ 1\0#q BP7orIml-\0M \0\0\17o\b\84³\ 1\0#q 5zlZgw9K-\0M \0\0\17o\b\8c³\ 1\0#q QKKpGkiw-\0M \0\0\17o\b\94³\ 1\0#q gESxpnXK-\0M \0\0\17o\b\9c³\ 1\0#q 9pYwUAa8-\0M \0\0\17o\b¤³\ 1\0#q 9ij5sPoU-\0M \0\0\17o\b¬³\ 1\0#q YZjQ0lyA-\0M \0\0\17o\b´³\ 1\0#q cxQc/xtR-\0M \0\0\17o\b¼³\ 1\0#q zIOJISJH-\0M \0\0\17o\bij\ 1\0#q L7Ny0JDw-\0M \0\0\17o\b̳\ 1\0#q BwZa4MDU-\0M \0\0\17o\bÔ³\ 1\0#q FR8D5CCC-\0M \0\0\17o\bܳ\ 1\0#q wzTyVsZe-\0M \0\0\17o\bä³\ 1\0#q jnQapAVG-\0M \0\0\17o\bì³\ 1\0#q YICC5dDX-\0M \0\0\17o\bô³\ 1\0#q tXOsmZXM-\0M \0\0\17o\bü³\ 1\0#q O7mFWN7P-\0M \0\0\17o\b\ 4´\ 1\0#q 56mEGIAc-\0M \0\0\17o\b\f´\ 1\0#q JHHBshar-\0M \0\0\17o\b\14´\ 1\0#q UAUcAp9U-\0M \0\0\17o\b\1c´\ 1\0#q rviBIAxJ-\0M \0\0\17o\b$´\ 1\0#q 08i+RBO3-\0M \0\0\17o\b,´\ 1\0#q Ah2QAgiK-\0M \0\0\17o\b4´\ 1\0#q 4kThwo8s-\0M \0\0\17o\b<´\ 1\0#q DCf0aftx-\0M \0\0\17o\bD´\ 1\0#q qENQKMTv-\0M \0\0\17o\bL´\ 1\0#q TZBCNMVo-\0M \0\0\17o\bT´\ 1\0#q DJwdi4fV-\0M \0\0\17o\b\´\ 1\0#q hYNQyMy4-\0M \0\0\17o\bd´\ 1\0#q KjH6SlEA-\0M \0\0\17o\bl´\ 1\0#q vexZaMCm-\0M \0\0\17o\bt´\ 1\0#q xViqK0e1-\0M \0\0\17o\b|´\ 1\0#q JpDA33Zg-\0M \0\0\17o\b\84´\ 1\0#q 0xuGQl9E-\0M \0\0\17o\b\8c´\ 1\0#q hiQvQ2FH-\0M \0\0\17o\b\94´\ 1\0#q NA6XqGDe-\0M \0\0\17o\b\9c´\ 1\0#q 6CB3obIH-\0M \0\0\17o\b¤´\ 1\0#q AhBD+L/2-\0M \0\0\17o\b¬´\ 1\0#q H7JweCnN-\0M \0\0\17o\b´´\ 1\0#q u3h8F/bQ-\0M \0\0\17o\b¼´\ 1\0#q AgQghowH-\0M \0\0\17o\bÄ´\ 1\0#q 1UAW3ICg-\0M \0\0\17o\bÌ´\ 1\0#q LRMWh9MD-\0M \0\0\17o\bÔ´\ 1\0#q 3nL6B5zv-\0M \0\0\17o\bÜ´\ 1\0#q W/rtbABA-\0M \0\0\17o\bä´\ 1\0#q W7j9J/ub-\0M \0\0\17o\bì´\ 1\0#q hTjE1Dh6-\0M \0\0\17o\bô´\ 1\0#q fjPlrh4F-\0M \0\0\17o\bü´\ 1\0#q 1mHx9l6o-\0M \0\0\17o\b\ 4µ\ 1\0#q KaKdL9MC-\0M \0\0\17o\b\fµ\ 1\0#q Czogscg9-\0M \0\0\17o\b\14µ\ 1\0#q WEHR1P1l-\0M \0\0\17o\b\1cµ\ 1\0#q XLtPyv2a-\0M \0\0\17o\b$µ\ 1\0#q v6+Uc38L-\0M \0\0\17o\b,µ\ 1\0#q 73W4ynzS-\0M \0\0\17o\b4µ\ 1\0#q HQzT7n4a-\0M \0\0\17o\b<µ\ 1\0#q 9fw9G0pH-\0M \0\0\17o\bDµ\ 1\0#q vHQQT3Ww-\0M \0\0\17o\bLµ\ 1\0#q CpsYtnkc-\0M \0\0\17o\bTµ\ 1\0#q GJdhEoMq-\0M \0\0\17o\b\µ\ 1\0#q dwTQQQWf-\0M \0\0\17o\bdµ\ 1\0#q 8H7l+Sm0-\0M \0\0\17o\blµ\ 1\0#q erEmuPTq-\0M \0\0\17o\btµ\ 1\0#q AC3f/RC5-\0M \0\0\17o\b|µ\ 1\0#q LqgrQdfy-\0M \0\0\17o\b\84µ\ 1\0#q PN+J3eTy-\0M \0\0\17o\b\8cµ\ 1\0#q V4GlQVzd-\0M \0\0\17o\b\94µ\ 1\0#q O0KeqEAr-\0M \0\0\17o\b\9cµ\ 1\0#q m/KUORmg-\0M \0\0\17o\b¤µ\ 1\0#q ILgIYcAU-\0M \0\0\17o\b¬µ\ 1\0#q kDE9Wupt-\0M \0\0\17o\b´µ\ 1\0#q iUObqmYf-\0M \0\0\17o\b¼µ\ 1\0#q nmExHY8c-\0M \0\0\17o\bĵ\ 1\0#q NvsWx4o2-\0M \0\0\17o\b̵\ 1\0#q QtFrwFyb-\0M \0\0\17o\bÔµ\ 1\0#q GSaII/Yz-\0M \0\0\17o\bܵ\ 1\0#q Ou4hsM00-\0M \0\0\17o\bäµ\ 1\0#q VwmYOAJQ-\0M \0\0\17o\bìµ\ 1\0#q 3KQY+rag-\0M \0\0\17o\bôµ\ 1\0#q 56UiZKVH-\0M \0\0\17o\büµ\ 1\0#q IpnxryUn-\0M \0\0\17o\b\ 4¶\ 1\0#q 41uF8d2K-\0M \0\0\17o\b\f¶\ 1\0#q fszLbyzA-\0M \0\0\17o\b\14¶\ 1\0#q kMTuQc1B-\0M \0\0\17o\b\1c¶\ 1\0#q JQQHPuhB-\0M \0\0\17o\b$¶\ 1\0#q Bej0s+yi-\0M \0\0\17o\b,¶\ 1\0#q FTpnRcrV-\0M \0\0\17o\b4¶\ 1\0#q Gp26/SPo-\0M \0\0\17o\b<¶\ 1\0#q GgGLAjmB-\0M \0\0\17o\bD¶\ 1\0#q AhpnAPYi-\0M \0\0\17o\bL¶\ 1\0#q hGHgg8hN-\0M \0\0\17o\bT¶\ 1\0#q +hAh0NOb-\0M \0\0\17o\b\¶\ 1\0#q gHp2R/M6-\0M \0\0\17o\bd¶\ 1\0#q Jo+S9Uw8-\0M \0\0\17o\bl¶\ 1\0#q 0pUFedRU-\0M \0\0\17o\bt¶\ 1\0#q 1bYFRVog-\0M \0\0\17o\b|¶\ 1\0#q 6sTPEHAD-\0M \0\0\17o\b\84¶\ 1\0#q wMAG0oUe-\0M \0\0\17o\b\8c¶\ 1\0#q ZTzCfk4p-\0M \0\0\17o\b\94¶\ 1\0#q md1M7BJI-\0M \0\0\17o\b\9c¶\ 1\0#q MNGsaaug-\0M \0\0\17o\b¤¶\ 1\0#q Bm+bdBpL-\0M \0\0\17o\b¬¶\ 1\0#q DSNwIBiB-\0M \0\0\17o\b´¶\ 1\0#q VKx5dQgr-\0M \0\0\17o\b¼¶\ 1\0#q e1pCrhP2-\0M \0\0\17o\bĶ\ 1\0#q FD5vX9bb-\0M \0\0\17o\b̶\ 1\0#q a28/PP14-\0M \0\0\17o\bÔ¶\ 1\0#q 155vN5a8-\0M \0\0\17o\bܶ\ 1\0#q GIiRRgLC-\0M \0\0\17o\bä¶\ 1\0#q SaKIJMBu-\0M \0\0\17o\bì¶\ 1\0#q 9u1u/IdZ-\0M \0\0\17o\bô¶\ 1\0#q NWhKp6tc-\0M \0\0\17o\bü¶\ 1\0#q oZGbueNN-\0M \0\0\17o\b\ 4·\ 1\0#q IlSQLYOV-\0M \0\0\17o\b\f·\ 1\0#q guF/I1QE-\0M \0\0\17o\b\14·\ 1\0#q Fvm6liJu-\0M \0\0\17o\b\1c·\ 1\0#q Q/g648tj-\0M \0\0\17o\b$·\ 1\0#q VjId/WMg-\0M \0\0\17o\b,·\ 1\0#q 6iEQnkcu-\0M \0\0\17o\b4·\ 1\0#q hltYdGxo-\0M \0\0\17o\b<·\ 1\0#q ELryIDyS-\0M \0\0\17o\bD·\ 1\0#q IMiK9wD4-\0M \0\0\17o\bL·\ 1\0#q MbBiPihi-\0M \0\0\17o\bT·\ 1\0#q gLkeo0Oh-\0M \0\0\17o\b\·\ 1\0#q ARBcol9j-\0M \0\0\17o\bd·\ 1\0#q MSNhf2IT-\0M \0\0\17o\bl·\ 1\0#q sgILYNse-\0M \0\0\17o\bt·\ 1\0#q ps5hodZn-\0M \0\0\17o\b|·\ 1\0#q nUYfDxJF-\0M \0\0\17o\b\84·\ 1\0#q i4UQzXNx-\0M \0\0\17o\b\8c·\ 1\0#q EsQsWIsP-\0M \0\0\17o\b\94·\ 1\0#q Uhf4XvqF-\0M \0\0\17o\b\9c·\ 1\0#q HwQ+WPfT-\0M \0\0\17o\b¤·\ 1\0#q BIHct1LI-\0M \0\0\17o\b¬·\ 1\0#q ZYv2+juq-\0M \0\0\17o\b´·\ 1\0#q ALF8D9dh-\0M \0\0\17o\b¼·\ 1\0#q xOkM18bd-\0M \0\0\17o\bÄ·\ 1\0#q DBT3QEFx-\0M \0\0\17o\bÌ·\ 1\0#q IIWRNxv+-\0M \0\0\17o\bÔ·\ 1\0#q UV8R+J/0-\0M \0\0\17o\bÜ·\ 1\0#q R2XJbrEI-\0M \0\0\17o\bä·\ 1\0#q OYHU+pkg-\0M \0\0\17o\bì·\ 1\0#q RzsDEdIZ-\0M \0\0\17o\bô·\ 1\0#q EebTO4gQ-\0M \0\0\17o\bü·\ 1\0#q JeqofJbd-\0M \0\0\17o\b\ 4¸\ 1\0#q kqra4esL-\0M \0\0\17o\b\f¸\ 1\0#q roGjHL6G-\0M \0\0\17o\b\14¸\ 1\0#q sy4rZI+P-\0M \0\0\17o\b\1c¸\ 1\0#q ElgZlHIH-\0M \0\0\17o\b$¸\ 1\0#q 1++YJmDE-\0M \0\0\17o\b,¸\ 1\0#q hF6psaR1-\0M \0\0\17o\b4¸\ 1\0#q U3IWVmpF-\0M \0\0\17o\b<¸\ 1\0#q 3VwE9oiT-\0M \0\0\17o\bD¸\ 1\0#q Mpi8Nzz+-\0M \0\0\17o\bL¸\ 1\0#q aHRDUDwW-\0M \0\0\17o\bT¸\ 1\0#q +WIdt3zP-\0M \0\0\17o\b\¸\ 1\0#q NOewJzPC-\0M \0\0\17o\bd¸\ 1\0#q B9E6jmCY-\0M \0\0\17o\bl¸\ 1\0#q HFX8LoIT-\0M \0\0\17o\bt¸\ 1\0#q udMz7/N1-\0M \0\0\17o\b|¸\ 1\0#q SyV8kTcL-\0M \0\0\17o\b\84¸\ 1\0#q 0XLh4A7N-\0M \0\0\17o\b\8c¸\ 1\0#q JzfBgyjF-\0M \0\0\17o\b\94¸\ 1\0#q kYbKgC8x-\0M \0\0\17o\b\9c¸\ 1\0#q PTQ2NEVH-\0M \0\0\17o\b¤¸\ 1\0#q r3NX3I8o-\0M \0\0\17o\b¬¸\ 1\0#q B8QLJn4J-\0M \0\0\17o\b´¸\ 1\0#q CrIRrrR5-\0M \0\0\17o\b¼¸\ 1\0#q SSiELOBC-\0M \0\0\17o\bĸ\ 1\0#q qIlECSOq-\0M \0\0\17o\b̸\ 1\0#q AgtNF/5U-\0M \0\0\17o\bÔ¸\ 1\0#q YIUAbvmg-\0M \0\0\17o\bܸ\ 1\0#q BgPL1xIT-\0M \0\0\17o\bä¸\ 1\0#q 9UkTRqqr-\0M \0\0\17o\bì¸\ 1\0#q X53ixpCN-\0M \0\0\17o\bô¸\ 1\0#q GKHEwP1P-\0M \0\0\17o\bü¸\ 1\0#q wJh+ma3p-\0M \0\0\17o\b\ 4¹\ 1\0#q trBwODbq-\0M \0\0\17o\b\f¹\ 1\0#q SORcDEiR-\0M \0\0\17o\b\14¹\ 1\0#q 6PVwOxok-\0M \0\0\17o\b\1c¹\ 1\0#q OUEsjBbk-\0M \0\0\17o\b$¹\ 1\0#q zcaucQzU-\0M \0\0\17o\b,¹\ 1\0#q 4IBkiIQD-\0M \0\0\17o\b4¹\ 1\0#q SXJdCotj-\0M \0\0\17o\b<¹\ 1\0#q bIzzDs8l-\0M \0\0\17o\bD¹\ 1\0#q fNscXA3I-\0M \0\0\17o\bL¹\ 1\0#q EjvBoCBm-\0M \0\0\17o\bT¹\ 1\0#q X1Xq+IE6-\0M \0\0\17o\b\¹\ 1\0#q m5+HREB7-\0M \0\0\17o\bd¹\ 1\0#q xUkefMhR-\0M \0\0\17o\bl¹\ 1\0#q TIUUVEoG-\0M \0\0\17o\bt¹\ 1\0#q UY2sxAvj-\0M \0\0\17o\b|¹\ 1\0#q sdB3GZnY-\0M \0\0\17o\b\84¹\ 1\0#q oMTuuOZk-\0M \0\0\17o\b\8c¹\ 1\0#q 0IILqZh+-\0M \0\0\17o\b\94¹\ 1\0#q sKgLQ1UL-\0M \0\0\17o\b\9c¹\ 1\0#q BUF4SYf1-\0M \0\0\17o\b¤¹\ 1\0#q u+nDkki7-\0M \0\0\17o\b¬¹\ 1\0#q SjNoBQWI-\0M \0\0\17o\b´¹\ 1\0#q Gv3PuY3T-\0M \0\0\17o\b¼¹\ 1\0#q IDM1QtuJ-\0M \0\0\17o\bĹ\ 1\0#q 3SNep/DE-\0M \0\0\17o\b̹\ 1\0#q 5GEdQMHh-\0M \0\0\17o\bÔ¹\ 1\0#q YWdISJCE-\0M \0\0\17o\bܹ\ 1\0#q h+RRD7S+-\0M \0\0\17o\bä¹\ 1\0#q bd8OK+sb-\0M \0\0\17o\bì¹\ 1\0#q ha0qU3NE-\0M \0\0\17o\bô¹\ 1\0#q S7e5JJCE-\0M \0\0\17o\bü¹\ 1\0#q sxa4lA5u-\0M \0\0\17o\b\ 4º\ 1\0#q cJdrboo7-\0M \0\0\17o\b\fº\ 1\0#q v42uXj7X-\0M \0\0\17o\b\14º\ 1\0#q KXZXimpp-\0M \0\0\17o\b\1cº\ 1\0#q WTWQJDU2-\0M \0\0\17o\b$º\ 1\0#q Uks0imZS-\0M \0\0\17o\b,º\ 1\0#q WU2bLZWU-\0M \0\0\17o\b4º\ 1\0#q pEzCgmWQ-\0M \0\0\17o\b<º\ 1\0#q zZKmlstN-\0M \0\0\17o\bDº\ 1\0#q a2pqlKaa-\0M \0\0\17o\bLº\ 1\0#q aU0pppMD-\0M \0\0\17o\bTº\ 1\0#q bLLVlqzS-\0M \0\0\17o\b\º\ 1\0#q Sa2lTEtK-\0M \0\0\17o\bdº\ 1\0#q zZJmtWpN-\0M \0\0\17o\blº\ 1\0#q SkylFpqs-\0M \0\0\17o\btº\ 1\0#q ptkZrNNS-\0M \0\0\17o\b|º\ 1\0#q zS1S2bNo-\0M \0\0\17o\b\84º\ 1\0#q qllIpMmS-\0M \0\0\17o\b\8cº\ 1\0#q lmYDKLKz-\0M \0\0\17o\b\94º\ 1\0#q Vm1LKVNk-\0M \0\0\17o\b\9cº\ 1\0#q glKVKmyy-\0M \0\0\17o\b¤º\ 1\0#q 0EstNixZ-\0M \0\0\17o\b¬º\ 1\0#q mkjEiWms-\0M \0\0\17o\b´º\ 1\0#q 2xGFpVEW-\0M \0\0\17o\b¼º\ 1\0#q VNNKkSaW-\0M \0\0\17o\bĺ\ 1\0#q UpmMKLNQ-\0M \0\0\17o\b̺\ 1\0#q l1leHUD7-\0M \0\0\17o\bÔº\ 1\0#q BQQf0nxo-\0M \0\0\17o\bܺ\ 1\0#q oh+rfDYd-\0M \0\0\17o\bäº\ 1\0#q YFRbCkgU-\0M \0\0\17o\bìº\ 1\0#q OlBI6Euk-\0M \0\0\17o\bôº\ 1\0#q dLgodLEh-\0M \0\0\17o\büº\ 1\0#q 6iosAIZU-\0M \0\0\17o\b\ 4»\ 1\0#q DGcFIBnT-\0M \0\0\17o\b\f»\ 1\0#q 5PfxeXIy-\0M \0\0\17o\b\14»\ 1\0#q bIEK3a2J-\0M \0\0\17o\b\1c»\ 1\0#q hwXN4a5X-\0M \0\0\17o\b$»\ 1\0#q ZyCUN1QH-\0M \0\0\17o\b,»\ 1\0#q KuKm53cu-\0M \0\0\17o\b4»\ 1\0#q dZGkYw+C-\0M \0\0\17o\b<»\ 1\0#q UhgAg4ji-\0M \0\0\17o\bD»\ 1\0#q FUxQcoWX-\0M \0\0\17o\bL»\ 1\0#q ZiDnC1kc-\0M \0\0\17o\bT»\ 1\0#q Axisjx4F-\0M \0\0\17o\b\»\ 1\0#q hBuB1RLp-\0M \0\0\17o\bd»\ 1\0#q kW/L1JdQ-\0M \0\0\17o\bl»\ 1\0#q MQyPlqBh-\0M \0\0\17o\bt»\ 1\0#q AGDxWuoW-\0M \0\0\17o\b|»\ 1\0#q KaLLctSB-\0M \0\0\17o\b\84»\ 1\0#q SGSu4x/U-\0M \0\0\17o\b\8c»\ 1\0#q +UGMFxxC-\0M \0\0\17o\b\94»\ 1\0#q H7+CQBDU-\0M \0\0\17o\b\9c»\ 1\0#q TBsMAfQX-\0M \0\0\17o\b¤»\ 1\0#q 99QooSAc-\0M \0\0\17o\b¬»\ 1\0#q CZEiD6vq-\0M \0\0\17o\b´»\ 1\0#q NtZoMtph-\0M \0\0\17o\b¼»\ 1\0#q kjx94b82-\0M \0\0\17o\bÄ»\ 1\0#q mEcdDU6C-\0M \0\0\17o\bÌ»\ 1\0#q GIfhpBNH-\0M \0\0\17o\bÔ»\ 1\0#q RGdiSEhK-\0M \0\0\17o\bÜ»\ 1\0#q Q5wXmRP0-\0M \0\0\17o\bä»\ 1\0#q FuHscjHI-\0M \0\0\17o\bì»\ 1\0#q QQXE+/JA-\0M \0\0\17o\bô»\ 1\0#q 9QIe5u/r-\0M \0\0\17o\bü»\ 1\0#q PZ7iGp3R-\0M \0\0\17o\b\ 4¼\ 1\0#q jqDlESQZ-\0M \0\0\17o\b\f¼\ 1\0#q JCQm/LYf-\0M \0\0\17o\b\14¼\ 1\0#q clj52MSy-\0M \0\0\17o\b\1c¼\ 1\0#q QjrCotj6-\0M \0\0\17o\b$¼\ 1\0#q Nhs9YNtp-\0M \0\0\17o\b,¼\ 1\0#q jG0eYiFH-\0M \0\0\17o\b4¼\ 1\0#q s4e+RkLZ-\0M \0\0\17o\b<¼\ 1\0#q Gv6lQVs2-\0M \0\0\17o\bD¼\ 1\0#q 5H8UcydI-\0M \0\0\17o\bL¼\ 1\0#q dBwSSJWZ-\0M \0\0\17o\bT¼\ 1\0#q 2GkMV5JB-\0M \0\0\17o\b\¼\ 1\0#q vs3IEHqR-\0M \0\0\17o\bd¼\ 1\0#q vh5VCbio-\0M \0\0\17o\bl¼\ 1\0#q sL1RQbNS-\0M \0\0\17o\bt¼\ 1\0#q evAFkgod-\0M \0\0\17o\b|¼\ 1\0#q QSGXyDwM-\0M \0\0\17o\b\84¼\ 1\0#q AKI48pbY-\0M \0\0\17o\b\8c¼\ 1\0#q nKYY5o3A-\0M \0\0\17o\b\94¼\ 1\0#q kxfgcNu/-\0M \0\0\17o\b\9c¼\ 1\0#q 2TS8/z4O-\0M \0\0\17o\b¤¼\ 1\0#q pVwpwYLo-\0M \0\0\17o\b¬¼\ 1\0#q slFDS0dp-\0M \0\0\17o\b´¼\ 1\0#q bVLklyLk-\0M \0\0\17o\b¼¼\ 1\0#q tcy0qrt1-\0M \0\0\17o\bļ\ 1\0#q rkkVDQKa-\0M \0\0\17o\b̼\ 1\0#q U5mIfn7q-\0M \0\0\17o\bÔ¼\ 1\0#q bHUwB+pU-\0M \0\0\17o\bܼ\ 1\0#q zzDYgdOw-\0M \0\0\17o\bä¼\ 1\0#q HNMsQqIe-\0M \0\0\17o\bì¼\ 1\0#q AQgWJ7Cd-\0M \0\0\17o\bô¼\ 1\0#q QLne/Uch-\0M \0\0\17o\bü¼\ 1\0#q /L74Gbnk-\0M \0\0\17o\b\ 4½\ 1\0#q IeSHVY7B-\0M \0\0\17o\b\f½\ 1\0#q 6HzdzDBZ-\0M \0\0\17o\b\14½\ 1\0#q DLh9FDDd-\0M \0\0\17o\b\1c½\ 1\0#q 7l51/E5m-\0M \0\0\17o\b$½\ 1\0#q JCBgdFYe-\0M \0\0\17o\b,½\ 1\0#q Au3Yglsz-\0M \0\0\17o\b4½\ 1\0#q cA0yVJwA-\0M \0\0\17o\b<½\ 1\0#q +V7zU+xX-\0M \0\0\17o\bD½\ 1\0#q QdNIJq0w-\0M \0\0\17o\bL½\ 1\0#q kfMItgm3-\0M \0\0\17o\bT½\ 1\0#q gj2uGRgG-\0M \0\0\17o\b\½\ 1\0#q UX4BpO2Z-\0M \0\0\17o\bd½\ 1\0#q VeDftfXE-\0M \0\0\17o\bl½\ 1\0#q 9vP1ve16-\0M \0\0\17o\bt½\ 1\0#q wzwEEF4V-\0M \0\0\17o\b|½\ 1\0#q AF3VrV67-\0M \0\0\17o\b\84½\ 1\0#q Ndd89m7O-\0M \0\0\17o\b\8c½\ 1\0#q GA6Eokve-\0M \0\0\17o\b\94½\ 1\0#q XN9MfaQs-\0M \0\0\17o\b\9c½\ 1\0#q Q3ZZKcK5-\0M \0\0\17o\b¤½\ 1\0#q 0mcwJlSs-\0M \0\0\17o\b¬½\ 1\0#q ZTgk98c5-\0M \0\0\17o\b´½\ 1\0#q KYw84IzE-\0M \0\0\17o\b¼½\ 1\0#q ZbkvNTsN-\0M \0\0\17o\bĽ\ 1\0#q qzPLKyHo-\0M \0\0\17o\b̽\ 1\0#q Px0sFlfM-\0M \0\0\17o\bÔ½\ 1\0#q O5q7Gy/R-\0M \0\0\17o\bܽ\ 1\0#q LjgGa3Ww-\0M \0\0\17o\bä½\ 1\0#q aF0oI5J5-\0M \0\0\17o\bì½\ 1\0#q CEBrzAuF-\0M \0\0\17o\bô½\ 1\0#q dT9Mc82C-\0M \0\0\17o\bü½\ 1\0#q dw1XLYdA-\0M \0\0\17o\b\ 4¾\ 1\0#q ocXnucxw-\0M \0\0\17o\b\f¾\ 1\0#q MDq4Gb5I-\0M \0\0\17o\b\14¾\ 1\0#q mDg/Y1aN-\0M \0\0\17o\b\1c¾\ 1\0#q UuciSSLG-\0M \0\0\17o\b$¾\ 1\0#q s30w7o64-\0M \0\0\17o\b,¾\ 1\0#q wiPJkCOJ-\0M \0\0\17o\b4¾\ 1\0#q GESEZEDZ-\0M \0\0\17o\b<¾\ 1\0#q GBLmOHlr-\0M \0\0\17o\bD¾\ 1\0#q wGGQG1zj-\0M \0\0\17o\bL¾\ 1\0#q MtuCoxq7-\0M \0\0\17o\bT¾\ 1\0#q RpQlgtQ/-\0M \0\0\17o\b\¾\ 1\0#q YQ5xHKBJ-\0M \0\0\17o\bd¾\ 1\0#q JHiia0FH-\0M \0\0\17o\bl¾\ 1\0#q VsRLGQe6-\0M \0\0\17o\bt¾\ 1\0#q Aj+2KgIU-\0M \0\0\17o\b|¾\ 1\0#q QACACiJE-\0M \0\0\17o\b\84¾\ 1\0#q FxCraZaP-\0M \0\0\17o\b\8c¾\ 1\0#q BqeGpHqJ-\0M \0\0\17o\b\94¾\ 1\0#q 2lIlZ0Ry-\0M \0\0\17o\b\9c¾\ 1\0#q myqrLMZV-\0M \0\0\17o\b¤¾\ 1\0#q KEz6wYDw-\0M \0\0\17o\b¬¾\ 1\0#q NnVwEvXc-\0M \0\0\17o\b´¾\ 1\0#q GMYxgkEp-\0M \0\0\17o\b¼¾\ 1\0#q wJK03QsQ-\0M \0\0\17o\bľ\ 1\0#q 0IAGhJqy-\0M \0\0\17o\b̾\ 1\0#q CBkmqpjC-\0M \0\0\17o\bÔ¾\ 1\0#q 2e6t4I+Z-\0M \0\0\17o\bܾ\ 1\0#q f0JUTC8c-\0M \0\0\17o\bä¾\ 1\0#q giBBIMOp-\0M \0\0\17o\bì¾\ 1\0#q m5aNIYWC-\0M \0\0\17o\bô¾\ 1\0#q qlcG2GZj-\0M \0\0\17o\bü¾\ 1\0#q NkLK8i6B-\0M \0\0\17o\b\ 4¿\ 1\0#q /LSEtoDR-\0M \0\0\17o\b\f¿\ 1\0#q RIJtyOGw-\0M \0\0\17o\b\14¿\ 1\0#q PFu5CEb0-\0M \0\0\17o\b\1c¿\ 1\0#q Y2d1QVrH-\0M \0\0\17o\b$¿\ 1\0#q SAerk2ml-\0M \0\0\17o\b,¿\ 1\0#q wOR0esAy-\0M \0\0\17o\b4¿\ 1\0#q Q5waYkWy-\0M \0\0\17o\b<¿\ 1\0#q RMAgkNlX-\0M \0\0\17o\bD¿\ 1\0#q 1WA43hGO-\0M \0\0\17o\bL¿\ 1\0#q YdDY3OWX-\0M \0\0\17o\bT¿\ 1\0#q JQzDIuXC-\0M \0\0\17o\b\¿\ 1\0#q 51atcCh9-\0M \0\0\17o\bd¿\ 1\0#q k/jjTxk4-\0M \0\0\17o\bl¿\ 1\0#q r31uGHUM-\0M \0\0\17o\bt¿\ 1\0#q NV7DyEEF-\0M \0\0\17o\b|¿\ 1\0#q u9aoidiN-\0M \0\0\17o\b\84¿\ 1\0#q HFzHFW3k-\0M \0\0\17o\b\8c¿\ 1\0#q pl23DYUq-\0M \0\0\17o\b\94¿\ 1\0#q swRQLrmU-\0M \0\0\17o\b\9c¿\ 1\0#q K++C6OIe-\0M \0\0\17o\b¤¿\ 1\0#q CEEGO4Ox-\0M \0\0\17o\b¬¿\ 1\0#q qcy5rvYf-\0M \0\0\17o\b´¿\ 1\0#q EQIEszhU-\0M \0\0\17o\b¼¿\ 1\0#q i+UBMa/N-\0M \0\0\17o\bÄ¿\ 1\0#q HV+bZCGB-\0M \0\0\17o\bÌ¿\ 1\0#q BmDsfjN+-\0M \0\0\17o\bÔ¿\ 1\0#q oGAKjwgf-\0M \0\0\17o\bÜ¿\ 1\0#q AOjBz3eA-\0M \0\0\17o\bä¿\ 1\0#q T0JSBhgZ-\0M \0\0\17o\bì¿\ 1\0#q HiXA7Hej-\0M \0\0\17o\bô¿\ 1\0#q AOj31UJ0-\0M \0\0\17o\bü¿\ 1\0#q cC5soXLO-\0M \0\0\17o\b\ 4À\ 1\0#q xcOBUy41-\0M \0\0\17o\b\fÀ\ 1\0#q LJM6Q8Jw-\0M \0\0\17o\b\14À\ 1\0#q px4F2Kjg-\0M \0\0\17o\b\1cÀ\ 1\0#q cPvn3BRa-\0M \0\0\17o\b$À\ 1\0#q XEe2Z4vP-\0M \0\0\17o\b,À\ 1\0#q u2/yeP+a-\0M \0\0\17o\b4À\ 1\0#q H5JvaiC4-\0M \0\0\17o\b<À\ 1\0#q fKQAcndi-\0M \0\0\17o\bDÀ\ 1\0#q cHNDcD9b-\0M \0\0\17o\bLÀ\ 1\0#q ShgrZAQX-\0M \0\0\17o\bTÀ\ 1\0#q SGTpCSlP-\0M \0\0\17o\b\À\ 1\0#q zKD5gwnh-\0M \0\0\17o\bdÀ\ 1\0#q sz+p8ujo-\0M \0\0\17o\blÀ\ 1\0#q ewiFBY3p-\0M \0\0\17o\btÀ\ 1\0#q KLSeXXMD-\0M \0\0\17o\b|À\ 1\0#q RxzJq44N-\0M \0\0\17o\b\84À\ 1\0#q JzlzG7rV-\0M \0\0\17o\b\8cÀ\ 1\0#q oWrj1/nL-\0M \0\0\17o\b\94À\ 1\0#q bhdUFc+S-\0M \0\0\17o\b\9cÀ\ 1\0#q IUCENGZw-\0M \0\0\17o\b¤À\ 1\0#q NenyhKIb-\0M \0\0\17o\b¬À\ 1\0#q AqfWTOCR-\0M \0\0\17o\b´À\ 1\0#q Y+YUj3gz-\0M \0\0\17o\b¼À\ 1\0#q mpUR68Ag-\0M \0\0\17o\bÄÀ\ 1\0#q UjUPy+0G-\0M \0\0\17o\bÌÀ\ 1\0#q 2hIxUaJC-\0M \0\0\17o\bÔÀ\ 1\0#q NpMRpoFY-\0M \0\0\17o\bÜÀ\ 1\0#q jY0WIzNm-\0M \0\0\17o\bäÀ\ 1\0#q FoMaNFtE-\0M \0\0\17o\bìÀ\ 1\0#q YklpFixG-\0M \0\0\17o\bôÀ\ 1\0#q tGxg0UUV-\0M \0\0\17o\büÀ\ 1\0#q JoKiwYNa-\0M \0\0\17o\b\ 4Á\ 1\0#q TRqTKQRU-\0M \0\0\17o\b\fÁ\ 1\0#q G1Bo221i-\0M \0\0\17o\b\14Á\ 1\0#q 1VFhYBqN-\0M \0\0\17o\b\1cÁ\ 1\0#q jRFIKqgp-\0M \0\0\17o\b$Á\ 1\0#q JIRS7/L9-\0M \0\0\17o\b,Á\ 1\0#q Xk8v315s-\0M \0\0\17o\b4Á\ 1\0#q vJO9OR4u-\0M \0\0\17o\b<Á\ 1\0#q /ONn5FGP-\0M \0\0\17o\bDÁ\ 1\0#q E3fMqdtS-\0M \0\0\17o\bLÁ\ 1\0#q xkZBu7kt-\0M \0\0\17o\bTÁ\ 1\0#q a5NbuU8M-\0M \0\0\17o\b\Á\ 1\0#q xyZMYMgm-\0M \0\0\17o\bdÁ\ 1\0#q sNmMhnKf-\0M \0\0\17o\blÁ\ 1\0#q GmtyIG2L-\0M \0\0\17o\btÁ\ 1\0#q zBpqWYIb-\0M \0\0\17o\b|Á\ 1\0#q dmCYi0lY-\0M \0\0\17o\b\84Á\ 1\0#q LJxwCFFa-\0M \0\0\17o\b\8cÁ\ 1\0#q zJE6zEud-\0M \0\0\17o\b\94Á\ 1\0#q HD27ZzbO-\0M \0\0\17o\b\9cÁ\ 1\0#q eSgpk/Hn-\0M \0\0\17o\b¤Á\ 1\0#q kQbT7twq-\0M \0\0\17o\b¬Á\ 1\0#q aaJXNvUz-\0M \0\0\17o\b´Á\ 1\0#q MuUt1hyh-\0M \0\0\17o\b¼Á\ 1\0#q U7ceZcph-\0M \0\0\17o\bÄÁ\ 1\0#q 42+VTlXU-\0M \0\0\17o\bÌÁ\ 1\0#q cZ9UZZJy-\0M \0\0\17o\bÔÁ\ 1\0#q YojLjaeJ-\0M \0\0\17o\bÜÁ\ 1\0#q HfJU1UZU-\0M \0\0\17o\bäÁ\ 1\0#q EmBfLumu-\0M \0\0\17o\bìÁ\ 1\0#q 8yW5skuy-\0M \0\0\17o\bôÁ\ 1\0#q E9uh2BmV-\0M \0\0\17o\büÁ\ 1\0#q xJZi6Kxa-\0M \0\0\17o\b\ 4Â\ 1\0#q XBNwSolw-\0M \0\0\17o\b\fÂ\ 1\0#q BqBcQLj3-\0M \0\0\17o\b\14Â\ 1\0#q ucNZIYZL-\0M \0\0\17o\b\1cÂ\ 1\0#q YtirLu3b-\0M \0\0\17o\b$Â\ 1\0#q rW6UYgZg-\0M \0\0\17o\b,Â\ 1\0#q ZJiDIGiw-\0M \0\0\17o\b4Â\ 1\0#q psgg7g1A-\0M \0\0\17o\b<Â\ 1\0#q ITkgM6FH-\0M \0\0\17o\bDÂ\ 1\0#q ITxDDnGt-\0M \0\0\17o\bLÂ\ 1\0#q 4SDHzZbL-\0M \0\0\17o\bTÂ\ 1\0#q 5s8fec5P-\0M \0\0\17o\b\Â\ 1\0#q Cq5DOzDR-\0M \0\0\17o\bdÂ\ 1\0#q dWS+0h5Y-\0M \0\0\17o\blÂ\ 1\0#q 2INZak1D-\0M \0\0\17o\btÂ\ 1\0#q 29cpVyb2-\0M \0\0\17o\b|Â\ 1\0#q aVrV3Wlt-\0M \0\0\17o\b\84Â\ 1\0#q 7rQhLa3e-\0M \0\0\17o\b\8cÂ\ 1\0#q m3ZwPNcX-\0M \0\0\17o\b\94Â\ 1\0#q ywE2Qesk-\0M \0\0\17o\b\9cÂ\ 1\0#q 1XN24HvZ-\0M \0\0\17o\b¤Â\ 1\0#q 2Xa6nlm8-\0M \0\0\17o\b¬Â\ 1\0#q Pf/xdyRT-\0M \0\0\17o\b´Â\ 1\0#q hQkO1Nju-\0M \0\0\17o\ 4¼Â\ 1\0#q AA==\0\0\0\0-\0M \0\0\17o\ 1ÀÂ\ 1\0#q\ 1u6\0M \0\0\13o
+#q\ 5ÈÂ\ 1\0u-\0M \0\0\97o\ 4\b\0\0\0!q"\ 5´Â\ 1\0u\84\0q$"".revCompTable\0\84\0q%type.[256]uint8\0-\0o \0\0\97o\ 1A\0\0\0$q%\ 5T\0\0\0u-\0o \0\0\97o\ 1a\0\0\0$q%\ 5T\0\0\0u-\0o \0\0\97o\ 1C\0\0\0$q%\ 5G\0\0\0u-\0o \0\0\97o\ 1c\0\0\0$q%\ 5G\0\0\0u-\0o \0\0\97o\ 1G\0\0\0$q%\ 5C\0\0\0u-\0o \0\0\97o\ 1g\0\0\0$q%\ 5C\0\0\0u-\0o \0\0\97o\ 1T\0\0\0$q%\ 5A\0\0\0u-\0o \0\0\97o\ 1t\0\0\0$q%\ 5A\0\0\0u-\0o \0\0\97o\ 1U\0\0\0$q%\ 5A\0\0\0u-\0o \0\0\97o\ 1u\0\0\0$q%\ 5A\0\0\0u-\0o \0\0\97o\ 1M\0\0\0$q%\ 5K\0\0\0u-\0o \0\0\97o\ 1m\0\0\0$q%\ 5K\0\0\0u-\0o \0\0\97o\ 1R\0\0\0$q%\ 5Y\0\0\0u-\0o \0\0\97o\ 1r\0\0\0$q%\ 5Y\0\0\0u-\0o \0\0\97o\ 1W\0\0\0$q%\ 5W\0\0\0u-\0o \0\0\97o\ 1w\0\0\0$q%\ 5W\0\0\0u-\0o \0\0\97o\ 1S\0\0\0$q%\ 5S\0\0\0u-\0o \0\0\97o\ 1s\0\0\0$q%\ 5S\0\0\0u-\0o \0\0\97o\ 1Y\0\0\0$q%\ 5R\0\0\0u-\0o \0\0\97o\ 1y\0\0\0$q%\ 5R\0\0\0u-\0o \0\0\97o\ 1K\0\0\0$q%\ 5M\0\0\0u-\0o \0\0\97o\ 1k\0\0\0$q%\ 5M\0\0\0u-\0o \0\0\97o\ 1V\0\0\0$q%\ 5B\0\0\0u-\0o \0\0\97o\ 1v\0\0\0$q%\ 5B\0\0\0u-\0o \0\0\97o\ 1H\0\0\0$q%\ 5D\0\0\0u-\0o \0\0\97o\ 1h\0\0\0$q%\ 5D\0\0\0u-\0o \0\0\97o\ 1D\0\0\0$q%\ 5H\0\0\0u-\0o \0\0\97o\ 1d\0\0\0$q%\ 5H\0\0\0u-\0o \0\0\97o\ 1B\0\0\0$q%\ 5V\0\0\0u-\0o \0\0\97o\ 1b\0\0\0$q%\ 5V\0\0\0u-\0o \0\0\97o\ 1N\0\0\0$q%\ 5N\0\0\0u-\0o \0\0\97o\ 1n\0\0\0$q%\ 5N\0\0\0u\84\0q&go.string."main"\0-\0Ö \0\0\13o\b&q\17q\0\f\0\0\0&x-\0Ö \0\0\17o\ 4\b\0\0\0&q\ 5\ 4\0\0\0u-\0Ö \0\0\17o\ 4\f\0\0\0&q main\0\0\0\0-\0Ö \0\0\17o\ 1\10\0\0\0&q\ 1u6\0Ö \0\0\13o
+&q\ 5\18\0\0\0u\84\0q'""..gostring.2\0-\0Ö \0\0\13o\b'q\17q\0\f\0\0\0'x-\0Ö \0\0\17o\ 4\b\0\0\0'q\ 5O\ 1\0\0u-\0Ö \0\0\17o\b\f\0\0\0'q
+{
+ "tre-\0Ö \0\0\17o\b\14\0\0\0'q e":{{tem-\0Ö \0\0\17o\b\1c\0\0\0'q plate "n-\0Ö \0\0\17o\b$\0\0\0'q ode" .Tr-\0Ö \0\0\17o\b,\0\0\0'q ee}},
+ "-\0Ö \0\0\17o\b4\0\0\0'q username-\0Ö \0\0\17o\b<\0\0\0'q ":"{{.Us-\0Ö \0\0\17o\bD\0\0\0'q ername}}-\0Ö \0\0\17o\bL\0\0\0'q "
+}
+{{de-\0Ö \0\0\17o\bT\0\0\0'q fine "no-\0Ö \0\0\17o\b\\0\0\0'q de"}}
+{
+-\0Ö \0\0\17o\bd\0\0\0'q "name":-\0Ö \0\0\17o\bl\0\0\0'q "{{.Name-\0Ö \0\0\17o\bt\0\0\0'q }}",
+ "k-\0Ö \0\0\17o\b|\0\0\0'q ids":[
+ -\0Ö \0\0\17o\b\84\0\0\0'q {{range -\0Ö \0\0\17o\b\8c\0\0\0'q $i, $k :-\0Ö \0\0\17o\b\94\0\0\0'q = .Kids}-\0Ö \0\0\17o\b\9c\0\0\0'q }
+ {{if-\0Ö \0\0\17o\b¤\0\0\0'q $i}}
+ -\0Ö \0\0\17o\b¬\0\0\0'q ,
+ {{e-\0Ö \0\0\17o\b´\0\0\0'q nd}}
+ {-\0Ö \0\0\17o\b¼\0\0\0'q {templat-\0Ö \0\0\17o\bÄ\0\0\0'q e "node"-\0Ö \0\0\17o\bÌ\0\0\0'q $k}}
+ {-\0Ö \0\0\17o\bÔ\0\0\0'q {end}}
+ -\0Ö \0\0\17o\bÜ\0\0\0'q ],
+ "cl_-\0Ö \0\0\17o\bä\0\0\0'q weight":-\0Ö \0\0\17o\bì\0\0\0'q {{.CLWei-\0Ö \0\0\17o\bô\0\0\0'q ght}},
+ -\0Ö \0\0\17o\bü\0\0\0'q "touches-\0Ö \0\0\17o\b\ 4\ 1\0\0'q ":{{.Tou-\0Ö \0\0\17o\b\f\ 1\0\0'q ches}},
+-\0Ö \0\0\17o\b\14\ 1\0\0'q "min_t"-\0Ö \0\0\17o\b\1c\ 1\0\0'q :{{.MinT-\0Ö \0\0\17o\b$\ 1\0\0'q }},
+ "ma-\0Ö \0\0\17o\b,\ 1\0\0'q x_t":{{.-\0Ö \0\0\17o\b4\ 1\0\0'q MaxT}},
+-\0Ö \0\0\17o\b<\ 1\0\0'q "mean_t-\0Ö \0\0\17o\bD\ 1\0\0'q ":{{.Mea-\0Ö \0\0\17o\bL\ 1\0\0'q nT}}
+}
+{-\0Ö \0\0\17o\aT\ 1\0\0'q {end}}
+\0-\0Ö \0\0\17o\ 1[\ 1\0\0'q\ 1u6\0Ö \0\0\13o
+'q\ 5`\ 1\0\0u\84\0q("".fasta25m\0\84\0q)type.[]uint8\06\0 \0\0\0\91(q)\a\0\0\10\0\0\0u6\0ÿ\0\0\0\91\1fq \a\0\0\ 4\0\0\0u\84\0q*"".gobbytes\06\0O\ 1\0\0\91*q)\a\0\0\10\0\0\0u\84\0q+"".gobdata\06\0P\ 1\0\0\91+q\a\a\0\0\b\0\0\0u\84\0q,"".jsongunz\06\0¬\ 1\0\0\91,q)\a\0\0\10\0\0\0u\84\0q-"".jsongz\06\0\ 1\0\0\91-q)\a\0\0\10\0\0\0u\84\0q."".jsonbytes\06\0ó\ 1\0\0\91.q)\a\0\0\10\0\0\0u\84\0q/"".jsondata\0\84\0q0type."".JSONResponse\06\0ô\ 1\0\0\91/q0\a\0\0\18\0\0\0u6\0M \0\0\91!q"\a\0\0\10\0\0\0u6\0o \0\0\91$q%\a\0\0\0\ 1\0\0u\84\0q1"".tmpl\0\84\0q\ 1type.*text/template.Template\06\0Ö \0\0\911q\ 1\a\0\0\b\0\0\0u6\0µ\0\0\0\13o\b\13q\a\0\0à\ 1\0\0u6\0¼\0\0\0\13o\b\14q\a\0\0\80\0\0\0u6\0Å\0\0\0\13o\b\15q\a\0\0\1f\ 1\0\0u\84\0q\ 2"".initdone·\0\84\0q\ 3type.uint8\06\0î \0\0\91\ 2q\ 3\a\0\0\ 1\0\0\0u\84\0q\ 4type.*"".binaryNode\0\84\0q\ 5type.*runtime.PtrType\0-\0î \0\0\13o\b\ 4q\13q\0\ 5x-\0î \0\0\17o\b\b\0\0\0\ 4q\17q\0\10\0\0\0\ 4x-\0î \0\0\17o\b\10\0\0\0\ 4q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\ 4qE^ô\9dø\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0\ 4q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\ 4q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\ 4q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\ 4q\ 5\16\0\0\0u\84\0q\ 6runtime.algarray\0-\0î \0\0\17o\b \0\0\0\ 4q\17q\0\80\0\0\0\ 6x\84\0q\ago.string."*go1.binaryNode"\0-\0î \0\0\17o\b(\0\0\0\ 4q\13q\0\ax-\0î \0\0\13o\b\aq\17q\0\f\0\0\0\ax-\0î \0\0\17o\ 4\b\0\0\0\aq\ 5\ f\0\0\0u-\0î \0\0\17o\b\f\0\0\0\aq *go1.bin-\0î \0\0\17o\a\14\0\0\0\aq aryNode\0-\0î \0\0\17o\ 1\e\0\0\0\aq\ 1u6\0î \0\0\13o
+\aq\ 5 \0\0\0u\84\0q\bweak.type.**"".binaryNode\0-\0î \0\0\17o\b8\0\0\0\ 4q\13q\0\bx\84\0q type."".binaryNode\0-\0î \0\0\17o\b@\0\0\0\ 4q\13q\0 x-\0î \0\0\17o\b0\0\0\0\ 4q\17q\0H\0\0\0\ 4x\84\0q
+type.func(*"".binaryNode) int\0\84\0q\vtype.*runtime.FuncType\0-\0î \0\0\13o\b
+q\13q\0\vx-\0î \0\0\17o\b\b\0\0\0
+q\17q\0\10\0\0\0
+x-\0î \0\0\17o\b\10\0\0\0
+q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0
+q\ 5îÆµ4u-\0î \0\0\17o\ 1\1c\0\0\0
+q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0
+q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0
+q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0
+q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0
+q\17q\0À\0\0\0\ 6x\84\0q\fgo.string."func(*go1.binaryNode) int"\0-\0î \0\0\17o\b(\0\0\0
+q\13q\0\fx-\0î \0\0\13o\b\fq\17q\0\f\0\0\0\fx-\0î \0\0\17o\ 4\b\0\0\0\fq\ 5\19\0\0\0u-\0î \0\0\17o\b\f\0\0\0\fq func(*go-\0î \0\0\17o\b\14\0\0\0\fq 1.binary-\0î \0\0\17o\b\1c\0\0\0\fq Node) in-\0î \0\0\17o\ 1$\0\0\0\fq t\0\0\0\0\0\0\0-\0î \0\0\17o\ 1%\0\0\0\fq\ 1u6\0î \0\0\13o
+\fq\ 5(\0\0\0u\84\0q\rweak.type.*func(*"".binaryNode) int\0-\0î \0\0\17o\b8\0\0\0
+q\13q\0\rx-\0î \0\0\17o\ 1@\0\0\0
+q\ 1u-\0î \0\0\17o\bH\0\0\0
+q\17q\0h\0\0\0
+x-\0î \0\0\17o\ 4P\0\0\0
+q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4T\0\0\0
+q\ 5\ 1\0\0\0u-\0î \0\0\17o\bX\0\0\0
+q\17q\0p\0\0\0
+x-\0î \0\0\17o\ 4`\0\0\0
+q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0
+q\ 5\ 1\0\0\0u-\0î \0\0\17o\bh\0\0\0
+q\13q\0\ 4x\84\0q\ etype.int\0-\0î \0\0\17o\bp\0\0\0
+q\13q\0\ ex6\0î \0\0\13o
+
+q\ 5x\0\0\0u-\0î \0\0\17o\bH\0\0\0\ 4q\ 1u-\0î \0\0\17o\bP\0\0\0\ 4q\ 1u-\0î \0\0\17o\bX\0\0\0\ 4q\17q\0h\0\0\0\ 4x-\0î \0\0\17o\ 4`\0\0\0\ 4q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0\ 4q\ 5\ 1\0\0\0u\84\0q\ fgo.string."itemCheck"\0-\0î \0\0\17o\bh\0\0\0\ 4q\13q\0\ fx-\0î \0\0\13o\b\ fq\17q\0\f\0\0\0\ fx-\0î \0\0\17o\ 4\b\0\0\0\ fq\ 5 \0\0\0u-\0î \0\0\17o\b\f\0\0\0\ fq itemChec-\0î \0\0\17o\ 1\14\0\0\0\ fq k\0\0\0\0\0\0\0-\0î \0\0\17o\ 1\15\0\0\0\ fq\ 1u6\0î \0\0\13o
+\ fq\ 5\18\0\0\0u\84\0q\10go.importpath."".\0-\0î \0\0\17o\bp\0\0\0\ 4q\13q\0\10x\84\0q\11type.func() int\0-\0î \0\0\13o\b\11q\13q\0\vx-\0î \0\0\17o\b\b\0\0\0\11q\17q\0\10\0\0\0\11x-\0î \0\0\17o\b\10\0\0\0\11q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\11qEå\869à\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0\11q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\11q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\11q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\11q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0\11q\17q\0À\0\0\0\ 6x\84\0q\12go.string."func() int"\0-\0î \0\0\17o\b(\0\0\0\11q\13q\0\12x-\0î \0\0\13o\b\12q\17q\0\f\0\0\0\12x-\0î \0\0\17o\ 4\b\0\0\0\12q\ 5
+\0\0\0u-\0î \0\0\17o\b\f\0\0\0\12q func() i-\0î \0\0\17o\ 2\14\0\0\0\12q nt\0\0\0\0\0\0-\0î \0\0\17o\ 1\16\0\0\0\12q\ 1u6\0î \0\0\13o
+\12q\ 5\18\0\0\0u\84\0q\13weak.type.*func() int\0-\0î \0\0\17o\b8\0\0\0\11q\13q\0\13x-\0î \0\0\17o\ 1@\0\0\0\11q\ 1u-\0î \0\0\17o\bH\0\0\0\11q\17q\0h\0\0\0\11x-\0î \0\0\17o\ 4P\0\0\0\11q\ 1u-\0î \0\0\17o\ 4T\0\0\0\11q\ 1u-\0î \0\0\17o\bX\0\0\0\11q\17q\0h\0\0\0\11x-\0î \0\0\17o\ 4`\0\0\0\11q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0\11q\ 5\ 1\0\0\0u-\0î \0\0\17o\bh\0\0\0\11q\13q\0\ ex6\0î \0\0\13o
+\11q\ 5p\0\0\0u-\0î \0\0\17o\bx\0\0\0\ 4q\13q\0\11x-\0î \0\0\17o\b\80\0\0\0\ 4q\13q\0
+x\84\0q\14"".(*binaryNode).itemCheck\0-\0î \0\0\17o\b\88\0\0\0\ 4q\13q\0\14x-\0î \0\0\17o\b\90\0\0\0\ 4q\13q\0\14x6\0î \0\0\13o\b\ 4q\ 5\98\0\0\0u\84\0q\15type.*runtime.StructType\0-\0î \0\0\13o\b q\13q\0\15x-\0î \0\0\17o\b\b\0\0\0 q\17q\0\10\0\0\0 x-\0î \0\0\17o\b\10\0\0\0 q\ 5\18\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0 q\ 5øX·!u-\0î \0\0\17o\ 1\1c\0\0\0 q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0 q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0 q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0 q\ 5\19\0\0\0u-\0î \0\0\17o\b \0\0\0 q\13q\0\ 6x\84\0q\16go.string."go1.binaryNode"\0-\0î \0\0\17o\b(\0\0\0 q\13q\0\16x-\0î \0\0\13o\b\16q\17q\0\f\0\0\0\16x-\0î \0\0\17o\ 4\b\0\0\0\16q\ 5\ e\0\0\0u-\0î \0\0\17o\b\f\0\0\0\16q go1.bina-\0î \0\0\17o\ 6\14\0\0\0\16q ryNode\0\0-\0î \0\0\17o\ 1\1a\0\0\0\16q\ 1u6\0î \0\0\13o
+\16q\ 5 \0\0\0u-\0î \0\0\17o\b8\0\0\0 q\13q\0\ 4x-\0î \0\0\17o\b@\0\0\0 q\17q\0P\0\0\0 x-\0î \0\0\17o\ 4H\0\0\0 q\ 5\ 3\0\0\0u-\0î \0\0\17o\ 4L\0\0\0 q\ 5\ 3\0\0\0u\84\0q\17go.string."item"\0-\0î \0\0\17o\bP\0\0\0 q\13q\0\17x-\0î \0\0\13o\b\17q\17q\0\f\0\0\0\17x-\0î \0\0\17o\ 4\b\0\0\0\17q\ 5\ 4\0\0\0u-\0î \0\0\17o\ 4\f\0\0\0\17q item\0\0\0\0-\0î \0\0\17o\ 1\10\0\0\0\17q\ 1u6\0î \0\0\13o
+\17q\ 5\18\0\0\0u-\0î \0\0\17o\bX\0\0\0 q\13q\0\10x-\0î \0\0\17o\b`\0\0\0 q\13q\0\ ex-\0î \0\0\17o\bh\0\0\0 q\ 1u-\0î \0\0\17o\bp\0\0\0 q\ 1u\84\0q\18go.string."left"\0-\0î \0\0\17o\bx\0\0\0 q\13q\0\18x-\0î \0\0\13o\b\18q\17q\0\f\0\0\0\18x-\0î \0\0\17o\ 4\b\0\0\0\18q\ 5\ 4\0\0\0u-\0î \0\0\17o\ 4\f\0\0\0\18q left\0\0\0\0-\0î \0\0\17o\ 1\10\0\0\0\18q\ 1u6\0î \0\0\13o
+\18q\ 5\18\0\0\0u-\0î \0\0\17o\b\80\0\0\0 q\13q\0\10x-\0î \0\0\17o\b\88\0\0\0 q\13q\0\ 4x-\0î \0\0\17o\b\90\0\0\0 q\ 1u-\0î \0\0\17o\b\98\0\0\0 q\ 5\b\0\0\0u\84\0q\19go.string."right"\0-\0î \0\0\17o\b \0\0\0 q\13q\0\19x-\0î \0\0\13o\b\19q\17q\0\f\0\0\0\19x-\0î \0\0\17o\ 4\b\0\0\0\19q\ 5\ 5\0\0\0u-\0î \0\0\17o\ 5\f\0\0\0\19q right\0\0\0-\0î \0\0\17o\ 1\11\0\0\0\19q\ 1u6\0î \0\0\13o
+\19q\ 5\18\0\0\0u-\0î \0\0\17o\b¨\0\0\0 q\13q\0\10x-\0î \0\0\17o\b°\0\0\0 q\13q\0\ 4x-\0î \0\0\17o\b¸\0\0\0 q\ 1u-\0î \0\0\17o\bÀ\0\0\0 q\ 5\10\0\0\0u-\0î \0\0\17o\b0\0\0\0 q\17q\0È\0\0\0 x\84\0q\1ago.string."binaryNode"\0-\0î \0\0\17o\bÈ\0\0\0 q\13q\0\1ax-\0î \0\0\13o\b\1aq\17q\0\f\0\0\0\1ax-\0î \0\0\17o\ 4\b\0\0\0\1aq\ 5
+\0\0\0u-\0î \0\0\17o\b\f\0\0\0\1aq binaryNo-\0î \0\0\17o\ 2\14\0\0\0\1aq de\0\0\0\0\0\0-\0î \0\0\17o\ 1\16\0\0\0\1aq\ 1u6\0î \0\0\13o
+\1aq\ 5\18\0\0\0u-\0î \0\0\17o\bÐ\0\0\0 q\13q\0\10x-\0î \0\0\17o\bØ\0\0\0 q\17q\0è\0\0\0 x-\0î \0\0\17o\ 4à\0\0\0 q\ 1u-\0î \0\0\17o\ 4ä\0\0\0 q\ 1u6\0î \0\0\13o\b q\ 5è\0\0\0u\84\0q\etype.func(int, int) *"".binaryNode\0-\0î \0\0\13o\b\eq\13q\0\vx-\0î \0\0\17o\b\b\0\0\0\eq\17q\0\10\0\0\0\ex-\0î \0\0\17o\b\10\0\0\0\eq\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\eqEb°\1a¤\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0\eq\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\eq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\eq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\eq\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0\eq\17q\0@\ 1\0\0\ 6x\84\0q\1cgo.string."func(int, int) *go1.binaryNode"\0-\0î \0\0\17o\b(\0\0\0\eq\13q\0\1cx-\0î \0\0\13o\b\1cq\17q\0\f\0\0\0\1cx-\0î \0\0\17o\ 4\b\0\0\0\1cq\ 5\1e\0\0\0u-\0î \0\0\17o\b\f\0\0\0\1cq func(int-\0î \0\0\17o\b\14\0\0\0\1cq , int) *-\0î \0\0\17o\b\1c\0\0\0\1cq go1.bina-\0î \0\0\17o\ 6$\0\0\0\1cq ryNode\0\0-\0î \0\0\17o\ 1*\0\0\0\1cq\ 1u6\0î \0\0\13o
+\1cq\ 50\0\0\0u\84\0q\1dweak.type.*func(int, int) *"".binaryNode\0-\0î \0\0\17o\b8\0\0\0\eq\13q\0\1dx-\0î \0\0\17o\ 1@\0\0\0\eq\ 1u-\0î \0\0\17o\bH\0\0\0\eq\17q\0h\0\0\0\ex-\0î \0\0\17o\ 4P\0\0\0\eq\ 5\ 2\0\0\0u-\0î \0\0\17o\ 4T\0\0\0\eq\ 5\ 2\0\0\0u-\0î \0\0\17o\bX\0\0\0\eq\17q\0x\0\0\0\ex-\0î \0\0\17o\ 4`\0\0\0\eq\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0\eq\ 5\ 1\0\0\0u-\0î \0\0\17o\bh\0\0\0\eq\13q\0\ ex-\0î \0\0\17o\bp\0\0\0\eq\13q\0\ ex-\0î \0\0\17o\bx\0\0\0\eq\13q\0\ 4x6\0î \0\0\13o
+\eq\ 5\80\0\0\0u\84\0q\1etype.func(*uint8) *"".binaryNode\0-\0î \0\0\13o\b\1eq\13q\0\vx-\0î \0\0\17o\b\b\0\0\0\1eq\17q\0\10\0\0\0\1ex-\0î \0\0\17o\b\10\0\0\0\1eq\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\1eqE~á\89\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0\1eq\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\1eq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\1eq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\1eq\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0\1eq\17q\0@\ 1\0\0\ 6x\84\0q\1fgo.string."func(*uint8) *go1.binaryNode"\0-\0î \0\0\17o\b(\0\0\0\1eq\13q\0\1fx-\0î \0\0\13o\b\1fq\17q\0\f\0\0\0\1fx-\0î \0\0\17o\ 4\b\0\0\0\1fq\ 5\1c\0\0\0u-\0î \0\0\17o\b\f\0\0\0\1fq func(*ui-\0î \0\0\17o\b\14\0\0\0\1fq nt8) *go-\0î \0\0\17o\b\1c\0\0\0\1fq 1.binary-\0î \0\0\17o\ 4$\0\0\0\1fq Node\0\0\0\0-\0î \0\0\17o\ 1(\0\0\0\1fq\ 1u6\0î \0\0\13o
+\1fq\ 50\0\0\0u\84\0q weak.type.*func(*uint8) *"".binaryNode\0-\0î \0\0\17o\b8\0\0\0\1eq\13q\0 x-\0î \0\0\17o\ 1@\0\0\0\1eq\ 1u-\0î \0\0\17o\bH\0\0\0\1eq\17q\0h\0\0\0\1ex-\0î \0\0\17o\ 4P\0\0\0\1eq\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4T\0\0\0\1eq\ 5\ 1\0\0\0u-\0î \0\0\17o\bX\0\0\0\1eq\17q\0p\0\0\0\1ex-\0î \0\0\17o\ 4`\0\0\0\1eq\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0\1eq\ 5\ 1\0\0\0u\84\0q!type.*uint8\0-\0î \0\0\17o\bh\0\0\0\1eq\13q\0!x-\0î \0\0\17o\bp\0\0\0\1eq\13q\0\ 4x6\0î \0\0\13o
+\1eq\ 5x\0\0\0u\84\0q"type.method(*"".binaryNode) func() int\0-\0î \0\0\13o\b"q\13q\0\vx-\0î \0\0\17o\b\b\0\0\0"q\17q\0\10\0\0\0"x-\0î \0\0\17o\b\10\0\0\0"q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0"qEå\869à\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0"q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0"q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0"q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0"q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0"q\17q\0@\ 1\0\0\ 6x\84\0q#go.string."method(*go1.binaryNode) func() int"\0-\0î \0\0\17o\b(\0\0\0"q\13q\0#x-\0î \0\0\13o\b#q\17q\0\f\0\0\0#x-\0î \0\0\17o\ 4\b\0\0\0#q\ 5"\0\0\0u-\0î \0\0\17o\b\f\0\0\0#q method(*-\0î \0\0\17o\b\14\0\0\0#q go1.bina-\0î \0\0\17o\b\1c\0\0\0#q ryNode) -\0î \0\0\17o\b$\0\0\0#q func() i-\0î \0\0\17o\ 2,\0\0\0#q nt\0\0\0\0\0\0-\0î \0\0\17o\ 1.\0\0\0#q\ 1u6\0î \0\0\13o
+#q\ 50\0\0\0u\84\0q$weak.type.*method(*"".binaryNode) func() int\0-\0î \0\0\17o\b8\0\0\0"q\13q\0$x-\0î \0\0\17o\ 1@\0\0\0"q\ 1u-\0î \0\0\17o\bH\0\0\0"q\17q\0h\0\0\0"x-\0î \0\0\17o\ 4P\0\0\0"q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4T\0\0\0"q\ 5\ 1\0\0\0u-\0î \0\0\17o\bX\0\0\0"q\17q\0p\0\0\0"x-\0î \0\0\17o\ 4`\0\0\0"q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0"q\ 5\ 1\0\0\0u-\0î \0\0\17o\bh\0\0\0"q\13q\0\ 4x-\0î \0\0\17o\bp\0\0\0"q\13q\0\ ex6\0î \0\0\13o
+"q\ 5x\0\0\0u\84\0q%type.func(int)\0-\0î \0\0\13o\b%q\13q\0\vx-\0î \0\0\17o\b\b\0\0\0%q\17q\0\10\0\0\0%x-\0î \0\0\17o\b\10\0\0\0%q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0%q\ 5\84æñ\18u-\0î \0\0\17o\ 1\1c\0\0\0%q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0%q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0%q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0%q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0%q\17q\0@\ 1\0\0\ 6x\84\0q&go.string."func(int)"\0-\0î \0\0\17o\b(\0\0\0%q\13q\0&x-\0î \0\0\13o\b&q\17q\0\f\0\0\0&x-\0î \0\0\17o\ 4\b\0\0\0&q\ 5 \0\0\0u-\0î \0\0\17o\b\f\0\0\0&q func(int-\0î \0\0\17o\ 1\14\0\0\0&q )\0\0\0\0\0\0\0-\0î \0\0\17o\ 1\15\0\0\0&q\ 1u6\0î \0\0\13o
+&q\ 5\18\0\0\0u\84\0q'weak.type.*func(int)\0-\0î \0\0\17o\b8\0\0\0%q\13q\0'x-\0î \0\0\17o\ 1@\0\0\0%q\ 1u-\0î \0\0\17o\bH\0\0\0%q\17q\0h\0\0\0%x-\0î \0\0\17o\ 4P\0\0\0%q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4T\0\0\0%q\ 5\ 1\0\0\0u-\0î \0\0\17o\bX\0\0\0%q\17q\0p\0\0\0%x-\0î \0\0\17o\ 4`\0\0\0%q\ 1u-\0î \0\0\17o\ 4d\0\0\0%q\ 1u-\0î \0\0\17o\bh\0\0\0%q\13q\0\ ex6\0î \0\0\13o
+%q\ 5p\0\0\0u\84\0q(type.func(*testing.B)\0-\0î \0\0\13o\b(q\13q\0\vx-\0î \0\0\17o\b\b\0\0\0(q\17q\0\10\0\0\0(x-\0î \0\0\17o\b\10\0\0\0(q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0(qEúr\1eÀ\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0(q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0(q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0(q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0(q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0(q\17q\0@\ 1\0\0\ 6x\84\0q)go.string."func(*testing.B)"\0-\0î \0\0\17o\b(\0\0\0(q\13q\0)x-\0î \0\0\13o\b)q\17q\0\f\0\0\0)x-\0î \0\0\17o\ 4\b\0\0\0)q\ 5\10\0\0\0u-\0î \0\0\17o\b\f\0\0\0)q func(*te-\0î \0\0\17o\b\14\0\0\0)q sting.B)-\0î \0\0\17o\ 1\1c\0\0\0)q\ 1u6\0î \0\0\13o
+)q\ 5 \0\0\0u\84\0q*weak.type.*func(*testing.B)\0-\0î \0\0\17o\b8\0\0\0(q\13q\0*x-\0î \0\0\17o\ 1@\0\0\0(q\ 1u-\0î \0\0\17o\bH\0\0\0(q\17q\0h\0\0\0(x-\0î \0\0\17o\ 4P\0\0\0(q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4T\0\0\0(q\ 5\ 1\0\0\0u-\0î \0\0\17o\bX\0\0\0(q\17q\0p\0\0\0(x-\0î \0\0\17o\ 4`\0\0\0(q\ 1u-\0î \0\0\17o\ 4d\0\0\0(q\ 1u\84\0q+type.*testing.B\0-\0î \0\0\17o\bh\0\0\0(q\13q\0+x6\0î \0\0\13o
+(q\ 5p\0\0\0u\84\0q,type.[]int\0\84\0q-type.*runtime.SliceType\0-\0î \0\0\13o\b,q\13q\0-x-\0î \0\0\17o\b\b\0\0\0,q\17q\0\10\0\0\0,x-\0î \0\0\17o\b\10\0\0\0,q\ 5\10\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0,q\ 5\8efù\eu-\0î \0\0\17o\ 1\1c\0\0\0,q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0,q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0,q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0,q\ 5\17\0\0\0u-\0î \0\0\17o\b \0\0\0,q\17q\0à\ 1\0\0\ 6x\84\0q.go.string."[]int"\0-\0î \0\0\17o\b(\0\0\0,q\13q\0.x-\0î \0\0\13o\b.q\17q\0\f\0\0\0.x-\0î \0\0\17o\ 4\b\0\0\0.q\ 5\ 5\0\0\0u-\0î \0\0\17o\ 5\f\0\0\0.q []int\0\0\0-\0î \0\0\17o\ 1\11\0\0\0.q\ 1u6\0î \0\0\13o
+.q\ 5\18\0\0\0u\84\0q/weak.type.*[]int\0-\0î \0\0\17o\b8\0\0\0,q\13q\0/x-\0î \0\0\17o\b@\0\0\0,q\13q\0\ ex6\0î \0\0\13o
+,q\ 5H\0\0\0u\84\0q0type.func(int) int\0-\0î \0\0\13o\b0q\13q\0\vx-\0î \0\0\17o\b\b\0\0\00q\17q\0\10\0\0\00x-\0î \0\0\17o\b\10\0\0\00q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\00qE\98<2\87\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\00q\ 1u-\0î \0\0\17o\ 1\1d\0\0\00q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\00q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\00q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\00q\17q\0@\ 1\0\0\ 6x\84\0q1go.string."func(int) int"\0-\0î \0\0\17o\b(\0\0\00q\13q\01x-\0î \0\0\13o\b1q\17q\0\f\0\0\01x-\0î \0\0\17o\ 4\b\0\0\01q\ 5\r\0\0\0u-\0î \0\0\17o\b\f\0\0\01q func(int-\0î \0\0\17o\ 5\14\0\0\01q ) int\0\0\0-\0î \0\0\17o\ 1\19\0\0\01q\ 1u6\0î \0\0\13o
+1q\ 5 \0\0\0u\84\0q\ 1weak.type.*func(int) int\0-\0î \0\0\17o\b8\0\0\00q\13q\0\ 1x-\0î \0\0\17o\ 1@\0\0\00q\ 1u-\0î \0\0\17o\bH\0\0\00q\17q\0h\0\0\00x-\0î \0\0\17o\ 4P\0\0\00q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4T\0\0\00q\ 5\ 1\0\0\0u-\0î \0\0\17o\bX\0\0\00q\17q\0p\0\0\00x-\0î \0\0\17o\ 4`\0\0\00q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\00q\ 5\ 1\0\0\0u-\0î \0\0\17o\bh\0\0\00q\13q\0\ ex-\0î \0\0\17o\bp\0\0\00q\13q\0\ ex6\0î \0\0\13o
+0q\ 5x\0\0\0u\84\0q\ 2type.func(*uint8, int64, int64) []int\0-\0î \0\0\13o\b\ 2q\13q\0\vx-\0î \0\0\17o\b\b\0\0\0\ 2q\17q\0\10\0\0\0\ 2x-\0î \0\0\17o\b\10\0\0\0\ 2q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\ 2q\ 5 iG\eu-\0î \0\0\17o\ 1\1c\0\0\0\ 2q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\ 2q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\ 2q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\ 2q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0\ 2q\17q\0@\ 1\0\0\ 6x\84\0q\ 3go.string."func(*uint8, int64, int64) []int"\0-\0î \0\0\17o\b(\0\0\0\ 2q\13q\0\ 3x-\0î \0\0\13o\b\ 3q\17q\0\f\0\0\0\ 3x-\0î \0\0\17o\ 4\b\0\0\0\ 3q\ 5 \0\0\0u-\0î \0\0\17o\b\f\0\0\0\ 3q func(*ui-\0î \0\0\17o\b\14\0\0\0\ 3q nt8, int-\0î \0\0\17o\b\1c\0\0\0\ 3q 64, int6-\0î \0\0\17o\b$\0\0\0\ 3q 4) []int-\0î \0\0\17o\ 1,\0\0\0\ 3q\ 1u6\0î \0\0\13o
+\ 3q\ 50\0\0\0u\84\0q\ 4weak.type.*func(*uint8, int64, int64) []int\0-\0î \0\0\17o\b8\0\0\0\ 2q\13q\0\ 4x-\0î \0\0\17o\ 1@\0\0\0\ 2q\ 1u-\0î \0\0\17o\bH\0\0\0\ 2q\17q\0h\0\0\0\ 2x-\0î \0\0\17o\ 4P\0\0\0\ 2q\ 5\ 3\0\0\0u-\0î \0\0\17o\ 4T\0\0\0\ 2q\ 5\ 3\0\0\0u-\0î \0\0\17o\bX\0\0\0\ 2q\17q\0\80\0\0\0\ 2x-\0î \0\0\17o\ 4`\0\0\0\ 2q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0\ 2q\ 5\ 1\0\0\0u-\0î \0\0\17o\bh\0\0\0\ 2q\13q\0!x\84\0q\ 5type.int64\0-\0î \0\0\17o\bp\0\0\0\ 2q\13q\0\ 5x-\0î \0\0\17o\bx\0\0\0\ 2q\13q\0\ 5x-\0î \0\0\17o\b\80\0\0\0\ 2q\13q\0,x6\0î \0\0\13o
+\ 2q\ 5\88\0\0\0u\84\0q\ 6type.*"".fastaBuffer\0\84\0q\atype.*runtime.PtrType\0-\0î \0\0\13o\b\ 6q\13q\0\ax-\0î \0\0\17o\b\b\0\0\0\ 6q\17q\0\10\0\0\0\ 6x-\0î \0\0\17o\b\10\0\0\0\ 6q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\ 6qE\ 2#t\88\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0\ 6q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\ 6q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\ 6q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\ 6q\ 5\16\0\0\0u\84\0q\bruntime.algarray\0-\0î \0\0\17o\b \0\0\0\ 6q\17q\0\80\0\0\0\bx\84\0q go.string."*go1.fastaBuffer"\0-\0î \0\0\17o\b(\0\0\0\ 6q\13q\0 x-\0î \0\0\13o\b q\17q\0\f\0\0\0 x-\0î \0\0\17o\ 4\b\0\0\0 q\ 5\10\0\0\0u-\0î \0\0\17o\b\f\0\0\0 q *go1.fas-\0î \0\0\17o\b\14\0\0\0 q taBuffer-\0î \0\0\17o\ 1\1c\0\0\0 q\ 1u6\0î \0\0\13o
+ q\ 5 \0\0\0u\84\0q
+weak.type.**"".fastaBuffer\0-\0î \0\0\17o\b8\0\0\0\ 6q\13q\0
+x\84\0q\vtype."".fastaBuffer\0-\0î \0\0\17o\b@\0\0\0\ 6q\13q\0\vx-\0î \0\0\17o\b0\0\0\0\ 6q\17q\0H\0\0\0\ 6x\84\0q\ftype.func(*"".fastaBuffer)\0\84\0q\rtype.*runtime.FuncType\0-\0î \0\0\13o\b\fq\13q\0\rx-\0î \0\0\17o\b\b\0\0\0\fq\17q\0\10\0\0\0\fx-\0î \0\0\17o\b\10\0\0\0\fq\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\fqEÙ\1e\v©\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0\fq\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\fq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\fq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\fq\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0\fq\17q\0À\0\0\0\bx\84\0q\ ego.string."func(*go1.fastaBuffer)"\0-\0î \0\0\17o\b(\0\0\0\fq\13q\0\ ex-\0î \0\0\13o\b\ eq\17q\0\f\0\0\0\ ex-\0î \0\0\17o\ 4\b\0\0\0\ eq\ 5\16\0\0\0u-\0î \0\0\17o\b\f\0\0\0\ eq func(*go-\0î \0\0\17o\b\14\0\0\0\ eq 1.fastaB-\0î \0\0\17o\ 6\1c\0\0\0\ eq uffer)\0\0-\0î \0\0\17o\ 1"\0\0\0\ eq\ 1u6\0î \0\0\13o
+\ eq\ 5(\0\0\0u\84\0q\ fweak.type.*func(*"".fastaBuffer)\0-\0î \0\0\17o\b8\0\0\0\fq\13q\0\ fx-\0î \0\0\17o\ 1@\0\0\0\fq\ 1u-\0î \0\0\17o\bH\0\0\0\fq\17q\0h\0\0\0\fx-\0î \0\0\17o\ 4P\0\0\0\fq\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4T\0\0\0\fq\ 5\ 1\0\0\0u-\0î \0\0\17o\bX\0\0\0\fq\17q\0p\0\0\0\fx-\0î \0\0\17o\ 4`\0\0\0\fq\ 1u-\0î \0\0\17o\ 4d\0\0\0\fq\ 1u-\0î \0\0\17o\bh\0\0\0\fq\13q\0\ 6x6\0î \0\0\13o
+\fq\ 5p\0\0\0u\84\0q\10type.[]uint8\0-\0î \0\0\13o\b\10q\13q\0-x-\0î \0\0\17o\b\b\0\0\0\10q\17q\0\10\0\0\0\10x-\0î \0\0\17o\b\10\0\0\0\10q\ 5\10\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\10q\ 5ß~.8u-\0î \0\0\17o\ 1\1c\0\0\0\10q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\10q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\10q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\10q\ 5\17\0\0\0u-\0î \0\0\17o\b \0\0\0\10q\17q\0à\ 1\0\0\bx\84\0q\11go.string."[]uint8"\0-\0î \0\0\17o\b(\0\0\0\10q\13q\0\11x-\0î \0\0\13o\b\11q\17q\0\f\0\0\0\11x-\0î \0\0\17o\ 4\b\0\0\0\11q\ 5\a\0\0\0u-\0î \0\0\17o\a\f\0\0\0\11q []uint8\0-\0î \0\0\17o\ 1\13\0\0\0\11q\ 1u6\0î \0\0\13o
+\11q\ 5\18\0\0\0u\84\0q\12weak.type.*[]uint8\0-\0î \0\0\17o\b8\0\0\0\10q\13q\0\12x\84\0q\13type.uint8\0-\0î \0\0\17o\b@\0\0\0\10q\13q\0\13x6\0î \0\0\13o
+\10q\ 5H\0\0\0u\84\0q\14type.func(*"".fastaBuffer, int) []uint8\0-\0î \0\0\13o\b\14q\13q\0\rx-\0î \0\0\17o\b\b\0\0\0\14q\17q\0\10\0\0\0\14x-\0î \0\0\17o\b\10\0\0\0\14q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\14qE2sÃä\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0\14q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\14q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\14q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\14q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0\14q\17q\0À\0\0\0\bx\84\0q\15go.string."func(*go1.fastaBuffer, int) []uint8"\0-\0î \0\0\17o\b(\0\0\0\14q\13q\0\15x-\0î \0\0\13o\b\15q\17q\0\f\0\0\0\15x-\0î \0\0\17o\ 4\b\0\0\0\15q\ 5#\0\0\0u-\0î \0\0\17o\b\f\0\0\0\15q func(*go-\0î \0\0\17o\b\14\0\0\0\15q 1.fastaB-\0î \0\0\17o\b\1c\0\0\0\15q uffer, i-\0î \0\0\17o\b$\0\0\0\15q nt) []ui-\0î \0\0\17o\ 3,\0\0\0\15q nt8\0\0\0\0\0-\0î \0\0\17o\ 1/\0\0\0\15q\ 1u6\0î \0\0\13o
+\15q\ 50\0\0\0u\84\0q\16weak.type.*func(*"".fastaBuffer, int) []uint8\0-\0î \0\0\17o\b8\0\0\0\14q\13q\0\16x-\0î \0\0\17o\ 1@\0\0\0\14q\ 1u-\0î \0\0\17o\bH\0\0\0\14q\17q\0h\0\0\0\14x-\0î \0\0\17o\ 4P\0\0\0\14q\ 5\ 2\0\0\0u-\0î \0\0\17o\ 4T\0\0\0\14q\ 5\ 2\0\0\0u-\0î \0\0\17o\bX\0\0\0\14q\17q\0x\0\0\0\14x-\0î \0\0\17o\ 4`\0\0\0\14q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0\14q\ 5\ 1\0\0\0u-\0î \0\0\17o\bh\0\0\0\14q\13q\0\ 6x\84\0q\17type.int\0-\0î \0\0\17o\bp\0\0\0\14q\13q\0\17x-\0î \0\0\17o\bx\0\0\0\14q\13q\0\10x6\0î \0\0\13o
+\14q\ 5\80\0\0\0u\84\0q\18type.func(*"".fastaBuffer, string)\0-\0î \0\0\13o\b\18q\13q\0\rx-\0î \0\0\17o\b\b\0\0\0\18q\17q\0\10\0\0\0\18x-\0î \0\0\17o\b\10\0\0\0\18q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\18qEw౬\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0\18q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\18q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\18q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\18q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0\18q\17q\0À\0\0\0\bx\84\0q\19go.string."func(*go1.fastaBuffer, string)"\0-\0î \0\0\17o\b(\0\0\0\18q\13q\0\19x-\0î \0\0\13o\b\19q\17q\0\f\0\0\0\19x-\0î \0\0\17o\ 4\b\0\0\0\19q\ 5\1e\0\0\0u-\0î \0\0\17o\b\f\0\0\0\19q func(*go-\0î \0\0\17o\b\14\0\0\0\19q 1.fastaB-\0î \0\0\17o\b\1c\0\0\0\19q uffer, s-\0î \0\0\17o\ 6$\0\0\0\19q tring)\0\0-\0î \0\0\17o\ 1*\0\0\0\19q\ 1u6\0î \0\0\13o
+\19q\ 50\0\0\0u\84\0q\1aweak.type.*func(*"".fastaBuffer, string)\0-\0î \0\0\17o\b8\0\0\0\18q\13q\0\1ax-\0î \0\0\17o\ 1@\0\0\0\18q\ 1u-\0î \0\0\17o\bH\0\0\0\18q\17q\0h\0\0\0\18x-\0î \0\0\17o\ 4P\0\0\0\18q\ 5\ 2\0\0\0u-\0î \0\0\17o\ 4T\0\0\0\18q\ 5\ 2\0\0\0u-\0î \0\0\17o\bX\0\0\0\18q\17q\0x\0\0\0\18x-\0î \0\0\17o\ 4`\0\0\0\18q\ 1u-\0î \0\0\17o\ 4d\0\0\0\18q\ 1u-\0î \0\0\17o\bh\0\0\0\18q\13q\0\ 6x\84\0q\etype.string\0-\0î \0\0\17o\bp\0\0\0\18q\13q\0\ex6\0î \0\0\13o
+\18q\ 5x\0\0\0u-\0î \0\0\17o\bH\0\0\0\ 6q\ 1u-\0î \0\0\17o\bP\0\0\0\ 6q\ 1u-\0î \0\0\17o\bX\0\0\0\ 6q\17q\0h\0\0\0\ 6x-\0î \0\0\17o\ 4`\0\0\0\ 6q\ 5\ 3\0\0\0u-\0î \0\0\17o\ 4d\0\0\0\ 6q\ 5\ 3\0\0\0u\84\0q\1cgo.string."Flush"\0-\0î \0\0\17o\bh\0\0\0\ 6q\13q\0\1cx-\0î \0\0\13o\b\1cq\17q\0\f\0\0\0\1cx-\0î \0\0\17o\ 4\b\0\0\0\1cq\ 5\ 5\0\0\0u-\0î \0\0\17o\ 5\f\0\0\0\1cq Flush\0\0\0-\0î \0\0\17o\ 1\11\0\0\0\1cq\ 1u6\0î \0\0\13o
+\1cq\ 5\18\0\0\0u-\0î \0\0\17o\bp\0\0\0\ 6q\ 1u\84\0q\1dtype.func()\0-\0î \0\0\13o\b\1dq\13q\0\rx-\0î \0\0\17o\b\b\0\0\0\1dq\17q\0\10\0\0\0\1dx-\0î \0\0\17o\b\10\0\0\0\1dq\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\1dqEö¼\82ö\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0\1dq\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\1dq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\1dq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\1dq\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0\1dq\17q\0À\0\0\0\bx\84\0q\1ego.string."func()"\0-\0î \0\0\17o\b(\0\0\0\1dq\13q\0\1ex-\0î \0\0\13o\b\1eq\17q\0\f\0\0\0\1ex-\0î \0\0\17o\ 4\b\0\0\0\1eq\ 5\ 6\0\0\0u-\0î \0\0\17o\ 6\f\0\0\0\1eq func()\0\0-\0î \0\0\17o\ 1\12\0\0\0\1eq\ 1u6\0î \0\0\13o
+\1eq\ 5\18\0\0\0u\84\0q\1fweak.type.*func()\0-\0î \0\0\17o\b8\0\0\0\1dq\13q\0\1fx-\0î \0\0\17o\ 1@\0\0\0\1dq\ 1u-\0î \0\0\17o\bH\0\0\0\1dq\17q\0h\0\0\0\1dx-\0î \0\0\17o\ 4P\0\0\0\1dq\ 1u-\0î \0\0\17o\ 4T\0\0\0\1dq\ 1u-\0î \0\0\17o\bX\0\0\0\1dq\17q\0h\0\0\0\1dx-\0î \0\0\17o\ 4`\0\0\0\1dq\ 1u-\0î \0\0\17o\ 4d\0\0\0\1dq\ 1u6\0î \0\0\13o
+\1dq\ 5h\0\0\0u-\0î \0\0\17o\bx\0\0\0\ 6q\13q\0\1dx-\0î \0\0\17o\b\80\0\0\0\ 6q\13q\0\fx\84\0q "".(*fastaBuffer).Flush\0-\0î \0\0\17o\b\88\0\0\0\ 6q\13q\0 x-\0î \0\0\17o\b\90\0\0\0\ 6q\13q\0 x\84\0q!go.string."NextWrite"\0-\0î \0\0\17o\b\98\0\0\0\ 6q\13q\0!x-\0î \0\0\13o\b!q\17q\0\f\0\0\0!x-\0î \0\0\17o\ 4\b\0\0\0!q\ 5 \0\0\0u-\0î \0\0\17o\b\f\0\0\0!q NextWrit-\0î \0\0\17o\ 1\14\0\0\0!q e\0\0\0\0\0\0\0-\0î \0\0\17o\ 1\15\0\0\0!q\ 1u6\0î \0\0\13o
+!q\ 5\18\0\0\0u-\0î \0\0\17o\b \0\0\0\ 6q\ 1u\84\0q"type.func(int) []uint8\0-\0î \0\0\13o\b"q\13q\0\rx-\0î \0\0\17o\b\b\0\0\0"q\17q\0\10\0\0\0"x-\0î \0\0\17o\b\10\0\0\0"q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0"q\ 5ýz~:u-\0î \0\0\17o\ 1\1c\0\0\0"q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0"q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0"q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0"q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0"q\17q\0À\0\0\0\bx\84\0q#go.string."func(int) []uint8"\0-\0î \0\0\17o\b(\0\0\0"q\13q\0#x-\0î \0\0\13o\b#q\17q\0\f\0\0\0#x-\0î \0\0\17o\ 4\b\0\0\0#q\ 5\11\0\0\0u-\0î \0\0\17o\b\f\0\0\0#q func(int-\0î \0\0\17o\b\14\0\0\0#q ) []uint-\0î \0\0\17o\ 1\1c\0\0\0#q 8\0\0\0\0\0\0\0-\0î \0\0\17o\ 1\1d\0\0\0#q\ 1u6\0î \0\0\13o
+#q\ 5 \0\0\0u\84\0q$weak.type.*func(int) []uint8\0-\0î \0\0\17o\b8\0\0\0"q\13q\0$x-\0î \0\0\17o\ 1@\0\0\0"q\ 1u-\0î \0\0\17o\bH\0\0\0"q\17q\0h\0\0\0"x-\0î \0\0\17o\ 4P\0\0\0"q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4T\0\0\0"q\ 5\ 1\0\0\0u-\0î \0\0\17o\bX\0\0\0"q\17q\0p\0\0\0"x-\0î \0\0\17o\ 4`\0\0\0"q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0"q\ 5\ 1\0\0\0u-\0î \0\0\17o\bh\0\0\0"q\13q\0\17x-\0î \0\0\17o\bp\0\0\0"q\13q\0\10x6\0î \0\0\13o
+"q\ 5x\0\0\0u-\0î \0\0\17o\b¨\0\0\0\ 6q\13q\0"x-\0î \0\0\17o\b°\0\0\0\ 6q\13q\0\14x\84\0q%"".(*fastaBuffer).NextWrite\0-\0î \0\0\17o\b¸\0\0\0\ 6q\13q\0%x-\0î \0\0\17o\bÀ\0\0\0\ 6q\13q\0%x\84\0q&go.string."WriteString"\0-\0î \0\0\17o\bÈ\0\0\0\ 6q\13q\0&x-\0î \0\0\13o\b&q\17q\0\f\0\0\0&x-\0î \0\0\17o\ 4\b\0\0\0&q\ 5\v\0\0\0u-\0î \0\0\17o\b\f\0\0\0&q WriteStr-\0î \0\0\17o\ 3\14\0\0\0&q ing\0\0\0\0\0-\0î \0\0\17o\ 1\17\0\0\0&q\ 1u6\0î \0\0\13o
+&q\ 5\18\0\0\0u-\0î \0\0\17o\bÐ\0\0\0\ 6q\ 1u\84\0q'type.func(string)\0-\0î \0\0\13o\b'q\13q\0\rx-\0î \0\0\17o\b\b\0\0\0'q\17q\0\10\0\0\0'x-\0î \0\0\17o\b\10\0\0\0'q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0'qE\8aǹ¾\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0'q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0'q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0'q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0'q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0'q\17q\0À\0\0\0\bx\84\0q(go.string."func(string)"\0-\0î \0\0\17o\b(\0\0\0'q\13q\0(x-\0î \0\0\13o\b(q\17q\0\f\0\0\0(x-\0î \0\0\17o\ 4\b\0\0\0(q\ 5\f\0\0\0u-\0î \0\0\17o\b\f\0\0\0(q func(str-\0î \0\0\17o\ 4\14\0\0\0(q ing)\0\0\0\0-\0î \0\0\17o\ 1\18\0\0\0(q\ 1u6\0î \0\0\13o
+(q\ 5 \0\0\0u\84\0q)weak.type.*func(string)\0-\0î \0\0\17o\b8\0\0\0'q\13q\0)x-\0î \0\0\17o\ 1@\0\0\0'q\ 1u-\0î \0\0\17o\bH\0\0\0'q\17q\0h\0\0\0'x-\0î \0\0\17o\ 4P\0\0\0'q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4T\0\0\0'q\ 5\ 1\0\0\0u-\0î \0\0\17o\bX\0\0\0'q\17q\0p\0\0\0'x-\0î \0\0\17o\ 4`\0\0\0'q\ 1u-\0î \0\0\17o\ 4d\0\0\0'q\ 1u-\0î \0\0\17o\bh\0\0\0'q\13q\0\ex6\0î \0\0\13o
+'q\ 5p\0\0\0u-\0î \0\0\17o\bØ\0\0\0\ 6q\13q\0'x-\0î \0\0\17o\bà\0\0\0\ 6q\13q\0\18x\84\0q*"".(*fastaBuffer).WriteString\0-\0î \0\0\17o\bè\0\0\0\ 6q\13q\0*x-\0î \0\0\17o\bð\0\0\0\ 6q\13q\0*x6\0î \0\0\13o\b\ 6q\ 5ø\0\0\0u-\0î \0\0\13o\b\vq\13q\0-x-\0î \0\0\17o\b\b\0\0\0\vq\17q\0\10\0\0\0\vx-\0î \0\0\17o\b\10\0\0\0\vq\ 5\10\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\vqE\93\11A\8d\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0\vq\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\vq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\vq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\vq\ 5\17\0\0\0u-\0î \0\0\17o\b \0\0\0\vq\17q\0à\ 1\0\0\bx\84\0q+go.string."go1.fastaBuffer"\0-\0î \0\0\17o\b(\0\0\0\vq\13q\0+x-\0î \0\0\13o\b+q\17q\0\f\0\0\0+x-\0î \0\0\17o\ 4\b\0\0\0+q\ 5\ f\0\0\0u-\0î \0\0\17o\b\f\0\0\0+q go1.fast-\0î \0\0\17o\a\14\0\0\0+q aBuffer\0-\0î \0\0\17o\ 1\e\0\0\0+q\ 1u6\0î \0\0\13o
++q\ 5 \0\0\0u-\0î \0\0\17o\b8\0\0\0\vq\13q\0\ 6x-\0î \0\0\17o\b@\0\0\0\vq\13q\0\13x-\0î \0\0\17o\b0\0\0\0\vq\17q\0H\0\0\0\vx\84\0q,go.string."fastaBuffer"\0-\0î \0\0\17o\bH\0\0\0\vq\13q\0,x-\0î \0\0\13o\b,q\17q\0\f\0\0\0,x-\0î \0\0\17o\ 4\b\0\0\0,q\ 5\v\0\0\0u-\0î \0\0\17o\b\f\0\0\0,q fastaBuf-\0î \0\0\17o\ 3\14\0\0\0,q fer\0\0\0\0\0-\0î \0\0\17o\ 1\17\0\0\0,q\ 1u6\0î \0\0\13o
+,q\ 5\18\0\0\0u\84\0q-go.importpath."".\0-\0î \0\0\17o\bP\0\0\0\vq\13q\0-x-\0î \0\0\17o\bX\0\0\0\vq\17q\0h\0\0\0\vx-\0î \0\0\17o\ 4`\0\0\0\vq\ 1u-\0î \0\0\17o\ 4d\0\0\0\vq\ 1u6\0î \0\0\13o\b\vq\ 5h\0\0\0u\84\0q.type.*"".fastaAcid\0-\0î \0\0\13o\b.q\13q\0\ax-\0î \0\0\17o\b\b\0\0\0.q\17q\0\10\0\0\0.x-\0î \0\0\17o\b\10\0\0\0.q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0.q\ 5{Ñ\98>u-\0î \0\0\17o\ 1\1c\0\0\0.q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0.q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0.q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0.q\ 5\16\0\0\0u-\0î \0\0\17o\b \0\0\0.q\17q\0\80\0\0\0\bx\84\0q/go.string."*go1.fastaAcid"\0-\0î \0\0\17o\b(\0\0\0.q\13q\0/x-\0î \0\0\13o\b/q\17q\0\f\0\0\0/x-\0î \0\0\17o\ 4\b\0\0\0/q\ 5\ e\0\0\0u-\0î \0\0\17o\b\f\0\0\0/q *go1.fas-\0î \0\0\17o\ 6\14\0\0\0/q taAcid\0\0-\0î \0\0\17o\ 1\1a\0\0\0/q\ 1u6\0î \0\0\13o
+/q\ 5 \0\0\0u\84\0q0weak.type.**"".fastaAcid\0-\0î \0\0\17o\b8\0\0\0.q\13q\00x\84\0q1type."".fastaAcid\0-\0î \0\0\17o\b@\0\0\0.q\13q\01x6\0î \0\0\13o\b.q\ 5H\0\0\0u\84\0q\ 1type.*runtime.StructType\0-\0î \0\0\13o\b1q\13q\0\ 1x-\0î \0\0\17o\b\b\0\0\01q\17q\0\10\0\0\01x-\0î \0\0\17o\b\10\0\0\01q\ 5 \0\0\0u-\0î \0\0\17o\ 4\18\0\0\01qE&&\ 1ê\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\01q\ 1u-\0î \0\0\17o\ 1\1d\0\0\01q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\01q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\01q\ 5\19\0\0\0u-\0î \0\0\17o\b \0\0\01q\13q\0\bx\84\0q\ 2go.string."go1.fastaAcid"\0-\0î \0\0\17o\b(\0\0\01q\13q\0\ 2x-\0î \0\0\13o\b\ 2q\17q\0\f\0\0\0\ 2x-\0î \0\0\17o\ 4\b\0\0\0\ 2q\ 5\r\0\0\0u-\0î \0\0\17o\b\f\0\0\0\ 2q go1.fast-\0î \0\0\17o\ 5\14\0\0\0\ 2q aAcid\0\0\0-\0î \0\0\17o\ 1\19\0\0\0\ 2q\ 1u6\0î \0\0\13o
+\ 2q\ 5 \0\0\0u-\0î \0\0\17o\b8\0\0\01q\13q\0.x-\0î \0\0\17o\b@\0\0\01q\17q\0P\0\0\01x-\0î \0\0\17o\ 4H\0\0\01q\ 5\ 4\0\0\0u-\0î \0\0\17o\ 4L\0\0\01q\ 5\ 4\0\0\0u\84\0q\ 3go.string."sym"\0-\0î \0\0\17o\bP\0\0\01q\13q\0\ 3x-\0î \0\0\13o\b\ 3q\17q\0\f\0\0\0\ 3x-\0î \0\0\17o\ 4\b\0\0\0\ 3q\ 5\ 3\0\0\0u-\0î \0\0\17o\ 3\f\0\0\0\ 3q sym\0\0\0\0\0-\0î \0\0\17o\ 1\ f\0\0\0\ 3q\ 1u6\0î \0\0\13o
+\ 3q\ 5\10\0\0\0u-\0î \0\0\17o\bX\0\0\01q\13q\0-x-\0î \0\0\17o\b`\0\0\01q\13q\0\13x-\0î \0\0\17o\bh\0\0\01q\ 1u-\0î \0\0\17o\bp\0\0\01q\ 1u\84\0q\ 4go.string."prob"\0-\0î \0\0\17o\bx\0\0\01q\13q\0\ 4x-\0î \0\0\13o\b\ 4q\17q\0\f\0\0\0\ 4x-\0î \0\0\17o\ 4\b\0\0\0\ 4q\ 5\ 4\0\0\0u-\0î \0\0\17o\ 4\f\0\0\0\ 4q prob\0\0\0\0-\0î \0\0\17o\ 1\10\0\0\0\ 4q\ 1u6\0î \0\0\13o
+\ 4q\ 5\18\0\0\0u-\0î \0\0\17o\b\80\0\0\01q\13q\0-x\84\0q\ 5type.float64\0-\0î \0\0\17o\b\88\0\0\01q\13q\0\ 5x-\0î \0\0\17o\b\90\0\0\01q\ 1u-\0î \0\0\17o\b\98\0\0\01q\ 5\b\0\0\0u\84\0q\ 6go.string."cprob"\0-\0î \0\0\17o\b \0\0\01q\13q\0\ 6x-\0î \0\0\13o\b\ 6q\17q\0\f\0\0\0\ 6x-\0î \0\0\17o\ 4\b\0\0\0\ 6q\ 5\ 5\0\0\0u-\0î \0\0\17o\ 5\f\0\0\0\ 6q cprob\0\0\0-\0î \0\0\17o\ 1\11\0\0\0\ 6q\ 1u6\0î \0\0\13o
+\ 6q\ 5\18\0\0\0u-\0î \0\0\17o\b¨\0\0\01q\13q\0-x-\0î \0\0\17o\b°\0\0\01q\13q\0\ 5x-\0î \0\0\17o\b¸\0\0\01q\ 1u-\0î \0\0\17o\bÀ\0\0\01q\ 5\10\0\0\0u\84\0q\ago.string."next"\0-\0î \0\0\17o\bÈ\0\0\01q\13q\0\ax-\0î \0\0\13o\b\aq\17q\0\f\0\0\0\ax-\0î \0\0\17o\ 4\b\0\0\0\aq\ 5\ 4\0\0\0u-\0î \0\0\17o\ 4\f\0\0\0\aq next\0\0\0\0-\0î \0\0\17o\ 1\10\0\0\0\aq\ 1u6\0î \0\0\13o
+\aq\ 5\18\0\0\0u-\0î \0\0\17o\bÐ\0\0\01q\13q\0-x-\0î \0\0\17o\bØ\0\0\01q\13q\0.x-\0î \0\0\17o\bà\0\0\01q\ 1u-\0î \0\0\17o\bè\0\0\01q\ 5\18\0\0\0u-\0î \0\0\17o\b0\0\0\01q\17q\0ð\0\0\01x\84\0q\bgo.string."fastaAcid"\0-\0î \0\0\17o\bð\0\0\01q\13q\0\bx-\0î \0\0\13o\b\bq\17q\0\f\0\0\0\bx-\0î \0\0\17o\ 4\b\0\0\0\bq\ 5 \0\0\0u-\0î \0\0\17o\b\f\0\0\0\bq fastaAci-\0î \0\0\17o\ 1\14\0\0\0\bq d\0\0\0\0\0\0\0-\0î \0\0\17o\ 1\15\0\0\0\bq\ 1u6\0î \0\0\13o
+\bq\ 5\18\0\0\0u-\0î \0\0\17o\bø\0\0\01q\13q\0-x-\0î \0\0\17o\b\0\ 1\0\01q\17q\0\10\ 1\0\01x-\0î \0\0\17o\ 4\b\ 1\0\01q\ 1u-\0î \0\0\17o\ 4\f\ 1\0\01q\ 1u6\0î \0\0\13o\b1q\ 5\10\ 1\0\0u\84\0q type.[]"".fastaAcid\0\84\0q
+type.*runtime.SliceType\0-\0î \0\0\13o\b q\13q\0
+x-\0î \0\0\17o\b\b\0\0\0 q\17q\0\10\0\0\0 x-\0î \0\0\17o\b\10\0\0\0 q\ 5\10\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0 qE4U4ò\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0 q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0 q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0 q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0 q\ 5\17\0\0\0u\84\0q\vruntime.algarray\0-\0î \0\0\17o\b \0\0\0 q\17q\0à\ 1\0\0\vx\84\0q\fgo.string."[]go1.fastaAcid"\0-\0î \0\0\17o\b(\0\0\0 q\13q\0\fx-\0î \0\0\13o\b\fq\17q\0\f\0\0\0\fx-\0î \0\0\17o\ 4\b\0\0\0\fq\ 5\ f\0\0\0u-\0î \0\0\17o\b\f\0\0\0\fq []go1.fa-\0î \0\0\17o\a\14\0\0\0\fq staAcid\0-\0î \0\0\17o\ 1\e\0\0\0\fq\ 1u6\0î \0\0\13o
+\fq\ 5 \0\0\0u\84\0q\rweak.type.*[]"".fastaAcid\0-\0î \0\0\17o\b8\0\0\0 q\13q\0\rx-\0î \0\0\17o\b@\0\0\0 q\13q\01x6\0î \0\0\13o
+ q\ 5H\0\0\0u\84\0q\ etype.[15]"".fastaAcid\0\84\0q\ ftype.*runtime.ArrayType\0-\0î \0\0\13o\b\ eq\13q\0\ fx-\0î \0\0\17o\b\b\0\0\0\ eq\17q\0\10\0\0\0\ ex-\0î \0\0\17o\b\10\0\0\0\ eq\ 5à\ 1\0\0u-\0î \0\0\17o\ 4\18\0\0\0\ eqE¾\84|Õ\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0\ eq\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\ eq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\ eq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\ eq\ 5\11\0\0\0u-\0î \0\0\17o\b \0\0\0\ eq\13q\0\vx\84\0q\10go.string."[15]go1.fastaAcid"\0-\0î \0\0\17o\b(\0\0\0\ eq\13q\0\10x-\0î \0\0\13o\b\10q\17q\0\f\0\0\0\10x-\0î \0\0\17o\ 4\b\0\0\0\10q\ 5\11\0\0\0u-\0î \0\0\17o\b\f\0\0\0\10q [15]go1.-\0î \0\0\17o\b\14\0\0\0\10q fastaAci-\0î \0\0\17o\ 1\1c\0\0\0\10q d\0\0\0\0\0\0\0-\0î \0\0\17o\ 1\1d\0\0\0\10q\ 1u6\0î \0\0\13o
+\10q\ 5 \0\0\0u\84\0q\11weak.type.*[15]"".fastaAcid\0-\0î \0\0\17o\b8\0\0\0\ eq\13q\0\11x-\0î \0\0\17o\b@\0\0\0\ eq\13q\01x-\0î \0\0\17o\bH\0\0\0\ eq\13q\0 x-\0î \0\0\17o\bP\0\0\0\ eq\ 5\ f\0\0\0u6\0î \0\0\13o
+\ eq\ 5X\0\0\0u\84\0q\12type.[4]"".fastaAcid\0-\0î \0\0\13o\b\12q\13q\0\ fx-\0î \0\0\17o\b\b\0\0\0\12q\17q\0\10\0\0\0\12x-\0î \0\0\17o\b\10\0\0\0\12q\ 5\80\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\12q\ 55Yt>u-\0î \0\0\17o\ 1\1c\0\0\0\12q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\12q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\12q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\12q\ 5\11\0\0\0u-\0î \0\0\17o\b \0\0\0\12q\13q\0\vx\84\0q\13go.string."[4]go1.fastaAcid"\0-\0î \0\0\17o\b(\0\0\0\12q\13q\0\13x-\0î \0\0\13o\b\13q\17q\0\f\0\0\0\13x-\0î \0\0\17o\ 4\b\0\0\0\13q\ 5\10\0\0\0u-\0î \0\0\17o\b\f\0\0\0\13q [4]go1.f-\0î \0\0\17o\b\14\0\0\0\13q astaAcid-\0î \0\0\17o\ 1\1c\0\0\0\13q\ 1u6\0î \0\0\13o
+\13q\ 5 \0\0\0u\84\0q\14weak.type.*[4]"".fastaAcid\0-\0î \0\0\17o\b8\0\0\0\12q\13q\0\14x-\0î \0\0\17o\b@\0\0\0\12q\13q\01x-\0î \0\0\17o\bH\0\0\0\12q\13q\0 x-\0î \0\0\17o\bP\0\0\0\12q\ 5\ 4\0\0\0u6\0î \0\0\13o
+\12q\ 5X\0\0\0u\84\0q\15type.func(*uint8, int64, int64) []uint8\0\84\0q\16type.*runtime.FuncType\0-\0î \0\0\13o\b\15q\13q\0\16x-\0î \0\0\17o\b\b\0\0\0\15q\17q\0\10\0\0\0\15x-\0î \0\0\17o\b\10\0\0\0\15q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\15q\ 5IzK|u-\0î \0\0\17o\ 1\1c\0\0\0\15q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\15q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\15q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\15q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0\15q\17q\0@\ 1\0\0\vx\84\0q\17go.string."func(*uint8, int64, int64) []uint8"\0-\0î \0\0\17o\b(\0\0\0\15q\13q\0\17x-\0î \0\0\13o\b\17q\17q\0\f\0\0\0\17x-\0î \0\0\17o\ 4\b\0\0\0\17q\ 5"\0\0\0u-\0î \0\0\17o\b\f\0\0\0\17q func(*ui-\0î \0\0\17o\b\14\0\0\0\17q nt8, int-\0î \0\0\17o\b\1c\0\0\0\17q 64, int6-\0î \0\0\17o\b$\0\0\0\17q 4) []uin-\0î \0\0\17o\ 2,\0\0\0\17q t8\0\0\0\0\0\0-\0î \0\0\17o\ 1.\0\0\0\17q\ 1u6\0î \0\0\13o
+\17q\ 50\0\0\0u\84\0q\18weak.type.*func(*uint8, int64, int64) []uint8\0-\0î \0\0\17o\b8\0\0\0\15q\13q\0\18x-\0î \0\0\17o\ 1@\0\0\0\15q\ 1u-\0î \0\0\17o\bH\0\0\0\15q\17q\0h\0\0\0\15x-\0î \0\0\17o\ 4P\0\0\0\15q\ 5\ 3\0\0\0u-\0î \0\0\17o\ 4T\0\0\0\15q\ 5\ 3\0\0\0u-\0î \0\0\17o\bX\0\0\0\15q\17q\0\80\0\0\0\15x-\0î \0\0\17o\ 4`\0\0\0\15q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0\15q\ 5\ 1\0\0\0u\84\0q\19type.*uint8\0-\0î \0\0\17o\bh\0\0\0\15q\13q\0\19x\84\0q\1atype.int64\0-\0î \0\0\17o\bp\0\0\0\15q\13q\0\1ax-\0î \0\0\17o\bx\0\0\0\15q\13q\0\1ax\84\0q\etype.[]uint8\0-\0î \0\0\17o\b\80\0\0\0\15q\13q\0\ex6\0î \0\0\13o
+\15q\ 5\88\0\0\0u\84\0q\1ctype.*[15]"".fastaAcid\0\84\0q\1dtype.*runtime.PtrType\0-\0î \0\0\13o\b\1cq\13q\0\1dx-\0î \0\0\17o\b\b\0\0\0\1cq\17q\0\10\0\0\0\1cx-\0î \0\0\17o\b\10\0\0\0\1cq\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\1cq\ 5\18Á2\u-\0î \0\0\17o\ 1\1c\0\0\0\1cq\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\1cq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\1cq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\1cq\ 5\16\0\0\0u-\0î \0\0\17o\b \0\0\0\1cq\17q\0\80\0\0\0\vx\84\0q\1ego.string."*[15]go1.fastaAcid"\0-\0î \0\0\17o\b(\0\0\0\1cq\13q\0\1ex-\0î \0\0\13o\b\1eq\17q\0\f\0\0\0\1ex-\0î \0\0\17o\ 4\b\0\0\0\1eq\ 5\12\0\0\0u-\0î \0\0\17o\b\f\0\0\0\1eq *[15]go1-\0î \0\0\17o\b\14\0\0\0\1eq .fastaAc-\0î \0\0\17o\ 2\1c\0\0\0\1eq id\0\0\0\0\0\0-\0î \0\0\17o\ 1\1e\0\0\0\1eq\ 1u6\0î \0\0\13o
+\1eq\ 5 \0\0\0u\84\0q\1fweak.type.**[15]"".fastaAcid\0-\0î \0\0\17o\b8\0\0\0\1cq\13q\0\1fx-\0î \0\0\17o\b@\0\0\0\1cq\13q\0\ ex6\0î \0\0\13o
+\1cq\ 5H\0\0\0u\84\0q type.func(*uint8) *[15]"".fastaAcid\0-\0î \0\0\13o\b q\13q\0\16x-\0î \0\0\17o\b\b\0\0\0 q\17q\0\10\0\0\0 x-\0î \0\0\17o\b\10\0\0\0 q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0 q\ 5}æ"lu-\0î \0\0\17o\ 1\1c\0\0\0 q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0 q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0 q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0 q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0 q\17q\0@\ 1\0\0\vx\84\0q!go.string."func(*uint8) *[15]go1.fastaAcid"\0-\0î \0\0\17o\b(\0\0\0 q\13q\0!x-\0î \0\0\13o\b!q\17q\0\f\0\0\0!x-\0î \0\0\17o\ 4\b\0\0\0!q\ 5\1f\0\0\0u-\0î \0\0\17o\b\f\0\0\0!q func(*ui-\0î \0\0\17o\b\14\0\0\0!q nt8) *[1-\0î \0\0\17o\b\1c\0\0\0!q 5]go1.fa-\0î \0\0\17o\a$\0\0\0!q staAcid\0-\0î \0\0\17o\ 1+\0\0\0!q\ 1u6\0î \0\0\13o
+!q\ 50\0\0\0u\84\0q"weak.type.*func(*uint8) *[15]"".fastaAcid\0-\0î \0\0\17o\b8\0\0\0 q\13q\0"x-\0î \0\0\17o\ 1@\0\0\0 q\ 1u-\0î \0\0\17o\bH\0\0\0 q\17q\0h\0\0\0 x-\0î \0\0\17o\ 4P\0\0\0 q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4T\0\0\0 q\ 5\ 1\0\0\0u-\0î \0\0\17o\bX\0\0\0 q\17q\0p\0\0\0 x-\0î \0\0\17o\ 4`\0\0\0 q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0 q\ 5\ 1\0\0\0u-\0î \0\0\17o\bh\0\0\0 q\13q\0\19x-\0î \0\0\17o\bp\0\0\0 q\13q\0\1cx6\0î \0\0\13o
+ q\ 5x\0\0\0u\84\0q#type.*[4]"".fastaAcid\0-\0î \0\0\13o\b#q\13q\0\1dx-\0î \0\0\17o\b\b\0\0\0#q\17q\0\10\0\0\0#x-\0î \0\0\17o\b\10\0\0\0#q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0#qE`%\ 6è\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0#q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0#q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0#q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0#q\ 5\16\0\0\0u-\0î \0\0\17o\b \0\0\0#q\17q\0\80\0\0\0\vx\84\0q$go.string."*[4]go1.fastaAcid"\0-\0î \0\0\17o\b(\0\0\0#q\13q\0$x-\0î \0\0\13o\b$q\17q\0\f\0\0\0$x-\0î \0\0\17o\ 4\b\0\0\0$q\ 5\11\0\0\0u-\0î \0\0\17o\b\f\0\0\0$q *[4]go1.-\0î \0\0\17o\b\14\0\0\0$q fastaAci-\0î \0\0\17o\ 1\1c\0\0\0$q d\0\0\0\0\0\0\0-\0î \0\0\17o\ 1\1d\0\0\0$q\ 1u6\0î \0\0\13o
+$q\ 5 \0\0\0u\84\0q%weak.type.**[4]"".fastaAcid\0-\0î \0\0\17o\b8\0\0\0#q\13q\0%x-\0î \0\0\17o\b@\0\0\0#q\13q\0\12x6\0î \0\0\13o
+#q\ 5H\0\0\0u\84\0q&type.func(*uint8) *[4]"".fastaAcid\0-\0î \0\0\13o\b&q\13q\0\16x-\0î \0\0\17o\b\b\0\0\0&q\17q\0\10\0\0\0&x-\0î \0\0\17o\b\10\0\0\0&q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0&qE\94Ь\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0&q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0&q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0&q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0&q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0&q\17q\0@\ 1\0\0\vx\84\0q'go.string."func(*uint8) *[4]go1.fastaAcid"\0-\0î \0\0\17o\b(\0\0\0&q\13q\0'x-\0î \0\0\13o\b'q\17q\0\f\0\0\0'x-\0î \0\0\17o\ 4\b\0\0\0'q\ 5\1e\0\0\0u-\0î \0\0\17o\b\f\0\0\0'q func(*ui-\0î \0\0\17o\b\14\0\0\0'q nt8) *[4-\0î \0\0\17o\b\1c\0\0\0'q ]go1.fas-\0î \0\0\17o\ 6$\0\0\0'q taAcid\0\0-\0î \0\0\17o\ 1*\0\0\0'q\ 1u6\0î \0\0\13o
+'q\ 50\0\0\0u\84\0q(weak.type.*func(*uint8) *[4]"".fastaAcid\0-\0î \0\0\17o\b8\0\0\0&q\13q\0(x-\0î \0\0\17o\ 1@\0\0\0&q\ 1u-\0î \0\0\17o\bH\0\0\0&q\17q\0h\0\0\0&x-\0î \0\0\17o\ 4P\0\0\0&q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4T\0\0\0&q\ 5\ 1\0\0\0u-\0î \0\0\17o\bX\0\0\0&q\17q\0p\0\0\0&x-\0î \0\0\17o\ 4`\0\0\0&q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0&q\ 5\ 1\0\0\0u-\0î \0\0\17o\bh\0\0\0&q\13q\0\19x-\0î \0\0\17o\bp\0\0\0&q\13q\0#x6\0î \0\0\13o
+&q\ 5x\0\0\0u\84\0q)type.func(*"".fastaBuffer, []uint8, int)\0-\0î \0\0\13o\b)q\13q\0\16x-\0î \0\0\17o\b\b\0\0\0)q\17q\0\10\0\0\0)x-\0î \0\0\17o\b\10\0\0\0)q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0)qE5$½¦\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0)q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0)q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0)q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0)q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0)q\17q\0@\ 1\0\0\vx\84\0q*go.string."func(*go1.fastaBuffer, []uint8, int)"\0-\0î \0\0\17o\b(\0\0\0)q\13q\0*x-\0î \0\0\13o\b*q\17q\0\f\0\0\0*x-\0î \0\0\17o\ 4\b\0\0\0*q\ 5$\0\0\0u-\0î \0\0\17o\b\f\0\0\0*q func(*go-\0î \0\0\17o\b\14\0\0\0*q 1.fastaB-\0î \0\0\17o\b\1c\0\0\0*q uffer, [-\0î \0\0\17o\b$\0\0\0*q ]uint8, -\0î \0\0\17o\ 4,\0\0\0*q int)\0\0\0\0-\0î \0\0\17o\ 10\0\0\0*q\ 1u6\0î \0\0\13o
+*q\ 58\0\0\0u\84\0q+weak.type.*func(*"".fastaBuffer, []uint8, int)\0-\0î \0\0\17o\b8\0\0\0)q\13q\0+x-\0î \0\0\17o\ 1@\0\0\0)q\ 1u-\0î \0\0\17o\bH\0\0\0)q\17q\0h\0\0\0)x-\0î \0\0\17o\ 4P\0\0\0)q\ 5\ 3\0\0\0u-\0î \0\0\17o\ 4T\0\0\0)q\ 5\ 3\0\0\0u-\0î \0\0\17o\bX\0\0\0)q\17q\0\80\0\0\0)x-\0î \0\0\17o\ 4`\0\0\0)q\ 1u-\0î \0\0\17o\ 4d\0\0\0)q\ 1u\84\0q,type.*"".fastaBuffer\0-\0î \0\0\17o\bh\0\0\0)q\13q\0,x-\0î \0\0\17o\bp\0\0\0)q\13q\0\ex\84\0q-type.int\0-\0î \0\0\17o\bx\0\0\0)q\13q\0-x6\0î \0\0\13o
+)q\ 5\80\0\0\0u\84\0q.type.func(*"".fastaBuffer, []"".fastaAcid, int)\0-\0î \0\0\13o\b.q\13q\0\16x-\0î \0\0\17o\b\b\0\0\0.q\17q\0\10\0\0\0.x-\0î \0\0\17o\b\10\0\0\0.q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0.q\ 5z"+\ 5u-\0î \0\0\17o\ 1\1c\0\0\0.q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0.q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0.q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0.q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0.q\17q\0@\ 1\0\0\vx\84\0q/go.string."func(*go1.fastaBuffer, []go1.fastaAcid, int)"\0-\0î \0\0\17o\b(\0\0\0.q\13q\0/x-\0î \0\0\13o\b/q\17q\0\f\0\0\0/x-\0î \0\0\17o\ 4\b\0\0\0/q\ 5,\0\0\0u-\0î \0\0\17o\b\f\0\0\0/q func(*go-\0î \0\0\17o\b\14\0\0\0/q 1.fastaB-\0î \0\0\17o\b\1c\0\0\0/q uffer, [-\0î \0\0\17o\b$\0\0\0/q ]go1.fas-\0î \0\0\17o\b,\0\0\0/q taAcid, -\0î \0\0\17o\ 44\0\0\0/q int)\0\0\0\0-\0î \0\0\17o\ 18\0\0\0/q\ 1u6\0î \0\0\13o
+/q\ 5@\0\0\0u\84\0q0weak.type.*func(*"".fastaBuffer, []"".fastaAcid, int)\0-\0î \0\0\17o\b8\0\0\0.q\13q\00x-\0î \0\0\17o\ 1@\0\0\0.q\ 1u-\0î \0\0\17o\bH\0\0\0.q\17q\0h\0\0\0.x-\0î \0\0\17o\ 4P\0\0\0.q\ 5\ 3\0\0\0u-\0î \0\0\17o\ 4T\0\0\0.q\ 5\ 3\0\0\0u-\0î \0\0\17o\bX\0\0\0.q\17q\0\80\0\0\0.x-\0î \0\0\17o\ 4`\0\0\0.q\ 1u-\0î \0\0\17o\ 4d\0\0\0.q\ 1u-\0î \0\0\17o\bh\0\0\0.q\13q\0,x-\0î \0\0\17o\bp\0\0\0.q\13q\0 x-\0î \0\0\17o\bx\0\0\0.q\13q\0-x6\0î \0\0\13o
+.q\ 5\80\0\0\0u\84\0q1type.method(*"".fastaBuffer) func()\0-\0î \0\0\13o\b1q\13q\0\16x-\0î \0\0\17o\b\b\0\0\01q\17q\0\10\0\0\01x-\0î \0\0\17o\b\10\0\0\01q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\01qEö¼\82ö\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\01q\ 1u-\0î \0\0\17o\ 1\1d\0\0\01q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\01q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\01q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\01q\17q\0@\ 1\0\0\vx\84\0q\ 1go.string."method(*go1.fastaBuffer) func()"\0-\0î \0\0\17o\b(\0\0\01q\13q\0\ 1x-\0î \0\0\13o\b\ 1q\17q\0\f\0\0\0\ 1x-\0î \0\0\17o\ 4\b\0\0\0\ 1q\ 5\1f\0\0\0u-\0î \0\0\17o\b\f\0\0\0\ 1q method(*-\0î \0\0\17o\b\14\0\0\0\ 1q go1.fast-\0î \0\0\17o\b\1c\0\0\0\ 1q aBuffer)-\0î \0\0\17o\a$\0\0\0\ 1q func()\0-\0î \0\0\17o\ 1+\0\0\0\ 1q\ 1u6\0î \0\0\13o
+\ 1q\ 50\0\0\0u\84\0q\ 2weak.type.*method(*"".fastaBuffer) func()\0-\0î \0\0\17o\b8\0\0\01q\13q\0\ 2x-\0î \0\0\17o\ 1@\0\0\01q\ 1u-\0î \0\0\17o\bH\0\0\01q\17q\0h\0\0\01x-\0î \0\0\17o\ 4P\0\0\01q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4T\0\0\01q\ 5\ 1\0\0\0u-\0î \0\0\17o\bX\0\0\01q\17q\0p\0\0\01x-\0î \0\0\17o\ 4`\0\0\01q\ 1u-\0î \0\0\17o\ 4d\0\0\01q\ 1u-\0î \0\0\17o\bh\0\0\01q\13q\0,x6\0î \0\0\13o
+1q\ 5p\0\0\0u\84\0q\ 3type.interface {}\0\84\0q\ 4type.*runtime.InterfaceType\0-\0î \0\0\13o\b\ 3q\13q\0\ 4x-\0î \0\0\17o\b\b\0\0\0\ 3q\17q\0\10\0\0\0\ 3x-\0î \0\0\17o\b\10\0\0\0\ 3q\ 5\10\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\ 3q\ 5çW \18u-\0î \0\0\17o\ 1\1c\0\0\0\ 3q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\ 3q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\ 3q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\ 3q\ 5\14\0\0\0u-\0î \0\0\17o\b \0\0\0\ 3q\17q\0À\ 1\0\0\vx\84\0q\ 5go.string."interface {}"\0-\0î \0\0\17o\b(\0\0\0\ 3q\13q\0\ 5x-\0î \0\0\13o\b\ 5q\17q\0\f\0\0\0\ 5x-\0î \0\0\17o\ 4\b\0\0\0\ 5q\ 5\f\0\0\0u-\0î \0\0\17o\b\f\0\0\0\ 5q interfac-\0î \0\0\17o\ 4\14\0\0\0\ 5q e {}\0\0\0\0-\0î \0\0\17o\ 1\18\0\0\0\ 5q\ 1u6\0î \0\0\13o
+\ 5q\ 5 \0\0\0u\84\0q\ 6weak.type.*interface {}\0-\0î \0\0\17o\b8\0\0\0\ 3q\13q\0\ 6x-\0î \0\0\17o\b@\0\0\0\ 3q\17q\0P\0\0\0\ 3x-\0î \0\0\17o\ 4H\0\0\0\ 3q\ 1u-\0î \0\0\17o\ 4L\0\0\0\ 3q\ 1u6\0î \0\0\13o
+\ 3q\ 5P\0\0\0u\84\0q\atype.func(*uint8, string) interface {}\0-\0î \0\0\13o\b\aq\13q\0\16x-\0î \0\0\17o\b\b\0\0\0\aq\17q\0\10\0\0\0\ax-\0î \0\0\17o\b\10\0\0\0\aq\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\aqE\82×»û\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0\aq\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\aq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\aq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\aq\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0\aq\17q\0@\ 1\0\0\vx\84\0q\bgo.string."func(*uint8, string) interface {}"\0-\0î \0\0\17o\b(\0\0\0\aq\13q\0\bx-\0î \0\0\13o\b\bq\17q\0\f\0\0\0\bx-\0î \0\0\17o\ 4\b\0\0\0\bq\ 5!\0\0\0u-\0î \0\0\17o\b\f\0\0\0\bq func(*ui-\0î \0\0\17o\b\14\0\0\0\bq nt8, str-\0î \0\0\17o\b\1c\0\0\0\bq ing) int-\0î \0\0\17o\b$\0\0\0\bq erface {-\0î \0\0\17o\ 1,\0\0\0\bq }\0\0\0\0\0\0\0-\0î \0\0\17o\ 1-\0\0\0\bq\ 1u6\0î \0\0\13o
+\bq\ 50\0\0\0u\84\0q weak.type.*func(*uint8, string) interface {}\0-\0î \0\0\17o\b8\0\0\0\aq\13q\0 x-\0î \0\0\17o\ 1@\0\0\0\aq\ 1u-\0î \0\0\17o\bH\0\0\0\aq\17q\0h\0\0\0\ax-\0î \0\0\17o\ 4P\0\0\0\aq\ 5\ 2\0\0\0u-\0î \0\0\17o\ 4T\0\0\0\aq\ 5\ 2\0\0\0u-\0î \0\0\17o\bX\0\0\0\aq\17q\0x\0\0\0\ax-\0î \0\0\17o\ 4`\0\0\0\aq\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0\aq\ 5\ 1\0\0\0u-\0î \0\0\17o\bh\0\0\0\aq\13q\0\19x\84\0q
+type.string\0-\0î \0\0\17o\bp\0\0\0\aq\13q\0
+x-\0î \0\0\17o\bx\0\0\0\aq\13q\0\ 3x6\0î \0\0\13o
+\aq\ 5\80\0\0\0u\84\0q\vtype.func(interface {})\0-\0î \0\0\13o\b\vq\13q\0\16x-\0î \0\0\17o\b\b\0\0\0\vq\17q\0\10\0\0\0\vx-\0î \0\0\17o\b\10\0\0\0\vq\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\vq\ 5\86u\8e\1au-\0î \0\0\17o\ 1\1c\0\0\0\vq\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\vq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\vq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\vq\ 5\13\0\0\0u\84\0q\fruntime.algarray\0-\0î \0\0\17o\b \0\0\0\vq\17q\0@\ 1\0\0\fx\84\0q\rgo.string."func(interface {})"\0-\0î \0\0\17o\b(\0\0\0\vq\13q\0\rx-\0î \0\0\13o\b\rq\17q\0\f\0\0\0\rx-\0î \0\0\17o\ 4\b\0\0\0\rq\ 5\12\0\0\0u-\0î \0\0\17o\b\f\0\0\0\rq func(int-\0î \0\0\17o\b\14\0\0\0\rq erface {-\0î \0\0\17o\ 2\1c\0\0\0\rq })\0\0\0\0\0\0-\0î \0\0\17o\ 1\1e\0\0\0\rq\ 1u6\0î \0\0\13o
+\rq\ 5 \0\0\0u\84\0q\ eweak.type.*func(interface {})\0-\0î \0\0\17o\b8\0\0\0\vq\13q\0\ ex-\0î \0\0\17o\ 1@\0\0\0\vq\ 1u-\0î \0\0\17o\bH\0\0\0\vq\17q\0h\0\0\0\vx-\0î \0\0\17o\ 4P\0\0\0\vq\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4T\0\0\0\vq\ 5\ 1\0\0\0u-\0î \0\0\17o\bX\0\0\0\vq\17q\0p\0\0\0\vx-\0î \0\0\17o\ 4`\0\0\0\vq\ 1u-\0î \0\0\17o\ 4d\0\0\0\vq\ 1u-\0î \0\0\17o\bh\0\0\0\vq\13q\0\ 3x6\0î \0\0\13o
+\vq\ 5p\0\0\0u\84\0q\ ftype.method(*"".fastaBuffer) func(string)\0-\0î \0\0\13o\b\ fq\13q\0\16x-\0î \0\0\17o\b\b\0\0\0\ fq\17q\0\10\0\0\0\ fx-\0î \0\0\17o\b\10\0\0\0\ fq\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\ fqE\8aǹ¾\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0\ fq\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\ fq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\ fq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\ fq\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0\ fq\17q\0@\ 1\0\0\fx\84\0q\10go.string."method(*go1.fastaBuffer) func(string)"\0-\0î \0\0\17o\b(\0\0\0\ fq\13q\0\10x-\0î \0\0\13o\b\10q\17q\0\f\0\0\0\10x-\0î \0\0\17o\ 4\b\0\0\0\10q\ 5%\0\0\0u-\0î \0\0\17o\b\f\0\0\0\10q method(*-\0î \0\0\17o\b\14\0\0\0\10q go1.fast-\0î \0\0\17o\b\1c\0\0\0\10q aBuffer)-\0î \0\0\17o\b$\0\0\0\10q func(st-\0î \0\0\17o\ 5,\0\0\0\10q ring)\0\0\0-\0î \0\0\17o\ 11\0\0\0\10q\ 1u6\0î \0\0\13o
+\10q\ 58\0\0\0u\84\0q\11weak.type.*method(*"".fastaBuffer) func(string)\0-\0î \0\0\17o\b8\0\0\0\ fq\13q\0\11x-\0î \0\0\17o\ 1@\0\0\0\ fq\ 1u-\0î \0\0\17o\bH\0\0\0\ fq\17q\0h\0\0\0\ fx-\0î \0\0\17o\ 4P\0\0\0\ fq\ 5\ 2\0\0\0u-\0î \0\0\17o\ 4T\0\0\0\ fq\ 5\ 2\0\0\0u-\0î \0\0\17o\bX\0\0\0\ fq\17q\0x\0\0\0\ fx-\0î \0\0\17o\ 4`\0\0\0\ fq\ 1u-\0î \0\0\17o\ 4d\0\0\0\ fq\ 1u-\0î \0\0\17o\bh\0\0\0\ fq\13q\0,x-\0î \0\0\17o\bp\0\0\0\ fq\13q\0
+x6\0î \0\0\13o
+\ fq\ 5x\0\0\0u\84\0q\12type.func([]uint8, string) int\0-\0î \0\0\13o\b\12q\13q\0\16x-\0î \0\0\17o\b\b\0\0\0\12q\17q\0\10\0\0\0\12x-\0î \0\0\17o\b\10\0\0\0\12q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\12qE\9a©ÍÉ\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0\12q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\12q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\12q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\12q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0\12q\17q\0@\ 1\0\0\fx\84\0q\13go.string."func([]uint8, string) int"\0-\0î \0\0\17o\b(\0\0\0\12q\13q\0\13x-\0î \0\0\13o\b\13q\17q\0\f\0\0\0\13x-\0î \0\0\17o\ 4\b\0\0\0\13q\ 5\19\0\0\0u-\0î \0\0\17o\b\f\0\0\0\13q func([]u-\0î \0\0\17o\b\14\0\0\0\13q int8, st-\0î \0\0\17o\b\1c\0\0\0\13q ring) in-\0î \0\0\17o\ 1$\0\0\0\13q t\0\0\0\0\0\0\0-\0î \0\0\17o\ 1%\0\0\0\13q\ 1u6\0î \0\0\13o
+\13q\ 5(\0\0\0u\84\0q\14weak.type.*func([]uint8, string) int\0-\0î \0\0\17o\b8\0\0\0\12q\13q\0\14x-\0î \0\0\17o\ 1@\0\0\0\12q\ 1u-\0î \0\0\17o\bH\0\0\0\12q\17q\0h\0\0\0\12x-\0î \0\0\17o\ 4P\0\0\0\12q\ 5\ 2\0\0\0u-\0î \0\0\17o\ 4T\0\0\0\12q\ 5\ 2\0\0\0u-\0î \0\0\17o\bX\0\0\0\12q\17q\0x\0\0\0\12x-\0î \0\0\17o\ 4`\0\0\0\12q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0\12q\ 5\ 1\0\0\0u-\0î \0\0\17o\bh\0\0\0\12q\13q\0\ex-\0î \0\0\17o\bp\0\0\0\12q\13q\0
+x-\0î \0\0\17o\bx\0\0\0\12q\13q\0-x6\0î \0\0\13o
+\12q\ 5\80\0\0\0u\84\0q\15type.method(*"".fastaBuffer) func(int) []uint8\0-\0î \0\0\13o\b\15q\13q\0\16x-\0î \0\0\17o\b\b\0\0\0\15q\17q\0\10\0\0\0\15x-\0î \0\0\17o\b\10\0\0\0\15q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\15q\ 5ýz~:u-\0î \0\0\17o\ 1\1c\0\0\0\15q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\15q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\15q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\15q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0\15q\17q\0@\ 1\0\0\fx\84\0q\16go.string."method(*go1.fastaBuffer) func(int) []uint8"\0-\0î \0\0\17o\b(\0\0\0\15q\13q\0\16x-\0î \0\0\13o\b\16q\17q\0\f\0\0\0\16x-\0î \0\0\17o\ 4\b\0\0\0\16q\ 5*\0\0\0u-\0î \0\0\17o\b\f\0\0\0\16q method(*-\0î \0\0\17o\b\14\0\0\0\16q go1.fast-\0î \0\0\17o\b\1c\0\0\0\16q aBuffer)-\0î \0\0\17o\b$\0\0\0\16q func(in-\0î \0\0\17o\b,\0\0\0\16q t) []uin-\0î \0\0\17o\ 24\0\0\0\16q t8\0\0\0\0\0\0-\0î \0\0\17o\ 16\0\0\0\16q\ 1u6\0î \0\0\13o
+\16q\ 58\0\0\0u\84\0q\17weak.type.*method(*"".fastaBuffer) func(int) []uint8\0-\0î \0\0\17o\b8\0\0\0\15q\13q\0\17x-\0î \0\0\17o\ 1@\0\0\0\15q\ 1u-\0î \0\0\17o\bH\0\0\0\15q\17q\0h\0\0\0\15x-\0î \0\0\17o\ 4P\0\0\0\15q\ 5\ 2\0\0\0u-\0î \0\0\17o\ 4T\0\0\0\15q\ 5\ 2\0\0\0u-\0î \0\0\17o\bX\0\0\0\15q\17q\0x\0\0\0\15x-\0î \0\0\17o\ 4`\0\0\0\15q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0\15q\ 5\ 1\0\0\0u-\0î \0\0\17o\bh\0\0\0\15q\13q\0,x-\0î \0\0\17o\bp\0\0\0\15q\13q\0-x-\0î \0\0\17o\bx\0\0\0\15q\13q\0\ex6\0î \0\0\13o
+\15q\ 5\80\0\0\0u\84\0q\18type.func(*uint8, []uint8, []uint8) []uint8\0\84\0q\19type.*runtime.FuncType\0-\0î \0\0\13o\b\18q\13q\0\19x-\0î \0\0\17o\b\b\0\0\0\18q\17q\0\10\0\0\0\18x-\0î \0\0\17o\b\10\0\0\0\18q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\18q\ 5³\82p,u-\0î \0\0\17o\ 1\1c\0\0\0\18q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\18q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\18q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\18q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0\18q\17q\0@\ 1\0\0\fx\84\0q\1ago.string."func(*uint8, []uint8, []uint8) []uint8"\0-\0î \0\0\17o\b(\0\0\0\18q\13q\0\1ax-\0î \0\0\13o\b\1aq\17q\0\f\0\0\0\1ax-\0î \0\0\17o\ 4\b\0\0\0\1aq\ 5&\0\0\0u-\0î \0\0\17o\b\f\0\0\0\1aq func(*ui-\0î \0\0\17o\b\14\0\0\0\1aq nt8, []u-\0î \0\0\17o\b\1c\0\0\0\1aq int8, []-\0î \0\0\17o\b$\0\0\0\1aq uint8) [-\0î \0\0\17o\ 6,\0\0\0\1aq ]uint8\0\0-\0î \0\0\17o\ 12\0\0\0\1aq\ 1u6\0î \0\0\13o
+\1aq\ 58\0\0\0u\84\0q\eweak.type.*func(*uint8, []uint8, []uint8) []uint8\0-\0î \0\0\17o\b8\0\0\0\18q\13q\0\ex-\0î \0\0\17o\ 1@\0\0\0\18q\ 1u-\0î \0\0\17o\bH\0\0\0\18q\17q\0h\0\0\0\18x-\0î \0\0\17o\ 4P\0\0\0\18q\ 5\ 3\0\0\0u-\0î \0\0\17o\ 4T\0\0\0\18q\ 5\ 3\0\0\0u-\0î \0\0\17o\bX\0\0\0\18q\17q\0\80\0\0\0\18x-\0î \0\0\17o\ 4`\0\0\0\18q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0\18q\ 5\ 1\0\0\0u\84\0q\1ctype.*uint8\0-\0î \0\0\17o\bh\0\0\0\18q\13q\0\1cx\84\0q\1dtype.[]uint8\0-\0î \0\0\17o\bp\0\0\0\18q\13q\0\1dx-\0î \0\0\17o\bx\0\0\0\18q\13q\0\1dx-\0î \0\0\17o\b\80\0\0\0\18q\13q\0\1dx6\0î \0\0\13o
+\18q\ 5\88\0\0\0u\84\0q\1etype.func([]uint8, []uint8, uint32) int\0-\0î \0\0\13o\b\1eq\13q\0\19x-\0î \0\0\17o\b\b\0\0\0\1eq\17q\0\10\0\0\0\1ex-\0î \0\0\17o\b\10\0\0\0\1eq\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\1eqEJôv¢\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0\1eq\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\1eq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\1eq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\1eq\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0\1eq\17q\0@\ 1\0\0\fx\84\0q\1fgo.string."func([]uint8, []uint8, uint32) int"\0-\0î \0\0\17o\b(\0\0\0\1eq\13q\0\1fx-\0î \0\0\13o\b\1fq\17q\0\f\0\0\0\1fx-\0î \0\0\17o\ 4\b\0\0\0\1fq\ 5"\0\0\0u-\0î \0\0\17o\b\f\0\0\0\1fq func([]u-\0î \0\0\17o\b\14\0\0\0\1fq int8, []-\0î \0\0\17o\b\1c\0\0\0\1fq uint8, u-\0î \0\0\17o\b$\0\0\0\1fq int32) i-\0î \0\0\17o\ 2,\0\0\0\1fq nt\0\0\0\0\0\0-\0î \0\0\17o\ 1.\0\0\0\1fq\ 1u6\0î \0\0\13o
+\1fq\ 50\0\0\0u\84\0q weak.type.*func([]uint8, []uint8, uint32) int\0-\0î \0\0\17o\b8\0\0\0\1eq\13q\0 x-\0î \0\0\17o\ 1@\0\0\0\1eq\ 1u-\0î \0\0\17o\bH\0\0\0\1eq\17q\0h\0\0\0\1ex-\0î \0\0\17o\ 4P\0\0\0\1eq\ 5\ 3\0\0\0u-\0î \0\0\17o\ 4T\0\0\0\1eq\ 5\ 3\0\0\0u-\0î \0\0\17o\bX\0\0\0\1eq\17q\0\80\0\0\0\1ex-\0î \0\0\17o\ 4`\0\0\0\1eq\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0\1eq\ 5\ 1\0\0\0u-\0î \0\0\17o\bh\0\0\0\1eq\13q\0\1dx-\0î \0\0\17o\bp\0\0\0\1eq\13q\0\1dx\84\0q!type.uint32\0-\0î \0\0\17o\bx\0\0\0\1eq\13q\0!x-\0î \0\0\17o\b\80\0\0\0\1eq\13q\0-x6\0î \0\0\13o
+\1eq\ 5\88\0\0\0u\84\0q"type.[]*"".fastaAcid\0\84\0q#type.*runtime.SliceType\0-\0î \0\0\13o\b"q\13q\0#x-\0î \0\0\17o\b\b\0\0\0"q\17q\0\10\0\0\0"x-\0î \0\0\17o\b\10\0\0\0"q\ 5\10\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0"q\ 5\14"t\1du-\0î \0\0\17o\ 1\1c\0\0\0"q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0"q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0"q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0"q\ 5\17\0\0\0u-\0î \0\0\17o\b \0\0\0"q\17q\0à\ 1\0\0\fx\84\0q$go.string."[]*go1.fastaAcid"\0-\0î \0\0\17o\b(\0\0\0"q\13q\0$x-\0î \0\0\13o\b$q\17q\0\f\0\0\0$x-\0î \0\0\17o\ 4\b\0\0\0$q\ 5\10\0\0\0u-\0î \0\0\17o\b\f\0\0\0$q []*go1.f-\0î \0\0\17o\b\14\0\0\0$q astaAcid-\0î \0\0\17o\ 1\1c\0\0\0$q\ 1u6\0î \0\0\13o
+$q\ 5 \0\0\0u\84\0q%weak.type.*[]*"".fastaAcid\0-\0î \0\0\17o\b8\0\0\0"q\13q\0%x\84\0q&type.*"".fastaAcid\0-\0î \0\0\17o\b@\0\0\0"q\13q\0&x6\0î \0\0\13o
+"q\ 5H\0\0\0u\84\0q'type.[4096]*"".fastaAcid\0\84\0q(type.*runtime.ArrayType\0-\0î \0\0\13o\b'q\13q\0(x-\0î \0\0\17o\b\b\0\0\0'q\17q\0\10\0\0\0'x-\0î \0\0\17o\b\10\0\0\0'q\ 5\0\80\0\0u-\0î \0\0\17o\ 4\18\0\0\0'q\ 5Ý"ÉIu-\0î \0\0\17o\ 1\1c\0\0\0'q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0'q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0'q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0'q\ 5\11\0\0\0u-\0î \0\0\17o\b \0\0\0'q\13q\0\fx\84\0q)go.string."[4096]*go1.fastaAcid"\0-\0î \0\0\17o\b(\0\0\0'q\13q\0)x-\0î \0\0\13o\b)q\17q\0\f\0\0\0)x-\0î \0\0\17o\ 4\b\0\0\0)q\ 5\14\0\0\0u-\0î \0\0\17o\b\f\0\0\0)q [4096]*g-\0î \0\0\17o\b\14\0\0\0)q o1.fasta-\0î \0\0\17o\ 4\1c\0\0\0)q Acid\0\0\0\0-\0î \0\0\17o\ 1 \0\0\0)q\ 1u6\0î \0\0\13o
+)q\ 5(\0\0\0u\84\0q*weak.type.*[4096]*"".fastaAcid\0-\0î \0\0\17o\b8\0\0\0'q\13q\0*x-\0î \0\0\17o\b@\0\0\0'q\13q\0&x-\0î \0\0\17o\bH\0\0\0'q\13q\0"x-\0î \0\0\17o\bP\0\0\0'q\ 5\0\10\0\0u6\0î \0\0\13o
+'q\ 5X\0\0\0u\84\0q+type.*[4096]*"".fastaAcid\0\84\0q,type.*runtime.PtrType\0-\0î \0\0\13o\b+q\13q\0,x-\0î \0\0\17o\b\b\0\0\0+q\17q\0\10\0\0\0+x-\0î \0\0\17o\b\10\0\0\0+q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0+q\ 5øe 'u-\0î \0\0\17o\ 1\1c\0\0\0+q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0+q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0+q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0+q\ 5\16\0\0\0u-\0î \0\0\17o\b \0\0\0+q\17q\0\80\0\0\0\fx\84\0q-go.string."*[4096]*go1.fastaAcid"\0-\0î \0\0\17o\b(\0\0\0+q\13q\0-x-\0î \0\0\13o\b-q\17q\0\f\0\0\0-x-\0î \0\0\17o\ 4\b\0\0\0-q\ 5\15\0\0\0u-\0î \0\0\17o\b\f\0\0\0-q *[4096]*-\0î \0\0\17o\b\14\0\0\0-q go1.fast-\0î \0\0\17o\ 5\1c\0\0\0-q aAcid\0\0\0-\0î \0\0\17o\ 1!\0\0\0-q\ 1u6\0î \0\0\13o
+-q\ 5(\0\0\0u\84\0q.weak.type.**[4096]*"".fastaAcid\0-\0î \0\0\17o\b8\0\0\0+q\13q\0.x-\0î \0\0\17o\b@\0\0\0+q\13q\0'x6\0î \0\0\13o
++q\ 5H\0\0\0u\84\0q/type.func([]"".fastaAcid) *[4096]*"".fastaAcid\0-\0î \0\0\13o\b/q\13q\0\19x-\0î \0\0\17o\b\b\0\0\0/q\17q\0\10\0\0\0/x-\0î \0\0\17o\b\10\0\0\0/q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0/q\ 5\80b/:u-\0î \0\0\17o\ 1\1c\0\0\0/q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0/q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0/q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0/q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0/q\17q\0@\ 1\0\0\fx\84\0q0go.string."func([]go1.fastaAcid) *[4096]*go1.fastaAcid"\0-\0î \0\0\17o\b(\0\0\0/q\13q\00x-\0î \0\0\13o\b0q\17q\0\f\0\0\00x-\0î \0\0\17o\ 4\b\0\0\00q\ 5+\0\0\0u-\0î \0\0\17o\b\f\0\0\00q func([]g-\0î \0\0\17o\b\14\0\0\00q o1.fasta-\0î \0\0\17o\b\1c\0\0\00q Acid) *[-\0î \0\0\17o\b$\0\0\00q 4096]*go-\0î \0\0\17o\b,\0\0\00q 1.fastaA-\0î \0\0\17o\ 34\0\0\00q cid\0\0\0\0\0-\0î \0\0\17o\ 17\0\0\00q\ 1u6\0î \0\0\13o
+0q\ 58\0\0\0u\84\0q1weak.type.*func([]"".fastaAcid) *[4096]*"".fastaAcid\0-\0î \0\0\17o\b8\0\0\0/q\13q\01x-\0î \0\0\17o\ 1@\0\0\0/q\ 1u-\0î \0\0\17o\bH\0\0\0/q\17q\0h\0\0\0/x-\0î \0\0\17o\ 4P\0\0\0/q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4T\0\0\0/q\ 5\ 1\0\0\0u-\0î \0\0\17o\bX\0\0\0/q\17q\0p\0\0\0/x-\0î \0\0\17o\ 4`\0\0\0/q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0/q\ 5\ 1\0\0\0u\84\0q\ 1type.[]"".fastaAcid\0-\0î \0\0\17o\bh\0\0\0/q\13q\0\ 1x-\0î \0\0\17o\bp\0\0\0/q\13q\0+x6\0î \0\0\13o
+/q\ 5x\0\0\0u\84\0q\ 2type.func(*uint8) *[4096]*"".fastaAcid\0-\0î \0\0\13o\b\ 2q\13q\0\19x-\0î \0\0\17o\b\b\0\0\0\ 2q\17q\0\10\0\0\0\ 2x-\0î \0\0\17o\b\10\0\0\0\ 2q\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\ 2qE<\ fQ¯\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0\ 2q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\ 2q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\ 2q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\ 2q\ 5\13\0\0\0u-\0î \0\0\17o\b \0\0\0\ 2q\17q\0@\ 1\0\0\fx\84\0q\ 3go.string."func(*uint8) *[4096]*go1.fastaAcid"\0-\0î \0\0\17o\b(\0\0\0\ 2q\13q\0\ 3x-\0î \0\0\13o\b\ 3q\17q\0\f\0\0\0\ 3x-\0î \0\0\17o\ 4\b\0\0\0\ 3q\ 5"\0\0\0u-\0î \0\0\17o\b\f\0\0\0\ 3q func(*ui-\0î \0\0\17o\b\14\0\0\0\ 3q nt8) *[4-\0î \0\0\17o\b\1c\0\0\0\ 3q 096]*go1-\0î \0\0\17o\b$\0\0\0\ 3q .fastaAc-\0î \0\0\17o\ 2,\0\0\0\ 3q id\0\0\0\0\0\0-\0î \0\0\17o\ 1.\0\0\0\ 3q\ 1u6\0î \0\0\13o
+\ 3q\ 50\0\0\0u\84\0q\ 4weak.type.*func(*uint8) *[4096]*"".fastaAcid\0-\0î \0\0\17o\b8\0\0\0\ 2q\13q\0\ 4x-\0î \0\0\17o\ 1@\0\0\0\ 2q\ 1u-\0î \0\0\17o\bH\0\0\0\ 2q\17q\0h\0\0\0\ 2x-\0î \0\0\17o\ 4P\0\0\0\ 2q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4T\0\0\0\ 2q\ 5\ 1\0\0\0u-\0î \0\0\17o\bX\0\0\0\ 2q\17q\0p\0\0\0\ 2x-\0î \0\0\17o\ 4`\0\0\0\ 2q\ 5\ 1\0\0\0u-\0î \0\0\17o\ 4d\0\0\0\ 2q\ 5\ 1\0\0\0u-\0î \0\0\17o\bh\0\0\0\ 2q\13q\0\1cx-\0î \0\0\17o\bp\0\0\0\ 2q\13q\0+x6\0î \0\0\13o
+\ 2q\ 5x\0\0\0u\84\0q\ 5type.[]*"".JSONNode\0-\0î \0\0\13o\b\ 5q\13q\0#x-\0î \0\0\17o\b\b\0\0\0\ 5q\17q\0\10\0\0\0\ 5x-\0î \0\0\17o\b\10\0\0\0\ 5q\ 5\10\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\ 5qEX@û\86\0\0\0\0u-\0î \0\0\17o\ 1\1c\0\0\0\ 5q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\ 5q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\ 5q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\ 5q\ 5\17\0\0\0u-\0î \0\0\17o\b \0\0\0\ 5q\17q\0à\ 1\0\0\fx\84\0q\ 6go.string."[]*go1.JSONNode"\0-\0î \0\0\17o\b(\0\0\0\ 5q\13q\0\ 6x-\0î \0\0\13o\b\ 6q\17q\0\f\0\0\0\ 6x-\0î \0\0\17o\ 4\b\0\0\0\ 6q\ 5\ f\0\0\0u-\0î \0\0\17o\b\f\0\0\0\ 6q []*go1.J-\0î \0\0\17o\a\14\0\0\0\ 6q SONNode\0-\0î \0\0\17o\ 1\e\0\0\0\ 6q\ 1u6\0î \0\0\13o
+\ 6q\ 5 \0\0\0u\84\0q\aweak.type.*[]*"".JSONNode\0-\0î \0\0\17o\b8\0\0\0\ 5q\13q\0\ax\84\0q\btype.*"".JSONNode\0-\0î \0\0\17o\b@\0\0\0\ 5q\13q\0\bx6\0î \0\0\13o
+\ 5q\ 5H\0\0\0u\84\0q type."".JSONNode\0\84\0q
+type.*runtime.StructType\0-\0î \0\0\13o\b q\13q\0
+x-\0î \0\0\17o\b\b\0\0\0 q\17q\0\10\0\0\0 x-\0î \0\0\17o\b\10\0\0\0 q\ 5H\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0 q\ 5\9aÝv,u-\0î \0\0\17o\ 1\1c\0\0\0 q\ 1u-\0î \0\0\17o\ 1\1d\0\0\0 q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0 q\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0 q\ 5\19\0\0\0u-\0î \0\0\17o\b \0\0\0 q\17q\0À\0\0\0\fx\84\0q\vgo.string."go1.JSONNode"\0-\0î \0\0\17o\b(\0\0\0 q\13q\0\vx-\0î \0\0\13o\b\vq\17q\0\f\0\0\0\vx-\0î \0\0\17o\ 4\b\0\0\0\vq\ 5\f\0\0\0u-\0î \0\0\17o\b\f\0\0\0\vq go1.JSON-\0î \0\0\17o\ 4\14\0\0\0\vq Node\0\0\0\0-\0î \0\0\17o\ 1\18\0\0\0\vq\ 1u6\0î \0\0\13o
+\vq\ 5 \0\0\0u-\0î \0\0\17o\b8\0\0\0 q\13q\0\bx-\0î \0\0\17o\b@\0\0\0 q\17q\0P\0\0\0 x-\0î \0\0\17o\ 4H\0\0\0 q\ 5\a\0\0\0u-\0î \0\0\17o\ 4L\0\0\0 q\ 5\a\0\0\0u\84\0q\fgo.string."Name"\0-\0î \0\0\17o\bP\0\0\0 q\13q\0\fx-\0î \0\0\13o\b\fq\17q\0\f\0\0\0\fx-\0î \0\0\17o\ 4\b\0\0\0\fq\ 5\ 4\0\0\0u-\0î \0\0\17o\ 4\f\0\0\0\fq Name\0\0\0\0-\0î \0\0\17o\ 1\10\0\0\0\fq\ 1u6\0î \0\0\13o
+\fq\ 5\18\0\0\0u-\0î \0\0\17o\bX\0\0\0 q\ 1u\84\0q\rtype.string\0-\0î \0\0\17o\b`\0\0\0 q\13q\0\rx\84\0q\ ego.string."json:\"name\""\0-\0î \0\0\17o\bh\0\0\0 q\13q\0\ ex-\0î \0\0\13o\b\ eq\17q\0\f\0\0\0\ ex-\0î \0\0\17o\ 4\b\0\0\0\ eq\ 5\v\0\0\0u-\0î \0\0\17o\b\f\0\0\0\ eq json:"na-\0î \0\0\17o\ 3\14\0\0\0\ eq me"\0\0\0\0\0-\0î \0\0\17o\ 1\17\0\0\0\ eq\ 1u6\0î \0\0\13o
+\ eq\ 5\18\0\0\0u-\0î \0\0\17o\bp\0\0\0 q\ 1u\84\0q\ fgo.string."Kids"\0-\0î \0\0\17o\bx\0\0\0 q\13q\0\ fx-\0î \0\0\13o\b\ fq\17q\0\f\0\0\0\ fx-\0î \0\0\17o\ 4\b\0\0\0\ fq\ 5\ 4\0\0\0u-\0î \0\0\17o\ 4\f\0\0\0\ fq Kids\0\0\0\0-\0î \0\0\17o\ 1\10\0\0\0\ fq\ 1u6\0î \0\0\13o
+\ fq\ 5\18\0\0\0u-\0î \0\0\17o\b\80\0\0\0 q\ 1u-\0î \0\0\17o\b\88\0\0\0 q\13q\0\ 5x\84\0q\10go.string."json:\"kids\""\0-\0î \0\0\17o\b\90\0\0\0 q\13q\0\10x-\0î \0\0\13o\b\10q\17q\0\f\0\0\0\10x-\0î \0\0\17o\ 4\b\0\0\0\10q\ 5\v\0\0\0u-\0î \0\0\17o\b\f\0\0\0\10q json:"ki-\0î \0\0\17o\ 3\14\0\0\0\10q ds"\0\0\0\0\0-\0î \0\0\17o\ 1\17\0\0\0\10q\ 1u6\0î \0\0\13o
+\10q\ 5\18\0\0\0u-\0î \0\0\17o\b\98\0\0\0 q\ 5\10\0\0\0u\84\0q\11go.string."CLWeight"\0-\0î \0\0\17o\b \0\0\0 q\13q\0\11x-\0î \0\0\13o\b\11q\17q\0\f\0\0\0\11x-\0î \0\0\17o\ 4\b\0\0\0\11q\ 5\b\0\0\0u-\0î \0\0\17o\b\f\0\0\0\11q CLWeight-\0î \0\0\17o\ 1\14\0\0\0\11q\ 1u6\0î \0\0\13o
+\11q\ 5\18\0\0\0u-\0î \0\0\17o\b¨\0\0\0 q\ 1u\84\0q\12type.float64\0-\0î \0\0\17o\b°\0\0\0 q\13q\0\12x\84\0q\13go.string."json:\"cl_weight\""\0-\0î \0\0\17o\b¸\0\0\0 q\13q\0\13x-\0î \0\0\13o\b\13q\17q\0\f\0\0\0\13x-\0î \0\0\17o\ 4\b\0\0\0\13q\ 5\10\0\0\0u-\0î \0\0\17o\b\f\0\0\0\13q json:"cl-\0î \0\0\17o\b\14\0\0\0\13q _weight"-\0î \0\0\17o\ 1\1c\0\0\0\13q\ 1u6\0î \0\0\13o
+\13q\ 5 \0\0\0u-\0î \0\0\17o\bÀ\0\0\0 q\ 5 \0\0\0u\84\0q\14go.string."Touches"\0-\0î \0\0\17o\bÈ\0\0\0 q\13q\0\14x-\0î \0\0\13o\b\14q\17q\0\f\0\0\0\14x-\0î \0\0\17o\ 4\b\0\0\0\14q\ 5\a\0\0\0u-\0î \0\0\17o\a\f\0\0\0\14q Touches\0-\0î \0\0\17o\ 1\13\0\0\0\14q\ 1u6\0î \0\0\13o
+\14q\ 5\18\0\0\0u-\0î \0\0\17o\bÐ\0\0\0 q\ 1u\84\0q\15type.int\0-\0î \0\0\17o\bØ\0\0\0 q\13q\0\15x\84\0q\16go.string."json:\"touches\""\0-\0î \0\0\17o\bà\0\0\0 q\13q\0\16x-\0î \0\0\13o\b\16q\17q\0\f\0\0\0\16x-\0î \0\0\17o\ 4\b\0\0\0\16q\ 5\ e\0\0\0u-\0î \0\0\17o\b\f\0\0\0\16q json:"to-\0î \0\0\17o\ 6\14\0\0\0\16q uches"\0\0-\0î \0\0\17o\ 1\1a\0\0\0\16q\ 1u6\0î \0\0\13o
+\16q\ 5 \0\0\0u-\0î \0\0\17o\bè\0\0\0 q\ 5(\0\0\0u\84\0q\17go.string."MinT"\0-\0î \0\0\17o\bð\0\0\0 q\13q\0\17x-\0î \0\0\13o\b\17q\17q\0\f\0\0\0\17x-\0î \0\0\17o\ 4\b\0\0\0\17q\ 5\ 4\0\0\0u-\0î \0\0\17o\ 4\f\0\0\0\17q MinT\0\0\0\0-\0î \0\0\17o\ 1\10\0\0\0\17q\ 1u6\0î \0\0\13o
+\17q\ 5\18\0\0\0u-\0î \0\0\17o\bø\0\0\0 q\ 1u\84\0q\18type.int64\0-\0î \0\0\17o\b\0\ 1\0\0 q\13q\0\18x\84\0q\19go.string."json:\"min_t\""\0-\0î \0\0\17o\b\b\ 1\0\0 q\13q\0\19x-\0î \0\0\13o\b\19q\17q\0\f\0\0\0\19x-\0î \0\0\17o\ 4\b\0\0\0\19q\ 5\f\0\0\0u-\0î \0\0\17o\b\f\0\0\0\19q json:"mi-\0î \0\0\17o\ 4\14\0\0\0\19q n_t"\0\0\0\0-\0î \0\0\17o\ 1\18\0\0\0\19q\ 1u6\0î \0\0\13o
+\19q\ 5 \0\0\0u-\0î \0\0\17o\b\10\ 1\0\0 q\ 50\0\0\0u\84\0q\1ago.string."MaxT"\0-\0î \0\0\17o\b\18\ 1\0\0 q\13q\0\1ax-\0î \0\0\13o\b\1aq\17q\0\f\0\0\0\1ax-\0î \0\0\17o\ 4\b\0\0\0\1aq\ 5\ 4\0\0\0u-\0î \0\0\17o\ 4\f\0\0\0\1aq MaxT\0\0\0\0-\0î \0\0\17o\ 1\10\0\0\0\1aq\ 1u6\0î \0\0\13o
+\1aq\ 5\18\0\0\0u-\0î \0\0\17o\b \ 1\0\0 q\ 1u-\0î \0\0\17o\b(\ 1\0\0 q\13q\0\18x\84\0q\ego.string."json:\"max_t\""\0-\0î \0\0\17o\b0\ 1\0\0 q\13q\0\ex-\0î \0\0\13o\b\eq\17q\0\f\0\0\0\ex-\0î \0\0\17o\ 4\b\0\0\0\eq\ 5\f\0\0\0u-\0î \0\0\17o\b\f\0\0\0\eq json:"ma-\0î \0\0\17o\ 4\14\0\0\0\eq x_t"\0\0\0\0-\0î \0\0\17o\ 1\18\0\0\0\eq\ 1u6\0î \0\0\13o
+\eq\ 5 \0\0\0u-\0î \0\0\17o\b8\ 1\0\0 q\ 58\0\0\0u\84\0q\1cgo.string."MeanT"\0-\0î \0\0\17o\b@\ 1\0\0 q\13q\0\1cx-\0î \0\0\13o\b\1cq\17q\0\f\0\0\0\1cx-\0î \0\0\17o\ 4\b\0\0\0\1cq\ 5\ 5\0\0\0u-\0î \0\0\17o\ 5\f\0\0\0\1cq MeanT\0\0\0-\0î \0\0\17o\ 1\11\0\0\0\1cq\ 1u6\0î \0\0\13o
+\1cq\ 5\18\0\0\0u-\0î \0\0\17o\bH\ 1\0\0 q\ 1u-\0î \0\0\17o\bP\ 1\0\0 q\13q\0\18x\84\0q\1dgo.string."json:\"mean_t\""\0-\0î \0\0\17o\bX\ 1\0\0 q\13q\0\1dx-\0î \0\0\13o\b\1dq\17q\0\f\0\0\0\1dx-\0î \0\0\17o\ 4\b\0\0\0\1dq\ 5\r\0\0\0u-\0î \0\0\17o\b\f\0\0\0\1dq json:"me-\0î \0\0\17o\ 5\14\0\0\0\1dq an_t"\0\0\0-\0î \0\0\17o\ 1\19\0\0\0\1dq\ 1u6\0î \0\0\13o
+\1dq\ 5 \0\0\0u-\0î \0\0\17o\b`\ 1\0\0 q\ 5@\0\0\0u-\0î \0\0\17o\b0\0\0\0 q\17q\0h\ 1\0\0 x\84\0q\1ego.string."JSONNode"\0-\0î \0\0\17o\bh\ 1\0\0 q\13q\0\1ex-\0î \0\0\13o\b\1eq\17q\0\f\0\0\0\1ex-\0î \0\0\17o\ 4\b\0\0\0\1eq\ 5\b\0\0\0u-\0î \0\0\17o\b\f\0\0\0\1eq JSONNode-\0î \0\0\17o\ 1\14\0\0\0\1eq\ 1u6\0î \0\0\13o
+\1eq\ 5\18\0\0\0u\84\0q\1fgo.importpath."".\0-\0î \0\0\17o\bp\ 1\0\0 q\13q\0\1fx-\0î \0\0\17o\bx\ 1\0\0 q\17q\0\88\ 1\0\0 x-\0î \0\0\17o\ 4\80\ 1\0\0 q\ 1u-\0î \0\0\17o\ 4\84\ 1\0\0 q\ 1u6\0î \0\0\13o\b q\ 5\88\ 1\0\0u-\0î \0\0\13o\b\bq\13q\0,x-\0î \0\0\17o\b\b\0\0\0\bq\17q\0\10\0\0\0\bx-\0î \0\0\17o\b\10\0\0\0\bq\ 5\b\0\0\0u-\0î \0\0\17o\ 4\18\0\0\0\bq\ 5\92Ì/\ru-\0î \0\0\17o\ 1\1c\0\0\0\bq\ 1u-\0î \0\0\17o\ 1\1d\0\0\0\bq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1e\0\0\0\bq\ 5\b\0\0\0u-\0î \0\0\17o\ 1\1f\0\0\0\bq\ 5\16\0\0\0u\84\0q runtime.algarray\0-\0î \0\0\17o\b \0\0\0\bq\17q\0\80\0\0\0 x\84\0q!go.string."*go1.JSONNode"\0-\0î \0\0\17o\b(\0\0\0\bq\13q\0!x-\0î \0\0\13o\b!q\17q\0\f\0\0\0!x-\0î \0\0\17o\ 4\b\0\0\0!q\ 5\r\0\0\0u-\0î \0\0\17o\b\f\0\0\0!q *go1.JSO-\0î \0\0\17o\ 5\14\0\0\0!q NNode\0\0\0-\0î \0\0\17o\ 1\19\0\0\0!q\ 1u6\0î \0\0\13o
+!q\ 5 \0\0\0u\84\0q"weak.type.**"".JSONNode\0-\0î \0\0\17o\b8\0\0\0\bq\13q\0"x-\0î \0\0\17o\b@\0\0\0\bq\13q\0 x6\0î \0\0\13o\b\bq\ 5H\0\0\0u\84\0q#type..alg."".JSONResponse\0\84\0q$type..hash."".JSONResponse\0-\0\ 1\0\0\0\13o\b#q\13q\0$x\84\0q%type..eq."".JSONResponse\0-\0\ 1\0\0\0\17o\b\b\0\0\0#q\13q\0%x\84\0q&runtime.memprint\0-\0\ 1\0\0\0\17o\b\10\0\0\0#q\13q\0&x\84\0q'runtime.memcopy\0-\0\ 1\0\0\0\17o\b\18\0\0\0#q\13q\0'x6\0\ 1\0\0\0\13o
+#q\ 5 \0\0\0u\84\0q(type."".JSONResponse\0-\0\ 1\0\0\0\13o\b(q\13q\0
+x-\0\ 1\0\0\0\17o\b\b\0\0\0(q\17q\0\10\0\0\0(x-\0\ 1\0\0\0\17o\b\10\0\0\0(q\ 5\18\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0(q\ 5Þ\9fÑ\bu-\0\ 1\0\0\0\17o\ 1\1c\0\0\0(q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0(q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0(q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0(q\ 5\19\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0(q\13q\0#x\84\0q)go.string."go1.JSONResponse"\0-\0\ 1\0\0\0\17o\b(\0\0\0(q\13q\0)x-\0\ 1\0\0\0\13o\b)q\17q\0\f\0\0\0)x-\0\ 1\0\0\0\17o\ 4\b\0\0\0)q\ 5\10\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0)q go1.JSON-\0\ 1\0\0\0\17o\b\14\0\0\0)q Response-\0\ 1\0\0\0\17o\ 1\1c\0\0\0)q\ 1u6\0\ 1\0\0\0\13o
+)q\ 5 \0\0\0u\84\0q*type.*"".JSONResponse\0-\0\ 1\0\0\0\17o\b8\0\0\0(q\13q\0*x-\0\ 1\0\0\0\17o\b@\0\0\0(q\17q\0P\0\0\0(x-\0\ 1\0\0\0\17o\ 4H\0\0\0(q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4L\0\0\0(q\ 5\ 2\0\0\0u\84\0q+go.string."Tree"\0-\0\ 1\0\0\0\17o\bP\0\0\0(q\13q\0+x-\0\ 1\0\0\0\13o\b+q\17q\0\f\0\0\0+x-\0\ 1\0\0\0\17o\ 4\b\0\0\0+q\ 5\ 4\0\0\0u-\0\ 1\0\0\0\17o\ 4\f\0\0\0+q Tree\0\0\0\0-\0\ 1\0\0\0\17o\ 1\10\0\0\0+q\ 1u6\0\ 1\0\0\0\13o
++q\ 5\18\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0(q\ 1u-\0\ 1\0\0\0\17o\b`\0\0\0(q\13q\0\bx\84\0q,go.string."json:\"tree\""\0-\0\ 1\0\0\0\17o\bh\0\0\0(q\13q\0,x-\0\ 1\0\0\0\13o\b,q\17q\0\f\0\0\0,x-\0\ 1\0\0\0\17o\ 4\b\0\0\0,q\ 5\v\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0,q json:"tr-\0\ 1\0\0\0\17o\ 3\14\0\0\0,q ee"\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1\17\0\0\0,q\ 1u6\0\ 1\0\0\0\13o
+,q\ 5\18\0\0\0u-\0\ 1\0\0\0\17o\bp\0\0\0(q\ 1u\84\0q-go.string."Username"\0-\0\ 1\0\0\0\17o\bx\0\0\0(q\13q\0-x-\0\ 1\0\0\0\13o\b-q\17q\0\f\0\0\0-x-\0\ 1\0\0\0\17o\ 4\b\0\0\0-q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0-q Username-\0\ 1\0\0\0\17o\ 1\14\0\0\0-q\ 1u6\0\ 1\0\0\0\13o
+-q\ 5\18\0\0\0u-\0\ 1\0\0\0\17o\b\80\0\0\0(q\ 1u-\0\ 1\0\0\0\17o\b\88\0\0\0(q\13q\0\rx\84\0q.go.string."json:\"username\""\0-\0\ 1\0\0\0\17o\b\90\0\0\0(q\13q\0.x-\0\ 1\0\0\0\13o\b.q\17q\0\f\0\0\0.x-\0\ 1\0\0\0\17o\ 4\b\0\0\0.q\ 5\ f\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0.q json:"us-\0\ 1\0\0\0\17o\a\14\0\0\0.q ername"\0-\0\ 1\0\0\0\17o\ 1\e\0\0\0.q\ 1u6\0\ 1\0\0\0\13o
+.q\ 5 \0\0\0u-\0\ 1\0\0\0\17o\b\98\0\0\0(q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\b0\0\0\0(q\17q\0 \0\0\0(x\84\0q/go.string."JSONResponse"\0-\0\ 1\0\0\0\17o\b \0\0\0(q\13q\0/x-\0\ 1\0\0\0\13o\b/q\17q\0\f\0\0\0/x-\0\ 1\0\0\0\17o\ 4\b\0\0\0/q\ 5\f\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0/q JSONResp-\0\ 1\0\0\0\17o\ 4\14\0\0\0/q onse\0\0\0\0-\0\ 1\0\0\0\17o\ 1\18\0\0\0/q\ 1u6\0\ 1\0\0\0\13o
+/q\ 5 \0\0\0u-\0\ 1\0\0\0\17o\b¨\0\0\0(q\13q\0\1fx-\0\ 1\0\0\0\17o\b°\0\0\0(q\17q\0À\0\0\0(x-\0\ 1\0\0\0\17o\ 4¸\0\0\0(q\ 1u-\0\ 1\0\0\0\17o\ 4¼\0\0\0(q\ 1u6\0\ 1\0\0\0\13o\b(q\ 5À\0\0\0u\84\0q0type.*runtime.PtrType\0-\0\ 1\0\0\0\13o\b*q\13q\00x-\0\ 1\0\0\0\17o\b\b\0\0\0*q\17q\0\10\0\0\0*x-\0\ 1\0\0\0\17o\b\10\0\0\0*q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0*qENV\91°\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0*q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0*q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0*q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0*q\ 5\16\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0*q\17q\0\80\0\0\0 x\84\0q1go.string."*go1.JSONResponse"\0-\0\ 1\0\0\0\17o\b(\0\0\0*q\13q\01x-\0\ 1\0\0\0\13o\b1q\17q\0\f\0\0\01x-\0\ 1\0\0\0\17o\ 4\b\0\0\01q\ 5\11\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\01q *go1.JSO-\0\ 1\0\0\0\17o\b\14\0\0\01q NRespons-\0\ 1\0\0\0\17o\ 1\1c\0\0\01q e\0\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1\1d\0\0\01q\ 1u6\0\ 1\0\0\0\13o
+1q\ 5 \0\0\0u\84\0q\ 1weak.type.**"".JSONResponse\0-\0\ 1\0\0\0\17o\b8\0\0\0*q\13q\0\ 1x-\0\ 1\0\0\0\17o\b@\0\0\0*q\13q\0(x6\0\ 1\0\0\0\13o\b*q\ 5H\0\0\0u\84\0q\ 2type.func(*"".JSONResponse) *"".JSONResponse\0\84\0q\ 3type.*runtime.FuncType\0-\0\ 1\0\0\0\13o\b\ 2q\13q\0\ 3x-\0\ 1\0\0\0\17o\b\b\0\0\0\ 2q\17q\0\10\0\0\0\ 2x-\0\ 1\0\0\0\17o\b\10\0\0\0\ 2q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\ 2qEz\9fî±\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\ 2q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\ 2q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\ 2q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\ 2q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\ 2q\17q\0@\ 1\0\0 x\84\0q\ 4go.string."func(*go1.JSONResponse) *go1.JSONResponse"\0-\0\ 1\0\0\0\17o\b(\0\0\0\ 2q\13q\0\ 4x-\0\ 1\0\0\0\13o\b\ 4q\17q\0\f\0\0\0\ 4x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\ 4q\ 5)\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\ 4q func(*go-\0\ 1\0\0\0\17o\b\14\0\0\0\ 4q 1.JSONRe-\0\ 1\0\0\0\17o\b\1c\0\0\0\ 4q sponse) -\0\ 1\0\0\0\17o\b$\0\0\0\ 4q *go1.JSO-\0\ 1\0\0\0\17o\b,\0\0\0\ 4q NRespons-\0\ 1\0\0\0\17o\ 14\0\0\0\ 4q e\0\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 15\0\0\0\ 4q\ 1u6\0\ 1\0\0\0\13o
+\ 4q\ 58\0\0\0u\84\0q\ 5weak.type.*func(*"".JSONResponse) *"".JSONResponse\0-\0\ 1\0\0\0\17o\b8\0\0\0\ 2q\13q\0\ 5x-\0\ 1\0\0\0\17o\ 1@\0\0\0\ 2q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\ 2q\17q\0h\0\0\0\ 2x-\0\ 1\0\0\0\17o\ 4P\0\0\0\ 2q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\ 2q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\ 2q\17q\0p\0\0\0\ 2x-\0\ 1\0\0\0\17o\ 4`\0\0\0\ 2q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\ 2q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\ 2q\13q\0*x-\0\ 1\0\0\0\17o\bp\0\0\0\ 2q\13q\0*x6\0\ 1\0\0\0\13o
+\ 2q\ 5x\0\0\0u\84\0q\ 6type.func(*uint8) *bytes.Buffer\0-\0\ 1\0\0\0\13o\b\ 6q\13q\0\ 3x-\0\ 1\0\0\0\17o\b\b\0\0\0\ 6q\17q\0\10\0\0\0\ 6x-\0\ 1\0\0\0\17o\b\10\0\0\0\ 6q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\ 6qE\16ñ¥\8a\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\ 6q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\ 6q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\ 6q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\ 6q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\ 6q\17q\0@\ 1\0\0 x\84\0q\ago.string."func(*uint8) *bytes.Buffer"\0-\0\ 1\0\0\0\17o\b(\0\0\0\ 6q\13q\0\ax-\0\ 1\0\0\0\13o\b\aq\17q\0\f\0\0\0\ax-\0\ 1\0\0\0\17o\ 4\b\0\0\0\aq\ 5\1a\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\aq func(*ui-\0\ 1\0\0\0\17o\b\14\0\0\0\aq nt8) *by-\0\ 1\0\0\0\17o\b\1c\0\0\0\aq tes.Buff-\0\ 1\0\0\0\17o\ 2$\0\0\0\aq er\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1&\0\0\0\aq\ 1u6\0\ 1\0\0\0\13o
+\aq\ 5(\0\0\0u\84\0q\bweak.type.*func(*uint8) *bytes.Buffer\0-\0\ 1\0\0\0\17o\b8\0\0\0\ 6q\13q\0\bx-\0\ 1\0\0\0\17o\ 1@\0\0\0\ 6q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\ 6q\17q\0h\0\0\0\ 6x-\0\ 1\0\0\0\17o\ 4P\0\0\0\ 6q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\ 6q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\ 6q\17q\0p\0\0\0\ 6x-\0\ 1\0\0\0\17o\ 4`\0\0\0\ 6q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\ 6q\ 5\ 1\0\0\0u\84\0q type.*uint8\0-\0\ 1\0\0\0\17o\bh\0\0\0\ 6q\13q\0 x\84\0q
+type.*bytes.Buffer\0-\0\ 1\0\0\0\17o\bp\0\0\0\ 6q\13q\0
+x6\0\ 1\0\0\0\13o
+\ 6q\ 5x\0\0\0u\84\0q\vtype.func(*uint8, *uint8, *bytes.Buffer) io.Writer\0-\0\ 1\0\0\0\13o\b\vq\13q\0\ 3x-\0\ 1\0\0\0\17o\b\b\0\0\0\vq\17q\0\10\0\0\0\vx-\0\ 1\0\0\0\17o\b\10\0\0\0\vq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\vq\ 5x>\ 49u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\vq\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\vq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\vq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\vq\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\vq\17q\0@\ 1\0\0 x\84\0q\fgo.string."func(*uint8, *uint8, *bytes.Buffer) io.Writer"\0-\0\ 1\0\0\0\17o\b(\0\0\0\vq\13q\0\fx-\0\ 1\0\0\0\13o\b\fq\17q\0\f\0\0\0\fx-\0\ 1\0\0\0\17o\ 4\b\0\0\0\fq\ 5-\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\fq func(*ui-\0\ 1\0\0\0\17o\b\14\0\0\0\fq nt8, *ui-\0\ 1\0\0\0\17o\b\1c\0\0\0\fq nt8, *by-\0\ 1\0\0\0\17o\b$\0\0\0\fq tes.Buff-\0\ 1\0\0\0\17o\b,\0\0\0\fq er) io.W-\0\ 1\0\0\0\17o\ 54\0\0\0\fq riter\0\0\0-\0\ 1\0\0\0\17o\ 19\0\0\0\fq\ 1u6\0\ 1\0\0\0\13o
+\fq\ 5@\0\0\0u\84\0q\rweak.type.*func(*uint8, *uint8, *bytes.Buffer) io.Writer\0-\0\ 1\0\0\0\17o\b8\0\0\0\vq\13q\0\rx-\0\ 1\0\0\0\17o\ 1@\0\0\0\vq\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\vq\17q\0h\0\0\0\vx-\0\ 1\0\0\0\17o\ 4P\0\0\0\vq\ 5\ 3\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\vq\ 5\ 3\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\vq\17q\0\80\0\0\0\vx-\0\ 1\0\0\0\17o\ 4`\0\0\0\vq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\vq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\vq\13q\0 x-\0\ 1\0\0\0\17o\bp\0\0\0\vq\13q\0 x-\0\ 1\0\0\0\17o\bx\0\0\0\vq\13q\0
+x\84\0q\ etype.io.Writer\0-\0\ 1\0\0\0\17o\b\80\0\0\0\vq\13q\0\ ex6\0\ 1\0\0\0\13o
+\vq\ 5\88\0\0\0u\84\0q\ ftype.func(io.Writer) *encoding/gob.Encoder\0-\0\ 1\0\0\0\13o\b\ fq\13q\0\ 3x-\0\ 1\0\0\0\17o\b\b\0\0\0\ fq\17q\0\10\0\0\0\ fx-\0\ 1\0\0\0\17o\b\10\0\0\0\ fq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\ fqEEI´§\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\ fq\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\ fq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\ fq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\ fq\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\ fq\17q\0@\ 1\0\0 x\84\0q\10go.string."func(io.Writer) *gob.Encoder"\0-\0\ 1\0\0\0\17o\b(\0\0\0\ fq\13q\0\10x-\0\ 1\0\0\0\13o\b\10q\17q\0\f\0\0\0\10x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\10q\ 5\1c\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\10q func(io.-\0\ 1\0\0\0\17o\b\14\0\0\0\10q Writer) -\0\ 1\0\0\0\17o\b\1c\0\0\0\10q *gob.Enc-\0\ 1\0\0\0\17o\ 4$\0\0\0\10q oder\0\0\0\0-\0\ 1\0\0\0\17o\ 1(\0\0\0\10q\ 1u6\0\ 1\0\0\0\13o
+\10q\ 50\0\0\0u\84\0q\11weak.type.*func(io.Writer) *encoding/gob.Encoder\0-\0\ 1\0\0\0\17o\b8\0\0\0\ fq\13q\0\11x-\0\ 1\0\0\0\17o\ 1@\0\0\0\ fq\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\ fq\17q\0h\0\0\0\ fx-\0\ 1\0\0\0\17o\ 4P\0\0\0\ fq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\ fq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\ fq\17q\0p\0\0\0\ fx-\0\ 1\0\0\0\17o\ 4`\0\0\0\ fq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\ fq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\ fq\13q\0\ ex\84\0q\12type.*encoding/gob.Encoder\0-\0\ 1\0\0\0\17o\bp\0\0\0\ fq\13q\0\12x6\0\ 1\0\0\0\13o
+\ fq\ 5x\0\0\0u\84\0q\13type.func(*uint8, *"".JSONResponse) interface {}\0-\0\ 1\0\0\0\13o\b\13q\13q\0\ 3x-\0\ 1\0\0\0\17o\b\b\0\0\0\13q\17q\0\10\0\0\0\13x-\0\ 1\0\0\0\17o\b\10\0\0\0\13q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\13q\ 5¬ ô\16u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\13q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\13q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\13q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\13q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\13q\17q\0@\ 1\0\0 x\84\0q\14go.string."func(*uint8, *go1.JSONResponse) interface {}"\0-\0\ 1\0\0\0\17o\b(\0\0\0\13q\13q\0\14x-\0\ 1\0\0\0\13o\b\14q\17q\0\f\0\0\0\14x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\14q\ 5,\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\14q func(*ui-\0\ 1\0\0\0\17o\b\14\0\0\0\14q nt8, *go-\0\ 1\0\0\0\17o\b\1c\0\0\0\14q 1.JSONRe-\0\ 1\0\0\0\17o\b$\0\0\0\14q sponse) -\0\ 1\0\0\0\17o\b,\0\0\0\14q interfac-\0\ 1\0\0\0\17o\ 44\0\0\0\14q e {}\0\0\0\0-\0\ 1\0\0\0\17o\ 18\0\0\0\14q\ 1u6\0\ 1\0\0\0\13o
+\14q\ 5@\0\0\0u\84\0q\15weak.type.*func(*uint8, *"".JSONResponse) interface {}\0-\0\ 1\0\0\0\17o\b8\0\0\0\13q\13q\0\15x-\0\ 1\0\0\0\17o\ 1@\0\0\0\13q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\13q\17q\0h\0\0\0\13x-\0\ 1\0\0\0\17o\ 4P\0\0\0\13q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\13q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\13q\17q\0x\0\0\0\13x-\0\ 1\0\0\0\17o\ 4`\0\0\0\13q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\13q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\13q\13q\0 x-\0\ 1\0\0\0\17o\bp\0\0\0\13q\13q\0*x\84\0q\16type.interface {}\0-\0\ 1\0\0\0\17o\bx\0\0\0\13q\13q\0\16x6\0\ 1\0\0\0\13o
+\13q\ 5\80\0\0\0u\84\0q\17type.func(error) interface {}\0-\0\ 1\0\0\0\13o\b\17q\13q\0\ 3x-\0\ 1\0\0\0\17o\b\b\0\0\0\17q\17q\0\10\0\0\0\17x-\0\ 1\0\0\0\17o\b\10\0\0\0\17q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\17q\ 5Å\141\ 2u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\17q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\17q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\17q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\17q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\17q\17q\0@\ 1\0\0 x\84\0q\18go.string."func(error) interface {}"\0-\0\ 1\0\0\0\17o\b(\0\0\0\17q\13q\0\18x-\0\ 1\0\0\0\13o\b\18q\17q\0\f\0\0\0\18x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\18q\ 5\18\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\18q func(err-\0\ 1\0\0\0\17o\b\14\0\0\0\18q or) inte-\0\ 1\0\0\0\17o\b\1c\0\0\0\18q rface {}-\0\ 1\0\0\0\17o\ 1$\0\0\0\18q\ 1u6\0\ 1\0\0\0\13o
+\18q\ 5(\0\0\0u\84\0q\19weak.type.*func(error) interface {}\0-\0\ 1\0\0\0\17o\b8\0\0\0\17q\13q\0\19x-\0\ 1\0\0\0\17o\ 1@\0\0\0\17q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\17q\17q\0h\0\0\0\17x-\0\ 1\0\0\0\17o\ 4P\0\0\0\17q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\17q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\17q\17q\0p\0\0\0\17x-\0\ 1\0\0\0\17o\ 4`\0\0\0\17q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\17q\ 5\ 1\0\0\0u\84\0q\1atype.error\0-\0\ 1\0\0\0\17o\bh\0\0\0\17q\13q\0\1ax-\0\ 1\0\0\0\17o\bp\0\0\0\17q\13q\0\16x6\0\ 1\0\0\0\13o
+\17q\ 5x\0\0\0u\84\0q\etype.func(*uint8) *"".JSONResponse\0-\0\ 1\0\0\0\13o\b\eq\13q\0\ 3x-\0\ 1\0\0\0\17o\b\b\0\0\0\eq\17q\0\10\0\0\0\ex-\0\ 1\0\0\0\17o\b\10\0\0\0\eq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\eq\ 5«jù-u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\eq\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\eq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\eq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\eq\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\eq\17q\0@\ 1\0\0 x\84\0q\1cgo.string."func(*uint8) *go1.JSONResponse"\0-\0\ 1\0\0\0\17o\b(\0\0\0\eq\13q\0\1cx-\0\ 1\0\0\0\13o\b\1cq\17q\0\f\0\0\0\1cx-\0\ 1\0\0\0\17o\ 4\b\0\0\0\1cq\ 5\1e\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\1cq func(*ui-\0\ 1\0\0\0\17o\b\14\0\0\0\1cq nt8) *go-\0\ 1\0\0\0\17o\b\1c\0\0\0\1cq 1.JSONRe-\0\ 1\0\0\0\17o\ 6$\0\0\0\1cq sponse\0\0-\0\ 1\0\0\0\17o\ 1*\0\0\0\1cq\ 1u6\0\ 1\0\0\0\13o
+\1cq\ 50\0\0\0u\84\0q\1dweak.type.*func(*uint8) *"".JSONResponse\0-\0\ 1\0\0\0\17o\b8\0\0\0\eq\13q\0\1dx-\0\ 1\0\0\0\17o\ 1@\0\0\0\eq\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\eq\17q\0h\0\0\0\ex-\0\ 1\0\0\0\17o\ 4P\0\0\0\eq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\eq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\eq\17q\0p\0\0\0\ex-\0\ 1\0\0\0\17o\ 4`\0\0\0\eq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\eq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\eq\13q\0 x-\0\ 1\0\0\0\17o\bp\0\0\0\eq\13q\0*x6\0\ 1\0\0\0\13o
+\eq\ 5x\0\0\0u\84\0q\1etype.func(*uint8, *uint8, *bytes.Buffer) io.Reader\0-\0\ 1\0\0\0\13o\b\1eq\13q\0\ 3x-\0\ 1\0\0\0\17o\b\b\0\0\0\1eq\17q\0\10\0\0\0\1ex-\0\ 1\0\0\0\17o\b\10\0\0\0\1eq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\1eqEø\8b\ 5Ô\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\1eq\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\1eq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\1eq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\1eq\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\1eq\17q\0@\ 1\0\0 x\84\0q\1fgo.string."func(*uint8, *uint8, *bytes.Buffer) io.Reader"\0-\0\ 1\0\0\0\17o\b(\0\0\0\1eq\13q\0\1fx-\0\ 1\0\0\0\13o\b\1fq\17q\0\f\0\0\0\1fx-\0\ 1\0\0\0\17o\ 4\b\0\0\0\1fq\ 5-\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\1fq func(*ui-\0\ 1\0\0\0\17o\b\14\0\0\0\1fq nt8, *ui-\0\ 1\0\0\0\17o\b\1c\0\0\0\1fq nt8, *by-\0\ 1\0\0\0\17o\b$\0\0\0\1fq tes.Buff-\0\ 1\0\0\0\17o\b,\0\0\0\1fq er) io.R-\0\ 1\0\0\0\17o\ 54\0\0\0\1fq eader\0\0\0-\0\ 1\0\0\0\17o\ 19\0\0\0\1fq\ 1u6\0\ 1\0\0\0\13o
+\1fq\ 5@\0\0\0u\84\0q weak.type.*func(*uint8, *uint8, *bytes.Buffer) io.Reader\0-\0\ 1\0\0\0\17o\b8\0\0\0\1eq\13q\0 x-\0\ 1\0\0\0\17o\ 1@\0\0\0\1eq\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\1eq\17q\0h\0\0\0\1ex-\0\ 1\0\0\0\17o\ 4P\0\0\0\1eq\ 5\ 3\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\1eq\ 5\ 3\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\1eq\17q\0\80\0\0\0\1ex-\0\ 1\0\0\0\17o\ 4`\0\0\0\1eq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\1eq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\1eq\13q\0 x-\0\ 1\0\0\0\17o\bp\0\0\0\1eq\13q\0 x-\0\ 1\0\0\0\17o\bx\0\0\0\1eq\13q\0
+x\84\0q!type.io.Reader\0-\0\ 1\0\0\0\17o\b\80\0\0\0\1eq\13q\0!x6\0\ 1\0\0\0\13o
+\1eq\ 5\88\0\0\0u\84\0q"type.func(io.Reader) *encoding/gob.Decoder\0-\0\ 1\0\0\0\13o\b"q\13q\0\ 3x-\0\ 1\0\0\0\17o\b\b\0\0\0"q\17q\0\10\0\0\0"x-\0\ 1\0\0\0\17o\b\10\0\0\0"q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0"q\ 5|\83\00u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0"q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0"q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0"q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0"q\ 5\13\0\0\0u\84\0q#runtime.algarray\0-\0\ 1\0\0\0\17o\b \0\0\0"q\17q\0@\ 1\0\0#x\84\0q$go.string."func(io.Reader) *gob.Decoder"\0-\0\ 1\0\0\0\17o\b(\0\0\0"q\13q\0$x-\0\ 1\0\0\0\13o\b$q\17q\0\f\0\0\0$x-\0\ 1\0\0\0\17o\ 4\b\0\0\0$q\ 5\1c\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0$q func(io.-\0\ 1\0\0\0\17o\b\14\0\0\0$q Reader) -\0\ 1\0\0\0\17o\b\1c\0\0\0$q *gob.Dec-\0\ 1\0\0\0\17o\ 4$\0\0\0$q oder\0\0\0\0-\0\ 1\0\0\0\17o\ 1(\0\0\0$q\ 1u6\0\ 1\0\0\0\13o
+$q\ 50\0\0\0u\84\0q%weak.type.*func(io.Reader) *encoding/gob.Decoder\0-\0\ 1\0\0\0\17o\b8\0\0\0"q\13q\0%x-\0\ 1\0\0\0\17o\ 1@\0\0\0"q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0"q\17q\0h\0\0\0"x-\0\ 1\0\0\0\17o\ 4P\0\0\0"q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0"q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0"q\17q\0p\0\0\0"x-\0\ 1\0\0\0\17o\ 4`\0\0\0"q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0"q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0"q\13q\0!x\84\0q&type.*encoding/gob.Decoder\0-\0\ 1\0\0\0\17o\bp\0\0\0"q\13q\0&x6\0\ 1\0\0\0\13o
+"q\ 5x\0\0\0u\84\0q'type.func(interface {}, interface {}) bool\0-\0\ 1\0\0\0\13o\b'q\13q\0\ 3x-\0\ 1\0\0\0\17o\b\b\0\0\0'q\17q\0\10\0\0\0'x-\0\ 1\0\0\0\17o\b\10\0\0\0'q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0'qEf"¨¼\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0'q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0'q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0'q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0'q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0'q\17q\0@\ 1\0\0#x\84\0q(go.string."func(interface {}, interface {}) bool"\0-\0\ 1\0\0\0\17o\b(\0\0\0'q\13q\0(x-\0\ 1\0\0\0\13o\b(q\17q\0\f\0\0\0(x-\0\ 1\0\0\0\17o\ 4\b\0\0\0(q\ 5%\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0(q func(int-\0\ 1\0\0\0\17o\b\14\0\0\0(q erface {-\0\ 1\0\0\0\17o\b\1c\0\0\0(q }, inter-\0\ 1\0\0\0\17o\b$\0\0\0(q face {})-\0\ 1\0\0\0\17o\ 5,\0\0\0(q bool\0\0\0-\0\ 1\0\0\0\17o\ 11\0\0\0(q\ 1u6\0\ 1\0\0\0\13o
+(q\ 58\0\0\0u\84\0q)weak.type.*func(interface {}, interface {}) bool\0-\0\ 1\0\0\0\17o\b8\0\0\0'q\13q\0)x-\0\ 1\0\0\0\17o\ 1@\0\0\0'q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0'q\17q\0h\0\0\0'x-\0\ 1\0\0\0\17o\ 4P\0\0\0'q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0'q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0'q\17q\0x\0\0\0'x-\0\ 1\0\0\0\17o\ 4`\0\0\0'q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0'q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0'q\13q\0\16x-\0\ 1\0\0\0\17o\bp\0\0\0'q\13q\0\16x\84\0q*type.bool\0-\0\ 1\0\0\0\17o\bx\0\0\0'q\13q\0*x6\0\ 1\0\0\0\13o
+'q\ 5\80\0\0\0u\84\0q+type.func(*uint8, "".JSONResponse) interface {}\0-\0\ 1\0\0\0\13o\b+q\13q\0\ 3x-\0\ 1\0\0\0\17o\b\b\0\0\0+q\17q\0\10\0\0\0+x-\0\ 1\0\0\0\17o\b\10\0\0\0+q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0+q\ 5à¿\98\ 1u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0+q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0+q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0+q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0+q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0+q\17q\0@\ 1\0\0#x\84\0q,go.string."func(*uint8, go1.JSONResponse) interface {}"\0-\0\ 1\0\0\0\17o\b(\0\0\0+q\13q\0,x-\0\ 1\0\0\0\13o\b,q\17q\0\f\0\0\0,x-\0\ 1\0\0\0\17o\ 4\b\0\0\0,q\ 5+\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0,q func(*ui-\0\ 1\0\0\0\17o\b\14\0\0\0,q nt8, go1-\0\ 1\0\0\0\17o\b\1c\0\0\0,q .JSONRes-\0\ 1\0\0\0\17o\b$\0\0\0,q ponse) i-\0\ 1\0\0\0\17o\b,\0\0\0,q nterface-\0\ 1\0\0\0\17o\ 34\0\0\0,q {}\0\0\0\0\0-\0\ 1\0\0\0\17o\ 17\0\0\0,q\ 1u6\0\ 1\0\0\0\13o
+,q\ 58\0\0\0u\84\0q-weak.type.*func(*uint8, "".JSONResponse) interface {}\0-\0\ 1\0\0\0\17o\b8\0\0\0+q\13q\0-x-\0\ 1\0\0\0\17o\ 1@\0\0\0+q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0+q\17q\0h\0\0\0+x-\0\ 1\0\0\0\17o\ 4P\0\0\0+q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0+q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0+q\17q\0x\0\0\0+x-\0\ 1\0\0\0\17o\ 4`\0\0\0+q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0+q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0+q\13q\0 x\84\0q.type."".JSONResponse\0-\0\ 1\0\0\0\17o\bp\0\0\0+q\13q\0.x-\0\ 1\0\0\0\17o\bx\0\0\0+q\13q\0\16x6\0\ 1\0\0\0\13o
++q\ 5\80\0\0\0u\84\0q/type.[]interface {}\0\84\0q0type.*runtime.SliceType\0-\0\ 1\0\0\0\13o\b/q\13q\00x-\0\ 1\0\0\0\17o\b\b\0\0\0/q\17q\0\10\0\0\0/x-\0\ 1\0\0\0\17o\b\10\0\0\0/q\ 5\10\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0/q\ 5p\93ê/u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0/q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0/q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0/q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0/q\ 5\17\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0/q\17q\0à\ 1\0\0#x\84\0q1go.string."[]interface {}"\0-\0\ 1\0\0\0\17o\b(\0\0\0/q\13q\01x-\0\ 1\0\0\0\13o\b1q\17q\0\f\0\0\01x-\0\ 1\0\0\0\17o\ 4\b\0\0\01q\ 5\ e\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\01q []interf-\0\ 1\0\0\0\17o\ 6\14\0\0\01q ace {}\0\0-\0\ 1\0\0\0\17o\ 1\1a\0\0\01q\ 1u6\0\ 1\0\0\0\13o
+1q\ 5 \0\0\0u\84\0q\ 1weak.type.*[]interface {}\0-\0\ 1\0\0\0\17o\b8\0\0\0/q\13q\0\ 1x-\0\ 1\0\0\0\17o\b@\0\0\0/q\13q\0\16x6\0\ 1\0\0\0\13o
+/q\ 5H\0\0\0u\84\0q\ 2type.func(string, ...interface {})\0-\0\ 1\0\0\0\13o\b\ 2q\13q\0\ 3x-\0\ 1\0\0\0\17o\b\b\0\0\0\ 2q\17q\0\10\0\0\0\ 2x-\0\ 1\0\0\0\17o\b\10\0\0\0\ 2q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\ 2qEõµ@µ\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\ 2q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\ 2q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\ 2q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\ 2q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\ 2q\17q\0@\ 1\0\0#x\84\0q\ 3go.string."func(string, ...interface {})"\0-\0\ 1\0\0\0\17o\b(\0\0\0\ 2q\13q\0\ 3x-\0\ 1\0\0\0\13o\b\ 3q\17q\0\f\0\0\0\ 3x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\ 3q\ 5\1d\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\ 3q func(str-\0\ 1\0\0\0\17o\b\14\0\0\0\ 3q ing, ...-\0\ 1\0\0\0\17o\b\1c\0\0\0\ 3q interfac-\0\ 1\0\0\0\17o\ 5$\0\0\0\ 3q e {})\0\0\0-\0\ 1\0\0\0\17o\ 1)\0\0\0\ 3q\ 1u6\0\ 1\0\0\0\13o
+\ 3q\ 50\0\0\0u\84\0q\ 4weak.type.*func(string, ...interface {})\0-\0\ 1\0\0\0\17o\b8\0\0\0\ 2q\13q\0\ 4x-\0\ 1\0\0\0\17o\ 1@\0\0\0\ 2q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bH\0\0\0\ 2q\17q\0h\0\0\0\ 2x-\0\ 1\0\0\0\17o\ 4P\0\0\0\ 2q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\ 2q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\ 2q\17q\0x\0\0\0\ 2x-\0\ 1\0\0\0\17o\ 4`\0\0\0\ 2q\ 1u-\0\ 1\0\0\0\17o\ 4d\0\0\0\ 2q\ 1u\84\0q\ 5type.string\0-\0\ 1\0\0\0\17o\bh\0\0\0\ 2q\13q\0\ 5x-\0\ 1\0\0\0\17o\bp\0\0\0\ 2q\13q\0/x6\0\ 1\0\0\0\13o
+\ 2q\ 5x\0\0\0u\84\0q\ 6type.func(interface {}) ([]uint8, error)\0\84\0q\atype.*runtime.FuncType\0-\0\ 1\0\0\0\13o\b\ 6q\13q\0\ax-\0\ 1\0\0\0\17o\b\b\0\0\0\ 6q\17q\0\10\0\0\0\ 6x-\0\ 1\0\0\0\17o\b\10\0\0\0\ 6q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\ 6qE\133*Û\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\ 6q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\ 6q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\ 6q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\ 6q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\ 6q\17q\0@\ 1\0\0#x\84\0q\bgo.string."func(interface {}) ([]uint8, error)"\0-\0\ 1\0\0\0\17o\b(\0\0\0\ 6q\13q\0\bx-\0\ 1\0\0\0\13o\b\bq\17q\0\f\0\0\0\bx-\0\ 1\0\0\0\17o\ 4\b\0\0\0\bq\ 5#\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\bq func(int-\0\ 1\0\0\0\17o\b\14\0\0\0\bq erface {-\0\ 1\0\0\0\17o\b\1c\0\0\0\bq }) ([]ui-\0\ 1\0\0\0\17o\b$\0\0\0\bq nt8, err-\0\ 1\0\0\0\17o\ 3,\0\0\0\bq or)\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1/\0\0\0\bq\ 1u6\0\ 1\0\0\0\13o
+\bq\ 50\0\0\0u\84\0q weak.type.*func(interface {}) ([]uint8, error)\0-\0\ 1\0\0\0\17o\b8\0\0\0\ 6q\13q\0 x-\0\ 1\0\0\0\17o\ 1@\0\0\0\ 6q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\ 6q\17q\0h\0\0\0\ 6x-\0\ 1\0\0\0\17o\ 4P\0\0\0\ 6q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\ 6q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\ 6q\17q\0p\0\0\0\ 6x-\0\ 1\0\0\0\17o\ 4`\0\0\0\ 6q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\ 6q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\ 6q\13q\0\16x\84\0q
+type.[]uint8\0-\0\ 1\0\0\0\17o\bp\0\0\0\ 6q\13q\0
+x-\0\ 1\0\0\0\17o\bx\0\0\0\ 6q\13q\0\1ax6\0\ 1\0\0\0\13o
+\ 6q\ 5\80\0\0\0u\84\0q\vtype.func(*uint8, []uint8) interface {}\0-\0\ 1\0\0\0\13o\b\vq\13q\0\ax-\0\ 1\0\0\0\17o\b\b\0\0\0\vq\17q\0\10\0\0\0\vx-\0\ 1\0\0\0\17o\b\10\0\0\0\vq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\vqEæ\9aþÕ\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\vq\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\vq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\vq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\vq\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\vq\17q\0@\ 1\0\0#x\84\0q\fgo.string."func(*uint8, []uint8) interface {}"\0-\0\ 1\0\0\0\17o\b(\0\0\0\vq\13q\0\fx-\0\ 1\0\0\0\13o\b\fq\17q\0\f\0\0\0\fx-\0\ 1\0\0\0\17o\ 4\b\0\0\0\fq\ 5"\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\fq func(*ui-\0\ 1\0\0\0\17o\b\14\0\0\0\fq nt8, []u-\0\ 1\0\0\0\17o\b\1c\0\0\0\fq int8) in-\0\ 1\0\0\0\17o\b$\0\0\0\fq terface -\0\ 1\0\0\0\17o\ 2,\0\0\0\fq {}\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1.\0\0\0\fq\ 1u6\0\ 1\0\0\0\13o
+\fq\ 50\0\0\0u\84\0q\rweak.type.*func(*uint8, []uint8) interface {}\0-\0\ 1\0\0\0\17o\b8\0\0\0\vq\13q\0\rx-\0\ 1\0\0\0\17o\ 1@\0\0\0\vq\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\vq\17q\0h\0\0\0\vx-\0\ 1\0\0\0\17o\ 4P\0\0\0\vq\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\vq\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\vq\17q\0x\0\0\0\vx-\0\ 1\0\0\0\17o\ 4`\0\0\0\vq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\vq\ 5\ 1\0\0\0u\84\0q\ etype.*uint8\0-\0\ 1\0\0\0\17o\bh\0\0\0\vq\13q\0\ ex-\0\ 1\0\0\0\17o\bp\0\0\0\vq\13q\0
+x-\0\ 1\0\0\0\17o\bx\0\0\0\vq\13q\0\16x6\0\ 1\0\0\0\13o
+\vq\ 5\80\0\0\0u\84\0q\ ftype.func(*"".JSONNode) *"".JSONNode\0-\0\ 1\0\0\0\13o\b\ fq\13q\0\ax-\0\ 1\0\0\0\17o\b\b\0\0\0\ fq\17q\0\10\0\0\0\ fx-\0\ 1\0\0\0\17o\b\10\0\0\0\ fq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\ fqEF6ͼ\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\ fq\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\ fq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\ fq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\ fq\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\ fq\17q\0@\ 1\0\0#x\84\0q\10go.string."func(*go1.JSONNode) *go1.JSONNode"\0-\0\ 1\0\0\0\17o\b(\0\0\0\ fq\13q\0\10x-\0\ 1\0\0\0\13o\b\10q\17q\0\f\0\0\0\10x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\10q\ 5!\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\10q func(*go-\0\ 1\0\0\0\17o\b\14\0\0\0\10q 1.JSONNo-\0\ 1\0\0\0\17o\b\1c\0\0\0\10q de) *go1-\0\ 1\0\0\0\17o\b$\0\0\0\10q .JSONNod-\0\ 1\0\0\0\17o\ 1,\0\0\0\10q e\0\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1-\0\0\0\10q\ 1u6\0\ 1\0\0\0\13o
+\10q\ 50\0\0\0u\84\0q\11weak.type.*func(*"".JSONNode) *"".JSONNode\0-\0\ 1\0\0\0\17o\b8\0\0\0\ fq\13q\0\11x-\0\ 1\0\0\0\17o\ 1@\0\0\0\ fq\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\ fq\17q\0h\0\0\0\ fx-\0\ 1\0\0\0\17o\ 4P\0\0\0\ fq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\ fq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\ fq\17q\0p\0\0\0\ fx-\0\ 1\0\0\0\17o\ 4`\0\0\0\ fq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\ fq\ 5\ 1\0\0\0u\84\0q\12type.*"".JSONNode\0-\0\ 1\0\0\0\17o\bh\0\0\0\ fq\13q\0\12x-\0\ 1\0\0\0\17o\bp\0\0\0\ fq\13q\0\12x6\0\ 1\0\0\0\13o
+\ fq\ 5x\0\0\0u\84\0q\13type.func(*uint8) *"".JSONNode\0-\0\ 1\0\0\0\13o\b\13q\13q\0\ax-\0\ 1\0\0\0\17o\b\b\0\0\0\13q\17q\0\10\0\0\0\13x-\0\ 1\0\0\0\17o\b\10\0\0\0\13q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\13qE\86\8d\ 2§\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\13q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\13q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\13q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\13q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\13q\17q\0@\ 1\0\0#x\84\0q\14go.string."func(*uint8) *go1.JSONNode"\0-\0\ 1\0\0\0\17o\b(\0\0\0\13q\13q\0\14x-\0\ 1\0\0\0\13o\b\14q\17q\0\f\0\0\0\14x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\14q\ 5\1a\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\14q func(*ui-\0\ 1\0\0\0\17o\b\14\0\0\0\14q nt8) *go-\0\ 1\0\0\0\17o\b\1c\0\0\0\14q 1.JSONNo-\0\ 1\0\0\0\17o\ 2$\0\0\0\14q de\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1&\0\0\0\14q\ 1u6\0\ 1\0\0\0\13o
+\14q\ 5(\0\0\0u\84\0q\15weak.type.*func(*uint8) *"".JSONNode\0-\0\ 1\0\0\0\17o\b8\0\0\0\13q\13q\0\15x-\0\ 1\0\0\0\17o\ 1@\0\0\0\13q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\13q\17q\0h\0\0\0\13x-\0\ 1\0\0\0\17o\ 4P\0\0\0\13q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\13q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\13q\17q\0p\0\0\0\13x-\0\ 1\0\0\0\17o\ 4`\0\0\0\13q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\13q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\13q\13q\0\ ex-\0\ 1\0\0\0\17o\bp\0\0\0\13q\13q\0\12x6\0\ 1\0\0\0\13o
+\13q\ 5x\0\0\0u\84\0q\16type.**"".JSONResponse\0\84\0q\17type.*runtime.PtrType\0-\0\ 1\0\0\0\13o\b\16q\13q\0\17x-\0\ 1\0\0\0\17o\b\b\0\0\0\16q\17q\0\10\0\0\0\16x-\0\ 1\0\0\0\17o\b\10\0\0\0\16q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\16qEo²\91\88\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\16q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\16q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\16q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\16q\ 5\16\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\16q\17q\0\80\0\0\0#x\84\0q\18go.string."**go1.JSONResponse"\0-\0\ 1\0\0\0\17o\b(\0\0\0\16q\13q\0\18x-\0\ 1\0\0\0\13o\b\18q\17q\0\f\0\0\0\18x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\18q\ 5\12\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\18q **go1.JS-\0\ 1\0\0\0\17o\b\14\0\0\0\18q ONRespon-\0\ 1\0\0\0\17o\ 2\1c\0\0\0\18q se\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\18q\ 1u6\0\ 1\0\0\0\13o
+\18q\ 5 \0\0\0u\84\0q\19weak.type.***"".JSONResponse\0-\0\ 1\0\0\0\17o\b8\0\0\0\16q\13q\0\19x\84\0q\1atype.*"".JSONResponse\0-\0\ 1\0\0\0\17o\b@\0\0\0\16q\13q\0\1ax6\0\ 1\0\0\0\13o
+\16q\ 5H\0\0\0u\84\0q\etype.func(*uint8, **"".JSONResponse) interface {}\0-\0\ 1\0\0\0\13o\b\eq\13q\0\ax-\0\ 1\0\0\0\17o\b\b\0\0\0\eq\17q\0\10\0\0\0\ex-\0\ 1\0\0\0\17o\b\10\0\0\0\eq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\eq\ 5è\84êJu-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\eq\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\eq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\eq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\eq\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\eq\17q\0@\ 1\0\0#x\84\0q\1cgo.string."func(*uint8, **go1.JSONResponse) interface {}"\0-\0\ 1\0\0\0\17o\b(\0\0\0\eq\13q\0\1cx-\0\ 1\0\0\0\13o\b\1cq\17q\0\f\0\0\0\1cx-\0\ 1\0\0\0\17o\ 4\b\0\0\0\1cq\ 5-\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\1cq func(*ui-\0\ 1\0\0\0\17o\b\14\0\0\0\1cq nt8, **g-\0\ 1\0\0\0\17o\b\1c\0\0\0\1cq o1.JSONR-\0\ 1\0\0\0\17o\b$\0\0\0\1cq esponse)-\0\ 1\0\0\0\17o\b,\0\0\0\1cq interfa-\0\ 1\0\0\0\17o\ 54\0\0\0\1cq ce {}\0\0\0-\0\ 1\0\0\0\17o\ 19\0\0\0\1cq\ 1u6\0\ 1\0\0\0\13o
+\1cq\ 5@\0\0\0u\84\0q\1dweak.type.*func(*uint8, **"".JSONResponse) interface {}\0-\0\ 1\0\0\0\17o\b8\0\0\0\eq\13q\0\1dx-\0\ 1\0\0\0\17o\ 1@\0\0\0\eq\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\eq\17q\0h\0\0\0\ex-\0\ 1\0\0\0\17o\ 4P\0\0\0\eq\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\eq\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\eq\17q\0x\0\0\0\ex-\0\ 1\0\0\0\17o\ 4`\0\0\0\eq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\eq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\eq\13q\0\ ex-\0\ 1\0\0\0\17o\bp\0\0\0\eq\13q\0\16x\84\0q\1etype.interface {}\0-\0\ 1\0\0\0\17o\bx\0\0\0\eq\13q\0\1ex6\0\ 1\0\0\0\13o
+\eq\ 5\80\0\0\0u\84\0q\1ftype.func(io.Writer) (*compress/gzip.Compressor, error)\0-\0\ 1\0\0\0\13o\b\1fq\13q\0\ax-\0\ 1\0\0\0\17o\b\b\0\0\0\1fq\17q\0\10\0\0\0\1fx-\0\ 1\0\0\0\17o\b\10\0\0\0\1fq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\1fq\ 5ø\b»\19u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\1fq\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\1fq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\1fq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\1fq\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\1fq\17q\0@\ 1\0\0#x\84\0q go.string."func(io.Writer) (*gzip.Compressor, error)"\0-\0\ 1\0\0\0\17o\b(\0\0\0\1fq\13q\0 x-\0\ 1\0\0\0\13o\b q\17q\0\f\0\0\0 x-\0\ 1\0\0\0\17o\ 4\b\0\0\0 q\ 5)\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0 q func(io.-\0\ 1\0\0\0\17o\b\14\0\0\0 q Writer) -\0\ 1\0\0\0\17o\b\1c\0\0\0 q (*gzip.C-\0\ 1\0\0\0\17o\b$\0\0\0 q ompresso-\0\ 1\0\0\0\17o\b,\0\0\0 q r, error-\0\ 1\0\0\0\17o\ 14\0\0\0 q )\0\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 15\0\0\0 q\ 1u6\0\ 1\0\0\0\13o
+ q\ 58\0\0\0u\84\0q!weak.type.*func(io.Writer) (*compress/gzip.Compressor, error)\0-\0\ 1\0\0\0\17o\b8\0\0\0\1fq\13q\0!x-\0\ 1\0\0\0\17o\ 1@\0\0\0\1fq\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\1fq\17q\0h\0\0\0\1fx-\0\ 1\0\0\0\17o\ 4P\0\0\0\1fq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\1fq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\1fq\17q\0p\0\0\0\1fx-\0\ 1\0\0\0\17o\ 4`\0\0\0\1fq\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\1fq\ 5\ 2\0\0\0u\84\0q"type.io.Writer\0-\0\ 1\0\0\0\17o\bh\0\0\0\1fq\13q\0"x\84\0q#type.*compress/gzip.Compressor\0-\0\ 1\0\0\0\17o\bp\0\0\0\1fq\13q\0#x\84\0q$type.error\0-\0\ 1\0\0\0\17o\bx\0\0\0\1fq\13q\0$x6\0\ 1\0\0\0\13o
+\1fq\ 5\80\0\0\0u\84\0q%type.func(io.Reader) (*compress/gzip.Decompressor, error)\0-\0\ 1\0\0\0\13o\b%q\13q\0\ax-\0\ 1\0\0\0\17o\b\b\0\0\0%q\17q\0\10\0\0\0%x-\0\ 1\0\0\0\17o\b\10\0\0\0%q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0%q\ 5\bÙ1.u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0%q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0%q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0%q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0%q\ 5\13\0\0\0u\84\0q&runtime.algarray\0-\0\ 1\0\0\0\17o\b \0\0\0%q\17q\0@\ 1\0\0&x\84\0q'go.string."func(io.Reader) (*gzip.Decompressor, error)"\0-\0\ 1\0\0\0\17o\b(\0\0\0%q\13q\0'x-\0\ 1\0\0\0\13o\b'q\17q\0\f\0\0\0'x-\0\ 1\0\0\0\17o\ 4\b\0\0\0'q\ 5+\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0'q func(io.-\0\ 1\0\0\0\17o\b\14\0\0\0'q Reader) -\0\ 1\0\0\0\17o\b\1c\0\0\0'q (*gzip.D-\0\ 1\0\0\0\17o\b$\0\0\0'q ecompres-\0\ 1\0\0\0\17o\b,\0\0\0'q sor, err-\0\ 1\0\0\0\17o\ 34\0\0\0'q or)\0\0\0\0\0-\0\ 1\0\0\0\17o\ 17\0\0\0'q\ 1u6\0\ 1\0\0\0\13o
+'q\ 58\0\0\0u\84\0q(weak.type.*func(io.Reader) (*compress/gzip.Decompressor, error)\0-\0\ 1\0\0\0\17o\b8\0\0\0%q\13q\0(x-\0\ 1\0\0\0\17o\ 1@\0\0\0%q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0%q\17q\0h\0\0\0%x-\0\ 1\0\0\0\17o\ 4P\0\0\0%q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0%q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0%q\17q\0p\0\0\0%x-\0\ 1\0\0\0\17o\ 4`\0\0\0%q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0%q\ 5\ 2\0\0\0u\84\0q)type.io.Reader\0-\0\ 1\0\0\0\17o\bh\0\0\0%q\13q\0)x\84\0q*type.*compress/gzip.Decompressor\0-\0\ 1\0\0\0\17o\bp\0\0\0%q\13q\0*x-\0\ 1\0\0\0\17o\bx\0\0\0%q\13q\0$x6\0\ 1\0\0\0\13o
+%q\ 5\80\0\0\0u\84\0q+type.func(*uint8, *uint8, *compress/gzip.Decompressor) io.Reader\0-\0\ 1\0\0\0\13o\b+q\13q\0\ax-\0\ 1\0\0\0\17o\b\b\0\0\0+q\17q\0\10\0\0\0+x-\0\ 1\0\0\0\17o\b\10\0\0\0+q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0+q\ 5tÒ¼\ 3u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0+q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0+q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0+q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0+q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0+q\17q\0@\ 1\0\0&x\84\0q,go.string."func(*uint8, *uint8, *gzip.Decompressor) io.Reader"\0-\0\ 1\0\0\0\17o\b(\0\0\0+q\13q\0,x-\0\ 1\0\0\0\13o\b,q\17q\0\f\0\0\0,x-\0\ 1\0\0\0\17o\ 4\b\0\0\0,q\ 52\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0,q func(*ui-\0\ 1\0\0\0\17o\b\14\0\0\0,q nt8, *ui-\0\ 1\0\0\0\17o\b\1c\0\0\0,q nt8, *gz-\0\ 1\0\0\0\17o\b$\0\0\0,q ip.Decom-\0\ 1\0\0\0\17o\b,\0\0\0,q pressor)-\0\ 1\0\0\0\17o\b4\0\0\0,q io.Read-\0\ 1\0\0\0\17o\ 2<\0\0\0,q er\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1>\0\0\0,q\ 1u6\0\ 1\0\0\0\13o
+,q\ 5@\0\0\0u\84\0q-weak.type.*func(*uint8, *uint8, *compress/gzip.Decompressor) io.Reader\0-\0\ 1\0\0\0\17o\b8\0\0\0+q\13q\0-x-\0\ 1\0\0\0\17o\ 1@\0\0\0+q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0+q\17q\0h\0\0\0+x-\0\ 1\0\0\0\17o\ 4P\0\0\0+q\ 5\ 3\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0+q\ 5\ 3\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0+q\17q\0\80\0\0\0+x-\0\ 1\0\0\0\17o\ 4`\0\0\0+q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0+q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0+q\13q\0\ ex-\0\ 1\0\0\0\17o\bp\0\0\0+q\13q\0\ ex-\0\ 1\0\0\0\17o\bx\0\0\0+q\13q\0*x-\0\ 1\0\0\0\17o\b\80\0\0\0+q\13q\0)x6\0\ 1\0\0\0\13o
++q\ 5\88\0\0\0u\84\0q.type.func(io.Writer, io.Reader) (int64, error)\0-\0\ 1\0\0\0\13o\b.q\13q\0\ax-\0\ 1\0\0\0\17o\b\b\0\0\0.q\17q\0\10\0\0\0.x-\0\ 1\0\0\0\17o\b\10\0\0\0.q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0.q\ 5\16qQ!u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0.q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0.q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0.q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0.q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0.q\17q\0@\ 1\0\0&x\84\0q/go.string."func(io.Writer, io.Reader) (int64, error)"\0-\0\ 1\0\0\0\17o\b(\0\0\0.q\13q\0/x-\0\ 1\0\0\0\13o\b/q\17q\0\f\0\0\0/x-\0\ 1\0\0\0\17o\ 4\b\0\0\0/q\ 5)\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0/q func(io.-\0\ 1\0\0\0\17o\b\14\0\0\0/q Writer, -\0\ 1\0\0\0\17o\b\1c\0\0\0/q io.Reade-\0\ 1\0\0\0\17o\b$\0\0\0/q r) (int6-\0\ 1\0\0\0\17o\b,\0\0\0/q 4, error-\0\ 1\0\0\0\17o\ 14\0\0\0/q )\0\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 15\0\0\0/q\ 1u6\0\ 1\0\0\0\13o
+/q\ 58\0\0\0u\84\0q0weak.type.*func(io.Writer, io.Reader) (int64, error)\0-\0\ 1\0\0\0\17o\b8\0\0\0.q\13q\00x-\0\ 1\0\0\0\17o\ 1@\0\0\0.q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0.q\17q\0h\0\0\0.x-\0\ 1\0\0\0\17o\ 4P\0\0\0.q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0.q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0.q\17q\0x\0\0\0.x-\0\ 1\0\0\0\17o\ 4`\0\0\0.q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0.q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0.q\13q\0"x-\0\ 1\0\0\0\17o\bp\0\0\0.q\13q\0)x\84\0q1type.int64\0-\0\ 1\0\0\0\17o\bx\0\0\0.q\13q\01x-\0\ 1\0\0\0\17o\b\80\0\0\0.q\13q\0$x6\0\ 1\0\0\0\13o
+.q\ 5\88\0\0\0u\84\0q\ 1type.func(*uint8) *strings.Reader\0-\0\ 1\0\0\0\13o\b\ 1q\13q\0\ax-\0\ 1\0\0\0\17o\b\b\0\0\0\ 1q\17q\0\10\0\0\0\ 1x-\0\ 1\0\0\0\17o\b\10\0\0\0\ 1q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\ 1qE\87J¿Í\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\ 1q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\ 1q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\ 1q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\ 1q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\ 1q\17q\0@\ 1\0\0&x\84\0q\ 2go.string."func(*uint8) *strings.Reader"\0-\0\ 1\0\0\0\17o\b(\0\0\0\ 1q\13q\0\ 2x-\0\ 1\0\0\0\13o\b\ 2q\17q\0\f\0\0\0\ 2x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\ 2q\ 5\1c\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\ 2q func(*ui-\0\ 1\0\0\0\17o\b\14\0\0\0\ 2q nt8) *st-\0\ 1\0\0\0\17o\b\1c\0\0\0\ 2q rings.Re-\0\ 1\0\0\0\17o\ 4$\0\0\0\ 2q ader\0\0\0\0-\0\ 1\0\0\0\17o\ 1(\0\0\0\ 2q\ 1u6\0\ 1\0\0\0\13o
+\ 2q\ 50\0\0\0u\84\0q\ 3weak.type.*func(*uint8) *strings.Reader\0-\0\ 1\0\0\0\17o\b8\0\0\0\ 1q\13q\0\ 3x-\0\ 1\0\0\0\17o\ 1@\0\0\0\ 1q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\ 1q\17q\0h\0\0\0\ 1x-\0\ 1\0\0\0\17o\ 4P\0\0\0\ 1q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\ 1q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\ 1q\17q\0p\0\0\0\ 1x-\0\ 1\0\0\0\17o\ 4`\0\0\0\ 1q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\ 1q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\ 1q\13q\0\ ex\84\0q\ 4type.*strings.Reader\0-\0\ 1\0\0\0\17o\bp\0\0\0\ 1q\13q\0\ 4x6\0\ 1\0\0\0\13o
+\ 1q\ 5x\0\0\0u\84\0q\ 5type.func(*uint8, *uint8, *strings.Reader) io.Reader\0-\0\ 1\0\0\0\13o\b\ 5q\13q\0\ax-\0\ 1\0\0\0\17o\b\b\0\0\0\ 5q\17q\0\10\0\0\0\ 5x-\0\ 1\0\0\0\17o\b\10\0\0\0\ 5q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\ 5qEhE\9a°\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\ 5q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\ 5q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\ 5q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\ 5q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\ 5q\17q\0@\ 1\0\0&x\84\0q\ 6go.string."func(*uint8, *uint8, *strings.Reader) io.Reader"\0-\0\ 1\0\0\0\17o\b(\0\0\0\ 5q\13q\0\ 6x-\0\ 1\0\0\0\13o\b\ 6q\17q\0\f\0\0\0\ 6x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\ 6q\ 5/\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\ 6q func(*ui-\0\ 1\0\0\0\17o\b\14\0\0\0\ 6q nt8, *ui-\0\ 1\0\0\0\17o\b\1c\0\0\0\ 6q nt8, *st-\0\ 1\0\0\0\17o\b$\0\0\0\ 6q rings.Re-\0\ 1\0\0\0\17o\b,\0\0\0\ 6q ader) io-\0\ 1\0\0\0\17o\a4\0\0\0\ 6q .Reader\0-\0\ 1\0\0\0\17o\ 1;\0\0\0\ 6q\ 1u6\0\ 1\0\0\0\13o
+\ 6q\ 5@\0\0\0u\84\0q\aweak.type.*func(*uint8, *uint8, *strings.Reader) io.Reader\0-\0\ 1\0\0\0\17o\b8\0\0\0\ 5q\13q\0\ax-\0\ 1\0\0\0\17o\ 1@\0\0\0\ 5q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\ 5q\17q\0h\0\0\0\ 5x-\0\ 1\0\0\0\17o\ 4P\0\0\0\ 5q\ 5\ 3\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\ 5q\ 5\ 3\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\ 5q\17q\0\80\0\0\0\ 5x-\0\ 1\0\0\0\17o\ 4`\0\0\0\ 5q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\ 5q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\ 5q\13q\0\ ex-\0\ 1\0\0\0\17o\bp\0\0\0\ 5q\13q\0\ ex-\0\ 1\0\0\0\17o\bx\0\0\0\ 5q\13q\0\ 4x-\0\ 1\0\0\0\17o\b\80\0\0\0\ 5q\13q\0)x6\0\ 1\0\0\0\13o
+\ 5q\ 5\88\0\0\0u\84\0q\btype.func(*uint8) *encoding/base64.decoder\0\84\0q type.*runtime.FuncType\0-\0\ 1\0\0\0\13o\b\bq\13q\0 x-\0\ 1\0\0\0\17o\b\b\0\0\0\bq\17q\0\10\0\0\0\bx-\0\ 1\0\0\0\17o\b\10\0\0\0\bq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\bq\ 5^G\93\ 5u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\bq\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\bq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\bq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\bq\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\bq\17q\0@\ 1\0\0&x\84\0q
+go.string."func(*uint8) *base64.decoder"\0-\0\ 1\0\0\0\17o\b(\0\0\0\bq\13q\0
+x-\0\ 1\0\0\0\13o\b
+q\17q\0\f\0\0\0
+x-\0\ 1\0\0\0\17o\ 4\b\0\0\0
+q\ 5\1c\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0
+q func(*ui-\0\ 1\0\0\0\17o\b\14\0\0\0
+q nt8) *ba-\0\ 1\0\0\0\17o\b\1c\0\0\0
+q se64.dec-\0\ 1\0\0\0\17o\ 4$\0\0\0
+q oder\0\0\0\0-\0\ 1\0\0\0\17o\ 1(\0\0\0
+q\ 1u6\0\ 1\0\0\0\13o
+
+q\ 50\0\0\0u\84\0q\vweak.type.*func(*uint8) *encoding/base64.decoder\0-\0\ 1\0\0\0\17o\b8\0\0\0\bq\13q\0\vx-\0\ 1\0\0\0\17o\ 1@\0\0\0\bq\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\bq\17q\0h\0\0\0\bx-\0\ 1\0\0\0\17o\ 4P\0\0\0\bq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\bq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\bq\17q\0p\0\0\0\bx-\0\ 1\0\0\0\17o\ 4`\0\0\0\bq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\bq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\bq\13q\0\ ex\84\0q\ftype.*encoding/base64.decoder\0-\0\ 1\0\0\0\17o\bp\0\0\0\bq\13q\0\fx6\0\ 1\0\0\0\13o
+\bq\ 5x\0\0\0u\84\0q\rtype.func(*uint8, *uint8, *encoding/base64.decoder) io.Reader\0-\0\ 1\0\0\0\13o\b\rq\13q\0 x-\0\ 1\0\0\0\17o\b\b\0\0\0\rq\17q\0\10\0\0\0\rx-\0\ 1\0\0\0\17o\b\10\0\0\0\rq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\rq\ 5dkP"u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\rq\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\rq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\rq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\rq\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\rq\17q\0@\ 1\0\0&x\84\0q\ ego.string."func(*uint8, *uint8, *base64.decoder) io.Reader"\0-\0\ 1\0\0\0\17o\b(\0\0\0\rq\13q\0\ ex-\0\ 1\0\0\0\13o\b\ eq\17q\0\f\0\0\0\ ex-\0\ 1\0\0\0\17o\ 4\b\0\0\0\ eq\ 5/\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\ eq func(*ui-\0\ 1\0\0\0\17o\b\14\0\0\0\ eq nt8, *ui-\0\ 1\0\0\0\17o\b\1c\0\0\0\ eq nt8, *ba-\0\ 1\0\0\0\17o\b$\0\0\0\ eq se64.dec-\0\ 1\0\0\0\17o\b,\0\0\0\ eq oder) io-\0\ 1\0\0\0\17o\a4\0\0\0\ eq .Reader\0-\0\ 1\0\0\0\17o\ 1;\0\0\0\ eq\ 1u6\0\ 1\0\0\0\13o
+\ eq\ 5@\0\0\0u\84\0q\ fweak.type.*func(*uint8, *uint8, *encoding/base64.decoder) io.Reader\0-\0\ 1\0\0\0\17o\b8\0\0\0\rq\13q\0\ fx-\0\ 1\0\0\0\17o\ 1@\0\0\0\rq\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\rq\17q\0h\0\0\0\rx-\0\ 1\0\0\0\17o\ 4P\0\0\0\rq\ 5\ 3\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\rq\ 5\ 3\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\rq\17q\0\80\0\0\0\rx-\0\ 1\0\0\0\17o\ 4`\0\0\0\rq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\rq\ 5\ 1\0\0\0u\84\0q\10type.*uint8\0-\0\ 1\0\0\0\17o\bh\0\0\0\rq\13q\0\10x-\0\ 1\0\0\0\17o\bp\0\0\0\rq\13q\0\10x-\0\ 1\0\0\0\17o\bx\0\0\0\rq\13q\0\fx-\0\ 1\0\0\0\17o\b\80\0\0\0\rq\13q\0)x6\0\ 1\0\0\0\13o
+\rq\ 5\88\0\0\0u\84\0q\11type.func(io.Reader) io.Reader\0-\0\ 1\0\0\0\13o\b\11q\13q\0 x-\0\ 1\0\0\0\17o\b\b\0\0\0\11q\17q\0\10\0\0\0\11x-\0\ 1\0\0\0\17o\b\10\0\0\0\11q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\11q\ 5)|2[u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\11q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\11q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\11q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\11q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\11q\17q\0@\ 1\0\0&x\84\0q\12go.string."func(io.Reader) io.Reader"\0-\0\ 1\0\0\0\17o\b(\0\0\0\11q\13q\0\12x-\0\ 1\0\0\0\13o\b\12q\17q\0\f\0\0\0\12x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\12q\ 5\19\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\12q func(io.-\0\ 1\0\0\0\17o\b\14\0\0\0\12q Reader) -\0\ 1\0\0\0\17o\b\1c\0\0\0\12q io.Reade-\0\ 1\0\0\0\17o\ 1$\0\0\0\12q r\0\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1%\0\0\0\12q\ 1u6\0\ 1\0\0\0\13o
+\12q\ 5(\0\0\0u\84\0q\13weak.type.*func(io.Reader) io.Reader\0-\0\ 1\0\0\0\17o\b8\0\0\0\11q\13q\0\13x-\0\ 1\0\0\0\17o\ 1@\0\0\0\11q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\11q\17q\0h\0\0\0\11x-\0\ 1\0\0\0\17o\ 4P\0\0\0\11q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\11q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\11q\17q\0p\0\0\0\11x-\0\ 1\0\0\0\17o\ 4`\0\0\0\11q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\11q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\11q\13q\0)x-\0\ 1\0\0\0\17o\bp\0\0\0\11q\13q\0)x6\0\ 1\0\0\0\13o
+\11q\ 5x\0\0\0u\84\0q\14type.func(io.Reader) ([]uint8, error)\0-\0\ 1\0\0\0\13o\b\14q\13q\0 x-\0\ 1\0\0\0\17o\b\b\0\0\0\14q\17q\0\10\0\0\0\14x-\0\ 1\0\0\0\17o\b\10\0\0\0\14q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\14q\ 5\8fBÊ9u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\14q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\14q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\14q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\14q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\14q\17q\0@\ 1\0\0&x\84\0q\15go.string."func(io.Reader) ([]uint8, error)"\0-\0\ 1\0\0\0\17o\b(\0\0\0\14q\13q\0\15x-\0\ 1\0\0\0\13o\b\15q\17q\0\f\0\0\0\15x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\15q\ 5 \0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\15q func(io.-\0\ 1\0\0\0\17o\b\14\0\0\0\15q Reader) -\0\ 1\0\0\0\17o\b\1c\0\0\0\15q ([]uint8-\0\ 1\0\0\0\17o\b$\0\0\0\15q , error)-\0\ 1\0\0\0\17o\ 1,\0\0\0\15q\ 1u6\0\ 1\0\0\0\13o
+\15q\ 50\0\0\0u\84\0q\16weak.type.*func(io.Reader) ([]uint8, error)\0-\0\ 1\0\0\0\17o\b8\0\0\0\14q\13q\0\16x-\0\ 1\0\0\0\17o\ 1@\0\0\0\14q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\14q\17q\0h\0\0\0\14x-\0\ 1\0\0\0\17o\ 4P\0\0\0\14q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\14q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\14q\17q\0p\0\0\0\14x-\0\ 1\0\0\0\17o\ 4`\0\0\0\14q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\14q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\14q\13q\0)x\84\0q\17type.[]uint8\0-\0\ 1\0\0\0\17o\bp\0\0\0\14q\13q\0\17x-\0\ 1\0\0\0\17o\bx\0\0\0\14q\13q\0$x6\0\ 1\0\0\0\13o
+\14q\ 5\80\0\0\0u\84\0q\18type.func([]uint8, interface {}) error\0-\0\ 1\0\0\0\13o\b\18q\13q\0 x-\0\ 1\0\0\0\17o\b\b\0\0\0\18q\17q\0\10\0\0\0\18x-\0\ 1\0\0\0\17o\b\10\0\0\0\18q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\18q\ 5lÅî\ fu-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\18q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\18q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\18q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\18q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\18q\17q\0@\ 1\0\0&x\84\0q\19go.string."func([]uint8, interface {}) error"\0-\0\ 1\0\0\0\17o\b(\0\0\0\18q\13q\0\19x-\0\ 1\0\0\0\13o\b\19q\17q\0\f\0\0\0\19x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\19q\ 5!\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\19q func([]u-\0\ 1\0\0\0\17o\b\14\0\0\0\19q int8, in-\0\ 1\0\0\0\17o\b\1c\0\0\0\19q terface -\0\ 1\0\0\0\17o\b$\0\0\0\19q {}) erro-\0\ 1\0\0\0\17o\ 1,\0\0\0\19q r\0\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1-\0\0\0\19q\ 1u6\0\ 1\0\0\0\13o
+\19q\ 50\0\0\0u\84\0q\1aweak.type.*func([]uint8, interface {}) error\0-\0\ 1\0\0\0\17o\b8\0\0\0\18q\13q\0\1ax-\0\ 1\0\0\0\17o\ 1@\0\0\0\18q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\18q\17q\0h\0\0\0\18x-\0\ 1\0\0\0\17o\ 4P\0\0\0\18q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\18q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\18q\17q\0x\0\0\0\18x-\0\ 1\0\0\0\17o\ 4`\0\0\0\18q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\18q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\18q\13q\0\17x-\0\ 1\0\0\0\17o\bp\0\0\0\18q\13q\0\1ex-\0\ 1\0\0\0\17o\bx\0\0\0\18q\13q\0$x6\0\ 1\0\0\0\13o
+\18q\ 5\80\0\0\0u\84\0q\etype.func([]uint8)\0-\0\ 1\0\0\0\13o\b\eq\13q\0 x-\0\ 1\0\0\0\17o\b\b\0\0\0\eq\17q\0\10\0\0\0\ex-\0\ 1\0\0\0\17o\b\10\0\0\0\eq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\eqE§{í·\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\eq\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\eq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\eq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\eq\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\eq\17q\0@\ 1\0\0&x\84\0q\1cgo.string."func([]uint8)"\0-\0\ 1\0\0\0\17o\b(\0\0\0\eq\13q\0\1cx-\0\ 1\0\0\0\13o\b\1cq\17q\0\f\0\0\0\1cx-\0\ 1\0\0\0\17o\ 4\b\0\0\0\1cq\ 5\r\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\1cq func([]u-\0\ 1\0\0\0\17o\ 5\14\0\0\0\1cq int8)\0\0\0-\0\ 1\0\0\0\17o\ 1\19\0\0\0\1cq\ 1u6\0\ 1\0\0\0\13o
+\1cq\ 5 \0\0\0u\84\0q\1dweak.type.*func([]uint8)\0-\0\ 1\0\0\0\17o\b8\0\0\0\eq\13q\0\1dx-\0\ 1\0\0\0\17o\ 1@\0\0\0\eq\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\eq\17q\0h\0\0\0\ex-\0\ 1\0\0\0\17o\ 4P\0\0\0\eq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\eq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\eq\17q\0p\0\0\0\ex-\0\ 1\0\0\0\17o\ 4`\0\0\0\eq\ 1u-\0\ 1\0\0\0\17o\ 4d\0\0\0\eq\ 1u-\0\ 1\0\0\0\17o\bh\0\0\0\eq\13q\0\17x6\0\ 1\0\0\0\13o
+\eq\ 5p\0\0\0u\84\0q\1etype.func(io.Reader) *bufio.Reader\0-\0\ 1\0\0\0\13o\b\1eq\13q\0 x-\0\ 1\0\0\0\17o\b\b\0\0\0\1eq\17q\0\10\0\0\0\1ex-\0\ 1\0\0\0\17o\b\10\0\0\0\1eq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\1eqE\9eñ!Å\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\1eq\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\1eq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\1eq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\1eq\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\1eq\17q\0@\ 1\0\0&x\84\0q\1fgo.string."func(io.Reader) *bufio.Reader"\0-\0\ 1\0\0\0\17o\b(\0\0\0\1eq\13q\0\1fx-\0\ 1\0\0\0\13o\b\1fq\17q\0\f\0\0\0\1fx-\0\ 1\0\0\0\17o\ 4\b\0\0\0\1fq\ 5\1d\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\1fq func(io.-\0\ 1\0\0\0\17o\b\14\0\0\0\1fq Reader) -\0\ 1\0\0\0\17o\b\1c\0\0\0\1fq *bufio.R-\0\ 1\0\0\0\17o\ 5$\0\0\0\1fq eader\0\0\0-\0\ 1\0\0\0\17o\ 1)\0\0\0\1fq\ 1u6\0\ 1\0\0\0\13o
+\1fq\ 50\0\0\0u\84\0q weak.type.*func(io.Reader) *bufio.Reader\0-\0\ 1\0\0\0\17o\b8\0\0\0\1eq\13q\0 x-\0\ 1\0\0\0\17o\ 1@\0\0\0\1eq\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\1eq\17q\0h\0\0\0\1ex-\0\ 1\0\0\0\17o\ 4P\0\0\0\1eq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\1eq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\1eq\17q\0p\0\0\0\1ex-\0\ 1\0\0\0\17o\ 4`\0\0\0\1eq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\1eq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\1eq\13q\0)x\84\0q!type.*bufio.Reader\0-\0\ 1\0\0\0\17o\bp\0\0\0\1eq\13q\0!x6\0\ 1\0\0\0\13o
+\1eq\ 5x\0\0\0u\84\0q"type.[256]uint8\0\84\0q#type.*runtime.ArrayType\0-\0\ 1\0\0\0\13o\b"q\13q\0#x-\0\ 1\0\0\0\17o\b\b\0\0\0"q\17q\0\10\0\0\0"x-\0\ 1\0\0\0\17o\b\10\0\0\0"q\ 5\0\ 1\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0"qE\9e\9d°ÿ\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0"q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0"q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0"q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0"q\ 5\91\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0"q\13q\0&x\84\0q$go.string."[256]uint8"\0-\0\ 1\0\0\0\17o\b(\0\0\0"q\13q\0$x-\0\ 1\0\0\0\13o\b$q\17q\0\f\0\0\0$x-\0\ 1\0\0\0\17o\ 4\b\0\0\0$q\ 5
+\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0$q [256]uin-\0\ 1\0\0\0\17o\ 2\14\0\0\0$q t8\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1\16\0\0\0$q\ 1u6\0\ 1\0\0\0\13o
+$q\ 5\18\0\0\0u\84\0q%weak.type.*[256]uint8\0-\0\ 1\0\0\0\17o\b8\0\0\0"q\13q\0%x\84\0q&type.uint8\0-\0\ 1\0\0\0\17o\b@\0\0\0"q\13q\0&x-\0\ 1\0\0\0\17o\bH\0\0\0"q\13q\0\17x-\0\ 1\0\0\0\17o\bP\0\0\0"q\ 5\0\ 1\0\0u6\0\ 1\0\0\0\13o
+"q\ 5X\0\0\0u\84\0q'type.func(int32) int32\0-\0\ 1\0\0\0\13o\b'q\13q\0 x-\0\ 1\0\0\0\17o\b\b\0\0\0'q\17q\0\10\0\0\0'x-\0\ 1\0\0\0\17o\b\10\0\0\0'q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0'q\ 5\881\r7u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0'q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0'q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0'q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0'q\ 5\13\0\0\0u\84\0q(runtime.algarray\0-\0\ 1\0\0\0\17o\b \0\0\0'q\17q\0@\ 1\0\0(x\84\0q)go.string."func(int32) int32"\0-\0\ 1\0\0\0\17o\b(\0\0\0'q\13q\0)x-\0\ 1\0\0\0\13o\b)q\17q\0\f\0\0\0)x-\0\ 1\0\0\0\17o\ 4\b\0\0\0)q\ 5\11\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0)q func(int-\0\ 1\0\0\0\17o\b\14\0\0\0)q 32) int3-\0\ 1\0\0\0\17o\ 1\1c\0\0\0)q 2\0\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1\1d\0\0\0)q\ 1u6\0\ 1\0\0\0\13o
+)q\ 5 \0\0\0u\84\0q*weak.type.*func(int32) int32\0-\0\ 1\0\0\0\17o\b8\0\0\0'q\13q\0*x-\0\ 1\0\0\0\17o\ 1@\0\0\0'q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0'q\17q\0h\0\0\0'x-\0\ 1\0\0\0\17o\ 4P\0\0\0'q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0'q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0'q\17q\0p\0\0\0'x-\0\ 1\0\0\0\17o\ 4`\0\0\0'q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0'q\ 5\ 1\0\0\0u\84\0q+type.int32\0-\0\ 1\0\0\0\17o\bh\0\0\0'q\13q\0+x-\0\ 1\0\0\0\17o\bp\0\0\0'q\13q\0+x6\0\ 1\0\0\0\13o
+'q\ 5x\0\0\0u\84\0q,type.func([]uint8, []uint8) bool\0-\0\ 1\0\0\0\13o\b,q\13q\0 x-\0\ 1\0\0\0\17o\b\b\0\0\0,q\17q\0\10\0\0\0,x-\0\ 1\0\0\0\17o\b\10\0\0\0,q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0,q\ 5w£+ u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0,q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0,q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0,q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0,q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0,q\17q\0@\ 1\0\0(x\84\0q-go.string."func([]uint8, []uint8) bool"\0-\0\ 1\0\0\0\17o\b(\0\0\0,q\13q\0-x-\0\ 1\0\0\0\13o\b-q\17q\0\f\0\0\0-x-\0\ 1\0\0\0\17o\ 4\b\0\0\0-q\ 5\e\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0-q func([]u-\0\ 1\0\0\0\17o\b\14\0\0\0-q int8, []-\0\ 1\0\0\0\17o\b\1c\0\0\0-q uint8) b-\0\ 1\0\0\0\17o\ 3$\0\0\0-q ool\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1'\0\0\0-q\ 1u6\0\ 1\0\0\0\13o
+-q\ 5(\0\0\0u\84\0q.weak.type.*func([]uint8, []uint8) bool\0-\0\ 1\0\0\0\17o\b8\0\0\0,q\13q\0.x-\0\ 1\0\0\0\17o\ 1@\0\0\0,q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0,q\17q\0h\0\0\0,x-\0\ 1\0\0\0\17o\ 4P\0\0\0,q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0,q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0,q\17q\0x\0\0\0,x-\0\ 1\0\0\0\17o\ 4`\0\0\0,q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0,q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0,q\13q\0\17x-\0\ 1\0\0\0\17o\bp\0\0\0,q\13q\0\17x\84\0q/type.bool\0-\0\ 1\0\0\0\17o\bx\0\0\0,q\13q\0/x6\0\ 1\0\0\0\13o
+,q\ 5\80\0\0\0u\84\0q0type.func(int64)\0-\0\ 1\0\0\0\13o\b0q\13q\0 x-\0\ 1\0\0\0\17o\b\b\0\0\00q\17q\0\10\0\0\00x-\0\ 1\0\0\0\17o\b\10\0\0\00q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\00q\ 5!æx&u-\0\ 1\0\0\0\17o\ 1\1c\0\0\00q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\00q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\00q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\00q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\00q\17q\0@\ 1\0\0(x\84\0q1go.string."func(int64)"\0-\0\ 1\0\0\0\17o\b(\0\0\00q\13q\01x-\0\ 1\0\0\0\13o\b1q\17q\0\f\0\0\01x-\0\ 1\0\0\0\17o\ 4\b\0\0\01q\ 5\v\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\01q func(int-\0\ 1\0\0\0\17o\ 3\14\0\0\01q 64)\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1\17\0\0\01q\ 1u6\0\ 1\0\0\0\13o
+1q\ 5\18\0\0\0u\84\0q\ 1weak.type.*func(int64)\0-\0\ 1\0\0\0\17o\b8\0\0\00q\13q\0\ 1x-\0\ 1\0\0\0\17o\ 1@\0\0\00q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\00q\17q\0h\0\0\00x-\0\ 1\0\0\0\17o\ 4P\0\0\00q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\00q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\00q\17q\0p\0\0\00x-\0\ 1\0\0\0\17o\ 4`\0\0\00q\ 1u-\0\ 1\0\0\0\17o\ 4d\0\0\00q\ 1u\84\0q\ 2type.int64\0-\0\ 1\0\0\0\17o\bh\0\0\00q\13q\0\ 2x6\0\ 1\0\0\0\13o
+0q\ 5p\0\0\0u\84\0q\ 3type.func([]uint8, int) []uint8\0-\0\ 1\0\0\0\13o\b\ 3q\13q\0 x-\0\ 1\0\0\0\17o\b\b\0\0\0\ 3q\17q\0\10\0\0\0\ 3x-\0\ 1\0\0\0\17o\b\10\0\0\0\ 3q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\ 3q\ 5±¿9ku-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\ 3q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\ 3q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\ 3q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\ 3q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\ 3q\17q\0@\ 1\0\0(x\84\0q\ 4go.string."func([]uint8, int) []uint8"\0-\0\ 1\0\0\0\17o\b(\0\0\0\ 3q\13q\0\ 4x-\0\ 1\0\0\0\13o\b\ 4q\17q\0\f\0\0\0\ 4x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\ 4q\ 5\1a\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\ 4q func([]u-\0\ 1\0\0\0\17o\b\14\0\0\0\ 4q int8, in-\0\ 1\0\0\0\17o\b\1c\0\0\0\ 4q t) []uin-\0\ 1\0\0\0\17o\ 2$\0\0\0\ 4q t8\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1&\0\0\0\ 4q\ 1u6\0\ 1\0\0\0\13o
+\ 4q\ 5(\0\0\0u\84\0q\ 5weak.type.*func([]uint8, int) []uint8\0-\0\ 1\0\0\0\17o\b8\0\0\0\ 3q\13q\0\ 5x-\0\ 1\0\0\0\17o\ 1@\0\0\0\ 3q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\ 3q\17q\0h\0\0\0\ 3x-\0\ 1\0\0\0\17o\ 4P\0\0\0\ 3q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\ 3q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\ 3q\17q\0x\0\0\0\ 3x-\0\ 1\0\0\0\17o\ 4`\0\0\0\ 3q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\ 3q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\ 3q\13q\0\17x\84\0q\ 6type.int\0-\0\ 1\0\0\0\17o\bp\0\0\0\ 3q\13q\0\ 6x-\0\ 1\0\0\0\17o\bx\0\0\0\ 3q\13q\0\17x6\0\ 1\0\0\0\13o
+\ 3q\ 5\80\0\0\0u\84\0q\atype.func(string) *text/template.Template\0-\0\ 1\0\0\0\13o\b\aq\13q\0 x-\0\ 1\0\0\0\17o\b\b\0\0\0\aq\17q\0\10\0\0\0\ax-\0\ 1\0\0\0\17o\b\10\0\0\0\aq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\aqE9èb¨\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\aq\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\aq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\aq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\aq\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\aq\17q\0@\ 1\0\0(x\84\0q\bgo.string."func(string) *template.Template"\0-\0\ 1\0\0\0\17o\b(\0\0\0\aq\13q\0\bx-\0\ 1\0\0\0\13o\b\bq\17q\0\f\0\0\0\bx-\0\ 1\0\0\0\17o\ 4\b\0\0\0\bq\ 5\1f\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\bq func(str-\0\ 1\0\0\0\17o\b\14\0\0\0\bq ing) *te-\0\ 1\0\0\0\17o\b\1c\0\0\0\bq mplate.T-\0\ 1\0\0\0\17o\a$\0\0\0\bq emplate\0-\0\ 1\0\0\0\17o\ 1+\0\0\0\bq\ 1u6\0\ 1\0\0\0\13o
+\bq\ 50\0\0\0u\84\0q weak.type.*func(string) *text/template.Template\0-\0\ 1\0\0\0\17o\b8\0\0\0\aq\13q\0 x-\0\ 1\0\0\0\17o\ 1@\0\0\0\aq\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\aq\17q\0h\0\0\0\ax-\0\ 1\0\0\0\17o\ 4P\0\0\0\aq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\aq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\aq\17q\0p\0\0\0\ax-\0\ 1\0\0\0\17o\ 4`\0\0\0\aq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\aq\ 5\ 1\0\0\0u\84\0q
+type.string\0-\0\ 1\0\0\0\17o\bh\0\0\0\aq\13q\0
+x\84\0q\vtype.*text/template.Template\0-\0\ 1\0\0\0\17o\bp\0\0\0\aq\13q\0\vx6\0\ 1\0\0\0\13o
+\aq\ 5x\0\0\0u\84\0q\ftype.func(func(int32) int32, string) string\0\84\0q\rtype.*runtime.FuncType\0-\0\ 1\0\0\0\13o\b\fq\13q\0\rx-\0\ 1\0\0\0\17o\b\b\0\0\0\fq\17q\0\10\0\0\0\fx-\0\ 1\0\0\0\17o\b\10\0\0\0\fq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\fqE\17×áÚ\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\fq\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\fq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\fq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\fq\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\fq\17q\0@\ 1\0\0(x\84\0q\ ego.string."func(func(int32) int32, string) string"\0-\0\ 1\0\0\0\17o\b(\0\0\0\fq\13q\0\ ex-\0\ 1\0\0\0\13o\b\ eq\17q\0\f\0\0\0\ ex-\0\ 1\0\0\0\17o\ 4\b\0\0\0\ eq\ 5&\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\ eq func(fun-\0\ 1\0\0\0\17o\b\14\0\0\0\ eq c(int32)-\0\ 1\0\0\0\17o\b\1c\0\0\0\ eq int32, -\0\ 1\0\0\0\17o\b$\0\0\0\ eq string) -\0\ 1\0\0\0\17o\ 6,\0\0\0\ eq string\0\0-\0\ 1\0\0\0\17o\ 12\0\0\0\ eq\ 1u6\0\ 1\0\0\0\13o
+\ eq\ 58\0\0\0u\84\0q\ fweak.type.*func(func(int32) int32, string) string\0-\0\ 1\0\0\0\17o\b8\0\0\0\fq\13q\0\ fx-\0\ 1\0\0\0\17o\ 1@\0\0\0\fq\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\fq\17q\0h\0\0\0\fx-\0\ 1\0\0\0\17o\ 4P\0\0\0\fq\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\fq\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\fq\17q\0x\0\0\0\fx-\0\ 1\0\0\0\17o\ 4`\0\0\0\fq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\fq\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\fq\13q\0'x-\0\ 1\0\0\0\17o\bp\0\0\0\fq\13q\0
+x-\0\ 1\0\0\0\17o\bx\0\0\0\fq\13q\0
+x6\0\ 1\0\0\0\13o
+\fq\ 5\80\0\0\0u\84\0q\10type.func(*text/template.Template, error) *text/template.Template\0-\0\ 1\0\0\0\13o\b\10q\13q\0\rx-\0\ 1\0\0\0\17o\b\b\0\0\0\10q\17q\0\10\0\0\0\10x-\0\ 1\0\0\0\17o\b\10\0\0\0\10q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\10qE½®Ã¦\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\10q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\10q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\10q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\10q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\10q\17q\0@\ 1\0\0(x\84\0q\11go.string."func(*template.Template, error) *template.Template"\0-\0\ 1\0\0\0\17o\b(\0\0\0\10q\13q\0\11x-\0\ 1\0\0\0\13o\b\11q\17q\0\f\0\0\0\11x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\11q\ 52\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\11q func(*te-\0\ 1\0\0\0\17o\b\14\0\0\0\11q mplate.T-\0\ 1\0\0\0\17o\b\1c\0\0\0\11q emplate,-\0\ 1\0\0\0\17o\b$\0\0\0\11q error) -\0\ 1\0\0\0\17o\b,\0\0\0\11q *templat-\0\ 1\0\0\0\17o\b4\0\0\0\11q e.Templa-\0\ 1\0\0\0\17o\ 2<\0\0\0\11q te\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1>\0\0\0\11q\ 1u6\0\ 1\0\0\0\13o
+\11q\ 5@\0\0\0u\84\0q\12weak.type.*func(*text/template.Template, error) *text/template.Template\0-\0\ 1\0\0\0\17o\b8\0\0\0\10q\13q\0\12x-\0\ 1\0\0\0\17o\ 1@\0\0\0\10q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\10q\17q\0h\0\0\0\10x-\0\ 1\0\0\0\17o\ 4P\0\0\0\10q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\10q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\10q\17q\0x\0\0\0\10x-\0\ 1\0\0\0\17o\ 4`\0\0\0\10q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0\10q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0\10q\13q\0\vx\84\0q\13type.error\0-\0\ 1\0\0\0\17o\bp\0\0\0\10q\13q\0\13x-\0\ 1\0\0\0\17o\bx\0\0\0\10q\13q\0\vx6\0\ 1\0\0\0\13o
+\10q\ 5\80\0\0\0u\84\0q\14type.func(*uintptr, uintptr, *"".JSONResponse)\0-\0\ 1\0\0\0\13o\b\14q\13q\0\rx-\0\ 1\0\0\0\17o\b\b\0\0\0\14q\17q\0\10\0\0\0\14x-\0\ 1\0\0\0\17o\b\10\0\0\0\14q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\14qE·aÕ\9d\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\14q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\14q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\14q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\14q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\14q\17q\0@\ 1\0\0(x\84\0q\15go.string."func(*uintptr, uintptr, *go1.JSONResponse)"\0-\0\ 1\0\0\0\17o\b(\0\0\0\14q\13q\0\15x-\0\ 1\0\0\0\13o\b\15q\17q\0\f\0\0\0\15x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\15q\ 5*\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\15q func(*ui-\0\ 1\0\0\0\17o\b\14\0\0\0\15q ntptr, u-\0\ 1\0\0\0\17o\b\1c\0\0\0\15q intptr, -\0\ 1\0\0\0\17o\b$\0\0\0\15q *go1.JSO-\0\ 1\0\0\0\17o\b,\0\0\0\15q NRespons-\0\ 1\0\0\0\17o\ 24\0\0\0\15q e)\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 16\0\0\0\15q\ 1u6\0\ 1\0\0\0\13o
+\15q\ 58\0\0\0u\84\0q\16weak.type.*func(*uintptr, uintptr, *"".JSONResponse)\0-\0\ 1\0\0\0\17o\b8\0\0\0\14q\13q\0\16x-\0\ 1\0\0\0\17o\ 1@\0\0\0\14q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\14q\17q\0h\0\0\0\14x-\0\ 1\0\0\0\17o\ 4P\0\0\0\14q\ 5\ 3\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\14q\ 5\ 3\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\14q\17q\0\80\0\0\0\14x-\0\ 1\0\0\0\17o\ 4`\0\0\0\14q\ 1u-\0\ 1\0\0\0\17o\ 4d\0\0\0\14q\ 1u\84\0q\17type.*uintptr\0-\0\ 1\0\0\0\17o\bh\0\0\0\14q\13q\0\17x\84\0q\18type.uintptr\0-\0\ 1\0\0\0\17o\bp\0\0\0\14q\13q\0\18x\84\0q\19type.*"".JSONResponse\0-\0\ 1\0\0\0\17o\bx\0\0\0\14q\13q\0\19x6\0\ 1\0\0\0\13o
+\14q\ 5\80\0\0\0u\84\0q\1atype.**"".JSONNode\0\84\0q\etype.*runtime.PtrType\0-\0\ 1\0\0\0\13o\b\1aq\13q\0\ex-\0\ 1\0\0\0\17o\b\b\0\0\0\1aq\17q\0\10\0\0\0\1ax-\0\ 1\0\0\0\17o\b\10\0\0\0\1aq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\1aq\ 5Ë(MFu-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\1aq\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\1aq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\1aq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\1aq\ 5\16\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\1aq\17q\0\80\0\0\0(x\84\0q\1cgo.string."**go1.JSONNode"\0-\0\ 1\0\0\0\17o\b(\0\0\0\1aq\13q\0\1cx-\0\ 1\0\0\0\13o\b\1cq\17q\0\f\0\0\0\1cx-\0\ 1\0\0\0\17o\ 4\b\0\0\0\1cq\ 5\ e\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\1cq **go1.JS-\0\ 1\0\0\0\17o\ 6\14\0\0\0\1cq ONNode\0\0-\0\ 1\0\0\0\17o\ 1\1a\0\0\0\1cq\ 1u6\0\ 1\0\0\0\13o
+\1cq\ 5 \0\0\0u\84\0q\1dweak.type.***"".JSONNode\0-\0\ 1\0\0\0\17o\b8\0\0\0\1aq\13q\0\1dx\84\0q\1etype.*"".JSONNode\0-\0\ 1\0\0\0\17o\b@\0\0\0\1aq\13q\0\1ex6\0\ 1\0\0\0\13o
+\1aq\ 5H\0\0\0u\84\0q\1ftype.func(*uintptr, uintptr, **"".JSONNode)\0-\0\ 1\0\0\0\13o\b\1fq\13q\0\rx-\0\ 1\0\0\0\17o\b\b\0\0\0\1fq\17q\0\10\0\0\0\1fx-\0\ 1\0\0\0\17o\b\10\0\0\0\1fq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0\1fqEôb¢\85\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0\1fq\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0\1fq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0\1fq\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0\1fq\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0\1fq\17q\0@\ 1\0\0(x\84\0q go.string."func(*uintptr, uintptr, **go1.JSONNode)"\0-\0\ 1\0\0\0\17o\b(\0\0\0\1fq\13q\0 x-\0\ 1\0\0\0\13o\b q\17q\0\f\0\0\0 x-\0\ 1\0\0\0\17o\ 4\b\0\0\0 q\ 5'\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0 q func(*ui-\0\ 1\0\0\0\17o\b\14\0\0\0 q ntptr, u-\0\ 1\0\0\0\17o\b\1c\0\0\0 q intptr, -\0\ 1\0\0\0\17o\b$\0\0\0 q **go1.JS-\0\ 1\0\0\0\17o\a,\0\0\0 q ONNode)\0-\0\ 1\0\0\0\17o\ 13\0\0\0 q\ 1u6\0\ 1\0\0\0\13o
+ q\ 58\0\0\0u\84\0q!weak.type.*func(*uintptr, uintptr, **"".JSONNode)\0-\0\ 1\0\0\0\17o\b8\0\0\0\1fq\13q\0!x-\0\ 1\0\0\0\17o\ 1@\0\0\0\1fq\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0\1fq\17q\0h\0\0\0\1fx-\0\ 1\0\0\0\17o\ 4P\0\0\0\1fq\ 5\ 3\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0\1fq\ 5\ 3\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0\1fq\17q\0\80\0\0\0\1fx-\0\ 1\0\0\0\17o\ 4`\0\0\0\1fq\ 1u-\0\ 1\0\0\0\17o\ 4d\0\0\0\1fq\ 1u-\0\ 1\0\0\0\17o\bh\0\0\0\1fq\13q\0\17x-\0\ 1\0\0\0\17o\bp\0\0\0\1fq\13q\0\18x-\0\ 1\0\0\0\17o\bx\0\0\0\1fq\13q\0\1ax6\0\ 1\0\0\0\13o
+\1fq\ 5\80\0\0\0u\84\0q"type.func(*uintptr, uintptr, *string)\0-\0\ 1\0\0\0\13o\b"q\13q\0\rx-\0\ 1\0\0\0\17o\b\b\0\0\0"q\17q\0\10\0\0\0"x-\0\ 1\0\0\0\17o\b\10\0\0\0"q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0"qE{ó\82\98\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0"q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0"q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0"q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0"q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0"q\17q\0@\ 1\0\0(x\84\0q#go.string."func(*uintptr, uintptr, *string)"\0-\0\ 1\0\0\0\17o\b(\0\0\0"q\13q\0#x-\0\ 1\0\0\0\13o\b#q\17q\0\f\0\0\0#x-\0\ 1\0\0\0\17o\ 4\b\0\0\0#q\ 5 \0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0#q func(*ui-\0\ 1\0\0\0\17o\b\14\0\0\0#q ntptr, u-\0\ 1\0\0\0\17o\b\1c\0\0\0#q intptr, -\0\ 1\0\0\0\17o\b$\0\0\0#q *string)-\0\ 1\0\0\0\17o\ 1,\0\0\0#q\ 1u6\0\ 1\0\0\0\13o
+#q\ 50\0\0\0u\84\0q$weak.type.*func(*uintptr, uintptr, *string)\0-\0\ 1\0\0\0\17o\b8\0\0\0"q\13q\0$x-\0\ 1\0\0\0\17o\ 1@\0\0\0"q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0"q\17q\0h\0\0\0"x-\0\ 1\0\0\0\17o\ 4P\0\0\0"q\ 5\ 3\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0"q\ 5\ 3\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0"q\17q\0\80\0\0\0"x-\0\ 1\0\0\0\17o\ 4`\0\0\0"q\ 1u-\0\ 1\0\0\0\17o\ 4d\0\0\0"q\ 1u-\0\ 1\0\0\0\17o\bh\0\0\0"q\13q\0\17x-\0\ 1\0\0\0\17o\bp\0\0\0"q\13q\0\18x\84\0q%type.*string\0-\0\ 1\0\0\0\17o\bx\0\0\0"q\13q\0%x6\0\ 1\0\0\0\13o
+"q\ 5\80\0\0\0u\84\0q&type.func(*bool, uintptr, *"".JSONResponse, *"".JSONResponse)\0-\0\ 1\0\0\0\13o\b&q\13q\0\rx-\0\ 1\0\0\0\17o\b\b\0\0\0&q\17q\0\10\0\0\0&x-\0\ 1\0\0\0\17o\b\10\0\0\0&q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0&qEâÆl\94\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0&q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0&q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0&q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0&q\ 5\13\0\0\0u-\0\ 1\0\0\0\17o\b \0\0\0&q\17q\0@\ 1\0\0(x\84\0q'go.string."func(*bool, uintptr, *go1.JSONResponse, *go1.JSONResponse)"\0-\0\ 1\0\0\0\17o\b(\0\0\0&q\13q\0'x-\0\ 1\0\0\0\13o\b'q\17q\0\f\0\0\0'x-\0\ 1\0\0\0\17o\ 4\b\0\0\0'q\ 5:\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0'q func(*bo-\0\ 1\0\0\0\17o\b\14\0\0\0'q ol, uint-\0\ 1\0\0\0\17o\b\1c\0\0\0'q ptr, *go-\0\ 1\0\0\0\17o\b$\0\0\0'q 1.JSONRe-\0\ 1\0\0\0\17o\b,\0\0\0'q sponse, -\0\ 1\0\0\0\17o\b4\0\0\0'q *go1.JSO-\0\ 1\0\0\0\17o\b<\0\0\0'q NRespons-\0\ 1\0\0\0\17o\ 2D\0\0\0'q e)\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1F\0\0\0'q\ 1u6\0\ 1\0\0\0\13o
+'q\ 5H\0\0\0u\84\0q(weak.type.*func(*bool, uintptr, *"".JSONResponse, *"".JSONResponse)\0-\0\ 1\0\0\0\17o\b8\0\0\0&q\13q\0(x-\0\ 1\0\0\0\17o\ 1@\0\0\0&q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0&q\17q\0h\0\0\0&x-\0\ 1\0\0\0\17o\ 4P\0\0\0&q\ 5\ 4\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0&q\ 5\ 4\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0&q\17q\0\88\0\0\0&x-\0\ 1\0\0\0\17o\ 4`\0\0\0&q\ 1u-\0\ 1\0\0\0\17o\ 4d\0\0\0&q\ 1u\84\0q)type.*bool\0-\0\ 1\0\0\0\17o\bh\0\0\0&q\13q\0)x-\0\ 1\0\0\0\17o\bp\0\0\0&q\13q\0\18x-\0\ 1\0\0\0\17o\bx\0\0\0&q\13q\0\19x-\0\ 1\0\0\0\17o\b\80\0\0\0&q\13q\0\19x6\0\ 1\0\0\0\13o
+&q\ 5\88\0\0\0u\84\0q*type.func(string, string) int\0-\0\ 1\0\0\0\13o\b*q\13q\0\rx-\0\ 1\0\0\0\17o\b\b\0\0\0*q\17q\0\10\0\0\0*x-\0\ 1\0\0\0\17o\b\10\0\0\0*q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 4\18\0\0\0*qE\ f6\18Ì\0\0\0\0u-\0\ 1\0\0\0\17o\ 1\1c\0\0\0*q\ 1u-\0\ 1\0\0\0\17o\ 1\1d\0\0\0*q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1e\0\0\0*q\ 5\b\0\0\0u-\0\ 1\0\0\0\17o\ 1\1f\0\0\0*q\ 5\13\0\0\0u\84\0q+runtime.algarray\0-\0\ 1\0\0\0\17o\b \0\0\0*q\17q\0@\ 1\0\0+x\84\0q,go.string."func(string, string) int"\0-\0\ 1\0\0\0\17o\b(\0\0\0*q\13q\0,x-\0\ 1\0\0\0\13o\b,q\17q\0\f\0\0\0,x-\0\ 1\0\0\0\17o\ 4\b\0\0\0,q\ 5\18\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0,q func(str-\0\ 1\0\0\0\17o\b\14\0\0\0,q ing, str-\0\ 1\0\0\0\17o\b\1c\0\0\0,q ing) int-\0\ 1\0\0\0\17o\ 1$\0\0\0,q\ 1u6\0\ 1\0\0\0\13o
+,q\ 5(\0\0\0u\84\0q-weak.type.*func(string, string) int\0-\0\ 1\0\0\0\17o\b8\0\0\0*q\13q\0-x-\0\ 1\0\0\0\17o\ 1@\0\0\0*q\ 1u-\0\ 1\0\0\0\17o\bH\0\0\0*q\17q\0h\0\0\0*x-\0\ 1\0\0\0\17o\ 4P\0\0\0*q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 4T\0\0\0*q\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\bX\0\0\0*q\17q\0x\0\0\0*x-\0\ 1\0\0\0\17o\ 4`\0\0\0*q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\ 4d\0\0\0*q\ 5\ 1\0\0\0u-\0\ 1\0\0\0\17o\bh\0\0\0*q\13q\0
+x-\0\ 1\0\0\0\17o\bp\0\0\0*q\13q\0
+x-\0\ 1\0\0\0\17o\bx\0\0\0*q\13q\0\ 6x6\0\ 1\0\0\0\13o
+*q\ 5\80\0\0\0u\84\0q.go.importpath.log.\0\84\0q/go.string."log"\0-\0\ 1\0\0\0\13o\b.q\17q\0\f\0\0\0/x-\0\ 1\0\0\0\13o\b/q\17q\0\f\0\0\0/x-\0\ 1\0\0\0\17o\ 4\b\0\0\0/q\ 5\ 3\0\0\0u-\0\ 1\0\0\0\17o\ 3\f\0\0\0/q log\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1\ f\0\0\0/q\ 1u6\0\ 1\0\0\0\13o
+/q\ 5\10\0\0\0u-\0\ 1\0\0\0\17o\ 4\b\0\0\0.q\ 5\ 3\0\0\0u6\0\ 1\0\0\0\13o
+.q\ 5\10\0\0\0u\84\0q0go.importpath.io/ioutil.\0\84\0q1go.string."io/ioutil"\0-\0\ 1\0\0\0\13o\b0q\17q\0\f\0\0\01x-\0\ 1\0\0\0\13o\b1q\17q\0\f\0\0\01x-\0\ 1\0\0\0\17o\ 4\b\0\0\01q\ 5 \0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\01q io/iouti-\0\ 1\0\0\0\17o\ 1\14\0\0\01q l\0\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1\15\0\0\01q\ 1u6\0\ 1\0\0\0\13o
+1q\ 5\18\0\0\0u-\0\ 1\0\0\0\17o\ 4\b\0\0\00q\ 5 \0\0\0u6\0\ 1\0\0\0\13o
+0q\ 5\10\0\0\0u\84\0q\ 1go.importpath.runtime.\0\84\0q\ 2go.string."runtime"\0-\0\ 1\0\0\0\13o\b\ 1q\17q\0\f\0\0\0\ 2x-\0\ 1\0\0\0\13o\b\ 2q\17q\0\f\0\0\0\ 2x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\ 2q\ 5\a\0\0\0u-\0\ 1\0\0\0\17o\a\f\0\0\0\ 2q runtime\0-\0\ 1\0\0\0\17o\ 1\13\0\0\0\ 2q\ 1u6\0\ 1\0\0\0\13o
+\ 2q\ 5\18\0\0\0u-\0\ 1\0\0\0\17o\ 4\b\0\0\0\ 1q\ 5\a\0\0\0u6\0\ 1\0\0\0\13o
+\ 1q\ 5\10\0\0\0u\84\0q\ 3go.importpath.bufio.\0\84\0q\ 4go.string."bufio"\0-\0\ 1\0\0\0\13o\b\ 3q\17q\0\f\0\0\0\ 4x-\0\ 1\0\0\0\13o\b\ 4q\17q\0\f\0\0\0\ 4x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\ 4q\ 5\ 5\0\0\0u-\0\ 1\0\0\0\17o\ 5\f\0\0\0\ 4q bufio\0\0\0-\0\ 1\0\0\0\17o\ 1\11\0\0\0\ 4q\ 1u6\0\ 1\0\0\0\13o
+\ 4q\ 5\18\0\0\0u-\0\ 1\0\0\0\17o\ 4\b\0\0\0\ 3q\ 5\ 5\0\0\0u6\0\ 1\0\0\0\13o
+\ 3q\ 5\10\0\0\0u\84\0q\ 5go.importpath.compress/bzip2.\0\84\0q\ 6go.string."compress/bzip2"\0-\0\ 1\0\0\0\13o\b\ 5q\17q\0\f\0\0\0\ 6x-\0\ 1\0\0\0\13o\b\ 6q\17q\0\f\0\0\0\ 6x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\ 6q\ 5\ e\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\ 6q compress-\0\ 1\0\0\0\17o\ 6\14\0\0\0\ 6q /bzip2\0\0-\0\ 1\0\0\0\17o\ 1\1a\0\0\0\ 6q\ 1u6\0\ 1\0\0\0\13o
+\ 6q\ 5 \0\0\0u-\0\ 1\0\0\0\17o\ 4\b\0\0\0\ 5q\ 5\ e\0\0\0u6\0\ 1\0\0\0\13o
+\ 5q\ 5\10\0\0\0u\84\0q\ago.importpath.io.\0\84\0q\bgo.string."io"\0-\0\ 1\0\0\0\13o\b\aq\17q\0\f\0\0\0\bx-\0\ 1\0\0\0\13o\b\bq\17q\0\f\0\0\0\bx-\0\ 1\0\0\0\17o\ 4\b\0\0\0\bq\ 5\ 2\0\0\0u-\0\ 1\0\0\0\17o\ 2\f\0\0\0\bq io\0\0\0\0\0\0-\0\ 1\0\0\0\17o\ 1\ e\0\0\0\bq\ 1u6\0\ 1\0\0\0\13o
+\bq\ 5\10\0\0\0u-\0\ 1\0\0\0\17o\ 4\b\0\0\0\aq\ 5\ 2\0\0\0u6\0\ 1\0\0\0\13o
+\aq\ 5\10\0\0\0u\84\0q go.importpath.compress/gzip.\0\84\0q
+go.string."compress/gzip"\0-\0\ 1\0\0\0\13o\b q\17q\0\f\0\0\0
+x-\0\ 1\0\0\0\13o\b
+q\17q\0\f\0\0\0
+x-\0\ 1\0\0\0\17o\ 4\b\0\0\0
+q\ 5\r\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0
+q compress-\0\ 1\0\0\0\17o\ 5\14\0\0\0
+q /gzip\0\0\0-\0\ 1\0\0\0\17o\ 1\19\0\0\0
+q\ 1u6\0\ 1\0\0\0\13o
+
+q\ 5 \0\0\0u-\0\ 1\0\0\0\17o\ 4\b\0\0\0 q\ 5\r\0\0\0u6\0\ 1\0\0\0\13o
+ q\ 5\10\0\0\0u\84\0q\vgo.importpath.testing.\0\84\0q\fgo.string."testing"\0-\0\ 1\0\0\0\13o\b\vq\17q\0\f\0\0\0\fx-\0\ 1\0\0\0\13o\b\fq\17q\0\f\0\0\0\fx-\0\ 1\0\0\0\17o\ 4\b\0\0\0\fq\ 5\a\0\0\0u-\0\ 1\0\0\0\17o\a\f\0\0\0\fq testing\0-\0\ 1\0\0\0\17o\ 1\13\0\0\0\fq\ 1u6\0\ 1\0\0\0\13o
+\fq\ 5\18\0\0\0u-\0\ 1\0\0\0\17o\ 4\b\0\0\0\vq\ 5\a\0\0\0u6\0\ 1\0\0\0\13o
+\vq\ 5\10\0\0\0u\84\0q\rgo.importpath.encoding/base64.\0\84\0q\ ego.string."encoding/base64"\0-\0\ 1\0\0\0\13o\b\rq\17q\0\f\0\0\0\ ex-\0\ 1\0\0\0\13o\b\ eq\17q\0\f\0\0\0\ ex-\0\ 1\0\0\0\17o\ 4\b\0\0\0\ eq\ 5\ f\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\ eq encoding-\0\ 1\0\0\0\17o\a\14\0\0\0\ eq /base64\0-\0\ 1\0\0\0\17o\ 1\e\0\0\0\ eq\ 1u6\0\ 1\0\0\0\13o
+\ eq\ 5 \0\0\0u-\0\ 1\0\0\0\17o\ 4\b\0\0\0\rq\ 5\ f\0\0\0u6\0\ 1\0\0\0\13o
+\rq\ 5\10\0\0\0u\84\0q\ fgo.importpath.strings.\0\84\0q\10go.string."strings"\0-\0\ 1\0\0\0\13o\b\ fq\17q\0\f\0\0\0\10x-\0\ 1\0\0\0\13o\b\10q\17q\0\f\0\0\0\10x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\10q\ 5\a\0\0\0u-\0\ 1\0\0\0\17o\a\f\0\0\0\10q strings\0-\0\ 1\0\0\0\17o\ 1\13\0\0\0\10q\ 1u6\0\ 1\0\0\0\13o
+\10q\ 5\18\0\0\0u-\0\ 1\0\0\0\17o\ 4\b\0\0\0\ fq\ 5\a\0\0\0u6\0\ 1\0\0\0\13o
+\ fq\ 5\10\0\0\0u\84\0q\11go.importpath.encoding/gob.\0\84\0q\12go.string."encoding/gob"\0-\0\ 1\0\0\0\13o\b\11q\17q\0\f\0\0\0\12x-\0\ 1\0\0\0\13o\b\12q\17q\0\f\0\0\0\12x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\12q\ 5\f\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\12q encoding-\0\ 1\0\0\0\17o\ 4\14\0\0\0\12q /gob\0\0\0\0-\0\ 1\0\0\0\17o\ 1\18\0\0\0\12q\ 1u6\0\ 1\0\0\0\13o
+\12q\ 5 \0\0\0u-\0\ 1\0\0\0\17o\ 4\b\0\0\0\11q\ 5\f\0\0\0u6\0\ 1\0\0\0\13o
+\11q\ 5\10\0\0\0u\84\0q\13go.importpath.reflect.\0\84\0q\14go.string."reflect"\0-\0\ 1\0\0\0\13o\b\13q\17q\0\f\0\0\0\14x-\0\ 1\0\0\0\13o\b\14q\17q\0\f\0\0\0\14x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\14q\ 5\a\0\0\0u-\0\ 1\0\0\0\17o\a\f\0\0\0\14q reflect\0-\0\ 1\0\0\0\17o\ 1\13\0\0\0\14q\ 1u6\0\ 1\0\0\0\13o
+\14q\ 5\18\0\0\0u-\0\ 1\0\0\0\17o\ 4\b\0\0\0\13q\ 5\a\0\0\0u6\0\ 1\0\0\0\13o
+\13q\ 5\10\0\0\0u\84\0q\15go.importpath.text/template.\0\84\0q\16go.string."text/template"\0-\0\ 1\0\0\0\13o\b\15q\17q\0\f\0\0\0\16x-\0\ 1\0\0\0\13o\b\16q\17q\0\f\0\0\0\16x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\16q\ 5\r\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\16q text/tem-\0\ 1\0\0\0\17o\ 5\14\0\0\0\16q plate\0\0\0-\0\ 1\0\0\0\17o\ 1\19\0\0\0\16q\ 1u6\0\ 1\0\0\0\13o
+\16q\ 5 \0\0\0u-\0\ 1\0\0\0\17o\ 4\b\0\0\0\15q\ 5\r\0\0\0u6\0\ 1\0\0\0\13o
+\15q\ 5\10\0\0\0u\84\0q\17go.importpath.encoding/json.\0\84\0q\18go.string."encoding/json"\0-\0\ 1\0\0\0\13o\b\17q\17q\0\f\0\0\0\18x-\0\ 1\0\0\0\13o\b\18q\17q\0\f\0\0\0\18x-\0\ 1\0\0\0\17o\ 4\b\0\0\0\18q\ 5\r\0\0\0u-\0\ 1\0\0\0\17o\b\f\0\0\0\18q encoding-\0\ 1\0\0\0\17o\ 5\14\0\0\0\18q /json\0\0\0-\0\ 1\0\0\0\17o\ 1\19\0\0\0\18q\ 1u6\0\ 1\0\0\0\13o
+\18q\ 5 \0\0\0u-\0\ 1\0\0\0\17o\ 4\b\0\0\0\17q\ 5\r\0\0\0u6\0\ 1\0\0\0\13o
+\17q\ 5\10\0\0\0u\84\0q\19go.importpath.bytes.\0\84\0q\1ago.string."bytes"\0-\0\ 1\0\0\0\13o\b\19q\17q\0\f\0\0\0\1ax-\0\ 1\0\0\0\13o\b\1aq\17q\0\f\0\0\0\1ax-\0\ 1\0\0\0\17o\ 4\b\0\0\0\1aq\ 5\ 5\0\0\0u-\0\ 1\0\0\0\17o\ 5\f\0\0\0\1aq bytes\0\0\0-\0\ 1\0\0\0\17o\ 1\11\0\0\0\1aq\ 1u6\0\ 1\0\0\0\13o
+\1aq\ 5\18\0\0\0u-\0\ 1\0\0\0\17o\ 4\b\0\0\0\19q\ 5\ 5\0\0\0u6\0\ 1\0\0\0\13o
+\19q\ 5\10\0\0\0uP\ 1\0\0\0\0\0\0
\ No newline at end of file
--- /dev/null
+go object linux amd64 weekly.2012-01-15 11312+ X:none
+ exports automatically generated from
+ _testmain.go in package "main"
+
+$$ // exports
+ package main
+ import runtime "runtime"
+ import go1 "go1"
+ import testing "testing"
+ import regexp "regexp"
+ import time "time" // indirect
+ type @"time".zone struct { @"time".name string; @"time".offset int; @"time".isDST bool }
+ type @"time".zoneTrans struct { @"time".when int64; @"time".index uint8; @"time".isstd bool; @"time".isutc bool }
+ type @"time".Location struct { @"time".name string; @"time".zone []@"time".zone; @"time".tx []@"time".zoneTrans; @"time".cacheStart int64; @"time".cacheEnd int64; @"time".cacheZone *@"time".zone }
+ func (@"time".l *@"time".Location) String() (? string)
+ func (@"time".l *@"time".Location) @"time".get() (? *@"time".Location)
+ func (@"time".l *@"time".Location) @"time".lookup(@"time".sec int64) (@"time".name string, @"time".offset int, @"time".isDST bool, @"time".start int64, @"time".end int64)
+ func (@"time".l *@"time".Location) @"time".lookupName(@"time".name string "noescape") (@"time".offset int, @"time".isDST bool, @"time".ok bool)
+ func (@"time".l *@"time".Location) @"time".lookupOffset(@"time".offset int) (@"time".name string, @"time".isDST bool, @"time".ok bool)
+ type @"time".Duration int64
+ func (@"time".d @"time".Duration) Hours() (? float64)
+ func (@"time".d @"time".Duration) Minutes() (? float64)
+ func (@"time".d @"time".Duration) Nanoseconds() (? int64) { return int64(@"time".d) }
+ func (@"time".d @"time".Duration) Seconds() (? float64)
+ func (@"time".d @"time".Duration) String() (? string)
+ type @"time".Month int
+ func (@"time".m @"time".Month) String() (? string) { return @"time".months[@"time".m - @"time".Month(1)] }
+ type @"time".Weekday int
+ func (@"time".d @"time".Weekday) String() (? string) { return @"time".days[@"time".d] }
+ type @"time".Time struct { @"time".sec int64; @"time".nsec int32; @"time".loc *@"time".Location }
+ func (@"time".t @"time".Time) Add(@"time".d @"time".Duration) (? @"time".Time)
+ func (@"time".t @"time".Time) AddDate(@"time".years int, @"time".months int, @"time".days int) (? @"time".Time)
+ func (@"time".t @"time".Time "noescape") After(@"time".u @"time".Time "noescape") (? bool) { return @"time".t.@"time".sec > @"time".u.@"time".sec || @"time".t.@"time".sec == @"time".u.@"time".sec && @"time".t.@"time".nsec > @"time".u.@"time".nsec }
+ func (@"time".t @"time".Time "noescape") Before(@"time".u @"time".Time "noescape") (? bool) { return @"time".t.@"time".sec < @"time".u.@"time".sec || @"time".t.@"time".sec == @"time".u.@"time".sec && @"time".t.@"time".nsec < @"time".u.@"time".nsec }
+ func (@"time".t @"time".Time) Clock() (@"time".hour int, @"time".min int, @"time".sec int)
+ func (@"time".t @"time".Time) Date() (@"time".year int, @"time".month @"time".Month, @"time".day int)
+ func (@"time".t @"time".Time) Day() (? int)
+ func (@"time".t @"time".Time "noescape") Equal(@"time".u @"time".Time "noescape") (? bool) { return @"time".t.@"time".sec == @"time".u.@"time".sec && @"time".t.@"time".nsec == @"time".u.@"time".nsec }
+ func (@"time".t @"time".Time) Format(@"time".layout string) (? string)
+ func (@"time".t *@"time".Time "noescape") GobDecode(@"time".buf []byte "noescape") (? error)
+ func (@"time".t @"time".Time) GobEncode() (? []byte, ? error)
+ func (@"time".t @"time".Time) Hour() (? int)
+ func (@"time".t @"time".Time) ISOWeek() (@"time".year int, @"time".week int)
+ func (@"time".t @"time".Time) In(@"time".loc *@"time".Location) (? @"time".Time)
+ func (@"time".t @"time".Time "noescape") IsZero() (? bool) { return @"time".t.@"time".sec == 0 && @"time".t.@"time".nsec == 0 }
+ func (@"time".t @"time".Time) Local() (? @"time".Time)
+ func (@"time".t @"time".Time) Location() (? *@"time".Location)
+ func (@"time".t @"time".Time) MarshalJSON() (? []byte, ? error)
+ func (@"time".t @"time".Time) Minute() (? int)
+ func (@"time".t @"time".Time) Month() (? @"time".Month)
+ func (@"time".t @"time".Time "noescape") Nanosecond() (? int) { return int(@"time".t.@"time".nsec) }
+ func (@"time".t @"time".Time) Second() (? int)
+ func (@"time".t @"time".Time) String() (? string)
+ func (@"time".t @"time".Time "noescape") Sub(@"time".u @"time".Time "noescape") (? @"time".Duration) { return @"time".Duration(@"time".t.@"time".sec - @"time".u.@"time".sec) * @"time".Duration(1000000000) + @"time".Duration(@"time".t.@"time".nsec - @"time".u.@"time".nsec) }
+ func (@"time".t @"time".Time) UTC() (? @"time".Time)
+ func (@"time".t @"time".Time "noescape") Unix() (? int64) { return @"time".t.@"time".sec + -62135596800 }
+ func (@"time".t @"time".Time "noescape") UnixNano() (? int64) { return (@"time".t.@"time".sec + -62135596800) * 1000000000 + int64(@"time".t.@"time".nsec) }
+ func (@"time".t *@"time".Time "noescape") UnmarshalJSON(@"time".data []byte "noescape") (@"time".err error)
+ func (@"time".t @"time".Time) Weekday() (? @"time".Weekday)
+ func (@"time".t @"time".Time) Year() (? int)
+ func (@"time".t @"time".Time) Zone() (@"time".name string, @"time".offset int)
+ func (@"time".t @"time".Time) @"time".abs() (? uint64)
+ func (@"time".t @"time".Time) @"time".date(@"time".full bool) (@"time".year int, @"time".month @"time".Month, @"time".day int, @"time".yday int)
+ type @"testing".common struct { @"testing".output []byte; @"testing".failed bool; @"testing".start @"time".Time; @"testing".duration @"time".Duration; @"testing".self interface {}; @"testing".signal chan interface {} }
+ func (@"testing".c *@"testing".common "noescape") Error(@"testing".args ...interface {} "noescape")
+ func (@"testing".c *@"testing".common "noescape") Errorf(@"testing".format string "noescape", @"testing".args ...interface {} "noescape")
+ func (@"testing".c *@"testing".common "noescape") Fail() { @"testing".c.@"testing".failed = true }
+ func (@"testing".c *@"testing".common "noescape") FailNow()
+ func (@"testing".c *@"testing".common "noescape") Failed() (? bool) { return @"testing".c.@"testing".failed }
+ func (@"testing".c *@"testing".common "noescape") Fatal(@"testing".args ...interface {} "noescape")
+ func (@"testing".c *@"testing".common "noescape") Fatalf(@"testing".format string "noescape", @"testing".args ...interface {} "noescape")
+ func (@"testing".c *@"testing".common "noescape") Log(@"testing".args ...interface {} "noescape")
+ func (@"testing".c *@"testing".common "noescape") Logf(@"testing".format string "noescape", @"testing".args ...interface {} "noescape")
+ func (@"testing".c *@"testing".common "noescape") @"testing".log(@"testing".s string)
+ type @"testing".T struct { ? @"testing".common; @"testing".name string; @"testing".startParallel chan bool }
+ func (@"testing".t *@"testing".T "noescape") Parallel()
+ func (@"testing".t *@"testing".T "noescape") @"testing".report()
+ type @"testing".InternalTest struct { Name string; F func(? *@"testing".T) }
+ var @"".tests []@"testing".InternalTest
+ type @"testing".BenchmarkResult struct { N int; T @"time".Duration; Bytes int64 }
+ func (@"testing".r @"testing".BenchmarkResult) NsPerOp() (? int64)
+ func (@"testing".r @"testing".BenchmarkResult) String() (? string)
+ func (@"testing".r @"testing".BenchmarkResult) @"testing".mbPerSec() (? float64)
+ type @"testing".B struct { ? @"testing".common; N int; @"testing".benchmark @"testing".InternalBenchmark; @"testing".bytes int64; @"testing".timerOn bool; @"testing".result @"testing".BenchmarkResult }
+ func (@"testing".b *@"testing".B "noescape") ResetTimer()
+ func (@"testing".b *@"testing".B "noescape") SetBytes(@"testing".n int64) { @"testing".b.@"testing".bytes = @"testing".n }
+ func (@"testing".b *@"testing".B "noescape") StartTimer()
+ func (@"testing".b *@"testing".B "noescape") StopTimer()
+ func (@"testing".b *@"testing".B) @"testing".launch()
+ func (@"testing".b *@"testing".B "noescape") @"testing".nsPerOp() (? int64)
+ func (@"testing".b *@"testing".B) @"testing".run() (? @"testing".BenchmarkResult)
+ func (@"testing".b *@"testing".B) @"testing".runN(@"testing".n int)
+ func (@"testing".b *@"testing".B "noescape") @"testing".trimOutput()
+ type @"testing".InternalBenchmark struct { Name string; F func(@"testing".b *@"testing".B) }
+ var @"".benchmarks []@"testing".InternalBenchmark
+ type @"testing".InternalExample struct { Name string; F func(); Output string }
+ var @"".examples []@"testing".InternalExample
+ var @"".matchPat string
+ import syntax "regexp/syntax" // indirect
+ type @"regexp/syntax".InstOp uint8
+ type @"regexp/syntax".Inst struct { Op @"regexp/syntax".InstOp; Out uint32; Arg uint32; Rune []rune }
+ func (@"regexp/syntax".i *@"regexp/syntax".Inst "noescape") MatchEmptyWidth(@"regexp/syntax".before rune, @"regexp/syntax".after rune) (? bool)
+ func (@"regexp/syntax".i *@"regexp/syntax".Inst "noescape") MatchRune(@"regexp/syntax".r rune) (? bool)
+ func (@"regexp/syntax".i *@"regexp/syntax".Inst "noescape") String() (? string)
+ func (@"regexp/syntax".i *@"regexp/syntax".Inst "noescape") @"regexp/syntax".op() (? @"regexp/syntax".InstOp)
+ type @"regexp/syntax".EmptyOp uint8
+ type @"regexp/syntax".Prog struct { Inst []@"regexp/syntax".Inst; Start int; NumCap int }
+ func (@"regexp/syntax".p *@"regexp/syntax".Prog "noescape") Prefix() (@"regexp/syntax".prefix string, @"regexp/syntax".complete bool)
+ func (@"regexp/syntax".p *@"regexp/syntax".Prog "noescape") StartCond() (? @"regexp/syntax".EmptyOp)
+ func (@"regexp/syntax".p *@"regexp/syntax".Prog "noescape") String() (? string)
+ func (@"regexp/syntax".p *@"regexp/syntax".Prog "noescape") @"regexp/syntax".skipNop(@"regexp/syntax".pc uint32) (? *@"regexp/syntax".Inst)
+ import sync "sync" // indirect
+ type @"sync".Mutex struct { @"sync".state int32; @"sync".sema uint32 }
+ func (@"sync".m *@"sync".Mutex) Lock()
+ func (@"sync".m *@"sync".Mutex) Unlock()
+ type @"regexp".thread struct { @"regexp".inst *@"regexp/syntax".Inst; @"regexp".cap []int }
+ type @"regexp".entry struct { @"regexp".pc uint32; @"regexp".t *@"regexp".thread }
+ type @"regexp".queue struct { @"regexp".sparse []uint32; @"regexp".dense []@"regexp".entry }
+ type @"regexp".inputBytes struct { @"regexp".str []byte }
+ func (@"regexp".i *@"regexp".inputBytes "noescape") @"regexp".canCheckPrefix() (? bool) { return true }
+ func (@"regexp".i *@"regexp".inputBytes "noescape") @"regexp".context(@"regexp".pos int) (? @"regexp/syntax".EmptyOp)
+ func (@"regexp".i *@"regexp".inputBytes "noescape") @"regexp".hasPrefix(@"regexp".re *@"regexp".Regexp "noescape") (? bool)
+ func (@"regexp".i *@"regexp".inputBytes "noescape") @"regexp".index(@"regexp".re *@"regexp".Regexp "noescape", @"regexp".pos int) (? int)
+ func (@"regexp".i *@"regexp".inputBytes "noescape") @"regexp".step(@"regexp".pos int) (? rune, ? int)
+ type @"regexp".inputString struct { @"regexp".str string }
+ func (@"regexp".i *@"regexp".inputString "noescape") @"regexp".canCheckPrefix() (? bool) { return true }
+ func (@"regexp".i *@"regexp".inputString "noescape") @"regexp".context(@"regexp".pos int) (? @"regexp/syntax".EmptyOp)
+ func (@"regexp".i *@"regexp".inputString "noescape") @"regexp".hasPrefix(@"regexp".re *@"regexp".Regexp "noescape") (? bool)
+ func (@"regexp".i *@"regexp".inputString "noescape") @"regexp".index(@"regexp".re *@"regexp".Regexp "noescape", @"regexp".pos int) (? int)
+ func (@"regexp".i *@"regexp".inputString "noescape") @"regexp".step(@"regexp".pos int) (? rune, ? int)
+ import io "io" // indirect
+ type @"io".RuneReader interface { ReadRune() (@"io".r rune, @"io".size int, @"io".err error) }
+ type @"regexp".inputReader struct { @"regexp".r @"io".RuneReader; @"regexp".atEOT bool; @"regexp".pos int }
+ func (@"regexp".i *@"regexp".inputReader "noescape") @"regexp".canCheckPrefix() (? bool) { return false }
+ func (@"regexp".i *@"regexp".inputReader "noescape") @"regexp".context(@"regexp".pos int) (? @"regexp/syntax".EmptyOp) { return @"regexp/syntax".EmptyOp(0) }
+ func (@"regexp".i *@"regexp".inputReader "noescape") @"regexp".hasPrefix(@"regexp".re *@"regexp".Regexp "noescape") (? bool) { return false }
+ func (@"regexp".i *@"regexp".inputReader "noescape") @"regexp".index(@"regexp".re *@"regexp".Regexp "noescape", @"regexp".pos int) (? int) { return -1 }
+ func (@"regexp".i *@"regexp".inputReader "noescape") @"regexp".step(@"regexp".pos int) (? rune, ? int)
+ type @"regexp".input interface { @"regexp".step(@"regexp".pos int) (@"regexp".r rune, @"regexp".width int); @"regexp".canCheckPrefix() (? bool); @"regexp".hasPrefix(@"regexp".re *@"regexp".Regexp) (? bool); @"regexp".index(@"regexp".re *@"regexp".Regexp, @"regexp".pos int) (? int); @"regexp".context(@"regexp".pos int) (? @"regexp/syntax".EmptyOp) }
+ type @"regexp".machine struct { @"regexp".re *@"regexp".Regexp; @"regexp".p *@"regexp/syntax".Prog; @"regexp".q0 @"regexp".queue; @"regexp".q1 @"regexp".queue; @"regexp".pool []*@"regexp".thread; @"regexp".matched bool; @"regexp".matchcap []int; @"regexp".inputBytes @"regexp".inputBytes; @"regexp".inputString @"regexp".inputString; @"regexp".inputReader @"regexp".inputReader }
+ func (@"regexp".m *@"regexp".machine "noescape") @"regexp".add(@"regexp".q *@"regexp".queue "noescape", @"regexp".pc uint32, @"regexp".pos int, @"regexp".cap []int "noescape", @"regexp".cond @"regexp/syntax".EmptyOp, @"regexp".t *@"regexp".thread) (? *@"regexp".thread)
+ func (@"regexp".m *@"regexp".machine "noescape") @"regexp".alloc(@"regexp".i *@"regexp/syntax".Inst) (? *@"regexp".thread)
+ func (@"regexp".m *@"regexp".machine "noescape") @"regexp".clear(@"regexp".q *@"regexp".queue "noescape")
+ func (@"regexp".m *@"regexp".machine "noescape") @"regexp".free(@"regexp".t *@"regexp".thread)
+ func (@"regexp".m *@"regexp".machine "noescape") @"regexp".init(@"regexp".ncap int)
+ func (@"regexp".m *@"regexp".machine "noescape") @"regexp".match(@"regexp".i @"regexp".input, @"regexp".pos int) (? bool)
+ func (@"regexp".m *@"regexp".machine) @"regexp".newInputBytes(@"regexp".b []byte) (? @"regexp".input)
+ func (@"regexp".m *@"regexp".machine) @"regexp".newInputReader(@"regexp".r @"io".RuneReader) (? @"regexp".input)
+ func (@"regexp".m *@"regexp".machine) @"regexp".newInputString(@"regexp".s string) (? @"regexp".input)
+ func (@"regexp".m *@"regexp".machine "noescape") @"regexp".step(@"regexp".runq *@"regexp".queue "noescape", @"regexp".nextq *@"regexp".queue "noescape", @"regexp".pos int, @"regexp".nextPos int, @"regexp".c rune, @"regexp".nextCond @"regexp/syntax".EmptyOp)
+ type @"regexp".Regexp struct { @"regexp".expr string; @"regexp".prog *@"regexp/syntax".Prog; @"regexp".prefix string; @"regexp".prefixBytes []byte; @"regexp".prefixComplete bool; @"regexp".prefixRune rune; @"regexp".cond @"regexp/syntax".EmptyOp; @"regexp".numSubexp int; @"regexp".longest bool; @"regexp".mu @"sync".Mutex; @"regexp".machine []*@"regexp".machine }
+ func (@"regexp".re *@"regexp".Regexp) Find(@"regexp".b []byte) (? []byte)
+ func (@"regexp".re *@"regexp".Regexp) FindAll(@"regexp".b []byte, @"regexp".n int) (? [][]byte)
+ func (@"regexp".re *@"regexp".Regexp) FindAllIndex(@"regexp".b []byte, @"regexp".n int) (? [][]int)
+ func (@"regexp".re *@"regexp".Regexp) FindAllString(@"regexp".s string, @"regexp".n int) (? []string)
+ func (@"regexp".re *@"regexp".Regexp) FindAllStringIndex(@"regexp".s string, @"regexp".n int) (? [][]int)
+ func (@"regexp".re *@"regexp".Regexp) FindAllStringSubmatch(@"regexp".s string, @"regexp".n int) (? [][]string)
+ func (@"regexp".re *@"regexp".Regexp) FindAllStringSubmatchIndex(@"regexp".s string, @"regexp".n int) (? [][]int)
+ func (@"regexp".re *@"regexp".Regexp) FindAllSubmatch(@"regexp".b []byte, @"regexp".n int) (? [][][]byte)
+ func (@"regexp".re *@"regexp".Regexp) FindAllSubmatchIndex(@"regexp".b []byte, @"regexp".n int) (? [][]int)
+ func (@"regexp".re *@"regexp".Regexp) FindIndex(@"regexp".b []byte) (@"regexp".loc []int)
+ func (@"regexp".re *@"regexp".Regexp) FindReaderIndex(@"regexp".r @"io".RuneReader) (? []int)
+ func (@"regexp".re *@"regexp".Regexp) FindReaderSubmatchIndex(@"regexp".r @"io".RuneReader) (? []int)
+ func (@"regexp".re *@"regexp".Regexp) FindString(@"regexp".s string) (? string)
+ func (@"regexp".re *@"regexp".Regexp) FindStringIndex(@"regexp".s string) (? []int)
+ func (@"regexp".re *@"regexp".Regexp) FindStringSubmatch(@"regexp".s string) (? []string)
+ func (@"regexp".re *@"regexp".Regexp) FindStringSubmatchIndex(@"regexp".s string) (? []int)
+ func (@"regexp".re *@"regexp".Regexp) FindSubmatch(@"regexp".b []byte) (? [][]byte)
+ func (@"regexp".re *@"regexp".Regexp) FindSubmatchIndex(@"regexp".b []byte) (? []int)
+ func (@"regexp".re *@"regexp".Regexp "noescape") LiteralPrefix() (@"regexp".prefix string, @"regexp".complete bool) { return @"regexp".re.@"regexp".prefix, @"regexp".re.@"regexp".prefixComplete }
+ func (@"regexp".re *@"regexp".Regexp) Match(@"regexp".b []byte) (? bool)
+ func (@"regexp".re *@"regexp".Regexp) MatchReader(@"regexp".r @"io".RuneReader) (? bool)
+ func (@"regexp".re *@"regexp".Regexp) MatchString(@"regexp".s string) (? bool)
+ func (@"regexp".re *@"regexp".Regexp "noescape") NumSubexp() (? int) { return @"regexp".re.@"regexp".numSubexp }
+ func (@"regexp".re *@"regexp".Regexp) ReplaceAll(@"regexp".src []byte, @"regexp".repl []byte "noescape") (? []byte)
+ func (@"regexp".re *@"regexp".Regexp) ReplaceAllFunc(@"regexp".src []byte, @"regexp".repl func(? []byte) (? []byte) "noescape") (? []byte)
+ func (@"regexp".re *@"regexp".Regexp) ReplaceAllString(@"regexp".src string, @"regexp".repl string "noescape") (? string)
+ func (@"regexp".re *@"regexp".Regexp) ReplaceAllStringFunc(@"regexp".src string, @"regexp".repl func(? string) (? string) "noescape") (? string)
+ func (@"regexp".re *@"regexp".Regexp "noescape") String() (? string) { return @"regexp".re.@"regexp".expr }
+ func (@"regexp".re *@"regexp".Regexp) @"regexp".allMatches(@"regexp".s string, @"regexp".b []byte, @"regexp".n int, @"regexp".deliver func(? []int) "noescape")
+ func (@"regexp".re *@"regexp".Regexp) @"regexp".doExecute(@"regexp".r @"io".RuneReader, @"regexp".b []byte, @"regexp".s string, @"regexp".pos int, @"regexp".ncap int) (? []int)
+ func (@"regexp".re *@"regexp".Regexp) @"regexp".get() (? *@"regexp".machine)
+ func (@"regexp".re *@"regexp".Regexp "noescape") @"regexp".pad(@"regexp".a []int) (? []int)
+ func (@"regexp".re *@"regexp".Regexp) @"regexp".put(@"regexp".z *@"regexp".machine)
+ var @"".matchRe *@"regexp".Regexp
+ func @"".matchString(@"".pat string, @"".str string) (@"".result bool, @"".err error)
+ func @"".main()
+ var @"".statictmp_0001 [0]@"testing".InternalTest
+ var @"".statictmp_0002 [10]@"testing".InternalBenchmark
+ var @"".statictmp_0003 [0]@"testing".InternalExample
+ var @"".initdone· uint8
+ func @"".init()
+ var @"time".months [12]string
+ var @"time".days [7]string
+
+$$ // local types
+
+$$
+
+!
+\84\0y\ 1</\0\84\0y\ 1<home\0\84\0y\ 1<iant\0\84\0y\ 1<go\0\84\0y\ 1<test\0\84\0y\ 1<bench\0\84\0y\ 1<go1\0\84\0y\ 1<_testmain.go\08\0\ 1\0\0\0\0\0\84\0y\ 1<go1.a\08\0\ 3\0\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<testing.a\08\0\ 4\0\0\0\0\ 5ÿÿÿÿu\84\0y\ 1<regexp.a\08\0\ 5\0\0\0\0\ 5ÿÿÿÿu8\0*\0\0\0\0\0\84\0q\ 1"".matchString\0\84\0q\ 2type.func(string, string) (bool, error)\0ã\0\e\0\0\0\91\ 1q\ 2E(\0\0\08\0\0\0u\84\0q\ 3"".matchPat\0\84\0q\ 4type.string\0r\0\e\0\0\0\95\b\0\0\0\ 3q\ 4\ 1\10\84\0t\ 5"".pat\0r\0\e\0\0\0\95\b\0\0\0\ 5t\ 4\ 1\11\84\0t\ 6"".err\0\84\0q\atype.error\0®\ 1\e\0\0\0\ 1u\95(\0\0\0\ 6t\a®\ 1\e\0\0\0\ 1u\950\0\0\0\ 6t\a\84\0q\btype.bool\0q\0\e\0\0\0\ 1u\81\12\b\84\0t "".result\0q\0\e\0\0\0\ 1\12\15 \0\0\0 t\84\0q
+"".matchRe\0\84\0q\vtype.*regexp.Regexp\0®\ 1\1c\0\0\0\91
+q\v\ 1\13®\ 1\1c\0\0\0\ 1u\ 1\15¢\ 1\1c\0\0\0\ 1\13\ 1\15Q\0\1c\0\0\0\0\ 5\e\0\0\0p&\0\1c\0\0\0\ 1\10\ 1\11Z\0\1c\0\0\0\0\ 5\e\0\0\0p«\ 1\1c\0\0\0\ 1\8f\ 1\15®\ 1\1c\0\0\0\91\ 3q\ 4\ 1\18®\ 1\1c\0\0\0\ 1\18\ 1\90r\0\1c\0\0\0\ 1\10\ 5\b\0\0\0\90«\ 1\1c\0\0\0\ 5\10\0\0\0\8f\ 1\15®\ 1\1c\0\0\0\91\ 5t\ 4\ 1\18®\ 1\1c\0\0\0\ 1\18\ 1\90r\0\1c\0\0\0\ 1\11\ 5\b\0\0\0\90\84\0q\fruntime.cmpstring\0\84\0q\rtype.func(string, string) int\0\1f\0\1c\0\0\0\0\91\fq\rr\0\1c\0\0\0\95\b\0\0\0\ 5t\ 4\ 1\11r\0\1c\0\0\0\ 5 \0\0\0\8f\ 1\13&\0\1c\0\0\0\ 1\13\ 1uZ\0\1c\0\0\0\0\ 5\e\0\0\0pY\0\1c\0\0\0\0\ 5-\0\0\0p®\ 1\1d\0\0\0\91\ 5t\ 4\ 1\10\84\0\8f\ eregexp.expr\0«\ 1\1e\0\0\0\11\ e\8f\ 1\13®\ 1\1e\0\0\0\ 1\10\91\ 3q\ 4®\ 1\1e\0\0\0\ 1\10\ 1\8er\0\1e\0\0\0\ 1\11\95\b\0\0\0\ 3q\ 4r\0\1e\0\0\0\ 1\11\ 5\b\0\0\0\8e\84\0q\ fregexp.Compile\0\84\0q\10type.func(string) (*regexp.Regexp, error)\0\1f\0\1e\0\0\0\0\91\ fq\10®\ 1\1e\0\0\0\ 5\10\0\0\0\8f\ 1\13®\ 1\1e\0\0\0\ 1\13\91
+q\v«\ 1\1e\0\0\0\ 5\18\0\0\0\8f\ 1\13®\ 1\1e\0\0\0\ 1\8e\ 1\15®\ 1\1e\0\0\0\ 1\15\95(\0\0\0\ 6t\a®\ 1\1e\0\0\0\ 5\b\0\0\0\8e\ 1\15®\ 1\1e\0\0\0\ 1\15\950\0\0\0\ 6t\a«\ 1\1f\0\0\0\95(\0\0\0\ 6t\a\ 1\13¢\ 1\1f\0\0\0\ 1\8e\ 1uQ\0\1f\0\0\0\0\ 5-\0\0\0pª\0 \0\0\0\0\0®\ 1#\0\0\0\91
+q\v\ 1\13\84\0\8f\11regexp.re\0®\ 1#\0\0\0\ 1\13\11\11\8f\84\0\8f\12regexp.s\0«\ 1#\0\0\0\15\b\0\0\0\12\8f\ 1\13\84\0t\13"".str\0®\ 1#\0\0\0\95\10\0\0\0\13t\ 4\ 1\15®\ 1#\0\0\0\ 1\15\ 1\8er\0#\0\0\0\95\18\0\0\0\13t\ 4\ 1\15r\0#\0\0\0\ 1\15\ 5\b\0\0\0\8e\84\0q\14regexp.(*Regexp).MatchString\0\1f\0#\0\0\0\0\11\14qq\0#\0\0\0\ 5\18\0\0\0\8f\ 1\13q\0#\0\0\0\ 1\13\ 1\10q\0#\0\0\0\ 1\10\ 1\13q\0#\0\0\0\ 1\13\95 \0\0\0 t\b®\ 1#\0\0\0\ 1u\95(\0\0\0\ 6t\a®\ 1#\0\0\0\ 1u\950\0\0\0\ 6t\aª\0#\0\0\0\0\0\84\0q\15"".main\0\84\0q\16type.func()\0ã\0&\0\0\0\91\15q\16\ 58\0\0\0u®\ 1'\0\0\0\93q\0\ 1x\ 2\ 1\13\84\0\8f\17testing.matchString\0®\ 1'\0\0\0\ 1\13\11\17\8f\84\0\8f\18testing.tests\0«\ 1'\0\0\0\15\b\0\0\0\18\8f\ 1\13\84\0q\19"".tests\0\84\0q\1atype.[]testing.InternalTest\0®\ 1'\0\0\0\91\19q\1a\ 1\15®\ 1'\0\0\0\ 1\15\ 1\8er\0'\0\0\0\95\b\0\0\0\19q\1a\ 1\15r\0'\0\0\0\ 1\15\ 5\b\0\0\0\8er\0'\0\0\0\95\f\0\0\0\19q\1a\ 1\15r\0'\0\0\0\ 1\15\ 5\f\0\0\0\8e\84\0\8f\etesting.benchmarks\0«\ 1'\0\0\0\15\18\0\0\0\e\8f\ 1\13\84\0q\1c"".benchmarks\0\84\0q\1dtype.[]testing.InternalBenchmark\0®\ 1'\0\0\0\91\1cq\1d\ 1\15®\ 1'\0\0\0\ 1\15\ 1\8er\0'\0\0\0\95\b\0\0\0\1cq\1d\ 1\15r\0'\0\0\0\ 1\15\ 5\b\0\0\0\8er\0'\0\0\0\95\f\0\0\0\1cq\1d\ 1\15r\0'\0\0\0\ 1\15\ 5\f\0\0\0\8e\84\0\8f\1etesting.examples\0«\ 1'\0\0\0\15(\0\0\0\1e\8f\ 1\13\84\0q\1f"".examples\0\84\0q type.[]testing.InternalExample\0®\ 1'\0\0\0\91\1fq \ 1\15®\ 1'\0\0\0\ 1\15\ 1\8er\0'\0\0\0\95\b\0\0\0\1fq \ 1\15r\0'\0\0\0\ 1\15\ 5\b\0\0\0\8er\0'\0\0\0\95\f\0\0\0\1fq \ 1\15r\0'\0\0\0\ 1\15\ 5\f\0\0\0\8e\84\0q!testing.Main\0\84\0q"type.func(func(string, string) (bool, error), []testing.InternalTest, []testing.InternalBenchmark, []testing.InternalExample)\0\1f\0'\0\0\0\0\91!q"ª\0(\0\0\0\0\0\84\0q#"".init\0ã\0(\0\0\0\91#q\16\ 1u\84\0q$"".initdone·\0\84\0q%type.uint8\0q\0(\0\0\0\91$q%\ 1\10q\0(\0\0\0\81\10%\ 1\13%\0(\0\0\0\ 1\13\ 1uQ\0(\0\0\0\0\ 5`\0\0\0pq\0(\0\0\0\81\10%\ 1\13%\0(\0\0\0\ 1\13\ 5\ 2\0\0\0uZ\0(\0\0\0\0\ 5_\0\0\0pª\0(\0\0\0\0\0\84\0q&runtime.throwinit\0\1f\0(\0\0\0\0\91&q\16q\0(\0\0\0\ 5\ 1\0\0\0u\91$q%\84\0q'regexp.init\0\1f\0(\0\0\0\0\91'q\16\84\0q(testing.init\0\1f\0(\0\0\0\0\91(q\16\84\0q)go1.init\0\1f\0(\0\0\0\0\91)q\16\84\0q*go1.BenchmarkBinaryTree17\0\84\0q+type.func(*testing.B)\0®\ 1\15\0\0\0\93q\0*x+\ 1\13\84\0q,"".statictmp_0002\0®\ 1\15\0\0\0\ 1\13\15\10\0\0\0,q\84\0q-go1.BenchmarkFannkuch11\0®\ 1\15\0\0\0\93q\0-x+\ 1\13®\ 1\15\0\0\0\ 1\13\15(\0\0\0,q\84\0q.go1.BenchmarkGobDecode\0®\ 1\15\0\0\0\93q\0.x+\ 1\13®\ 1\15\0\0\0\ 1\13\15@\0\0\0,q\84\0q/go1.BenchmarkGobEncode\0®\ 1\15\0\0\0\93q\0/x+\ 1\13®\ 1\15\0\0\0\ 1\13\15X\0\0\0,q\84\0q0go1.BenchmarkGzip\0®\ 1\15\0\0\0\93q\00x+\ 1\13®\ 1\15\0\0\0\ 1\13\15p\0\0\0,q\84\0q1go1.BenchmarkGunzip\0®\ 1\15\0\0\0\93q\01x+\ 1\13®\ 1\15\0\0\0\ 1\13\15\88\0\0\0,q\84\0q\ 1go1.BenchmarkJSONEncode\0®\ 1\15\0\0\0\93q\0\ 1x+\ 1\13®\ 1\15\0\0\0\ 1\13\15 \0\0\0,q\84\0q\ 2go1.BenchmarkJSONDecode\0®\ 1\15\0\0\0\93q\0\ 2x+\ 1\13®\ 1\15\0\0\0\ 1\13\15¸\0\0\0,q\84\0q\ 3go1.BenchmarkRevcomp25M\0®\ 1\15\0\0\0\93q\0\ 3x+\ 1\13®\ 1\15\0\0\0\ 1\13\15Ð\0\0\0,q\84\0q\ 4go1.BenchmarkTemplate\0®\ 1\15\0\0\0\93q\0\ 4x+\ 1\13®\ 1\15\0\0\0\ 1\13\15è\0\0\0,qq\0(\0\0\0\ 5\ 2\0\0\0u\91$q%ª\0(\0\0\0\0\0\84\0q\ 5"".statictmp_0001\0-\0\b\0\0\0\93o\b\19q\1a\13q\0\ 5x-\0\b\0\0\0\97o\ 4\b\0\0\0\19q\1a\ 1u-\0\b\0\0\0\97o\ 4\f\0\0\0\19q\1a\ 1u-\0\15\0\0\0\93o\b\1cq\1d\13q\0,x-\0\15\0\0\0\97o\ 4\b\0\0\0\1cq\1d\ 5
+\0\0\0u-\0\15\0\0\0\97o\ 4\f\0\0\0\1cq\1d\ 5
+\0\0\0u\84\0q\ 6go.string."go1.BenchmarkBinaryTree17"\0-\0\15\0\0\0\13o\b,q\17q\0\f\0\0\0\ 6x-\0\15\0\0\0\13o\b\ 6q\17q\0\f\0\0\0\ 6x-\0\15\0\0\0\17o\ 4\b\0\0\0\ 6q\ 5\19\0\0\0u-\0\15\0\0\0\17o\b\f\0\0\0\ 6q go1.Benc-\0\15\0\0\0\17o\b\14\0\0\0\ 6q hmarkBin-\0\15\0\0\0\17o\b\1c\0\0\0\ 6q aryTree1-\0\15\0\0\0\17o\ 1$\0\0\0\ 6q 7\0\0\0\0\0\0\0-\0\15\0\0\0\17o\ 1%\0\0\0\ 6q\ 1u6\0\15\0\0\0\13o
+\ 6q\ 5(\0\0\0u-\0\15\0\0\0\17o\ 4\b\0\0\0,q\ 5\19\0\0\0u\84\0q\ago.string."go1.BenchmarkFannkuch11"\0-\0\15\0\0\0\17o\b\18\0\0\0,q\17q\0\f\0\0\0\ax-\0\15\0\0\0\13o\b\aq\17q\0\f\0\0\0\ax-\0\15\0\0\0\17o\ 4\b\0\0\0\aq\ 5\17\0\0\0u-\0\15\0\0\0\17o\b\f\0\0\0\aq go1.Benc-\0\15\0\0\0\17o\b\14\0\0\0\aq hmarkFan-\0\15\0\0\0\17o\a\1c\0\0\0\aq nkuch11\0-\0\15\0\0\0\17o\ 1#\0\0\0\aq\ 1u6\0\15\0\0\0\13o
+\aq\ 5(\0\0\0u-\0\15\0\0\0\17o\ 4 \0\0\0,q\ 5\17\0\0\0u\84\0q\bgo.string."go1.BenchmarkGobDecode"\0-\0\15\0\0\0\17o\b0\0\0\0,q\17q\0\f\0\0\0\bx-\0\15\0\0\0\13o\b\bq\17q\0\f\0\0\0\bx-\0\15\0\0\0\17o\ 4\b\0\0\0\bq\ 5\16\0\0\0u-\0\15\0\0\0\17o\b\f\0\0\0\bq go1.Benc-\0\15\0\0\0\17o\b\14\0\0\0\bq hmarkGob-\0\15\0\0\0\17o\ 6\1c\0\0\0\bq Decode\0\0-\0\15\0\0\0\17o\ 1"\0\0\0\bq\ 1u6\0\15\0\0\0\13o
+\bq\ 5(\0\0\0u-\0\15\0\0\0\17o\ 48\0\0\0,q\ 5\16\0\0\0u\84\0q go.string."go1.BenchmarkGobEncode"\0-\0\15\0\0\0\17o\bH\0\0\0,q\17q\0\f\0\0\0 x-\0\15\0\0\0\13o\b q\17q\0\f\0\0\0 x-\0\15\0\0\0\17o\ 4\b\0\0\0 q\ 5\16\0\0\0u-\0\15\0\0\0\17o\b\f\0\0\0 q go1.Benc-\0\15\0\0\0\17o\b\14\0\0\0 q hmarkGob-\0\15\0\0\0\17o\ 6\1c\0\0\0 q Encode\0\0-\0\15\0\0\0\17o\ 1"\0\0\0 q\ 1u6\0\15\0\0\0\13o
+ q\ 5(\0\0\0u-\0\15\0\0\0\17o\ 4P\0\0\0,q\ 5\16\0\0\0u\84\0q
+go.string."go1.BenchmarkGzip"\0-\0\15\0\0\0\17o\b`\0\0\0,q\17q\0\f\0\0\0
+x-\0\15\0\0\0\13o\b
+q\17q\0\f\0\0\0
+x-\0\15\0\0\0\17o\ 4\b\0\0\0
+q\ 5\11\0\0\0u-\0\15\0\0\0\17o\b\f\0\0\0
+q go1.Benc-\0\15\0\0\0\17o\b\14\0\0\0
+q hmarkGzi-\0\15\0\0\0\17o\ 1\1c\0\0\0
+q p\0\0\0\0\0\0\0-\0\15\0\0\0\17o\ 1\1d\0\0\0
+q\ 1u6\0\15\0\0\0\13o
+
+q\ 5 \0\0\0u-\0\15\0\0\0\17o\ 4h\0\0\0,q\ 5\11\0\0\0u\84\0q\vgo.string."go1.BenchmarkGunzip"\0-\0\15\0\0\0\17o\bx\0\0\0,q\17q\0\f\0\0\0\vx-\0\15\0\0\0\13o\b\vq\17q\0\f\0\0\0\vx-\0\15\0\0\0\17o\ 4\b\0\0\0\vq\ 5\13\0\0\0u-\0\15\0\0\0\17o\b\f\0\0\0\vq go1.Benc-\0\15\0\0\0\17o\b\14\0\0\0\vq hmarkGun-\0\15\0\0\0\17o\ 3\1c\0\0\0\vq zip\0\0\0\0\0-\0\15\0\0\0\17o\ 1\1f\0\0\0\vq\ 1u6\0\15\0\0\0\13o
+\vq\ 5 \0\0\0u-\0\15\0\0\0\17o\ 4\80\0\0\0,q\ 5\13\0\0\0u\84\0q\fgo.string."go1.BenchmarkJSONEncode"\0-\0\15\0\0\0\17o\b\90\0\0\0,q\17q\0\f\0\0\0\fx-\0\15\0\0\0\13o\b\fq\17q\0\f\0\0\0\fx-\0\15\0\0\0\17o\ 4\b\0\0\0\fq\ 5\17\0\0\0u-\0\15\0\0\0\17o\b\f\0\0\0\fq go1.Benc-\0\15\0\0\0\17o\b\14\0\0\0\fq hmarkJSO-\0\15\0\0\0\17o\a\1c\0\0\0\fq NEncode\0-\0\15\0\0\0\17o\ 1#\0\0\0\fq\ 1u6\0\15\0\0\0\13o
+\fq\ 5(\0\0\0u-\0\15\0\0\0\17o\ 4\98\0\0\0,q\ 5\17\0\0\0u\84\0q\rgo.string."go1.BenchmarkJSONDecode"\0-\0\15\0\0\0\17o\b¨\0\0\0,q\17q\0\f\0\0\0\rx-\0\15\0\0\0\13o\b\rq\17q\0\f\0\0\0\rx-\0\15\0\0\0\17o\ 4\b\0\0\0\rq\ 5\17\0\0\0u-\0\15\0\0\0\17o\b\f\0\0\0\rq go1.Benc-\0\15\0\0\0\17o\b\14\0\0\0\rq hmarkJSO-\0\15\0\0\0\17o\a\1c\0\0\0\rq NDecode\0-\0\15\0\0\0\17o\ 1#\0\0\0\rq\ 1u6\0\15\0\0\0\13o
+\rq\ 5(\0\0\0u-\0\15\0\0\0\17o\ 4°\0\0\0,q\ 5\17\0\0\0u\84\0q\ ego.string."go1.BenchmarkRevcomp25M"\0-\0\15\0\0\0\17o\bÀ\0\0\0,q\17q\0\f\0\0\0\ ex-\0\15\0\0\0\13o\b\ eq\17q\0\f\0\0\0\ ex-\0\15\0\0\0\17o\ 4\b\0\0\0\ eq\ 5\17\0\0\0u-\0\15\0\0\0\17o\b\f\0\0\0\ eq go1.Benc-\0\15\0\0\0\17o\b\14\0\0\0\ eq hmarkRev-\0\15\0\0\0\17o\a\1c\0\0\0\ eq comp25M\0-\0\15\0\0\0\17o\ 1#\0\0\0\ eq\ 1u6\0\15\0\0\0\13o
+\ eq\ 5(\0\0\0u-\0\15\0\0\0\17o\ 4È\0\0\0,q\ 5\17\0\0\0u\84\0q\ fgo.string."go1.BenchmarkTemplate"\0-\0\15\0\0\0\17o\bØ\0\0\0,q\17q\0\f\0\0\0\ fx-\0\15\0\0\0\13o\b\ fq\17q\0\f\0\0\0\ fx-\0\15\0\0\0\17o\ 4\b\0\0\0\ fq\ 5\15\0\0\0u-\0\15\0\0\0\17o\b\f\0\0\0\ fq go1.Benc-\0\15\0\0\0\17o\b\14\0\0\0\ fq hmarkTem-\0\15\0\0\0\17o\ 5\1c\0\0\0\ fq plate\0\0\0-\0\15\0\0\0\17o\ 1!\0\0\0\ fq\ 1u6\0\15\0\0\0\13o
+\ fq\ 5(\0\0\0u-\0\15\0\0\0\17o\ 4à\0\0\0,q\ 5\15\0\0\0u\84\0q\10"".statictmp_0003\0-\0\16\0\0\0\93o\b\1fq \13q\0\10x-\0\16\0\0\0\97o\ 4\b\0\0\0\1fq \ 1u-\0\16\0\0\0\97o\ 4\f\0\0\0\1fq \ 1u6\0\b\0\0\0\91\19q\1a\a\0\0\10\0\0\0u6\0\15\0\0\0\91\1cq\1d\a\0\0\10\0\0\0u6\0\16\0\0\0\91\1fq \a\0\0\10\0\0\0u\84\0q\11"".matchPat\0\84\0q\12type.string\06\0\18\0\0\0\91\11q\12\a\0\0\10\0\0\0u\84\0q\13"".matchRe\0\84\0q\14type.*regexp.Regexp\06\0\19\0\0\0\91\13q\14\a\0\0\b\0\0\0u6\0\b\0\0\0\11\ 5q\ 3\0\0u6\0\15\0\0\0\11,q\a\0\0ð\0\0\0u6\0\16\0\0\0\11\10q\ 3\0\0u6\0(\0\0\0\91$q%\a\0\0\ 1\0\0\0u\84\0q\15type.func(string, string) (bool, error)\0\84\0q\16type.*runtime.FuncType\0-\0(\0\0\0\13o\b\15q\13q\0\16x-\0(\0\0\0\17o\b\b\0\0\0\15q\17q\0\10\0\0\0\15x-\0(\0\0\0\17o\b\10\0\0\0\15q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 4\18\0\0\0\15q\ 5B\807#u-\0(\0\0\0\17o\ 1\1c\0\0\0\15q\ 1u-\0(\0\0\0\17o\ 1\1d\0\0\0\15q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1e\0\0\0\15q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1f\0\0\0\15q\ 5\13\0\0\0u\84\0q\17runtime.algarray\0-\0(\0\0\0\17o\b \0\0\0\15q\17q\0@\ 1\0\0\17x\84\0q\18go.string."func(string, string) (bool, error)"\0-\0(\0\0\0\17o\b(\0\0\0\15q\13q\0\18x-\0(\0\0\0\13o\b\18q\17q\0\f\0\0\0\18x-\0(\0\0\0\17o\ 4\b\0\0\0\18q\ 5"\0\0\0u-\0(\0\0\0\17o\b\f\0\0\0\18q func(str-\0(\0\0\0\17o\b\14\0\0\0\18q ing, str-\0(\0\0\0\17o\b\1c\0\0\0\18q ing) (bo-\0(\0\0\0\17o\b$\0\0\0\18q ol, erro-\0(\0\0\0\17o\ 2,\0\0\0\18q r)\0\0\0\0\0\0-\0(\0\0\0\17o\ 1.\0\0\0\18q\ 1u6\0(\0\0\0\13o
+\18q\ 50\0\0\0u\84\0q\19weak.type.*func(string, string) (bool, error)\0-\0(\0\0\0\17o\b8\0\0\0\15q\13q\0\19x-\0(\0\0\0\17o\ 1@\0\0\0\15q\ 1u-\0(\0\0\0\17o\bH\0\0\0\15q\17q\0h\0\0\0\15x-\0(\0\0\0\17o\ 4P\0\0\0\15q\ 5\ 2\0\0\0u-\0(\0\0\0\17o\ 4T\0\0\0\15q\ 5\ 2\0\0\0u-\0(\0\0\0\17o\bX\0\0\0\15q\17q\0x\0\0\0\15x-\0(\0\0\0\17o\ 4`\0\0\0\15q\ 5\ 2\0\0\0u-\0(\0\0\0\17o\ 4d\0\0\0\15q\ 5\ 2\0\0\0u-\0(\0\0\0\17o\bh\0\0\0\15q\13q\0\12x-\0(\0\0\0\17o\bp\0\0\0\15q\13q\0\12x\84\0q\1atype.bool\0-\0(\0\0\0\17o\bx\0\0\0\15q\13q\0\1ax\84\0q\etype.error\0-\0(\0\0\0\17o\b\80\0\0\0\15q\13q\0\ex6\0(\0\0\0\13o
+\15q\ 5\88\0\0\0u\84\0q\1ctype.func(string, string) int\0-\0(\0\0\0\13o\b\1cq\13q\0\16x-\0(\0\0\0\17o\b\b\0\0\0\1cq\17q\0\10\0\0\0\1cx-\0(\0\0\0\17o\b\10\0\0\0\1cq\ 5\b\0\0\0u-\0(\0\0\0\17o\ 4\18\0\0\0\1cqE\ f6\18Ì\0\0\0\0u-\0(\0\0\0\17o\ 1\1c\0\0\0\1cq\ 1u-\0(\0\0\0\17o\ 1\1d\0\0\0\1cq\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1e\0\0\0\1cq\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1f\0\0\0\1cq\ 5\13\0\0\0u-\0(\0\0\0\17o\b \0\0\0\1cq\17q\0@\ 1\0\0\17x\84\0q\1dgo.string."func(string, string) int"\0-\0(\0\0\0\17o\b(\0\0\0\1cq\13q\0\1dx-\0(\0\0\0\13o\b\1dq\17q\0\f\0\0\0\1dx-\0(\0\0\0\17o\ 4\b\0\0\0\1dq\ 5\18\0\0\0u-\0(\0\0\0\17o\b\f\0\0\0\1dq func(str-\0(\0\0\0\17o\b\14\0\0\0\1dq ing, str-\0(\0\0\0\17o\b\1c\0\0\0\1dq ing) int-\0(\0\0\0\17o\ 1$\0\0\0\1dq\ 1u6\0(\0\0\0\13o
+\1dq\ 5(\0\0\0u\84\0q\1eweak.type.*func(string, string) int\0-\0(\0\0\0\17o\b8\0\0\0\1cq\13q\0\1ex-\0(\0\0\0\17o\ 1@\0\0\0\1cq\ 1u-\0(\0\0\0\17o\bH\0\0\0\1cq\17q\0h\0\0\0\1cx-\0(\0\0\0\17o\ 4P\0\0\0\1cq\ 5\ 2\0\0\0u-\0(\0\0\0\17o\ 4T\0\0\0\1cq\ 5\ 2\0\0\0u-\0(\0\0\0\17o\bX\0\0\0\1cq\17q\0x\0\0\0\1cx-\0(\0\0\0\17o\ 4`\0\0\0\1cq\ 5\ 1\0\0\0u-\0(\0\0\0\17o\ 4d\0\0\0\1cq\ 5\ 1\0\0\0u-\0(\0\0\0\17o\bh\0\0\0\1cq\13q\0\12x-\0(\0\0\0\17o\bp\0\0\0\1cq\13q\0\12x\84\0q\1ftype.int\0-\0(\0\0\0\17o\bx\0\0\0\1cq\13q\0\1fx6\0(\0\0\0\13o
+\1cq\ 5\80\0\0\0u\84\0q type.func(string) (*regexp.Regexp, error)\0-\0(\0\0\0\13o\b q\13q\0\16x-\0(\0\0\0\17o\b\b\0\0\0 q\17q\0\10\0\0\0 x-\0(\0\0\0\17o\b\10\0\0\0 q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 4\18\0\0\0 qEN4Bé\0\0\0\0u-\0(\0\0\0\17o\ 1\1c\0\0\0 q\ 1u-\0(\0\0\0\17o\ 1\1d\0\0\0 q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1e\0\0\0 q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1f\0\0\0 q\ 5\13\0\0\0u-\0(\0\0\0\17o\b \0\0\0 q\17q\0@\ 1\0\0\17x\84\0q!go.string."func(string) (*regexp.Regexp, error)"\0-\0(\0\0\0\17o\b(\0\0\0 q\13q\0!x-\0(\0\0\0\13o\b!q\17q\0\f\0\0\0!x-\0(\0\0\0\17o\ 4\b\0\0\0!q\ 5$\0\0\0u-\0(\0\0\0\17o\b\f\0\0\0!q func(str-\0(\0\0\0\17o\b\14\0\0\0!q ing) (*r-\0(\0\0\0\17o\b\1c\0\0\0!q egexp.Re-\0(\0\0\0\17o\b$\0\0\0!q gexp, er-\0(\0\0\0\17o\ 4,\0\0\0!q ror)\0\0\0\0-\0(\0\0\0\17o\ 10\0\0\0!q\ 1u6\0(\0\0\0\13o
+!q\ 58\0\0\0u\84\0q"weak.type.*func(string) (*regexp.Regexp, error)\0-\0(\0\0\0\17o\b8\0\0\0 q\13q\0"x-\0(\0\0\0\17o\ 1@\0\0\0 q\ 1u-\0(\0\0\0\17o\bH\0\0\0 q\17q\0h\0\0\0 x-\0(\0\0\0\17o\ 4P\0\0\0 q\ 5\ 1\0\0\0u-\0(\0\0\0\17o\ 4T\0\0\0 q\ 5\ 1\0\0\0u-\0(\0\0\0\17o\bX\0\0\0 q\17q\0p\0\0\0 x-\0(\0\0\0\17o\ 4`\0\0\0 q\ 5\ 2\0\0\0u-\0(\0\0\0\17o\ 4d\0\0\0 q\ 5\ 2\0\0\0u-\0(\0\0\0\17o\bh\0\0\0 q\13q\0\12x-\0(\0\0\0\17o\bp\0\0\0 q\13q\0\14x-\0(\0\0\0\17o\bx\0\0\0 q\13q\0\ex6\0(\0\0\0\13o
+ q\ 5\80\0\0\0u\84\0q#type.func()\0-\0(\0\0\0\13o\b#q\13q\0\16x-\0(\0\0\0\17o\b\b\0\0\0#q\17q\0\10\0\0\0#x-\0(\0\0\0\17o\b\10\0\0\0#q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 4\18\0\0\0#qEö¼\82ö\0\0\0\0u-\0(\0\0\0\17o\ 1\1c\0\0\0#q\ 1u-\0(\0\0\0\17o\ 1\1d\0\0\0#q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1e\0\0\0#q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1f\0\0\0#q\ 5\13\0\0\0u-\0(\0\0\0\17o\b \0\0\0#q\17q\0@\ 1\0\0\17x\84\0q$go.string."func()"\0-\0(\0\0\0\17o\b(\0\0\0#q\13q\0$x-\0(\0\0\0\13o\b$q\17q\0\f\0\0\0$x-\0(\0\0\0\17o\ 4\b\0\0\0$q\ 5\ 6\0\0\0u-\0(\0\0\0\17o\ 6\f\0\0\0$q func()\0\0-\0(\0\0\0\17o\ 1\12\0\0\0$q\ 1u6\0(\0\0\0\13o
+$q\ 5\18\0\0\0u\84\0q%weak.type.*func()\0-\0(\0\0\0\17o\b8\0\0\0#q\13q\0%x-\0(\0\0\0\17o\ 1@\0\0\0#q\ 1u-\0(\0\0\0\17o\bH\0\0\0#q\17q\0h\0\0\0#x-\0(\0\0\0\17o\ 4P\0\0\0#q\ 1u-\0(\0\0\0\17o\ 4T\0\0\0#q\ 1u-\0(\0\0\0\17o\bX\0\0\0#q\17q\0h\0\0\0#x-\0(\0\0\0\17o\ 4`\0\0\0#q\ 1u-\0(\0\0\0\17o\ 4d\0\0\0#q\ 1u6\0(\0\0\0\13o
+#q\ 5h\0\0\0u\84\0q&type.[]testing.InternalTest\0\84\0q'type.*runtime.SliceType\0-\0(\0\0\0\13o\b&q\13q\0'x-\0(\0\0\0\17o\b\b\0\0\0&q\17q\0\10\0\0\0&x-\0(\0\0\0\17o\b\10\0\0\0&q\ 5\10\0\0\0u-\0(\0\0\0\17o\ 4\18\0\0\0&q\ 5\9b\85ÑXu-\0(\0\0\0\17o\ 1\1c\0\0\0&q\ 1u-\0(\0\0\0\17o\ 1\1d\0\0\0&q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1e\0\0\0&q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1f\0\0\0&q\ 5\17\0\0\0u-\0(\0\0\0\17o\b \0\0\0&q\17q\0à\ 1\0\0\17x\84\0q(go.string."[]testing.InternalTest"\0-\0(\0\0\0\17o\b(\0\0\0&q\13q\0(x-\0(\0\0\0\13o\b(q\17q\0\f\0\0\0(x-\0(\0\0\0\17o\ 4\b\0\0\0(q\ 5\16\0\0\0u-\0(\0\0\0\17o\b\f\0\0\0(q []testin-\0(\0\0\0\17o\b\14\0\0\0(q g.Intern-\0(\0\0\0\17o\ 6\1c\0\0\0(q alTest\0\0-\0(\0\0\0\17o\ 1"\0\0\0(q\ 1u6\0(\0\0\0\13o
+(q\ 5(\0\0\0u\84\0q)weak.type.*[]testing.InternalTest\0-\0(\0\0\0\17o\b8\0\0\0&q\13q\0)x\84\0q*type.testing.InternalTest\0-\0(\0\0\0\17o\b@\0\0\0&q\13q\0*x6\0(\0\0\0\13o
+&q\ 5H\0\0\0u\84\0q+type.[]testing.InternalBenchmark\0-\0(\0\0\0\13o\b+q\13q\0'x-\0(\0\0\0\17o\b\b\0\0\0+q\17q\0\10\0\0\0+x-\0(\0\0\0\17o\b\10\0\0\0+q\ 5\10\0\0\0u-\0(\0\0\0\17o\ 4\18\0\0\0+q\ 5'À(Vu-\0(\0\0\0\17o\ 1\1c\0\0\0+q\ 1u-\0(\0\0\0\17o\ 1\1d\0\0\0+q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1e\0\0\0+q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1f\0\0\0+q\ 5\17\0\0\0u-\0(\0\0\0\17o\b \0\0\0+q\17q\0à\ 1\0\0\17x\84\0q,go.string."[]testing.InternalBenchmark"\0-\0(\0\0\0\17o\b(\0\0\0+q\13q\0,x-\0(\0\0\0\13o\b,q\17q\0\f\0\0\0,x-\0(\0\0\0\17o\ 4\b\0\0\0,q\ 5\e\0\0\0u-\0(\0\0\0\17o\b\f\0\0\0,q []testin-\0(\0\0\0\17o\b\14\0\0\0,q g.Intern-\0(\0\0\0\17o\b\1c\0\0\0,q alBenchm-\0(\0\0\0\17o\ 3$\0\0\0,q ark\0\0\0\0\0-\0(\0\0\0\17o\ 1'\0\0\0,q\ 1u6\0(\0\0\0\13o
+,q\ 5(\0\0\0u\84\0q-weak.type.*[]testing.InternalBenchmark\0-\0(\0\0\0\17o\b8\0\0\0+q\13q\0-x\84\0q.type.testing.InternalBenchmark\0-\0(\0\0\0\17o\b@\0\0\0+q\13q\0.x6\0(\0\0\0\13o
++q\ 5H\0\0\0u\84\0q/type.[]testing.InternalExample\0-\0(\0\0\0\13o\b/q\13q\0'x-\0(\0\0\0\17o\b\b\0\0\0/q\17q\0\10\0\0\0/x-\0(\0\0\0\17o\b\10\0\0\0/q\ 5\10\0\0\0u-\0(\0\0\0\17o\ 4\18\0\0\0/q\ 5oÁ£Ju-\0(\0\0\0\17o\ 1\1c\0\0\0/q\ 1u-\0(\0\0\0\17o\ 1\1d\0\0\0/q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1e\0\0\0/q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1f\0\0\0/q\ 5\17\0\0\0u-\0(\0\0\0\17o\b \0\0\0/q\17q\0à\ 1\0\0\17x\84\0q0go.string."[]testing.InternalExample"\0-\0(\0\0\0\17o\b(\0\0\0/q\13q\00x-\0(\0\0\0\13o\b0q\17q\0\f\0\0\00x-\0(\0\0\0\17o\ 4\b\0\0\00q\ 5\19\0\0\0u-\0(\0\0\0\17o\b\f\0\0\00q []testin-\0(\0\0\0\17o\b\14\0\0\00q g.Intern-\0(\0\0\0\17o\b\1c\0\0\00q alExampl-\0(\0\0\0\17o\ 1$\0\0\00q e\0\0\0\0\0\0\0-\0(\0\0\0\17o\ 1%\0\0\00q\ 1u6\0(\0\0\0\13o
+0q\ 5(\0\0\0u\84\0q1weak.type.*[]testing.InternalExample\0-\0(\0\0\0\17o\b8\0\0\0/q\13q\01x\84\0q\ 1type.testing.InternalExample\0-\0(\0\0\0\17o\b@\0\0\0/q\13q\0\ 1x6\0(\0\0\0\13o
+/q\ 5H\0\0\0u\84\0q\ 2type.func(func(string, string) (bool, error), []testing.InternalTest, []testing.InternalBenchmark, []testing.InternalExample)\0-\0(\0\0\0\13o\b\ 2q\13q\0\16x-\0(\0\0\0\17o\b\b\0\0\0\ 2q\17q\0\10\0\0\0\ 2x-\0(\0\0\0\17o\b\10\0\0\0\ 2q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 4\18\0\0\0\ 2qEÍ\1d\10\8c\0\0\0\0u-\0(\0\0\0\17o\ 1\1c\0\0\0\ 2q\ 1u-\0(\0\0\0\17o\ 1\1d\0\0\0\ 2q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1e\0\0\0\ 2q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1f\0\0\0\ 2q\ 5\13\0\0\0u-\0(\0\0\0\17o\b \0\0\0\ 2q\17q\0@\ 1\0\0\17x\84\0q\ 3""..gostring.1\0-\0(\0\0\0\17o\b(\0\0\0\ 2q\13q\0\ 3x-\0(\0\0\0\13o\b\ 3q\17q\0\f\0\0\0\ 3x-\0(\0\0\0\17o\ 4\b\0\0\0\ 3q\ 5x\0\0\0u-\0(\0\0\0\17o\b\f\0\0\0\ 3q func(fun-\0(\0\0\0\17o\b\14\0\0\0\ 3q c(string-\0(\0\0\0\17o\b\1c\0\0\0\ 3q , string-\0(\0\0\0\17o\b$\0\0\0\ 3q ) (bool,-\0(\0\0\0\17o\b,\0\0\0\ 3q error),-\0(\0\0\0\17o\b4\0\0\0\ 3q []testi-\0(\0\0\0\17o\b<\0\0\0\ 3q ng.Inter-\0(\0\0\0\17o\bD\0\0\0\ 3q nalTest,-\0(\0\0\0\17o\bL\0\0\0\ 3q []testi-\0(\0\0\0\17o\bT\0\0\0\ 3q ng.Inter-\0(\0\0\0\17o\b\\0\0\0\ 3q nalBench-\0(\0\0\0\17o\bd\0\0\0\ 3q mark, []-\0(\0\0\0\17o\bl\0\0\0\ 3q testing.-\0(\0\0\0\17o\bt\0\0\0\ 3q Internal-\0(\0\0\0\17o\b|\0\0\0\ 3q Example)-\0(\0\0\0\17o\ 1\84\0\0\0\ 3q\ 1u6\0(\0\0\0\13o
+\ 3q\ 5\88\0\0\0u\84\0q\ 4weak.type.*func(func(string, string) (bool, error), []testing.InternalTest, []testing.InternalBenchmark, []testing.InternalExample)\0-\0(\0\0\0\17o\b8\0\0\0\ 2q\13q\0\ 4x-\0(\0\0\0\17o\ 1@\0\0\0\ 2q\ 1u-\0(\0\0\0\17o\bH\0\0\0\ 2q\17q\0h\0\0\0\ 2x-\0(\0\0\0\17o\ 4P\0\0\0\ 2q\ 5\ 4\0\0\0u-\0(\0\0\0\17o\ 4T\0\0\0\ 2q\ 5\ 4\0\0\0u-\0(\0\0\0\17o\bX\0\0\0\ 2q\17q\0\88\0\0\0\ 2x-\0(\0\0\0\17o\ 4`\0\0\0\ 2q\ 1u-\0(\0\0\0\17o\ 4d\0\0\0\ 2q\ 1u-\0(\0\0\0\17o\bh\0\0\0\ 2q\13q\0\15x-\0(\0\0\0\17o\bp\0\0\0\ 2q\13q\0&x-\0(\0\0\0\17o\bx\0\0\0\ 2q\13q\0+x-\0(\0\0\0\17o\b\80\0\0\0\ 2q\13q\0/x6\0(\0\0\0\13o
+\ 2q\ 5\88\0\0\0u\84\0q\ 5type.func(*testing.B)\0-\0(\0\0\0\13o\b\ 5q\13q\0\16x-\0(\0\0\0\17o\b\b\0\0\0\ 5q\17q\0\10\0\0\0\ 5x-\0(\0\0\0\17o\b\10\0\0\0\ 5q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 4\18\0\0\0\ 5qEúr\1eÀ\0\0\0\0u-\0(\0\0\0\17o\ 1\1c\0\0\0\ 5q\ 1u-\0(\0\0\0\17o\ 1\1d\0\0\0\ 5q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1e\0\0\0\ 5q\ 5\b\0\0\0u-\0(\0\0\0\17o\ 1\1f\0\0\0\ 5q\ 5\13\0\0\0u-\0(\0\0\0\17o\b \0\0\0\ 5q\17q\0À\0\0\0\17x\84\0q\ 6go.string."func(*testing.B)"\0-\0(\0\0\0\17o\b(\0\0\0\ 5q\13q\0\ 6x-\0(\0\0\0\13o\b\ 6q\17q\0\f\0\0\0\ 6x-\0(\0\0\0\17o\ 4\b\0\0\0\ 6q\ 5\10\0\0\0u-\0(\0\0\0\17o\b\f\0\0\0\ 6q func(*te-\0(\0\0\0\17o\b\14\0\0\0\ 6q sting.B)-\0(\0\0\0\17o\ 1\1c\0\0\0\ 6q\ 1u6\0(\0\0\0\13o
+\ 6q\ 5 \0\0\0u\84\0q\aweak.type.*func(*testing.B)\0-\0(\0\0\0\17o\b8\0\0\0\ 5q\13q\0\ax-\0(\0\0\0\17o\ 1@\0\0\0\ 5q\ 1u-\0(\0\0\0\17o\bH\0\0\0\ 5q\17q\0h\0\0\0\ 5x-\0(\0\0\0\17o\ 4P\0\0\0\ 5q\ 5\ 1\0\0\0u-\0(\0\0\0\17o\ 4T\0\0\0\ 5q\ 5\ 1\0\0\0u-\0(\0\0\0\17o\bX\0\0\0\ 5q\17q\0p\0\0\0\ 5x-\0(\0\0\0\17o\ 4`\0\0\0\ 5q\ 1u-\0(\0\0\0\17o\ 4d\0\0\0\ 5q\ 1u\84\0q\btype.*testing.B\0-\0(\0\0\0\17o\bh\0\0\0\ 5q\13q\0\bx6\0(\0\0\0\13o
+\ 5q\ 5p\0\0\0u\84\0q go.importpath.runtime.\0\84\0q
+go.string."runtime"\0-\0(\0\0\0\13o\b q\17q\0\f\0\0\0
+x-\0(\0\0\0\13o\b
+q\17q\0\f\0\0\0
+x-\0(\0\0\0\17o\ 4\b\0\0\0
+q\ 5\a\0\0\0u-\0(\0\0\0\17o\a\f\0\0\0
+q runtime\0-\0(\0\0\0\17o\ 1\13\0\0\0
+q\ 1u6\0(\0\0\0\13o
+
+q\ 5\18\0\0\0u-\0(\0\0\0\17o\ 4\b\0\0\0 q\ 5\a\0\0\0u6\0(\0\0\0\13o
+ q\ 5\10\0\0\0u\84\0q\vgo.importpath.go1.\0\84\0q\fgo.string."go1"\0-\0(\0\0\0\13o\b\vq\17q\0\f\0\0\0\fx-\0(\0\0\0\13o\b\fq\17q\0\f\0\0\0\fx-\0(\0\0\0\17o\ 4\b\0\0\0\fq\ 5\ 3\0\0\0u-\0(\0\0\0\17o\ 3\f\0\0\0\fq go1\0\0\0\0\0-\0(\0\0\0\17o\ 1\ f\0\0\0\fq\ 1u6\0(\0\0\0\13o
+\fq\ 5\10\0\0\0u-\0(\0\0\0\17o\ 4\b\0\0\0\vq\ 5\ 3\0\0\0u6\0(\0\0\0\13o
+\vq\ 5\10\0\0\0u\84\0q\rgo.importpath.testing.\0\84\0q\ ego.string."testing"\0-\0(\0\0\0\13o\b\rq\17q\0\f\0\0\0\ ex-\0(\0\0\0\13o\b\ eq\17q\0\f\0\0\0\ ex-\0(\0\0\0\17o\ 4\b\0\0\0\ eq\ 5\a\0\0\0u-\0(\0\0\0\17o\a\f\0\0\0\ eq testing\0-\0(\0\0\0\17o\ 1\13\0\0\0\ eq\ 1u6\0(\0\0\0\13o
+\ eq\ 5\18\0\0\0u-\0(\0\0\0\17o\ 4\b\0\0\0\rq\ 5\a\0\0\0u6\0(\0\0\0\13o
+\rq\ 5\10\0\0\0u\84\0q\ fgo.importpath.regexp.\0\84\0q\10go.string."regexp"\0-\0(\0\0\0\13o\b\ fq\17q\0\f\0\0\0\10x-\0(\0\0\0\13o\b\10q\17q\0\f\0\0\0\10x-\0(\0\0\0\17o\ 4\b\0\0\0\10q\ 5\ 6\0\0\0u-\0(\0\0\0\17o\ 6\f\0\0\0\10q regexp\0\0-\0(\0\0\0\17o\ 1\12\0\0\0\10q\ 1u6\0(\0\0\0\13o
+\10q\ 5\18\0\0\0u-\0(\0\0\0\17o\ 4\b\0\0\0\ fq\ 5\ 6\0\0\0u6\0(\0\0\0\13o
+\ fq\ 5\10\0\0\0uP\ 1\0\0\0\0\0\0
\ No newline at end of file
--- /dev/null
+package main
+
+import target "go1"
+import "testing"
+import "regexp"
+
+var tests = []testing.InternalTest{
+}
+
+var benchmarks = []testing.InternalBenchmark{
+ {"go1.BenchmarkBinaryTree17", target.BenchmarkBinaryTree17},
+ {"go1.BenchmarkFannkuch11", target.BenchmarkFannkuch11},
+ {"go1.BenchmarkGobDecode", target.BenchmarkGobDecode},
+ {"go1.BenchmarkGobEncode", target.BenchmarkGobEncode},
+ {"go1.BenchmarkGzip", target.BenchmarkGzip},
+ {"go1.BenchmarkGunzip", target.BenchmarkGunzip},
+ {"go1.BenchmarkJSONEncode", target.BenchmarkJSONEncode},
+ {"go1.BenchmarkJSONDecode", target.BenchmarkJSONDecode},
+ {"go1.BenchmarkRevcomp25M", target.BenchmarkRevcomp25M},
+ {"go1.BenchmarkTemplate", target.BenchmarkTemplate},
+}
+var examples = []testing.InternalExample{}
+
+var matchPat string
+var matchRe *regexp.Regexp
+
+func matchString(pat, str string) (result bool, err error) {
+ if matchRe == nil || matchPat != pat {
+ matchPat = pat
+ matchRe, err = regexp.Compile(matchPat)
+ if err != nil {
+ return
+ }
+ }
+ return matchRe.MatchString(str), nil
+}
+
+func main() {
+ testing.Main(matchString, tests, benchmarks, examples)
+}
--- /dev/null
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This benchmark, taken from the shootout, tests garbage collector
+// performance by generating and discarding large binary trees.
+
+package go1
+
+import "testing"
+
+type binaryNode struct {
+ item int
+ left, right *binaryNode
+}
+
+func bottomUpTree(item, depth int) *binaryNode {
+ if depth <= 0 {
+ return &binaryNode{item: item}
+ }
+ return &binaryNode{item, bottomUpTree(2*item-1, depth-1), bottomUpTree(2*item, depth-1)}
+}
+
+func (n *binaryNode) itemCheck() int {
+ if n.left == nil {
+ return n.item
+ }
+ return n.item + n.left.itemCheck() - n.right.itemCheck()
+}
+
+const minDepth = 4
+
+func binarytree(n int) {
+ maxDepth := n
+ if minDepth+2 > n {
+ maxDepth = minDepth + 2
+ }
+ stretchDepth := maxDepth + 1
+
+ check := bottomUpTree(0, stretchDepth).itemCheck()
+ //fmt.Printf("stretch tree of depth %d\t check: %d\n", stretchDepth, check)
+
+ longLivedTree := bottomUpTree(0, maxDepth)
+
+ for depth := minDepth; depth <= maxDepth; depth += 2 {
+ iterations := 1 << uint(maxDepth-depth+minDepth)
+ check = 0
+
+ for i := 1; i <= iterations; i++ {
+ check += bottomUpTree(i, depth).itemCheck()
+ check += bottomUpTree(-i, depth).itemCheck()
+ }
+ //fmt.Printf("%d\t trees of depth %d\t check: %d\n", iterations*2, depth, check)
+ }
+ longLivedTree.itemCheck()
+ //fmt.Printf("long lived tree of depth %d\t check: %d\n", maxDepth, longLivedTree.itemCheck())
+}
+
+func BenchmarkBinaryTree17(b *testing.B) {
+ for i := 0; i < b.N; i++ {
+ binarytree(17)
+ }
+}
--- /dev/null
+package go1
+
+// Nothing to see here: everything is in the _test files.
--- /dev/null
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This benchmark, taken from the shootout, tests array indexing
+// and array bounds elimination performance.
+
+package go1
+
+import "testing"
+
+func fannkuch(n int) int {
+ if n < 1 {
+ return 0
+ }
+
+ n1 := n - 1
+ perm := make([]int, n)
+ perm1 := make([]int, n)
+ count := make([]int, n)
+
+ for i := 0; i < n; i++ {
+ perm1[i] = i // initial (trivial) permutation
+ }
+
+ r := n
+ didpr := 0
+ flipsMax := 0
+ for {
+ if didpr < 30 {
+ didpr++
+ }
+ for ; r != 1; r-- {
+ count[r-1] = r
+ }
+
+ if perm1[0] != 0 && perm1[n1] != n1 {
+ flips := 0
+ for i := 1; i < n; i++ { // perm = perm1
+ perm[i] = perm1[i]
+ }
+ k := perm1[0] // cache perm[0] in k
+ for { // k!=0 ==> k>0
+ for i, j := 1, k-1; i < j; i, j = i+1, j-1 {
+ perm[i], perm[j] = perm[j], perm[i]
+ }
+ flips++
+ // Now exchange k (caching perm[0]) and perm[k]... with care!
+ j := perm[k]
+ perm[k] = k
+ k = j
+ if k == 0 {
+ break
+ }
+ }
+ if flipsMax < flips {
+ flipsMax = flips
+ }
+ }
+
+ for ; r < n; r++ {
+ // rotate down perm[0..r] by one
+ perm0 := perm1[0]
+ for i := 0; i < r; i++ {
+ perm1[i] = perm1[i+1]
+ }
+ perm1[r] = perm0
+ count[r]--
+ if count[r] > 0 {
+ break
+ }
+ }
+ if r == n {
+ return flipsMax
+ }
+ }
+ return 0
+}
+
+func BenchmarkFannkuch11(b *testing.B) {
+ for i := 0; i < b.N; i++ {
+ fannkuch(11)
+ }
+}
--- /dev/null
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package go1
+
+// Not a benchmark; input for revcomp.
+
+var fasta25m = fasta(25e6)
+
+func fasta(n int) []byte {
+ out := make(fastaBuffer, 0, 11*n)
+
+ iub := []fastaAcid{
+ {prob: 0.27, sym: 'a'},
+ {prob: 0.12, sym: 'c'},
+ {prob: 0.12, sym: 'g'},
+ {prob: 0.27, sym: 't'},
+ {prob: 0.02, sym: 'B'},
+ {prob: 0.02, sym: 'D'},
+ {prob: 0.02, sym: 'H'},
+ {prob: 0.02, sym: 'K'},
+ {prob: 0.02, sym: 'M'},
+ {prob: 0.02, sym: 'N'},
+ {prob: 0.02, sym: 'R'},
+ {prob: 0.02, sym: 'S'},
+ {prob: 0.02, sym: 'V'},
+ {prob: 0.02, sym: 'W'},
+ {prob: 0.02, sym: 'Y'},
+ }
+
+ homosapiens := []fastaAcid{
+ {prob: 0.3029549426680, sym: 'a'},
+ {prob: 0.1979883004921, sym: 'c'},
+ {prob: 0.1975473066391, sym: 'g'},
+ {prob: 0.3015094502008, sym: 't'},
+ }
+
+ alu := []byte(
+ "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG" +
+ "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA" +
+ "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT" +
+ "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA" +
+ "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG" +
+ "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC" +
+ "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA")
+
+ out.WriteString(">ONE Homo sapiens alu\n")
+ fastaRepeat(&out, alu, 2*n)
+ out.WriteString(">TWO IUB ambiguity codes\n")
+ fastaRandom(&out, iub, 3*n)
+ out.WriteString(">THREE Homo sapiens frequency\n")
+ fastaRandom(&out, homosapiens, 5*n)
+ return out
+}
+
+type fastaBuffer []byte
+
+func (b *fastaBuffer) Flush() {
+ panic("flush")
+}
+
+func (b *fastaBuffer) WriteString(s string) {
+ p := b.NextWrite(len(s))
+ copy(p, s)
+}
+
+func (b *fastaBuffer) NextWrite(n int) []byte {
+ p := *b
+ if len(p)+n > cap(p) {
+ b.Flush()
+ p = *b
+ }
+ out := p[len(p) : len(p)+n]
+ *b = p[:len(p)+n]
+ return out
+}
+
+const fastaLine = 60
+
+func fastaRepeat(out *fastaBuffer, alu []byte, n int) {
+ buf := append(alu, alu...)
+ off := 0
+ for n > 0 {
+ m := n
+ if m > fastaLine {
+ m = fastaLine
+ }
+ buf1 := out.NextWrite(m + 1)
+ copy(buf1, buf[off:])
+ buf1[m] = '\n'
+ if off += m; off >= len(alu) {
+ off -= len(alu)
+ }
+ n -= m
+ }
+}
+
+const (
+ fastaLookupSize = 4096
+ fastaLookupScale float64 = fastaLookupSize - 1
+)
+
+var fastaRand uint32 = 42
+
+type fastaAcid struct {
+ sym byte
+ prob float64
+ cprob float64
+ next *fastaAcid
+}
+
+func fastaComputeLookup(acid []fastaAcid) *[fastaLookupSize]*fastaAcid {
+ var lookup [fastaLookupSize]*fastaAcid
+ var p float64
+ for i := range acid {
+ p += acid[i].prob
+ acid[i].cprob = p * fastaLookupScale
+ if i > 0 {
+ acid[i-1].next = &acid[i]
+ }
+ }
+ acid[len(acid)-1].cprob = 1.0 * fastaLookupScale
+
+ j := 0
+ for i := range lookup {
+ for acid[j].cprob < float64(i) {
+ j++
+ }
+ lookup[i] = &acid[j]
+ }
+
+ return &lookup
+}
+
+func fastaRandom(out *fastaBuffer, acid []fastaAcid, n int) {
+ const (
+ IM = 139968
+ IA = 3877
+ IC = 29573
+ )
+ lookup := fastaComputeLookup(acid)
+ for n > 0 {
+ m := n
+ if m > fastaLine {
+ m = fastaLine
+ }
+ buf := out.NextWrite(m + 1)
+ f := fastaLookupScale / IM
+ myrand := fastaRand
+ for i := 0; i < m; i++ {
+ myrand = (myrand*IA + IC) % IM
+ r := float64(int(myrand)) * f
+ a := lookup[int(r)]
+ for a.cprob < r {
+ a = a.next
+ }
+ buf[i] = a.sym
+ }
+ fastaRand = myrand
+ buf[m] = '\n'
+ n -= m
+ }
+}
--- /dev/null
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This benchmark tests gob encoding and decoding performance.
+
+package go1
+
+import (
+ "bytes"
+ "encoding/gob"
+ "encoding/json"
+ "io/ioutil"
+ "log"
+ "reflect"
+ "testing"
+)
+
+var (
+ gobbytes []byte
+ gobdata *JSONResponse
+)
+
+func gobinit() {
+ // gobinit is called after json's init,
+ // because it uses jsondata.
+ gobdata = gobResponse(&jsondata)
+
+ var buf bytes.Buffer
+ if err := gob.NewEncoder(&buf).Encode(gobdata); err != nil {
+ panic(err)
+ }
+ gobbytes = buf.Bytes()
+
+ var r JSONResponse
+ if err := gob.NewDecoder(bytes.NewBuffer(gobbytes)).Decode(&r); err != nil {
+ panic(err)
+ }
+ if !reflect.DeepEqual(gobdata, &r) {
+ log.Printf("%v\n%v", jsondata, r)
+ b, _ := json.Marshal(&jsondata)
+ br, _ := json.Marshal(&r)
+ log.Printf("%s\n%s\n", b, br)
+ panic("gob: encode+decode lost data")
+ }
+}
+
+// gob turns [] into null, so make a copy of the data structure like that
+func gobResponse(r *JSONResponse) *JSONResponse {
+ return &JSONResponse{gobNode(r.Tree), r.Username}
+}
+
+func gobNode(n *JSONNode) *JSONNode {
+ n1 := new(JSONNode)
+ *n1 = *n
+ if len(n1.Kids) == 0 {
+ n1.Kids = nil
+ } else {
+ for i, k := range n1.Kids {
+ n1.Kids[i] = gobNode(k)
+ }
+ }
+ return n1
+}
+
+func gobdec() {
+ if gobbytes == nil {
+ panic("gobdata not initialized")
+ }
+ var r JSONResponse
+ if err := gob.NewDecoder(bytes.NewBuffer(gobbytes)).Decode(&r); err != nil {
+ panic(err)
+ }
+ _ = r
+}
+
+func gobenc() {
+ if err := gob.NewEncoder(ioutil.Discard).Encode(&gobdata); err != nil {
+ panic(err)
+ }
+}
+
+func BenchmarkGobDecode(b *testing.B) {
+ b.SetBytes(int64(len(gobbytes)))
+ for i := 0; i < b.N; i++ {
+ gobdec()
+ }
+}
+
+func BenchmarkGobEncode(b *testing.B) {
+ b.SetBytes(int64(len(gobbytes)))
+ for i := 0; i < b.N; i++ {
+ gobenc()
+ }
+}
--- /dev/null
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This benchmark tests gzip and gunzip performance.
+
+package go1
+
+import (
+ "bytes"
+ gz "compress/gzip"
+ "io"
+ "io/ioutil"
+ "testing"
+)
+
+var (
+ jsongunz = bytes.Repeat(jsonbytes, 10)
+ jsongz []byte
+)
+
+func init() {
+ var buf bytes.Buffer
+ c, err := gz.NewWriter(&buf)
+ if err != nil {
+ panic(err)
+ }
+ c.Write(jsongunz)
+ c.Close()
+ jsongz = buf.Bytes()
+}
+
+func gzip() {
+ c, err := gz.NewWriter(ioutil.Discard)
+ if err != nil {
+ panic(err)
+ }
+ if _, err := c.Write(jsongunz); err != nil {
+ panic(err)
+ }
+ if err := c.Close(); err != nil {
+ panic(err)
+ }
+}
+
+func gunzip() {
+ r, err := gz.NewReader(bytes.NewBuffer(jsongz))
+ if err != nil {
+ panic(err)
+ }
+ if _, err := io.Copy(ioutil.Discard, r); err != nil {
+ panic(err)
+ }
+ r.Close()
+}
+
+func BenchmarkGzip(b *testing.B) {
+ b.SetBytes(int64(len(jsongunz)))
+ for i := 0; i < b.N; i++ {
+ gzip()
+ }
+}
+
+func BenchmarkGunzip(b *testing.B) {
+ b.SetBytes(int64(len(jsongunz)))
+ for i := 0; i < b.N; i++ {
+ gunzip()
+ }
+}
--- /dev/null
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This benchmark tests JSON encoding and decoding performance.
+
+package go1
+
+import (
+ "compress/bzip2"
+ "encoding/base64"
+ "encoding/json"
+ "io"
+ "io/ioutil"
+ "strings"
+ "testing"
+)
+
+var (
+ jsonbytes []byte
+ jsondata JSONResponse
+)
+
+func init() {
+ var r io.Reader
+ r = strings.NewReader(jsonbz2_base64)
+ r = base64.NewDecoder(base64.StdEncoding, r)
+ r = bzip2.NewReader(r)
+ b, err := ioutil.ReadAll(r)
+ if err != nil {
+ panic(err)
+ }
+ jsonbytes = b
+
+ if err := json.Unmarshal(jsonbytes, &jsondata); err != nil {
+ panic(err)
+ }
+ gobinit()
+}
+
+type JSONResponse struct {
+ Tree *JSONNode `json:"tree"`
+ Username string `json:"username"`
+}
+
+type JSONNode struct {
+ Name string `json:"name"`
+ Kids []*JSONNode `json:"kids"`
+ CLWeight float64 `json:"cl_weight"`
+ Touches int `json:"touches"`
+ MinT int64 `json:"min_t"`
+ MaxT int64 `json:"max_t"`
+ MeanT int64 `json:"mean_t"`
+}
+
+func jsondec() {
+ var r JSONResponse
+ if err := json.Unmarshal(jsonbytes, &r); err != nil {
+ panic(err)
+ }
+ _ = r
+}
+
+func jsonenc() {
+ buf, err := json.Marshal(&jsondata)
+ if err != nil {
+ panic(err)
+ }
+ _ = buf
+}
+
+func BenchmarkJSONEncode(b *testing.B) {
+ b.SetBytes(int64(len(jsonbytes)))
+ for i := 0; i < b.N; i++ {
+ jsonenc()
+ }
+}
+
+func BenchmarkJSONDecode(b *testing.B) {
+ b.SetBytes(int64(len(jsonbytes)))
+ for i := 0; i < b.N; i++ {
+ jsondec()
+ }
+}
--- /dev/null
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Input for JSON and other benchmarks.
+// This was generated by starting with a 2MB JSON file with actual data
+// about open source revision history, then compressing with bzip2 -9,
+// then encoding to base64 with openssl enc -e -base64.
+// The result is 125kB of source instead of 2MB.
+// We compile the data into the binary so that the benchmark is
+// a stand-alone binary that can be copied easily from machine to
+// machine. json_test.go decodes this during init.
+
+package go1
+
+var jsonbz2_base64 = "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" +
+ "4Oy2vMLFphr2skmltbAj2yHto+/C1qRSHQI0oYJy4xPAK0hBhkBkzKGIDKfqR5fu" +
+ "9Rb6jriPwFfrT57/BORRUS2uxaWe/23vw/VDRJUNDKbcoql9hR1STaoUKFJAhAE0" +
+ "AZZLjCTR5qxIgYLhyUQktqwQ0LakMUoDZaYvf1dL7/UTZGZSt/h0bF8bOrkShINm" +
+ "UC5JVQoULQdWFmExZOwxx6b/nrJEIzcATXe9RX4uAjQuZbT7+8dvCcTe970nE51j" +
+ "cmac2WktrRIBr8KKqmFiShChQWsTPnID4M0CSyZe7rltE0/bIvrM+YcPthAH85JJ" +
+ "219mY5mjPQZhiZDYZA1DzBlAjUcjXvLL8BABMGVQh/A/vPwUfqX/5kl6UGGJn8FC" +
+ "P2GG+QceVRTNvxzts75paBK7NzM7TzVVUzlIqqif8NJKRImR08cg2cHrQWxKYcNh" +
+ "OjnHzz+YPyaL9PWNrPR37fFaHr23fpcy+YYGWlsuQf4q7bXFjzjZ66t5DEnZsqLU" +
+ "ixYlKiy0ibZsjalZamaizKs1laSpmk2ratltZbWSta0bazUrFJs0ttalazaQUhKg" +
+ "lSUAqyQoWSKtotVYtSmoyW220arUsoo1tpLaNtMsmtaaYsVTbS2UtJgram22rCkS" +
+ "qQSxISyQS0FSSyM1KaS2laa0lhNFGhYWigRULZFiyykqoCxFBKRFSItCrIUWLKak" +
+ "ppY2WbY2tps1pm2ymqbabbLNiZojaZkrFMKZrKzaWVptZtppijZNM2SzKmmxsRab" +
+ "LZs2K1NVqWqEzMlJtmqVRjVNZWllSVLM0LNNZpalZokSlltLasJRUqopUpZIElIE" +
+ "lkqrYjVi0aSNqWmLKpslJtFRBbSbbMy1KoplRspaNlNUrNUaaak2mpVFTZVGxk2a" +
+ "GTSWmzaCpKbNJW2WqWqKMmNk1GkKUtk2ysrLNs2WwyrMqKpqZmmmKxtmqayKZlUk" +
+ "qNltKlRSm2StUtbLWxTNUqlspo1ZtltNKRIqGm0tlRtNmmalNGZYybMozNNKkxpI" +
+ "2i2ULJqUrGyyxJslNGpZmtNSsrNWZY222yttmrVNTbWZZMms2lllbKstpmrNMUmp" +
+ "KqUtptKyaplKbRSbJbLNplZtqM1KKbabU1ZSUAmUaxpZjUkhUmyZmxbRSltNsrMq" +
+ "qVbNtslSptEzVrMqaazNpmkqZsxExpJSk1itlWqay1KppYopMUkkkmbLNlMymsxS" +
+ "0TKlNjKbA1TLLLU0lTWalTNMilKmys2ZY2mqViUVKSyksmapVNqSJRqxZSyylMlS" +
+ "yLFSWRUliWKLJPR487tzxPbvpf6y887/zT6h9UmfSx2PLPXLE2t67TNb+d8616jt" +
+ "tPkeNmjOnd2bULjnN/5x19I3dES+7KaAHB8sg9OaIHogcFmowcPkd56v4UKiqJhg" +
+ "oAU9AHxYiJSboAuO2tYkauzYowUsXVGVlc0nYOpihEKtGCELstXcQR40ZwxcKms+" +
+ "7pFjCoGnlWDFSsNDI2M37zbDfLv3avdlnZZ+BC52UzTjZKLth+XpejoaOcVlvLIp" +
+ "Bt0bICZGx12W3MemDI+BEABpXP87P4rJiq/on3ucmKl3H2qkVoDOXeBVIHThRlRW" +
+ "oIeneSsFb5P81QBgJOLBARAX3nH8/r/f8w3ilqIGYIs2ETpWjUrVBz3ap+abPKWH" +
+ "pLM3ltPx/+N/Wbt1NbzHN6yn49NkVXLjHsi0YsxWYxt0mpP5liJ0D/BK861JPxVJ" +
+ "KrrKd1DEsjkf2fd+E1sqc+0G02nKaZP3/wWYV/JKhVSKU/9f2kP+Es6z7k/gUksW" +
+ "JYe1an/921pBsrUdXyfSH+6h3N4k/jE5ItS1VTkajSXnZgf5UtgpKk2jaxZibyd4" +
+ "83LeR6x6+RPw/T0lWWVLOy4k54wllqVWtTTUvHd5G6VXZwcLVpZCyOySqT/VUqI2" +
+ "a3OjB+BJ/c5vJ17xaYezrA2WTu8JipWJ34en5WSThOGGFkqslgxWw1Riyit2TjUk" +
+ "4m2SJs+3WFSYNQcR9lN+j4j1noP93VyHCfI7cNMSZzH2ZNRThulseIk/yU5KdXt9" +
+ "v7zmbk+gjtO690cSQSoFfmmeBxfI+vqGsirzNH5C+xTw2WGGHE0X+u176U0uLoPT" +
+ "OEn+qsbDvaA4s+lX8EqpJzPrH0sloeXR1c9OiqmXer0zgSe5ZrT6ScTDZPxHCbPN" +
+ "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" +
+ "1YsdOxwxj98iTq3teHw5yT2NnV6Ms+s+NR8b24bKw/NWKKqqZhiqnM8QftpfQb+C" +
+ "Vs3lZLSSASqcfM7yVxGYledbnrN50XJBATYaCsBtFYJlZR2SKwb21+jqRiNFI0Sa" +
+ "rSjgiATZnWelW7O0mbziCfju7ylzo7WSqylsYp0JpjJU0qaMlJUUVhGilWTZudCx" +
+ "M+kc+l5uTSG84qLYv2ZJMli2qrILI2Tqln4cMqNhAj4gogAncslWOiwaV+BwnPnE" +
+ "jdp7E6UlqPtYJYV9Tg3WI95FkO6beZO8nlbeyYVc7od2tLylZPKLTp1I35t2iLsk" +
+ "ipSBQqtbUX19H2kWD8z2PyVPmh9rLUcrDSKQsTJIfukqY7Hl5DzdPLdUqq1+LJp5" +
+ "emzvHWPLN9YtWeh+2WzylkbFNlTCyVWKZpKyQ4YwqnWq3kKzCwje4lWdzTuDbTZx" +
+ "x4bJ8tzHGu7m3prWSakaVZncMwY02dcu7kznctvM5MknBXCmwVtKfU0xWphkowpi" +
+ "VsxiVW7I2rWqtRhwpcXDoaZN1MN6tYlKrh3GpWUlJLvXd43OuslSWQ0fVcxqeL+B" +
+ "Xv1rpQyBqdm7e1Ra8loulyubVzbXOGoNVpN1/mjcbxaAiUP6xnhT7z2IJaTCQVgt" +
+ "DpQcGFJgWSBTA5batqKV5l3ruu7XC3NyZRFeT486vWm68lRqMyRNpSzSpsi1KyzL" +
+ "GmTS2azSVMZqtq2bay1a0raVmmyq2yqikIVCwBSIqSpJJKsVBYgSKsBLSopRkS2t" +
+ "tKmrVKmA1rSpZU2JTWWSGtUtmsrMWKVLLVRCkSkEqQS0GpKlKZllNtK0WFGTNpZY" +
+ "2lmmZKZLbWbabW0ttZTSTFMklmzbbTaajUNZaVNKzWaipYqKmU2mMk2lilaVplhZ" +
+ "MykpmlSwamzZsrUtUJCNs2xE2zWbLJpmmmlSyzaYzNqWpssspZTaqtm1VbJlmm01" +
+ "kzUtDKks1LIK020pKUpNRlKTSlmUprKzRSmk1NTZZJrNhJIZMlSpNJDMktbNVDEs" +
+ "mpKFKVJtllm0ps2WzabGsbM2aQtmsJaMkNaVJmssNbZtbMprNYqWVKlaTUapJmGz" +
+ "RClCZhpmEmZpEympqWZmWbRs0SaY0lNTU2lqbLNtts1tsrNtKqSWmGWWW0tZrNiG" +
+ "Uy2ylLU2jJWUySmlNmpspWFKJrTVkE1lJmakWTZmUtpS0rKyqpVsilmsNrWWbLMq" +
+ "aVLFlNmazabZtNppoZJEkxlJIlplYbNUMaaVKhIUylmxaWkEslm2WoAZmYGmm02k" +
+ "mZ9vNcym/zYZ1m/E+UySfg39LUVVWb+0CAnu+IVnzkTYexs7ufDm0VjDZ7mmLPDC" +
+ "jvRkCK4NH4KYIPfTEsxAJVJTCY4MNNqKqTgrJkmjRkVkyN9MMuNskxW0mmjTSlSs" +
+ "RiUzxDKZmvWVXm9Y8a6VLqbbWXtSMLsZGTNoSqYkyYjI2VEskoLRRUbRRsbWkqSt" +
+ "Sau0WgopMsq6V0SZehQ82kyxbJsqq2k6xbaqqpy8chxElkKVybMPBqa1jIGLJqNa" +
+ "WSNnw5w5rJRVJ8pXQahwWUzyp0wnz/U0hIEiEYfzEVFZGtr8GqLFqNUUa0pVZVFV" +
+ "lLVsEy7VF1qILVeGEk2aS+WJki7F2pqD7InRyG/WjNbxTzY7E029eTdr/1ZJlhzx" +
+ "xZEk7TYxZI2Vk4yI8WLZEUcfOpyzjm2I50sicpFjzHRZKelYLMxipnrpolbK2wP3" +
+ "Gj5QrZ3mE7dW70dJN3aTWPvGzFnLOYscQkecNk/KdSbVattW/g8tatRJ9BbaVmTU" +
+ "cNkbE5NiRgCjqJjBFYYMQEpXT39BIxlLWwvLhFGpGWUqKViqxkcZkznhqQLSNrGQ" +
+ "hBUdGYxN2kbWNpAzdTVXSs46S3TNK5yd26mxXO7tXNdm0m6bRbSTJvK6rpKW2TFt" +
+ "vPLvJbNaSixoxKyEmNk0kWK0SdjZs2NohYnAsejhFowruXCQlUVFqVGpE0UGZIZE" +
+ "c3lktTo03a6N+EiflSdFScJJ0xKRxN5+ZDlCLZB9FWySZUtkhL9OWNS5Kx7HmGk3" +
+ "Zm+vn/kuSquatyCwYtGGhIxpQKVBh9sws7qnJ2thu+NtlbJbljpdXFmFp6I0cN3V" +
+ "hW7RqTNacWNJ80k/pbIVr82CR/iVzKp1fJPyjz7u0PGnOl53LbDvYakR0ZJD8qm5" +
+ "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" +
+ "VZY0yZkycNIiDcCJMaGNe5kXBpN+8HIUgoKqYnY1JISR6tshCE6JhknVjg6cMhWn" +
+ "JNlbSdppsotV9zG202HYjiEnmTz+E7xXhSrLv5ZtdazVbW2hjEYNKDGEBkJ9/vy+" +
+ "vnrFURs1YvpvLuyE245w0VLL1kr7cOg/Ba/Qf0QM8JPxZLLOStL5KZ+faXr7LE9j" +
+ "17oH4+OiR8orIu4h/RAagtxGICYpOWtBCN8eXMu7rl485VKQmKi+aU6rwbyfLXpr" +
+ "161+qbettfqWN0pL88tJbgpKWur4a8ki2arIszGhZJVK03h6o84nieE+RSDA2EJn" +
+ "ygppzrRHjjDHHjQ3oAGNIa0QIJjBiGd8s3glSnsMZSEY1I4BqCBOrFtgXZ7YoGff" +
+ "5SOeYkWToVOR6a7/Dmyl7pPebOTUlLEYebR5Ikzr5O+azEJXRy731dGOXtcW5mTx" +
+ "HG7GnHVxIbSbnuyUslYdMltVhpO7tytjo3Cx2IyGZDKmmWOxCaYRisSq0VhSVpit" +
+ "JWkrS3VY0DcaigxKkRFVBNRkkg1UhOMurldw8knJjznZobpJOCnNMtmM9JI/gses" +
+ "Dl0es/T0c4b+aSO5yy8it57PtER7yQ49svq6K2KoqVhjFUqmm02P9rP+enbyTaJy" +
+ "k7zyB5VdEyRHyqE2jlT/N+4jPJHNVfOPajFtvo+bRIhxDIiAREIBEBHmAseJvCKp" +
+ "aWSr3OREAnaST8LJp9TClbcGN022eOxs0mObY5x+f0+u0ck5RKKUopJrgB87bebv" +
+ "yv5u7W3q/fvzQ+JGypskPUreRLIrmybatMsX0a/RksaxtIKIX8sn739qsebzOZiG" +
+ "by7s3vdaJR6Dj2macG0WSRT7SDN9KC4xmGSRgRYwaf7MbwGIOPrP6Rb8N/DY1I1H" +
+ "JIkrMaQbxJHdIbifDkh15l2d27BHRHVPKch+6RBzeUnBMtctc4pKUyuu2upJrlrq" +
+ "667pW6+1t+6Vk20JkkpYV59A5unxbofu3vn21Ey/s+HYx9zasPu1JNm5an1x85Hp" +
+ "GG1LFk0RAJ1kfSK+E9UPntJMsjrKWnc/YuFg5pe8Oyx5qIpZEbwKh7e7yTBhymws" +
+ "JtGzb8PDzkfvPfLZJ5yR/o9pH2H9KqdtVVX7VbbWI2Nmr22lllliKehVTXVI09Cd" +
+ "Z/Ou/e1aKs8lfvPiSD3/Bks8PeYcuVmGgTKW2WyVY/isZRxJN2T4vyfP0vRyfZZK" +
+ "rbaZNZsTidKX8ofEcnunxzNEJWu9xbuQ3w1er3T4Y3g7/gteJ4WVbTtmn85O7lJ/" +
+ "VEnkTJ9atqsYYYeujDUxIwoxR56sknNj7SbuGneRs8nq4fJO2cpuiWKioslVKlRS" +
+ "pJZ/ULtdlKi0b+Z81+yixKtJIPDdvJ+LvDu0SyY/h7/w/FiNs+mias1cSpOznIPK" +
+ "yrHt1CY942YTzH+yrZIoqhOEiZIT845d3T6Pps/6Ofl4bEm9vIZB/UJBbEtgRgyB" +
+ "QrgTP96/o80lj8FrpZ3WuiX6brraSSqxRuxjTFUbWarrGGKMDbBcSioFSqf3ZLaC" +
+ "XBlKqfB9CZLWcmutdlVXXxEzqHZVo2a5uZjrbE5X5CvSKi2WpbDaOR0OqaV2Vjxq" +
+ "myEND13YGGgTBqRBqAkgipVktsk1bJm28lu2ll5dkUpklpVLKkqjThs7SaJqeWRG" +
+ "VasWSxZLZu4aIgE5GtmzUkyWRexTG+WO1qi40I7X+GXLi6g1d5IU5Kydn5ZoeE4k" +
+ "iNK7HJJHZ32hk/RzVTRzKwrOelrcXxZCb6V8ambb6i+3z7g8vV7o2qRK3bNfx+d9" +
+ "az5ZypWyvNOJkq2zTDGW3I2kxsrRVg0qaU6NmxvJVssZPf5Ch3jJZiNskkJC5thW" +
+ "jziKca5yYTlK0RAJy2l5f1mHrY2Dc6OkI2TTTy2TGVsRATPxGssjZRlnpIg3iSRi" +
+ "xI5OR2SOZJPl5/ncvR8vln1Y/uaaeTGFSl5VO11Z1vnvja5W9Kw09ahkgtDDYyAY" +
+ "Qw/WRKMp5aFVusKrZpjSKdZ3v58tazxmJb6NXQlD2AabBtG1MLD6P6xKQChW0XsB" +
+ "77Y5z/JBkkMXpKgXiWquYcP3Pv6+I4oBI7HediIrxI/Ei95EsFOQPxkk78pP8rbI" +
+ "tJ+v+lu6eiHk6+Kqz+L5PSR4npITj7fgsgl+q1VWGLPweJJjUnC/Grtc/J2G01ZT" +
+ "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" +
+ "GRBBBBBEkFZVQUUkTHdrccRvm2/fthj1pS2KWAbKGFox0dOmXvOlr51nWKGJum43" +
+ "BBBIJBq/KsYn0ippp9W01W5ZRjbTSfDNkM7isVOp5Wk82WrJNLTsbRZZzsMYDiQS" +
+ "QQGRB573Pe988yZmZmaB0HgHcz7ZHJKFgkEgyIkiSS9eHnk2SvPDryK1aqqqmtW4" +
+ "PSycD/w8sflE+v8v83/dyIplqpb1llszKa0Kl8tWXbMGzMy8XWnF0X937o/wO4fq" +
+ "0+r7tk9qe2FJ6z3CkozLYqzEKiqUFDKGP7kqsHaWq1aDYcCQokp/eU+vt7uZp4fD" +
+ "vw29FcKUSuratW2rX7I00/UcnqCIfPyP4ftqCVUyNaqZi2P7Lo2/nvtw1Ntxu2Ov" +
+ "M1cLOMOjTdl/Jw/jqwjhrHX7ljvTS0Ng9YWklWliFUpZUiCjOKclNiKmjWdFMjuo" +
+ "dSAo96JmslmGgyCeUmmjEtITqi4DqWXTg4318osVuX2Vfa63aYJNvvZpHIUVXXbr" +
+ "pPMYqxKrXRvoXCGuFnXhSb4SVZtAm6ojtvuIBkdOcqdgEZ6lcZZFN1kPKhJJhRBr" +
+ "WEQyIWkl1hnFU3uys63k4eJJlSIMlKqoErDI6G4EEUnpZfaOrlixLp9DvOUpB4Ta" +
+ "n2/ZW/q+fvPhH07t9H4MT16XESiARMKUE/rVVU3KNwDooJ7dlAzgnD7EhScMIYxZ" +
+ "/mOidHDestpVUIAEgC0t7/m9fLzzvPVb1fK+s+Y+f0Pon6xzJ9vzOD8R9GeLf1T5" +
+ "3aq222kVRIqwftW1VyfHRO+89MPe5zaktbKQr49+/jZmajwxNu3Zk7fVWkSWG+K2" +
+ "a1xZlKFOw5BlJpDTgyzEORiGVhmzt4tctufPV1DsnIxdsV3SbUdlXBrTgwnt41HJ" +
+ "0263X9faPss1y+iNSMUfp/X6ff7/6/TW98cccp1bYjhzq/3uXPJj5bT8/7W+nhNo" +
+ "/69v1+jGyfY/aaf9UV6T6SQPl1Bq30rH6H4yV69J/bdqqKoSHon4AEpmUtPAez+t" +
+ "92Y5lOj2CJ7CYdkZxf0D3R/XfsuFMS/C43Nv5T9sfMZV4L/G9pvd03/3mq9yzlm2" +
+ "xVJVkOV0LvETLzsJRx4cqu6dXdXXuPQcCHb7ePRk7He904sDcwdra7Nt9q7VFY9l" +
+ "7jUQJW14xnuJPn7/TMw/3fPn4+Pj6o/Cx3cXKtqlrD9PRbmYZme3mP9E/y7G36I/" +
+ "LH+Z9Pht8Afun7v7tJGbXiaeU0eH+Gn5fst6/K+NqmUrWijbu3DZSH3hD6nZ+o9S" +
+ "qiIxVVjIQnk5/AzMrhcclKH4STg5bfDDGO33aTpJ0rlQeHwTE4GVRAlhOxMpdgNv" +
+ "3ajAlCIVM6Qe6uKg9yOwUV9eRvl2dAWQKng+meXZoWhDqzCyCFDwHzqlW653rPFy" +
+ "aXH00S9/SI7ZIaPaDOu/U2err6Wt0/RGxFCJ/FfXywJ+Z0NuUscckrzN2LlS+4To" +
+ "ymv403aBj+06Tl0T6Xne5mhKZXrsbvOuKiXR7e6HiOm9CknWsik7Lmvsvrn08oTa" +
+ "aD3VS6R5uebW2codGHht9KN5dWRYyrvSKCuOIvhyuzboi48y0eX0b1ZEk7XR2mzQ" +
+ "lIxgob6yp54pmGTlmwZ30l56vdry8vuvXD4hdHdkDKTAhgiUo5KUmzxNmilIqOOR" +
+ "j4IT356J9N4UeHHbOSSOyBPJ7lSGRJEjG2PX7P+mxdE4E9kZhSbrNHt+LR6oxuXC" +
+ "xtS3UxPlEzA5XpdlqQj4iqskZZ3pmdTpI2hJsTma3b8RF/EoYxU2m5oFB5TT0rss" +
+ "2w8zlr3Bw9jYwgtNtPCzmmpqJwmZzfsew9o+/u+NCiXjuaEvhdu9cDRPzPZbreMo" +
+ "pkxCrlWTi29L4pZEMIlfLbK+xSL0Zqy7IjaLss0ZGYsGcMGrgagM+zilXFMbIldU" +
+ "QarxUPisyxhSqeew68PlX96+Vn81ovsttNN7r2tOwJnj1OGZ6GmypFEL/OURjEXj" +
+ "xamLJXj4pVTillprNqvk5OqCY8vVrvLm3qoKGDgxzLgEkqry6tOg257kmNzyTdlj" +
+ "Q8tAmWAyU3697unetmwupGywUXVcTN9MqL1479u2I2tsRZbvyj68/LNRM01plhvS" +
+ "bN5NcjrrccL8Htyj+BCrHefe9PVPN5zrUH+1Pb6rXdo22uWWd/EfwZZbUr34gOaZ" +
+ "1MdLqLC9RP7u6RSO3a3RxXP8X0wBLkn9FRxLMv9CJEbYsiOpgpUSoa5GSlIQU0ym" +
+ "1JJSRLorCY+OqjQVlihaqBciZcOS7lgmERMS0iZQTN2xVFERDdrxbKJtzCzbbXC5" +
+ "bTm3j1zMs1uqI3AHShpYzQRbTYKYrZRILVpDLWCCHKKFK04Pz6l9+B8QwVBx3HZ3" +
+ "pHj9L3wPqk8LV2RT9q1kZcelVkMztswvhMxRjp826SggOKFASfzLUZH+Trbl452C" +
+ "rv71T9Wht51YV3hXG4QPJdqV3uZz13mwrzVZnjVLbVn+YVe62EzchMqtzShLkKPE" +
+ "dMnTiMTvOqRJbzVhxDI1dd1rQhiTqmcLOhwiEgTPFVyLB/BYxVVJ0qTbe0X+E2NJ" +
+ "5FQil9Im2yK4hAhROqTbaIFD7Kzyqk3ny25Hm6dGXKvdrsl+j9LTNJyMbczUREDG" +
+ "XgVzlti/gxxcK9lmrQmuXy00nPZ1ZnYMCOztzV44ehTr4++n1Tt21RvA1/+natOd" +
+ "+etlwD45o3FOGbqiF43Vsp2VA9kWCP6ERX78Jds3aZdJHuSiVaYad/n73gTnNOq8" +
+ "bUvQV1ck9/tFEv8o/X7P+1ZhaugDmvV+7UkaQ/vHB7fX5WVgRokFFMNzV0S7rpL5" +
+ "fPt5HpdvXdsa8XNCJ3dO64RjAXp5PJc5siQE7p10k7q5MlxQkHbwYYb37js+uXMr" +
+ "XQD53nebkY+JEQ3Kr6j5LcbHtxRKez7rjvN74ZI/binYF32Tatmu8Be6TXLsrqtU" +
+ "SyjpPtDkefbc/yap8EMZR59eNbE1KJt1yzjkr8IrBj8d5+WZHW1FCToyAsXOUEXr" +
+ "Wtq1r5tZb+GoluBz2+U8FT3va2RkKc6WR3ZeNn4iq1okKrUThD2MqptNGqiTJ4M2" +
+ "f9u45+/nwFAQyTz4I8lDKWkdQxJJEruEVFU6mHlMh/SyVffytduOEYY+qcVewuWR" +
+ "7sCx2jKWaQSEq05Vh2otTsmLP8nxVuGAJlL6CQ0fXzP22Mn0O/dc+RzxqdnXq/N3" +
+ "KIZUKGEwHCFgyKwJcqXSyY9+KkWLMIVwWZW84+AK/Bz5wnaLI44LmU90x/EkyBYo" +
+ "YS1EJA9jWfE+/5tRUV1ipCoof2zsjgKQ8vpHUIwQU4hNNSOW4tYulfaqfz6P4wYH" +
+ "GDM4DID3+NqN1ONUA/PfuPMRXS88tk7zKq/wt5RmaVy9WAxsjPw3pHVUomq01Y27" +
+ "q1V1m7Yd2KfWl+O5Zq7729d9zZ0l0p3fEcrJ5YgfbvWje7O3f3xZrowIWRkq4O+T" +
+ "FRyxJpiWo4lFPH3WrGdl4cvrRgQWOs7e+Rm7Fg5SGPs7K8wII3++tGhUMYuglST7" +
+ "5KtdoyntNOHVVlYkvFyJtG6k2rcPNYnRazDvM0jtv9e0GxHtPw9lbsVHo999iMnW" +
+ "ySQyREBBJkSLp6BsnvG/p9faVUKlPzdQ/ZVIRVFqLwVZA3bCzzChJo/VG3vBX5SF" +
+ "rWK1RZmzbONI5WDQJSoSvFrWQPYWLVWpk4wJi851alamk1f8QZvBepyqUITCUW1M" +
+ "PO3E+bYpbGJWorqrG+spHFPy6ovW+piPxPDpvMK9cLBMXT02D897907tO7q6Tqpw" +
+ "mu19VLVj5w68m9aLxrh5pRd60Z1Y7OPlnWyT67h8VWsGO4nUUKiC8Pu5yxhCT898" +
+ "xuvPfY+fhoRK5T5qvf5+ore9q8fDLTyk2u/mia2vXGhbTXwjpwro94vOKUYpdrNK" +
+ "/ilIKJN59XedxQPPGvYqUmlTpq88kgneW7DHmiG23HMo7Zsh04+H7xMdo7xOJJtY" +
+ "eizcYZdt7XbKVK6OL4vQLe/M+3jq86SgU5889oFKfPVuxF3wlFrkIun9efjz79d+" +
+ "wYeN/C+u3m1rd0jFGq9X89KmLLXN2C5Po/veZd64ndf3MKIxsceKwWTeL7MD3i1L" +
+ "FVj6xz2pzr8QKCFNCFKpIp+xTH6JnyBsNsPitQloYgqd1l5g4jhq6cPDUvHlmwrI" +
+ "oOhRQkOJcJfIaDs0KhNWaJJhi4g5WXdYcDKbkpiy7o20IRRpRFyOFooQ42GI3+Su" +
+ "oMuUwozR5RSK47UcIoQsIwhhRiAXHRoVM/c+S9/l9R47JC+j+m/Feaff6jz8TUQc" +
+ "fBu36cbfXyrsgqiUIyVfLNwCKvgnlBRwKKm+brfbFcOClV8LfTPJElZDw+Yw7n3R" +
+ "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" +
+ "9Ie3XnPlekWLviZo7sWzm9WT4r4vmvd4+Mn1zI9eadvv8/FYv0fllb9OdHfmF98c" +
+ "xiihhSVRBRSemqq32pgz4bzMD6OjNYamHHHp0WsLbYyKxZ3mLD52kY91zW6fPB9d" +
+ "GObcd2fPPjX0d4du7bA4tvfmSzb6t9NouC2GU+LHHGJNXK4s3xiY6MfbxT4Z83cZ" +
+ "UuZDLGk0mY/Z/iHrRxSY3S1SG9mvzS+bvxc44Th6JqNHLLC4ZR+p+NfpU+sMTeHg" +
+ "a67ZI7LO0gsjRa278NqHpyOH+PRsdMcqF5x65vjp0KeJjqR4dknzo+Zsle+oZmSN" +
+ "f8ttztuTWnh+4V2fpXP02u7ttibExiUsNhbdfPzh1+rQ09U+enFtXS5qQkjjxMd8" +
+ "MkkY56cYwqZcb6vi222vU9cyYersXMh7cOOI2Y7Viz6BNspac/J9fjp3RQw/gqpU" +
+ "1kIPpx1mbn6DEJI5wLjKElOj3z3XAvFr+HD+fSn8rhs166dJp1CBw82PeVw26dIv" +
+ "7MUi/KQbLXXHt4nPh0fSOYs35zI1WtZGrbfqaOvlNp6VywnitCl7G/RjngwTGOXw" +
+ "v3ThnnFFDb8PHJ2lL1vMzxiXS7Hci9P169PULTtp8MorSZB25VNA4Pw6X609+3Vz" +
+ "WTVcyRy2dbt8H177mEWSRvh8M+vSerjnx/SZfuZ0beIXSUuzna/Om+czLbbbVfTz" +
+ "54naAdd+pE26qa+jh4iOkG3g+U1FmjxmGX6Gj40+jLEntyrIn7/D+T8fy1+Pjjup" +
+ "Bc3CtbNuXO2tRdulIu21ItGsL9ccDt6aEtrxfwXjqcDx58HqqhesQkkFR5Hw5s+Y" +
+ "95rjxZ49Zxzzzs55zny5Y/Trf42ninShp2tC5MykPXPDq/HSuOcy/Hrg+uXOZjhw" +
+ "qpi7evQ+G3aueLbIW2pPLBOXPB2k0qeWcvH8dPX3537NGVVjFVhhjKxliVkqkjay" +
+ "ptqZq2S1WktJVZNtVJa0VtCm2mzbZsiNNZVVSy2ti1tS2Sq3md9hy4638z5PHNMz" +
+ "Ix3IfMkD8jgU/hevg0z6O9vrhfx2u0pdXi4ooddn1WwLTt3u0dtfx13/DwegMQYQ" +
+ "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" +
+ "Lj5me++lriwkeI4ck6bca2nHauuzfPTyrxRXIm23TPacNjajfNUa97T754q3c0rP" +
+ "IE5Nere/DaZzyBPTHL667M6YMUiwUw84c4W+5rlfVR6zxCzaeKly9x9x6DhaooPI" +
+ "1CNpPHVtq129Z3bpzpOM14nhw8c8mvgVGdYiu3n1jtni6FPTxEt8uOLVAnqxzGvU" +
+ "4XXlc09EDkrS68VHEuLovfh0kKjn16nx2624KnuSnHXYVkIprh8uKrXkxp5Z3aqc" +
+ "aeE59GkSJ0a8drt6aX+06Y9W1WYqdPi+di9Pw6evm8zGnrTzvvv+GSuG79/XDiov" +
+ "H0qepaxPYPTbhXBj1xR4w6Tg6NcOybV4+Om+3X41ItLvfGlU341TWO2R7tSuZO+O" +
+ "3asyajzIENvnh5J4Xw8OuDlfBN8GUCx4420ZVU52z250coXTppy6fELl7Rjpy+nP" +
+ "x28cG3ng7sNCRkisEe3Ltzt62dtbszTgXpLw27ePvRw+vlFcKR0ekbTaMSHDJB5e" +
+ "nZ8vLbTt78dG25fCwkJ//etW1scxPdFsVVsi0tFqS177RsuXJMklSkhrEjSwORa5" +
+ "3WlxTnZfjFJJ8qqYtJkGIYaQX+CRXd/3dKH8uAJ8Y9cu+OcSSPAL6Gs336Z468Zz" +
+ "vNxQRIyXt3dm7s0SAwKIJ5wEk8AwcCHFznBwg8o1kzNO72t3vAPY+sfngZ9dFb0o" +
+ "+X4H6XmWneYezTTiKIZ4CUUD4QEQCdPGmwTwkyTaXmJ2d+i8PAPAvDjERepd2Z2U" +
+ "tFeZqfopOh7VAjAeQ8BPpenxxACAkEQhEExObQ9XlR+e37Iw1mN+ICD34z4TEzKK" +
+ "dyQ5oUQnsRgHH1l1ker09IZ4KIqyrFUOLmqZbKLYUGaGAgOcGgdbwVvRho1lbYNU" +
+ "cdPj1zU4ogY7l1TxfNNPT+zP92ta1Xu6TpY6QeISM9/hrny59kjOErh+Ht2BPj57" +
+ "6L5BzgoCDQAx6HNqd9+Dyvbt27Lq3osAuFDt/Zv5zu78vxMXPz5rDDqp1z+Pi2nh" +
+ "zxuQkFAnqvWm2HD09db9dvJvpZ775mY/Nd5n5du34vVU6F+N+jTb5SesToqJfaen" +
+ "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" +
+ "faqcvPWZmV6OkmSyxFrWcJrWi1kksrvvgqr6xW9zj1ymeq4dcNajmbSDkR2mTlry" +
+ "5AnE7fgk9Tk978Fs2pXhPvjltkl3AXoF93yfjrr84+98655556eaKe/TcvX8+tDp" +
+ "+Pi1RQ8fdUu2pvFdMbdPAQGNN8ivU7S9Ryc166k8yJc5IdVFdb88+uu+/zeZveuG" +
+ "j1wuL35UllCnrTCt7IYcNxThFFbQtqjNZgXr60baY2hffWp4+ubvM/NIWzW5Uj1D" +
+ "p8eU+ZTg3naukLoZzl+a1n3vGta8samSFp7nvlKVuVxKevXTjTg2duJ3SfNK066b" +
+ "lwcPF5xw2+0cZJzrx68c3veNZrGOHXbTSSRwPSDE242fCWz4vTsVKYqOF4bx775p" +
+ "0xeOddrOpVXqcPaqqOW22WtV88c4xmZY7dL6ei956V67bbVtWu+nzM5fLQ6pS9sJ" +
+ "RXrzSp0cNSpHqF1oswXg7xoeipTO2OO3gSMFkwqyWwWmzzmd5mSrkIb9W0R4V052" +
+ "4SQ8m/L07yCFN+NEinDh32PHfHDzfDTYp2pF9vXXneZ84x6vcPRzRtDb1rS9KNoj" +
+ "G3tt8trVSm4nKzy3R6xxhOMVR5krVhMyjGXOrVEkqjaow3ghlCSpZNWBcVaxL3Fc" +
+ "Y9ZJpkrnJzlzh3m8wze+XP8uV2KlNuHovYPm99afPmu8VUqUJ47l3jmZl5eHCqbb" +
+ "HO7xlEBFcBA5Jb3t32Zl9tPvd2smGycKE9uyfDQQPDS8Ltb4qBF9a8qnudmpDwX4" +
+ "+wdtdWPrzp5ZJ51IafAcnZAsPkypcqpRFBAcxIYWs3vTR50fEtvnqdcUo/dUXwei" +
+ "bTydGiJ4PFIOWjex8NM77ddunuIT3rfm5Wc23BHly1Kmmj152czh1j2qUpWYqJEq" +
+ "vL10rcCedpLOreZEjlnPpzu3bt2Pe9pIbbhG5VdskX49R4c9PrbZr3tVMdOn17de" +
+ "nw+aNedrTuVI+Pjo67O359n1jijiSSJ9jstJAwAWh6D6ObOekTEOeh3nAr2g7ynr" +
+ "8xXTOMYFcwj5xiIpx8cwczh8LfyjzhSPBt74x6zvdzHlySLo8nCSRsk0eS6TRbxm" +
+ "Z3wnmxmnHMkNhygxjtJKwkU83mOviqqNjty5d4e44KmUaw855t7i6cPI8nbp5Sqj" +
+ "jbpFk2djdy3yk88pG+mJSHbOXfhw58IK24kkSC+DzcXXnNW612O4HXcPOwd+O0Fl" +
+ "8PvuZjsCx5376uzwIG+WIPHLtDGueXTEg7dMzfR0JnnGHYm9idAqLLCyKsqxZVXx" +
+ "lbdLKpppSUky2SmfGld42pFyh9d+861rCugePr6r6xOggdtdPr4hx457uTlQ/lju" +
+ "vcrnltjnbtqu9rUk6cL7e+9cX1mt71d5mJrs2PD2zySR16d72kTx67dPB2rKOy76" +
+ "78XpyWhUp8dXq0t/AX04768zWa18ejz5cuUnls27TZy4O2rxRtxcg11S6cfNoYO+" +
+ "+madlcs6drb67VY8K3zSk4YqtLvupO/Da6JNXUsg3mJLapKtWFixTMIxiMYqYxW1" +
+ "DMkpmVKMqXrbSzMt9/sqIqP+t/93+I/0n5Sn7T+QT8zf0X7f+TD+B4CttqUP4hlE" +
+ "RRRTARIfupD+YUw/Q0KfxO/YVFVv5cOFw/8J24f+hMf6Mf+DF/3MXL//P7Nv+9/D" +
+ "R8PD7NE/L5Y0/73/Q5TalV9v/fbLbfTY6Wd/hbKsn7vhvhcttfh9p/Rx9F7ThpoO" +
+ "zo/of+imn7jnrLbavsef4r/UcA+RPuf3Q+f9UqkU/8ap/+MFIjMqlZkqslsVZsrV" +
+ "JUlRZLa2yy2qaRaWWqRTKzaZooGCAwg+x/nV+FYg+fi2+gz8s/Z89W73ufUfZfMZ" +
+ "rG5jSeX2+tXiLy5tM25ZFqjVUHVXHVO7t3Rjfk7WWV5Xd3zfCC7d74/Bsvzb8BBp" +
+ "uu3U3zvXOnzxjyszB3F1Lpzy88Auvjt8OJfX88hg8tvPa23zrze8IBCEkACBACSe" +
+ "svoy46IiKqqiKiKrmbpczNUAkJJCTVerLbqur773rXpy1c6c7tea+Z7XygAnXQEQ" +
+ "RJmCo+i1VHsgGMnt6oTG4h52C6u8SvLrMP/waB4Bwc2A8sBaDwhBB/o7aeobMefe" +
+ "uPi73vZt7rVet2rb0T0fQ/9rykNCbO/hd3LcnNv0nxbJpOOM9dbX3aauDKzP4RVk" +
+ "8gGChiP3tin+2Ko0zGvv8rm997r3xV1pt67QJwiEFqEG2tbkdFH93DBwDjIPBfPi" +
+ "1V5aFeIAHWiKoxX7fYcN7XsJzs2YByCqCB9JkFUVQVTA6PRvzz5effmf8/OC9PMp" +
+ "C+ZtzACFV1K3GMDvG5p00Ri2rRwdRGfGJGZluZmRrhVWSvlPXhbVm0jUeerZfHWX" +
+ "OyPb4dvG7fq7d2YuV64ePXrvx6mb41zvjnrfDiqrwFcQ9VbJCMKmIWYsyFKsKZAp" +
+ "mGYZYsykKYZSrJYGZBVZVDChZKsAxJMKFRiFQZVKxBZKLJJhJTbbapSlmzRec3cV" +
+ "XShD4BDzmq1wkRIYPpUFVy20DjqcYA1wAOHwq+O9r3vWre0sCbAG9xdKyeSrfivb" +
+ "QO34ZArRrbCmGhJ6LPbla+t+POc5nw7qzbdSzdq7p0eJSUbVXZtq6NOrQouWy7TR" +
+ "Es2HZNRu1Stu7Ysi26gMq7VS751zzvXPF5506HQJCRi6HLltz9uN8Xm7zDLmXMwz" +
+ "p7a33LluY0zKuVZCe1T/O/Vl8LrrrqrrpOIUG2dJip/z1f+mv/K98HqwOlWunXPV" +
+ "64nVSTpZbdoyVil8PHTcq/c4iSP+Kkth+WA/sxSm2JD/tMfEf8rSNT+n1kfxMmZY" +
+ "y5UmMVMVJ8ZbwcyYSf/ThUxkMMoOz+R2qaP6HTarlv9RaiqxhI8PDkHT+8nW3ZOm" +
+ "t1jbpR/acHDtXbA6Tww1EzKi2KTySO7N2ZTCkq7jYh702RpxAodJwef/IaXmsXK/" +
+ "lMbLbeD/FpyuGQfEv6LSrGVZhmSxSSgoikttRbLU9uW0NrwxmKrwfsj9zZ07ekki" +
+ "Ej2irVcqtMxjTEjVXdf6P9p/KOcsyr/syrMkfUEhI+3yT4fG7atVVren4qxU6V/T" +
+ "taOFf5Mj/xYPqwPYq8bLlYHT7x9X86t2frOsP+5UnmbJUjANvKTCvZwkj4T2/Xbt" +
+ "J9f3uJLlxpGGJJwQ+9LUNxUfu/pLKj7vl9RwfBGH822fqJ8ukk8mkR2V7eCdNCih" +
+ "4rqR/FLZ4nb6xyNCn1IfeRyyRO0OnsT1CDQ+jZX2q4iaXcThcJadGG5K+NMY2w4X" +
+ "V16pdJLb4bb6ykpDJjVVSiyDx2/Ppatf7fHfqTzbxrUmrdbU+rGg1FD5mI/V8tSf" +
+ "V8o1D9E2nlH/Sfrsr/yHD/OP4SeoUU/V+sYwlSp/5mPQ/3D64aVkKRGlSewWP9VC" +
+ "GFgUGZCQwsROn6CqH9BPpvLYlK20kmjUqRVZgh9aaGzdo/4oxbVDFP9/xGOTxP+x" +
+ "g6H8uhV0ykMME8OXjcocLSqeqxYyhl2P6/5Hp5nNLf8IonRUqUNjY/DbO5llxWJF" +
+ "SKUSsy3EiYhPJ+cGHd98MzE64M+DAkD4YiKRisRkTDMpmR+sxk9icopWw4WnC1/0" +
+ "5aVMf79WMpaf9tje5Pm9MTeot7xUVJUoSR1ibG8TG+mE9pDBpFKsllWe3HKtI8x6" +
+ "SfEmFttpJpEsCWDSlS/NdtwJ44ls8MVRi1bmLU08xzI4bQf8lyf3o/X58cfuZXke" +
+ "jA9K/Wkv/oCpOX8AoptO3imxpWsWZVKaPlFYOn5ekY1bMWGWYopWjCWGKaLTIGkP" +
+ "wFSZp1BRTc+o1ds/D/mY0uThaKlVSilOHlj2XFcG5JxLZUjayIhAAACEhJTX703r" +
+ "bKxG0kYoRihhijZMYwxZWGEbWSBqVDlZMpZTZStskllbfWleql5taVJKGgnkxRrC" +
+ "VSqptInylG2SrIwx+wwoppFCiU2sGh/NQbbQhTFWSmMltqpy9NIxK+lX6Y+UYTIb" +
+ "ZDzMDN6G/c8HjdYsVEVWSZxbtU0dN3q1u3bFRfC4kqOpVSPLo0pZSIiQOFnZ0d4q" +
+ "sQkz4Qqa1DlekfEJApicdLA4a9OMxhyvFegkCmuM2yHU5NScI25iY4U24jHLltts" +
+ "7StNCk4frJzwu0Y6VjDDFk5RppNKqlRASOcpVq3MyVYiVt25mTCT+oTRDRPR2CKq" +
+ "KWrVqlUrlqaNSrjDopxKbp6upXldb1PU9s4hJGJA1VbLTiRJ7eok2sM+UHLbthMQ" +
+ "UFfLLbZVqqyVK+p1Equ3tpthzYl7KWLEMTEq4Ll3YoV5stLbid+m7alklmvcxMyY" +
+ "aGFGVGL1wYwx7R6xjFy7cn0pouDotHyZkzo/hptTZOkPyO1emWMxhjZLl04IdDYK" +
+ "mkh1kK4y2TMxcjHDmvtbZMWE+zDHXCnuD8yQLIjg4UlcKxjHr9gopzYxfuda1rEs" +
+ "eHCK6OCQ6xT4Pju3n5/X9kkiEj6cN+/vl+uaZ5gYN/g5JlAUHSDiUhoOAhwMFMVB" +
+ "c3DDHMN3DFulS0xrgWmW4W5cMuZhWta1rW21tbbRzrJVtBe+ulvYM/s8dPjcuY66" +
+ "qqqisgnSPat2gVwbVEysKVgXdk1QJsk8RJCBD2v8tenlrnM3edFeqa8Zu7mq1raU" +
+ "mEZP6xTGt6zMkdvq9uZwdp7PTR2nSvKidMcnTDZCbRQfLpsjVtrN222z1LI9jbbS" +
+ "Yde7dtk6DgycBMmW9OTcaTFMfB8NtuYiTvVscobNGKRo6Wb4zDniY3e2mSmsjJQJ" +
+ "4EQ2vqQkRVGM8qYh3v0q2rPteqmFz2k1KQNMUOrLk2hBsGYs7NRoFGZ5rKHrKVFW" +
+ "Up3oJ4GS+bM2pvedTh2+z59qcemFaIM+lnMKY/XLM2leOJtTiZEVfbeon1+vwZOB" +
+ "hQgviaCMyAjYhRqyLmywXa6sJtAjY0ekbBVdHErI5ucHJgQ4jsRIimS+VhHvLz2P" +
+ "o9PoKp4fLy9uDHljDyKyG7cVtjlTlwPJ2wD56Xk02ttipijbGTs6TRK6R26babRK" +
+ "3K25I5U6OTolR0fLt24J9HaeVeHM4svhpuNNlYp5eDRNLKaWrGQiqmZbs0Tlo8Bp" +
+ "tppto4ThGn0cT6OnAeX+R8K25e3KOzaUpVttKUnlUhZWFTasOmERzfpmb6O47lt3" +
+ "Whna6EmiB7nAKT0eA/sERTa2uhyCini85zJ/DpU/B/+m3fJ/wH9Y9AkiPcclOX2Y" +
+ "n/g2elK/4y2ikYKwUzMZcuJVFe362bbaGluwykCmE8ysyzLFrmryuvj1Xz/S9/AA" +
+ "AF15cn4TbNPgsRs7cOFV/dG3g0p+7T5dL60/tdkgpyzk/3v8imkP80cFiv6KUxX9" +
+ "LGz9Vfy9n0NI+HBMGjFPGRfU20/oK/wT+7+V6CiR4ktktkvJP6O5j9KtpUGP1T4k" +
+ "kf+7GZWMJ/d/NKP8Ksq/q7hRyh+q/vOT/iN1f/NGJt/f9yWf5H9z+wKWITjGZjP2" +
+ "GmInSyTkRo2qVStSThT8HxX8MximI2dIqo04dIbQvxbWO2MVGkVTxHSI0R/h0eev" +
+ "LpWSyT2p9GP8P1y2m2c1q8325VIvE485eDI9AlOHKGBw4JhDiv5HUmnSO00Q40Je" +
+ "rcSSy5GXLGVUp2n0eDpFE6T4Y/r+er5YqJai+n4MphhmLSwD8QKQoGSRJ/o+6YvW" +
+ "aSVmfLS2qpnMM9WmHTRzMJxy0qHVaVETOYZ1ScEwOJ9g0NPAmjGk0rStNtsbQ5MG" +
+ "2BivKYNI9Fvbiqv8b+qqdv6PL9GI+O0lco7fpI4cEi8XLlw2kn5YnpWFTwgTabky" +
+ "liH7Ax+fy+323r5BIEhez17ddXMxVVQFUOdlCkEiQJigNAR9MV9a+Xx16vk7dzgH" +
+ "lDoGcCQ74xnfnz3rzzvXO4dlaYNK5NOUkh4fqSweoaJidvSK2eXFtkPPEfCh9Gkm" +
+ "XRyk9PzmZVzMqjDGleXlHlJE5ZMZSrZt/Vu5MHK/2HZNP2ivmSPQ/6qw/Hu3mR+n" +
+ "CmQgJH8fUlH/NlVMZjKHCWNsfyX3+p/53h/1MZA1UFrEx/2ManCu/BiYs5NIwfyV" +
+ "9hsjSn/V9nhY5PhjI7Ullm1JVllLfJtZNrGVSVH0hBWtW0eniUKWCpQplb1tteSG" +
+ "W0qTK02llaKdJIwk+rhGI29xHeDU7WszdtKrDKsoRP1Geg1MyhiYmBApJgHZ+sFf" +
+ "yDkcXDK/ydg+VJSP5sSdLVsKtSHjkwmzZhbIuvbvTXnHN1BiMYylZk7k/LKCYDYH" +
+ "X13JBDq8YZURZWoixpkaIyJuN7+dTwztXv57+nThHDDHBkYhVKpPSK0UGMMYTbsK" +
+ "VqDzx4I8qh0+G90AAla9VKVWaW0s7IZmGGCsGJhhSnC6DSPacu07EkRI5jWcLUjw" +
+ "/d2+p5LbfLw/ft4tspaVjDMYWjCpQqLBUhDSjgT+k9T8hNA7KVTkkn2GnDBRs4gq" +
+ "HgJXCnB8vaJ5e0/l/WLbZbFLFUpVRJECIT7iSv69sHJkTAi1mJkzExpMsxUqaYaU" +
+ "miWTRpNtI5UcttEXFPVdQaiwV/wNOFTaFSaL45y+41lrMYcvR0CijhslcNI/0x5X" +
+ "Yo0kXy7cq/RMSNtOU8qn+U1IPp+mXMmZbhJ0PZ5BISOpVSySG3jR/pLeKmXKxwbv" +
+ "w08D+N6WzGTJkSeyhTax4Km0mkp+2qVI0rFU2n8SvhDnkx7T+ba3mQuaiT5PhZj/" +
+ "BPIPTKvh1If7V05H+Z/nVSKcn+SK/2dX9F/Uvj+tYktW6Y9SJs9U8H2+uGZNORKn" +
+ "w6+2/Cqtq2vpfTblsuXEmsGzllqypVLFYDCVIQ9J3NuEfwGnxGlfyMeYjQf6WRG+" +
+ "x+JPz9kl/QyP6sMY0xZf5xV/I/U5f+p6o7h0sRjp934eHA9K9T3ZcSNLGkno0CQk" +
+ "YVp8JT0vFuFfq7kInwp9TyTE+k95/GX6qj9zhqP1y390T8OTsAJxZv0pBjS09ndu" +
+ "/queeVeI9GunPNTJtIrybqni5552x0a9g4GMHRBAAhHYgg4OGOTGIx0md24x2cp1" +
+ "ws56tnBhyqW7W22GlI2+w+z4NJHpLENNvsSMmLVcLMVj9GSBNLTXNtfwxi4U4bKw" +
+ "MhtuWyY+2mWYp5ttKqpA6paj8vKRxEawvhY0NIfgfiH9z+yajt60n97P+eZ9rS0x" +
+ "W0+VV/0sP8sevxzxZkupTbH8sPl/D6tcrSqnhp05PlHCOok2cFqHB+kTvuQ+xWMY" +
+ "xjkg4SNqTWUt19K/fat9iuFW5XN8JyNMVvGVP7r82PqvjL7jtfwP8yYr+QqSfsJ/" +
+ "jvt2zClUVYzM/e1n9tRN7Zd5buwMVVKqRKoVR2YxVWrU0/hHBU0sekk5eWPDSfeZ" +
+ "dQOaqRT0r4rFtLHeZaEkiKs8vN+vcjw/CGRlxRVkq1SPDFexPt0FOvhPFuY6Tbab" +
+ "lve6MycQ4l0tzYO2m5eZhoWcZUOk7NTTLtwdLblt25Jy6YaTDpixoPYKKYtMSx4V" +
+ "/I+Nn+ZdTDBNJM+LfQOkttkfVOk7faSBw+y2ei5ZhaxgYP9nmnNi2FstI8cfri5j" +
+ "4bHPFumZbbbybHMpMg5WROgw+Q29S8lhiiGULhSjSdtjNpsyIlsyhYqxbcJrYw+o" +
+ "k8CH6HRjSvDSMVFQqqko0xiIclqrGrAw0hpi/ouV/i2foVy/oK1INsn/LKzEnZt0" +
+ "0/TfY/WWsZMkwqJFKpVKpSGE5kJD5cnT5T6BPRj2k+rIH3fSdvy2kEdD9W0T4tsh" +
+ "+40PbR+xRPpJN8azaR9OJJrfGcJHGHBw2OTGMmHPduPz+ryTH3/TGTMY0bTThPa/" +
+ "xbhjyxUTFkr8JJwYmivf1xmZJq2ySlSoJPBIfK/rASBSF+cM/nZk213bMmBX5laT" +
+ "Tg0VqrbakxFiRzCeLg1rQx4xf2Vq/pUjo01d0k/Vy7frMy3JIUqSKj8lG44ZP1xk" +
+ "y5bcTEsHL9YMZLGF+0n1bjZ+MHj6OXau8pg6GVof9Cv/Y9BbWvn632UMYJoMElJr" +
+ "W1JQhbfu5MliIQxxyxlFWYJJSo/lsdkj/9Utg244/f72xHsUqlRVMGPuJWipOBhj" +
+ "qEkxqGNgop68j+4/mhRTtlWMEwwuUKKdDCxGGldP8X8NFUz85NW01rD7NpifMq2W" +
+ "o7dpQsUxivU9S0/zYuHDin8gytmwSEj4WYqVwrKqFn2kfvYWyx06X1X93T+Vj5iv" +
+ "X+C0fH6nAMNqMKFVXg8nuEYKKk2Rtat7V7zXsSJCUSSRT1tPuvGtNOFnGGB1Pnt/" +
+ "MW1VDT4EQ56UUWLFFBZqjHB69cXANNLJbE0k2zdlNHR0OU056txtowmLOO1WSsa6" +
+ "mpA1B7TlxdF+0uvItZVay3b0whrGdccXinUpEidgaTHSdubVUqqtqqabViKw14Em" +
+ "JmDeVXXLyvKySljtLGMq1t/wTEMgWhujLDJRJgxkJlQy5UMlB40srBFeLlq7bpq9" +
+ "ptq0rbSxohSrCmSRMyzLLLMSFMMqVksswFVkqTKplkqwklGCsCyqplQsWLGMZZmT" +
+ "JwN3COMLWLVtt2fFUij5Hs/SR03sfZ5nglZWZjJSqn822RTBpyxvWHlVKjTbGVtS" +
+ "KqskrbRpKaRWKlUqSk4VwY4cYMNTGkW1bk5Mk2jbg0RUmojT0wxxKQVYhbbLZbFB" +
+ "oqok2slvxSlrqul/g7aXHwxix/68Toof7qkpOaD4wC2yq1EwXZiapV6/hsyJvBiy" +
+ "EnDHppUrseSqqll+rGDc5R6WrvWH+G9by3kboLdJKq9H7sVW0OfMc6vWl01qZLMZ" +
+ "GXXa6QEItcit7KxXTeedbF5N5WV5LJkt1ZLKLEMplYlj+iTA1EdNMJwtIUTETRhJ" +
+ "/Shi7iTFIxhiMSWYFgxhilFclagZLPw+zk+h+o0bMSmKxOFfTOrm2TbWXbWV6uG2" +
+ "zX+jEamLH9lX+6Yr/YLxH1w5c28qRqX++P6v9czJ/Bpq0wP7uyQ7eB+Vf7n/N/A4" +
+ "I+n6Oyqaf8ybStl8Wgvg5aMWKcsqRmLCpH+JHY7+o/ZUcf8bQ0syoa0yWdpVOGka" +
+ "ZNpjvIUVJ+ZH6qhX3fZFanSyHdkYpGWGxtjGKcNMNKwlSpDgp8KdD2cj9bMv9zY2" +
+ "4SHDkmkf2xkDCf6LKQfCpoFaOJ9BoH5TDi2/9rCRhPqSKlR9EcmpFLro0rH4U5fo" +
+ "dOMs3lzLMZaKYNommiU6RuIh0nD/kT7lH58Cz8XLMuKhGo2V06T/Rhf9p9apP5P0" +
+ "/xq2rWqv1erT/PLMqx/K0O2Dg/csyqf8VH92myX+Z8BRTxbZHaYmgsP/J9QmCR+7" +
+ "y/0+qv0fCnyiPJSHCaH4SEiYfT7Hsxa06QsXGmMqTClIxIpRFUn8jGqv7oxG3iH0" +
+ "WUiCZpN8b6/n1+1fkq7ffeV5XQXGJARn3MyZKRCosJhcTJSYUEP9MYaSlQxKRSo4" +
+ "T/usWhVI0Ps/HwzGMyRhR1q2WLastVljMZmYxjw3K6VX+qMduROGGFymqf4nekcJ" +
+ "jClisYLIPl8mk0rZwHtB+viyyk+VPL1HuRApl/cZMDw+MZfZt7Tx7LCpLZS/LK6S" +
+ "W2SkqS0scvTSTnLcGk28PRKVpMSUr4PizlmNNE8YGrZq/51JSfi7Ts2T+5Tuf5cL" +
+ "UaX6LUnQaR5PlE+ZyTiUqVaOZTHx9XDIqqOjpwldJmO7TbfS5VtUwninQ/6Jhf1N" +
+ "p/3sSnS7Y/q9Btj4/60tF5xmT9MwRXPy8PM4fiKUOh/FVVREYiiQhAhEa3qu3nv2" +
+ "d7+q9S8O8rb0Bs06WlE0arExG4ZViJk4YG2Gl1NmRsyoMpaZV7PclFEkhkSN7T1+" +
+ "jx5uV62pGsk5ajBRIogIzWpucxals3vLLZmGWmKYUqcpZRpGE2OC4rasjHDE4E3a" +
+ "VkxkzLZJSckySoFD8JNDSmOGxNtM2uJgwFUYSjFFUqlFGExq2zQorAowoxy2rlV/" +
+ "wdJPWk8RjHBV2lsFjhYX+gysyZkxh0f3RhVg/4UcJ6TuScH1VPy29yH5DloLCqpU" +
+ "qInySSwxRKrl+50K0qqo24TykjydiqiUngn5KlPjr2zMmZmZlXDMt/QmnwPDD7q8" +
+ "JHcLH4WjVHYxiwsKx8JjVH90Yz02rRwptHkY4fT6Ksmn8HZHweLk7kPRGKpyh/eq" +
+ "bPRt8Jw9H0f9riJN29Ik05PjeYzM7a+qenD4QbH4OfJwfZMB9ytJtyhXEiMJiVNH" +
+ "cUPwV4H6o7H3fBXSflFn+Sn3kdp9U/HhSqjtSP/YlJJT9D1KWFG1D7Gn2HR9iD60" +
+ "4ZhiiTUjaPujNmxMUhRQMUxVYpiKFSJkVJXJrRuOpD+nmZJ/LmR07HlWk3VZMyK/" +
+ "m/D6vP7Ztqy2BISPUCQkdu9bzXnqeuj9E79X9hjUSttuMzBuJcLcpmDmXFzLmW0a" +
+ "Nra22stGjRo3xd71/j7CrbuqNuCV+Pn7RiTiM9JJIEgAeHxJdEfM80MFtPnBMxsr" +
+ "AgcxJUHBQgNneHDhd46b0pvHTJccMlKYUIk+5RcOXp7Ryfl0Nnc0n5iTGzpiTkxo" +
+ "FCf/H09mHBodkFJS2Z2cs427TqZEjg2XKgms0uWP9EwnyRTKCH4BWvY2oHETm/gw" +
+ "zIiIJE4SQGl2Ck88xdoqynSIaAsnIZAHItqcqEkc5usa5371h9/ghm6wvaD++Ev8" +
+ "O9O1aUzFPwkL4FbXvIfOvp571rp7GmKUGlYdK/70n+m237Stjy2V0w2w6YfZFPh9" +
+ "Hg06PAx0ppwTTGGySp/LydK8/p8z7d2Zmabu+zmXHZJtVDh9axBEEQczHKc39VaV" +
+ "T4x8bLS/TE/iYRwjwdM0rY+rUH8HTgw/pHI4Jporpt5nzbKmLJH82WyJNK5mnJ4D" +
+ "eABtlKSyi0srSV+jHaGkaf0oL5Xqr49f2cO3KPHdVlOlxT2Lbotv5H7Pq5pfnuZz" +
+ "/dmMfvq7Hqnxosaf5U5j9bbH6/WKPbcO7bK+EPh5IfmR4cj2lOqW0RIh+qOFlpQ4" +
+ "QPJP14ba1ay0a5WMszhMV5f9J609T6PlI9nB/Z+ltJpZfELlyFYfUpiTUrTJy1Ra" +
+ "mlkyy1arGFKjH1SmRptiNFKlHlOxTypVNuJAVJ4ErlpVbYWdnGukOx25SUDvhmkJ" +
+ "SKvuGWZYZZExglQqFSfb9gSRHe26lLJVfZjBJ/oiPHr3rq/pJEQkegQkCw6m6pxf" +
+ "vmXePsQvn9xLQI6KSRQIAG3bEGfh7NUKcK53UPq8OHUkcacJyvTMdOk6aVZtbeXD" +
+ "JrDQwQRBjBWHXQ31cy5mBlRZ6IYlcEmEU04Y4cGEw43ZacPubU5VthDlicPuw5tq" +
+ "27YxgrGOOrbLbUDHk2YqK5Y+iuHLp5DT4+JNH2/Z8HtbEa9pifS5hRZbRbRJLmJk" +
+ "tJK4MBO+IfGu7xq/hYNWnTpGnT2zPJAB7pIdsgDnjwae+mHsZcy3KXSR8U8MMHx3" +
+ "67L6cwtaVLbW0oONWeD2UwAhlkYAd9PyGVl2b951gXi5PVcb8QkPLMTq0gBWTz4K" +
+ "b75X2bmGXKOkz4+PNebXzvhX0lvnW92FLBBb7Y5NtIVito4Viq+U3q3G5KxpPY05" +
+ "fL8uNtqqVHwkaYHg7TTw5Y28GPVWo6bO3c2dGOmk5G3CG38p48S6HjlsNF2N5UG3" +
+ "rhMMNpgtTb7iCOst5UUraeXaRgqdGFNmIlmjFNDbT2JT0+HDbb6fWUsvKq43XF85" +
+ "mSaaDRzytq8wj6ofRCj5SpbawpLGJ941qyZFjLKFSaYxiaJLLaQhJJAkhvLrtqoC" +
+ "ttttq21FiQaI9vwrDxA5e0qy21HycDgaRwSPs8Q8LbbbaEEqJAA+29r5V87e9va2" +
+ "19Eb4CSiIivrXz3xYwYxlsMdqma+mXMuMrKWCsMVUFYvUsRaVppRgxw1JXOMb3mL" +
+ "yozTBtdtNjDDApBMAoSHCRowphkwjDBucNtDaRKMMYKomhyNY0ck0nxv7WzTGIgK" +
+ "aWfqbVi/VMlGxYTH9BkkfLWrfruDbbbdSUqaY2JUcG9pYR+O0/p+5jB/JZUMKxWI" +
+ "qpUVIKVEVQxZMcum5tZISSZskAD4W+H59LNJklKlfGlrqabJQptdXKqVKsqlUqOA" +
+ "aRSiVP6PeBAlSQJCTLBC22236NPq6ejHcSd2rZE7YfVPKyfUT4b7fr8WyefXfb6N" +
+ "MyWzwG2mEp4bur6pan33d8BXGubpOl5ed4jcsltUaNEoRiM8GkA0MS2li5l+V2vw" +
+ "4XIm74fHps8HR/jS/q+HQ8pSv0K84J8+flIn1SJ6+UsU+C0c9Aop1HStKsYGMDKx" +
+ "VVbVX8PI4Q6YTdhxS2Nirbpbf9Rt6er8OQx00quK/pxvKLQgCMAPno3LmmAsuG5c" +
+ "3ARCCJ9nkfLTE07UWQ+xE4dfZtP3VPs7YjtMjphyP+UhGz0R9z8FYVLWVdq/Htqr" +
+ "8qLbe2t9wr6vumCB9f/1f4sdo/2GBgKKf9A+qrofyy5yaOmGMYh/zf7gpXixGz8L" +
+ "+5/xfK/0YL8tv7GR+gqTsvxJ9Ht9VkkLIxYsKqMPDNH2Sv8q0SrVcBPlIf3fwNJ/" +
+ "tUtJJygp7lJ+qPdeOJP8PnGm0/cbR/Cu1iq/DodIqyKlElfh9ROO50qsVPQ/KWck" +
+ "mmleZE/KwjD935YnpOIH6pJJkrJ2Ojg/KkmBVi22RUNKkxWowxU7iMnlaqlgNpJ8" +
+ "pj7iYnkVUWTvh03PCvJ5UwWAO+/U+8rwtQ/m/pYcu7dSLkkqlUIKb4AdxPxWQX6d" +
+ "K8cR/srlNn5QkJHSlU6YlWNKsqyjRa1ZMrLLMYBj6NRJ0TlhNqV6ntwbHC0tcGIM" +
+ "SikWx6q/J86IAjICaXDPuClJRcO8kmItQriaGCUlFzXDGSLiFQTqmfrNOzl03Ole" +
+ "IMWrYKKbCrtOGYDoM00bf+1W6hV/xyoRH9H1kIxEKqEqwhOh0fbf3XzNt1ZIaQ/Z" +
+ "Tcp8CVPCpx/rV4xb9LJRO2FfAhRPU75RFAhEnDwrLCvgVkHFpWj6sNJo0rweXtOp" +
+ "yT+x5Tl0wTwqLD3pVXSJ+5+RtPl5TqEhVD+w7piTk2lwGKf1bfq5W39Vr75V8q/9" +
+ "/wWTBGo2g0WqS2itFWqKtY1WosWrRVYrUaxWiqxasa220FtqxFVbQaNUaotGxFsb" +
+ "axtbSaLbG2tYrRrVGoitRVEa2iitFFbRqi2xWxVtitrFaqNrRbGrVFWsVtrFqoBZ" +
+ "kqzAMyJmCrMpSsxarGraooi2o1WxaqxYkirFkFgSQP+X9/8v5ZP6G0/tc4bk13k3" +
+ "JrvDkTm8Quc3Qw/xo2mMqVokQel047gDu6KK9vXSItvS8kwSVIXbC5SCkWVJiFZg" +
+ "hUtoVKxalLbdMKjlWErKlStSeOmTUeNgu7o2dzriub3bxvGBNRCbu64Y4kT37cPB" +
+ "IVhFJFkUhs5l65OBc/xyiJn9pvMTp04GA55Yats2p3krH/20yE1IIqJ4GE72HU7u" +
+ "YYM8Ubq87w0emUBOg4KzHejc5vnlBVjwWj2JDp78uxUmIZjGSSXv2+C+Vk2buCu5" +
+ "waLzxxtCqTeYuYkzGRiwWkxWMbuiWxbDiVZW3Hey4sc9aW7DLDfXXvBO8UcMOrE6" +
+ "ZHKIJJkSMuZM51ZhDeUpVpMillJZpvURzSaUu8TxmWyQ4sN1HLGJuVCyo1rGYzbr" +
+ "G6nipyrXO7Z7vS43pcWFeb5bU4saY8yVux4640jFLmIWjVTaVtUu6xHFmprC7jGK" +
+ "0oY3kblGmTI1k3ubEQo4klMaSc87iGrnc67p0dLLSaMM8WbgykoqxHuhUIiSVgcN" +
+ "s4ReusZ2W9pwcOl7l6OFfAh11ZNRZnWh576MW2q1bFKxVnLe+3xhp5sO/llybe2u" +
+ "6vZwQiJ63JuaKKNCGBLFFoua715rvMY1dJZyLBbrOZ5XV5qeIKQWC7JDCltJRnjc" +
+ "MWVKILJ3QpiLVSjwUMweGw6NEzJrF1i1Fr4tLGZjFiWmbSyagjBTJHzlDjD4ecQ6" +
+ "82snBkEBIfIt4B0kgWTyUekmpzCiQ5yh1wM4G8SeOG+NNwKdjDrIdZ3nnxc5azJS" +
+ "gWIWMigBFTrbdrcC3d1FulyStyYtcJGJReZlFmTVNTS4yPGPG6m4mU4UpUnHfhrr" +
+ "wWZWNdRvxxpo63XA16Gk8d9EE0Xhw0MmKiDFJNWV25mGqnfPHiSZDmy0tLVotC9m" +
+ "E3s7B8efHiO2NasFiqCyLUrMVTLjOkidBUijvl11NMuFdid4Pnq556pj0CZeWiKi" +
+ "RE4EFhe7nIB0MWSoVFVEKlEgdTKChKRIxmMBSnnMiG9dA90RI90p4oXnQyoVOzwO" +
+ "XmFFm7kU1EJfOeLl7pwCnXR2AkONIgVXEixG8HO3zk2uUXZ4KDRPGOMQcFigu6MB" +
+ "AynwUr5tMSp4Zm3S97lkYwrKbmYdS7N0thbaW8cMcuPGm2iNlkxeVSsrDdwwNvjm" +
+ "OMsQWV0bYCzEe/EuduWNOYe4t4neTnLWQ7yaysyt7Nq5jW3w84tro7rFbxrm3ROc" +
+ "yItTKia31oMVVVzMmKibuKkZYOb3Z3UnBYN1JxUtiasqwcnVw0qRd45sTvWJOrIZ" +
+ "cp3W8pbyud6rMm8TWW/KOlHvrjW2vNJMEmW6wk8+aSBDqHZe3wLGK4+WYxQYao+a" +
+ "FMLu3Zia4DJiYsHLW8vWVSaquNQVVUQ7dSGGWs7cgmMXdseVDzwzwgEvmRsCB5fB" +
+ "QVQXq0Zj5wJrB6UFaTgUTjAXmHe6AjIdsFIpFIYZ5zPJpMFN97axjrOebjescSIe" +
+ "OlxIjJYuYzMCWWMVihKxiTtW+9a1edTMrhldTnO8F0E1nhOr4yVONeDjTro3vk4e" +
+ "VFXbfM/6MUFZJlNZZ+RMiADvEl+AAvwQB3/wP//fyr////pgQg94DwHe94+e89AU" +
+ "H2NBDuwvr6eX3b72JJyiefd58+Vd8GQIqkiC6wJSbBm5uQAAAKq7u5JKoSaaqQKQ" +
+ "l21VBRUlVJEKkqkqklKlVSiCooVFg+BcYAA+7T5I+gBL4hzdzp5AMgOtGq4ADa13" +
+ "bYpbuB97AXvu0OR1329gffKPus6EiQIGhBMJE8hNE02U9Q0NDQGhp+qYgkgCIklT" +
+ "0IaaZADQAAAAAAaeiIiUn6JqJgaI2hNGAA0Bk9QAmgk9VJJEyZJ6npNlNNBoZoTC" +
+ "NDaTRkD1BiBEiAiKRKekw0mIBpo0aMTQZMjI00YIkiARpomQhkE1EfqnqNA02oAA" +
+ "Bo53OJuRwkNrkuMUJOhNQiCKMocWFChEEQrUGVTGgg0sMW2bqgkJBgahUxttdb03" +
+ "1poJEQAhSSeqS4RwucrgpgGDRopQUVIkNExkDQSGATIZGCmTCKIkUjZJZESZSaMx" +
+ "BmaRQQFlNGJKRIQihnBz6Pqb1dXa7ucrjgmcuCGgbYNpgK8AKEFIr8o4gKQFwMGj" +
+ "vveHmstx7CuEmmgYnRQhB3iu/mzlcrWdLQASIoDpmY0D1WpCxNppg6VoTStS8btY" +
+ "ssBpPUaC7k8vu+aXzwycRqJj4XNyCaEL8W6PxaWpQ2NtCG2kMTE6TpoDCHUaLpoa" +
+ "W1Dm0upHlZaDritXaTgmhQQNtsojjagMpMIthjtQ0xZUttPCv+T0I+nD/mkZQ8ZD" +
+ "zjB4ZdHI+/AJQaEvDFvWEt9eecKhyJv73XRVYff5934ryHcPuxRvk/OTX8AQBAXI" +
+ "YIooDEBEg2yTSZqtrWliJNFtWstQg22mzaljNU2WpmzNipNtVbdVtq9Gq1bKqplA" +
+ "FijAQQWAEEEFi/vVAFgAq0IILEWRBPH+qAgv4VAEvYexHwNTvPzKQKnq9pQt7ith" +
+ "SFQE3KoT92BcQS5rF1INoi0BQOEBIieUUBAgVIw0feYQlJIxilA5IyloT2iIDEdI" +
+ "qoG946hlU0gdFhujgx6GOFTZJSSpDwQuVTcllZOqH4ZyZC0BlmkC4cCwsYRI2uGk" +
+ "ouXauJiysgW2UY5iFJOlmzOCGH4iZGZYXJxDLdJ5I+okgLjdFcGyxGcTuXzC2QNL" +
+ "MmgZDlHJwpxaWwzw0jjTdXZYSK7Qr5tMVE1KLGpqexpkXBFICAcNsKQUZzMFIgVm" +
+ "knN2YKiGSuBbRzatIQgm+KaQZAS8uDHTnWrudlkM5iRrvStxKFwKKVWkrxS0Gc5b" +
+ "46jB4beDQDNZhiAYwuRpE1mlIxJctXj6hyy5cxgiVA40kzeEpxsaUJjkvd5gjFhh" +
+ "XMuSAhJw0YIxgxczl8mAJ0klHCWrkkchWY7a9j4Nu7SQ0sThJQxDvI40wEU4mYE8" +
+ "5vWPNKDdBTZq8WAka53apCRSSNpCqgUBIEqkKIRCCLDdFlqlxAohLqDOd5oy51ju" +
+ "LwUEYBLpqiqzTi6CEFgheJY6jhnYUa1qiwwzdN4qAkZJTTMxtG2YbaURoLQYUs8E" +
+ "LNMt81O4S4MhIrqC8Y2RJqiBikskgX1Ls0fwJ4OCaGBlINkgmKE6hXECwCkyUOuw" +
+ "dQqIBJJNGXYw2m6AgaYHhuJJJCxy4jkmrBKJZbYWNXa3ElQyVBKsZAmKeWFLmqL/" +
+ "aqWV6VDzrw/jTfYq6/bw8pT5+4NHZ5DpJIDo3mpeN6SJGMka7izeeoko43C2Epfp" +
+ "g4TpoXY3puxOTFNpHLlJkTMJ/cig8exbJ4wXM1wqI/cnSPX4zRN3hNeGDNBlDPCc" +
+ "RjKdSlEXMcLYVo5zrESzdhn5oQgF7Vy7d/xXre3+0a929Re2659oOIpGmnWprpit" +
+ "uWOpOh/bvzdU3UXeNVH5d/XiT9umGfzpTP5/9FU8nQ2l+WGPykDtzW8+x9V9eEZL" +
+ "xXZrntkuw70ekWyrvMhHrucZm9KfynpN9pZTE+0MTHTPffeZ6Ne/Z488WceGj41e" +
+ "xPJ4/IOaZmtZu7us13BA3KgkZGgZhXkEnmKKSCdMrtunVFC2hCzVzNmb4pa9MrfR" +
+ "5L368R+A5cTbzcuFIBItqqa9ZJWrv440HQdtONRRNMqQLRvCoXjJsHsNjp3oqjTU" +
+ "nuUk+tSSqY06SBeONJjOPZlitBWP2Y/a4myrWhja8Y48ITl3w70cPAUvOLu3N73x" +
+ "oNCWxRXKJMZBOcsIiYNsbb6IqgA1MYWCyzFLX46tyDIsrZmBdV11KBpmbcG2jSmW" +
+ "klZqbJwQmXHcfS+kqBbvzhoFYwQVevOaUWDtMkiQ4OL3wfiGhdLDJF2oWKWCGRKi" +
+ "hQlR9vBWB8QPr7h+/XlnwgBkZ6IHoruquvYHPb3d2c9Vu1qFs4DoTfPOZy5eaTfG" +
+ "EbeW2TVkZWcjbLyy5fXm3YKb4ufb/wb81JfR8qaTCaWBkN5OAgOisFhTR2+eXXkc" +
+ "3pGtx5da9R7O60uzr4vD1ctQeFni4kxCBF61C2yR4amYWm6emxGhMsrBSNygglLJ" +
+ "ju41nhlzS1oTvHIJ3iKAtp6aslyLp2Xz4u2mDjOOFZxL3c45xPx8u1djCMsttzHL" +
+ "vlwW7OA48Dxvhzz0vTvl3lSnfgXC1bTvQOQPN9u0GMqUZDiUu+0SqNTncw4JrOJd" +
+ "C5ae2h229JhHJcsamPYtGY2nqSYKK7ZkCWcOaeo6wnA5uE6UmOicOKSlx01thtO2" +
+ "U5RWOvTw6+Fysmd8Kd83F6zpjTvnstmbnM78jhR6FmzlfenLa9NuMaGgsxrWUpGv" +
+ "xczOq5bXKtNQPDHEHk5QkHLA7Ei3HDC6vuGTk25mxRUpKKkrlGpasCNz44/k+3tD" +
+ "wDe5wjgdDHrPy8gsg2W5zWGfiMkjEJmgQcnm7BcPMOgmPy6pIvZOyXeDh5m5rpxh" +
+ "u2O72A7GexroWfc4Pg/Hs7+FoQ8r9jIQtaxoXODg+TR8z0PRzeAOoeeRuMi7hdOS" +
+ "81h4GqNyguIRmNhQKnFMJWaZLQzV+urXgFRWKiY8ZIxJo6GynpoUkgAnNj57hPkk" +
+ "CiIEgKoYhUZF/EFX75QYsoLiXAfylQHsFzFbiMlVTCoUCVRu0SOlVOuaqN2WvP1c" +
+ "77nObXJxriiMINSQogBTFkqqmEoC2VXvQXneIkUdJiMdJihT4fO2rWLdy1y9kXJW" +
+ "wjNZBRy2pfGS/8Lwdy9Cmq8fh9iYjz/X4mvTlzXpX65f5J38LH6DNGfi2efIIvIZ" +
+ "10n5NE1kN59vlWXnOfKiq7ER8fWpiWWAkhS+t+LrfbL2atTnX7FlB6UvlXavrdWX" +
+ "HX4WKTvtWbyZlXdbue7pYypbJ5UnERU0llbaJ5ZvPfC98s8bTLO12ZXNItLa866P" +
+ "2611pp3tR1vrwgjnvvzhWTmUw9oSQv1dZnBnZnRGfK8QzR5ObplZCCc5ujfT9R6v" +
+ "JL1s8iD5lDfnIokmLJsX6RI1PafLCcKs/Tg4AkOMBDBIQit/raxnAKMUBAZBr9yq" +
+ "s1/QXIbVpWgIAgmEILgYvh0yWOUmv3jAUfKBfkdBqK0fOeYVyHCSZHQ6VMFk2HIr" +
+ "sD0RNdD7WUaPgRyIZcjoUkiB+YRfCWIeIcpVQPm6Q1BfgQaJofhQUEMgZOGDeJA9" +
+ "IPcCCRV4AUgAYPdw6IdQASI4FnXKQHmcg2w6ALxIMpE3ZaAxxeCoTJ0HTJEbxQOz" +
+ "vOl4O5xZ05zeiMkPQD3Jg7lQsvJS7KCkLTfpQmQlEPQs76EiGVGr9s8U7Q7yKUh6" +
+ "XQJAgcEPOW6rmfKxk0kYB6NnWeroUq8BmBHowHKGqH4gESifAlozD0+eQ0j4kT02" +
+ "LZ4WaPDW2w+IYtHZeImTcCWCRQLWBxyHfijRhjIpsF6jmAN08BB4SheIvMCQv3O9" +
+ "IBxhPz0SkvgHt3FCKbZGAMBDgJArIhI9BSIY8gc5jHmj+E+p9S/UAPryP36WOYnx" +
+ "34Ii7m5qkMm9mPRFNHfnTkYoj0GQr4OOeHrNeCzAYlhhc5B9Dx8dhsYr6Q8qgkWn" +
+ "ZzILYoTDz4BIKReoEWCYEF+GtaVpIuJ9O+zUiaxtJE68pepgbqZg0bMuPgcmlPnY" +
+ "g6RPUYjuCge0Uj8+CFpsWlfLghvvAgHOAUAaHOuBCwTEJ1iNdj0An37bTZlzLF7r" +
+ "i8nzHeJWS8Y6zJjrLCcqH4JHhRMidIZSkw8EIub4C6LDowDzJO0NYq0kILgV0Xug" +
+ "kCCZveXnig8iigRgdCLAPCpCoaA8AMX+M94icjIEiHwoKCEQhEX3HtmPnzHMo4T8" +
+ "NPcs2WZJYUlDwPX7E5AKIDuKSJ5wxZlKKsPwLwU8KDrAPQyZ+Jla9ISK/IHBC8hL" +
+ "AJi8KMiPQXfpqpK+sINQSQJGgioXVwYxvvIhV0sJEIsZpIely4rWA1B7CQPyZJLQ" +
+ "OahcYOxhvMPiDui49WezMfDbrdT686aJ+EQ2kJErap94yg2ISh+eqqB0QQPpBERM" +
+ "BBR+wkAAH2CA+KJEV+wAFcxBkBfIpkCZ2gULsgCIciHoB1hJQ9gIEguUgoVulKgg" +
+ "ntUcGAJr0oJHR6UMgdYB4JHEEfADtXgvEGyLL8+ama2oQMkPuYKfH8tziwAEEz7M" +
+ "qXYXsAoQHsjwQYik4/RunvQcfeEFs6nFYUjPo+WPguYCD9BY7j7j/PYGCWLpEvWu" +
+ "7/IZokD080Zk5wSD1AVqPRbsHEFBSr0sXtjlDoV5UI6IgNFeEvHffv4n0LiGvfQ5" +
+ "KFaH4Gqpz0Mxh9UDG/SNxy6H6DRQBcV+sBle8GiGx3QAXgqTMlrqSTAkr2SSQEFV" +
+ "9QEYOxHymNgdkGXw8Y+fRsHrgXw0GR09kMpCq5MlDiZDzgGOLxJuHDgRqQOet5Kp" +
+ "ezggkS1jSF0MO0JZ2yqQKSLF7UIgkEZK5OM/HYXOHJeOW9vBr8HHbkuWPxox6fms" +
+ "GumVzMqBnqecSQsuBDogwNRVQM9eBnKY0b2gZRHesEG2rOE4hkmdWB6V5y1KgqA1" +
+ "BGhikPMUQmrL7akye+mkvllmGuOkpMekkiTCSRACmrhLIlulAF9N5rthlpQ/XQkp" +
+ "01zssYOxeeIYRSTWbG2KBe2SOKBXQ5DU55aOtIvBbCk+zYig+CBkc6wH3bQOiaPv" +
+ "iscLEZjILNSSmX9OdgQXgna+HtgT0K4DwhmvgWOYSV0NSQuh8OHmg/ExtAoX4Pob" +
+ "q+dVHoXJ7hVNiGlVA2bGEGEH1bRIRBDhCQDs2oQtWIbppQHsVDJEQ2qoEALIiIJh" +
+ "iA5Ibr489zs18KLdIk2wVcpFRBx6+tiaCCj5EMxEzMCxQyTxJ8gAo5ZcS4gmZqKG" +
+ "0IlJiAbs+AEAgERPIieEQN50HzB2KnFiLFTJR7Q0qNQ4QXyCtKqBvJY82LSiEDtD" +
+ "SMDyDTVAlMx1KR0pMIRUiJ7YF7xSGDGU8MEIMgEjhWgojVGuXwHA5gtwUckHgZqo" +
+ "ezI2FDLsfUAQ3ZjoWaTPcjarhqjpVVrhZIQ6SsgnCohVS0itMJYhS0GK7o0K+ky5" +
+ "Y7gH3tCGO3xVQLLkMHlUMsfgQTLECRQxOLscliplNO4omhGOIJICZNgKF+kPDnyh" +
+ "3ErwNoatDOLWiFE0bhwyOBJEYDfGHjaG8xFtMBoWYA6HNgFycuim5Q7p2qoGrMrZ" +
+ "iV9I6DYoCVwCNjaBmh9VIACEQL8wi1kyAWKD09rwynBSL7BDbiUwABZHykpFUzkw" +
+ "tIaZSwCn04GkNoQOlasfSOXAYa64AHCJyMVG81eg8guTY5JtM+Empxh2Tu34PTsv" +
+ "KYzszJQ7oZY4pJ7Ci6JrOjEozq8F0gbgliwihrt8mJA2tda3aqkAfanxBmq2ZHU5" +
+ "0MvBycGZje43sNn5CYiGYNwJBIRNj/EqmR34YYffKj41OKr74Ihj1OnAC82B5rJS" +
+ "xuPCk5SnOICrQbAWFCMDZEMllsNkyUZkhMzrWJAiQm+4YC0K62MK0mlrmIc8DWIE" +
+ "FjI4sXzhL8vpkYEZwSigrGArDcBGj0gGFAr4FqGFQ1SOjTvH0TulJ1XWHAIDBQFU" +
+ "2BL7SBXa+99dSAvxCgIPnOIVhPMmTqqgYRFDUUEsUuxDfjmwMpaAek0+O9i+KyRp" +
+ "AG8DGE3qEdlsT9H5BPmUugch5YLMiAwTAkdnj7Y3zvRe4V3q41uohGNQNXT1Czcw" +
+ "ZOHoCYis+EOsTzziYOV5ZAwqoHrl2ATKFHnpRssDzmLdSlJDg7CCwocglqhuE+Eo" +
+ "jpsHOFogASPtXBwKZ802h3flM1s1tZA8sM4cPDnAT6uS6umbSt9nww6rDoI6wdYP" +
+ "ABwCkD4MpyWUDjtRIBzdU79HbBiX3vcZZGYTeQOlZsLH/hj78oFxFCAR3XQLAaGA" +
+ "dDiPltBD5eyxp0sa6DUCQ9yB3omnTqYzNOQ7dGkZocqlwqH9pIRCGyUGWBqQyCxy" +
+ "ehq7n/X63fbu3lvZivHbt2xc3MNMke2l6Uc4OiBRsMViTMcmSUZzTiouB0cMzMDc" +
+ "MhAn5DyXqlkdoH6TOX/ia/RnX2fHg6KQTF18xSwHCgLERnIs7MqnDBCuu5uA3wgA" +
+ "RixX8J05hR8PDApxlQIJmGtpRVjPTQ4WhDIBRyoZ5o1kdEjBho15A6uhLHeFCwXL" +
+ "+9soCWWtfZsFJSQSLh/i4cADpq1VAz4GFTiJjhUbKosgl7B751ekmAW8qEBkjrpJ" +
+ "Tsj2D0AkIBD0X4qoEMX0AA0zQzao5o5TTzd5LNDKrnPfRfO1p44OgI4xIzjnvqR2" +
+ "Kz5Gwg+DJUL4dAjsyge+pYSePvEmKovgUXXilLjBfO4fT3oTYGwHVC0J2gKaO2qo" +
+ "GfZ3ymu7AqTWofKKHc998pr01xD2hKFgCFCO1eIWDjYeGgvGgWPaFTjzJlNzf2GX" +
+ "XyGuBywpbCI9aM6UO+tOtaQSqpWu2BesY5kXgwTFHTUPCg+y8oeXVwQ7yjsYrMak" +
+ "XS4XXDAJlUBAhUGk7oKAYdKTLFPcGom1CBxTjSRRsoYbfcOs9iE2BKVx8w4aN9z7" +
+ "7xds1BTpEnKyEY4TEIk3XeTS9hcaRANIX4k22qCDj84dwRJjo5YkxitJJAO9xXTk" +
+ "OFA/MS7JYZDxNviHhoYrl0bDxFvhTQwSQimhAnQFiYoaaHrMgkYrCOGBtDa5Bmne" +
+ "OFKwdG8DmOpCyvhqGYNRcB69KAlJSFA5hCUHKDE4GFcRwyRmEbfPPpveJJIDaQgw" +
+ "rWJ/P78yCMO9svE7GZpvnPSWaCtoEgL2jLabbxBVKIsbSY3YtJJ+NjNh8b8AilDw" +
+ "UPusGoZAu82EYImSRSk5GnwVIKWpSvFeBQnOAdAMuTV9DgEQgQgvrro7JHSHZZfM" +
+ "JCKmTtQFOCceAYcT265PCAg2SE+XhMkKlPgHB9+HTOoLI8s4BJuk9F7wqDCjRw6y" +
+ "D8yVeukRZ7qrFZYrAMMmhmgFDKEdZztkqFY4HuEkfuhz9pTsXzFtqqB5Tv5gsZ8h" +
+ "mh8x8wAfZSHNyDX0vZDTySL94fOjqfD0KHsVflvrWX5ow8Q0QhFVMbcpmX80Ezgf" +
+ "HYjMuA8wLy42E7Sz3rziuCIB2DsghxkkRy0Bzp6FVAA8MKcFvSjqknlxdHAT0wDn" +
+ "07kBQcd9oLK7tKmnZYnZZrh6DrhvciJ0ss6vdzXdwMQKJMWT7tXSHPByoD9hWNqM" +
+ "OwE85ypXmQLQwbXSkJWY6qxCwo6HFcFLCAk6bCVHFyYQc5H6Ezm+mNHD03wkk6j7" +
+ "m480R07W+QkhCKSnJVvGUvBBlRzDZDeeaNvGwHd0PT2wTy2HnkWtuMhkklgK66LZ" +
+ "BC6hKMJnOxOpo4YaB5V7rgiiWQXGCiJrYk4Y59qslhcA8/XJNJQLb+5tUzHJCBgj" +
+ "Qx3GrzzHn6xmZ9A0PtV9dbezpCHExoEDwlrH8dllA4YEY1mhsA0dIPPsj4Mi73vz" +
+ "nrsvJLs5YqABDfroHBg+ShQ0IgOs44NI4F8CIIsVXHQ6z3KS4MOhdxigYOImz2UG" +
+ "gJAuBhpsgLrldXnhNQ4jLCUyTxyhrIrwuyYrqo6MJzQ2Wl3AdDzKOb3Cydryz5Do" +
+ "pHBHMKBNdAOAdXJhYMgMb2s9Fp70MSClw9KpTbdzhHAuMGAtobHQJ2SURvgbbhyt" +
+ "BecsuXl+2jKigzt7goBTjmpC8RowanZdxJOhWjwhwrm99FSiJ2OgLLnm8pnjT1Fc" +
+ "CXCc0JaZijcmjpDACeVTrZneXxGRA+184I985kcHQIQIEFMgWfO635rg0SZSO/at" +
+ "HtcUKa3TZ8OJoImYsgRoKAhiZKIBUsG7yTOFlDFncMU9EG4CMLUKMxbiCaMDYdhs" +
+ "JSKdyLFJCQmviCCLgGuUz81ptojXx2oe4d2iHnAkVSdhzcfH2K2UnIQ9u0F30MHB" +
+ "OBY0UHMYYjgCQTAWMbwXTZQXaOgnfjckJ+BO475Zyfo8/R0NlEMBq8c94sZJiNrn" +
+ "yJ8OoMIDQPjt9uJK8Rk5aFDYbJfWSynwRhgIbQoB0+IsZPFGy4yADzZLYokaBywD" +
+ "CRmTeH5tmhDzPmA2rD32gaqneqHMNqA3FgsMePDM9KB69ebN4HOAhc26eoGFI1QJ" +
+ "m898wsO5qZxBxcWUgvtw5Q8AMEOOJJ8HEEk6B45ZyIoFaB5KW8FLb/M4KYSZIP/T" +
+ "y/DoMk5Ami3wPAH8EyWhTaUsFlQ+g6AEFdgHlJWNLpOCvdk3q+hWdqbTJWRS1dey" +
+ "wOAQwQUmsxpFozUQbFTRcPzhmHw0BxsEHFHdI2kUHjDkRPSGAp3SUo8BEdPPPTw4" +
+ "44KbQ4SZsIKdYe3WCo1EtM7zKTu1VAoZ7hPFDfU88SlCY2aHVSnVAOBA5wzuGlcH" +
+ "Rs8STcvGCu0xIzUFjkwcvlheRAzgRbJkzf/N0YjQwJYrJ16VzC1gueMTW4Rt5rYT" +
+ "IRNwYQYtHOtSD6ShBHOQzP37jm+TT/gvnq0DgyDuezyZv7FGKF8j4kpFLwakHPsy" +
+ "LSDphCyxQLl7xgnr+Pl8wbTsF8dx04kwB75wFRLdNRIBmhw2pH3UCbB9EgE9z5eI" +
+ "BPN3vYxzTZ4nEgVR4qoGQtM+BuGwlgV1WoHG4EaoNASMhGBgXYFRVYIXlASg6LSg" +
+ "GqeHmiyAsDilBBOqQsS4Og5rap1miKqAdUA6AdYTWmgTRQWeULDLBzlSEcEEDJbB" +
+ "4nTaBTC2glnEXi2haNhLoJcdgCNAkhcqbCc44gFrBrre1RE7eydRrtb9wdNITgOo" +
+ "j4QWulZiLl9z7V6DbnFmgcimAjOFhQs7UI75C551aKdXmUEHKSvEOCldH1YzE3wo" +
+ "E42BxwHl9Xk7YSa0g1vV9CriIWOztgqD6DgKN3AvOkS3ODdnTdtll+abk1SRIIGv" +
+ "fALBUOBR7ZFBZ4BUpBnSQ4hFHFEZ473Y3P+zY7O60Rs1LaWqHHIcwa8txlB4jJJE" +
+ "w5YZFHWAZUEtKyoIGdMwDYlA+A9mFgSZbOw4M6OOSmPkMl1OYzvpRASmvvXmUjTp" +
+ "8joGG1lR1cQpEEugzJBUyZnlygzInkeR9IZ+wHyATZQgPmd1ZmIUecB8pAzd6P0t" +
+ "AUK45zvDzCusNxdKPDohseJeeAI6ZvadwEcFQCRCgsXNcDfG6wqIm732cGQgwkIA" +
+ "SKEgydIjIZQ4a2thurU6wysrTQQglytZnEFtKoQOjdqfOmiDah274ym7EDxm9s9L" +
+ "CegGgMopkIt4LQ1Xtb9yBS7B2LUpK7hUpgHQVCXmwmbMOQqGHhGVvfpgEjVDoew6" +
+ "qNbwaB5vajnexW8pSBC73poOsSDMENqjGDoVUvvCS9M4jdfRrEmuQYwM5KDSHMK3" +
+ "B64lqG9DhQ0JoNQHlDlAPccRKnfODi2TDOoYNSZAcBzrUAVglyHGRUI0bMziEWOU" +
+ "JYnAOUMt6Rku3X2Za5l+nJIHiJXNq4xzccGdzaqu4qJJiDRBAN2TBKurol+bv9SB" +
+ "CSAX8+8Hl/r7sZnxy9PYe6Z7cvs98YtZ/SwPrgMD9OXynBh/XzxwXwdWFeXp/iVD" +
+ "kMgNriWpJDP1n5azCg6/xxxEvwpxkfhIP9s+2nQ/fn4vF9+jJ+ngfdWL4CPb5czf" +
+ "UQwvVtZEuz7Om9iWrwP/ePX0KAP0+V9inRoSgybccCP6dPd+K+f24YnQ9YpYUGst" +
+ "TKKFMYQdT2HL0fr+fbVW3qvv1NLVbRWSUrVJUxgSVjWktRaoqKNrFWmUUVMjUUmp" +
+ "li0zKazDabQ0YKDYxZMGg1BpRpYUwpQCMhoC8nsJe4+Dy3Xr8S8ifkOz/vaP7ETx" +
+ "FiYoqdkOeLbBtH+bHadmz2QGsccbGX7OU2D+LhZDxGPjMsOyV+DZO9PSeDPkEcZO" +
+ "SS8UzBJ+ecnUZhlZ9ZyM/ad22YYrjBcAz/3V2B8/JiuT7ED9kw+rGGSGmqTbJiMm" +
+ "LSysmTaS0aks2bSzWlZtg1EpSSYlNkqItCalNFstNttqaprSmpS0pqU1LNFgKpZV" +
+ "srWWrM0lJM1bEW0qbEmiLVtRGZUbSprWbNaLUqaks021KtbS2RlllbMsywtspLGj" +
+ "SaVEzMYk2NmzWptlrJWmSoRZSsptlZZLRGTaNKm2LJmmyUmSWRk0WpqlUZJJiWlp" +
+ "tkjGjUy01TaUkrKzSlLTMzAbNg2KlpJMl63e7/d+ENF1fgGLHuf56NGdqOvg7hSN" +
+ "iHHED5NKzQnm2yaAQJTIxieFJM3ij3X3qh5AHBhk2riuNRvBd1dJNK/o55W5e1NX" +
+ "ks/nngBUDz7INtUfFdK0JrgNgbjAdgkJGRczQCngL6Zh4BT2UW6xEWOCC4FzQuaj" +
+ "OxoBErUsV1z6K8cAICwJGRj6fB5iCC6h8QhiZB9qLr5NFyCenPzIPnc0WwotMInx" +
+ "4sAoHfMU5HgU6hhRBkppj/FgHNLt0ubr4APQXPI06DXqSSyDZid8zuPuLwXKN4cj" +
+ "jq/w8zETQQQXn+w0DiEJEiKh7fzQ5LMfgQXmXrdtA+sBzTIigGxVCwsOYhmJycnC" +
+ "CGplhE8/sdAhQXcsIRJFJISEJE8flHQO6cgR0ZCoE/TcCd+BBP7orIml5zlZgw9K" +
+ "QKKpGkiwgESxpnXK9pYwUAa89ij5sPoUYZjQ0lyAcxQc/xtRzIOJISJHL7Ny0JDw" +
+ "BwZa4MDUFR8D5CCCwzTyVsZejnQapAVGYICC5dDXtXOsmZXMO7mFWN7P56mEGIAc" +
+ "JHHBsharUAUcAp9UrviBIAxJ08i+RBO3Ah2QAgiK4kThwo8sDCf0aftxqENQKMTv" +
+ "TZBCNMVoDJwdi4fVhYNQyMy4KjH6SlEAvexZaMCmxViqK0e1JpDA33Zg0xuGQl9E" +
+ "hiQvQ2FHNA6XqGDe6CB3obIHAhBD+L/2H7JweCnNu3h8F/bQAgQghowH1UAW3ICg" +
+ "LRMWh9MD3nL6B5zvW/rtbABAW7j9J/ubhTjE1Dh6fjPlrh4F1mHx9l6oKaKdL9MC" +
+ "Czogscg9WEHR1P1lXLtPyv2av6+Uc38L73W4ynzSHQzT7n4a9fw9G0pHvHQQT3Ww" +
+ "CpsYtnkcGJdhEoMqdwTQQQWf8H7l+Sm0erEmuPTqAC3f/RC5LqgrQdfyPN+J3eTy" +
+ "V4GlQVzdO0KeqEArm/KUORmgILgIYcAUkDE9WuptiUObqmYfnmExHY8cNvsWx4o2" +
+ "QtFrwFybGSaII/YzOu4hsM00VwmYOAJQ3KQY+rag56UiZKVHIpnxryUn41uF8d2K" +
+ "fszLbyzAkMTuQc1BJQQHPuhBBej0s+yiFTpnRcrVGp26/SPoGgGLAjmBAhpnAPYi" +
+ "hGHgg8hN+hAh0NObgHp2R/M6Jo+S9Uw80pUFedRU1bYFRVog6sTPEHADwMAG0oUe" +
+ "ZTzCfk4pmd1M7BJIMNGsaaugBm+bdBpLDSNwIBiBVKx5dQgre1pCrhP2FD5vX9bb" +
+ "a28/PP14155vN5a8GIiRRgLCSaKIJMBu9u1u/IdZNWhKp6tcoZGbueNNIlSQLYOV" +
+ "guF/I1QEFvm6liJuQ/g648tjVjId/WMg6iEQnkcuhltYdGxoELryIDySIMiK9wD4" +
+ "MbBiPihigLkeo0OhARBcol9jMSNhf2ITsgILYNseps5hodZnnUYfDxJFi4UQzXNx" +
+ "EsQsWIsPUhf4XvqFHwQ+WPfTBIHct1LIZYv2+juqALF8D9dhxOkM18bdDBT3QEFx" +
+ "IIWRNxv+UV8R+J/0R2XJbrEIOYHU+pkgRzsDEdIZEebTO4gQJeqofJbdkqra4esL" +
+ "roGjHL6Gsy4rZI+PElgZlHIH1++YJmDEhF6psaR1U3IWVmpF3VwE9oiTMpi8Nzz+" +
+ "aHRDUDwW+WIdt3zPNOewJzPCB9E6jmCYHFX8LoITudMz7/N1SyV8kTcL0XLh4A7N" +
+ "JzfBgyjFkYbKgC8xPTQ2NEVHr3NX3I8oB8QLJn4JCrIRrrR5SSiELOBCqIlECSOq" +
+ "AgtNF/5UYIUAbvmgBgPL1xIT9UkTRqqrX53ixpCNGKHEwP1PwJh+ma3ptrBwODbq" +
+ "SORcDEiR6PVwOxokOUEsjBbkzcaucQzU4IBkiIQDSXJdCotjbIzzDs8lfNscXA3I" +
+ "EjvBoCBmX1Xq+IE6m5+HREB7xUkefMhRTIUUVEoGUY2sxAvjsdB3GZnYoMTuuOZk" +
+ "0IILqZh+sKgLQ1ULBUF4SYf1u+nDkki7SjNoBQWIGv3PuY3TIDM1QtuJ3SNep/DE" +
+ "5GEdQMHhYWdISJCEh+RRD7S+bd8OK+sbha0qU3NES7e5JJCEsxa4lA5ucJdrboo7" +
+ "v42uXj7XKXZXimppWTWQJDU2Uks0imZSWU2bLZWUpEzCgmWQzZKmlstNa2pqlKaa" +
+ "aU0pppMDbLLVlqzSSa2lTEtKzZJmtWpNSkylFpqsptkZrNNSzS1S2bNoqllIpMmS" +
+ "lmYDKLKzVm1LKVNkglKVKmyy0EstNixZmkjEiWms2xGFpVEWVNNKkSaWUpmMKLNQ" +
+ "l1leHUD7BQQf0nxooh+rfDYdYFRbCkgUOlBI6EukdLgodLEh6iosAIZUDGcFIBnT" +
+ "5PfxeXIybIEK3a2JhwXN4a5XZyCUN1QHKuKm53cudZGkYw+CUhgAg4jiFUxQcoWX" +
+ "ZiDnC1kcAxisjx4FhBuB1RLpkW/L1JdQMQyPlqBhAGDxWuoWKaLLctSBSGSu4x/U" +
+ "+UGMFxxCH7+CQBDUTBsMAfQX99QooSAcCZEiD6vqNtZoMtphkjx94b82mEcdDU6C" +
+ "GIfhpBNHRGdiSEhKQ5wXmRP0FuHscjHIQQXE+/JA9QIe5u/rPZ7iGp3RjqDlESQZ" +
+ "JCQm/LYfclj52MSyQjrCotj6Nhs9YNtpjG0eYiFHs4e+RkLZGv6lQVs25H8UcydI" +
+ "dBwSSJWZ2GkMV5JBvs3IEHqRvh5VCbiosL1RQbNSevAFkgodQSGXyDwMAKI48pbY" +
+ "nKYY5o3AkxfgcNu/2TS8/z4OpVwpwYLoslFDS0dpbVLklyLktcy0qrt1rkkVDQKa" +
+ "U5mIfn7qbHUwB+pUzzDYgdOwHNMsQqIeAQgWJ7CdQLne/Uch/L74GbnkIeSHVY7B" +
+ "6HzdzDBZDLh9FDDd7l51/E5mJCBgdFYeAu3YglszcA0yVJwA+V7zU+xXQdNIJq0w" +
+ "kfMItgm3gj2uGRgGUX4BpO2ZVeDftfXE9vP1ve16wzwEEF4VAF3VrV67Ndd89m7O" +
+ "GA6EokveXN9MfaQsQ3ZZKcK50mcwJlSsZTgk98c5KYw84IzEZbkvNTsNqzPLKyHo" +
+ "Px0sFlfMO5q7Gy/RLjgGa3WwaF0oI5J5CEBrzAuFdT9Mc82Cdw1XLYdAocXnucxw" +
+ "MDq4Gb5ImDg/Y1aNUuciSSLGs30w7o64wiPJkCOJGESEZEDZGBLmOHlrwGGQG1zj" +
+ "MtuCoxq7RpQlgtQ/YQ5xHKBJJHiia0FHVsRLGQe6Aj+2KgIUQACACiJEFxCraZaP" +
+ "BqeGpHqJ2lIlZ0RymyqrLMZVKEz6wYDwNnVwEvXcGMYxgkEpwJK03QsQ0IAGhJqy" +
+ "CBkmqpjC2e6t4I+Zf0JUTC8cgiBBIMOpm5aNIYWCqlcG2GZjNkLK8i6B/LSEtoDR" +
+ "RIJtyOGwPFu5CEb0Y2d1QVrHSAerk2mlwOR0esAyQ5waYkWyRMAgkNlX1WA43hGO" +
+ "YdDY3OWXJQzDIuXC51atcCh9k/jjTxk4r31uGHUMNV7DyEEFu9aoidiNHFzHFW3k" +
+ "pl23DYUqswRQLrmUK++C6OIeCEEGO4Oxqcy5rvYfEQIEszhUi+UBMa/NHV+bZCGB" +
+ "BmDsfjN+oGAKjwgfAOjBz3eAT0JSBhgZHiXA7HejAOj31UJ0cC5soXLOxcOBUy41" +
+ "LJM6Q8Jwpx4F2KjgcPvn3BRaXEe2Z4vPu2/yeP+aH5JvaiC4fKQAcndicHNDcD9b" +
+ "ShgrZAQXSGTpCSlPzKD5gwnhsz+p8ujoewiFBY3pKLSeXXMDRxzJq44NJzlzG7rV" +
+ "oWrj1/nLbhdUFc+SIUCENGZwNenyhKIbAqfWTOCRY+YUj3gzmpUR68AgUjUPy+0G" +
+ "2hIxUaJCNpMRpoFYjY0WIzNmFoMaNFtEYklpFixGtGxg0UUVJoKiwYNaTRqTKQRU" +
+ "G1Bo221i1VFhYBqNjRFIKqgpJIRS7/L9Xk8v315svJO9OR4u/ONn5FGPE3fMqdtS" +
+ "xkZBu7kta5NbuU8MxyZMYMgmsNmMhnKfGmtyIG2LzBpqWYIbdmCYi0lYLJxwCFFa" +
+ "zJE6zEudHD27ZzbOeSgpk/HnkQbT7twqaaJXNvUzMuUt1hyhU7ceZcph42+VTlXU" +
+ "cZ9UZZJyYojLjaeJHfJU1UZUEmBfLumu8yW5skuyE9uh2BmVxJZi6KxaXBNwSolw" +
+ "BqBcQLj3ucNZIYZLYtirLu3brW6UYgZgZJiDIGiwpsgg7g1AITkgM6FHITxDDnGt" +
+ "4SDHzZbL5s8fec5PCq5DOzDRdWS+0h5Y2INZak1D29cpVyb2aVrV3Wlt7rQhLa3e" +
+ "m3ZwPNcXywE2Qesk1XN24HvZ2Xa6nlm8Pf/xdyRThQkO1NjuAA=="
--- /dev/null
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This benchmark, taken from the shootout, tests array indexing
+// and array bounds elimination performance.
+
+package go1
+
+import (
+ "bufio"
+ "bytes"
+ "io/ioutil"
+ "testing"
+)
+
+var revCompTable = [256]uint8{
+ 'A': 'T', 'a': 'T',
+ 'C': 'G', 'c': 'G',
+ 'G': 'C', 'g': 'C',
+ 'T': 'A', 't': 'A',
+ 'U': 'A', 'u': 'A',
+ 'M': 'K', 'm': 'K',
+ 'R': 'Y', 'r': 'Y',
+ 'W': 'W', 'w': 'W',
+ 'S': 'S', 's': 'S',
+ 'Y': 'R', 'y': 'R',
+ 'K': 'M', 'k': 'M',
+ 'V': 'B', 'v': 'B',
+ 'H': 'D', 'h': 'D',
+ 'D': 'H', 'd': 'H',
+ 'B': 'V', 'b': 'V',
+ 'N': 'N', 'n': 'N',
+}
+
+func revcomp(data []byte) {
+ in := bufio.NewReader(bytes.NewBuffer(data))
+ out := ioutil.Discard
+ buf := make([]byte, 1024*1024)
+ line, err := in.ReadSlice('\n')
+ for err == nil {
+ out.Write(line)
+
+ // Accumulate reversed complement in buf[w:]
+ nchar := 0
+ w := len(buf)
+ for {
+ line, err = in.ReadSlice('\n')
+ if err != nil || line[0] == '>' {
+ break
+ }
+ line = line[0 : len(line)-1]
+ nchar += len(line)
+ if len(line)+nchar/60+128 >= w {
+ nbuf := make([]byte, len(buf)*5)
+ copy(nbuf[len(nbuf)-len(buf):], buf)
+ w += len(nbuf) - len(buf)
+ buf = nbuf
+ }
+
+ // This loop is the bottleneck.
+ for _, c := range line {
+ w--
+ buf[w] = revCompTable[c]
+ }
+ }
+
+ // Copy down to beginning of buffer, inserting newlines.
+ // The loop left room for the newlines and 128 bytes of padding.
+ i := 0
+ for j := w; j < len(buf); j += 60 {
+ n := copy(buf[i:i+60], buf[j:])
+ buf[i+n] = '\n'
+ i += n + 1
+ }
+ out.Write(buf[0:i])
+ }
+}
+
+func BenchmarkRevcomp25M(b *testing.B) {
+ b.SetBytes(int64(len(fasta25m)))
+ for i := 0; i < b.N; i++ {
+ revcomp(fasta25m)
+ }
+}
--- /dev/null
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// This benchmark tests text/template throughput,
+// converting a large data structure with a simple template.
+
+package go1
+
+import (
+ "bytes"
+ "io/ioutil"
+ "strings"
+ "testing"
+ "text/template"
+)
+
+// After removing \t and \n this generates identical output to
+// json.Marshal, making it easy to test for correctness.
+const tmplText = `
+{
+ "tree":{{template "node" .Tree}},
+ "username":"{{.Username}}"
+}
+{{define "node"}}
+{
+ "name":"{{.Name}}",
+ "kids":[
+ {{range $i, $k := .Kids}}
+ {{if $i}}
+ ,
+ {{end}}
+ {{template "node" $k}}
+ {{end}}
+ ],
+ "cl_weight":{{.CLWeight}},
+ "touches":{{.Touches}},
+ "min_t":{{.MinT}},
+ "max_t":{{.MaxT}},
+ "mean_t":{{.MeanT}}
+}
+{{end}}
+`
+
+func stripTabNL(r rune) rune {
+ if r == '\t' || r == '\n' {
+ return -1
+ }
+ return r
+}
+
+var tmpl = template.Must(template.New("main").Parse(strings.Map(stripTabNL, tmplText)))
+
+func init() {
+ var buf bytes.Buffer
+ if err := tmpl.Execute(&buf, &jsondata); err != nil {
+ panic(err)
+ }
+ if !bytes.Equal(buf.Bytes(), jsonbytes) {
+ println(buf.Len(), len(jsonbytes))
+ panic("wrong output")
+ }
+}
+
+func tmplexec() {
+ if err := tmpl.Execute(ioutil.Discard, &jsondata); err != nil {
+ panic(err)
+ }
+}
+
+func BenchmarkTemplate(b *testing.B) {
+ b.SetBytes(int64(len(jsonbytes)))
+ for i := 0; i < b.N; i++ {
+ tmplexec()
+ }
+}
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- */
-
-package main
-
-import (
- "bufio"
- "bytes"
- "fmt"
- "io/ioutil"
- "os"
- "runtime"
- "sort"
-)
-
-func count(data string, n int) map[string]int {
- counts := make(map[string]int)
- top := len(data) - n
- for i := 0; i <= top; i++ {
- s := data[i : i+n]
- counts[s]++
- }
- return counts
-}
-
-func countOne(data string, s string) int {
- return count(data, len(s))[s]
-}
-
-type kNuc struct {
- name string
- count int
-}
-
-type kNucArray []kNuc
-
-func (kn kNucArray) Len() int { return len(kn) }
-func (kn kNucArray) Swap(i, j int) { kn[i], kn[j] = kn[j], kn[i] }
-func (kn kNucArray) Less(i, j int) bool {
- if kn[i].count == kn[j].count {
- return kn[i].name > kn[j].name // sort down
- }
- return kn[i].count > kn[j].count
-}
-
-func sortedArray(m map[string]int) kNucArray {
- kn := make(kNucArray, len(m))
- i := 0
- for k, v := range m {
- kn[i] = kNuc{k, v}
- i++
- }
- sort.Sort(kn)
- return kn
-}
-
-func printKnucs(a kNucArray) {
- sum := 0
- for _, kn := range a {
- sum += kn.count
- }
- for _, kn := range a {
- fmt.Printf("%s %.3f\n", kn.name, 100*float64(kn.count)/float64(sum))
- }
- fmt.Print("\n")
-}
-
-func main() {
- runtime.GOMAXPROCS(4)
- in := bufio.NewReader(os.Stdin)
- three := []byte(">THREE ")
- for {
- line, err := in.ReadSlice('\n')
- if err != nil {
- fmt.Fprintln(os.Stderr, "ReadLine err:", err)
- os.Exit(2)
- }
- if line[0] == '>' && bytes.Equal(line[0:len(three)], three) {
- break
- }
- }
- data, err := ioutil.ReadAll(in)
- if err != nil {
- fmt.Fprintln(os.Stderr, "ReadAll err:", err)
- os.Exit(2)
- }
- // delete the newlines and convert to upper case
- j := 0
- for i := 0; i < len(data); i++ {
- if data[i] != '\n' {
- data[j] = data[i] &^ ' ' // upper case
- j++
- }
- }
- str := string(data[0:j])
-
- var arr1, arr2 kNucArray
- countsdone := make(chan bool)
- go func() {
- arr1 = sortedArray(count(str, 1))
- countsdone <- true
- }()
- go func() {
- arr2 = sortedArray(count(str, 2))
- countsdone <- true
- }()
-
- interests := []string{"GGT", "GGTA", "GGTATT", "GGTATTTTAATT", "GGTATTTTAATTTATAGT"}
- results := make([]chan string, len(interests))
- for i, s := range interests {
- ch := make(chan string)
- results[i] = ch
- go func(result chan string, ss string) {
- result <- fmt.Sprintf("%d %s\n", countOne(str, ss), ss)
- }(ch, s)
- }
- <-countsdone
- <-countsdone
- printKnucs(arr1)
- printKnucs(arr2)
- for _, rc := range results {
- fmt.Print(<-rc)
- }
-
-}
+++ /dev/null
-T 31.520
-A 29.600
-C 19.480
-G 19.400
-
-AT 9.922
-TT 9.602
-TA 9.402
-AA 8.402
-GA 6.321
-TC 6.301
-TG 6.201
-GT 6.041
-CT 5.961
-AG 5.841
-CA 5.461
-AC 5.441
-CC 4.041
-CG 4.021
-GC 3.701
-GG 3.341
-
-54 GGT
-24 GGTA
-4 GGTATT
-0 GGTATTTTAATT
-0 GGTATTTTAATTTATAGT
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#include <stdio.h>
-#include <string.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <glib.h>
-
-typedef struct stat_s stat_t;
-struct stat_s
-{
- const gchar *key;
- long stat;
-};
-
-#define MAX_ELM (8192 / sizeof (stat_t))
-
-static int
-generate_frequencies (int fl, char *buffer, long buflen,
- GHashTable *ht, GTrashStack **ts, GPtrArray *roots, GStringChunk *sc)
-{
- gchar *key;
- long i;
-
- if (fl > buflen) return 0;
- if (fl == 0) return 0;
-
- for (i = 0; i < buflen - fl + 1; ++i)
- {
- char nulled;
- stat_t *stat;
-
- nulled = buffer[i + fl];
- buffer[i + fl] = '\0';
-
- key = g_string_chunk_insert_const(sc, buffer + i);
-
- stat = g_hash_table_lookup(ht, key);
- if (!stat)
- {
- stat = g_trash_stack_pop(ts);
- if (!stat)
- {
- int j;
-
- stat = malloc(sizeof (stat_t) * MAX_ELM);
- g_ptr_array_add(roots, stat);
-
- for (j = 1; j < MAX_ELM; ++j)
- g_trash_stack_push(ts, stat + j);
- }
- stat->stat = 1;
- stat->key = key;
-
- g_hash_table_insert(ht, key, stat);
- }
- else
- stat->stat++;
-
- buffer[i + fl] = nulled;
- }
-
- return buflen - fl + 1;
-}
-
-static int
-cmp_func(gconstpointer a, gconstpointer b)
-{
- const stat_t *left = a;
- const stat_t *right = b;
-
- return right->stat - left->stat;
-}
-
-static void
-sorted_list(gpointer key, gpointer value, gpointer user_data)
-{
- stat_t *data = value;
- GList **lst = user_data;
-
- *lst = g_list_insert_sorted(*lst, data, cmp_func);
-}
-
-static void
-display_stat(gpointer data, gpointer user_data)
-{
- long *total = user_data;
- stat_t *st = data;
-
- printf("%s %.3f\n", st->key, 100 * (float) st->stat / *total);
-}
-
-void
-write_frequencies (int fl, char *buffer, long buflen, GTrashStack **ts, GPtrArray *roots)
-{
- GStringChunk *sc;
- GHashTable *ht;
- GList *lst;
- long total;
-
- ht = g_hash_table_new_full(g_str_hash, g_str_equal, NULL /* free key */, NULL /* free value */);
- sc = g_string_chunk_new(buflen);
- lst = NULL;
-
- total = generate_frequencies (fl, buffer, buflen, ht, ts, roots, sc);
-
- if (!total) goto on_error;
-
- g_hash_table_foreach(ht, sorted_list, &lst);
- g_list_foreach(lst, display_stat, &total);
- g_list_free(lst);
-
- on_error:
- g_hash_table_destroy(ht);
- g_string_chunk_free(sc);
-}
-
-void
-write_count (char *searchFor, char *buffer, long buflen, GTrashStack **ts, GPtrArray *roots)
-{
- GStringChunk *sc;
- GHashTable *ht;
- stat_t *result;
- GList *lst;
- long total;
- long fl;
-
- fl = strlen(searchFor);
-
- ht = g_hash_table_new_full(g_str_hash, g_str_equal, NULL /* free key */, NULL /* free value */);
- sc = g_string_chunk_new(buflen);
- lst = NULL;
- result = NULL;
-
- total = generate_frequencies (fl, buffer, buflen, ht, ts, roots, sc);
-
- if (!total) goto on_error;
-
- result = g_hash_table_lookup(ht, searchFor);
-
- on_error:
- printf("%ld\t%s\n", result ? result->stat : 0, searchFor);
-
- g_hash_table_destroy(ht);
- g_string_chunk_free(sc);
-}
-
-int
-main ()
-{
- char buffer[4096];
- GTrashStack *ts;
- GPtrArray *roots;
- GString *stuff;
- gchar *s;
- int len;
-
- roots = g_ptr_array_new();
- ts = NULL;
-
- while (fgets(buffer, sizeof (buffer), stdin))
- if (strncmp(buffer, ">THREE", 6) == 0)
- break;
-
- stuff = g_string_new(NULL);
-
- while (fgets(buffer, sizeof (buffer), stdin))
- {
- size_t sz;
-
- if (buffer[0] == '>')
- break;
-
- sz = strlen(buffer);
- if (buffer[sz - 1] == '\n')
- --sz;
-
- stuff = g_string_append_len(stuff, buffer, sz);
- }
-
- stuff = g_string_ascii_up(stuff);
- len = stuff->len;
- s = g_string_free(stuff, FALSE);
-
- write_frequencies(1, s, len, &ts, roots);
- printf("\n");
- write_frequencies(2, s, len, &ts, roots);
- printf("\n");
- write_count("GGT", s, len, &ts, roots);
- write_count("GGTA", s, len, &ts, roots);
- write_count("GGTATT", s, len, &ts, roots);
- write_count("GGTATTTTAATT", s, len, &ts, roots);
- write_count("GGTATTTTAATTTATAGT", s, len, &ts, roots);
-
- free(s);
-
- g_ptr_array_foreach(roots, free, NULL);
- g_ptr_array_free(roots, TRUE);
-
- return 0;
-}
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- */
-
-package main
-
-import (
- "bufio"
- "bytes"
- "fmt"
- "io/ioutil"
- "os"
- "sort"
-)
-
-var in *bufio.Reader
-
-func count(data string, n int) map[string]int {
- counts := make(map[string]int)
- top := len(data) - n
- for i := 0; i <= top; i++ {
- s := data[i : i+n]
- counts[s]++
- }
- return counts
-}
-
-func countOne(data string, s string) int {
- return count(data, len(s))[s]
-}
-
-type kNuc struct {
- name string
- count int
-}
-
-type kNucArray []kNuc
-
-func (kn kNucArray) Len() int { return len(kn) }
-func (kn kNucArray) Swap(i, j int) { kn[i], kn[j] = kn[j], kn[i] }
-func (kn kNucArray) Less(i, j int) bool {
- if kn[i].count == kn[j].count {
- return kn[i].name > kn[j].name // sort down
- }
- return kn[i].count > kn[j].count
-}
-
-func sortedArray(m map[string]int) kNucArray {
- kn := make(kNucArray, len(m))
- i := 0
- for k, v := range m {
- kn[i].name = k
- kn[i].count = v
- i++
- }
- sort.Sort(kn)
- return kn
-}
-
-func print(m map[string]int) {
- a := sortedArray(m)
- sum := 0
- for _, kn := range a {
- sum += kn.count
- }
- for _, kn := range a {
- fmt.Printf("%s %.3f\n", kn.name, 100*float64(kn.count)/float64(sum))
- }
-}
-
-func main() {
- in = bufio.NewReader(os.Stdin)
- three := []byte(">THREE ")
- for {
- line, err := in.ReadSlice('\n')
- if err != nil {
- fmt.Fprintln(os.Stderr, "ReadLine err:", err)
- os.Exit(2)
- }
- if line[0] == '>' && bytes.Equal(line[0:len(three)], three) {
- break
- }
- }
- data, err := ioutil.ReadAll(in)
- if err != nil {
- fmt.Fprintln(os.Stderr, "ReadAll err:", err)
- os.Exit(2)
- }
- // delete the newlines and convert to upper case
- j := 0
- for i := 0; i < len(data); i++ {
- if data[i] != '\n' {
- data[j] = data[i] &^ ' ' // upper case
- j++
- }
- }
- str := string(data[0:j])
-
- print(count(str, 1))
- fmt.Print("\n")
-
- print(count(str, 2))
- fmt.Print("\n")
-
- interests := []string{"GGT", "GGTA", "GGTATT", "GGTATTTTAATT", "GGTATTTTAATTTATAGT"}
- for _, s := range interests {
- fmt.Printf("%d %s\n", countOne(str, s), s)
- }
-}
+++ /dev/null
-T 31.520
-A 29.600
-C 19.480
-G 19.400
-
-AT 9.922
-TT 9.602
-TA 9.402
-AA 8.402
-GA 6.321
-TC 6.301
-TG 6.201
-GT 6.041
-CT 5.961
-AG 5.841
-CA 5.461
-AC 5.441
-CC 4.041
-CG 4.021
-GC 3.701
-GG 3.341
-
-54 GGT
-24 GGTA
-4 GGTATT
-0 GGTATTTTAATT
-0 GGTATTTTAATTTATAGT
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Shootout
- http://shootout.alioth.debian.org/
-
- contributed by Greg Buchholz
-
- for the debian (AMD) machine...
- compile flags: -O3 -ffast-math -march=athlon-xp -funroll-loops
-
- for the gp4 (Intel) machine...
- compile flags: -O3 -ffast-math -march=pentium4 -funroll-loops
-*/
-
-#include<stdio.h>
-
-int main (int argc, char **argv)
-{
- int w, h, bit_num = 0;
- char byte_acc = 0;
- int i, iter = 50;
- double x, y, limit = 2.0;
- double Zr, Zi, Cr, Ci, Tr, Ti;
-
- w = h = atoi(argv[1]);
-
- printf("P4\n%d %d\n",w,h);
-
- for(y=0;y<h;++y)
- {
- for(x=0;x<w;++x)
- {
- Zr = Zi = Tr = Ti = 0.0;
- Cr = (2.0*x/w - 1.5); Ci=(2.0*y/h - 1.0);
-
- for (i=0;i<iter && (Tr+Ti <= limit*limit);++i)
- {
- Zi = 2.0*Zr*Zi + Ci;
- Zr = Tr - Ti + Cr;
- Tr = Zr * Zr;
- Ti = Zi * Zi;
- }
-
- byte_acc <<= 1;
- if(Tr+Ti <= limit*limit) byte_acc |= 0x01;
-
- ++bit_num;
-
- if(bit_num == 8)
- {
- putc(byte_acc,stdout);
- byte_acc = 0;
- bit_num = 0;
- }
- else if(x == w-1)
- {
- byte_acc <<= (8-w%8);
- putc(byte_acc,stdout);
- byte_acc = 0;
- bit_num = 0;
- }
- }
- }
-}
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- * Based on mandelbrot.c contributed by Greg Buchholz
- */
-
-package main
-
-import (
- "bufio"
- "flag"
- "fmt"
- "os"
-)
-
-var n = flag.Int("n", 200, "size")
-
-func main() {
- flag.Parse()
- out := bufio.NewWriter(os.Stdout)
- defer out.Flush()
-
- w := *n
- h := *n
- bit_num := 0
- byte_acc := byte(0)
- const Iter = 50
- const Zero float64 = 0
- const Limit = 2.0
-
- fmt.Fprintf(out, "P4\n%d %d\n", w, h)
-
- for y := 0; y < h; y++ {
- for x := 0; x < w; x++ {
- Zr, Zi, Tr, Ti := Zero, Zero, Zero, Zero
- Cr := (2*float64(x)/float64(w) - 1.5)
- Ci := (2*float64(y)/float64(h) - 1.0)
-
- for i := 0; i < Iter && (Tr+Ti <= Limit*Limit); i++ {
- Zi = 2*Zr*Zi + Ci
- Zr = Tr - Ti + Cr
- Tr = Zr * Zr
- Ti = Zi * Zi
- }
-
- byte_acc <<= 1
- if Tr+Ti <= Limit*Limit {
- byte_acc |= 0x01
- }
-
- bit_num++
-
- if bit_num == 8 {
- out.WriteByte(byte_acc)
- byte_acc = 0
- bit_num = 0
- } else if x == w-1 {
- byte_acc <<= uint(8 - w%8)
- out.WriteByte(byte_acc)
- byte_acc = 0
- bit_num = 0
- }
- }
- }
-}
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by Christian Vosteen
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#define TRUE 1
-#define FALSE 0
-
-/* The board is a 50 cell hexagonal pattern. For . . . . .
- * maximum speed the board will be implemented as . . . . .
- * 50 bits, which will fit into a 64 bit long long . . . . .
- * int. . . . . .
- * . . . . .
- * I will represent 0's as empty cells and 1's . . . . .
- * as full cells. . . . . .
- * . . . . .
- * . . . . .
- * . . . . .
- */
-
-unsigned long long board = 0xFFFC000000000000ULL;
-
-/* The puzzle pieces must be specified by the path followed
- * from one end to the other along 12 hexagonal directions.
- *
- * Piece 0 Piece 1 Piece 2 Piece 3 Piece 4
- *
- * O O O O O O O O O O O O O O O
- * O O O O O O O
- * O O O
- *
- * Piece 5 Piece 6 Piece 7 Piece 8 Piece 9
- *
- * O O O O O O O O O O O O O
- * O O O O O O O O O
- * O O O
- *
- * I had to make it 12 directions because I wanted all of the
- * piece definitions to fit into the same size arrays. It is
- * not possible to define piece 4 in terms of the 6 cardinal
- * directions in 4 moves.
- */
-
-#define E 0
-#define ESE 1
-#define SE 2
-#define S 3
-#define SW 4
-#define WSW 5
-#define W 6
-#define WNW 7
-#define NW 8
-#define N 9
-#define NE 10
-#define ENE 11
-#define PIVOT 12
-
-char piece_def[10][4] = {
- { E, E, E, SE},
- { SE, E, NE, E},
- { E, E, SE, SW},
- { E, E, SW, SE},
- { SE, E, NE, S},
- { E, E, SW, E},
- { E, SE, SE, NE},
- { E, SE, SE, W},
- { E, SE, E, E},
- { E, E, E, SW}
-};
-
-
-/* To minimize the amount of work done in the recursive solve function below,
- * I'm going to allocate enough space for all legal rotations of each piece
- * at each position on the board. That's 10 pieces x 50 board positions x
- * 12 rotations. However, not all 12 rotations will fit on every cell, so
- * I'll have to keep count of the actual number that do.
- * The pieces are going to be unsigned long long ints just like the board so
- * they can be bitwise-anded with the board to determine if they fit.
- * I'm also going to record the next possible open cell for each piece and
- * location to reduce the burden on the solve function.
- */
-unsigned long long pieces[10][50][12];
-int piece_counts[10][50];
-char next_cell[10][50][12];
-
-/* Returns the direction rotated 60 degrees clockwise */
-char rotate(char dir) {
- return (dir + 2) % PIVOT;
-}
-
-/* Returns the direction flipped on the horizontal axis */
-char flip(char dir) {
- return (PIVOT - dir) % PIVOT;
-}
-
-
-/* Returns the new cell index from the specified cell in the
- * specified direction. The index is only valid if the
- * starting cell and direction have been checked by the
- * out_of_bounds function first.
- */
-char shift(char cell, char dir) {
- switch(dir) {
- case E:
- return cell + 1;
- case ESE:
- if((cell / 5) % 2)
- return cell + 7;
- else
- return cell + 6;
- case SE:
- if((cell / 5) % 2)
- return cell + 6;
- else
- return cell + 5;
- case S:
- return cell + 10;
- case SW:
- if((cell / 5) % 2)
- return cell + 5;
- else
- return cell + 4;
- case WSW:
- if((cell / 5) % 2)
- return cell + 4;
- else
- return cell + 3;
- case W:
- return cell - 1;
- case WNW:
- if((cell / 5) % 2)
- return cell - 6;
- else
- return cell - 7;
- case NW:
- if((cell / 5) % 2)
- return cell - 5;
- else
- return cell - 6;
- case N:
- return cell - 10;
- case NE:
- if((cell / 5) % 2)
- return cell - 4;
- else
- return cell - 5;
- case ENE:
- if((cell / 5) % 2)
- return cell - 3;
- else
- return cell - 4;
- default:
- return cell;
- }
-}
-
-/* Returns wether the specified cell and direction will land outside
- * of the board. Used to determine if a piece is at a legal board
- * location or not.
- */
-char out_of_bounds(char cell, char dir) {
- char i;
- switch(dir) {
- case E:
- return cell % 5 == 4;
- case ESE:
- i = cell % 10;
- return i == 4 || i == 8 || i == 9 || cell >= 45;
- case SE:
- return cell % 10 == 9 || cell >= 45;
- case S:
- return cell >= 40;
- case SW:
- return cell % 10 == 0 || cell >= 45;
- case WSW:
- i = cell % 10;
- return i == 0 || i == 1 || i == 5 || cell >= 45;
- case W:
- return cell % 5 == 0;
- case WNW:
- i = cell % 10;
- return i == 0 || i == 1 || i == 5 || cell < 5;
- case NW:
- return cell % 10 == 0 || cell < 5;
- case N:
- return cell < 10;
- case NE:
- return cell % 10 == 9 || cell < 5;
- case ENE:
- i = cell % 10;
- return i == 4 || i == 8 || i == 9 || cell < 5;
- default:
- return FALSE;
- }
-}
-
-/* Rotate a piece 60 degrees clockwise */
-void rotate_piece(int piece) {
- int i;
- for(i = 0; i < 4; i++)
- piece_def[piece][i] = rotate(piece_def[piece][i]);
-}
-
-/* Flip a piece along the horizontal axis */
-void flip_piece(int piece) {
- int i;
- for(i = 0; i < 4; i++)
- piece_def[piece][i] = flip(piece_def[piece][i]);
-}
-
-/* Convenience function to quickly calculate all of the indices for a piece */
-void calc_cell_indices(char *cell, int piece, char index) {
- cell[0] = index;
- cell[1] = shift(cell[0], piece_def[piece][0]);
- cell[2] = shift(cell[1], piece_def[piece][1]);
- cell[3] = shift(cell[2], piece_def[piece][2]);
- cell[4] = shift(cell[3], piece_def[piece][3]);
-}
-
-/* Convenience function to quickly calculate if a piece fits on the board */
-int cells_fit_on_board(char *cell, int piece) {
- return (!out_of_bounds(cell[0], piece_def[piece][0]) &&
- !out_of_bounds(cell[1], piece_def[piece][1]) &&
- !out_of_bounds(cell[2], piece_def[piece][2]) &&
- !out_of_bounds(cell[3], piece_def[piece][3]));
-}
-
-/* Returns the lowest index of the cells of a piece.
- * I use the lowest index that a piece occupies as the index for looking up
- * the piece in the solve function.
- */
-char minimum_of_cells(char *cell) {
- char minimum = cell[0];
- minimum = cell[1] < minimum ? cell[1] : minimum;
- minimum = cell[2] < minimum ? cell[2] : minimum;
- minimum = cell[3] < minimum ? cell[3] : minimum;
- minimum = cell[4] < minimum ? cell[4] : minimum;
- return minimum;
-}
-
-/* Calculate the lowest possible open cell if the piece is placed on the board.
- * Used to later reduce the amount of time searching for open cells in the
- * solve function.
- */
-char first_empty_cell(char *cell, char minimum) {
- char first_empty = minimum;
- while(first_empty == cell[0] || first_empty == cell[1] ||
- first_empty == cell[2] || first_empty == cell[3] ||
- first_empty == cell[4])
- first_empty++;
- return first_empty;
-}
-
-/* Generate the unsigned long long int that will later be anded with the
- * board to determine if it fits.
- */
-unsigned long long bitmask_from_cells(char *cell) {
- unsigned long long piece_mask = 0ULL;
- int i;
- for(i = 0; i < 5; i++)
- piece_mask |= 1ULL << cell[i];
- return piece_mask;
-}
-
-/* Record the piece and other important information in arrays that will
- * later be used by the solve function.
- */
-void record_piece(int piece, int minimum, char first_empty,
- unsigned long long piece_mask) {
- pieces[piece][minimum][piece_counts[piece][minimum]] = piece_mask;
- next_cell[piece][minimum][piece_counts[piece][minimum]] = first_empty;
- piece_counts[piece][minimum]++;
-}
-
-
-/* Fill the entire board going cell by cell. If any cells are "trapped"
- * they will be left alone.
- */
-void fill_contiguous_space(char *board, int index) {
- if(board[index] == 1)
- return;
- board[index] = 1;
- if(!out_of_bounds(index, E))
- fill_contiguous_space(board, shift(index, E));
- if(!out_of_bounds(index, SE))
- fill_contiguous_space(board, shift(index, SE));
- if(!out_of_bounds(index, SW))
- fill_contiguous_space(board, shift(index, SW));
- if(!out_of_bounds(index, W))
- fill_contiguous_space(board, shift(index, W));
- if(!out_of_bounds(index, NW))
- fill_contiguous_space(board, shift(index, NW));
- if(!out_of_bounds(index, NE))
- fill_contiguous_space(board, shift(index, NE));
-}
-
-
-/* To thin the number of pieces, I calculate if any of them trap any empty
- * cells at the edges. There are only a handful of exceptions where the
- * the board can be solved with the trapped cells. For example: piece 8 can
- * trap 5 cells in the corner, but piece 3 can fit in those cells, or piece 0
- * can split the board in half where both halves are viable.
- */
-int has_island(char *cell, int piece) {
- char temp_board[50];
- char c;
- int i;
- for(i = 0; i < 50; i++)
- temp_board[i] = 0;
- for(i = 0; i < 5; i++)
- temp_board[((int)cell[i])] = 1;
- i = 49;
- while(temp_board[i] == 1)
- i--;
- fill_contiguous_space(temp_board, i);
- c = 0;
- for(i = 0; i < 50; i++)
- if(temp_board[i] == 0)
- c++;
- if(c == 0 || (c == 5 && piece == 8) || (c == 40 && piece == 8) ||
- (c % 5 == 0 && piece == 0))
- return FALSE;
- else
- return TRUE;
-}
-
-
-/* Calculate all six rotations of the specified piece at the specified index.
- * We calculate only half of piece 3's rotations. This is because any solution
- * found has an identical solution rotated 180 degrees. Thus we can reduce the
- * number of attempted pieces in the solve algorithm by not including the 180-
- * degree-rotated pieces of ONE of the pieces. I chose piece 3 because it gave
- * me the best time ;)
- */
- void calc_six_rotations(char piece, char index) {
- char rotation, cell[5];
- char minimum, first_empty;
- unsigned long long piece_mask;
-
- for(rotation = 0; rotation < 6; rotation++) {
- if(piece != 3 || rotation < 3) {
- calc_cell_indices(cell, piece, index);
- if(cells_fit_on_board(cell, piece) && !has_island(cell, piece)) {
- minimum = minimum_of_cells(cell);
- first_empty = first_empty_cell(cell, minimum);
- piece_mask = bitmask_from_cells(cell);
- record_piece(piece, minimum, first_empty, piece_mask);
- }
- }
- rotate_piece(piece);
- }
-}
-
-/* Calculate every legal rotation for each piece at each board location. */
-void calc_pieces(void) {
- char piece, index;
-
- for(piece = 0; piece < 10; piece++) {
- for(index = 0; index < 50; index++) {
- calc_six_rotations(piece, index);
- flip_piece(piece);
- calc_six_rotations(piece, index);
- }
- }
-}
-
-
-
-/* Calculate all 32 possible states for a 5-bit row and all rows that will
- * create islands that follow any of the 32 possible rows. These pre-
- * calculated 5-bit rows will be used to find islands in a partially solved
- * board in the solve function.
- */
-#define ROW_MASK 0x1F
-#define TRIPLE_MASK 0x7FFF
-char all_rows[32] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31};
-int bad_even_rows[32][32];
-int bad_odd_rows[32][32];
-int bad_even_triple[32768];
-int bad_odd_triple[32768];
-
-int rows_bad(char row1, char row2, int even) {
- /* even is referring to row1 */
- int i, in_zeroes, group_okay;
- char block, row2_shift;
- /* Test for blockages at same index and shifted index */
- if(even)
- row2_shift = ((row2 << 1) & ROW_MASK) | 0x01;
- else
- row2_shift = (row2 >> 1) | 0x10;
- block = ((row1 ^ row2) & row2) & ((row1 ^ row2_shift) & row2_shift);
- /* Test for groups of 0's */
- in_zeroes = FALSE;
- group_okay = FALSE;
- for(i = 0; i < 5; i++) {
- if(row1 & (1 << i)) {
- if(in_zeroes) {
- if(!group_okay)
- return TRUE;
- in_zeroes = FALSE;
- group_okay = FALSE;
- }
- } else {
- if(!in_zeroes)
- in_zeroes = TRUE;
- if(!(block & (1 << i)))
- group_okay = TRUE;
- }
- }
- if(in_zeroes)
- return !group_okay;
- else
- return FALSE;
-}
-
-/* Check for cases where three rows checked sequentially cause a false
- * positive. One scenario is when 5 cells may be surrounded where piece 5
- * or 7 can fit. The other scenario is when piece 2 creates a hook shape.
- */
-int triple_is_okay(char row1, char row2, char row3, int even) {
- if(even) {
- /* There are four cases:
- * row1: 00011 00001 11001 10101
- * row2: 01011 00101 10001 10001
- * row3: 011?? 00110 ????? ?????
- */
- return ((row1 == 0x03) && (row2 == 0x0B) && ((row3 & 0x1C) == 0x0C)) ||
- ((row1 == 0x01) && (row2 == 0x05) && (row3 == 0x06)) ||
- ((row1 == 0x19) && (row2 == 0x11)) ||
- ((row1 == 0x15) && (row2 == 0x11));
- } else {
- /* There are two cases:
- * row1: 10011 10101
- * row2: 10001 10001
- * row3: ????? ?????
- */
- return ((row1 == 0x13) && (row2 == 0x11)) ||
- ((row1 == 0x15) && (row2 == 0x11));
- }
-}
-
-
-void calc_rows(void) {
- int row1, row2, row3;
- int result1, result2;
- for(row1 = 0; row1 < 32; row1++) {
- for(row2 = 0; row2 < 32; row2++) {
- bad_even_rows[row1][row2] = rows_bad(row1, row2, TRUE);
- bad_odd_rows[row1][row2] = rows_bad(row1, row2, FALSE);
- }
- }
- for(row1 = 0; row1 < 32; row1++) {
- for(row2 = 0; row2 < 32; row2++) {
- for(row3 = 0; row3 < 32; row3++) {
- result1 = bad_even_rows[row1][row2];
- result2 = bad_odd_rows[row2][row3];
- if(result1 == FALSE && result2 == TRUE
- && triple_is_okay(row1, row2, row3, TRUE))
- bad_even_triple[row1+(row2*32)+(row3*1024)] = FALSE;
- else
- bad_even_triple[row1+(row2*32)+(row3*1024)] = result1 || result2;
-
- result1 = bad_odd_rows[row1][row2];
- result2 = bad_even_rows[row2][row3];
- if(result1 == FALSE && result2 == TRUE
- && triple_is_okay(row1, row2, row3, FALSE))
- bad_odd_triple[row1+(row2*32)+(row3*1024)] = FALSE;
- else
- bad_odd_triple[row1+(row2*32)+(row3*1024)] = result1 || result2;
- }
- }
- }
-}
-
-
-
-/* Calculate islands while solving the board.
- */
-int boardHasIslands(char cell) {
- /* Too low on board, don't bother checking */
- if(cell >= 40)
- return FALSE;
- int current_triple = (board >> ((cell / 5) * 5)) & TRIPLE_MASK;
- if((cell / 5) % 2)
- return bad_odd_triple[current_triple];
- else
- return bad_even_triple[current_triple];
-}
-
-
-/* The recursive solve algorithm. Try to place each permutation in the upper-
- * leftmost empty cell. Mark off available pieces as it goes along.
- * Because the board is a bit mask, the piece number and bit mask must be saved
- * at each successful piece placement. This data is used to create a 50 char
- * array if a solution is found.
- */
-short avail = 0x03FF;
-char sol_nums[10];
-unsigned long long sol_masks[10];
-signed char solutions[2100][50];
-int solution_count = 0;
-int max_solutions = 2100;
-
-void record_solution(void) {
- int sol_no, index;
- unsigned long long sol_mask;
- for(sol_no = 0; sol_no < 10; sol_no++) {
- sol_mask = sol_masks[sol_no];
- for(index = 0; index < 50; index++) {
- if(sol_mask & 1ULL) {
- solutions[solution_count][index] = sol_nums[sol_no];
- /* Board rotated 180 degrees is a solution too! */
- solutions[solution_count+1][49-index] = sol_nums[sol_no];
- }
- sol_mask = sol_mask >> 1;
- }
- }
- solution_count += 2;
-}
-
-void solve(int depth, int cell) {
- int piece, rotation, max_rots;
- unsigned long long *piece_mask;
- short piece_no_mask;
-
- if(solution_count >= max_solutions)
- return;
-
- while(board & (1ULL << cell))
- cell++;
-
- for(piece = 0; piece < 10; piece++) {
- piece_no_mask = 1 << piece;
- if(!(avail & piece_no_mask))
- continue;
- avail ^= piece_no_mask;
- max_rots = piece_counts[piece][cell];
- piece_mask = pieces[piece][cell];
- for(rotation = 0; rotation < max_rots; rotation++) {
- if(!(board & *(piece_mask + rotation))) {
- sol_nums[depth] = piece;
- sol_masks[depth] = *(piece_mask + rotation);
- if(depth == 9) {
- /* Solution found!!!!!11!!ONE! */
- record_solution();
- avail ^= piece_no_mask;
- return;
- }
- board |= *(piece_mask + rotation);
- if(!boardHasIslands(next_cell[piece][cell][rotation]))
- solve(depth + 1, next_cell[piece][cell][rotation]);
- board ^= *(piece_mask + rotation);
- }
- }
- avail ^= piece_no_mask;
- }
-}
-
-
-/* qsort comparator - used to find first and last solutions */
-int solution_sort(const void *elem1, const void *elem2) {
- signed char *char1 = (signed char *) elem1;
- signed char *char2 = (signed char *) elem2;
- int i = 0;
- while(i < 50 && char1[i] == char2[i])
- i++;
- return char1[i] - char2[i];
-}
-
-
-/* pretty print a board in the specified hexagonal format */
-void pretty(signed char *b) {
- int i;
- for(i = 0; i < 50; i += 10) {
- printf("%c %c %c %c %c \n %c %c %c %c %c \n", b[i]+'0', b[i+1]+'0',
- b[i+2]+'0', b[i+3]+'0', b[i+4]+'0', b[i+5]+'0', b[i+6]+'0',
- b[i+7]+'0', b[i+8]+'0', b[i+9]+'0');
- }
- printf("\n");
-}
-
-int main(int argc, char **argv) {
- if(argc > 1)
- max_solutions = atoi(argv[1]);
- calc_pieces();
- calc_rows();
- solve(0, 0);
- printf("%d solutions found\n\n", solution_count);
- qsort(solutions, solution_count, 50 * sizeof(signed char), solution_sort);
- pretty(solutions[0]);
- pretty(solutions[solution_count-1]);
- return 0;
-}
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- * based on meteor-contest.c by Christian Vosteen
- */
-
-package main
-
-import (
- "flag"
- "fmt"
-)
-
-var max_solutions = flag.Int("n", 2100, "maximum number of solutions")
-
-
-func boolInt(b bool) int8 {
- if b {
- return 1
- }
- return 0
-}
-
-/* The board is a 50 cell hexagonal pattern. For . . . . .
- * maximum speed the board will be implemented as . . . . .
- * 50 bits, which will fit into a 64 bit long long . . . . .
- * int. . . . . .
- * . . . . .
- * I will represent 0's as empty cells and 1's . . . . .
- * as full cells. . . . . .
- * . . . . .
- * . . . . .
- * . . . . .
- */
-
-var board uint64 = 0xFFFC000000000000
-
-/* The puzzle pieces must be specified by the path followed
- * from one end to the other along 12 hexagonal directions.
- *
- * Piece 0 Piece 1 Piece 2 Piece 3 Piece 4
- *
- * O O O O O O O O O O O O O O O
- * O O O O O O O
- * O O O
- *
- * Piece 5 Piece 6 Piece 7 Piece 8 Piece 9
- *
- * O O O O O O O O O O O O O
- * O O O O O O O O O
- * O O O
- *
- * I had to make it 12 directions because I wanted all of the
- * piece definitions to fit into the same size arrays. It is
- * not possible to define piece 4 in terms of the 6 cardinal
- * directions in 4 moves.
- */
-
-const (
- E = iota
- ESE
- SE
- S
- SW
- WSW
- W
- WNW
- NW
- N
- NE
- ENE
- PIVOT
-)
-
-var piece_def = [10][4]int8{
- [4]int8{E, E, E, SE},
- [4]int8{SE, E, NE, E},
- [4]int8{E, E, SE, SW},
- [4]int8{E, E, SW, SE},
- [4]int8{SE, E, NE, S},
- [4]int8{E, E, SW, E},
- [4]int8{E, SE, SE, NE},
- [4]int8{E, SE, SE, W},
- [4]int8{E, SE, E, E},
- [4]int8{E, E, E, SW},
-}
-
-
-/* To minimize the amount of work done in the recursive solve function below,
- * I'm going to allocate enough space for all legal rotations of each piece
- * at each position on the board. That's 10 pieces x 50 board positions x
- * 12 rotations. However, not all 12 rotations will fit on every cell, so
- * I'll have to keep count of the actual number that do.
- * The pieces are going to be unsigned long long ints just like the board so
- * they can be bitwise-anded with the board to determine if they fit.
- * I'm also going to record the next possible open cell for each piece and
- * location to reduce the burden on the solve function.
- */
-var (
- pieces [10][50][12]uint64
- piece_counts [10][50]int
- next_cell [10][50][12]int8
-)
-
-/* Returns the direction rotated 60 degrees clockwise */
-func rotate(dir int8) int8 { return (dir + 2) % PIVOT }
-
-/* Returns the direction flipped on the horizontal axis */
-func flip(dir int8) int8 { return (PIVOT - dir) % PIVOT }
-
-
-/* Returns the new cell index from the specified cell in the
- * specified direction. The index is only valid if the
- * starting cell and direction have been checked by the
- * out_of_bounds function first.
- */
-func shift(cell, dir int8) int8 {
- switch dir {
- case E:
- return cell + 1
- case ESE:
- if ((cell / 5) % 2) != 0 {
- return cell + 7
- } else {
- return cell + 6
- }
- case SE:
- if ((cell / 5) % 2) != 0 {
- return cell + 6
- } else {
- return cell + 5
- }
- case S:
- return cell + 10
- case SW:
- if ((cell / 5) % 2) != 0 {
- return cell + 5
- } else {
- return cell + 4
- }
- case WSW:
- if ((cell / 5) % 2) != 0 {
- return cell + 4
- } else {
- return cell + 3
- }
- case W:
- return cell - 1
- case WNW:
- if ((cell / 5) % 2) != 0 {
- return cell - 6
- } else {
- return cell - 7
- }
- case NW:
- if ((cell / 5) % 2) != 0 {
- return cell - 5
- } else {
- return cell - 6
- }
- case N:
- return cell - 10
- case NE:
- if ((cell / 5) % 2) != 0 {
- return cell - 4
- } else {
- return cell - 5
- }
- case ENE:
- if ((cell / 5) % 2) != 0 {
- return cell - 3
- } else {
- return cell - 4
- }
- }
- return cell
-}
-
-/* Returns wether the specified cell and direction will land outside
- * of the board. Used to determine if a piece is at a legal board
- * location or not.
- */
-func out_of_bounds(cell, dir int8) bool {
- switch dir {
- case E:
- return cell%5 == 4
- case ESE:
- i := cell % 10
- return i == 4 || i == 8 || i == 9 || cell >= 45
- case SE:
- return cell%10 == 9 || cell >= 45
- case S:
- return cell >= 40
- case SW:
- return cell%10 == 0 || cell >= 45
- case WSW:
- i := cell % 10
- return i == 0 || i == 1 || i == 5 || cell >= 45
- case W:
- return cell%5 == 0
- case WNW:
- i := cell % 10
- return i == 0 || i == 1 || i == 5 || cell < 5
- case NW:
- return cell%10 == 0 || cell < 5
- case N:
- return cell < 10
- case NE:
- return cell%10 == 9 || cell < 5
- case ENE:
- i := cell % 10
- return i == 4 || i == 8 || i == 9 || cell < 5
- }
- return false
-}
-
-/* Rotate a piece 60 degrees clockwise */
-func rotate_piece(piece int) {
- for i := 0; i < 4; i++ {
- piece_def[piece][i] = rotate(piece_def[piece][i])
- }
-}
-
-/* Flip a piece along the horizontal axis */
-func flip_piece(piece int) {
- for i := 0; i < 4; i++ {
- piece_def[piece][i] = flip(piece_def[piece][i])
- }
-}
-
-/* Convenience function to quickly calculate all of the indices for a piece */
-func calc_cell_indices(cell []int8, piece int, index int8) {
- cell[0] = index
- for i := 1; i < 5; i++ {
- cell[i] = shift(cell[i-1], piece_def[piece][i-1])
- }
-}
-
-/* Convenience function to quickly calculate if a piece fits on the board */
-func cells_fit_on_board(cell []int8, piece int) bool {
- return !out_of_bounds(cell[0], piece_def[piece][0]) &&
- !out_of_bounds(cell[1], piece_def[piece][1]) &&
- !out_of_bounds(cell[2], piece_def[piece][2]) &&
- !out_of_bounds(cell[3], piece_def[piece][3])
-}
-
-/* Returns the lowest index of the cells of a piece.
- * I use the lowest index that a piece occupies as the index for looking up
- * the piece in the solve function.
- */
-func minimum_of_cells(cell []int8) int8 {
- minimum := cell[0]
- for i := 1; i < 5; i++ {
- if cell[i] < minimum {
- minimum = cell[i]
- }
- }
- return minimum
-}
-
-/* Calculate the lowest possible open cell if the piece is placed on the board.
- * Used to later reduce the amount of time searching for open cells in the
- * solve function.
- */
-func first_empty_cell(cell []int8, minimum int8) int8 {
- first_empty := minimum
- for first_empty == cell[0] || first_empty == cell[1] ||
- first_empty == cell[2] || first_empty == cell[3] ||
- first_empty == cell[4] {
- first_empty++
- }
- return first_empty
-}
-
-/* Generate the unsigned long long int that will later be anded with the
- * board to determine if it fits.
- */
-func bitmask_from_cells(cell []int8) uint64 {
- var piece_mask uint64
- for i := 0; i < 5; i++ {
- piece_mask |= 1 << uint(cell[i])
- }
- return piece_mask
-}
-
-/* Record the piece and other important information in arrays that will
- * later be used by the solve function.
- */
-func record_piece(piece int, minimum int8, first_empty int8, piece_mask uint64) {
- pieces[piece][minimum][piece_counts[piece][minimum]] = piece_mask
- next_cell[piece][minimum][piece_counts[piece][minimum]] = first_empty
- piece_counts[piece][minimum]++
-}
-
-
-/* Fill the entire board going cell by cell. If any cells are "trapped"
- * they will be left alone.
- */
-func fill_contiguous_space(board []int8, index int8) {
- if board[index] == 1 {
- return
- }
- board[index] = 1
- if !out_of_bounds(index, E) {
- fill_contiguous_space(board, shift(index, E))
- }
- if !out_of_bounds(index, SE) {
- fill_contiguous_space(board, shift(index, SE))
- }
- if !out_of_bounds(index, SW) {
- fill_contiguous_space(board, shift(index, SW))
- }
- if !out_of_bounds(index, W) {
- fill_contiguous_space(board, shift(index, W))
- }
- if !out_of_bounds(index, NW) {
- fill_contiguous_space(board, shift(index, NW))
- }
- if !out_of_bounds(index, NE) {
- fill_contiguous_space(board, shift(index, NE))
- }
-}
-
-
-/* To thin the number of pieces, I calculate if any of them trap any empty
- * cells at the edges. There are only a handful of exceptions where the
- * the board can be solved with the trapped cells. For example: piece 8 can
- * trap 5 cells in the corner, but piece 3 can fit in those cells, or piece 0
- * can split the board in half where both halves are viable.
- */
-func has_island(cell []int8, piece int) bool {
- temp_board := make([]int8, 50)
- var i int
- for i = 0; i < 5; i++ {
- temp_board[cell[i]] = 1
- }
- i = 49
- for temp_board[i] == 1 {
- i--
- }
- fill_contiguous_space(temp_board, int8(i))
- c := 0
- for i = 0; i < 50; i++ {
- if temp_board[i] == 0 {
- c++
- }
- }
- if c == 0 || (c == 5 && piece == 8) || (c == 40 && piece == 8) ||
- (c%5 == 0 && piece == 0) {
- return false
- }
- return true
-}
-
-
-/* Calculate all six rotations of the specified piece at the specified index.
- * We calculate only half of piece 3's rotations. This is because any solution
- * found has an identical solution rotated 180 degrees. Thus we can reduce the
- * number of attempted pieces in the solve algorithm by not including the 180-
- * degree-rotated pieces of ONE of the pieces. I chose piece 3 because it gave
- * me the best time ;)
- */
-func calc_six_rotations(piece, index int) {
- cell := make([]int8, 5)
- for rotation := 0; rotation < 6; rotation++ {
- if piece != 3 || rotation < 3 {
- calc_cell_indices(cell, piece, int8(index))
- if cells_fit_on_board(cell, piece) && !has_island(cell, piece) {
- minimum := minimum_of_cells(cell)
- first_empty := first_empty_cell(cell, minimum)
- piece_mask := bitmask_from_cells(cell)
- record_piece(piece, minimum, first_empty, piece_mask)
- }
- }
- rotate_piece(piece)
- }
-}
-
-/* Calculate every legal rotation for each piece at each board location. */
-func calc_pieces() {
- for piece := 0; piece < 10; piece++ {
- for index := 0; index < 50; index++ {
- calc_six_rotations(piece, index)
- flip_piece(piece)
- calc_six_rotations(piece, index)
- }
- }
-}
-
-
-/* Calculate all 32 possible states for a 5-bit row and all rows that will
- * create islands that follow any of the 32 possible rows. These pre-
- * calculated 5-bit rows will be used to find islands in a partially solved
- * board in the solve function.
- */
-const (
- ROW_MASK = 0x1F
- TRIPLE_MASK = 0x7FFF
-)
-
-var (
- all_rows = [32]int8{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- }
- bad_even_rows [32][32]int8
- bad_odd_rows [32][32]int8
- bad_even_triple [32768]int8
- bad_odd_triple [32768]int8
-)
-
-func rows_bad(row1, row2 int8, even bool) int8 {
- /* even is referring to row1 */
- var row2_shift int8
- /* Test for blockages at same index and shifted index */
- if even {
- row2_shift = ((row2 << 1) & ROW_MASK) | 0x01
- } else {
- row2_shift = (row2 >> 1) | 0x10
- }
- block := ((row1 ^ row2) & row2) & ((row1 ^ row2_shift) & row2_shift)
- /* Test for groups of 0's */
- in_zeroes := false
- group_okay := false
- for i := uint8(0); i < 5; i++ {
- if row1&(1<<i) != 0 {
- if in_zeroes {
- if !group_okay {
- return 1
- }
- in_zeroes = false
- group_okay = false
- }
- } else {
- if !in_zeroes {
- in_zeroes = true
- }
- if (block & (1 << i)) == 0 {
- group_okay = true
- }
- }
- }
- if in_zeroes {
- return boolInt(!group_okay)
- }
- return 0
-}
-
-/* Check for cases where three rows checked sequentially cause a false
- * positive. One scenario is when 5 cells may be surrounded where piece 5
- * or 7 can fit. The other scenario is when piece 2 creates a hook shape.
- */
-func triple_is_okay(row1, row2, row3 int, even bool) bool {
- if even {
- /* There are four cases:
- * row1: 00011 00001 11001 10101
- * row2: 01011 00101 10001 10001
- * row3: 011?? 00110 ????? ?????
- */
- return ((row1 == 0x03) && (row2 == 0x0B) && ((row3 & 0x1C) == 0x0C)) ||
- ((row1 == 0x01) && (row2 == 0x05) && (row3 == 0x06)) ||
- ((row1 == 0x19) && (row2 == 0x11)) ||
- ((row1 == 0x15) && (row2 == 0x11))
- }
- /* There are two cases:
- * row1: 10011 10101
- * row2: 10001 10001
- * row3: ????? ?????
- */
- return ((row1 == 0x13) && (row2 == 0x11)) ||
- ((row1 == 0x15) && (row2 == 0x11))
-}
-
-func calc_rows() {
- for row1 := int8(0); row1 < 32; row1++ {
- for row2 := int8(0); row2 < 32; row2++ {
- bad_even_rows[row1][row2] = rows_bad(row1, row2, true)
- bad_odd_rows[row1][row2] = rows_bad(row1, row2, false)
- }
- }
- for row1 := 0; row1 < 32; row1++ {
- for row2 := 0; row2 < 32; row2++ {
- for row3 := 0; row3 < 32; row3++ {
- result1 := bad_even_rows[row1][row2]
- result2 := bad_odd_rows[row2][row3]
- if result1 == 0 && result2 != 0 && triple_is_okay(row1, row2, row3, true) {
- bad_even_triple[row1+(row2*32)+(row3*1024)] = 0
- } else {
- bad_even_triple[row1+(row2*32)+(row3*1024)] = boolInt(result1 != 0 || result2 != 0)
- }
-
- result1 = bad_odd_rows[row1][row2]
- result2 = bad_even_rows[row2][row3]
- if result1 == 0 && result2 != 0 && triple_is_okay(row1, row2, row3, false) {
- bad_odd_triple[row1+(row2*32)+(row3*1024)] = 0
- } else {
- bad_odd_triple[row1+(row2*32)+(row3*1024)] = boolInt(result1 != 0 || result2 != 0)
- }
- }
- }
- }
-}
-
-
-/* Calculate islands while solving the board.
- */
-func boardHasIslands(cell int8) int8 {
- /* Too low on board, don't bother checking */
- if cell >= 40 {
- return 0
- }
- current_triple := (board >> uint((cell/5)*5)) & TRIPLE_MASK
- if (cell/5)%2 != 0 {
- return bad_odd_triple[current_triple]
- }
- return bad_even_triple[current_triple]
-}
-
-
-/* The recursive solve algorithm. Try to place each permutation in the upper-
- * leftmost empty cell. Mark off available pieces as it goes along.
- * Because the board is a bit mask, the piece number and bit mask must be saved
- * at each successful piece placement. This data is used to create a 50 char
- * array if a solution is found.
- */
-var (
- avail uint16 = 0x03FF
- sol_nums [10]int8
- sol_masks [10]uint64
- solutions [2100][50]int8
- solution_count = 0
-)
-
-func record_solution() {
- for sol_no := 0; sol_no < 10; sol_no++ {
- sol_mask := sol_masks[sol_no]
- for index := 0; index < 50; index++ {
- if sol_mask&1 == 1 {
- solutions[solution_count][index] = sol_nums[sol_no]
- /* Board rotated 180 degrees is a solution too! */
- solutions[solution_count+1][49-index] = sol_nums[sol_no]
- }
- sol_mask = sol_mask >> 1
- }
- }
- solution_count += 2
-}
-
-func solve(depth, cell int8) {
- if solution_count >= *max_solutions {
- return
- }
-
- for board&(1<<uint(cell)) != 0 {
- cell++
- }
-
- for piece := int8(0); piece < 10; piece++ {
- var piece_no_mask uint16 = 1 << uint(piece)
- if avail&piece_no_mask == 0 {
- continue
- }
- avail ^= piece_no_mask
- max_rots := piece_counts[piece][cell]
- piece_mask := pieces[piece][cell]
- for rotation := 0; rotation < max_rots; rotation++ {
- if board&piece_mask[rotation] == 0 {
- sol_nums[depth] = piece
- sol_masks[depth] = piece_mask[rotation]
- if depth == 9 {
- /* Solution found!!!!!11!!ONE! */
- record_solution()
- avail ^= piece_no_mask
- return
- }
- board |= piece_mask[rotation]
- if boardHasIslands(next_cell[piece][cell][rotation]) == 0 {
- solve(depth+1, next_cell[piece][cell][rotation])
- }
- board ^= piece_mask[rotation]
- }
- }
- avail ^= piece_no_mask
- }
-}
-
-/* pretty print a board in the specified hexagonal format */
-func pretty(b *[50]int8) {
- for i := 0; i < 50; i += 10 {
- fmt.Printf("%c %c %c %c %c \n %c %c %c %c %c \n", b[i]+'0', b[i+1]+'0',
- b[i+2]+'0', b[i+3]+'0', b[i+4]+'0', b[i+5]+'0', b[i+6]+'0',
- b[i+7]+'0', b[i+8]+'0', b[i+9]+'0')
- }
- fmt.Printf("\n")
-}
-
-/* Find smallest and largest solutions */
-func smallest_largest() (smallest, largest *[50]int8) {
- smallest = &solutions[0]
- largest = &solutions[0]
- for i := 1; i < solution_count; i++ {
- candidate := &solutions[i]
- for j, s := range *smallest {
- c := candidate[j]
- if c == s {
- continue
- }
- if c < s {
- smallest = candidate
- }
- break
- }
- for j, s := range *largest {
- c := candidate[j]
- if c == s {
- continue
- }
- if c > s {
- largest = candidate
- }
- break
- }
- }
- return
-}
-
-func main() {
- flag.Parse()
- calc_pieces()
- calc_rows()
- solve(0, 0)
- fmt.Printf("%d solutions found\n\n", solution_count)
- smallest, largest := smallest_largest()
- pretty(smallest)
- pretty(largest)
-}
+++ /dev/null
-2098 solutions found
-
-0 0 0 0 1
- 2 2 2 0 1
-2 6 6 1 1
- 2 6 1 5 5
-8 6 5 5 5
- 8 6 3 3 3
-4 8 8 9 3
- 4 4 8 9 3
-4 7 4 7 9
- 7 7 7 9 9
-
-9 9 9 9 8
- 9 6 6 8 5
-6 6 8 8 5
- 6 8 2 5 5
-7 7 7 2 5
- 7 4 7 2 0
-1 4 2 2 0
- 1 4 4 0 3
-1 4 0 0 3
- 1 1 3 3 3
-
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
- * The Great Computer Language Shootout
- * http://shootout.alioth.debian.org/
- *
- * contributed by Christoph Bauer
- *
- */
-
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#define pi 3.141592653589793
-#define solar_mass (4 * pi * pi)
-#define days_per_year 365.24
-
-struct planet {
- double x, y, z;
- double vx, vy, vz;
- double mass;
-};
-
-void advance(int nbodies, struct planet * bodies, double dt)
-{
- int i, j;
-
- for (i = 0; i < nbodies; i++) {
- struct planet * b = &(bodies[i]);
- for (j = i + 1; j < nbodies; j++) {
- struct planet * b2 = &(bodies[j]);
- double dx = b->x - b2->x;
- double dy = b->y - b2->y;
- double dz = b->z - b2->z;
- double distance = sqrt(dx * dx + dy * dy + dz * dz);
- double mag = dt / (distance * distance * distance);
- b->vx -= dx * b2->mass * mag;
- b->vy -= dy * b2->mass * mag;
- b->vz -= dz * b2->mass * mag;
- b2->vx += dx * b->mass * mag;
- b2->vy += dy * b->mass * mag;
- b2->vz += dz * b->mass * mag;
- }
- }
- for (i = 0; i < nbodies; i++) {
- struct planet * b = &(bodies[i]);
- b->x += dt * b->vx;
- b->y += dt * b->vy;
- b->z += dt * b->vz;
- }
-}
-
-double energy(int nbodies, struct planet * bodies)
-{
- double e;
- int i, j;
-
- e = 0.0;
- for (i = 0; i < nbodies; i++) {
- struct planet * b = &(bodies[i]);
- e += 0.5 * b->mass * (b->vx * b->vx + b->vy * b->vy + b->vz * b->vz);
- for (j = i + 1; j < nbodies; j++) {
- struct planet * b2 = &(bodies[j]);
- double dx = b->x - b2->x;
- double dy = b->y - b2->y;
- double dz = b->z - b2->z;
- double distance = sqrt(dx * dx + dy * dy + dz * dz);
- e -= (b->mass * b2->mass) / distance;
- }
- }
- return e;
-}
-
-void offset_momentum(int nbodies, struct planet * bodies)
-{
- double px = 0.0, py = 0.0, pz = 0.0;
- int i;
- for (i = 0; i < nbodies; i++) {
- px += bodies[i].vx * bodies[i].mass;
- py += bodies[i].vy * bodies[i].mass;
- pz += bodies[i].vz * bodies[i].mass;
- }
- bodies[0].vx = - px / solar_mass;
- bodies[0].vy = - py / solar_mass;
- bodies[0].vz = - pz / solar_mass;
-}
-
-#define NBODIES 5
-struct planet bodies[NBODIES] = {
- { /* sun */
- 0, 0, 0, 0, 0, 0, solar_mass
- },
- { /* jupiter */
- 4.84143144246472090e+00,
- -1.16032004402742839e+00,
- -1.03622044471123109e-01,
- 1.66007664274403694e-03 * days_per_year,
- 7.69901118419740425e-03 * days_per_year,
- -6.90460016972063023e-05 * days_per_year,
- 9.54791938424326609e-04 * solar_mass
- },
- { /* saturn */
- 8.34336671824457987e+00,
- 4.12479856412430479e+00,
- -4.03523417114321381e-01,
- -2.76742510726862411e-03 * days_per_year,
- 4.99852801234917238e-03 * days_per_year,
- 2.30417297573763929e-05 * days_per_year,
- 2.85885980666130812e-04 * solar_mass
- },
- { /* uranus */
- 1.28943695621391310e+01,
- -1.51111514016986312e+01,
- -2.23307578892655734e-01,
- 2.96460137564761618e-03 * days_per_year,
- 2.37847173959480950e-03 * days_per_year,
- -2.96589568540237556e-05 * days_per_year,
- 4.36624404335156298e-05 * solar_mass
- },
- { /* neptune */
- 1.53796971148509165e+01,
- -2.59193146099879641e+01,
- 1.79258772950371181e-01,
- 2.68067772490389322e-03 * days_per_year,
- 1.62824170038242295e-03 * days_per_year,
- -9.51592254519715870e-05 * days_per_year,
- 5.15138902046611451e-05 * solar_mass
- }
-};
-
-int main(int argc, char ** argv)
-{
- int n = atoi(argv[1]);
- int i;
-
- offset_momentum(NBODIES, bodies);
- printf ("%.9f\n", energy(NBODIES, bodies));
- for (i = 1; i <= n; i++)
- advance(NBODIES, bodies, 0.01);
- printf ("%.9f\n", energy(NBODIES, bodies));
- return 0;
-}
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- * based on C program by Christoph Bauer
- */
-
-package main
-
-import (
- "flag"
- "fmt"
- "math"
-)
-
-var n = flag.Int("n", 1000, "number of iterations")
-
-type Body struct {
- x, y, z, vx, vy, vz, mass float64
-}
-
-const (
- solarMass = 4 * math.Pi * math.Pi
- daysPerYear = 365.24
-)
-
-func (b *Body) offsetMomentum(px, py, pz float64) {
- b.vx = -px / solarMass
- b.vy = -py / solarMass
- b.vz = -pz / solarMass
-}
-
-type System []*Body
-
-func NewSystem(body []Body) System {
- n := make(System, len(body))
- for i := 0; i < len(body); i++ {
- n[i] = new(Body) // copy to avoid overwriting the inputs
- *n[i] = body[i]
- }
- var px, py, pz float64
- for _, body := range n {
- px += body.vx * body.mass
- py += body.vy * body.mass
- pz += body.vz * body.mass
- }
- n[0].offsetMomentum(px, py, pz)
- return n
-}
-
-func (sys System) energy() float64 {
- var e float64
- for i, body := range sys {
- e += 0.5 * body.mass *
- (body.vx*body.vx + body.vy*body.vy + body.vz*body.vz)
- for j := i + 1; j < len(sys); j++ {
- body2 := sys[j]
- dx := body.x - body2.x
- dy := body.y - body2.y
- dz := body.z - body2.z
- distance := math.Sqrt(dx*dx + dy*dy + dz*dz)
- e -= (body.mass * body2.mass) / distance
- }
- }
- return e
-}
-
-func (sys System) advance(dt float64) {
- for i, body := range sys {
- for j := i + 1; j < len(sys); j++ {
- body2 := sys[j]
- dx := body.x - body2.x
- dy := body.y - body2.y
- dz := body.z - body2.z
-
- dSquared := dx*dx + dy*dy + dz*dz
- distance := math.Sqrt(dSquared)
- mag := dt / (dSquared * distance)
-
- body.vx -= dx * body2.mass * mag
- body.vy -= dy * body2.mass * mag
- body.vz -= dz * body2.mass * mag
-
- body2.vx += dx * body.mass * mag
- body2.vy += dy * body.mass * mag
- body2.vz += dz * body.mass * mag
- }
- }
-
- for _, body := range sys {
- body.x += dt * body.vx
- body.y += dt * body.vy
- body.z += dt * body.vz
- }
-}
-
-var (
- jupiter = Body{
- x: 4.84143144246472090e+00,
- y: -1.16032004402742839e+00,
- z: -1.03622044471123109e-01,
- vx: 1.66007664274403694e-03 * daysPerYear,
- vy: 7.69901118419740425e-03 * daysPerYear,
- vz: -6.90460016972063023e-05 * daysPerYear,
- mass: 9.54791938424326609e-04 * solarMass,
- }
- saturn = Body{
- x: 8.34336671824457987e+00,
- y: 4.12479856412430479e+00,
- z: -4.03523417114321381e-01,
- vx: -2.76742510726862411e-03 * daysPerYear,
- vy: 4.99852801234917238e-03 * daysPerYear,
- vz: 2.30417297573763929e-05 * daysPerYear,
- mass: 2.85885980666130812e-04 * solarMass,
- }
- uranus = Body{
- x: 1.28943695621391310e+01,
- y: -1.51111514016986312e+01,
- z: -2.23307578892655734e-01,
- vx: 2.96460137564761618e-03 * daysPerYear,
- vy: 2.37847173959480950e-03 * daysPerYear,
- vz: -2.96589568540237556e-05 * daysPerYear,
- mass: 4.36624404335156298e-05 * solarMass,
- }
- neptune = Body{
- x: 1.53796971148509165e+01,
- y: -2.59193146099879641e+01,
- z: 1.79258772950371181e-01,
- vx: 2.68067772490389322e-03 * daysPerYear,
- vy: 1.62824170038242295e-03 * daysPerYear,
- vz: -9.51592254519715870e-05 * daysPerYear,
- mass: 5.15138902046611451e-05 * solarMass,
- }
- sun = Body{
- mass: solarMass,
- }
-)
-
-func main() {
- flag.Parse()
-
- system := NewSystem([]Body{sun, jupiter, saturn, uranus, neptune})
- fmt.Printf("%.9f\n", system.energy())
- for i := 0; i < *n; i++ {
- system.advance(0.01)
- }
- fmt.Printf("%.9f\n", system.energy())
-}
+++ /dev/null
--0.169075164
--0.169087605
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- http://shootout.alioth.debian.org/
-
- contributed by Paolo Bonzini & Sean Bartlett
- modified by Michael Mellor
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <gmp.h>
-
-static mpz_t numer, accum, denom, tmp1, tmp2;
-
-static int extract_digit()
-{
- if (mpz_cmp(numer, accum) > 0)
- return -1;
-
- /* Compute (numer * 3 + accum) / denom */
- mpz_mul_2exp(tmp1, numer, 1);
- mpz_add(tmp1, tmp1, numer);
- mpz_add(tmp1, tmp1, accum);
- mpz_fdiv_qr(tmp1, tmp2, tmp1, denom);
-
- /* Now, if (numer * 4 + accum) % denom... */
- mpz_add(tmp2, tmp2, numer);
-
- /* ... is normalized, then the two divisions have the same result. */
- if (mpz_cmp(tmp2, denom) >= 0)
- return -1;
-
- return mpz_get_ui(tmp1);
-}
-
-static void next_term(unsigned int k)
-{
- unsigned int y2 = k*2 + 1;
-
- mpz_mul_2exp(tmp1, numer, 1);
- mpz_add(accum, accum, tmp1);
- mpz_mul_ui(accum, accum, y2);
- mpz_mul_ui(numer, numer, k);
- mpz_mul_ui(denom, denom, y2);
-}
-
-static void eliminate_digit(unsigned int d)
-{
- mpz_submul_ui(accum, denom, d);
- mpz_mul_ui(accum, accum, 10);
- mpz_mul_ui(numer, numer, 10);
-}
-
-static void pidigits(unsigned int n)
-{
- int d;
- unsigned int i = 0, k = 0, m;
- mpz_init(tmp1);
- mpz_init(tmp2);
- mpz_init_set_ui(numer, 1);
- mpz_init_set_ui(accum, 0);
- mpz_init_set_ui(denom, 1);
-
- for(;;)
- {
- do {
- k++;
- next_term(k);
- d = extract_digit();
- } while(d == -1);
-
- putchar(d + '0');
-
- i++;
- m = i%10;
- if(m == 0)
- printf("\t:%d\n", i);
- if(i >= n)
- break;
- eliminate_digit(d);
- }
-
- if(m) {
- m = 10 - m;
- while(m--)
- putchar(' ');
- printf("\t:%d\n", n);
- }
-}
-
-int main(int argc, char **argv)
-{
- pidigits(argc > 1 ? atoi(argv[1]) : 27);
- return 0;
-}
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- * based on pidigits.c (by Paolo Bonzini & Sean Bartlett,
- * modified by Michael Mellor)
- */
-
-package main
-
-import (
- "big"
- "flag"
- "fmt"
-)
-
-var n = flag.Int("n", 27, "number of digits")
-var silent = flag.Bool("s", false, "don't print result")
-
-var (
- tmp1 = big.NewInt(0)
- tmp2 = big.NewInt(0)
- tmp3 = big.NewInt(0)
- y2 = big.NewInt(0)
- bigk = big.NewInt(0)
- numer = big.NewInt(1)
- accum = big.NewInt(0)
- denom = big.NewInt(1)
- ten = big.NewInt(10)
-)
-
-func extract_digit() int64 {
- if numer.Cmp(accum) > 0 {
- return -1
- }
-
- // Compute (numer * 3 + accum) / denom
- tmp1.Lsh(numer, 1)
- tmp1.Add(tmp1, numer)
- tmp1.Add(tmp1, accum)
- tmp1.DivMod(tmp1, denom, tmp2)
-
- // Now, if (numer * 4 + accum) % denom...
- tmp2.Add(tmp2, numer)
-
- // ... is normalized, then the two divisions have the same result.
- if tmp2.Cmp(denom) >= 0 {
- return -1
- }
-
- return tmp1.Int64()
-}
-
-func next_term(k int64) {
- y2.SetInt64(k*2 + 1)
- bigk.SetInt64(k)
-
- tmp1.Lsh(numer, 1)
- accum.Add(accum, tmp1)
- accum.Mul(accum, y2)
- numer.Mul(numer, bigk)
- denom.Mul(denom, y2)
-}
-
-func eliminate_digit(d int64) {
- tmp3.SetInt64(d)
- accum.Sub(accum, tmp3.Mul(denom, tmp3))
- accum.Mul(accum, ten)
- numer.Mul(numer, ten)
-}
-
-func printf(s string, arg ...interface{}) {
- if !*silent {
- fmt.Printf(s, arg...)
- }
-}
-
-func main() {
- flag.Parse()
-
- var m int // 0 <= m < 10
- for i, k := 0, int64(0); ; {
- d := int64(-1)
- for d < 0 {
- k++
- next_term(k)
- d = extract_digit()
- }
-
- printf("%c", d+'0')
-
- i++
- m = i % 10
- if m == 0 {
- printf("\t:%d\n", i)
- }
- if i >= *n {
- break
- }
- eliminate_digit(d)
- }
-
- if m > 0 {
- printf("%s\t:%d\n", " "[m:10], *n)
- }
-}
+++ /dev/null
-3141592653 :10
-5897932384 :20
-6264338 :27
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- */
-
-package main
-
-import (
- "fmt"
- "io/ioutil"
- "os"
- "runtime"
- "regexp"
-)
-
-var variants = []string{
- "agggtaaa|tttaccct",
- "[cgt]gggtaaa|tttaccc[acg]",
- "a[act]ggtaaa|tttacc[agt]t",
- "ag[act]gtaaa|tttac[agt]ct",
- "agg[act]taaa|ttta[agt]cct",
- "aggg[acg]aaa|ttt[cgt]ccct",
- "agggt[cgt]aa|tt[acg]accct",
- "agggta[cgt]a|t[acg]taccct",
- "agggtaa[cgt]|[acg]ttaccct",
-}
-
-type Subst struct {
- pat, repl string
-}
-
-var substs = []Subst{
- Subst{"B", "(c|g|t)"},
- Subst{"D", "(a|g|t)"},
- Subst{"H", "(a|c|t)"},
- Subst{"K", "(g|t)"},
- Subst{"M", "(a|c)"},
- Subst{"N", "(a|c|g|t)"},
- Subst{"R", "(a|g)"},
- Subst{"S", "(c|g)"},
- Subst{"V", "(a|c|g)"},
- Subst{"W", "(a|t)"},
- Subst{"Y", "(c|t)"},
-}
-
-func countMatches(pat string, bytes []byte) int {
- re := regexp.MustCompile(pat)
- n := 0
- for {
- e := re.FindIndex(bytes)
- if e == nil {
- break
- }
- n++
- bytes = bytes[e[1]:]
- }
- return n
-}
-
-func main() {
- runtime.GOMAXPROCS(4)
- bytes, err := ioutil.ReadAll(os.Stdin)
- if err != nil {
- fmt.Fprintf(os.Stderr, "can't read input: %s\n", err)
- os.Exit(2)
- }
- ilen := len(bytes)
- // Delete the comment lines and newlines
- bytes = regexp.MustCompile("(>[^\n]+)?\n").ReplaceAll(bytes, []byte{})
- clen := len(bytes)
-
- mresults := make([]chan int, len(variants))
- for i, s := range variants {
- ch := make(chan int)
- mresults[i] = ch
- go func(ss string) {
- ch <- countMatches(ss, bytes)
- }(s)
- }
-
- lenresult := make(chan int)
- bb := bytes
- go func() {
- for _, sub := range substs {
- bb = regexp.MustCompile(sub.pat).ReplaceAll(bb, []byte(sub.repl))
- }
- lenresult <- len(bb)
- }()
-
- for i, s := range variants {
- fmt.Printf("%s %d\n", s, <-mresults[i])
- }
- fmt.Printf("\n%d\n%d\n%d\n", ilen, clen, <-lenresult)
-}
+++ /dev/null
-agggtaaa|tttaccct 1
-[cgt]gggtaaa|tttaccc[acg] 0
-a[act]ggtaaa|tttacc[agt]t 0
-ag[act]gtaaa|tttac[agt]ct 0
-agg[act]taaa|ttta[agt]cct 1
-aggg[acg]aaa|ttt[cgt]ccct 0
-agggt[cgt]aa|tt[acg]accct 0
-agggta[cgt]a|t[acg]taccct 0
-agggtaa[cgt]|[acg]ttaccct 2
-
-10245
-10000
-13348
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
-** The Computer Language Shootout
-** http://shootout.alioth.debian.org/
-** contributed by Mike Pall
-**
-** regex-dna benchmark using PCRE
-**
-** compile with:
-** gcc -O3 -fomit-frame-pointer -o regexdna regexdna.c -lpcre
-*/
-
-#define __USE_STRING_INLINES
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <pcre.h>
-
-typedef struct fbuf {
- char *buf;
- size_t size, len;
-} fbuf_t;
-
-static void fb_init(fbuf_t *b)
-{
- b->buf = NULL;
- b->len = b->size = 0;
-}
-
-static char *fb_need(fbuf_t *b, size_t need)
-{
- need += b->len;
- if (need > b->size) {
- if (b->size == 0) b->size = need;
- else while (need > b->size) b->size += b->size;
- if (!(b->buf = realloc(b->buf, b->size))) exit(1);
- }
- return b->buf+b->len;
-}
-
-#define FB_MINREAD (3<<16)
-
-/* Read all of a stdio stream into dst buffer. */
-static size_t fb_readall(fbuf_t *dst, FILE *fp)
-{
- char *dp;
- int n;
- for (dp = fb_need(dst, FB_MINREAD);
- (n = fread(dp, 1, dst->size-dst->len, fp)) > 0;
- dp = fb_need(dst, FB_MINREAD)) dst->len += n;
- if (ferror(fp)) exit(1);
- return dst->len;
-}
-
-/* Substitute pattern p with replacement r, copying from src to dst buffer. */
-static size_t fb_subst(fbuf_t *dst, fbuf_t *src, const char *p, const char *r)
-{
- pcre *re;
- pcre_extra *re_ex;
- const char *re_e;
- char *dp;
- int re_eo, m[3], pos, rlen, clen;
- if (!(re = pcre_compile(p, PCRE_CASELESS, &re_e, &re_eo, NULL))) exit(1);
- re_ex = pcre_study(re, 0, &re_e);
- for (dst->len = 0, rlen = strlen(r), pos = 0;
- pcre_exec(re, re_ex, src->buf, src->len, pos, 0, m, 3) >= 0;
- pos = m[1]) {
- clen = m[0]-pos;
- dp = fb_need(dst, clen+rlen);
- dst->len += clen+rlen;
- memcpy(dp, src->buf+pos, clen);
- memcpy(dp+clen, r, rlen);
- }
- clen = src->len-pos;
- dp = fb_need(dst, clen);
- dst->len += clen;
- memcpy(dp, src->buf+pos, clen);
- return dst->len;
-}
-
-/* Count all matches with pattern p in src buffer. */
-static int fb_countmatches(fbuf_t *src, const char *p)
-{
- pcre *re;
- pcre_extra *re_ex;
- const char *re_e;
- int re_eo, m[3], pos, count;
- if (!(re = pcre_compile(p, PCRE_CASELESS, &re_e, &re_eo, NULL))) exit(1);
- re_ex = pcre_study(re, 0, &re_e);
- for (count = 0, pos = 0;
- pcre_exec(re, re_ex, src->buf, src->len, pos, 0, m, 3) >= 0;
- pos = m[1]) count++;
- return count;
-}
-
-static const char *variants[] = {
- "agggtaaa|tttaccct", "[cgt]gggtaaa|tttaccc[acg]",
- "a[act]ggtaaa|tttacc[agt]t", "ag[act]gtaaa|tttac[agt]ct",
- "agg[act]taaa|ttta[agt]cct", "aggg[acg]aaa|ttt[cgt]ccct",
- "agggt[cgt]aa|tt[acg]accct", "agggta[cgt]a|t[acg]taccct",
- "agggtaa[cgt]|[acg]ttaccct", NULL
-};
-
-static const char *subst[] = {
- "B", "(c|g|t)", "D", "(a|g|t)", "H", "(a|c|t)", "K", "(g|t)",
- "M", "(a|c)", "N", "(a|c|g|t)", "R", "(a|g)", "S", "(c|g)",
- "V", "(a|c|g)", "W", "(a|t)", "Y", "(c|t)", NULL
-};
-
-int main(int argc, char **argv)
-{
- fbuf_t seq[2];
- const char **pp;
- size_t ilen, clen, slen;
- int flip;
- fb_init(&seq[0]);
- fb_init(&seq[1]);
- ilen = fb_readall(&seq[0], stdin);
- clen = fb_subst(&seq[1], &seq[0], ">.*|\n", "");
- for (pp = variants; *pp; pp++)
- printf("%s %d\n", *pp, fb_countmatches(&seq[1], *pp));
- for (slen = 0, flip = 1, pp = subst; *pp; pp += 2, flip = 1-flip)
- slen = fb_subst(&seq[1-flip], &seq[flip], *pp, pp[1]);
- printf("\n%zu\n%zu\n%zu\n", ilen, clen, slen);
- return 0;
-}
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- */
-
-package main
-
-import (
- "fmt"
- "io/ioutil"
- "os"
- "regexp"
-)
-
-var variants = []string{
- "agggtaaa|tttaccct",
- "[cgt]gggtaaa|tttaccc[acg]",
- "a[act]ggtaaa|tttacc[agt]t",
- "ag[act]gtaaa|tttac[agt]ct",
- "agg[act]taaa|ttta[agt]cct",
- "aggg[acg]aaa|ttt[cgt]ccct",
- "agggt[cgt]aa|tt[acg]accct",
- "agggta[cgt]a|t[acg]taccct",
- "agggtaa[cgt]|[acg]ttaccct",
-}
-
-type Subst struct {
- pat, repl string
-}
-
-var substs = []Subst{
- Subst{"B", "(c|g|t)"},
- Subst{"D", "(a|g|t)"},
- Subst{"H", "(a|c|t)"},
- Subst{"K", "(g|t)"},
- Subst{"M", "(a|c)"},
- Subst{"N", "(a|c|g|t)"},
- Subst{"R", "(a|g)"},
- Subst{"S", "(c|g)"},
- Subst{"V", "(a|c|g)"},
- Subst{"W", "(a|t)"},
- Subst{"Y", "(c|t)"},
-}
-
-func countMatches(pat string, bytes []byte) int {
- re := regexp.MustCompile(pat)
- n := 0
- for {
- e := re.FindIndex(bytes)
- if len(e) == 0 {
- break
- }
- n++
- bytes = bytes[e[1]:]
- }
- return n
-}
-
-func main() {
- bytes, err := ioutil.ReadAll(os.Stdin)
- if err != nil {
- fmt.Fprintf(os.Stderr, "can't read input: %s\n", err)
- os.Exit(2)
- }
- ilen := len(bytes)
- // Delete the comment lines and newlines
- bytes = regexp.MustCompile("(>[^\n]+)?\n").ReplaceAll(bytes, []byte{})
- clen := len(bytes)
- for _, s := range variants {
- fmt.Printf("%s %d\n", s, countMatches(s, bytes))
- }
- for _, sub := range substs {
- bytes = regexp.MustCompile(sub.pat).ReplaceAll(bytes, []byte(sub.repl))
- }
- fmt.Printf("\n%d\n%d\n%d\n", ilen, clen, len(bytes))
-}
+++ /dev/null
-agggtaaa|tttaccct 1
-[cgt]gggtaaa|tttaccc[acg] 0
-a[act]ggtaaa|tttacc[agt]t 0
-ag[act]gtaaa|tttac[agt]ct 0
-agg[act]taaa|ttta[agt]cct 1
-aggg[acg]aaa|ttt[cgt]ccct 0
-agggt[cgt]aa|tt[acg]accct 0
-agggta[cgt]a|t[acg]taccct 0
-agggtaa[cgt]|[acg]ttaccct 2
-
-10245
-10000
-13348
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
- * The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org
- *
- * contributed by Bob W
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#define JBFSIZE 82 // line input buffer size
-#define QBFSIZE 5200 // output buffer initial size
-#define Z16 "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
-#define V32 "\0TVGH\0\0CD\0\0M\0KN\0\0\0YSA\0BW\0R\0\0\0\0\0\0"
-#define VALL Z16 Z16 Z16 Z16 V32 V32 Z16 Z16 Z16 Z16 Z16 Z16 Z16 Z16
-
-int errex(char *s, int n) { // error message+value, return 1
- fprintf(stderr,"\n*** Error: %s [%d]!\n", s, n);
- return 1;
-}
-
-int main () { // ***** main *****
- char *pj, *pq, *pr; // buffer pointers: inp,out,/out
- char *jjj = malloc(JBFSIZE); // allocate input line buffer
- char *qqq = malloc(QBFSIZE); // output buffer (dyn. size)
- char *pqstop = qqq+QBFSIZE; // end-of-buffer pointer
- char xtab[256] = VALL; // char conversion table
-
- if (!jjj || !qqq)
- return errex("Buffer allocation", !jjj + !qqq);
- pj = fgets(jjj,JBFSIZE,stdin); // fetch 1st line
- if (!pj)
- return errex("No input data",0);
- if (*jjj != '>')
- return errex("1st char not '>'", 0);
-
- while (pj) { // MAIN LOOP: process data
- fputs(jjj, stdout); // output ID line
-
- for (pq=qqq+1, pr=pqstop; ; pq++) { // LOOP: fill output buffer
- pj = fgets(jjj, JBFSIZE, stdin); // get line from stdin
- if (!pj || (*jjj=='>')) break; // EOF or new ID line
- if (pr <= (pq+61)) { // need to resize buffer
- char *newstop = pqstop + 12777888;
- char *newptr = realloc(qqq, newstop-qqq);
- if (!newptr)
- return errex("Out of memory", 0);
- if (newptr != qqq) { // new base: adj. pointers
- size_t x = newptr-qqq; // offset for pointer update
- pq+=x; pr+=x; qqq+=x;
- newstop+=x; pqstop+=x;
- }
- pr = __builtin_memmove(newstop-(pqstop-pr), pr, pqstop-pr);
- pqstop = newstop; // buffer resize complete
- }
- while (*pj) { // LOOP: conv. & revert line
- char c = xtab[(unsigned char)(*pj++)];
- if (c) // conversion valid
- *(--pr) = c;
- }
- }
-
- for (pq = qqq; pr<pqstop; ) { // LOOP: format output
- size_t x = (pqstop-pr)<60 ? pqstop-pr : 60;
- __builtin_memmove(pq,pr,x); // move line to free space
- pr+=x; pq+=x; *(pq++) = 0xA; // adjust pointers, add LF
- }
- fwrite(qqq, 1, pq-qqq, stdout); // output converted data
- }
- return 0;
-}
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- */
-
-package main
-
-import (
- "bufio"
- "os"
-)
-
-const lineSize = 60
-
-var complement = [256]uint8{
- 'A': 'T', 'a': 'T',
- 'C': 'G', 'c': 'G',
- 'G': 'C', 'g': 'C',
- 'T': 'A', 't': 'A',
- 'U': 'A', 'u': 'A',
- 'M': 'K', 'm': 'K',
- 'R': 'Y', 'r': 'Y',
- 'W': 'W', 'w': 'W',
- 'S': 'S', 's': 'S',
- 'Y': 'R', 'y': 'R',
- 'K': 'M', 'k': 'M',
- 'V': 'B', 'v': 'B',
- 'H': 'D', 'h': 'D',
- 'D': 'H', 'd': 'H',
- 'B': 'V', 'b': 'V',
- 'N': 'N', 'n': 'N',
-}
-
-func main() {
- in := bufio.NewReader(os.Stdin)
- buf := make([]byte, 1024*1024)
- line, err := in.ReadSlice('\n')
- for err == nil {
- os.Stdout.Write(line)
-
- // Accumulate reversed complement in buf[w:]
- nchar := 0
- w := len(buf)
- for {
- line, err = in.ReadSlice('\n')
- if err != nil || line[0] == '>' {
- break
- }
- line = line[0 : len(line)-1]
- nchar += len(line)
- if len(line)+nchar/60+128 >= w {
- nbuf := make([]byte, len(buf)*5)
- copy(nbuf[len(nbuf)-len(buf):], buf)
- w += len(nbuf) - len(buf)
- buf = nbuf
- }
-
- // This loop is the bottleneck.
- for _, c := range line {
- w--
- buf[w] = complement[c]
- }
- }
-
- // Copy down to beginning of buffer, inserting newlines.
- // The loop left room for the newlines and 128 bytes of padding.
- i := 0
- for j := w; j < len(buf); j += 60 {
- n := copy(buf[i:i+60], buf[j:])
- buf[i+n] = '\n'
- i += n + 1
- }
- os.Stdout.Write(buf[0:i])
- }
-}
+++ /dev/null
->ONE Homo sapiens alu
-CGGAGTCTCGCTCTGTCGCCCAGGCTGGAGTGCAGTGGCGCGATCTCGGCTCACTGCAAC
-CTCCGCCTCCCGGGTTCAAGCGATTCTCCTGCCTCAGCCTCCCGAGTAGCTGGGATTACA
-GGCGCGCGCCACCACGCCCGGCTAATTTTTGTATTTTTAGTAGAGACGGGGTTTCACCAT
-GTTGGCCAGGCTGGTCTCGAACTCCTGACCTCAGGTGATCCGCCCGCCTCGGCCTCCCAA
-AGTGCTGGGATTACAGGCGTGAGCCACCGCGCCCGGCCTTTTTGAGACGGAGTCTCGCTC
-TGTCGCCCAGGCTGGAGTGCAGTGGCGCGATCTCGGCTCACTGCAACCTCCGCCTCCCGG
-GTTCAAGCGATTCTCCTGCCTCAGCCTCCCGAGTAGCTGGGATTACAGGCGCGCGCCACC
-ACGCCCGGCTAATTTTTGTATTTTTAGTAGAGACGGGGTTTCACCATGTTGGCCAGGCTG
-GTCTCGAACTCCTGACCTCAGGTGATCCGCCCGCCTCGGCCTCCCAAAGTGCTGGGATTA
-CAGGCGTGAGCCACCGCGCCCGGCCTTTTTGAGACGGAGTCTCGCTCTGTCGCCCAGGCT
-GGAGTGCAGTGGCGCGATCTCGGCTCACTGCAACCTCCGCCTCCCGGGTTCAAGCGATTC
-TCCTGCCTCAGCCTCCCGAGTAGCTGGGATTACAGGCGCGCGCCACCACGCCCGGCTAAT
-TTTTGTATTTTTAGTAGAGACGGGGTTTCACCATGTTGGCCAGGCTGGTCTCGAACTCCT
-GACCTCAGGTGATCCGCCCGCCTCGGCCTCCCAAAGTGCTGGGATTACAGGCGTGAGCCA
-CCGCGCCCGGCCTTTTTGAGACGGAGTCTCGCTCTGTCGCCCAGGCTGGAGTGCAGTGGC
-GCGATCTCGGCTCACTGCAACCTCCGCCTCCCGGGTTCAAGCGATTCTCCTGCCTCAGCC
-TCCCGAGTAGCTGGGATTACAGGCGCGCGCCACCACGCCCGGCTAATTTTTGTATTTTTA
-GTAGAGACGGGGTTTCACCATGTTGGCCAGGCTGGTCTCGAACTCCTGACCTCAGGTGAT
-CCGCCCGCCTCGGCCTCCCAAAGTGCTGGGATTACAGGCGTGAGCCACCGCGCCCGGCCT
-TTTTGAGACGGAGTCTCGCTCTGTCGCCCAGGCTGGAGTGCAGTGGCGCGATCTCGGCTC
-ACTGCAACCTCCGCCTCCCGGGTTCAAGCGATTCTCCTGCCTCAGCCTCCCGAGTAGCTG
-GGATTACAGGCGCGCGCCACCACGCCCGGCTAATTTTTGTATTTTTAGTAGAGACGGGGT
-TTCACCATGTTGGCCAGGCTGGTCTCGAACTCCTGACCTCAGGTGATCCGCCCGCCTCGG
-CCTCCCAAAGTGCTGGGATTACAGGCGTGAGCCACCGCGCCCGGCCTTTTTGAGACGGAG
-TCTCGCTCTGTCGCCCAGGCTGGAGTGCAGTGGCGCGATCTCGGCTCACTGCAACCTCCG
-CCTCCCGGGTTCAAGCGATTCTCCTGCCTCAGCCTCCCGAGTAGCTGGGATTACAGGCGC
-GCGCCACCACGCCCGGCTAATTTTTGTATTTTTAGTAGAGACGGGGTTTCACCATGTTGG
-CCAGGCTGGTCTCGAACTCCTGACCTCAGGTGATCCGCCCGCCTCGGCCTCCCAAAGTGC
-TGGGATTACAGGCGTGAGCCACCGCGCCCGGCCTTTTTGAGACGGAGTCTCGCTCTGTCG
-CCCAGGCTGGAGTGCAGTGGCGCGATCTCGGCTCACTGCAACCTCCGCCTCCCGGGTTCA
-AGCGATTCTCCTGCCTCAGCCTCCCGAGTAGCTGGGATTACAGGCGCGCGCCACCACGCC
-CGGCTAATTTTTGTATTTTTAGTAGAGACGGGGTTTCACCATGTTGGCCAGGCTGGTCTC
-GAACTCCTGACCTCAGGTGATCCGCCCGCCTCGGCCTCCCAAAGTGCTGGGATTACAGGC
-GTGAGCCACCGCGCCCGGCC
->TWO IUB ambiguity codes
-TAGGDHACHATCRGTRGVTGAGWTATGYTGCTGTCABACDWVTRTAAGAVVAGATTTNDA
-GASMTCTGCATBYTTCAAKTTACMTATTACTTCATARGGYACMRTGTTTTYTATACVAAT
-TTCTAKGDACKADACTATATNTANTCGTTCACGBCGYSCBHTANGGTGATCGTAAAGTAA
-CTATBAAAAGATSTGWATBCSGAKHTTABBAACGTSYCATGCAAVATKTSKTASCGGAAT
-WVATTTNTCCTTCTTCTTDDAGTGGTTGGATACVGTTAYMTMTBTACTTTHAGCTAGBAA
-AAGAGKAAGTTRATWATCAGATTMDDTTTAAAVAAATATTKTCYTAAATTVCNKTTRACG
-ADTATATTTATGATSADSCAATAWAGCGRTAGTGTAAGTGACVGRADYGTGCTACHVSDT
-CTVCARCSYTTAATATARAAAATTTAATTTACDAATTGBACAGTAYAABATBTGCAGBVG
-TGATGGDCAAAATBNMSTTABKATTGGSTCCTAGBTTACTTGTTTAGTTTATHCGATSTA
-AAGTCGAKAAASTGTTTTAWAKCAGATATACTTTTMTTTTGBATAGAGGAGCMATGATRA
-AAGGNCAYDCCDDGAAAGTHGBTAATCKYTBTACBGTBCTTTTTGDTAASSWTAAWAARA
-TTGGCTAAGWGRADTYACATAGCTCBTAGATAWAGCAATNGTATMATGTTKMMAGTAWTC
-CCNTSGAAWATWCAAAAMACTGAADNTYGATNAATCCGAYWNCTAACGTTAGAGDTTTTC
-ATCTGGKRTAVGAABVCTGWGBTCTDVGKATTBTCTAAGGVADAAAVWTCTAGGGGAGGG
-TTAGAACAATTAAHTAATNAAATGCATKATCTAAYRTDTCAGSAYTTYHGATRTTWAVTA
-BGNTCDACAGBCCRCAGWCRTCABTGMMAWGMCTCAACCGATRTGBCAVAATCGTDWDAA
-CAYAWAATWCTGGTAHCCCTAAGATAACSCTTAGTGSAACAWTBGTCDTTDGACWDBAAC
-HTTTNGSKTYYAAYGGATNTGATTTAARTTAMBAATCTAAGTBTCATYTAACTTADTGTT
-TCGATACGAAHGGCYATATACCWDTKYATDCSHTDTCAAAATGTGBACTGSCCVGATGTA
-TCMMAGCCTTDAAABAATGAAGAGTAACTHATMGVTTAATAACCCGGTTVSANTGCAATT
-GTGAGATTTAMGTTTAMAAYGCTGACAYAAAAAGGCACAMYTAAGVGGCTGGAABVTACG
-GATTSTYGTBVAKTATWACCGTGTKAGTDTGTATGTTTAAAGGAAAAAGTAACATARAAA
-GGTYCAMNYAAABTATAGNTSATANAGTCATCCTATWADKAACTRGTMSACDGTATSAYT
-AAHSHGTAABYGACTYTATADTGSTATAGAGAAATCGNTAAAGGAAATCAGTTGTNCYMV
-TNACDRTATBNATATASTAGAAMSCGGGANRCKKMCAAACATTNAGTCTRMAATBMTACC
-CGTACTTCTBGDSYAATWGAAAATGACADDCHAKAAAYATATTKTTTTCACANACWAGAA
-AKATCCTTATTAYKHKCTAAACARTATTTTDATBTVWCYGCAATACTAGGKAAASTTDGA
-MGGCHTTHAATVCAHDRYAGGRCTATACGTCMAGAGAGCTBTHGNACARTCCBDCTAAGA
-GCGGCTTTARTAAAGAATCCNAGTAWBTGACTTGAATTACWTVACAGAAABCAATNAAAC
-CGTNTRANTTGAYCMAWBADTANABRGGTKTHTWTAGTTVCTMBKTAGMTVKCCAGCANT
-TVAGSWTTAGCCGCRHTTTCCTTHNTATTAAGAAGAATAGGMTRAARTCTABGTACDTTT
-TATAAVDHAHTATAGATCCTAGTAAGYTWATDWCATGAGGGATAGTAAMDMNGBASTWAM
-TSTATRBAYDABATGTATATYCGCACTGTTTTAACMCWBTATAWAGTATBTSTATVTTAR
-CCTMTTAAKADATCAACTAATYTSVTAKGDATTATGCKTCAYCAKAATACTTKAANGAGT
-ATTSDAGATCGGAAATACTTAAYAAVGTATMCGCTTGTGTDCTAATYTATTTTATTTWAA
-CAGWRCTATGTAGMTGTTTGTTYKTNGTTKTCAGAACNTRACCTACKTGSRATGTGGGGG
-CTGTCATTAAGTAAATNGSTTABCCCCTCGCAGCTCWHTCGCGAAGCAVATGCKACGHCA
-ACAKTTAATAACASAAADATTWNYTGTAATTGTTCGTMHACHTWATGTGCWTTTTGAAHY
-ACTTTGTAYAMSAAACTTAADAAATATAGTABMATATYAATGSGGTAGTTTGTGTBYGGT
-TWSGSVGWMATTDMTCCWWCABTCSVACAGBAATGTTKATBGTCAATAATCTTCTTAAAC
-ARVAATHAGYBWCTRWCABGTWWAATCTAAGTCASTAAAKTAAGVKBAATTBGABACGTA
-AGGTTAAATAAAAACTRMDTWBCTTTTTAATAAAAGATMGCCTACKAKNTBAGYRASTGT
-ASSTCGTHCGAAKTTATTATATTYTTTGTAGAACATGTCAAAACTWTWTHGKTCCYAATA
-AAGTGGAYTMCYTAARCSTAAATWAKTGAATTTRAGTCTSSATACGACWAKAASATDAAA
-TGYYACTSAACAAHAKTSHYARGASTATTATTHAGGYGGASTTTBGAKGATSANAACACD
-TRGSTTRAAAAAAAACAAGARTCVTAGTAAGATAWATGVHAAKATWGAAAAGTYAHVTAC
-TCTGRTGTCAWGATRVAAKTCGCAAVCGASWGGTTRTCSAMCCTAACASGWKKAWDAATG
-ACRCBACTATGTGTCTTCAAAHGSCTATATTTCGTVWAGAAGTAYCKGARAKSGKAGTAN
-TTTCYACATWATGTCTAAAADMDTWCAATSTKDACAMAADADBSAAATAGGCTHAHAGTA
-CGACVGAATTATAAAGAHCCVAYHGHTTTACATSTTTATGNCCMTAGCATATGATAVAAG
->THREE Homo sapiens frequency
-ATATTTATCTTTTCACTTCCTACATTGGTCAGACCATTATTCGACACGTGGCGTCATTTT
-GTCATACCGGGTAATGTTGGAAACAAAACGTACTGATAAAATACTGAGTTGTAAACTCTA
-ATCAGATAACGCGCTTGGATATTAAGATTCACACAGGGGTTTCGGCTGTAAAAAAACTTG
-TGGAGCTGTTCTGGGACAGATAAGTTGTACCTCGTACTTAGCTAATTAATGAACCAACTG
-ATTACGATAGAACAATTCTGAGGCCGCCAGGACAGCCAAATTTTAATCTTATAAAGCTGG
-AAACAGCCGGTATTAGCTTCTCGCATACTTTGCCTGCATTGGTACCTTACAGATATCAGC
-GTAGTCATATACACCTCGGTCTCAGCTAAGCTTGTATCTCTTAGAGTAGTTCAAAGATAG
-TGGACAATACCTGTGGAATCGATTGCAGATATGGATTTATTTAACTACTGAGTCTCATTC
-ACAAGCTAAGCAAGGAGCACGTTTTGGTGCCGGCATACCGATTTGCTATCATGTCAGCAA
-ATTTGCGTTGTATTCCTAGTTGCACCCATTAAGGCCACACTCCGAACCTAATTATTACAT
-CGCAAAGACATGTACGAAGGACCCGATGTCGAATAGAAGGGAGGACTGTTCATTGGAAGC
-TAGACCAGAGGAATCGCAAAGATGCAACTCTTACAATAAAAATCTAATTTCAGTCAACAC
-GCAATTTCTATAAGGTTTCCGATAATAATGAACCGTCTTCCACAGGGGAATTTGCCATGC
-TCGTAAAAGTAGTTAATCCAAGTAGAAGAAATTTTGATAATGTTTTAAGTTGGCACGAAG
-GAATTCAGAGAGATCTTACCTAACAAAGGCATTAGTAGATGTTCCTTGGTTCACACTCGG
-TCAATCAGAGCACATACTACGGGCGATACCGGGAATGACACAACATCAATGAGATTGTTA
-AGTGAGGTAATTGACTTTAGAGGACTCGATCAGTATACTGTCACTATGAACATCGTATTA
-ATTGTTATCCGATATATACACCACCGATTTGCTTGTGCAAGGTTACAGACCCATTCGATA
-AATACAAACACGGAGCGATATTATTTAAGGAGTGCTGTCTTCAAAAGAATTATTCCCACA
-CCGACATAAGAACTTCGCTCCGTCATTCCAGATTTAAATAACATAACGTAACGCTTTGCT
-GATAACATAACATAACCGAGAATTTGCTTAGGAAATTTGGAGCAATATTGCATTGTTTCT
-CAGTCATCACAAGGCCCGCCAAAGAACTCTGAGAATCAGGATTCAACATGATTGGTAAGA
-CTCTATATATATAACTTAATTCTTGTGTCCGGAGATAGAAAGAGGACGAGAGATACTACG
-AAAGAAAGTGTACTTCGATGTATCAATTCAGACGCCTTCTCTATCATCAACATTATAGGT
-CTCGTATATGCTCGGCGCGATCTGCTTCTCTCCGCCAATAGCCCCATAGTGTATTTCAAG
-CGCAGTAACAGTGAAATCGTTACGAAGGTAGGGATGTTGCTTATAATTGTCGTAACTTAT
-CGCTTATGTATCTTTCAAGAATGAACGGCAGCATATACATACGTTCTACCTTTAGCTACA
-AAGCATCCATATACTCCCTCTCATGATTGAAACTCTTCCCTATTTTGTAGCCAATAGTGA
-AAGCGTATTAGTATAAATTCGTCGGTTTTTCACTCGCAACTGTTATACTCTGCAAACAAA
-CGAAAGCCTCATAGTACAAACCTAAAGCTACATACTTCATCATTGGCAGACCAGTGGCGG
-TATTTCTACGGAAGCATCACTATAGATATAAAGTTTCCCTTCATGTACGTCTGTTAACCA
-TATCACAAGAAACTGCTATCTCTGTCACGTAACAATTCACGCGCCTTATCGCCAAATGTT
-CATATATGCGCGGTATACGTATGAACGAATACTAATTAGTATAACGGAGGATTCACGGGA
-GGGATACTTGGGGCATTTATAAATCGTCTAAAAATTTTCTATCAGCACTTGCGGGTTATA
-GTGGATTACTAGGCAACATAATATTCTGTATTGGTCCAAATGACGCTATAGATAAATTAG
-CAAAATACATTGTTTCCATTTATGTAAGTCGAAACTCCAGGACTCCCGGGAACCAGTTAA
-ACCGTCTGGAAAAGACACATTGTGAGCGGGACTTCAATGATAGCTTTCAATGAGCTTCTC
-ATGCTTGGGGTCTGTACATATATGTTGGCGAAATTATCGTCTGTATTCTGTTATGCTTTG
-ATCATGGGTTATTAGTATAGTGTCCGGTTAAGTACCAATACCGCTAGAGACCCGACCTAA
-GTCGATAACTAACGATCATCGACGTAAGGATCGTCTCGATCAGTACTTCAGTCTAGATCT
-GGGAATAGTAACTCGTTAGTGAACTATGTCGTGTCATAACTCTAAAATGCAATCAAATCT
-TATTATTGAGTATTGATTATATAAAGCATCCGCTTAGCTTTACCCTCAAATGTTATATGC
-AATTTAAAGCGCTTGATATCGTCTACTCAAGTTCAGGTTTCACATGGCCGCAACGTGACG
-TTATTAGAGGTGGGTCATCATCTCTGAGGCTAGTGATGTTGAATACTCATTGAATGGGAA
-GTGGAATACCATGCTCGTAGGTAACAGCATGACCTATAAAATATACTATGGGTGTGTGGT
-AGATCAATATTGTTCAAGCATATCGTAACAATAACGGCTGAAATGTTACTGACATGAAAG
-AGGGAGTCCAAACCATTCTAACAGCTGATCAAGTCGTCTAAAAACGCCTGGTTCAGCCTT
-AAGAGTTATAAGCCAGACAAATTGTATCAATAGAGAATCCGTAAATTCCTCGGCCAACCT
-CTTGCAAAGACATCACTATCAATATACTACCGTGATCTTAATTAGTGAACTTATATAAAT
-ATCTACAACCAGATTCAACGGAAAAGCTTTAGTGGATTAGAAATTGCCAAGAATCACATT
-CATGTGGGTTCGAATGCTTTAGTAATACCATTTCGCCGAGTAGTCACTTCGCTGAACTGT
-CGTAAATTGCTATGACATAATCGAAAAGGATTGTCAAGAGTCGATTACTGCGGACTAATA
-ATCCCCACGGGGGTGGTCTCATGTCTCCCCAGGCGAGTGGGGACGGTTGATAAACACGCT
-GCATCGCGGACTGATGTTCCCAGTATTACATAGTCACATTGGATTGCGAGTAGTCTACCT
-ATTTATGAGCGAGAGATGCCTCTAACTACTTCGACTTTTAAAACCTTTCCACGCCAGTAT
-TCGGCGAAAGGGAAGTATTAAGGGTTGTCATAATTAAGCTGATACCACTTCAGACTTTGC
-TCTACTTCTGTCTTTCATTGGTTTAGTAAAGTCTGTCCATTCGTCGAGACCGTCTTTTGC
-AGCCTCATTCTACCAACTGCTCCGACTCTTAGTCTGCTTCTCCCAGCGTTATAACAAGAG
-GCATTTTGTCATCCTTAAAACAATAATAAAGAACTCGGAGCACTGATATAATGACTGAAT
-TAGAACCGCTTAAAAATACAACGAATAGATAAGACTATCGGATAAGATCTAATATGTAGT
-GATTAAGCCCTTTATTAATTAATAATAGTTACCCTTTCTGATGTAACGCGACATATTACG
-ATTTAGTGGCACGTCTGAATTGCAAAGCAGATCTCTACCCGATTTTTATTATAAATCCCG
-TATACATCTTGACTTGAGTAATTGTTCATCTTTTTATATCTCTTCGTACTACAAATAATT
-AATATCTCAACCCGTATTGTGTGATTCTAATTACCAACAGAATACGAGGAGGTTTTTGCT
-TAGGGCCATATATAATGAATCTATCTCGTTTATTCGCGGAACCCGAGATAACATTACGAT
-GTAACTATTTTAGAGAACTTAATACAAGAAACATTGCTGATTACTCATAACTAAATGCTT
-GGTAATATATCCTCAGTGCCCCTACCATCTTTTACGCAGGGATGTAATTACTTAGGATTC
-ATTGTGTAAGAATTACAATGAACGATGGATATGAAGGCATGTTGCGAGGTGTTCCTTGGT
-ATGTGAAGTTCGCAGGGCAACAAAAATTTCGCAGAATAGGCCTCAAAGTATTGGTAAAGA
-AGACAACTAATCATCACGAGCTTCTGATATCAATACGAACGAGTCCTGTGATGGATGAAA
-GAAAGTCGTATCGAAAATGTCAAGAGTCTGCCCAATGTAACTTACTTCAAAAAATAACGC
-TTCCGCCAAGTACGTTCGAATAAACGTAATTTTAAAAATACATAAGGGGTGTTAGAAAGT
-AAGCGACGGGATATAAGTTAGACTCAAGATTCCGCCGTAAAACGAGACTGATTCCGAAGA
-TTGTTCGTGGATCTGGTCATGACTTTCACTGAGTAAGGAGTTTCGACATATGTCAATAAA
-CACAAAAATAGAAGCTATTCGATCTGAAAAATATTAGGACAAGAAACTATCTCACGCTAG
-CCCAGAATATTCACTCACCCACGGGCGATACTAAAGCACTATATAGTCGCGTGATTACTA
-TACATATGGTACACATAAGAATCACGATCAGGTTCTCAATTTTCAACAATATATGTTTAT
-TTGCATAGGTAATATTAGGCCTTTAAGAGAAGGATGGGTGAGATACTCCGGGGATGGCGG
-CAATAAAGAAAAACACGATATGAGTAATAGGATCCTAATATCTTGGCGAGAGACTTAAGG
-TACGAATTTTGCGCAATCTATTTTTTACTTGGCCAGAATTCATGTATGGTATAAGTACGA
-ACTTTTTTGATCACTTTCATGGCTACCTGATTAGGATAGTTTGAGGAATTTCCCAAATAT
-ACCGATTTAATATACACTAGGGCTTGTCACTTTGAGTCAGAAAAAGAATATAATTACTTA
-GGGTAATGCTGCATACATATTCTTATATTGCAAAGGTTCTCTGGGTAATCTTGAGCCTTC
-ACGATACCTGGTGAAGTGTT
--- /dev/null
+# Copyright 2011 The Go Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file.
+
+include ../../../src/Make.inc
+
+all:
+ @echo "make clean or timing"
+
+timing:
+ ./timing.sh
+
+clean:
+ rm -f [568].out *.[568]
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ * based on C program by Kevin Carson
+ */
+
+package main
+
+import (
+ "flag"
+ "fmt"
+)
+
+var n = flag.Int("n", 15, "depth")
+
+type Node struct {
+ item int
+ left, right *Node
+}
+
+type Arena struct {
+ head *Node
+}
+
+var arena Arena
+
+func (n *Node) free() {
+ if n.left != nil {
+ n.left.free()
+ }
+ if n.right != nil {
+ n.right.free()
+ }
+ n.left = arena.head
+ arena.head = n
+}
+
+func (a *Arena) New(item int, left, right *Node) *Node {
+ if a.head == nil {
+ nodes := make([]Node, 3<<uint(*n))
+ for i := 0; i < len(nodes)-1; i++ {
+ nodes[i].left = &nodes[i+1]
+ }
+ a.head = &nodes[0]
+ }
+ n := a.head
+ a.head = a.head.left
+ n.item = item
+ n.left = left
+ n.right = right
+ return n
+}
+
+func bottomUpTree(item, depth int) *Node {
+ if depth <= 0 {
+ return arena.New(item, nil, nil)
+ }
+ return arena.New(item, bottomUpTree(2*item-1, depth-1), bottomUpTree(2*item, depth-1))
+}
+
+func (n *Node) itemCheck() int {
+ if n.left == nil {
+ return n.item
+ }
+ return n.item + n.left.itemCheck() - n.right.itemCheck()
+}
+
+const minDepth = 4
+
+func main() {
+ flag.Parse()
+
+ maxDepth := *n
+ if minDepth+2 > *n {
+ maxDepth = minDepth + 2
+ }
+ stretchDepth := maxDepth + 1
+
+ check := bottomUpTree(0, stretchDepth).itemCheck()
+ fmt.Printf("stretch tree of depth %d\t check: %d\n", stretchDepth, check)
+
+ longLivedTree := bottomUpTree(0, maxDepth)
+
+ for depth := minDepth; depth <= maxDepth; depth += 2 {
+ iterations := 1 << uint(maxDepth-depth+minDepth)
+ check = 0
+
+ for i := 1; i <= iterations; i++ {
+ t := bottomUpTree(i, depth)
+ check += t.itemCheck()
+ t.free()
+ t = bottomUpTree(-i, depth)
+ check += t.itemCheck()
+ t.free()
+ }
+ fmt.Printf("%d\t trees of depth %d\t check: %d\n", iterations*2, depth, check)
+ }
+ fmt.Printf("long lived tree of depth %d\t check: %d\n", maxDepth, longLivedTree.itemCheck())
+}
--- /dev/null
+stretch tree of depth 16 check: -1
+65536 trees of depth 4 check: -65536
+16384 trees of depth 6 check: -16384
+4096 trees of depth 8 check: -4096
+1024 trees of depth 10 check: -1024
+256 trees of depth 12 check: -256
+64 trees of depth 14 check: -64
+long lived tree of depth 15 check: -1
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Shootout Benchmarks
+ http://shootout.alioth.debian.org/
+
+ contributed by Kevin Carson
+ compilation:
+ gcc -O3 -fomit-frame-pointer -funroll-loops -static binary-trees.c -lm
+ icc -O3 -ip -unroll -static binary-trees.c -lm
+*/
+
+#include <malloc.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+
+typedef struct tn {
+ struct tn* left;
+ struct tn* right;
+ long item;
+} treeNode;
+
+
+treeNode* NewTreeNode(treeNode* left, treeNode* right, long item)
+{
+ treeNode* new;
+
+ new = (treeNode*)malloc(sizeof(treeNode));
+
+ new->left = left;
+ new->right = right;
+ new->item = item;
+
+ return new;
+} /* NewTreeNode() */
+
+
+long ItemCheck(treeNode* tree)
+{
+ if (tree->left == NULL)
+ return tree->item;
+ else
+ return tree->item + ItemCheck(tree->left) - ItemCheck(tree->right);
+} /* ItemCheck() */
+
+
+treeNode* BottomUpTree(long item, unsigned depth)
+{
+ if (depth > 0)
+ return NewTreeNode
+ (
+ BottomUpTree(2 * item - 1, depth - 1),
+ BottomUpTree(2 * item, depth - 1),
+ item
+ );
+ else
+ return NewTreeNode(NULL, NULL, item);
+} /* BottomUpTree() */
+
+
+void DeleteTree(treeNode* tree)
+{
+ if (tree->left != NULL)
+ {
+ DeleteTree(tree->left);
+ DeleteTree(tree->right);
+ }
+
+ free(tree);
+} /* DeleteTree() */
+
+
+int main(int argc, char* argv[])
+{
+ unsigned N, depth, minDepth, maxDepth, stretchDepth;
+ treeNode *stretchTree, *longLivedTree, *tempTree;
+
+ N = atol(argv[1]);
+
+ minDepth = 4;
+
+ if ((minDepth + 2) > N)
+ maxDepth = minDepth + 2;
+ else
+ maxDepth = N;
+
+ stretchDepth = maxDepth + 1;
+
+ stretchTree = BottomUpTree(0, stretchDepth);
+ printf
+ (
+ "stretch tree of depth %u\t check: %li\n",
+ stretchDepth,
+ ItemCheck(stretchTree)
+ );
+
+ DeleteTree(stretchTree);
+
+ longLivedTree = BottomUpTree(0, maxDepth);
+
+ for (depth = minDepth; depth <= maxDepth; depth += 2)
+ {
+ long i, iterations, check;
+
+ iterations = pow(2, maxDepth - depth + minDepth);
+
+ check = 0;
+
+ for (i = 1; i <= iterations; i++)
+ {
+ tempTree = BottomUpTree(i, depth);
+ check += ItemCheck(tempTree);
+ DeleteTree(tempTree);
+
+ tempTree = BottomUpTree(-i, depth);
+ check += ItemCheck(tempTree);
+ DeleteTree(tempTree);
+ } /* for(i = 1...) */
+
+ printf
+ (
+ "%li\t trees of depth %u\t check: %li\n",
+ iterations * 2,
+ depth,
+ check
+ );
+ } /* for(depth = minDepth...) */
+
+ printf
+ (
+ "long lived tree of depth %u\t check: %li\n",
+ maxDepth,
+ ItemCheck(longLivedTree)
+ );
+
+ return 0;
+} /* main() */
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ * based on C program by Kevin Carson
+ */
+
+package main
+
+import (
+ "flag"
+ "fmt"
+)
+
+var n = flag.Int("n", 15, "depth")
+
+type Node struct {
+ item int
+ left, right *Node
+}
+
+func bottomUpTree(item, depth int) *Node {
+ if depth <= 0 {
+ return &Node{item: item}
+ }
+ return &Node{item, bottomUpTree(2*item-1, depth-1), bottomUpTree(2*item, depth-1)}
+}
+
+func (n *Node) itemCheck() int {
+ if n.left == nil {
+ return n.item
+ }
+ return n.item + n.left.itemCheck() - n.right.itemCheck()
+}
+
+const minDepth = 4
+
+func main() {
+ flag.Parse()
+
+ maxDepth := *n
+ if minDepth+2 > *n {
+ maxDepth = minDepth + 2
+ }
+ stretchDepth := maxDepth + 1
+
+ check := bottomUpTree(0, stretchDepth).itemCheck()
+ fmt.Printf("stretch tree of depth %d\t check: %d\n", stretchDepth, check)
+
+ longLivedTree := bottomUpTree(0, maxDepth)
+
+ for depth := minDepth; depth <= maxDepth; depth += 2 {
+ iterations := 1 << uint(maxDepth-depth+minDepth)
+ check = 0
+
+ for i := 1; i <= iterations; i++ {
+ check += bottomUpTree(i, depth).itemCheck()
+ check += bottomUpTree(-i, depth).itemCheck()
+ }
+ fmt.Printf("%d\t trees of depth %d\t check: %d\n", iterations*2, depth, check)
+ }
+ fmt.Printf("long lived tree of depth %d\t check: %d\n", maxDepth, longLivedTree.itemCheck())
+}
--- /dev/null
+stretch tree of depth 16 check: -1
+65536 trees of depth 4 check: -65536
+16384 trees of depth 6 check: -16384
+4096 trees of depth 8 check: -4096
+1024 trees of depth 10 check: -1024
+256 trees of depth 12 check: -256
+64 trees of depth 14 check: -64
+long lived tree of depth 15 check: -1
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ http://shootout.alioth.debian.org/
+
+ contributed by Michael Barker
+ based on a Java contribution by Luzius Meisser
+
+ convert to C by dualamd
+*/
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <pthread.h>
+
+
+enum Colour
+{
+ blue = 0,
+ red = 1,
+ yellow = 2,
+ Invalid = 3
+};
+
+const char* ColourName[] = {"blue", "red", "yellow"};
+const int STACK_SIZE = 32*1024;
+
+typedef unsigned int BOOL;
+const BOOL TRUE = 1;
+const BOOL FALSE = 0;
+
+int CreatureID = 0;
+
+
+enum Colour doCompliment(enum Colour c1, enum Colour c2)
+{
+ switch (c1)
+ {
+ case blue:
+ switch (c2)
+ {
+ case blue:
+ return blue;
+ case red:
+ return yellow;
+ case yellow:
+ return red;
+ default:
+ goto errlb;
+ }
+ case red:
+ switch (c2)
+ {
+ case blue:
+ return yellow;
+ case red:
+ return red;
+ case yellow:
+ return blue;
+ default:
+ goto errlb;
+ }
+ case yellow:
+ switch (c2)
+ {
+ case blue:
+ return red;
+ case red:
+ return blue;
+ case yellow:
+ return yellow;
+ default:
+ goto errlb;
+ }
+ default:
+ break;
+ }
+
+errlb:
+ printf("Invalid colour\n");
+ exit( 1 );
+}
+
+/* convert integer to number string: 1234 -> "one two three four" */
+char* formatNumber(int n, char* outbuf)
+{
+ int ochar = 0, ichar = 0;
+ int i;
+ char tmp[64];
+
+ const char* NUMBERS[] =
+ {
+ "zero", "one", "two", "three", "four", "five",
+ "six", "seven", "eight", "nine"
+ };
+
+ ichar = sprintf(tmp, "%d", n);
+
+ for (i = 0; i < ichar; i++)
+ ochar += sprintf( outbuf + ochar, " %s", NUMBERS[ tmp[i] - '0' ] );
+
+ return outbuf;
+}
+
+
+struct MeetingPlace
+{
+ pthread_mutex_t mutex;
+ int meetingsLeft;
+ struct Creature* firstCreature;
+};
+
+struct Creature
+{
+ pthread_t ht;
+ pthread_attr_t stack_att;
+
+ struct MeetingPlace* place;
+ int count;
+ int sameCount;
+
+ enum Colour colour;
+ int id;
+
+ BOOL two_met;
+ BOOL sameid;
+};
+
+
+void MeetingPlace_Init(struct MeetingPlace* m, int meetings )
+{
+ pthread_mutex_init( &m->mutex, 0 );
+ m->meetingsLeft = meetings;
+ m->firstCreature = 0;
+}
+
+
+BOOL Meet( struct Creature* cr)
+{
+ BOOL retval = TRUE;
+
+ struct MeetingPlace* mp = cr->place;
+ pthread_mutex_lock( &(mp->mutex) );
+
+ if ( mp->meetingsLeft > 0 )
+ {
+ if ( mp->firstCreature == 0 )
+ {
+ cr->two_met = FALSE;
+ mp->firstCreature = cr;
+ }
+ else
+ {
+ struct Creature* first;
+ enum Colour newColour;
+
+ first = mp->firstCreature;
+ newColour = doCompliment( cr->colour, first->colour );
+
+ cr->sameid = cr->id == first->id;
+ cr->colour = newColour;
+ cr->two_met = TRUE;
+
+ first->sameid = cr->sameid;
+ first->colour = newColour;
+ first->two_met = TRUE;
+
+ mp->firstCreature = 0;
+ mp->meetingsLeft--;
+ }
+ }
+ else
+ retval = FALSE;
+
+ pthread_mutex_unlock( &(mp->mutex) );
+ return retval;
+}
+
+
+void* CreatureThreadRun(void* param)
+{
+ struct Creature* cr = (struct Creature*)param;
+
+ while (TRUE)
+ {
+ if ( Meet(cr) )
+ {
+ while (cr->two_met == FALSE)
+ sched_yield();
+
+ if (cr->sameid)
+ cr->sameCount++;
+ cr->count++;
+ }
+ else
+ break;
+ }
+
+ return 0;
+}
+
+void Creature_Init( struct Creature *cr, struct MeetingPlace* place, enum Colour colour )
+{
+ cr->place = place;
+ cr->count = cr->sameCount = 0;
+
+ cr->id = ++CreatureID;
+ cr->colour = colour;
+ cr->two_met = FALSE;
+
+ pthread_attr_init( &cr->stack_att );
+ pthread_attr_setstacksize( &cr->stack_att, STACK_SIZE );
+ pthread_create( &cr->ht, &cr->stack_att, &CreatureThreadRun, (void*)(cr) );
+}
+
+/* format meeting times of each creature to string */
+char* Creature_getResult(struct Creature* cr, char* str)
+{
+ char numstr[256];
+ formatNumber(cr->sameCount, numstr);
+
+ sprintf( str, "%u%s", cr->count, numstr );
+ return str;
+}
+
+
+void runGame( int n_meeting, int ncolor, const enum Colour* colours )
+{
+ int i;
+ int total = 0;
+ char str[256];
+
+ struct MeetingPlace place;
+ struct Creature *creatures = (struct Creature*) calloc( ncolor, sizeof(struct Creature) );
+
+ MeetingPlace_Init( &place, n_meeting );
+
+ /* print initial color of each creature */
+ for (i = 0; i < ncolor; i++)
+ {
+ printf( "%s ", ColourName[ colours[i] ] );
+ Creature_Init( &(creatures[i]), &place, colours[i] );
+ }
+ printf("\n");
+
+ /* wait for them to meet */
+ for (i = 0; i < ncolor; i++)
+ pthread_join( creatures[i].ht, 0 );
+
+ /* print meeting times of each creature */
+ for (i = 0; i < ncolor; i++)
+ {
+ printf( "%s\n", Creature_getResult(&(creatures[i]), str) );
+ total += creatures[i].count;
+ }
+
+ /* print total meeting times, should equal n_meeting */
+ printf( "%s\n\n", formatNumber(total, str) );
+
+ /* cleaup & quit */
+ pthread_mutex_destroy( &place.mutex );
+ free( creatures );
+}
+
+
+void printColours( enum Colour c1, enum Colour c2 )
+{
+ printf( "%s + %s -> %s\n",
+ ColourName[c1],
+ ColourName[c2],
+ ColourName[doCompliment(c1, c2)] );
+}
+
+void printColoursTable(void)
+{
+ printColours(blue, blue);
+ printColours(blue, red);
+ printColours(blue, yellow);
+ printColours(red, blue);
+ printColours(red, red);
+ printColours(red, yellow);
+ printColours(yellow, blue);
+ printColours(yellow, red);
+ printColours(yellow, yellow);
+}
+
+int main(int argc, char** argv)
+{
+ int n = (argc == 2) ? atoi(argv[1]) : 600;
+
+ printColoursTable();
+ printf("\n");
+
+ const enum Colour r1[] = { blue, red, yellow };
+ const enum Colour r2[] = { blue, red, yellow,
+ red, yellow, blue,
+ red, yellow, red, blue };
+
+ runGame( n, sizeof(r1) / sizeof(r1[0]), r1 );
+ runGame( n, sizeof(r2) / sizeof(r2[0]), r2 );
+
+ return 0;
+}
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ */
+
+package main
+
+import (
+ "flag"
+ "fmt"
+ "strconv"
+)
+
+const (
+ blue = iota
+ red
+ yellow
+ ncol
+)
+
+var complement = [...]int{
+ red | red<<2: red,
+ red | yellow<<2: blue,
+ red | blue<<2: yellow,
+ yellow | red<<2: blue,
+ yellow | yellow<<2: yellow,
+ yellow | blue<<2: red,
+ blue | red<<2: yellow,
+ blue | yellow<<2: red,
+ blue | blue<<2: blue,
+}
+
+var colname = [...]string{
+ blue: "blue",
+ red: "red",
+ yellow: "yellow",
+}
+
+// information about the current state of a creature.
+type info struct {
+ colour int // creature's current colour.
+ name int // creature's name.
+}
+
+// exclusive access data-structure kept inside meetingplace.
+// if mate is nil, it indicates there's no creature currently waiting;
+// otherwise the creature's info is stored in info, and
+// it is waiting to receive its mate's information on the mate channel.
+type rendez struct {
+ n int // current number of encounters.
+ mate chan<- info // creature waiting when non-nil.
+ info info // info about creature waiting.
+}
+
+// result sent by each creature at the end of processing.
+type result struct {
+ met int
+ same int
+}
+
+var n = 600
+
+func main() {
+ flag.Parse()
+ if flag.NArg() > 0 {
+ n, _ = strconv.Atoi(flag.Arg(0))
+ }
+
+ for c0 := 0; c0 < ncol; c0++ {
+ for c1 := 0; c1 < ncol; c1++ {
+ fmt.Printf("%s + %s -> %s\n", colname[c0], colname[c1], colname[complement[c0|c1<<2]])
+ }
+ }
+ fmt.Print("\n")
+
+ pallmall([]int{blue, red, yellow})
+ pallmall([]int{blue, red, yellow, red, yellow, blue, red, yellow, red, blue})
+}
+
+func pallmall(cols []int) {
+
+ // invariant: meetingplace always contains a value unless a creature
+ // is currently dealing with it (whereupon it must put it back).
+ meetingplace := make(chan rendez, 1)
+ meetingplace <- rendez{n: 0}
+
+ ended := make(chan result)
+ msg := ""
+ for i, col := range cols {
+ go creature(info{col, i}, meetingplace, ended)
+ msg += " " + colname[col]
+ }
+ fmt.Println(msg)
+ tot := 0
+ // wait for all results
+ for _ = range cols {
+ result := <-ended
+ tot += result.met
+ fmt.Printf("%v%v\n", result.met, spell(result.same, true))
+ }
+ fmt.Printf("%v\n\n", spell(tot, true))
+}
+
+// in this function, variables ending in 0 refer to the local creature,
+// variables ending in 1 to the creature we've met.
+func creature(info0 info, meetingplace chan rendez, ended chan result) {
+ c0 := make(chan info)
+ met := 0
+ same := 0
+ for {
+ var othername int
+ // get access to rendez data and decide what to do.
+ switch r := <-meetingplace; {
+ case r.n >= n:
+ // if no more meetings left, then send our result data and exit.
+ meetingplace <- rendez{n: r.n}
+ ended <- result{met, same}
+ return
+ case r.mate == nil:
+ // no creature waiting; wait for someone to meet us,
+ // get their info and send our info in reply.
+ meetingplace <- rendez{n: r.n, info: info0, mate: c0}
+ info1 := <-c0
+ othername = info1.name
+ info0.colour = complement[info0.colour|info1.colour<<2]
+ default:
+ // another creature is waiting for us with its info;
+ // increment meeting count,
+ // send them our info in reply.
+ r.n++
+ meetingplace <- rendez{n: r.n, mate: nil}
+ r.mate <- info0
+ othername = r.info.name
+ info0.colour = complement[info0.colour|r.info.colour<<2]
+ }
+ if othername == info0.name {
+ same++
+ }
+ met++
+ }
+}
+
+var digits = [...]string{"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}
+
+func spell(n int, required bool) string {
+ if n == 0 && !required {
+ return ""
+ }
+ return spell(n/10, false) + " " + digits[n%10]
+}
--- /dev/null
+blue + blue -> blue
+blue + red -> yellow
+blue + yellow -> red
+red + blue -> yellow
+red + red -> red
+red + yellow -> blue
+yellow + blue -> red
+yellow + red -> blue
+yellow + yellow -> yellow
+
+ blue red yellow
+400 zero
+400 zero
+400 zero
+ one two zero zero
+
+ blue red yellow red yellow blue red yellow red blue
+120 zero
+120 zero
+120 zero
+120 zero
+120 zero
+120 zero
+120 zero
+120 zero
+120 zero
+120 zero
+ one two zero zero
+
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*
+ * The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ * Based on fannkuch.scala by Rex Kerr
+ */
+
+package main
+
+import (
+ "flag"
+ "fmt"
+ "runtime"
+)
+
+var n = flag.Int("n", 7, "count")
+var nCPU = flag.Int("ncpu", 4, "number of cpus")
+
+type Job struct {
+ start []int
+ n int
+}
+
+type Found struct {
+ who *Kucher
+ k int
+}
+
+type Kucher struct {
+ perm []int
+ temp []int
+ flip []int
+ in chan Job
+}
+
+func NewKucher(length int) *Kucher {
+ return &Kucher{
+ perm: make([]int, length),
+ temp: make([]int, length),
+ flip: make([]int, length),
+ in: make(chan Job),
+ }
+}
+
+func (k *Kucher) permute(n int) bool {
+ i := 0
+ for ; i < n-1 && k.flip[i] == 0; i++ {
+ t := k.perm[0]
+ j := 0
+ for ; j <= i; j++ {
+ k.perm[j] = k.perm[j+1]
+ }
+ k.perm[j] = t
+ }
+ k.flip[i]--
+ for i > 0 {
+ i--
+ k.flip[i] = i
+ }
+ return k.flip[n-1] >= 0
+}
+
+func (k *Kucher) count() int {
+ K := 0
+ copy(k.temp, k.perm)
+ for k.temp[0] != 0 {
+ m := k.temp[0]
+ for i := 0; i < m; i++ {
+ k.temp[i], k.temp[m] = k.temp[m], k.temp[i]
+ m--
+ }
+ K++
+ }
+ return K
+}
+
+func (k *Kucher) Run(foreman chan<- Found) {
+ for job := range k.in {
+ verbose := 30
+ copy(k.perm, job.start)
+ for i, v := range k.perm {
+ if v != i {
+ verbose = 0
+ }
+ k.flip[i] = i
+ }
+ K := 0
+ for {
+ if verbose > 0 {
+ for _, p := range k.perm {
+ fmt.Print(p + 1)
+ }
+ fmt.Println()
+ verbose--
+ }
+ count := k.count()
+ if count > K {
+ K = count
+ }
+ if !k.permute(job.n) {
+ break
+ }
+ }
+ foreman <- Found{k, K}
+ }
+}
+
+type Fanner struct {
+ jobind int
+ jobsdone int
+ k int
+ jobs []Job
+ workers []*Kucher
+ in chan Found
+ result chan int
+}
+
+func NewFanner(jobs []Job, workers []*Kucher) *Fanner {
+ return &Fanner{
+ jobs: jobs, workers: workers,
+ in: make(chan Found),
+ result: make(chan int),
+ }
+}
+
+func (f *Fanner) Run(N int) {
+ for msg := range f.in {
+ if msg.k > f.k {
+ f.k = msg.k
+ }
+ if msg.k >= 0 {
+ f.jobsdone++
+ }
+ if f.jobind < len(f.jobs) {
+ msg.who.in <- f.jobs[f.jobind]
+ f.jobind++
+ } else if f.jobsdone == len(f.jobs) {
+ f.result <- f.k
+ return
+ }
+ }
+}
+
+func swapped(a []int, i, j int) []int {
+ b := make([]int, len(a))
+ copy(b, a)
+ b[i], b[j] = a[j], a[i]
+ return b
+}
+
+func main() {
+ flag.Parse()
+ runtime.GOMAXPROCS(*nCPU)
+ N := *n
+ base := make([]int, N)
+ for i := range base {
+ base[i] = i
+ }
+
+ njobs := 1
+ if N > 8 {
+ njobs += (N*(N-1))/2 - 28 // njobs = 1 + sum(8..N-1) = 1 + sum(1..N-1) - sum(1..7)
+ }
+ jobs := make([]Job, njobs)
+ jobsind := 0
+
+ firstN := N
+ if firstN > 8 {
+ firstN = 8
+ }
+ jobs[jobsind] = Job{base, firstN}
+ jobsind++
+ for i := N - 1; i >= 8; i-- {
+ for j := 0; j < i; j++ {
+ jobs[jobsind] = Job{swapped(base, i, j), i}
+ jobsind++
+ }
+ }
+
+ nworkers := *nCPU
+ if njobs < nworkers {
+ nworkers = njobs
+ }
+ workers := make([]*Kucher, nworkers)
+ foreman := NewFanner(jobs, workers)
+ go foreman.Run(N)
+ for i := range workers {
+ k := NewKucher(N)
+ workers[i] = k
+ go k.Run(foreman.in)
+ foreman.in <- Found{k, -1}
+ }
+ fmt.Printf("Pfannkuchen(%d) = %d\n", N, <-foreman.result)
+}
--- /dev/null
+1234567
+2134567
+2314567
+3214567
+3124567
+1324567
+2341567
+3241567
+3421567
+4321567
+4231567
+2431567
+3412567
+4312567
+4132567
+1432567
+1342567
+3142567
+4123567
+1423567
+1243567
+2143567
+2413567
+4213567
+2345167
+3245167
+3425167
+4325167
+4235167
+2435167
+Pfannkuchen(7) = 16
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*
+ * The Computer Language Shootout
+ * http://shootout.alioth.debian.org/
+ * Contributed by Heiner Marxen
+ *
+ * "fannkuch" for C gcc
+ *
+ * $Id: fannkuch.1.gcc.code,v 1.15 2009-04-28 15:39:31 igouy-guest Exp $
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#define Int int
+#define Aint int
+
+ static long
+fannkuch( int n )
+{
+ Aint* perm;
+ Aint* perm1;
+ Aint* count;
+ long flips;
+ long flipsMax;
+ Int r;
+ Int i;
+ Int k;
+ Int didpr;
+ const Int n1 = n - 1;
+
+ if( n < 1 ) return 0;
+
+ perm = calloc(n, sizeof(*perm ));
+ perm1 = calloc(n, sizeof(*perm1));
+ count = calloc(n, sizeof(*count));
+
+ for( i=0 ; i<n ; ++i ) perm1[i] = i; /* initial (trivial) permu */
+
+ r = n; didpr = 0; flipsMax = 0;
+ for(;;) {
+ if( didpr < 30 ) {
+ for( i=0 ; i<n ; ++i ) printf("%d", (int)(1+perm1[i]));
+ printf("\n");
+ ++didpr;
+ }
+ for( ; r!=1 ; --r ) {
+ count[r-1] = r;
+ }
+
+#define XCH(x,y) { Aint t_mp; t_mp=(x); (x)=(y); (y)=t_mp; }
+
+ if( ! (perm1[0]==0 || perm1[n1]==n1) ) {
+ flips = 0;
+ for( i=1 ; i<n ; ++i ) { /* perm = perm1 */
+ perm[i] = perm1[i];
+ }
+ k = perm1[0]; /* cache perm[0] in k */
+ do { /* k!=0 ==> k>0 */
+ Int j;
+ for( i=1, j=k-1 ; i<j ; ++i, --j ) {
+ XCH(perm[i], perm[j])
+ }
+ ++flips;
+ /*
+ * Now exchange k (caching perm[0]) and perm[k]... with care!
+ * XCH(k, perm[k]) does NOT work!
+ */
+ j=perm[k]; perm[k]=k ; k=j;
+ }while( k );
+ if( flipsMax < flips ) {
+ flipsMax = flips;
+ }
+ }
+
+ for(;;) {
+ if( r == n ) {
+ return flipsMax;
+ }
+ /* rotate down perm[0..r] by one */
+ {
+ Int perm0 = perm1[0];
+ i = 0;
+ while( i < r ) {
+ k = i+1;
+ perm1[i] = perm1[k];
+ i = k;
+ }
+ perm1[r] = perm0;
+ }
+ if( (count[r] -= 1) > 0 ) {
+ break;
+ }
+ ++r;
+ }
+ }
+}
+
+ int
+main( int argc, char* argv[] )
+{
+ int n = (argc>1) ? atoi(argv[1]) : 0;
+
+ printf("Pfannkuchen(%d) = %ld\n", n, fannkuch(n));
+ return 0;
+}
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*
+ * The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ * Based on fannkuch.c by Heiner Marxen
+ */
+
+package main
+
+import (
+ "flag"
+ "fmt"
+)
+
+var n = flag.Int("n", 7, "count")
+
+func fannkuch(n int) int {
+ if n < 1 {
+ return 0
+ }
+
+ n1 := n - 1
+ perm := make([]int, n)
+ perm1 := make([]int, n)
+ count := make([]int, n)
+
+ for i := 0; i < n; i++ {
+ perm1[i] = i // initial (trivial) permutation
+ }
+
+ r := n
+ didpr := 0
+ flipsMax := 0
+ for {
+ if didpr < 30 {
+ for i := 0; i < n; i++ {
+ fmt.Printf("%d", 1+perm1[i])
+ }
+ fmt.Printf("\n")
+ didpr++
+ }
+ for ; r != 1; r-- {
+ count[r-1] = r
+ }
+
+ if perm1[0] != 0 && perm1[n1] != n1 {
+ flips := 0
+ for i := 1; i < n; i++ { // perm = perm1
+ perm[i] = perm1[i]
+ }
+ k := perm1[0] // cache perm[0] in k
+ for { // k!=0 ==> k>0
+ for i, j := 1, k-1; i < j; i, j = i+1, j-1 {
+ perm[i], perm[j] = perm[j], perm[i]
+ }
+ flips++
+ // Now exchange k (caching perm[0]) and perm[k]... with care!
+ j := perm[k]
+ perm[k] = k
+ k = j
+ if k == 0 {
+ break
+ }
+ }
+ if flipsMax < flips {
+ flipsMax = flips
+ }
+ }
+
+ for ; r < n; r++ {
+ // rotate down perm[0..r] by one
+ perm0 := perm1[0]
+ for i := 0; i < r; i++ {
+ perm1[i] = perm1[i+1]
+ }
+ perm1[r] = perm0
+ count[r]--
+ if count[r] > 0 {
+ break
+ }
+ }
+ if r == n {
+ return flipsMax
+ }
+ }
+ return 0
+}
+
+func main() {
+ flag.Parse()
+ fmt.Printf("Pfannkuchen(%d) = %d\n", *n, fannkuch(*n))
+}
--- /dev/null
+1234567
+2134567
+2314567
+3214567
+3124567
+1324567
+2341567
+3241567
+3421567
+4321567
+4231567
+2431567
+3412567
+4312567
+4132567
+1432567
+1342567
+3142567
+4123567
+1423567
+1243567
+2143567
+2413567
+4213567
+2345167
+3245167
+3425167
+4325167
+4235167
+2435167
+Pfannkuchen(7) = 16
--- /dev/null
+>ONE Homo sapiens alu
+GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA
+TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT
+AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG
+GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG
+CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT
+GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA
+GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA
+TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG
+AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA
+GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT
+AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC
+AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG
+GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC
+CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG
+AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT
+TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA
+TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT
+GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG
+TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT
+CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG
+CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG
+TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA
+CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG
+AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG
+GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC
+TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA
+TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA
+GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT
+GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC
+ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT
+TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC
+CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG
+CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG
+GGCGACAGAGCGAGACTCCG
+>TWO IUB ambiguity codes
+cttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcg
+tactDtDagcctatttSVHtHttKtgtHMaSattgWaHKHttttagacatWatgtRgaaa
+NtactMcSMtYtcMgRtacttctWBacgaaatatagScDtttgaagacacatagtVgYgt
+cattHWtMMWcStgttaggKtSgaYaaccWStcgBttgcgaMttBYatcWtgacaYcaga
+gtaBDtRacttttcWatMttDBcatWtatcttactaBgaYtcttgttttttttYaaScYa
+HgtgttNtSatcMtcVaaaStccRcctDaataataStcYtRDSaMtDttgttSagtRRca
+tttHatSttMtWgtcgtatSSagactYaaattcaMtWatttaSgYttaRgKaRtccactt
+tattRggaMcDaWaWagttttgacatgttctacaaaRaatataataaMttcgDacgaSSt
+acaStYRctVaNMtMgtaggcKatcttttattaaaaagVWaHKYagtttttatttaacct
+tacgtVtcVaattVMBcttaMtttaStgacttagattWWacVtgWYagWVRctDattBYt
+gtttaagaagattattgacVatMaacattVctgtBSgaVtgWWggaKHaatKWcBScSWa
+accRVacacaaactaccScattRatatKVtactatatttHttaagtttSKtRtacaaagt
+RDttcaaaaWgcacatWaDgtDKacgaacaattacaRNWaatHtttStgttattaaMtgt
+tgDcgtMgcatBtgcttcgcgaDWgagctgcgaggggVtaaScNatttacttaatgacag
+cccccacatYScaMgtaggtYaNgttctgaMaacNaMRaacaaacaKctacatagYWctg
+ttWaaataaaataRattagHacacaagcgKatacBttRttaagtatttccgatctHSaat
+actcNttMaagtattMtgRtgaMgcataatHcMtaBSaRattagttgatHtMttaaKagg
+YtaaBataSaVatactWtataVWgKgttaaaacagtgcgRatatacatVtHRtVYataSa
+KtWaStVcNKHKttactatccctcatgWHatWaRcttactaggatctataDtDHBttata
+aaaHgtacVtagaYttYaKcctattcttcttaataNDaaggaaaDYgcggctaaWSctBa
+aNtgctggMBaKctaMVKagBaactaWaDaMaccYVtNtaHtVWtKgRtcaaNtYaNacg
+gtttNattgVtttctgtBaWgtaattcaagtcaVWtactNggattctttaYtaaagccgc
+tcttagHVggaYtgtNcDaVagctctctKgacgtatagYcctRYHDtgBattDaaDgccK
+tcHaaStttMcctagtattgcRgWBaVatHaaaataYtgtttagMDMRtaataaggatMt
+ttctWgtNtgtgaaaaMaatatRtttMtDgHHtgtcattttcWattRSHcVagaagtacg
+ggtaKVattKYagactNaatgtttgKMMgYNtcccgSKttctaStatatNVataYHgtNa
+BKRgNacaactgatttcctttaNcgatttctctataScaHtataRagtcRVttacDSDtt
+aRtSatacHgtSKacYagttMHtWataggatgactNtatSaNctataVtttRNKtgRacc
+tttYtatgttactttttcctttaaacatacaHactMacacggtWataMtBVacRaSaatc
+cgtaBVttccagccBcttaRKtgtgcctttttRtgtcagcRttKtaaacKtaaatctcac
+aattgcaNtSBaaccgggttattaaBcKatDagttactcttcattVtttHaaggctKKga
+tacatcBggScagtVcacattttgaHaDSgHatRMaHWggtatatRgccDttcgtatcga
+aacaHtaagttaRatgaVacttagattVKtaaYttaaatcaNatccRttRRaMScNaaaD
+gttVHWgtcHaaHgacVaWtgttScactaagSgttatcttagggDtaccagWattWtRtg
+ttHWHacgattBtgVcaYatcggttgagKcWtKKcaVtgaYgWctgYggVctgtHgaNcV
+taBtWaaYatcDRaaRtSctgaHaYRttagatMatgcatttNattaDttaattgttctaa
+ccctcccctagaWBtttHtBccttagaVaatMcBHagaVcWcagBVttcBtaYMccagat
+gaaaaHctctaacgttagNWRtcggattNatcRaNHttcagtKttttgWatWttcSaNgg
+gaWtactKKMaacatKatacNattgctWtatctaVgagctatgtRaHtYcWcttagccaa
+tYttWttaWSSttaHcaaaaagVacVgtaVaRMgattaVcDactttcHHggHRtgNcctt
+tYatcatKgctcctctatVcaaaaKaaaagtatatctgMtWtaaaacaStttMtcgactt
+taSatcgDataaactaaacaagtaaVctaggaSccaatMVtaaSKNVattttgHccatca
+cBVctgcaVatVttRtactgtVcaattHgtaaattaaattttYtatattaaRSgYtgBag
+aHSBDgtagcacRHtYcBgtcacttacactaYcgctWtattgSHtSatcataaatataHt
+cgtYaaMNgBaatttaRgaMaatatttBtttaaaHHKaatctgatWatYaacttMctctt
+ttVctagctDaaagtaVaKaKRtaacBgtatccaaccactHHaagaagaaggaNaaatBW
+attccgStaMSaMatBttgcatgRSacgttVVtaaDMtcSgVatWcaSatcttttVatag
+ttactttacgatcaccNtaDVgSRcgVcgtgaacgaNtaNatatagtHtMgtHcMtagaa
+attBgtataRaaaacaYKgtRccYtatgaagtaataKgtaaMttgaaRVatgcagaKStc
+tHNaaatctBBtcttaYaBWHgtVtgacagcaRcataWctcaBcYacYgatDgtDHccta
+>THREE Homo sapiens frequency
+aacacttcaccaggtatcgtgaaggctcaagattacccagagaacctttgcaatataaga
+atatgtatgcagcattaccctaagtaattatattctttttctgactcaaagtgacaagcc
+ctagtgtatattaaatcggtatatttgggaaattcctcaaactatcctaatcaggtagcc
+atgaaagtgatcaaaaaagttcgtacttataccatacatgaattctggccaagtaaaaaa
+tagattgcgcaaaattcgtaccttaagtctctcgccaagatattaggatcctattactca
+tatcgtgtttttctttattgccgccatccccggagtatctcacccatccttctcttaaag
+gcctaatattacctatgcaaataaacatatattgttgaaaattgagaacctgatcgtgat
+tcttatgtgtaccatatgtatagtaatcacgcgactatatagtgctttagtatcgcccgt
+gggtgagtgaatattctgggctagcgtgagatagtttcttgtcctaatatttttcagatc
+gaatagcttctatttttgtgtttattgacatatgtcgaaactccttactcagtgaaagtc
+atgaccagatccacgaacaatcttcggaatcagtctcgttttacggcggaatcttgagtc
+taacttatatcccgtcgcttactttctaacaccccttatgtatttttaaaattacgttta
+ttcgaacgtacttggcggaagcgttattttttgaagtaagttacattgggcagactcttg
+acattttcgatacgactttctttcatccatcacaggactcgttcgtattgatatcagaag
+ctcgtgatgattagttgtcttctttaccaatactttgaggcctattctgcgaaatttttg
+ttgccctgcgaacttcacataccaaggaacacctcgcaacatgccttcatatccatcgtt
+cattgtaattcttacacaatgaatcctaagtaattacatccctgcgtaaaagatggtagg
+ggcactgaggatatattaccaagcatttagttatgagtaatcagcaatgtttcttgtatt
+aagttctctaaaatagttacatcgtaatgttatctcgggttccgcgaataaacgagatag
+attcattatatatggccctaagcaaaaacctcctcgtattctgttggtaattagaatcac
+acaatacgggttgagatattaattatttgtagtacgaagagatataaaaagatgaacaat
+tactcaagtcaagatgtatacgggatttataataaaaatcgggtagagatctgctttgca
+attcagacgtgccactaaatcgtaatatgtcgcgttacatcagaaagggtaactattatt
+aattaataaagggcttaatcactacatattagatcttatccgatagtcttatctattcgt
+tgtatttttaagcggttctaattcagtcattatatcagtgctccgagttctttattattg
+ttttaaggatgacaaaatgcctcttgttataacgctgggagaagcagactaagagtcgga
+gcagttggtagaatgaggctgcaaaagacggtctcgacgaatggacagactttactaaac
+caatgaaagacagaagtagagcaaagtctgaagtggtatcagcttaattatgacaaccct
+taatacttccctttcgccgaatactggcgtggaaaggttttaaaagtcgaagtagttaga
+ggcatctctcgctcataaataggtagactactcgcaatccaatgtgactatgtaatactg
+ggaacatcagtccgcgatgcagcgtgtttatcaaccgtccccactcgcctggggagacat
+gagaccacccccgtggggattattagtccgcagtaatcgactcttgacaatccttttcga
+ttatgtcatagcaatttacgacagttcagcgaagtgactactcggcgaaatggtattact
+aaagcattcgaacccacatgaatgtgattcttggcaatttctaatccactaaagcttttc
+cgttgaatctggttgtagatatttatataagttcactaattaagatcacggtagtatatt
+gatagtgatgtctttgcaagaggttggccgaggaatttacggattctctattgatacaat
+ttgtctggcttataactcttaaggctgaaccaggcgtttttagacgacttgatcagctgt
+tagaatggtttggactccctctttcatgtcagtaacatttcagccgttattgttacgata
+tgcttgaacaatattgatctaccacacacccatagtatattttataggtcatgctgttac
+ctacgagcatggtattccacttcccattcaatgagtattcaacatcactagcctcagaga
+tgatgacccacctctaataacgtcacgttgcggccatgtgaaacctgaacttgagtagac
+gatatcaagcgctttaaattgcatataacatttgagggtaaagctaagcggatgctttat
+ataatcaatactcaataataagatttgattgcattttagagttatgacacgacatagttc
+actaacgagttactattcccagatctagactgaagtactgatcgagacgatccttacgtc
+gatgatcgttagttatcgacttaggtcgggtctctagcggtattggtacttaaccggaca
+ctatactaataacccatgatcaaagcataacagaatacagacgataatttcgccaacata
+tatgtacagaccccaagcatgagaagctcattgaaagctatcattgaagtcccgctcaca
+atgtgtcttttccagacggtttaactggttcccgggagtcctggagtttcgacttacata
+aatggaaacaatgtattttgctaatttatctatagcgtcatttggaccaatacagaatat
+tatgttgcctagtaatccactataacccgcaagtgctgatagaaaatttttagacgattt
+ataaatgccccaagtatccctcccgtgaatcctccgttatactaattagtattcgttcat
+acgtataccgcgcatatatgaacatttggcgataaggcgcgtgaattgttacgtgacaga
+gatagcagtttcttgtgatatggttaacagacgtacatgaagggaaactttatatctata
+gtgatgcttccgtagaaataccgccactggtctgccaatgatgaagtatgtagctttagg
+tttgtactatgaggctttcgtttgtttgcagagtataacagttgcgagtgaaaaaccgac
+gaatttatactaatacgctttcactattggctacaaaatagggaagagtttcaatcatga
+gagggagtatatggatgctttgtagctaaaggtagaacgtatgtatatgctgccgttcat
+tcttgaaagatacataagcgataagttacgacaattataagcaacatccctaccttcgta
+acgatttcactgttactgcgcttgaaatacactatggggctattggcggagagaagcaga
+tcgcgccgagcatatacgagacctataatgttgatgatagagaaggcgtctgaattgata
+catcgaagtacactttctttcgtagtatctctcgtcctctttctatctccggacacaaga
+attaagttatatatatagagtcttaccaatcatgttgaatcctgattctcagagttcttt
+ggcgggccttgtgatgactgagaaacaatgcaatattgctccaaatttcctaagcaaatt
+ctcggttatgttatgttatcagcaaagcgttacgttatgttatttaaatctggaatgacg
+gagcgaagttcttatgtcggtgtgggaataattcttttgaagacagcactccttaaataa
+tatcgctccgtgtttgtatttatcgaatgggtctgtaaccttgcacaagcaaatcggtgg
+tgtatatatcggataacaattaatacgatgttcatagtgacagtatactgatcgagtcct
+ctaaagtcaattacctcacttaacaatctcattgatgttgtgtcattcccggtatcgccc
+gtagtatgtgctctgattgaccgagtgtgaaccaaggaacatctactaatgcctttgtta
+ggtaagatctctctgaattccttcgtgccaacttaaaacattatcaaaatttcttctact
+tggattaactacttttacgagcatggcaaattcccctgtggaagacggttcattattatc
+ggaaaccttatagaaattgcgtgttgactgaaattagatttttattgtaagagttgcatc
+tttgcgattcctctggtctagcttccaatgaacagtcctcccttctattcgacatcgggt
+ccttcgtacatgtctttgcgatgtaataattaggttcggagtgtggccttaatgggtgca
+actaggaatacaacgcaaatttgctgacatgatagcaaatcggtatgccggcaccaaaac
+gtgctccttgcttagcttgtgaatgagactcagtagttaaataaatccatatctgcaatc
+gattccacaggtattgtccactatctttgaactactctaagagatacaagcttagctgag
+accgaggtgtatatgactacgctgatatctgtaaggtaccaatgcaggcaaagtatgcga
+gaagctaataccggctgtttccagctttataagattaaaatttggctgtcctggcggcct
+cagaattgttctatcgtaatcagttggttcattaattagctaagtacgaggtacaactta
+tctgtcccagaacagctccacaagtttttttacagccgaaacccctgtgtgaatcttaat
+atccaagcgcgttatctgattagagtttacaactcagtattttatcagtacgttttgttt
+ccaacattacccggtatgacaaaatgacgccacgtgtcgaataatggtctgaccaatgta
+ggaagtgaaaagataaatat
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*
+ * http://shootout.alioth.debian.org/u32/program.php?test=fasta&lang=gcc&id=3
+ */
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by Petr Prokhorenkov
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifndef fwrite_unlocked
+// not available on OS X
+#define fwrite_unlocked fwrite
+#define fputc_unlocked fputc
+#define fputs_unlocked fputs
+#endif
+
+#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
+#define unlikely(x) __builtin_expect((x), 0)
+
+#define IM 139968
+#define IA 3877
+#define IC 29573
+
+#define LINE_LEN 60
+#define LOOKUP_SIZE 4096
+#define LOOKUP_SCALE ((float)(LOOKUP_SIZE - 1))
+
+typedef unsigned random_t;
+
+void
+random_init(random_t *random) {
+ *random = 42;
+}
+
+// Special version with result rescaled to LOOKUP_SCALE.
+static inline
+float
+random_next_lookup(random_t *random) {
+ *random = (*random*IA + IC)%IM;
+
+ return (*random)*(LOOKUP_SCALE/IM);
+}
+
+struct amino_acid {
+ char sym;
+ float prob;
+ float cprob_lookup;
+};
+
+void
+repeat(const char *alu, const char *title, int n) {
+ int len = strlen(alu);
+ char buffer[len + LINE_LEN];
+ int pos = 0;
+
+ memcpy(buffer, alu, len);
+ memcpy(buffer + len, alu, LINE_LEN);
+
+ fputs_unlocked(title, stdout);
+ while (n > 0) {
+ int bytes = n > LINE_LEN ? LINE_LEN : n;
+
+ fwrite_unlocked(buffer + pos, bytes, 1, stdout);
+ pos += bytes;
+ if (pos > len) {
+ pos -= len;
+ }
+ fputc_unlocked('\n', stdout);
+ n -= bytes;
+ }
+}
+
+/*
+ * Lookup table contains mapping from real values to cumulative
+ * probabilities. Careful selection of table size allows lookup
+ * virtually in constant time.
+ *
+ * All cumulative probabilities are rescaled to LOOKUP_SCALE,
+ * this allows to save one multiplication operation on each iteration
+ * in randomize().
+ */
+
+void *
+fill_lookup(struct amino_acid **lookup, struct amino_acid *amino_acid, int amino_acid_size) {
+ float p = 0;
+ int i, j;
+
+ for (i = 0; i < amino_acid_size; i++) {
+ p += amino_acid[i].prob;
+ amino_acid[i].cprob_lookup = p*LOOKUP_SCALE;
+ }
+
+ // Prevent rounding error.
+ amino_acid[amino_acid_size - 1].cprob_lookup = LOOKUP_SIZE - 1;
+
+ for (i = 0, j = 0; i < LOOKUP_SIZE; i++) {
+ while (amino_acid[j].cprob_lookup < i) {
+ j++;
+ }
+ lookup[i] = &amino_acid[j];
+ }
+
+ return 0;
+}
+
+void
+randomize(struct amino_acid *amino_acid, int amino_acid_size,
+ const char *title, int n, random_t *rand) {
+ struct amino_acid *lookup[LOOKUP_SIZE];
+ char line_buffer[LINE_LEN + 1];
+ int i, j;
+
+ line_buffer[LINE_LEN] = '\n';
+
+ fill_lookup(lookup, amino_acid, amino_acid_size);
+
+ fputs_unlocked(title, stdout);
+
+ for (i = 0, j = 0; i < n; i++, j++) {
+ if (j == LINE_LEN) {
+ fwrite_unlocked(line_buffer, LINE_LEN + 1, 1, stdout);
+ j = 0;
+ }
+
+ float r = random_next_lookup(rand);
+ struct amino_acid *u = lookup[(short)r];
+ while (unlikely(u->cprob_lookup < r)) {
+ ++u;
+ }
+ line_buffer[j] = u->sym;
+ }
+ line_buffer[j] = '\n';
+ fwrite_unlocked(line_buffer, j + 1, 1, stdout);
+}
+
+struct amino_acid amino_acid[] = {
+ { 'a', 0.27 },
+ { 'c', 0.12 },
+ { 'g', 0.12 },
+ { 't', 0.27 },
+
+ { 'B', 0.02 },
+ { 'D', 0.02 },
+ { 'H', 0.02 },
+ { 'K', 0.02 },
+ { 'M', 0.02 },
+ { 'N', 0.02 },
+ { 'R', 0.02 },
+ { 'S', 0.02 },
+ { 'V', 0.02 },
+ { 'W', 0.02 },
+ { 'Y', 0.02 },
+};
+
+struct amino_acid homo_sapiens[] = {
+ { 'a', 0.3029549426680 },
+ { 'c', 0.1979883004921 },
+ { 'g', 0.1975473066391 },
+ { 't', 0.3015094502008 },
+};
+
+static const char alu[] =
+ "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG"
+ "GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA"
+ "GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA"
+ "AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT"
+ "CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC"
+ "CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG"
+ "CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA";
+
+int
+main(int argc, const char **argv) {
+ int n = argc > 1 ? atoi( argv[1] ) : 512;
+ random_t rand;
+
+ random_init(&rand);
+
+ repeat(alu, ">ONE Homo sapiens alu\n", n*2);
+ randomize(amino_acid, ARRAY_SIZE(amino_acid),
+ ">TWO IUB ambiguity codes\n", n*3, &rand);
+ randomize(homo_sapiens, ARRAY_SIZE(homo_sapiens),
+ ">THREE Homo sapiens frequency\n", n*5, &rand);
+
+ return 0;
+}
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ * Based on C program by by Petr Prokhorenkov.
+ */
+
+package main
+
+import (
+ "flag"
+ "os"
+)
+
+var out = make(buffer, 0, 32768)
+
+var n = flag.Int("n", 1000, "length of result")
+
+const Line = 60
+
+func Repeat(alu []byte, n int) {
+ buf := append(alu, alu...)
+ off := 0
+ for n > 0 {
+ m := n
+ if m > Line {
+ m = Line
+ }
+ buf1 := out.NextWrite(m + 1)
+ copy(buf1, buf[off:])
+ buf1[m] = '\n'
+ if off += m; off >= len(alu) {
+ off -= len(alu)
+ }
+ n -= m
+ }
+}
+
+const (
+ IM = 139968
+ IA = 3877
+ IC = 29573
+
+ LookupSize = 4096
+ LookupScale float64 = LookupSize - 1
+)
+
+var rand uint32 = 42
+
+type Acid struct {
+ sym byte
+ prob float64
+ cprob float64
+ next *Acid
+}
+
+func computeLookup(acid []Acid) *[LookupSize]*Acid {
+ var lookup [LookupSize]*Acid
+ var p float64
+ for i := range acid {
+ p += acid[i].prob
+ acid[i].cprob = p * LookupScale
+ if i > 0 {
+ acid[i-1].next = &acid[i]
+ }
+ }
+ acid[len(acid)-1].cprob = 1.0 * LookupScale
+
+ j := 0
+ for i := range lookup {
+ for acid[j].cprob < float64(i) {
+ j++
+ }
+ lookup[i] = &acid[j]
+ }
+
+ return &lookup
+}
+
+func Random(acid []Acid, n int) {
+ lookup := computeLookup(acid)
+ for n > 0 {
+ m := n
+ if m > Line {
+ m = Line
+ }
+ buf := out.NextWrite(m + 1)
+ f := LookupScale / IM
+ myrand := rand
+ for i := 0; i < m; i++ {
+ myrand = (myrand*IA + IC) % IM
+ r := float64(int(myrand)) * f
+ a := lookup[int(r)]
+ for a.cprob < r {
+ a = a.next
+ }
+ buf[i] = a.sym
+ }
+ rand = myrand
+ buf[m] = '\n'
+ n -= m
+ }
+}
+
+func main() {
+ defer out.Flush()
+
+ flag.Parse()
+
+ iub := []Acid{
+ {prob: 0.27, sym: 'a'},
+ {prob: 0.12, sym: 'c'},
+ {prob: 0.12, sym: 'g'},
+ {prob: 0.27, sym: 't'},
+ {prob: 0.02, sym: 'B'},
+ {prob: 0.02, sym: 'D'},
+ {prob: 0.02, sym: 'H'},
+ {prob: 0.02, sym: 'K'},
+ {prob: 0.02, sym: 'M'},
+ {prob: 0.02, sym: 'N'},
+ {prob: 0.02, sym: 'R'},
+ {prob: 0.02, sym: 'S'},
+ {prob: 0.02, sym: 'V'},
+ {prob: 0.02, sym: 'W'},
+ {prob: 0.02, sym: 'Y'},
+ }
+
+ homosapiens := []Acid{
+ {prob: 0.3029549426680, sym: 'a'},
+ {prob: 0.1979883004921, sym: 'c'},
+ {prob: 0.1975473066391, sym: 'g'},
+ {prob: 0.3015094502008, sym: 't'},
+ }
+
+ alu := []byte(
+ "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG" +
+ "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA" +
+ "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT" +
+ "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA" +
+ "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG" +
+ "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC" +
+ "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA")
+
+ out.WriteString(">ONE Homo sapiens alu\n")
+ Repeat(alu, 2**n)
+ out.WriteString(">TWO IUB ambiguity codes\n")
+ Random(iub, 3**n)
+ out.WriteString(">THREE Homo sapiens frequency\n")
+ Random(homosapiens, 5**n)
+}
+
+type buffer []byte
+
+func (b *buffer) Flush() {
+ p := *b
+ if len(p) > 0 {
+ os.Stdout.Write(p)
+ }
+ *b = p[0:0]
+}
+
+func (b *buffer) WriteString(s string) {
+ p := b.NextWrite(len(s))
+ copy(p, s)
+}
+
+func (b *buffer) NextWrite(n int) []byte {
+ p := *b
+ if len(p)+n > cap(p) {
+ b.Flush()
+ p = *b
+ }
+ out := p[len(p) : len(p)+n]
+ *b = p[:len(p)+n]
+ return out
+}
--- /dev/null
+>ONE Homo sapiens alu
+GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA
+TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT
+AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG
+GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG
+CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT
+GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA
+GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA
+TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG
+AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA
+GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT
+AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC
+AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG
+GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC
+CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG
+AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT
+TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA
+TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT
+GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG
+TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT
+CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG
+CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG
+TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA
+CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG
+AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG
+GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC
+TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA
+TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA
+GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT
+GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC
+ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT
+TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC
+CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG
+CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG
+GGCGACAGAGCGAGACTCCG
+>TWO IUB ambiguity codes
+cttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcg
+tactDtDagcctatttSVHtHttKtgtHMaSattgWaHKHttttagacatWatgtRgaaa
+NtactMcSMtYtcMgRtacttctWBacgaaatatagScDtttgaagacacatagtVgYgt
+cattHWtMMWcStgttaggKtSgaYaaccWStcgBttgcgaMttBYatcWtgacaYcaga
+gtaBDtRacttttcWatMttDBcatWtatcttactaBgaYtcttgttttttttYaaScYa
+HgtgttNtSatcMtcVaaaStccRcctDaataataStcYtRDSaMtDttgttSagtRRca
+tttHatSttMtWgtcgtatSSagactYaaattcaMtWatttaSgYttaRgKaRtccactt
+tattRggaMcDaWaWagttttgacatgttctacaaaRaatataataaMttcgDacgaSSt
+acaStYRctVaNMtMgtaggcKatcttttattaaaaagVWaHKYagtttttatttaacct
+tacgtVtcVaattVMBcttaMtttaStgacttagattWWacVtgWYagWVRctDattBYt
+gtttaagaagattattgacVatMaacattVctgtBSgaVtgWWggaKHaatKWcBScSWa
+accRVacacaaactaccScattRatatKVtactatatttHttaagtttSKtRtacaaagt
+RDttcaaaaWgcacatWaDgtDKacgaacaattacaRNWaatHtttStgttattaaMtgt
+tgDcgtMgcatBtgcttcgcgaDWgagctgcgaggggVtaaScNatttacttaatgacag
+cccccacatYScaMgtaggtYaNgttctgaMaacNaMRaacaaacaKctacatagYWctg
+ttWaaataaaataRattagHacacaagcgKatacBttRttaagtatttccgatctHSaat
+actcNttMaagtattMtgRtgaMgcataatHcMtaBSaRattagttgatHtMttaaKagg
+YtaaBataSaVatactWtataVWgKgttaaaacagtgcgRatatacatVtHRtVYataSa
+KtWaStVcNKHKttactatccctcatgWHatWaRcttactaggatctataDtDHBttata
+aaaHgtacVtagaYttYaKcctattcttcttaataNDaaggaaaDYgcggctaaWSctBa
+aNtgctggMBaKctaMVKagBaactaWaDaMaccYVtNtaHtVWtKgRtcaaNtYaNacg
+gtttNattgVtttctgtBaWgtaattcaagtcaVWtactNggattctttaYtaaagccgc
+tcttagHVggaYtgtNcDaVagctctctKgacgtatagYcctRYHDtgBattDaaDgccK
+tcHaaStttMcctagtattgcRgWBaVatHaaaataYtgtttagMDMRtaataaggatMt
+ttctWgtNtgtgaaaaMaatatRtttMtDgHHtgtcattttcWattRSHcVagaagtacg
+ggtaKVattKYagactNaatgtttgKMMgYNtcccgSKttctaStatatNVataYHgtNa
+BKRgNacaactgatttcctttaNcgatttctctataScaHtataRagtcRVttacDSDtt
+aRtSatacHgtSKacYagttMHtWataggatgactNtatSaNctataVtttRNKtgRacc
+tttYtatgttactttttcctttaaacatacaHactMacacggtWataMtBVacRaSaatc
+cgtaBVttccagccBcttaRKtgtgcctttttRtgtcagcRttKtaaacKtaaatctcac
+aattgcaNtSBaaccgggttattaaBcKatDagttactcttcattVtttHaaggctKKga
+tacatcBggScagtVcacattttgaHaDSgHatRMaHWggtatatRgccDttcgtatcga
+aacaHtaagttaRatgaVacttagattVKtaaYttaaatcaNatccRttRRaMScNaaaD
+gttVHWgtcHaaHgacVaWtgttScactaagSgttatcttagggDtaccagWattWtRtg
+ttHWHacgattBtgVcaYatcggttgagKcWtKKcaVtgaYgWctgYggVctgtHgaNcV
+taBtWaaYatcDRaaRtSctgaHaYRttagatMatgcatttNattaDttaattgttctaa
+ccctcccctagaWBtttHtBccttagaVaatMcBHagaVcWcagBVttcBtaYMccagat
+gaaaaHctctaacgttagNWRtcggattNatcRaNHttcagtKttttgWatWttcSaNgg
+gaWtactKKMaacatKatacNattgctWtatctaVgagctatgtRaHtYcWcttagccaa
+tYttWttaWSSttaHcaaaaagVacVgtaVaRMgattaVcDactttcHHggHRtgNcctt
+tYatcatKgctcctctatVcaaaaKaaaagtatatctgMtWtaaaacaStttMtcgactt
+taSatcgDataaactaaacaagtaaVctaggaSccaatMVtaaSKNVattttgHccatca
+cBVctgcaVatVttRtactgtVcaattHgtaaattaaattttYtatattaaRSgYtgBag
+aHSBDgtagcacRHtYcBgtcacttacactaYcgctWtattgSHtSatcataaatataHt
+cgtYaaMNgBaatttaRgaMaatatttBtttaaaHHKaatctgatWatYaacttMctctt
+ttVctagctDaaagtaVaKaKRtaacBgtatccaaccactHHaagaagaaggaNaaatBW
+attccgStaMSaMatBttgcatgRSacgttVVtaaDMtcSgVatWcaSatcttttVatag
+ttactttacgatcaccNtaDVgSRcgVcgtgaacgaNtaNatatagtHtMgtHcMtagaa
+attBgtataRaaaacaYKgtRccYtatgaagtaataKgtaaMttgaaRVatgcagaKStc
+tHNaaatctBBtcttaYaBWHgtVtgacagcaRcataWctcaBcYacYgatDgtDHccta
+>THREE Homo sapiens frequency
+aacacttcaccaggtatcgtgaaggctcaagattacccagagaacctttgcaatataaga
+atatgtatgcagcattaccctaagtaattatattctttttctgactcaaagtgacaagcc
+ctagtgtatattaaatcggtatatttgggaaattcctcaaactatcctaatcaggtagcc
+atgaaagtgatcaaaaaagttcgtacttataccatacatgaattctggccaagtaaaaaa
+tagattgcgcaaaattcgtaccttaagtctctcgccaagatattaggatcctattactca
+tatcgtgtttttctttattgccgccatccccggagtatctcacccatccttctcttaaag
+gcctaatattacctatgcaaataaacatatattgttgaaaattgagaacctgatcgtgat
+tcttatgtgtaccatatgtatagtaatcacgcgactatatagtgctttagtatcgcccgt
+gggtgagtgaatattctgggctagcgtgagatagtttcttgtcctaatatttttcagatc
+gaatagcttctatttttgtgtttattgacatatgtcgaaactccttactcagtgaaagtc
+atgaccagatccacgaacaatcttcggaatcagtctcgttttacggcggaatcttgagtc
+taacttatatcccgtcgcttactttctaacaccccttatgtatttttaaaattacgttta
+ttcgaacgtacttggcggaagcgttattttttgaagtaagttacattgggcagactcttg
+acattttcgatacgactttctttcatccatcacaggactcgttcgtattgatatcagaag
+ctcgtgatgattagttgtcttctttaccaatactttgaggcctattctgcgaaatttttg
+ttgccctgcgaacttcacataccaaggaacacctcgcaacatgccttcatatccatcgtt
+cattgtaattcttacacaatgaatcctaagtaattacatccctgcgtaaaagatggtagg
+ggcactgaggatatattaccaagcatttagttatgagtaatcagcaatgtttcttgtatt
+aagttctctaaaatagttacatcgtaatgttatctcgggttccgcgaataaacgagatag
+attcattatatatggccctaagcaaaaacctcctcgtattctgttggtaattagaatcac
+acaatacgggttgagatattaattatttgtagtacgaagagatataaaaagatgaacaat
+tactcaagtcaagatgtatacgggatttataataaaaatcgggtagagatctgctttgca
+attcagacgtgccactaaatcgtaatatgtcgcgttacatcagaaagggtaactattatt
+aattaataaagggcttaatcactacatattagatcttatccgatagtcttatctattcgt
+tgtatttttaagcggttctaattcagtcattatatcagtgctccgagttctttattattg
+ttttaaggatgacaaaatgcctcttgttataacgctgggagaagcagactaagagtcgga
+gcagttggtagaatgaggctgcaaaagacggtctcgacgaatggacagactttactaaac
+caatgaaagacagaagtagagcaaagtctgaagtggtatcagcttaattatgacaaccct
+taatacttccctttcgccgaatactggcgtggaaaggttttaaaagtcgaagtagttaga
+ggcatctctcgctcataaataggtagactactcgcaatccaatgtgactatgtaatactg
+ggaacatcagtccgcgatgcagcgtgtttatcaaccgtccccactcgcctggggagacat
+gagaccacccccgtggggattattagtccgcagtaatcgactcttgacaatccttttcga
+ttatgtcatagcaatttacgacagttcagcgaagtgactactcggcgaaatggtattact
+aaagcattcgaacccacatgaatgtgattcttggcaatttctaatccactaaagcttttc
+cgttgaatctggttgtagatatttatataagttcactaattaagatcacggtagtatatt
+gatagtgatgtctttgcaagaggttggccgaggaatttacggattctctattgatacaat
+ttgtctggcttataactcttaaggctgaaccaggcgtttttagacgacttgatcagctgt
+tagaatggtttggactccctctttcatgtcagtaacatttcagccgttattgttacgata
+tgcttgaacaatattgatctaccacacacccatagtatattttataggtcatgctgttac
+ctacgagcatggtattccacttcccattcaatgagtattcaacatcactagcctcagaga
+tgatgacccacctctaataacgtcacgttgcggccatgtgaaacctgaacttgagtagac
+gatatcaagcgctttaaattgcatataacatttgagggtaaagctaagcggatgctttat
+ataatcaatactcaataataagatttgattgcattttagagttatgacacgacatagttc
+actaacgagttactattcccagatctagactgaagtactgatcgagacgatccttacgtc
+gatgatcgttagttatcgacttaggtcgggtctctagcggtattggtacttaaccggaca
+ctatactaataacccatgatcaaagcataacagaatacagacgataatttcgccaacata
+tatgtacagaccccaagcatgagaagctcattgaaagctatcattgaagtcccgctcaca
+atgtgtcttttccagacggtttaactggttcccgggagtcctggagtttcgacttacata
+aatggaaacaatgtattttgctaatttatctatagcgtcatttggaccaatacagaatat
+tatgttgcctagtaatccactataacccgcaagtgctgatagaaaatttttagacgattt
+ataaatgccccaagtatccctcccgtgaatcctccgttatactaattagtattcgttcat
+acgtataccgcgcatatatgaacatttggcgataaggcgcgtgaattgttacgtgacaga
+gatagcagtttcttgtgatatggttaacagacgtacatgaagggaaactttatatctata
+gtgatgcttccgtagaaataccgccactggtctgccaatgatgaagtatgtagctttagg
+tttgtactatgaggctttcgtttgtttgcagagtataacagttgcgagtgaaaaaccgac
+gaatttatactaatacgctttcactattggctacaaaatagggaagagtttcaatcatga
+gagggagtatatggatgctttgtagctaaaggtagaacgtatgtatatgctgccgttcat
+tcttgaaagatacataagcgataagttacgacaattataagcaacatccctaccttcgta
+acgatttcactgttactgcgcttgaaatacactatggggctattggcggagagaagcaga
+tcgcgccgagcatatacgagacctataatgttgatgatagagaaggcgtctgaattgata
+catcgaagtacactttctttcgtagtatctctcgtcctctttctatctccggacacaaga
+attaagttatatatatagagtcttaccaatcatgttgaatcctgattctcagagttcttt
+ggcgggccttgtgatgactgagaaacaatgcaatattgctccaaatttcctaagcaaatt
+ctcggttatgttatgttatcagcaaagcgttacgttatgttatttaaatctggaatgacg
+gagcgaagttcttatgtcggtgtgggaataattcttttgaagacagcactccttaaataa
+tatcgctccgtgtttgtatttatcgaatgggtctgtaaccttgcacaagcaaatcggtgg
+tgtatatatcggataacaattaatacgatgttcatagtgacagtatactgatcgagtcct
+ctaaagtcaattacctcacttaacaatctcattgatgttgtgtcattcccggtatcgccc
+gtagtatgtgctctgattgaccgagtgtgaaccaaggaacatctactaatgcctttgtta
+ggtaagatctctctgaattccttcgtgccaacttaaaacattatcaaaatttcttctact
+tggattaactacttttacgagcatggcaaattcccctgtggaagacggttcattattatc
+ggaaaccttatagaaattgcgtgttgactgaaattagatttttattgtaagagttgcatc
+tttgcgattcctctggtctagcttccaatgaacagtcctcccttctattcgacatcgggt
+ccttcgtacatgtctttgcgatgtaataattaggttcggagtgtggccttaatgggtgca
+actaggaatacaacgcaaatttgctgacatgatagcaaatcggtatgccggcaccaaaac
+gtgctccttgcttagcttgtgaatgagactcagtagttaaataaatccatatctgcaatc
+gattccacaggtattgtccactatctttgaactactctaagagatacaagcttagctgag
+accgaggtgtatatgactacgctgatatctgtaaggtaccaatgcaggcaaagtatgcga
+gaagctaataccggctgtttccagctttataagattaaaatttggctgtcctggcggcct
+cagaattgttctatcgtaatcagttggttcattaattagctaagtacgaggtacaactta
+tctgtcccagaacagctccacaagtttttttacagccgaaacccctgtgtgaatcttaat
+atccaagcgcgttatctgattagagtttacaactcagtattttatcagtacgttttgttt
+ccaacattacccggtatgacaaaatgacgccacgtgtcgaataatggtctgaccaatgta
+ggaagtgaaaagataaatat
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ */
+
+package main
+
+import (
+ "bufio"
+ "bytes"
+ "fmt"
+ "io/ioutil"
+ "os"
+ "runtime"
+ "sort"
+)
+
+func count(data string, n int) map[string]int {
+ counts := make(map[string]int)
+ top := len(data) - n
+ for i := 0; i <= top; i++ {
+ s := data[i : i+n]
+ counts[s]++
+ }
+ return counts
+}
+
+func countOne(data string, s string) int {
+ return count(data, len(s))[s]
+}
+
+type kNuc struct {
+ name string
+ count int
+}
+
+type kNucArray []kNuc
+
+func (kn kNucArray) Len() int { return len(kn) }
+func (kn kNucArray) Swap(i, j int) { kn[i], kn[j] = kn[j], kn[i] }
+func (kn kNucArray) Less(i, j int) bool {
+ if kn[i].count == kn[j].count {
+ return kn[i].name > kn[j].name // sort down
+ }
+ return kn[i].count > kn[j].count
+}
+
+func sortedArray(m map[string]int) kNucArray {
+ kn := make(kNucArray, len(m))
+ i := 0
+ for k, v := range m {
+ kn[i] = kNuc{k, v}
+ i++
+ }
+ sort.Sort(kn)
+ return kn
+}
+
+func printKnucs(a kNucArray) {
+ sum := 0
+ for _, kn := range a {
+ sum += kn.count
+ }
+ for _, kn := range a {
+ fmt.Printf("%s %.3f\n", kn.name, 100*float64(kn.count)/float64(sum))
+ }
+ fmt.Print("\n")
+}
+
+func main() {
+ runtime.GOMAXPROCS(4)
+ in := bufio.NewReader(os.Stdin)
+ three := []byte(">THREE ")
+ for {
+ line, err := in.ReadSlice('\n')
+ if err != nil {
+ fmt.Fprintln(os.Stderr, "ReadLine err:", err)
+ os.Exit(2)
+ }
+ if line[0] == '>' && bytes.Equal(line[0:len(three)], three) {
+ break
+ }
+ }
+ data, err := ioutil.ReadAll(in)
+ if err != nil {
+ fmt.Fprintln(os.Stderr, "ReadAll err:", err)
+ os.Exit(2)
+ }
+ // delete the newlines and convert to upper case
+ j := 0
+ for i := 0; i < len(data); i++ {
+ if data[i] != '\n' {
+ data[j] = data[i] &^ ' ' // upper case
+ j++
+ }
+ }
+ str := string(data[0:j])
+
+ var arr1, arr2 kNucArray
+ countsdone := make(chan bool)
+ go func() {
+ arr1 = sortedArray(count(str, 1))
+ countsdone <- true
+ }()
+ go func() {
+ arr2 = sortedArray(count(str, 2))
+ countsdone <- true
+ }()
+
+ interests := []string{"GGT", "GGTA", "GGTATT", "GGTATTTTAATT", "GGTATTTTAATTTATAGT"}
+ results := make([]chan string, len(interests))
+ for i, s := range interests {
+ ch := make(chan string)
+ results[i] = ch
+ go func(result chan string, ss string) {
+ result <- fmt.Sprintf("%d %s\n", countOne(str, ss), ss)
+ }(ch, s)
+ }
+ <-countsdone
+ <-countsdone
+ printKnucs(arr1)
+ printKnucs(arr2)
+ for _, rc := range results {
+ fmt.Print(<-rc)
+ }
+
+}
--- /dev/null
+T 31.520
+A 29.600
+C 19.480
+G 19.400
+
+AT 9.922
+TT 9.602
+TA 9.402
+AA 8.402
+GA 6.321
+TC 6.301
+TG 6.201
+GT 6.041
+CT 5.961
+AG 5.841
+CA 5.461
+AC 5.441
+CC 4.041
+CG 4.021
+GC 3.701
+GG 3.341
+
+54 GGT
+24 GGTA
+4 GGTATT
+0 GGTATTTTAATT
+0 GGTATTTTAATTTATAGT
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <glib.h>
+
+typedef struct stat_s stat_t;
+struct stat_s
+{
+ const gchar *key;
+ long stat;
+};
+
+#define MAX_ELM (8192 / sizeof (stat_t))
+
+static int
+generate_frequencies (int fl, char *buffer, long buflen,
+ GHashTable *ht, GTrashStack **ts, GPtrArray *roots, GStringChunk *sc)
+{
+ gchar *key;
+ long i;
+
+ if (fl > buflen) return 0;
+ if (fl == 0) return 0;
+
+ for (i = 0; i < buflen - fl + 1; ++i)
+ {
+ char nulled;
+ stat_t *stat;
+
+ nulled = buffer[i + fl];
+ buffer[i + fl] = '\0';
+
+ key = g_string_chunk_insert_const(sc, buffer + i);
+
+ stat = g_hash_table_lookup(ht, key);
+ if (!stat)
+ {
+ stat = g_trash_stack_pop(ts);
+ if (!stat)
+ {
+ int j;
+
+ stat = malloc(sizeof (stat_t) * MAX_ELM);
+ g_ptr_array_add(roots, stat);
+
+ for (j = 1; j < MAX_ELM; ++j)
+ g_trash_stack_push(ts, stat + j);
+ }
+ stat->stat = 1;
+ stat->key = key;
+
+ g_hash_table_insert(ht, key, stat);
+ }
+ else
+ stat->stat++;
+
+ buffer[i + fl] = nulled;
+ }
+
+ return buflen - fl + 1;
+}
+
+static int
+cmp_func(gconstpointer a, gconstpointer b)
+{
+ const stat_t *left = a;
+ const stat_t *right = b;
+
+ return right->stat - left->stat;
+}
+
+static void
+sorted_list(gpointer key, gpointer value, gpointer user_data)
+{
+ stat_t *data = value;
+ GList **lst = user_data;
+
+ *lst = g_list_insert_sorted(*lst, data, cmp_func);
+}
+
+static void
+display_stat(gpointer data, gpointer user_data)
+{
+ long *total = user_data;
+ stat_t *st = data;
+
+ printf("%s %.3f\n", st->key, 100 * (float) st->stat / *total);
+}
+
+void
+write_frequencies (int fl, char *buffer, long buflen, GTrashStack **ts, GPtrArray *roots)
+{
+ GStringChunk *sc;
+ GHashTable *ht;
+ GList *lst;
+ long total;
+
+ ht = g_hash_table_new_full(g_str_hash, g_str_equal, NULL /* free key */, NULL /* free value */);
+ sc = g_string_chunk_new(buflen);
+ lst = NULL;
+
+ total = generate_frequencies (fl, buffer, buflen, ht, ts, roots, sc);
+
+ if (!total) goto on_error;
+
+ g_hash_table_foreach(ht, sorted_list, &lst);
+ g_list_foreach(lst, display_stat, &total);
+ g_list_free(lst);
+
+ on_error:
+ g_hash_table_destroy(ht);
+ g_string_chunk_free(sc);
+}
+
+void
+write_count (char *searchFor, char *buffer, long buflen, GTrashStack **ts, GPtrArray *roots)
+{
+ GStringChunk *sc;
+ GHashTable *ht;
+ stat_t *result;
+ GList *lst;
+ long total;
+ long fl;
+
+ fl = strlen(searchFor);
+
+ ht = g_hash_table_new_full(g_str_hash, g_str_equal, NULL /* free key */, NULL /* free value */);
+ sc = g_string_chunk_new(buflen);
+ lst = NULL;
+ result = NULL;
+
+ total = generate_frequencies (fl, buffer, buflen, ht, ts, roots, sc);
+
+ if (!total) goto on_error;
+
+ result = g_hash_table_lookup(ht, searchFor);
+
+ on_error:
+ printf("%ld\t%s\n", result ? result->stat : 0, searchFor);
+
+ g_hash_table_destroy(ht);
+ g_string_chunk_free(sc);
+}
+
+int
+main ()
+{
+ char buffer[4096];
+ GTrashStack *ts;
+ GPtrArray *roots;
+ GString *stuff;
+ gchar *s;
+ int len;
+
+ roots = g_ptr_array_new();
+ ts = NULL;
+
+ while (fgets(buffer, sizeof (buffer), stdin))
+ if (strncmp(buffer, ">THREE", 6) == 0)
+ break;
+
+ stuff = g_string_new(NULL);
+
+ while (fgets(buffer, sizeof (buffer), stdin))
+ {
+ size_t sz;
+
+ if (buffer[0] == '>')
+ break;
+
+ sz = strlen(buffer);
+ if (buffer[sz - 1] == '\n')
+ --sz;
+
+ stuff = g_string_append_len(stuff, buffer, sz);
+ }
+
+ stuff = g_string_ascii_up(stuff);
+ len = stuff->len;
+ s = g_string_free(stuff, FALSE);
+
+ write_frequencies(1, s, len, &ts, roots);
+ printf("\n");
+ write_frequencies(2, s, len, &ts, roots);
+ printf("\n");
+ write_count("GGT", s, len, &ts, roots);
+ write_count("GGTA", s, len, &ts, roots);
+ write_count("GGTATT", s, len, &ts, roots);
+ write_count("GGTATTTTAATT", s, len, &ts, roots);
+ write_count("GGTATTTTAATTTATAGT", s, len, &ts, roots);
+
+ free(s);
+
+ g_ptr_array_foreach(roots, free, NULL);
+ g_ptr_array_free(roots, TRUE);
+
+ return 0;
+}
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ */
+
+package main
+
+import (
+ "bufio"
+ "bytes"
+ "fmt"
+ "io/ioutil"
+ "os"
+ "sort"
+)
+
+var in *bufio.Reader
+
+func count(data string, n int) map[string]int {
+ counts := make(map[string]int)
+ top := len(data) - n
+ for i := 0; i <= top; i++ {
+ s := data[i : i+n]
+ counts[s]++
+ }
+ return counts
+}
+
+func countOne(data string, s string) int {
+ return count(data, len(s))[s]
+}
+
+type kNuc struct {
+ name string
+ count int
+}
+
+type kNucArray []kNuc
+
+func (kn kNucArray) Len() int { return len(kn) }
+func (kn kNucArray) Swap(i, j int) { kn[i], kn[j] = kn[j], kn[i] }
+func (kn kNucArray) Less(i, j int) bool {
+ if kn[i].count == kn[j].count {
+ return kn[i].name > kn[j].name // sort down
+ }
+ return kn[i].count > kn[j].count
+}
+
+func sortedArray(m map[string]int) kNucArray {
+ kn := make(kNucArray, len(m))
+ i := 0
+ for k, v := range m {
+ kn[i].name = k
+ kn[i].count = v
+ i++
+ }
+ sort.Sort(kn)
+ return kn
+}
+
+func print(m map[string]int) {
+ a := sortedArray(m)
+ sum := 0
+ for _, kn := range a {
+ sum += kn.count
+ }
+ for _, kn := range a {
+ fmt.Printf("%s %.3f\n", kn.name, 100*float64(kn.count)/float64(sum))
+ }
+}
+
+func main() {
+ in = bufio.NewReader(os.Stdin)
+ three := []byte(">THREE ")
+ for {
+ line, err := in.ReadSlice('\n')
+ if err != nil {
+ fmt.Fprintln(os.Stderr, "ReadLine err:", err)
+ os.Exit(2)
+ }
+ if line[0] == '>' && bytes.Equal(line[0:len(three)], three) {
+ break
+ }
+ }
+ data, err := ioutil.ReadAll(in)
+ if err != nil {
+ fmt.Fprintln(os.Stderr, "ReadAll err:", err)
+ os.Exit(2)
+ }
+ // delete the newlines and convert to upper case
+ j := 0
+ for i := 0; i < len(data); i++ {
+ if data[i] != '\n' {
+ data[j] = data[i] &^ ' ' // upper case
+ j++
+ }
+ }
+ str := string(data[0:j])
+
+ print(count(str, 1))
+ fmt.Print("\n")
+
+ print(count(str, 2))
+ fmt.Print("\n")
+
+ interests := []string{"GGT", "GGTA", "GGTATT", "GGTATTTTAATT", "GGTATTTTAATTTATAGT"}
+ for _, s := range interests {
+ fmt.Printf("%d %s\n", countOne(str, s), s)
+ }
+}
--- /dev/null
+T 31.520
+A 29.600
+C 19.480
+G 19.400
+
+AT 9.922
+TT 9.602
+TA 9.402
+AA 8.402
+GA 6.321
+TC 6.301
+TG 6.201
+GT 6.041
+CT 5.961
+AG 5.841
+CA 5.461
+AC 5.441
+CC 4.041
+CG 4.021
+GC 3.701
+GG 3.341
+
+54 GGT
+24 GGTA
+4 GGTATT
+0 GGTATTTTAATT
+0 GGTATTTTAATTTATAGT
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Shootout
+ http://shootout.alioth.debian.org/
+
+ contributed by Greg Buchholz
+
+ for the debian (AMD) machine...
+ compile flags: -O3 -ffast-math -march=athlon-xp -funroll-loops
+
+ for the gp4 (Intel) machine...
+ compile flags: -O3 -ffast-math -march=pentium4 -funroll-loops
+*/
+
+#include<stdio.h>
+
+int main (int argc, char **argv)
+{
+ int w, h, bit_num = 0;
+ char byte_acc = 0;
+ int i, iter = 50;
+ double x, y, limit = 2.0;
+ double Zr, Zi, Cr, Ci, Tr, Ti;
+
+ w = h = atoi(argv[1]);
+
+ printf("P4\n%d %d\n",w,h);
+
+ for(y=0;y<h;++y)
+ {
+ for(x=0;x<w;++x)
+ {
+ Zr = Zi = Tr = Ti = 0.0;
+ Cr = (2.0*x/w - 1.5); Ci=(2.0*y/h - 1.0);
+
+ for (i=0;i<iter && (Tr+Ti <= limit*limit);++i)
+ {
+ Zi = 2.0*Zr*Zi + Ci;
+ Zr = Tr - Ti + Cr;
+ Tr = Zr * Zr;
+ Ti = Zi * Zi;
+ }
+
+ byte_acc <<= 1;
+ if(Tr+Ti <= limit*limit) byte_acc |= 0x01;
+
+ ++bit_num;
+
+ if(bit_num == 8)
+ {
+ putc(byte_acc,stdout);
+ byte_acc = 0;
+ bit_num = 0;
+ }
+ else if(x == w-1)
+ {
+ byte_acc <<= (8-w%8);
+ putc(byte_acc,stdout);
+ byte_acc = 0;
+ bit_num = 0;
+ }
+ }
+ }
+}
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ * Based on mandelbrot.c contributed by Greg Buchholz
+ */
+
+package main
+
+import (
+ "bufio"
+ "flag"
+ "fmt"
+ "os"
+)
+
+var n = flag.Int("n", 200, "size")
+
+func main() {
+ flag.Parse()
+ out := bufio.NewWriter(os.Stdout)
+ defer out.Flush()
+
+ w := *n
+ h := *n
+ bit_num := 0
+ byte_acc := byte(0)
+ const Iter = 50
+ const Zero float64 = 0
+ const Limit = 2.0
+
+ fmt.Fprintf(out, "P4\n%d %d\n", w, h)
+
+ for y := 0; y < h; y++ {
+ for x := 0; x < w; x++ {
+ Zr, Zi, Tr, Ti := Zero, Zero, Zero, Zero
+ Cr := (2*float64(x)/float64(w) - 1.5)
+ Ci := (2*float64(y)/float64(h) - 1.0)
+
+ for i := 0; i < Iter && (Tr+Ti <= Limit*Limit); i++ {
+ Zi = 2*Zr*Zi + Ci
+ Zr = Tr - Ti + Cr
+ Tr = Zr * Zr
+ Ti = Zi * Zi
+ }
+
+ byte_acc <<= 1
+ if Tr+Ti <= Limit*Limit {
+ byte_acc |= 0x01
+ }
+
+ bit_num++
+
+ if bit_num == 8 {
+ out.WriteByte(byte_acc)
+ byte_acc = 0
+ bit_num = 0
+ } else if x == w-1 {
+ byte_acc <<= uint(8 - w%8)
+ out.WriteByte(byte_acc)
+ byte_acc = 0
+ bit_num = 0
+ }
+ }
+ }
+}
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by Christian Vosteen
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#define TRUE 1
+#define FALSE 0
+
+/* The board is a 50 cell hexagonal pattern. For . . . . .
+ * maximum speed the board will be implemented as . . . . .
+ * 50 bits, which will fit into a 64 bit long long . . . . .
+ * int. . . . . .
+ * . . . . .
+ * I will represent 0's as empty cells and 1's . . . . .
+ * as full cells. . . . . .
+ * . . . . .
+ * . . . . .
+ * . . . . .
+ */
+
+unsigned long long board = 0xFFFC000000000000ULL;
+
+/* The puzzle pieces must be specified by the path followed
+ * from one end to the other along 12 hexagonal directions.
+ *
+ * Piece 0 Piece 1 Piece 2 Piece 3 Piece 4
+ *
+ * O O O O O O O O O O O O O O O
+ * O O O O O O O
+ * O O O
+ *
+ * Piece 5 Piece 6 Piece 7 Piece 8 Piece 9
+ *
+ * O O O O O O O O O O O O O
+ * O O O O O O O O O
+ * O O O
+ *
+ * I had to make it 12 directions because I wanted all of the
+ * piece definitions to fit into the same size arrays. It is
+ * not possible to define piece 4 in terms of the 6 cardinal
+ * directions in 4 moves.
+ */
+
+#define E 0
+#define ESE 1
+#define SE 2
+#define S 3
+#define SW 4
+#define WSW 5
+#define W 6
+#define WNW 7
+#define NW 8
+#define N 9
+#define NE 10
+#define ENE 11
+#define PIVOT 12
+
+char piece_def[10][4] = {
+ { E, E, E, SE},
+ { SE, E, NE, E},
+ { E, E, SE, SW},
+ { E, E, SW, SE},
+ { SE, E, NE, S},
+ { E, E, SW, E},
+ { E, SE, SE, NE},
+ { E, SE, SE, W},
+ { E, SE, E, E},
+ { E, E, E, SW}
+};
+
+
+/* To minimize the amount of work done in the recursive solve function below,
+ * I'm going to allocate enough space for all legal rotations of each piece
+ * at each position on the board. That's 10 pieces x 50 board positions x
+ * 12 rotations. However, not all 12 rotations will fit on every cell, so
+ * I'll have to keep count of the actual number that do.
+ * The pieces are going to be unsigned long long ints just like the board so
+ * they can be bitwise-anded with the board to determine if they fit.
+ * I'm also going to record the next possible open cell for each piece and
+ * location to reduce the burden on the solve function.
+ */
+unsigned long long pieces[10][50][12];
+int piece_counts[10][50];
+char next_cell[10][50][12];
+
+/* Returns the direction rotated 60 degrees clockwise */
+char rotate(char dir) {
+ return (dir + 2) % PIVOT;
+}
+
+/* Returns the direction flipped on the horizontal axis */
+char flip(char dir) {
+ return (PIVOT - dir) % PIVOT;
+}
+
+
+/* Returns the new cell index from the specified cell in the
+ * specified direction. The index is only valid if the
+ * starting cell and direction have been checked by the
+ * out_of_bounds function first.
+ */
+char shift(char cell, char dir) {
+ switch(dir) {
+ case E:
+ return cell + 1;
+ case ESE:
+ if((cell / 5) % 2)
+ return cell + 7;
+ else
+ return cell + 6;
+ case SE:
+ if((cell / 5) % 2)
+ return cell + 6;
+ else
+ return cell + 5;
+ case S:
+ return cell + 10;
+ case SW:
+ if((cell / 5) % 2)
+ return cell + 5;
+ else
+ return cell + 4;
+ case WSW:
+ if((cell / 5) % 2)
+ return cell + 4;
+ else
+ return cell + 3;
+ case W:
+ return cell - 1;
+ case WNW:
+ if((cell / 5) % 2)
+ return cell - 6;
+ else
+ return cell - 7;
+ case NW:
+ if((cell / 5) % 2)
+ return cell - 5;
+ else
+ return cell - 6;
+ case N:
+ return cell - 10;
+ case NE:
+ if((cell / 5) % 2)
+ return cell - 4;
+ else
+ return cell - 5;
+ case ENE:
+ if((cell / 5) % 2)
+ return cell - 3;
+ else
+ return cell - 4;
+ default:
+ return cell;
+ }
+}
+
+/* Returns wether the specified cell and direction will land outside
+ * of the board. Used to determine if a piece is at a legal board
+ * location or not.
+ */
+char out_of_bounds(char cell, char dir) {
+ char i;
+ switch(dir) {
+ case E:
+ return cell % 5 == 4;
+ case ESE:
+ i = cell % 10;
+ return i == 4 || i == 8 || i == 9 || cell >= 45;
+ case SE:
+ return cell % 10 == 9 || cell >= 45;
+ case S:
+ return cell >= 40;
+ case SW:
+ return cell % 10 == 0 || cell >= 45;
+ case WSW:
+ i = cell % 10;
+ return i == 0 || i == 1 || i == 5 || cell >= 45;
+ case W:
+ return cell % 5 == 0;
+ case WNW:
+ i = cell % 10;
+ return i == 0 || i == 1 || i == 5 || cell < 5;
+ case NW:
+ return cell % 10 == 0 || cell < 5;
+ case N:
+ return cell < 10;
+ case NE:
+ return cell % 10 == 9 || cell < 5;
+ case ENE:
+ i = cell % 10;
+ return i == 4 || i == 8 || i == 9 || cell < 5;
+ default:
+ return FALSE;
+ }
+}
+
+/* Rotate a piece 60 degrees clockwise */
+void rotate_piece(int piece) {
+ int i;
+ for(i = 0; i < 4; i++)
+ piece_def[piece][i] = rotate(piece_def[piece][i]);
+}
+
+/* Flip a piece along the horizontal axis */
+void flip_piece(int piece) {
+ int i;
+ for(i = 0; i < 4; i++)
+ piece_def[piece][i] = flip(piece_def[piece][i]);
+}
+
+/* Convenience function to quickly calculate all of the indices for a piece */
+void calc_cell_indices(char *cell, int piece, char index) {
+ cell[0] = index;
+ cell[1] = shift(cell[0], piece_def[piece][0]);
+ cell[2] = shift(cell[1], piece_def[piece][1]);
+ cell[3] = shift(cell[2], piece_def[piece][2]);
+ cell[4] = shift(cell[3], piece_def[piece][3]);
+}
+
+/* Convenience function to quickly calculate if a piece fits on the board */
+int cells_fit_on_board(char *cell, int piece) {
+ return (!out_of_bounds(cell[0], piece_def[piece][0]) &&
+ !out_of_bounds(cell[1], piece_def[piece][1]) &&
+ !out_of_bounds(cell[2], piece_def[piece][2]) &&
+ !out_of_bounds(cell[3], piece_def[piece][3]));
+}
+
+/* Returns the lowest index of the cells of a piece.
+ * I use the lowest index that a piece occupies as the index for looking up
+ * the piece in the solve function.
+ */
+char minimum_of_cells(char *cell) {
+ char minimum = cell[0];
+ minimum = cell[1] < minimum ? cell[1] : minimum;
+ minimum = cell[2] < minimum ? cell[2] : minimum;
+ minimum = cell[3] < minimum ? cell[3] : minimum;
+ minimum = cell[4] < minimum ? cell[4] : minimum;
+ return minimum;
+}
+
+/* Calculate the lowest possible open cell if the piece is placed on the board.
+ * Used to later reduce the amount of time searching for open cells in the
+ * solve function.
+ */
+char first_empty_cell(char *cell, char minimum) {
+ char first_empty = minimum;
+ while(first_empty == cell[0] || first_empty == cell[1] ||
+ first_empty == cell[2] || first_empty == cell[3] ||
+ first_empty == cell[4])
+ first_empty++;
+ return first_empty;
+}
+
+/* Generate the unsigned long long int that will later be anded with the
+ * board to determine if it fits.
+ */
+unsigned long long bitmask_from_cells(char *cell) {
+ unsigned long long piece_mask = 0ULL;
+ int i;
+ for(i = 0; i < 5; i++)
+ piece_mask |= 1ULL << cell[i];
+ return piece_mask;
+}
+
+/* Record the piece and other important information in arrays that will
+ * later be used by the solve function.
+ */
+void record_piece(int piece, int minimum, char first_empty,
+ unsigned long long piece_mask) {
+ pieces[piece][minimum][piece_counts[piece][minimum]] = piece_mask;
+ next_cell[piece][minimum][piece_counts[piece][minimum]] = first_empty;
+ piece_counts[piece][minimum]++;
+}
+
+
+/* Fill the entire board going cell by cell. If any cells are "trapped"
+ * they will be left alone.
+ */
+void fill_contiguous_space(char *board, int index) {
+ if(board[index] == 1)
+ return;
+ board[index] = 1;
+ if(!out_of_bounds(index, E))
+ fill_contiguous_space(board, shift(index, E));
+ if(!out_of_bounds(index, SE))
+ fill_contiguous_space(board, shift(index, SE));
+ if(!out_of_bounds(index, SW))
+ fill_contiguous_space(board, shift(index, SW));
+ if(!out_of_bounds(index, W))
+ fill_contiguous_space(board, shift(index, W));
+ if(!out_of_bounds(index, NW))
+ fill_contiguous_space(board, shift(index, NW));
+ if(!out_of_bounds(index, NE))
+ fill_contiguous_space(board, shift(index, NE));
+}
+
+
+/* To thin the number of pieces, I calculate if any of them trap any empty
+ * cells at the edges. There are only a handful of exceptions where the
+ * the board can be solved with the trapped cells. For example: piece 8 can
+ * trap 5 cells in the corner, but piece 3 can fit in those cells, or piece 0
+ * can split the board in half where both halves are viable.
+ */
+int has_island(char *cell, int piece) {
+ char temp_board[50];
+ char c;
+ int i;
+ for(i = 0; i < 50; i++)
+ temp_board[i] = 0;
+ for(i = 0; i < 5; i++)
+ temp_board[((int)cell[i])] = 1;
+ i = 49;
+ while(temp_board[i] == 1)
+ i--;
+ fill_contiguous_space(temp_board, i);
+ c = 0;
+ for(i = 0; i < 50; i++)
+ if(temp_board[i] == 0)
+ c++;
+ if(c == 0 || (c == 5 && piece == 8) || (c == 40 && piece == 8) ||
+ (c % 5 == 0 && piece == 0))
+ return FALSE;
+ else
+ return TRUE;
+}
+
+
+/* Calculate all six rotations of the specified piece at the specified index.
+ * We calculate only half of piece 3's rotations. This is because any solution
+ * found has an identical solution rotated 180 degrees. Thus we can reduce the
+ * number of attempted pieces in the solve algorithm by not including the 180-
+ * degree-rotated pieces of ONE of the pieces. I chose piece 3 because it gave
+ * me the best time ;)
+ */
+ void calc_six_rotations(char piece, char index) {
+ char rotation, cell[5];
+ char minimum, first_empty;
+ unsigned long long piece_mask;
+
+ for(rotation = 0; rotation < 6; rotation++) {
+ if(piece != 3 || rotation < 3) {
+ calc_cell_indices(cell, piece, index);
+ if(cells_fit_on_board(cell, piece) && !has_island(cell, piece)) {
+ minimum = minimum_of_cells(cell);
+ first_empty = first_empty_cell(cell, minimum);
+ piece_mask = bitmask_from_cells(cell);
+ record_piece(piece, minimum, first_empty, piece_mask);
+ }
+ }
+ rotate_piece(piece);
+ }
+}
+
+/* Calculate every legal rotation for each piece at each board location. */
+void calc_pieces(void) {
+ char piece, index;
+
+ for(piece = 0; piece < 10; piece++) {
+ for(index = 0; index < 50; index++) {
+ calc_six_rotations(piece, index);
+ flip_piece(piece);
+ calc_six_rotations(piece, index);
+ }
+ }
+}
+
+
+
+/* Calculate all 32 possible states for a 5-bit row and all rows that will
+ * create islands that follow any of the 32 possible rows. These pre-
+ * calculated 5-bit rows will be used to find islands in a partially solved
+ * board in the solve function.
+ */
+#define ROW_MASK 0x1F
+#define TRIPLE_MASK 0x7FFF
+char all_rows[32] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31};
+int bad_even_rows[32][32];
+int bad_odd_rows[32][32];
+int bad_even_triple[32768];
+int bad_odd_triple[32768];
+
+int rows_bad(char row1, char row2, int even) {
+ /* even is referring to row1 */
+ int i, in_zeroes, group_okay;
+ char block, row2_shift;
+ /* Test for blockages at same index and shifted index */
+ if(even)
+ row2_shift = ((row2 << 1) & ROW_MASK) | 0x01;
+ else
+ row2_shift = (row2 >> 1) | 0x10;
+ block = ((row1 ^ row2) & row2) & ((row1 ^ row2_shift) & row2_shift);
+ /* Test for groups of 0's */
+ in_zeroes = FALSE;
+ group_okay = FALSE;
+ for(i = 0; i < 5; i++) {
+ if(row1 & (1 << i)) {
+ if(in_zeroes) {
+ if(!group_okay)
+ return TRUE;
+ in_zeroes = FALSE;
+ group_okay = FALSE;
+ }
+ } else {
+ if(!in_zeroes)
+ in_zeroes = TRUE;
+ if(!(block & (1 << i)))
+ group_okay = TRUE;
+ }
+ }
+ if(in_zeroes)
+ return !group_okay;
+ else
+ return FALSE;
+}
+
+/* Check for cases where three rows checked sequentially cause a false
+ * positive. One scenario is when 5 cells may be surrounded where piece 5
+ * or 7 can fit. The other scenario is when piece 2 creates a hook shape.
+ */
+int triple_is_okay(char row1, char row2, char row3, int even) {
+ if(even) {
+ /* There are four cases:
+ * row1: 00011 00001 11001 10101
+ * row2: 01011 00101 10001 10001
+ * row3: 011?? 00110 ????? ?????
+ */
+ return ((row1 == 0x03) && (row2 == 0x0B) && ((row3 & 0x1C) == 0x0C)) ||
+ ((row1 == 0x01) && (row2 == 0x05) && (row3 == 0x06)) ||
+ ((row1 == 0x19) && (row2 == 0x11)) ||
+ ((row1 == 0x15) && (row2 == 0x11));
+ } else {
+ /* There are two cases:
+ * row1: 10011 10101
+ * row2: 10001 10001
+ * row3: ????? ?????
+ */
+ return ((row1 == 0x13) && (row2 == 0x11)) ||
+ ((row1 == 0x15) && (row2 == 0x11));
+ }
+}
+
+
+void calc_rows(void) {
+ int row1, row2, row3;
+ int result1, result2;
+ for(row1 = 0; row1 < 32; row1++) {
+ for(row2 = 0; row2 < 32; row2++) {
+ bad_even_rows[row1][row2] = rows_bad(row1, row2, TRUE);
+ bad_odd_rows[row1][row2] = rows_bad(row1, row2, FALSE);
+ }
+ }
+ for(row1 = 0; row1 < 32; row1++) {
+ for(row2 = 0; row2 < 32; row2++) {
+ for(row3 = 0; row3 < 32; row3++) {
+ result1 = bad_even_rows[row1][row2];
+ result2 = bad_odd_rows[row2][row3];
+ if(result1 == FALSE && result2 == TRUE
+ && triple_is_okay(row1, row2, row3, TRUE))
+ bad_even_triple[row1+(row2*32)+(row3*1024)] = FALSE;
+ else
+ bad_even_triple[row1+(row2*32)+(row3*1024)] = result1 || result2;
+
+ result1 = bad_odd_rows[row1][row2];
+ result2 = bad_even_rows[row2][row3];
+ if(result1 == FALSE && result2 == TRUE
+ && triple_is_okay(row1, row2, row3, FALSE))
+ bad_odd_triple[row1+(row2*32)+(row3*1024)] = FALSE;
+ else
+ bad_odd_triple[row1+(row2*32)+(row3*1024)] = result1 || result2;
+ }
+ }
+ }
+}
+
+
+
+/* Calculate islands while solving the board.
+ */
+int boardHasIslands(char cell) {
+ /* Too low on board, don't bother checking */
+ if(cell >= 40)
+ return FALSE;
+ int current_triple = (board >> ((cell / 5) * 5)) & TRIPLE_MASK;
+ if((cell / 5) % 2)
+ return bad_odd_triple[current_triple];
+ else
+ return bad_even_triple[current_triple];
+}
+
+
+/* The recursive solve algorithm. Try to place each permutation in the upper-
+ * leftmost empty cell. Mark off available pieces as it goes along.
+ * Because the board is a bit mask, the piece number and bit mask must be saved
+ * at each successful piece placement. This data is used to create a 50 char
+ * array if a solution is found.
+ */
+short avail = 0x03FF;
+char sol_nums[10];
+unsigned long long sol_masks[10];
+signed char solutions[2100][50];
+int solution_count = 0;
+int max_solutions = 2100;
+
+void record_solution(void) {
+ int sol_no, index;
+ unsigned long long sol_mask;
+ for(sol_no = 0; sol_no < 10; sol_no++) {
+ sol_mask = sol_masks[sol_no];
+ for(index = 0; index < 50; index++) {
+ if(sol_mask & 1ULL) {
+ solutions[solution_count][index] = sol_nums[sol_no];
+ /* Board rotated 180 degrees is a solution too! */
+ solutions[solution_count+1][49-index] = sol_nums[sol_no];
+ }
+ sol_mask = sol_mask >> 1;
+ }
+ }
+ solution_count += 2;
+}
+
+void solve(int depth, int cell) {
+ int piece, rotation, max_rots;
+ unsigned long long *piece_mask;
+ short piece_no_mask;
+
+ if(solution_count >= max_solutions)
+ return;
+
+ while(board & (1ULL << cell))
+ cell++;
+
+ for(piece = 0; piece < 10; piece++) {
+ piece_no_mask = 1 << piece;
+ if(!(avail & piece_no_mask))
+ continue;
+ avail ^= piece_no_mask;
+ max_rots = piece_counts[piece][cell];
+ piece_mask = pieces[piece][cell];
+ for(rotation = 0; rotation < max_rots; rotation++) {
+ if(!(board & *(piece_mask + rotation))) {
+ sol_nums[depth] = piece;
+ sol_masks[depth] = *(piece_mask + rotation);
+ if(depth == 9) {
+ /* Solution found!!!!!11!!ONE! */
+ record_solution();
+ avail ^= piece_no_mask;
+ return;
+ }
+ board |= *(piece_mask + rotation);
+ if(!boardHasIslands(next_cell[piece][cell][rotation]))
+ solve(depth + 1, next_cell[piece][cell][rotation]);
+ board ^= *(piece_mask + rotation);
+ }
+ }
+ avail ^= piece_no_mask;
+ }
+}
+
+
+/* qsort comparator - used to find first and last solutions */
+int solution_sort(const void *elem1, const void *elem2) {
+ signed char *char1 = (signed char *) elem1;
+ signed char *char2 = (signed char *) elem2;
+ int i = 0;
+ while(i < 50 && char1[i] == char2[i])
+ i++;
+ return char1[i] - char2[i];
+}
+
+
+/* pretty print a board in the specified hexagonal format */
+void pretty(signed char *b) {
+ int i;
+ for(i = 0; i < 50; i += 10) {
+ printf("%c %c %c %c %c \n %c %c %c %c %c \n", b[i]+'0', b[i+1]+'0',
+ b[i+2]+'0', b[i+3]+'0', b[i+4]+'0', b[i+5]+'0', b[i+6]+'0',
+ b[i+7]+'0', b[i+8]+'0', b[i+9]+'0');
+ }
+ printf("\n");
+}
+
+int main(int argc, char **argv) {
+ if(argc > 1)
+ max_solutions = atoi(argv[1]);
+ calc_pieces();
+ calc_rows();
+ solve(0, 0);
+ printf("%d solutions found\n\n", solution_count);
+ qsort(solutions, solution_count, 50 * sizeof(signed char), solution_sort);
+ pretty(solutions[0]);
+ pretty(solutions[solution_count-1]);
+ return 0;
+}
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ * based on meteor-contest.c by Christian Vosteen
+ */
+
+package main
+
+import (
+ "flag"
+ "fmt"
+)
+
+var max_solutions = flag.Int("n", 2100, "maximum number of solutions")
+
+func boolInt(b bool) int8 {
+ if b {
+ return 1
+ }
+ return 0
+}
+
+/* The board is a 50 cell hexagonal pattern. For . . . . .
+ * maximum speed the board will be implemented as . . . . .
+ * 50 bits, which will fit into a 64 bit long long . . . . .
+ * int. . . . . .
+ * . . . . .
+ * I will represent 0's as empty cells and 1's . . . . .
+ * as full cells. . . . . .
+ * . . . . .
+ * . . . . .
+ * . . . . .
+ */
+
+var board uint64 = 0xFFFC000000000000
+
+/* The puzzle pieces must be specified by the path followed
+ * from one end to the other along 12 hexagonal directions.
+ *
+ * Piece 0 Piece 1 Piece 2 Piece 3 Piece 4
+ *
+ * O O O O O O O O O O O O O O O
+ * O O O O O O O
+ * O O O
+ *
+ * Piece 5 Piece 6 Piece 7 Piece 8 Piece 9
+ *
+ * O O O O O O O O O O O O O
+ * O O O O O O O O O
+ * O O O
+ *
+ * I had to make it 12 directions because I wanted all of the
+ * piece definitions to fit into the same size arrays. It is
+ * not possible to define piece 4 in terms of the 6 cardinal
+ * directions in 4 moves.
+ */
+
+const (
+ E = iota
+ ESE
+ SE
+ S
+ SW
+ WSW
+ W
+ WNW
+ NW
+ N
+ NE
+ ENE
+ PIVOT
+)
+
+var piece_def = [10][4]int8{
+ [4]int8{E, E, E, SE},
+ [4]int8{SE, E, NE, E},
+ [4]int8{E, E, SE, SW},
+ [4]int8{E, E, SW, SE},
+ [4]int8{SE, E, NE, S},
+ [4]int8{E, E, SW, E},
+ [4]int8{E, SE, SE, NE},
+ [4]int8{E, SE, SE, W},
+ [4]int8{E, SE, E, E},
+ [4]int8{E, E, E, SW},
+}
+
+/* To minimize the amount of work done in the recursive solve function below,
+ * I'm going to allocate enough space for all legal rotations of each piece
+ * at each position on the board. That's 10 pieces x 50 board positions x
+ * 12 rotations. However, not all 12 rotations will fit on every cell, so
+ * I'll have to keep count of the actual number that do.
+ * The pieces are going to be unsigned long long ints just like the board so
+ * they can be bitwise-anded with the board to determine if they fit.
+ * I'm also going to record the next possible open cell for each piece and
+ * location to reduce the burden on the solve function.
+ */
+var (
+ pieces [10][50][12]uint64
+ piece_counts [10][50]int
+ next_cell [10][50][12]int8
+)
+
+/* Returns the direction rotated 60 degrees clockwise */
+func rotate(dir int8) int8 { return (dir + 2) % PIVOT }
+
+/* Returns the direction flipped on the horizontal axis */
+func flip(dir int8) int8 { return (PIVOT - dir) % PIVOT }
+
+/* Returns the new cell index from the specified cell in the
+ * specified direction. The index is only valid if the
+ * starting cell and direction have been checked by the
+ * out_of_bounds function first.
+ */
+func shift(cell, dir int8) int8 {
+ switch dir {
+ case E:
+ return cell + 1
+ case ESE:
+ if ((cell / 5) % 2) != 0 {
+ return cell + 7
+ } else {
+ return cell + 6
+ }
+ case SE:
+ if ((cell / 5) % 2) != 0 {
+ return cell + 6
+ } else {
+ return cell + 5
+ }
+ case S:
+ return cell + 10
+ case SW:
+ if ((cell / 5) % 2) != 0 {
+ return cell + 5
+ } else {
+ return cell + 4
+ }
+ case WSW:
+ if ((cell / 5) % 2) != 0 {
+ return cell + 4
+ } else {
+ return cell + 3
+ }
+ case W:
+ return cell - 1
+ case WNW:
+ if ((cell / 5) % 2) != 0 {
+ return cell - 6
+ } else {
+ return cell - 7
+ }
+ case NW:
+ if ((cell / 5) % 2) != 0 {
+ return cell - 5
+ } else {
+ return cell - 6
+ }
+ case N:
+ return cell - 10
+ case NE:
+ if ((cell / 5) % 2) != 0 {
+ return cell - 4
+ } else {
+ return cell - 5
+ }
+ case ENE:
+ if ((cell / 5) % 2) != 0 {
+ return cell - 3
+ } else {
+ return cell - 4
+ }
+ }
+ return cell
+}
+
+/* Returns wether the specified cell and direction will land outside
+ * of the board. Used to determine if a piece is at a legal board
+ * location or not.
+ */
+func out_of_bounds(cell, dir int8) bool {
+ switch dir {
+ case E:
+ return cell%5 == 4
+ case ESE:
+ i := cell % 10
+ return i == 4 || i == 8 || i == 9 || cell >= 45
+ case SE:
+ return cell%10 == 9 || cell >= 45
+ case S:
+ return cell >= 40
+ case SW:
+ return cell%10 == 0 || cell >= 45
+ case WSW:
+ i := cell % 10
+ return i == 0 || i == 1 || i == 5 || cell >= 45
+ case W:
+ return cell%5 == 0
+ case WNW:
+ i := cell % 10
+ return i == 0 || i == 1 || i == 5 || cell < 5
+ case NW:
+ return cell%10 == 0 || cell < 5
+ case N:
+ return cell < 10
+ case NE:
+ return cell%10 == 9 || cell < 5
+ case ENE:
+ i := cell % 10
+ return i == 4 || i == 8 || i == 9 || cell < 5
+ }
+ return false
+}
+
+/* Rotate a piece 60 degrees clockwise */
+func rotate_piece(piece int) {
+ for i := 0; i < 4; i++ {
+ piece_def[piece][i] = rotate(piece_def[piece][i])
+ }
+}
+
+/* Flip a piece along the horizontal axis */
+func flip_piece(piece int) {
+ for i := 0; i < 4; i++ {
+ piece_def[piece][i] = flip(piece_def[piece][i])
+ }
+}
+
+/* Convenience function to quickly calculate all of the indices for a piece */
+func calc_cell_indices(cell []int8, piece int, index int8) {
+ cell[0] = index
+ for i := 1; i < 5; i++ {
+ cell[i] = shift(cell[i-1], piece_def[piece][i-1])
+ }
+}
+
+/* Convenience function to quickly calculate if a piece fits on the board */
+func cells_fit_on_board(cell []int8, piece int) bool {
+ return !out_of_bounds(cell[0], piece_def[piece][0]) &&
+ !out_of_bounds(cell[1], piece_def[piece][1]) &&
+ !out_of_bounds(cell[2], piece_def[piece][2]) &&
+ !out_of_bounds(cell[3], piece_def[piece][3])
+}
+
+/* Returns the lowest index of the cells of a piece.
+ * I use the lowest index that a piece occupies as the index for looking up
+ * the piece in the solve function.
+ */
+func minimum_of_cells(cell []int8) int8 {
+ minimum := cell[0]
+ for i := 1; i < 5; i++ {
+ if cell[i] < minimum {
+ minimum = cell[i]
+ }
+ }
+ return minimum
+}
+
+/* Calculate the lowest possible open cell if the piece is placed on the board.
+ * Used to later reduce the amount of time searching for open cells in the
+ * solve function.
+ */
+func first_empty_cell(cell []int8, minimum int8) int8 {
+ first_empty := minimum
+ for first_empty == cell[0] || first_empty == cell[1] ||
+ first_empty == cell[2] || first_empty == cell[3] ||
+ first_empty == cell[4] {
+ first_empty++
+ }
+ return first_empty
+}
+
+/* Generate the unsigned long long int that will later be anded with the
+ * board to determine if it fits.
+ */
+func bitmask_from_cells(cell []int8) uint64 {
+ var piece_mask uint64
+ for i := 0; i < 5; i++ {
+ piece_mask |= 1 << uint(cell[i])
+ }
+ return piece_mask
+}
+
+/* Record the piece and other important information in arrays that will
+ * later be used by the solve function.
+ */
+func record_piece(piece int, minimum int8, first_empty int8, piece_mask uint64) {
+ pieces[piece][minimum][piece_counts[piece][minimum]] = piece_mask
+ next_cell[piece][minimum][piece_counts[piece][minimum]] = first_empty
+ piece_counts[piece][minimum]++
+}
+
+/* Fill the entire board going cell by cell. If any cells are "trapped"
+ * they will be left alone.
+ */
+func fill_contiguous_space(board []int8, index int8) {
+ if board[index] == 1 {
+ return
+ }
+ board[index] = 1
+ if !out_of_bounds(index, E) {
+ fill_contiguous_space(board, shift(index, E))
+ }
+ if !out_of_bounds(index, SE) {
+ fill_contiguous_space(board, shift(index, SE))
+ }
+ if !out_of_bounds(index, SW) {
+ fill_contiguous_space(board, shift(index, SW))
+ }
+ if !out_of_bounds(index, W) {
+ fill_contiguous_space(board, shift(index, W))
+ }
+ if !out_of_bounds(index, NW) {
+ fill_contiguous_space(board, shift(index, NW))
+ }
+ if !out_of_bounds(index, NE) {
+ fill_contiguous_space(board, shift(index, NE))
+ }
+}
+
+/* To thin the number of pieces, I calculate if any of them trap any empty
+ * cells at the edges. There are only a handful of exceptions where the
+ * the board can be solved with the trapped cells. For example: piece 8 can
+ * trap 5 cells in the corner, but piece 3 can fit in those cells, or piece 0
+ * can split the board in half where both halves are viable.
+ */
+func has_island(cell []int8, piece int) bool {
+ temp_board := make([]int8, 50)
+ var i int
+ for i = 0; i < 5; i++ {
+ temp_board[cell[i]] = 1
+ }
+ i = 49
+ for temp_board[i] == 1 {
+ i--
+ }
+ fill_contiguous_space(temp_board, int8(i))
+ c := 0
+ for i = 0; i < 50; i++ {
+ if temp_board[i] == 0 {
+ c++
+ }
+ }
+ if c == 0 || (c == 5 && piece == 8) || (c == 40 && piece == 8) ||
+ (c%5 == 0 && piece == 0) {
+ return false
+ }
+ return true
+}
+
+/* Calculate all six rotations of the specified piece at the specified index.
+ * We calculate only half of piece 3's rotations. This is because any solution
+ * found has an identical solution rotated 180 degrees. Thus we can reduce the
+ * number of attempted pieces in the solve algorithm by not including the 180-
+ * degree-rotated pieces of ONE of the pieces. I chose piece 3 because it gave
+ * me the best time ;)
+ */
+func calc_six_rotations(piece, index int) {
+ cell := make([]int8, 5)
+ for rotation := 0; rotation < 6; rotation++ {
+ if piece != 3 || rotation < 3 {
+ calc_cell_indices(cell, piece, int8(index))
+ if cells_fit_on_board(cell, piece) && !has_island(cell, piece) {
+ minimum := minimum_of_cells(cell)
+ first_empty := first_empty_cell(cell, minimum)
+ piece_mask := bitmask_from_cells(cell)
+ record_piece(piece, minimum, first_empty, piece_mask)
+ }
+ }
+ rotate_piece(piece)
+ }
+}
+
+/* Calculate every legal rotation for each piece at each board location. */
+func calc_pieces() {
+ for piece := 0; piece < 10; piece++ {
+ for index := 0; index < 50; index++ {
+ calc_six_rotations(piece, index)
+ flip_piece(piece)
+ calc_six_rotations(piece, index)
+ }
+ }
+}
+
+/* Calculate all 32 possible states for a 5-bit row and all rows that will
+ * create islands that follow any of the 32 possible rows. These pre-
+ * calculated 5-bit rows will be used to find islands in a partially solved
+ * board in the solve function.
+ */
+const (
+ ROW_MASK = 0x1F
+ TRIPLE_MASK = 0x7FFF
+)
+
+var (
+ all_rows = [32]int8{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ }
+ bad_even_rows [32][32]int8
+ bad_odd_rows [32][32]int8
+ bad_even_triple [32768]int8
+ bad_odd_triple [32768]int8
+)
+
+func rows_bad(row1, row2 int8, even bool) int8 {
+ /* even is referring to row1 */
+ var row2_shift int8
+ /* Test for blockages at same index and shifted index */
+ if even {
+ row2_shift = ((row2 << 1) & ROW_MASK) | 0x01
+ } else {
+ row2_shift = (row2 >> 1) | 0x10
+ }
+ block := ((row1 ^ row2) & row2) & ((row1 ^ row2_shift) & row2_shift)
+ /* Test for groups of 0's */
+ in_zeroes := false
+ group_okay := false
+ for i := uint8(0); i < 5; i++ {
+ if row1&(1<<i) != 0 {
+ if in_zeroes {
+ if !group_okay {
+ return 1
+ }
+ in_zeroes = false
+ group_okay = false
+ }
+ } else {
+ if !in_zeroes {
+ in_zeroes = true
+ }
+ if (block & (1 << i)) == 0 {
+ group_okay = true
+ }
+ }
+ }
+ if in_zeroes {
+ return boolInt(!group_okay)
+ }
+ return 0
+}
+
+/* Check for cases where three rows checked sequentially cause a false
+ * positive. One scenario is when 5 cells may be surrounded where piece 5
+ * or 7 can fit. The other scenario is when piece 2 creates a hook shape.
+ */
+func triple_is_okay(row1, row2, row3 int, even bool) bool {
+ if even {
+ /* There are four cases:
+ * row1: 00011 00001 11001 10101
+ * row2: 01011 00101 10001 10001
+ * row3: 011?? 00110 ????? ?????
+ */
+ return ((row1 == 0x03) && (row2 == 0x0B) && ((row3 & 0x1C) == 0x0C)) ||
+ ((row1 == 0x01) && (row2 == 0x05) && (row3 == 0x06)) ||
+ ((row1 == 0x19) && (row2 == 0x11)) ||
+ ((row1 == 0x15) && (row2 == 0x11))
+ }
+ /* There are two cases:
+ * row1: 10011 10101
+ * row2: 10001 10001
+ * row3: ????? ?????
+ */
+ return ((row1 == 0x13) && (row2 == 0x11)) ||
+ ((row1 == 0x15) && (row2 == 0x11))
+}
+
+func calc_rows() {
+ for row1 := int8(0); row1 < 32; row1++ {
+ for row2 := int8(0); row2 < 32; row2++ {
+ bad_even_rows[row1][row2] = rows_bad(row1, row2, true)
+ bad_odd_rows[row1][row2] = rows_bad(row1, row2, false)
+ }
+ }
+ for row1 := 0; row1 < 32; row1++ {
+ for row2 := 0; row2 < 32; row2++ {
+ for row3 := 0; row3 < 32; row3++ {
+ result1 := bad_even_rows[row1][row2]
+ result2 := bad_odd_rows[row2][row3]
+ if result1 == 0 && result2 != 0 && triple_is_okay(row1, row2, row3, true) {
+ bad_even_triple[row1+(row2*32)+(row3*1024)] = 0
+ } else {
+ bad_even_triple[row1+(row2*32)+(row3*1024)] = boolInt(result1 != 0 || result2 != 0)
+ }
+
+ result1 = bad_odd_rows[row1][row2]
+ result2 = bad_even_rows[row2][row3]
+ if result1 == 0 && result2 != 0 && triple_is_okay(row1, row2, row3, false) {
+ bad_odd_triple[row1+(row2*32)+(row3*1024)] = 0
+ } else {
+ bad_odd_triple[row1+(row2*32)+(row3*1024)] = boolInt(result1 != 0 || result2 != 0)
+ }
+ }
+ }
+ }
+}
+
+/* Calculate islands while solving the board.
+ */
+func boardHasIslands(cell int8) int8 {
+ /* Too low on board, don't bother checking */
+ if cell >= 40 {
+ return 0
+ }
+ current_triple := (board >> uint((cell/5)*5)) & TRIPLE_MASK
+ if (cell/5)%2 != 0 {
+ return bad_odd_triple[current_triple]
+ }
+ return bad_even_triple[current_triple]
+}
+
+/* The recursive solve algorithm. Try to place each permutation in the upper-
+ * leftmost empty cell. Mark off available pieces as it goes along.
+ * Because the board is a bit mask, the piece number and bit mask must be saved
+ * at each successful piece placement. This data is used to create a 50 char
+ * array if a solution is found.
+ */
+var (
+ avail uint16 = 0x03FF
+ sol_nums [10]int8
+ sol_masks [10]uint64
+ solutions [2100][50]int8
+ solution_count = 0
+)
+
+func record_solution() {
+ for sol_no := 0; sol_no < 10; sol_no++ {
+ sol_mask := sol_masks[sol_no]
+ for index := 0; index < 50; index++ {
+ if sol_mask&1 == 1 {
+ solutions[solution_count][index] = sol_nums[sol_no]
+ /* Board rotated 180 degrees is a solution too! */
+ solutions[solution_count+1][49-index] = sol_nums[sol_no]
+ }
+ sol_mask = sol_mask >> 1
+ }
+ }
+ solution_count += 2
+}
+
+func solve(depth, cell int8) {
+ if solution_count >= *max_solutions {
+ return
+ }
+
+ for board&(1<<uint(cell)) != 0 {
+ cell++
+ }
+
+ for piece := int8(0); piece < 10; piece++ {
+ var piece_no_mask uint16 = 1 << uint(piece)
+ if avail&piece_no_mask == 0 {
+ continue
+ }
+ avail ^= piece_no_mask
+ max_rots := piece_counts[piece][cell]
+ piece_mask := pieces[piece][cell]
+ for rotation := 0; rotation < max_rots; rotation++ {
+ if board&piece_mask[rotation] == 0 {
+ sol_nums[depth] = piece
+ sol_masks[depth] = piece_mask[rotation]
+ if depth == 9 {
+ /* Solution found!!!!!11!!ONE! */
+ record_solution()
+ avail ^= piece_no_mask
+ return
+ }
+ board |= piece_mask[rotation]
+ if boardHasIslands(next_cell[piece][cell][rotation]) == 0 {
+ solve(depth+1, next_cell[piece][cell][rotation])
+ }
+ board ^= piece_mask[rotation]
+ }
+ }
+ avail ^= piece_no_mask
+ }
+}
+
+/* pretty print a board in the specified hexagonal format */
+func pretty(b *[50]int8) {
+ for i := 0; i < 50; i += 10 {
+ fmt.Printf("%c %c %c %c %c \n %c %c %c %c %c \n", b[i]+'0', b[i+1]+'0',
+ b[i+2]+'0', b[i+3]+'0', b[i+4]+'0', b[i+5]+'0', b[i+6]+'0',
+ b[i+7]+'0', b[i+8]+'0', b[i+9]+'0')
+ }
+ fmt.Printf("\n")
+}
+
+/* Find smallest and largest solutions */
+func smallest_largest() (smallest, largest *[50]int8) {
+ smallest = &solutions[0]
+ largest = &solutions[0]
+ for i := 1; i < solution_count; i++ {
+ candidate := &solutions[i]
+ for j, s := range *smallest {
+ c := candidate[j]
+ if c == s {
+ continue
+ }
+ if c < s {
+ smallest = candidate
+ }
+ break
+ }
+ for j, s := range *largest {
+ c := candidate[j]
+ if c == s {
+ continue
+ }
+ if c > s {
+ largest = candidate
+ }
+ break
+ }
+ }
+ return
+}
+
+func main() {
+ flag.Parse()
+ calc_pieces()
+ calc_rows()
+ solve(0, 0)
+ fmt.Printf("%d solutions found\n\n", solution_count)
+ smallest, largest := smallest_largest()
+ pretty(smallest)
+ pretty(largest)
+}
--- /dev/null
+2098 solutions found
+
+0 0 0 0 1
+ 2 2 2 0 1
+2 6 6 1 1
+ 2 6 1 5 5
+8 6 5 5 5
+ 8 6 3 3 3
+4 8 8 9 3
+ 4 4 8 9 3
+4 7 4 7 9
+ 7 7 7 9 9
+
+9 9 9 9 8
+ 9 6 6 8 5
+6 6 8 8 5
+ 6 8 2 5 5
+7 7 7 2 5
+ 7 4 7 2 0
+1 4 2 2 0
+ 1 4 4 0 3
+1 4 0 0 3
+ 1 1 3 3 3
+
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*
+ * The Great Computer Language Shootout
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by Christoph Bauer
+ *
+ */
+
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#define pi 3.141592653589793
+#define solar_mass (4 * pi * pi)
+#define days_per_year 365.24
+
+struct planet {
+ double x, y, z;
+ double vx, vy, vz;
+ double mass;
+};
+
+void advance(int nbodies, struct planet * bodies, double dt)
+{
+ int i, j;
+
+ for (i = 0; i < nbodies; i++) {
+ struct planet * b = &(bodies[i]);
+ for (j = i + 1; j < nbodies; j++) {
+ struct planet * b2 = &(bodies[j]);
+ double dx = b->x - b2->x;
+ double dy = b->y - b2->y;
+ double dz = b->z - b2->z;
+ double distance = sqrt(dx * dx + dy * dy + dz * dz);
+ double mag = dt / (distance * distance * distance);
+ b->vx -= dx * b2->mass * mag;
+ b->vy -= dy * b2->mass * mag;
+ b->vz -= dz * b2->mass * mag;
+ b2->vx += dx * b->mass * mag;
+ b2->vy += dy * b->mass * mag;
+ b2->vz += dz * b->mass * mag;
+ }
+ }
+ for (i = 0; i < nbodies; i++) {
+ struct planet * b = &(bodies[i]);
+ b->x += dt * b->vx;
+ b->y += dt * b->vy;
+ b->z += dt * b->vz;
+ }
+}
+
+double energy(int nbodies, struct planet * bodies)
+{
+ double e;
+ int i, j;
+
+ e = 0.0;
+ for (i = 0; i < nbodies; i++) {
+ struct planet * b = &(bodies[i]);
+ e += 0.5 * b->mass * (b->vx * b->vx + b->vy * b->vy + b->vz * b->vz);
+ for (j = i + 1; j < nbodies; j++) {
+ struct planet * b2 = &(bodies[j]);
+ double dx = b->x - b2->x;
+ double dy = b->y - b2->y;
+ double dz = b->z - b2->z;
+ double distance = sqrt(dx * dx + dy * dy + dz * dz);
+ e -= (b->mass * b2->mass) / distance;
+ }
+ }
+ return e;
+}
+
+void offset_momentum(int nbodies, struct planet * bodies)
+{
+ double px = 0.0, py = 0.0, pz = 0.0;
+ int i;
+ for (i = 0; i < nbodies; i++) {
+ px += bodies[i].vx * bodies[i].mass;
+ py += bodies[i].vy * bodies[i].mass;
+ pz += bodies[i].vz * bodies[i].mass;
+ }
+ bodies[0].vx = - px / solar_mass;
+ bodies[0].vy = - py / solar_mass;
+ bodies[0].vz = - pz / solar_mass;
+}
+
+#define NBODIES 5
+struct planet bodies[NBODIES] = {
+ { /* sun */
+ 0, 0, 0, 0, 0, 0, solar_mass
+ },
+ { /* jupiter */
+ 4.84143144246472090e+00,
+ -1.16032004402742839e+00,
+ -1.03622044471123109e-01,
+ 1.66007664274403694e-03 * days_per_year,
+ 7.69901118419740425e-03 * days_per_year,
+ -6.90460016972063023e-05 * days_per_year,
+ 9.54791938424326609e-04 * solar_mass
+ },
+ { /* saturn */
+ 8.34336671824457987e+00,
+ 4.12479856412430479e+00,
+ -4.03523417114321381e-01,
+ -2.76742510726862411e-03 * days_per_year,
+ 4.99852801234917238e-03 * days_per_year,
+ 2.30417297573763929e-05 * days_per_year,
+ 2.85885980666130812e-04 * solar_mass
+ },
+ { /* uranus */
+ 1.28943695621391310e+01,
+ -1.51111514016986312e+01,
+ -2.23307578892655734e-01,
+ 2.96460137564761618e-03 * days_per_year,
+ 2.37847173959480950e-03 * days_per_year,
+ -2.96589568540237556e-05 * days_per_year,
+ 4.36624404335156298e-05 * solar_mass
+ },
+ { /* neptune */
+ 1.53796971148509165e+01,
+ -2.59193146099879641e+01,
+ 1.79258772950371181e-01,
+ 2.68067772490389322e-03 * days_per_year,
+ 1.62824170038242295e-03 * days_per_year,
+ -9.51592254519715870e-05 * days_per_year,
+ 5.15138902046611451e-05 * solar_mass
+ }
+};
+
+int main(int argc, char ** argv)
+{
+ int n = atoi(argv[1]);
+ int i;
+
+ offset_momentum(NBODIES, bodies);
+ printf ("%.9f\n", energy(NBODIES, bodies));
+ for (i = 1; i <= n; i++)
+ advance(NBODIES, bodies, 0.01);
+ printf ("%.9f\n", energy(NBODIES, bodies));
+ return 0;
+}
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ * based on C program by Christoph Bauer
+ */
+
+package main
+
+import (
+ "flag"
+ "fmt"
+ "math"
+)
+
+var n = flag.Int("n", 1000, "number of iterations")
+
+type Body struct {
+ x, y, z, vx, vy, vz, mass float64
+}
+
+const (
+ solarMass = 4 * math.Pi * math.Pi
+ daysPerYear = 365.24
+)
+
+func (b *Body) offsetMomentum(px, py, pz float64) {
+ b.vx = -px / solarMass
+ b.vy = -py / solarMass
+ b.vz = -pz / solarMass
+}
+
+type System []*Body
+
+func NewSystem(body []Body) System {
+ n := make(System, len(body))
+ for i := 0; i < len(body); i++ {
+ n[i] = new(Body) // copy to avoid overwriting the inputs
+ *n[i] = body[i]
+ }
+ var px, py, pz float64
+ for _, body := range n {
+ px += body.vx * body.mass
+ py += body.vy * body.mass
+ pz += body.vz * body.mass
+ }
+ n[0].offsetMomentum(px, py, pz)
+ return n
+}
+
+func (sys System) energy() float64 {
+ var e float64
+ for i, body := range sys {
+ e += 0.5 * body.mass *
+ (body.vx*body.vx + body.vy*body.vy + body.vz*body.vz)
+ for j := i + 1; j < len(sys); j++ {
+ body2 := sys[j]
+ dx := body.x - body2.x
+ dy := body.y - body2.y
+ dz := body.z - body2.z
+ distance := math.Sqrt(dx*dx + dy*dy + dz*dz)
+ e -= (body.mass * body2.mass) / distance
+ }
+ }
+ return e
+}
+
+func (sys System) advance(dt float64) {
+ for i, body := range sys {
+ for j := i + 1; j < len(sys); j++ {
+ body2 := sys[j]
+ dx := body.x - body2.x
+ dy := body.y - body2.y
+ dz := body.z - body2.z
+
+ dSquared := dx*dx + dy*dy + dz*dz
+ distance := math.Sqrt(dSquared)
+ mag := dt / (dSquared * distance)
+
+ body.vx -= dx * body2.mass * mag
+ body.vy -= dy * body2.mass * mag
+ body.vz -= dz * body2.mass * mag
+
+ body2.vx += dx * body.mass * mag
+ body2.vy += dy * body.mass * mag
+ body2.vz += dz * body.mass * mag
+ }
+ }
+
+ for _, body := range sys {
+ body.x += dt * body.vx
+ body.y += dt * body.vy
+ body.z += dt * body.vz
+ }
+}
+
+var (
+ jupiter = Body{
+ x: 4.84143144246472090e+00,
+ y: -1.16032004402742839e+00,
+ z: -1.03622044471123109e-01,
+ vx: 1.66007664274403694e-03 * daysPerYear,
+ vy: 7.69901118419740425e-03 * daysPerYear,
+ vz: -6.90460016972063023e-05 * daysPerYear,
+ mass: 9.54791938424326609e-04 * solarMass,
+ }
+ saturn = Body{
+ x: 8.34336671824457987e+00,
+ y: 4.12479856412430479e+00,
+ z: -4.03523417114321381e-01,
+ vx: -2.76742510726862411e-03 * daysPerYear,
+ vy: 4.99852801234917238e-03 * daysPerYear,
+ vz: 2.30417297573763929e-05 * daysPerYear,
+ mass: 2.85885980666130812e-04 * solarMass,
+ }
+ uranus = Body{
+ x: 1.28943695621391310e+01,
+ y: -1.51111514016986312e+01,
+ z: -2.23307578892655734e-01,
+ vx: 2.96460137564761618e-03 * daysPerYear,
+ vy: 2.37847173959480950e-03 * daysPerYear,
+ vz: -2.96589568540237556e-05 * daysPerYear,
+ mass: 4.36624404335156298e-05 * solarMass,
+ }
+ neptune = Body{
+ x: 1.53796971148509165e+01,
+ y: -2.59193146099879641e+01,
+ z: 1.79258772950371181e-01,
+ vx: 2.68067772490389322e-03 * daysPerYear,
+ vy: 1.62824170038242295e-03 * daysPerYear,
+ vz: -9.51592254519715870e-05 * daysPerYear,
+ mass: 5.15138902046611451e-05 * solarMass,
+ }
+ sun = Body{
+ mass: solarMass,
+ }
+)
+
+func main() {
+ flag.Parse()
+
+ system := NewSystem([]Body{sun, jupiter, saturn, uranus, neptune})
+ fmt.Printf("%.9f\n", system.energy())
+ for i := 0; i < *n; i++ {
+ system.advance(0.01)
+ }
+ fmt.Printf("%.9f\n", system.energy())
+}
--- /dev/null
+-0.169075164
+-0.169087605
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ http://shootout.alioth.debian.org/
+
+ contributed by Paolo Bonzini & Sean Bartlett
+ modified by Michael Mellor
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <gmp.h>
+
+static mpz_t numer, accum, denom, tmp1, tmp2;
+
+static int extract_digit()
+{
+ if (mpz_cmp(numer, accum) > 0)
+ return -1;
+
+ /* Compute (numer * 3 + accum) / denom */
+ mpz_mul_2exp(tmp1, numer, 1);
+ mpz_add(tmp1, tmp1, numer);
+ mpz_add(tmp1, tmp1, accum);
+ mpz_fdiv_qr(tmp1, tmp2, tmp1, denom);
+
+ /* Now, if (numer * 4 + accum) % denom... */
+ mpz_add(tmp2, tmp2, numer);
+
+ /* ... is normalized, then the two divisions have the same result. */
+ if (mpz_cmp(tmp2, denom) >= 0)
+ return -1;
+
+ return mpz_get_ui(tmp1);
+}
+
+static void next_term(unsigned int k)
+{
+ unsigned int y2 = k*2 + 1;
+
+ mpz_mul_2exp(tmp1, numer, 1);
+ mpz_add(accum, accum, tmp1);
+ mpz_mul_ui(accum, accum, y2);
+ mpz_mul_ui(numer, numer, k);
+ mpz_mul_ui(denom, denom, y2);
+}
+
+static void eliminate_digit(unsigned int d)
+{
+ mpz_submul_ui(accum, denom, d);
+ mpz_mul_ui(accum, accum, 10);
+ mpz_mul_ui(numer, numer, 10);
+}
+
+static void pidigits(unsigned int n)
+{
+ int d;
+ unsigned int i = 0, k = 0, m;
+ mpz_init(tmp1);
+ mpz_init(tmp2);
+ mpz_init_set_ui(numer, 1);
+ mpz_init_set_ui(accum, 0);
+ mpz_init_set_ui(denom, 1);
+
+ for(;;)
+ {
+ do {
+ k++;
+ next_term(k);
+ d = extract_digit();
+ } while(d == -1);
+
+ putchar(d + '0');
+
+ i++;
+ m = i%10;
+ if(m == 0)
+ printf("\t:%d\n", i);
+ if(i >= n)
+ break;
+ eliminate_digit(d);
+ }
+
+ if(m) {
+ m = 10 - m;
+ while(m--)
+ putchar(' ');
+ printf("\t:%d\n", n);
+ }
+}
+
+int main(int argc, char **argv)
+{
+ pidigits(argc > 1 ? atoi(argv[1]) : 27);
+ return 0;
+}
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ * based on pidigits.c (by Paolo Bonzini & Sean Bartlett,
+ * modified by Michael Mellor)
+ */
+
+package main
+
+import (
+ "flag"
+ "fmt"
+ "math/big"
+)
+
+var n = flag.Int("n", 27, "number of digits")
+var silent = flag.Bool("s", false, "don't print result")
+
+var (
+ tmp1 = big.NewInt(0)
+ tmp2 = big.NewInt(0)
+ tmp3 = big.NewInt(0)
+ y2 = big.NewInt(0)
+ bigk = big.NewInt(0)
+ numer = big.NewInt(1)
+ accum = big.NewInt(0)
+ denom = big.NewInt(1)
+ ten = big.NewInt(10)
+)
+
+func extract_digit() int64 {
+ if numer.Cmp(accum) > 0 {
+ return -1
+ }
+
+ // Compute (numer * 3 + accum) / denom
+ tmp1.Lsh(numer, 1)
+ tmp1.Add(tmp1, numer)
+ tmp1.Add(tmp1, accum)
+ tmp1.DivMod(tmp1, denom, tmp2)
+
+ // Now, if (numer * 4 + accum) % denom...
+ tmp2.Add(tmp2, numer)
+
+ // ... is normalized, then the two divisions have the same result.
+ if tmp2.Cmp(denom) >= 0 {
+ return -1
+ }
+
+ return tmp1.Int64()
+}
+
+func next_term(k int64) {
+ y2.SetInt64(k*2 + 1)
+ bigk.SetInt64(k)
+
+ tmp1.Lsh(numer, 1)
+ accum.Add(accum, tmp1)
+ accum.Mul(accum, y2)
+ numer.Mul(numer, bigk)
+ denom.Mul(denom, y2)
+}
+
+func eliminate_digit(d int64) {
+ tmp3.SetInt64(d)
+ accum.Sub(accum, tmp3.Mul(denom, tmp3))
+ accum.Mul(accum, ten)
+ numer.Mul(numer, ten)
+}
+
+func printf(s string, arg ...interface{}) {
+ if !*silent {
+ fmt.Printf(s, arg...)
+ }
+}
+
+func main() {
+ flag.Parse()
+
+ var m int // 0 <= m < 10
+ for i, k := 0, int64(0); ; {
+ d := int64(-1)
+ for d < 0 {
+ k++
+ next_term(k)
+ d = extract_digit()
+ }
+
+ printf("%c", d+'0')
+
+ i++
+ m = i % 10
+ if m == 0 {
+ printf("\t:%d\n", i)
+ }
+ if i >= *n {
+ break
+ }
+ eliminate_digit(d)
+ }
+
+ if m > 0 {
+ printf("%s\t:%d\n", " "[m:10], *n)
+ }
+}
--- /dev/null
+3141592653 :10
+5897932384 :20
+6264338 :27
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ */
+
+package main
+
+import (
+ "fmt"
+ "io/ioutil"
+ "os"
+ "regexp"
+ "runtime"
+)
+
+var variants = []string{
+ "agggtaaa|tttaccct",
+ "[cgt]gggtaaa|tttaccc[acg]",
+ "a[act]ggtaaa|tttacc[agt]t",
+ "ag[act]gtaaa|tttac[agt]ct",
+ "agg[act]taaa|ttta[agt]cct",
+ "aggg[acg]aaa|ttt[cgt]ccct",
+ "agggt[cgt]aa|tt[acg]accct",
+ "agggta[cgt]a|t[acg]taccct",
+ "agggtaa[cgt]|[acg]ttaccct",
+}
+
+type Subst struct {
+ pat, repl string
+}
+
+var substs = []Subst{
+ Subst{"B", "(c|g|t)"},
+ Subst{"D", "(a|g|t)"},
+ Subst{"H", "(a|c|t)"},
+ Subst{"K", "(g|t)"},
+ Subst{"M", "(a|c)"},
+ Subst{"N", "(a|c|g|t)"},
+ Subst{"R", "(a|g)"},
+ Subst{"S", "(c|g)"},
+ Subst{"V", "(a|c|g)"},
+ Subst{"W", "(a|t)"},
+ Subst{"Y", "(c|t)"},
+}
+
+func countMatches(pat string, bytes []byte) int {
+ re := regexp.MustCompile(pat)
+ n := 0
+ for {
+ e := re.FindIndex(bytes)
+ if e == nil {
+ break
+ }
+ n++
+ bytes = bytes[e[1]:]
+ }
+ return n
+}
+
+func main() {
+ runtime.GOMAXPROCS(4)
+ bytes, err := ioutil.ReadAll(os.Stdin)
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "can't read input: %s\n", err)
+ os.Exit(2)
+ }
+ ilen := len(bytes)
+ // Delete the comment lines and newlines
+ bytes = regexp.MustCompile("(>[^\n]+)?\n").ReplaceAll(bytes, []byte{})
+ clen := len(bytes)
+
+ mresults := make([]chan int, len(variants))
+ for i, s := range variants {
+ ch := make(chan int)
+ mresults[i] = ch
+ go func(ss string) {
+ ch <- countMatches(ss, bytes)
+ }(s)
+ }
+
+ lenresult := make(chan int)
+ bb := bytes
+ go func() {
+ for _, sub := range substs {
+ bb = regexp.MustCompile(sub.pat).ReplaceAll(bb, []byte(sub.repl))
+ }
+ lenresult <- len(bb)
+ }()
+
+ for i, s := range variants {
+ fmt.Printf("%s %d\n", s, <-mresults[i])
+ }
+ fmt.Printf("\n%d\n%d\n%d\n", ilen, clen, <-lenresult)
+}
--- /dev/null
+agggtaaa|tttaccct 1
+[cgt]gggtaaa|tttaccc[acg] 0
+a[act]ggtaaa|tttacc[agt]t 0
+ag[act]gtaaa|tttac[agt]ct 0
+agg[act]taaa|ttta[agt]cct 1
+aggg[acg]aaa|ttt[cgt]ccct 0
+agggt[cgt]aa|tt[acg]accct 0
+agggta[cgt]a|t[acg]taccct 0
+agggtaa[cgt]|[acg]ttaccct 2
+
+10245
+10000
+13348
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*
+** The Computer Language Shootout
+** http://shootout.alioth.debian.org/
+** contributed by Mike Pall
+**
+** regex-dna benchmark using PCRE
+**
+** compile with:
+** gcc -O3 -fomit-frame-pointer -o regexdna regexdna.c -lpcre
+*/
+
+#define __USE_STRING_INLINES
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <pcre.h>
+
+typedef struct fbuf {
+ char *buf;
+ size_t size, len;
+} fbuf_t;
+
+static void fb_init(fbuf_t *b)
+{
+ b->buf = NULL;
+ b->len = b->size = 0;
+}
+
+static char *fb_need(fbuf_t *b, size_t need)
+{
+ need += b->len;
+ if (need > b->size) {
+ if (b->size == 0) b->size = need;
+ else while (need > b->size) b->size += b->size;
+ if (!(b->buf = realloc(b->buf, b->size))) exit(1);
+ }
+ return b->buf+b->len;
+}
+
+#define FB_MINREAD (3<<16)
+
+/* Read all of a stdio stream into dst buffer. */
+static size_t fb_readall(fbuf_t *dst, FILE *fp)
+{
+ char *dp;
+ int n;
+ for (dp = fb_need(dst, FB_MINREAD);
+ (n = fread(dp, 1, dst->size-dst->len, fp)) > 0;
+ dp = fb_need(dst, FB_MINREAD)) dst->len += n;
+ if (ferror(fp)) exit(1);
+ return dst->len;
+}
+
+/* Substitute pattern p with replacement r, copying from src to dst buffer. */
+static size_t fb_subst(fbuf_t *dst, fbuf_t *src, const char *p, const char *r)
+{
+ pcre *re;
+ pcre_extra *re_ex;
+ const char *re_e;
+ char *dp;
+ int re_eo, m[3], pos, rlen, clen;
+ if (!(re = pcre_compile(p, PCRE_CASELESS, &re_e, &re_eo, NULL))) exit(1);
+ re_ex = pcre_study(re, 0, &re_e);
+ for (dst->len = 0, rlen = strlen(r), pos = 0;
+ pcre_exec(re, re_ex, src->buf, src->len, pos, 0, m, 3) >= 0;
+ pos = m[1]) {
+ clen = m[0]-pos;
+ dp = fb_need(dst, clen+rlen);
+ dst->len += clen+rlen;
+ memcpy(dp, src->buf+pos, clen);
+ memcpy(dp+clen, r, rlen);
+ }
+ clen = src->len-pos;
+ dp = fb_need(dst, clen);
+ dst->len += clen;
+ memcpy(dp, src->buf+pos, clen);
+ return dst->len;
+}
+
+/* Count all matches with pattern p in src buffer. */
+static int fb_countmatches(fbuf_t *src, const char *p)
+{
+ pcre *re;
+ pcre_extra *re_ex;
+ const char *re_e;
+ int re_eo, m[3], pos, count;
+ if (!(re = pcre_compile(p, PCRE_CASELESS, &re_e, &re_eo, NULL))) exit(1);
+ re_ex = pcre_study(re, 0, &re_e);
+ for (count = 0, pos = 0;
+ pcre_exec(re, re_ex, src->buf, src->len, pos, 0, m, 3) >= 0;
+ pos = m[1]) count++;
+ return count;
+}
+
+static const char *variants[] = {
+ "agggtaaa|tttaccct", "[cgt]gggtaaa|tttaccc[acg]",
+ "a[act]ggtaaa|tttacc[agt]t", "ag[act]gtaaa|tttac[agt]ct",
+ "agg[act]taaa|ttta[agt]cct", "aggg[acg]aaa|ttt[cgt]ccct",
+ "agggt[cgt]aa|tt[acg]accct", "agggta[cgt]a|t[acg]taccct",
+ "agggtaa[cgt]|[acg]ttaccct", NULL
+};
+
+static const char *subst[] = {
+ "B", "(c|g|t)", "D", "(a|g|t)", "H", "(a|c|t)", "K", "(g|t)",
+ "M", "(a|c)", "N", "(a|c|g|t)", "R", "(a|g)", "S", "(c|g)",
+ "V", "(a|c|g)", "W", "(a|t)", "Y", "(c|t)", NULL
+};
+
+int main(int argc, char **argv)
+{
+ fbuf_t seq[2];
+ const char **pp;
+ size_t ilen, clen, slen;
+ int flip;
+ fb_init(&seq[0]);
+ fb_init(&seq[1]);
+ ilen = fb_readall(&seq[0], stdin);
+ clen = fb_subst(&seq[1], &seq[0], ">.*|\n", "");
+ for (pp = variants; *pp; pp++)
+ printf("%s %d\n", *pp, fb_countmatches(&seq[1], *pp));
+ for (slen = 0, flip = 1, pp = subst; *pp; pp += 2, flip = 1-flip)
+ slen = fb_subst(&seq[1-flip], &seq[flip], *pp, pp[1]);
+ printf("\n%zu\n%zu\n%zu\n", ilen, clen, slen);
+ return 0;
+}
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ */
+
+package main
+
+import (
+ "fmt"
+ "io/ioutil"
+ "os"
+ "regexp"
+)
+
+var variants = []string{
+ "agggtaaa|tttaccct",
+ "[cgt]gggtaaa|tttaccc[acg]",
+ "a[act]ggtaaa|tttacc[agt]t",
+ "ag[act]gtaaa|tttac[agt]ct",
+ "agg[act]taaa|ttta[agt]cct",
+ "aggg[acg]aaa|ttt[cgt]ccct",
+ "agggt[cgt]aa|tt[acg]accct",
+ "agggta[cgt]a|t[acg]taccct",
+ "agggtaa[cgt]|[acg]ttaccct",
+}
+
+type Subst struct {
+ pat, repl string
+}
+
+var substs = []Subst{
+ Subst{"B", "(c|g|t)"},
+ Subst{"D", "(a|g|t)"},
+ Subst{"H", "(a|c|t)"},
+ Subst{"K", "(g|t)"},
+ Subst{"M", "(a|c)"},
+ Subst{"N", "(a|c|g|t)"},
+ Subst{"R", "(a|g)"},
+ Subst{"S", "(c|g)"},
+ Subst{"V", "(a|c|g)"},
+ Subst{"W", "(a|t)"},
+ Subst{"Y", "(c|t)"},
+}
+
+func countMatches(pat string, bytes []byte) int {
+ re := regexp.MustCompile(pat)
+ n := 0
+ for {
+ e := re.FindIndex(bytes)
+ if len(e) == 0 {
+ break
+ }
+ n++
+ bytes = bytes[e[1]:]
+ }
+ return n
+}
+
+func main() {
+ bytes, err := ioutil.ReadAll(os.Stdin)
+ if err != nil {
+ fmt.Fprintf(os.Stderr, "can't read input: %s\n", err)
+ os.Exit(2)
+ }
+ ilen := len(bytes)
+ // Delete the comment lines and newlines
+ bytes = regexp.MustCompile("(>[^\n]+)?\n").ReplaceAll(bytes, []byte{})
+ clen := len(bytes)
+ for _, s := range variants {
+ fmt.Printf("%s %d\n", s, countMatches(s, bytes))
+ }
+ for _, sub := range substs {
+ bytes = regexp.MustCompile(sub.pat).ReplaceAll(bytes, []byte(sub.repl))
+ }
+ fmt.Printf("\n%d\n%d\n%d\n", ilen, clen, len(bytes))
+}
--- /dev/null
+agggtaaa|tttaccct 1
+[cgt]gggtaaa|tttaccc[acg] 0
+a[act]ggtaaa|tttacc[agt]t 0
+ag[act]gtaaa|tttac[agt]ct 0
+agg[act]taaa|ttta[agt]cct 1
+aggg[acg]aaa|ttt[cgt]ccct 0
+agggt[cgt]aa|tt[acg]accct 0
+agggta[cgt]a|t[acg]taccct 0
+agggtaa[cgt]|[acg]ttaccct 2
+
+10245
+10000
+13348
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*
+ * The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org
+ *
+ * contributed by Bob W
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#define JBFSIZE 82 // line input buffer size
+#define QBFSIZE 5200 // output buffer initial size
+#define Z16 "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+#define V32 "\0TVGH\0\0CD\0\0M\0KN\0\0\0YSA\0BW\0R\0\0\0\0\0\0"
+#define VALL Z16 Z16 Z16 Z16 V32 V32 Z16 Z16 Z16 Z16 Z16 Z16 Z16 Z16
+
+int errex(char *s, int n) { // error message+value, return 1
+ fprintf(stderr,"\n*** Error: %s [%d]!\n", s, n);
+ return 1;
+}
+
+int main () { // ***** main *****
+ char *pj, *pq, *pr; // buffer pointers: inp,out,/out
+ char *jjj = malloc(JBFSIZE); // allocate input line buffer
+ char *qqq = malloc(QBFSIZE); // output buffer (dyn. size)
+ char *pqstop = qqq+QBFSIZE; // end-of-buffer pointer
+ char xtab[256] = VALL; // char conversion table
+
+ if (!jjj || !qqq)
+ return errex("Buffer allocation", !jjj + !qqq);
+ pj = fgets(jjj,JBFSIZE,stdin); // fetch 1st line
+ if (!pj)
+ return errex("No input data",0);
+ if (*jjj != '>')
+ return errex("1st char not '>'", 0);
+
+ while (pj) { // MAIN LOOP: process data
+ fputs(jjj, stdout); // output ID line
+
+ for (pq=qqq+1, pr=pqstop; ; pq++) { // LOOP: fill output buffer
+ pj = fgets(jjj, JBFSIZE, stdin); // get line from stdin
+ if (!pj || (*jjj=='>')) break; // EOF or new ID line
+ if (pr <= (pq+61)) { // need to resize buffer
+ char *newstop = pqstop + 12777888;
+ char *newptr = realloc(qqq, newstop-qqq);
+ if (!newptr)
+ return errex("Out of memory", 0);
+ if (newptr != qqq) { // new base: adj. pointers
+ size_t x = newptr-qqq; // offset for pointer update
+ pq+=x; pr+=x; qqq+=x;
+ newstop+=x; pqstop+=x;
+ }
+ pr = __builtin_memmove(newstop-(pqstop-pr), pr, pqstop-pr);
+ pqstop = newstop; // buffer resize complete
+ }
+ while (*pj) { // LOOP: conv. & revert line
+ char c = xtab[(unsigned char)(*pj++)];
+ if (c) // conversion valid
+ *(--pr) = c;
+ }
+ }
+
+ for (pq = qqq; pr<pqstop; ) { // LOOP: format output
+ size_t x = (pqstop-pr)<60 ? pqstop-pr : 60;
+ __builtin_memmove(pq,pr,x); // move line to free space
+ pr+=x; pq+=x; *(pq++) = 0xA; // adjust pointers, add LF
+ }
+ fwrite(qqq, 1, pq-qqq, stdout); // output converted data
+ }
+ return 0;
+}
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ */
+
+package main
+
+import (
+ "bufio"
+ "os"
+)
+
+const lineSize = 60
+
+var complement = [256]uint8{
+ 'A': 'T', 'a': 'T',
+ 'C': 'G', 'c': 'G',
+ 'G': 'C', 'g': 'C',
+ 'T': 'A', 't': 'A',
+ 'U': 'A', 'u': 'A',
+ 'M': 'K', 'm': 'K',
+ 'R': 'Y', 'r': 'Y',
+ 'W': 'W', 'w': 'W',
+ 'S': 'S', 's': 'S',
+ 'Y': 'R', 'y': 'R',
+ 'K': 'M', 'k': 'M',
+ 'V': 'B', 'v': 'B',
+ 'H': 'D', 'h': 'D',
+ 'D': 'H', 'd': 'H',
+ 'B': 'V', 'b': 'V',
+ 'N': 'N', 'n': 'N',
+}
+
+func main() {
+ in := bufio.NewReader(os.Stdin)
+ buf := make([]byte, 1024*1024)
+ line, err := in.ReadSlice('\n')
+ for err == nil {
+ os.Stdout.Write(line)
+
+ // Accumulate reversed complement in buf[w:]
+ nchar := 0
+ w := len(buf)
+ for {
+ line, err = in.ReadSlice('\n')
+ if err != nil || line[0] == '>' {
+ break
+ }
+ line = line[0 : len(line)-1]
+ nchar += len(line)
+ if len(line)+nchar/60+128 >= w {
+ nbuf := make([]byte, len(buf)*5)
+ copy(nbuf[len(nbuf)-len(buf):], buf)
+ w += len(nbuf) - len(buf)
+ buf = nbuf
+ }
+
+ // This loop is the bottleneck.
+ for _, c := range line {
+ w--
+ buf[w] = complement[c]
+ }
+ }
+
+ // Copy down to beginning of buffer, inserting newlines.
+ // The loop left room for the newlines and 128 bytes of padding.
+ i := 0
+ for j := w; j < len(buf); j += 60 {
+ n := copy(buf[i:i+60], buf[j:])
+ buf[i+n] = '\n'
+ i += n + 1
+ }
+ os.Stdout.Write(buf[0:i])
+ }
+}
--- /dev/null
+>ONE Homo sapiens alu
+CGGAGTCTCGCTCTGTCGCCCAGGCTGGAGTGCAGTGGCGCGATCTCGGCTCACTGCAAC
+CTCCGCCTCCCGGGTTCAAGCGATTCTCCTGCCTCAGCCTCCCGAGTAGCTGGGATTACA
+GGCGCGCGCCACCACGCCCGGCTAATTTTTGTATTTTTAGTAGAGACGGGGTTTCACCAT
+GTTGGCCAGGCTGGTCTCGAACTCCTGACCTCAGGTGATCCGCCCGCCTCGGCCTCCCAA
+AGTGCTGGGATTACAGGCGTGAGCCACCGCGCCCGGCCTTTTTGAGACGGAGTCTCGCTC
+TGTCGCCCAGGCTGGAGTGCAGTGGCGCGATCTCGGCTCACTGCAACCTCCGCCTCCCGG
+GTTCAAGCGATTCTCCTGCCTCAGCCTCCCGAGTAGCTGGGATTACAGGCGCGCGCCACC
+ACGCCCGGCTAATTTTTGTATTTTTAGTAGAGACGGGGTTTCACCATGTTGGCCAGGCTG
+GTCTCGAACTCCTGACCTCAGGTGATCCGCCCGCCTCGGCCTCCCAAAGTGCTGGGATTA
+CAGGCGTGAGCCACCGCGCCCGGCCTTTTTGAGACGGAGTCTCGCTCTGTCGCCCAGGCT
+GGAGTGCAGTGGCGCGATCTCGGCTCACTGCAACCTCCGCCTCCCGGGTTCAAGCGATTC
+TCCTGCCTCAGCCTCCCGAGTAGCTGGGATTACAGGCGCGCGCCACCACGCCCGGCTAAT
+TTTTGTATTTTTAGTAGAGACGGGGTTTCACCATGTTGGCCAGGCTGGTCTCGAACTCCT
+GACCTCAGGTGATCCGCCCGCCTCGGCCTCCCAAAGTGCTGGGATTACAGGCGTGAGCCA
+CCGCGCCCGGCCTTTTTGAGACGGAGTCTCGCTCTGTCGCCCAGGCTGGAGTGCAGTGGC
+GCGATCTCGGCTCACTGCAACCTCCGCCTCCCGGGTTCAAGCGATTCTCCTGCCTCAGCC
+TCCCGAGTAGCTGGGATTACAGGCGCGCGCCACCACGCCCGGCTAATTTTTGTATTTTTA
+GTAGAGACGGGGTTTCACCATGTTGGCCAGGCTGGTCTCGAACTCCTGACCTCAGGTGAT
+CCGCCCGCCTCGGCCTCCCAAAGTGCTGGGATTACAGGCGTGAGCCACCGCGCCCGGCCT
+TTTTGAGACGGAGTCTCGCTCTGTCGCCCAGGCTGGAGTGCAGTGGCGCGATCTCGGCTC
+ACTGCAACCTCCGCCTCCCGGGTTCAAGCGATTCTCCTGCCTCAGCCTCCCGAGTAGCTG
+GGATTACAGGCGCGCGCCACCACGCCCGGCTAATTTTTGTATTTTTAGTAGAGACGGGGT
+TTCACCATGTTGGCCAGGCTGGTCTCGAACTCCTGACCTCAGGTGATCCGCCCGCCTCGG
+CCTCCCAAAGTGCTGGGATTACAGGCGTGAGCCACCGCGCCCGGCCTTTTTGAGACGGAG
+TCTCGCTCTGTCGCCCAGGCTGGAGTGCAGTGGCGCGATCTCGGCTCACTGCAACCTCCG
+CCTCCCGGGTTCAAGCGATTCTCCTGCCTCAGCCTCCCGAGTAGCTGGGATTACAGGCGC
+GCGCCACCACGCCCGGCTAATTTTTGTATTTTTAGTAGAGACGGGGTTTCACCATGTTGG
+CCAGGCTGGTCTCGAACTCCTGACCTCAGGTGATCCGCCCGCCTCGGCCTCCCAAAGTGC
+TGGGATTACAGGCGTGAGCCACCGCGCCCGGCCTTTTTGAGACGGAGTCTCGCTCTGTCG
+CCCAGGCTGGAGTGCAGTGGCGCGATCTCGGCTCACTGCAACCTCCGCCTCCCGGGTTCA
+AGCGATTCTCCTGCCTCAGCCTCCCGAGTAGCTGGGATTACAGGCGCGCGCCACCACGCC
+CGGCTAATTTTTGTATTTTTAGTAGAGACGGGGTTTCACCATGTTGGCCAGGCTGGTCTC
+GAACTCCTGACCTCAGGTGATCCGCCCGCCTCGGCCTCCCAAAGTGCTGGGATTACAGGC
+GTGAGCCACCGCGCCCGGCC
+>TWO IUB ambiguity codes
+TAGGDHACHATCRGTRGVTGAGWTATGYTGCTGTCABACDWVTRTAAGAVVAGATTTNDA
+GASMTCTGCATBYTTCAAKTTACMTATTACTTCATARGGYACMRTGTTTTYTATACVAAT
+TTCTAKGDACKADACTATATNTANTCGTTCACGBCGYSCBHTANGGTGATCGTAAAGTAA
+CTATBAAAAGATSTGWATBCSGAKHTTABBAACGTSYCATGCAAVATKTSKTASCGGAAT
+WVATTTNTCCTTCTTCTTDDAGTGGTTGGATACVGTTAYMTMTBTACTTTHAGCTAGBAA
+AAGAGKAAGTTRATWATCAGATTMDDTTTAAAVAAATATTKTCYTAAATTVCNKTTRACG
+ADTATATTTATGATSADSCAATAWAGCGRTAGTGTAAGTGACVGRADYGTGCTACHVSDT
+CTVCARCSYTTAATATARAAAATTTAATTTACDAATTGBACAGTAYAABATBTGCAGBVG
+TGATGGDCAAAATBNMSTTABKATTGGSTCCTAGBTTACTTGTTTAGTTTATHCGATSTA
+AAGTCGAKAAASTGTTTTAWAKCAGATATACTTTTMTTTTGBATAGAGGAGCMATGATRA
+AAGGNCAYDCCDDGAAAGTHGBTAATCKYTBTACBGTBCTTTTTGDTAASSWTAAWAARA
+TTGGCTAAGWGRADTYACATAGCTCBTAGATAWAGCAATNGTATMATGTTKMMAGTAWTC
+CCNTSGAAWATWCAAAAMACTGAADNTYGATNAATCCGAYWNCTAACGTTAGAGDTTTTC
+ATCTGGKRTAVGAABVCTGWGBTCTDVGKATTBTCTAAGGVADAAAVWTCTAGGGGAGGG
+TTAGAACAATTAAHTAATNAAATGCATKATCTAAYRTDTCAGSAYTTYHGATRTTWAVTA
+BGNTCDACAGBCCRCAGWCRTCABTGMMAWGMCTCAACCGATRTGBCAVAATCGTDWDAA
+CAYAWAATWCTGGTAHCCCTAAGATAACSCTTAGTGSAACAWTBGTCDTTDGACWDBAAC
+HTTTNGSKTYYAAYGGATNTGATTTAARTTAMBAATCTAAGTBTCATYTAACTTADTGTT
+TCGATACGAAHGGCYATATACCWDTKYATDCSHTDTCAAAATGTGBACTGSCCVGATGTA
+TCMMAGCCTTDAAABAATGAAGAGTAACTHATMGVTTAATAACCCGGTTVSANTGCAATT
+GTGAGATTTAMGTTTAMAAYGCTGACAYAAAAAGGCACAMYTAAGVGGCTGGAABVTACG
+GATTSTYGTBVAKTATWACCGTGTKAGTDTGTATGTTTAAAGGAAAAAGTAACATARAAA
+GGTYCAMNYAAABTATAGNTSATANAGTCATCCTATWADKAACTRGTMSACDGTATSAYT
+AAHSHGTAABYGACTYTATADTGSTATAGAGAAATCGNTAAAGGAAATCAGTTGTNCYMV
+TNACDRTATBNATATASTAGAAMSCGGGANRCKKMCAAACATTNAGTCTRMAATBMTACC
+CGTACTTCTBGDSYAATWGAAAATGACADDCHAKAAAYATATTKTTTTCACANACWAGAA
+AKATCCTTATTAYKHKCTAAACARTATTTTDATBTVWCYGCAATACTAGGKAAASTTDGA
+MGGCHTTHAATVCAHDRYAGGRCTATACGTCMAGAGAGCTBTHGNACARTCCBDCTAAGA
+GCGGCTTTARTAAAGAATCCNAGTAWBTGACTTGAATTACWTVACAGAAABCAATNAAAC
+CGTNTRANTTGAYCMAWBADTANABRGGTKTHTWTAGTTVCTMBKTAGMTVKCCAGCANT
+TVAGSWTTAGCCGCRHTTTCCTTHNTATTAAGAAGAATAGGMTRAARTCTABGTACDTTT
+TATAAVDHAHTATAGATCCTAGTAAGYTWATDWCATGAGGGATAGTAAMDMNGBASTWAM
+TSTATRBAYDABATGTATATYCGCACTGTTTTAACMCWBTATAWAGTATBTSTATVTTAR
+CCTMTTAAKADATCAACTAATYTSVTAKGDATTATGCKTCAYCAKAATACTTKAANGAGT
+ATTSDAGATCGGAAATACTTAAYAAVGTATMCGCTTGTGTDCTAATYTATTTTATTTWAA
+CAGWRCTATGTAGMTGTTTGTTYKTNGTTKTCAGAACNTRACCTACKTGSRATGTGGGGG
+CTGTCATTAAGTAAATNGSTTABCCCCTCGCAGCTCWHTCGCGAAGCAVATGCKACGHCA
+ACAKTTAATAACASAAADATTWNYTGTAATTGTTCGTMHACHTWATGTGCWTTTTGAAHY
+ACTTTGTAYAMSAAACTTAADAAATATAGTABMATATYAATGSGGTAGTTTGTGTBYGGT
+TWSGSVGWMATTDMTCCWWCABTCSVACAGBAATGTTKATBGTCAATAATCTTCTTAAAC
+ARVAATHAGYBWCTRWCABGTWWAATCTAAGTCASTAAAKTAAGVKBAATTBGABACGTA
+AGGTTAAATAAAAACTRMDTWBCTTTTTAATAAAAGATMGCCTACKAKNTBAGYRASTGT
+ASSTCGTHCGAAKTTATTATATTYTTTGTAGAACATGTCAAAACTWTWTHGKTCCYAATA
+AAGTGGAYTMCYTAARCSTAAATWAKTGAATTTRAGTCTSSATACGACWAKAASATDAAA
+TGYYACTSAACAAHAKTSHYARGASTATTATTHAGGYGGASTTTBGAKGATSANAACACD
+TRGSTTRAAAAAAAACAAGARTCVTAGTAAGATAWATGVHAAKATWGAAAAGTYAHVTAC
+TCTGRTGTCAWGATRVAAKTCGCAAVCGASWGGTTRTCSAMCCTAACASGWKKAWDAATG
+ACRCBACTATGTGTCTTCAAAHGSCTATATTTCGTVWAGAAGTAYCKGARAKSGKAGTAN
+TTTCYACATWATGTCTAAAADMDTWCAATSTKDACAMAADADBSAAATAGGCTHAHAGTA
+CGACVGAATTATAAAGAHCCVAYHGHTTTACATSTTTATGNCCMTAGCATATGATAVAAG
+>THREE Homo sapiens frequency
+ATATTTATCTTTTCACTTCCTACATTGGTCAGACCATTATTCGACACGTGGCGTCATTTT
+GTCATACCGGGTAATGTTGGAAACAAAACGTACTGATAAAATACTGAGTTGTAAACTCTA
+ATCAGATAACGCGCTTGGATATTAAGATTCACACAGGGGTTTCGGCTGTAAAAAAACTTG
+TGGAGCTGTTCTGGGACAGATAAGTTGTACCTCGTACTTAGCTAATTAATGAACCAACTG
+ATTACGATAGAACAATTCTGAGGCCGCCAGGACAGCCAAATTTTAATCTTATAAAGCTGG
+AAACAGCCGGTATTAGCTTCTCGCATACTTTGCCTGCATTGGTACCTTACAGATATCAGC
+GTAGTCATATACACCTCGGTCTCAGCTAAGCTTGTATCTCTTAGAGTAGTTCAAAGATAG
+TGGACAATACCTGTGGAATCGATTGCAGATATGGATTTATTTAACTACTGAGTCTCATTC
+ACAAGCTAAGCAAGGAGCACGTTTTGGTGCCGGCATACCGATTTGCTATCATGTCAGCAA
+ATTTGCGTTGTATTCCTAGTTGCACCCATTAAGGCCACACTCCGAACCTAATTATTACAT
+CGCAAAGACATGTACGAAGGACCCGATGTCGAATAGAAGGGAGGACTGTTCATTGGAAGC
+TAGACCAGAGGAATCGCAAAGATGCAACTCTTACAATAAAAATCTAATTTCAGTCAACAC
+GCAATTTCTATAAGGTTTCCGATAATAATGAACCGTCTTCCACAGGGGAATTTGCCATGC
+TCGTAAAAGTAGTTAATCCAAGTAGAAGAAATTTTGATAATGTTTTAAGTTGGCACGAAG
+GAATTCAGAGAGATCTTACCTAACAAAGGCATTAGTAGATGTTCCTTGGTTCACACTCGG
+TCAATCAGAGCACATACTACGGGCGATACCGGGAATGACACAACATCAATGAGATTGTTA
+AGTGAGGTAATTGACTTTAGAGGACTCGATCAGTATACTGTCACTATGAACATCGTATTA
+ATTGTTATCCGATATATACACCACCGATTTGCTTGTGCAAGGTTACAGACCCATTCGATA
+AATACAAACACGGAGCGATATTATTTAAGGAGTGCTGTCTTCAAAAGAATTATTCCCACA
+CCGACATAAGAACTTCGCTCCGTCATTCCAGATTTAAATAACATAACGTAACGCTTTGCT
+GATAACATAACATAACCGAGAATTTGCTTAGGAAATTTGGAGCAATATTGCATTGTTTCT
+CAGTCATCACAAGGCCCGCCAAAGAACTCTGAGAATCAGGATTCAACATGATTGGTAAGA
+CTCTATATATATAACTTAATTCTTGTGTCCGGAGATAGAAAGAGGACGAGAGATACTACG
+AAAGAAAGTGTACTTCGATGTATCAATTCAGACGCCTTCTCTATCATCAACATTATAGGT
+CTCGTATATGCTCGGCGCGATCTGCTTCTCTCCGCCAATAGCCCCATAGTGTATTTCAAG
+CGCAGTAACAGTGAAATCGTTACGAAGGTAGGGATGTTGCTTATAATTGTCGTAACTTAT
+CGCTTATGTATCTTTCAAGAATGAACGGCAGCATATACATACGTTCTACCTTTAGCTACA
+AAGCATCCATATACTCCCTCTCATGATTGAAACTCTTCCCTATTTTGTAGCCAATAGTGA
+AAGCGTATTAGTATAAATTCGTCGGTTTTTCACTCGCAACTGTTATACTCTGCAAACAAA
+CGAAAGCCTCATAGTACAAACCTAAAGCTACATACTTCATCATTGGCAGACCAGTGGCGG
+TATTTCTACGGAAGCATCACTATAGATATAAAGTTTCCCTTCATGTACGTCTGTTAACCA
+TATCACAAGAAACTGCTATCTCTGTCACGTAACAATTCACGCGCCTTATCGCCAAATGTT
+CATATATGCGCGGTATACGTATGAACGAATACTAATTAGTATAACGGAGGATTCACGGGA
+GGGATACTTGGGGCATTTATAAATCGTCTAAAAATTTTCTATCAGCACTTGCGGGTTATA
+GTGGATTACTAGGCAACATAATATTCTGTATTGGTCCAAATGACGCTATAGATAAATTAG
+CAAAATACATTGTTTCCATTTATGTAAGTCGAAACTCCAGGACTCCCGGGAACCAGTTAA
+ACCGTCTGGAAAAGACACATTGTGAGCGGGACTTCAATGATAGCTTTCAATGAGCTTCTC
+ATGCTTGGGGTCTGTACATATATGTTGGCGAAATTATCGTCTGTATTCTGTTATGCTTTG
+ATCATGGGTTATTAGTATAGTGTCCGGTTAAGTACCAATACCGCTAGAGACCCGACCTAA
+GTCGATAACTAACGATCATCGACGTAAGGATCGTCTCGATCAGTACTTCAGTCTAGATCT
+GGGAATAGTAACTCGTTAGTGAACTATGTCGTGTCATAACTCTAAAATGCAATCAAATCT
+TATTATTGAGTATTGATTATATAAAGCATCCGCTTAGCTTTACCCTCAAATGTTATATGC
+AATTTAAAGCGCTTGATATCGTCTACTCAAGTTCAGGTTTCACATGGCCGCAACGTGACG
+TTATTAGAGGTGGGTCATCATCTCTGAGGCTAGTGATGTTGAATACTCATTGAATGGGAA
+GTGGAATACCATGCTCGTAGGTAACAGCATGACCTATAAAATATACTATGGGTGTGTGGT
+AGATCAATATTGTTCAAGCATATCGTAACAATAACGGCTGAAATGTTACTGACATGAAAG
+AGGGAGTCCAAACCATTCTAACAGCTGATCAAGTCGTCTAAAAACGCCTGGTTCAGCCTT
+AAGAGTTATAAGCCAGACAAATTGTATCAATAGAGAATCCGTAAATTCCTCGGCCAACCT
+CTTGCAAAGACATCACTATCAATATACTACCGTGATCTTAATTAGTGAACTTATATAAAT
+ATCTACAACCAGATTCAACGGAAAAGCTTTAGTGGATTAGAAATTGCCAAGAATCACATT
+CATGTGGGTTCGAATGCTTTAGTAATACCATTTCGCCGAGTAGTCACTTCGCTGAACTGT
+CGTAAATTGCTATGACATAATCGAAAAGGATTGTCAAGAGTCGATTACTGCGGACTAATA
+ATCCCCACGGGGGTGGTCTCATGTCTCCCCAGGCGAGTGGGGACGGTTGATAAACACGCT
+GCATCGCGGACTGATGTTCCCAGTATTACATAGTCACATTGGATTGCGAGTAGTCTACCT
+ATTTATGAGCGAGAGATGCCTCTAACTACTTCGACTTTTAAAACCTTTCCACGCCAGTAT
+TCGGCGAAAGGGAAGTATTAAGGGTTGTCATAATTAAGCTGATACCACTTCAGACTTTGC
+TCTACTTCTGTCTTTCATTGGTTTAGTAAAGTCTGTCCATTCGTCGAGACCGTCTTTTGC
+AGCCTCATTCTACCAACTGCTCCGACTCTTAGTCTGCTTCTCCCAGCGTTATAACAAGAG
+GCATTTTGTCATCCTTAAAACAATAATAAAGAACTCGGAGCACTGATATAATGACTGAAT
+TAGAACCGCTTAAAAATACAACGAATAGATAAGACTATCGGATAAGATCTAATATGTAGT
+GATTAAGCCCTTTATTAATTAATAATAGTTACCCTTTCTGATGTAACGCGACATATTACG
+ATTTAGTGGCACGTCTGAATTGCAAAGCAGATCTCTACCCGATTTTTATTATAAATCCCG
+TATACATCTTGACTTGAGTAATTGTTCATCTTTTTATATCTCTTCGTACTACAAATAATT
+AATATCTCAACCCGTATTGTGTGATTCTAATTACCAACAGAATACGAGGAGGTTTTTGCT
+TAGGGCCATATATAATGAATCTATCTCGTTTATTCGCGGAACCCGAGATAACATTACGAT
+GTAACTATTTTAGAGAACTTAATACAAGAAACATTGCTGATTACTCATAACTAAATGCTT
+GGTAATATATCCTCAGTGCCCCTACCATCTTTTACGCAGGGATGTAATTACTTAGGATTC
+ATTGTGTAAGAATTACAATGAACGATGGATATGAAGGCATGTTGCGAGGTGTTCCTTGGT
+ATGTGAAGTTCGCAGGGCAACAAAAATTTCGCAGAATAGGCCTCAAAGTATTGGTAAAGA
+AGACAACTAATCATCACGAGCTTCTGATATCAATACGAACGAGTCCTGTGATGGATGAAA
+GAAAGTCGTATCGAAAATGTCAAGAGTCTGCCCAATGTAACTTACTTCAAAAAATAACGC
+TTCCGCCAAGTACGTTCGAATAAACGTAATTTTAAAAATACATAAGGGGTGTTAGAAAGT
+AAGCGACGGGATATAAGTTAGACTCAAGATTCCGCCGTAAAACGAGACTGATTCCGAAGA
+TTGTTCGTGGATCTGGTCATGACTTTCACTGAGTAAGGAGTTTCGACATATGTCAATAAA
+CACAAAAATAGAAGCTATTCGATCTGAAAAATATTAGGACAAGAAACTATCTCACGCTAG
+CCCAGAATATTCACTCACCCACGGGCGATACTAAAGCACTATATAGTCGCGTGATTACTA
+TACATATGGTACACATAAGAATCACGATCAGGTTCTCAATTTTCAACAATATATGTTTAT
+TTGCATAGGTAATATTAGGCCTTTAAGAGAAGGATGGGTGAGATACTCCGGGGATGGCGG
+CAATAAAGAAAAACACGATATGAGTAATAGGATCCTAATATCTTGGCGAGAGACTTAAGG
+TACGAATTTTGCGCAATCTATTTTTTACTTGGCCAGAATTCATGTATGGTATAAGTACGA
+ACTTTTTTGATCACTTTCATGGCTACCTGATTAGGATAGTTTGAGGAATTTCCCAAATAT
+ACCGATTTAATATACACTAGGGCTTGTCACTTTGAGTCAGAAAAAGAATATAATTACTTA
+GGGTAATGCTGCATACATATTCTTATATTGCAAAGGTTCTCTGGGTAATCTTGAGCCTTC
+ACGATACCTGGTGAAGTGTT
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ * Based on spectral-norm.c by Sebastien Loisel
+ */
+
+package main
+
+import (
+ "flag"
+ "fmt"
+ "math"
+ "runtime"
+)
+
+var n = flag.Int("n", 2000, "count")
+var nCPU = flag.Int("ncpu", 4, "number of cpus")
+
+func evalA(i, j int) float64 { return 1 / float64(((i+j)*(i+j+1)/2 + i + 1)) }
+
+type Vec []float64
+
+func (v Vec) Times(i, n int, u Vec, c chan int) {
+ for ; i < n; i++ {
+ v[i] = 0
+ for j := 0; j < len(u); j++ {
+ v[i] += evalA(i, j) * u[j]
+ }
+ }
+ c <- 1
+}
+
+func (v Vec) TimesTransp(i, n int, u Vec, c chan int) {
+ for ; i < n; i++ {
+ v[i] = 0
+ for j := 0; j < len(u); j++ {
+ v[i] += evalA(j, i) * u[j]
+ }
+ }
+ c <- 1
+}
+
+func wait(c chan int) {
+ for i := 0; i < *nCPU; i++ {
+ <-c
+ }
+}
+
+func (v Vec) ATimesTransp(u Vec) {
+ x := make(Vec, len(u))
+ c := make(chan int, *nCPU)
+ for i := 0; i < *nCPU; i++ {
+ go x.Times(i*len(v) / *nCPU, (i+1)*len(v) / *nCPU, u, c)
+ }
+ wait(c)
+ for i := 0; i < *nCPU; i++ {
+ go v.TimesTransp(i*len(v) / *nCPU, (i+1)*len(v) / *nCPU, x, c)
+ }
+ wait(c)
+}
+
+func main() {
+ flag.Parse()
+ runtime.GOMAXPROCS(*nCPU)
+ N := *n
+ u := make(Vec, N)
+ for i := 0; i < N; i++ {
+ u[i] = 1
+ }
+ v := make(Vec, N)
+ for i := 0; i < 10; i++ {
+ v.ATimesTransp(u)
+ u.ATimesTransp(v)
+ }
+ var vBv, vv float64
+ for i := 0; i < N; i++ {
+ vBv += u[i] * v[i]
+ vv += v[i] * v[i]
+ }
+ fmt.Printf("%0.9f\n", math.Sqrt(vBv/vv))
+}
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* -*- mode: c -*-
+ *
+ * The Great Computer Language Shootout
+ * http://shootout.alioth.debian.org/
+ *
+ * Contributed by Sebastien Loisel
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+
+double eval_A(int i, int j) { return 1.0/((i+j)*(i+j+1)/2+i+1); }
+
+void eval_A_times_u(int N, const double u[], double Au[])
+{
+ int i,j;
+ for(i=0;i<N;i++)
+ {
+ Au[i]=0;
+ for(j=0;j<N;j++) Au[i]+=eval_A(i,j)*u[j];
+ }
+}
+
+void eval_At_times_u(int N, const double u[], double Au[])
+{
+ int i,j;
+ for(i=0;i<N;i++)
+ {
+ Au[i]=0;
+ for(j=0;j<N;j++) Au[i]+=eval_A(j,i)*u[j];
+ }
+}
+
+void eval_AtA_times_u(int N, const double u[], double AtAu[])
+{ double v[N]; eval_A_times_u(N,u,v); eval_At_times_u(N,v,AtAu); }
+
+int main(int argc, char *argv[])
+{
+ int i;
+ int N = ((argc == 2) ? atoi(argv[1]) : 2000);
+ double u[N],v[N],vBv,vv;
+ for(i=0;i<N;i++) u[i]=1;
+ for(i=0;i<10;i++)
+ {
+ eval_AtA_times_u(N,u,v);
+ eval_AtA_times_u(N,v,u);
+ }
+ vBv=vv=0;
+ for(i=0;i<N;i++) { vBv+=u[i]*v[i]; vv+=v[i]*v[i]; }
+ printf("%0.9f\n",sqrt(vBv/vv));
+ return 0;
+}
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ * Based on spectral-norm.c by Sebastien Loisel
+ */
+
+package main
+
+import (
+ "flag"
+ "fmt"
+ "math"
+)
+
+var n = flag.Int("n", 2000, "count")
+
+func evalA(i, j int) float64 { return 1 / float64(((i+j)*(i+j+1)/2 + i + 1)) }
+
+type Vec []float64
+
+func (v Vec) Times(u Vec) {
+ for i := 0; i < len(v); i++ {
+ v[i] = 0
+ for j := 0; j < len(u); j++ {
+ v[i] += evalA(i, j) * u[j]
+ }
+ }
+}
+
+func (v Vec) TimesTransp(u Vec) {
+ for i := 0; i < len(v); i++ {
+ v[i] = 0
+ for j := 0; j < len(u); j++ {
+ v[i] += evalA(j, i) * u[j]
+ }
+ }
+}
+
+func (v Vec) ATimesTransp(u Vec) {
+ x := make(Vec, len(u))
+ x.Times(u)
+ v.TimesTransp(x)
+}
+
+func main() {
+ flag.Parse()
+ N := *n
+ u := make(Vec, N)
+ for i := 0; i < N; i++ {
+ u[i] = 1
+ }
+ v := make(Vec, N)
+ for i := 0; i < 10; i++ {
+ v.ATimesTransp(u)
+ u.ATimesTransp(v)
+ }
+ var vBv, vv float64
+ for i := 0; i < N; i++ {
+ vBv += u[i] * v[i]
+ vv += v[i] * v[i]
+ }
+ fmt.Printf("%0.9f\n", math.Sqrt(vBv/vv))
+}
--- /dev/null
+1.274224152
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*
+* The Computer Language Benchmarks Game
+* http://shootout.alioth.debian.org/
+
+* contributed by Premysl Hruby
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <pthread.h>
+#include <string.h>
+#include <limits.h>
+
+#define THREADS (503)
+
+
+struct stack {
+ char x[PTHREAD_STACK_MIN];
+};
+
+
+/* staticaly initialize mutex[0] mutex */
+static pthread_mutex_t mutex[THREADS];
+static int data[THREADS];
+static struct stack stacks[THREADS];
+/* stacks must be defined staticaly, or my i386 box run of virtual memory for this
+ * process while creating thread +- #400 */
+
+static void* thread(void *num)
+{
+ int l = (int)num;
+ int r = (l+1) % THREADS;
+ int token;
+
+ while(1) {
+ pthread_mutex_lock(mutex + l);
+ token = data[l];
+ if (token) {
+ data[r] = token - 1;
+ pthread_mutex_unlock(mutex + r);
+ }
+ else {
+ printf("%i\n", l+1);
+ exit(0);
+ }
+ }
+}
+
+
+
+int main(int argc, char **argv)
+{
+ int i;
+ pthread_t cthread;
+ pthread_attr_t stack_attr;
+
+ if (argc != 2)
+ exit(255);
+ data[0] = atoi(argv[1]);
+
+ pthread_attr_init(&stack_attr);
+
+ for (i = 0; i < THREADS; i++) {
+ pthread_mutex_init(mutex + i, NULL);
+ pthread_mutex_lock(mutex + i);
+
+ pthread_attr_setstack(&stack_attr, &stacks[i], sizeof(struct stack));
+ pthread_create(&cthread, &stack_attr, thread, (void*)i);
+ }
+
+ pthread_mutex_unlock(mutex + 0);
+ pthread_join(cthread, NULL);
+}
--- /dev/null
+/*
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the name of "The Computer Language Benchmarks Game" nor the
+ name of "The Computer Language Shootout Benchmarks" nor the names of
+ its contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/* The Computer Language Benchmarks Game
+ * http://shootout.alioth.debian.org/
+ *
+ * contributed by The Go Authors.
+ */
+
+package main
+
+import (
+ "flag"
+ "fmt"
+ "os"
+)
+
+var n = flag.Int("n", 1000, "how many passes")
+
+const Nthread = 503
+
+func f(i int, in <-chan int, out chan<- int) {
+ for {
+ n := <-in
+ if n == 0 {
+ fmt.Printf("%d\n", i)
+ os.Exit(0)
+ }
+ out <- n - 1
+ }
+}
+
+func main() {
+ flag.Parse()
+
+ one := make(chan int) // will be input to thread 1
+ var in, out chan int = nil, one
+ for i := 1; i <= Nthread-1; i++ {
+ in, out = out, make(chan int)
+ go f(i, in, out)
+ }
+ go f(Nthread, out, one)
+ one <- *n
+ <-make(chan int) // hang until ring completes
+}
--- /dev/null
+All tests on r45 or r70
+
+Aug 3 2009
+
+First version of fasta. Translation of fasta.c, fetched from
+ http://shootout.alioth.debian.org/u32q/benchmark.php?test=fasta&lang=gpp&id=4
+
+fasta -n 25000000
+ gcc -O2 fasta.c 5.98u 0.00s 6.01r
+ gccgo -O2 fasta.go 8.82u 0.02s 8.85r
+ 6g fasta.go 13.50u 0.02s 13.53r
+ 6g -B fata.go 12.99u 0.02s 13.02r
+
+Aug 4 2009
+[added timing.sh]
+
+# myrandom:
+# hand-written optimization of integer division
+# use int32->float conversion
+fasta -n 25000000
+ # probably I/O library inefficiencies
+ gcc -O2 fasta.c 5.99u 0.00s 6.00r
+ gccgo -O2 fasta.go 8.82u 0.02s 8.85r
+ gc fasta 10.70u 0.00s 10.77r
+ gc_B fasta 10.09u 0.03s 10.12r
+
+reverse-complement < output-of-fasta-25000000
+ # we don't know - memory cache behavior?
+ gcc -O2 reverse-complement.c 2.04u 0.94s 10.54r
+ gccgo -O2 reverse-complement.go 6.54u 0.63s 7.17r
+ gc reverse-complement 6.55u 0.70s 7.26r
+ gc_B reverse-complement 6.32u 0.70s 7.10r
+
+nbody 50000000
+ # math.Sqrt needs to be in assembly; inlining is probably the other 50%
+ gcc -O2 nbody.c 21.61u 0.01s 24.80r
+ gccgo -O2 nbody.go 118.55u 0.02s 120.32r
+ gc nbody 100.84u 0.00s 100.85r
+ gc_B nbody 103.33u 0.00s 103.39r
+[
+hacked Sqrt in assembler
+ gc nbody 31.97u 0.00s 32.01r
+]
+
+binary-tree 15 # too slow to use 20
+ # memory allocation and garbage collection
+ gcc -O2 binary-tree.c -lm 0.86u 0.00s 0.87r
+ gccgo -O2 binary-tree.go 1.69u 0.46s 2.15r
+ gccgo -O2 binary-tree-freelist.go 8.48u 0.00s 8.48r
+ gc binary-tree 9.60u 0.01s 9.62r
+ gc binary-tree-freelist 0.48u 0.01s 0.50r
+
+August 5, 2009
+
+fannkuch 12
+ # bounds checking is half the difference
+ # rest might be registerization
+ gcc -O2 fannkuch.c 60.09u 0.01s 60.32r
+ gccgo -O2 fannkuch.go 64.89u 0.00s 64.92r
+ gc fannkuch 124.59u 0.00s 124.67r
+ gc_B fannkuch 91.14u 0.00s 91.16r
+
+regex-dna 100000
+ # regexp code is slow on trivial regexp
+ gcc -O2 regex-dna.c -lpcre 0.92u 0.00s 0.99r
+ gc regexp-dna 26.94u 0.18s 28.75r
+ gc_B regexp-dna 26.51u 0.09s 26.75r
+
+spectral-norm 5500
+ gcc -O2 spectral-norm.c -lm 11.54u 0.00s 11.55r
+ gccgo -O2 spectral-norm.go 12.20u 0.00s 12.23r
+ gc spectral-norm 50.23u 0.00s 50.36r
+ gc_B spectral-norm 49.69u 0.01s 49.83r
+ gc spectral-norm-parallel 24.47u 0.03s 11.05r # has shift >>1 not div /2
+ [using >>1 instead of /2 : gc gives 24.33u 0.00s 24.33r]
+
+August 6, 2009
+
+k-nucleotide 5000000
+ # string maps are slower than glib string maps
+ gcc -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include k-nucleotide.c -lglib-2.0 k-nucleotide.c: 10.72u 0.01s 10.74r
+ gccgo -O2 k-nucleotide.go 21.64u 0.83s 22.78r
+ gc k-nucleotide 16.08u 0.06s 16.50r
+ gc_B k-nucleotide 17.32u 0.02s 17.37r
+
+mandelbrot 5500
+ # floating point code generator should use more registers
+ gcc -O2 mandelbrot.c 56.13u 0.02s 56.17r
+ gccgo -O2 mandelbrot.go 57.49u 0.01s 57.51r
+ gc mandelbrot 74.32u 0.00s 74.35r
+ gc_B mandelbrot 74.28u 0.01s 74.31r
+
+meteor 2100
+ # we don't know
+ gcc -O2 meteor-contest.c 0.10u 0.00s 0.10r
+ gccgo -O2 meteor-contest.go 0.12u 0.00s 0.14r
+ gc meteor-contest 0.24u 0.00s 0.26r
+ gc_B meteor-contest 0.23u 0.00s 0.24r
+
+pidigits 10000
+ # bignum is slower than gmp
+ gcc -O2 pidigits.c -lgmp 2.60u 0.00s 2.62r
+ gc pidigits 77.69u 0.14s 78.18r
+ gc_B pidigits 74.26u 0.18s 75.41r
+ gc_B pidigits 68.48u 0.20s 69.31r # special case: no bounds checking in bignum
+
+August 7 2009
+
+# New gc does better division by powers of 2. Significant improvements:
+
+spectral-norm 5500
+ # floating point code generator should use more registers; possibly inline evalA
+ gcc -O2 spectral-norm.c -lm 11.50u 0.00s 11.50r
+ gccgo -O2 spectral-norm.go 12.02u 0.00s 12.02r
+ gc spectral-norm 23.98u 0.00s 24.00r # new time is 0.48 times old time, 52% faster
+ gc_B spectral-norm 23.71u 0.01s 23.72r # ditto
+ gc spectral-norm-parallel 24.04u 0.00s 6.26r # /2 put back. note: 4x faster (on r70, idle)
+
+k-nucleotide 1000000
+ # string maps are slower than glib string maps
+ gcc -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include k-nucleotide.c -lglib-2.0 10.82u 0.04s 10.87r
+ gccgo -O2 k-nucleotide.go 22.73u 0.89s 23.63r
+ gc k-nucleotide 15.97u 0.03s 16.04r
+ gc_B k-nucleotide 15.86u 0.06s 15.93r # 8.5% faster, but probably due to weird cache effeccts in previous version
+
+pidigits 10000
+ # bignum is slower than gmp
+ gcc -O2 pidigits.c -lgmp 2.58u 0.00s 2.58r
+ gc pidigits 71.24u 0.04s 71.28r # 8.5% faster
+ gc_B pidigits 71.25u 0.03s 71.29r # 4% faster
+
+threadring 50000000
+ gcc -O2 threadring.c -lpthread 35.51u 160.21s 199.50r
+ gccgo -O2 threadring.go 90.33u 459.95s 448.03r
+ gc threadring 33.11u 0.00s 33.14r
+ GOMAXPROCS=4 gc threadring 114.48u 226.65s 371.59r
+ # change wait code to do <-make(chan int) instead of time.Sleep
+ gc threadring 28.41u 0.01s 29.35r
+ GOMAXPROCS=4 gc threadring 112.59u 232.83s 384.72r
+
+chameneos 6000000
+ gcc -O2 chameneosredux.c -lpthread 18.14u 276.52s 76.93r
+ gc chameneosredux 20.19u 0.01s 20.23r
+
+Aug 10 2009
+
+# new 6g with better fp registers, fast div and mod of integers
+# complete set of timings listed. significant changes marked ***
+
+fasta -n 25000000
+ # probably I/O library inefficiencies
+ gcc -O2 fasta.c 5.96u 0.00s 5.97r
+ gc fasta 10.59u 0.01s 10.61r
+ gc_B fasta 9.92u 0.02s 9.95r
+
+reverse-complement < output-of-fasta-25000000
+ # we don't know - memory cache behavior?
+ gcc -O2 reverse-complement.c 1.96u 1.56s 16.23r
+ gccgo -O2 reverse-complement.go 6.41u 0.62s 7.05r
+ gc reverse-complement 6.46u 0.70s 7.17r
+ gc_B reverse-complement 6.22u 0.72s 6.95r
+
+nbody 50000000
+ # math.Sqrt needs to be in assembly; inlining is probably the other 50%
+ gcc -O2 nbody.c 21.26u 0.01s 21.28r
+ gccgo -O2 nbody.go 116.68u 0.07s 116.80r
+ gc nbody 86.64u 0.01s 86.68r # -14%
+ gc_B nbody 85.72u 0.02s 85.77r # *** -17%
+
+binary-tree 15 # too slow to use 20
+ # memory allocation and garbage collection
+ gcc -O2 binary-tree.c -lm 0.87u 0.00s 0.87r
+ gccgo -O2 binary-tree.go 1.61u 0.47s 2.09r
+ gccgo -O2 binary-tree-freelist.go 0.00u 0.00s 0.01r
+ gc binary-tree 9.11u 0.01s 9.13r # *** -5%
+ gc binary-tree-freelist 0.47u 0.01s 0.48r
+
+fannkuch 12
+ # bounds checking is half the difference
+ # rest might be registerization
+ gcc -O2 fannkuch.c 59.92u 0.00s 59.94r
+ gccgo -O2 fannkuch.go 65.54u 0.00s 65.58r
+ gc fannkuch 123.98u 0.01s 124.04r
+ gc_B fannkuch 90.75u 0.00s 90.78r
+
+regex-dna 100000
+ # regexp code is slow on trivial regexp
+ gcc -O2 regex-dna.c -lpcre 0.91u 0.00s 0.92r
+ gc regex-dna 27.25u 0.02s 27.28r
+ gc_B regex-dna 29.51u 0.03s 29.55r
+
+spectral-norm 5500
+ # possibly inline evalA
+ gcc -O2 spectral-norm.c -lm 11.57u 0.00s 11.57r
+ gccgo -O2 spectral-norm.go 12.07u 0.01s 12.08r
+ gc spectral-norm 23.99u 0.00s 24.00r
+ gc_B spectral-norm 23.73u 0.00s 23.75r
+
+k-nucleotide 1000000
+ # string maps are slower than glib string maps
+ gcc -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include k-nucleotide.c -lglib-2.0 10.63u 0.02s 10.69r
+ gccgo -O2 k-nucleotide.go 23.19u 0.91s 24.12r
+ gc k-nucleotide 16.73u 0.04s 16.78r # *** +5% (but this one seems to vary by more than that)
+ gc_B k-nucleotide 16.46u 0.04s 16.51r # *** +5%
+
+mandelbrot 16000
+ gcc -O2 mandelbrot.c 56.16u 0.00s 56.16r
+ gccgo -O2 mandelbrot.go 57.41u 0.01s 57.42r
+ gc mandelbrot 64.05u 0.02s 64.08r # *** -14%
+ gc_B mandelbrot 64.10u 0.02s 64.14r # *** -14%
+
+meteor 2100
+ # we don't know
+ gcc -O2 meteor-contest.c 0.10u 0.00s 0.10r
+ gccgo -O2 meteor-contest.go 0.12u 0.00s 0.12r
+ gc meteor-contest 0.18u 0.00s 0.20r # *** -25%
+ gc_B meteor-contest 0.17u 0.00s 0.18r # *** -24%
+
+pidigits 10000
+ # bignum is slower than gmp
+ gcc -O2 pidigits.c -lgmp 2.57u 0.00s 2.57r
+ gc pidigits 71.82u 0.04s 71.89r
+ gc_B pidigits 71.84u 0.08s 71.98r
+
+threadring 50000000
+ gcc -O2 threadring.c -lpthread 30.91u 164.33s 204.57r
+ gccgo -O2 threadring.go 87.12u 460.04s 447.61r
+ gc threadring 38.55u 0.00s 38.56r # *** +16%
+
+chameneos 6000000
+ gcc -O2 chameneosredux.c -lpthread 17.93u 323.65s 88.47r
+ gc chameneosredux 21.72u 0.00s 21.73r
+
+August 10 2009
+
+# In-place versions for some bignum operations.
+pidigits 10000
+ gcc -O2 pidigits.c -lgmp 2.56u 0.00s 2.57r
+ gc pidigits 55.22u 0.04s 55.29r # *** -23%
+ gc_B pidigits 55.49u 0.02s 55.60r # *** -23%
+
+September 3 2009
+
+# New 6g inlines slices, has a few other tweaks.
+# Complete rerun. Significant changes marked.
+
+fasta -n 25000000
+ # probably I/O library inefficiencies
+ gcc -O2 fasta.c 5.96u 0.00s 5.96r
+ gc fasta 10.63u 0.02s 10.66r
+ gc_B fasta 9.92u 0.01s 9.94r
+
+reverse-complement < output-of-fasta-25000000
+ # we don't know - memory cache behavior?
+ gcc -O2 reverse-complement.c 1.92u 0.33s 2.93r
+ gccgo -O2 reverse-complement.go 6.76u 0.72s 7.58r # +5%
+ gc reverse-complement 6.59u 0.70s 7.29r # +2%
+ gc_B reverse-complement 5.57u 0.80s 6.37r # -10%
+
+nbody 50000000
+ # math.Sqrt needs to be in assembly; inlining is probably the other 50%
+ # also loop alignment appears to be critical
+ gcc -O2 nbody.c 21.28u 0.00s 21.28r
+ gccgo -O2 nbody.go 119.21u 0.00s 119.22r # +2%
+ gc nbody 109.72u 0.00s 109.78r # + 28% *****
+ gc_B nbody 85.90u 0.00s 85.91r
+
+binary-tree 15 # too slow to use 20
+ # memory allocation and garbage collection
+ gcc -O2 binary-tree.c -lm 0.86u 0.00s 0.87r
+ gccgo -O2 binary-tree.go 1.88u 0.54s 2.42r # +17%
+ gccgo -O2 binary-tree-freelist.go 0.01u 0.01s 0.02r
+ gc binary-tree 8.94u 0.01s 8.96r # -2%
+ gc binary-tree-freelist 0.47u 0.01s 0.48r
+
+fannkuch 12
+ # bounds checking is half the difference
+ # rest might be registerization
+ gcc -O2 fannkuch.c 60.12u 0.00s 60.12r
+ gccgo -O2 fannkuch.go 92.62u 0.00s 92.66r # +41% ***
+ gc fannkuch 123.90u 0.00s 123.92r
+ gc_B fannkuch 89.71u 0.00s 89.74r # -1%
+
+regex-dna 100000
+ # regexp code is slow on trivial regexp
+ gcc -O2 regex-dna.c -lpcre 0.88u 0.00s 0.88r
+ gc regex-dna 25.77u 0.01s 25.79r # -5%
+ gc_B regex-dna 26.05u 0.02s 26.09r # -12% ***
+
+spectral-norm 5500
+ # possibly inline evalA
+ gcc -O2 spectral-norm.c -lm 11.51u 0.00s 11.51r
+ gccgo -O2 spectral-norm.go 11.95u 0.00s 11.96r
+ gc spectral-norm 24.23u 0.00s 24.23r
+ gc_B spectral-norm 23.83u 0.00s 23.84r
+
+k-nucleotide 1000000
+ # string maps are slower than glib string maps
+ gcc -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include k-nucleotide.c -lglib-2.0 10.68u 0.04s 10.72r
+ gccgo -O2 k-nucleotide.go 23.03u 0.88s 23.92r
+ gc k-nucleotide 15.79u 0.05s 15.85r # -5% (but this one seems to vary by more than that)
+ gc_B k-nucleotide 17.88u 0.05s 17.95r # +8% (ditto)
+
+mandelbrot 16000
+ gcc -O2 mandelbrot.c 56.17u 0.02s 56.20r
+ gccgo -O2 mandelbrot.go 56.74u 0.02s 56.79r # -1%
+ gc mandelbrot 63.31u 0.01s 63.35r # -1%
+ gc_B mandelbrot 63.29u 0.00s 63.31r # -1%
+
+meteor 2100
+ # we don't know
+ gcc -O2 meteor-contest.c 0.10u 0.00s 0.10r
+ gccgo -O2 meteor-contest.go 0.11u 0.00s 0.12r
+ gc meteor-contest 0.18u 0.00s 0.19r
+ gc_B meteor-contest 0.17u 0.00s 0.18r
+
+pidigits 10000
+ # bignum is slower than gmp
+ gcc -O2 pidigits.c -lgmp 2.56u 0.00s 2.57r
+ gc pidigits 55.87u 0.03s 55.91r
+ gc_B pidigits 55.93u 0.03s 55.99r
+
+# these tests are compared using real time, since they run multiple processors
+# accuracy probably low
+threadring 50000000
+ gcc -O2 threadring.c -lpthread 26.31u 164.69s 199.92r # -2%
+ gccgo -O2 threadring.go 87.90u 487.26s 472.81r # +6%
+ gc threadring 28.89u 0.00s 28.90r # -25% ***
+
+chameneos 6000000
+ gcc -O2 chameneosredux.c -lpthread 16.41u 296.91s 81.17r # -8%
+ gc chameneosredux 19.97u 0.00s 19.97r # -8%
+
+Sep 22, 2009
+
+# 6g inlines sliceslice in most cases.
+
+fasta -n 25000000
+ # probably I/O library inefficiencies
+ gc fasta 10.24u 0.00s 10.25r # -4%
+ gc_B fasta 9.68u 0.01s 9.69r # -3%
+
+reverse-complement < output-of-fasta-25000000
+ # we don't know - memory cache behavior?
+ gc reverse-complement 6.67u 0.69s 7.37r # +1%
+ gc_B reverse-complement 6.00u 0.64s 6.65r # +7%
+
+nbody -n 50000000
+ # math.Sqrt needs to be in assembly; inlining is probably the other 50%
+ # also loop alignment appears to be critical
+ gc nbody 86.27u 0.00s 86.29r # -21%
+ gc_B nbody 104.52u 0.00s 104.54r # +22%
+
+fannkuch 12
+ # bounds checking is half the difference
+ # rest might be registerization
+ gc fannkuch 128.36u 0.00s 128.37r # +4%
+ gc_B fannkuch 89.32u 0.00s 89.34r
+
+regex-dna 100000
+ # regexp code is slow on trivial regexp
+ gc regex-dna 24.82u 0.01s 24.86r # -4%
+ gc_B regex-dna 24.55u 0.01s 24.57r # -6%
+
+spectral-norm 5500
+ # possibly inline evalA
+ gc spectral-norm 24.05u 0.00s 24.07r # -1%
+ gc_B spectral-norm 23.60u 0.00s 23.65r # -1%
+
+k-nucleotide 1000000
+ # string maps are slower than glib string maps
+ gc k-nucleotide 17.84u 0.04s 17.89r # +13% but mysterious variation continues
+ gc_B k-nucleotide 15.56u 0.08s 15.65r # -13% (ditto)
+
+mandelbrot 16000
+ gc mandelbrot 64.08u 0.01s 64.11r # +1%
+ gc_B mandelbrot 64.04u 0.00s 64.05r # +1%
+
+pidigits 10000
+ # bignum is slower than gmp
+ gc pidigits 58.68u 0.02s 58.72r # +5%
+ gc_B pidigits 58.86u 0.05s 58.99r # +5%
+
+# these tests are compared using real time, since they run multiple processors
+# accuracy probably low
+threadring 50000000
+ gc threadring 32.70u 0.02s 32.77r # +13%
+
+chameneos 6000000
+ gc chameneosredux 26.62u 0.00s 26.63r # +13%
+
+Sep 24, 2009
+
+# Sqrt now in assembler for 6g.
+nbody -n 50000000
+ # remember, at least for 6g, alignment of loops may be important
+ gcc -O2 nbody.c 21.24u 0.00s 21.25r
+ gccgo -O2 nbody.go 121.03u 0.00s 121.04r
+ gc nbody 30.26u 0.00s 30.27r # -65% ***
+ gc_B nbody 30.20u 0.02s 30.22r # -72% ***
+
+Nov 13 2009
+
+# fix bug in regexp; take performance hit. good regexps will come in time.
+regex-dna 100000
+ gcc -O2 regex-dna.c -lpcre 0.92u 0.00s 0.94r
+ gc regex-dna 29.78u 0.03s 29.83r
+ gc_B regex-dna 32.63u 0.03s 32.74r
+
+Nov 24 2009
+
+# Roger Peppe's rewrite of the benchmark
+chameneos 6000000
+ gcc -O2 chameneosredux.c -lpthread 18.00u 303.29s 83.64r
+ gc chameneosredux 12.10u 0.00s 12.10r # 2.22X faster
+
+Jan 6, 2010
+
+# Long-overdue update. All numbers included in this complete run.
+# Some programs (e.g. reverse-complement) rewritten for speed.
+# Regular expressions much faster in common cases (although still far behind PCRE)
+# Bignum stuff improved
+# Better (but sometimes slower) locking in channels.
+
+fasta -n 25000000
+ gcc -O2 fasta.c 5.99u 0.01s 6.00r
+ gc fasta 9.11u 0.00s 9.12r # -11%
+ gc_B fasta 8.60u 0.00s 8.62r # +12% ??
+
+reverse-complement < output-of-fasta-25000000
+ gcc -O2 reverse-complement.c 2.00u 0.80s 9.54r
+# gccgo -O2 reverse-complement.go 4.57u 0.35s 4.94r # 33% faster
+ gc reverse-complement 2.01u 0.38s 2.40r # 3.3X faster
+ gc_B reverse-complement 1.88u 0.36s 2.24r # 3.2X faster
+GOGC=off
+ gc reverse-complement 2.01u 0.35s 2.37r
+ gc_B reverse-complement 1.86u 0.32s 2.19r
+
+nbody -n 50000000
+ gcc -O2 nbody.c 21.28u 0.00s 21.31r
+ gccgo -O2 nbody.go 80.02u 0.00s 80.05r # 33% faster
+ gc nbody 30.13u 0.00s 30.13r
+ gc_B nbody 29.89u 0.01s 29.91r
+
+binary-tree 15 # too slow to use 20
+ gcc -O2 binary-tree.c -lm 0.86u 0.00s 0.87r
+ gccgo -O2 binary-tree.go 4.82u 0.41s 5.24r # 2.5X slower
+ gc binary-tree 7.23u 0.01s 7.25r # # -19%
+ gc binary-tree-freelist 0.43u 0.00s 0.44r # -9%
+
+fannkuch 12
+ gcc -O2 fannkuch.c 60.17u 0.00s 60.17r
+ gccgo -O2 fannkuch.go 78.47u 0.01s 78.49r
+ gc fannkuch 128.86u 0.00s 128.96r
+ gc_B fannkuch 90.17u 0.00s 90.21r
+
+regex-dna 100000
+ gcc -O2 regex-dna.c -lpcre 0.90u 0.00s 0.92r
+ gc regex-dna 9.48u 0.01s 9.50r # 3.1X faster
+ gc_B regex-dna 9.08u 0.00s 9.10r # 3.6X faster
+
+spectral-norm 5500
+ gcc -O2 spectral-norm.c -lm 11.48u 0.00s 11.48r
+ gccgo -O2 spectral-norm.go 11.68u 0.00s 11.70r
+ gc spectral-norm 23.98u 0.00s 23.99r
+ gc_B spectral-norm 23.68u 0.00s 23.69r
+
+k-nucleotide 1000000
+ gcc -O2 k-nucleotide.c 10.85u 0.04s 10.90r
+ gccgo -O2 k-nucleotide.go 25.26u 0.87s 26.14r
+ gc k-nucleotide 15.28u 0.06s 15.37r # restored; mysterious variation continues
+ gc_B k-nucleotide 15.97u 0.03s 16.00r
+
+mandelbrot 16000
+ gcc -O2 mandelbrot.c 56.12u 0.01s 56.15r
+ gccgo -O2 mandelbrot.go 56.86u 0.01s 56.89r
+ gc mandelbrot 66.05u 0.00s 66.07r # -3%
+ gc_B mandelbrot 66.06u 0.00s 66.07r # -3%
+
+meteor 2100
+ gcc -O2 meteor-contest.c 0.10u 0.00s 0.10r
+ gccgo -O2 meteor-contest.go 0.12u 0.00s 0.12r
+ gc meteor-contest 0.17u 0.00s 0.17r
+ gc_B meteor-contest 0.15u 0.00s 0.16r
+
+pidigits 10000
+ gcc -O2 pidigits.c -lgmp 2.57u 0.00s 2.59r
+ gc pidigits 38.27u 0.02s 38.30r # 1.5X faster
+ gc_B pidigits 38.27u 0.02s 38.31r # 1.5X faster
+
+threadring 50000000
+ gcc -O2 threadring.c 37.11u 170.59s 212.75r
+ gccgo -O2 threadring.go 89.67u 447.56s 442.55r # -6.5%
+ gc threadring 36.08u 0.04s 36.15r # +10%
+
+chameneos 6000000
+ gcc -O2 chameneosredux.c -lpthread 19.02u 331.08s 90.79r
+ gc chameneosredux 12.54u 0.00s 12.55r
+
+Oct 19, 2010
+
+# Another long-overdue update. Some of the code is new; parallel versions
+# of some are added. A few significant improvements.
+
+fasta -n 25000000
+ gcc -O2 fasta.c 4.92u 0.00s 4.93r
+ gccgo -O2 fasta.go 3.31u 0.00s 3.34r # new code
+ gc fasta 3.68u 0.00s 3.69r # 2.5X faster with no code
+ gc_B fasta 3.68u 0.00s 3.69r # 2.3X faster with no code
+
+reverse-complement < output-of-fasta-25000000
+ gcc -O2 reverse-complement.c 1.93u 0.81s 11.24r
+ gccgo -O2 reverse-complement.go 1.58u 0.43s 2.04r # first run with new code?
+ gc reverse-complement 1.84u 0.34s 2.20r # 10% faster
+ gc_B reverse-complement 1.85u 0.32s 2.18r
+
+nbody -n 50000000
+ gcc -O2 nbody.c 21.35u 0.00s 21.36r
+ gccgo -O2 nbody.go 21.62u 0.00s 21.66r # 3.7X faster - why??
+ gc nbody 29.78u 0.00s 29.79r
+ gc_B nbody 29.72u 0.00s 29.72r
+
+binary-tree 15 # too slow to use 20
+ gcc -O2 binary-tree.c -lm 0.86u 0.00s 0.88r
+ gccgo -O2 binary-tree.go 4.05u 0.02s 4.08r # 28% faster
+ gccgo -O2 binary-tree-freelist 0.34u 0.08s 0.34r
+ gc binary-tree 5.94u 0.00s 5.95r # 20% faster
+ gc binary-tree-freelist 0.50u 0.01s 0.54r
+
+fannkuch 12
+ gcc -O2 fannkuch.c 60.45u 0.00s 60.45r
+ gccgo -O2 fannkuch.go 64.64u 0.00s 64.64r
+ gccgo -O2 fannkuch-parallel.go 115.63u 0.00s 31.58r
+ gc fannkuch 126.52u 0.04s 126.68r
+ gc fannkuch-parallel 238.82u 0.10s 65.93r # GOMAXPROCS=4
+ gc_B fannkuch 88.99u 0.00s 89.02r
+
+regex-dna 100000
+ gcc -O2 regex-dna.c -lpcre 0.89u 0.00s 0.89r
+ gc regex-dna 8.99u 0.02s 9.03r
+ gc regex-dna-parallel 8.94u 0.02s 3.68r # GOMAXPROCS=4
+ gc_B regex-dna 9.12u 0.00s 9.14r
+
+spectral-norm 5500
+ gcc -O2 spectral-norm.c -lm 11.55u 0.00s 11.57r
+ gccgo -O2 spectral-norm.go 11.73u 0.00s 11.75r
+ gc spectral-norm 23.74u 0.00s 23.79r
+ gc_B spectral-norm 24.49u 0.02s 24.54r
+
+k-nucleotide 1000000
+ gcc -O2 k-nucleotide.c 11.44u 0.06s 11.50r
+ gccgo -O2 k-nucleotide.go 8.65u 0.04s 8.71r
+ gccgo -O2 k-nucleotide-parallel.go 8.75u 0.03s 2.97r # set GOMAXPROCS=4
+ gc k-nucleotide 14.92u 0.05s 15.01r
+ gc k-nucleotide-parallel 16.96u 0.06s 6.53r # set GOMAXPROCS=4
+ gc_B k-nucleotide 15.97u 0.03s 16.08r
+
+mandelbrot 16000
+ gcc -O2 mandelbrot.c 56.32u 0.00s 56.35r
+ gccgo -O2 mandelbrot.go 55.62u 0.02s 55.77r
+ gc mandelbrot 64.85u 0.01s 64.94r
+ gc_B mandelbrot 65.02u 0.01s 65.14r
+
+meteor 2100
+ gcc -O2 meteor-contest.c 0.10u 0.00s 0.10r
+ gccgo -O2 meteor-contest.go 0.10u 0.00s 0.11r
+ gc meteor-contest 0.17u 0.00s 0.18r
+ gc_B meteor-contest 0.16u 0.00s 0.16r
+
+pidigits 10000
+ gcc -O2 pidigits.c -lgmp 2.58u 0.00s 2.59r
+ gccgo -O2 pidigits.go 14.06u 0.01s 14.09r # first run?
+ gc pidigits 8.47u 0.05s 8.55r # 4.5X faster due to package big
+ gc_B pidigits 8.33u 0.01s 8.36r # 4.5X faster due to package big
+
+threadring 50000000
+ gcc -O2 threadring.c 28.18u 153.19s 186.47r
+ gccgo -O2 threadring.go 110.10u 516.48s 515.25r
+ gc threadring 40.39u 0.00s 40.40r
+
+chameneos 6000000
+ gcc -O2 chameneosredux.c -lpthread 18.20u 301.55s 83.10r
+ gccgo -O2 chameneosredux.go 52.22u 324.54s 201.21r
+ gc chameneosredux 13.52u 0.00s 13.54r
+
+Dec 14, 2010
+
+# Improved regex code (same algorithm) gets ~30%.
+
+regex-dna 100000
+ gcc -O2 regex-dna.c -lpcre 0.77u 0.01s 0.78r
+ gc regex-dna 6.80u 0.00s 6.81r
+ gc regex-dna-parallel 6.82u 0.01s 2.75r
+ gc_B regex-dna 6.69u 0.02s 6.70r
+
+Feb 15, 2011
+
+# Improved GC, still single-threaded but more efficient
+
+fasta -n 25000000
+ gcc -O2 fasta.c 3.40u 0.00s 3.40r
+ gccgo -O2 fasta.go 3.51u 0.00s 3.50r
+ gc fasta 3.66u 0.01s 3.66r
+ gc_B fasta 3.66u 0.00s 3.66r
+
+reverse-complement < output-of-fasta-25000000
+ gcc -O2 reverse-complement.c 1.86u 1.29s 4.93r
+ gccgo -O2 reverse-complement.go 2.18u 0.41s 2.60r
+ gc reverse-complement 1.67u 0.48s 2.15r
+ gc_B reverse-complement 1.71u 0.45s 2.15r
+
+nbody -n 50000000
+ gcc -O2 -lm nbody.c 21.64u 0.00s 21.64r
+ gccgo -O2 nbody.go 21.46u 0.00s 21.45r
+ gc nbody 29.07u 0.00s 29.06r
+ gc_B nbody 31.61u 0.00s 31.61r
+
+binary-tree 15 # too slow to use 20
+ gcc -O2 binary-tree.c -lm 0.88u 0.00s 0.87r
+ gccgo -O2 binary-tree.go 2.74u 0.07s 2.81r
+ gccgo -O2 binary-tree-freelist.go 0.01u 0.00s 0.00r
+ gc binary-tree 4.22u 0.02s 4.24r
+ gc binary-tree-freelist 0.54u 0.02s 0.55r
+
+fannkuch 12
+ gcc -O2 fannkuch.c 57.64u 0.00s 57.64r
+ gccgo -O2 fannkuch.go 65.79u 0.00s 65.82r
+ gccgo -O2 fannkuch-parallel.go 160.91u 0.02s 43.90r
+ gc fannkuch 126.36u 0.03s 126.53r
+ gc fannkuch-parallel 175.23u 0.04s 45.49r
+ gc_B fannkuch 89.23u 0.00s 89.24r
+
+regex-dna 100000
+ gcc -O2 regex-dna.c -lpcre 0.77u 0.01s 0.80r
+ gccgo -O2 regex-dna.go 12.38u 0.10s 12.52r
+ gccgo -O2 regex-dna-parallel.go 43.96u 4.64s 15.11r
+ gc regex-dna 7.03u 0.01s 7.05r
+ gc regex-dna-parallel 6.85u 0.05s 2.70r
+ gc_B regex-dna 6.87u 0.02s 6.89r
+
+spectral-norm 5500
+ gcc -O2 spectral-norm.c -lm 12.29u 0.00s 12.28r
+ gccgo -O2 spectral-norm.go 11.79u 0.00s 11.79r
+ gc spectral-norm 24.00u 0.02s 24.05r
+ gc_B spectral-norm 24.59u 0.01s 24.59r
+
+k-nucleotide 1000000
+ gcc -O2 k-nucleotide.c 9.75u 0.07s 9.82r
+ gccgo -O2 k-nucleotide.go 8.92u 0.06s 8.98r
+ gccgo -O2 k-nucleotide-parallel.go 8.40u 0.04s 2.76r
+ gc k-nucleotide 17.01u 0.03s 17.04r
+ gc k-nucleotide-parallel 16.51u 0.08s 6.21r
+ gc_B k-nucleotide 16.94u 0.08s 17.02r
+
+mandelbrot 16000
+ gcc -O2 mandelbrot.c 54.60u 0.00s 54.66r
+ gccgo -O2 mandelbrot.go 59.38u 0.00s 59.41r
+ gc mandelbrot 64.93u 0.04s 65.08r
+ gc_B mandelbrot 64.85u 0.03s 64.92r
+
+meteor 2098
+ gcc -O2 meteor-contest.c 0.10u 0.01s 0.10r
+ gccgo -O2 meteor-contest.go 0.11u 0.00s 0.11r
+ gc meteor-contest 0.18u 0.00s 0.17r
+ gc_B meteor-contest 0.17u 0.00s 0.16r
+
+pidigits 10000
+ gcc -O2 pidigits.c -lgmp 2.24u 0.00s 2.23r
+ gccgo -O2 pidigits.go 14.05u 0.00s 14.06r
+ gc pidigits 6.34u 0.05s 6.38r
+ gc_B pidigits 6.37u 0.02s 6.38r
+
+threadring 50000000
+ gcc -O2 threadring.c 30.50u 258.05s 325.72r
+ gccgo -O2 threadring.go 92.87u 748.39s 728.46r
+ gc threadring 38.03u 0.01s 38.04r
+
+# Apr 15, 2011
+# Move to new machine, Intel Xeon E5520@2.27GHz.
+# (Was Opteron(tm) Processor 8214 HE)
+
+fasta -n 25000000
+OLD:
+ gcc -O2 fasta.c 3.39u 0.04s 3.42r
+ gccgo -O2 fasta.go 3.52u 0.00s 3.52r
+ gc fasta 3.63u 0.04s 3.67r
+ gc_B fasta 3.66u 0.00s 3.66r
+NEW:
+ gcc -O2 fasta.c 1.45u 0.02s 1.47r
+ gccgo -O2 fasta.go 1.51u 0.01s 1.51r
+ gc fasta 2.04u 0.00s 2.04r
+ gc_B fasta 2.05u 0.00s 2.04r
+
+reverse-complement < output-of-fasta-25000000
+OLD:
+ gcc -O2 reverse-complement.c 1.87u 1.51s 7.02r
+ gccgo -O2 reverse-complement.go 1.56u 0.54s 3.37r
+ gc reverse-complement 1.73u 0.36s 2.08r
+ gc_B reverse-complement 1.75u 0.37s 2.12r
+NEW:
+ gcc -O2 reverse-complement.c 1.20u 0.47s 12.96r
+ gccgo -O2 reverse-complement.go 0.88u 0.14s 1.01r
+ gc reverse-complement 1.13u 0.17s 1.30r
+ gc_B reverse-complement 1.11u 0.09s 1.20r
+
+nbody -n 50000000
+OLD:
+ gcc -O2 -lm nbody.c 21.90u 0.00s 21.92r
+ gccgo -O2 nbody.go 23.12u 0.03s 23.19r
+ gc nbody 29.07u 0.00s 29.07r
+ gc_B nbody 31.84u 0.00s 31.85r
+NEW:
+ gcc -O2 -lm nbody.c 13.01u 0.00s 13.03r
+ gccgo -O2 nbody.go 13.35u 0.00s 13.37r
+ gc nbody 21.78u 0.00s 21.82r
+ gc_B nbody 21.72u 0.00s 21.76r
+
+binary-tree 15 # too slow to use 20
+OLD:
+ gcc -O2 binary-tree.c -lm 0.83u 0.02s 0.84r
+ gccgo -O2 binary-tree.go 2.61u 0.02s 2.62r
+ gccgo -O2 binary-tree-freelist.go 0.32u 0.01s 0.32r
+ gc binary-tree 3.93u 0.04s 3.97r
+ gc binary-tree-freelist 0.47u 0.03s 0.50r
+NEW:
+ gcc -O2 binary-tree.c -lm 0.60u 0.00s 0.59r
+ gccgo -O2 binary-tree.go 1.53u 0.00s 1.52r
+ gccgo -O2 binary-tree-freelist.go 0.01u 0.00s 0.00r
+ gc binary-tree 1.93u 0.02s 1.95r
+ gc binary-tree-freelist 0.32u 0.01s 0.32r
+
+fannkuch 12
+OLD:
+ gcc -O2 fannkuch.c 57.64u 0.00s 57.64r
+ gccgo -O2 fannkuch.go 65.56u 0.01s 65.65r
+ gccgo -O2 fannkuch-parallel.go 179.12u 0.00s 49.82r
+ gc fannkuch 126.39u 0.00s 126.39r
+ gc fannkuch-parallel 172.49u 0.02s 45.44r
+ gc_B fannkuch 89.30u 0.00s 89.28r
+NEW:
+ gcc -O2 fannkuch.c 45.17u 0.00s 45.26r
+ gccgo -O2 fannkuch.go 53.63u 0.00s 53.73r
+ gccgo -O2 fannkuch-parallel.go 216.72u 0.00s 58.42r
+ gc fannkuch 108.21u 0.00s 108.44r
+ gc fannkuch-parallel 227.20u 0.00s 57.27r
+ gc_B fannkuch 56.14u 0.00s 56.26r
+
+regex-dna 100000
+OLD:
+ gcc -O2 regex-dna.c -lpcre 0.77u 0.01s 0.78r
+ gccgo -O2 regex-dna.go 10.15u 0.02s 10.23r
+ gccgo -O2 regex-dna-parallel.go 33.81u 3.22s 11.62r
+ gc regex-dna 6.52u 0.04s 6.56r
+ gc regex-dna-parallel 6.84u 0.03s 2.70r
+ gc_B regex-dna 6.83u 0.01s 6.84r
+NEW:
+ gcc -O2 regex-dna.c -lpcre 0.47u 0.00s 0.47r
+ gccgo -O2 regex-dna.go 6.00u 0.00s 6.00r
+ gccgo -O2 regex-dna-parallel.go 44.54u 1.57s 6.51r
+ gc regex-dna 5.41u 0.01s 5.42r
+ gc regex-dna-parallel 5.62u 0.01s 2.20r
+ gc_B regex-dna 5.50u 0.00s 5.50r
+
+spectral-norm 5500
+OLD:
+ gcc -O2 spectral-norm.c -lm 12.29u 0.00s 12.28r
+ gccgo -O2 spectral-norm.go 11.56u 0.00s 11.55r
+ gc spectral-norm 23.98u 0.00s 24.00r
+ gc_B spectral-norm 24.62u 0.00s 24.65r
+NEW:
+ gcc -O2 spectral-norm.c -lm 15.79u 0.00s 15.82r
+ gccgo -O2 spectral-norm.go 15.32u 0.00s 15.35r
+ gc spectral-norm 19.62u 0.01s 19.67r
+ gc_B spectral-norm 19.62u 0.00s 19.66r
+
+k-nucleotide 1000000
+OLD:
+ gcc -O2 k-nucleotide.c 9.82u 0.06s 9.87r
+ gccgo -O2 k-nucleotide.go 8.30u 0.02s 8.32r
+ gccgo -O2 k-nucleotide-parallel.go 8.84u 0.05s 3.02r
+ gc k-nucleotide 15.38u 0.07s 15.44r
+ gc k-nucleotide-parallel 16.40u 0.03s 5.93r
+ gc_B k-nucleotide 15.19u 0.05s 15.23r
+NEW:
+ gcc -O2 -k-nucleotide.c 4.88u 0.03s 4.92r
+ gccgo -O2 k-nucleotide.go 5.94u 0.01s 5.96r
+ gccgo -O2 k-nucleotide-parallel.go 6.44u 0.03s 1.47r
+ gc k-nucleotide 9.61u 0.01s 9.63r
+ gc k-nucleotide-parallel 9.70u 0.00s 3.39r
+ gc_B k-nucleotide 9.19u 0.03s 9.23r
+
+mandelbrot 16000
+OLD:
+ gcc -O2 mandelbrot.c 54.54u 0.00s 54.56r
+ gccgo -O2 mandelbrot.go 59.63u 0.03s 59.67r
+ gc mandelbrot 64.82u 0.00s 64.83r
+ gc_B mandelbrot 64.84u 0.00s 64.91r
+NEW:
+ gcc -O2 mandelbrot.c 36.07u 0.01s 36.15r
+ gccgo -O2 mandelbrot.go 43.57u 0.00s 43.66r
+ gc mandelbrot 60.66u 0.00s 60.79r
+ gc_B mandelbrot 60.90u 0.00s 61.03r
+
+meteor 2098
+OLD:
+ gcc -O2 meteor-contest.c 0.11u 0.00s 0.10r
+ gccgo -O2 meteor-contest.go 0.10u 0.01s 0.10r
+ gc meteor-contest 0.18u 0.00s 0.17r
+ gc_B meteor-contest 0.17u 0.00s 0.16r
+NEW:
+ gcc -O2 meteor-contest.c 0.10u 0.00s 0.09r
+ gccgo -O2 meteor-contest.go 0.10u 0.00s 0.09r
+ gc meteor-contest 0.14u 0.00s 0.14r
+ gc_B meteor-contest 0.13u 0.00s 0.13r
+
+pidigits 10000
+OLD:
+ gcc -O2 pidigits.c -lgmp 2.22u 0.00s 2.21r
+ gccgo -O2 pidigits.go 13.39u 0.00s 13.40r
+ gc pidigits 6.42u 0.04s 6.45r
+ gc_B pidigits 6.45u 0.02s 6.47r
+NEW:
+ gcc -O2 pidigits.c -lgmp 2.27u 0.00s 2.29r
+ gccgo -O2 pidigits.go 9.21u 0.00s 9.22r
+ gc pidigits 3.60u 0.00s 3.60r
+ gc_B pidigits 3.56u 0.02s 3.58r
+
+threadring 50000000
+OLD:
+ gcc -O2 threadring.c -lpthread 34.51u 267.95s 336.12r
+ gccgo -O2 threadring.go 103.51u 588.57s 627.16r
+ gc threadring 54.68u 0.00s 54.73r
+NEW:
+ gcc -O2 threadring.c 32.00u 259.39s 369.74r
+ gccgo -O2 threadring.go 133.06u 546.02s 595.33r
+ gc threadring 16.75u 0.02s 16.80r
+
+chameneos 6000000
+OLD:
+ gcc -O2 chameneosredux.c -lpthread 12.65u 31.02s 13.33r
+ gccgo -O2 chameneosredux.go 47.04u 302.84s 252.29r
+ gc chameneosredux 14.14u 0.00s 14.14r
+NEW:
+ gcc -O2 chameneosredux.c -lpthread 8.05u 63.43s 11.16r
+ gccgo -O2 chameneosredux.go 82.95u 304.37s 207.64r
+ gc chameneosredux 9.42u 0.00s 9.43r
+
+# May 13, 2011
+# after gc update to inline append when possible - 35% faster
+
+regex-dna 100000
+ gc regex-dna 3.94u 0.00s 3.95r
+ gc regex-dna-parallel 4.15u 0.01s 1.63r
+ gc_B regex-dna 4.01u 0.01s 4.02r
+
+# Aug 4, 2011
+# After various updates to locking code and some runtime changes.
+# Slowdowns believed due to slower (but more correct) memmove.
+
+fannkuch 12
+ gccgo -O2 fannkuch.go 51.59u 0.00s 51.69r # -4%
+ gccgo -O2 fannkuch-parallel.go 253.17u 0.00s 64.67r # -11%
+ gc fannkuch 103.14u 0.00s 103.36r # -5%
+ gc fannkuch-parallel 189.63u 0.00s 49.37r # +9%
+ gc_B fannkuch 49.19u 0.00s 49.29r # -14%
+
+regex-dna 100000
+ gc regex-dna 3.78u 0.00s 3.78r # -43%
+ gc regex-dna-parallel 3.84u 0.02s 1.48r # -49%
+ gc_B regex-dna 3.62u 0.00s 3.63r # -52%
+
+k-nucleotide 1000000
+ gc k-nucleotide 12.23u 0.02s 12.27r # +27%
+ gc k-nucleotide-parallel 12.76u 0.02s 4.37r # +29%
+ gc_B k-nucleotide 12.18u 0.01s 12.21r # +33%
+
+threadring 50000000
+ gc threadring 17.49u 0.00s 17.53r # +4%
+
+chameneos 6000000
+ gc chameneosredux 7.61u 0.00s 7.63r # -24%
+
+Aug 9, 2011
+# After custom algorithms for 1- 2- 4- 8-byte scalars.
+
+fannkuch 12
+ gc fannkuch-parallel 157.17u 0.00s 41.08r # -17%
+
+k-nucleotide 1000000
+ gc k-nucleotide 8.72u 0.03s 8.76r # -39%
+ gc k-nucleotide-parallel 8.79u 0.01s 3.14r # -39%
+ gc_B k-nucleotide 8.65u 0.03s 8.69r # -39%
+
+pidigits 10000
+ gc pidigits 3.71u 0.02s 3.73r # +4%
+ gc_B pidigits 3.73u 0.00s 3.73r # +4%
+
+threadring 50000000
+ gc threadring 14.51u 0.00s 14.54r # -17%
+
+chameneos 6000000
+ gc chameneosredux 7.41u 0.00s 7.42r # -3%
--- /dev/null
+#!/usr/bin/env bash
+# Copyright 2009 The Go Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style
+# license that can be found in the LICENSE file.
+
+set -e
+
+eval $(gomake --no-print-directory -f ../../../src/Make.inc go-env)
+PATH=.:$PATH
+
+havegccgo=false
+if which gccgo >/dev/null 2>&1
+then
+ havegccgo=true
+fi
+
+mode=run
+case X"$1" in
+X-test)
+ mode=test
+ shift
+esac
+
+gc() {
+ $GC $1.go; $LD $1.$O
+}
+
+gc_B() {
+ $GC -B $1.go; $LD $1.$O
+}
+
+runonly() {
+ if [ $mode = run ]
+ then
+ "$@"
+ fi
+}
+
+run() {
+ if [ $mode = test ]
+ then
+ if echo $1 | grep -q '^gc '
+ then
+ $1 # compile the program
+ program=$(echo $1 | sed 's/gc //')
+ shift
+ echo $program
+ $1 <fasta-1000.out > /tmp/$$
+ case $program in
+ chameneosredux)
+ # exact numbers may vary but non-numbers should match
+ grep -v '[0-9]' /tmp/$$ > /tmp/$$x
+ grep -v '[0-9]' chameneosredux.txt > /tmp/$$y
+ cmp /tmp/$$x /tmp/$$y
+ rm -f /tmp/$$ /tmp/$$x /tmp/$$y
+ ;;
+ *)
+ cmp /tmp/$$ $program.txt
+ rm -f /tmp/$$
+ esac
+ fi
+ return
+ fi
+ if ! $havegccgo && echo $1 | grep -q '^gccgo '
+ then
+ return
+ fi
+ echo -n ' '$1' '
+ $1
+ shift
+
+ echo $((time -p $* >/dev/null) 2>&1) | awk '{print $4 "u " $6 "s " $2 "r"}'
+}
+
+fasta() {
+ runonly echo 'fasta -n 25000000'
+ run 'gcc -O2 fasta.c' a.out 25000000
+ run 'gccgo -O2 fasta.go' a.out -n 25000000 #commented out until WriteString is in bufio
+ run 'gc fasta' $O.out -n 25000000
+ run 'gc_B fasta' $O.out -n 25000000
+}
+
+revcomp() {
+ runonly gcc -O2 fasta.c
+ runonly a.out 25000000 > x
+ runonly echo 'reverse-complement < output-of-fasta-25000000'
+ run 'gcc -O2 reverse-complement.c' a.out < x
+ run 'gccgo -O2 reverse-complement.go' a.out < x
+ run 'gc reverse-complement' $O.out < x
+ run 'gc_B reverse-complement' $O.out < x
+ rm x
+}
+
+nbody() {
+ runonly echo 'nbody -n 50000000'
+ run 'gcc -O2 -lm nbody.c' a.out 50000000
+ run 'gccgo -O2 nbody.go' a.out -n 50000000
+ run 'gc nbody' $O.out -n 50000000
+ run 'gc_B nbody' $O.out -n 50000000
+}
+
+binarytree() {
+ runonly echo 'binary-tree 15 # too slow to use 20'
+ run 'gcc -O2 binary-tree.c -lm' a.out 15
+ run 'gccgo -O2 binary-tree.go' a.out -n 15
+ run 'gccgo -O2 binary-tree-freelist.go' $O.out -n 15
+ run 'gc binary-tree' $O.out -n 15
+ run 'gc binary-tree-freelist' $O.out -n 15
+}
+
+fannkuch() {
+ runonly echo 'fannkuch 12'
+ run 'gcc -O2 fannkuch.c' a.out 12
+ run 'gccgo -O2 fannkuch.go' a.out -n 12
+ run 'gccgo -O2 fannkuch-parallel.go' a.out -n 12
+ run 'gc fannkuch' $O.out -n 12
+ run 'gc fannkuch-parallel' $O.out -n 12
+ run 'gc_B fannkuch' $O.out -n 12
+}
+
+regexdna() {
+ runonly gcc -O2 fasta.c
+ runonly a.out 100000 > x
+ runonly echo 'regex-dna 100000'
+ run 'gcc -O2 regex-dna.c -lpcre' a.out <x
+ run 'gccgo -O2 regex-dna.go' a.out <x
+ run 'gccgo -O2 regex-dna-parallel.go' a.out <x
+ run 'gc regex-dna' $O.out <x
+ run 'gc regex-dna-parallel' $O.out <x
+ run 'gc_B regex-dna' $O.out <x
+ rm x
+}
+
+spectralnorm() {
+ runonly echo 'spectral-norm 5500'
+ run 'gcc -O2 spectral-norm.c -lm' a.out 5500
+ run 'gccgo -O2 spectral-norm.go' a.out -n 5500
+ run 'gc spectral-norm' $O.out -n 5500
+ run 'gc_B spectral-norm' $O.out -n 5500
+}
+
+knucleotide() {
+ runonly gcc -O2 fasta.c
+ runonly a.out 1000000 > x # should be using 25000000
+ runonly echo 'k-nucleotide 1000000'
+ run 'gcc -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include k-nucleotide.c -lglib-2.0' a.out <x
+ run 'gccgo -O2 k-nucleotide.go' a.out <x
+ run 'gccgo -O2 k-nucleotide-parallel.go' a.out <x
+ run 'gc k-nucleotide' $O.out <x
+ run 'gc k-nucleotide-parallel' $O.out <x
+ run 'gc_B k-nucleotide' $O.out <x
+ rm x
+}
+
+mandelbrot() {
+ runonly echo 'mandelbrot 16000'
+ run 'gcc -O2 mandelbrot.c' a.out 16000
+ run 'gccgo -O2 mandelbrot.go' a.out -n 16000
+ run 'gc mandelbrot' $O.out -n 16000
+ run 'gc_B mandelbrot' $O.out -n 16000
+}
+
+meteor() {
+ runonly echo 'meteor 2098'
+ run 'gcc -O2 meteor-contest.c' a.out 2098
+ run 'gccgo -O2 meteor-contest.go' a.out -n 2098
+ run 'gc meteor-contest' $O.out -n 2098
+ run 'gc_B meteor-contest' $O.out -n 2098
+}
+
+pidigits() {
+ runonly echo 'pidigits 10000'
+ run 'gcc -O2 pidigits.c -lgmp' a.out 10000
+ run 'gccgo -O2 pidigits.go' a.out -n 10000
+ run 'gc pidigits' $O.out -n 10000
+ run 'gc_B pidigits' $O.out -n 10000
+}
+
+threadring() {
+ runonly echo 'threadring 50000000'
+ run 'gcc -O2 threadring.c -lpthread' a.out 50000000
+ run 'gccgo -O2 threadring.go' a.out -n 50000000
+ run 'gc threadring' $O.out -n 50000000
+}
+
+chameneos() {
+ runonly echo 'chameneos 6000000'
+ run 'gcc -O2 chameneosredux.c -lpthread' a.out 6000000
+ run 'gccgo -O2 chameneosredux.go' a.out 6000000
+ run 'gc chameneosredux' $O.out 6000000
+}
+
+case $# in
+0)
+ run="fasta revcomp nbody binarytree fannkuch regexdna spectralnorm knucleotide mandelbrot meteor pidigits threadring chameneos"
+ ;;
+*)
+ run=$*
+esac
+
+for i in $run
+do
+ $i
+ runonly echo
+done
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- * Based on spectral-norm.c by Sebastien Loisel
- */
-
-package main
-
-import (
- "flag"
- "fmt"
- "math"
- "runtime"
-)
-
-var n = flag.Int("n", 2000, "count")
-var nCPU = flag.Int("ncpu", 4, "number of cpus")
-
-func evalA(i, j int) float64 { return 1 / float64(((i+j)*(i+j+1)/2 + i + 1)) }
-
-type Vec []float64
-
-func (v Vec) Times(i, n int, u Vec, c chan int) {
- for ; i < n; i++ {
- v[i] = 0
- for j := 0; j < len(u); j++ {
- v[i] += evalA(i, j) * u[j]
- }
- }
- c <- 1
-}
-
-func (v Vec) TimesTransp(i, n int, u Vec, c chan int) {
- for ; i < n; i++ {
- v[i] = 0
- for j := 0; j < len(u); j++ {
- v[i] += evalA(j, i) * u[j]
- }
- }
- c <- 1
-}
-
-func wait(c chan int) {
- for i := 0; i < *nCPU; i++ {
- <-c
- }
-}
-
-func (v Vec) ATimesTransp(u Vec) {
- x := make(Vec, len(u))
- c := make(chan int, *nCPU)
- for i := 0; i < *nCPU; i++ {
- go x.Times(i*len(v) / *nCPU, (i+1)*len(v) / *nCPU, u, c)
- }
- wait(c)
- for i := 0; i < *nCPU; i++ {
- go v.TimesTransp(i*len(v) / *nCPU, (i+1)*len(v) / *nCPU, x, c)
- }
- wait(c)
-}
-
-func main() {
- flag.Parse()
- runtime.GOMAXPROCS(*nCPU)
- N := *n
- u := make(Vec, N)
- for i := 0; i < N; i++ {
- u[i] = 1
- }
- v := make(Vec, N)
- for i := 0; i < 10; i++ {
- v.ATimesTransp(u)
- u.ATimesTransp(v)
- }
- var vBv, vv float64
- for i := 0; i < N; i++ {
- vBv += u[i] * v[i]
- vv += v[i] * v[i]
- }
- fmt.Printf("%0.9f\n", math.Sqrt(vBv/vv))
-}
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* -*- mode: c -*-
- *
- * The Great Computer Language Shootout
- * http://shootout.alioth.debian.org/
- *
- * Contributed by Sebastien Loisel
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-
-double eval_A(int i, int j) { return 1.0/((i+j)*(i+j+1)/2+i+1); }
-
-void eval_A_times_u(int N, const double u[], double Au[])
-{
- int i,j;
- for(i=0;i<N;i++)
- {
- Au[i]=0;
- for(j=0;j<N;j++) Au[i]+=eval_A(i,j)*u[j];
- }
-}
-
-void eval_At_times_u(int N, const double u[], double Au[])
-{
- int i,j;
- for(i=0;i<N;i++)
- {
- Au[i]=0;
- for(j=0;j<N;j++) Au[i]+=eval_A(j,i)*u[j];
- }
-}
-
-void eval_AtA_times_u(int N, const double u[], double AtAu[])
-{ double v[N]; eval_A_times_u(N,u,v); eval_At_times_u(N,v,AtAu); }
-
-int main(int argc, char *argv[])
-{
- int i;
- int N = ((argc == 2) ? atoi(argv[1]) : 2000);
- double u[N],v[N],vBv,vv;
- for(i=0;i<N;i++) u[i]=1;
- for(i=0;i<10;i++)
- {
- eval_AtA_times_u(N,u,v);
- eval_AtA_times_u(N,v,u);
- }
- vBv=vv=0;
- for(i=0;i<N;i++) { vBv+=u[i]*v[i]; vv+=v[i]*v[i]; }
- printf("%0.9f\n",sqrt(vBv/vv));
- return 0;
-}
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- * Based on spectral-norm.c by Sebastien Loisel
- */
-
-package main
-
-import (
- "flag"
- "fmt"
- "math"
-)
-
-var n = flag.Int("n", 2000, "count")
-
-func evalA(i, j int) float64 { return 1 / float64(((i+j)*(i+j+1)/2 + i + 1)) }
-
-type Vec []float64
-
-func (v Vec) Times(u Vec) {
- for i := 0; i < len(v); i++ {
- v[i] = 0
- for j := 0; j < len(u); j++ {
- v[i] += evalA(i, j) * u[j]
- }
- }
-}
-
-func (v Vec) TimesTransp(u Vec) {
- for i := 0; i < len(v); i++ {
- v[i] = 0
- for j := 0; j < len(u); j++ {
- v[i] += evalA(j, i) * u[j]
- }
- }
-}
-
-func (v Vec) ATimesTransp(u Vec) {
- x := make(Vec, len(u))
- x.Times(u)
- v.TimesTransp(x)
-}
-
-func main() {
- flag.Parse()
- N := *n
- u := make(Vec, N)
- for i := 0; i < N; i++ {
- u[i] = 1
- }
- v := make(Vec, N)
- for i := 0; i < 10; i++ {
- v.ATimesTransp(u)
- u.ATimesTransp(v)
- }
- var vBv, vv float64
- for i := 0; i < N; i++ {
- vBv += u[i] * v[i]
- vv += v[i] * v[i]
- }
- fmt.Printf("%0.9f\n", math.Sqrt(vBv/vv))
-}
+++ /dev/null
-1.274224152
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*
-* The Computer Language Benchmarks Game
-* http://shootout.alioth.debian.org/
-
-* contributed by Premysl Hruby
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <pthread.h>
-#include <string.h>
-#include <limits.h>
-
-#define THREADS (503)
-
-
-struct stack {
- char x[PTHREAD_STACK_MIN];
-};
-
-
-/* staticaly initialize mutex[0] mutex */
-static pthread_mutex_t mutex[THREADS];
-static int data[THREADS];
-static struct stack stacks[THREADS];
-/* stacks must be defined staticaly, or my i386 box run of virtual memory for this
- * process while creating thread +- #400 */
-
-static void* thread(void *num)
-{
- int l = (int)num;
- int r = (l+1) % THREADS;
- int token;
-
- while(1) {
- pthread_mutex_lock(mutex + l);
- token = data[l];
- if (token) {
- data[r] = token - 1;
- pthread_mutex_unlock(mutex + r);
- }
- else {
- printf("%i\n", l+1);
- exit(0);
- }
- }
-}
-
-
-
-int main(int argc, char **argv)
-{
- int i;
- pthread_t cthread;
- pthread_attr_t stack_attr;
-
- if (argc != 2)
- exit(255);
- data[0] = atoi(argv[1]);
-
- pthread_attr_init(&stack_attr);
-
- for (i = 0; i < THREADS; i++) {
- pthread_mutex_init(mutex + i, NULL);
- pthread_mutex_lock(mutex + i);
-
- pthread_attr_setstack(&stack_attr, &stacks[i], sizeof(struct stack));
- pthread_create(&cthread, &stack_attr, thread, (void*)i);
- }
-
- pthread_mutex_unlock(mutex + 0);
- pthread_join(cthread, NULL);
-}
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- */
-
-package main
-
-import (
- "flag"
- "fmt"
- "os"
-)
-
-var n = flag.Int("n", 1000, "how many passes")
-
-const Nthread = 503
-
-func f(i int, in <-chan int, out chan<- int) {
- for {
- n := <-in
- if n == 0 {
- fmt.Printf("%d\n", i)
- os.Exit(0)
- }
- out <- n-1
- }
-}
-
-func main() {
- flag.Parse()
-
- one := make(chan int) // will be input to thread 1
- var in, out chan int = nil, one
- for i := 1; i <= Nthread-1; i++ {
- in, out = out, make(chan int)
- go f(i, in, out)
- }
- go f(Nthread, out, one)
- one <- *n
- <-make(chan int) // hang until ring completes
-}
+++ /dev/null
-All tests on r45 or r70
-
-Aug 3 2009
-
-First version of fasta. Translation of fasta.c, fetched from
- http://shootout.alioth.debian.org/u32q/benchmark.php?test=fasta&lang=gpp&id=4
-
-fasta -n 25000000
- gcc -O2 fasta.c 5.98u 0.00s 6.01r
- gccgo -O2 fasta.go 8.82u 0.02s 8.85r
- 6g fasta.go 13.50u 0.02s 13.53r
- 6g -B fata.go 12.99u 0.02s 13.02r
-
-Aug 4 2009
-[added timing.sh]
-
-# myrandom:
-# hand-written optimization of integer division
-# use int32->float conversion
-fasta -n 25000000
- # probably I/O library inefficiencies
- gcc -O2 fasta.c 5.99u 0.00s 6.00r
- gccgo -O2 fasta.go 8.82u 0.02s 8.85r
- gc fasta 10.70u 0.00s 10.77r
- gc_B fasta 10.09u 0.03s 10.12r
-
-reverse-complement < output-of-fasta-25000000
- # we don't know - memory cache behavior?
- gcc -O2 reverse-complement.c 2.04u 0.94s 10.54r
- gccgo -O2 reverse-complement.go 6.54u 0.63s 7.17r
- gc reverse-complement 6.55u 0.70s 7.26r
- gc_B reverse-complement 6.32u 0.70s 7.10r
-
-nbody 50000000
- # math.Sqrt needs to be in assembly; inlining is probably the other 50%
- gcc -O2 nbody.c 21.61u 0.01s 24.80r
- gccgo -O2 nbody.go 118.55u 0.02s 120.32r
- gc nbody 100.84u 0.00s 100.85r
- gc_B nbody 103.33u 0.00s 103.39r
-[
-hacked Sqrt in assembler
- gc nbody 31.97u 0.00s 32.01r
-]
-
-binary-tree 15 # too slow to use 20
- # memory allocation and garbage collection
- gcc -O2 binary-tree.c -lm 0.86u 0.00s 0.87r
- gccgo -O2 binary-tree.go 1.69u 0.46s 2.15r
- gccgo -O2 binary-tree-freelist.go 8.48u 0.00s 8.48r
- gc binary-tree 9.60u 0.01s 9.62r
- gc binary-tree-freelist 0.48u 0.01s 0.50r
-
-August 5, 2009
-
-fannkuch 12
- # bounds checking is half the difference
- # rest might be registerization
- gcc -O2 fannkuch.c 60.09u 0.01s 60.32r
- gccgo -O2 fannkuch.go 64.89u 0.00s 64.92r
- gc fannkuch 124.59u 0.00s 124.67r
- gc_B fannkuch 91.14u 0.00s 91.16r
-
-regex-dna 100000
- # regexp code is slow on trivial regexp
- gcc -O2 regex-dna.c -lpcre 0.92u 0.00s 0.99r
- gc regexp-dna 26.94u 0.18s 28.75r
- gc_B regexp-dna 26.51u 0.09s 26.75r
-
-spectral-norm 5500
- gcc -O2 spectral-norm.c -lm 11.54u 0.00s 11.55r
- gccgo -O2 spectral-norm.go 12.20u 0.00s 12.23r
- gc spectral-norm 50.23u 0.00s 50.36r
- gc_B spectral-norm 49.69u 0.01s 49.83r
- gc spectral-norm-parallel 24.47u 0.03s 11.05r # has shift >>1 not div /2
- [using >>1 instead of /2 : gc gives 24.33u 0.00s 24.33r]
-
-August 6, 2009
-
-k-nucleotide 5000000
- # string maps are slower than glib string maps
- gcc -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include k-nucleotide.c -lglib-2.0 k-nucleotide.c: 10.72u 0.01s 10.74r
- gccgo -O2 k-nucleotide.go 21.64u 0.83s 22.78r
- gc k-nucleotide 16.08u 0.06s 16.50r
- gc_B k-nucleotide 17.32u 0.02s 17.37r
-
-mandelbrot 5500
- # floating point code generator should use more registers
- gcc -O2 mandelbrot.c 56.13u 0.02s 56.17r
- gccgo -O2 mandelbrot.go 57.49u 0.01s 57.51r
- gc mandelbrot 74.32u 0.00s 74.35r
- gc_B mandelbrot 74.28u 0.01s 74.31r
-
-meteor 2100
- # we don't know
- gcc -O2 meteor-contest.c 0.10u 0.00s 0.10r
- gccgo -O2 meteor-contest.go 0.12u 0.00s 0.14r
- gc meteor-contest 0.24u 0.00s 0.26r
- gc_B meteor-contest 0.23u 0.00s 0.24r
-
-pidigits 10000
- # bignum is slower than gmp
- gcc -O2 pidigits.c -lgmp 2.60u 0.00s 2.62r
- gc pidigits 77.69u 0.14s 78.18r
- gc_B pidigits 74.26u 0.18s 75.41r
- gc_B pidigits 68.48u 0.20s 69.31r # special case: no bounds checking in bignum
-
-August 7 2009
-
-# New gc does better division by powers of 2. Significant improvements:
-
-spectral-norm 5500
- # floating point code generator should use more registers; possibly inline evalA
- gcc -O2 spectral-norm.c -lm 11.50u 0.00s 11.50r
- gccgo -O2 spectral-norm.go 12.02u 0.00s 12.02r
- gc spectral-norm 23.98u 0.00s 24.00r # new time is 0.48 times old time, 52% faster
- gc_B spectral-norm 23.71u 0.01s 23.72r # ditto
- gc spectral-norm-parallel 24.04u 0.00s 6.26r # /2 put back. note: 4x faster (on r70, idle)
-
-k-nucleotide 1000000
- # string maps are slower than glib string maps
- gcc -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include k-nucleotide.c -lglib-2.0 10.82u 0.04s 10.87r
- gccgo -O2 k-nucleotide.go 22.73u 0.89s 23.63r
- gc k-nucleotide 15.97u 0.03s 16.04r
- gc_B k-nucleotide 15.86u 0.06s 15.93r # 8.5% faster, but probably due to weird cache effeccts in previous version
-
-pidigits 10000
- # bignum is slower than gmp
- gcc -O2 pidigits.c -lgmp 2.58u 0.00s 2.58r
- gc pidigits 71.24u 0.04s 71.28r # 8.5% faster
- gc_B pidigits 71.25u 0.03s 71.29r # 4% faster
-
-threadring 50000000
- gcc -O2 threadring.c -lpthread 35.51u 160.21s 199.50r
- gccgo -O2 threadring.go 90.33u 459.95s 448.03r
- gc threadring 33.11u 0.00s 33.14r
- GOMAXPROCS=4 gc threadring 114.48u 226.65s 371.59r
- # change wait code to do <-make(chan int) instead of time.Sleep
- gc threadring 28.41u 0.01s 29.35r
- GOMAXPROCS=4 gc threadring 112.59u 232.83s 384.72r
-
-chameneos 6000000
- gcc -O2 chameneosredux.c -lpthread 18.14u 276.52s 76.93r
- gc chameneosredux 20.19u 0.01s 20.23r
-
-Aug 10 2009
-
-# new 6g with better fp registers, fast div and mod of integers
-# complete set of timings listed. significant changes marked ***
-
-fasta -n 25000000
- # probably I/O library inefficiencies
- gcc -O2 fasta.c 5.96u 0.00s 5.97r
- gc fasta 10.59u 0.01s 10.61r
- gc_B fasta 9.92u 0.02s 9.95r
-
-reverse-complement < output-of-fasta-25000000
- # we don't know - memory cache behavior?
- gcc -O2 reverse-complement.c 1.96u 1.56s 16.23r
- gccgo -O2 reverse-complement.go 6.41u 0.62s 7.05r
- gc reverse-complement 6.46u 0.70s 7.17r
- gc_B reverse-complement 6.22u 0.72s 6.95r
-
-nbody 50000000
- # math.Sqrt needs to be in assembly; inlining is probably the other 50%
- gcc -O2 nbody.c 21.26u 0.01s 21.28r
- gccgo -O2 nbody.go 116.68u 0.07s 116.80r
- gc nbody 86.64u 0.01s 86.68r # -14%
- gc_B nbody 85.72u 0.02s 85.77r # *** -17%
-
-binary-tree 15 # too slow to use 20
- # memory allocation and garbage collection
- gcc -O2 binary-tree.c -lm 0.87u 0.00s 0.87r
- gccgo -O2 binary-tree.go 1.61u 0.47s 2.09r
- gccgo -O2 binary-tree-freelist.go 0.00u 0.00s 0.01r
- gc binary-tree 9.11u 0.01s 9.13r # *** -5%
- gc binary-tree-freelist 0.47u 0.01s 0.48r
-
-fannkuch 12
- # bounds checking is half the difference
- # rest might be registerization
- gcc -O2 fannkuch.c 59.92u 0.00s 59.94r
- gccgo -O2 fannkuch.go 65.54u 0.00s 65.58r
- gc fannkuch 123.98u 0.01s 124.04r
- gc_B fannkuch 90.75u 0.00s 90.78r
-
-regex-dna 100000
- # regexp code is slow on trivial regexp
- gcc -O2 regex-dna.c -lpcre 0.91u 0.00s 0.92r
- gc regex-dna 27.25u 0.02s 27.28r
- gc_B regex-dna 29.51u 0.03s 29.55r
-
-spectral-norm 5500
- # possibly inline evalA
- gcc -O2 spectral-norm.c -lm 11.57u 0.00s 11.57r
- gccgo -O2 spectral-norm.go 12.07u 0.01s 12.08r
- gc spectral-norm 23.99u 0.00s 24.00r
- gc_B spectral-norm 23.73u 0.00s 23.75r
-
-k-nucleotide 1000000
- # string maps are slower than glib string maps
- gcc -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include k-nucleotide.c -lglib-2.0 10.63u 0.02s 10.69r
- gccgo -O2 k-nucleotide.go 23.19u 0.91s 24.12r
- gc k-nucleotide 16.73u 0.04s 16.78r # *** +5% (but this one seems to vary by more than that)
- gc_B k-nucleotide 16.46u 0.04s 16.51r # *** +5%
-
-mandelbrot 16000
- gcc -O2 mandelbrot.c 56.16u 0.00s 56.16r
- gccgo -O2 mandelbrot.go 57.41u 0.01s 57.42r
- gc mandelbrot 64.05u 0.02s 64.08r # *** -14%
- gc_B mandelbrot 64.10u 0.02s 64.14r # *** -14%
-
-meteor 2100
- # we don't know
- gcc -O2 meteor-contest.c 0.10u 0.00s 0.10r
- gccgo -O2 meteor-contest.go 0.12u 0.00s 0.12r
- gc meteor-contest 0.18u 0.00s 0.20r # *** -25%
- gc_B meteor-contest 0.17u 0.00s 0.18r # *** -24%
-
-pidigits 10000
- # bignum is slower than gmp
- gcc -O2 pidigits.c -lgmp 2.57u 0.00s 2.57r
- gc pidigits 71.82u 0.04s 71.89r
- gc_B pidigits 71.84u 0.08s 71.98r
-
-threadring 50000000
- gcc -O2 threadring.c -lpthread 30.91u 164.33s 204.57r
- gccgo -O2 threadring.go 87.12u 460.04s 447.61r
- gc threadring 38.55u 0.00s 38.56r # *** +16%
-
-chameneos 6000000
- gcc -O2 chameneosredux.c -lpthread 17.93u 323.65s 88.47r
- gc chameneosredux 21.72u 0.00s 21.73r
-
-August 10 2009
-
-# In-place versions for some bignum operations.
-pidigits 10000
- gcc -O2 pidigits.c -lgmp 2.56u 0.00s 2.57r
- gc pidigits 55.22u 0.04s 55.29r # *** -23%
- gc_B pidigits 55.49u 0.02s 55.60r # *** -23%
-
-September 3 2009
-
-# New 6g inlines slices, has a few other tweaks.
-# Complete rerun. Significant changes marked.
-
-fasta -n 25000000
- # probably I/O library inefficiencies
- gcc -O2 fasta.c 5.96u 0.00s 5.96r
- gc fasta 10.63u 0.02s 10.66r
- gc_B fasta 9.92u 0.01s 9.94r
-
-reverse-complement < output-of-fasta-25000000
- # we don't know - memory cache behavior?
- gcc -O2 reverse-complement.c 1.92u 0.33s 2.93r
- gccgo -O2 reverse-complement.go 6.76u 0.72s 7.58r # +5%
- gc reverse-complement 6.59u 0.70s 7.29r # +2%
- gc_B reverse-complement 5.57u 0.80s 6.37r # -10%
-
-nbody 50000000
- # math.Sqrt needs to be in assembly; inlining is probably the other 50%
- # also loop alignment appears to be critical
- gcc -O2 nbody.c 21.28u 0.00s 21.28r
- gccgo -O2 nbody.go 119.21u 0.00s 119.22r # +2%
- gc nbody 109.72u 0.00s 109.78r # + 28% *****
- gc_B nbody 85.90u 0.00s 85.91r
-
-binary-tree 15 # too slow to use 20
- # memory allocation and garbage collection
- gcc -O2 binary-tree.c -lm 0.86u 0.00s 0.87r
- gccgo -O2 binary-tree.go 1.88u 0.54s 2.42r # +17%
- gccgo -O2 binary-tree-freelist.go 0.01u 0.01s 0.02r
- gc binary-tree 8.94u 0.01s 8.96r # -2%
- gc binary-tree-freelist 0.47u 0.01s 0.48r
-
-fannkuch 12
- # bounds checking is half the difference
- # rest might be registerization
- gcc -O2 fannkuch.c 60.12u 0.00s 60.12r
- gccgo -O2 fannkuch.go 92.62u 0.00s 92.66r # +41% ***
- gc fannkuch 123.90u 0.00s 123.92r
- gc_B fannkuch 89.71u 0.00s 89.74r # -1%
-
-regex-dna 100000
- # regexp code is slow on trivial regexp
- gcc -O2 regex-dna.c -lpcre 0.88u 0.00s 0.88r
- gc regex-dna 25.77u 0.01s 25.79r # -5%
- gc_B regex-dna 26.05u 0.02s 26.09r # -12% ***
-
-spectral-norm 5500
- # possibly inline evalA
- gcc -O2 spectral-norm.c -lm 11.51u 0.00s 11.51r
- gccgo -O2 spectral-norm.go 11.95u 0.00s 11.96r
- gc spectral-norm 24.23u 0.00s 24.23r
- gc_B spectral-norm 23.83u 0.00s 23.84r
-
-k-nucleotide 1000000
- # string maps are slower than glib string maps
- gcc -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include k-nucleotide.c -lglib-2.0 10.68u 0.04s 10.72r
- gccgo -O2 k-nucleotide.go 23.03u 0.88s 23.92r
- gc k-nucleotide 15.79u 0.05s 15.85r # -5% (but this one seems to vary by more than that)
- gc_B k-nucleotide 17.88u 0.05s 17.95r # +8% (ditto)
-
-mandelbrot 16000
- gcc -O2 mandelbrot.c 56.17u 0.02s 56.20r
- gccgo -O2 mandelbrot.go 56.74u 0.02s 56.79r # -1%
- gc mandelbrot 63.31u 0.01s 63.35r # -1%
- gc_B mandelbrot 63.29u 0.00s 63.31r # -1%
-
-meteor 2100
- # we don't know
- gcc -O2 meteor-contest.c 0.10u 0.00s 0.10r
- gccgo -O2 meteor-contest.go 0.11u 0.00s 0.12r
- gc meteor-contest 0.18u 0.00s 0.19r
- gc_B meteor-contest 0.17u 0.00s 0.18r
-
-pidigits 10000
- # bignum is slower than gmp
- gcc -O2 pidigits.c -lgmp 2.56u 0.00s 2.57r
- gc pidigits 55.87u 0.03s 55.91r
- gc_B pidigits 55.93u 0.03s 55.99r
-
-# these tests are compared using real time, since they run multiple processors
-# accuracy probably low
-threadring 50000000
- gcc -O2 threadring.c -lpthread 26.31u 164.69s 199.92r # -2%
- gccgo -O2 threadring.go 87.90u 487.26s 472.81r # +6%
- gc threadring 28.89u 0.00s 28.90r # -25% ***
-
-chameneos 6000000
- gcc -O2 chameneosredux.c -lpthread 16.41u 296.91s 81.17r # -8%
- gc chameneosredux 19.97u 0.00s 19.97r # -8%
-
-Sep 22, 2009
-
-# 6g inlines sliceslice in most cases.
-
-fasta -n 25000000
- # probably I/O library inefficiencies
- gc fasta 10.24u 0.00s 10.25r # -4%
- gc_B fasta 9.68u 0.01s 9.69r # -3%
-
-reverse-complement < output-of-fasta-25000000
- # we don't know - memory cache behavior?
- gc reverse-complement 6.67u 0.69s 7.37r # +1%
- gc_B reverse-complement 6.00u 0.64s 6.65r # +7%
-
-nbody -n 50000000
- # math.Sqrt needs to be in assembly; inlining is probably the other 50%
- # also loop alignment appears to be critical
- gc nbody 86.27u 0.00s 86.29r # -21%
- gc_B nbody 104.52u 0.00s 104.54r # +22%
-
-fannkuch 12
- # bounds checking is half the difference
- # rest might be registerization
- gc fannkuch 128.36u 0.00s 128.37r # +4%
- gc_B fannkuch 89.32u 0.00s 89.34r
-
-regex-dna 100000
- # regexp code is slow on trivial regexp
- gc regex-dna 24.82u 0.01s 24.86r # -4%
- gc_B regex-dna 24.55u 0.01s 24.57r # -6%
-
-spectral-norm 5500
- # possibly inline evalA
- gc spectral-norm 24.05u 0.00s 24.07r # -1%
- gc_B spectral-norm 23.60u 0.00s 23.65r # -1%
-
-k-nucleotide 1000000
- # string maps are slower than glib string maps
- gc k-nucleotide 17.84u 0.04s 17.89r # +13% but mysterious variation continues
- gc_B k-nucleotide 15.56u 0.08s 15.65r # -13% (ditto)
-
-mandelbrot 16000
- gc mandelbrot 64.08u 0.01s 64.11r # +1%
- gc_B mandelbrot 64.04u 0.00s 64.05r # +1%
-
-pidigits 10000
- # bignum is slower than gmp
- gc pidigits 58.68u 0.02s 58.72r # +5%
- gc_B pidigits 58.86u 0.05s 58.99r # +5%
-
-# these tests are compared using real time, since they run multiple processors
-# accuracy probably low
-threadring 50000000
- gc threadring 32.70u 0.02s 32.77r # +13%
-
-chameneos 6000000
- gc chameneosredux 26.62u 0.00s 26.63r # +13%
-
-Sep 24, 2009
-
-# Sqrt now in assembler for 6g.
-nbody -n 50000000
- # remember, at least for 6g, alignment of loops may be important
- gcc -O2 nbody.c 21.24u 0.00s 21.25r
- gccgo -O2 nbody.go 121.03u 0.00s 121.04r
- gc nbody 30.26u 0.00s 30.27r # -65% ***
- gc_B nbody 30.20u 0.02s 30.22r # -72% ***
-
-Nov 13 2009
-
-# fix bug in regexp; take performance hit. good regexps will come in time.
-regex-dna 100000
- gcc -O2 regex-dna.c -lpcre 0.92u 0.00s 0.94r
- gc regex-dna 29.78u 0.03s 29.83r
- gc_B regex-dna 32.63u 0.03s 32.74r
-
-Nov 24 2009
-
-# Roger Peppe's rewrite of the benchmark
-chameneos 6000000
- gcc -O2 chameneosredux.c -lpthread 18.00u 303.29s 83.64r
- gc chameneosredux 12.10u 0.00s 12.10r # 2.22X faster
-
-Jan 6, 2010
-
-# Long-overdue update. All numbers included in this complete run.
-# Some programs (e.g. reverse-complement) rewritten for speed.
-# Regular expressions much faster in common cases (although still far behind PCRE)
-# Bignum stuff improved
-# Better (but sometimes slower) locking in channels.
-
-fasta -n 25000000
- gcc -O2 fasta.c 5.99u 0.01s 6.00r
- gc fasta 9.11u 0.00s 9.12r # -11%
- gc_B fasta 8.60u 0.00s 8.62r # +12% ??
-
-reverse-complement < output-of-fasta-25000000
- gcc -O2 reverse-complement.c 2.00u 0.80s 9.54r
-# gccgo -O2 reverse-complement.go 4.57u 0.35s 4.94r # 33% faster
- gc reverse-complement 2.01u 0.38s 2.40r # 3.3X faster
- gc_B reverse-complement 1.88u 0.36s 2.24r # 3.2X faster
-GOGC=off
- gc reverse-complement 2.01u 0.35s 2.37r
- gc_B reverse-complement 1.86u 0.32s 2.19r
-
-nbody -n 50000000
- gcc -O2 nbody.c 21.28u 0.00s 21.31r
- gccgo -O2 nbody.go 80.02u 0.00s 80.05r # 33% faster
- gc nbody 30.13u 0.00s 30.13r
- gc_B nbody 29.89u 0.01s 29.91r
-
-binary-tree 15 # too slow to use 20
- gcc -O2 binary-tree.c -lm 0.86u 0.00s 0.87r
- gccgo -O2 binary-tree.go 4.82u 0.41s 5.24r # 2.5X slower
- gc binary-tree 7.23u 0.01s 7.25r # # -19%
- gc binary-tree-freelist 0.43u 0.00s 0.44r # -9%
-
-fannkuch 12
- gcc -O2 fannkuch.c 60.17u 0.00s 60.17r
- gccgo -O2 fannkuch.go 78.47u 0.01s 78.49r
- gc fannkuch 128.86u 0.00s 128.96r
- gc_B fannkuch 90.17u 0.00s 90.21r
-
-regex-dna 100000
- gcc -O2 regex-dna.c -lpcre 0.90u 0.00s 0.92r
- gc regex-dna 9.48u 0.01s 9.50r # 3.1X faster
- gc_B regex-dna 9.08u 0.00s 9.10r # 3.6X faster
-
-spectral-norm 5500
- gcc -O2 spectral-norm.c -lm 11.48u 0.00s 11.48r
- gccgo -O2 spectral-norm.go 11.68u 0.00s 11.70r
- gc spectral-norm 23.98u 0.00s 23.99r
- gc_B spectral-norm 23.68u 0.00s 23.69r
-
-k-nucleotide 1000000
- gcc -O2 k-nucleotide.c 10.85u 0.04s 10.90r
- gccgo -O2 k-nucleotide.go 25.26u 0.87s 26.14r
- gc k-nucleotide 15.28u 0.06s 15.37r # restored; mysterious variation continues
- gc_B k-nucleotide 15.97u 0.03s 16.00r
-
-mandelbrot 16000
- gcc -O2 mandelbrot.c 56.12u 0.01s 56.15r
- gccgo -O2 mandelbrot.go 56.86u 0.01s 56.89r
- gc mandelbrot 66.05u 0.00s 66.07r # -3%
- gc_B mandelbrot 66.06u 0.00s 66.07r # -3%
-
-meteor 2100
- gcc -O2 meteor-contest.c 0.10u 0.00s 0.10r
- gccgo -O2 meteor-contest.go 0.12u 0.00s 0.12r
- gc meteor-contest 0.17u 0.00s 0.17r
- gc_B meteor-contest 0.15u 0.00s 0.16r
-
-pidigits 10000
- gcc -O2 pidigits.c -lgmp 2.57u 0.00s 2.59r
- gc pidigits 38.27u 0.02s 38.30r # 1.5X faster
- gc_B pidigits 38.27u 0.02s 38.31r # 1.5X faster
-
-threadring 50000000
- gcc -O2 threadring.c 37.11u 170.59s 212.75r
- gccgo -O2 threadring.go 89.67u 447.56s 442.55r # -6.5%
- gc threadring 36.08u 0.04s 36.15r # +10%
-
-chameneos 6000000
- gcc -O2 chameneosredux.c -lpthread 19.02u 331.08s 90.79r
- gc chameneosredux 12.54u 0.00s 12.55r
-
-Oct 19, 2010
-
-# Another long-overdue update. Some of the code is new; parallel versions
-# of some are added. A few significant improvements.
-
-fasta -n 25000000
- gcc -O2 fasta.c 4.92u 0.00s 4.93r
- gccgo -O2 fasta.go 3.31u 0.00s 3.34r # new code
- gc fasta 3.68u 0.00s 3.69r # 2.5X faster with no code
- gc_B fasta 3.68u 0.00s 3.69r # 2.3X faster with no code
-
-reverse-complement < output-of-fasta-25000000
- gcc -O2 reverse-complement.c 1.93u 0.81s 11.24r
- gccgo -O2 reverse-complement.go 1.58u 0.43s 2.04r # first run with new code?
- gc reverse-complement 1.84u 0.34s 2.20r # 10% faster
- gc_B reverse-complement 1.85u 0.32s 2.18r
-
-nbody -n 50000000
- gcc -O2 nbody.c 21.35u 0.00s 21.36r
- gccgo -O2 nbody.go 21.62u 0.00s 21.66r # 3.7X faster - why??
- gc nbody 29.78u 0.00s 29.79r
- gc_B nbody 29.72u 0.00s 29.72r
-
-binary-tree 15 # too slow to use 20
- gcc -O2 binary-tree.c -lm 0.86u 0.00s 0.88r
- gccgo -O2 binary-tree.go 4.05u 0.02s 4.08r # 28% faster
- gccgo -O2 binary-tree-freelist 0.34u 0.08s 0.34r
- gc binary-tree 5.94u 0.00s 5.95r # 20% faster
- gc binary-tree-freelist 0.50u 0.01s 0.54r
-
-fannkuch 12
- gcc -O2 fannkuch.c 60.45u 0.00s 60.45r
- gccgo -O2 fannkuch.go 64.64u 0.00s 64.64r
- gccgo -O2 fannkuch-parallel.go 115.63u 0.00s 31.58r
- gc fannkuch 126.52u 0.04s 126.68r
- gc fannkuch-parallel 238.82u 0.10s 65.93r # GOMAXPROCS=4
- gc_B fannkuch 88.99u 0.00s 89.02r
-
-regex-dna 100000
- gcc -O2 regex-dna.c -lpcre 0.89u 0.00s 0.89r
- gc regex-dna 8.99u 0.02s 9.03r
- gc regex-dna-parallel 8.94u 0.02s 3.68r # GOMAXPROCS=4
- gc_B regex-dna 9.12u 0.00s 9.14r
-
-spectral-norm 5500
- gcc -O2 spectral-norm.c -lm 11.55u 0.00s 11.57r
- gccgo -O2 spectral-norm.go 11.73u 0.00s 11.75r
- gc spectral-norm 23.74u 0.00s 23.79r
- gc_B spectral-norm 24.49u 0.02s 24.54r
-
-k-nucleotide 1000000
- gcc -O2 k-nucleotide.c 11.44u 0.06s 11.50r
- gccgo -O2 k-nucleotide.go 8.65u 0.04s 8.71r
- gccgo -O2 k-nucleotide-parallel.go 8.75u 0.03s 2.97r # set GOMAXPROCS=4
- gc k-nucleotide 14.92u 0.05s 15.01r
- gc k-nucleotide-parallel 16.96u 0.06s 6.53r # set GOMAXPROCS=4
- gc_B k-nucleotide 15.97u 0.03s 16.08r
-
-mandelbrot 16000
- gcc -O2 mandelbrot.c 56.32u 0.00s 56.35r
- gccgo -O2 mandelbrot.go 55.62u 0.02s 55.77r
- gc mandelbrot 64.85u 0.01s 64.94r
- gc_B mandelbrot 65.02u 0.01s 65.14r
-
-meteor 2100
- gcc -O2 meteor-contest.c 0.10u 0.00s 0.10r
- gccgo -O2 meteor-contest.go 0.10u 0.00s 0.11r
- gc meteor-contest 0.17u 0.00s 0.18r
- gc_B meteor-contest 0.16u 0.00s 0.16r
-
-pidigits 10000
- gcc -O2 pidigits.c -lgmp 2.58u 0.00s 2.59r
- gccgo -O2 pidigits.go 14.06u 0.01s 14.09r # first run?
- gc pidigits 8.47u 0.05s 8.55r # 4.5X faster due to package big
- gc_B pidigits 8.33u 0.01s 8.36r # 4.5X faster due to package big
-
-threadring 50000000
- gcc -O2 threadring.c 28.18u 153.19s 186.47r
- gccgo -O2 threadring.go 110.10u 516.48s 515.25r
- gc threadring 40.39u 0.00s 40.40r
-
-chameneos 6000000
- gcc -O2 chameneosredux.c -lpthread 18.20u 301.55s 83.10r
- gccgo -O2 chameneosredux.go 52.22u 324.54s 201.21r
- gc chameneosredux 13.52u 0.00s 13.54r
-
-Dec 14, 2010
-
-# Improved regex code (same algorithm) gets ~30%.
-
-regex-dna 100000
- gcc -O2 regex-dna.c -lpcre 0.77u 0.01s 0.78r
- gc regex-dna 6.80u 0.00s 6.81r
- gc regex-dna-parallel 6.82u 0.01s 2.75r
- gc_B regex-dna 6.69u 0.02s 6.70r
-
-Feb 15, 2011
-
-# Improved GC, still single-threaded but more efficient
-
-fasta -n 25000000
- gcc -O2 fasta.c 3.40u 0.00s 3.40r
- gccgo -O2 fasta.go 3.51u 0.00s 3.50r
- gc fasta 3.66u 0.01s 3.66r
- gc_B fasta 3.66u 0.00s 3.66r
-
-reverse-complement < output-of-fasta-25000000
- gcc -O2 reverse-complement.c 1.86u 1.29s 4.93r
- gccgo -O2 reverse-complement.go 2.18u 0.41s 2.60r
- gc reverse-complement 1.67u 0.48s 2.15r
- gc_B reverse-complement 1.71u 0.45s 2.15r
-
-nbody -n 50000000
- gcc -O2 -lm nbody.c 21.64u 0.00s 21.64r
- gccgo -O2 nbody.go 21.46u 0.00s 21.45r
- gc nbody 29.07u 0.00s 29.06r
- gc_B nbody 31.61u 0.00s 31.61r
-
-binary-tree 15 # too slow to use 20
- gcc -O2 binary-tree.c -lm 0.88u 0.00s 0.87r
- gccgo -O2 binary-tree.go 2.74u 0.07s 2.81r
- gccgo -O2 binary-tree-freelist.go 0.01u 0.00s 0.00r
- gc binary-tree 4.22u 0.02s 4.24r
- gc binary-tree-freelist 0.54u 0.02s 0.55r
-
-fannkuch 12
- gcc -O2 fannkuch.c 57.64u 0.00s 57.64r
- gccgo -O2 fannkuch.go 65.79u 0.00s 65.82r
- gccgo -O2 fannkuch-parallel.go 160.91u 0.02s 43.90r
- gc fannkuch 126.36u 0.03s 126.53r
- gc fannkuch-parallel 175.23u 0.04s 45.49r
- gc_B fannkuch 89.23u 0.00s 89.24r
-
-regex-dna 100000
- gcc -O2 regex-dna.c -lpcre 0.77u 0.01s 0.80r
- gccgo -O2 regex-dna.go 12.38u 0.10s 12.52r
- gccgo -O2 regex-dna-parallel.go 43.96u 4.64s 15.11r
- gc regex-dna 7.03u 0.01s 7.05r
- gc regex-dna-parallel 6.85u 0.05s 2.70r
- gc_B regex-dna 6.87u 0.02s 6.89r
-
-spectral-norm 5500
- gcc -O2 spectral-norm.c -lm 12.29u 0.00s 12.28r
- gccgo -O2 spectral-norm.go 11.79u 0.00s 11.79r
- gc spectral-norm 24.00u 0.02s 24.05r
- gc_B spectral-norm 24.59u 0.01s 24.59r
-
-k-nucleotide 1000000
- gcc -O2 k-nucleotide.c 9.75u 0.07s 9.82r
- gccgo -O2 k-nucleotide.go 8.92u 0.06s 8.98r
- gccgo -O2 k-nucleotide-parallel.go 8.40u 0.04s 2.76r
- gc k-nucleotide 17.01u 0.03s 17.04r
- gc k-nucleotide-parallel 16.51u 0.08s 6.21r
- gc_B k-nucleotide 16.94u 0.08s 17.02r
-
-mandelbrot 16000
- gcc -O2 mandelbrot.c 54.60u 0.00s 54.66r
- gccgo -O2 mandelbrot.go 59.38u 0.00s 59.41r
- gc mandelbrot 64.93u 0.04s 65.08r
- gc_B mandelbrot 64.85u 0.03s 64.92r
-
-meteor 2098
- gcc -O2 meteor-contest.c 0.10u 0.01s 0.10r
- gccgo -O2 meteor-contest.go 0.11u 0.00s 0.11r
- gc meteor-contest 0.18u 0.00s 0.17r
- gc_B meteor-contest 0.17u 0.00s 0.16r
-
-pidigits 10000
- gcc -O2 pidigits.c -lgmp 2.24u 0.00s 2.23r
- gccgo -O2 pidigits.go 14.05u 0.00s 14.06r
- gc pidigits 6.34u 0.05s 6.38r
- gc_B pidigits 6.37u 0.02s 6.38r
-
-threadring 50000000
- gcc -O2 threadring.c 30.50u 258.05s 325.72r
- gccgo -O2 threadring.go 92.87u 748.39s 728.46r
- gc threadring 38.03u 0.01s 38.04r
-
-# Apr 15, 2011
-# Move to new machine, Intel Xeon E5520@2.27GHz.
-# (Was Opteron(tm) Processor 8214 HE)
-
-fasta -n 25000000
-OLD:
- gcc -O2 fasta.c 3.39u 0.04s 3.42r
- gccgo -O2 fasta.go 3.52u 0.00s 3.52r
- gc fasta 3.63u 0.04s 3.67r
- gc_B fasta 3.66u 0.00s 3.66r
-NEW:
- gcc -O2 fasta.c 1.45u 0.02s 1.47r
- gccgo -O2 fasta.go 1.51u 0.01s 1.51r
- gc fasta 2.04u 0.00s 2.04r
- gc_B fasta 2.05u 0.00s 2.04r
-
-reverse-complement < output-of-fasta-25000000
-OLD:
- gcc -O2 reverse-complement.c 1.87u 1.51s 7.02r
- gccgo -O2 reverse-complement.go 1.56u 0.54s 3.37r
- gc reverse-complement 1.73u 0.36s 2.08r
- gc_B reverse-complement 1.75u 0.37s 2.12r
-NEW:
- gcc -O2 reverse-complement.c 1.20u 0.47s 12.96r
- gccgo -O2 reverse-complement.go 0.88u 0.14s 1.01r
- gc reverse-complement 1.13u 0.17s 1.30r
- gc_B reverse-complement 1.11u 0.09s 1.20r
-
-nbody -n 50000000
-OLD:
- gcc -O2 -lm nbody.c 21.90u 0.00s 21.92r
- gccgo -O2 nbody.go 23.12u 0.03s 23.19r
- gc nbody 29.07u 0.00s 29.07r
- gc_B nbody 31.84u 0.00s 31.85r
-NEW:
- gcc -O2 -lm nbody.c 13.01u 0.00s 13.03r
- gccgo -O2 nbody.go 13.35u 0.00s 13.37r
- gc nbody 21.78u 0.00s 21.82r
- gc_B nbody 21.72u 0.00s 21.76r
-
-binary-tree 15 # too slow to use 20
-OLD:
- gcc -O2 binary-tree.c -lm 0.83u 0.02s 0.84r
- gccgo -O2 binary-tree.go 2.61u 0.02s 2.62r
- gccgo -O2 binary-tree-freelist.go 0.32u 0.01s 0.32r
- gc binary-tree 3.93u 0.04s 3.97r
- gc binary-tree-freelist 0.47u 0.03s 0.50r
-NEW:
- gcc -O2 binary-tree.c -lm 0.60u 0.00s 0.59r
- gccgo -O2 binary-tree.go 1.53u 0.00s 1.52r
- gccgo -O2 binary-tree-freelist.go 0.01u 0.00s 0.00r
- gc binary-tree 1.93u 0.02s 1.95r
- gc binary-tree-freelist 0.32u 0.01s 0.32r
-
-fannkuch 12
-OLD:
- gcc -O2 fannkuch.c 57.64u 0.00s 57.64r
- gccgo -O2 fannkuch.go 65.56u 0.01s 65.65r
- gccgo -O2 fannkuch-parallel.go 179.12u 0.00s 49.82r
- gc fannkuch 126.39u 0.00s 126.39r
- gc fannkuch-parallel 172.49u 0.02s 45.44r
- gc_B fannkuch 89.30u 0.00s 89.28r
-NEW:
- gcc -O2 fannkuch.c 45.17u 0.00s 45.26r
- gccgo -O2 fannkuch.go 53.63u 0.00s 53.73r
- gccgo -O2 fannkuch-parallel.go 216.72u 0.00s 58.42r
- gc fannkuch 108.21u 0.00s 108.44r
- gc fannkuch-parallel 227.20u 0.00s 57.27r
- gc_B fannkuch 56.14u 0.00s 56.26r
-
-regex-dna 100000
-OLD:
- gcc -O2 regex-dna.c -lpcre 0.77u 0.01s 0.78r
- gccgo -O2 regex-dna.go 10.15u 0.02s 10.23r
- gccgo -O2 regex-dna-parallel.go 33.81u 3.22s 11.62r
- gc regex-dna 6.52u 0.04s 6.56r
- gc regex-dna-parallel 6.84u 0.03s 2.70r
- gc_B regex-dna 6.83u 0.01s 6.84r
-NEW:
- gcc -O2 regex-dna.c -lpcre 0.47u 0.00s 0.47r
- gccgo -O2 regex-dna.go 6.00u 0.00s 6.00r
- gccgo -O2 regex-dna-parallel.go 44.54u 1.57s 6.51r
- gc regex-dna 5.41u 0.01s 5.42r
- gc regex-dna-parallel 5.62u 0.01s 2.20r
- gc_B regex-dna 5.50u 0.00s 5.50r
-
-spectral-norm 5500
-OLD:
- gcc -O2 spectral-norm.c -lm 12.29u 0.00s 12.28r
- gccgo -O2 spectral-norm.go 11.56u 0.00s 11.55r
- gc spectral-norm 23.98u 0.00s 24.00r
- gc_B spectral-norm 24.62u 0.00s 24.65r
-NEW:
- gcc -O2 spectral-norm.c -lm 15.79u 0.00s 15.82r
- gccgo -O2 spectral-norm.go 15.32u 0.00s 15.35r
- gc spectral-norm 19.62u 0.01s 19.67r
- gc_B spectral-norm 19.62u 0.00s 19.66r
-
-k-nucleotide 1000000
-OLD:
- gcc -O2 k-nucleotide.c 9.82u 0.06s 9.87r
- gccgo -O2 k-nucleotide.go 8.30u 0.02s 8.32r
- gccgo -O2 k-nucleotide-parallel.go 8.84u 0.05s 3.02r
- gc k-nucleotide 15.38u 0.07s 15.44r
- gc k-nucleotide-parallel 16.40u 0.03s 5.93r
- gc_B k-nucleotide 15.19u 0.05s 15.23r
-NEW:
- gcc -O2 -k-nucleotide.c 4.88u 0.03s 4.92r
- gccgo -O2 k-nucleotide.go 5.94u 0.01s 5.96r
- gccgo -O2 k-nucleotide-parallel.go 6.44u 0.03s 1.47r
- gc k-nucleotide 9.61u 0.01s 9.63r
- gc k-nucleotide-parallel 9.70u 0.00s 3.39r
- gc_B k-nucleotide 9.19u 0.03s 9.23r
-
-mandelbrot 16000
-OLD:
- gcc -O2 mandelbrot.c 54.54u 0.00s 54.56r
- gccgo -O2 mandelbrot.go 59.63u 0.03s 59.67r
- gc mandelbrot 64.82u 0.00s 64.83r
- gc_B mandelbrot 64.84u 0.00s 64.91r
-NEW:
- gcc -O2 mandelbrot.c 36.07u 0.01s 36.15r
- gccgo -O2 mandelbrot.go 43.57u 0.00s 43.66r
- gc mandelbrot 60.66u 0.00s 60.79r
- gc_B mandelbrot 60.90u 0.00s 61.03r
-
-meteor 2098
-OLD:
- gcc -O2 meteor-contest.c 0.11u 0.00s 0.10r
- gccgo -O2 meteor-contest.go 0.10u 0.01s 0.10r
- gc meteor-contest 0.18u 0.00s 0.17r
- gc_B meteor-contest 0.17u 0.00s 0.16r
-NEW:
- gcc -O2 meteor-contest.c 0.10u 0.00s 0.09r
- gccgo -O2 meteor-contest.go 0.10u 0.00s 0.09r
- gc meteor-contest 0.14u 0.00s 0.14r
- gc_B meteor-contest 0.13u 0.00s 0.13r
-
-pidigits 10000
-OLD:
- gcc -O2 pidigits.c -lgmp 2.22u 0.00s 2.21r
- gccgo -O2 pidigits.go 13.39u 0.00s 13.40r
- gc pidigits 6.42u 0.04s 6.45r
- gc_B pidigits 6.45u 0.02s 6.47r
-NEW:
- gcc -O2 pidigits.c -lgmp 2.27u 0.00s 2.29r
- gccgo -O2 pidigits.go 9.21u 0.00s 9.22r
- gc pidigits 3.60u 0.00s 3.60r
- gc_B pidigits 3.56u 0.02s 3.58r
-
-threadring 50000000
-OLD:
- gcc -O2 threadring.c -lpthread 34.51u 267.95s 336.12r
- gccgo -O2 threadring.go 103.51u 588.57s 627.16r
- gc threadring 54.68u 0.00s 54.73r
-NEW:
- gcc -O2 threadring.c 32.00u 259.39s 369.74r
- gccgo -O2 threadring.go 133.06u 546.02s 595.33r
- gc threadring 16.75u 0.02s 16.80r
-
-chameneos 6000000
-OLD:
- gcc -O2 chameneosredux.c -lpthread 12.65u 31.02s 13.33r
- gccgo -O2 chameneosredux.go 47.04u 302.84s 252.29r
- gc chameneosredux 14.14u 0.00s 14.14r
-NEW:
- gcc -O2 chameneosredux.c -lpthread 8.05u 63.43s 11.16r
- gccgo -O2 chameneosredux.go 82.95u 304.37s 207.64r
- gc chameneosredux 9.42u 0.00s 9.43r
-
-# May 13, 2011
-# after gc update to inline append when possible - 35% faster
-
-regex-dna 100000
- gc regex-dna 3.94u 0.00s 3.95r
- gc regex-dna-parallel 4.15u 0.01s 1.63r
- gc_B regex-dna 4.01u 0.01s 4.02r
-
-# Aug 4, 2011
-# After various updates to locking code and some runtime changes.
-# Slowdowns believed due to slower (but more correct) memmove.
-
-fannkuch 12
- gccgo -O2 fannkuch.go 51.59u 0.00s 51.69r # -4%
- gccgo -O2 fannkuch-parallel.go 253.17u 0.00s 64.67r # -11%
- gc fannkuch 103.14u 0.00s 103.36r # -5%
- gc fannkuch-parallel 189.63u 0.00s 49.37r # +9%
- gc_B fannkuch 49.19u 0.00s 49.29r # -14%
-
-regex-dna 100000
- gc regex-dna 3.78u 0.00s 3.78r # -43%
- gc regex-dna-parallel 3.84u 0.02s 1.48r # -49%
- gc_B regex-dna 3.62u 0.00s 3.63r # -52%
-
-k-nucleotide 1000000
- gc k-nucleotide 12.23u 0.02s 12.27r # +27%
- gc k-nucleotide-parallel 12.76u 0.02s 4.37r # +29%
- gc_B k-nucleotide 12.18u 0.01s 12.21r # +33%
-
-threadring 50000000
- gc threadring 17.49u 0.00s 17.53r # +4%
-
-chameneos 6000000
- gc chameneosredux 7.61u 0.00s 7.63r # -24%
-
-Aug 9, 2011
-# After custom algorithms for 1- 2- 4- 8-byte scalars.
-
-fannkuch 12
- gc fannkuch-parallel 157.17u 0.00s 41.08r # -17%
-
-k-nucleotide 1000000
- gc k-nucleotide 8.72u 0.03s 8.76r # -39%
- gc k-nucleotide-parallel 8.79u 0.01s 3.14r # -39%
- gc_B k-nucleotide 8.65u 0.03s 8.69r # -39%
-
-pidigits 10000
- gc pidigits 3.71u 0.02s 3.73r # +4%
- gc_B pidigits 3.73u 0.00s 3.73r # +4%
-
-threadring 50000000
- gc threadring 14.51u 0.00s 14.54r # -17%
-
-chameneos 6000000
- gc chameneosredux 7.41u 0.00s 7.42r # -3%
+++ /dev/null
-#!/usr/bin/env bash
-# Copyright 2009 The Go Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-set -e
-
-eval $(gomake --no-print-directory -f ../../src/Make.inc go-env)
-PATH=.:$PATH
-
-havegccgo=false
-if which gccgo >/dev/null 2>&1
-then
- havegccgo=true
-fi
-
-mode=run
-case X"$1" in
-X-test)
- mode=test
- shift
-esac
-
-gc() {
- $GC $1.go; $LD $1.$O
-}
-
-gc_B() {
- $GC -B $1.go; $LD $1.$O
-}
-
-runonly() {
- if [ $mode = run ]
- then
- "$@"
- fi
-}
-
-run() {
- if [ $mode = test ]
- then
- if echo $1 | grep -q '^gc '
- then
- $1 # compile the program
- program=$(echo $1 | sed 's/gc //')
- shift
- echo $program
- $1 <fasta-1000.out > /tmp/$$
- case $program in
- chameneosredux)
- # exact numbers may vary but non-numbers should match
- grep -v '[0-9]' /tmp/$$ > /tmp/$$x
- grep -v '[0-9]' chameneosredux.txt > /tmp/$$y
- cmp /tmp/$$x /tmp/$$y
- rm -f /tmp/$$ /tmp/$$x /tmp/$$y
- ;;
- *)
- cmp /tmp/$$ $program.txt
- rm -f /tmp/$$
- esac
- fi
- return
- fi
- if ! $havegccgo && echo $1 | grep -q '^gccgo '
- then
- return
- fi
- echo -n ' '$1' '
- $1
- shift
-
- echo $((time -p $* >/dev/null) 2>&1) | awk '{print $4 "u " $6 "s " $2 "r"}'
-}
-
-fasta() {
- runonly echo 'fasta -n 25000000'
- run 'gcc -O2 fasta.c' a.out 25000000
- run 'gccgo -O2 fasta.go' a.out -n 25000000 #commented out until WriteString is in bufio
- run 'gc fasta' $O.out -n 25000000
- run 'gc_B fasta' $O.out -n 25000000
-}
-
-revcomp() {
- runonly gcc -O2 fasta.c
- runonly a.out 25000000 > x
- runonly echo 'reverse-complement < output-of-fasta-25000000'
- run 'gcc -O2 reverse-complement.c' a.out < x
- run 'gccgo -O2 reverse-complement.go' a.out < x
- run 'gc reverse-complement' $O.out < x
- run 'gc_B reverse-complement' $O.out < x
- rm x
-}
-
-nbody() {
- runonly echo 'nbody -n 50000000'
- run 'gcc -O2 -lm nbody.c' a.out 50000000
- run 'gccgo -O2 nbody.go' a.out -n 50000000
- run 'gc nbody' $O.out -n 50000000
- run 'gc_B nbody' $O.out -n 50000000
-}
-
-binarytree() {
- runonly echo 'binary-tree 15 # too slow to use 20'
- run 'gcc -O2 binary-tree.c -lm' a.out 15
- run 'gccgo -O2 binary-tree.go' a.out -n 15
- run 'gccgo -O2 binary-tree-freelist.go' $O.out -n 15
- run 'gc binary-tree' $O.out -n 15
- run 'gc binary-tree-freelist' $O.out -n 15
-}
-
-fannkuch() {
- runonly echo 'fannkuch 12'
- run 'gcc -O2 fannkuch.c' a.out 12
- run 'gccgo -O2 fannkuch.go' a.out -n 12
- run 'gccgo -O2 fannkuch-parallel.go' a.out -n 12
- run 'gc fannkuch' $O.out -n 12
- run 'gc fannkuch-parallel' $O.out -n 12
- run 'gc_B fannkuch' $O.out -n 12
-}
-
-regexdna() {
- runonly gcc -O2 fasta.c
- runonly a.out 100000 > x
- runonly echo 'regex-dna 100000'
- run 'gcc -O2 regex-dna.c -lpcre' a.out <x
- run 'gccgo -O2 regex-dna.go' a.out <x
- run 'gccgo -O2 regex-dna-parallel.go' a.out <x
- run 'gc regex-dna' $O.out <x
- run 'gc regex-dna-parallel' $O.out <x
- run 'gc_B regex-dna' $O.out <x
- rm x
-}
-
-spectralnorm() {
- runonly echo 'spectral-norm 5500'
- run 'gcc -O2 spectral-norm.c -lm' a.out 5500
- run 'gccgo -O2 spectral-norm.go' a.out -n 5500
- run 'gc spectral-norm' $O.out -n 5500
- run 'gc_B spectral-norm' $O.out -n 5500
-}
-
-knucleotide() {
- runonly gcc -O2 fasta.c
- runonly a.out 1000000 > x # should be using 25000000
- runonly echo 'k-nucleotide 1000000'
- run 'gcc -O2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include k-nucleotide.c -lglib-2.0' a.out <x
- run 'gccgo -O2 k-nucleotide.go' a.out <x
- run 'gccgo -O2 k-nucleotide-parallel.go' a.out <x
- run 'gc k-nucleotide' $O.out <x
- run 'gc k-nucleotide-parallel' $O.out <x
- run 'gc_B k-nucleotide' $O.out <x
- rm x
-}
-
-mandelbrot() {
- runonly echo 'mandelbrot 16000'
- run 'gcc -O2 mandelbrot.c' a.out 16000
- run 'gccgo -O2 mandelbrot.go' a.out -n 16000
- run 'gc mandelbrot' $O.out -n 16000
- run 'gc_B mandelbrot' $O.out -n 16000
-}
-
-meteor() {
- runonly echo 'meteor 2098'
- run 'gcc -O2 meteor-contest.c' a.out 2098
- run 'gccgo -O2 meteor-contest.go' a.out -n 2098
- run 'gc meteor-contest' $O.out -n 2098
- run 'gc_B meteor-contest' $O.out -n 2098
-}
-
-pidigits() {
- runonly echo 'pidigits 10000'
- run 'gcc -O2 pidigits.c -lgmp' a.out 10000
- run 'gccgo -O2 pidigits.go' a.out -n 10000
- run 'gc pidigits' $O.out -n 10000
- run 'gc_B pidigits' $O.out -n 10000
-}
-
-threadring() {
- runonly echo 'threadring 50000000'
- run 'gcc -O2 threadring.c -lpthread' a.out 50000000
- run 'gccgo -O2 threadring.go' a.out -n 50000000
- run 'gc threadring' $O.out -n 50000000
-}
-
-chameneos() {
- runonly echo 'chameneos 6000000'
- run 'gcc -O2 chameneosredux.c -lpthread' a.out 6000000
- run 'gccgo -O2 chameneosredux.go' a.out 6000000
- run 'gc chameneosredux' $O.out 6000000
-}
-
-case $# in
-0)
- run="fasta revcomp nbody binarytree fannkuch regexdna spectralnorm knucleotide mandelbrot meteor pidigits threadring chameneos"
- ;;
-*)
- run=$*
-esac
-
-for i in $run
-do
- $i
- runonly echo
-done
}
h(a, b)
+
+ m()
+}
+
+type I interface {
+ M(_ int, y int)
+}
+
+type TI struct{}
+
+func (TI) M(x int, y int) {
+ if x != y {
+ println("invalid M call:", x, y)
+ panic("bad M")
+ }
+}
+
+var fp = func(_ int, y int) {}
+
+func init() {
+ fp = fp1
+}
+
+func fp1(x, y int) {
+ if x != y {
+ println("invalid fp1 call:", x, y)
+ panic("bad fp1")
+ }
+}
+
+
+func m() {
+ var i I
+
+ i = TI{}
+ i.M(1, 1)
+ i.M(2, 2)
+
+ fp(1, 1)
+ fp(2, 2)
}
// useless but legal
func ff() {
var _ int = 1
}
+
--- /dev/null
+// echo bug395 is broken # takes 90+ seconds to break
+// # $G $D/$F.go || echo bug395
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 1909
+// Would OOM due to exponential recursion on Foo's expanded methodset in nodefmt
+package test
+
+type Foo interface {
+ Bar() interface {
+ Foo
+ }
+ Baz() interface {
+ Foo
+ }
+ Bug() interface {
+ Foo
+ }
+}
// However, the result of the bug linked to at the top is that we'll
// end up panicking with: "throw: bad g->status in ready".
recver(cmux)
- print("PASS\n")
}
<-sync
}
}
- print("PASS\n")
}
case x := <-cs: // ERROR "receive"
_ = x
}
+
+ for _ = range cs {// ERROR "receive"
+ }
+
+ close(c)
+ close(cs)
+ close(cr) // ERROR "receive"
}
--- /dev/null
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Test select when discarding a value.
+
+package main
+
+import "runtime"
+
+func recv1(c <-chan int) {
+ <-c
+}
+
+func recv2(c <-chan int) {
+ select {
+ case <-c:
+ }
+}
+
+func recv3(c <-chan int) {
+ c2 := make(chan int)
+ select {
+ case <-c:
+ case <-c2:
+ }
+}
+
+func send1(recv func(<-chan int)) {
+ c := make(chan int)
+ go recv(c)
+ runtime.Gosched()
+ c <- 1
+}
+
+func send2(recv func(<-chan int)) {
+ c := make(chan int)
+ go recv(c)
+ runtime.Gosched()
+ select {
+ case c <- 1:
+ }
+}
+
+func send3(recv func(<-chan int)) {
+ c := make(chan int)
+ go recv(c)
+ runtime.Gosched()
+ c2 := make(chan int)
+ select {
+ case c <- 1:
+ case c2 <- 1:
+ }
+}
+
+func main() {
+ send1(recv1)
+ send2(recv1)
+ send3(recv1)
+ send1(recv2)
+ send2(recv2)
+ send3(recv2)
+ send1(recv3)
+ send2(recv3)
+ send3(recv3)
+}
package main
+import "runtime"
+
var c = make(chan int)
func check(a []int) {
func newfunc() func(int) int { return func(x int) int { return x } }
func main() {
+ var fail bool
+
go f()
check([]int{1, 4, 5, 4})
go h()
check([]int{100, 200, 101, 201, 500, 101, 201, 500})
+ runtime.UpdateMemStats()
+ n0 := runtime.MemStats.Mallocs
+
x, y := newfunc(), newfunc()
if x(1) != 1 || y(2) != 2 {
println("newfunc returned broken funcs")
- panic("fail")
+ fail = true
+ }
+
+ runtime.UpdateMemStats()
+ if n0 != runtime.MemStats.Mallocs {
+ println("newfunc allocated unexpectedly")
+ fail = true
}
ff(1)
+
+ if fail {
+ panic("fail")
+ }
}
func ff(x int) {
--- /dev/null
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// Copyright 2009 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+import "unsafe"
+
+var global bool
+func use(b bool) { global = b }
+
+func stringptr(s string) uintptr { return *(*uintptr)(unsafe.Pointer(&s)) }
+
+func isfalse(b bool) {
+ if b {
+ // stack will explain where
+ panic("wanted false, got true")
+ }
+}
+
+func istrue(b bool) {
+ if !b {
+ // stack will explain where
+ panic("wanted true, got false")
+ }
+}
+
+type T *int
+
+func main() {
+ var a []int
+ var b map[string]int
+
+ var c string = "hello"
+ var d string = "hel" // try to get different pointer
+ d = d + "lo"
+ if stringptr(c) == stringptr(d) {
+ panic("compiler too smart -- got same string")
+ }
+
+ var e = make(chan int)
+
+ var ia interface{} = a
+ var ib interface{} = b
+ var ic interface{} = c
+ var id interface{} = d
+ var ie interface{} = e
+
+ // these comparisons are okay because
+ // string compare is okay and the others
+ // are comparisons where the types differ.
+ isfalse(ia == ib)
+ isfalse(ia == ic)
+ isfalse(ia == id)
+ isfalse(ib == ic)
+ isfalse(ib == id)
+ istrue(ic == id)
+ istrue(ie == ie)
+
+ istrue(ia != ib)
+ istrue(ia != ic)
+ istrue(ia != id)
+ istrue(ib != ic)
+ istrue(ib != id)
+ isfalse(ic != id)
+ isfalse(ie != ie)
+
+ // these are not okay, because there is no comparison on slices or maps.
+ //isfalse(a == ib)
+ //isfalse(a == ic)
+ //isfalse(a == id)
+ //isfalse(b == ic)
+ //isfalse(b == id)
+
+ istrue(c == id)
+ istrue(e == ie)
+
+ //isfalse(ia == b)
+ isfalse(ia == c)
+ isfalse(ia == d)
+ isfalse(ib == c)
+ isfalse(ib == d)
+ istrue(ic == d)
+ istrue(ie == e)
+
+ //istrue(a != ib)
+ //istrue(a != ic)
+ //istrue(a != id)
+ //istrue(b != ic)
+ //istrue(b != id)
+ isfalse(c != id)
+ isfalse(e != ie)
+
+ //istrue(ia != b)
+ istrue(ia != c)
+ istrue(ia != d)
+ istrue(ib != c)
+ istrue(ib != d)
+ isfalse(ic != d)
+ isfalse(ie != e)
+
+ // 6g used to let this go through as true.
+ var g uint64 = 123
+ var h int64 = 123
+ var ig interface{} = g
+ var ih interface{} = h
+ isfalse(ig == ih)
+ istrue(ig != ih)
+
+ // map of interface should use == on interface values,
+ // not memory.
+ var m = make(map[interface{}]int)
+ m[ic] = 1
+ m[id] = 2
+ if m[c] != 2 {
+ println("m[c] = ", m[c])
+ panic("bad m[c]")
+ }
+
+ // non-interface comparisons
+ {
+ c := make(chan int)
+ c1 := (<-chan int)(c)
+ c2 := (chan<- int)(c)
+ istrue(c == c1)
+ istrue(c == c2)
+ istrue(c1 == c)
+ istrue(c2 == c)
+
+ isfalse(c != c1)
+ isfalse(c != c2)
+ isfalse(c1 != c)
+ isfalse(c2 != c)
+
+ d := make(chan int)
+ isfalse(c == d)
+ isfalse(d == c)
+ isfalse(d == c1)
+ isfalse(d == c2)
+ isfalse(c1 == d)
+ isfalse(c2 == d)
+
+ istrue(c != d)
+ istrue(d != c)
+ istrue(d != c1)
+ istrue(d != c2)
+ istrue(c1 != d)
+ istrue(c2 != d)
+ }
+
+ // named types vs not
+ {
+ var x = new(int)
+ var y T
+ var z T = x
+
+ isfalse(x == y)
+ istrue(x == z)
+ isfalse(y == z)
+
+ isfalse(y == x)
+ istrue(z == x)
+ isfalse(z == y)
+
+ istrue(x != y)
+ isfalse(x != z)
+ istrue(y != z)
+
+ istrue(y != x)
+ isfalse(z != x)
+ istrue(z != y)
+ }
+
+ // structs
+ {
+ var x = struct {
+ x int
+ y string
+ }{1, "hi"}
+ var y = struct {
+ x int
+ y string
+ }{2, "bye"}
+ var z = struct {
+ x int
+ y string
+ }{1, "hi"}
+
+ isfalse(x == y)
+ isfalse(y == x)
+ isfalse(y == z)
+ isfalse(z == y)
+ istrue(x == z)
+ istrue(z == x)
+
+ istrue(x != y)
+ istrue(y != x)
+ istrue(y != z)
+ istrue(z != y)
+ isfalse(x != z)
+ isfalse(z != x)
+
+ var m = make(map[struct {
+ x int
+ y string
+ }]int)
+ m[x] = 10
+ m[y] = 20
+ m[z] = 30
+ istrue(m[x] == 30)
+ istrue(m[y] == 20)
+ istrue(m[z] == 30)
+ istrue(m[x] != 10)
+ isfalse(m[x] != 30)
+ isfalse(m[y] != 20)
+ isfalse(m[z] != 30)
+ isfalse(m[x] == 10)
+
+ var m1 = make(map[struct {
+ x int
+ y string
+ }]struct {
+ x int
+ y string
+ })
+ m1[x] = x
+ m1[y] = y
+ m1[z] = z
+ istrue(m1[x] == z)
+ istrue(m1[y] == y)
+ istrue(m1[z] == z)
+ istrue(m1[x] == x)
+ isfalse(m1[x] != z)
+ isfalse(m1[y] != y)
+ isfalse(m1[z] != z)
+ isfalse(m1[x] != x)
+
+ var ix, iy, iz interface{} = x, y, z
+
+ isfalse(ix == iy)
+ isfalse(iy == ix)
+ isfalse(iy == iz)
+ isfalse(iz == iy)
+ istrue(ix == iz)
+ istrue(iz == ix)
+
+ isfalse(x == iy)
+ isfalse(y == ix)
+ isfalse(y == iz)
+ isfalse(z == iy)
+ istrue(x == iz)
+ istrue(z == ix)
+
+ isfalse(ix == y)
+ isfalse(iy == x)
+ isfalse(iy == z)
+ isfalse(iz == y)
+ istrue(ix == z)
+ istrue(iz == x)
+
+ istrue(ix != iy)
+ istrue(iy != ix)
+ istrue(iy != iz)
+ istrue(iz != iy)
+ isfalse(ix != iz)
+ isfalse(iz != ix)
+
+ istrue(x != iy)
+ istrue(y != ix)
+ istrue(y != iz)
+ istrue(z != iy)
+ isfalse(x != iz)
+ isfalse(z != ix)
+
+ istrue(ix != y)
+ istrue(iy != x)
+ istrue(iy != z)
+ istrue(iz != y)
+ isfalse(ix != z)
+ isfalse(iz != x)
+ }
+
+ // arrays
+ {
+ var x = [2]string{"1", "hi"}
+ var y = [2]string{"2", "bye"}
+ var z = [2]string{"1", "hi"}
+
+ isfalse(x == y)
+ isfalse(y == x)
+ isfalse(y == z)
+ isfalse(z == y)
+ istrue(x == z)
+ istrue(z == x)
+
+ istrue(x != y)
+ istrue(y != x)
+ istrue(y != z)
+ istrue(z != y)
+ isfalse(x != z)
+ isfalse(z != x)
+
+ var m = make(map[[2]string]int)
+ m[x] = 10
+ m[y] = 20
+ m[z] = 30
+ istrue(m[x] == 30)
+ istrue(m[y] == 20)
+ istrue(m[z] == 30)
+ isfalse(m[x] != 30)
+ isfalse(m[y] != 20)
+ isfalse(m[z] != 30)
+
+ var ix, iy, iz interface{} = x, y, z
+
+ isfalse(ix == iy)
+ isfalse(iy == ix)
+ isfalse(iy == iz)
+ isfalse(iz == iy)
+ istrue(ix == iz)
+ istrue(iz == ix)
+
+ isfalse(x == iy)
+ isfalse(y == ix)
+ isfalse(y == iz)
+ isfalse(z == iy)
+ istrue(x == iz)
+ istrue(z == ix)
+
+ isfalse(ix == y)
+ isfalse(iy == x)
+ isfalse(iy == z)
+ isfalse(iz == y)
+ istrue(ix == z)
+ istrue(iz == x)
+
+ istrue(ix != iy)
+ istrue(iy != ix)
+ istrue(iy != iz)
+ istrue(iz != iy)
+ isfalse(ix != iz)
+ isfalse(iz != ix)
+
+ istrue(x != iy)
+ istrue(y != ix)
+ istrue(y != iz)
+ istrue(z != iy)
+ isfalse(x != iz)
+ isfalse(z != ix)
+
+ istrue(ix != y)
+ istrue(iy != x)
+ istrue(iy != z)
+ istrue(iz != y)
+ isfalse(ix != z)
+ isfalse(iz != x)
+ }
+
+ shouldPanic(p1)
+ shouldPanic(p2)
+ shouldPanic(p3)
+ shouldPanic(p4)
+}
+
+func p1() {
+ var a []int
+ var ia interface{} = a
+ use(ia == ia)
+}
+
+func p2() {
+ var b []int
+ var ib interface{} = b
+ use(ib == ib)
+}
+
+func p3() {
+ var a []int
+ var ia interface{} = a
+ var m = make(map[interface{}]int)
+ m[ia] = 1
+}
+
+func p4() {
+ var b []int
+ var ib interface{} = b
+ var m = make(map[interface{}]int)
+ m[ib] = 1
+}
+
+func shouldPanic(f func()) {
+ defer func() {
+ if recover() == nil {
+ panic("function should panic")
+ }
+ }()
+ f()
+}
+++ /dev/null
-// $G $D/$F.go && $L $F.$A && ! ./$A.out
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-func use(bool) { }
-
-func main() {
- var a []int
- var ia interface{} = a
- use(ia == ia)
-}
+++ /dev/null
-// $G $D/$F.go && $L $F.$A && ! ./$A.out
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-func use(bool) { }
-
-func main() {
- var b []int
- var ib interface{} = b
- use(ib == ib)
-}
+++ /dev/null
-// $G $D/$F.go && $L $F.$A && ! ./$A.out
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-func main() {
- var a []int
- var ia interface{} = a
- var m = make(map[interface{}] int)
- m[ia] = 1
-}
+++ /dev/null
-// $G $D/$F.go && $L $F.$A && ! ./$A.out
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-func main() {
- var b []int
- var ib interface{} = b
- var m = make(map[interface{}] int)
- m[ib] = 1
-}
}
}
+func teq(t *T, n int) {
+ for i := 0; i < n; i++ {
+ if t == nil || t.i != i {
+ panic("bad")
+ }
+ t = t.next
+ }
+ if t != nil {
+ panic("bad")
+ }
+}
+
type P struct {
a, b int
}
var tp *T
tp = &T{0, 7.2, "hi", &t}
+ tl := &T{i: 0, next: &T{i: 1, next: &T{i: 2, next: &T{i: 3, next: &T{i: 4}}}}}
+ teq(tl, 5)
+
a1 := []int{1, 2, 3}
if len(a1) != 3 {
panic("a1")
}
eq([]*R{itor(0), itor(1), itor(2), itor(3), itor(4), itor(5)})
+ eq([]*R{{0}, {1}, {2}, {3}, {4}, {5}})
p1 := NewP(1, 2)
p2 := NewP(1, 2)
--- /dev/null
+// errchk $G -e $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+var m map[int][3]int
+
+func f() [3]int
+
+func fp() *[3]int
+
+var mp map[int]*[3]int
+
+var (
+ _ = [3]int{1, 2, 3}[:] // ERROR "slice of unaddressable value"
+ _ = m[0][:] // ERROR "slice of unaddressable value"
+ _ = f()[:] // ERROR "slice of unaddressable value"
+
+ // these are okay because they are slicing a pointer to an array
+ _ = (&[3]int{1, 2, 3})[:]
+ _ = mp[0][:]
+ _ = fp()[:]
+)
+
+type T struct {
+ i int
+ f float64
+ s string
+ next *T
+}
+
+var (
+ _ = &T{0, 0, "", nil} // ok
+ _ = &T{i: 0, f: 0, s: "", next: {}} // ERROR "missing type in composite literal|omit types within composite literal"
+ _ = &T{0, 0, "", {}} // ERROR "missing type in composite literal|omit types within composite literal"
+)
--- /dev/null
+// errchk $G -e $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+type Tbyte []byte
+type Trune []rune
+type Tint64 []int64
+type Tstring string
+
+func main() {
+ s := "hello"
+ sb := []byte("hello")
+ sr := []rune("hello")
+ si := []int64{'h', 'e', 'l', 'l', 'o'}
+
+ ts := Tstring(s)
+ tsb := Tbyte(sb)
+ tsr := Trune(sr)
+ tsi := Tint64(si)
+
+ _ = string(s)
+ _ = []byte(s)
+ _ = []rune(s)
+ _ = []int64(s) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
+ _ = Tstring(s)
+ _ = Tbyte(s)
+ _ = Trune(s)
+ _ = Tint64(s) // ERROR "cannot convert.*Tint64|invalid type conversion"
+
+ _ = string(sb)
+ _ = []byte(sb)
+ _ = []rune(sb) // ERROR "cannot convert.*\[\]rune|invalid type conversion"
+ _ = []int64(sb) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
+ _ = Tstring(sb)
+ _ = Tbyte(sb)
+ _ = Trune(sb) // ERROR "cannot convert.*Trune|invalid type conversion"
+ _ = Tint64(sb) // ERROR "cannot convert.*Tint64|invalid type conversion"
+
+ _ = string(sr)
+ _ = []byte(sr) // ERROR "cannot convert.*\[\]byte|invalid type conversion"
+ _ = []rune(sr)
+ _ = []int64(sr) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
+ _ = Tstring(sr)
+ _ = Tbyte(sr) // ERROR "cannot convert.*Tbyte|invalid type conversion"
+ _ = Trune(sr)
+ _ = Tint64(sr) // ERROR "cannot convert.*Tint64|invalid type conversion"
+
+ _ = string(si) // ERROR "cannot convert.* string|invalid type conversion"
+ _ = []byte(si) // ERROR "cannot convert.*\[\]byte|invalid type conversion"
+ _ = []rune(si) // ERROR "cannot convert.*\[\]rune|invalid type conversion"
+ _ = []int64(si)
+ _ = Tstring(si) // ERROR "cannot convert.*Tstring|invalid type conversion"
+ _ = Tbyte(si) // ERROR "cannot convert.*Tbyte|invalid type conversion"
+ _ = Trune(si) // ERROR "cannot convert.*Trune|invalid type conversion"
+ _ = Tint64(si)
+
+ _ = string(ts)
+ _ = []byte(ts)
+ _ = []rune(ts)
+ _ = []int64(ts) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
+ _ = Tstring(ts)
+ _ = Tbyte(ts)
+ _ = Trune(ts)
+ _ = Tint64(ts) // ERROR "cannot convert.*Tint64|invalid type conversion"
+
+ _ = string(tsb)
+ _ = []byte(tsb)
+ _ = []rune(tsb) // ERROR "cannot convert.*\[\]rune|invalid type conversion"
+ _ = []int64(tsb) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
+ _ = Tstring(tsb)
+ _ = Tbyte(tsb)
+ _ = Trune(tsb) // ERROR "cannot convert.*Trune|invalid type conversion"
+ _ = Tint64(tsb) // ERROR "cannot convert.*Tint64|invalid type conversion"
+
+ _ = string(tsr)
+ _ = []byte(tsr) // ERROR "cannot convert.*\[\]byte|invalid type conversion"
+ _ = []rune(tsr)
+ _ = []int64(tsr) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
+ _ = Tstring(tsr)
+ _ = Tbyte(tsr) // ERROR "cannot convert.*Tbyte|invalid type conversion"
+ _ = Trune(tsr)
+ _ = Tint64(tsr) // ERROR "cannot convert.*Tint64|invalid type conversion"
+
+ _ = string(tsi) // ERROR "cannot convert.* string|invalid type conversion"
+ _ = []byte(tsi) // ERROR "cannot convert.*\[\]byte|invalid type conversion"
+ _ = []rune(tsi) // ERROR "cannot convert.*\[\]rune|invalid type conversion"
+ _ = []int64(tsi)
+ _ = Tstring(tsi) // ERROR "cannot convert.*Tstring|invalid type conversion"
+ _ = Tbyte(tsi) // ERROR "cannot convert.*Tbyte|invalid type conversion"
+ _ = Trune(tsi) // ERROR "cannot convert.*Trune|invalid type conversion"
+ _ = Tint64(tsi)
+}
--- /dev/null
+// $G $D/$F.go && $L $F.$A && ./$A.out >tmp.go &&
+// $G tmp.go && $L tmp.$A && ./$A.out
+// rm -f tmp.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Test source files and strings containing \r and \r\n.
+
+package main
+
+import (
+ "fmt"
+ "strings"
+)
+
+func main() {
+ prog = strings.Replace(prog, "BQ", "`", -1)
+ prog = strings.Replace(prog, "CR", "\r", -1)
+ fmt.Print(prog)
+}
+
+var prog = `
+package main
+CR
+
+import "fmt"
+
+var CR s = "hello\n" + CR
+ " world"CR
+
+var t = BQhelloCR
+ worldBQ
+
+var u = BQhCReCRlCRlCRoCR
+ worldBQ
+
+var golden = "hello\n world"
+
+func main() {
+ if s != golden {
+ fmt.Printf("s=%q, want %q", s, golden)
+ }
+ if t != golden {
+ fmt.Printf("t=%q, want %q", t, golden)
+ }
+ if u != golden {
+ fmt.Printf("u=%q, want %q", u, golden)
+ }
+}
+`
_ = sum()
_ = sum(1.0, 2.0)
_ = sum(1.5) // ERROR "integer"
- _ = sum("hello") // ERROR "string.*as type int|incompatible"
- _ = sum([]int{1}) // ERROR "slice literal.*as type int|incompatible"
+ _ = sum("hello") // ERROR ".hello. .type string. as type int|incompatible"
+ _ = sum([]int{1}) // ERROR "\[\]int literal.*as type int|incompatible"
)
type T []T
-// $G $D/$F.go && $L $F.$A && ./$A.out
+// $G $D/$F.go && $L $F.$A && ./$A.out 2>&1 | cmp - $D/$F.out
// Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
--- /dev/null
+printing: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+42 true false true +1.500000e+000 world 0x0 [0/0]0x0 0x0 0x0 255
--- /dev/null
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//line foo/bar.y:4
+package main
+//line foo/bar.y:60
+func main() {
+//line foo/bar.y:297
+ f, l := 0, 0
+//line yacctab:1
+ f, l = 1, 1
+//line yaccpar:1
+ f, l = 2, 1
+//line foo/bar.y:82
+ f, l = 3, 82
+//line foo/bar.y:90
+ f, l = 3, 90
+//line foo/bar.y:92
+ f, l = 3, 92
+//line foo/bar.y:100
+ f, l = 3, 100
+//line foo/bar.y:104
+ l = 104
+//line foo/bar.y:112
+ l = 112
+//line foo/bar.y:117
+ l = 117
+//line foo/bar.y:121
+ l = 121
+//line foo/bar.y:125
+ l = 125
+//line foo/bar.y:133
+ l = 133
+//line foo/bar.y:146
+ l = 146
+//line foo/bar.y:148
+//line foo/bar.y:153
+//line foo/bar.y:155
+ l = 155
+//line foo/bar.y:160
+
+//line foo/bar.y:164
+//line foo/bar.y:173
+
+//line foo/bar.y:178
+//line foo/bar.y:180
+//line foo/bar.y:185
+//line foo/bar.y:195
+//line foo/bar.y:197
+//line foo/bar.y:202
+//line foo/bar.y:204
+//line foo/bar.y:208
+//line foo/bar.y:211
+//line foo/bar.y:213
+//line foo/bar.y:215
+//line foo/bar.y:217
+//line foo/bar.y:221
+//line foo/bar.y:229
+//line foo/bar.y:236
+//line foo/bar.y:238
+//line foo/bar.y:240
+//line foo/bar.y:244
+//line foo/bar.y:249
+//line foo/bar.y:253
+//line foo/bar.y:257
+//line foo/bar.y:262
+//line foo/bar.y:267
+//line foo/bar.y:272
+ if l == f {
+//line foo/bar.y:277
+ panic("aie!")
+//line foo/bar.y:281
+ }
+//line foo/bar.y:285
+ return
+//line foo/bar.y:288
+//line foo/bar.y:290
+}
+//line foo/bar.y:293
+//line foo/bar.y:295
--- /dev/null
+// $G $D/$F.go $D/z*.go && $L $F.$A && ./$A.out
+
+// Copyright 2009 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+func main() {
+F1()
+F2()
+F3()
+F4()
+F5()
+F6()
+F7()
+F8()
+F9()
+F10()
+F11()
+F12()
+F13()
+F14()
+F15()
+F16()
+F17()
+F18()
+F19()
+F20()
+}
--- /dev/null
+
+
+//line x1.go:4
+package main
+func F1() {}
--- /dev/null
+
+
+
+//line x10.go:4
+package main
+func F10() {}
--- /dev/null
+
+//line x11.go:4
+package main
+func F11() {}
--- /dev/null
+
+//line x12.go:4
+package main
+func F12() {}
--- /dev/null
+
+//line x13.go:4
+package main
+func F13() {}
--- /dev/null
+
+//line x14.go:4
+package main
+func F14() {}
--- /dev/null
+
+//line x15.go:4
+package main
+func F15() {}
--- /dev/null
+
+//line x16.go:4
+package main
+func F16() {}
--- /dev/null
+
+//line x17.go:4
+package main
+func F17() {}
--- /dev/null
+
+
+//line x18.go:4
+package main
+func F18() {}
--- /dev/null
+
+//line x19.go:4
+package main
+func F19() {}
--- /dev/null
+
+//line x2.go:4
+package main
+func F2() {}
--- /dev/null
+
+//line x20.go:4
+package main
+func F20() {}
--- /dev/null
+
+//line x3.go:4
+package main
+func F3() {}
--- /dev/null
+
+//line x4.go:4
+package main
+func F4() {}
--- /dev/null
+
+//line x5.go:4
+package main
+func F5() {}
--- /dev/null
+
+//line x6.go:4
+package main
+func F6() {}
--- /dev/null
+
+//line x7.go:4
+package main
+func F7() {}
--- /dev/null
+
+//line x8.go:4
+package main
+func F8() {}
--- /dev/null
+
+//line x9.go:4
+package main
+func F9() {}
--- /dev/null
+// errchk -0 $G -m -l $D/$F.go
+
+// Copyright 2010 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package foo
+
+import (
+ "fmt"
+ "unsafe"
+)
+
+var gxx *int
+
+func foo1(x int) { // ERROR "moved to heap: x"
+ gxx = &x // ERROR "&x escapes to heap"
+}
+
+func foo2(yy *int) { // ERROR "leaking param: yy"
+ gxx = yy
+}
+
+func foo3(x int) *int { // ERROR "moved to heap: x"
+ return &x // ERROR "&x escapes to heap"
+}
+
+type T *T
+
+func foo3b(t T) { // ERROR "leaking param: t"
+ *t = t
+}
+
+// xx isn't going anywhere, so use of yy is ok
+func foo4(xx, yy *int) { // ERROR "xx does not escape" "yy does not escape"
+ xx = yy
+}
+
+// xx isn't going anywhere, so taking address of yy is ok
+func foo5(xx **int, yy *int) { // ERROR "xx does not escape" "yy does not escape"
+ xx = &yy // ERROR "&yy does not escape"
+}
+
+func foo6(xx **int, yy *int) { // ERROR "xx does not escape" "leaking param: yy"
+ *xx = yy
+}
+
+func foo7(xx **int, yy *int) { // ERROR "xx does not escape" "yy does not escape"
+ **xx = *yy
+}
+
+func foo8(xx, yy *int) int { // ERROR "xx does not escape" "yy does not escape"
+ xx = yy
+ return *xx
+}
+
+func foo9(xx, yy *int) *int { // ERROR "leaking param: xx" "leaking param: yy"
+ xx = yy
+ return xx
+}
+
+func foo10(xx, yy *int) { // ERROR "xx does not escape" "yy does not escape"
+ *xx = *yy
+}
+
+func foo11() int {
+ x, y := 0, 42
+ xx := &x // ERROR "&x does not escape"
+ yy := &y // ERROR "&y does not escape"
+ *xx = *yy
+ return x
+}
+
+var xxx **int
+
+func foo12(yyy **int) { // ERROR "leaking param: yyy"
+ xxx = yyy
+}
+
+func foo13(yyy **int) { // ERROR "yyy does not escape"
+ *xxx = *yyy
+}
+
+func foo14(yyy **int) { // ERROR "yyy does not escape"
+ **xxx = **yyy
+}
+
+func foo15(yy *int) { // ERROR "moved to heap: yy"
+ xxx = &yy // ERROR "&yy escapes to heap"
+}
+
+func foo16(yy *int) { // ERROR "leaking param: yy"
+ *xxx = yy
+}
+
+func foo17(yy *int) { // ERROR "yy does not escape"
+ **xxx = *yy
+}
+
+func foo18(y int) { // ERROR "moved to heap: "y"
+ *xxx = &y // ERROR "&y escapes to heap"
+}
+
+func foo19(y int) {
+ **xxx = y
+}
+
+type Bar struct {
+ i int
+ ii *int
+}
+
+func NewBar() *Bar {
+ return &Bar{42, nil} // ERROR "&Bar literal escapes to heap"
+}
+
+func NewBarp(x *int) *Bar { // ERROR "leaking param: x"
+ return &Bar{42, x} // ERROR "&Bar literal escapes to heap"
+}
+
+func NewBarp2(x *int) *Bar { // ERROR "x does not escape"
+ return &Bar{*x, nil} // ERROR "&Bar literal escapes to heap"
+}
+
+func (b *Bar) NoLeak() int { // ERROR "b does not escape"
+ return *(b.ii)
+}
+
+func (b *Bar) Leak() *int { // ERROR "leaking param: b"
+ return &b.i // ERROR "&b.i escapes to heap"
+}
+
+func (b *Bar) AlsoNoLeak() *int { // ERROR "b does not escape"
+ return b.ii
+}
+
+func (b Bar) AlsoLeak() *int { // ERROR "leaking param: b"
+ return b.ii
+}
+
+func (b Bar) LeaksToo() *int { // ERROR "leaking param: b"
+ v := 0 // ERROR "moved to heap: v"
+ b.ii = &v // ERROR "&v escapes"
+ return b.ii
+}
+
+func (b *Bar) LeaksABit() *int { // ERROR "b does not escape"
+ v := 0 // ERROR "moved to heap: v"
+ b.ii = &v // ERROR "&v escapes"
+ return b.ii
+}
+
+func (b Bar) StillNoLeak() int { // ERROR "b does not escape"
+ v := 0
+ b.ii = &v // ERROR "&v does not escape"
+ return b.i
+}
+
+func goLeak(b *Bar) { // ERROR "leaking param: b"
+ go b.NoLeak()
+}
+
+type Bar2 struct {
+ i [12]int
+ ii []int
+}
+
+func NewBar2() *Bar2 {
+ return &Bar2{[12]int{42}, nil} // ERROR "&Bar2 literal escapes to heap"
+}
+
+func (b *Bar2) NoLeak() int { // ERROR "b does not escape"
+ return b.i[0]
+}
+
+func (b *Bar2) Leak() []int { // ERROR "leaking param: b"
+ return b.i[:] // ERROR "b.i escapes to heap"
+}
+
+func (b *Bar2) AlsoNoLeak() []int { // ERROR "b does not escape"
+ return b.ii[0:1]
+}
+
+func (b Bar2) AgainNoLeak() [12]int { // ERROR "b does not escape"
+ return b.i
+}
+
+func (b *Bar2) LeakSelf() { // ERROR "leaking param: b"
+ b.ii = b.i[0:4] // ERROR "b.i escapes to heap"
+}
+
+func (b *Bar2) LeakSelf2() { // ERROR "leaking param: b"
+ var buf []int
+ buf = b.i[0:] // ERROR "b.i escapes to heap"
+ b.ii = buf
+}
+
+func foo21() func() int {
+ x := 42 // ERROR "moved to heap: x"
+ return func() int { // ERROR "func literal escapes to heap"
+ return x // ERROR "&x escapes to heap"
+ }
+}
+
+func foo22() int {
+ x := 42
+ return func() int { // ERROR "func literal does not escape"
+ return x
+ }()
+}
+
+func foo23(x int) func() int { // ERROR "moved to heap: x"
+ return func() int { // ERROR "func literal escapes to heap"
+ return x // ERROR "&x escapes to heap"
+ }
+}
+
+func foo23a(x int) func() int { // ERROR "moved to heap: x"
+ f := func() int { // ERROR "func literal escapes to heap"
+ return x // ERROR "&x escapes to heap"
+ }
+ return f
+}
+
+func foo23b(x int) *(func() int) { // ERROR "moved to heap: x"
+ f := func() int { return x } // ERROR "moved to heap: f" "func literal escapes to heap" "&x escapes to heap"
+ return &f // ERROR "&f escapes to heap"
+}
+
+func foo24(x int) int {
+ return func() int { // ERROR "func literal does not escape"
+ return x
+ }()
+}
+
+var x *int
+
+func fooleak(xx *int) int { // ERROR "leaking param: xx"
+ x = xx
+ return *x
+}
+
+func foonoleak(xx *int) int { // ERROR "xx does not escape"
+ return *x + *xx
+}
+
+func foo31(x int) int { // ERROR "moved to heap: x"
+ return fooleak(&x) // ERROR "&x escapes to heap"
+}
+
+func foo32(x int) int {
+ return foonoleak(&x) // ERROR "&x does not escape"
+}
+
+type Foo struct {
+ xx *int
+ x int
+}
+
+var F Foo
+var pf *Foo
+
+func (f *Foo) fooleak() { // ERROR "leaking param: f"
+ pf = f
+}
+
+func (f *Foo) foonoleak() { // ERROR "f does not escape"
+ F.x = f.x
+}
+
+func (f *Foo) Leak() { // ERROR "leaking param: f"
+ f.fooleak()
+}
+
+func (f *Foo) NoLeak() { // ERROR "f does not escape"
+ f.foonoleak()
+}
+
+func foo41(x int) { // ERROR "moved to heap: x"
+ F.xx = &x // ERROR "&x escapes to heap"
+}
+
+func (f *Foo) foo42(x int) { // ERROR "f does not escape" "moved to heap: x"
+ f.xx = &x // ERROR "&x escapes to heap"
+}
+
+func foo43(f *Foo, x int) { // ERROR "f does not escape" "moved to heap: x"
+ f.xx = &x // ERROR "&x escapes to heap"
+}
+
+func foo44(yy *int) { // ERROR "leaking param: yy"
+ F.xx = yy
+}
+
+func (f *Foo) foo45() { // ERROR "f does not escape"
+ F.x = f.x
+}
+
+func (f *Foo) foo46() { // ERROR "f does not escape"
+ F.xx = f.xx
+}
+
+func (f *Foo) foo47() { // ERROR "leaking param: f"
+ f.xx = &f.x // ERROR "&f.x escapes to heap"
+}
+
+var ptrSlice []*int
+
+func foo50(i *int) { // ERROR "leaking param: i"
+ ptrSlice[0] = i
+}
+
+var ptrMap map[*int]*int
+
+func foo51(i *int) { // ERROR "leaking param: i"
+ ptrMap[i] = i
+}
+
+func indaddr1(x int) *int { // ERROR "moved to heap: x"
+ return &x // ERROR "&x escapes to heap"
+}
+
+func indaddr2(x *int) *int { // ERROR "leaking param: x"
+ return *&x // ERROR "&x does not escape"
+}
+
+func indaddr3(x *int32) *int { // ERROR "leaking param: x"
+ return *(**int)(unsafe.Pointer(&x)) // ERROR "&x does not escape"
+}
+
+// From package math:
+
+func Float32bits(f float32) uint32 {
+ return *(*uint32)(unsafe.Pointer(&f)) // ERROR "&f does not escape"
+}
+
+func Float32frombits(b uint32) float32 {
+ return *(*float32)(unsafe.Pointer(&b)) // ERROR "&b does not escape"
+}
+
+func Float64bits(f float64) uint64 {
+ return *(*uint64)(unsafe.Pointer(&f)) // ERROR "&f does not escape"
+}
+
+func Float64frombits(b uint64) float64 {
+ return *(*float64)(unsafe.Pointer(&b)) // ERROR "&b does not escape"
+}
+
+// contrast with
+func float64bitsptr(f float64) *uint64 { // ERROR "moved to heap: f"
+ return (*uint64)(unsafe.Pointer(&f)) // ERROR "&f escapes to heap"
+}
+
+func float64ptrbitsptr(f *float64) *uint64 { // ERROR "leaking param: f"
+ return (*uint64)(unsafe.Pointer(f))
+}
+
+func typesw(i interface{}) *int { // ERROR "leaking param: i"
+ switch val := i.(type) {
+ case *int:
+ return val
+ case *int8:
+ v := int(*val) // ERROR "moved to heap: v"
+ return &v // ERROR "&v escapes to heap"
+ }
+ return nil
+}
+
+func exprsw(i *int) *int { // ERROR "leaking param: i"
+ switch j := i; *j + 110 {
+ case 12:
+ return j
+ case 42:
+ return nil
+ }
+ return nil
+
+}
+
+// assigning to an array element is like assigning to the array
+func foo60(i *int) *int { // ERROR "leaking param: i"
+ var a [12]*int
+ a[0] = i
+ return a[1]
+}
+
+func foo60a(i *int) *int { // ERROR "i does not escape"
+ var a [12]*int
+ a[0] = i
+ return nil
+}
+
+// assigning to a struct field is like assigning to the struct
+func foo61(i *int) *int { // ERROR "leaking param: i"
+ type S struct {
+ a, b *int
+ }
+ var s S
+ s.a = i
+ return s.b
+}
+
+func foo61a(i *int) *int { // ERROR "i does not escape"
+ type S struct {
+ a, b *int
+ }
+ var s S
+ s.a = i
+ return nil
+}
+
+// assigning to a struct field is like assigning to the struct but
+// here this subtlety is lost, since s.a counts as an assignment to a
+// track-losing dereference.
+func foo62(i *int) *int { // ERROR "leaking param: i"
+ type S struct {
+ a, b *int
+ }
+ s := new(S) // ERROR "new[(]S[)] does not escape"
+ s.a = i
+ return nil // s.b
+}
+
+type M interface {
+ M()
+}
+
+func foo63(m M) { // ERROR "m does not escape"
+}
+
+func foo64(m M) { // ERROR "leaking param: m"
+ m.M()
+}
+
+func foo64b(m M) { // ERROR "leaking param: m"
+ defer m.M()
+}
+
+type MV int
+
+func (MV) M() {}
+
+func foo65() {
+ var mv MV
+ foo63(&mv) // ERROR "&mv does not escape"
+}
+
+func foo66() {
+ var mv MV // ERROR "moved to heap: mv"
+ foo64(&mv) // ERROR "&mv escapes to heap"
+}
+
+func foo67() {
+ var mv MV
+ foo63(mv)
+}
+
+func foo68() {
+ var mv MV
+ foo64(mv) // escapes but it's an int so irrelevant
+}
+
+func foo69(m M) { // ERROR "leaking param: m"
+ foo64(m)
+}
+
+func foo70(mv1 *MV, m M) { // ERROR "leaking param: mv1" "leaking param: m"
+ m = mv1
+ foo64(m)
+}
+
+func foo71(x *int) []*int { // ERROR "leaking param: x"
+ var y []*int
+ y = append(y, x)
+ return y
+}
+
+func foo71a(x int) []*int { // ERROR "moved to heap: x"
+ var y []*int
+ y = append(y, &x) // ERROR "&x escapes to heap"
+ return y
+}
+
+func foo72() {
+ var x int
+ var y [1]*int
+ y[0] = &x // ERROR "&x does not escape"
+}
+
+func foo72aa() [10]*int {
+ var x int // ERROR "moved to heap: x"
+ var y [10]*int
+ y[0] = &x // ERROR "&x escapes to heap"
+ return y
+}
+
+func foo72a() {
+ var y [10]*int
+ for i := 0; i < 10; i++ {
+ // escapes its scope
+ x := i // ERROR "moved to heap: x"
+ y[i] = &x // ERROR "&x escapes to heap"
+ }
+ return
+}
+
+func foo72b() [10]*int {
+ var y [10]*int
+ for i := 0; i < 10; i++ {
+ x := i // ERROR "moved to heap: x"
+ y[i] = &x // ERROR "&x escapes to heap"
+ }
+ return y
+}
+
+// issue 2145
+func foo73() {
+ s := []int{3, 2, 1} // ERROR "\[\]int literal does not escape"
+ for _, v := range s {
+ vv := v // ERROR "moved to heap: vv"
+ // actually just escapes its scope
+ defer func() { // ERROR "func literal escapes to heap"
+ println(vv) // ERROR "&vv escapes to heap"
+ }()
+ }
+}
+
+func foo74() {
+ s := []int{3, 2, 1} // ERROR "\[\]int literal does not escape"
+ for _, v := range s {
+ vv := v // ERROR "moved to heap: vv"
+ // actually just escapes its scope
+ fn := func() { // ERROR "func literal escapes to heap"
+ println(vv) // ERROR "&vv escapes to heap"
+ }
+ defer fn()
+ }
+}
+
+func myprint(y *int, x ...interface{}) *int { // ERROR "x does not escape" "leaking param: y"
+ return y
+}
+
+func myprint1(y *int, x ...interface{}) *interface{} { // ERROR "y does not escape" "leaking param: x"
+ return &x[0] // ERROR "&x.0. escapes to heap"
+}
+
+func foo75(z *int) { // ERROR "leaking param: z"
+ myprint(z, 1, 2, 3) // ERROR "[.][.][.] argument does not escape"
+}
+
+func foo75a(z *int) { // ERROR "z does not escape"
+ myprint1(z, 1, 2, 3) // ERROR "[.][.][.] argument escapes to heap"
+}
+
+func foo76(z *int) { // ERROR "leaking param: z"
+ myprint(nil, z) // ERROR "[.][.][.] argument does not escape"
+}
+
+func foo76a(z *int) { // ERROR "leaking param: z"
+ myprint1(nil, z) // ERROR "[.][.][.] argument escapes to heap"
+}
+
+func foo76b() {
+ myprint(nil, 1, 2, 3) // ERROR "[.][.][.] argument does not escape"
+}
+
+func foo76c() {
+ myprint1(nil, 1, 2, 3) // ERROR "[.][.][.] argument escapes to heap"
+}
+
+func foo76d() {
+ defer myprint(nil, 1, 2, 3) // ERROR "[.][.][.] argument does not escape"
+}
+
+func foo76e() {
+ defer myprint1(nil, 1, 2, 3) // ERROR "[.][.][.] argument escapes to heap"
+}
+
+func foo76f() {
+ for {
+ // TODO: This one really only escapes its scope, but we don't distinguish yet.
+ defer myprint(nil, 1, 2, 3) // ERROR "[.][.][.] argument escapes to heap"
+ }
+}
+
+func foo76g() {
+ for {
+ defer myprint1(nil, 1, 2, 3) // ERROR "[.][.][.] argument escapes to heap"
+ }
+}
+
+func foo77(z []interface{}) { // ERROR "z does not escape"
+ myprint(nil, z...) // z does not escape
+}
+
+func foo77a(z []interface{}) { // ERROR "leaking param: z"
+ myprint1(nil, z...)
+}
+
+func foo78(z int) *int { // ERROR "moved to heap: z"
+ return &z // ERROR "&z escapes to heap"
+}
+
+func foo78a(z int) *int { // ERROR "moved to heap: z"
+ y := &z // ERROR "&z escapes to heap"
+ x := &y // ERROR "&y does not escape"
+ return *x // really return y
+}
+
+func foo79() *int {
+ return new(int) // ERROR "new[(]int[)] escapes to heap"
+}
+
+func foo80() *int {
+ var z *int
+ for {
+ // Really just escapes its scope but we don't distinguish
+ z = new(int) // ERROR "new[(]int[)] escapes to heap"
+ }
+ _ = z
+ return nil
+}
+
+func foo81() *int {
+ for {
+ z := new(int) // ERROR "new[(]int[)] does not escape"
+ _ = z
+ }
+ return nil
+}
+
+type Fooer interface {
+ Foo()
+}
+
+type LimitedFooer struct {
+ Fooer
+ N int64
+}
+
+func LimitFooer(r Fooer, n int64) Fooer { // ERROR "leaking param: r"
+ return &LimitedFooer{r, n} // ERROR "&LimitedFooer literal escapes to heap"
+}
+
+func foo90(x *int) map[*int]*int { // ERROR "leaking param: x"
+ return map[*int]*int{nil: x} // ERROR "map\[\*int\]\*int literal escapes to heap"
+}
+
+func foo91(x *int) map[*int]*int { // ERROR "leaking param: x"
+ return map[*int]*int{x: nil} // ERROR "map\[\*int\]\*int literal escapes to heap"
+}
+
+func foo92(x *int) [2]*int { // ERROR "leaking param: x"
+ return [2]*int{x, nil}
+}
+
+// does not leak c
+func foo93(c chan *int) *int { // ERROR "c does not escape"
+ for v := range c {
+ return v
+ }
+ return nil
+}
+
+// does not leak m
+func foo94(m map[*int]*int, b bool) *int { // ERROR "m does not escape"
+ for k, v := range m {
+ if b {
+ return k
+ }
+ return v
+ }
+ return nil
+}
+
+// does leak x
+func foo95(m map[*int]*int, x *int) { // ERROR "m does not escape" "leaking param: x"
+ m[x] = x
+}
+
+// does not leak m
+func foo96(m []*int) *int { // ERROR "m does not escape"
+ return m[0]
+}
+
+// does leak m
+func foo97(m [1]*int) *int { // ERROR "leaking param: m"
+ return m[0]
+}
+
+// does not leak m
+func foo98(m map[int]*int) *int { // ERROR "m does not escape"
+ return m[0]
+}
+
+// does leak m
+func foo99(m *[1]*int) []*int { // ERROR "leaking param: m"
+ return m[:]
+}
+
+// does not leak m
+func foo100(m []*int) *int { // ERROR "m does not escape"
+ for _, v := range m {
+ return v
+ }
+ return nil
+}
+
+// does leak m
+func foo101(m [1]*int) *int { // ERROR "leaking param: m"
+ for _, v := range m {
+ return v
+ }
+ return nil
+}
+
+// does not leak m
+func foo101a(m [1]*int) *int { // ERROR "m does not escape"
+ for i := range m { // ERROR "moved to heap: i"
+ return &i // ERROR "&i escapes to heap"
+ }
+ return nil
+}
+
+// does leak x
+func foo102(m []*int, x *int) { // ERROR "m does not escape" "leaking param: x"
+ m[0] = x
+}
+
+// does not leak x
+func foo103(m [1]*int, x *int) { // ERROR "m does not escape" "x does not escape"
+ m[0] = x
+}
+
+var y []*int
+
+// does not leak x
+func foo104(x []*int) { // ERROR "x does not escape"
+ copy(y, x)
+}
+
+// does not leak x
+func foo105(x []*int) { // ERROR "x does not escape"
+ _ = append(y, x...)
+}
+
+// does leak x
+func foo106(x *int) { // ERROR "leaking param: x"
+ _ = append(y, x)
+}
+
+func foo107(x *int) map[*int]*int { // ERROR "leaking param: x"
+ return map[*int]*int{x: nil} // ERROR "map.* literal escapes to heap"
+}
+
+func foo108(x *int) map[*int]*int { // ERROR "leaking param: x"
+ return map[*int]*int{nil: x} // ERROR "map.* literal escapes to heap"
+}
+
+func foo109(x *int) *int { // ERROR "leaking param: x"
+ m := map[*int]*int{x: nil} // ERROR "map.* literal does not escape"
+ for k, _ := range m {
+ return k
+ }
+ return nil
+}
+
+func foo110(x *int) *int { // ERROR "leaking param: x"
+ m := map[*int]*int{nil: x} // ERROR "map.* literal does not escape"
+ return m[nil]
+}
+
+func foo111(x *int) *int { // ERROR "leaking param: x"
+ m := []*int{x} // ERROR "\[\]\*int literal does not escape"
+ return m[0]
+}
+
+func foo112(x *int) *int { // ERROR "leaking param: x"
+ m := [1]*int{x}
+ return m[0]
+}
+
+func foo113(x *int) *int { // ERROR "leaking param: x"
+ m := Bar{ii: x}
+ return m.ii
+}
+
+func foo114(x *int) *int { // ERROR "leaking param: x"
+ m := &Bar{ii: x} // ERROR "&Bar literal does not escape"
+ return m.ii
+}
+
+func foo115(x *int) *int { // ERROR "leaking param: x"
+ return (*int)(unsafe.Pointer(uintptr(unsafe.Pointer(x)) + 1))
+}
+
+func foo116(b bool) *int {
+ if b {
+ x := 1 // ERROR "moved to heap: x"
+ return &x // ERROR "&x escapes to heap"
+ } else {
+ y := 1 // ERROR "moved to heap: y"
+ return &y // ERROR "&y escapes to heap"
+ }
+ return nil
+}
+
+func foo117(unknown func(interface{})) { // ERROR "unknown does not escape"
+ x := 1 // ERROR "moved to heap: x"
+ unknown(&x) // ERROR "&x escapes to heap"
+}
+
+func foo118(unknown func(*int)) { // ERROR "unknown does not escape"
+ x := 1 // ERROR "moved to heap: x"
+ unknown(&x) // ERROR "&x escapes to heap"
+}
+
+func external(*int)
+
+func foo119(x *int) { // ERROR "leaking param: x"
+ external(x)
+}
+
+func foo120() {
+ // formerly exponential time analysis
+L1:
+L2:
+L3:
+L4:
+L5:
+L6:
+L7:
+L8:
+L9:
+L10:
+L11:
+L12:
+L13:
+L14:
+L15:
+L16:
+L17:
+L18:
+L19:
+L20:
+L21:
+L22:
+L23:
+L24:
+L25:
+L26:
+L27:
+L28:
+L29:
+L30:
+L31:
+L32:
+L33:
+L34:
+L35:
+L36:
+L37:
+L38:
+L39:
+L40:
+L41:
+L42:
+L43:
+L44:
+L45:
+L46:
+L47:
+L48:
+L49:
+L50:
+L51:
+L52:
+L53:
+L54:
+L55:
+L56:
+L57:
+L58:
+L59:
+L60:
+L61:
+L62:
+L63:
+L64:
+L65:
+L66:
+L67:
+L68:
+L69:
+L70:
+L71:
+L72:
+L73:
+L74:
+L75:
+L76:
+L77:
+L78:
+L79:
+L80:
+L81:
+L82:
+L83:
+L84:
+L85:
+L86:
+L87:
+L88:
+L89:
+L90:
+L91:
+L92:
+L93:
+L94:
+L95:
+L96:
+L97:
+L98:
+L99:
+L100:
+ // use the labels to silence compiler errors
+ goto L1
+ goto L2
+ goto L3
+ goto L4
+ goto L5
+ goto L6
+ goto L7
+ goto L8
+ goto L9
+ goto L10
+ goto L11
+ goto L12
+ goto L13
+ goto L14
+ goto L15
+ goto L16
+ goto L17
+ goto L18
+ goto L19
+ goto L20
+ goto L21
+ goto L22
+ goto L23
+ goto L24
+ goto L25
+ goto L26
+ goto L27
+ goto L28
+ goto L29
+ goto L30
+ goto L31
+ goto L32
+ goto L33
+ goto L34
+ goto L35
+ goto L36
+ goto L37
+ goto L38
+ goto L39
+ goto L40
+ goto L41
+ goto L42
+ goto L43
+ goto L44
+ goto L45
+ goto L46
+ goto L47
+ goto L48
+ goto L49
+ goto L50
+ goto L51
+ goto L52
+ goto L53
+ goto L54
+ goto L55
+ goto L56
+ goto L57
+ goto L58
+ goto L59
+ goto L60
+ goto L61
+ goto L62
+ goto L63
+ goto L64
+ goto L65
+ goto L66
+ goto L67
+ goto L68
+ goto L69
+ goto L70
+ goto L71
+ goto L72
+ goto L73
+ goto L74
+ goto L75
+ goto L76
+ goto L77
+ goto L78
+ goto L79
+ goto L80
+ goto L81
+ goto L82
+ goto L83
+ goto L84
+ goto L85
+ goto L86
+ goto L87
+ goto L88
+ goto L89
+ goto L90
+ goto L91
+ goto L92
+ goto L93
+ goto L94
+ goto L95
+ goto L96
+ goto L97
+ goto L98
+ goto L99
+ goto L100
+}
+
+func foo121() {
+ for i := 0; i < 10; i++ {
+ defer myprint(nil, i) // ERROR "[.][.][.] argument escapes to heap"
+ go myprint(nil, i) // ERROR "[.][.][.] argument escapes to heap"
+ }
+}
+
+// same as foo121 but check across import
+func foo121b() {
+ for i := 0; i < 10; i++ {
+ defer fmt.Printf("%d", i) // ERROR "[.][.][.] argument escapes to heap"
+ go fmt.Printf("%d", i) // ERROR "[.][.][.] argument escapes to heap"
+ }
+}
+
+// a harmless forward jump
+func foo122() {
+ var i *int
+
+ goto L1
+L1:
+ i = new(int) // ERROR "does not escape"
+ _ = i
+}
+
+// a backward jump, increases loopdepth
+func foo123() {
+ var i *int
+
+L1:
+ i = new(int) // ERROR "escapes"
+
+ goto L1
+ _ = i
+}
--- /dev/null
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Test run-time behavior of escape analysis-related optimizations.
+
+package main
+
+func main() {
+ test1()
+}
+
+func test1() {
+ check1(0)
+ check1(1)
+ check1(2)
+}
+
+type T1 struct {
+ X, Y, Z int
+}
+
+func f() int {
+ return 1
+}
+
+func check1(pass int) T1 {
+ v := []T1{{X: f(), Z: f()}}
+ if v[0].Y != 0 {
+ panic("nonzero init")
+ }
+ v[0].Y = pass
+ return v[0]
+}
package main
+import "fmt"
+
type Element interface {
}
type Vector struct {
- nelem int;
- elem []Element;
+ nelem int
+ elem []Element
}
func New() *Vector {
- v := new(Vector);
- v.nelem = 0;
- v.elem = make([]Element, 10);
- return v;
+ v := new(Vector)
+ v.nelem = 0
+ v.elem = make([]Element, 10)
+ return v
}
func (v *Vector) At(i int) Element {
- return v.elem[i];
+ return v.elem[i]
}
func (v *Vector) Insert(e Element) {
- v.elem[v.nelem] = e;
- v.nelem++;
+ v.elem[v.nelem] = e
+ v.nelem++
}
func main() {
- type I struct { val int; };
- i0 := new(I); i0.val = 0;
- i1 := new(I); i1.val = 11;
- i2 := new(I); i2.val = 222;
- i3 := new(I); i3.val = 3333;
- i4 := new(I); i4.val = 44444;
- v := New();
- print("hi\n");
- v.Insert(i4);
- v.Insert(i3);
- v.Insert(i2);
- v.Insert(i1);
- v.Insert(i0);
+ type I struct{ val int }
+ i0 := new(I)
+ i0.val = 0
+ i1 := new(I)
+ i1.val = 11
+ i2 := new(I)
+ i2.val = 222
+ i3 := new(I)
+ i3.val = 3333
+ i4 := new(I)
+ i4.val = 44444
+ v := New()
+ r := "hi\n"
+ v.Insert(i4)
+ v.Insert(i3)
+ v.Insert(i2)
+ v.Insert(i1)
+ v.Insert(i0)
for i := 0; i < v.nelem; i++ {
- var x *I;
- x = v.At(i).(*I);
- print(i, " ", x.val, "\n"); // prints correct list
+ var x *I
+ x = v.At(i).(*I)
+ r += fmt.Sprintln(i, x.val) // prints correct list
}
for i := 0; i < v.nelem; i++ {
- print(i, " ", v.At(i).(*I).val, "\n");
+ r += fmt.Sprintln(i, v.At(i).(*I).val)
+ }
+ expect := `hi
+0 44444
+1 3333
+2 222
+3 11
+4 0
+0 44444
+1 3333
+2 222
+3 11
+4 0
+`
+ if r != expect {
+ panic(r)
}
}
+
/*
bug027.go:50: illegal types for operand
(<Element>I{}) CONV (<I>{})
func main() {
c = make(chan int);
- go func() { print("ok\n"); c <- 0 } ();
+ go func() { c <- 0 } ();
<-c
}
package main
+import "fmt"
+
func main() {
- var i, k int;
- outer:
- for k=0; k<2; k++ {
- print("outer loop top k ", k, "\n");
- if k != 0 { panic("k not zero") } // inner loop breaks this one every time
- for i=0; i<2; i++ {
- if i != 0 { panic("i not zero") } // loop breaks every time
- print("inner loop top i ", i, "\n");
+ var i, k int
+ var r string
+outer:
+ for k = 0; k < 2; k++ {
+ r += fmt.Sprintln("outer loop top k", k)
+ if k != 0 {
+ panic("k not zero")
+ } // inner loop breaks this one every time
+ for i = 0; i < 2; i++ {
+ if i != 0 {
+ panic("i not zero")
+ } // loop breaks every time
+ r += fmt.Sprintln("inner loop top i", i)
if true {
- print("do break\n");
- break outer;
+ r += "do break\n"
+ break outer
}
}
}
- print("broke\n");
+ r += "broke\n"
+ expect := `outer loop top k 0
+inner loop top i 0
+do break
+broke
+`
+ if r != expect {
+ panic(r)
+ }
}
}
func (p *S) M() {
- print("M\n");
}
type I interface {
-// $G $D/$F.go && $L $F.$A && (! ./$A.out || echo BUG: should not succeed)
+// $G $D/$F.go && $L $F.$A && ./$A.out
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
if foo2(v2) != 1 {
panic(2)
}
+
+ shouldPanic(p1)
+}
+
+func p1() {
+ var i I
+ i = 1
var v3 = i.(int32) // This type conversion should fail at runtime.
if foo2(v3) != 1 {
panic(3)
}
}
+
+func shouldPanic(f func()) {
+ defer func() {
+ if recover() == nil {
+ panic("function should panic")
+ }
+ }()
+ f()
+}
-// $G $D/$F.go && $L $F.$A && ! ./$A.out || echo BUG: should crash
+// $G $D/$F.go && $L $F.$A && ./$A.out
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
type T struct {a, b int};
+func println(x, y int) { }
+
func f(x interface{}) interface{} {
type T struct {a, b int};
inner_T := f(nil);
f(inner_T);
+ shouldPanic(p1)
+}
+
+func p1() {
outer_T := T{5, 7};
f(outer_T);
}
+func shouldPanic(f func()) {
+ defer func() {
+ if recover() == nil {
+ panic("function should panic")
+ }
+ }()
+ f()
+}
+
/*
This prints:
2 3
5 7
-but it should crash: The type assertion on line 14 should fail
+but it should crash: The type assertion on line 18 should fail
for the 2nd call to f with outer_T.
*/
+++ /dev/null
-// $G $D/$F.go || echo BUG: bug220
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-func main() {
- m := make(map[int]map[uint]float64)
-
- m[0] = make(map[uint]float64), false // 6g used to reject this
- m[1] = nil
-}
m[13] = 'B'
// 13 14
- m[gint()] = gbyte(), false
+ delete(m, gint())
+ gbyte()
if _, present := m[13]; present {
println("bad map removal")
panic("fail")
+++ /dev/null
-// $G $D/$F.go
-
-// Copyright 2010 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// http://code.google.com/p/go/issues/detail?id=746
-
-package main
-
-type I interface { F() }
-
-type T struct{}
-
-func (T) F() {}
-
-func main() {
- switch I(T{}).(type) {
- case interface{}:
- }
-}
f()
}
-
var callee string
-var error bool
+var error_ bool
type T int
func (t *T) f() { callee = "f" }
func (i *T) g() { callee = "g" }
-
// test1 and test2 are the same except that in the interface J
// the entries are swapped. test2 and test3 are the same except
// that in test3 the interface J is declared outside the function.
x.(J).f()
if callee != "f" {
println("test1 called", callee)
- error = true
+ error_ = true
}
}
-
func test2(x I) {
type J interface {
g()
x.(J).f()
if callee != "f" {
println("test2 called", callee)
- error = true
+ error_ = true
}
}
-
type J interface {
g()
I
x.(J).f()
if callee != "f" {
println("test3 called", callee)
- error = true
+ error_ = true
}
}
test1(x)
test2(x)
test3(x)
- if error {
+ if error_ {
panic("wrong method called")
}
}
-// $G $D/$F.go && $L $F.$A && ./$A.out
+// $G $D/$F.go && $L $F.$A && ./$A.out 2>&1 | cmp - $D/$F.out
// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
func main() {
var x interface{}
- switch t := x.(type) { // GC_ERROR "0 is not a type"
- case 0: // GCCGO_ERROR "expected type"
- t.x = 1 // ERROR "type interface \{ \}|reference to undefined field or method"
+ switch t := x.(type) {
+ case 0: // ERROR "type"
+ t.x = 1 // ERROR "type interface \{\}|reference to undefined field or method"
}
}
package main
type S struct {
- err os.Error // ERROR "undefined|expected package"
+ err foo.Bar // ERROR "undefined|expected package"
Num int
}
func main() {
s := S{}
- _ = s.Num // no error here please
+ _ = s.Num // no error here please
}
--- /dev/null
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2206. Incorrect sign extension of div arguments.
+
+package main
+
+func five(x int64) {
+ if x != 5 {
+ panic(x)
+ }
+}
+
+func main() {
+ // 5
+ five(int64(5 / (5 / 3)))
+
+ // 5
+ five(int64(byte(5) / (byte(5) / byte(3))))
+
+ // 5
+ var a, b byte = 5, 3
+ five(int64(a / (a / b)))
+
+ // integer divide by zero in golang.org sandbox
+ // 0 on windows/amd64
+ x := [3]byte{2, 3, 5}
+ five(int64(x[2] / (x[2] / x[1])))
+
+ // integer divide by zero in golang.org sandbox
+ // crash on windows/amd64
+ y := x[1:3]
+ five(int64(y[1] / (y[1] / y[0])))
+}
\ No newline at end of file
--- /dev/null
+package main
+
+import (
+ "./p"
+)
+
+type T struct{ *p.S }
+type I interface {
+ get()
+}
+
+func main() {
+ var t T
+ p.F(t)
+ var x interface{} = t
+ _, ok := x.(I)
+ if ok {
+ panic("should not satisfy main.I")
+ }
+ _, ok = x.(p.I)
+ if !ok {
+ panic("should satisfy p.I")
+ }
+}
--- /dev/null
+package p
+
+type T struct{ x int }
+type S struct{}
+
+func (p *S) get() {
+}
+
+type I interface {
+ get()
+}
+
+func F(i I) {
+ i.get()
+}
--- /dev/null
+// $G $D/$F.dir/p.go && $G $D/$F.dir/main.go && $L main.$A && ./$A.out || echo BUG: should not fail
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package ignored
--- /dev/null
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+// 5g bug used to set up the 0 for -f() before calling f,
+// and the call to f smashed the register.
+
+func f(n int) int {
+ s := 0
+ for i := 0; i < n; i++ {
+ s += i>>1
+ }
+ return s
+}
+
+func main() {
+ x := -f(100)
+ if x != -2450 {
+ println(x)
+ panic("broken")
+ }
+}
--- /dev/null
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package pkg
+
+func NonASCII(b []byte, i int) int {
+ for i = 0; i < len(b); i++ {
+ if b[i] >= 0x80 {
+ break
+ }
+ }
+ return i
+}
+
--- /dev/null
+// $G -N -o slow.$A $D/bug369.dir/pkg.go &&
+// $G -o fast.$A $D/bug369.dir/pkg.go &&
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Test that compiling with optimization turned on produces faster code.
+
+package main
+
+import (
+ "flag"
+ "os"
+ "runtime"
+ "testing"
+
+ fast "./fast"
+ slow "./slow"
+)
+
+var buf = make([]byte, 1048576)
+
+func BenchmarkFastNonASCII(b *testing.B) {
+ for i := 0; i < b.N; i++ {
+ fast.NonASCII(buf, 0)
+ }
+}
+
+func BenchmarkSlowNonASCII(b *testing.B) {
+ for i := 0; i < b.N; i++ {
+ slow.NonASCII(buf, 0)
+ }
+}
+
+func main() {
+ os.Args = []string{os.Args[0], "-test.benchtime=0.1"}
+ flag.Parse()
+
+ rslow := testing.Benchmark(BenchmarkSlowNonASCII)
+ rfast := testing.Benchmark(BenchmarkFastNonASCII)
+ tslow := rslow.NsPerOp()
+ tfast := rfast.NsPerOp()
+
+ // Optimization should be good for at least 2x, but be forgiving.
+ // On the ARM simulator we see closer to 1.5x.
+ speedup := float64(tslow)/float64(tfast)
+ want := 1.8
+ if runtime.GOARCH == "arm" {
+ want = 1.3
+ }
+ if speedup < want {
+ // TODO(rsc): doesn't work on linux-amd64 or darwin-amd64 builders, nor on
+ // a Lenovo x200 (linux-amd64) laptop.
+ //println("fast:", tfast, "slow:", tslow, "speedup:", speedup, "want:", want)
+ //println("not fast enough")
+ }
+}
--- /dev/null
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+// issue 2337
+// The program deadlocked.
+
+import "runtime"
+
+func main() {
+ runtime.GOMAXPROCS(2)
+ runtime.GC()
+ runtime.GOMAXPROCS(1)
+}
--- /dev/null
+// errchk $G $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// issue 2343
+
+package main
+
+type T struct {}
+
+func (t *T) pm() {}
+func (t T) m() {}
+
+func main() {
+ p := &T{}
+ p.pm()
+ p.m()
+
+ q := &p
+ q.m() // ERROR "requires explicit dereference"
+ q.pm()
+}
--- /dev/null
+// $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG: bug372
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2355
+package main
+
+type T struct {}
+func (T) m() string { return "T" }
+
+type TT struct {
+ T
+ m func() string
+}
+
+
+func ff() string { return "ff" }
+
+func main() {
+ var tt TT
+ tt.m = ff
+
+ if tt.m() != "ff" {
+ println(tt.m(), "!= \"ff\"")
+ }
+}
--- /dev/null
+// errchk $G $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 873, 2162
+
+package foo
+
+func f(x interface{}) {
+ switch t := x.(type) { // ERROR "declared and not used"
+ case int:
+ }
+}
+
+func g(x interface{}) {
+ switch t := x.(type) {
+ case int:
+ case float32:
+ println(t)
+ }
+}
+
+func h(x interface{}) {
+ switch t := x.(type) {
+ case int:
+ case float32:
+ default:
+ println(t)
+ }
+}
--- /dev/null
+// errchk $G $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// issue 1556
+package foo
+
+type I interface {
+ m() int
+}
+
+type T int
+
+var _ I = T(0) // GCCGO_ERROR "incompatible"
+
+func (T) m(buf []byte) (a int, b xxxx) { // ERROR "xxxx"
+ return 0, nil
+}
--- /dev/null
+// $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG: bug375
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2423
+
+package main
+
+func main() {
+ var x interface{} = "hello"
+
+ switch x {
+ case "hello":
+ default:
+ println("FAIL")
+ }
+}
--- /dev/null
+// errchk $G $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// issue 1951
+package foo
+import "unsafe"
+var v = unsafe.Sizeof // ERROR "must be called"
+
--- /dev/null
+package one
+
+func Foo() (n int64, _ *int) {
+ return 42, nil
+}
+
--- /dev/null
+package two
+
+import _ "./one"
+
--- /dev/null
+// $G $D/$F.dir/one.go && $G $D/$F.dir/two.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 1802
+
+package ignored
--- /dev/null
+// $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG: bug378
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2497
+
+package main
+
+type Header struct{}
+func (h Header) Method() {}
+
+var _ interface{} = Header{}
+
+func main() {
+ type X Header
+ var _ interface{} = X{}
+}
--- /dev/null
+// errchk $G $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2452.
+
+// Check that the error messages says
+// bug378.go:17: 1 + 2 not used
+// and not
+// bug378.go:17: 1 not used
+
+package main
+
+func main() {
+ 1 + 2 // ERROR "1 \+ 2 not used|value computed is not used"
+}
--- /dev/null
+// $G $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Used to cause a typechecking loop error.
+
+package pkg
+type T map[int]string
+var q = &T{}
--- /dev/null
+// errchk $G $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2276.
+
+// Check that the error messages says
+// bug378.go:19: unsafe.Alignof(0) not used
+// and not
+// bug378.go:19: 4 not used
+
+package main
+
+import "unsafe"
+
+func main() {
+ unsafe.Alignof(0) // ERROR "unsafe\.Alignof|value computed is not used"
+}
--- /dev/null
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package pkg
+type T struct {}
+var E T
--- /dev/null
+// $G $D/$F.dir/pkg.go && $G $D/$F.go || echo "Bug 382"
+
+// Issue 2529
+
+package main
+import "./pkg"
+
+var x = pkg.E
+
+var fo = struct {F pkg.T}{F: x}
--- /dev/null
+// errchk $G $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2520
+
+package main
+func main() {
+ if 2e9 { } // ERROR "2e.09|expected bool"
+ if 3.14+1i { } // ERROR "3.14 . 1i|expected bool"
+}
--- /dev/null
+// errchk $G $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2500
+
+package foo
+
+// Check that we only get root cause message, no further complaints about r undefined
+func (r *indexWriter) foo() {} // ERROR "undefined.*indexWriter"
--- /dev/null
+// [ $O == 6 ] || errchk $G -e $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2444
+
+package main
+func main() {
+ var arr [1000200030]int // ERROR "type .* too large"
+ arr_bkup := arr
+ _ = arr_bkup
+}
\ No newline at end of file
--- /dev/null
+// [ $O != 6 ] || errchk $G -e $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2444
+
+package main
+func main() { // ERROR "stack frame too large"
+ var arr [1000200030]int
+ arr_bkup := arr
+ _ = arr_bkup
+}
+
--- /dev/null
+// errchk $G $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2451, 2452
+package foo
+
+func f() error { return 0 } // ERROR "cannot use 0 .type int.|has no methods"
+
+func g() error { return -1 } // ERROR "cannot use -1 .type int.|has no methods"
--- /dev/null
+// $G $D/$F.go || echo "Bug387"
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2549
+
+/* Used to die with
+missing typecheck: [7f5bf07b4438]
+
+. AS l(45)
+. . NAME-main.autotmp_0017 u(1) a(1) l(45) x(0+0) class(PAUTO)
+esc(N) tc(1) used(1) ARRAY-[2]string
+internal compiler error: missing typecheck
+*/
+package main
+
+import (
+ "fmt"
+ "path/filepath"
+)
+
+func main() {
+ switch _, err := filepath.Glob(filepath.Join(".", "vnc")); {
+ case err != nil:
+ fmt.Println(err)
+ }
+}
+
--- /dev/null
+// errchk $G $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2231
+
+package main
+import "runtime"
+
+func foo(runtime.UintType, i int) { // ERROR "cannot declare name runtime.UintType|named/anonymous mix"
+ println(i, runtime.UintType)
+}
+
+func bar(i int) {
+ runtime.UintType := i // ERROR "cannot declare name runtime.UintType|non-name on left side"
+ println(runtime.UintType) // GCCGO_ERROR "invalid use of type"
+}
+
+func baz() {
+ main.i := 1 // ERROR "non-name main.i|non-name on left side"
+ println(main.i) // GCCGO_ERROR "no fields or methods"
+}
+
+func qux() {
+ var main.i // ERROR "unexpected [.]|expected type"
+ println(main.i)
+}
+
+func corge() {
+ var foo.i int // ERROR "unexpected [.]|expected type"
+ println(foo.i)
+}
+
+func main() {
+ foo(42,43)
+ bar(1969)
+}
--- /dev/null
+// errchk $G $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2563
+package foo
+
+func fn(a float32) {}
+
+var f func(arg int) = fn // ERROR "cannot use fn .type func.float32.. as type func.int. in assignment|different parameter types"
--- /dev/null
+// errchk $G -e $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2627 -- unsafe.Pointer type isn't handled nicely in some errors
+
+package main
+
+import "unsafe"
+
+func main() {
+ var x *int
+ _ = unsafe.Pointer(x) - unsafe.Pointer(x) // ERROR "operator - not defined on unsafe.Pointer|expected integer, floating, or complex type"
+}
--- /dev/null
+// $G $D/$F.go || echo "Issue2576"
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2576
+package bug
+
+type T struct { a int }
+
+func f(t T) {
+ switch _, _ = t.a, t.a; {}
+}
\ No newline at end of file
--- /dev/null
+// Copyright 2012 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Functions that the inliner exported incorrectly.
+
+package one
+
+type T int
+
+// Issue 2678
+func F1(T *T) bool { return T == nil }
+
+// Issue 2682.
+func F2(c chan int) bool { return c == (<-chan int)(nil) }
+
+// Use of single named return value.
+func F3() (ret []int) { return append(ret, 1) }
+
+// Call of inlined method with blank receiver.
+func (_ *T) M() int { return 1 }
+func (t *T) MM() int { return t.M() }
--- /dev/null
+// Copyright 2012 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Use the functions in one.go so that the inlined
+// forms get type-checked.
+
+package two
+
+import "./one"
+
+func use() {
+ one.F1(nil)
+ one.F2(nil)
+ one.F3()
+
+ var t *one.T
+ t.M()
+ t.MM()
+}
--- /dev/null
+// $G $D/$F.dir/one.go && $G $D/$F.dir/two.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package ignored
--- /dev/null
+// $G $D/$F.go || echo BUG: bug393
+
+// Copyright 2012 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// issue 2672
+// was trying binary search with an interface type
+
+package main
+
+func f(x interface{}) int {
+ switch x {
+ case 1:
+ return 1
+ case 2:
+ return 2
+ case 3:
+ return 3
+ case 4:
+ return 4
+ case "5":
+ return 5
+ case "6":
+ return 6
+ default:
+ return 7
+ }
+ panic("switch")
+}
--- /dev/null
+// errchk $G $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2598
+package foo
+
+return nil // ERROR "non-declaration statement outside function body|expected declaration"
--- /dev/null
+// Copyright 2012 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package one
+
+type T struct { int }
+
+func New(i int) T { return T{i} }
--- /dev/null
+// Copyright 2012 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Use the functions in one.go so that the inlined
+// forms get type-checked.
+
+package two
+
+import "./one"
+
+func use() {
+ _ = one.New(1)
+}
\ No newline at end of file
--- /dev/null
+// $G $D/$F.dir/one.go && $G $D/$F.dir/two.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package ignored
--- /dev/null
+// errchk $G -e $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+// Issue 2623
+var m = map[string]int {
+ "abc":1,
+ 1:2, // ERROR "cannot use 1.*as type string in map key|incompatible type"
+}
+++ /dev/null
-# Copyright 2010 The Go Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style
-# license that can be found in the LICENSE file.
-
-include ../../src/Make.inc
-
-ALL=\
- parser\
- peano\
- tree\
-
-all: $(addsuffix .out, $(ALL))
-
-%.$O: %.go stats.go
- $(GC) $*.go stats.go
-
-%.out: %.$O
- $(LD) -o $@ $*.$O
-
-%.bench: %.out
- ./$*.out
-
-bench: $(addsuffix .bench, $(ALL))
-
-clean:
- rm -f *.[$(OS)] $(addsuffix .out, $(ALL))
-
+++ /dev/null
-// Copyright 2010 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Garbage collection benchmark: parse Go packages repeatedly.
-
-package main
-
-import (
- "flag"
- "fmt"
- "go/ast"
- "go/parser"
- "go/token"
- "os"
- "path"
- "runtime"
- "strings"
- "time"
- "http"
- _ "http/pprof"
- "log"
-)
-
-var serve = flag.String("serve", "", "serve http on this address at end")
-
-func isGoFile(dir *os.FileInfo) bool {
- return dir.IsRegular() &&
- !strings.HasPrefix(dir.Name, ".") && // ignore .files
- path.Ext(dir.Name) == ".go"
-}
-
-func isPkgFile(dir *os.FileInfo) bool {
- return isGoFile(dir) &&
- !strings.HasSuffix(dir.Name, "_test.go") // ignore test files
-}
-
-func pkgName(filename string) string {
- file, err := parser.ParseFile(token.NewFileSet(), filename, nil, parser.PackageClauseOnly)
- if err != nil || file == nil {
- return ""
- }
- return file.Name.Name
-}
-
-func parseDir(dirpath string) map[string]*ast.Package {
- // the package name is the directory name within its parent
- // (use dirname instead of path because dirname is clean; i.e. has no trailing '/')
- _, pkgname := path.Split(dirpath)
-
- // filter function to select the desired .go files
- filter := func(d *os.FileInfo) bool {
- if isPkgFile(d) {
- // Some directories contain main packages: Only accept
- // files that belong to the expected package so that
- // parser.ParsePackage doesn't return "multiple packages
- // found" errors.
- // Additionally, accept the special package name
- // fakePkgName if we are looking at cmd documentation.
- name := pkgName(dirpath + "/" + d.Name)
- return name == pkgname
- }
- return false
- }
-
- // get package AST
- pkgs, err := parser.ParseDir(token.NewFileSet(), dirpath, filter, parser.ParseComments)
- if err != nil {
- println("parse", dirpath, err.String())
- panic("fail")
- }
- return pkgs
-}
-
-func main() {
- runtime.GOMAXPROCS(4)
- go func() {}()
- go func() {}()
- go func() {}()
- st := &runtime.MemStats
- packages = append(packages, packages...)
- packages = append(packages, packages...)
- n := flag.Int("n", 4, "iterations")
- p := flag.Int("p", len(packages), "# of packages to keep in memory")
- flag.BoolVar(&st.DebugGC, "d", st.DebugGC, "print GC debugging info (pause times)")
- flag.Parse()
-
- var lastParsed []map[string]*ast.Package
- var t0 int64
- pkgroot := runtime.GOROOT() + "/src/pkg/"
- for pass := 0; pass < 2; pass++ {
- // Once the heap is grown to full size, reset counters.
- // This hides the start-up pauses, which are much smaller
- // than the normal pauses and would otherwise make
- // the average look much better than it actually is.
- st.NumGC = 0
- st.PauseTotalNs = 0
- t0 = time.Nanoseconds()
-
- for i := 0; i < *n; i++ {
- parsed := make([]map[string]*ast.Package, *p)
- for j := range parsed {
- parsed[j] = parseDir(pkgroot + packages[j%len(packages)])
- }
- if i+1 == *n && *serve != "" {
- lastParsed = parsed
- }
- }
- runtime.GC()
- runtime.GC()
- }
- t1 := time.Nanoseconds()
-
- fmt.Printf("Alloc=%d/%d Heap=%d Mallocs=%d PauseTime=%.3f/%d = %.3f\n",
- st.Alloc, st.TotalAlloc,
- st.Sys,
- st.Mallocs, float64(st.PauseTotalNs)/1e9,
- st.NumGC, float64(st.PauseTotalNs)/1e9/float64(st.NumGC))
-
- /*
- fmt.Printf("%10s %10s %10s\n", "size", "#alloc", "#free")
- for _, s := range st.BySize {
- fmt.Printf("%10d %10d %10d\n", s.Size, s.Mallocs, s.Frees)
- }
- */
- // Standard gotest benchmark output, collected by build dashboard.
- gcstats("BenchmarkParser", *n, t1-t0)
-
- if *serve != "" {
- log.Fatal(http.ListenAndServe(*serve, nil))
- println(lastParsed)
- }
-}
-
-
-var packages = []string{
- "archive/tar",
- "asn1",
- "big",
- "bufio",
- "bytes",
- "cmath",
- "compress/flate",
- "compress/gzip",
- "compress/zlib",
- "container/heap",
- "container/list",
- "container/ring",
- "container/vector",
- "crypto/aes",
- "crypto/block",
- "crypto/blowfish",
- "crypto/hmac",
- "crypto/md4",
- "crypto/md5",
- "crypto/rand",
- "crypto/rc4",
- "crypto/rsa",
- "crypto/sha1",
- "crypto/sha256",
- "crypto/sha512",
- "crypto/subtle",
- "crypto/tls",
- "crypto/x509",
- "crypto/xtea",
- "debug/dwarf",
- "debug/macho",
- "debug/elf",
- "debug/gosym",
- "debug/proc",
- "ebnf",
- "encoding/ascii85",
- "encoding/base64",
- "encoding/binary",
- "encoding/git85",
- "encoding/hex",
- "encoding/pem",
- "exec",
- "exp/datafmt",
- "exp/draw",
- "exp/eval",
- "exp/iterable",
- "expvar",
- "flag",
- "fmt",
- "go/ast",
- "go/doc",
- "go/parser",
- "go/printer",
- "go/scanner",
- "go/token",
- "gob",
- "hash",
- "hash/adler32",
- "hash/crc32",
- "hash/crc64",
- "http",
- "image",
- "image/jpeg",
- "image/png",
- "io",
- "io/ioutil",
- "json",
- "log",
- "math",
- "mime",
- "net",
- "os",
- "os/signal",
- "patch",
- "path",
- "rand",
- "reflect",
- "regexp",
- "rpc",
- "runtime",
- "scanner",
- "sort",
- "smtp",
- "strconv",
- "strings",
- "sync",
- "syscall",
- "syslog",
- "tabwriter",
- "template",
- "testing",
- "testing/iotest",
- "testing/quick",
- "testing/script",
- "time",
- "unicode",
- "utf8",
- "utf16",
- "websocket",
- "xml",
-}
+++ /dev/null
-// $G $F.go && $L $F.$A && ./$A.out
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import (
- "fmt"
- "runtime"
- "time"
-)
-
-
-type Number struct {
- next *Number
-}
-
-
-// -------------------------------------
-// Peano primitives
-
-func zero() *Number { return nil }
-
-
-func is_zero(x *Number) bool { return x == nil }
-
-
-func add1(x *Number) *Number {
- e := new(Number)
- e.next = x
- return e
-}
-
-
-func sub1(x *Number) *Number { return x.next }
-
-
-func add(x, y *Number) *Number {
- if is_zero(y) {
- return x
- }
-
- return add(add1(x), sub1(y))
-}
-
-
-func mul(x, y *Number) *Number {
- if is_zero(x) || is_zero(y) {
- return zero()
- }
-
- return add(mul(x, sub1(y)), x)
-}
-
-
-func fact(n *Number) *Number {
- if is_zero(n) {
- return add1(zero())
- }
-
- return mul(fact(sub1(n)), n)
-}
-
-
-// -------------------------------------
-// Helpers to generate/count Peano integers
-
-func gen(n int) *Number {
- if n > 0 {
- return add1(gen(n - 1))
- }
-
- return zero()
-}
-
-
-func count(x *Number) int {
- if is_zero(x) {
- return 0
- }
-
- return count(sub1(x)) + 1
-}
-
-
-func check(x *Number, expected int) {
- var c = count(x)
- if c != expected {
- panic(fmt.Sprintf("error: found %d; expected %d", c, expected))
- }
-}
-
-
-// -------------------------------------
-// Test basic functionality
-
-func verify() {
- check(zero(), 0)
- check(add1(zero()), 1)
- check(gen(10), 10)
-
- check(add(gen(3), zero()), 3)
- check(add(zero(), gen(4)), 4)
- check(add(gen(3), gen(4)), 7)
-
- check(mul(zero(), zero()), 0)
- check(mul(gen(3), zero()), 0)
- check(mul(zero(), gen(4)), 0)
- check(mul(gen(3), add1(zero())), 3)
- check(mul(add1(zero()), gen(4)), 4)
- check(mul(gen(3), gen(4)), 12)
-
- check(fact(zero()), 1)
- check(fact(add1(zero())), 1)
- check(fact(gen(5)), 120)
-}
-
-
-// -------------------------------------
-// Factorial
-
-
-func main() {
- t0 := time.Nanoseconds()
- verify()
- for i := 0; i <= 9; i++ {
- print(i, "! = ", count(fact(gen(i))), "\n")
- }
- runtime.GC()
- t1 := time.Nanoseconds()
-
- gcstats("BenchmarkPeano", 1, t1-t0)
-}
+++ /dev/null
-// Copyright 2010 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import (
- "fmt"
- "runtime"
- "sort"
-)
-
-func gcstats(name string, n int, t int64) {
- st := &runtime.MemStats
- fmt.Printf("garbage.%sMem Alloc=%d/%d Heap=%d NextGC=%d Mallocs=%d\n", name, st.Alloc, st.TotalAlloc, st.Sys, st.NextGC, st.Mallocs)
- fmt.Printf("garbage.%s %d %d ns/op\n", name, n, t/int64(n))
- fmt.Printf("garbage.%sLastPause 1 %d ns/op\n", name, st.PauseNs[(st.NumGC-1)%uint32(len(st.PauseNs))])
- fmt.Printf("garbage.%sPause %d %d ns/op\n", name, st.NumGC, int64(st.PauseTotalNs)/int64(st.NumGC))
- nn := int(st.NumGC)
- if nn >= len(st.PauseNs) {
- nn = len(st.PauseNs)
- }
- t1, t2, t3, t4, t5 := tukey5(st.PauseNs[0:nn])
- fmt.Printf("garbage.%sPause5: %d %d %d %d %d\n", name, t1, t2, t3, t4, t5)
-
-// fmt.Printf("garbage.%sScan: %v\n", name, st.ScanDist)
-}
-
-type T []uint64
-func (t T) Len() int { return len(t) }
-func (t T) Swap(i, j int) { t[i], t[j] = t[j], t[i] }
-func (t T) Less(i, j int) bool { return t[i] < t[j] }
-
-func tukey5(raw []uint64) (lo, q1, q2, q3, hi uint64) {
- x := make(T, len(raw))
- copy(x, raw)
- sort.Sort(T(x))
- lo = x[0]
- q1 = x[len(x)/4]
- q2 = x[len(x)/2]
- q3 = x[len(x)*3/4]
- hi = x[len(x)-1]
- return
-}
+++ /dev/null
-/*
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of "The Computer Language Benchmarks Game" nor the
- name of "The Computer Language Shootout Benchmarks" nor the names of
- its contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* The Computer Language Benchmarks Game
- * http://shootout.alioth.debian.org/
- *
- * contributed by The Go Authors.
- * based on C program by Kevin Carson
- */
-
-package main
-
-import (
- "flag"
- "fmt"
- "time"
-)
-
-var n = flag.Int("n", 16, "depth")
-
-type Node struct {
- item int
- left, right *Node
-}
-
-func bottomUpTree(item, depth int) *Node {
- if depth <= 0 {
- return &Node{item: item}
- }
- return &Node{item, bottomUpTree(2*item-1, depth-1), bottomUpTree(2*item, depth-1)}
-}
-
-func (n *Node) itemCheck() int {
- if n.left == nil {
- return n.item
- }
- return n.item + n.left.itemCheck() - n.right.itemCheck()
-}
-
-const minDepth = 4
-
-func main() {
- flag.Parse()
-
- t0 := time.Nanoseconds()
-
- maxDepth := *n
- if minDepth+2 > *n {
- maxDepth = minDepth + 2
- }
- stretchDepth := maxDepth + 1
-
- check := bottomUpTree(0, stretchDepth).itemCheck()
- fmt.Printf("stretch tree of depth %d\t check: %d\n", stretchDepth, check)
-
- longLivedTree := bottomUpTree(0, maxDepth)
-
- for depth := minDepth; depth <= maxDepth; depth += 2 {
- iterations := 1 << uint(maxDepth-depth+minDepth)
- check = 0
-
- for i := 1; i <= iterations; i++ {
- check += bottomUpTree(i, depth).itemCheck()
- check += bottomUpTree(-i, depth).itemCheck()
- }
- fmt.Printf("%d\t trees of depth %d\t check: %d\n", iterations*2, depth, check)
- }
- fmt.Printf("long lived tree of depth %d\t check: %d\n", maxDepth, longLivedTree.itemCheck())
-
- t1 := time.Nanoseconds()
-
- // Standard gotest benchmark output, collected by build dashboard.
- gcstats("BenchmarkTree", *n, t1-t0)
-}
== ./
-=========== ./cmp2.go
-panic: runtime error: comparing uncomparable type []int
-
-
-=========== ./cmp3.go
-panic: runtime error: comparing uncomparable type []int
-
-
-=========== ./cmp4.go
-panic: runtime error: hash of unhashable type []int
-
-
-=========== ./cmp5.go
-panic: runtime error: hash of unhashable type []int
-
-
-=========== ./deferprint.go
-printing: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
-42 true false true +1.500000e+000 world 0x0 [0/0]0x0 0x0 0x0 255
-
-=========== ./goprint.go
-42 true false true +1.500000e+000 world 0x0 [0/0]0x0 0x0 0x0 255
-
-=========== ./helloworld.go
-hello, world
-
-=========== ./peano.go
-0! = 1
-1! = 1
-2! = 2
-3! = 6
-4! = 24
-5! = 120
-6! = 720
-7! = 5040
-8! = 40320
-9! = 362880
-
-=========== ./printbig.go
--9223372036854775808
-9223372036854775807
-
-=========== ./sigchld.go
-survived SIGCHLD
-
-=========== ./sinit.go
-FAIL
-
-=========== ./turing.go
-Hello World!
-
== ken/
-=========== ken/cplx0.go
-(+5.000000e+000+6.000000e+000i)
-(+5.000000e+000+6.000000e+000i)
-(+5.000000e+000+6.000000e+000i)
-(+5.000000e+000+6.000000e+000i)
-
-=========== ken/cplx3.go
-(+1.292308e+000-1.384615e-001i)
-(+1.292308e+000-1.384615e-001i)
-
-=========== ken/cplx4.go
-c = (-5.000000-6.000000i)
-c = (5.000000+6.000000i)
-c = (5.000000+6.000000i)
-c = (5.000000+6.000000i)
-c = (5+6i)
-c = (13+7i)
-
-=========== ken/cplx5.go
-(+5.000000e+000-5.000000e+000i)
-(+5.000000e+000-5.000000e+000i)
-(+5.000000e+000-5.000000e+000i)
-(+5.000000e+000-5.000000e+000i)
-(+5.000000e+000-5.000000e+000i)
-(+5.000000e+000-5.000000e+000i)
-(+5.000000e+000-5.000000e+000i)
-
-=========== ken/intervar.go
- print 1 bio 2 file 3 -- abc
-
-=========== ken/label.go
-100
-
-=========== ken/rob1.go
-9876543210
-
-=========== ken/rob2.go
-(defn foo (add 12 34))
-
-=========== ken/simpprint.go
-hello world
-
-=========== ken/simpswitch.go
-0out01out12out2aout34out4fiveout56out6aout78out89out9
-
-=========== ken/string.go
-abcxyz-abcxyz-abcxyz-abcxyz-abcxyz-abcxyz-abcxyz
-
== chan/
-=========== chan/doubleselect.go
-PASS
-
-=========== chan/nonblock.go
-PASS
-
== interface/
-=========== interface/fail.go
-panic: interface conversion: *main.S is not main.I: missing method Foo
-
-
-=========== interface/returntype.go
-panic: interface conversion: *main.S is not main.I2: missing method Name
-
-
-== nilptr/
-
== syntax/
-== fixedbugs/
-
-=========== fixedbugs/bug027.go
-hi
-0 44444
-1 3333
-2 222
-3 11
-4 0
-0 44444
-1 3333
-2 222
-3 11
-4 0
-
-=========== fixedbugs/bug067.go
-ok
-
-=========== fixedbugs/bug070.go
-outer loop top k 0
-inner loop top i 0
-do break
-broke
-
-=========== fixedbugs/bug093.go
-M
-
-=========== fixedbugs/bug113.go
-panic: interface conversion: interface is int, not int32
+== dwarf/
-
-=========== fixedbugs/bug148.go
-2 3
-panic: interface conversion: interface is main.T, not main.T
-
-
-=========== fixedbugs/bug328.go
-0x0
+== fixedbugs/
== bugs/
+
+=========== bugs/bug395.go
+bug395 is broken
-// $G $D/$F.go && $L $F.$A && ./$A.out
+// $G $D/$F.go && $L $F.$A && ./$A.out 2>&1 | cmp - $D/$F.out
// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
--- /dev/null
+42 true false true +1.500000e+000 world 0x0 [0/0]0x0 0x0 0x0 255
-// $G $F.go && $L $F.$A && ./$A.out
+// $G $F.go && $L $F.$A && ./$A.out 2>&1 | cmp - $D/$F.out
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
--- /dev/null
+hello, world
--- /dev/null
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Test that goroutines and garbage collection run during init.
+
+package main
+
+import "runtime"
+
+var x []byte
+
+func init() {
+ c := make(chan int)
+ go send(c)
+ <-c
+
+ const chunk = 1<<20
+ runtime.UpdateMemStats()
+ sys := runtime.MemStats.Sys
+ b := make([]byte, chunk)
+ for i := range b {
+ b[i] = byte(i%10 + '0')
+ }
+ s := string(b)
+ for i := 0; i < 1000; i++ {
+ x = []byte(s)
+ }
+ runtime.UpdateMemStats()
+ sys1 := runtime.MemStats.Sys
+ if sys1-sys > chunk*50 {
+ println("allocated 1000 chunks of", chunk, "and used ", sys1-sys, "memory")
+ }
+}
+
+func send(c chan int) {
+ c <- 1
+}
+
+func main() {
+}
+
-// $G $D/$F.go && $L $F.$A && ! ./$A.out
+// $G $D/$F.go && $L $F.$A && ./$A.out
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
}
func main() {
+ shouldPanic(p1)
+}
+
+func p1() {
var s *S
var i I
var e interface {}
_ = i
}
-// hide S down here to avoid static warning
type S struct {
}
+
+func shouldPanic(f func()) {
+ defer func() {
+ if recover() == nil {
+ panic("function should panic")
+ }
+ }()
+ f()
+}
--- /dev/null
+// $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG: interface/noeq
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Interface values containing types that cannot be compared for equality.
+
+package main
+
+func main() {
+ cmp(1)
+
+ var (
+ m map[int]int
+ s struct{ x []int }
+ f func()
+ )
+ noCmp(m)
+ noCmp(s)
+ noCmp(f)
+}
+
+func cmp(x interface{}) bool {
+ return x == x
+}
+
+func noCmp(x interface{}) {
+ shouldPanic(func() { cmp(x) })
+}
+
+func shouldPanic(f func()) {
+ defer func() {
+ if recover() == nil {
+ panic("function should panic")
+ }
+ }()
+ f()
+}
--- /dev/null
+// true # used by recursive2
+
+// Copyright 2012 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package p
+
+type I1 interface {
+ F() I2
+}
+
+type I2 interface {
+ I1
+}
--- /dev/null
+// $G $D/recursive1.go && $G $D/$F.go
+
+// Copyright 2012 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Check that the mutually recursive types in recursive1.go made it
+// intact and with the same meaning, by assigning to or using them.
+
+package main
+
+import "./recursive1"
+
+func main() {
+ var i1 p.I1
+ var i2 p.I2
+ i1 = i2
+ i2 = i1
+ i1 = i2.F()
+ i2 = i1.F()
+ _, _ = i1, i2
+}
-// $G $D/$F.go && $L $F.$A && (! ./$A.out || echo BUG: should not succeed)
+// $G $D/$F.go && $L $F.$A && ./$A.out
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
type I2 interface { Name() int64 }
func main() {
+ shouldPanic(p1)
+}
+
+func p1() {
var i1 I1
var s *S
i1 = s
print(i1.(I2).Name())
}
+
+func shouldPanic(f func()) {
+ defer func() {
+ if recover() == nil {
+ panic("function should panic")
+ }
+ }()
+ f()
+}
-// $G $D/$F.go && $L $F.$A && ./$A.out
+// $G $D/$F.go && $L $F.$A && ./$A.out 2>&1 | cmp - $D/$F.out
// Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
--- /dev/null
+(+5.000000e+000+6.000000e+000i)
+(+5.000000e+000+6.000000e+000i)
+(+5.000000e+000+6.000000e+000i)
+(+5.000000e+000+6.000000e+000i)
println("opcode x", ce, Ce)
panic("fail")
}
+
+ r32 := real(complex64(ce))
+ if r32 != float32(real(Ce)) {
+ println("real(complex64(ce))", r32, real(Ce))
+ panic("fail")
+ }
+
+ r64 := real(complex128(ce))
+ if r64 != real(Ce) {
+ println("real(complex128(ce))", r64, real(Ce))
+ panic("fail")
+ }
}
func main() {
c0 := C1
c0 = (c0 + c0 + c0) / (c0 + c0 + 3i)
- println(c0)
+ r, i := real(c0), imag(c0)
+ d := r - 1.292308
+ if d < 0 {
+ d = - d
+ }
+ if d > 1e-6 {
+ println(r, "!= 1.292308")
+ panic(0)
+ }
+ d = i + 0.1384615
+ if d < 0 {
+ d = - d
+ }
+ if d > 1e-6 {
+ println(i, "!= -0.1384615")
+ panic(0)
+ }
c := *(*complex128)(unsafe.Pointer(&c0))
- println(c)
+ if c != c0 {
+ println(c, "!=", c)
+ panic(0)
+ }
var a interface{}
switch c := reflect.ValueOf(a); c.Kind() {
C1 = R + I // ADD(5,6)
)
-func doprint(c complex128) { fmt.Printf("c = %f\n", c) }
+func want(s, w string) {
+ if s != w {
+ panic(s + " != " + w)
+ }
+}
+
+func doprint(c complex128, w string) {
+ s := fmt.Sprintf("%f", c)
+ want(s, w)
+}
func main() {
// constants
- fmt.Printf("c = %f\n", -C1)
- doprint(C1)
+ s := fmt.Sprintf("%f", -C1)
+ want(s, "(-5.000000-6.000000i)")
+ doprint(C1, "(5.000000+6.000000i)")
// variables
c1 := C1
- fmt.Printf("c = %f\n", c1)
- doprint(c1)
+ s = fmt.Sprintf("%f", c1)
+ want(s, "(5.000000+6.000000i)")
+ doprint(c1, "(5.000000+6.000000i)")
// 128
c2 := complex128(C1)
- fmt.Printf("c = %G\n", c2)
+ s = fmt.Sprintf("%G", c2)
+ want(s, "(5+6i)")
// real, imag, complex
c3 := complex(real(c2)+3, imag(c2)-5) + c2
- fmt.Printf("c = %G\n", c3)
+ s = fmt.Sprintf("%G", c3)
+ want(s, "(13+7i)")
// compiler used to crash on nested divide
c4 := complex(real(c3/2), imag(c3/2))
if c4 != c3/2 {
fmt.Printf("BUG: c3 = %G != c4 = %G\n", c3, c4)
+ panic(0)
}
}
for i := 0; i < len(a); i++ {
a[i] = complex(float64(i), float64(-i))
}
- println(a[5])
+ if a[5] != 5-5i {
+ panic(a[5])
+ }
// slice of complex128
s = make([]complex128, len(a))
for i := 0; i < len(s); i++ {
s[i] = a[i]
}
- println(s[5])
+ if s[5] != 5-5i {
+ panic(s[5])
+ }
// chan
c = make(chan complex128)
go chantest(c)
- println(<-c)
+ vc := <-c
+ if vc != 5-5i {
+ panic(vc)
+ }
// pointer of complex128
v := a[5]
pv := &v
- println(*pv)
+ if *pv != 5-5i {
+ panic(*pv)
+ }
// field of complex128
f.c = a[5]
- println(f.c)
+ if f.c != 5-5i {
+ panic(f.c)
+ }
// map of complex128
m = make(map[complex128]complex128)
for i := 0; i < len(s); i++ {
m[-a[i]] = a[i]
}
- println(m[5i-5])
- println(m[complex(-5, 5)])
+ if m[5i-5] != 5-5i {
+ panic(m[5i-5])
+ }
+ vm := m[complex(-5, 5)]
+ if vm != 5-5i {
+ panic(vm)
+ }
}
func chantest(c chan complex128) { c <- a[5] }
package main
type Iputs interface {
- puts (s string);
+ puts (s string) string;
}
// ---------
put Iputs;
}
-func (p *Print) dop() {
- print(" print ", p.whoami);
- p.put.puts("abc");
+func (p *Print) dop() string {
+ r := " print " + string(p.whoami + '0')
+ return r + p.put.puts("abc");
}
// ---------
put Iputs;
}
-func (b *Bio) puts(s string) {
- print(" bio ", b.whoami);
- b.put.puts(s);
+func (b *Bio) puts(s string) string {
+ r := " bio " + string(b.whoami + '0')
+ return r + b.put.puts(s);
}
// ---------
put Iputs;
}
-func (f *File) puts(s string) {
- print(" file ", f.whoami, " -- ", s);
+func (f *File) puts(s string) string {
+ return " file " + string(f.whoami + '0') + " -- " + s
}
func
f.whoami = 3;
- p.dop();
- print("\n");
+ r := p.dop();
+ expected := " print 1 bio 2 file 3 -- abc"
+ if r != expected {
+ panic(r + " != " + expected)
+ }
}
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-
package main
-func
-main() {
- i := 0;
+func main() {
+ i := 0
if false {
- goto gogoloop;
+ goto gogoloop
}
if false {
- goto gogoloop;
+ goto gogoloop
}
if false {
- goto gogoloop;
+ goto gogoloop
}
- goto gogoloop;
+ goto gogoloop
-// backward declared
+ // backward declared
loop:
- i = i+1;
+ i = i + 1
if i < 100 {
- goto loop;
+ goto loop
}
- print(i);
- print("\n");
- return;
+ return
gogoloop:
- goto loop;
+ goto loop
}
package main
type Item interface {
- Print();
+ Print() string
}
type ListItem struct {
- item Item;
- next *ListItem;
+ item Item
+ next *ListItem
}
type List struct {
- head *ListItem;
+ head *ListItem
}
func (list *List) Init() {
- list.head = nil;
+ list.head = nil
}
func (list *List) Insert(i Item) {
- item := new(ListItem);
- item.item = i;
- item.next = list.head;
- list.head = item;
+ item := new(ListItem)
+ item.item = i
+ item.next = list.head
+ list.head = item
}
-func (list *List) Print() {
- i := list.head;
+func (list *List) Print() string {
+ r := ""
+ i := list.head
for i != nil {
- i.item.Print();
- i = i.next;
+ r += i.item.Print()
+ i = i.next
}
+ return r
}
// Something to put in a list
type Integer struct {
- val int;
+ val int
}
func (this *Integer) Init(i int) *Integer {
- this.val = i;
- return this;
+ this.val = i
+ return this
}
-func (this *Integer) Print() {
- print(this.val);
+func (this *Integer) Print() string {
+ return string(this.val + '0')
}
-func
-main() {
- list := new(List);
- list.Init();
+func main() {
+ list := new(List)
+ list.Init()
for i := 0; i < 10; i = i + 1 {
- integer := new(Integer);
- integer.Init(i);
- list.Insert(integer);
+ integer := new(Integer)
+ integer.Init(i)
+ list.Insert(integer)
}
- list.Print();
- print("\n");
+ r := list.Print()
+ if r != "9876543210" {
+ panic(r)
+ }
}
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-
package main
-const nilchar = 0;
+import "fmt"
+
+const nilchar = 0
type Atom struct {
- str string;
- integer int;
- next *Slist; /* in hash bucket */
+ str string
+ integer int
+ next *Slist /* in hash bucket */
}
type List struct {
- car *Slist;
- cdr*Slist;
+ car *Slist
+ cdr *Slist
}
type Slist struct {
- isatom bool;
- isstring bool;
+ isatom bool
+ isstring bool
//union {
- atom Atom;
- list List;
+ atom Atom
+ list List
//} u;
}
func (this *Slist) Car() *Slist {
- return this.list.car;
+ return this.list.car
}
func (this *Slist) Cdr() *Slist {
- return this.list.cdr;
+ return this.list.cdr
}
func (this *Slist) String() string {
- return this.atom.str;
+ return this.atom.str
}
func (this *Slist) Integer() int {
- return this.atom.integer;
+ return this.atom.integer
}
func (slist *Slist) Free() {
if slist == nil {
- return;
+ return
}
if slist.isatom {
-// free(slist.String());
+ // free(slist.String());
} else {
- slist.Car().Free();
- slist.Cdr().Free();
+ slist.Car().Free()
+ slist.Cdr().Free()
}
-// free(slist);
+ // free(slist);
}
//Slist* atom(byte *s, int i);
-var token int;
-var peekc int = -1;
-var lineno int32 = 1;
+var token int
+var peekc int = -1
+var lineno int32 = 1
-var input string;
-var inputindex int = 0;
-var tokenbuf [100]byte;
-var tokenlen int = 0;
+var input string
+var inputindex int = 0
+var tokenbuf [100]byte
+var tokenlen int = 0
-const EOF int = -1;
+const EOF int = -1
func main() {
- var list *Slist;
+ var list *Slist
- OpenFile();
- for ;; {
- list = Parse();
+ OpenFile()
+ for {
+ list = Parse()
if list == nil {
- break;
+ break
+ }
+ r := list.Print()
+ list.Free()
+ if r != "(defn foo (add 12 34))" {
+ panic(r)
}
- list.Print();
- list.Free();
- break;
+ break
}
}
-func (slist *Slist) PrintOne(doparen bool) {
+func (slist *Slist) PrintOne(doparen bool) string {
if slist == nil {
- return;
+ return ""
}
+ var r string
if slist.isatom {
if slist.isstring {
- print(slist.String());
+ r = slist.String()
} else {
- print(slist.Integer());
+ r = fmt.Sprintf("%v", slist.Integer())
}
} else {
if doparen {
- print("(" );
+ r += "("
}
- slist.Car().PrintOne(true);
+ r += slist.Car().PrintOne(true)
if slist.Cdr() != nil {
- print(" ");
- slist.Cdr().PrintOne(false);
+ r += " "
+ r += slist.Cdr().PrintOne(false)
}
if doparen {
- print(")");
+ r += ")"
}
}
+ return r
}
-func (slist *Slist) Print() {
- slist.PrintOne(true);
- print("\n");
+func (slist *Slist) Print() string {
+ return slist.PrintOne(true)
}
func Get() int {
- var c int;
+ var c int
if peekc >= 0 {
- c = peekc;
- peekc = -1;
+ c = peekc
+ peekc = -1
} else {
- c = int(input[inputindex]);
- inputindex++;
+ c = int(input[inputindex])
+ inputindex++
if c == '\n' {
- lineno = lineno + 1;
+ lineno = lineno + 1
}
if c == nilchar {
- inputindex = inputindex - 1;
- c = EOF;
+ inputindex = inputindex - 1
+ c = EOF
}
}
- return c;
+ return c
}
func WhiteSpace(c int) bool {
- return c == ' ' || c == '\t' || c == '\r' || c == '\n';
+ return c == ' ' || c == '\t' || c == '\r' || c == '\n'
}
func NextToken() {
- var i, c int;
+ var i, c int
- tokenbuf[0] = nilchar; // clear previous token
- c = Get();
+ tokenbuf[0] = nilchar // clear previous token
+ c = Get()
for WhiteSpace(c) {
- c = Get();
+ c = Get()
}
switch c {
case EOF:
- token = EOF;
+ token = EOF
case '(', ')':
- token = c;
- break;
+ token = c
+ break
default:
- for i = 0; i < 100 - 1; { // sizeof tokenbuf - 1
- tokenbuf[i] = byte(c);
- i = i + 1;
- c = Get();
+ for i = 0; i < 100-1; { // sizeof tokenbuf - 1
+ tokenbuf[i] = byte(c)
+ i = i + 1
+ c = Get()
if c == EOF {
- break;
+ break
}
if WhiteSpace(c) || c == ')' {
- peekc = c;
- break;
+ peekc = c
+ break
}
}
- if i >= 100 - 1 { // sizeof tokenbuf - 1
- panic("atom too long\n");
+ if i >= 100-1 { // sizeof tokenbuf - 1
+ panic("atom too long\n")
}
- tokenlen = i;
- tokenbuf[i] = nilchar;
+ tokenlen = i
+ tokenbuf[i] = nilchar
if '0' <= tokenbuf[0] && tokenbuf[0] <= '9' {
- token = '0';
+ token = '0'
} else {
- token = 'A';
+ token = 'A'
}
}
}
func Expect(c int) {
if token != c {
- print("parse error: expected ", c, "\n");
- panic("parse");
+ print("parse error: expected ", c, "\n")
+ panic("parse")
}
- NextToken();
+ NextToken()
}
// Parse a non-parenthesized list up to a closing paren or EOF
func ParseList() *Slist {
- var slist, retval *Slist;
-
- slist = new(Slist);
- slist.list.car = nil;
- slist.list.cdr = nil;
- slist.isatom = false;
- slist.isstring = false;
-
- retval = slist;
- for ;; {
- slist.list.car = Parse();
- if token == ')' || token == EOF { // empty cdr
- break;
+ var slist, retval *Slist
+
+ slist = new(Slist)
+ slist.list.car = nil
+ slist.list.cdr = nil
+ slist.isatom = false
+ slist.isstring = false
+
+ retval = slist
+ for {
+ slist.list.car = Parse()
+ if token == ')' || token == EOF { // empty cdr
+ break
}
- slist.list.cdr = new(Slist);
- slist = slist.list.cdr;
+ slist.list.cdr = new(Slist)
+ slist = slist.list.cdr
}
- return retval;
+ return retval
}
-func atom(i int) *Slist { // BUG: uses tokenbuf; should take argument)
- var slist *Slist;
+func atom(i int) *Slist { // BUG: uses tokenbuf; should take argument)
+ var slist *Slist
- slist = new(Slist);
+ slist = new(Slist)
if token == '0' {
- slist.atom.integer = i;
- slist.isstring = false;
+ slist.atom.integer = i
+ slist.isstring = false
} else {
- slist.atom.str = string(tokenbuf[0:tokenlen]);
- slist.isstring = true;
+ slist.atom.str = string(tokenbuf[0:tokenlen])
+ slist.isstring = true
}
- slist.isatom = true;
- return slist;
+ slist.isatom = true
+ return slist
}
-func atoi() int { // BUG: uses tokenbuf; should take argument)
- var v int = 0;
+func atoi() int { // BUG: uses tokenbuf; should take argument)
+ var v int = 0
for i := 0; i < tokenlen && '0' <= tokenbuf[i] && tokenbuf[i] <= '9'; i = i + 1 {
- v = 10 * v + int(tokenbuf[i] - '0');
+ v = 10*v + int(tokenbuf[i]-'0')
}
- return v;
+ return v
}
func Parse() *Slist {
- var slist *Slist;
+ var slist *Slist
if token == EOF || token == ')' {
- return nil;
+ return nil
}
if token == '(' {
- NextToken();
- slist = ParseList();
- Expect(')');
- return slist;
+ NextToken()
+ slist = ParseList()
+ Expect(')')
+ return slist
} else {
// Atom
switch token {
case EOF:
- return nil;
+ return nil
case '0':
- slist = atom(atoi());
+ slist = atom(atoi())
case '"', 'A':
- slist = atom(0);
+ slist = atom(0)
default:
- slist = nil;
- print("unknown token: ", token, "\n");
+ slist = nil
+ print("unknown token: ", token, "\n")
}
- NextToken();
- return slist;
+ NextToken()
+ return slist
}
- return nil;
+ return nil
}
func OpenFile() {
- input = "(defn foo (add 12 34))\n\x00";
- inputindex = 0;
- peekc = -1; // BUG
- NextToken();
+ input = "(defn foo (add 12 34))\n\x00"
+ inputindex = 0
+ peekc = -1 // BUG
+ NextToken()
}
+++ /dev/null
-// $G $D/$F.go && $L $F.$A && ./$A.out
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-
-package main
-
-func
-main() {
- print("hello world\n");
-}
package main
-func
-main() {
- a := 3;
- for i:=0; i<10; i=i+1 {
- switch(i) {
+func main() {
+ r := ""
+ a := 3
+ for i := 0; i < 10; i = i + 1 {
+ switch i {
case 5:
- print("five");
- case a,7:
- print("a");
+ r += "five"
+ case a, 7:
+ r += "a"
default:
- print(i);
+ r += string(i + '0')
}
- print("out", i);
+ r += "out" + string(i+'0')
+ }
+ if r != "0out01out12out2aout34out4fiveout56out6aout78out89out9" {
+ panic(r)
}
- print("\n");
}
-// $G $D/$F.go && $L $F.$A && ./$A.out
+// $G $D/$F.go && $L $F.$A && ./$A.out 2>&1 | cmp - $D/$F.out
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
/* create string with integer constant */
c = string('x')
if c != "x" {
- print("create int ", c)
- panic("fail")
+ panic("create int " + c)
}
/* create string with integer variable */
v := 'x'
c = string(v)
if c != "x" {
- print("create int ", c)
- panic("fail")
+ panic("create int " + c)
}
/* create string with byte array */
z1[2] = 'c'
c = string(z1[0:])
if c != "abc" {
- print("create byte array ", c)
- panic("fail")
+ panic("create byte array " + c)
}
/* create string with int array */
z2[2] = 'c'
c = string(z2[0:])
if c != "a\u1234c" {
- print("create int array ", c)
- panic("fail")
+ panic("create int array " + c)
}
/* create string with byte array pointer */
z3[2] = 'c'
c = string(z3[0:])
if c != "abc" {
- print("create array pointer ", c)
- panic("fail")
+ panic("create array pointer " + c)
}
}
--- /dev/null
+abcxyz-abcxyz-abcxyz-abcxyz-abcxyz-abcxyz-abcxyz
nfinal++
}
+func nofinalB(b *B) {
+ panic("nofinalB run")
+}
+
func main() {
runtime.GOMAXPROCS(4)
for i = 0; i < N; i++ {
b := &B{i}
a := &A{b, i}
+ c := new(B)
+ runtime.SetFinalizer(c, nofinalB)
runtime.SetFinalizer(b, finalB)
runtime.SetFinalizer(a, finalA)
+ runtime.SetFinalizer(c, nil)
}
for i := 0; i < N; i++ {
runtime.GC()
runtime.Gosched()
time.Sleep(1e6)
+ if nfinal >= N*8/10 {
+ break
+ }
}
if nfinal < N*8/10 {
println("not enough finalizing:", nfinal, "/", N)
func main() {
runtime.GC() // clean up garbage from init
+ runtime.UpdateMemStats() // first call can do some allocations
runtime.MemProfileRate = 0 // disable profiler
runtime.MemStats.Alloc = 0 // ignore stacks
flag.Parse()
--- /dev/null
+// errchk $G -e $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+func main() {}
+
+type v bool
+
+var (
+ // valid
+ _ map[int8]v
+ _ map[uint8]v
+ _ map[int16]v
+ _ map[uint16]v
+ _ map[int32]v
+ _ map[uint32]v
+ _ map[int64]v
+ _ map[uint64]v
+ _ map[int]v
+ _ map[uint]v
+ _ map[uintptr]v
+ _ map[float32]v
+ _ map[float64]v
+ _ map[complex64]v
+ _ map[complex128]v
+ _ map[bool]v
+ _ map[string]v
+ _ map[chan int]v
+ _ map[*int]v
+ _ map[struct{}]v
+ _ map[[10]int]v
+
+ // invalid
+ _ map[[]int]v // ERROR "invalid map key"
+ _ map[func()]v // ERROR "invalid map key"
+ _ map[map[int]int]v // ERROR "invalid map key"
+)
m[2] = 3
})
shouldPanic(func() {
- m[2] = 0, false
+ delete(m, 2)
})
}
--- /dev/null
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+import "unsafe"
+
+// Having a big address space means that indexing
+// at a 256 MB offset from a nil pointer might not
+// cause a memory access fault. This test checks
+// that Go is doing the correct explicit checks to catch
+// these nil pointer accesses, not just relying on the hardware.
+var dummy [256 << 20]byte // give us a big address space
+
+func main() {
+ // the test only tests what we intend to test
+ // if dummy starts in the first 256 MB of memory.
+ // otherwise there might not be anything mapped
+ // at the address that might be accidentally
+ // dereferenced below.
+ if uintptr(unsafe.Pointer(&dummy)) > 256<<20 {
+ panic("dummy too far out")
+ }
+
+ shouldPanic(p1)
+ shouldPanic(p2)
+ shouldPanic(p3)
+ shouldPanic(p4)
+ shouldPanic(p5)
+ shouldPanic(p6)
+ shouldPanic(p7)
+ shouldPanic(p8)
+ shouldPanic(p9)
+ shouldPanic(p10)
+}
+
+func shouldPanic(f func()) {
+ defer func() {
+ if recover() == nil {
+ panic("memory reference did not panic")
+ }
+ }()
+ f()
+}
+
+func p1() {
+ // Array index.
+ var p *[1 << 30]byte = nil
+ println(p[256<<20]) // very likely to be inside dummy, but should panic
+}
+
+var xb byte
+
+func p2() {
+ var p *[1 << 30]byte = nil
+ xb = 123
+
+ // Array index.
+ println(p[uintptr(unsafe.Pointer(&xb))]) // should panic
+}
+
+func p3() {
+ // Array to slice.
+ var p *[1 << 30]byte = nil
+ var x []byte = p[0:] // should panic
+ _ = x
+}
+
+var q *[1 << 30]byte
+
+func p4() {
+ // Array to slice.
+ var x []byte
+ var y = &x
+ *y = q[0:] // should crash (uses arraytoslice runtime routine)
+}
+
+func fb([]byte) {
+ panic("unreachable")
+}
+
+func p5() {
+ // Array to slice.
+ var p *[1 << 30]byte = nil
+ fb(p[0:]) // should crash
+}
+
+func p6() {
+ // Array to slice.
+ var p *[1 << 30]byte = nil
+ var _ []byte = p[10 : len(p)-10] // should crash
+}
+
+type T struct {
+ x [256 << 20]byte
+ i int
+}
+
+func f() *T {
+ return nil
+}
+
+var y *T
+var x = &y
+
+func p7() {
+ // Struct field access with large offset.
+ println(f().i) // should crash
+}
+
+func p8() {
+ // Struct field access with large offset.
+ println((*x).i) // should crash
+}
+
+func p9() {
+ // Struct field access with large offset.
+ var t *T
+ println(&t.i) // should crash
+}
+
+func p10() {
+ // Struct field access with large offset.
+ var t *T
+ println(t.i) // should crash
+}
+++ /dev/null
-// $G $D/$F.go && $L $F.$A &&
-// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import "unsafe"
-
-var x byte
-
-func main() {
- var p *[1<<30]byte = nil
- x = 123
-
- // The problem here is not the use of unsafe:
- // it is that indexing into p[] with a large
- // enough index jumps out of the unmapped section
- // at the beginning of memory and into valid memory.
- // Pointer offsets and array indices, if they are
- // very large, need to dereference the base pointer
- // to trigger a trap.
- println(p[uintptr(unsafe.Pointer(&x))]) // should crash
-}
+++ /dev/null
-// $G $D/$F.go && $L $F.$A &&
-// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import "unsafe"
-
-var dummy [512<<20]byte // give us a big address space
-func main() {
- // the test only tests what we intend to test
- // if dummy starts in the first 256 MB of memory.
- // otherwise there might not be anything mapped
- // at the address that might be accidentally
- // dereferenced below.
- if uintptr(unsafe.Pointer(&dummy)) > 256<<20 {
- panic("dummy too far out")
- }
-
- // The problem here is that indexing into p[] with a large
- // enough index jumps out of the unmapped section
- // at the beginning of memory and into valid memory.
- // Pointer offsets and array indices, if they are
- // very large, need to dereference the base pointer
- // to trigger a trap.
- var p *[1<<30]byte = nil
- println(p[256<<20]) // very likely to be inside dummy, but should crash
-}
+++ /dev/null
-// $G $D/$F.go && $L $F.$A &&
-// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import "unsafe"
-
-func f([]byte) {
- panic("unreachable")
-}
-
-var dummy [512<<20]byte // give us a big address space
-func main() {
- // the test only tests what we intend to test
- // if dummy starts in the first 256 MB of memory.
- // otherwise there might not be anything mapped
- // at the address that might be accidentally
- // dereferenced below.
- if uintptr(unsafe.Pointer(&dummy)) > 256<<20 {
- panic("dummy too far out")
- }
-
- // The problem here is that indexing into p[] with a large
- // enough index can jump out of the unmapped section
- // at the beginning of memory and into valid memory.
- //
- // To avoid needing a check on every slice beyond the
- // usual len and cap, we require the *array -> slice
- // conversion to do the check.
- var p *[1<<30]byte = nil
- f(p[0:]) // should crash
-}
+++ /dev/null
-// $G $D/$F.go && $L $F.$A &&
-// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import "unsafe"
-
-var dummy [512<<20]byte // give us a big address space
-func main() {
- // the test only tests what we intend to test
- // if dummy starts in the first 256 MB of memory.
- // otherwise there might not be anything mapped
- // at the address that might be accidentally
- // dereferenced below.
- if uintptr(unsafe.Pointer(&dummy)) > 256<<20 {
- panic("dummy too far out")
- }
-
- // The problem here is that indexing into p[] with a large
- // enough index can jump out of the unmapped section
- // at the beginning of memory and into valid memory.
- //
- // To avoid needing a check on every slice beyond the
- // usual len and cap, we require the *array -> slice
- // conversion to do the check.
- var p *[1<<30]byte = nil
- var x []byte = p[0:] // should crash
- _ = x
-}
+++ /dev/null
-// $G $D/$F.go && $L $F.$A &&
-// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import "unsafe"
-
-var dummy [512<<20]byte // give us a big address space
-var q *[1<<30]byte
-func main() {
- // the test only tests what we intend to test
- // if dummy starts in the first 256 MB of memory.
- // otherwise there might not be anything mapped
- // at the address that might be accidentally
- // dereferenced below.
- if uintptr(unsafe.Pointer(&dummy)) > 256<<20 {
- panic("dummy too far out")
- }
-
- // The problem here is that indexing into p[] with a large
- // enough index can jump out of the unmapped section
- // at the beginning of memory and into valid memory.
- //
- // To avoid needing a check on every slice beyond the
- // usual len and cap, we require the *array -> slice
- // conversion to do the check.
- var x []byte
- var y = &x
- *y = q[0:] // should crash (uses arraytoslice runtime routine)
-}
+++ /dev/null
-// $G $D/$F.go && $L $F.$A &&
-// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import "unsafe"
-
-var dummy [512<<20]byte // give us a big address space
-func main() {
- // the test only tests what we intend to test
- // if dummy starts in the first 256 MB of memory.
- // otherwise there might not be anything mapped
- // at the address that might be accidentally
- // dereferenced below.
- if uintptr(unsafe.Pointer(&dummy)) > 256<<20 {
- panic("dummy too far out")
- }
-
- // The problem here is that indexing into p[] with a large
- // enough index can jump out of the unmapped section
- // at the beginning of memory and into valid memory.
- //
- // To avoid needing a check on every slice beyond the
- // usual len and cap, we require the slice operation
- // to do the check.
- var p *[1<<30]byte = nil
- var _ []byte = p[10:len(p)-10] // should crash
-}
+++ /dev/null
-// $G $D/$F.go && $L $F.$A &&
-// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import "unsafe"
-
-var dummy [512<<20]byte // give us a big address space
-type T struct {
- x [256<<20] byte
- i int
-}
-
-func main() {
- // the test only tests what we intend to test
- // if dummy starts in the first 256 MB of memory.
- // otherwise there might not be anything mapped
- // at the address that might be accidentally
- // dereferenced below.
- if uintptr(unsafe.Pointer(&dummy)) > 256<<20 {
- panic("dummy too far out")
- }
-
- // The problem here is that indexing into t with a large
- // enough index can jump out of the unmapped section
- // at the beginning of memory and into valid memory.
- // We require the pointer dereference to check.
- var t *T
- println(t.i) // should crash
-}
+++ /dev/null
-// $G $D/$F.go && $L $F.$A &&
-// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import "unsafe"
-
-var dummy [512<<20]byte // give us a big address space
-type T struct {
- x [256<<20] byte
- i int
-}
-
-func f() *T {
- return nil
-}
-
-func main() {
- // the test only tests what we intend to test
- // if dummy starts in the first 256 MB of memory.
- // otherwise there might not be anything mapped
- // at the address that might be accidentally
- // dereferenced below.
- if uintptr(unsafe.Pointer(&dummy)) > 256<<20 {
- panic("dummy too far out")
- }
-
- // The problem here is that indexing into t with a large
- // enough index can jump out of the unmapped section
- // at the beginning of memory and into valid memory.
- // We require the pointer dereference to check.
- println(f().i) // should crash
-}
+++ /dev/null
-// $G $D/$F.go && $L $F.$A &&
-// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import "unsafe"
-
-var dummy [512<<20]byte // give us a big address space
-type T struct {
- x [256<<20] byte
- i int
-}
-
-var y *T
-var x = &y
-
-func main() {
- // the test only tests what we intend to test
- // if dummy starts in the first 256 MB of memory.
- // otherwise there might not be anything mapped
- // at the address that might be accidentally
- // dereferenced below.
- if uintptr(unsafe.Pointer(&dummy)) > 256<<20 {
- panic("dummy too far out")
- }
-
- // The problem here is that indexing into t with a large
- // enough index can jump out of the unmapped section
- // at the beginning of memory and into valid memory.
- // We require the pointer dereference to check.
- println((*x).i) // should crash
-}
+++ /dev/null
-// $G $D/$F.go && $L $F.$A &&
-// ((! sh -c ./$A.out) >/dev/null 2>&1 || echo BUG: should fail)
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import "unsafe"
-
-var dummy [512<<20]byte // give us a big address space
-type T struct {
- x [256<<20] byte
- i int
-}
-
-func main() {
- // the test only tests what we intend to test
- // if dummy starts in the first 256 MB of memory.
- // otherwise there might not be anything mapped
- // at the address that might be accidentally
- // dereferenced below.
- if uintptr(unsafe.Pointer(&dummy)) > 256<<20 {
- panic("dummy too far out")
- }
-
- // The problem here is that indexing into t with a large
- // enough index can jump out of the unmapped section
- // at the beginning of memory and into valid memory.
- // We require the address calculation to check.
- var t *T
- println(&t.i) // should crash
-}
type Number *Number
-
// -------------------------------------
// Peano primitives
return nil
}
-
func is_zero(x *Number) bool {
return x == nil
}
-
func add1(x *Number) *Number {
e := new(Number)
*e = x
return e
}
-
func sub1(x *Number) *Number {
return *x
}
-
func add(x, y *Number) *Number {
if is_zero(y) {
return x
return add(add1(x), sub1(y))
}
-
func mul(x, y *Number) *Number {
if is_zero(x) || is_zero(y) {
return zero()
return add(mul(x, sub1(y)), x)
}
-
func fact(n *Number) *Number {
if is_zero(n) {
return add1(zero())
return mul(fact(sub1(n)), n)
}
-
// -------------------------------------
// Helpers to generate/count Peano integers
return zero()
}
-
func count(x *Number) int {
if is_zero(x) {
return 0
return count(sub1(x)) + 1
}
-
func check(x *Number, expected int) {
var c = count(x)
if c != expected {
}
}
-
// -------------------------------------
// Test basic functionality
check(fact(gen(5)), 120)
}
-
// -------------------------------------
// Factorial
+var results = [...]int{
+ 1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800,
+ 39916800, 479001600,
+}
+
func main() {
for i := 0; i <= 9; i++ {
- print(i, "! = ", count(fact(gen(i))), "\n")
+ if f := count(fact(gen(i))); f != results[i] {
+ println("FAIL:", i, "!:", f, "!=", results[i])
+ panic(0)
+ }
}
}
-// $G $F.go && $L $F.$A && ./$A.out
+// $G $F.go && $L $F.$A && ./$A.out 2>&1 | cmp - $D/$F.out
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
--- /dev/null
+-9223372036854775808
+9223372036854775807
--- /dev/null
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Check reordering of assignments.
+
+package main
+
+import "fmt"
+
+func main() {
+ p1()
+ p2()
+ p3()
+ p4()
+ p5()
+ p6()
+ p7()
+ p8()
+}
+
+var gx []int
+
+func f(i int) int {
+ return gx[i]
+}
+
+func check(x []int, x0, x1, x2 int) {
+ if x[0] != x0 || x[1] != x1 || x[2] != x2 {
+ fmt.Printf("%v, want %d,%d,%d\n", x, x0, x1, x2)
+ panic("failed")
+ }
+}
+
+func check3(x, y, z, xx, yy, zz int) {
+ if x != xx || y != yy || z != zz {
+ fmt.Printf("%d,%d,%d, want %d,%d,%d\n", x, y, z, xx, yy, zz)
+ panic("failed")
+ }
+}
+
+func p1() {
+ x := []int{1,2,3}
+ i := 0
+ i, x[i] = 1, 100
+ _ = i
+ check(x, 100, 2, 3)
+}
+
+func p2() {
+ x := []int{1,2,3}
+ i := 0
+ x[i], i = 100, 1
+ _ = i
+ check(x, 100, 2, 3)
+}
+
+func p3() {
+ x := []int{1,2,3}
+ y := x
+ gx = x
+ x[1], y[0] = f(0), f(1)
+ check(x, 2, 1, 3)
+}
+
+func p4() {
+ x := []int{1,2,3}
+ y := x
+ gx = x
+ x[1], y[0] = gx[0], gx[1]
+ check(x, 2, 1, 3)
+}
+
+func p5() {
+ x := []int{1,2,3}
+ y := x
+ p := &x[0]
+ q := &x[1]
+ *p, *q = x[1], y[0]
+ check(x, 2, 1, 3)
+}
+
+func p6() {
+ x := 1
+ y := 2
+ z := 3
+ px := &x
+ py := &y
+ *px, *py = y, x
+ check3(x, y, z, 2, 1, 3)
+}
+
+func f1(x, y, z int) (xx, yy, zz int) {
+ return x, y, z
+}
+
+func f2() (x, y, z int) {
+ return f1(2, 1, 3)
+}
+
+func p7() {
+ x, y, z := f2()
+ check3(x, y, z, 2, 1, 3)
+}
+
+func p8() {
+ x := []int{1,2,3}
+
+ defer func() {
+ err := recover()
+ if err == nil {
+ panic("not panicking")
+ }
+ check(x, 100, 2, 3)
+ }()
+
+ i := 0
+ i, x[i], x[5] = 1, 100, 500
+}
exit 1
esac
-export G=${A}g
+export G="${A}g ${GCFLAGS}"
export L=${A}l
export GOTRACEBACK=0
export LANG=C
failed=0
-PATH=/bin:/usr/bin:/usr/local/bin:${GOBIN:-$GOROOT/bin}:`pwd`
+PATH=${GOBIN:-$GOROOT/bin}:`pwd`:/bin:/usr/bin:/usr/local/bin
RUNFILE="/tmp/gorun-$$-$USER"
TMP1FILE="/tmp/gotest1-$$-$USER"
grep '^'"$2"'$' $1 >/dev/null
}
-for dir in . ken chan interface nilptr syntax fixedbugs bugs
+for dir in . ken chan interface syntax dwarf fixedbugs bugs
do
echo
echo '==' $dir'/'
--- /dev/null
+// $G $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+var (
+ r0 = 'a'
+ r1 = 'a'+1
+ r2 = 1+'a'
+ r3 = 'a'*2
+ r4 = 'a'/2
+ r5 = 'a'<<1
+ r6 = 'b'<<2
+ r7 int32
+
+ r = []rune{r0, r1, r2, r3, r4, r5, r6, r7}
+)
+
+var (
+ f0 = 1.2
+ f1 = 1.2/'a'
+
+ f = []float64{f0, f1}
+)
+
+var (
+ i0 = 1
+ i1 = 1<<'\x01'
+
+ i = []int{i0, i1}
+)
+
+const (
+ maxRune = '\U0010FFFF'
+)
+
+var (
+ b0 = maxRune < r0
+
+ b = []bool{b0}
+)
-// $G $D/$F.go && $L $F.$A && ./$A.out
+// [ "$GOOS" == windows ] ||
+// ($G $D/$F.go && $L $F.$A && ./$A.out 2>&1 | cmp - $D/$F.out)
// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
--- /dev/null
+survived SIGCHLD
-// $G -S $D/$F.go | egrep initdone >/dev/null && echo FAIL || true
+// $G -S $D/$F.go | egrep initdone >/dev/null && echo BUG sinit || true
// Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// Should be no init func in the assembly.
// All these initializations should be done at link time.
-type S struct{ a,b,c int }
-type SS struct{ aa,bb,cc S }
-type SA struct{ a,b,c [3]int }
-type SC struct{ a,b,c []int }
+type S struct{ a, b, c int }
+type SS struct{ aa, bb, cc S }
+type SA struct{ a, b, c [3]int }
+type SC struct{ a, b, c []int }
var (
- zero = 2
- one = 1
- pi = 3.14
- slice = []byte{1,2,3}
- sliceInt = []int{1,2,3}
- hello = "hello, world"
- bytes = []byte("hello, world")
- four, five = 4, 5
- x, y = 0.1, "hello"
- nilslice []byte = nil
- nilmap map[string]int = nil
- nilfunc func() = nil
- nilchan chan int = nil
- nilptr *byte = nil
+ zero = 2
+ one = 1
+ pi = 3.14
+ slice = []byte{1, 2, 3}
+ sliceInt = []int{1, 2, 3}
+ hello = "hello, world"
+ bytes = []byte("hello, world")
+ four, five = 4, 5
+ x, y = 0.1, "hello"
+ nilslice []byte = nil
+ nilmap map[string]int = nil
+ nilfunc func() = nil
+ nilchan chan int = nil
+ nilptr *byte = nil
)
-var a = [3]int{1001, 1002, 1003}
-var s = S{1101, 1102, 1103}
-var c = []int{1201, 1202, 1203}
+var a = [3]int{1001, 1002, 1003}
+var s = S{1101, 1102, 1103}
+var c = []int{1201, 1202, 1203}
-var aa = [3][3]int{[3]int{2001,2002,2003}, [3]int{2004,2005,2006}, [3]int{2007,2008,2009}}
-var as = [3]S{S{2101,2102,2103},S{2104,2105,2106},S{2107,2108,2109}}
-var ac = [3][]int{[]int{2201,2202,2203}, []int{2204,2205,2206}, []int{2207,2208,2209}}
+var aa = [3][3]int{[3]int{2001, 2002, 2003}, [3]int{2004, 2005, 2006}, [3]int{2007, 2008, 2009}}
+var as = [3]S{S{2101, 2102, 2103}, S{2104, 2105, 2106}, S{2107, 2108, 2109}}
+var ac = [3][]int{[]int{2201, 2202, 2203}, []int{2204, 2205, 2206}, []int{2207, 2208, 2209}}
-var sa = SA{[3]int{3001,3002,3003},[3]int{3004,3005,3006},[3]int{3007,3008,3009}}
-var ss = SS{S{3101,3102,3103},S{3104,3105,3106},S{3107,3108,3109}}
-var sc = SC{[]int{3201,3202,3203},[]int{3204,3205,3206},[]int{3207,3208,3209}}
+var sa = SA{[3]int{3001, 3002, 3003}, [3]int{3004, 3005, 3006}, [3]int{3007, 3008, 3009}}
+var ss = SS{S{3101, 3102, 3103}, S{3104, 3105, 3106}, S{3107, 3108, 3109}}
+var sc = SC{[]int{3201, 3202, 3203}, []int{3204, 3205, 3206}, []int{3207, 3208, 3209}}
-var ca = [][3]int{[3]int{4001,4002,4003}, [3]int{4004,4005,4006}, [3]int{4007,4008,4009}}
-var cs = []S{S{4101,4102,4103},S{4104,4105,4106},S{4107,4108,4109}}
-var cc = [][]int{[]int{4201,4202,4203}, []int{4204,4205,4206}, []int{4207,4208,4209}}
+var ca = [][3]int{[3]int{4001, 4002, 4003}, [3]int{4004, 4005, 4006}, [3]int{4007, 4008, 4009}}
+var cs = []S{S{4101, 4102, 4103}, S{4104, 4105, 4106}, S{4107, 4108, 4109}}
+var cc = [][]int{[]int{4201, 4202, 4203}, []int{4204, 4205, 4206}, []int{4207, 4208, 4209}}
-var answers = [...]int {
+var answers = [...]int{
// s
1101, 1102, 1103,
2008, 2208, 2308, 4008, 4208, 4308, 5008, 5208, 5308,
2009, 2209, 2309, 4009, 4209, 4309, 5009, 5209, 5309,
}
+
+var (
+ copy_zero = zero
+ copy_one = one
+ copy_pi = pi
+ copy_slice = slice
+ copy_sliceInt = sliceInt
+ copy_hello = hello
+ copy_bytes = bytes
+ copy_four, copy_five = four, five
+ copy_x, copy_y = x, y
+ copy_nilslice = nilslice
+ copy_nilmap = nilmap
+ copy_nilfunc = nilfunc
+ copy_nilchan = nilchan
+ copy_nilptr = nilptr
+)
+
+var copy_a = a
+var copy_s = s
+var copy_c = c
+
+var copy_aa = aa
+var copy_as = as
+var copy_ac = ac
+
+var copy_sa = sa
+var copy_ss = ss
+var copy_sc = sc
+
+var copy_ca = ca
+var copy_cs = cs
+var copy_cc = cc
+
+var copy_answers = answers
+
+var bx bool
+var b0 = false
+var b1 = true
+
+var fx float32
+var f0 = float32(0)
+var f1 = float32(1)
+
+var gx float64
+var g0 = float64(0)
+var g1 = float64(1)
+
+var ix int
+var i0 = 0
+var i1 = 1
+
+var jx uint
+var j0 = uint(0)
+var j1 = uint(1)
+
+var cx complex64
+var c0 = complex64(0)
+var c1 = complex64(1)
+
+var dx complex128
+var d0 = complex128(0)
+var d1 = complex128(1)
+
+var sx []int
+var s0 = []int{0, 0, 0}
+var s1 = []int{1, 2, 3}
+
+func fi() int
+
+var ax [10]int
+var a0 = [10]int{0, 0, 0}
+var a1 = [10]int{1, 2, 3, 4}
+
+type T struct{ X, Y int }
+
+var tx T
+var t0 = T{}
+var t0a = T{0, 0}
+var t0b = T{X: 0}
+var t1 = T{X: 1, Y: 2}
+var t1a = T{3, 4}
+
+var psx *[]int
+var ps0 = &[]int{0, 0, 0}
+var ps1 = &[]int{1, 2, 3}
+
+var pax *[10]int
+var pa0 = &[10]int{0, 0, 0}
+var pa1 = &[10]int{1, 2, 3}
+
+var ptx *T
+var pt0 = &T{}
+var pt0a = &T{0, 0}
+var pt0b = &T{X: 0}
+var pt1 = &T{X: 1, Y: 2}
+var pt1a = &T{3, 4}
+
+var copy_bx = bx
+var copy_b0 = b0
+var copy_b1 = b1
+
+var copy_fx = fx
+var copy_f0 = f0
+var copy_f1 = f1
+
+var copy_gx = gx
+var copy_g0 = g0
+var copy_g1 = g1
+
+var copy_ix = ix
+var copy_i0 = i0
+var copy_i1 = i1
+
+var copy_jx = jx
+var copy_j0 = j0
+var copy_j1 = j1
+
+var copy_cx = cx
+var copy_c0 = c0
+var copy_c1 = c1
+
+var copy_dx = dx
+var copy_d0 = d0
+var copy_d1 = d1
+
+var copy_sx = sx
+var copy_s0 = s0
+var copy_s1 = s1
+
+var copy_ax = ax
+var copy_a0 = a0
+var copy_a1 = a1
+
+var copy_tx = tx
+var copy_t0 = t0
+var copy_t0a = t0a
+var copy_t0b = t0b
+var copy_t1 = t1
+var copy_t1a = t1a
+
+var copy_psx = psx
+var copy_ps0 = ps0
+var copy_ps1 = ps1
+
+var copy_pax = pax
+var copy_pa0 = pa0
+var copy_pa1 = pa1
+
+var copy_ptx = ptx
+var copy_pt0 = pt0
+var copy_pt0a = pt0a
+var copy_pt0b = pt0b
+var copy_pt1 = pt1
+var copy_pt1a = pt1a
--- /dev/null
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// zero length structs.
+// used to not be evaluated.
+// issue 2232.
+
+package main
+
+func recv(c chan interface{}) struct{} {
+ return (<-c).(struct{})
+}
+
+var m = make(map[interface{}]int)
+
+func recv1(c chan interface{}) {
+ defer rec()
+ m[(<-c).(struct{})] = 0
+}
+
+func rec() {
+ recover()
+}
+
+func main() {
+ c := make(chan interface{})
+ go recv(c)
+ c <- struct{}{}
+ go recv1(c)
+ c <- struct{}{}
+}
hello := "hello"
switch true {
- case i5 < 5: assert(false, "<")
- case i5 == 5: assert(true, "!")
- case i5 > 5: assert(false, ">")
+ case i5 < 5:
+ assert(false, "<")
+ case i5 == 5:
+ assert(true, "!")
+ case i5 > 5:
+ assert(false, ">")
}
switch {
- case i5 < 5: assert(false, "<")
- case i5 == 5: assert(true, "!")
- case i5 > 5: assert(false, ">")
+ case i5 < 5:
+ assert(false, "<")
+ case i5 == 5:
+ assert(true, "!")
+ case i5 > 5:
+ assert(false, ">")
}
switch x := 5; true {
- case i5 < x: assert(false, "<")
- case i5 == x: assert(true, "!")
- case i5 > x: assert(false, ">")
+ case i5 < x:
+ assert(false, "<")
+ case i5 == x:
+ assert(true, "!")
+ case i5 > x:
+ assert(false, ">")
}
switch x := 5; true {
- case i5 < x: assert(false, "<")
- case i5 == x: assert(true, "!")
- case i5 > x: assert(false, ">")
+ case i5 < x:
+ assert(false, "<")
+ case i5 == x:
+ assert(true, "!")
+ case i5 > x:
+ assert(false, ">")
}
switch i5 {
- case 0: assert(false, "0")
- case 1: assert(false, "1")
- case 2: assert(false, "2")
- case 3: assert(false, "3")
- case 4: assert(false, "4")
- case 5: assert(true, "5")
- case 6: assert(false, "6")
- case 7: assert(false, "7")
- case 8: assert(false, "8")
- case 9: assert(false, "9")
- default: assert(false, "default")
+ case 0:
+ assert(false, "0")
+ case 1:
+ assert(false, "1")
+ case 2:
+ assert(false, "2")
+ case 3:
+ assert(false, "3")
+ case 4:
+ assert(false, "4")
+ case 5:
+ assert(true, "5")
+ case 6:
+ assert(false, "6")
+ case 7:
+ assert(false, "7")
+ case 8:
+ assert(false, "8")
+ case 9:
+ assert(false, "9")
+ default:
+ assert(false, "default")
}
switch i5 {
- case 0,1,2,3,4: assert(false, "4")
- case 5: assert(true, "5")
- case 6,7,8,9: assert(false, "9")
- default: assert(false, "default")
+ case 0, 1, 2, 3, 4:
+ assert(false, "4")
+ case 5:
+ assert(true, "5")
+ case 6, 7, 8, 9:
+ assert(false, "9")
+ default:
+ assert(false, "default")
}
switch i5 {
case 1:
case 2:
case 3:
- case 4: assert(false, "4")
- case 5: assert(true, "5")
+ case 4:
+ assert(false, "4")
+ case 5:
+ assert(true, "5")
case 6:
case 7:
case 8:
case 9:
- default: assert(i5 == 5, "good")
+ default:
+ assert(i5 == 5, "good")
}
switch i5 {
- case 0: dummy := 0; _ = dummy; fallthrough
- case 1: dummy := 0; _ = dummy; fallthrough
- case 2: dummy := 0; _ = dummy; fallthrough
- case 3: dummy := 0; _ = dummy; fallthrough
- case 4: dummy := 0; _ = dummy; assert(false, "4")
- case 5: dummy := 0; _ = dummy; fallthrough
- case 6: dummy := 0; _ = dummy; fallthrough
- case 7: dummy := 0; _ = dummy; fallthrough
- case 8: dummy := 0; _ = dummy; fallthrough
- case 9: dummy := 0; _ = dummy; fallthrough
- default: dummy := 0; _ = dummy; assert(i5 == 5, "good")
+ case 0:
+ dummy := 0
+ _ = dummy
+ fallthrough
+ case 1:
+ dummy := 0
+ _ = dummy
+ fallthrough
+ case 2:
+ dummy := 0
+ _ = dummy
+ fallthrough
+ case 3:
+ dummy := 0
+ _ = dummy
+ fallthrough
+ case 4:
+ dummy := 0
+ _ = dummy
+ assert(false, "4")
+ case 5:
+ dummy := 0
+ _ = dummy
+ fallthrough
+ case 6:
+ dummy := 0
+ _ = dummy
+ fallthrough
+ case 7:
+ dummy := 0
+ _ = dummy
+ fallthrough
+ case 8:
+ dummy := 0
+ _ = dummy
+ fallthrough
+ case 9:
+ dummy := 0
+ _ = dummy
+ fallthrough
+ default:
+ dummy := 0
+ _ = dummy
+ assert(i5 == 5, "good")
}
fired := false
switch i5 {
- case 0: dummy := 0; _ = dummy; fallthrough; // tests scoping of cases
- case 1: dummy := 0; _ = dummy; fallthrough
- case 2: dummy := 0; _ = dummy; fallthrough
- case 3: dummy := 0; _ = dummy; fallthrough
- case 4: dummy := 0; _ = dummy; assert(false, "4")
- case 5: dummy := 0; _ = dummy; fallthrough
- case 6: dummy := 0; _ = dummy; fallthrough
- case 7: dummy := 0; _ = dummy; fallthrough
- case 8: dummy := 0; _ = dummy; fallthrough
- case 9: dummy := 0; _ = dummy; fallthrough
- default: dummy := 0; _ = dummy; fired = !fired; assert(i5 == 5, "good")
+ case 0:
+ dummy := 0
+ _ = dummy
+ fallthrough // tests scoping of cases
+ case 1:
+ dummy := 0
+ _ = dummy
+ fallthrough
+ case 2:
+ dummy := 0
+ _ = dummy
+ fallthrough
+ case 3:
+ dummy := 0
+ _ = dummy
+ fallthrough
+ case 4:
+ dummy := 0
+ _ = dummy
+ assert(false, "4")
+ case 5:
+ dummy := 0
+ _ = dummy
+ fallthrough
+ case 6:
+ dummy := 0
+ _ = dummy
+ fallthrough
+ case 7:
+ dummy := 0
+ _ = dummy
+ fallthrough
+ case 8:
+ dummy := 0
+ _ = dummy
+ fallthrough
+ case 9:
+ dummy := 0
+ _ = dummy
+ fallthrough
+ default:
+ dummy := 0
+ _ = dummy
+ fired = !fired
+ assert(i5 == 5, "good")
}
assert(fired, "fired")
count := 0
switch i5 {
- case 0: count = count + 1; fallthrough
- case 1: count = count + 1; fallthrough
- case 2: count = count + 1; fallthrough
- case 3: count = count + 1; fallthrough
- case 4: count = count + 1; assert(false, "4")
- case 5: count = count + 1; fallthrough
- case 6: count = count + 1; fallthrough
- case 7: count = count + 1; fallthrough
- case 8: count = count + 1; fallthrough
- case 9: count = count + 1; fallthrough
- default: assert(i5 == count, "good")
+ case 0:
+ count = count + 1
+ fallthrough
+ case 1:
+ count = count + 1
+ fallthrough
+ case 2:
+ count = count + 1
+ fallthrough
+ case 3:
+ count = count + 1
+ fallthrough
+ case 4:
+ count = count + 1
+ assert(false, "4")
+ case 5:
+ count = count + 1
+ fallthrough
+ case 6:
+ count = count + 1
+ fallthrough
+ case 7:
+ count = count + 1
+ fallthrough
+ case 8:
+ count = count + 1
+ fallthrough
+ case 9:
+ count = count + 1
+ fallthrough
+ default:
+ assert(i5 == count, "good")
}
assert(fired, "fired")
switch hello {
- case "wowie": assert(false, "wowie")
- case "hello": assert(true, "hello")
- case "jumpn": assert(false, "jumpn")
- default: assert(false, "default")
+ case "wowie":
+ assert(false, "wowie")
+ case "hello":
+ assert(true, "hello")
+ case "jumpn":
+ assert(false, "jumpn")
+ default:
+ assert(false, "default")
}
fired = false
switch i := i5 + 2; i {
- case i7: fired = true
- default: assert(false, "fail")
+ case i7:
+ fired = true
+ default:
+ assert(false, "fail")
}
assert(fired, "var")
+
+ // switch on nil-only comparison types
+ switch f := func() {}; f {
+ case nil:
+ assert(false, "f should not be nil")
+ default:
+ }
+
+ switch m := make(map[int]int); m {
+ case nil:
+ assert(false, "m should not be nil")
+ default:
+ }
+
+ switch a := make([]int, 1); a {
+ case nil:
+ assert(false, "m should not be nil")
+ default:
+ }
}
--- /dev/null
+// errchk $G -e $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+type I interface {
+ M()
+}
+
+func bad() {
+ var i I
+ var s string
+
+ switch i {
+ case s: // ERROR "mismatched types string and I|incompatible types"
+ }
+
+ switch s {
+ case i: // ERROR "mismatched types I and string|incompatible types"
+ }
+
+ var m, m1 map[int]int
+ switch m {
+ case nil:
+ case m1: // ERROR "can only compare map m to nil|map can only be compared to nil"
+ default:
+ }
+
+ var a, a1 []int
+ switch a {
+ case nil:
+ case a1: // ERROR "can only compare slice a to nil|slice can only be compared to nil"
+ default:
+ }
+
+ var f, f1 func()
+ switch f {
+ case nil:
+ case f1: // ERROR "can only compare func f to nil|func can only be compared to nil"
+ default:
+ }
+}
+
+func good() {
+ var i interface{}
+ var s string
+
+ switch i {
+ case s:
+ }
+
+ switch s {
+ case i:
+ }
+}
--- /dev/null
+// errchk $G $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+func main() {
+ if true {
+ } else ; // ERROR "else must be followed by if or statement block|expected .if. or .{."
+}
--- /dev/null
+0.04 ./235
+1.72 ./64bit
+0.03 ./alias
+0.03 ./alias1
+0.30 ./append
+0.07 ./args
+0.02 ./assign
+0.04 ./assign1
+0.04 ./bigalg
+0.03 ./bigmap
+0.14 ./blank
+0.03 ./blank1
+0.03 ./chancap
+0.07 ./char_lit
+0.03 ./char_lit1
+0.09 ./closedchan
+0.05 ./closure
+0.06 ./cmp
+0.02 ./cmp6
+0.03 ./cmplx
+0.60 ./cmplxdivide
+0.00 ./cmplxdivide1
+0.04 ./complit
+0.02 ./complit1
+0.03 ./compos
+0.04 ./const
+0.03 ./const1
+0.03 ./const2
+0.13 ./const3
+0.08 ./convert
+0.03 ./convert1
+0.02 ./convert3
+0.04 ./convlit
+0.02 ./convlit1
+0.34 ./copy
+0.27 ./crlf
+0.05 ./ddd
+0.02 ./ddd1
+0.00 ./ddd2
+0.04 ./ddd3
+0.03 ./decl
+0.03 ./declbad
+0.14 ./defer
+0.03 ./deferprint
+0.14 ./divide
+0.00 ./empty
+0.08 ./env
+0.00 ./eof
+0.00 ./eof1
+0.04 ./escape
+0.12 ./escape2
+0.03 ./escape3
+0.05 ./float_lit
+0.14 ./floatcmp
+0.03 ./for
+0.04 ./func
+0.03 ./func1
+0.00 ./func2
+0.03 ./func3
+0.03 ./func4
+0.03 ./func5
+0.00 ./func6
+0.04 ./func7
+0.03 ./gc
+0.04 ./gc1
+0.26 ./gc2
+0.06 ./goprint
+0.04 ./goto
+0.04 ./hashmap
+0.03 ./helloworld
+0.03 ./if
+0.02 ./import
+0.15 ./import1
+0.00 ./import2
+0.01 ./import3
+0.14 ./import4
+1.70 ./index
+0.03 ./indirect
+0.02 ./indirect1
+0.02 ./init
+0.25 ./init1
+0.03 ./initcomma
+0.15 ./initialize
+0.02 ./initializerr
+0.06 ./initsyscall
+0.07 ./int_lit
+0.03 ./intcvt
+0.03 ./iota
+0.03 ./label
+0.03 ./label1
+0.04 ./literal
+0.15 ./malloc1
+0.06 ./mallocfin
+0.19 ./mallocrand
+0.21 ./mallocrep
+0.52 ./mallocrep1
+0.17 ./map
+0.02 ./map1
+0.05 ./method
+0.02 ./method1
+0.03 ./method2
+0.04 ./method3
+0.06 ./named
+0.03 ./named1
+0.18 ./nil
+0.15 ./nilptr
+0.16 ./nul1
+0.00 ./parentype
+0.11 ./peano
+0.02 ./printbig
+0.05 ./range
+0.04 ./recover
+0.04 ./recover1
+0.08 ./recover2
+0.06 ./recover3
+0.14 ./rename
+0.02 ./rename1
+0.16 ./reorder
+0.00 ./rune
+0.03 ./runtime
+0.03 ./shift1
+0.01 ./shift2
+0.03 ./sieve
+0.06 ./sigchld
+0.03 ./simassign
+0.02 ./sinit
+0.00 ./sizeof
+0.03 ./solitaire
+0.06 ./stack
+0.08 ./string_lit
+0.14 ./stringrange
+0.04 ./struct0
+0.04 ./switch
+0.08 ./switch1
+0.02 ./switch3
+0.04 ./test0
+0.03 ./turing
+0.07 ./typeswitch
+0.15 ./typeswitch1
+0.02 ./typeswitch2
+0.03 ./typeswitch3
+0.02 ./undef
+0.04 ./utf
+0.03 ./varerr
+0.03 ./varinit
+0.26 ./zerodivide
+0.04 ken/array
+0.11 ken/chan
+0.04 ken/chan1
+0.04 ken/complit
+0.07 ken/convert
+0.03 ken/cplx0
+0.02 ken/cplx1
+0.06 ken/cplx2
+0.09 ken/cplx3
+0.14 ken/cplx4
+0.03 ken/cplx5
+0.31 ken/divconst
+0.05 ken/divmod
+0.04 ken/embed
+0.03 ken/for
+0.04 ken/interbasic
+0.03 ken/interfun
+0.04 ken/intervar
+0.03 ken/label
+0.03 ken/litfun
+0.03 ken/mfunc
+0.34 ken/modconst
+0.03 ken/ptrfun
+0.03 ken/ptrvar
+0.04 ken/range
+0.03 ken/rob1
+0.18 ken/rob2
+0.04 ken/robfor
+0.04 ken/robfunc
+0.03 ken/shift
+0.03 ken/simparray
+0.04 ken/simpbool
+0.03 ken/simpconv
+0.03 ken/simpfun
+0.03 ken/simpswitch
+0.03 ken/simpvar
+0.02 ken/slicearray
+0.03 ken/sliceslice
+0.03 ken/string
+0.03 ken/strvar
+0.32 chan/doubleselect
+0.06 chan/fifo
+0.12 chan/goroutines
+0.07 chan/nonblock
+0.02 chan/perm
+0.10 chan/powser1
+0.09 chan/powser2
+0.03 chan/select
+0.15 chan/select2
+0.97 chan/select3
+0.03 chan/select4
+0.72 chan/select5
+0.03 chan/select6
+0.04 chan/select7
+0.03 chan/sendstmt
+0.03 chan/sieve1
+0.04 chan/sieve2
+0.02 chan/zerosize
+0.04 interface/bigdata
+0.04 interface/convert
+0.03 interface/convert1
+0.03 interface/convert2
+0.09 interface/embed
+0.00 interface/embed0
+0.03 interface/embed1
+0.02 interface/embed2
+0.02 interface/explicit
+0.03 interface/fail
+0.09 interface/fake
+0.03 interface/noeq
+0.03 interface/pointer
+0.03 interface/private
+0.00 interface/private1
+0.04 interface/receiver
+0.03 interface/receiver1
+0.00 interface/recursive
+0.03 interface/returntype
+0.09 interface/struct
+0.02 syntax/chan
+0.03 syntax/chan1
+0.02 syntax/else
+0.02 syntax/forvar
+0.03 syntax/if
+0.03 syntax/import
+0.03 syntax/interface
+0.03 syntax/semi1
+0.02 syntax/semi2
+0.03 syntax/semi3
+0.03 syntax/semi4
+0.02 syntax/semi5
+0.03 syntax/semi6
+0.02 syntax/semi7
+0.02 syntax/topexpr
+0.03 syntax/typesw
+0.02 syntax/vareq
+0.03 syntax/vareq1
+0.04 dwarf/linedirectives
+0.05 dwarf/main
+0.00 dwarf/z1
+0.00 dwarf/z10
+0.00 dwarf/z11
+0.00 dwarf/z12
+0.00 dwarf/z13
+0.00 dwarf/z14
+0.00 dwarf/z15
+0.00 dwarf/z16
+0.00 dwarf/z17
+0.00 dwarf/z18
+0.00 dwarf/z19
+0.00 dwarf/z2
+0.00 dwarf/z20
+0.00 dwarf/z3
+0.00 dwarf/z4
+0.00 dwarf/z5
+0.00 dwarf/z6
+0.00 dwarf/z7
+0.00 dwarf/z8
+0.00 dwarf/z9
+0.03 fixedbugs/bug000
+0.03 fixedbugs/bug002
+0.03 fixedbugs/bug003
+0.03 fixedbugs/bug004
+0.04 fixedbugs/bug005
+0.08 fixedbugs/bug006
+0.03 fixedbugs/bug007
+0.03 fixedbugs/bug008
+0.02 fixedbugs/bug009
+0.03 fixedbugs/bug010
+0.03 fixedbugs/bug011
+0.03 fixedbugs/bug012
+0.03 fixedbugs/bug013
+0.03 fixedbugs/bug014
+0.02 fixedbugs/bug015
+0.02 fixedbugs/bug016
+0.03 fixedbugs/bug017
+0.00 fixedbugs/bug020
+0.03 fixedbugs/bug021
+0.02 fixedbugs/bug022
+0.03 fixedbugs/bug023
+0.03 fixedbugs/bug024
+0.03 fixedbugs/bug026
+0.14 fixedbugs/bug027
+0.03 fixedbugs/bug028
+0.02 fixedbugs/bug030
+0.03 fixedbugs/bug031
+0.02 fixedbugs/bug035
+0.00 fixedbugs/bug036
+0.02 fixedbugs/bug037
+0.00 fixedbugs/bug038
+0.03 fixedbugs/bug039
+0.00 fixedbugs/bug040
+0.03 fixedbugs/bug045
+0.03 fixedbugs/bug046
+0.03 fixedbugs/bug047
+0.02 fixedbugs/bug048
+0.03 fixedbugs/bug049
+0.03 fixedbugs/bug050
+0.02 fixedbugs/bug051
+0.03 fixedbugs/bug052
+0.03 fixedbugs/bug053
+0.03 fixedbugs/bug054
+0.03 fixedbugs/bug055
+0.03 fixedbugs/bug056
+0.00 fixedbugs/bug057
+0.04 fixedbugs/bug058
+0.08 fixedbugs/bug059
+0.08 fixedbugs/bug060
+0.03 fixedbugs/bug061
+0.03 fixedbugs/bug062
+0.00 fixedbugs/bug063
+0.00 fixedbugs/bug064
+0.03 fixedbugs/bug065
+0.00 fixedbugs/bug066
+0.03 fixedbugs/bug067
+0.03 fixedbugs/bug068
+0.00 fixedbugs/bug069
+0.15 fixedbugs/bug070
+0.00 fixedbugs/bug071
+0.03 fixedbugs/bug072
+0.03 fixedbugs/bug073
+0.03 fixedbugs/bug074
+0.03 fixedbugs/bug075
+0.03 fixedbugs/bug076
+0.00 fixedbugs/bug077
+0.03 fixedbugs/bug078
+0.00 fixedbugs/bug080
+0.02 fixedbugs/bug081
+0.03 fixedbugs/bug082
+0.03 fixedbugs/bug083
+0.04 fixedbugs/bug084
+0.02 fixedbugs/bug085
+0.03 fixedbugs/bug086
+0.00 fixedbugs/bug087
+0.01 fixedbugs/bug088
+0.00 fixedbugs/bug089
+0.03 fixedbugs/bug090
+0.02 fixedbugs/bug091
+0.03 fixedbugs/bug092
+0.03 fixedbugs/bug093
+0.00 fixedbugs/bug094
+0.00 fixedbugs/bug096
+0.03 fixedbugs/bug097
+0.00 fixedbugs/bug098
+0.03 fixedbugs/bug099
+0.03 fixedbugs/bug101
+0.03 fixedbugs/bug102
+0.02 fixedbugs/bug103
+0.03 fixedbugs/bug104
+0.01 fixedbugs/bug106
+0.03 fixedbugs/bug107
+0.03 fixedbugs/bug108
+0.00 fixedbugs/bug109
+0.03 fixedbugs/bug110
+0.03 fixedbugs/bug111
+0.00 fixedbugs/bug112
+0.03 fixedbugs/bug113
+0.03 fixedbugs/bug114
+0.00 fixedbugs/bug115
+0.03 fixedbugs/bug116
+0.02 fixedbugs/bug117
+0.00 fixedbugs/bug118
+0.03 fixedbugs/bug119
+0.11 fixedbugs/bug120
+0.02 fixedbugs/bug121
+0.03 fixedbugs/bug122
+0.03 fixedbugs/bug123
+0.02 fixedbugs/bug126
+0.02 fixedbugs/bug127
+0.03 fixedbugs/bug128
+0.01 fixedbugs/bug129
+0.08 fixedbugs/bug130
+0.02 fixedbugs/bug131
+0.02 fixedbugs/bug132
+0.03 fixedbugs/bug133
+0.00 fixedbugs/bug135
+0.02 fixedbugs/bug136
+0.00 fixedbugs/bug137
+0.00 fixedbugs/bug139
+0.00 fixedbugs/bug140
+0.07 fixedbugs/bug141
+0.03 fixedbugs/bug142
+0.00 fixedbugs/bug143
+0.00 fixedbugs/bug144
+0.00 fixedbugs/bug145
+0.03 fixedbugs/bug146
+0.06 fixedbugs/bug147
+0.03 fixedbugs/bug148
+0.00 fixedbugs/bug149
+0.00 fixedbugs/bug150
+0.00 fixedbugs/bug151
+0.03 fixedbugs/bug1515
+0.03 fixedbugs/bug152
+0.14 fixedbugs/bug154
+0.03 fixedbugs/bug155
+0.00 fixedbugs/bug156
+0.00 fixedbugs/bug157
+0.00 fixedbugs/bug158
+0.07 fixedbugs/bug159
+0.09 fixedbugs/bug160
+0.00 fixedbugs/bug161
+0.02 fixedbugs/bug163
+0.00 fixedbugs/bug164
+0.03 fixedbugs/bug165
+0.03 fixedbugs/bug167
+0.03 fixedbugs/bug168
+0.02 fixedbugs/bug169
+0.03 fixedbugs/bug170
+0.03 fixedbugs/bug171
+0.02 fixedbugs/bug172
+0.00 fixedbugs/bug173
+0.00 fixedbugs/bug174
+0.03 fixedbugs/bug175
+0.03 fixedbugs/bug176
+0.09 fixedbugs/bug177
+0.03 fixedbugs/bug178
+0.03 fixedbugs/bug179
+0.03 fixedbugs/bug180
+0.03 fixedbugs/bug181
+0.02 fixedbugs/bug182
+0.03 fixedbugs/bug183
+0.15 fixedbugs/bug184
+0.04 fixedbugs/bug185
+0.02 fixedbugs/bug186
+0.08 fixedbugs/bug187
+0.03 fixedbugs/bug188
+0.03 fixedbugs/bug189
+0.00 fixedbugs/bug190
+0.04 fixedbugs/bug191
+0.03 fixedbugs/bug192
+0.03 fixedbugs/bug193
+0.03 fixedbugs/bug194
+0.02 fixedbugs/bug195
+0.04 fixedbugs/bug196
+0.02 fixedbugs/bug197
+0.03 fixedbugs/bug198
+0.03 fixedbugs/bug199
+0.03 fixedbugs/bug200
+0.03 fixedbugs/bug201
+0.03 fixedbugs/bug202
+0.03 fixedbugs/bug203
+0.03 fixedbugs/bug204
+0.02 fixedbugs/bug205
+0.21 fixedbugs/bug206
+0.14 fixedbugs/bug207
+0.02 fixedbugs/bug208
+0.02 fixedbugs/bug209
+0.03 fixedbugs/bug211
+0.03 fixedbugs/bug212
+0.03 fixedbugs/bug213
+0.00 fixedbugs/bug214
+0.02 fixedbugs/bug215
+0.00 fixedbugs/bug216
+0.03 fixedbugs/bug217
+0.00 fixedbugs/bug218
+0.00 fixedbugs/bug219
+0.04 fixedbugs/bug221
+0.01 fixedbugs/bug222
+0.00 fixedbugs/bug223
+0.03 fixedbugs/bug224
+0.03 fixedbugs/bug225
+0.03 fixedbugs/bug227
+0.03 fixedbugs/bug228
+0.03 fixedbugs/bug229
+0.03 fixedbugs/bug230
+0.02 fixedbugs/bug231
+0.00 fixedbugs/bug232
+0.01 fixedbugs/bug233
+0.04 fixedbugs/bug234
+0.00 fixedbugs/bug235
+0.04 fixedbugs/bug236
+0.15 fixedbugs/bug237
+0.03 fixedbugs/bug238
+0.00 fixedbugs/bug239
+0.03 fixedbugs/bug240
+0.03 fixedbugs/bug241
+0.04 fixedbugs/bug242
+0.04 fixedbugs/bug243
+0.03 fixedbugs/bug244
+0.00 fixedbugs/bug245
+0.03 fixedbugs/bug246
+0.03 fixedbugs/bug247
+0.11 fixedbugs/bug248
+0.03 fixedbugs/bug249
+0.00 fixedbugs/bug250
+0.03 fixedbugs/bug251
+0.03 fixedbugs/bug252
+0.03 fixedbugs/bug253
+0.03 fixedbugs/bug254
+0.03 fixedbugs/bug255
+0.03 fixedbugs/bug256
+0.47 fixedbugs/bug257
+0.14 fixedbugs/bug258
+0.16 fixedbugs/bug259
+0.16 fixedbugs/bug260
+0.03 fixedbugs/bug261
+0.10 fixedbugs/bug262
+0.03 fixedbugs/bug263
+0.03 fixedbugs/bug264
+0.07 fixedbugs/bug265
+0.03 fixedbugs/bug266
+0.00 fixedbugs/bug267
+0.03 fixedbugs/bug269
+0.13 fixedbugs/bug271
+0.02 fixedbugs/bug272
+0.04 fixedbugs/bug273
+0.02 fixedbugs/bug274
+0.00 fixedbugs/bug275
+0.03 fixedbugs/bug276
+0.00 fixedbugs/bug277
+0.03 fixedbugs/bug278
+0.04 fixedbugs/bug279
+0.02 fixedbugs/bug280
+0.04 fixedbugs/bug281
+0.00 fixedbugs/bug282
+0.00 fixedbugs/bug283
+0.03 fixedbugs/bug284
+0.05 fixedbugs/bug285
+0.04 fixedbugs/bug286
+0.02 fixedbugs/bug287
+0.00 fixedbugs/bug288
+0.02 fixedbugs/bug289
+0.04 fixedbugs/bug290
+0.04 fixedbugs/bug291
+0.03 fixedbugs/bug292
+0.04 fixedbugs/bug293
+0.03 fixedbugs/bug294
+0.16 fixedbugs/bug295
+0.04 fixedbugs/bug296
+0.03 fixedbugs/bug297
+0.03 fixedbugs/bug298
+0.03 fixedbugs/bug299
+0.03 fixedbugs/bug300
+0.00 fixedbugs/bug301
+0.04 fixedbugs/bug302
+0.05 fixedbugs/bug303
+0.00 fixedbugs/bug304
+0.03 fixedbugs/bug305
+0.01 fixedbugs/bug306
+0.00 fixedbugs/bug307
+0.01 fixedbugs/bug308
+0.00 fixedbugs/bug309
+0.04 fixedbugs/bug311
+0.03 fixedbugs/bug312
+0.04 fixedbugs/bug313
+0.04 fixedbugs/bug314
+0.00 fixedbugs/bug315
+0.00 fixedbugs/bug316
+0.03 fixedbugs/bug317
+0.03 fixedbugs/bug318
+0.00 fixedbugs/bug319
+0.03 fixedbugs/bug320
+0.14 fixedbugs/bug321
+0.04 fixedbugs/bug322
+0.03 fixedbugs/bug323
+0.04 fixedbugs/bug324
+0.03 fixedbugs/bug325
+0.02 fixedbugs/bug326
+0.04 fixedbugs/bug327
+0.03 fixedbugs/bug328
+0.04 fixedbugs/bug329
+0.02 fixedbugs/bug330
+0.04 fixedbugs/bug331
+0.02 fixedbugs/bug332
+0.03 fixedbugs/bug333
+0.01 fixedbugs/bug334
+0.01 fixedbugs/bug335
+0.04 fixedbugs/bug336
+0.03 fixedbugs/bug337
+0.00 fixedbugs/bug338
+0.03 fixedbugs/bug339
+0.02 fixedbugs/bug340
+0.03 fixedbugs/bug341
+0.02 fixedbugs/bug342
+0.04 fixedbugs/bug343
+0.02 fixedbugs/bug344
+0.03 fixedbugs/bug345
+0.08 fixedbugs/bug346
+0.04 fixedbugs/bug347
+0.06 fixedbugs/bug348
+0.03 fixedbugs/bug349
+0.03 fixedbugs/bug350
+0.02 fixedbugs/bug351
+0.03 fixedbugs/bug352
+0.03 fixedbugs/bug353
+0.00 fixedbugs/bug354
+0.03 fixedbugs/bug355
+0.03 fixedbugs/bug356
+0.02 fixedbugs/bug357
+0.04 fixedbugs/bug358
+0.00 fixedbugs/bug361
+0.03 fixedbugs/bug362
+0.03 fixedbugs/bug363
+0.15 fixedbugs/bug364
+0.02 fixedbugs/bug365
+0.03 fixedbugs/bug366
+0.03 fixedbugs/bug367
+0.03 fixedbugs/bug368
+0.51 fixedbugs/bug369
+0.03 fixedbugs/bug370
+0.02 fixedbugs/bug371
+0.03 fixedbugs/bug372
+0.03 fixedbugs/bug373
+0.03 fixedbugs/bug374
+0.03 fixedbugs/bug375
+0.03 fixedbugs/bug376
+0.01 fixedbugs/bug377
+0.03 fixedbugs/bug378
+0.02 fixedbugs/bug379
+0.00 fixedbugs/bug380
+0.03 fixedbugs/bug381
+0.01 fixedbugs/bug382
+0.03 fixedbugs/bug383
+0.03 fixedbugs/bug384
+0.00 fixedbugs/bug385_32
+0.03 fixedbugs/bug385_64
+0.03 fixedbugs/bug386
+0.01 fixedbugs/bug387
+0.02 fixedbugs/bug388
+0.03 fixedbugs/bug389
+0.03 fixedbugs/bug390
+0.00 fixedbugs/bug391
+0.01 fixedbugs/bug392
+0.00 fixedbugs/bug393
+0.03 fixedbugs/bug394
+0.00 fixedbugs/bug395
+0.01 fixedbugs/bug396
var p, pc int
var a [30000]byte
+
const prog = "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.!"
func scan(dir int) {
for nest := dir; dir*nest > 0; pc += dir {
switch prog[pc+dir] {
- case ']':
- nest--
- case '[':
- nest++
+ case ']':
+ nest--
+ case '[':
+ nest++
}
}
}
func main() {
+ r := ""
for {
switch prog[pc] {
- case '>':
- p++
- case '<':
- p--
- case '+':
- a[p]++
- case '-':
- a[p]--
- case '.':
- print(string(a[p]))
- case '[':
- if a[p] == 0 {
- scan(1)
- }
- case ']':
- if a[p] != 0 {
- scan(-1)
- }
- default:
- return
+ case '>':
+ p++
+ case '<':
+ p--
+ case '+':
+ a[p]++
+ case '-':
+ a[p]--
+ case '.':
+ r += string(a[p])
+ case '[':
+ if a[p] == 0 {
+ scan(1)
+ }
+ case ']':
+ if a[p] != 0 {
+ scan(-1)
+ }
+ default:
+ if r != "Hello World!\n" {
+ panic(r)
+ }
+ return
}
pc++
}
return "Reader1"
case io.Reader: // ERROR "duplicate"
return "Reader2"
- case interface { r(); w() }:
+ case interface {
+ r()
+ w()
+ }:
return "rw"
- case interface { w(); r() }: // ERROR "duplicate"
+ case interface { // GCCGO_ERROR "duplicate"
+ w()
+ r()
+ }: // GC_ERROR "duplicate"
return "wr"
-
+
}
return ""
}
+
+func notused(x interface{}) {
+ // The first t is in a different scope than the 2nd t; it cannot
+ // be accessed (=> declared and not used error); but it is legal
+ // to declare it.
+ switch t := 0; t := x.(type) { // ERROR "declared and not used"
+ case int:
+ _ = t // this is using the t of "t := x.(type)"
+ }
+}
--- /dev/null
+// errchk $G -e $D/$F.go
+
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+
+type I interface {
+ M()
+}
+
+func main(){
+ var x I
+ switch x.(type) {
+ case string: // ERROR "impossible"
+ println("FAIL")
+ }
+}
import (
"fmt"
"math"
+ "runtime"
"strings"
)
-type Error interface {
- String() string
-}
-
type ErrorTest struct {
name string
fn func()
ErrorTest{"complex128 1/0", func() { use(e128 / d128) }, ""},
}
-func error(fn func()) (error string) {
+func error_(fn func()) (error string) {
defer func() {
if e := recover(); e != nil {
- error = e.(Error).String()
+ error = e.(runtime.Error).Error()
}
}()
fn()
if t.err != "" {
continue
}
- err := error(t.fn)
+ err := error_(t.fn)
switch {
case t.err == "" && err == "":
// fine
-# Copyright (C) 2009 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2011, 2012 Free Software Foundation, Inc.
# 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
global tool
global compiler_conditional_xfail_data
global TORTURE_OPTIONS
+ global go_compile_args
global go_execute_args
# Check for alternate driver.
set executable $tmpdir/[file tail [file rootname $src].x]
regsub "(?q)$srcdir/" $src "" testcase
+ if { ! [info exists go_compile_args] } {
+ set go_compile_args ""
+ }
if { ! [info exists go_execute_args] } {
set go_execute_args ""
}
if { $additional_flags != "" } {
lappend options "additional_flags=$additional_flags"
}
+ if { $go_compile_args != "" } {
+ lappend options "additional_flags=$go_compile_args"
+ }
set comp_output [go_target_compile "$src" "$executable" executable $options]
# See if we got something bad.