gmap-2015-12-31/0000755002622600023770000000000012654517455010062 500000000000000gmap-2015-12-31/util/0000755002622600023770000000000012654517510011027 500000000000000gmap-2015-12-31/util/psl_introns.pl.in0000644002622600023770000001342412567632013014266 00000000000000#! @PERL@ use Getopt::Std; undef $opt_C; # If provided, will keep only introns with canonical splice sites. Requires -d flag. undef $opt_R; # If provided, will report only introns with non-canonical splice sites to stdout. Requires -d flag. undef $opt_2; # If provided, will print dinucleotides at splice sites. Requires -d flag. undef $opt_D; # Genome directory undef $opt_d; # Genome index $opt_s = 0; # starting column (UCSC track can start in column 0 or 1) getopts("D:d:CR2s:"); if (defined($opt_d)) { if (!defined($opt_C) && !defined($opt_R) && !defined($opt_2)) { print STDERR "-d flag useful only with -C, -R, or -2 flags. Ignoring -d flag\n"; undef $opt_d; } elsif (defined($opt_D)) { $GET_GENOME = "get-genome -D $opt_D -d $opt_d"; } else { $GET_GENOME = "get-genome -d $opt_d"; } } else { if (defined($opt_C)) { print STDERR "-C flag requires you to specify -d flag. Ignoring -C flag\n"; undef $opt_C; } if (defined($opt_R)) { print STDERR "-R flag requires you to specify -d flag. Ignoring -R flag\n"; undef $opt_R; } if (defined($opt_2)) { print STDERR "-2 flag requires you to specify -d flag. Ignoring -2 flag\n"; undef $opt_2; } } while (defined($line = <>)) { $line =~ s/\r\n/\n/; chop $line; @fields = split /\t/,$line; $acc = $fields[$opt_s + 0]; $chr = $fields[$opt_s + 1]; #$chr =~ s/chr//; #$chr =~ s/_random/U/; $strand = $fields[$opt_s + 2]; @starts = split ",",$fields[$opt_s + 8]; @ends = split ",",$fields[$opt_s + 9]; $nexons = $#starts + 1; if ($nexons != $fields[$opt_s + 7]) { print STDERR "Reported number of exons $fields[$opt_s + 7] != observed $nexons: Skipping $line\n"; } else { print_exons(\@starts,\@ends,$acc,$chr,$strand); } } exit; sub donor_okay_p { my ($donor_dinucl, $acceptor_dinucl) = @_; if ($donor_dinucl eq "GT") { return 1; } elsif ($donor_dinucl eq "GC") { return 1; } elsif ($donor_dinucl eq "AT" && $acceptor_dinucl eq "AC") { return 1; } else { return 0; } } sub acceptor_okay_p { my ($donor_dinucl, $acceptor_dinucl) = @_; if ($acceptor_dinucl eq "AG") { return 1; } elsif ($donor_dinucl eq "AT" && $acceptor_dinucl eq "AC") { return 1; } else { return 0; } } sub print_exons { my ($starts, $ends, $acc, $chr, $strand) = @_; shift @ {$starts}; pop @ {$ends}; if ($strand eq "+") { for ($i = 0; $i < $nexons - 1; $i++) { $intron_length = $ {$starts}[$i] - $ {$ends}[$i]; if ($intron_length < 0) { die "Intron length for $acc is negative. Exons on the plus strand must be in ascending chromosomal order."; } elsif (!defined($opt_d)) { printf ">%s.intron%d/%d %s:%u..%u\n",$acc,$i+1,$nexons-1,$chr,$ {$ends}[$i],$ {$starts}[$i]+1; } else { $command = sprintf "$GET_GENOME %s:%u..%u",$chr,$ {$ends}[$i]+1,$ {$ends}[$i]+2; $donor_dinucl = `$command | tail -1`; chop $donor_dinucl; $command = sprintf "$GET_GENOME %s:%u..%u",$chr,$ {$starts}[$i]-1,$ {$starts}[$i]; $acceptor_dinucl = `$command | tail -1`; chop $acceptor_dinucl; if (defined($opt_C) && donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf STDERR "Skipping non-canonical donor $donor_dinucl for %s.intron%d/%d on plus strand\n",$acc,$i+1,$nexons-1; } elsif (defined($opt_C) && acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf STDERR "Skipping non-canonical acceptor $acceptor_dinucl for %s.intron%d/%d on plus strand\n",$acc,$i+1,$nexons-1; } elsif (defined($opt_R)) { if (donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0 || acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.intron%d/%d %s:%u..%u",$acc,$i+1,$nexons-1,$chr,$ {$ends}[$i],$ {$starts}[$i]+1; print " $donor_dinucl-$acceptor_dinucl"; print "\n"; } } else { printf ">%s.intron%d/%d %s:%u..%u",$acc,$i+1,$nexons-1,$chr,$ {$ends}[$i],$ {$starts}[$i]+1; if (defined($opt_2)) { print " $donor_dinucl-$acceptor_dinucl"; } print "\n"; } } } } elsif ($strand eq "-") { @starts = reverse @starts; @ends = reverse @ends; for ($i = 0; $i < $nexons - 1; $i++) { $intron_length = $ {$starts}[$i] - $ {$ends}[$i]; if ($intron_length < 0) { die "Intron length for $acc is negative. Exons on the minus strand must be in descending chromosomal order."; } elsif (!defined($opt_d)) { printf ">%s.intron%d/%d %s:%u..%u\n",$acc,$i+1,$nexons-1,$chr,$ {$starts}[$i]+1,$ {$ends}[$i]; } else { $command = sprintf "$GET_GENOME %s:%u..%u",$chr,$ {$starts}[$i],$ {$starts}[$i]-1; $donor_dinucl = `$command | tail -1`; chop $donor_dinucl; $command = sprintf "$GET_GENOME %s:%u..%u",$chr,$ {$ends}[$i]+2,$ {$ends}[$i]+1; $acceptor_dinucl = `$command | tail -1`; chop $acceptor_dinucl; if (defined($opt_C) && donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf STDERR "Skipping non-canonical donor $donor_dinucl for %s.intron%d/%d on minus strand\n",$acc,$i+1,$nexons-1; } elsif (defined($opt_C) && acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf STDERR "Skipping non-canonical acceptor $acceptor_dinucl for %s.intron%d/%d on minus strand\n",$acc,$i+1,$nexons-1; } elsif (defined($opt_R)) { if (donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0 || acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.intron%d/%d %s:%u..%u",$acc,$i+1,$nexons-1,$chr,$ {$starts}[$i]+1,$ {$ends}[$i]; print " $donor_dinucl-$acceptor_dinucl"; print "\n"; } } else { printf ">%s.intron%d/%d %s:%u..%u",$acc,$i+1,$nexons-1,$chr,$ {$starts}[$i]+1,$ {$ends}[$i]; if (defined($opt_2)) { print " $donor_dinucl-$acceptor_dinucl"; } print "\n"; } } } } else { print STDERR "Strand is neither + nor -: Skipping $line\n"; } return; } gmap-2015-12-31/util/md_coords.pl.in0000644002622600023770000007135512567632013013674 00000000000000#! @PERL@ # $Id: md_coords.pl.in,v 1.19 2010-07-21 21:51:57 twu Exp $ #$package_version = "@PACKAGE_VERSION@"; use warnings; use IO::File; undef($opt_9); # debug mode undef($opt_c); # Columns undef($opt_o); # Output file use Getopt::Std; getopts("9c:o:"); # Usage: md_coords [-o ] $mdfile = $ARGV[0]; if (!defined($outfile = $opt_o)) { $outfile = "coords.txt"; $strainfile = "strains.txt"; } elsif ($outfile =~ /coords\.(\S+)/) { $genome = $1; $strainfile = "strains.$genome"; } $flags = ""; $flags .= "-o $outfile"; if (defined($opt_c)) { ($contigcol,$chrcol,$chrstartcol,$chrendcol,$dircol,$straincol) = split ",",$opt_c; } else { ($ncols,$examples,$maxwidth) = show_lines($mdfile); ($contigcol,$chrcol,$chrstartcol,$chrendcol,$dircol,$straincol,$include_unmapped_p) = grok_columns($ncols,$examples,$maxwidth,$mdfile); } $flags .= " -c $contigcol,$chrcol,$chrstartcol,$chrendcol,$dircol,$straincol"; ($altstrainp,$strains,$refstrain) = find_reference_strain($mdfile,$straincol); $nstrains = $#{$strains} + 1; if ($nstrains > 1 && $altstrainp == 1) { $firstpass = parse_md_file($mdfile,$contigcol,$chrcol,$chrstartcol,$chrendcol,$dircol,$straincol, $altstrainp,$refstrain); ($altstrains,$separate_chromosome,$treat_as_reference) = check_strains($mdfile,$chrcol,$chrstartcol,$chrendcol, $straincol,$altstrainp,$refstrain,$firstpass); $naltstrains = $#{$altstrains} + 1; if ($naltstrains == 0) { # print STDOUT "No alternate strains\n"; $altstrainp = 0; } else { print STDOUT "Remaining non-reference strains: " . join(", ",@ {$altstrains}) . "\n"; print STDOUT "Would you like to rename any of these strains for GMAP?\n"; if (input_yn("n") == 1) { rename_strains($altstrains); } } } $output = parse_md_file($mdfile,$contigcol,$chrcol,$chrstartcol,$chrendcol,$dircol,$straincol, $altstrainp,$refstrain,$include_unmapped_p,$separate_chromosome,$treat_as_reference); if ($#{$output} < 0) { printf STDOUT "Error: No contigs were read in.\n"; exit(9); } $OUT = new IO::File(">$outfile") or die "Cannot write to file $outfile"; print $OUT "# Reference strain: $refstrain\n"; print $OUT "# To rename a chromosome, edit each occurrence of that chromosome in the gmap_coordinates\n"; print $OUT "# The strain column has information copied from NCBI md files, but is not otherwise used by gmap_setup\n"; print $OUT "# To exclude a contig, place a '#' sign at the beginning of the line\n"; print $OUT "#contig" . "\t" . "gmap_coordinates" . "\t" . "strain\n"; foreach $string (@ {$output}) { print $OUT $string; } close($OUT); print STDOUT "\n"; if ($outfile =~ /coords\.(\S+)/) { $genome = $1; $makefile = "Makefile.$genome"; } else { $makefile = "Makefile"; } print STDOUT "============================================================\n"; print STDOUT "Contig mapping information has been written to file $outfile\n"; print STDOUT "You should look at this file, and edit it if necessary.\n\n"; print STDOUT "Then you should proceed by running\n"; if ($outfile =~ /coords\.(\S+)/) { $genome = $1; print STDOUT " make -f Makefile.$genome gmapdb\n"; } else { print STDOUT " make gmapdb\n"; } print STDOUT "============================================================\n"; exit; #sub print_strain { # my ($FP, $strain) = @_; # # if (defined($newname{$strain})) { # print $FP $newname{$strain}; # } else { # print $FP $strain; # } # return; #} sub extract_chr { my ($chrfield) = @_; if ($chrfield =~ /(\S+)\|/) { $chr = $1 . "U"; $mappedp = 0; } else { $chr = $chrfield; $mappedp = 1; } return ($chr, $mappedp); } sub parse_md_file { my ($mdfile, $contigcol, $chrcol, $chrstartcol, $chrendcol, $dircol, $straincol, $altstrainp, $refstrain, $include_unmapped_p, $separate_chromosome, $treat_as_reference) = @_; my ($FP, $line, $dir, $strain); my @output = (); my %chrend = (); # Need to reset, in case this procedure is run again $FP = new IO::File("$mdfile") or die "Can't open file $mdfile"; while (defined($line = <$FP>)) { if ($line =~ /^\#/) { # Skip } else { $line =~ s/\r\n/\n/; chop $line; @fields = split /\t/,$line; if (!defined($contig = $fields[$contigcol-1])) { die "Can't parse contig in $line"; } $dir = $fields[$dircol-1]; if (!defined($dir)) { print STDERR "No direction for contig $contig. Treating as forward.\n"; $dir = "+"; } $strain = $fields[$straincol-1]; if (!defined($strain)) { print STDERR "No strain in line $line. Treating as reference strain.\n"; $strain = $refstrain; } elsif (defined($treat_as_reference) && defined($ {$treat_as_reference}{$strain})) { $strain = $refstrain; } if (defined($separate_chromosome) && defined($newchr = $ {$separate_chromosome}{$strain})) { $chr = $newchr; $mappedp = 1; } else { ($chr,$mappedp) = extract_chr($fields[$chrcol-1]); } if ($mappedp == 0) { $seglength = $fields[$chrendcol-1]-$fields[$chrstartcol-1]+1; if (!defined($chrend{$chr})) { $chrend{$chr} = 0; } $chrstart = $chrend{$chr} + 1; $chrend = $chrend{$chr} + $seglength; $chrend{$chr} = $chrend; } else { $chrstart = $fields[$chrstartcol-1]; $chrend = $fields[$chrendcol-1]; } if ($dir eq "+" || $dir eq "0") { $chrinfo = "$chr:$chrstart..$chrend"; } elsif ($dir eq "-") { $chrinfo = "$chr:$chrend..$chrstart"; } else { print STDERR "Cannot understand direction $dir for contig $contig. Treating as +\n"; $chrinfo = "$chr:$chrstart..$chrend"; } if (!defined($chr)) { # Skip } elsif ($chrend == $chrstart) { # Skip } elsif (!defined($strain)) { # Shouldn't get here $string = "$contig\t$chrinfo{$contig}\t\n"; if ($mappedp == 0 && $include_unmapped_p == 0) { push @output,"#" . $string; } else { push @output,$string; } } elsif (!defined($refstrain)) { $string = "$contig\t$chrinfo\t\n"; if ($mappedp == 0 && $include_unmapped_p == 0) { push @output,"#" . $string; } else { push @output,$string; } } elsif ($altstrainp == 0 && $strain ne $refstrain) { if (defined($newname{$strain})) { $string = "$contig\t$chrinfo\t$newname{$strain}\n"; } else { $string = "$contig\t$chrinfo\t$strain\n"; } push @output,"#" . $string; } else { if (defined($newname{$strain})) { $string = "$contig\t$chrinfo\t$newname{$strain}\n"; } else { $string = "$contig\t$chrinfo\t$strain\n"; } if ($mappedp == 0 && $include_unmapped_p == 0) { push @output,"#" . $string; } else { push @output,$string; } } } } close($FP); return \@output; } sub show_lines { my ($mdfile) = @_; my @lines = (); my @examples = (); my $ncols = 0; my $lineno = 1; $FP = new IO::File("$mdfile") or die "Cannot open file $mdfile"; while (defined($line = <$FP>)) { if ($line =~ /^\#/) { # Skip } else { $line =~ s/\r\n/\n/; chop $line; push @lines,$line; @fields = split /\t/,$line; if ($#fields+1 > $ncols) { if ($ncols != 0) { printf STDERR ("Warning: Line number $lineno has %d cols, but previous lines had %d cols\n",$#fields+1,$ncols); } $ncols = $#fields+1; } elsif ($#fields+1 < $ncols) { printf STDERR ("Warning: Line number $lineno has %d cols, but previous lines had %d cols\n",$#fields+1,$ncols); } } $lineno++; } $nlines = $#lines+1; close($FP); for ($i = 0; $i < $ncols; $i++) { $maxwidth[$i] = 0; } if ($nlines < 6) { for ($i = 0; $i < $nlines; $i++) { $line = $lines[$i]; push @examples,$line; @fields = split /\t/,$line; for ($j = 0; $j < $#fields; $j++) { if (length($fields[$j]) > $maxwidth[$j]) { $maxwidth[$j] = length($fields[$j]); } } } } else { for ($i = 0; $i < 3; $i++) { $line = $lines[$i]; push @examples,$line; @fields = split /\t/,$line; for ($j = 0; $j < $#fields; $j++) { if (length($fields[$j]) > $maxwidth[$j]) { $maxwidth[$j] = length($fields[$j]); } } } for ($i = $#lines-3; $i < $nlines; $i++) { $line = $lines[$i]; push @examples,$lines[$i]; @fields = split /\t/,$line; for ($j = 0; $j < $#fields; $j++) { if (length($fields[$j]) > $maxwidth[$j]) { $maxwidth[$j] = length($fields[$j]); } } } } return ($ncols, \@examples, \@maxwidth); } sub print_examples { my ($ncols, $examples, $maxwidth) = @_; my $line; print STDOUT "Here are the first and last few lines of $mdfile:\n\n"; for ($j = 0; $j < $ncols; $j++) { if ($j > 0) { print STDOUT " | "; } $string = sprintf("%d",$j+1); printf STDOUT ("%*s",$ {$maxwidth}[$j],$string); } print "\n"; for ($j = 0; $j < $ncols; $j++) { if ($j > 0) { print STDOUT "---"; } for ($k = 0; $k < $ {$maxwidth}[$j]; $k++) { print STDOUT "-"; } } print "\n"; foreach $line (@ {$examples}) { @fields = split /\t/,$line; for ($j = 0; $j < $ncols; $j++) { if ($j > 0) { print STDOUT " | "; } printf STDOUT ("%*s",$ {$maxwidth}[$j],$fields[$j]); } print "\n"; } return; } sub n_numeric_fields { my ($fields) = @_; my ($field); my $nnumeric = 0; foreach $field (@ {$fields}) { if ($field =~ /^\d+$/) { $nnumeric++; } } return $nnumeric; } sub duplicate_numbers_p { my ($fields) = @_; my ($field); my %seenp; foreach $field (@ {$fields}) { if ($field =~ /^\d+$/) { if (defined($seenp{$field})) { return 1; } else { $seenp{$field} = 1; } } } return 0; } sub guess_columns { my ($mdfile, $ncols) = @_; my ($FP, $line, $col, $contigcol, $maxcol, $field); my $contig_ambiguous_p = 0; my $nlines = 0; my @fields; my @numericp = (); my @alphanumericp = (); my @maxvalue = (); my @maxlength = (); my @valuecount = (); $FP = new IO::File("$mdfile") or die "Cannot open file $mdfile"; while (defined($line = <$FP>)) { if ($line !~ /^\#/) { $line =~ s/\r\n/\n/; chop $line; @fields = split /\t/,$line; $duplicateline = duplicate_numbers_p(\@fields); $nnumeric = n_numeric_fields(\@fields); for ($col = 0; $col <= $#fields; $col++) { $field = $fields[$col]; $field =~ s/\|.+//; # For fields like 1|NT_123456 if (!defined($numericp[$col])) { $numericp[$col] = $alphanumericp[$col] = 0; } if ($field =~ /^\s*[+-0]\s*$/) { $nplusminus[$col] += 1; } elsif ($field =~ /^\d+$/) { $numericp[$col] = 1; if ($nnumeric >= 2 && $duplicateline == 0) { if (!defined($maxvalue[$col])) { $maxvalue[$col] = $field; } elsif ($field > $maxvalue[$col]) { $maxvalue[$col] = $field; } } } else { $alphanumericp[$col] = 1; if (!defined($nvalues[$col])) { $nvalues[$col] = 0; } if (!defined($ {$valuecount[$col]}{$field})) { $nvalues[$col] += 1; $ {$valuecount[$col]}{$field} = 0; } $ {$valuecount[$col]}{$field} += 1; } if (!defined($maxlength[$col])) { $maxlength[$col] = length($field); } elsif (length($field) > $maxlength[$col]) { $maxlength[$col] = length($field); } if ($field =~ /^N[A-Z]_\d/) { if (!defined($contigcol)) { $contigcol = $col; } elsif ($col != $contigcol) { $contig_ambiguous_p = 1; } } } $nlines++; } } close($FP); if ($contig_ambiguous_p == 1) { undef $contigcol; } # Find chromosomal end (column with highest numeric value) $maxcol = -1; $maxvalue = 0; for ($col = 0; $col < $ncols; $col++) { if ($numericp[$col] == 1 && $alphanumericp[$col] == 0) { if (defined($maxvalue[$col]) && $maxvalue[$col] > $maxvalue) { $maxvalue = $maxvalue[$col]; $maxcol = $col; } } } if (defined($opt_9)) { print STDERR "Column with maximum numeric value ($maxvalue) is $maxcol\n"; } $chrendcol = $maxcol; # Find chromosomal start (column with second highest numeric value) $secondcol = -1; $secondvalue = 0; for ($col = 0; $col < $ncols; $col++) { if ($col != $maxcol && $numericp[$col] == 1 && $alphanumericp[$col] == 0) { if (defined($maxvalue[$col]) && $maxvalue[$col] > $secondvalue) { $secondvalue = $maxvalue[$col]; $secondcol = $col; } } } if (defined($opt_9)) { print STDERR "Column with second highest numeric value ($secondvalue) is $secondcol\n"; } $chrstartcol = $secondcol; # Find chromosome (before start column) if ($chrstartcol > 0 && $chrstartcol != $chrendcol - 1) { if (defined($opt_9)) { print STDERR "Undefining columns because $chrstartcol and $chrendcol don't make sense\n"; } undef $chrcol; undef $chrstartcol; undef $chrendcol; } else { $chrcol = $chrstartcol - 1; # Find strain (column with most distinct values, but not 1 value per line) $maxnvaluescol = -1; $maxnvalues = 1; for ($col = 0; $col < $ncols; $col++) { if (!defined($nplusminus[$col])) { if ((!defined($contigcol) || $col != $contigcol) && $alphanumericp[$col] == 1 && $numericp[$col] == 0) { if ($nvalues[$col] < 0.5*$nlines) { if ($nvalues[$col] > $maxnvalues) { $maxnvalues = $nvalues[$col]; $maxnvaluescol = $col; } } } } } $straincol = $maxnvaluescol; } $maxplusminus = 0; for ($col = 0; $col < $ncols; $col++) { if (defined($nplusminus[$col]) && $nplusminus[$col] > $maxplusminus) { $maxplusminus = $nplusminus[$col]; $dircol = $col; } } # Make columns 1-based if (defined($contigcol)) { $contigcol++; } if (defined($chrcol)) { $chrcol++; } if (defined($chrstartcol)) { $chrstartcol++; } if (defined($chrendcol)) { $chrendcol++; } if (defined($dircol)) { $dircol++; } if (defined($straincol)) { $straincol++; } return ($contigcol,$chrcol,$chrstartcol,$chrendcol,$dircol,$straincol); } sub grok_columns { my ($ncols, $examples, $maxwidth, $mdfile) = @_; my @fields; my $unmapped_example; my $include_unmapped_p; print STDERR "Parsing contig file $mdfile...\n"; ($contigcol,$chrcol,$chrstartcol,$chrendcol,$dircol,$straincol) = guess_columns($mdfile,$ncols); print_examples($ncols,$examples,$maxwidth); $donep = 0; while ($donep == 0) { printf STDOUT "Which column has the contig name? (These must exist in header lines of the FASTA files, e.g., NT_077402)\n"; $contigcol = input_numeric(1,$ncols,$contigcol); @results = (); foreach $example (@ {$examples}) { @fields = split /\t/,$example; push @results,$fields[$contigcol-1]; } #printf STDOUT "Contig names are: " . join(",",@results) . "\n"; #print STDOUT "Is this correct (y or n)?\n"; #$donep = input_yn("y"); $donep = 1; } $donep = 0; while ($donep == 0) { printf STDOUT "Which column has the chromosome name (e.g., 1, 22, X, Y|NT_099038)?\n"; $chrcol = input_numeric(1,$ncols,$chrcol); @results = (); foreach $example (@ {$examples}) { @fields = split /\t/,$example; ($chr,$mappedp) = extract_chr($fields[$chrcol-1]); if ($mappedp == 0 && !defined($unmapped_example)) { $unmapped_example = $fields[$chrcol-1]; } push @results,$chr; } #printf STDOUT "Chromosome names are: " . join(",",@results) . "\n"; #print STDOUT "Is this correct (y or n)?\n"; #$donep = input_yn("y"); $donep = 1; } if (!defined($unmapped_example)) { $include_unmapped_p = 1; } else { print STDOUT "Some contigs are unmapped (e.g., $unmapped_example). Include unmapped contigs?\n"; $include_unmapped_p = input_yn("y"); } $donep = 0; while ($donep == 0) { printf STDOUT "Which column has the chromosomal start position?\n"; $chrstartcol = input_numeric(1,$ncols,$chrstartcol); @results = (); foreach $example (@ {$examples}) { @fields = split /\t/,$example; push @results,$fields[$chrstartcol-1]; } #printf STDOUT "Chromosomal start positions are: " . join(",",@results) . "\n"; #print STDOUT "Is this correct (y or n)?\n"; #$donep = input_yn("y"); $donep = 1; } $donep = 0; while ($donep == 0) { printf STDOUT "Which column has the chromosomal end position?\n"; $chrendcol = input_numeric(1,$ncols,$chrendcol); @results = (); foreach $example (@ {$examples}) { @fields = split /\t/,$example; push @results,$fields[$chrendcol-1]; } #printf STDOUT "Chromosomal end positions are: " . join(",",@results) . "\n"; #print STDOUT "Is this correct (y or n)?\n"; #$donep = input_yn("y"); $donep = 1; } $donep = 0; while ($donep == 0) { printf STDOUT "Which column has the contig direction (+ or -)?\n"; $dircol = input_numeric(1,$ncols,$dircol); @results = (); foreach $example (@ {$examples}) { @fields = split /\t/,$example; push @results,$fields[$dircol-1]; } #printf STDOUT "Chromosomal end positions are: " . join(",",@results) . "\n"; #print STDOUT "Is this correct (y or n)?\n"; #$donep = input_yn("y"); $donep = 1; } $donep = 0; while ($donep == 0) { printf STDOUT "Which column has the strain information?\n"; $straincol = input_numeric(1,$ncols,$straincol); @results = (); foreach $example (@ {$examples}) { @fields = split /\t/,$example; push @results,$fields[$straincol-1]; } #printf STDOUT "Strains are: " . join(",",@results) . "\n"; #print STDOUT "Is this correct (y or n)?\n"; #$donep = input_yn("y"); $donep = 1; } return ($contigcol,$chrcol,$chrstartcol,$chrendcol,$dircol,$straincol,$include_unmapped_p); } sub rename_strains { my ($strains) = @_; while (1) { print STDOUT "Strain to rename (choose from below, press return to quit)?\n"; if (!defined($strain = input_choices($strains,0))) { return; } else { print STDOUT "New name for this strain?\n"; $newname{$strain} = input_nonempty(); } } return; } sub find_reference_strain { my ($mdfile, $straincol) = @_; $FP = new IO::File("$mdfile") or die "Cannot open file $mdfile"; while (defined($line = <$FP>)) { if ($line !~ /^\#/) { $line =~ s/\r\n/\n/; chop $line; @fields = split /\t/,$line; $strain = $fields[$straincol-1]; if (!defined($straincount{$strain})) { $straincount{$strain} = 0; $strainlength{$strain} = 0; } $straincount{$strain} += 1; $strainlength{$strain} += $fields[$chrendcol-1] - $fields[$chrstartcol-1]; } } close($FP); @strains = keys %straincount; $nstrains = $#strains + 1; if ($nstrains == 0) { print STDOUT "No strains detected\n"; return (0,\@strains); } elsif ($nstrains == 1) { print STDOUT "One strain detected: $strains[0]\n"; print STDOUT "Would you like to rename this strain for GMAP?\n"; if (input_yn("n") == 1) { rename_strains(\@strains); } return (0,\@strains,$strains[0]); } else { # Find reference strain (value with highest count) $refstrain = ""; $refstrainlength = 0; foreach $strain (@strains) { if ($strainlength{$strain} > $refstrainlength) { $refstrainlength = $strainlength{$strain}; $refstrain = $strain; } } print STDOUT "$nstrains apparent \"strains\" detected:\n"; foreach $strain (@strains) { print STDOUT " $strain ($straincount{$strain} contigs, $strainlength{$strain} total nucleotides)\n"; } # print STDOUT "Include multiple strains (y or n)?\n"; if (1 || input_yn("y") != 1) { printf STDOUT ("Strain with the most nucleotides is '%s'. Is this the one to use as the reference strain?\n",$refstrain); $input = input_yn("y"); if ($input == 1) { return (0,\@strains,$refstrain); } else { while (1) { print STDOUT "Which strain is the reference (choose from below)?\n"; $refstrain = input_choices(\@strains,1); if (defined($straincount{$refstrain})) { return (0,\@strains,$refstrain); } } } } else { printf STDOUT ("Strain with the most lines is '%s'. Is this the reference strain?\n",$refstrain); $input = input_yn("y"); if ($input == 1) { return (1,\@strains,$refstrain); } else { while (1) { print STDOUT "Which strain is the reference (choose from below)?\n"; $refstrain = input_choices(\@strains,1); if (defined($straincount{$refstrain})) { return (1,\@strains,$refstrain); } } } } } } sub chrinfo_overlap { my ($chrinfo1, $chrinfo2) = @_; ($chr1,$start1,$end1) = $chrinfo1 =~ /(\S+):(\d+)\.\.(\d+)/; ($chr2,$start2,$end2) = $chrinfo2 =~ /(\S+):(\d+)\.\.(\d+)/; if ($chr1 ne $chr2) { return 0; } else { if ($start1 < $end1) { $left1 = $start1; $right1 = $end1; } else { $left1 = $end1; $right1 = $start1; } if ($start2 < $end2) { $left2 = $start2; $right2 = $end2; } else { $left2 = $end2; $right2 = $start2; } if ($left2 > $right1) { return 0; } elsif ($left1 > $right2) { return 0; } else { return 1; } } } sub overlapp { my ($altstrain, $refstrain, $firstpass) = @_; my $line; my @fields; foreach $line1 (@ {$firstpass}) { chomp $line1; @fields = split /\t/,$line1; $strain1 = $fields[2]; if ($strain1 eq $altstrain) { $chrinfo1 = $fields[1]; foreach $line2 (@ {$firstpass}) { chomp $line2; @fields = split /\t/,$line2; $strain2 = $fields[2]; if ($strain2 eq $refstrain) { $chrinfo2 = $fields[1]; if (chrinfo_overlap($chrinfo1,$chrinfo2) == 1) { return 1; } } } } } return 0; } sub check_strains { my ($mdfile, $chrcol, $chrstartcol, $chrendcol, $straincol, $altstrainp, $refstrain, $firstpass) = @_; my @strains = (); my @altstrains = (); $FP = new IO::File("$mdfile") or die "Cannot open file $mdfile"; while (defined($line = <$FP>)) { if ($line =~ /^\#/) { # Skip } else { $line =~ s/\r\n/\n/; chop $line; @fields = split /\t/,$line; ($chr,$mappedp) = extract_chr($fields[$chrcol-1]); $seglength = $fields[$chrendcol-1]-$fields[$chrstartcol-1]+1; $existingchrnamep{$chr} = 1; $strain = $fields[$straincol-1]; if (!defined($strain) || $strain eq $refstrain) { $referencelength{$chr} += $seglength; } else { if (!defined($seenstrainp{$strain})) { push @strains,$strain; $seenstrainp{$strain} = 1; % {$seenchrp{$strain}} = (); $nchr{$strain} = 0; } if (!defined($ {$seenchrp{$strain}}{$chr})) { $nchr{$strain} += 1; $lastchr{$strain} = $chr; $ {$seenchrp{$strain}}{$chr} = 1; } $altlength{$strain . "_" . $chr} += $seglength; } } } close($FP); # Collect altstrains or convert to reference foreach $strain (@strains) { if ($strain eq $refstrain) { # Skip } elsif ($nchr{$strain} == 1) { $chr = $lastchr{$strain}; if (!defined($referencelength{$chr}) || $referencelength{$chr} == 0) { print STDOUT "Alternate strain '$strain' contains a single chromosome: $chr\n"; print STDOUT "This chromosome does not exist on the reference strain\n"; print STDOUT "Treat this chromosome as part of the reference strain (y or n)?\n"; $default = "y"; if (input_yn($default) == 1) { print STDOUT "Okay, will treat chromosome $chr as part of the reference strain\n"; $treat_as_reference{$strain} = 1; } elsif ($altstrainp == 0) { print STDOUT "Okay, will ignore contigs belonging to strain $strain\n"; } else { push @altstrains,$strain; } } elsif (overlapp($strain,$refstrain,$firstpass) == 0) { print STDOUT "Alternate strain '$strain' contains a single chromosome: $chr\n"; print STDOUT "On this chromosome, this strain does not overlap the reference strain\n"; print STDOUT "Include this strain as part of the reference strain (y or n)?\n"; $default = "y"; if (input_yn($default) == 1) { print STDOUT "Okay, will include strain $strain as part of the reference strain\n"; $treat_as_reference{$strain} = 1; } elsif ($altstrainp == 0) { print STDOUT "Okay, will ignore contigs belonging to strain $strain\n"; } else { push @altstrains,$strain; } } else { $coverage = $altlength{$strain . "_" . $chr}/$referencelength{$chr}; if ($coverage > 0.30) { print STDOUT "Alternate strain '$strain' contains a single chromosome: $chr\n"; printf STDOUT ("This chromosome has %.1f%% of the length as the reference strain\n",100.0*$coverage); print STDOUT "Because of its long length, it probably represents an entire alternate version of chromosome $chr,\n"; print STDOUT " rather than a localized strain variant\n"; print STDOUT "Treat this strain as part of the reference strain, as an entire alternate version of chromosome $chr (y or n)?\n"; $altstrain_answer = 0; } elsif ($altstrainp == 0) { # Looks like a localized strain variant, and user doesn't want these, so skip any further actions undef $altstrain_answer; } else { print STDOUT "Alternate strain '$strain' contains a single chromosome: $chr\n"; printf STDOUT ("This chromosome has %.1f%% of the length as the reference strain\n",100.0*$coverage); print STDOUT "Because of its short length, it probably represents a localized strain variant,\n"; print STDOUT " rather than an entire alternate version of chromosome $chr\n"; print STDOUT "Keep this strain as a localized strain variant (y or n)?\n"; $altstrain_answer = 1; } if (!defined($altstrain_answer)) { # Skip any actions } elsif (input_yn("y") == $altstrain_answer) { if ($altstrainp == 0) { print STDOUT "Okay, will ignore contigs belonging to strain $strain\n"; } else { print STDOUT "Okay, will keep strain $strain as a localized strain variant\n"; push @altstrains,$strain; } } else { print STDOUT "Okay, will treat strain $strain as part of the reference strain, as an entire alternate version of chromosome $chr\n"; undef $existingchrnamep{$chr}; $donep = 0; while ($donep == 0) { print STDOUT "Name for this alternate version of chromosome $chr?\n"; $newchr = input_nonempty(); if (defined($existingchrnamep{$newchr})) { print STDOUT "That chromosome name is already taken. Try again\n"; } else { $donep = 1; $existingchrnamep{$newchr} = 1; $separate_chromosome{$strain} = $newchr; } } } } } } return (\@altstrains,\%separate_chromosome,\%treat_as_reference); } ######################################################################## sub input_any { while (1) { print STDOUT "Response> "; $input = ; chop $input; $input =~ s/^\s+//; $input =~ s/\s+$//; if ($input =~ /\s/) { print STDOUT "No spaces are allowed. Please try again.\n"; } else { return $input; } } } sub input_nonempty { while (1) { print STDOUT "Response> "; $input = ; chop $input; $input =~ s/^\s+//; $input =~ s/\s+$//; if ($input =~ /\s/) { print STDOUT "No spaces are allowed. Please try again.\n"; } elsif ($input =~ /\S/) { return $input; } } } sub input_yn { my ($default) = @_; while (1) { if (defined($default)) { print STDOUT "Response [$default]> "; } else { print STDOUT "Response> "; } $input = ; chop $input; $input =~ s/^\s+//; $input =~ s/\s+$//; if ($input !~ /\S/) { $input = $default; } if ($input =~ /^[Yy]/) { return 1; } elsif ($input =~ /^[Nn]/) { return 0; } } } sub input_numeric { my ($min, $max, $default) = @_; while (1) { if (defined($default)) { print STDOUT "Response [$default]> "; } else { print STDOUT "Response> "; } $input = ; chop $input; $input =~ s/^\s+//; $input =~ s/\s+$//; if ($input !~ /\S/) { $input = $default; } if ($input =~ /^\d+$/ && $input >= $min && $input <= $max) { return $input; } else { print STDOUT "Expecting a number between $min and $max. Please try again.\n"; } } } sub input_letter { my ($min, $max) = @_; while (1) { print STDOUT "Response> "; $input = ; chop $input; $input =~ s/^\s+//; $input =~ s/\s+$//; if ($input =~ /^[a-zA-Z]$/ && $input ge $min && $input le $max) { return $input; } else { print STDOUT "Expecting a letter between $min and $max. Please try again.\n"; } } } sub input_choices { my ($choices, $requireonep) = @_; while (1) { print STDOUT "Choices: \n"; foreach $choice (@ {$choices}) { if (defined($newname{$choice})) { print STDOUT " " . $choice . " (to be renamed $newname{$choice})" . "\n"; } else { print STDOUT " " . $choice . "\n"; } } print STDOUT "\n"; print STDOUT "Response> "; $input = ; chop $input; $input =~ s/^\s+//; $input =~ s/\s+$//; foreach $choice (@ {$choices}) { if ($input eq $choice) { return $input; } } if ($input !~ /\S/ && $requireonep == 0) { return; } else { print STDOUT "Your input doesn't match any of the choices. Please try again.\n"; } } } gmap-2015-12-31/util/gmap_uncompress.pl.in0000755002622600023770000004017312567632013015122 00000000000000#! @PERL@ # $Id: gmap_uncompress.pl.in,v 1.21 2010-07-21 21:51:57 twu Exp $ use warnings; use IO::File; use Getopt::Std; undef($opt_F); # Flip so that genome sequence is first undef($opt_4); # sim4-style output undef($opt_I); # invert mode undef($opt_f); # format getopts("F4I:f:"); if (defined($opt_4)) { $date = `/usr/bin/date`; chop $date; } if (defined($opt_I)) { $invertmode = $opt_I; } else { $invertmode = 0; } $opt_F = 1; if (defined($opt_f) && $opt_f eq "9") { $print_coordinates_p = 1; } else { $print_coordinates_p = 0; } my $gsequence; @coordinates = (); @agreements = (); @exonlengths = (); @intronlengths = (); @intronends = (); while (defined($line = <>)) { $line =~ s/\r\n/\n/; chop $line; if ($line =~ /^>/) { if ($#coordinates >= 0) { process_one($header,\@coordinates,\@agreements,\@intronlengths,\@intronends); } $line =~ s/^>//; $header = $line; @coordinates = (); @agreements = (); @exonlengths = (); @intronlengths = (); @intronends = (); } else { $line =~ s/^\t//; # BerkeleyDB retrievals won't have this tab ($coords,$agree,$exonlength,$intronlength,$intronend) = split /\t/,$line; push @coordinates,$coords; push @agreements,$agree; if (defined($exonlength)) { push @exonlengths,$exonlength; } if (defined($intronlength)) { push @intronlengths,$intronlength; } if (defined($intronend)) { push @intronends,$intronend; } } } if ($#coordinates >= 0) { process_one($header,\@coordinates,\@agreements,\@intronlengths,\@intronends); } exit; sub cdna_direction { my ($agreements) = @_; $nfwd = $nrev = 0; for ($i = 0; $i <= $#{$agreements}; $i++) { $agree = $ {$agreements}[$i]; ($intron) = $agree =~ /.+(.)/; if ($intron eq ">" || $intron eq ")" || $intron eq "]") { $nfwd++; } elsif ($intron eq "<" || $intron eq "(" || $intron eq "[") { $nrev++; } } if ($nfwd == 0 && $nrev == 0) { return "indeterminate"; } elsif ($nfwd > $nrev) { return "sense"; } elsif ($nrev > $nfwd) { return "antisense"; } else { return "indeterminate"; } } sub process_one { my ($header, $coordinates, $agreements, $intronlengths, $intronends) = @_; my ($i); ($cdna_acc,$genomevers,$path,$cdnalength,$nexons,$coverage,$pctidentity, $cdnarange,$genomerange,$chrrange,$strand,$flags) = split " ",$header; ($cdnastart,$cdnaend) = $cdnarange =~ /(\d+)\D+(\d+)/; $cdnamatchlen = $cdnaend - $cdnastart + 1; ($chr,$chrstart,$chrend) = $chrrange =~ /(\S+):(\d+)\D+(\d+)/; if ($strand eq "+") { $genomelength = $chrend - $chrstart + 1; } else { $genomelength = $chrstart - $chrend + 1; } ($genheader,$fwdsequence) = get_genomic_sequence($genomevers,$chrrange); @ {$gsequence} = split '',$fwdsequence; print ">$cdna_acc"; if (defined($flags)) { print " $flags"; } print "\n"; if ($print_coordinates_p == 0) { print "Paths (1):\n"; print " Path 1: query $cdnarange ($cdnamatchlen bp) => chr $chrrange ($genomelength bp)\n"; print " cDNA direction: " . cdna_direction($agreements) . "\n"; print " Genomic pos: $genomevers:$genomerange ($strand strand)\n"; print " Number of exons: $nexons\n"; print " Coverage: $coverage (query length: $cdnalength bp)\n"; print " Percent identity: $pctidentity\n"; print "\n"; print "Alignments:\n"; print " Alignment for path 1:\n"; print "\n"; if ($strand eq "-" && $invertmode == 2) { for ($i = $#{$coordinates}; $i >= 0; $i--) { $coords = $ {$coordinates}[$i]; $agree = $ {$agreements}[$i]; if ($i == 0) { $intron = "*"; } else { ($intron) = $ {$agreements}[$i-1] =~ /.+(.)/; $intron =~ tr/><][)(/<>[]()/; } ($chrstart,$chrend,$cdsstart,$cdsend,$pct) = split " ",$coords; print_exon("+",$chr,$chrend,$chrstart,$cdsend,$cdsstart,$pct,$intron); } } else { for ($i = 0; $i <= $#{$coordinates}; $i++) { $coords = $ {$coordinates}[$i]; $agree = $ {$agreements}[$i]; ($intron) = $agree =~ /.+(.)/; ($chrstart,$chrend,$cdsstart,$cdsend,$pct) = split " ",$coords; print_exon($strand,$chr,$chrstart,$chrend,$cdsstart,$cdsend,$pct,$intron); } } print "\n"; } uncompress($coordinates,$agreements,$intronends,$intronlengths,$gsequence, $chr,$strand); return; } sub print_exon { my ($strand, $chr, $chrpos1, $chrpos2, $exonpos1, $exonpos2, $pct, $intron) = @_; if (defined($opt_F)) { print " $strand$chr:$chrpos1-$chrpos2 ($exonpos1-$exonpos2) $pct%"; } else { print " $exonpos1-$exonpos2 ($strand$chr:$chrpos1-$chrpos2) $pct%"; } if ($intron eq '>') { print " ->\n"; } elsif ($intron eq '<') { print " <-\n"; } elsif ($intron eq '=') { print " ==\n"; } elsif ($intron eq '#') { print " ##\n"; } elsif ($intron eq ')') { print " -)\n"; } elsif ($intron eq '(') { print " (-\n"; } elsif ($intron eq ']') { print " -]\n"; } elsif ($intron eq '[') { print " [-\n"; } elsif ($intron eq '-') { print " --\n"; } elsif ($intron eq '*') { print "\n"; } return; } sub print_sim4header { print "$date [SNAP]\n"; printf ("seq1 = %s, %d bp\n",$chrrange,$genomelength); printf ("seq2 = fasta (%s), %d bp\n",$cdna_acc,$cdnalength); print "\n"; print ">$genheader\n"; print ">$cdna_acc\n"; print "\n"; if ($strand eq "-") { # Strictly, this isn't correct print "(complement)\n\n"; } print "strand: $strand;"; print "path: $path\n"; print "exon no: $nexons\n"; print "coverage: $coverage%\n"; print "pct identity: $pctidentity%\n"; return; } sub parse_tokens { my ($string) = @_; my (@meta, $meta, $metacount, $i, $token); my @tokens = (); @meta = split " ",$string; foreach $meta (@meta) { if ($meta =~ /(.+)!(\d+)/) { $token = $1; $metacount = $2; for ($i = 0; $i < $metacount; $i++) { push @tokens,$token; } } else { push @tokens,$meta; } } return @tokens; } sub uncompress { my ($coordinates, $agreements, $intronends, $intronlengths, $gsequence, $chr, $strand) = @_; my ($i, $g); my @sequence1 = (); my @agreement = (); my @sequence2 = (); my @gpos = (); my @cpos = (); $g = 0; for ($segno = 0; $segno <= $#coordinates; $segno++) { $coords = $ {$coordinates}[$segno]; ($genomestart,$genomeend,$cdsstart,$cdsend) = $coords =~ /(\d+) (\d+) (\d+) (\d+)/; if ($genomestart < $genomeend) { $gpos = $genomestart; } else { $gpos = -$genomestart; } if ($cdsstart < $cdsend) { $cpos = $cdsstart; } else { $cpos = -$cdsstart; } @tokens = parse_tokens($ {$agreements}[$segno]); $final_token = pop @tokens; foreach $token (@tokens) { ($runlength,$adj) = $token =~ /(\d+)(.+)/; for ($i = 0; $i < $runlength; $i++) { push @gpos,$gpos; push @cpos,$cpos; push @sequence1,$ {$gsequence}[$g]; push @agreement,"|"; push @sequence2,$ {$gsequence}[$g++]; $gpos++; $cpos++; } push @gpos,$gpos; push @cpos,$cpos; if ($adj =~ /\^(.)/ || $adj =~ /i(.)/) { push @sequence1,' '; push @agreement,'-'; push @sequence2,$1; $cpos++; } elsif ($adj eq 'v' || $adj eq '.d') { $gpos++; push @sequence1,$ {$gsequence}[$g++]; push @agreement,'-'; push @sequence2,' '; } elsif ($adj eq '?') { # Obsolete push @sequence1,'N'; push @agreement,' '; push @sequence2,'N'; $gpos++; $cpos++; $g++; } elsif ($adj =~ /N(.)/) { # Replaced by Nx. push @sequence1,'N'; push @agreement,' '; push @sequence2,$1; $gpos++; $g++; } elsif ($adj eq 'n') { # Replaced by .xN $gpos++; push @sequence1,$ {$gsequence}[$g++]; push @agreement,' '; push @sequence2,'N'; $cpos++; } elsif ($adj =~ /x(.)/) { $gpos++; push @sequence1,$ {$gsequence}[$g++]; push @agreement,' '; push @sequence2,$1; $cpos++; } elsif ($adj =~ /:(.)/) { $gpos++; push @sequence1,$ {$gsequence}[$g++]; push @agreement,':'; push @sequence2,$1; $cpos++; } else { print STDERR "Can't parse $adj\n"; exit(9); } } ($runlength,$adj) = $final_token =~ /(\d+)(.+)/; for ($i = 0; $i < $runlength; $i++) { push @gpos,$gpos; push @cpos,$cpos; push @sequence1,$ {$gsequence}[$g]; push @agreement,"|"; push @sequence2,$ {$gsequence}[$g++]; $gpos++; $cpos++; } if ($adj eq '#') { for ($i = 0; $i < 3; $i++) { push @gpos,$gpos; push @cpos,$cpos; push @agreement,$adj; } for ($i = 0; $i < 3; $i++) { push @gpos,$gpos; push @cpos,$cpos; push @agreement,'.'; } for ($i = 0; $i < 3; $i++) { push @gpos,$gpos; push @cpos,$cpos; push @agreement,$adj; } if (defined($ {$intronlengths}[$segno])) { push @sequence1,stringify($ {$intronlengths}[$segno]); } else { push @sequence1," "; } ($genomeend) = $ {$coordinates}[$segno] =~ /\d+ \d+ \d+ (\d+)/; ($genomestart) = $ {$coordinates}[$segno+1] =~ /\d+ \d+ (\d+)/; push @sequence2,stringify(abs($genomeend - $genomestart) - 1); } elsif ($adj eq '>' || $adj eq '<' || $adj eq ')' || $adj eq '(' || $adj eq ']' || $adj eq '[' || $adj eq '-' || $adj eq '=') { for ($i = 0; $i < 3; $i++) { push @gpos,$gpos; push @cpos,$cpos; push @sequence1,$ {$gsequence}[$g++]; $gpos++; push @agreement,$adj; } for ($i = 0; $i < 3; $i++) { push @gpos,$gpos; push @cpos,$cpos; push @sequence1,'.'; push @agreement,'.'; } $gpos = ($gpos - 3) + $ {$intronlengths}[$segno] - 3; $g = ($g - 3) + $ {$intronlengths}[$segno] - 3; for ($i = 0; $i < 3; $i++) { push @gpos,$gpos; push @cpos,$cpos; push @sequence1,$ {$gsequence}[$g++]; $gpos++; push @agreement,$adj; } if (defined($ {$intronlengths}[$segno])) { push @sequence2,stringify($ {$intronlengths}[$segno]); } else { push @sequence2," "; } } elsif ($adj eq '*') { # Do nothing } else { print STDERR "Can't parse $adj\n"; exit(9); } } if ($strand eq "-") { if ($invertmode == 2) { @gpos = reverse(@gpos); @cpos = reverse(@cpos); $sequence1 = join('',reverse(@sequence1)); $agreement = join('',reverse(@agreement)); $sequence2 = join('',reverse(@sequence2)); $sequence1 =~ tr/ACGT/TGCA/; $agreement =~ tr/><][)(/<>[]()/; $sequence2 =~ tr/ACGT/TGCA/; } elsif ($invertmode == 1) { @gpos = reverse(@gpos); @cpos = reverse(@cpos); $sequence1 = join('',reverse(@sequence1)); $agreement = join('',reverse(@agreement)); $sequence2 = join('',reverse(@sequence2)); } else { $sequence1 = join('',@sequence1); $agreement = join('',@agreement); $sequence2 = join('',@sequence2); } } else { $sequence1 = join('',@sequence1); $agreement = join('',@agreement); $sequence2 = join('',@sequence2); } if ($print_coordinates_p == 1) { print_coordinates($sequence1,$agreement,$sequence2,\@gpos,\@cpos,$chr,$strand); } else { print_alignment($sequence1,$agreement,$sequence2,\@gpos,\@cpos,$chr,$strand); } return; } sub print_alignment { my ($sequence1, $agreement, $sequence2, $gpositions, $cpositions, $chr, $strand) = @_; my ($length, $i); my $dots = " . : . : . : . : . :"; @pieces = split "DONOTSPLIT",$agreement; $pos = 0; foreach $agreement_piece (@pieces) { $length = length($agreement_piece); $sequence1_piece = substr($sequence1,$pos,$length); $sequence2_piece = substr($sequence2,$pos,$length); $agreement_piece =~ s/---\.\.\.---/===...===/g; for ($i = 0; $i < $length - 50; $i += 50) { $gpos = $ {$gpositions}[$i]; $cpos = $ {$cpositions}[$i]; printf ("%14d %s\n",$i,$dots); if ($strand eq "+") { $chrstring = sprintf("+%s:%d",$chr,$gpos); } elsif ($strand eq "-") { if ($invertmode == 2) { $chrstring = sprintf("+%s:%d",$chr,abs($gpos)); } else { $chrstring = sprintf("-%s:%d",$chr,abs($gpos)); } } else { undef $chrstring; } if (defined($opt_F)) { printf ("%14s %s\n",$chrstring,substr($sequence1_piece,$i,50)); printf ("%14s %s\n","",substr($agreement_piece,$i,50)); printf ("%14d %s\n",$cpos,substr($sequence2_piece,$i,50)); } else { printf ("%14d %s\n",$cpos,substr($sequence2_piece,$i,50)); printf ("%14s %s\n","",substr($agreement_piece,$i,50)); printf ("%14s %s\n",$chrstring,substr($sequence1_piece,$i,50)); } print "\n"; } if ($length - $i > 0) { $gpos = $ {$gpositions}[$i]; $cpos = $ {$cpositions}[$i]; $taildots = substr($dots,0,$length - $i); $taildots =~ s/\s+$//; printf ("%14d %s\n",$i,$taildots); if ($strand eq "+") { $chrstring = sprintf("+%s:%d",$chr,$gpos); } elsif ($strand eq "-") { if ($invertmode == 2) { $chrstring = sprintf("+%s:%d",$chr,abs($gpos)); } else { $chrstring = sprintf("-%s:%d",$chr,abs($gpos)); } } else { undef $chrstring; } if (defined($opt_F)) { printf ("%14s %s\n",$chrstring,substr($sequence1_piece,$i,$length - $i)); printf ("%14s %s\n","",substr($agreement_piece,$i,$length - $i)); printf ("%14d %s\n",$cpos,substr($sequence2_piece,$i,$length - $i)); } else { printf ("%14d %s\n",$cpos,substr($sequence2_piece,$i,$length - $i)); printf ("%14s %s\n","",substr($agreement_piece,$i,$length - $i)); printf ("%14s %s\n",$chrstring,substr($sequence1_piece,$i,$length - $i)); } print "\n"; } $pos += $length + 9; # 9 is length of "===...==="; } return; } sub print_coordinates { my ($sequence1, $agreement, $sequence2, $gpositions, $cpositions, $chr, $strand) = @_; my ($length, $i); @pieces = split "DONOTSPLIT",$agreement; $pos = 0; foreach $agreement_piece (@pieces) { $length = length($agreement_piece); $sequence1_piece = substr($sequence1,$pos,$length); $sequence2_piece = substr($sequence2,$pos,$length); for ($i = 0; $i < $length; $i++) { $agreement = substr($agreement_piece,$i,1); if ($agreement eq "|" || $agreement eq " " || $agreement eq "-") { $gpos = $ {$gpositions}[$i]; $cpos = $ {$cpositions}[$i]; printf ("%d %s\t",$cpos,substr($sequence2_piece,$i,1)); if ($strand eq "+") { printf ("+%s:%d ",$chr,$gpos); } elsif ($strand eq "-") { if ($invertmode == 2) { printf ("+%s:%d ",$chr,abs($gpos)); } else { printf ("-%s:%d ",$chr,abs($gpos)); } } printf ("%s\n",substr($sequence1_piece,$i,1)); } } $pos += $length + 9; # 9 is length of "===...==="; } return; } sub get_genomic_sequence { my ($genomevers, $genomic_acc) = @_; my ($FP, $line); if (1) { $FP = new IO::File("@BINDIR@/get-genome -d $genomevers $genomic_acc |"); } elsif (-e $genomic_acc) { $FP = new IO::File($genomic_acc); } elsif ($genomic_acc =~ /^GA_/) { # Genentech-specific $FP = new IO::File("/usr/local/seq/bin/get-celera $genomic_acc |"); } elsif ($genomic_acc =~ /^NT_/) { # Genentech-specific $FP = new IO::File("/usr/local/seq/bin/hum.genome $genomic_acc |"); } elsif ($genomic_acc =~ /^DNA/) { # Genentech-specific $FP = new IO::File("/usr/local/seq/bin/getseq -F sst.$genomic_acc |"); } elsif ($genomic_acc =~ /^affy\.(\S+)/ || $genomic_acc =~ /^(HGU\S+)/) { # Genentech-specific $FP = new IO::File("/usr/local/seq/bin/getseq affy.$1 |"); } else { # Genentech-specific $FP = new IO::File("/usr/local/seq/bin/getseq gen.$genomic_acc |"); } if (!defined($header = <$FP>) || $header !~ /^>/) { undef $header; undef $fwdsequence; } else { $header =~ s/\r\n/\n/; chop $header; $header =~ s/^>//; $fwdsequence = ""; while (defined($line = <$FP>)) { if ($line !~ /^[><]/) { $line =~ s/\r\n/\n/; chop $line; $line =~ s/\s//g; $fwdsequence .= uc($line); } } } close($FP); return ($header, $fwdsequence); } sub stringify { my ($n) = @_; if ($n !~ /\d/) { return " "; } elsif ($n < 10) { return " $n "; } elsif ($n < 100) { return " $n "; } elsif ($n < 1000) { return " $n "; } elsif ($n < 10000) { return " $n "; } elsif ($n < 100000) { return " $n "; } elsif ($n < 1000000) { return " $n "; } elsif ($n < 10000000) { return " $n "; } else { return " "; } } gmap-2015-12-31/util/gmap_process.pl.in0000644002622600023770000001072712567632014014402 00000000000000#! @PERL@ # $Id: gmap_process.pl.in,v 1.8 2010-07-21 22:02:18 twu Exp $ use warnings; use IO::File; use Getopt::Std; undef($opt_c); # coord file undef($opt_g); # gunzip each file undef($opt_f); # File with input FASTA source filenames getopts("c:gf:"); if (!defined($coord_file = $opt_c)) { if (-e "coords.txt") { $coord_file = "coords.txt"; } else { die "Must specify coordinate file (created by md_coords or fa_coords) with -c flag." } } read_coords($coord_file); if (defined($opt_f)) { # Source files given in a file @sourcefiles = (); $SOURCES = new IO::File($opt_f) or die "Cannot open file $opt_f"; while (defined($line = <$SOURCES>)) { chop $line; push @sourcefiles,$line; } close($SOURCES); process_fasta(\@sourcefiles); } elsif ($#ARGV < 0) { # FASTA is piped via stdin @streams = (); push @streams,"<&STDIN"; process_fasta(\@streams); } else { # Source files given on command line process_fasta(\@ARGV); } check_processed(); exit; sub read_coords { my ($coord_file) = @_; my $universal_coord = 0; $FP = new IO::File($coord_file) or die "Cannot open coord file $coord_file"; print STDERR "Reading coordinates from file $coord_file\n"; while (defined($line = <$FP>)) { if ($line =~ /^#/) { #if ($line =~ /Reference strain:\s*(\S+)/) { #$refstrain = $1; #} } else { $line =~ s/\r\n/\n/; chop $line; @fields = split /\s+/,$line; $contig = $fields[0]; #if (!defined($strain{$contig} = $fields[2])) { #$strain{$contig} = ""; #} elsif (defined($refstrain) && $strain{$contig} eq $refstrain) { #$strain{$contig} = ""; #} $coords{$contig} = $fields[1]; $universal_coord{$contig} = $universal_coord; ($chrstart,$chrend) = $coords{$contig} =~ /\S+:(\d+)\.\.(\d+)/; if (defined($fields[2]) && $fields[2] eq "circular") { $circularp{$contig} = 1; $universal_coord += $chrend - $chrstart + 1; $universal_coord += $chrend - $chrstart + 1; } else { $universal_coord += $chrend - $chrstart + 1; } } } close($FP); return; } sub find_contig_name { my ($contiginfo, $coords) = @_; if ($contiginfo !~ /\|/) { if (defined($ {$coords}{$contiginfo})) { return $contiginfo; } elsif ($contiginfo =~ /(\S+)/ && defined($ {$coords}{$1})) { return $1; } else { # Failed return $contiginfo; } } else { # Old code for FASTA files that contained pipe delimiters @parts = split /\|/,$contiginfo; foreach $part (@parts) { if (defined($ {$coords}{$part})) { return $part; } elsif ($part =~ /(\S+)/ && defined($ {$coords}{$1})) { return $1; } } # Failed return $contiginfo; } } sub process_fasta { my ($argv) = @_; my $printp = 0; foreach $arg (@ {$argv}) { if (defined($opt_g)) { $FP = new IO::File("gunzip -c \"$arg\" |") or die "Cannot open file $arg"; } else { $FP = new IO::File($arg) or die "Cannot open file $arg"; } while (defined($line = <$FP>)) { $line =~ s/\r\n/\n/; chomp $line; if ($line !~ /\S/) { # Skip blank lines } elsif ($line =~ /^>(\S+)/) { # $contig = find_contig_name($1,\%coords); $contig = $1; if (!defined($coords{$contig})) { print STDERR "No coordinates defined for contig $contig. Skipping.\n"; $printp = 0; } else { # ($chr,$chrpos1,$chrpos2) = $coords{$contig} =~ /(\S+):(\d+)\D+(\d+)/; # If $chrpos2 < $chrpos1, then contig needs to be reverse complement. # However, gmapindex knows how to handle this $processedp{$contig} = 1; #printf (">%s\t%s\t%s\n",$contig,$coords{$contig},$strain{$contig}); printf (">%s\t%s\t%u",$contig,$coords{$contig},$universal_coord{$contig}); if (defined($circularp{$contig})) { print "\tcircular"; } print "\n"; $printp = 1; } } elsif ($printp == 1) { print $line . "\n"; } } close($FP); } return; } sub check_processed { $nwarnings = 0; foreach $contig (keys %coords) { if (!defined($processedp{$contig})) { print STDERR "Warning!! Contig $contig was listed in coords file, but not seen in a FASTA file\n"; $nwarnings++; } } if ($nwarnings > 0) { print STDERR "Warning: A total of $nwarnings contigs were listed in coords file, but not seen in a FASTA file\n"; print STDERR "Should provide the correct FASTA files, or comment out these contigs in the coords file $coord_file\n"; } return; } gmap-2015-12-31/util/dbsnp_iit.pl.in0000755002622600023770000001726012567632013013674 00000000000000#! @PERL@ use warnings; use IO::File; use Getopt::Std; undef($opt_c); # desired_chr $opt_w = 1; # item weight: 1 (more confident), 2, or 3 (less); allow $opt_w and lower undef($opt_e); # exceptions file (separate file provided for hg18 and earlier) getopts("c:e:w:"); if (defined($exceptions_file = $opt_e)) { if ($exceptions_file =~ /\.gz$/) { $FP = new IO::File("gunzip -c $exceptions_file |") or die "Cannot gunzip file $exceptions_file"; } else { $FP = new IO::File($exceptions_file) or die "Cannot read file $exceptions_file"; } while (defined($line = <$FP>)) { $line =~ s/\r\n/\n/; chop $line; @fields = split /\t/,$line; $exception_type = $fields[5]; if (!defined($allowp{$exception_type})) { # Exclude this SNP (implicitly) $rsid = $fields[4]; if (!defined($excludep{$rsid})) { $nexclude_implicit{$exception_type} += 1; $excludep{$rsid} = 1; } } elsif ($allowp{$exception_type} == 0) { # Exclude this SNP (explicitly) $rsid = $fields[4]; if (!defined($excludep{$rsid})) { $nexclude_explicit{$exception_type} += 1; $excludep{$rsid} = 1; } } else { # Allow this SNP $nallow_explicit{$exception_type} += 1; } } close($FP); print STDERR "Exceptions to be allowed (allowp == 1 in dbsnp_iit program):\n"; foreach $exception_type (sort {$a cmp $b} keys %nallow_explicit) { print STDERR " $exception_type: $nallow_explicit{$exception_type}\n"; } print STDERR "\n"; print STDERR "Exceptions to be excluded (allowp == 0 in dbsnp_iit program):\n"; foreach $exception_type (sort {$a cmp $b} (keys %nexclude_explicit)) { print STDERR " $exception_type: $nexclude_explicit{$exception_type}\n"; } print STDERR "\n"; print STDERR "Exceptions excluded implicitly (not defined in allowp in dbsnp_iit program):\n"; foreach $exception_type (sort {$a cmp $b} (keys %nexclude_implicit)) { print STDERR " $exception_type: $nexclude_implicit{$exception_type}\n"; } print STDERR "\n"; } else { print STDERR "Exceptions to be allowed (allowp == 1 in dbsnp_iit program):\n"; foreach $exception_type (sort {$a cmp $b} keys %allowp) { if ($allowp{$exception_type} == 1) { # Allow this SNP (explicitly) print STDERR " $exception_type\n"; } } print STDERR "\n"; print STDERR "Exceptions to be excluded (allowp == 0 in dbsnp_iit program):\n"; foreach $exception_type (sort {$a cmp $b} keys %allowp) { if ($allowp{$exception_type} == 0) { # Excluded this SNP (explicitly) print STDERR " $exception_type\n"; } } print STDERR "\n"; } while (defined($line = <>)) { $line =~ s/\r\n/\n/; chop $line; @fields = split /\t/,$line; $item_class = $fields[11]; if ($item_class eq "single") { if (!defined($exceptions_file)) { record_new_exceptions($fields[18]); } $chr = $fields[1]; if (!defined($opt_c) || $chr eq $opt_c) { $item_weight = $fields[17]; if ($item_weight <= $opt_w) { $rsid = $fields[4]; if (defined($excludep{$rsid})) { # Skip } elsif (defined($fields[18]) && exclude_for_exceptions($fields[18]) == 1) { # Skip } elsif ($fields[9] =~ /^(.)\/(.)$/) { # single base => single base $alleleA = $1; $alleleB = $2; if (!defined($acgt{$alleleA}) || !defined($acgt{$alleleB})) { print STDERR "$rsid has alleles $fields[9] with non-ACGT character\n"; } else { if (($snp_strand = $fields[6]) eq "-") { $alleleA = $revcomp{$alleleA}; $alleleB = $revcomp{$alleleB}; } if ($alleleA le $alleleB) { $snp_type = $alleleA . $alleleB; } else { $snp_type = $alleleB . $alleleA; } $chrpos = $fields[2] + 1; # because dbsnp file is 0-based print ">$rsid $chr:$chrpos $snp_type $snp_strand\n"; } } } } } } if (!defined($exceptions_file)) { print STDERR "Exceptions excluded implicitly (not defined in allowp in dbsnp_iit program):\n"; foreach $exception_type (sort {$a cmp $b} keys %newp) { print STDERR $exception_type . "\n"; } print STDERR "\n"; } exit; sub record_new_exceptions { my ($exceptions) = @_; foreach $exception (split ",",$exceptions) { if (!defined($allowp{$exception})) { $newp{$exception} = 1; } } } sub exclude_for_exceptions { my ($exceptions) = @_; foreach $exception (split ",",$exceptions) { if (!defined($allowp{$exception})) { # Exclude this SNP (implicitly) return 1; } elsif ($allowp{$exception} == 0) { # Exclude this SNP (explicitly) return 1; } } # Allow this SNP return 0; } BEGIN { %acgt = ("A" => 1, "C" => 1, "G" => 1, "T" => 1); %revcomp = ("A" => "T", "C" => "G", "G" => "C", "T" => "A"); # To allow an exception type, it must be listed below and have a value of 1 # These exceptions are taken from the *ExceptionDesc.txt file from UCSC %allowp = ( "RefAlleleMismatch" => 0, # The reference allele from dbSNP does not match the UCSC reference allele. "RefAlleleRevComp" => 0, # The reference allele from dbSNP matches the reverse complement of the UCSC reference allele. "DuplicateObserved" => 0, # There are other rsIds at this position with identical variation. "MixedObserved" => 0, # There are other rsIds at this position with different variation. "FlankMismatchGenomeLonger" => 0, # NCBI's alignment of the flanking sequences had at least one mismatch or gap. (UCSC's re-alignment of flanking sequences to the genome may be informative -- see below.) "FlankMismatchGenomeEqual" => 0, # NCBI's alignment of the flanking sequences had at least one mismatch or gap. (UCSC's re-alignment of flanking sequences to the genome may be informative -- see below.) "FlankMismatchGenomeShorter" => 0, # NCBI's alignment of the flanking sequences had at least one mismatch or gap. (UCSC's re-alignment of flanking sequences to the genome may be informative -- see below.) "NamedDeletionZeroSpan" => 0, # A deletion (from the genome) was observed but the annotation spans 0 bases. (UCSC's re-alignment of flanking sequences to the genome may be informative -- see below.) "NamedInsertionNonzeroSpan" => 0, # An insertion (into the genome) was observed but the annotation spans more than 0 bases. (UCSC's re-alignment of flanking sequences to the genome may be informative -- see below.) "SingleClassLongerSpan" => 0, # All observed alleles are single-base, but the annotation spans more than 1 base. (UCSC's re-alignment of flanking sequences to the genome may be informative -- see below.) "SingleClassZeroSpan" => 0, # All observed alleles are single-base, but the annotation spans 0 bases. (UCSC's re-alignment of flanking sequences to the genome may be informative -- see below.) "SingleClassTriAllelic" => 0, # This single-base substitution is tri-allelic. "SingleClassQuadAllelic" => 0, # This single-base substitution is quad-allelic. "ObservedWrongFormat" => 0, # Observed allele(s) from dbSNP have unexpected format for the given class. "ObservedTooLong" => 0, # Observed allele not given (length too long). "ObservedContainsIupac" => 0, # Observed allele(s) from dbSNP contain IUPAC ambiguous bases. "ObservedMismatch" => 0, # UCSC reference allele does not match any observed allele from dbSNP. "MultipleAlignments" => 0, # This variant aligns in more than one location. "NonIntegerChromCount" => 0, # At least one allele frequency corresponds to a non-integer (+-0.010000) count of chromosomes on which the allele was observed. The reported total sample count for this SNP is probably incorrect. "AlleleFreqSumNot1" => 0, # Allele frequencies do not sum to 1.0 (+-0.010000). This SNP's allele frequency data are probably incomplete. "InconsistentAlleles" => 0, "SingleAlleleFreq" => 0, ); } gmap-2015-12-31/util/gtf_splicesites.pl.in0000755002622600023770000003050112567632014015102 00000000000000#! @PERL@ use warnings; use IO::File; use Getopt::Std; undef $opt_C; # If provided, will keep only canonical splice sites. Requires -d flag. undef $opt_R; # If provided, will report only non-canonical splice sites to stdout. Requires -d flag. undef $opt_2; # If provided, will print dinucleotides at splice sites. Requires -d flag. undef $opt_D; # Genome directory undef $opt_d; # Genome index undef $opt_E; # Use exon_number field to determine exon ordering getopts("D:d:CR2E"); if (defined($opt_d)) { if (!defined($opt_C) && !defined($opt_R) && !defined($opt_2)) { print STDERR "-d flag useful only with -C, -R, or -2 flags. Ignoring -d flag\n"; undef $opt_d; } else { if (0) { $FP = new IO::File(">&STDOUT"); } elsif (defined($opt_D)) { $FP = new IO::File("| @BINDIR@/get-genome -D $opt_D -d $opt_d > get-genome.out"); } else { $FP = new IO::File("| @BINDIR@/get-genome -d $opt_d > get-genome.out"); } @exons = (); $sortp = 0; $last_transcript_id = ""; while (defined($line = <>)) { if ($line =~ /^\#/) { # Skip } else { $line =~ s/\r\n/\n/; push @lines,$line; chop $line; @fields = split /\t/,$line; if ($fields[2] eq "exon") { @info = (); parse_info($fields[8]); $transcript_id = get_info(\@info,"transcript_id"); if ($transcript_id ne $last_transcript_id) { if ($last_transcript_id =~ /\S/) { query_dinucleotides(\@exons,$chr,$strand,$FP,$sortp); } @exons = (); $sortp = 0; $last_transcript_id = $transcript_id; $chr = $fields[0]; $strand = $fields[6]; } if (defined($opt_E) && defined($exon_number = get_info_optional(\@info,"exon_number"))) { $exons[$exon_number-1] = "$fields[3] $fields[4]"; } else { $sortp = 1; push @exons,"$fields[3] $fields[4]"; } } } } } if ($last_transcript_id =~ /\S/) { query_dinucleotides(\@exons,$chr,$strand,$FP,$sortp); } close($FP); $FP = new IO::File("get-genome.out") or die "Cannot open get-genome.out"; } else { if (defined($opt_C)) { print STDERR "-C flag requires you to specify -d flag. Ignoring -C flag\n"; undef $opt_C; } if (defined($opt_R)) { print STDERR "-R flag requires you to specify -d flag. Ignoring -R flag\n"; undef $opt_R; } if (defined($opt_2)) { print STDERR "-2 flag requires you to specify -d flag. Ignoring -2 flag\n"; undef $opt_2; } } @exons = (); $sortp = 0; $last_transcript_id = ""; while (defined($line = get_line())) { if ($line =~ /^\#/) { # Skip } else { chop $line; @fields = split /\t/,$line; if ($fields[2] eq "exon") { @info = (); parse_info($fields[8]); $transcript_id = get_info(\@info,"transcript_id"); if ($transcript_id ne $last_transcript_id) { if ($last_transcript_id =~ /\S/) { print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand,$FP,$sortp); } @exons = (); $sortp = 0; $gene_name = get_info(\@info,"gene_name","gene_id"); $last_transcript_id = $transcript_id; $chr = $fields[0]; $strand = $fields[6]; } if (defined($opt_E) && defined($exon_number = get_info_optional(\@info,"exon_number"))) { $exons[$exon_number-1] = "$fields[3] $fields[4]"; } else { $sortp = 1; push @exons,"$fields[3] $fields[4]"; } } } } if ($last_transcript_id =~ /\S/) { print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand,$FP,$sortp); } if (defined($opt_d)) { close($FP); } exit; sub get_line { my $line; if (!defined($opt_d)) { if (!defined($line = <>)) { return; } else { return $line; } } else { if ($#lines < 0) { return; } else { $line = shift @lines; return $line; } } } sub parse_info { my ($list) = @_; if ($list !~ /\S/) { return; } elsif ($list =~ /(\S+) "([^"]+)";?(.*)/) { push @info,"$1 $2"; parse_info($3); } elsif ($list =~ /(\S+) (\S+);?(.*)/) { push @info,"$1 $2"; parse_info($3); } else { die "Cannot parse $list"; } } sub get_info { my $info = shift @_; my @desired_keys = @_; foreach $item (@ {$info}) { ($key,$value) = $item =~ /(\S+) (.+)/; foreach $desired_key (@desired_keys) { if ($key eq $desired_key) { return $value; } } } print STDERR "Cannot find " . join(" or ",@desired_keys) . " in " . join("; ",@ {$info}) . "\n"; return "NA"; } sub get_info_optional { my $info = shift @_; my @desired_keys = @_; foreach $item (@ {$info}) { ($key,$value) = $item =~ /(\S+) (.+)/; foreach $desired_key (@desired_keys) { if ($key eq $desired_key) { return $value; } } } return; } sub get_dinucleotide { my ($query, $FP) = @_; my $dinucl; my $line; my $lastline; while (defined($line = <$FP>) && $line !~ /^\# Query: $query\s*$/) { if ($line =~ /^\# End\s*$/) { print STDERR "line is $line\n"; die "Could not find query $query"; } } while (defined($line = <$FP>) && $line !~ /^\# End\s*$/) { if ($line =~ /^\# Query: /) { die "Could not find query $query"; } $lastline = $line; } if (!defined($line)) { die "File ended while looking for query $query"; } ($dinucl) = $lastline =~ /(\S\S)/; if (!defined($dinucl) || $dinucl !~ /\S/) { die "Could not find dinucl in lastline $line for query $query"; } return $dinucl; } sub ascending_cmp { ($starta) = $a =~ /(\d+) \d+/; ($startb) = $b =~ /(\d+) \d+/; return $starta <=> $startb; } sub get_intron_bounds_plus { my ($exons, $sortp) = @_; my @starts = (); my @ends = (); if ($sortp == 1) { foreach $exon (sort ascending_cmp (@ {$exons})) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } } else { foreach $exon (@ {$exons}) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } } shift @starts; pop @ends; return (\@starts,\@ends); } sub get_intron_bounds_minus { my ($exons, $sortp) = @_; my @starts = (); my @ends = (); if ($sortp == 1) { foreach $exon (reverse sort ascending_cmp (@ {$exons})) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } } else { foreach $exon (@ {$exons}) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } } pop @starts; shift @ends; return (\@starts,\@ends); } sub query_dinucleotides { my ($exons, $chr, $strand, $FP, $sortp) = @_; $nexons = $#{$exons} + 1; if ($strand eq "+") { ($starts,$ends) = get_intron_bounds_plus($exons,$sortp); for ($i = 0; $i < $nexons - 1; $i++) { $query = sprintf("%s:%u..%u",$chr,$ends[$i]+1,$ends[$i]+2); print $FP $query . "\n"; $query = sprintf("%s:%u..%u",$chr,$starts[$i]-2,$starts[$i]-1); print $FP $query . "\n"; } } elsif ($strand eq "-") { ($starts,$ends) = get_intron_bounds_minus($exons,$sortp); for ($i = 0; $i < $nexons - 1; $i++) { $query = sprintf("%s:%u..%u",$chr,$starts[$i]-1,$starts[$i]-2); print $FP $query . "\n"; $query = sprintf("%s:%u..%u",$chr,$ends[$i]+2,$ends[$i]+1); print $FP $query . "\n"; } } return; } sub donor_okay_p { my ($donor_dinucl, $acceptor_dinucl) = @_; if ($donor_dinucl eq "GT") { return 1; } elsif ($donor_dinucl eq "GC") { return 1; } elsif ($donor_dinucl eq "AT" && $acceptor_dinucl eq "AC") { return 1; } else { return 0; } } sub acceptor_okay_p { my ($donor_dinucl, $acceptor_dinucl) = @_; if ($acceptor_dinucl eq "AG") { return 1; } elsif ($donor_dinucl eq "AT" && $acceptor_dinucl eq "AC") { return 1; } else { return 0; } } sub print_exons { my ($exons, $gene_name, $transcript_id, $chr, $strand, $FP, $sortp) = @_; $nexons = $#{$exons} + 1; if ($strand eq "+") { ($starts,$ends) = get_intron_bounds_plus($exons,$sortp); for ($i = 0; $i < $nexons - 1; $i++) { $intron_length = $ {$starts}[$i] - $ {$ends}[$i] - 1; if (!defined($opt_d)) { printf ">%s.%s.exon%d/%d %s:%u..%u donor $intron_length\n",$gene_name,$transcript_id,$i+1,$nexons,$chr,$ {$ends}[$i],$ {$ends}[$i]+1; printf ">%s.%s.exon%d/%d %s:%u..%u acceptor $intron_length\n",$gene_name,$transcript_id,$i+2,$nexons,$chr,$ {$starts}[$i]-1,$ {$starts}[$i]; } else { $query = sprintf("%s:%u..%u",$chr,$ends[$i]+1,$ends[$i]+2); $donor_dinucl = get_dinucleotide($query,$FP); $query = sprintf("%s:%u..%u",$chr,$starts[$i]-2,$starts[$i]-1); $acceptor_dinucl = get_dinucleotide($query,$FP); if (defined($opt_C) && donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf STDERR "Skipping non-canonical donor $donor_dinucl, intron length %d for %s.%s.exon%d/%d on plus strand\n", $intron_length,$gene_name,$transcript_id,$i+1,$nexons; } elsif (defined($opt_R)) { if (donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.%s.exon%d/%d %s:%u..%u donor $intron_length",$gene_name,$transcript_id,$i+1,$nexons,$chr,$ {$ends}[$i],$ {$ends}[$i]+1; print " $donor_dinucl"; print "\n"; } } else { printf ">%s.%s.exon%d/%d %s:%u..%u donor $intron_length",$gene_name,$transcript_id,$i+1,$nexons,$chr,$ {$ends}[$i],$ {$ends}[$i]+1; if (defined($opt_2)) { print " $donor_dinucl"; } print "\n"; } if (defined($opt_C) && acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf STDERR "Skipping non-canonical acceptor $acceptor_dinucl, intron length %d for %s.%s.exon%d/%d on plus strand\n", $intron_length,$gene_name,$transcript_id,$i+2,$nexons; } elsif (defined($opt_R)) { if (acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.%s.exon%d/%d %s:%u..%u acceptor $intron_length",$gene_name,$transcript_id,$i+2,$nexons,$chr,$ {$starts}[$i]-1,$ {$starts}[$i]; print " $acceptor_dinucl"; print "\n"; } } else { printf ">%s.%s.exon%d/%d %s:%u..%u acceptor $intron_length",$gene_name,$transcript_id,$i+2,$nexons,$chr,$ {$starts}[$i]-1,$ {$starts}[$i]; if (defined($opt_2)) { print " $acceptor_dinucl"; } print "\n"; } } } } elsif ($strand eq "-") { ($starts,$ends) = get_intron_bounds_minus($exons,$sortp); for ($i = 0; $i < $nexons - 1; $i++) { $intron_length = $ {$starts}[$i] - $ {$ends}[$i] - 1; if (!defined($opt_d)) { printf ">%s.%s.exon%d/%d %s:%u..%u donor $intron_length\n",$gene_name,$transcript_id,$i+1,$nexons,$chr,$ {$starts}[$i],$ {$starts}[$i]-1; printf ">%s.%s.exon%d/%d %s:%u..%u acceptor $intron_length\n",$gene_name,$transcript_id,$i+2,$nexons,$chr,$ {$ends}[$i]+1,$ {$ends}[$i]; } else { $query = sprintf("%s:%u..%u",$chr,$starts[$i]-1,$starts[$i]-2); $donor_dinucl = get_dinucleotide($query,$FP); $query = sprintf("%s:%u..%u",$chr,$ends[$i]+2,$ends[$i]+1); $acceptor_dinucl = get_dinucleotide($query,$FP); if (defined($opt_C) && donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf STDERR "Skipping non-canonical donor $donor_dinucl, intron length %d for %s.%s.exon%d/%d on minus strand\n", $intron_length,$gene_name,$transcript_id,$i+1,$nexons; } elsif (defined($opt_R)) { if (donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.%s.exon%d/%d %s:%u..%u donor $intron_length",$gene_name,$transcript_id,$i+1,$nexons,$chr,$ {$starts}[$i],$ {$starts}[$i]-1; print " $donor_dinucl"; print "\n"; } } else { printf ">%s.%s.exon%d/%d %s:%u..%u donor $intron_length",$gene_name,$transcript_id,$i+1,$nexons,$chr,$ {$starts}[$i],$ {$starts}[$i]-1; if (defined($opt_2)) { print " $donor_dinucl"; } print "\n"; } if (defined($opt_C) && acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf STDERR "Skipping non-canonical acceptor $acceptor_dinucl, intron length %d for %s.%s.exon%d/%d on minus strand\n", $intron_length,$gene_name,$transcript_id,$i+2,$nexons; } elsif (defined($opt_R)) { if (acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.%s.exon%d/%d %s:%u..%u acceptor $intron_length",$gene_name,$transcript_id,$i+2,$nexons,$chr,$ {$ends}[$i]+1,$ {$ends}[$i]; print " $acceptor_dinucl"; print "\n"; } } else { printf ">%s.%s.exon%d/%d %s:%u..%u acceptor $intron_length",$gene_name,$transcript_id,$i+2,$nexons,$chr,$ {$ends}[$i]+1,$ {$ends}[$i]; if (defined($opt_2)) { print " $acceptor_dinucl"; } print "\n"; } } } } return; } gmap-2015-12-31/util/gff3_splicesites.pl.in0000755002622600023770000003226012567632014015153 00000000000000#! @PERL@ use warnings; use IO::File; use Getopt::Std; undef $opt_C; # If provided, will keep only canonical splice sites. Requires -d flag. undef $opt_R; # If provided, will report only non-canonical splice sites to stdout. Requires -d flag. undef $opt_2; # If provided, will print dinucleotides at splice sites. Requires -d flag. undef $opt_D; # Genome directory undef $opt_d; # Genome index undef $opt_Q; # Quiet (nothing to stderr) getopts("D:d:CR2Q"); if (defined($opt_d)) { if (!defined($opt_C) && !defined($opt_R) && !defined($opt_2)) { print STDERR "-d flag useful only with -C, -R, or -2 flags. Ignoring -d flag\n"; undef $opt_d; } else { if (0) { $FP = new IO::File(">&STDOUT"); } elsif (defined($opt_D)) { $FP = new IO::File("| @BINDIR@/get-genome -D $opt_D -d $opt_d > get-genome.out"); } else { $FP = new IO::File("| @BINDIR@/get-genome -d $opt_d > get-genome.out"); } $gene_name = ""; $last_transcript_id = ""; @exons = (); @CDS_regions = (); while (defined($line = <>)) { if ($line =~ /^\#/) { # Skip } elsif ($line !~ /\S/) { # Skip blank line } else { $line =~ s/\r\n/\n/; push @lines,$line; chop $line; @fields = split /\t/,$line; if ($fields[2] eq "gene") { if ($#exons > 0) { # Handle last mRNA of previous gene query_dinucleotides(\@exons,$chr,$strand,$FP); #print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand,$FP); } elsif ($#CDS_regions > 0) { # Handle last mRNA of previous gene query_dinucleotides(\@CDS_regions,$chr,$strand,$FP); #print_exons(\@CDS_regions,$gene_name,$last_transcript_id,$chr,$strand,$FP); } ($gene_name) = $fields[8] =~ /ID=([^;]+)/; $chr = $fields[0]; @exons = (); @CDS_regions = (); } elsif ($fields[2] eq "mRNA" || $fields[2] eq "transcript") { if ($#exons > 0) { query_dinucleotides(\@exons,$chr,$strand,$FP); #print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand,$FP); } elsif ($#CDS_regions > 0) { query_dinucleotides(\@CDS_regions,$chr,$strand,$FP); #print_exons(\@CDS_regions,$gene_name,$last_transcript_id,$chr,$strand,$FP); } ($last_transcript_id) = $fields[8] =~ /ID=([^;]+)/; $strand = $fields[6]; # For GFF3 files without a gene line if (!defined($gene_name) || $gene_name !~ /\S/) { $gene_name = $last_transcript_id; } $chr = $fields[0]; @exons = (); @CDS_regions = (); } elsif ($fields[2] eq "exon") { push @exons,"$fields[3] $fields[4]"; } elsif ($fields[2] eq "CDS") { push @CDS_regions,"$fields[3] $fields[4]"; } } } } if ($#exons > 0) { query_dinucleotides(\@exons,$chr,$strand,$FP); } elsif ($#CDS_regions > 0) { query_dinucleotides(\@CDS_regions,$chr,$strand,$FP); } close($FP); $FP = new IO::File("get-genome.out") or die "Cannot open get-genome.out"; } else { if (defined($opt_C)) { print STDERR "-C flag requires you to specify -d flag. Ignoring -C flag\n"; undef $opt_C; } if (defined($opt_R)) { print STDERR "-R flag requires you to specify -d flag. Ignoring -R flag\n"; undef $opt_R; } if (defined($opt_2)) { print STDERR "-2 flag requires you to specify -d flag. Ignoring -2 flag\n"; undef $opt_2; } } $gene_name = ""; $last_transcript_id = ""; @exons = (); @CDS_regions = (); while (defined($line = get_line())) { if ($line =~ /^\#/) { # Skip } elsif ($line !~ /\S/) { # Skip blank line } else { $line =~ s/\r\n/\n/; chop $line; @fields = split /\t/,$line; if ($fields[2] eq "gene") { if ($#exons > 0) { # Handle last mRNA of previous gene print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand,$FP); } elsif ($#CDS_regions > 0) { # Handle last mRNA of previous gene print_exons(\@CDS_regions,$gene_name,$last_transcript_id,$chr,$strand,$FP); } ($gene_name) = $fields[8] =~ /ID=([^;]+)/; $chr = $fields[0]; @exons = (); @CDS_regions = (); } elsif ($fields[2] eq "mRNA" || $fields[2] eq "transcript") { if ($#exons > 0) { print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand,$FP); } elsif ($#CDS_regions > 0) { print_exons(\@CDS_regions,$gene_name,$last_transcript_id,$chr,$strand,$FP); } ($last_transcript_id) = $fields[8] =~ /ID=([^;]+)/; $strand = $fields[6]; # For GFF3 files without a gene line if (!defined($gene_name) || $gene_name !~ /\S/) { $gene_name = $last_transcript_id; } if (!defined($chr) || $chr !~ /\S/) { $chr = $fields[0]; } @exons = (); @CDS_regions = (); } elsif ($fields[2] eq "exon") { push @exons,"$fields[3] $fields[4]"; } elsif ($fields[2] eq "CDS") { push @CDS_regions,"$fields[3] $fields[4]"; } } } if ($#exons > 0) { print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand,$FP); } elsif ($#CDS_regions > 0) { print_exons(\@CDS_regions,$gene_name,$last_transcript_id,$chr,$strand,$FP); } if (defined($opt_d)) { close($FP); } exit; sub get_line { my $line; if (!defined($opt_d)) { if (!defined($line = <>)) { return; } else { return $line; } } else { if ($#lines < 0) { return; } else { $line = shift @lines; return $line; } } } sub get_dinucleotide { my ($query, $FP) = @_; my $dinucl; my $line; my $lastline; while (defined($line = <$FP>) && $line !~ /^\# Query: $query\s*$/) { if ($line =~ /^\# End\s*$/) { print STDERR "line is $line\n"; die "Could not find query $query"; } } while (defined($line = <$FP>) && $line !~ /^\# End\s*$/) { if ($line =~ /^\# Query: /) { die "Could not find query $query"; } $lastline = $line; } if (!defined($line)) { die "File ended while looking for query $query"; } ($dinucl) = $lastline =~ /(\S\S)/; if (!defined($dinucl) || $dinucl !~ /\S/) { die "Could not find dinucl in lastline $line for query $query"; } return $dinucl; } sub ascending_cmp { ($starta) = $a =~ /(\d+) \d+/; ($startb) = $b =~ /(\d+) \d+/; return $starta <=> $startb; } sub get_intron_bounds_plus { my ($exons) = @_; my @starts = (); my @ends = (); foreach $exon (sort ascending_cmp (@ {$exons})) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } shift @starts; pop @ends; return (\@starts,\@ends); } sub get_intron_bounds_minus { my ($exons) = @_; my @starts = (); my @ends = (); foreach $exon (reverse sort ascending_cmp (@ {$exons})) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } pop @starts; shift @ends; return (\@starts,\@ends); } sub query_dinucleotides { my ($exons, $chr, $strand, $FP) = @_; $nexons = $#{$exons} + 1; if ($strand eq "+") { ($starts,$ends) = get_intron_bounds_plus($exons); for ($i = 0; $i < $nexons - 1; $i++) { $query = sprintf("%s:%u..%u",$chr,$ends[$i]+1,$ends[$i]+2); print $FP $query . "\n"; $query = sprintf("%s:%u..%u",$chr,$starts[$i]-2,$starts[$i]-1); print $FP $query . "\n"; } } elsif ($strand eq "-") { ($starts,$ends) = get_intron_bounds_minus($exons); for ($i = 0; $i < $nexons - 1; $i++) { $query = sprintf("%s:%u..%u",$chr,$starts[$i]-1,$starts[$i]-2); print $FP $query . "\n"; $query = sprintf("%s:%u..%u",$chr,$ends[$i]+2,$ends[$i]+1); print $FP $query . "\n"; } } return; } sub donor_okay_p { my ($donor_dinucl, $acceptor_dinucl) = @_; if ($donor_dinucl eq "GT") { return 1; } elsif ($donor_dinucl eq "GC") { return 1; } elsif ($donor_dinucl eq "AT" && $acceptor_dinucl eq "AC") { return 1; } else { return 0; } } sub acceptor_okay_p { my ($donor_dinucl, $acceptor_dinucl) = @_; if ($acceptor_dinucl eq "AG") { return 1; } elsif ($donor_dinucl eq "AT" && $acceptor_dinucl eq "AC") { return 1; } else { return 0; } } sub print_exons { my ($exons, $gene_name, $transcript_id, $chr, $strand, $FP) = @_; $nexons = $#{$exons} + 1; if ($strand eq "+") { ($starts,$ends) = get_intron_bounds_plus($exons); for ($i = 0; $i < $nexons - 1; $i++) { if (($intron_length = $ {$starts}[$i] - $ {$ends}[$i] - 1) < 0) { printf STDERR "gene %s, transcript %s, intron %d with donor at %s:%u and acceptor at %s:%u implies a negative intron length of %d...skipping\n",$gene_name,$transcript_id,$i+1,$chr,$ {$ends}[$i],$chr,$ {$starts}[$i],$intron_length; } elsif (!defined($opt_d)) { printf ">%s.%s.exon%d/%d %s:%u..%u donor $intron_length\n",$gene_name,$transcript_id,$i+1,$nexons,$chr,$ {$ends}[$i],$ {$ends}[$i]+1; printf ">%s.%s.exon%d/%d %s:%u..%u acceptor $intron_length\n",$gene_name,$transcript_id,$i+2,$nexons,$chr,$ {$starts}[$i]-1,$ {$starts}[$i]; } else { $query = sprintf("%s:%u..%u",$chr,$ends[$i]+1,$ends[$i]+2); $donor_dinucl = get_dinucleotide($query,$FP); $query = sprintf("%s:%u..%u",$chr,$starts[$i]-2,$starts[$i]-1); $acceptor_dinucl = get_dinucleotide($query,$FP); if (defined($opt_C) && donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { if (!defined($opt_Q)) { printf STDERR "Skipping non-canonical donor $donor_dinucl, intron length %d for %s.%s.exon%d/%d on plus strand\n",$intron_length,$gene_name,$transcript_id,$i+1,$nexons; } } elsif (defined($opt_R)) { if (donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.%s.exon%d/%d %s:%u..%u donor $intron_length",$gene_name,$transcript_id,$i+1,$nexons,$chr,$ {$ends}[$i],$ {$ends}[$i]+1; print " $donor_dinucl"; print "\n"; } } else { printf ">%s.%s.exon%d/%d %s:%u..%u donor $intron_length",$gene_name,$transcript_id,$i+1,$nexons,$chr,$ {$ends}[$i],$ {$ends}[$i]+1; if (defined($opt_2)) { print " $donor_dinucl"; } print "\n"; } if (defined($opt_C) && acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { if (!defined($opt_Q)) { printf STDERR "Skipping non-canonical acceptor $acceptor_dinucl, intron length %d for %s.%s.exon%d/%d on plus strand\n",$intron_length,$gene_name,$transcript_id,$i+2,$nexons; } } elsif (defined($opt_R)) { if (acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.%s.exon%d/%d %s:%u..%u acceptor $intron_length",$gene_name,$transcript_id,$i+2,$nexons,$chr,$ {$starts}[$i]-1,$ {$starts}[$i]; print " $acceptor_dinucl"; print "\n"; } } else { printf ">%s.%s.exon%d/%d %s:%u..%u acceptor $intron_length",$gene_name,$transcript_id,$i+2,$nexons,$chr,$ {$starts}[$i]-1,$ {$starts}[$i]; if (defined($opt_2)) { print " $acceptor_dinucl"; } print "\n"; } } } } elsif ($strand eq "-") { ($starts,$ends) = get_intron_bounds_minus($exons); for ($i = 0; $i < $nexons - 1; $i++) { if (($intron_length = $ {$starts}[$i] - $ {$ends}[$i] - 1) < 0) { printf STDERR "gene %s, transcript %s, intron %d with donor at %s:%u and acceptor at %s:%u implies a negative intron length of %d...skipping\n",$gene_name,$transcript_id,$i+1,$chr,$ {$starts}[$i],$chr,$ {$ends}[$i],$intron_length; } elsif (!defined($opt_d)) { printf ">%s.%s.exon%d/%d %s:%u..%u donor $intron_length\n",$gene_name,$transcript_id,$i+1,$nexons,$chr,$ {$starts}[$i],$ {$starts}[$i]-1; printf ">%s.%s.exon%d/%d %s:%u..%u acceptor $intron_length\n",$gene_name,$transcript_id,$i+2,$nexons,$chr,$ {$ends}[$i]+1,$ {$ends}[$i]; } else { $query = sprintf("%s:%u..%u",$chr,$starts[$i]-1,$starts[$i]-2); $donor_dinucl = get_dinucleotide($query,$FP); $query = sprintf("%s:%u..%u",$chr,$ends[$i]+2,$ends[$i]+1); $acceptor_dinucl = get_dinucleotide($query,$FP); if (defined($opt_C) && donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { if (!defined($opt_Q)) { printf STDERR "Skipping non-canonical donor $donor_dinucl, intron length %d for %s.%s.exon%d/%d on minus strand\n",$intron_length,$gene_name,$transcript_id,$i+1,$nexons; } } elsif (defined($opt_R)) { if (donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.%s.exon%d/%d %s:%u..%u donor $intron_length",$gene_name,$transcript_id,$i+1,$nexons,$chr,$ {$starts}[$i],$ {$starts}[$i]-1; print " $donor_dinucl"; print "\n"; } } else { printf ">%s.%s.exon%d/%d %s:%u..%u donor $intron_length",$gene_name,$transcript_id,$i+1,$nexons,$chr,$ {$starts}[$i],$ {$starts}[$i]-1; if (defined($opt_2)) { print " $donor_dinucl"; } print "\n"; } if (defined($opt_C) && acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { if (!defined($opt_Q)) { printf STDERR "Skipping non-canonical acceptor $acceptor_dinucl, intron length %d for %s.%s.exon%d/%d on minus strand\n",$intron_length,$gene_name,$transcript_id,$i+2,$nexons; } } elsif (defined($opt_R)) { if (acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.%s.exon%d/%d %s:%u..%u acceptor $intron_length",$gene_name,$transcript_id,$i+2,$nexons,$chr,$ {$ends}[$i]+1,$ {$ends}[$i]; print " $acceptor_dinucl"; print "\n"; } } else { printf ">%s.%s.exon%d/%d %s:%u..%u acceptor $intron_length",$gene_name,$transcript_id,$i+2,$nexons,$chr,$ {$ends}[$i]+1,$ {$ends}[$i]; if (defined($opt_2)) { print " $acceptor_dinucl"; } print "\n"; } } } } return; } gmap-2015-12-31/util/gtf_introns.pl.in0000755002622600023770000002616612567632013014262 00000000000000#! @PERL@ use warnings; use IO::File; use Getopt::Std; undef $opt_C; # If provided, will keep only introns with canonical splice sites. Requires -d flag. undef $opt_R; # If provided, will report only introns with non-canonical splice sites to stdout. Requires -d flag. undef $opt_2; # If provided, will print dinucleotides at splice sites. Requires -d flag. undef $opt_D; # Genome directory undef $opt_d; # Genome index undef $opt_E; # Use exon_number field to determine own exon ordering getopts("D:d:CR2E"); if (defined($opt_d)) { if (!defined($opt_C) && !defined($opt_R) && !defined($opt_2)) { print STDERR "-d flag useful only with -C, -R, or -2 flags. Ignoring -d flag\n"; undef $opt_d; } else { if (0) { $FP = new IO::File(">&STDOUT"); } elsif (defined($opt_D)) { $FP = new IO::File("| @BINDIR@/get-genome -D $opt_D -d $opt_d > get-genome.out"); } else { $FP = new IO::File("| @BINDIR@/get-genome -d $opt_d > get-genome.out"); } @exons = (); $sortp = 0; $last_transcript_id = ""; while (defined($line = <>)) { if ($line =~ /^\#/) { # Skip } else { $line =~ s/\r\n/\n/; push @lines,$line; chop $line; @fields = split /\t/,$line; if ($fields[2] eq "exon") { @info = (); parse_info($fields[8]); $transcript_id = get_info(\@info,"transcript_id"); if ($transcript_id ne $last_transcript_id) { if ($last_transcript_id =~ /\S/) { query_dinucleotides(\@exons,$chr,$strand,$FP,$sortp); } @exons = (); $sortp = 0; $last_transcript_id = $transcript_id; $chr = $fields[0]; $strand = $fields[6]; } if (defined($opt_E) && defined($exon_number = get_info_optional(\@info,"exon_number"))) { $exons[$exon_number-1] = "$fields[3] $fields[4]"; } else { $sortp = 1; push @exons,"$fields[3] $fields[4]"; } } } } } if ($last_transcript_id =~ /\S/) { query_dinucleotides(\@exons,$chr,$strand,$FP,$sortp); } close($FP); $FP = new IO::File("get-genome.out") or die "Cannot open get-genome.out"; } else { if (defined($opt_C)) { print STDERR "-C flag requires you to specify -d flag. Ignoring -C flag\n"; undef $opt_C; } if (defined($opt_R)) { print STDERR "-R flag requires you to specify -d flag. Ignoring -R flag\n"; undef $opt_R; } if (defined($opt_2)) { print STDERR "-2 flag requires you to specify -d flag. Ignoring -2 flag\n"; undef $opt_2; } } @exons = (); $sortp = 0; $last_transcript_id = ""; while (defined($line = get_line())) { if ($line =~ /^\#/) { # Skip } else { chop $line; @fields = split /\t/,$line; if ($fields[2] eq "exon") { @info = (); parse_info($fields[8]); $transcript_id = get_info(\@info,"transcript_id"); if ($transcript_id ne $last_transcript_id) { if ($last_transcript_id =~ /\S/) { print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand,$FP,$sortp); } @exons = (); $sortp = 0; $gene_name = get_info(\@info,"gene_name","gene_id"); $last_transcript_id = $transcript_id; $chr = $fields[0]; $strand = $fields[6]; } if (defined($opt_E) && defined($exon_number = get_info_optional(\@info,"exon_number"))) { $exons[$exon_number-1] = "$fields[3] $fields[4]"; } else { $sortp = 1; push @exons,"$fields[3] $fields[4]"; } } } } if ($last_transcript_id =~ /\S/) { print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand,$FP,$sortp); } if (defined($opt_d)) { close($FP); } exit; sub get_line { my $line; if (!defined($opt_d)) { if (!defined($line = <>)) { return; } else { return $line; } } else { if ($#lines < 0) { return; } else { $line = shift @lines; return $line; } } } sub parse_info { my ($list) = @_; if ($list !~ /\S/) { return; } elsif ($list =~ /(\S+) "([^"]+)";?(.*)/) { push @info,"$1 $2"; parse_info($3); } elsif ($list =~ /(\S+) (\S+);?(.*)/) { push @info,"$1 $2"; parse_info($3); } else { die "Cannot parse $list"; } } sub get_info { my $info = shift @_; my @desired_keys = @_; foreach $item (@ {$info}) { ($key,$value) = $item =~ /(\S+) (.+)/; foreach $desired_key (@desired_keys) { if ($key eq $desired_key) { return $value; } } } print STDERR "Cannot find " . join(" or ",@desired_keys) . " in " . join("; ",@ {$info}) . "\n"; return "NA"; } sub get_info_optional { my $info = shift @_; my @desired_keys = @_; foreach $item (@ {$info}) { ($key,$value) = $item =~ /(\S+) (.+)/; foreach $desired_key (@desired_keys) { if ($key eq $desired_key) { return $value; } } } return; } sub get_dinucleotide { my ($query, $FP) = @_; my $dinucl; my $line; my $lastline; while (defined($line = <$FP>) && $line !~ /^\# Query: $query\s*$/) { if ($line =~ /^\# End\s*$/) { print STDERR "line is $line\n"; die "Could not find query $query"; } } while (defined($line = <$FP>) && $line !~ /^\# End\s*$/) { if ($line =~ /^\# Query: /) { die "Could not find query $query"; } $lastline = $line; } if (!defined($line)) { die "File ended while looking for query $query"; } ($dinucl) = $lastline =~ /(\S\S)/; if (!defined($dinucl) || $dinucl !~ /\S/) { die "Could not find dinucl in lastline $line for query $query"; } return $dinucl; } sub ascending_cmp { ($starta) = $a =~ /(\d+) \d+/; ($startb) = $b =~ /(\d+) \d+/; return $starta <=> $startb; } sub get_intron_bounds_plus { my ($exons, $sortp) = @_; my @starts = (); my @ends = (); if ($sortp == 1) { foreach $exon (sort ascending_cmp (@ {$exons})) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } } else { foreach $exon (@ {$exons}) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } } shift @starts; pop @ends; return (\@starts,\@ends); } sub get_intron_bounds_minus { my ($exons, $sortp) = @_; my @starts = (); my @ends = (); if ($sortp == 1) { foreach $exon (reverse sort ascending_cmp (@ {$exons})) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } } else { foreach $exon (@ {$exons}) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } } pop @starts; shift @ends; return (\@starts,\@ends); } sub query_dinucleotides { my ($exons, $chr, $strand, $FP, $sortp) = @_; $nexons = $#{$exons} + 1; if ($strand eq "+") { ($starts,$ends) = get_intron_bounds_plus($exons,$sortp); for ($i = 0; $i < $nexons - 1; $i++) { $query = sprintf("%s:%u..%u",$chr,$ends[$i]+1,$ends[$i]+2); print $FP $query . "\n"; $query = sprintf("%s:%u..%u",$chr,$starts[$i]-2,$starts[$i]-1); print $FP $query . "\n"; } } elsif ($strand eq "-") { ($starts,$ends) = get_intron_bounds_minus($exons,$sortp); for ($i = 0; $i < $nexons - 1; $i++) { $query = sprintf("%s:%u..%u",$chr,$starts[$i]-1,$starts[$i]-2); print $FP $query . "\n"; $query = sprintf("%s:%u..%u",$chr,$ends[$i]+2,$ends[$i]+1); print $FP $query . "\n"; } } return; } sub donor_okay_p { my ($donor_dinucl, $acceptor_dinucl) = @_; if ($donor_dinucl eq "GT") { return 1; } elsif ($donor_dinucl eq "GC") { return 1; } elsif ($donor_dinucl eq "AT" && $acceptor_dinucl eq "AC") { return 1; } else { return 0; } } sub acceptor_okay_p { my ($donor_dinucl, $acceptor_dinucl) = @_; if ($acceptor_dinucl eq "AG") { return 1; } elsif ($donor_dinucl eq "AT" && $acceptor_dinucl eq "AC") { return 1; } else { return 0; } } sub print_exons { my ($exons, $gene_name, $transcript_id, $chr, $strand, $FP, $sortp) = @_; $nexons = $#{$exons} + 1; if ($strand eq "+") { ($starts,$ends) = get_intron_bounds_plus($exons,$sortp); for ($i = 0; $i < $nexons - 1; $i++) { $intron_length = $ {$starts}[$i] - $ {$ends}[$i] - 1; if (!defined($opt_d)) { printf ">%s.%s.intron%d/%d %s:%u..%u\n",$gene_name,$transcript_id,$i+1,$nexons-1,$chr,$ {$ends}[$i],$ {$starts}[$i]; } else { $query = sprintf("%s:%u..%u",$chr,$ends[$i]+1,$ends[$i]+2); $donor_dinucl = get_dinucleotide($query,$FP); $query = sprintf("%s:%u..%u",$chr,$starts[$i]-2,$starts[$i]-1); $acceptor_dinucl = get_dinucleotide($query,$FP); if (defined($opt_C) && donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf STDERR "Skipping non-canonical donor $donor_dinucl, intron length %d for %s.%s.intron%d/%d on plus strand\n", $intron_length,$gene_name,$transcript_id,$i+1,$nexons-1; } elsif (defined($opt_C) && acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf STDERR "Skipping non-canonical acceptor $acceptor_dinucl, intron length %d for %s.%s.intron%d/%d on plus strand\n", $intron_length,$gene_name,$transcript_id,$i+1,$nexons-1; } elsif (defined($opt_R)) { if (donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0 || acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.%s.intron%d/%d %s:%u..%u",$gene_name,$transcript_id,$i+1,$nexons-1,$chr,$ {$ends}[$i],$ {$starts}[$i]; print " $donor_dinucl-$acceptor_dinucl"; print "\n"; } } else { printf ">%s.%s.intron%d/%d %s:%u..%u",$gene_name,$transcript_id,$i+1,$nexons-1,$chr,$ {$ends}[$i],$ {$starts}[$i]; if (defined($opt_2)) { print " $donor_dinucl-$acceptor_dinucl"; } print "\n"; } } } } elsif ($strand eq "-") { ($starts,$ends) = get_intron_bounds_minus($exons,$sortp); for ($i = 0; $i < $nexons - 1; $i++) { $intron_length = $ {$starts}[$i] - $ {$ends}[$i] - 1; if (!defined($opt_d)) { printf ">%s.%s.intron%d/%d %s:%u..%u\n",$gene_name,$transcript_id,$i+1,$nexons-1,$chr,$ {$starts}[$i],$ {$ends}[$i]; } else { $query = sprintf("%s:%u..%u",$chr,$starts[$i]-1,$starts[$i]-2); $donor_dinucl = get_dinucleotide($query,$FP); $query = sprintf("%s:%u..%u",$chr,$ends[$i]+2,$ends[$i]+1); $acceptor_dinucl = get_dinucleotide($query,$FP); if (defined($opt_C) && donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf STDERR "Skipping non-canonical donor $donor_dinucl, intron length %d for %s.%s.intron%d/%d on minus strand\n", $intron_length,$gene_name,$transcript_id,$i+1,$nexons-1; } elsif (defined($opt_C) && acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf STDERR "Skipping non-canonical acceptor $acceptor_dinucl, intron length %d for %s.%s.intron%d/%d on minus strand\n", $intron_length,$gene_name,$transcript_id,$i+1,$nexons-1; } elsif (defined($opt_R)) { if (donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0 || acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.%s.intron%d/%d %s:%u..%u",$gene_name,$transcript_id,$i+1,$nexons-1,$chr,$ {$starts}[$i],$ {$ends}[$i]; print " $donor_dinucl-$acceptor_dinucl"; print "\n"; } } else { printf ">%s.%s.intron%d/%d %s:%u..%u",$gene_name,$transcript_id,$i+1,$nexons-1,$chr,$ {$starts}[$i],$ {$ends}[$i]; if (defined($opt_2)) { print " $donor_dinucl-$acceptor_dinucl"; } print "\n"; } } } } return; } gmap-2015-12-31/util/vcf_iit.pl.in0000644002622600023770000000303012567632013013327 00000000000000#! @PERL@ use Getopt::Std; getopts("v:"); while (defined($line = <>)) { if ($line =~ /^\#/) { # Skip } else { chop $line; @fields = split /\t/,$line; $chr = $fields[0]; $chrpos = $fields[1]; $id = $fields[2]; $ref_allele = $fields[3]; $alt_allele = $fields[4]; $version = get_info("dbSNPBuildID",$fields[7]); if (defined($opt_v) && $version > $opt_v) { $wantp = 0; } elsif (defined(get_info("VLD",$fields[7]))) { # Validated $wantp = 1; } elsif (defined(get_info("SLO",$fields[7]))) { # Submitter link-out $wantp = 1; } elsif (defined(get_info("GNO",$fields[7]))) { # Individual genotype $wantp = 0; } else { $wantp = 1; } if ($wantp == 1 && $ref_allele =~ /^[ACGT]$/ && $alt_allele =~ /^[ACGT]$/) { if ($ref_allele lt $alt_allele) { print ">$id $chr:$chrpos "; print $ref_allele . $alt_allele; print "\n"; } elsif ($alt_allele lt $ref_allele) { print ">$id $chr:$chrpos "; print $alt_allele . $ref_allele; print "\n"; } else { print STDERR "Ref allele $ref_allele and alt allele $alt_allele for $id at $chr:$chrpos are the same\n"; } } } } exit; sub get_info { my ($desired_key, $info) = @_; foreach $binding (split ";",$info) { if ($binding =~ /(\S+)=(\S+)/) { $key = $1; $value = $2; if ($key eq $desired_key) { return $value; } } else { $key = $binding; if ($key eq $desired_key) { return 1; } } } return; } gmap-2015-12-31/util/gmap_build.pl.in0000644002622600023770000003523412574666720014034 00000000000000#! @PERL@ # $Id: gmap_build.pl.in 173897 2015-09-12 00:11:59Z twu $ use warnings; my $gmapdb = "@GMAPDB@"; my $package_version = "@PACKAGE_VERSION@"; use IO::File; use File::Copy; use Getopt::Long; Getopt::Long::Configure(qw(no_auto_abbrev no_ignore_case_always)); # Default values my $bindir = "@BINDIR@"; my $sampling = 3; my $sleeptime = 2; GetOptions( 'build-sarray=s' => \$build_sarray_p, # build suffix array 'B=s' => \$bindir, # binary directory 'T=s' => \$builddir, # temporary build directory 'D|dir=s' => \$destdir, # destination directory 'd|db=s' => \$dbname, # genome name 'n|names=s' => \$chrnamefile, # substitute chromosomal names 'M|mdfile=s' => \$mdfile, # NCBI MD file 'C|contigs-are-mapped' => \$contigs_mapped_p, # Each contig contains a chromosome tag in the FASTA header 'z|compression=s' => \$compression_types, # compression types 'k|kmer=s' => \$kmersize, # k-mer size for genomic index (allowed: 16 or less) 'q=s' => \$sampling, # sampling interval for genome (default: 3) 's|sort=s' => \$sorting, # Sorting 'g|gunzip' => \$gunzipp, # gunzip files 'E|fasta-pipe=s' => \$fasta_pipe, # Pipe for providing FASTA files 'w=s' => \$sleeptime, # waits (sleeps) this many seconds between steps. Useful if there is a delay in the filesystem. 'c|circular=s' => \$circular, # Circular chromosomes 'e|nmessages=s' => \$nmessages # Max number of warnings or messages to print ); if (defined($builddir)) { print STDERR "Note: the -T flag is no longer necessary, since gmap_build now builds directly in the destination directory\n"; } if (defined($compression_types)) { $compression_flag = "-z $compression_types"; } else { $compression_flag = ""; } if (!defined($kmersize)) { print STDERR "-k flag not specified, so building with default 15-mers\n"; $kmersize = 15; } if (!defined($dbname)) { print_usage(); die "Must specify genome database name with -d flag."; } elsif ($dbname =~ /(\S+)\/(\S+)/) { $dbdir = $1; $dbname = $2; if (defined($destdir) && $destdir =~ /\S/) { # Note: The -D and -F arguments to gmapindex are different from the -D argument to gmap/gsnap. # For gmapindex, we use -D /path/to/dir/dbname -d dbname. For gmap/gsnap, we use -D /path/to/dir -d dbname. $destdir = $destdir . "/" . $dbname; } else { $destdir = $dbdir; } } $dbname =~ s/\/$//; # In case user gives -d argument with trailing slash if (!defined($destdir) || $destdir !~ /\S/) { print STDERR "Destination directory not defined with -D flag, so writing to $gmapdb\n"; $destdir = $gmapdb; } if (defined($sorting)) { if ($sorting ne "names") { $chr_order_flag = "-s $sorting"; } elsif (!defined($chrnamefile)) { die "For --sort=names option, must also provide a filename to --names"; } else { $chr_order_flag = "-s $sorting -n $chrnamefile"; } } else { # Default is to order genomes print STDERR "Sorting chromosomes in chrom order. To turn off or sort other ways, use the -s flag.\n"; $chr_order_flag = ""; } if (!defined($gunzipp)) { $gunzip_flag = ""; } elsif (defined($fasta_pipe)) { die "Cannot use the -E (--fasta-pipe) flag with the -g (--gunzip) flag"; } else { $gunzip_flag = "-g"; } if (defined($circular)) { $circular_flag = "-c $circular"; } else { $circular_flag = ""; } if (defined($nmessages)) { $nmessages_flag = "-e $nmessages"; } else { $nmessages_flag = ""; } if (!defined($build_sarray_p)) { $sarrayp = 1; # default is to build the suffix array } elsif ($build_sarray_p eq "0") { $sarrayp = 0; } elsif ($build_sarray_p eq "1") { $sarrayp = 1; } else { die "Argument to --build-sarray needs to be 0 or 1"; } if (defined($contigs_mapped_p)) { $contigs_mapped_flag = "-C"; } else { $contigs_mapped_flag = ""; } #my @quoted = (); #foreach $fasta (@ARGV) { # push @quoted,"\"$fasta\""; #} #my $genome_fasta = join(" ",@quoted); my $coordsfile = "$destdir/$dbname.coords"; my $fasta_sources = "$destdir/$dbname.sources"; $FP = new IO::File(">$fasta_sources") or die "Could not create $fasta_sources"; foreach $fasta (@ARGV) { print $FP $fasta . "\n"; } close($FP); ##################################################################################### check_compiler_assumptions(); $dbdir = create_db($destdir,$dbname); create_genome_version($dbdir,$dbname); create_coords($mdfile,$fasta_pipe,$gunzip_flag,$circular_flag,$contigs_mapped_flag,$chrnamefile, $bindir,$coordsfile,$fasta_sources); if (!(-s "$coordsfile")) { die "ERROR: $coordsfile not found"; } else { $gmap_process_pipe = make_gmap_process_pipe($fasta_pipe,$gunzip_flag,$bindir,$coordsfile,$fasta_sources); } make_contig($nmessages_flag,$chr_order_flag, $bindir,$dbdir,$dbname,$gmap_process_pipe); $genomecompfile = compress_genome($nmessages_flag,$bindir,$dbdir,$dbname,$gmap_process_pipe); unshuffle_genome($bindir,$dbdir,$dbname,$genomecompfile); $index_cmd = "$bindir/gmapindex -k $kmersize -q $sampling $nmessages_flag -d $dbname -F \"$dbdir\" -D \"$dbdir\""; if (count_index_offsets($index_cmd,$genomecompfile) == 1) { $index_cmd .= " -H"; } create_index_offsets($index_cmd,$compression_flag,$genomecompfile); create_index_positions($index_cmd,$genomecompfile); if ($sarrayp == 1) { make_enhanced_suffix_array($bindir,$dbdir,$dbname); } # install_db($sarrayp); system("rm -f \"$fasta_sources\""); system("rm -f \"$coordsfile\""); exit; ##################################################################################### sub check_compiler_assumptions { if (system("$bindir/gmapindex -9") != 0) { print STDERR "There is a mismatch between this computer system and the one where gmapindex was compiled. Exiting.\n"; exit(9); } } sub create_db { my ($destdir, $dbname) = @_; print STDERR "Creating files in directory $destdir/$dbname\n"; system("mkdir -p \"$destdir/$dbname\""); system("mkdir -p \"$destdir/$dbname/$dbname.maps\""); system("chmod 755 \"$destdir/$dbname/$dbname.maps\""); return "$destdir/$dbname"; } sub create_genome_version { my ($dbdir, $dbname) = @_; open GENOMEVERSIONFILE, ">$dbdir/$dbname.version" or die $!; print GENOMEVERSIONFILE "$dbname\n"; close GENOMEVERSIONFILE or die $!; sleep($sleeptime); return; } sub create_coords { my ($mdfile, $fasta_pipe, $gunzip_flag, $circular_flag, $contigs_mapped_flag, $chrnamefile, $bindir, $coordsfile, $fasta_sources) = @_; my ($cmd, $rc); if (defined($mdfile)) { # MD file cannot specify that a chromosome is circular $cmd = "$bindir/md_coords -o \"$coordsfile\" $mdfile"; } else { if (defined($fasta_pipe)) { $cmd = "$fasta_pipe | $bindir/fa_coords $circular_flag $contigs_mapped_flag -o \"$coordsfile\""; } else { $cmd = "$bindir/fa_coords $gunzip_flag $circular_flag $contigs_mapped_flag -o \"$coordsfile\""; } if (defined($chrnamefile)) { $cmd .= " -n $chrnamefile"; } if (!defined($fasta_pipe)) { $cmd .= " -f \"$fasta_sources\""; } } print STDERR "Running $cmd\n"; if (($rc = system($cmd)) != 0) { die "$cmd failed with return code $rc"; } sleep($sleeptime); return; } sub make_gmap_process_pipe { my ($fasta_pipe, $gunzip_flag, $bindir, $coordsfile, $fasta_sources) = @_; if (defined($fasta_pipe)) { return "$fasta_pipe | $bindir/gmap_process -c \"$coordsfile\""; } else { return "$bindir/gmap_process $gunzip_flag -c \"$coordsfile\" -f \"$fasta_sources\""; } } sub make_contig { my ($nmessages_flag, $chr_order_flag, $bindir, $dbdir, $dbname, $gmap_process_pipe) = @_; my ($cmd, $rc); $cmd = "$gmap_process_pipe | $bindir/gmapindex $nmessages_flag -d $dbname -D \"$dbdir\" -A $chr_order_flag"; print STDERR "Running $cmd\n"; if (($rc = system($cmd)) != 0) { die "$cmd failed with return code $rc"; } sleep($sleeptime); return; } sub compress_genome { my ($nmessages_flag, $bindir, $dbdir, $dbname, $gmap_process_pipe) = @_; my $genomecompfile = "$dbdir/$dbname.genomecomp"; my ($cmd, $rc); $cmd = "$gmap_process_pipe | $bindir/gmapindex $nmessages_flag -d $dbname -F \"$dbdir\" -D \"$dbdir\" -G"; print STDERR "Running $cmd\n"; if (($rc = system($cmd)) != 0) { die "$cmd failed with return code $rc"; } sleep($sleeptime); return $genomecompfile; } sub unshuffle_genome { my ($bindir, $dbdir, $dbname, $genomecompfile) = @_; my ($cmd, $rc); $cmd = "cat \"$genomecompfile\" | $bindir/gmapindex -d $dbname -U > \"$dbdir/$dbname.genomebits128\""; print STDERR "Running $cmd\n"; if (($rc = system($cmd)) != 0) { die "$cmd failed with return code $rc"; } sleep($sleeptime); return; } # No longer supported #sub full_ASCII_genome { # make_contig(); # # $cmd = "$bindir/gmap_process $gunzip_flag -c $dbdir/$dbname.coords $genome_fasta | $bindir/gmapindex $nmessages_flag -d $dbname -F $dbdir -D $dbdir -l -G"; # print STDERR "Running $cmd\n"; # if (($rc = system($cmd)) != 0) { # die "$cmd failed with return code $rc"; # } # sleep($sleeptime); # return; #} sub count_index_offsets { my ($index_cmd, $genomecompfile) = @_; my $huge_genome_p; my ($cmd, $noffsets); $cmd = "cat \"$genomecompfile\" | $index_cmd -N"; print STDERR "Running $cmd\n"; $noffsets = `$cmd`; chop $noffsets; if ($noffsets <= 4294967295) { print STDERR "Number of offsets: $noffsets => pages file not required\n"; $huge_genome_p = 0; } else { print STDERR "Number of offsets: $noffsets => pages file required\n"; $huge_genome_p = 1; } sleep($sleeptime); return $huge_genome_p; } sub create_index_offsets { my ($index_cmd, $compression_flag, $genomecompfile) = @_; my ($cmd, $rc); $cmd = "$index_cmd -O $compression_flag \"$genomecompfile\""; print STDERR "Running $cmd\n"; if (($rc = system($cmd)) != 0) { die "$cmd failed with return code $rc"; } sleep($sleeptime); return; } sub create_index_positions { my ($index_cmd, $genomecompfile) = @_; my ($cmd, $rc); $cmd = "$index_cmd -P \"$genomecompfile\""; print STDERR "Running $cmd\n"; if (($rc = system($cmd)) != 0) { die "$cmd failed with return code $rc"; } sleep($sleeptime); return; } sub make_enhanced_suffix_array { my ($bindir, $dbdir, $dbname) = @_; my ($cmd, $rc); # Suffix array $cmd = "$bindir/gmapindex -d $dbname -F \"$dbdir\" -D \"$dbdir\" -S"; print STDERR "Running $cmd\n"; if (($rc = system($cmd)) != 0) { die "$cmd failed with return code $rc"; } sleep($sleeptime); # LCP and child arrays $cmd = "$bindir/gmapindex -d $dbname -F \"$dbdir\" -D \"$dbdir\" -L"; print STDERR "Running $cmd\n"; if (($rc = system($cmd)) != 0) { die "$cmd failed with return code $rc"; } sleep($sleeptime); # Compressed suffix array # $cmd = "$bindir/gmapindex -d $dbname -F \"$dbdir\" -D \"$dbdir\" -C"; # print STDERR "Running $cmd\n"; # if (($rc = system($cmd)) != 0) { # die "$cmd failed with return code $rc"; # } # sleep($sleeptime); return; } sub print_usage { print < Options: -D, --dir=STRING Destination directory for installation (defaults to gmapdb directory specified at configure time) -d, --db=STRING Genome name -n, --names=STRING Substitute names for chromosomes, provided in a file. The file should have one line for each chromosome name to be changed, with the original FASTA name in column 1 and the desired chromosome name in column 2. This provides an easy way to change the names of chromosomes, for example, to add or remove the "chr" prefix. Column 2 may be blank, which indicates no name change. This file can also be combined with --sort=names to provide a particular order for the chromosomes in the genome index. -M, --mdflag=STRING Use MD file from NCBI for mapping contigs to chromosomal coordinates -C, --contigs-are-mapped Find a chromosomal region in each FASTA header line. Useful for contigs that have been mapped to chromosomal coordinates. Ignored if the --mdflag is provided. -z, --compression=STRING Use given compression types (separated by commas; default is bitpack64) bitpack64 - optimized for modern computers with SIMD instructions (recommended) all - create all available compression types, currently bitpack64 none - do not compress offset files (I believe this is no longer supported) -k, --kmer=INT k-mer value for genomic index (allowed: 15 or less, default is 15) -q INT sampling interval for genomoe (allowed: 1-3, default 3) -s, --sort=STRING Sort chromosomes using given method: none - use chromosomes as found in FASTA file(s) alpha - sort chromosomes alphabetically (chr10 before chr 1) numeric-alpha - chr1, chr1U, chr2, chrM, chrU, chrX, chrY chrom - chr1, chr2, chrM, chrX, chrY, chr1U, chrU names - sort chromosomes based on file provided to --names flag -g, --gunzip Files are gzipped, so need to gunzip each file first -E, --fasta-pipe=STRING Interpret argument as a command, instead of a list of FASTA files -w INT Wait (sleep) this many seconds after each step (default 2) -c, --circular=STRING Circular chromosomes (either a list of chromosomes separated by a comma, or a filename containing circular chromosomes, one per line). If you use the --names feature, then you should use the original name of the chromosome, not the substitute name, for this option. -e, --nmessages=INT Maximum number of messages (warnings, contig reports) to report (default 50) --build-sarray=INT Whether to build suffix array: 0=no, 1=yes (default) Obsolete options: -T STRING Temporary build directory (may need to specify if you run out of space in your current directory) This is no longer necessary, since gmap_build now builds directly in the destination (or -D) directory. TEXT1 return; } gmap-2015-12-31/util/gmap_reassemble.pl.in0000755002622600023770000000101612567632013015037 00000000000000#! @PERL@ use warnings; use IO::File; @FPS = (); foreach $filename (@ARGV) { push @FPS, new IO::File($filename) or die "Can't open $filename"; } $nfiles = $#FPS + 1; print STDERR "Reading from $nfiles files\n"; while (1) { for ($i = 0; $i <= $#FPS; $i++) { get_entry($FPS[$i]); } } exit; sub get_entry { my ($FP) = @_; if (!defined($line = <$FP>)) { exit; } else { print $line; } while (defined($line = <$FP>) && $line =~ /\S/) { print $line; } print "\n"; return; } gmap-2015-12-31/util/gff3_genes.pl.in0000644002622600023770000001253212567632014013722 00000000000000#! @PERL@ use warnings; $gene_name = ""; $last_transcript_id = ""; @exons = (); @CDS_regions = (); while (defined($line = <>)) { if ($line =~ /^\#/) { # Skip } elsif ($line !~ /\S/) { # Skip blank line } else { $line =~ s/\r\n/\n/; chop $line; @fields = split /\t/,$line; if ($fields[2] eq "gene") { if ($#exons >= 0) { # Handle last mRNA of previous gene if ($strand eq "+") { ($start,$end) = get_gene_bounds_plus(\@exons); printf ">$last_transcript_id $chr:%u..%u\n",$start,$end; } elsif ($strand eq "-") { ($start,$end) = get_gene_bounds_minus(\@exons); printf ">$last_transcript_id $chr:%u..%u\n",$end,$start; } else { die "strand $strand"; } print "$gene_name\n"; print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand); } elsif ($#CDS_regions >= 0) { # Handle last mRNA of previous gene if ($strand eq "+") { ($start,$end) = get_gene_bounds_plus(\@CDS_regions); printf ">$last_transcript_id $chr:%u..%u\n",$start,$end; } elsif ($strand eq "-") { ($start,$end) = get_gene_bounds_minus(\@CDS_regions); printf ">$last_transcript_id $chr:%u..%u\n",$end,$start; } else { die "strand $strand"; } print "$gene_name\n"; print_exons(\@CDS_regions,$gene_name,$last_transcript_id,$chr,$strand); } ($gene_name) = $fields[8] =~ /ID=([^;]+)/; $chr = $fields[0]; @exons = (); @CDS_regions = (); } elsif ($fields[2] eq "mRNA" || $fields[2] eq "transcript") { if ($#exons >= 0) { if ($strand eq "+") { ($start,$end) = get_gene_bounds_plus(\@exons); printf ">$last_transcript_id $chr:%u..%u\n",$start,$end; } elsif ($strand eq "-") { ($start,$end) = get_gene_bounds_minus(\@exons); printf ">$last_transcript_id $chr:%u..%u\n",$end,$start; } else { die "strand $strand"; } print "$gene_name\n"; print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand); } elsif ($#CDS_regions >= 0) { if ($strand eq "+") { ($start,$end) = get_gene_bounds_plus(\@CDS_regions); printf ">$last_transcript_id $chr:%u..%u\n",$start,$end; } elsif ($strand eq "-") { ($start,$end) = get_gene_bounds_minus(\@CDS_regions); printf ">$last_transcript_id $chr:%u..%u\n",$end,$start; } else { die "strand $strand"; } print "$gene_name\n"; print_exons(\@CDS_regions,$gene_name,$last_transcript_id,$chr,$strand); } ($last_transcript_id) = $fields[8] =~ /ID=([^;]+)/; $strand = $fields[6]; # For GFF3 files without a gene line if (!defined($gene_name) || $gene_name !~ /\S/) { $gene_name = $last_transcript_id; } $chr = $fields[0]; @exons = (); @CDS_regions = (); } elsif ($fields[2] eq "exon") { push @exons,"$fields[3] $fields[4]"; } elsif ($fields[2] eq "CDS") { push @CDS_regions,"$fields[3] $fields[4]"; } } } if ($#exons >= 0) { if ($strand eq "+") { ($start,$end) = get_gene_bounds_plus(\@exons); printf ">$last_transcript_id $chr:%u..%u\n",$start,$end; } elsif ($strand eq "-") { ($start,$end) = get_gene_bounds_minus(\@exons); printf ">$last_transcript_id $chr:%u..%u\n",$end,$start; } else { die "strand $strand"; } print "$gene_name\n"; print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand); } elsif ($#CDS_regions >= 0) { if ($strand eq "+") { ($start,$end) = get_gene_bounds_plus(\@CDS_regions); printf ">$last_transcript_id $chr:%u..%u\n",$start,$end; } elsif ($strand eq "-") { ($start,$end) = get_gene_bounds_minus(\@CDS_regions); printf ">$last_transcript_id $chr:%u..%u\n",$end,$start; } else { die "strand $strand"; } print "$gene_name\n"; print_exons(\@CDS_regions,$gene_name,$last_transcript_id,$chr,$strand); } exit; sub ascending_cmp { ($starta) = $a =~ /(\d+) \d+/; ($startb) = $b =~ /(\d+) \d+/; return $starta <=> $startb; } sub get_gene_bounds_plus { my ($exons) = @_; my ($start,$end); my @sorted; @sorted = sort ascending_cmp (@ {$exons}); ($start) = $sorted[0] =~ /(\d+) \d+/; ($end) = $sorted[$#sorted] =~ /\d+ (\d+)/; return ($start,$end); } sub get_gene_bounds_minus { my ($exons) = @_; my ($start,$end); my @sorted; @sorted = reverse sort ascending_cmp (@ {$exons}); ($end) = $sorted[0] =~ /\d+ (\d+)/; ($start) = $sorted[$#sorted] =~ /(\d+) \d+/; return ($start,$end); } sub get_exon_bounds_plus { my ($exons) = @_; my @starts = (); my @ends = (); foreach $exon (sort ascending_cmp (@ {$exons})) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } return (\@starts,\@ends); } sub get_exon_bounds_minus { my ($exons) = @_; my @starts = (); my @ends = (); foreach $exon (reverse sort ascending_cmp (@ {$exons})) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } return (\@starts,\@ends); } sub print_exons { my ($exons, $gene_name, $transcript_id, $chr, $strand) = @_; $nexons = $#{$exons} + 1; if ($strand eq "+") { ($starts,$ends) = get_exon_bounds_plus($exons); for ($i = 0; $i < $nexons; $i++) { printf "%u %u\n",$ {$starts}[$i],$ {$ends}[$i]; } } elsif ($strand eq "-") { ($starts,$ends) = get_exon_bounds_minus($exons); for ($i = 0; $i < $nexons; $i++) { printf "%u %u\n",$ {$ends}[$i],$ {$starts}[$i]; } } return; } gmap-2015-12-31/util/Makefile.in0000644002622600023770000005035312654517415013026 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = util DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/dbsnp_iit.pl.in $(srcdir)/ensembl_genes.pl.in \ $(srcdir)/fa_coords.pl.in $(srcdir)/gff3_genes.pl.in \ $(srcdir)/gff3_introns.pl.in $(srcdir)/gff3_splicesites.pl.in \ $(srcdir)/gmap_build.pl.in $(srcdir)/gmap_compress.pl.in \ $(srcdir)/gmap_process.pl.in $(srcdir)/gmap_reassemble.pl.in \ $(srcdir)/gmap_uncompress.pl.in $(srcdir)/gtf_genes.pl.in \ $(srcdir)/gtf_introns.pl.in $(srcdir)/gtf_splicesites.pl.in \ $(srcdir)/gvf_iit.pl.in $(srcdir)/md_coords.pl.in \ $(srcdir)/psl_genes.pl.in $(srcdir)/psl_introns.pl.in \ $(srcdir)/psl_splicesites.pl.in $(srcdir)/vcf_iit.pl.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/config/libtool.m4 \ $(top_srcdir)/config/ltoptions.m4 \ $(top_srcdir)/config/ltsugar.m4 \ $(top_srcdir)/config/ltversion.m4 \ $(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/config/pagesize.m4 \ $(top_srcdir)/config/madvise-flags.m4 \ $(top_srcdir)/config/mmap-flags.m4 \ $(top_srcdir)/config/acx_mmap_fixed.m4 \ $(top_srcdir)/config/acx_mmap_variable.m4 \ $(top_srcdir)/config/shm-flags.m4 \ $(top_srcdir)/config/ax_mpi.m4 \ $(top_srcdir)/config/acx_pthread.m4 \ $(top_srcdir)/config/builtin-popcount.m4 \ $(top_srcdir)/config/struct-stat64.m4 \ $(top_srcdir)/config/expand.m4 $(top_srcdir)/config/perl.m4 \ $(top_srcdir)/config/fopen.m4 $(top_srcdir)/config/asm-bsr.m4 \ $(top_srcdir)/config/sse2_shift_defect.m4 \ $(top_srcdir)/config/ax_gcc_x86_cpuid.m4 \ $(top_srcdir)/config/ax_gcc_x86_avx_xgetbv.m4 \ $(top_srcdir)/config/ax_check_compile_flag.m4 \ $(top_srcdir)/config/ax_ext.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/src/config.h CONFIG_CLEAN_FILES = gmap_compress.pl gmap_uncompress.pl \ gmap_process.pl gmap_build.pl gmap_reassemble.pl md_coords.pl \ fa_coords.pl psl_splicesites.pl psl_introns.pl psl_genes.pl \ ensembl_genes.pl gtf_splicesites.pl gtf_introns.pl \ gtf_genes.pl gff3_splicesites.pl gff3_introns.pl gff3_genes.pl \ dbsnp_iit.pl gvf_iit.pl vcf_iit.pl CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(bindir)" SCRIPTS = $(bin_SCRIPTS) SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BINDIR = @BINDIR@ BZLIB_LIBS = @BZLIB_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GMAPDB = @GMAPDB@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAX_READLENGTH = @MAX_READLENGTH@ MKDIR_P = @MKDIR_P@ MPICC = @MPICC@ MPILIBS = @MPILIBS@ MPI_CFLAGS = @MPI_CFLAGS@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ POPCNT_CFLAGS = @POPCNT_CFLAGS@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIMD_CFLAGS = @SIMD_CFLAGS@ STRIP = @STRIP@ VERSION = @VERSION@ ZLIB_LIBS = @ZLIB_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ acx_pthread_config = @acx_pthread_config@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @FULLDIST_FALSE@bin_SCRIPTS = gmap_compress gmap_uncompress gmap_process gmap_build gmap_reassemble md_coords fa_coords \ @FULLDIST_FALSE@ psl_splicesites psl_introns psl_genes \ @FULLDIST_FALSE@ ensembl_genes \ @FULLDIST_FALSE@ gtf_splicesites gtf_introns gtf_genes \ @FULLDIST_FALSE@ gff3_splicesites gff3_introns gff3_genes \ @FULLDIST_FALSE@ dbsnp_iit gvf_iit vcf_iit @FULLDIST_TRUE@bin_SCRIPTS = gmap_compress gmap_uncompress gmap_process gmap_build gmap_reassemble md_coords fa_coords \ @FULLDIST_TRUE@ psl_splicesites psl_introns psl_genes \ @FULLDIST_TRUE@ ensembl_genes \ @FULLDIST_TRUE@ gtf_splicesites gtf_introns gtf_genes \ @FULLDIST_TRUE@ gff3_splicesites gff3_introns gff3_genes \ @FULLDIST_TRUE@ dbsnp_iit gvf_iit vcf_iit sam_merge sam_restore @FULLDIST_FALSE@CLEANFILES = gmap_compress gmap_uncompress gmap_process gmap_build gmap_reassemble md_coords fa_coords \ @FULLDIST_FALSE@ psl_splicesites psl_introns psl_genes \ @FULLDIST_FALSE@ ensembl_genes \ @FULLDIST_FALSE@ gtf_splicesites gtf_introns gtf_genes \ @FULLDIST_FALSE@ gff3_splicesites gff3_introns gff3_genes \ @FULLDIST_FALSE@ dbsnp_iit gvf_iit vcf_iit @FULLDIST_TRUE@CLEANFILES = gmap_compress gmap_uncompress gmap_process gmap_build gmap_reassemble md_coords fa_coords \ @FULLDIST_TRUE@ psl_splicesites psl_introns psl_genes \ @FULLDIST_TRUE@ ensembl_genes \ @FULLDIST_TRUE@ gtf_splicesites gtf_introns gtf_genes \ @FULLDIST_TRUE@ gff3_splicesites gff3_introns gff3_genes \ @FULLDIST_TRUE@ dbsnp_iit gvf_iit vcf_iit sam_merge sam_restore all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu util/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu util/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): gmap_compress.pl: $(top_builddir)/config.status $(srcdir)/gmap_compress.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ gmap_uncompress.pl: $(top_builddir)/config.status $(srcdir)/gmap_uncompress.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ gmap_process.pl: $(top_builddir)/config.status $(srcdir)/gmap_process.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ gmap_build.pl: $(top_builddir)/config.status $(srcdir)/gmap_build.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ gmap_reassemble.pl: $(top_builddir)/config.status $(srcdir)/gmap_reassemble.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ md_coords.pl: $(top_builddir)/config.status $(srcdir)/md_coords.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ fa_coords.pl: $(top_builddir)/config.status $(srcdir)/fa_coords.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ psl_splicesites.pl: $(top_builddir)/config.status $(srcdir)/psl_splicesites.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ psl_introns.pl: $(top_builddir)/config.status $(srcdir)/psl_introns.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ psl_genes.pl: $(top_builddir)/config.status $(srcdir)/psl_genes.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ ensembl_genes.pl: $(top_builddir)/config.status $(srcdir)/ensembl_genes.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ gtf_splicesites.pl: $(top_builddir)/config.status $(srcdir)/gtf_splicesites.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ gtf_introns.pl: $(top_builddir)/config.status $(srcdir)/gtf_introns.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ gtf_genes.pl: $(top_builddir)/config.status $(srcdir)/gtf_genes.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ gff3_splicesites.pl: $(top_builddir)/config.status $(srcdir)/gff3_splicesites.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ gff3_introns.pl: $(top_builddir)/config.status $(srcdir)/gff3_introns.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ gff3_genes.pl: $(top_builddir)/config.status $(srcdir)/gff3_genes.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ dbsnp_iit.pl: $(top_builddir)/config.status $(srcdir)/dbsnp_iit.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ gvf_iit.pl: $(top_builddir)/config.status $(srcdir)/gvf_iit.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ vcf_iit.pl: $(top_builddir)/config.status $(srcdir)/vcf_iit.pl.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-binSCRIPTS: $(bin_SCRIPTS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n' \ -e 'h;s|.*|.|' \ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) { files[d] = files[d] " " $$1; \ if (++n[d] == $(am__install_max)) { \ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ else { print "f", d "/" $$4, $$1 } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binSCRIPTS: @$(NORMAL_UNINSTALL) @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 's,.*/,,;$(transform)'`; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(SCRIPTS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binSCRIPTS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binSCRIPTS .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-binSCRIPTS install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-binSCRIPTS gmap_compress: gmap_compress.pl cp gmap_compress.pl gmap_compress chmod +x gmap_compress gmap_uncompress: gmap_uncompress.pl cp gmap_uncompress.pl gmap_uncompress chmod +x gmap_uncompress gmap_process: gmap_process.pl cp gmap_process.pl gmap_process chmod +x gmap_process gmap_build: gmap_build.pl cp gmap_build.pl gmap_build chmod +x gmap_build gmap_reassemble: gmap_reassemble.pl cp gmap_reassemble.pl gmap_reassemble chmod +x gmap_reassemble md_coords: md_coords.pl cp md_coords.pl md_coords chmod +x md_coords fa_coords: fa_coords.pl cp fa_coords.pl fa_coords chmod +x fa_coords psl_splicesites: psl_splicesites.pl cp psl_splicesites.pl psl_splicesites chmod +x psl_splicesites psl_genes: psl_genes.pl cp psl_genes.pl psl_genes chmod +x psl_genes psl_introns: psl_introns.pl cp psl_introns.pl psl_introns chmod +x psl_introns psl_splices: psl_splices.pl cp psl_splices.pl psl_splices chmod +x psl_splices ensembl_genes: ensembl_genes.pl cp ensembl_genes.pl ensembl_genes chmod +x ensembl_genes gtf_splicesites: gtf_splicesites.pl cp gtf_splicesites.pl gtf_splicesites chmod +x gtf_splicesites gtf_introns: gtf_introns.pl cp gtf_introns.pl gtf_introns chmod +x gtf_introns gtf_genes: gtf_genes.pl cp gtf_genes.pl gtf_genes chmod +x gtf_genes gff3_splicesites: gff3_splicesites.pl cp gff3_splicesites.pl gff3_splicesites chmod +x gff3_splicesites gff3_introns: gff3_introns.pl cp gff3_introns.pl gff3_introns chmod +x gff3_introns gff3_genes: gff3_genes.pl cp gff3_genes.pl gff3_genes chmod +x gff3_genes dbsnp_iit: dbsnp_iit.pl cp dbsnp_iit.pl dbsnp_iit chmod +x dbsnp_iit gvf_iit: gvf_iit.pl cp gvf_iit.pl gvf_iit chmod +x gvf_iit vcf_iit: vcf_iit.pl cp vcf_iit.pl vcf_iit chmod +x vcf_iit sam_merge: sam_merge.pl cp sam_merge.pl sam_merge chmod +x sam_merge sam_restore: sam_restore.pl cp sam_restore.pl sam_restore chmod +x sam_restore # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gmap-2015-12-31/util/psl_splicesites.pl.in0000755002622600023770000001550212567632013015123 00000000000000#! @PERL@ use Getopt::Std; undef $opt_C; # If provided, will keep only canonical splice sites. Requires -d flag. undef $opt_R; # If provided, will report only non-canonical splice sites to stdout. Requires -d flag. undef $opt_2; # If provided, will print dinucleotides at splice sites. Requires -d flag. undef $opt_D; # Genome directory undef $opt_d; # Genome index $opt_s = 0; # starting column (UCSC track can start in column 0 or 1) getopts("D:d:CR2s:"); if (defined($opt_d)) { if (!defined($opt_C) && !defined($opt_R) && !defined($opt_2)) { print STDERR "-d flag useful only with -C, -R, or -2 flags. Ignoring -d flag\n"; undef $opt_d; } elsif (defined($opt_D)) { $GET_GENOME = "get-genome -D $opt_D -d $opt_d"; } else { $GET_GENOME = "get-genome -d $opt_d"; } } else { if (defined($opt_C)) { print STDERR "-C flag requires you to specify -d flag. Ignoring -C flag\n"; undef $opt_C; } if (defined($opt_R)) { print STDERR "-R flag requires you to specify -d flag. Ignoring -R flag\n"; undef $opt_R; } if (defined($opt_2)) { print STDERR "-2 flag requires you to specify -d flag. Ignoring -2 flag\n"; undef $opt_2; } } while (defined($line = <>)) { $line =~ s/\r\n/\n/; chop $line; @fields = split /\t/,$line; $acc = $fields[$opt_s + 0]; $chr = $fields[$opt_s + 1]; #$chr =~ s/chr//; #$chr =~ s/_random/U/; $strand = $fields[$opt_s + 2]; @starts = split ",",$fields[$opt_s + 8]; @ends = split ",",$fields[$opt_s + 9]; $nexons = $#starts + 1; if ($nexons != $fields[$opt_s + 7]) { print STDERR "Reported number of exons $fields[$opt_s + 7] != observed $nexons: Skipping $line\n"; } else { print_exons(\@starts,\@ends,$acc,$chr,$strand); } } exit; sub donor_okay_p { my ($donor_dinucl, $acceptor_dinucl) = @_; if ($donor_dinucl eq "GT") { return 1; } elsif ($donor_dinucl eq "GC") { return 1; } elsif ($donor_dinucl eq "AT" && $acceptor_dinucl eq "AC") { return 1; } else { return 0; } } sub acceptor_okay_p { my ($donor_dinucl, $acceptor_dinucl) = @_; if ($acceptor_dinucl eq "AG") { return 1; } elsif ($donor_dinucl eq "AT" && $acceptor_dinucl eq "AC") { return 1; } else { return 0; } } sub print_exons { my ($starts, $ends, $acc, $chr, $strand) = @_; shift @ {$starts}; pop @ {$ends}; if ($strand eq "+") { for ($i = 0; $i < $nexons - 1; $i++) { $intron_length = $ {$starts}[$i] - $ {$ends}[$i]; if ($intron_length < 0) { die "Intron length for $acc is negative. Exons on the plus strand must be in ascending chromosomal order."; } elsif (!defined($opt_d)) { printf ">%s.exon%d/%d %s:%u..%u donor $intron_length\n",$acc,$i+1,$nexons,$chr,$ {$ends}[$i],$ {$ends}[$i]+1; printf ">%s.exon%d/%d %s:%u..%u acceptor $intron_length\n",$acc,$i+2,$nexons,$chr,$ {$starts}[$i],$ {$starts}[$i]+1; } else { $command = sprintf "$GET_GENOME %s:%u..%u",$chr,$ {$ends}[$i]+1,$ {$ends}[$i]+2; $donor_dinucl = `$command | tail -1`; chop $donor_dinucl; $command = sprintf "$GET_GENOME %s:%u..%u",$chr,$ {$starts}[$i]-1,$ {$starts}[$i]; $acceptor_dinucl = `$command | tail -1`; chop $acceptor_dinucl; if (defined($opt_C) && donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf STDERR "Skipping non-canonical donor $donor_dinucl for %s.exon%d/%d on plus strand\n",$acc,$i+1,$nexons; } elsif (defined($opt_R)) { if (donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.exon%d/%d %s:%u..%u donor $intron_length",$acc,$i+1,$nexons,$chr,$ {$ends}[$i],$ {$ends}[$i]+1; print " $donor_dinucl"; print "\n"; } } else { printf ">%s.exon%d/%d %s:%u..%u donor $intron_length",$acc,$i+1,$nexons,$chr,$ {$ends}[$i],$ {$ends}[$i]+1; if (defined($opt_2)) { print " $donor_dinucl"; } print "\n"; } if (defined($opt_C) && acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf STDERR "Skipping non-canonical acceptor $acceptor_dinucl for %s.exon%d/%d on plus strand\n",$acc,$i+2,$nexons; } elsif (defined($opt_R)) { if (acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.exon%d/%d %s:%u..%u acceptor $intron_length",$acc,$i+2,$nexons,$chr,$ {$starts}[$i],$ {$starts}[$i]+1; print " $acceptor_dinucl"; print "\n"; } } else { printf ">%s.exon%d/%d %s:%u..%u acceptor $intron_length",$acc,$i+2,$nexons,$chr,$ {$starts}[$i],$ {$starts}[$i]+1; if (defined($opt_2)) { print " $acceptor_dinucl"; } print "\n"; } } } } elsif ($strand eq "-") { @starts = reverse @starts; @ends = reverse @ends; for ($i = 0; $i < $nexons - 1; $i++) { $intron_length = $ {$starts}[$i] - $ {$ends}[$i]; if ($intron_length < 0) { die "Intron length for $acc is negative. Exons on the minus strand must be in descending chromosomal order."; } elsif (!defined($opt_d)) { printf ">%s.exon%d/%d %s:%u..%u donor $intron_length\n",$acc,$i+1,$nexons,$chr,$ {$starts}[$i]+1,$ {$starts}[$i]; printf ">%s.exon%d/%d %s:%u..%u acceptor $intron_length\n",$acc,$i+2,$nexons,$chr,$ {$ends}[$i]+1,$ {$ends}[$i]; } else { $command = sprintf "$GET_GENOME %s:%u..%u",$chr,$ {$starts}[$i],$ {$starts}[$i]-1; $donor_dinucl = `$command | tail -1`; chop $donor_dinucl; $command = sprintf "$GET_GENOME %s:%u..%u",$chr,$ {$ends}[$i]+2,$ {$ends}[$i]+1; $acceptor_dinucl = `$command | tail -1`; chop $acceptor_dinucl; if (defined($opt_C) && donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf STDERR "Skipping non-canonical donor $donor_dinucl for %s.exon%d/%d on minus strand\n",$acc,$i+1,$nexons; } elsif (defined($opt_R)) { if (donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.exon%d/%d %s:%u..%u donor $intron_length",$acc,$i+1,$nexons,$chr,$ {$starts}[$i]+1,$ {$starts}[$i]; print " $donor_dinucl"; print "\n"; } } else { printf ">%s.exon%d/%d %s:%u..%u donor $intron_length",$acc,$i+1,$nexons,$chr,$ {$starts}[$i]+1,$ {$starts}[$i]; if (defined($opt_2)) { print " $donor_dinucl"; } print "\n"; } if (defined($opt_C) && acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf STDERR "Skipping non-canonical acceptor $acceptor_dinucl for %s.exon%d/%d on minus strand\n",$acc,$i+2,$nexons; } elsif (defined($opt_R)) { if (acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.exon%d/%d %s:%u..%u acceptor $intron_length",$acc,$i+2,$nexons,$chr,$ {$ends}[$i]+1,$ {$ends}[$i]; print " $acceptor_dinucl"; print "\n"; } } else { printf ">%s.exon%d/%d %s:%u..%u acceptor $intron_length",$acc,$i+2,$nexons,$chr,$ {$ends}[$i]+1,$ {$ends}[$i]; if (defined($opt_2)) { print " $acceptor_dinucl"; } print "\n"; } } } } else { print STDERR "Strand is neither + nor -: Skipping $line\n"; } return; } gmap-2015-12-31/util/gvf_iit.pl.in0000755002622600023770000000252012567632014013342 00000000000000#! @PERL@ use warnings; while (defined($line = <>)) { if ($line =~ /^\#/) { # Skip comment } else { chop $line; @fields = split /\t/,$line; if ($fields[2] eq "SNV") { $chr = $fields[0]; $chrpos = $fields[3]; # GVF file is 1-based undef $rsid; undef $alleleA; undef $alleleB; foreach $item (split ";",$fields[8]) { if ($item =~ /Dbxref=(\S+)/) { $rsid = $1; $rsid =~ s/.*://; } elsif ($item =~ /Reference_seq=(.)/) { $alleleA = $1; } elsif ($item =~ /Variant_seq=(.)/) { $alleleB = $1; } } if (($snp_strand = $fields[6]) eq "-") { $alleleA = $revcomp{$alleleA}; $alleleB = $revcomp{$alleleB}; } if ($alleleA le $alleleB) { $snp_type = $alleleA . $alleleB; } else { $snp_type = $alleleB . $alleleA; } if (!defined($rsid)) { # Skip } elsif ($snp_strand ne "+" && $snp_strand ne "=") { # Skip } elsif (!defined($alleleA) || !defined($alleleB)) { # Skip } elsif (!defined($acgt{$alleleA}) || !defined($acgt{$alleleB})) { print STDERR "$rsid has alleles $fields[9] with non-ACGT character\n"; } else { print ">$rsid $chr:$chrpos $snp_type $snp_strand\n"; } } } } exit; BEGIN { %acgt = ("A" => 1, "C" => 1, "G" => 1, "T" => 1); %revcomp = ("A" => "T", "C" => "G", "G" => "C", "T" => "A"); } gmap-2015-12-31/util/gff3_introns.pl.in0000755002622600023770000002771012567632013014323 00000000000000#! @PERL@ use warnings; use IO::File; use Getopt::Std; undef $opt_C; # If provided, will keep only introns with canonical splice sites. Requires -d flag. undef $opt_R; # If provided, will report only introns with non-canonical splice sites to stdout. Requires -d flag. undef $opt_2; # If provided, will print dinucleotides at splice sites. Requires -d flag. undef $opt_D; # Genome directory undef $opt_d; # Genome index undef $opt_Q; # Quiet (nothing to stderr) getopts("D:d:CR2Q"); if (defined($opt_d)) { if (!defined($opt_C) && !defined($opt_R) && !defined($opt_2)) { print STDERR "-d flag useful only with -C, -R, or -2 flags. Ignoring -d flag\n"; undef $opt_d; } else { if (0) { $FP = new IO::File(">&STDOUT"); } elsif (defined($opt_D)) { $FP = new IO::File("| @BINDIR@/get-genome -D $opt_D -d $opt_d > get-genome.out"); } else { $FP = new IO::File("| @BINDIR@/get-genome -d $opt_d > get-genome.out"); } $gene_name = ""; $last_transcript_id = ""; @exons = (); @CDS_regions = (); while (defined($line = <>)) { if ($line =~ /^\#/) { # Skip } elsif ($line !~ /\S/) { # Skip blank line } else { $line =~ s/\r\n/\n/; push @lines,$line; chop $line; @fields = split /\t/,$line; if ($fields[2] eq "gene") { if ($#exons > 0) { # Handle last mRNA of previous gene query_dinucleotides(\@exons,$chr,$strand,$FP); #print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand,$FP); } elsif ($#CDS_regions > 0) { # Handle last mRNA of previous gene query_dinucleotides(\@CDS_regions,$chr,$strand,$FP); #print_exons(\@CDS_regions,$gene_name,$last_transcript_id,$chr,$strand,$FP); } ($gene_name) = $fields[8] =~ /ID=([^;]+)/; $chr = $fields[0]; @exons = (); @CDS_regions = (); } elsif ($fields[2] eq "mRNA" || $fields[2] eq "transcript") { if ($#exons > 0) { query_dinucleotides(\@exons,$chr,$strand,$FP); #print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand,$FP); } elsif ($#CDS_regions > 0) { query_dinucleotides(\@CDS_regions,$chr,$strand,$FP); #print_exons(\@CDS_regions,$gene_name,$last_transcript_id,$chr,$strand,$FP); } ($last_transcript_id) = $fields[8] =~ /ID=([^;]+)/; $strand = $fields[6]; # For GFF3 files without a gene line if (!defined($gene_name) || $gene_name !~ /\S/) { $gene_name = $last_transcript_id; } $chr = $fields[0]; @exons = (); @CDS_regions = (); } elsif ($fields[2] eq "exon") { push @exons,"$fields[3] $fields[4]"; } elsif ($fields[2] eq "CDS") { push @CDS_regions,"$fields[3] $fields[4]"; } } } } if ($#exons > 0) { query_dinucleotides(\@exons,$chr,$strand,$FP); } elsif ($#CDS_regions > 0) { query_dinucleotides(\@CDS_regions,$chr,$strand,$FP); } close($FP); $FP = new IO::File("get-genome.out") or die "Cannot open get-genome.out"; } else { if (defined($opt_C)) { print STDERR "-C flag requires you to specify -d flag. Ignoring -C flag\n"; undef $opt_C; } if (defined($opt_R)) { print STDERR "-R flag requires you to specify -d flag. Ignoring -R flag\n"; undef $opt_R; } if (defined($opt_2)) { print STDERR "-2 flag requires you to specify -d flag. Ignoring -2 flag\n"; undef $opt_2; } } $gene_name = ""; $last_transcript_id = ""; @exons = (); @CDS_regions = (); while (defined($line = get_line())) { if ($line =~ /^\#/) { # Skip } elsif ($line !~ /\S/) { # Skip blank line } else { $line =~ s/\r\n/\n/; chop $line; @fields = split /\t/,$line; if ($fields[2] eq "gene") { if ($#exons > 0) { # Handle last mRNA of previous gene print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand,$FP); } elsif ($#CDS_regions > 0) { # Handle last mRNA of previous gene print_exons(\@CDS_regions,$gene_name,$last_transcript_id,$chr,$strand,$FP); } ($gene_name) = $fields[8] =~ /ID=([^;]+)/; $chr = $fields[0]; @exons = (); @CDS_regions = (); } elsif ($fields[2] eq "mRNA" || $fields[2] eq "transcript") { if ($#exons > 0) { print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand,$FP); } elsif ($#CDS_regions > 0) { print_exons(\@CDS_regions,$gene_name,$last_transcript_id,$chr,$strand,$FP); } ($last_transcript_id) = $fields[8] =~ /ID=([^;]+)/; $strand = $fields[6]; # For GFF3 files without a gene line if (!defined($gene_name) || $gene_name !~ /\S/) { $gene_name = $last_transcript_id; } if (!defined($chr) || $chr !~ /\S/) { $chr = $fields[0]; } @exons = (); @CDS_regions = (); } elsif ($fields[2] eq "exon") { push @exons,"$fields[3] $fields[4]"; } elsif ($fields[2] eq "CDS") { push @CDS_regions,"$fields[3] $fields[4]"; } } } if ($#exons > 0) { print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand,$FP); } elsif ($#CDS_regions > 0) { print_exons(\@CDS_regions,$gene_name,$last_transcript_id,$chr,$strand,$FP); } if (defined($opt_d)) { close($FP); } exit; sub get_line { my $line; if (!defined($opt_d)) { if (!defined($line = <>)) { return; } else { return $line; } } else { if ($#lines < 0) { return; } else { $line = shift @lines; return $line; } } } sub get_dinucleotide { my ($query, $FP) = @_; my $dinucl; my $line; my $lastline; while (defined($line = <$FP>) && $line !~ /^\# Query: $query\s*$/) { if ($line =~ /^\# End\s*$/) { print STDERR "line is $line\n"; die "Could not find query $query"; } } while (defined($line = <$FP>) && $line !~ /^\# End\s*$/) { if ($line =~ /^\# Query: /) { die "Could not find query $query"; } $lastline = $line; } if (!defined($line)) { die "File ended while looking for query $query"; } ($dinucl) = $lastline =~ /(\S\S)/; if (!defined($dinucl) || $dinucl !~ /\S/) { die "Could not find dinucl in lastline $line for query $query"; } return $dinucl; } sub ascending_cmp { ($starta) = $a =~ /(\d+) \d+/; ($startb) = $b =~ /(\d+) \d+/; return $starta <=> $startb; } sub get_intron_bounds_plus { my ($exons) = @_; my @starts = (); my @ends = (); foreach $exon (sort ascending_cmp (@ {$exons})) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } shift @starts; pop @ends; return (\@starts,\@ends); } sub get_intron_bounds_minus { my ($exons) = @_; my @starts = (); my @ends = (); foreach $exon (reverse sort ascending_cmp (@ {$exons})) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } pop @starts; shift @ends; return (\@starts,\@ends); } sub query_dinucleotides { my ($exons, $chr, $strand, $FP) = @_; $nexons = $#{$exons} + 1; if ($strand eq "+") { ($starts,$ends) = get_intron_bounds_plus($exons); for ($i = 0; $i < $nexons - 1; $i++) { $query = sprintf("%s:%u..%u",$chr,$ends[$i]+1,$ends[$i]+2); print $FP $query . "\n"; $query = sprintf("%s:%u..%u",$chr,$starts[$i]-2,$starts[$i]-1); print $FP $query . "\n"; } } elsif ($strand eq "-") { ($starts,$ends) = get_intron_bounds_minus($exons); for ($i = 0; $i < $nexons - 1; $i++) { $query = sprintf("%s:%u..%u",$chr,$starts[$i]-1,$starts[$i]-2); print $FP $query . "\n"; $query = sprintf("%s:%u..%u",$chr,$ends[$i]+2,$ends[$i]+1); print $FP $query . "\n"; } } return; } sub donor_okay_p { my ($donor_dinucl, $acceptor_dinucl) = @_; if ($donor_dinucl eq "GT") { return 1; } elsif ($donor_dinucl eq "GC") { return 1; } elsif ($donor_dinucl eq "AT" && $acceptor_dinucl eq "AC") { return 1; } else { return 0; } } sub acceptor_okay_p { my ($donor_dinucl, $acceptor_dinucl) = @_; if ($acceptor_dinucl eq "AG") { return 1; } elsif ($donor_dinucl eq "AT" && $acceptor_dinucl eq "AC") { return 1; } else { return 0; } } sub print_exons { my ($exons, $gene_name, $transcript_id, $chr, $strand, $FP) = @_; $nexons = $#{$exons} + 1; if ($strand eq "+") { ($starts,$ends) = get_intron_bounds_plus($exons); for ($i = 0; $i < $nexons - 1; $i++) { if (($intron_length = $ {$starts}[$i] - $ {$ends}[$i] - 1) < 0) { printf STDERR "gene %s, transcript %s, intron %d with donor at %s:%u and acceptor at %s:%u implies a negative intron length of %d...skipping\n",$gene_name,$transcript_id,$i+1,$chr,$ {$ends}[$i],$chr,$ {$starts}[$i],$intron_length; } elsif (!defined($opt_d)) { printf ">%s.%s.intron%d/%d %s:%u..%u\n",$gene_name,$transcript_id,$i+1,$nexons-1,$chr,$ {$ends}[$i],$ {$starts}[$i]; } else { $query = sprintf("%s:%u..%u",$chr,$ends[$i]+1,$ends[$i]+2); $donor_dinucl = get_dinucleotide($query,$FP); $query = sprintf("%s:%u..%u",$chr,$starts[$i]-2,$starts[$i]-1); $acceptor_dinucl = get_dinucleotide($query,$FP); if (defined($opt_C) && donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { if (!defined($opt_Q)) { printf STDERR "Skipping non-canonical donor $donor_dinucl, intron length %d for %s.%s.intron%d/%d on plus strand\n", $intron_length,$gene_name,$transcript_id,$i+1,$nexons-1; } } elsif (defined($opt_C) && acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { if (!defined($opt_Q)) { printf STDERR "Skipping non-canonical acceptor $acceptor_dinucl, intron length %d for %s.%s.intron%d/%d on plus strand\n", $intron_length,$gene_name,$transcript_id,$i+1,$nexons-1; } } elsif (defined($opt_R)) { if (donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0 || acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.%s.intron%d/%d %s:%u..%u",$gene_name,$transcript_id,$i+1,$nexons-1,$chr,$ {$ends}[$i],$ {$starts}[$i]; print " $donor_dinucl-$acceptor_dinucl"; print "\n"; } } else { printf ">%s.%s.intron%d/%d %s:%u..%u",$gene_name,$transcript_id,$i+1,$nexons-1,$chr,$ {$ends}[$i],$ {$starts}[$i]; if (defined($opt_2)) { print " $donor_dinucl-$acceptor_dinucl"; } print "\n"; } } } } elsif ($strand eq "-") { ($starts,$ends) = get_intron_bounds_minus($exons); for ($i = 0; $i < $nexons - 1; $i++) { if (($intron_length = $ {$starts}[$i] - $ {$ends}[$i] - 1) < 0) { printf STDERR "gene %s, transcript %s, intron %d with donor at %s:%u and acceptor at %s:%u implies a negative intron length of %d...skipping\n",$gene_name,$transcript_id,$i+1,$chr,$ {$starts}[$i],$chr,$ {$ends}[$i],$intron_length; } elsif (!defined($opt_d)) { printf ">%s.%s.intron%d/%d %s:%u..%u\n",$gene_name,$transcript_id,$i+1,$nexons-1,$chr,$ {$starts}[$i],$ {$ends}[$i]; } else { $query = sprintf("%s:%u..%u",$chr,$starts[$i]-1,$starts[$i]-2); $donor_dinucl = get_dinucleotide($query,$FP); $query = sprintf("%s:%u..%u",$chr,$ends[$i]+2,$ends[$i]+1); $acceptor_dinucl = get_dinucleotide($query,$FP); if (defined($opt_C) && donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { if (!defined($opt_Q)) { printf STDERR "Skipping non-canonical donor $donor_dinucl, intron length %d for %s.%s.intron%d/%d on minus strand\n", $intron_length,$gene_name,$transcript_id,$i+1,$nexons-1; } } elsif (defined($opt_C) && acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { if (!defined($opt_Q)) { printf STDERR "Skipping non-canonical acceptor $acceptor_dinucl, intron length %d for %s.%s.intron%d/%d on minus strand\n", $intron_length,$gene_name,$transcript_id,$i+1,$nexons-1; } } elsif (defined($opt_R)) { if (donor_okay_p($donor_dinucl,$acceptor_dinucl) == 0 || acceptor_okay_p($donor_dinucl,$acceptor_dinucl) == 0) { printf ">%s.%s.intron%d/%d %s:%u..%u",$gene_name,$transcript_id,$i+1,$nexons-1,$chr,$ {$starts}[$i],$ {$ends}[$i]; print " $donor_dinucl-$acceptor_dinucl"; print "\n"; } } else { printf ">%s.%s.intron%d/%d %s:%u..%u",$gene_name,$transcript_id,$i+1,$nexons-1,$chr,$ {$starts}[$i],$ {$ends}[$i]; if (defined($opt_2)) { print " $donor_dinucl-$acceptor_dinucl"; } print "\n"; } } } } return; } gmap-2015-12-31/util/gmap_compress.pl.in0000755002622600023770000002436012567632013014557 00000000000000#! @PERL@ # $Id: gmap_compress.pl.in,v 1.22 2010-07-21 21:51:57 twu Exp $ # Need to call gmap with -AF (A is to show alignment, and F is to flip # genomic sequence to be first) use warnings; use IO::File; compress(); exit; sub compress { while (defined($line = <>)) { $line =~ s/\r\n/\n/; chop $line; if ($line !~ /./) { # Skip completely empty lines } elsif ($line =~ /^>(\S+)/) { if (defined(@gmap)) { parse_gmap(\@gmap,$acc,$md5,$npaths,$chimerap,$chimerapos); } $acc = $1; if ($line =~ /[Mm][Dd]5:(\S+)$/) { $md5 = $1; } if (defined($line = <>)) { $line =~ s/\r\n/\n/; ($npaths) = $line =~ /\((\d+)\)/; # Paths (2): if ($line =~ /[Cc]himera/) { $chimerap = 1; if ($line =~ /[Cc]himera.*?(\d+)/) { # breakpoint at 232; $chimerapos = $1; } else { $chimerapos = -1; } } else { $chimerap = 0; $chimerapos = -1; } } @gmap = (); } else { push @gmap,$line; } } if (defined(@gmap)) { parse_gmap(\@gmap,$acc,$md5,$npaths,$chimerap,$chimerapos); } return; } sub parse_gmap { my ($gmap, $acc, $md5, $npaths, $chimerap, $chimerapos) = @_; my ($gendirection, $estdirection, $intrdirection, $agreement, $sequence1, $sequence2, $agreements); my ($start1, $end1, $start2, $end2, $pct, $i, $line); my @gmaphits = (); my @introns = (); my @strain = (); $i = 0; while ($i <= $#{$gmap} && $ {$gmap}[$i] !~ /^Alignments/) { $line = $ {$gmap}[$i]; if ($line =~ /^\s+Path (\d+):/) { $pathno = $1; ($queryrange[$pathno]) = $line =~ /query (\S+)/; ($type,$chrrange[$pathno],$distance) = $line =~ /(chr|genomic)\s+(\S+)\s+\((-?\d+) .+\)/; undef $type; $chrrange[$pathno] =~ s/,//g; if ($distance < 0) { $chrstrand[$pathno] = "-"; } else { $chrstrand[$pathno] = "+"; } $i++; while ($ {$gmap}[$i] !~ /Alignments/ && $ {$gmap}[$i] !~ /Path/) { $line = $ {$gmap}[$i]; if ($line =~ /Genomic/) { ($genomevers[$pathno],$genomerange[$pathno]) = $line =~ /(\S+):([0-9,]+\D+[0-9,]+)/; $genomerange[$pathno] =~ s/,//g; } elsif ($line =~ /exons/) { ($nexons[$pathno]) = $line =~ /(\d+)/; } elsif ($line =~ /Strain: (\S+)/) { # Optional $strain[$pathno] = $1; } elsif ($line =~ /Coverage/) { ($coverage[$pathno]) = $line =~ /(\d+\.\d+)/; if ($line =~ /query length: (\d+) bp/) { $cdnalength = $1; } elsif ($line =~ /query length: (\d+) bp/) { $prolength = $1; $cdnalength = $prolength*3; } else { die "Could not find query length in $line. Perhaps your GMAP version is too old."; } } elsif ($line =~ /Percent/) { ($pctidentity[$pathno]) = $line =~ /(\d+\.\d+)/; } $i++; } } else { $i++; } } while ($i <= $#{$gmap}) { $line = $ {$gmap}[$i]; if ($line =~ /Alignment for path (\d+)/) { if (defined($agreement)) { print ">$acc $genomevers[$pathno] $pathno/$npaths $cdnalength "; print "$nexons[$pathno] $coverage[$pathno] $pctidentity[$pathno] "; print "$queryrange[$pathno] $genomerange[$pathno] $chrrange[$pathno] $chrstrand[$pathno]"; if ($chimerap == 1) { if ($chimerapos >= 0) { print " chimera:$chimerapos"; } else { print " chimera:T"; } } if (defined($strain[$pathno])) { print " strain:$strain[$pathno]"; } if (defined($md5)) { print " md5:$md5"; } print "\n"; parse_agreement($acc,$agreement,$sequence1,$sequence2,\@exons,\@introns); } $pathno = $1; $agreement = $sequence1 = $sequence2 = ""; @exons = (); @introns = (); $i++; } elsif ($line =~ /(\S+:)?(\d+)-(\d+)\s+\((\d+)-(\d+)\)\s+(\d+)%(.*)/) { $chromosome = $1; if (defined($chromosome)) { $chromosome =~ s/://; } push @exons,"$2 $3 $4 $5 $6"; push @introns,"$7"; $i++; } elsif ($line =~ /^\s*(\d+)[ .:]+$/) { if ($1 == 0 && $sequence1 ne "") { $agreement .= "===...==="; $sequence1 .= " "; $sequence2 .= " "; } while ($ {$gmap}[$i+1] =~ /^aa/ || $ {$gmap}[$i+1] !~ /\d/) { $i = $i+1; } $line1 = $ {$gmap}[$i+1]; $match = $ {$gmap}[$i+2]; $line2 = $ {$gmap}[$i+3]; ($intro,$seg1) = $line1 =~ /^(\s*\S+ )(.+)/; if (!defined($intro) || !defined($seg1)) { print STDERR "Error parsing $acc: $line1\n"; exit(9); } $segb = substr($match,length($intro),length($seg1)); ($seg2) = $line2 =~ /^\s*\S+ (.+)/; $agreement .= $segb; $sequence1 .= $seg1; $sequence2 .= $seg2; $i += 4; } else { $i++; } } if (defined($agreement)) { print ">$acc $genomevers[$pathno] $pathno/$npaths $cdnalength "; print "$nexons[$pathno] $coverage[$pathno] $pctidentity[$pathno] "; print "$queryrange[$pathno] $genomerange[$pathno] $chrrange[$pathno] $chrstrand[$pathno]"; if ($chimerap == 1) { if ($chimerapos >= 0) { print " chimera:$chimerapos"; } else { print " chimera:T"; } } if (defined($strain[$pathno])) { print " strain:$strain[$pathno]"; } if (defined($md5)) { print " md5:$md5"; } print "\n"; parse_agreement($acc,$agreement,$sequence1,$sequence2,\@exons,\@introns); } return; } sub print_token { my ($token, $lasttoken, $tokencount, $firsttokenp) = @_; if ($firsttokenp == 1) { print "$token"; $lasttoken = $token; $tokencount = 1; } elsif ($token eq $lasttoken) { $tokencount++; } else { if ($tokencount > 1) { print "!$tokencount"; } print " $token"; $lasttoken = $token; $tokencount = 1; } return ($lasttoken, $tokencount, 0); } # sequence1 is the concatenation of exons from the genome, as # determined by GMAP. sequence2 is the concatenation of exons from # the cDNA sequence. sub parse_agreement { my ($acc, $agreement, $sequence1, $sequence2, $exons, $introns) = @_; my ($i); my @agreements = (); my @segments1 = (); my @segments2 = (); my $firsttokenp = 1; @pieces = split /[>\(\)\[\]<=\#]{3}\.\.\.[>\(\)\[\]<=\#]{3}/,$agreement; $pos = 0; $segno = 0; foreach $agreement_piece (@pieces) { $length = length($agreement_piece); $segment1_piece = substr($sequence1,$pos,$length); $segment2_piece = substr($sequence2,$pos,$length); @sequence1 = split '',$segment1_piece; @agreement = split '',$agreement_piece; @sequence2 = split '',$segment2_piece; if (!defined($ {$exons}[$segno])) { print STDERR "Cannot find exon number $segno for $acc\n"; exit(9); } print "\t" . $ {$exons}[$segno] . "\t"; $runlength = 0; $lasttoken = ""; $tokencount = 1; $firsttokenp = 1; for ($i = 0; $i <= $#agreement; $i++) { if ($agreement[$i] eq '-') { # Gaps in upper or lower sequence if ($sequence1[$i] eq ' ') { $token = "$runlength" . "^$sequence2[$i]"; } elsif ($sequence2[$i] eq ' ') { $token = "$runlength" . "v"; } else { print STDERR "Error in parse_agreement for $acc\n"; print STDERR "i = $i\n"; print STDERR "sequence1 = $sequence1[$i]\n"; print STDERR "agreement = $agreement[$i]\n"; print STDERR "sequence2 = $sequence2[$i]\n"; print STDERR "$segment1_piece\n"; print STDERR "$agreement_piece\n"; print STDERR "$segment2_piece\n"; exit(9); } ($lasttoken,$tokencount,$firsttokenp) = print_token($token,$lasttoken,$tokencount,$firsttokenp); $runlength = 0; } elsif ($agreement[$i] eq ':') { $token = "$runlength" . ":$sequence2[$i]"; ($lasttoken,$tokencount,$firsttokenp) = print_token($token,$lasttoken,$tokencount,$firsttokenp); $runlength = 0; } elsif ($agreement[$i] eq ' ') { # Mismatch, possibly due to unknown in either sequence # As of 2005-10-06, all but the last of these cases are outdated, # now that we have the ':' character if ($sequence1[$i] eq 'N' && $sequence2[$i] eq 'N') { $token = "$runlength" . "?"; } elsif ($sequence1[$i] eq 'N') { $token = "$runlength" . "N$sequence2[$i]"; } elsif ($sequence2[$i] eq 'N') { $token = "$runlength" . "n"; } else { $token = "$runlength" . "x$sequence2[$i]"; } ($lasttoken,$tokencount,$firsttokenp) = print_token($token,$lasttoken,$tokencount,$firsttokenp); $runlength = 0; } else { $runlength++; } } $print_dinucleotide_p = 1; if ($ {$introns}[$segno] =~ / ->/) { $token = "$runlength" . ">"; } elsif ($ {$introns}[$segno] =~ / <-/) { $token = "$runlength" . "<"; $print_dinucleotide_p = -1; } elsif ($ {$introns}[$segno] =~ / ==/) { $token = "$runlength" . "="; } elsif ($ {$introns}[$segno] =~ / -\)/) { $token = "$runlength" . ")"; } elsif ($ {$introns}[$segno] =~ / \(-/) { $token = "$runlength" . "("; $print_dinucleotide_p = -1; } elsif ($ {$introns}[$segno] =~ / -\]/) { $token = "$runlength" . "]"; } elsif ($ {$introns}[$segno] =~ / \[-/) { $token = "$runlength" . "["; $print_dinucleotide_p = -1; } elsif ($ {$introns}[$segno] =~ / --/) { $token = "$runlength" . "-"; } elsif ($ {$introns}[$segno] =~ / \#\#/) { $token = "$runlength" . "#"; $print_dinucleotide_p = 0; } else { $token = "$runlength" . "*"; $print_dinucleotide_p = 0; } ($lasttoken,$tokencount,$firsttokenp) = print_token($token,$lasttoken,$tokencount,$firsttokenp); $exonseg = $segment2_piece; $exonseg =~ s/\s//g; $exonlength = length($exonseg); print "\t" . $exonlength; if ($segno < $#{$introns}) { if ($ {$introns}[$segno] =~ / \#\#/) { ($intronlength) = substr($sequence1,$pos+$length,9) =~ /(\d+)/; } else { ($intronlength) = substr($sequence2,$pos+$length,9) =~ /(\d+)/; } if (defined($intronlength)) { print "\t" . $intronlength; } else { print "\t"; } $dinucleotide1 = substr($sequence1,$pos+$length,2); $dinucleotide2 = substr($sequence1,$pos+$length+7,2); $intronends = $dinucleotide1 . "-" . $dinucleotide2; if ($print_dinucleotide_p == -1) { $intronends = revcomp($intronends); } if ($print_dinucleotide_p != 0) { if ($intronends eq "GT-AG") { # Do nothing } else { print "\t" . $intronends; } } } print "\n"; $pos += $length + 9; # 9 is length of >>>...>>> $segno++; } return; } sub revcomp { my ($seq) = @_; $seq =~ tr/ACGT/TGCA/; return join('',reverse(split '',$seq)); } gmap-2015-12-31/util/psl_genes.pl.in0000644002622600023770000000222212567632014013666 00000000000000#! @PERL@ use Getopt::Std; $opt_s = 0; # starting column (UCSC track can start in column 0 or 1) getopts("s:"); while (defined($line = <>)) { $line =~ s/\r\n/\n/; chop $line; @fields = split /\t/,$line; $acc = $fields[$opt_s + 0]; $chr = $fields[$opt_s + 1]; #$chr =~ s/chr//; #$chr =~ s/_random/U/; $strand = $fields[$opt_s + 2]; @starts = split ",",$fields[$opt_s + 8]; @ends = split ",",$fields[$opt_s + 9]; $nexons = $#starts + 1; if ($nexons != $fields[$opt_s + 7]) { print STDERR "Reported number of exons $fields[$opt_s + 7] != observed $nexons: Skipping $line\n"; } elsif ($strand eq "+") { printf ">$acc $chr:%u..%u\n",$starts[0] + 1,$ends[$#ends]; print "$acc\n"; for ($i = 0; $i < $nexons; $i++) { printf "%u %u\n",$starts[$i] + 1,$ends[$i]; } } elsif ($strand eq "-") { @starts = reverse @starts; @ends = reverse @ends; printf ">$acc $chr:%u..%u\n",$ends[0],$starts[$#starts] + 1; print "$acc\n"; for ($i = 0; $i < $nexons; $i++) { printf "%u %u\n",$ends[$i],$starts[$i] + 1; } } else { print STDERR "Strand is neither + nor -: Skipping $line\n"; } } exit; gmap-2015-12-31/util/Makefile.am0000644002622600023770000000644012567632014013007 00000000000000 if FULLDIST bin_SCRIPTS = gmap_compress gmap_uncompress gmap_process gmap_build gmap_reassemble md_coords fa_coords \ psl_splicesites psl_introns psl_genes \ ensembl_genes \ gtf_splicesites gtf_introns gtf_genes \ gff3_splicesites gff3_introns gff3_genes \ dbsnp_iit gvf_iit vcf_iit sam_merge sam_restore else bin_SCRIPTS = gmap_compress gmap_uncompress gmap_process gmap_build gmap_reassemble md_coords fa_coords \ psl_splicesites psl_introns psl_genes \ ensembl_genes \ gtf_splicesites gtf_introns gtf_genes \ gff3_splicesites gff3_introns gff3_genes \ dbsnp_iit gvf_iit vcf_iit endif gmap_compress: gmap_compress.pl cp gmap_compress.pl gmap_compress chmod +x gmap_compress gmap_uncompress: gmap_uncompress.pl cp gmap_uncompress.pl gmap_uncompress chmod +x gmap_uncompress gmap_process: gmap_process.pl cp gmap_process.pl gmap_process chmod +x gmap_process gmap_build: gmap_build.pl cp gmap_build.pl gmap_build chmod +x gmap_build gmap_reassemble: gmap_reassemble.pl cp gmap_reassemble.pl gmap_reassemble chmod +x gmap_reassemble md_coords: md_coords.pl cp md_coords.pl md_coords chmod +x md_coords fa_coords: fa_coords.pl cp fa_coords.pl fa_coords chmod +x fa_coords psl_splicesites: psl_splicesites.pl cp psl_splicesites.pl psl_splicesites chmod +x psl_splicesites psl_genes: psl_genes.pl cp psl_genes.pl psl_genes chmod +x psl_genes psl_introns: psl_introns.pl cp psl_introns.pl psl_introns chmod +x psl_introns psl_splices: psl_splices.pl cp psl_splices.pl psl_splices chmod +x psl_splices ensembl_genes: ensembl_genes.pl cp ensembl_genes.pl ensembl_genes chmod +x ensembl_genes gtf_splicesites: gtf_splicesites.pl cp gtf_splicesites.pl gtf_splicesites chmod +x gtf_splicesites gtf_introns: gtf_introns.pl cp gtf_introns.pl gtf_introns chmod +x gtf_introns gtf_genes: gtf_genes.pl cp gtf_genes.pl gtf_genes chmod +x gtf_genes gff3_splicesites: gff3_splicesites.pl cp gff3_splicesites.pl gff3_splicesites chmod +x gff3_splicesites gff3_introns: gff3_introns.pl cp gff3_introns.pl gff3_introns chmod +x gff3_introns gff3_genes: gff3_genes.pl cp gff3_genes.pl gff3_genes chmod +x gff3_genes dbsnp_iit: dbsnp_iit.pl cp dbsnp_iit.pl dbsnp_iit chmod +x dbsnp_iit gvf_iit: gvf_iit.pl cp gvf_iit.pl gvf_iit chmod +x gvf_iit vcf_iit: vcf_iit.pl cp vcf_iit.pl vcf_iit chmod +x vcf_iit sam_merge: sam_merge.pl cp sam_merge.pl sam_merge chmod +x sam_merge sam_restore: sam_restore.pl cp sam_restore.pl sam_restore chmod +x sam_restore if FULLDIST CLEANFILES = gmap_compress gmap_uncompress gmap_process gmap_build gmap_reassemble md_coords fa_coords \ psl_splicesites psl_introns psl_genes \ ensembl_genes \ gtf_splicesites gtf_introns gtf_genes \ gff3_splicesites gff3_introns gff3_genes \ dbsnp_iit gvf_iit vcf_iit sam_merge sam_restore else CLEANFILES = gmap_compress gmap_uncompress gmap_process gmap_build gmap_reassemble md_coords fa_coords \ psl_splicesites psl_introns psl_genes \ ensembl_genes \ gtf_splicesites gtf_introns gtf_genes \ gff3_splicesites gff3_introns gff3_genes \ dbsnp_iit gvf_iit vcf_iit endif gmap-2015-12-31/util/fa_coords.pl.in0000644002622600023770000003702512567632013013656 00000000000000#! @PERL@ # $Id: fa_coords.pl.in,v 1.23 2010-07-21 21:49:33 twu Exp $ #$package_version = "@PACKAGE_VERSION@"; use warnings; use IO::File; $opt_l = 1000000; # Don't report contigs smaller than this length undef($opt_o); # Output file undef($opt_C); # Try to parse chromosomal information undef($opt_E); # Interpret argument as a command undef($opt_g); # gunzip each file first #undef($opt_S); # Do not order chromosomes undef($opt_c); # Circular chromosomes undef($opt_n); # File with substitute chromosome names undef($opt_f); # File with input FASTA source filenames use Getopt::Std; getopts("o:CEgc:n:f:"); # Usage: fa_coords [-o ] [-C] [-E] [-g] [-n ] [-f ] if (defined($circular = $opt_c)) { if (-e $circular) { print STDERR "Reading circular chromosomes from the file $circular..."; $ncircular = 0; $FP = new IO::File($circular); while (defined($line = <$FP>)) { ($chr) = $line =~ /(\S+)/; $circularp{$chr} = 1; $ncircular++; } close($FP); print STDERR "read $circular chromosomes\n"; } else { foreach $chr (split ",",$circular) { $circularp{$chr} = 1; } } } if (!defined($outfile = $opt_o)) { $outfile = "coords.txt"; } if (defined($opt_n)) { $FP = new IO::File($opt_n) or die "Cannot open file $opt_n"; print STDERR "Reading substitute chromosome names from $opt_n\n"; while (defined($line = <$FP>)) { chop $line; ($oldname,$newname) = split /\t/,$line; if (defined($oldname) && defined($newname) && $newname =~ /\S/) { $newname{$oldname} = $newname; } } close($FP); } $flags = ""; $flags .= "-o $outfile"; #print STDERR "Printing processing messages only for those contigs longer than\n"; #print STDERR " $opt_l nt (but processing all of them, of course).\n"; #print STDERR " You can change this value with the -l flag to fa_coords.\n"; if (defined($opt_f)) { # Source files given in a file @sourcefiles = (); $SOURCES = new IO::File($opt_f) or die "Cannot open file $opt_f"; while (defined($line = <$SOURCES>)) { chop $line; push @sourcefiles,$line; } close($SOURCES); ($output,$skipped) = parse_fa_files(\@sourcefiles); } elsif ($#ARGV < 0) { # FASTA is piped via stdin @streams = (); push @streams,"<&STDIN"; ($output,$skipped) = parse_fa_files(\@streams); } else { # Source files given on command line ($output,$skipped) = parse_fa_files(\@ARGV); } if ($#{$output} < 0) { printf STDOUT "Error: No contigs were read in.\n"; exit(9); } else { $OUT = new IO::File(">$outfile") or die "Cannot write to file $outfile"; print $OUT "# To rename a chromosome, edit each occurrence of that chromosome in the gmap_coordinates\n"; print $OUT "# The strain column has information copied from NCBI md files, but is not otherwise used by gmap_setup\n"; print $OUT "# To exclude a contig, place a '#' sign at the beginning of the line\n"; print $OUT "#contig" . "\t" . "gmap_coordinates" . "\t" . "linear/circular" . "\t" . "strain\n"; #if (defined($opt_S)) { #@sorted = @ {$output}; #} else { #@sorted = sort by_numeric_alpha (@ {$output}); #} @sorted = @ {$output}; foreach $string (@sorted) { print $OUT $string; } close($OUT); } if ($#$skipped >= 0) { printf "\n"; printf STDOUT "********************************************************************************\n"; printf STDOUT (" A total of %d contigs had no recognizable chromosomal assignment, and\n",$#$skipped + 1); print < 1) { push @errors," First contig in chromosome $chr starts at position $lowest{$chr}"; } } if ($#errors >= 0) { print STDOUT "\n"; print STDOUT "*** Possible errors: ***\n"; foreach $error (@errors) { print $error . "\n"; } print STDOUT "\n"; print STDOUT " Some the errors above may be addressed by specifying the contigs to be on\n"; print STDOUT " alternate strains of existing chromosomes, rather than on independent\n"; print STDOUT " alternate chromosomes.\n"; print STDOUT " You may make the appropriate changes in $outfile, by adding an alternate\n"; print STDOUT " strain in column 3, and specifying an existing chromosome in column 2\n"; print STDOUT "\n"; } print STDOUT "\n"; print STDOUT "============================================================\n"; print STDOUT "Contig mapping information has been written to file $outfile.\n"; if ($#errors >= 0) { printf STDOUT ("%d possible errors were found (listed above)\n",$#errors+1); } print STDOUT "You should look at this file, and edit it if necessary\n"; print STDOUT "If everything is okay, you should proceed by running\n"; if ($outfile =~ /coords\.(\S+)/) { $genome = $1; print STDOUT " make -f Makefile.$genome gmapdb\n"; } else { print STDOUT " make gmapdb\n"; } print STDOUT "============================================================\n"; exit; sub handle_consecutive_errors { my ($consec_errors) = @_; if ($consec_errors > 0) { print STDOUT "\n\n"; print STDOUT "*** Note: For a total of $consec_errors consecutive contigs, "; print STDOUT "the chromosome could not be parsed from the header, \n"; print STDOUT " and were therefore assigned to chromosome NA.\n\n"; $consec_errors = 0; } return $consec_errors; } sub parse_fa_files { my ($argv) = @_; my ($FP, $line, $strain); my @output = (); my @skipped = (); my $seglength; my $chronlyp; my $contig = ""; my $nwarnings_dup = 0; my $nwarnings_colon = 0; my $ncontigs = 0; foreach $arg (@ {$argv}) { if (defined($opt_E)) { printf STDOUT "Executing command $arg\n"; $FP = new IO::File("$arg |") or die "Can't execute $arg"; } elsif (defined($opt_g)) { printf STDOUT "Opening gzipped file $arg\n"; $FP = new IO::File("gunzip -c \"$arg\" |") or die "Can't execute $arg"; } else { printf STDOUT "Opening file $arg\n"; $FP = new IO::File("$arg") or die "Can't open file $arg"; } $seglength = 0; undef($orientation); $consec_errors = 0; $shortp = 0; while (defined($line = <$FP>)) { $line =~ s/\r\n/\n/; chomp $line; if ($line !~ /\S/) { # Skip blank lines } elsif ($line !~ /^>/) { if (defined($chr)) { $seglength += length($line); } } else { # Handle previous contig if (defined($seglength{$contig})) { if ($seglength != $seglength{$contig}) { die "Saw contig $contig already, and second length $seglength is different from first $seglength{$contig}"; } elsif ($nwarnings_dup < 50) { print STDOUT "Saw contig $contig already. Ignoring previous occurrence.\n"; } elsif ($nwarnings_dup == 50) { print STDERR "More than 50 warnings. Will stop printing warnings\n"; } $nwarnings_dup++; } elsif ($seglength > 0) { $seglength{$contig} = $seglength; if ($seglength > $opt_l) { if ($shortp == 1) { print STDOUT "\n"; $shortp = 0; } if ($chronlyp == 1) { printf STDOUT (" Contig %s: concatenated at chromosome end: ",$contig); } else { printf STDOUT (" Contig %s: parsed chromosomal coordinates: ",$contig); } if (defined($newname{$chr})) { printf STDOUT ("%s:%d..",$newname{$chr},$chrpos{$chr}); } else { printf STDOUT ("%s:%d..",$chr,$chrpos{$chr}); } printf STDOUT ("%d (length = %d nt)",$chrpos{$chr}+$seglength-1,$seglength); if (defined($orientation) && $orientation eq "rev") { printf STDOUT (" (revcomp => %s:%d..%d)",$chr,$chrpos{$chr}+$seglength-1,$chrpos{$chr}); } print STDOUT "\n"; } else { if ($shortp == 0) { printf STDOUT " Processed short contigs (<$opt_l nt): "; $shortp = 1; } if (++$ncontigs < 100) { printf STDOUT "."; } elsif ($ncontigs == 100) { printf STDOUT "More than 100 short contigs. Will stop printing.\n"; } } if (defined($newname{$chr})) { $string = sprintf("%s\t%s:",$contig,$newname{$chr}); } else { $string = sprintf("%s\t%s:",$contig,$chr); } if (defined($orientation) && $orientation eq "rev") { $string .= sprintf("%d..%d",$chrpos{$chr}+$seglength-1,$chrpos{$chr}); } else { $string .= sprintf("%d..%d",$chrpos{$chr},$chrpos{$chr}+$seglength-1); } if (defined($circularp{$chr})) { $string .= "\tcircular"; } else { $string .= "\tlinear"; } $string .= "\n"; push @output,$string; if (!defined($lowest{$chr})) { $lowest{$chr} = $chrpos{$chr}; } elsif ($chrpos{$chr} < $lowest{$chr}) { $lowest{$chr} = $chrpos{$chr}; } $chrpos{$chr} += $seglength; # Used only when a header doesn't have a chrpos for this chr $chronlyp = 1; } # Handle current header # print STDOUT " Header line: $line\n"; $seglength = 0; ($contig) = $line =~ /^>(\S+)/; undef $orientation; undef $chr; if (!defined($opt_C)) { $chr = $contig; if ($chr =~ /:/) { if ($nwarnings_colon < 50) { print STDERR "Replacing : in $chr with _\n"; } elsif ($nwarnings_colon == 50) { print STDERR "More than 50 warnings. Will stop printing warnings\n"; } $nwarnings_colon++; $chr =~ s/:/_/g; } $chronlyp = 1; } elsif ($line =~ /[Cc]hr_(\S+)/) { # Seen in some TIGR contigs $chr = $1; $chronlyp = 1; $consec_errors = handle_consecutive_errors($consec_errors); } elsif ($line =~ /[Cc]hr\s*=?\s*(\S+):(\d+)\D+\d+/) { $chr = $1; $chrpos{$chr} = $2; $chronlyp = 0; $consec_errors = handle_consecutive_errors($consec_errors); } elsif ($line =~ /[Cc]hromosome\s*(\S+)/) { # NCBI .mfa format $chr = $1; $chr =~ s/[,;:.]$//; $chronlyp = 1; $consec_errors = handle_consecutive_errors($consec_errors); } elsif ($line =~ /[Cc]hromosome:[^:]+:([^:]+):(\d+)/) { # Ensembl format: chromosome:NCBI35:22:1:49554710:1 $chr = $1; $chrpos{$chr} = $2; $chronlyp = 0; if ($chr =~ /(\S+?)_N\D_\d+/) { # Ensembl notation for unmapped contig $chr = $1 . "U"; } $consec_errors = handle_consecutive_errors($consec_errors); } elsif ($line =~ /\/[Cc]hromosome=\S+/) { # Celera format ($chr) = $line =~ /\/[Cc]hromosome=(\S+)/; if ($line =~ /\/alignment=\((\d+)-\d+\)/) { $chrpos{$chr} = $1; $chrpos{$chr} += 1; # Because Celera uses 0-based coordinates $chronlyp = 0; } if ($line =~ /\/orientation=rev/) { $orientation = "rev"; } $consec_errors = handle_consecutive_errors($consec_errors); } elsif ($line =~ /[Cc]hr\s*(\S+):(\d+)\D+\d+/) { $chr = $1; $chrpos{$chr} = $2; $chronlyp = 0; $consec_errors = handle_consecutive_errors($consec_errors); } elsif ($line =~ /[Cc]hr\s*=?\s*(\S+) && $1 ne "omosome"/) { $chr = $1; $chronlyp = 1; $consec_errors = handle_consecutive_errors($consec_errors); } elsif ($line =~ /[Cc]hr\s*(\S+)/ && $1 ne "omosome") { $chr = $1; $chronlyp = 1; $consec_errors = handle_consecutive_errors($consec_errors); } else { if ($consec_errors == 0) { print STDOUT "\n\n*** Note: Can't find chromosome in header $line. Assigning to chromosome NA instead.\n\n"; } $chr = "NA"; push @skipped,$contig; $consec_errors += 1; } if (!defined($chr)) { if ($consec_errors == 0) { print STDOUT "\n\n*** Note: Can't find chromosome in header $line. Assigning to chromosome NA instead.\n\n"; } $chr = "NA"; push @skipped,$contig; $consec_errors += 1; } if (!defined($chrpos{$chr})) { $chrpos{$chr} = 1; # Start this contig at beginning of chromosome } } } # Handle last contig in the file if (defined($seglength{$contig})) { if ($seglength != $seglength{$contig}) { die "Saw contig $contig already, and second length $seglength is different from first $seglength{$contig}"; } else { print STDOUT "Saw contig $contig already. Ignoring previous occurrence.\n"; } } elsif ($seglength > 0) { $seglength{$contig} = $seglength; if ($seglength > $opt_l) { if ($shortp == 1) { print STDOUT "\n"; $shortp = 0; } if ($chronlyp == 1) { printf STDOUT (" Contig %s: concatenated at chromosome end: ",$contig); } else { printf STDOUT (" Contig %s: parsed chromosomal coordinates: ",$contig); } if (defined($newname{$chr})) { printf STDOUT ("%s:%d..",$newname{$chr},$chrpos{$chr}); } else { printf STDOUT ("%s:%d..",$chr,$chrpos{$chr}); } printf STDOUT ("%d (length = %d nt)",$chrpos{$chr}+$seglength-1,$seglength); if (defined($orientation) && $orientation eq "rev") { printf STDOUT (" (revcomp => %s:%d..%d)",$chr,$chrpos{$chr}+$seglength-1,$chrpos{$chr}); } print STDOUT "\n"; $shortp = 0; } else { if ($shortp == 0) { printf STDOUT " Processed short contigs (<$opt_l nt): "; $shortp = 1; } if (++$ncontigs < 100) { printf STDOUT "."; } elsif ($ncontigs == 100) { printf STDOUT "More than 100 short contigs. Will stop printing.\n"; } } if (defined($newname{$chr})) { $string = sprintf("%s\t%s:",$contig,$newname{$chr}); } else { $string = sprintf("%s\t%s:",$contig,$chr); } if (defined($orientation) && $orientation eq "rev") { $string .= sprintf("%d..%d",$chrpos{$chr}+$seglength-1,$chrpos{$chr}); } else { $string .= sprintf("%d..%d",$chrpos{$chr},$chrpos{$chr}+$seglength-1); } if (defined($circularp{$chr})) { $string .= "\tcircular"; } else { $string .= "\tlinear"; } $string .= "\n"; push @output,$string; if (!defined($lowest{$chr})) { $lowest{$chr} = $chrpos{$chr}; } elsif ($chrpos{$chr} < $lowest{$chr}) { $lowest{$chr} = $chrpos{$chr}; } } $contig = ""; close($FP); handle_consecutive_errors($consec_errors); } return (\@output,\@skipped); } sub by_numeric_alpha { my ($numeric_a, $alpha_a, $numeric_b, $alpha_b); if ($a =~ /^chr\d/) { ($numeric_a, $alpha_a) = $a =~ /chr(\d+)(\S*)/; } elsif ($a =~ /^chr\S/) { ($alpha_a) = $a =~ /chr(\d+)(\S*)/; } elsif ($a =~ /^\d/) { ($numeric_a, $alpha_a) = $a =~ /(\d+)(\S*)/; } else { $alpha_a = $a; } if (defined($alpha_a) && $alpha_a !~ /\S/) { undef $alpha_a; } if ($b =~ /^chr\d/) { ($numeric_b, $alpha_b) = $b =~ /chr(\d+)(\S*)/; } elsif ($b =~ /^chr\S/) { ($alpha_b) = $b =~ /chr(\d+)(\S*)/; } elsif ($b =~ /^\d/) { ($numeric_b, $alpha_b) = $b =~ /(\d+)(\S*)/; } else { $alpha_b = $b; } if (defined($alpha_b) && $alpha_b !~ /\S/) { undef $alpha_b; } if (defined($numeric_a) && !defined($numeric_b)) { return -1; } elsif (defined($numeric_b) && !defined($numeric_a)) { return +1; } elsif (defined($numeric_a) && defined($numeric_b)) { if ($numeric_a < $numeric_b) { return -1; } elsif ($numeric_b < $numeric_a) { return +1; } else { if (!defined($alpha_a) && defined($alpha_b)) { return -1; } elsif (!defined($alpha_b) && defined($alpha_a)) { return +1; } elsif (defined($alpha_a) && defined($alpha_b)) { return $alpha_a cmp $alpha_b; } else { return 0; } } } else { return $a cmp $b; } } gmap-2015-12-31/util/gtf_genes.pl.in0000644002622600023770000001162212567632014013654 00000000000000#! @PERL@ use warnings; use Getopt::Std; undef $opt_E; # Use exon_number field to determine own exon ordering getopts("E"); @exons = (); $sortp = 0; $last_transcript_id = ""; while (defined($line = <>)) { if ($line =~ /^\#/) { # Skip } else { $line =~ s/\r\n/\n/; chop $line; @fields = split /\t/,$line; if ($fields[2] eq "exon") { @info = (); parse_info($fields[8]); $transcript_id = get_info(\@info,"transcript_id"); if ($transcript_id ne $last_transcript_id) { if ($last_transcript_id =~ /\S/) { if ($strand eq "+") { ($start,$end) = get_gene_bounds_plus(\@exons,$sortp); printf ">$last_transcript_id $chr:%u..%u\n",$start,$end; } elsif ($strand eq "-") { ($start,$end) = get_gene_bounds_minus(\@exons,$sortp); printf ">$last_transcript_id $chr:%u..%u\n",$end,$start; } else { die "strand $strand"; } print "$gene_name\n"; print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand,$sortp); } @exons = (); $sortp = 0; $gene_name = get_info(\@info,"gene_name","gene_id"); $last_transcript_id = $transcript_id; $chr = $fields[0]; $strand = $fields[6]; } if (defined($opt_E) && defined($exon_number = get_info_optional(\@info,"exon_number"))) { $exons[$exon_number-1] = "$fields[3] $fields[4]"; } else { $sortp = 1; push @exons,"$fields[3] $fields[4]"; } } } } if ($last_transcript_id =~ /\S/) { if ($strand eq "+") { ($start,$end) = get_gene_bounds_plus(\@exons,$sortp); printf ">$last_transcript_id $chr:%u..%u\n",$start,$end; } elsif ($strand eq "-") { ($start,$end) = get_gene_bounds_minus(\@exons,$sortp); printf ">$last_transcript_id $chr:%u..%u\n",$end,$start; } else { die "strand $strand"; } print "$gene_name\n"; print_exons(\@exons,$gene_name,$last_transcript_id,$chr,$strand,$sortp); } exit; sub parse_info { my ($list) = @_; if ($list !~ /\S/) { return; } elsif ($list =~ /(\S+) "([^"]+)";?(.*)/) { push @info,"$1 $2"; parse_info($3); } elsif ($list =~ /(\S+) (\S+);?(.*)/) { push @info,"$1 $2"; parse_info($3); } else { die "Cannot parse $list"; } } sub get_info { my $info = shift @_; my @desired_keys = @_; foreach $item (@ {$info}) { ($key,$value) = $item =~ /(\S+) (.+)/; foreach $desired_key (@desired_keys) { if ($key eq $desired_key) { return $value; } } } print STDERR "Cannot find " . join(" or ",@desired_keys) . " in " . join("; ",@ {$info}) . "\n"; return "NA"; } sub get_info_optional { my $info = shift @_; my @desired_keys = @_; foreach $item (@ {$info}) { ($key,$value) = $item =~ /(\S+) (.+)/; foreach $desired_key (@desired_keys) { if ($key eq $desired_key) { return $value; } } } return; } sub ascending_cmp { ($starta) = $a =~ /(\d+) \d+/; ($startb) = $b =~ /(\d+) \d+/; return $starta <=> $startb; } sub get_gene_bounds_plus { my ($exons, $sortp) = @_; my ($start,$end); my @sorted; if ($sortp == 1) { @sorted = sort ascending_cmp (@ {$exons}); } else { @sorted = @ {$exons}; } ($start) = $sorted[0] =~ /(\d+) \d+/; ($end) = $sorted[$#sorted] =~ /\d+ (\d+)/; return ($start,$end); } sub get_gene_bounds_minus { my ($exons, $sortp) = @_; my ($start,$end); my @sorted; if ($sortp == 1) { @sorted = reverse sort ascending_cmp (@ {$exons}); } else { @sorted = @ {$exons}; } ($end) = $sorted[0] =~ /\d+ (\d+)/; ($start) = $sorted[$#sorted] =~ /(\d+) \d+/; return ($start,$end); } sub get_exon_bounds_plus { my ($exons, $sortp) = @_; my @starts = (); my @ends = (); if ($sortp == 1) { foreach $exon (sort ascending_cmp (@ {$exons})) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } } else { foreach $exon (@ {$exons}) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } } return (\@starts,\@ends); } sub get_exon_bounds_minus { my ($exons, $sortp) = @_; my @starts = (); my @ends = (); if ($sortp == 1) { foreach $exon (reverse sort ascending_cmp (@ {$exons})) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } } else { foreach $exon (@ {$exons}) { ($start,$end) = $exon =~ /(\d+) (\d+)/; push @starts,$start; push @ends,$end; } } return (\@starts,\@ends); } sub print_exons { my ($exons, $gene_name, $transcript_id, $chr, $strand, $sortp) = @_; $nexons = $#{$exons} + 1; if ($strand eq "+") { ($starts,$ends) = get_exon_bounds_plus($exons,$sortp); for ($i = 0; $i < $nexons; $i++) { printf "%u %u\n",$ {$starts}[$i],$ {$ends}[$i]; } } elsif ($strand eq "-") { ($starts,$ends) = get_exon_bounds_minus($exons,$sortp); for ($i = 0; $i < $nexons; $i++) { printf "%u %u\n",$ {$ends}[$i],$ {$starts}[$i]; } } return; } gmap-2015-12-31/util/ensembl_genes.pl.in0000644002622600023770000000234112567632014014517 00000000000000#! @PERL@ # For processing ensGene file. Modified from psl_genes use Getopt::Std; undef $opt_P; # Remove chr prefix getopts("P"); while (defined($line = <>)) { $line =~ s/\r\n/\n/; chop $line; @fields = split /\t/,$line; $acc = $fields[0]; $acc =~ s/^>//; $coords = $fields[1]; ($chr) = $coords =~ /(\S+):/; if (defined($opt_P)) { $chr =~ s/chr//; } #$chr =~ s/_random/U/; $strand = $fields[3]; @starts = split ",",$fields[7]; @ends = split ",",$fields[8]; $genename = $fields[10]; $nexons = $#starts + 1; if ($nexons != $fields[6]) { print STDERR "Reported number of exons $fields[7] != observed $nexons: Skipping $line\n"; } elsif ($strand eq "+") { printf ">$acc $chr:%u..%u\n",$starts[0] + 1,$ends[$#ends]; print "$genename\n"; for ($i = 0; $i < $nexons; $i++) { printf "%u %u\n",$starts[$i] + 1,$ends[$i]; } } elsif ($strand eq "-") { @starts = reverse @starts; @ends = reverse @ends; printf ">$acc $chr:%u..%u\n",$ends[0],$starts[$#starts] + 1; print "$genename\n"; for ($i = 0; $i < $nexons; $i++) { printf "%u %u\n",$ends[$i],$starts[$i] + 1; } } else { print STDERR "Strand is neither + nor -: Skipping $line\n"; } } exit; gmap-2015-12-31/mpi/0000755002622600023770000000000012654517507010645 500000000000000gmap-2015-12-31/mpi/Makefile.in0000644002622600023770000062425412654517412012642 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ @MPI_FOUND_TRUE@bin_PROGRAMS = mpi_gsnap$(EXEEXT) subdir = mpi DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/config/libtool.m4 \ $(top_srcdir)/config/ltoptions.m4 \ $(top_srcdir)/config/ltsugar.m4 \ $(top_srcdir)/config/ltversion.m4 \ $(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/config/pagesize.m4 \ $(top_srcdir)/config/madvise-flags.m4 \ $(top_srcdir)/config/mmap-flags.m4 \ $(top_srcdir)/config/acx_mmap_fixed.m4 \ $(top_srcdir)/config/acx_mmap_variable.m4 \ $(top_srcdir)/config/shm-flags.m4 \ $(top_srcdir)/config/ax_mpi.m4 \ $(top_srcdir)/config/acx_pthread.m4 \ $(top_srcdir)/config/builtin-popcount.m4 \ $(top_srcdir)/config/struct-stat64.m4 \ $(top_srcdir)/config/expand.m4 $(top_srcdir)/config/perl.m4 \ $(top_srcdir)/config/fopen.m4 $(top_srcdir)/config/asm-bsr.m4 \ $(top_srcdir)/config/sse2_shift_defect.m4 \ $(top_srcdir)/config/ax_gcc_x86_cpuid.m4 \ $(top_srcdir)/config/ax_gcc_x86_avx_xgetbv.m4 \ $(top_srcdir)/config/ax_check_compile_flag.m4 \ $(top_srcdir)/config/ax_ext.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/src/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am__objects_1 = mpi_gsnap-mpidebug.$(OBJEXT) \ mpi_gsnap-except.$(OBJEXT) mpi_gsnap-assert.$(OBJEXT) \ mpi_gsnap-mem.$(OBJEXT) mpi_gsnap-intlist.$(OBJEXT) \ mpi_gsnap-list.$(OBJEXT) mpi_gsnap-littleendian.$(OBJEXT) \ mpi_gsnap-bigendian.$(OBJEXT) mpi_gsnap-univinterval.$(OBJEXT) \ mpi_gsnap-interval.$(OBJEXT) mpi_gsnap-uintlist.$(OBJEXT) \ mpi_gsnap-stopwatch.$(OBJEXT) mpi_gsnap-access.$(OBJEXT) \ mpi_gsnap-filestring.$(OBJEXT) \ mpi_gsnap-iit-read-univ.$(OBJEXT) mpi_gsnap-iit-read.$(OBJEXT) \ mpi_gsnap-md5.$(OBJEXT) mpi_gsnap-bzip2.$(OBJEXT) \ mpi_gsnap-sequence.$(OBJEXT) mpi_gsnap-reader.$(OBJEXT) \ mpi_gsnap-genomicpos.$(OBJEXT) mpi_gsnap-compress.$(OBJEXT) \ mpi_gsnap-genome.$(OBJEXT) mpi_gsnap-popcount.$(OBJEXT) \ mpi_gsnap-genome128_hr.$(OBJEXT) \ mpi_gsnap-genome_sites.$(OBJEXT) \ mpi_gsnap-bitpack64-read.$(OBJEXT) \ mpi_gsnap-bitpack64-readtwo.$(OBJEXT) \ mpi_gsnap-indexdb.$(OBJEXT) mpi_gsnap-indexdb_hr.$(OBJEXT) \ mpi_gsnap-oligo.$(OBJEXT) mpi_gsnap-chrom.$(OBJEXT) \ mpi_gsnap-segmentpos.$(OBJEXT) mpi_gsnap-chrnum.$(OBJEXT) \ mpi_gsnap-maxent_hr.$(OBJEXT) mpi_gsnap-samprint.$(OBJEXT) \ mpi_gsnap-mapq.$(OBJEXT) mpi_gsnap-shortread.$(OBJEXT) \ mpi_gsnap-substring.$(OBJEXT) mpi_gsnap-junction.$(OBJEXT) \ mpi_gsnap-stage3hr.$(OBJEXT) mpi_gsnap-spanningelt.$(OBJEXT) \ mpi_gsnap-cmet.$(OBJEXT) mpi_gsnap-atoi.$(OBJEXT) \ mpi_gsnap-maxent.$(OBJEXT) mpi_gsnap-pair.$(OBJEXT) \ mpi_gsnap-pairpool.$(OBJEXT) mpi_gsnap-diag.$(OBJEXT) \ mpi_gsnap-diagpool.$(OBJEXT) mpi_gsnap-orderstat.$(OBJEXT) \ mpi_gsnap-oligoindex_hr.$(OBJEXT) mpi_gsnap-cellpool.$(OBJEXT) \ mpi_gsnap-stage2.$(OBJEXT) mpi_gsnap-intron.$(OBJEXT) \ mpi_gsnap-boyer-moore.$(OBJEXT) \ mpi_gsnap-changepoint.$(OBJEXT) mpi_gsnap-pbinom.$(OBJEXT) \ mpi_gsnap-dynprog.$(OBJEXT) mpi_gsnap-dynprog_simd.$(OBJEXT) \ mpi_gsnap-dynprog_single.$(OBJEXT) \ mpi_gsnap-dynprog_genome.$(OBJEXT) \ mpi_gsnap-dynprog_cdna.$(OBJEXT) \ mpi_gsnap-dynprog_end.$(OBJEXT) mpi_gsnap-gbuffer.$(OBJEXT) \ mpi_gsnap-translation.$(OBJEXT) mpi_gsnap-doublelist.$(OBJEXT) \ mpi_gsnap-smooth.$(OBJEXT) mpi_gsnap-chimera.$(OBJEXT) \ mpi_gsnap-stage3.$(OBJEXT) \ mpi_gsnap-splicestringpool.$(OBJEXT) \ mpi_gsnap-splicetrie_build.$(OBJEXT) \ mpi_gsnap-splicetrie.$(OBJEXT) mpi_gsnap-splice.$(OBJEXT) \ mpi_gsnap-indel.$(OBJEXT) mpi_gsnap-bitpack64-access.$(OBJEXT) \ mpi_gsnap-bytecoding.$(OBJEXT) mpi_gsnap-univdiag.$(OBJEXT) \ mpi_gsnap-sarray-read.$(OBJEXT) mpi_gsnap-stage1hr.$(OBJEXT) \ mpi_gsnap-request.$(OBJEXT) mpi_gsnap-resulthr.$(OBJEXT) \ mpi_gsnap-output.$(OBJEXT) mpi_gsnap-master.$(OBJEXT) \ mpi_gsnap-inbuffer.$(OBJEXT) mpi_gsnap-samheader.$(OBJEXT) \ mpi_gsnap-outbuffer.$(OBJEXT) mpi_gsnap-datadir.$(OBJEXT) \ mpi_gsnap-getopt.$(OBJEXT) mpi_gsnap-getopt1.$(OBJEXT) \ mpi_gsnap-gsnap.$(OBJEXT) nodist_mpi_gsnap_OBJECTS = $(am__objects_1) mpi_gsnap_OBJECTS = $(nodist_mpi_gsnap_OBJECTS) am__DEPENDENCIES_1 = mpi_gsnap_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) mpi_gsnap_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(mpi_gsnap_CFLAGS) \ $(CFLAGS) $(mpi_gsnap_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src depcomp = $(SHELL) $(top_srcdir)/config/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(nodist_mpi_gsnap_SOURCES) DIST_SOURCES = ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BINDIR = @BINDIR@ BZLIB_LIBS = @BZLIB_LIBS@ CC = $(MPICC) CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GMAPDB = @GMAPDB@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAX_READLENGTH = @MAX_READLENGTH@ MKDIR_P = @MKDIR_P@ MPICC = @MPICC@ MPILIBS = @MPILIBS@ MPI_CFLAGS = @MPI_CFLAGS@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ POPCNT_CFLAGS = @POPCNT_CFLAGS@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIMD_CFLAGS = @SIMD_CFLAGS@ STRIP = @STRIP@ VERSION = @VERSION@ ZLIB_LIBS = @ZLIB_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ acx_pthread_config = @acx_pthread_config@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = $(top_srcdir)/src sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ MPI_GSNAP_FILES = $(srcdir)/mpidebug.c $(srcdir)/mpidebug.h \ $(srcdir)/fopen.h $(srcdir)/bool.h $(srcdir)/types.h $(srcdir)/separator.h $(srcdir)/comp.h \ $(srcdir)/except.c $(srcdir)/except.h $(srcdir)/assert.c $(srcdir)/assert.h $(srcdir)/mem.c $(srcdir)/mem.h \ $(srcdir)/intlistdef.h $(srcdir)/intlist.c $(srcdir)/intlist.h $(srcdir)/listdef.h $(srcdir)/list.c $(srcdir)/list.h \ $(srcdir)/littleendian.c $(srcdir)/littleendian.h $(srcdir)/bigendian.c $(srcdir)/bigendian.h \ $(srcdir)/univinterval.c $(srcdir)/univinterval.h $(srcdir)/interval.c $(srcdir)/interval.h \ $(srcdir)/uintlist.c $(srcdir)/uintlist.h \ $(srcdir)/stopwatch.c $(srcdir)/stopwatch.h $(srcdir)/access.c $(srcdir)/access.h \ $(srcdir)/filestring.c $(srcdir)/filestring.h \ $(srcdir)/iit-read-univ.c $(srcdir)/iit-read-univ.h $(srcdir)/iitdef.h $(srcdir)/iit-read.c $(srcdir)/iit-read.h \ $(srcdir)/md5.c $(srcdir)/md5.h $(srcdir)/complement.h $(srcdir)/bzip2.c $(srcdir)/bzip2.h $(srcdir)/sequence.c $(srcdir)/sequence.h $(srcdir)/reader.c $(srcdir)/reader.h \ $(srcdir)/genomicpos.c $(srcdir)/genomicpos.h $(srcdir)/compress.c $(srcdir)/compress.h \ $(srcdir)/genome.c $(srcdir)/genome.h \ $(srcdir)/popcount.c $(srcdir)/popcount.h $(srcdir)/genome128_hr.c $(srcdir)/genome128_hr.h $(srcdir)/genome_sites.c $(srcdir)/genome_sites.h \ $(srcdir)/bitpack64-read.c $(srcdir)/bitpack64-read.h $(srcdir)/bitpack64-readtwo.c $(srcdir)/bitpack64-readtwo.h \ $(srcdir)/indexdbdef.h $(srcdir)/indexdb.c $(srcdir)/indexdb.h $(srcdir)/indexdb_hr.c $(srcdir)/indexdb_hr.h \ $(srcdir)/oligo.c $(srcdir)/oligo.h \ $(srcdir)/chrom.c $(srcdir)/chrom.h $(srcdir)/segmentpos.c $(srcdir)/segmentpos.h \ $(srcdir)/chrnum.c $(srcdir)/chrnum.h \ $(srcdir)/maxent_hr.c $(srcdir)/maxent_hr.h $(srcdir)/samflags.h $(srcdir)/samprint.c $(srcdir)/samprint.h \ $(srcdir)/mapq.c $(srcdir)/mapq.h $(srcdir)/shortread.c $(srcdir)/shortread.h $(srcdir)/substring.c $(srcdir)/substring.h $(srcdir)/junction.c $(srcdir)/junction.h $(srcdir)/stage3hr.c $(srcdir)/stage3hr.h \ $(srcdir)/spanningelt.c $(srcdir)/spanningelt.h $(srcdir)/cmet.c $(srcdir)/cmet.h $(srcdir)/atoi.c $(srcdir)/atoi.h \ $(srcdir)/comp.h $(srcdir)/maxent.c $(srcdir)/maxent.h $(srcdir)/pairdef.h $(srcdir)/pair.c $(srcdir)/pair.h $(srcdir)/pairpool.c $(srcdir)/pairpool.h $(srcdir)/diag.c $(srcdir)/diag.h $(srcdir)/diagpool.c $(srcdir)/diagpool.h \ $(srcdir)/orderstat.c $(srcdir)/orderstat.h $(srcdir)/oligoindex_hr.c $(srcdir)/oligoindex_hr.h $(srcdir)/cellpool.c $(srcdir)/cellpool.h $(srcdir)/stage2.c $(srcdir)/stage2.h \ $(srcdir)/intron.c $(srcdir)/intron.h $(srcdir)/boyer-moore.c $(srcdir)/boyer-moore.h $(srcdir)/changepoint.c $(srcdir)/changepoint.h $(srcdir)/pbinom.c $(srcdir)/pbinom.h \ $(srcdir)/dynprog.c $(srcdir)/dynprog.h $(srcdir)/dynprog_simd.c $(srcdir)/dynprog_simd.h \ $(srcdir)/dynprog_single.c $(srcdir)/dynprog_single.h $(srcdir)/dynprog_genome.c $(srcdir)/dynprog_genome.h $(srcdir)/dynprog_cdna.c $(srcdir)/dynprog_cdna.h $(srcdir)/dynprog_end.c $(srcdir)/dynprog_end.h \ $(srcdir)/gbuffer.c $(srcdir)/gbuffer.h $(srcdir)/translation.c $(srcdir)/translation.h \ $(srcdir)/doublelist.c $(srcdir)/doublelist.h $(srcdir)/smooth.c $(srcdir)/smooth.h \ $(srcdir)/chimera.c $(srcdir)/chimera.h $(srcdir)/sense.h $(srcdir)/fastlog.h $(srcdir)/stage3.c $(srcdir)/stage3.h \ $(srcdir)/splicestringpool.c $(srcdir)/splicestringpool.h $(srcdir)/splicetrie_build.c $(srcdir)/splicetrie_build.h $(srcdir)/splicetrie.c $(srcdir)/splicetrie.h \ $(srcdir)/splice.c $(srcdir)/splice.h $(srcdir)/indel.c $(srcdir)/indel.h $(srcdir)/bitpack64-access.c $(srcdir)/bitpack64-access.h \ $(srcdir)/bytecoding.c $(srcdir)/bytecoding.h $(srcdir)/univdiagdef.h $(srcdir)/univdiag.c $(srcdir)/univdiag.h $(srcdir)/sarray-read.c $(srcdir)/sarray-read.h \ $(srcdir)/stage1hr.c $(srcdir)/stage1hr.h \ $(srcdir)/request.c $(srcdir)/request.h $(srcdir)/resulthr.c $(srcdir)/resulthr.h $(srcdir)/output.c $(srcdir)/output.h \ $(srcdir)/master.c $(srcdir)/master.h \ $(srcdir)/inbuffer.c $(srcdir)/inbuffer.h $(srcdir)/samheader.c $(srcdir)/samheader.h $(srcdir)/outbuffer.c $(srcdir)/outbuffer.h \ $(srcdir)/datadir.c $(srcdir)/datadir.h $(srcdir)/mode.h \ $(srcdir)/getopt.c $(srcdir)/getopt1.c $(srcdir)/getopt.h $(srcdir)/gsnap.c # Note: dist_ commands get read by bootstrap, and don't follow the flags mpi_gsnap_CC = $(MPICC) mpi_gsnap_CFLAGS = $(MPI_CFLAGS) $(AM_CFLAGS) $(PTHREAD_CFLAGS) $(POPCNT_CFLAGS) $(SIMD_CFLAGS) -DTARGET=\"$(target)\" -DGMAPDB=\"$(GMAPDB)\" -DMAX_READLENGTH=$(MAX_READLENGTH) -DGSNAP=1 -DUSE_MPI=1 mpi_gsnap_LDFLAGS = $(AM_LDFLAGS) $(STATIC_LDFLAG) mpi_gsnap_LDADD = $(PTHREAD_LIBS) $(ZLIB_LIBS) $(BZLIB_LIBS) # Need nodist_ to prevent sources from being copied from src/ subdirectory nodist_mpi_gsnap_SOURCES = $(MPI_GSNAP_FILES) MPI_GMAP_FILES = $(srcdir)/mpidebug.c $(srcdir)/mpidebug.h \ $(srcdir)/= $(srcdir)/fopen.h $(srcdir)/bool.h $(srcdir)/types.h $(srcdir)/separator.h $(srcdir)/comp.h \ $(srcdir)/except.c $(srcdir)/except.h $(srcdir)/assert.c $(srcdir)/assert.h $(srcdir)/mem.c $(srcdir)/mem.h \ $(srcdir)/intlistdef.h $(srcdir)/intlist.c $(srcdir)/intlist.h $(srcdir)/listdef.h $(srcdir)/list.c $(srcdir)/list.h \ $(srcdir)/littleendian.c $(srcdir)/littleendian.h $(srcdir)/bigendian.c $(srcdir)/bigendian.h \ $(srcdir)/univinterval.c $(srcdir)/univinterval.h $(srcdir)/interval.c $(srcdir)/interval.h $(srcdir)/uintlist.c $(srcdir)/uintlist.h \ $(srcdir)/stopwatch.c $(srcdir)/stopwatch.h $(srcdir)/access.c $(srcdir)/access.h \ $(srcdir)/filestring.c $(srcdir)/filestring.h \ $(srcdir)/iit-read-univ.c $(srcdir)/iit-read-univ.h $(srcdir)/iitdef.h $(srcdir)/iit-read.c $(srcdir)/iit-read.h \ $(srcdir)/md5.c $(srcdir)/md5.h $(srcdir)/complement.h $(srcdir)/bzip2.c $(srcdir)/bzip2.h $(srcdir)/sequence.c $(srcdir)/sequence.h $(srcdir)/reader.c $(srcdir)/reader.h \ $(srcdir)/genomicpos.c $(srcdir)/genomicpos.h $(srcdir)/compress.c $(srcdir)/compress.h $(srcdir)/compress-write.c $(srcdir)/compress-write.h \ $(srcdir)/gbuffer.c $(srcdir)/gbuffer.h $(srcdir)/genome.c $(srcdir)/genome.h \ $(srcdir)/popcount.c $(srcdir)/popcount.h $(srcdir)/genome128_hr.c $(srcdir)/genome128_hr.h $(srcdir)/genome_sites.c $(srcdir)/genome_sites.h \ $(srcdir)/genome-write.c $(srcdir)/genome-write.h \ $(srcdir)/bitpack64-read.c $(srcdir)/bitpack64-read.h $(srcdir)/bitpack64-readtwo.c $(srcdir)/bitpack64-readtwo.h \ $(srcdir)/indexdbdef.h $(srcdir)/indexdb.c $(srcdir)/indexdb.h $(srcdir)/indexdb_hr.c $(srcdir)/indexdb_hr.h \ $(srcdir)/oligo.c $(srcdir)/oligo.h $(srcdir)/block.c $(srcdir)/block.h \ $(srcdir)/chrom.c $(srcdir)/chrom.h $(srcdir)/segmentpos.c $(srcdir)/segmentpos.h \ $(srcdir)/chrnum.c $(srcdir)/chrnum.h $(srcdir)/uinttable.c $(srcdir)/uinttable.h $(srcdir)/gregion.c $(srcdir)/gregion.h \ $(srcdir)/matchdef.h $(srcdir)/match.c $(srcdir)/match.h $(srcdir)/matchpool.c $(srcdir)/matchpool.h \ $(srcdir)/diagnostic.c $(srcdir)/diagnostic.h $(srcdir)/stage1.c $(srcdir)/stage1.h \ $(srcdir)/diagdef.h $(srcdir)/diag.c $(srcdir)/diag.h $(srcdir)/diagpool.c $(srcdir)/diagpool.h \ $(srcdir)/cmet.c $(srcdir)/cmet.h $(srcdir)/atoi.c $(srcdir)/atoi.h \ $(srcdir)/orderstat.c $(srcdir)/orderstat.h $(srcdir)/oligoindex_hr.c $(srcdir)/oligoindex_hr.h \ $(srcdir)/scores.h $(srcdir)/intron.c $(srcdir)/intron.h $(srcdir)/maxent.c $(srcdir)/maxent.h $(srcdir)/maxent_hr.c $(srcdir)/maxent_hr.h $(srcdir)/samflags.h $(srcdir)/pairdef.h $(srcdir)/pair.c $(srcdir)/pair.h \ $(srcdir)/pairpool.c $(srcdir)/pairpool.h $(srcdir)/cellpool.c $(srcdir)/cellpool.h $(srcdir)/stage2.c $(srcdir)/stage2.h \ $(srcdir)/doublelist.c $(srcdir)/doublelist.h $(srcdir)/smooth.c $(srcdir)/smooth.h \ $(srcdir)/splicestringpool.c $(srcdir)/splicestringpool.h $(srcdir)/splicetrie_build.c $(srcdir)/splicetrie_build.h $(srcdir)/splicetrie.c $(srcdir)/splicetrie.h \ $(srcdir)/boyer-moore.c $(srcdir)/boyer-moore.h \ $(srcdir)/dynprog.c $(srcdir)/dynprog.h $(srcdir)/dynprog_simd.c $(srcdir)/dynprog_simd.h \ $(srcdir)/dynprog_single.c $(srcdir)/dynprog_single.h $(srcdir)/dynprog_genome.c $(srcdir)/dynprog_genome.h $(srcdir)/dynprog_cdna.c $(srcdir)/dynprog_cdna.h $(srcdir)/dynprog_end.c $(srcdir)/dynprog_end.h \ $(srcdir)/translation.c $(srcdir)/translation.h \ $(srcdir)/pbinom.c $(srcdir)/pbinom.h $(srcdir)/changepoint.c $(srcdir)/changepoint.h $(srcdir)/sense.h $(srcdir)/fastlog.h $(srcdir)/stage3.c $(srcdir)/stage3.h \ $(srcdir)/request.c $(srcdir)/request.h $(srcdir)/result.c $(srcdir)/result.h $(srcdir)/output.c $(srcdir)/output.h \ $(srcdir)/inbuffer.c $(srcdir)/inbuffer.h $(srcdir)/samheader.c $(srcdir)/samheader.h $(srcdir)/outbuffer.c $(srcdir)/outbuffer.h \ $(srcdir)/chimera.c $(srcdir)/chimera.h $(srcdir)/datadir.c $(srcdir)/datadir.h \ $(srcdir)/getopt.c $(srcdir)/getopt1.c $(srcdir)/getopt.h $(srcdir)/gmap.c # Note: dist_ commands get read by bootstrap, and don't follow the flags mpi_gmap_CC = $(MPICC) mpi_gmap_CFLAGS = $(MPI_CFLAGS) $(AM_CFLAGS) $(PTHREAD_CFLAGS) $(POPCNT_CFLAGS) $(SIMD_CFLAGS) -DTARGET=\"$(target)\" -DGMAPDB=\"$(GMAPDB)\" -DUSE_MPI=1 mpi_gmap_LDFLAGS = $(AM_LDFLAGS) $(STATIC_LDFLAG) mpi_gmap_LDADD = $(PTHREAD_LIBS) $(ZLIB_LIBS) $(BZLIB_LIBS) nodist_mpi_gmap_SOURCES = $(MPI_GMAP_FILES) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mpi/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu mpi/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p || test -f $$p1; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list mpi_gsnap$(EXEEXT): $(mpi_gsnap_OBJECTS) $(mpi_gsnap_DEPENDENCIES) @rm -f mpi_gsnap$(EXEEXT) $(mpi_gsnap_LINK) $(mpi_gsnap_OBJECTS) $(mpi_gsnap_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-access.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-assert.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-atoi.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-bigendian.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-bitpack64-access.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-bitpack64-read.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-bitpack64-readtwo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-boyer-moore.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-bytecoding.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-bzip2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-cellpool.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-changepoint.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-chimera.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-chrnum.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-chrom.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-cmet.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-compress.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-datadir.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-diag.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-diagpool.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-doublelist.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-dynprog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-dynprog_cdna.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-dynprog_end.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-dynprog_genome.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-dynprog_simd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-dynprog_single.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-except.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-filestring.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-gbuffer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-genome.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-genome128_hr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-genome_sites.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-genomicpos.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-getopt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-getopt1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-gsnap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-iit-read-univ.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-iit-read.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-inbuffer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-indel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-indexdb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-indexdb_hr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-interval.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-intlist.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-intron.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-junction.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-list.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-littleendian.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-mapq.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-master.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-maxent.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-maxent_hr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-md5.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-mem.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-mpidebug.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-oligo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-oligoindex_hr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-orderstat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-outbuffer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-output.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-pair.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-pairpool.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-pbinom.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-popcount.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-reader.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-request.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-resulthr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-samheader.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-samprint.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-sarray-read.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-segmentpos.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-sequence.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-shortread.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-smooth.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-spanningelt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-splice.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-splicestringpool.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-splicetrie.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-splicetrie_build.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-stage1hr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-stage2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-stage3.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-stage3hr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-stopwatch.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-substring.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-translation.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-uintlist.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-univdiag.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpi_gsnap-univinterval.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mpi_gsnap-mpidebug.o: $(srcdir)/mpidebug.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-mpidebug.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-mpidebug.Tpo -c -o mpi_gsnap-mpidebug.o `test -f '$(srcdir)/mpidebug.c' || echo '$(srcdir)/'`$(srcdir)/mpidebug.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-mpidebug.Tpo $(DEPDIR)/mpi_gsnap-mpidebug.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/mpidebug.c' object='mpi_gsnap-mpidebug.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-mpidebug.o `test -f '$(srcdir)/mpidebug.c' || echo '$(srcdir)/'`$(srcdir)/mpidebug.c mpi_gsnap-mpidebug.obj: $(srcdir)/mpidebug.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-mpidebug.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-mpidebug.Tpo -c -o mpi_gsnap-mpidebug.obj `if test -f '$(srcdir)/mpidebug.c'; then $(CYGPATH_W) '$(srcdir)/mpidebug.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/mpidebug.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-mpidebug.Tpo $(DEPDIR)/mpi_gsnap-mpidebug.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/mpidebug.c' object='mpi_gsnap-mpidebug.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-mpidebug.obj `if test -f '$(srcdir)/mpidebug.c'; then $(CYGPATH_W) '$(srcdir)/mpidebug.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/mpidebug.c'; fi` mpi_gsnap-except.o: $(srcdir)/except.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-except.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-except.Tpo -c -o mpi_gsnap-except.o `test -f '$(srcdir)/except.c' || echo '$(srcdir)/'`$(srcdir)/except.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-except.Tpo $(DEPDIR)/mpi_gsnap-except.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/except.c' object='mpi_gsnap-except.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-except.o `test -f '$(srcdir)/except.c' || echo '$(srcdir)/'`$(srcdir)/except.c mpi_gsnap-except.obj: $(srcdir)/except.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-except.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-except.Tpo -c -o mpi_gsnap-except.obj `if test -f '$(srcdir)/except.c'; then $(CYGPATH_W) '$(srcdir)/except.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/except.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-except.Tpo $(DEPDIR)/mpi_gsnap-except.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/except.c' object='mpi_gsnap-except.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-except.obj `if test -f '$(srcdir)/except.c'; then $(CYGPATH_W) '$(srcdir)/except.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/except.c'; fi` mpi_gsnap-assert.o: $(srcdir)/assert.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-assert.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-assert.Tpo -c -o mpi_gsnap-assert.o `test -f '$(srcdir)/assert.c' || echo '$(srcdir)/'`$(srcdir)/assert.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-assert.Tpo $(DEPDIR)/mpi_gsnap-assert.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/assert.c' object='mpi_gsnap-assert.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-assert.o `test -f '$(srcdir)/assert.c' || echo '$(srcdir)/'`$(srcdir)/assert.c mpi_gsnap-assert.obj: $(srcdir)/assert.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-assert.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-assert.Tpo -c -o mpi_gsnap-assert.obj `if test -f '$(srcdir)/assert.c'; then $(CYGPATH_W) '$(srcdir)/assert.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/assert.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-assert.Tpo $(DEPDIR)/mpi_gsnap-assert.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/assert.c' object='mpi_gsnap-assert.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-assert.obj `if test -f '$(srcdir)/assert.c'; then $(CYGPATH_W) '$(srcdir)/assert.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/assert.c'; fi` mpi_gsnap-mem.o: $(srcdir)/mem.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-mem.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-mem.Tpo -c -o mpi_gsnap-mem.o `test -f '$(srcdir)/mem.c' || echo '$(srcdir)/'`$(srcdir)/mem.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-mem.Tpo $(DEPDIR)/mpi_gsnap-mem.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/mem.c' object='mpi_gsnap-mem.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-mem.o `test -f '$(srcdir)/mem.c' || echo '$(srcdir)/'`$(srcdir)/mem.c mpi_gsnap-mem.obj: $(srcdir)/mem.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-mem.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-mem.Tpo -c -o mpi_gsnap-mem.obj `if test -f '$(srcdir)/mem.c'; then $(CYGPATH_W) '$(srcdir)/mem.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/mem.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-mem.Tpo $(DEPDIR)/mpi_gsnap-mem.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/mem.c' object='mpi_gsnap-mem.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-mem.obj `if test -f '$(srcdir)/mem.c'; then $(CYGPATH_W) '$(srcdir)/mem.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/mem.c'; fi` mpi_gsnap-intlist.o: $(srcdir)/intlist.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-intlist.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-intlist.Tpo -c -o mpi_gsnap-intlist.o `test -f '$(srcdir)/intlist.c' || echo '$(srcdir)/'`$(srcdir)/intlist.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-intlist.Tpo $(DEPDIR)/mpi_gsnap-intlist.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/intlist.c' object='mpi_gsnap-intlist.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-intlist.o `test -f '$(srcdir)/intlist.c' || echo '$(srcdir)/'`$(srcdir)/intlist.c mpi_gsnap-intlist.obj: $(srcdir)/intlist.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-intlist.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-intlist.Tpo -c -o mpi_gsnap-intlist.obj `if test -f '$(srcdir)/intlist.c'; then $(CYGPATH_W) '$(srcdir)/intlist.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/intlist.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-intlist.Tpo $(DEPDIR)/mpi_gsnap-intlist.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/intlist.c' object='mpi_gsnap-intlist.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-intlist.obj `if test -f '$(srcdir)/intlist.c'; then $(CYGPATH_W) '$(srcdir)/intlist.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/intlist.c'; fi` mpi_gsnap-list.o: $(srcdir)/list.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-list.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-list.Tpo -c -o mpi_gsnap-list.o `test -f '$(srcdir)/list.c' || echo '$(srcdir)/'`$(srcdir)/list.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-list.Tpo $(DEPDIR)/mpi_gsnap-list.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/list.c' object='mpi_gsnap-list.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-list.o `test -f '$(srcdir)/list.c' || echo '$(srcdir)/'`$(srcdir)/list.c mpi_gsnap-list.obj: $(srcdir)/list.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-list.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-list.Tpo -c -o mpi_gsnap-list.obj `if test -f '$(srcdir)/list.c'; then $(CYGPATH_W) '$(srcdir)/list.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/list.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-list.Tpo $(DEPDIR)/mpi_gsnap-list.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/list.c' object='mpi_gsnap-list.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-list.obj `if test -f '$(srcdir)/list.c'; then $(CYGPATH_W) '$(srcdir)/list.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/list.c'; fi` mpi_gsnap-littleendian.o: $(srcdir)/littleendian.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-littleendian.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-littleendian.Tpo -c -o mpi_gsnap-littleendian.o `test -f '$(srcdir)/littleendian.c' || echo '$(srcdir)/'`$(srcdir)/littleendian.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-littleendian.Tpo $(DEPDIR)/mpi_gsnap-littleendian.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/littleendian.c' object='mpi_gsnap-littleendian.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-littleendian.o `test -f '$(srcdir)/littleendian.c' || echo '$(srcdir)/'`$(srcdir)/littleendian.c mpi_gsnap-littleendian.obj: $(srcdir)/littleendian.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-littleendian.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-littleendian.Tpo -c -o mpi_gsnap-littleendian.obj `if test -f '$(srcdir)/littleendian.c'; then $(CYGPATH_W) '$(srcdir)/littleendian.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/littleendian.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-littleendian.Tpo $(DEPDIR)/mpi_gsnap-littleendian.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/littleendian.c' object='mpi_gsnap-littleendian.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-littleendian.obj `if test -f '$(srcdir)/littleendian.c'; then $(CYGPATH_W) '$(srcdir)/littleendian.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/littleendian.c'; fi` mpi_gsnap-bigendian.o: $(srcdir)/bigendian.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-bigendian.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-bigendian.Tpo -c -o mpi_gsnap-bigendian.o `test -f '$(srcdir)/bigendian.c' || echo '$(srcdir)/'`$(srcdir)/bigendian.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-bigendian.Tpo $(DEPDIR)/mpi_gsnap-bigendian.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/bigendian.c' object='mpi_gsnap-bigendian.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-bigendian.o `test -f '$(srcdir)/bigendian.c' || echo '$(srcdir)/'`$(srcdir)/bigendian.c mpi_gsnap-bigendian.obj: $(srcdir)/bigendian.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-bigendian.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-bigendian.Tpo -c -o mpi_gsnap-bigendian.obj `if test -f '$(srcdir)/bigendian.c'; then $(CYGPATH_W) '$(srcdir)/bigendian.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/bigendian.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-bigendian.Tpo $(DEPDIR)/mpi_gsnap-bigendian.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/bigendian.c' object='mpi_gsnap-bigendian.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-bigendian.obj `if test -f '$(srcdir)/bigendian.c'; then $(CYGPATH_W) '$(srcdir)/bigendian.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/bigendian.c'; fi` mpi_gsnap-univinterval.o: $(srcdir)/univinterval.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-univinterval.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-univinterval.Tpo -c -o mpi_gsnap-univinterval.o `test -f '$(srcdir)/univinterval.c' || echo '$(srcdir)/'`$(srcdir)/univinterval.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-univinterval.Tpo $(DEPDIR)/mpi_gsnap-univinterval.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/univinterval.c' object='mpi_gsnap-univinterval.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-univinterval.o `test -f '$(srcdir)/univinterval.c' || echo '$(srcdir)/'`$(srcdir)/univinterval.c mpi_gsnap-univinterval.obj: $(srcdir)/univinterval.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-univinterval.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-univinterval.Tpo -c -o mpi_gsnap-univinterval.obj `if test -f '$(srcdir)/univinterval.c'; then $(CYGPATH_W) '$(srcdir)/univinterval.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/univinterval.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-univinterval.Tpo $(DEPDIR)/mpi_gsnap-univinterval.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/univinterval.c' object='mpi_gsnap-univinterval.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-univinterval.obj `if test -f '$(srcdir)/univinterval.c'; then $(CYGPATH_W) '$(srcdir)/univinterval.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/univinterval.c'; fi` mpi_gsnap-interval.o: $(srcdir)/interval.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-interval.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-interval.Tpo -c -o mpi_gsnap-interval.o `test -f '$(srcdir)/interval.c' || echo '$(srcdir)/'`$(srcdir)/interval.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-interval.Tpo $(DEPDIR)/mpi_gsnap-interval.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/interval.c' object='mpi_gsnap-interval.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-interval.o `test -f '$(srcdir)/interval.c' || echo '$(srcdir)/'`$(srcdir)/interval.c mpi_gsnap-interval.obj: $(srcdir)/interval.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-interval.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-interval.Tpo -c -o mpi_gsnap-interval.obj `if test -f '$(srcdir)/interval.c'; then $(CYGPATH_W) '$(srcdir)/interval.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/interval.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-interval.Tpo $(DEPDIR)/mpi_gsnap-interval.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/interval.c' object='mpi_gsnap-interval.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-interval.obj `if test -f '$(srcdir)/interval.c'; then $(CYGPATH_W) '$(srcdir)/interval.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/interval.c'; fi` mpi_gsnap-uintlist.o: $(srcdir)/uintlist.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-uintlist.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-uintlist.Tpo -c -o mpi_gsnap-uintlist.o `test -f '$(srcdir)/uintlist.c' || echo '$(srcdir)/'`$(srcdir)/uintlist.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-uintlist.Tpo $(DEPDIR)/mpi_gsnap-uintlist.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/uintlist.c' object='mpi_gsnap-uintlist.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-uintlist.o `test -f '$(srcdir)/uintlist.c' || echo '$(srcdir)/'`$(srcdir)/uintlist.c mpi_gsnap-uintlist.obj: $(srcdir)/uintlist.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-uintlist.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-uintlist.Tpo -c -o mpi_gsnap-uintlist.obj `if test -f '$(srcdir)/uintlist.c'; then $(CYGPATH_W) '$(srcdir)/uintlist.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/uintlist.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-uintlist.Tpo $(DEPDIR)/mpi_gsnap-uintlist.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/uintlist.c' object='mpi_gsnap-uintlist.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-uintlist.obj `if test -f '$(srcdir)/uintlist.c'; then $(CYGPATH_W) '$(srcdir)/uintlist.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/uintlist.c'; fi` mpi_gsnap-stopwatch.o: $(srcdir)/stopwatch.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-stopwatch.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-stopwatch.Tpo -c -o mpi_gsnap-stopwatch.o `test -f '$(srcdir)/stopwatch.c' || echo '$(srcdir)/'`$(srcdir)/stopwatch.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-stopwatch.Tpo $(DEPDIR)/mpi_gsnap-stopwatch.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/stopwatch.c' object='mpi_gsnap-stopwatch.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-stopwatch.o `test -f '$(srcdir)/stopwatch.c' || echo '$(srcdir)/'`$(srcdir)/stopwatch.c mpi_gsnap-stopwatch.obj: $(srcdir)/stopwatch.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-stopwatch.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-stopwatch.Tpo -c -o mpi_gsnap-stopwatch.obj `if test -f '$(srcdir)/stopwatch.c'; then $(CYGPATH_W) '$(srcdir)/stopwatch.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/stopwatch.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-stopwatch.Tpo $(DEPDIR)/mpi_gsnap-stopwatch.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/stopwatch.c' object='mpi_gsnap-stopwatch.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-stopwatch.obj `if test -f '$(srcdir)/stopwatch.c'; then $(CYGPATH_W) '$(srcdir)/stopwatch.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/stopwatch.c'; fi` mpi_gsnap-access.o: $(srcdir)/access.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-access.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-access.Tpo -c -o mpi_gsnap-access.o `test -f '$(srcdir)/access.c' || echo '$(srcdir)/'`$(srcdir)/access.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-access.Tpo $(DEPDIR)/mpi_gsnap-access.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/access.c' object='mpi_gsnap-access.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-access.o `test -f '$(srcdir)/access.c' || echo '$(srcdir)/'`$(srcdir)/access.c mpi_gsnap-access.obj: $(srcdir)/access.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-access.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-access.Tpo -c -o mpi_gsnap-access.obj `if test -f '$(srcdir)/access.c'; then $(CYGPATH_W) '$(srcdir)/access.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/access.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-access.Tpo $(DEPDIR)/mpi_gsnap-access.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/access.c' object='mpi_gsnap-access.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-access.obj `if test -f '$(srcdir)/access.c'; then $(CYGPATH_W) '$(srcdir)/access.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/access.c'; fi` mpi_gsnap-filestring.o: $(srcdir)/filestring.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-filestring.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-filestring.Tpo -c -o mpi_gsnap-filestring.o `test -f '$(srcdir)/filestring.c' || echo '$(srcdir)/'`$(srcdir)/filestring.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-filestring.Tpo $(DEPDIR)/mpi_gsnap-filestring.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/filestring.c' object='mpi_gsnap-filestring.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-filestring.o `test -f '$(srcdir)/filestring.c' || echo '$(srcdir)/'`$(srcdir)/filestring.c mpi_gsnap-filestring.obj: $(srcdir)/filestring.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-filestring.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-filestring.Tpo -c -o mpi_gsnap-filestring.obj `if test -f '$(srcdir)/filestring.c'; then $(CYGPATH_W) '$(srcdir)/filestring.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/filestring.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-filestring.Tpo $(DEPDIR)/mpi_gsnap-filestring.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/filestring.c' object='mpi_gsnap-filestring.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-filestring.obj `if test -f '$(srcdir)/filestring.c'; then $(CYGPATH_W) '$(srcdir)/filestring.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/filestring.c'; fi` mpi_gsnap-iit-read-univ.o: $(srcdir)/iit-read-univ.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-iit-read-univ.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-iit-read-univ.Tpo -c -o mpi_gsnap-iit-read-univ.o `test -f '$(srcdir)/iit-read-univ.c' || echo '$(srcdir)/'`$(srcdir)/iit-read-univ.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-iit-read-univ.Tpo $(DEPDIR)/mpi_gsnap-iit-read-univ.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/iit-read-univ.c' object='mpi_gsnap-iit-read-univ.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-iit-read-univ.o `test -f '$(srcdir)/iit-read-univ.c' || echo '$(srcdir)/'`$(srcdir)/iit-read-univ.c mpi_gsnap-iit-read-univ.obj: $(srcdir)/iit-read-univ.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-iit-read-univ.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-iit-read-univ.Tpo -c -o mpi_gsnap-iit-read-univ.obj `if test -f '$(srcdir)/iit-read-univ.c'; then $(CYGPATH_W) '$(srcdir)/iit-read-univ.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/iit-read-univ.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-iit-read-univ.Tpo $(DEPDIR)/mpi_gsnap-iit-read-univ.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/iit-read-univ.c' object='mpi_gsnap-iit-read-univ.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-iit-read-univ.obj `if test -f '$(srcdir)/iit-read-univ.c'; then $(CYGPATH_W) '$(srcdir)/iit-read-univ.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/iit-read-univ.c'; fi` mpi_gsnap-iit-read.o: $(srcdir)/iit-read.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-iit-read.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-iit-read.Tpo -c -o mpi_gsnap-iit-read.o `test -f '$(srcdir)/iit-read.c' || echo '$(srcdir)/'`$(srcdir)/iit-read.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-iit-read.Tpo $(DEPDIR)/mpi_gsnap-iit-read.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/iit-read.c' object='mpi_gsnap-iit-read.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-iit-read.o `test -f '$(srcdir)/iit-read.c' || echo '$(srcdir)/'`$(srcdir)/iit-read.c mpi_gsnap-iit-read.obj: $(srcdir)/iit-read.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-iit-read.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-iit-read.Tpo -c -o mpi_gsnap-iit-read.obj `if test -f '$(srcdir)/iit-read.c'; then $(CYGPATH_W) '$(srcdir)/iit-read.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/iit-read.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-iit-read.Tpo $(DEPDIR)/mpi_gsnap-iit-read.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/iit-read.c' object='mpi_gsnap-iit-read.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-iit-read.obj `if test -f '$(srcdir)/iit-read.c'; then $(CYGPATH_W) '$(srcdir)/iit-read.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/iit-read.c'; fi` mpi_gsnap-md5.o: $(srcdir)/md5.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-md5.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-md5.Tpo -c -o mpi_gsnap-md5.o `test -f '$(srcdir)/md5.c' || echo '$(srcdir)/'`$(srcdir)/md5.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-md5.Tpo $(DEPDIR)/mpi_gsnap-md5.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/md5.c' object='mpi_gsnap-md5.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-md5.o `test -f '$(srcdir)/md5.c' || echo '$(srcdir)/'`$(srcdir)/md5.c mpi_gsnap-md5.obj: $(srcdir)/md5.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-md5.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-md5.Tpo -c -o mpi_gsnap-md5.obj `if test -f '$(srcdir)/md5.c'; then $(CYGPATH_W) '$(srcdir)/md5.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/md5.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-md5.Tpo $(DEPDIR)/mpi_gsnap-md5.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/md5.c' object='mpi_gsnap-md5.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-md5.obj `if test -f '$(srcdir)/md5.c'; then $(CYGPATH_W) '$(srcdir)/md5.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/md5.c'; fi` mpi_gsnap-bzip2.o: $(srcdir)/bzip2.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-bzip2.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-bzip2.Tpo -c -o mpi_gsnap-bzip2.o `test -f '$(srcdir)/bzip2.c' || echo '$(srcdir)/'`$(srcdir)/bzip2.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-bzip2.Tpo $(DEPDIR)/mpi_gsnap-bzip2.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/bzip2.c' object='mpi_gsnap-bzip2.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-bzip2.o `test -f '$(srcdir)/bzip2.c' || echo '$(srcdir)/'`$(srcdir)/bzip2.c mpi_gsnap-bzip2.obj: $(srcdir)/bzip2.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-bzip2.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-bzip2.Tpo -c -o mpi_gsnap-bzip2.obj `if test -f '$(srcdir)/bzip2.c'; then $(CYGPATH_W) '$(srcdir)/bzip2.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/bzip2.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-bzip2.Tpo $(DEPDIR)/mpi_gsnap-bzip2.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/bzip2.c' object='mpi_gsnap-bzip2.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-bzip2.obj `if test -f '$(srcdir)/bzip2.c'; then $(CYGPATH_W) '$(srcdir)/bzip2.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/bzip2.c'; fi` mpi_gsnap-sequence.o: $(srcdir)/sequence.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-sequence.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-sequence.Tpo -c -o mpi_gsnap-sequence.o `test -f '$(srcdir)/sequence.c' || echo '$(srcdir)/'`$(srcdir)/sequence.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-sequence.Tpo $(DEPDIR)/mpi_gsnap-sequence.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/sequence.c' object='mpi_gsnap-sequence.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-sequence.o `test -f '$(srcdir)/sequence.c' || echo '$(srcdir)/'`$(srcdir)/sequence.c mpi_gsnap-sequence.obj: $(srcdir)/sequence.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-sequence.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-sequence.Tpo -c -o mpi_gsnap-sequence.obj `if test -f '$(srcdir)/sequence.c'; then $(CYGPATH_W) '$(srcdir)/sequence.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/sequence.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-sequence.Tpo $(DEPDIR)/mpi_gsnap-sequence.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/sequence.c' object='mpi_gsnap-sequence.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-sequence.obj `if test -f '$(srcdir)/sequence.c'; then $(CYGPATH_W) '$(srcdir)/sequence.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/sequence.c'; fi` mpi_gsnap-reader.o: $(srcdir)/reader.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-reader.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-reader.Tpo -c -o mpi_gsnap-reader.o `test -f '$(srcdir)/reader.c' || echo '$(srcdir)/'`$(srcdir)/reader.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-reader.Tpo $(DEPDIR)/mpi_gsnap-reader.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/reader.c' object='mpi_gsnap-reader.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-reader.o `test -f '$(srcdir)/reader.c' || echo '$(srcdir)/'`$(srcdir)/reader.c mpi_gsnap-reader.obj: $(srcdir)/reader.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-reader.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-reader.Tpo -c -o mpi_gsnap-reader.obj `if test -f '$(srcdir)/reader.c'; then $(CYGPATH_W) '$(srcdir)/reader.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/reader.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-reader.Tpo $(DEPDIR)/mpi_gsnap-reader.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/reader.c' object='mpi_gsnap-reader.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-reader.obj `if test -f '$(srcdir)/reader.c'; then $(CYGPATH_W) '$(srcdir)/reader.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/reader.c'; fi` mpi_gsnap-genomicpos.o: $(srcdir)/genomicpos.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-genomicpos.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-genomicpos.Tpo -c -o mpi_gsnap-genomicpos.o `test -f '$(srcdir)/genomicpos.c' || echo '$(srcdir)/'`$(srcdir)/genomicpos.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-genomicpos.Tpo $(DEPDIR)/mpi_gsnap-genomicpos.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/genomicpos.c' object='mpi_gsnap-genomicpos.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-genomicpos.o `test -f '$(srcdir)/genomicpos.c' || echo '$(srcdir)/'`$(srcdir)/genomicpos.c mpi_gsnap-genomicpos.obj: $(srcdir)/genomicpos.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-genomicpos.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-genomicpos.Tpo -c -o mpi_gsnap-genomicpos.obj `if test -f '$(srcdir)/genomicpos.c'; then $(CYGPATH_W) '$(srcdir)/genomicpos.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/genomicpos.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-genomicpos.Tpo $(DEPDIR)/mpi_gsnap-genomicpos.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/genomicpos.c' object='mpi_gsnap-genomicpos.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-genomicpos.obj `if test -f '$(srcdir)/genomicpos.c'; then $(CYGPATH_W) '$(srcdir)/genomicpos.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/genomicpos.c'; fi` mpi_gsnap-compress.o: $(srcdir)/compress.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-compress.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-compress.Tpo -c -o mpi_gsnap-compress.o `test -f '$(srcdir)/compress.c' || echo '$(srcdir)/'`$(srcdir)/compress.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-compress.Tpo $(DEPDIR)/mpi_gsnap-compress.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/compress.c' object='mpi_gsnap-compress.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-compress.o `test -f '$(srcdir)/compress.c' || echo '$(srcdir)/'`$(srcdir)/compress.c mpi_gsnap-compress.obj: $(srcdir)/compress.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-compress.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-compress.Tpo -c -o mpi_gsnap-compress.obj `if test -f '$(srcdir)/compress.c'; then $(CYGPATH_W) '$(srcdir)/compress.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/compress.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-compress.Tpo $(DEPDIR)/mpi_gsnap-compress.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/compress.c' object='mpi_gsnap-compress.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-compress.obj `if test -f '$(srcdir)/compress.c'; then $(CYGPATH_W) '$(srcdir)/compress.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/compress.c'; fi` mpi_gsnap-genome.o: $(srcdir)/genome.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-genome.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-genome.Tpo -c -o mpi_gsnap-genome.o `test -f '$(srcdir)/genome.c' || echo '$(srcdir)/'`$(srcdir)/genome.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-genome.Tpo $(DEPDIR)/mpi_gsnap-genome.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/genome.c' object='mpi_gsnap-genome.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-genome.o `test -f '$(srcdir)/genome.c' || echo '$(srcdir)/'`$(srcdir)/genome.c mpi_gsnap-genome.obj: $(srcdir)/genome.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-genome.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-genome.Tpo -c -o mpi_gsnap-genome.obj `if test -f '$(srcdir)/genome.c'; then $(CYGPATH_W) '$(srcdir)/genome.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/genome.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-genome.Tpo $(DEPDIR)/mpi_gsnap-genome.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/genome.c' object='mpi_gsnap-genome.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-genome.obj `if test -f '$(srcdir)/genome.c'; then $(CYGPATH_W) '$(srcdir)/genome.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/genome.c'; fi` mpi_gsnap-popcount.o: $(srcdir)/popcount.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-popcount.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-popcount.Tpo -c -o mpi_gsnap-popcount.o `test -f '$(srcdir)/popcount.c' || echo '$(srcdir)/'`$(srcdir)/popcount.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-popcount.Tpo $(DEPDIR)/mpi_gsnap-popcount.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/popcount.c' object='mpi_gsnap-popcount.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-popcount.o `test -f '$(srcdir)/popcount.c' || echo '$(srcdir)/'`$(srcdir)/popcount.c mpi_gsnap-popcount.obj: $(srcdir)/popcount.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-popcount.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-popcount.Tpo -c -o mpi_gsnap-popcount.obj `if test -f '$(srcdir)/popcount.c'; then $(CYGPATH_W) '$(srcdir)/popcount.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/popcount.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-popcount.Tpo $(DEPDIR)/mpi_gsnap-popcount.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/popcount.c' object='mpi_gsnap-popcount.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-popcount.obj `if test -f '$(srcdir)/popcount.c'; then $(CYGPATH_W) '$(srcdir)/popcount.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/popcount.c'; fi` mpi_gsnap-genome128_hr.o: $(srcdir)/genome128_hr.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-genome128_hr.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-genome128_hr.Tpo -c -o mpi_gsnap-genome128_hr.o `test -f '$(srcdir)/genome128_hr.c' || echo '$(srcdir)/'`$(srcdir)/genome128_hr.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-genome128_hr.Tpo $(DEPDIR)/mpi_gsnap-genome128_hr.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/genome128_hr.c' object='mpi_gsnap-genome128_hr.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-genome128_hr.o `test -f '$(srcdir)/genome128_hr.c' || echo '$(srcdir)/'`$(srcdir)/genome128_hr.c mpi_gsnap-genome128_hr.obj: $(srcdir)/genome128_hr.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-genome128_hr.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-genome128_hr.Tpo -c -o mpi_gsnap-genome128_hr.obj `if test -f '$(srcdir)/genome128_hr.c'; then $(CYGPATH_W) '$(srcdir)/genome128_hr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/genome128_hr.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-genome128_hr.Tpo $(DEPDIR)/mpi_gsnap-genome128_hr.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/genome128_hr.c' object='mpi_gsnap-genome128_hr.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-genome128_hr.obj `if test -f '$(srcdir)/genome128_hr.c'; then $(CYGPATH_W) '$(srcdir)/genome128_hr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/genome128_hr.c'; fi` mpi_gsnap-genome_sites.o: $(srcdir)/genome_sites.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-genome_sites.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-genome_sites.Tpo -c -o mpi_gsnap-genome_sites.o `test -f '$(srcdir)/genome_sites.c' || echo '$(srcdir)/'`$(srcdir)/genome_sites.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-genome_sites.Tpo $(DEPDIR)/mpi_gsnap-genome_sites.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/genome_sites.c' object='mpi_gsnap-genome_sites.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-genome_sites.o `test -f '$(srcdir)/genome_sites.c' || echo '$(srcdir)/'`$(srcdir)/genome_sites.c mpi_gsnap-genome_sites.obj: $(srcdir)/genome_sites.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-genome_sites.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-genome_sites.Tpo -c -o mpi_gsnap-genome_sites.obj `if test -f '$(srcdir)/genome_sites.c'; then $(CYGPATH_W) '$(srcdir)/genome_sites.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/genome_sites.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-genome_sites.Tpo $(DEPDIR)/mpi_gsnap-genome_sites.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/genome_sites.c' object='mpi_gsnap-genome_sites.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-genome_sites.obj `if test -f '$(srcdir)/genome_sites.c'; then $(CYGPATH_W) '$(srcdir)/genome_sites.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/genome_sites.c'; fi` mpi_gsnap-bitpack64-read.o: $(srcdir)/bitpack64-read.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-bitpack64-read.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-bitpack64-read.Tpo -c -o mpi_gsnap-bitpack64-read.o `test -f '$(srcdir)/bitpack64-read.c' || echo '$(srcdir)/'`$(srcdir)/bitpack64-read.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-bitpack64-read.Tpo $(DEPDIR)/mpi_gsnap-bitpack64-read.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/bitpack64-read.c' object='mpi_gsnap-bitpack64-read.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-bitpack64-read.o `test -f '$(srcdir)/bitpack64-read.c' || echo '$(srcdir)/'`$(srcdir)/bitpack64-read.c mpi_gsnap-bitpack64-read.obj: $(srcdir)/bitpack64-read.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-bitpack64-read.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-bitpack64-read.Tpo -c -o mpi_gsnap-bitpack64-read.obj `if test -f '$(srcdir)/bitpack64-read.c'; then $(CYGPATH_W) '$(srcdir)/bitpack64-read.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/bitpack64-read.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-bitpack64-read.Tpo $(DEPDIR)/mpi_gsnap-bitpack64-read.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/bitpack64-read.c' object='mpi_gsnap-bitpack64-read.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-bitpack64-read.obj `if test -f '$(srcdir)/bitpack64-read.c'; then $(CYGPATH_W) '$(srcdir)/bitpack64-read.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/bitpack64-read.c'; fi` mpi_gsnap-bitpack64-readtwo.o: $(srcdir)/bitpack64-readtwo.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-bitpack64-readtwo.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-bitpack64-readtwo.Tpo -c -o mpi_gsnap-bitpack64-readtwo.o `test -f '$(srcdir)/bitpack64-readtwo.c' || echo '$(srcdir)/'`$(srcdir)/bitpack64-readtwo.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-bitpack64-readtwo.Tpo $(DEPDIR)/mpi_gsnap-bitpack64-readtwo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/bitpack64-readtwo.c' object='mpi_gsnap-bitpack64-readtwo.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-bitpack64-readtwo.o `test -f '$(srcdir)/bitpack64-readtwo.c' || echo '$(srcdir)/'`$(srcdir)/bitpack64-readtwo.c mpi_gsnap-bitpack64-readtwo.obj: $(srcdir)/bitpack64-readtwo.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-bitpack64-readtwo.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-bitpack64-readtwo.Tpo -c -o mpi_gsnap-bitpack64-readtwo.obj `if test -f '$(srcdir)/bitpack64-readtwo.c'; then $(CYGPATH_W) '$(srcdir)/bitpack64-readtwo.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/bitpack64-readtwo.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-bitpack64-readtwo.Tpo $(DEPDIR)/mpi_gsnap-bitpack64-readtwo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/bitpack64-readtwo.c' object='mpi_gsnap-bitpack64-readtwo.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-bitpack64-readtwo.obj `if test -f '$(srcdir)/bitpack64-readtwo.c'; then $(CYGPATH_W) '$(srcdir)/bitpack64-readtwo.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/bitpack64-readtwo.c'; fi` mpi_gsnap-indexdb.o: $(srcdir)/indexdb.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-indexdb.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-indexdb.Tpo -c -o mpi_gsnap-indexdb.o `test -f '$(srcdir)/indexdb.c' || echo '$(srcdir)/'`$(srcdir)/indexdb.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-indexdb.Tpo $(DEPDIR)/mpi_gsnap-indexdb.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/indexdb.c' object='mpi_gsnap-indexdb.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-indexdb.o `test -f '$(srcdir)/indexdb.c' || echo '$(srcdir)/'`$(srcdir)/indexdb.c mpi_gsnap-indexdb.obj: $(srcdir)/indexdb.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-indexdb.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-indexdb.Tpo -c -o mpi_gsnap-indexdb.obj `if test -f '$(srcdir)/indexdb.c'; then $(CYGPATH_W) '$(srcdir)/indexdb.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/indexdb.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-indexdb.Tpo $(DEPDIR)/mpi_gsnap-indexdb.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/indexdb.c' object='mpi_gsnap-indexdb.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-indexdb.obj `if test -f '$(srcdir)/indexdb.c'; then $(CYGPATH_W) '$(srcdir)/indexdb.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/indexdb.c'; fi` mpi_gsnap-indexdb_hr.o: $(srcdir)/indexdb_hr.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-indexdb_hr.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-indexdb_hr.Tpo -c -o mpi_gsnap-indexdb_hr.o `test -f '$(srcdir)/indexdb_hr.c' || echo '$(srcdir)/'`$(srcdir)/indexdb_hr.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-indexdb_hr.Tpo $(DEPDIR)/mpi_gsnap-indexdb_hr.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/indexdb_hr.c' object='mpi_gsnap-indexdb_hr.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-indexdb_hr.o `test -f '$(srcdir)/indexdb_hr.c' || echo '$(srcdir)/'`$(srcdir)/indexdb_hr.c mpi_gsnap-indexdb_hr.obj: $(srcdir)/indexdb_hr.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-indexdb_hr.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-indexdb_hr.Tpo -c -o mpi_gsnap-indexdb_hr.obj `if test -f '$(srcdir)/indexdb_hr.c'; then $(CYGPATH_W) '$(srcdir)/indexdb_hr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/indexdb_hr.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-indexdb_hr.Tpo $(DEPDIR)/mpi_gsnap-indexdb_hr.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/indexdb_hr.c' object='mpi_gsnap-indexdb_hr.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-indexdb_hr.obj `if test -f '$(srcdir)/indexdb_hr.c'; then $(CYGPATH_W) '$(srcdir)/indexdb_hr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/indexdb_hr.c'; fi` mpi_gsnap-oligo.o: $(srcdir)/oligo.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-oligo.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-oligo.Tpo -c -o mpi_gsnap-oligo.o `test -f '$(srcdir)/oligo.c' || echo '$(srcdir)/'`$(srcdir)/oligo.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-oligo.Tpo $(DEPDIR)/mpi_gsnap-oligo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/oligo.c' object='mpi_gsnap-oligo.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-oligo.o `test -f '$(srcdir)/oligo.c' || echo '$(srcdir)/'`$(srcdir)/oligo.c mpi_gsnap-oligo.obj: $(srcdir)/oligo.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-oligo.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-oligo.Tpo -c -o mpi_gsnap-oligo.obj `if test -f '$(srcdir)/oligo.c'; then $(CYGPATH_W) '$(srcdir)/oligo.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/oligo.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-oligo.Tpo $(DEPDIR)/mpi_gsnap-oligo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/oligo.c' object='mpi_gsnap-oligo.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-oligo.obj `if test -f '$(srcdir)/oligo.c'; then $(CYGPATH_W) '$(srcdir)/oligo.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/oligo.c'; fi` mpi_gsnap-chrom.o: $(srcdir)/chrom.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-chrom.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-chrom.Tpo -c -o mpi_gsnap-chrom.o `test -f '$(srcdir)/chrom.c' || echo '$(srcdir)/'`$(srcdir)/chrom.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-chrom.Tpo $(DEPDIR)/mpi_gsnap-chrom.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/chrom.c' object='mpi_gsnap-chrom.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-chrom.o `test -f '$(srcdir)/chrom.c' || echo '$(srcdir)/'`$(srcdir)/chrom.c mpi_gsnap-chrom.obj: $(srcdir)/chrom.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-chrom.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-chrom.Tpo -c -o mpi_gsnap-chrom.obj `if test -f '$(srcdir)/chrom.c'; then $(CYGPATH_W) '$(srcdir)/chrom.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/chrom.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-chrom.Tpo $(DEPDIR)/mpi_gsnap-chrom.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/chrom.c' object='mpi_gsnap-chrom.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-chrom.obj `if test -f '$(srcdir)/chrom.c'; then $(CYGPATH_W) '$(srcdir)/chrom.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/chrom.c'; fi` mpi_gsnap-segmentpos.o: $(srcdir)/segmentpos.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-segmentpos.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-segmentpos.Tpo -c -o mpi_gsnap-segmentpos.o `test -f '$(srcdir)/segmentpos.c' || echo '$(srcdir)/'`$(srcdir)/segmentpos.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-segmentpos.Tpo $(DEPDIR)/mpi_gsnap-segmentpos.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/segmentpos.c' object='mpi_gsnap-segmentpos.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-segmentpos.o `test -f '$(srcdir)/segmentpos.c' || echo '$(srcdir)/'`$(srcdir)/segmentpos.c mpi_gsnap-segmentpos.obj: $(srcdir)/segmentpos.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-segmentpos.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-segmentpos.Tpo -c -o mpi_gsnap-segmentpos.obj `if test -f '$(srcdir)/segmentpos.c'; then $(CYGPATH_W) '$(srcdir)/segmentpos.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/segmentpos.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-segmentpos.Tpo $(DEPDIR)/mpi_gsnap-segmentpos.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/segmentpos.c' object='mpi_gsnap-segmentpos.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-segmentpos.obj `if test -f '$(srcdir)/segmentpos.c'; then $(CYGPATH_W) '$(srcdir)/segmentpos.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/segmentpos.c'; fi` mpi_gsnap-chrnum.o: $(srcdir)/chrnum.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-chrnum.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-chrnum.Tpo -c -o mpi_gsnap-chrnum.o `test -f '$(srcdir)/chrnum.c' || echo '$(srcdir)/'`$(srcdir)/chrnum.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-chrnum.Tpo $(DEPDIR)/mpi_gsnap-chrnum.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/chrnum.c' object='mpi_gsnap-chrnum.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-chrnum.o `test -f '$(srcdir)/chrnum.c' || echo '$(srcdir)/'`$(srcdir)/chrnum.c mpi_gsnap-chrnum.obj: $(srcdir)/chrnum.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-chrnum.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-chrnum.Tpo -c -o mpi_gsnap-chrnum.obj `if test -f '$(srcdir)/chrnum.c'; then $(CYGPATH_W) '$(srcdir)/chrnum.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/chrnum.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-chrnum.Tpo $(DEPDIR)/mpi_gsnap-chrnum.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/chrnum.c' object='mpi_gsnap-chrnum.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-chrnum.obj `if test -f '$(srcdir)/chrnum.c'; then $(CYGPATH_W) '$(srcdir)/chrnum.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/chrnum.c'; fi` mpi_gsnap-maxent_hr.o: $(srcdir)/maxent_hr.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-maxent_hr.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-maxent_hr.Tpo -c -o mpi_gsnap-maxent_hr.o `test -f '$(srcdir)/maxent_hr.c' || echo '$(srcdir)/'`$(srcdir)/maxent_hr.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-maxent_hr.Tpo $(DEPDIR)/mpi_gsnap-maxent_hr.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/maxent_hr.c' object='mpi_gsnap-maxent_hr.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-maxent_hr.o `test -f '$(srcdir)/maxent_hr.c' || echo '$(srcdir)/'`$(srcdir)/maxent_hr.c mpi_gsnap-maxent_hr.obj: $(srcdir)/maxent_hr.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-maxent_hr.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-maxent_hr.Tpo -c -o mpi_gsnap-maxent_hr.obj `if test -f '$(srcdir)/maxent_hr.c'; then $(CYGPATH_W) '$(srcdir)/maxent_hr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/maxent_hr.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-maxent_hr.Tpo $(DEPDIR)/mpi_gsnap-maxent_hr.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/maxent_hr.c' object='mpi_gsnap-maxent_hr.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-maxent_hr.obj `if test -f '$(srcdir)/maxent_hr.c'; then $(CYGPATH_W) '$(srcdir)/maxent_hr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/maxent_hr.c'; fi` mpi_gsnap-samprint.o: $(srcdir)/samprint.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-samprint.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-samprint.Tpo -c -o mpi_gsnap-samprint.o `test -f '$(srcdir)/samprint.c' || echo '$(srcdir)/'`$(srcdir)/samprint.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-samprint.Tpo $(DEPDIR)/mpi_gsnap-samprint.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/samprint.c' object='mpi_gsnap-samprint.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-samprint.o `test -f '$(srcdir)/samprint.c' || echo '$(srcdir)/'`$(srcdir)/samprint.c mpi_gsnap-samprint.obj: $(srcdir)/samprint.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-samprint.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-samprint.Tpo -c -o mpi_gsnap-samprint.obj `if test -f '$(srcdir)/samprint.c'; then $(CYGPATH_W) '$(srcdir)/samprint.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/samprint.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-samprint.Tpo $(DEPDIR)/mpi_gsnap-samprint.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/samprint.c' object='mpi_gsnap-samprint.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-samprint.obj `if test -f '$(srcdir)/samprint.c'; then $(CYGPATH_W) '$(srcdir)/samprint.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/samprint.c'; fi` mpi_gsnap-mapq.o: $(srcdir)/mapq.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-mapq.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-mapq.Tpo -c -o mpi_gsnap-mapq.o `test -f '$(srcdir)/mapq.c' || echo '$(srcdir)/'`$(srcdir)/mapq.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-mapq.Tpo $(DEPDIR)/mpi_gsnap-mapq.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/mapq.c' object='mpi_gsnap-mapq.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-mapq.o `test -f '$(srcdir)/mapq.c' || echo '$(srcdir)/'`$(srcdir)/mapq.c mpi_gsnap-mapq.obj: $(srcdir)/mapq.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-mapq.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-mapq.Tpo -c -o mpi_gsnap-mapq.obj `if test -f '$(srcdir)/mapq.c'; then $(CYGPATH_W) '$(srcdir)/mapq.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/mapq.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-mapq.Tpo $(DEPDIR)/mpi_gsnap-mapq.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/mapq.c' object='mpi_gsnap-mapq.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-mapq.obj `if test -f '$(srcdir)/mapq.c'; then $(CYGPATH_W) '$(srcdir)/mapq.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/mapq.c'; fi` mpi_gsnap-shortread.o: $(srcdir)/shortread.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-shortread.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-shortread.Tpo -c -o mpi_gsnap-shortread.o `test -f '$(srcdir)/shortread.c' || echo '$(srcdir)/'`$(srcdir)/shortread.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-shortread.Tpo $(DEPDIR)/mpi_gsnap-shortread.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/shortread.c' object='mpi_gsnap-shortread.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-shortread.o `test -f '$(srcdir)/shortread.c' || echo '$(srcdir)/'`$(srcdir)/shortread.c mpi_gsnap-shortread.obj: $(srcdir)/shortread.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-shortread.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-shortread.Tpo -c -o mpi_gsnap-shortread.obj `if test -f '$(srcdir)/shortread.c'; then $(CYGPATH_W) '$(srcdir)/shortread.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/shortread.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-shortread.Tpo $(DEPDIR)/mpi_gsnap-shortread.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/shortread.c' object='mpi_gsnap-shortread.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-shortread.obj `if test -f '$(srcdir)/shortread.c'; then $(CYGPATH_W) '$(srcdir)/shortread.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/shortread.c'; fi` mpi_gsnap-substring.o: $(srcdir)/substring.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-substring.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-substring.Tpo -c -o mpi_gsnap-substring.o `test -f '$(srcdir)/substring.c' || echo '$(srcdir)/'`$(srcdir)/substring.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-substring.Tpo $(DEPDIR)/mpi_gsnap-substring.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/substring.c' object='mpi_gsnap-substring.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-substring.o `test -f '$(srcdir)/substring.c' || echo '$(srcdir)/'`$(srcdir)/substring.c mpi_gsnap-substring.obj: $(srcdir)/substring.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-substring.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-substring.Tpo -c -o mpi_gsnap-substring.obj `if test -f '$(srcdir)/substring.c'; then $(CYGPATH_W) '$(srcdir)/substring.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/substring.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-substring.Tpo $(DEPDIR)/mpi_gsnap-substring.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/substring.c' object='mpi_gsnap-substring.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-substring.obj `if test -f '$(srcdir)/substring.c'; then $(CYGPATH_W) '$(srcdir)/substring.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/substring.c'; fi` mpi_gsnap-junction.o: $(srcdir)/junction.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-junction.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-junction.Tpo -c -o mpi_gsnap-junction.o `test -f '$(srcdir)/junction.c' || echo '$(srcdir)/'`$(srcdir)/junction.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-junction.Tpo $(DEPDIR)/mpi_gsnap-junction.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/junction.c' object='mpi_gsnap-junction.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-junction.o `test -f '$(srcdir)/junction.c' || echo '$(srcdir)/'`$(srcdir)/junction.c mpi_gsnap-junction.obj: $(srcdir)/junction.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-junction.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-junction.Tpo -c -o mpi_gsnap-junction.obj `if test -f '$(srcdir)/junction.c'; then $(CYGPATH_W) '$(srcdir)/junction.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/junction.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-junction.Tpo $(DEPDIR)/mpi_gsnap-junction.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/junction.c' object='mpi_gsnap-junction.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-junction.obj `if test -f '$(srcdir)/junction.c'; then $(CYGPATH_W) '$(srcdir)/junction.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/junction.c'; fi` mpi_gsnap-stage3hr.o: $(srcdir)/stage3hr.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-stage3hr.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-stage3hr.Tpo -c -o mpi_gsnap-stage3hr.o `test -f '$(srcdir)/stage3hr.c' || echo '$(srcdir)/'`$(srcdir)/stage3hr.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-stage3hr.Tpo $(DEPDIR)/mpi_gsnap-stage3hr.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/stage3hr.c' object='mpi_gsnap-stage3hr.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-stage3hr.o `test -f '$(srcdir)/stage3hr.c' || echo '$(srcdir)/'`$(srcdir)/stage3hr.c mpi_gsnap-stage3hr.obj: $(srcdir)/stage3hr.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-stage3hr.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-stage3hr.Tpo -c -o mpi_gsnap-stage3hr.obj `if test -f '$(srcdir)/stage3hr.c'; then $(CYGPATH_W) '$(srcdir)/stage3hr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/stage3hr.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-stage3hr.Tpo $(DEPDIR)/mpi_gsnap-stage3hr.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/stage3hr.c' object='mpi_gsnap-stage3hr.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-stage3hr.obj `if test -f '$(srcdir)/stage3hr.c'; then $(CYGPATH_W) '$(srcdir)/stage3hr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/stage3hr.c'; fi` mpi_gsnap-spanningelt.o: $(srcdir)/spanningelt.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-spanningelt.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-spanningelt.Tpo -c -o mpi_gsnap-spanningelt.o `test -f '$(srcdir)/spanningelt.c' || echo '$(srcdir)/'`$(srcdir)/spanningelt.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-spanningelt.Tpo $(DEPDIR)/mpi_gsnap-spanningelt.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/spanningelt.c' object='mpi_gsnap-spanningelt.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-spanningelt.o `test -f '$(srcdir)/spanningelt.c' || echo '$(srcdir)/'`$(srcdir)/spanningelt.c mpi_gsnap-spanningelt.obj: $(srcdir)/spanningelt.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-spanningelt.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-spanningelt.Tpo -c -o mpi_gsnap-spanningelt.obj `if test -f '$(srcdir)/spanningelt.c'; then $(CYGPATH_W) '$(srcdir)/spanningelt.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/spanningelt.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-spanningelt.Tpo $(DEPDIR)/mpi_gsnap-spanningelt.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/spanningelt.c' object='mpi_gsnap-spanningelt.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-spanningelt.obj `if test -f '$(srcdir)/spanningelt.c'; then $(CYGPATH_W) '$(srcdir)/spanningelt.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/spanningelt.c'; fi` mpi_gsnap-cmet.o: $(srcdir)/cmet.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-cmet.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-cmet.Tpo -c -o mpi_gsnap-cmet.o `test -f '$(srcdir)/cmet.c' || echo '$(srcdir)/'`$(srcdir)/cmet.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-cmet.Tpo $(DEPDIR)/mpi_gsnap-cmet.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/cmet.c' object='mpi_gsnap-cmet.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-cmet.o `test -f '$(srcdir)/cmet.c' || echo '$(srcdir)/'`$(srcdir)/cmet.c mpi_gsnap-cmet.obj: $(srcdir)/cmet.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-cmet.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-cmet.Tpo -c -o mpi_gsnap-cmet.obj `if test -f '$(srcdir)/cmet.c'; then $(CYGPATH_W) '$(srcdir)/cmet.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/cmet.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-cmet.Tpo $(DEPDIR)/mpi_gsnap-cmet.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/cmet.c' object='mpi_gsnap-cmet.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-cmet.obj `if test -f '$(srcdir)/cmet.c'; then $(CYGPATH_W) '$(srcdir)/cmet.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/cmet.c'; fi` mpi_gsnap-atoi.o: $(srcdir)/atoi.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-atoi.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-atoi.Tpo -c -o mpi_gsnap-atoi.o `test -f '$(srcdir)/atoi.c' || echo '$(srcdir)/'`$(srcdir)/atoi.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-atoi.Tpo $(DEPDIR)/mpi_gsnap-atoi.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/atoi.c' object='mpi_gsnap-atoi.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-atoi.o `test -f '$(srcdir)/atoi.c' || echo '$(srcdir)/'`$(srcdir)/atoi.c mpi_gsnap-atoi.obj: $(srcdir)/atoi.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-atoi.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-atoi.Tpo -c -o mpi_gsnap-atoi.obj `if test -f '$(srcdir)/atoi.c'; then $(CYGPATH_W) '$(srcdir)/atoi.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/atoi.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-atoi.Tpo $(DEPDIR)/mpi_gsnap-atoi.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/atoi.c' object='mpi_gsnap-atoi.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-atoi.obj `if test -f '$(srcdir)/atoi.c'; then $(CYGPATH_W) '$(srcdir)/atoi.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/atoi.c'; fi` mpi_gsnap-maxent.o: $(srcdir)/maxent.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-maxent.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-maxent.Tpo -c -o mpi_gsnap-maxent.o `test -f '$(srcdir)/maxent.c' || echo '$(srcdir)/'`$(srcdir)/maxent.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-maxent.Tpo $(DEPDIR)/mpi_gsnap-maxent.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/maxent.c' object='mpi_gsnap-maxent.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-maxent.o `test -f '$(srcdir)/maxent.c' || echo '$(srcdir)/'`$(srcdir)/maxent.c mpi_gsnap-maxent.obj: $(srcdir)/maxent.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-maxent.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-maxent.Tpo -c -o mpi_gsnap-maxent.obj `if test -f '$(srcdir)/maxent.c'; then $(CYGPATH_W) '$(srcdir)/maxent.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/maxent.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-maxent.Tpo $(DEPDIR)/mpi_gsnap-maxent.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/maxent.c' object='mpi_gsnap-maxent.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-maxent.obj `if test -f '$(srcdir)/maxent.c'; then $(CYGPATH_W) '$(srcdir)/maxent.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/maxent.c'; fi` mpi_gsnap-pair.o: $(srcdir)/pair.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-pair.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-pair.Tpo -c -o mpi_gsnap-pair.o `test -f '$(srcdir)/pair.c' || echo '$(srcdir)/'`$(srcdir)/pair.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-pair.Tpo $(DEPDIR)/mpi_gsnap-pair.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/pair.c' object='mpi_gsnap-pair.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-pair.o `test -f '$(srcdir)/pair.c' || echo '$(srcdir)/'`$(srcdir)/pair.c mpi_gsnap-pair.obj: $(srcdir)/pair.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-pair.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-pair.Tpo -c -o mpi_gsnap-pair.obj `if test -f '$(srcdir)/pair.c'; then $(CYGPATH_W) '$(srcdir)/pair.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/pair.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-pair.Tpo $(DEPDIR)/mpi_gsnap-pair.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/pair.c' object='mpi_gsnap-pair.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-pair.obj `if test -f '$(srcdir)/pair.c'; then $(CYGPATH_W) '$(srcdir)/pair.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/pair.c'; fi` mpi_gsnap-pairpool.o: $(srcdir)/pairpool.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-pairpool.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-pairpool.Tpo -c -o mpi_gsnap-pairpool.o `test -f '$(srcdir)/pairpool.c' || echo '$(srcdir)/'`$(srcdir)/pairpool.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-pairpool.Tpo $(DEPDIR)/mpi_gsnap-pairpool.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/pairpool.c' object='mpi_gsnap-pairpool.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-pairpool.o `test -f '$(srcdir)/pairpool.c' || echo '$(srcdir)/'`$(srcdir)/pairpool.c mpi_gsnap-pairpool.obj: $(srcdir)/pairpool.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-pairpool.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-pairpool.Tpo -c -o mpi_gsnap-pairpool.obj `if test -f '$(srcdir)/pairpool.c'; then $(CYGPATH_W) '$(srcdir)/pairpool.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/pairpool.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-pairpool.Tpo $(DEPDIR)/mpi_gsnap-pairpool.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/pairpool.c' object='mpi_gsnap-pairpool.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-pairpool.obj `if test -f '$(srcdir)/pairpool.c'; then $(CYGPATH_W) '$(srcdir)/pairpool.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/pairpool.c'; fi` mpi_gsnap-diag.o: $(srcdir)/diag.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-diag.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-diag.Tpo -c -o mpi_gsnap-diag.o `test -f '$(srcdir)/diag.c' || echo '$(srcdir)/'`$(srcdir)/diag.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-diag.Tpo $(DEPDIR)/mpi_gsnap-diag.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/diag.c' object='mpi_gsnap-diag.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-diag.o `test -f '$(srcdir)/diag.c' || echo '$(srcdir)/'`$(srcdir)/diag.c mpi_gsnap-diag.obj: $(srcdir)/diag.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-diag.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-diag.Tpo -c -o mpi_gsnap-diag.obj `if test -f '$(srcdir)/diag.c'; then $(CYGPATH_W) '$(srcdir)/diag.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/diag.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-diag.Tpo $(DEPDIR)/mpi_gsnap-diag.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/diag.c' object='mpi_gsnap-diag.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-diag.obj `if test -f '$(srcdir)/diag.c'; then $(CYGPATH_W) '$(srcdir)/diag.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/diag.c'; fi` mpi_gsnap-diagpool.o: $(srcdir)/diagpool.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-diagpool.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-diagpool.Tpo -c -o mpi_gsnap-diagpool.o `test -f '$(srcdir)/diagpool.c' || echo '$(srcdir)/'`$(srcdir)/diagpool.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-diagpool.Tpo $(DEPDIR)/mpi_gsnap-diagpool.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/diagpool.c' object='mpi_gsnap-diagpool.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-diagpool.o `test -f '$(srcdir)/diagpool.c' || echo '$(srcdir)/'`$(srcdir)/diagpool.c mpi_gsnap-diagpool.obj: $(srcdir)/diagpool.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-diagpool.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-diagpool.Tpo -c -o mpi_gsnap-diagpool.obj `if test -f '$(srcdir)/diagpool.c'; then $(CYGPATH_W) '$(srcdir)/diagpool.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/diagpool.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-diagpool.Tpo $(DEPDIR)/mpi_gsnap-diagpool.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/diagpool.c' object='mpi_gsnap-diagpool.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-diagpool.obj `if test -f '$(srcdir)/diagpool.c'; then $(CYGPATH_W) '$(srcdir)/diagpool.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/diagpool.c'; fi` mpi_gsnap-orderstat.o: $(srcdir)/orderstat.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-orderstat.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-orderstat.Tpo -c -o mpi_gsnap-orderstat.o `test -f '$(srcdir)/orderstat.c' || echo '$(srcdir)/'`$(srcdir)/orderstat.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-orderstat.Tpo $(DEPDIR)/mpi_gsnap-orderstat.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/orderstat.c' object='mpi_gsnap-orderstat.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-orderstat.o `test -f '$(srcdir)/orderstat.c' || echo '$(srcdir)/'`$(srcdir)/orderstat.c mpi_gsnap-orderstat.obj: $(srcdir)/orderstat.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-orderstat.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-orderstat.Tpo -c -o mpi_gsnap-orderstat.obj `if test -f '$(srcdir)/orderstat.c'; then $(CYGPATH_W) '$(srcdir)/orderstat.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/orderstat.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-orderstat.Tpo $(DEPDIR)/mpi_gsnap-orderstat.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/orderstat.c' object='mpi_gsnap-orderstat.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-orderstat.obj `if test -f '$(srcdir)/orderstat.c'; then $(CYGPATH_W) '$(srcdir)/orderstat.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/orderstat.c'; fi` mpi_gsnap-oligoindex_hr.o: $(srcdir)/oligoindex_hr.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-oligoindex_hr.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-oligoindex_hr.Tpo -c -o mpi_gsnap-oligoindex_hr.o `test -f '$(srcdir)/oligoindex_hr.c' || echo '$(srcdir)/'`$(srcdir)/oligoindex_hr.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-oligoindex_hr.Tpo $(DEPDIR)/mpi_gsnap-oligoindex_hr.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/oligoindex_hr.c' object='mpi_gsnap-oligoindex_hr.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-oligoindex_hr.o `test -f '$(srcdir)/oligoindex_hr.c' || echo '$(srcdir)/'`$(srcdir)/oligoindex_hr.c mpi_gsnap-oligoindex_hr.obj: $(srcdir)/oligoindex_hr.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-oligoindex_hr.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-oligoindex_hr.Tpo -c -o mpi_gsnap-oligoindex_hr.obj `if test -f '$(srcdir)/oligoindex_hr.c'; then $(CYGPATH_W) '$(srcdir)/oligoindex_hr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/oligoindex_hr.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-oligoindex_hr.Tpo $(DEPDIR)/mpi_gsnap-oligoindex_hr.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/oligoindex_hr.c' object='mpi_gsnap-oligoindex_hr.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-oligoindex_hr.obj `if test -f '$(srcdir)/oligoindex_hr.c'; then $(CYGPATH_W) '$(srcdir)/oligoindex_hr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/oligoindex_hr.c'; fi` mpi_gsnap-cellpool.o: $(srcdir)/cellpool.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-cellpool.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-cellpool.Tpo -c -o mpi_gsnap-cellpool.o `test -f '$(srcdir)/cellpool.c' || echo '$(srcdir)/'`$(srcdir)/cellpool.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-cellpool.Tpo $(DEPDIR)/mpi_gsnap-cellpool.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/cellpool.c' object='mpi_gsnap-cellpool.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-cellpool.o `test -f '$(srcdir)/cellpool.c' || echo '$(srcdir)/'`$(srcdir)/cellpool.c mpi_gsnap-cellpool.obj: $(srcdir)/cellpool.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-cellpool.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-cellpool.Tpo -c -o mpi_gsnap-cellpool.obj `if test -f '$(srcdir)/cellpool.c'; then $(CYGPATH_W) '$(srcdir)/cellpool.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/cellpool.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-cellpool.Tpo $(DEPDIR)/mpi_gsnap-cellpool.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/cellpool.c' object='mpi_gsnap-cellpool.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-cellpool.obj `if test -f '$(srcdir)/cellpool.c'; then $(CYGPATH_W) '$(srcdir)/cellpool.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/cellpool.c'; fi` mpi_gsnap-stage2.o: $(srcdir)/stage2.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-stage2.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-stage2.Tpo -c -o mpi_gsnap-stage2.o `test -f '$(srcdir)/stage2.c' || echo '$(srcdir)/'`$(srcdir)/stage2.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-stage2.Tpo $(DEPDIR)/mpi_gsnap-stage2.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/stage2.c' object='mpi_gsnap-stage2.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-stage2.o `test -f '$(srcdir)/stage2.c' || echo '$(srcdir)/'`$(srcdir)/stage2.c mpi_gsnap-stage2.obj: $(srcdir)/stage2.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-stage2.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-stage2.Tpo -c -o mpi_gsnap-stage2.obj `if test -f '$(srcdir)/stage2.c'; then $(CYGPATH_W) '$(srcdir)/stage2.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/stage2.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-stage2.Tpo $(DEPDIR)/mpi_gsnap-stage2.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/stage2.c' object='mpi_gsnap-stage2.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-stage2.obj `if test -f '$(srcdir)/stage2.c'; then $(CYGPATH_W) '$(srcdir)/stage2.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/stage2.c'; fi` mpi_gsnap-intron.o: $(srcdir)/intron.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-intron.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-intron.Tpo -c -o mpi_gsnap-intron.o `test -f '$(srcdir)/intron.c' || echo '$(srcdir)/'`$(srcdir)/intron.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-intron.Tpo $(DEPDIR)/mpi_gsnap-intron.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/intron.c' object='mpi_gsnap-intron.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-intron.o `test -f '$(srcdir)/intron.c' || echo '$(srcdir)/'`$(srcdir)/intron.c mpi_gsnap-intron.obj: $(srcdir)/intron.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-intron.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-intron.Tpo -c -o mpi_gsnap-intron.obj `if test -f '$(srcdir)/intron.c'; then $(CYGPATH_W) '$(srcdir)/intron.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/intron.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-intron.Tpo $(DEPDIR)/mpi_gsnap-intron.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/intron.c' object='mpi_gsnap-intron.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-intron.obj `if test -f '$(srcdir)/intron.c'; then $(CYGPATH_W) '$(srcdir)/intron.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/intron.c'; fi` mpi_gsnap-boyer-moore.o: $(srcdir)/boyer-moore.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-boyer-moore.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-boyer-moore.Tpo -c -o mpi_gsnap-boyer-moore.o `test -f '$(srcdir)/boyer-moore.c' || echo '$(srcdir)/'`$(srcdir)/boyer-moore.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-boyer-moore.Tpo $(DEPDIR)/mpi_gsnap-boyer-moore.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/boyer-moore.c' object='mpi_gsnap-boyer-moore.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-boyer-moore.o `test -f '$(srcdir)/boyer-moore.c' || echo '$(srcdir)/'`$(srcdir)/boyer-moore.c mpi_gsnap-boyer-moore.obj: $(srcdir)/boyer-moore.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-boyer-moore.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-boyer-moore.Tpo -c -o mpi_gsnap-boyer-moore.obj `if test -f '$(srcdir)/boyer-moore.c'; then $(CYGPATH_W) '$(srcdir)/boyer-moore.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/boyer-moore.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-boyer-moore.Tpo $(DEPDIR)/mpi_gsnap-boyer-moore.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/boyer-moore.c' object='mpi_gsnap-boyer-moore.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-boyer-moore.obj `if test -f '$(srcdir)/boyer-moore.c'; then $(CYGPATH_W) '$(srcdir)/boyer-moore.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/boyer-moore.c'; fi` mpi_gsnap-changepoint.o: $(srcdir)/changepoint.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-changepoint.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-changepoint.Tpo -c -o mpi_gsnap-changepoint.o `test -f '$(srcdir)/changepoint.c' || echo '$(srcdir)/'`$(srcdir)/changepoint.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-changepoint.Tpo $(DEPDIR)/mpi_gsnap-changepoint.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/changepoint.c' object='mpi_gsnap-changepoint.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-changepoint.o `test -f '$(srcdir)/changepoint.c' || echo '$(srcdir)/'`$(srcdir)/changepoint.c mpi_gsnap-changepoint.obj: $(srcdir)/changepoint.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-changepoint.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-changepoint.Tpo -c -o mpi_gsnap-changepoint.obj `if test -f '$(srcdir)/changepoint.c'; then $(CYGPATH_W) '$(srcdir)/changepoint.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/changepoint.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-changepoint.Tpo $(DEPDIR)/mpi_gsnap-changepoint.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/changepoint.c' object='mpi_gsnap-changepoint.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-changepoint.obj `if test -f '$(srcdir)/changepoint.c'; then $(CYGPATH_W) '$(srcdir)/changepoint.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/changepoint.c'; fi` mpi_gsnap-pbinom.o: $(srcdir)/pbinom.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-pbinom.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-pbinom.Tpo -c -o mpi_gsnap-pbinom.o `test -f '$(srcdir)/pbinom.c' || echo '$(srcdir)/'`$(srcdir)/pbinom.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-pbinom.Tpo $(DEPDIR)/mpi_gsnap-pbinom.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/pbinom.c' object='mpi_gsnap-pbinom.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-pbinom.o `test -f '$(srcdir)/pbinom.c' || echo '$(srcdir)/'`$(srcdir)/pbinom.c mpi_gsnap-pbinom.obj: $(srcdir)/pbinom.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-pbinom.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-pbinom.Tpo -c -o mpi_gsnap-pbinom.obj `if test -f '$(srcdir)/pbinom.c'; then $(CYGPATH_W) '$(srcdir)/pbinom.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/pbinom.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-pbinom.Tpo $(DEPDIR)/mpi_gsnap-pbinom.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/pbinom.c' object='mpi_gsnap-pbinom.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-pbinom.obj `if test -f '$(srcdir)/pbinom.c'; then $(CYGPATH_W) '$(srcdir)/pbinom.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/pbinom.c'; fi` mpi_gsnap-dynprog.o: $(srcdir)/dynprog.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-dynprog.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-dynprog.Tpo -c -o mpi_gsnap-dynprog.o `test -f '$(srcdir)/dynprog.c' || echo '$(srcdir)/'`$(srcdir)/dynprog.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-dynprog.Tpo $(DEPDIR)/mpi_gsnap-dynprog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/dynprog.c' object='mpi_gsnap-dynprog.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-dynprog.o `test -f '$(srcdir)/dynprog.c' || echo '$(srcdir)/'`$(srcdir)/dynprog.c mpi_gsnap-dynprog.obj: $(srcdir)/dynprog.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-dynprog.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-dynprog.Tpo -c -o mpi_gsnap-dynprog.obj `if test -f '$(srcdir)/dynprog.c'; then $(CYGPATH_W) '$(srcdir)/dynprog.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/dynprog.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-dynprog.Tpo $(DEPDIR)/mpi_gsnap-dynprog.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/dynprog.c' object='mpi_gsnap-dynprog.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-dynprog.obj `if test -f '$(srcdir)/dynprog.c'; then $(CYGPATH_W) '$(srcdir)/dynprog.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/dynprog.c'; fi` mpi_gsnap-dynprog_simd.o: $(srcdir)/dynprog_simd.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-dynprog_simd.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-dynprog_simd.Tpo -c -o mpi_gsnap-dynprog_simd.o `test -f '$(srcdir)/dynprog_simd.c' || echo '$(srcdir)/'`$(srcdir)/dynprog_simd.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-dynprog_simd.Tpo $(DEPDIR)/mpi_gsnap-dynprog_simd.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/dynprog_simd.c' object='mpi_gsnap-dynprog_simd.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-dynprog_simd.o `test -f '$(srcdir)/dynprog_simd.c' || echo '$(srcdir)/'`$(srcdir)/dynprog_simd.c mpi_gsnap-dynprog_simd.obj: $(srcdir)/dynprog_simd.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-dynprog_simd.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-dynprog_simd.Tpo -c -o mpi_gsnap-dynprog_simd.obj `if test -f '$(srcdir)/dynprog_simd.c'; then $(CYGPATH_W) '$(srcdir)/dynprog_simd.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/dynprog_simd.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-dynprog_simd.Tpo $(DEPDIR)/mpi_gsnap-dynprog_simd.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/dynprog_simd.c' object='mpi_gsnap-dynprog_simd.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-dynprog_simd.obj `if test -f '$(srcdir)/dynprog_simd.c'; then $(CYGPATH_W) '$(srcdir)/dynprog_simd.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/dynprog_simd.c'; fi` mpi_gsnap-dynprog_single.o: $(srcdir)/dynprog_single.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-dynprog_single.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-dynprog_single.Tpo -c -o mpi_gsnap-dynprog_single.o `test -f '$(srcdir)/dynprog_single.c' || echo '$(srcdir)/'`$(srcdir)/dynprog_single.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-dynprog_single.Tpo $(DEPDIR)/mpi_gsnap-dynprog_single.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/dynprog_single.c' object='mpi_gsnap-dynprog_single.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-dynprog_single.o `test -f '$(srcdir)/dynprog_single.c' || echo '$(srcdir)/'`$(srcdir)/dynprog_single.c mpi_gsnap-dynprog_single.obj: $(srcdir)/dynprog_single.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-dynprog_single.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-dynprog_single.Tpo -c -o mpi_gsnap-dynprog_single.obj `if test -f '$(srcdir)/dynprog_single.c'; then $(CYGPATH_W) '$(srcdir)/dynprog_single.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/dynprog_single.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-dynprog_single.Tpo $(DEPDIR)/mpi_gsnap-dynprog_single.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/dynprog_single.c' object='mpi_gsnap-dynprog_single.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-dynprog_single.obj `if test -f '$(srcdir)/dynprog_single.c'; then $(CYGPATH_W) '$(srcdir)/dynprog_single.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/dynprog_single.c'; fi` mpi_gsnap-dynprog_genome.o: $(srcdir)/dynprog_genome.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-dynprog_genome.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-dynprog_genome.Tpo -c -o mpi_gsnap-dynprog_genome.o `test -f '$(srcdir)/dynprog_genome.c' || echo '$(srcdir)/'`$(srcdir)/dynprog_genome.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-dynprog_genome.Tpo $(DEPDIR)/mpi_gsnap-dynprog_genome.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/dynprog_genome.c' object='mpi_gsnap-dynprog_genome.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-dynprog_genome.o `test -f '$(srcdir)/dynprog_genome.c' || echo '$(srcdir)/'`$(srcdir)/dynprog_genome.c mpi_gsnap-dynprog_genome.obj: $(srcdir)/dynprog_genome.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-dynprog_genome.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-dynprog_genome.Tpo -c -o mpi_gsnap-dynprog_genome.obj `if test -f '$(srcdir)/dynprog_genome.c'; then $(CYGPATH_W) '$(srcdir)/dynprog_genome.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/dynprog_genome.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-dynprog_genome.Tpo $(DEPDIR)/mpi_gsnap-dynprog_genome.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/dynprog_genome.c' object='mpi_gsnap-dynprog_genome.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-dynprog_genome.obj `if test -f '$(srcdir)/dynprog_genome.c'; then $(CYGPATH_W) '$(srcdir)/dynprog_genome.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/dynprog_genome.c'; fi` mpi_gsnap-dynprog_cdna.o: $(srcdir)/dynprog_cdna.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-dynprog_cdna.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-dynprog_cdna.Tpo -c -o mpi_gsnap-dynprog_cdna.o `test -f '$(srcdir)/dynprog_cdna.c' || echo '$(srcdir)/'`$(srcdir)/dynprog_cdna.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-dynprog_cdna.Tpo $(DEPDIR)/mpi_gsnap-dynprog_cdna.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/dynprog_cdna.c' object='mpi_gsnap-dynprog_cdna.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-dynprog_cdna.o `test -f '$(srcdir)/dynprog_cdna.c' || echo '$(srcdir)/'`$(srcdir)/dynprog_cdna.c mpi_gsnap-dynprog_cdna.obj: $(srcdir)/dynprog_cdna.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-dynprog_cdna.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-dynprog_cdna.Tpo -c -o mpi_gsnap-dynprog_cdna.obj `if test -f '$(srcdir)/dynprog_cdna.c'; then $(CYGPATH_W) '$(srcdir)/dynprog_cdna.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/dynprog_cdna.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-dynprog_cdna.Tpo $(DEPDIR)/mpi_gsnap-dynprog_cdna.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/dynprog_cdna.c' object='mpi_gsnap-dynprog_cdna.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-dynprog_cdna.obj `if test -f '$(srcdir)/dynprog_cdna.c'; then $(CYGPATH_W) '$(srcdir)/dynprog_cdna.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/dynprog_cdna.c'; fi` mpi_gsnap-dynprog_end.o: $(srcdir)/dynprog_end.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-dynprog_end.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-dynprog_end.Tpo -c -o mpi_gsnap-dynprog_end.o `test -f '$(srcdir)/dynprog_end.c' || echo '$(srcdir)/'`$(srcdir)/dynprog_end.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-dynprog_end.Tpo $(DEPDIR)/mpi_gsnap-dynprog_end.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/dynprog_end.c' object='mpi_gsnap-dynprog_end.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-dynprog_end.o `test -f '$(srcdir)/dynprog_end.c' || echo '$(srcdir)/'`$(srcdir)/dynprog_end.c mpi_gsnap-dynprog_end.obj: $(srcdir)/dynprog_end.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-dynprog_end.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-dynprog_end.Tpo -c -o mpi_gsnap-dynprog_end.obj `if test -f '$(srcdir)/dynprog_end.c'; then $(CYGPATH_W) '$(srcdir)/dynprog_end.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/dynprog_end.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-dynprog_end.Tpo $(DEPDIR)/mpi_gsnap-dynprog_end.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/dynprog_end.c' object='mpi_gsnap-dynprog_end.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-dynprog_end.obj `if test -f '$(srcdir)/dynprog_end.c'; then $(CYGPATH_W) '$(srcdir)/dynprog_end.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/dynprog_end.c'; fi` mpi_gsnap-gbuffer.o: $(srcdir)/gbuffer.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-gbuffer.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-gbuffer.Tpo -c -o mpi_gsnap-gbuffer.o `test -f '$(srcdir)/gbuffer.c' || echo '$(srcdir)/'`$(srcdir)/gbuffer.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-gbuffer.Tpo $(DEPDIR)/mpi_gsnap-gbuffer.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/gbuffer.c' object='mpi_gsnap-gbuffer.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-gbuffer.o `test -f '$(srcdir)/gbuffer.c' || echo '$(srcdir)/'`$(srcdir)/gbuffer.c mpi_gsnap-gbuffer.obj: $(srcdir)/gbuffer.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-gbuffer.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-gbuffer.Tpo -c -o mpi_gsnap-gbuffer.obj `if test -f '$(srcdir)/gbuffer.c'; then $(CYGPATH_W) '$(srcdir)/gbuffer.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/gbuffer.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-gbuffer.Tpo $(DEPDIR)/mpi_gsnap-gbuffer.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/gbuffer.c' object='mpi_gsnap-gbuffer.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-gbuffer.obj `if test -f '$(srcdir)/gbuffer.c'; then $(CYGPATH_W) '$(srcdir)/gbuffer.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/gbuffer.c'; fi` mpi_gsnap-translation.o: $(srcdir)/translation.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-translation.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-translation.Tpo -c -o mpi_gsnap-translation.o `test -f '$(srcdir)/translation.c' || echo '$(srcdir)/'`$(srcdir)/translation.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-translation.Tpo $(DEPDIR)/mpi_gsnap-translation.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/translation.c' object='mpi_gsnap-translation.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-translation.o `test -f '$(srcdir)/translation.c' || echo '$(srcdir)/'`$(srcdir)/translation.c mpi_gsnap-translation.obj: $(srcdir)/translation.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-translation.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-translation.Tpo -c -o mpi_gsnap-translation.obj `if test -f '$(srcdir)/translation.c'; then $(CYGPATH_W) '$(srcdir)/translation.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/translation.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-translation.Tpo $(DEPDIR)/mpi_gsnap-translation.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/translation.c' object='mpi_gsnap-translation.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-translation.obj `if test -f '$(srcdir)/translation.c'; then $(CYGPATH_W) '$(srcdir)/translation.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/translation.c'; fi` mpi_gsnap-doublelist.o: $(srcdir)/doublelist.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-doublelist.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-doublelist.Tpo -c -o mpi_gsnap-doublelist.o `test -f '$(srcdir)/doublelist.c' || echo '$(srcdir)/'`$(srcdir)/doublelist.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-doublelist.Tpo $(DEPDIR)/mpi_gsnap-doublelist.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/doublelist.c' object='mpi_gsnap-doublelist.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-doublelist.o `test -f '$(srcdir)/doublelist.c' || echo '$(srcdir)/'`$(srcdir)/doublelist.c mpi_gsnap-doublelist.obj: $(srcdir)/doublelist.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-doublelist.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-doublelist.Tpo -c -o mpi_gsnap-doublelist.obj `if test -f '$(srcdir)/doublelist.c'; then $(CYGPATH_W) '$(srcdir)/doublelist.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/doublelist.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-doublelist.Tpo $(DEPDIR)/mpi_gsnap-doublelist.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/doublelist.c' object='mpi_gsnap-doublelist.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-doublelist.obj `if test -f '$(srcdir)/doublelist.c'; then $(CYGPATH_W) '$(srcdir)/doublelist.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/doublelist.c'; fi` mpi_gsnap-smooth.o: $(srcdir)/smooth.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-smooth.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-smooth.Tpo -c -o mpi_gsnap-smooth.o `test -f '$(srcdir)/smooth.c' || echo '$(srcdir)/'`$(srcdir)/smooth.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-smooth.Tpo $(DEPDIR)/mpi_gsnap-smooth.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/smooth.c' object='mpi_gsnap-smooth.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-smooth.o `test -f '$(srcdir)/smooth.c' || echo '$(srcdir)/'`$(srcdir)/smooth.c mpi_gsnap-smooth.obj: $(srcdir)/smooth.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-smooth.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-smooth.Tpo -c -o mpi_gsnap-smooth.obj `if test -f '$(srcdir)/smooth.c'; then $(CYGPATH_W) '$(srcdir)/smooth.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/smooth.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-smooth.Tpo $(DEPDIR)/mpi_gsnap-smooth.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/smooth.c' object='mpi_gsnap-smooth.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-smooth.obj `if test -f '$(srcdir)/smooth.c'; then $(CYGPATH_W) '$(srcdir)/smooth.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/smooth.c'; fi` mpi_gsnap-chimera.o: $(srcdir)/chimera.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-chimera.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-chimera.Tpo -c -o mpi_gsnap-chimera.o `test -f '$(srcdir)/chimera.c' || echo '$(srcdir)/'`$(srcdir)/chimera.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-chimera.Tpo $(DEPDIR)/mpi_gsnap-chimera.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/chimera.c' object='mpi_gsnap-chimera.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-chimera.o `test -f '$(srcdir)/chimera.c' || echo '$(srcdir)/'`$(srcdir)/chimera.c mpi_gsnap-chimera.obj: $(srcdir)/chimera.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-chimera.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-chimera.Tpo -c -o mpi_gsnap-chimera.obj `if test -f '$(srcdir)/chimera.c'; then $(CYGPATH_W) '$(srcdir)/chimera.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/chimera.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-chimera.Tpo $(DEPDIR)/mpi_gsnap-chimera.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/chimera.c' object='mpi_gsnap-chimera.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-chimera.obj `if test -f '$(srcdir)/chimera.c'; then $(CYGPATH_W) '$(srcdir)/chimera.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/chimera.c'; fi` mpi_gsnap-stage3.o: $(srcdir)/stage3.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-stage3.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-stage3.Tpo -c -o mpi_gsnap-stage3.o `test -f '$(srcdir)/stage3.c' || echo '$(srcdir)/'`$(srcdir)/stage3.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-stage3.Tpo $(DEPDIR)/mpi_gsnap-stage3.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/stage3.c' object='mpi_gsnap-stage3.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-stage3.o `test -f '$(srcdir)/stage3.c' || echo '$(srcdir)/'`$(srcdir)/stage3.c mpi_gsnap-stage3.obj: $(srcdir)/stage3.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-stage3.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-stage3.Tpo -c -o mpi_gsnap-stage3.obj `if test -f '$(srcdir)/stage3.c'; then $(CYGPATH_W) '$(srcdir)/stage3.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/stage3.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-stage3.Tpo $(DEPDIR)/mpi_gsnap-stage3.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/stage3.c' object='mpi_gsnap-stage3.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-stage3.obj `if test -f '$(srcdir)/stage3.c'; then $(CYGPATH_W) '$(srcdir)/stage3.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/stage3.c'; fi` mpi_gsnap-splicestringpool.o: $(srcdir)/splicestringpool.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-splicestringpool.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-splicestringpool.Tpo -c -o mpi_gsnap-splicestringpool.o `test -f '$(srcdir)/splicestringpool.c' || echo '$(srcdir)/'`$(srcdir)/splicestringpool.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-splicestringpool.Tpo $(DEPDIR)/mpi_gsnap-splicestringpool.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/splicestringpool.c' object='mpi_gsnap-splicestringpool.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-splicestringpool.o `test -f '$(srcdir)/splicestringpool.c' || echo '$(srcdir)/'`$(srcdir)/splicestringpool.c mpi_gsnap-splicestringpool.obj: $(srcdir)/splicestringpool.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-splicestringpool.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-splicestringpool.Tpo -c -o mpi_gsnap-splicestringpool.obj `if test -f '$(srcdir)/splicestringpool.c'; then $(CYGPATH_W) '$(srcdir)/splicestringpool.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/splicestringpool.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-splicestringpool.Tpo $(DEPDIR)/mpi_gsnap-splicestringpool.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/splicestringpool.c' object='mpi_gsnap-splicestringpool.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-splicestringpool.obj `if test -f '$(srcdir)/splicestringpool.c'; then $(CYGPATH_W) '$(srcdir)/splicestringpool.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/splicestringpool.c'; fi` mpi_gsnap-splicetrie_build.o: $(srcdir)/splicetrie_build.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-splicetrie_build.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-splicetrie_build.Tpo -c -o mpi_gsnap-splicetrie_build.o `test -f '$(srcdir)/splicetrie_build.c' || echo '$(srcdir)/'`$(srcdir)/splicetrie_build.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-splicetrie_build.Tpo $(DEPDIR)/mpi_gsnap-splicetrie_build.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/splicetrie_build.c' object='mpi_gsnap-splicetrie_build.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-splicetrie_build.o `test -f '$(srcdir)/splicetrie_build.c' || echo '$(srcdir)/'`$(srcdir)/splicetrie_build.c mpi_gsnap-splicetrie_build.obj: $(srcdir)/splicetrie_build.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-splicetrie_build.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-splicetrie_build.Tpo -c -o mpi_gsnap-splicetrie_build.obj `if test -f '$(srcdir)/splicetrie_build.c'; then $(CYGPATH_W) '$(srcdir)/splicetrie_build.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/splicetrie_build.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-splicetrie_build.Tpo $(DEPDIR)/mpi_gsnap-splicetrie_build.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/splicetrie_build.c' object='mpi_gsnap-splicetrie_build.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-splicetrie_build.obj `if test -f '$(srcdir)/splicetrie_build.c'; then $(CYGPATH_W) '$(srcdir)/splicetrie_build.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/splicetrie_build.c'; fi` mpi_gsnap-splicetrie.o: $(srcdir)/splicetrie.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-splicetrie.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-splicetrie.Tpo -c -o mpi_gsnap-splicetrie.o `test -f '$(srcdir)/splicetrie.c' || echo '$(srcdir)/'`$(srcdir)/splicetrie.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-splicetrie.Tpo $(DEPDIR)/mpi_gsnap-splicetrie.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/splicetrie.c' object='mpi_gsnap-splicetrie.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-splicetrie.o `test -f '$(srcdir)/splicetrie.c' || echo '$(srcdir)/'`$(srcdir)/splicetrie.c mpi_gsnap-splicetrie.obj: $(srcdir)/splicetrie.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-splicetrie.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-splicetrie.Tpo -c -o mpi_gsnap-splicetrie.obj `if test -f '$(srcdir)/splicetrie.c'; then $(CYGPATH_W) '$(srcdir)/splicetrie.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/splicetrie.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-splicetrie.Tpo $(DEPDIR)/mpi_gsnap-splicetrie.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/splicetrie.c' object='mpi_gsnap-splicetrie.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-splicetrie.obj `if test -f '$(srcdir)/splicetrie.c'; then $(CYGPATH_W) '$(srcdir)/splicetrie.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/splicetrie.c'; fi` mpi_gsnap-splice.o: $(srcdir)/splice.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-splice.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-splice.Tpo -c -o mpi_gsnap-splice.o `test -f '$(srcdir)/splice.c' || echo '$(srcdir)/'`$(srcdir)/splice.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-splice.Tpo $(DEPDIR)/mpi_gsnap-splice.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/splice.c' object='mpi_gsnap-splice.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-splice.o `test -f '$(srcdir)/splice.c' || echo '$(srcdir)/'`$(srcdir)/splice.c mpi_gsnap-splice.obj: $(srcdir)/splice.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-splice.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-splice.Tpo -c -o mpi_gsnap-splice.obj `if test -f '$(srcdir)/splice.c'; then $(CYGPATH_W) '$(srcdir)/splice.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/splice.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-splice.Tpo $(DEPDIR)/mpi_gsnap-splice.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/splice.c' object='mpi_gsnap-splice.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-splice.obj `if test -f '$(srcdir)/splice.c'; then $(CYGPATH_W) '$(srcdir)/splice.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/splice.c'; fi` mpi_gsnap-indel.o: $(srcdir)/indel.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-indel.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-indel.Tpo -c -o mpi_gsnap-indel.o `test -f '$(srcdir)/indel.c' || echo '$(srcdir)/'`$(srcdir)/indel.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-indel.Tpo $(DEPDIR)/mpi_gsnap-indel.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/indel.c' object='mpi_gsnap-indel.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-indel.o `test -f '$(srcdir)/indel.c' || echo '$(srcdir)/'`$(srcdir)/indel.c mpi_gsnap-indel.obj: $(srcdir)/indel.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-indel.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-indel.Tpo -c -o mpi_gsnap-indel.obj `if test -f '$(srcdir)/indel.c'; then $(CYGPATH_W) '$(srcdir)/indel.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/indel.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-indel.Tpo $(DEPDIR)/mpi_gsnap-indel.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/indel.c' object='mpi_gsnap-indel.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-indel.obj `if test -f '$(srcdir)/indel.c'; then $(CYGPATH_W) '$(srcdir)/indel.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/indel.c'; fi` mpi_gsnap-bitpack64-access.o: $(srcdir)/bitpack64-access.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-bitpack64-access.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-bitpack64-access.Tpo -c -o mpi_gsnap-bitpack64-access.o `test -f '$(srcdir)/bitpack64-access.c' || echo '$(srcdir)/'`$(srcdir)/bitpack64-access.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-bitpack64-access.Tpo $(DEPDIR)/mpi_gsnap-bitpack64-access.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/bitpack64-access.c' object='mpi_gsnap-bitpack64-access.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-bitpack64-access.o `test -f '$(srcdir)/bitpack64-access.c' || echo '$(srcdir)/'`$(srcdir)/bitpack64-access.c mpi_gsnap-bitpack64-access.obj: $(srcdir)/bitpack64-access.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-bitpack64-access.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-bitpack64-access.Tpo -c -o mpi_gsnap-bitpack64-access.obj `if test -f '$(srcdir)/bitpack64-access.c'; then $(CYGPATH_W) '$(srcdir)/bitpack64-access.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/bitpack64-access.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-bitpack64-access.Tpo $(DEPDIR)/mpi_gsnap-bitpack64-access.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/bitpack64-access.c' object='mpi_gsnap-bitpack64-access.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-bitpack64-access.obj `if test -f '$(srcdir)/bitpack64-access.c'; then $(CYGPATH_W) '$(srcdir)/bitpack64-access.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/bitpack64-access.c'; fi` mpi_gsnap-bytecoding.o: $(srcdir)/bytecoding.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-bytecoding.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-bytecoding.Tpo -c -o mpi_gsnap-bytecoding.o `test -f '$(srcdir)/bytecoding.c' || echo '$(srcdir)/'`$(srcdir)/bytecoding.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-bytecoding.Tpo $(DEPDIR)/mpi_gsnap-bytecoding.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/bytecoding.c' object='mpi_gsnap-bytecoding.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-bytecoding.o `test -f '$(srcdir)/bytecoding.c' || echo '$(srcdir)/'`$(srcdir)/bytecoding.c mpi_gsnap-bytecoding.obj: $(srcdir)/bytecoding.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-bytecoding.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-bytecoding.Tpo -c -o mpi_gsnap-bytecoding.obj `if test -f '$(srcdir)/bytecoding.c'; then $(CYGPATH_W) '$(srcdir)/bytecoding.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/bytecoding.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-bytecoding.Tpo $(DEPDIR)/mpi_gsnap-bytecoding.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/bytecoding.c' object='mpi_gsnap-bytecoding.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-bytecoding.obj `if test -f '$(srcdir)/bytecoding.c'; then $(CYGPATH_W) '$(srcdir)/bytecoding.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/bytecoding.c'; fi` mpi_gsnap-univdiag.o: $(srcdir)/univdiag.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-univdiag.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-univdiag.Tpo -c -o mpi_gsnap-univdiag.o `test -f '$(srcdir)/univdiag.c' || echo '$(srcdir)/'`$(srcdir)/univdiag.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-univdiag.Tpo $(DEPDIR)/mpi_gsnap-univdiag.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/univdiag.c' object='mpi_gsnap-univdiag.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-univdiag.o `test -f '$(srcdir)/univdiag.c' || echo '$(srcdir)/'`$(srcdir)/univdiag.c mpi_gsnap-univdiag.obj: $(srcdir)/univdiag.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-univdiag.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-univdiag.Tpo -c -o mpi_gsnap-univdiag.obj `if test -f '$(srcdir)/univdiag.c'; then $(CYGPATH_W) '$(srcdir)/univdiag.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/univdiag.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-univdiag.Tpo $(DEPDIR)/mpi_gsnap-univdiag.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/univdiag.c' object='mpi_gsnap-univdiag.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-univdiag.obj `if test -f '$(srcdir)/univdiag.c'; then $(CYGPATH_W) '$(srcdir)/univdiag.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/univdiag.c'; fi` mpi_gsnap-sarray-read.o: $(srcdir)/sarray-read.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-sarray-read.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-sarray-read.Tpo -c -o mpi_gsnap-sarray-read.o `test -f '$(srcdir)/sarray-read.c' || echo '$(srcdir)/'`$(srcdir)/sarray-read.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-sarray-read.Tpo $(DEPDIR)/mpi_gsnap-sarray-read.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/sarray-read.c' object='mpi_gsnap-sarray-read.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-sarray-read.o `test -f '$(srcdir)/sarray-read.c' || echo '$(srcdir)/'`$(srcdir)/sarray-read.c mpi_gsnap-sarray-read.obj: $(srcdir)/sarray-read.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-sarray-read.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-sarray-read.Tpo -c -o mpi_gsnap-sarray-read.obj `if test -f '$(srcdir)/sarray-read.c'; then $(CYGPATH_W) '$(srcdir)/sarray-read.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/sarray-read.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-sarray-read.Tpo $(DEPDIR)/mpi_gsnap-sarray-read.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/sarray-read.c' object='mpi_gsnap-sarray-read.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-sarray-read.obj `if test -f '$(srcdir)/sarray-read.c'; then $(CYGPATH_W) '$(srcdir)/sarray-read.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/sarray-read.c'; fi` mpi_gsnap-stage1hr.o: $(srcdir)/stage1hr.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-stage1hr.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-stage1hr.Tpo -c -o mpi_gsnap-stage1hr.o `test -f '$(srcdir)/stage1hr.c' || echo '$(srcdir)/'`$(srcdir)/stage1hr.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-stage1hr.Tpo $(DEPDIR)/mpi_gsnap-stage1hr.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/stage1hr.c' object='mpi_gsnap-stage1hr.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-stage1hr.o `test -f '$(srcdir)/stage1hr.c' || echo '$(srcdir)/'`$(srcdir)/stage1hr.c mpi_gsnap-stage1hr.obj: $(srcdir)/stage1hr.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-stage1hr.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-stage1hr.Tpo -c -o mpi_gsnap-stage1hr.obj `if test -f '$(srcdir)/stage1hr.c'; then $(CYGPATH_W) '$(srcdir)/stage1hr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/stage1hr.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-stage1hr.Tpo $(DEPDIR)/mpi_gsnap-stage1hr.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/stage1hr.c' object='mpi_gsnap-stage1hr.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-stage1hr.obj `if test -f '$(srcdir)/stage1hr.c'; then $(CYGPATH_W) '$(srcdir)/stage1hr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/stage1hr.c'; fi` mpi_gsnap-request.o: $(srcdir)/request.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-request.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-request.Tpo -c -o mpi_gsnap-request.o `test -f '$(srcdir)/request.c' || echo '$(srcdir)/'`$(srcdir)/request.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-request.Tpo $(DEPDIR)/mpi_gsnap-request.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/request.c' object='mpi_gsnap-request.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-request.o `test -f '$(srcdir)/request.c' || echo '$(srcdir)/'`$(srcdir)/request.c mpi_gsnap-request.obj: $(srcdir)/request.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-request.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-request.Tpo -c -o mpi_gsnap-request.obj `if test -f '$(srcdir)/request.c'; then $(CYGPATH_W) '$(srcdir)/request.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/request.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-request.Tpo $(DEPDIR)/mpi_gsnap-request.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/request.c' object='mpi_gsnap-request.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-request.obj `if test -f '$(srcdir)/request.c'; then $(CYGPATH_W) '$(srcdir)/request.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/request.c'; fi` mpi_gsnap-resulthr.o: $(srcdir)/resulthr.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-resulthr.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-resulthr.Tpo -c -o mpi_gsnap-resulthr.o `test -f '$(srcdir)/resulthr.c' || echo '$(srcdir)/'`$(srcdir)/resulthr.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-resulthr.Tpo $(DEPDIR)/mpi_gsnap-resulthr.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/resulthr.c' object='mpi_gsnap-resulthr.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-resulthr.o `test -f '$(srcdir)/resulthr.c' || echo '$(srcdir)/'`$(srcdir)/resulthr.c mpi_gsnap-resulthr.obj: $(srcdir)/resulthr.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-resulthr.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-resulthr.Tpo -c -o mpi_gsnap-resulthr.obj `if test -f '$(srcdir)/resulthr.c'; then $(CYGPATH_W) '$(srcdir)/resulthr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/resulthr.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-resulthr.Tpo $(DEPDIR)/mpi_gsnap-resulthr.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/resulthr.c' object='mpi_gsnap-resulthr.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-resulthr.obj `if test -f '$(srcdir)/resulthr.c'; then $(CYGPATH_W) '$(srcdir)/resulthr.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/resulthr.c'; fi` mpi_gsnap-output.o: $(srcdir)/output.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-output.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-output.Tpo -c -o mpi_gsnap-output.o `test -f '$(srcdir)/output.c' || echo '$(srcdir)/'`$(srcdir)/output.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-output.Tpo $(DEPDIR)/mpi_gsnap-output.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/output.c' object='mpi_gsnap-output.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-output.o `test -f '$(srcdir)/output.c' || echo '$(srcdir)/'`$(srcdir)/output.c mpi_gsnap-output.obj: $(srcdir)/output.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-output.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-output.Tpo -c -o mpi_gsnap-output.obj `if test -f '$(srcdir)/output.c'; then $(CYGPATH_W) '$(srcdir)/output.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/output.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-output.Tpo $(DEPDIR)/mpi_gsnap-output.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/output.c' object='mpi_gsnap-output.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-output.obj `if test -f '$(srcdir)/output.c'; then $(CYGPATH_W) '$(srcdir)/output.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/output.c'; fi` mpi_gsnap-master.o: $(srcdir)/master.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-master.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-master.Tpo -c -o mpi_gsnap-master.o `test -f '$(srcdir)/master.c' || echo '$(srcdir)/'`$(srcdir)/master.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-master.Tpo $(DEPDIR)/mpi_gsnap-master.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/master.c' object='mpi_gsnap-master.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-master.o `test -f '$(srcdir)/master.c' || echo '$(srcdir)/'`$(srcdir)/master.c mpi_gsnap-master.obj: $(srcdir)/master.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-master.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-master.Tpo -c -o mpi_gsnap-master.obj `if test -f '$(srcdir)/master.c'; then $(CYGPATH_W) '$(srcdir)/master.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/master.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-master.Tpo $(DEPDIR)/mpi_gsnap-master.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/master.c' object='mpi_gsnap-master.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-master.obj `if test -f '$(srcdir)/master.c'; then $(CYGPATH_W) '$(srcdir)/master.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/master.c'; fi` mpi_gsnap-inbuffer.o: $(srcdir)/inbuffer.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-inbuffer.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-inbuffer.Tpo -c -o mpi_gsnap-inbuffer.o `test -f '$(srcdir)/inbuffer.c' || echo '$(srcdir)/'`$(srcdir)/inbuffer.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-inbuffer.Tpo $(DEPDIR)/mpi_gsnap-inbuffer.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/inbuffer.c' object='mpi_gsnap-inbuffer.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-inbuffer.o `test -f '$(srcdir)/inbuffer.c' || echo '$(srcdir)/'`$(srcdir)/inbuffer.c mpi_gsnap-inbuffer.obj: $(srcdir)/inbuffer.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-inbuffer.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-inbuffer.Tpo -c -o mpi_gsnap-inbuffer.obj `if test -f '$(srcdir)/inbuffer.c'; then $(CYGPATH_W) '$(srcdir)/inbuffer.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/inbuffer.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-inbuffer.Tpo $(DEPDIR)/mpi_gsnap-inbuffer.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/inbuffer.c' object='mpi_gsnap-inbuffer.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-inbuffer.obj `if test -f '$(srcdir)/inbuffer.c'; then $(CYGPATH_W) '$(srcdir)/inbuffer.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/inbuffer.c'; fi` mpi_gsnap-samheader.o: $(srcdir)/samheader.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-samheader.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-samheader.Tpo -c -o mpi_gsnap-samheader.o `test -f '$(srcdir)/samheader.c' || echo '$(srcdir)/'`$(srcdir)/samheader.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-samheader.Tpo $(DEPDIR)/mpi_gsnap-samheader.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/samheader.c' object='mpi_gsnap-samheader.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-samheader.o `test -f '$(srcdir)/samheader.c' || echo '$(srcdir)/'`$(srcdir)/samheader.c mpi_gsnap-samheader.obj: $(srcdir)/samheader.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-samheader.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-samheader.Tpo -c -o mpi_gsnap-samheader.obj `if test -f '$(srcdir)/samheader.c'; then $(CYGPATH_W) '$(srcdir)/samheader.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/samheader.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-samheader.Tpo $(DEPDIR)/mpi_gsnap-samheader.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/samheader.c' object='mpi_gsnap-samheader.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-samheader.obj `if test -f '$(srcdir)/samheader.c'; then $(CYGPATH_W) '$(srcdir)/samheader.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/samheader.c'; fi` mpi_gsnap-outbuffer.o: $(srcdir)/outbuffer.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-outbuffer.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-outbuffer.Tpo -c -o mpi_gsnap-outbuffer.o `test -f '$(srcdir)/outbuffer.c' || echo '$(srcdir)/'`$(srcdir)/outbuffer.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-outbuffer.Tpo $(DEPDIR)/mpi_gsnap-outbuffer.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/outbuffer.c' object='mpi_gsnap-outbuffer.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-outbuffer.o `test -f '$(srcdir)/outbuffer.c' || echo '$(srcdir)/'`$(srcdir)/outbuffer.c mpi_gsnap-outbuffer.obj: $(srcdir)/outbuffer.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-outbuffer.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-outbuffer.Tpo -c -o mpi_gsnap-outbuffer.obj `if test -f '$(srcdir)/outbuffer.c'; then $(CYGPATH_W) '$(srcdir)/outbuffer.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/outbuffer.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-outbuffer.Tpo $(DEPDIR)/mpi_gsnap-outbuffer.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/outbuffer.c' object='mpi_gsnap-outbuffer.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-outbuffer.obj `if test -f '$(srcdir)/outbuffer.c'; then $(CYGPATH_W) '$(srcdir)/outbuffer.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/outbuffer.c'; fi` mpi_gsnap-datadir.o: $(srcdir)/datadir.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-datadir.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-datadir.Tpo -c -o mpi_gsnap-datadir.o `test -f '$(srcdir)/datadir.c' || echo '$(srcdir)/'`$(srcdir)/datadir.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-datadir.Tpo $(DEPDIR)/mpi_gsnap-datadir.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/datadir.c' object='mpi_gsnap-datadir.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-datadir.o `test -f '$(srcdir)/datadir.c' || echo '$(srcdir)/'`$(srcdir)/datadir.c mpi_gsnap-datadir.obj: $(srcdir)/datadir.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-datadir.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-datadir.Tpo -c -o mpi_gsnap-datadir.obj `if test -f '$(srcdir)/datadir.c'; then $(CYGPATH_W) '$(srcdir)/datadir.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/datadir.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-datadir.Tpo $(DEPDIR)/mpi_gsnap-datadir.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/datadir.c' object='mpi_gsnap-datadir.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-datadir.obj `if test -f '$(srcdir)/datadir.c'; then $(CYGPATH_W) '$(srcdir)/datadir.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/datadir.c'; fi` mpi_gsnap-getopt.o: $(srcdir)/getopt.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-getopt.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-getopt.Tpo -c -o mpi_gsnap-getopt.o `test -f '$(srcdir)/getopt.c' || echo '$(srcdir)/'`$(srcdir)/getopt.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-getopt.Tpo $(DEPDIR)/mpi_gsnap-getopt.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/getopt.c' object='mpi_gsnap-getopt.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-getopt.o `test -f '$(srcdir)/getopt.c' || echo '$(srcdir)/'`$(srcdir)/getopt.c mpi_gsnap-getopt.obj: $(srcdir)/getopt.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-getopt.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-getopt.Tpo -c -o mpi_gsnap-getopt.obj `if test -f '$(srcdir)/getopt.c'; then $(CYGPATH_W) '$(srcdir)/getopt.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/getopt.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-getopt.Tpo $(DEPDIR)/mpi_gsnap-getopt.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/getopt.c' object='mpi_gsnap-getopt.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-getopt.obj `if test -f '$(srcdir)/getopt.c'; then $(CYGPATH_W) '$(srcdir)/getopt.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/getopt.c'; fi` mpi_gsnap-getopt1.o: $(srcdir)/getopt1.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-getopt1.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-getopt1.Tpo -c -o mpi_gsnap-getopt1.o `test -f '$(srcdir)/getopt1.c' || echo '$(srcdir)/'`$(srcdir)/getopt1.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-getopt1.Tpo $(DEPDIR)/mpi_gsnap-getopt1.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/getopt1.c' object='mpi_gsnap-getopt1.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-getopt1.o `test -f '$(srcdir)/getopt1.c' || echo '$(srcdir)/'`$(srcdir)/getopt1.c mpi_gsnap-getopt1.obj: $(srcdir)/getopt1.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-getopt1.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-getopt1.Tpo -c -o mpi_gsnap-getopt1.obj `if test -f '$(srcdir)/getopt1.c'; then $(CYGPATH_W) '$(srcdir)/getopt1.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/getopt1.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-getopt1.Tpo $(DEPDIR)/mpi_gsnap-getopt1.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/getopt1.c' object='mpi_gsnap-getopt1.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-getopt1.obj `if test -f '$(srcdir)/getopt1.c'; then $(CYGPATH_W) '$(srcdir)/getopt1.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/getopt1.c'; fi` mpi_gsnap-gsnap.o: $(srcdir)/gsnap.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-gsnap.o -MD -MP -MF $(DEPDIR)/mpi_gsnap-gsnap.Tpo -c -o mpi_gsnap-gsnap.o `test -f '$(srcdir)/gsnap.c' || echo '$(srcdir)/'`$(srcdir)/gsnap.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-gsnap.Tpo $(DEPDIR)/mpi_gsnap-gsnap.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/gsnap.c' object='mpi_gsnap-gsnap.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-gsnap.o `test -f '$(srcdir)/gsnap.c' || echo '$(srcdir)/'`$(srcdir)/gsnap.c mpi_gsnap-gsnap.obj: $(srcdir)/gsnap.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -MT mpi_gsnap-gsnap.obj -MD -MP -MF $(DEPDIR)/mpi_gsnap-gsnap.Tpo -c -o mpi_gsnap-gsnap.obj `if test -f '$(srcdir)/gsnap.c'; then $(CYGPATH_W) '$(srcdir)/gsnap.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/gsnap.c'; fi` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/mpi_gsnap-gsnap.Tpo $(DEPDIR)/mpi_gsnap-gsnap.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/gsnap.c' object='mpi_gsnap-gsnap.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_gsnap_CFLAGS) $(CFLAGS) -c -o mpi_gsnap-gsnap.obj `if test -f '$(srcdir)/gsnap.c'; then $(CYGPATH_W) '$(srcdir)/gsnap.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/gsnap.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic clean-libtool ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-binPROGRAMS install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am \ uninstall-binPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gmap-2015-12-31/mpi/Makefile.am0000644002622600023770000002225012654517365012624 00000000000000 CC = $(MPICC) srcdir = $(top_srcdir)/src # This is a configure-time conditional if MPI_FOUND bin_PROGRAMS = mpi_gsnap endif MPI_GSNAP_FILES = $(srcdir)/mpidebug.c $(srcdir)/mpidebug.h \ $(srcdir)/fopen.h $(srcdir)/bool.h $(srcdir)/types.h $(srcdir)/separator.h $(srcdir)/comp.h \ $(srcdir)/except.c $(srcdir)/except.h $(srcdir)/assert.c $(srcdir)/assert.h $(srcdir)/mem.c $(srcdir)/mem.h \ $(srcdir)/intlistdef.h $(srcdir)/intlist.c $(srcdir)/intlist.h $(srcdir)/listdef.h $(srcdir)/list.c $(srcdir)/list.h \ $(srcdir)/littleendian.c $(srcdir)/littleendian.h $(srcdir)/bigendian.c $(srcdir)/bigendian.h \ $(srcdir)/univinterval.c $(srcdir)/univinterval.h $(srcdir)/interval.c $(srcdir)/interval.h \ $(srcdir)/uintlist.c $(srcdir)/uintlist.h \ $(srcdir)/stopwatch.c $(srcdir)/stopwatch.h $(srcdir)/access.c $(srcdir)/access.h \ $(srcdir)/filestring.c $(srcdir)/filestring.h \ $(srcdir)/iit-read-univ.c $(srcdir)/iit-read-univ.h $(srcdir)/iitdef.h $(srcdir)/iit-read.c $(srcdir)/iit-read.h \ $(srcdir)/md5.c $(srcdir)/md5.h $(srcdir)/complement.h $(srcdir)/bzip2.c $(srcdir)/bzip2.h $(srcdir)/sequence.c $(srcdir)/sequence.h $(srcdir)/reader.c $(srcdir)/reader.h \ $(srcdir)/genomicpos.c $(srcdir)/genomicpos.h $(srcdir)/compress.c $(srcdir)/compress.h \ $(srcdir)/genome.c $(srcdir)/genome.h \ $(srcdir)/popcount.c $(srcdir)/popcount.h $(srcdir)/genome128_hr.c $(srcdir)/genome128_hr.h $(srcdir)/genome_sites.c $(srcdir)/genome_sites.h \ $(srcdir)/bitpack64-read.c $(srcdir)/bitpack64-read.h $(srcdir)/bitpack64-readtwo.c $(srcdir)/bitpack64-readtwo.h \ $(srcdir)/indexdbdef.h $(srcdir)/indexdb.c $(srcdir)/indexdb.h $(srcdir)/indexdb_hr.c $(srcdir)/indexdb_hr.h \ $(srcdir)/oligo.c $(srcdir)/oligo.h \ $(srcdir)/chrom.c $(srcdir)/chrom.h $(srcdir)/segmentpos.c $(srcdir)/segmentpos.h \ $(srcdir)/chrnum.c $(srcdir)/chrnum.h \ $(srcdir)/maxent_hr.c $(srcdir)/maxent_hr.h $(srcdir)/samflags.h $(srcdir)/samprint.c $(srcdir)/samprint.h \ $(srcdir)/mapq.c $(srcdir)/mapq.h $(srcdir)/shortread.c $(srcdir)/shortread.h $(srcdir)/substring.c $(srcdir)/substring.h $(srcdir)/junction.c $(srcdir)/junction.h $(srcdir)/stage3hr.c $(srcdir)/stage3hr.h \ $(srcdir)/spanningelt.c $(srcdir)/spanningelt.h $(srcdir)/cmet.c $(srcdir)/cmet.h $(srcdir)/atoi.c $(srcdir)/atoi.h \ $(srcdir)/comp.h $(srcdir)/maxent.c $(srcdir)/maxent.h $(srcdir)/pairdef.h $(srcdir)/pair.c $(srcdir)/pair.h $(srcdir)/pairpool.c $(srcdir)/pairpool.h $(srcdir)/diag.c $(srcdir)/diag.h $(srcdir)/diagpool.c $(srcdir)/diagpool.h \ $(srcdir)/orderstat.c $(srcdir)/orderstat.h $(srcdir)/oligoindex_hr.c $(srcdir)/oligoindex_hr.h $(srcdir)/cellpool.c $(srcdir)/cellpool.h $(srcdir)/stage2.c $(srcdir)/stage2.h \ $(srcdir)/intron.c $(srcdir)/intron.h $(srcdir)/boyer-moore.c $(srcdir)/boyer-moore.h $(srcdir)/changepoint.c $(srcdir)/changepoint.h $(srcdir)/pbinom.c $(srcdir)/pbinom.h \ $(srcdir)/dynprog.c $(srcdir)/dynprog.h $(srcdir)/dynprog_simd.c $(srcdir)/dynprog_simd.h \ $(srcdir)/dynprog_single.c $(srcdir)/dynprog_single.h $(srcdir)/dynprog_genome.c $(srcdir)/dynprog_genome.h $(srcdir)/dynprog_cdna.c $(srcdir)/dynprog_cdna.h $(srcdir)/dynprog_end.c $(srcdir)/dynprog_end.h \ $(srcdir)/gbuffer.c $(srcdir)/gbuffer.h $(srcdir)/translation.c $(srcdir)/translation.h \ $(srcdir)/doublelist.c $(srcdir)/doublelist.h $(srcdir)/smooth.c $(srcdir)/smooth.h \ $(srcdir)/chimera.c $(srcdir)/chimera.h $(srcdir)/sense.h $(srcdir)/fastlog.h $(srcdir)/stage3.c $(srcdir)/stage3.h \ $(srcdir)/splicestringpool.c $(srcdir)/splicestringpool.h $(srcdir)/splicetrie_build.c $(srcdir)/splicetrie_build.h $(srcdir)/splicetrie.c $(srcdir)/splicetrie.h \ $(srcdir)/splice.c $(srcdir)/splice.h $(srcdir)/indel.c $(srcdir)/indel.h $(srcdir)/bitpack64-access.c $(srcdir)/bitpack64-access.h \ $(srcdir)/bytecoding.c $(srcdir)/bytecoding.h $(srcdir)/univdiagdef.h $(srcdir)/univdiag.c $(srcdir)/univdiag.h $(srcdir)/sarray-read.c $(srcdir)/sarray-read.h \ $(srcdir)/stage1hr.c $(srcdir)/stage1hr.h \ $(srcdir)/request.c $(srcdir)/request.h $(srcdir)/resulthr.c $(srcdir)/resulthr.h $(srcdir)/output.c $(srcdir)/output.h \ $(srcdir)/master.c $(srcdir)/master.h \ $(srcdir)/inbuffer.c $(srcdir)/inbuffer.h $(srcdir)/samheader.c $(srcdir)/samheader.h $(srcdir)/outbuffer.c $(srcdir)/outbuffer.h \ $(srcdir)/datadir.c $(srcdir)/datadir.h $(srcdir)/mode.h \ $(srcdir)/getopt.c $(srcdir)/getopt1.c $(srcdir)/getopt.h $(srcdir)/gsnap.c # Note: dist_ commands get read by bootstrap, and don't follow the flags mpi_gsnap_CC = $(MPICC) mpi_gsnap_CFLAGS = $(MPI_CFLAGS) $(AM_CFLAGS) $(PTHREAD_CFLAGS) $(POPCNT_CFLAGS) $(SIMD_CFLAGS) -DTARGET=\"$(target)\" -DGMAPDB=\"$(GMAPDB)\" -DMAX_READLENGTH=$(MAX_READLENGTH) -DGSNAP=1 -DUSE_MPI=1 mpi_gsnap_LDFLAGS = $(AM_LDFLAGS) $(STATIC_LDFLAG) mpi_gsnap_LDADD = $(PTHREAD_LIBS) $(ZLIB_LIBS) $(BZLIB_LIBS) # Need nodist_ to prevent sources from being copied from src/ subdirectory nodist_mpi_gsnap_SOURCES = $(MPI_GSNAP_FILES) MPI_GMAP_FILES = $(srcdir)/mpidebug.c $(srcdir)/mpidebug.h \ $(srcdir)/= $(srcdir)/fopen.h $(srcdir)/bool.h $(srcdir)/types.h $(srcdir)/separator.h $(srcdir)/comp.h \ $(srcdir)/except.c $(srcdir)/except.h $(srcdir)/assert.c $(srcdir)/assert.h $(srcdir)/mem.c $(srcdir)/mem.h \ $(srcdir)/intlistdef.h $(srcdir)/intlist.c $(srcdir)/intlist.h $(srcdir)/listdef.h $(srcdir)/list.c $(srcdir)/list.h \ $(srcdir)/littleendian.c $(srcdir)/littleendian.h $(srcdir)/bigendian.c $(srcdir)/bigendian.h \ $(srcdir)/univinterval.c $(srcdir)/univinterval.h $(srcdir)/interval.c $(srcdir)/interval.h $(srcdir)/uintlist.c $(srcdir)/uintlist.h \ $(srcdir)/stopwatch.c $(srcdir)/stopwatch.h $(srcdir)/access.c $(srcdir)/access.h \ $(srcdir)/filestring.c $(srcdir)/filestring.h \ $(srcdir)/iit-read-univ.c $(srcdir)/iit-read-univ.h $(srcdir)/iitdef.h $(srcdir)/iit-read.c $(srcdir)/iit-read.h \ $(srcdir)/md5.c $(srcdir)/md5.h $(srcdir)/complement.h $(srcdir)/bzip2.c $(srcdir)/bzip2.h $(srcdir)/sequence.c $(srcdir)/sequence.h $(srcdir)/reader.c $(srcdir)/reader.h \ $(srcdir)/genomicpos.c $(srcdir)/genomicpos.h $(srcdir)/compress.c $(srcdir)/compress.h $(srcdir)/compress-write.c $(srcdir)/compress-write.h \ $(srcdir)/gbuffer.c $(srcdir)/gbuffer.h $(srcdir)/genome.c $(srcdir)/genome.h \ $(srcdir)/popcount.c $(srcdir)/popcount.h $(srcdir)/genome128_hr.c $(srcdir)/genome128_hr.h $(srcdir)/genome_sites.c $(srcdir)/genome_sites.h \ $(srcdir)/genome-write.c $(srcdir)/genome-write.h \ $(srcdir)/bitpack64-read.c $(srcdir)/bitpack64-read.h $(srcdir)/bitpack64-readtwo.c $(srcdir)/bitpack64-readtwo.h \ $(srcdir)/indexdbdef.h $(srcdir)/indexdb.c $(srcdir)/indexdb.h $(srcdir)/indexdb_hr.c $(srcdir)/indexdb_hr.h \ $(srcdir)/oligo.c $(srcdir)/oligo.h $(srcdir)/block.c $(srcdir)/block.h \ $(srcdir)/chrom.c $(srcdir)/chrom.h $(srcdir)/segmentpos.c $(srcdir)/segmentpos.h \ $(srcdir)/chrnum.c $(srcdir)/chrnum.h $(srcdir)/uinttable.c $(srcdir)/uinttable.h $(srcdir)/gregion.c $(srcdir)/gregion.h \ $(srcdir)/matchdef.h $(srcdir)/match.c $(srcdir)/match.h $(srcdir)/matchpool.c $(srcdir)/matchpool.h \ $(srcdir)/diagnostic.c $(srcdir)/diagnostic.h $(srcdir)/stage1.c $(srcdir)/stage1.h \ $(srcdir)/diagdef.h $(srcdir)/diag.c $(srcdir)/diag.h $(srcdir)/diagpool.c $(srcdir)/diagpool.h \ $(srcdir)/cmet.c $(srcdir)/cmet.h $(srcdir)/atoi.c $(srcdir)/atoi.h \ $(srcdir)/orderstat.c $(srcdir)/orderstat.h $(srcdir)/oligoindex_hr.c $(srcdir)/oligoindex_hr.h \ $(srcdir)/scores.h $(srcdir)/intron.c $(srcdir)/intron.h $(srcdir)/maxent.c $(srcdir)/maxent.h $(srcdir)/maxent_hr.c $(srcdir)/maxent_hr.h $(srcdir)/samflags.h $(srcdir)/pairdef.h $(srcdir)/pair.c $(srcdir)/pair.h \ $(srcdir)/pairpool.c $(srcdir)/pairpool.h $(srcdir)/cellpool.c $(srcdir)/cellpool.h $(srcdir)/stage2.c $(srcdir)/stage2.h \ $(srcdir)/doublelist.c $(srcdir)/doublelist.h $(srcdir)/smooth.c $(srcdir)/smooth.h \ $(srcdir)/splicestringpool.c $(srcdir)/splicestringpool.h $(srcdir)/splicetrie_build.c $(srcdir)/splicetrie_build.h $(srcdir)/splicetrie.c $(srcdir)/splicetrie.h \ $(srcdir)/boyer-moore.c $(srcdir)/boyer-moore.h \ $(srcdir)/dynprog.c $(srcdir)/dynprog.h $(srcdir)/dynprog_simd.c $(srcdir)/dynprog_simd.h \ $(srcdir)/dynprog_single.c $(srcdir)/dynprog_single.h $(srcdir)/dynprog_genome.c $(srcdir)/dynprog_genome.h $(srcdir)/dynprog_cdna.c $(srcdir)/dynprog_cdna.h $(srcdir)/dynprog_end.c $(srcdir)/dynprog_end.h \ $(srcdir)/translation.c $(srcdir)/translation.h \ $(srcdir)/pbinom.c $(srcdir)/pbinom.h $(srcdir)/changepoint.c $(srcdir)/changepoint.h $(srcdir)/sense.h $(srcdir)/fastlog.h $(srcdir)/stage3.c $(srcdir)/stage3.h \ $(srcdir)/request.c $(srcdir)/request.h $(srcdir)/result.c $(srcdir)/result.h $(srcdir)/output.c $(srcdir)/output.h \ $(srcdir)/inbuffer.c $(srcdir)/inbuffer.h $(srcdir)/samheader.c $(srcdir)/samheader.h $(srcdir)/outbuffer.c $(srcdir)/outbuffer.h \ $(srcdir)/chimera.c $(srcdir)/chimera.h $(srcdir)/datadir.c $(srcdir)/datadir.h \ $(srcdir)/getopt.c $(srcdir)/getopt1.c $(srcdir)/getopt.h $(srcdir)/gmap.c # Note: dist_ commands get read by bootstrap, and don't follow the flags mpi_gmap_CC = $(MPICC) mpi_gmap_CFLAGS = $(MPI_CFLAGS) $(AM_CFLAGS) $(PTHREAD_CFLAGS) $(POPCNT_CFLAGS) $(SIMD_CFLAGS) -DTARGET=\"$(target)\" -DGMAPDB=\"$(GMAPDB)\" -DUSE_MPI=1 mpi_gmap_LDFLAGS = $(AM_LDFLAGS) $(STATIC_LDFLAG) mpi_gmap_LDADD = $(PTHREAD_LIBS) $(ZLIB_LIBS) $(BZLIB_LIBS) nodist_mpi_gmap_SOURCES = $(MPI_GMAP_FILES) gmap-2015-12-31/configure0000755002622600023770000306465112654517407011725 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.63 for gmap 2015-12-31. # # Report bugs to >. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell bug-autoconf@gnu.org about your system, echo including any error possibly output before this message. echo This can help us improve future autoconf versions. echo Configuration will now proceed without shell functions. } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} case X$lt_ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` ;; esac ECHO=${lt_ECHO-echo} if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then # Yippee, $ECHO works! : else # Restart under the correct shell. exec $SHELL "$0" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <<_LT_EOF $* _LT_EOF exit 0 fi # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test -z "$lt_ECHO"; then if test "X${echo_test_string+set}" != Xset; then # find a string as large as possible, as long as the shell can cope with it for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... if { echo_test_string=`eval $cmd`; } 2>/dev/null && { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null then break fi done fi if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then : else # The Solaris, AIX, and Digital Unix default echo programs unquote # backslashes. This makes it impossible to quote backslashes using # echo "$something" | sed 's/\\/\\\\/g' # # So, first we look for a working echo in the user's PATH. lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for dir in $PATH /usr/ucb; do IFS="$lt_save_ifs" if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then ECHO="$dir/echo" break fi done IFS="$lt_save_ifs" if test "X$ECHO" = Xecho; then # We didn't find a better echo, so look for alternatives. if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # This shell has a builtin print -r that does the trick. ECHO='print -r' elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && test "X$CONFIG_SHELL" != X/bin/ksh; then # If we have ksh, try running configure again with it. ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} export ORIGINAL_CONFIG_SHELL CONFIG_SHELL=/bin/ksh export CONFIG_SHELL exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} else # Try using printf. ECHO='printf %s\n' if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # Cool, printf works : elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL export CONFIG_SHELL SHELL="$CONFIG_SHELL" export SHELL ECHO="$CONFIG_SHELL $0 --fallback-echo" elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then ECHO="$CONFIG_SHELL $0 --fallback-echo" else # maybe with a smaller string... prev=: for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null then break fi prev="$cmd" done if test "$prev" != 'sed 50q "$0"'; then echo_test_string=`eval $prev` export echo_test_string exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} else # Oops. We lost completely, so just stick with echo. ECHO=echo fi fi fi fi fi fi # Copy echo and quote the copy suitably for passing to libtool from # the Makefile, instead of quoting the original, which is used later. lt_ECHO=$ECHO if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" fi exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='gmap' PACKAGE_TARNAME='gmap' PACKAGE_VERSION='2015-12-31' PACKAGE_STRING='gmap 2015-12-31' PACKAGE_BUGREPORT='Thomas Wu ' ac_unique_file="src/gmap.c" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS BZLIB_LIBS ZLIB_LIBS MAX_READLENGTH GMAPDB SIMD_CFLAGS POPCNT_CFLAGS ALLOCA PTHREAD_CFLAGS PTHREAD_LIBS PTHREAD_CC acx_pthread_config CPP OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL lt_ECHO RANLIB AR OBJDUMP LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP EGREP GREP SED LIBTOOL MPI_FOUND_FALSE MPI_FOUND_TRUE MPILIBS MPICC PERL BINDIR MAINTAINER_FALSE MAINTAINER_TRUE FULLDIST_FALSE FULLDIST_TRUE am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CC target_os target_vendor target_cpu target host_os host_vendor host_cpu host build_os build_vendor build_cpu build MPI_CFLAGS CFLAGS target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_largefile enable_dependency_tracking enable_fulldist enable_maintainer enable_shared enable_static with_pic enable_fast_install with_gnu_ld enable_libtool_lock enable_mpi_file_input enable_pthreads enable_alloca enable_mmap enable_builtin_popcount enable_sse2 enable_ssse3 enable_sse4_1 enable_sse4_2 enable_avx enable_avx2 enable_simd with_gmapdb enable_zlib enable_bzlib ' ac_precious_vars='build_alias host_alias target_alias CFLAGS MPI_CFLAGS CC LDFLAGS LIBS CPPFLAGS MPICC CPP MAX_READLENGTH' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { $as_echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { $as_echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 { (exit 1); exit 1; }; } ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || { $as_echo "$as_me: error: working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures gmap 2015-12-31 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/gmap] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of gmap 2015-12-31:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-largefile omit support for large files --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-fulldist For use by program maintainer --enable-maintainer For use by program maintainer --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --enable-mpi-file-input Enable MPI_File for input for MPI versions (default=yes). Note: Use only if you have a parallel I/O file system, like Lustre --enable-pthreads Enable pthreads (default=yes) --enable-alloca Enable alloca (default=yes) for stack-based memory allocation. --enable-mmap Enable mmap (default=yes). Recommend that you do not disable this unless absolutely necessary. --enable-builtin-popcount Enable -mpopcnt if it __builtin_popcount compiles and runs (default=yes). May want to disable if compiling on one machine and running on another. --enable-sse2 Enable sse2 simd commands if they compile and run (default=yes). --enable-ssse3 Enable ssse3 simd commands if they compile and run (default=yes). Requires that sse2 be enabled. --enable-sse4.1 Enable sse4.1 simd commands if they compile and run (default=yes). Requires that ssse3 be enabled. --enable-sse4.2 Enable sse4.2 simd commands if they compile and run (default=yes). Requires that sse4.1 be enabled. --enable-avx Enable avx simd commands if they compile and run (default=yes). Requires that sse4.2 be enabled. --enable-avx2 Enable avx2 simd commands if they compile and run (default=yes). Requires that avx be enabled. --enable-simd Enable simd commands in general if they compile and run (default=yes). --enable-zlib Enable zlib support (option needed for uncompressing gzip files) (default=yes) --enable-bzlib Enable bzlib support (option needed for uncompressing bzip2 files) (default=yes) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-gmapdb=DIR Default GMAP database directory Some influential environment variables: CFLAGS Compiler flags (default: -O3) MPI_CFLAGS Compiler flags (default: -O3) CC C compiler command LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory MPICC MPI C compiler command CPP C preprocessor MAX_READLENGTH Maximum read length for GSNAP (default 300) Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to >. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF gmap configure 2015-12-31 generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by gmap $as_me 2015-12-31, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then ac_site_file1=$CONFIG_SITE elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test -r "$ac_site_file"; then { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 $as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking package version" >&5 $as_echo_n "checking package version... " >&6; } { $as_echo "$as_me:$LINENO: result: 2015-12-31" >&5 $as_echo "2015-12-31" >&6; } ### Read defaults # Handle CONFIG_SITE better than Autoconf does for ac_site_file in $CONFIG_SITE; do if { (eval echo $ac_site_file | grep '^\./' >/dev/null 2>&1) ac_status=$? (exit $ac_status); }; then # ac_site_file starts with ./ if test -r "$ac_site_file"; then ac_site_file="$ac_site_file" echo "really loading site script $ac_site_file: file was found" . "$ac_site_file" ax_user_site_file_loaded=yes else { { $as_echo "$as_me:$LINENO: error: cannot find $ac_site_file" >&5 $as_echo "$as_me: error: cannot find $ac_site_file" >&2;} { (exit 1); exit 1; }; } fi else # ac_site_file does not start with ./ if test -r "./$ac_site_file"; then echo "really loading site script ./$ac_site_file: file was found" . "./$ac_site_file" ax_user_site_file_loaded=yes elif test -r "$ac_site_file"; then echo "really loading site script $ac_site_file: file was found" . "$ac_site_file" 2>/dev/null ax_user_site_file_loaded=yes else { { $as_echo "$as_me:$LINENO: error: cannot find $ac_site_file" >&5 $as_echo "$as_me: error: cannot find $ac_site_file" >&2;} { (exit 1); exit 1; }; } fi fi done if test x"$ax_user_site_file_loaded" != x"yes"; then if test -r "./config.site"; then echo "loading default site script ./config.site" . "./config.site" fi fi # Set default CFLAGS if not already set by user { $as_echo "$as_me:$LINENO: checking CFLAGS" >&5 $as_echo_n "checking CFLAGS... " >&6; } if test x"$CFLAGS" = x; then { $as_echo "$as_me:$LINENO: result: not set by user so using default -O3" >&5 $as_echo "not set by user so using default -O3" >&6; } EXP_VAR=CFLAGS FROM_VAR='-O3' prefix_save=$prefix exec_prefix_save=$exec_prefix if test "x$prefix" = xNONE; then prefix="$ac_default_prefix" fi if test "x$exec_prefix" = xNONE; then exec_prefix=$prefix fi full_var="$FROM_VAR" while true; do new_full_var="`eval echo $full_var`" if test "x$new_full_var" = "x$full_var"; then break; fi full_var=$new_full_var done full_var=$new_full_var CFLAGS="$full_var" prefix=$prefix_save exec_prefix=$exec_prefix_save else { $as_echo "$as_me:$LINENO: result: $CFLAGS" >&5 $as_echo "$CFLAGS" >&6; } fi { $as_echo "$as_me:$LINENO: checking MPI_CFLAGS" >&5 $as_echo_n "checking MPI_CFLAGS... " >&6; } { $as_echo "$as_me:$LINENO: result: $MPI_CFLAGS" >&5 $as_echo "$MPI_CFLAGS" >&6; } ac_config_headers="$ac_config_headers src/config.h" ac_aux_dir= for ac_dir in config "$srcdir"/config; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&5 $as_echo "$as_me: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&2;} { (exit 1); exit 1; }; } fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # For autotest: AC_CONFIG_TESTDIR([tests],[tests:src:util]) # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 $as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } { $as_echo "$as_me:$LINENO: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if test "${ac_cv_build+set}" = set; then $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 $as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 $as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi { $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 $as_echo "$as_me: error: invalid value of canonical build" >&2;} { (exit 1); exit 1; }; };; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:$LINENO: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if test "${ac_cv_host+set}" = set; then $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 $as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 $as_echo "$as_me: error: invalid value of canonical host" >&2;} { (exit 1); exit 1; }; };; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:$LINENO: checking target system type" >&5 $as_echo_n "checking target system type... " >&6; } if test "${ac_cv_target+set}" = set; then $as_echo_n "(cached) " >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 $as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_target" >&5 $as_echo "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 $as_echo "$as_me: error: invalid value of canonical target" >&2;} { (exit 1); exit 1; }; };; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 $as_echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } # Provide some information about the compiler. $as_echo "$as_me:$LINENO: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi { $as_echo "$as_me:$LINENO: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } if test -z "$ac_file"; then $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 $as_echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; }; } fi ac_exeext=$ac_cv_exeext # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } fi fi fi { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } { $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } { $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } fi rm -f conftest$ac_cv_exeext { $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if test "${ac_cv_objext+set}" = set; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:$LINENO: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:$LINENO: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Check whether --enable-largefile was given. if test "${enable_largefile+set}" = set; then enableval=$enable_largefile; fi if test "$enable_largefile" != no; then { $as_echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 $as_echo_n "checking for special C compiler options needed for large files... " >&6; } if test "${ac_cv_sys_largefile_CC+set}" = set; then $as_echo_n "(cached) " >&6 else ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then ac_save_CC=$CC while :; do # IRIX 6.2 and later do not support large files by default, # so use the C compiler's -n32 option if that helps. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then break else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext CC="$CC -n32" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_largefile_CC=' -n32'; break else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext break done CC=$ac_save_CC rm -f conftest.$ac_ext fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 $as_echo "$ac_cv_sys_largefile_CC" >&6; } if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi { $as_echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } if test "${ac_cv_sys_file_offset_bits+set}" = set; then $as_echo_n "(cached) " >&6 else while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_file_offset_bits=no; break else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _FILE_OFFSET_BITS 64 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_file_offset_bits=64; break else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_file_offset_bits=unknown break done fi { $as_echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 $as_echo "$ac_cv_sys_file_offset_bits" >&6; } case $ac_cv_sys_file_offset_bits in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits _ACEOF ;; esac rm -rf conftest* if test $ac_cv_sys_file_offset_bits = unknown; then { $as_echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } if test "${ac_cv_sys_large_files+set}" = set; then $as_echo_n "(cached) " >&6 else while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_large_files=no; break else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _LARGE_FILES 1 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_sys_large_files=1; break else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_large_files=unknown break done fi { $as_echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 $as_echo "$ac_cv_sys_large_files" >&6; } case $ac_cv_sys_large_files in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _LARGE_FILES $ac_cv_sys_large_files _ACEOF ;; esac rm -rf conftest* fi fi test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` #AM_INIT_AUTOMAKE([no-dependencies]) #AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) am__api_version='1.11' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5 $as_echo "$as_me: error: unsafe absolute working directory name" >&2;} { (exit 1); exit 1; }; };; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5 $as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;} { (exit 1); exit 1; }; };; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 $as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 $as_echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AWK+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:$LINENO: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:$LINENO: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 $as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='gmap' VERSION='2015-12-31' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' depcc="$CC" am_compiler_list= { $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi if test "x$enable_fulldist" = xyes; then FULLDIST_TRUE= FULLDIST_FALSE='#' else FULLDIST_TRUE='#' FULLDIST_FALSE= fi # Check whether --enable-fulldist was given. if test "${enable_fulldist+set}" = set; then enableval=$enable_fulldist; enable_fulldist="yes" else enable_fulldist="no" fi if test "x$enable_maintainer" = xyes; then MAINTAINER_TRUE= MAINTAINER_FALSE='#' else MAINTAINER_TRUE='#' MAINTAINER_FALSE= fi # Check whether --enable-maintainer was given. if test "${enable_maintainer+set}" = set; then enableval=$enable_maintainer; enable_maintainer="yes" else enable_maintainer="no" fi # For Perl scripts, because otherwise configure inserts # @bindir@ => "${exec_prefix}/bin"; { $as_echo "$as_me:$LINENO: checking bindir" >&5 $as_echo_n "checking bindir... " >&6; } EXP_VAR=BINDIR FROM_VAR=$bindir prefix_save=$prefix exec_prefix_save=$exec_prefix if test "x$prefix" = xNONE; then prefix="$ac_default_prefix" fi if test "x$exec_prefix" = xNONE; then exec_prefix=$prefix fi full_var="$FROM_VAR" while true; do new_full_var="`eval echo $full_var`" if test "x$new_full_var" = "x$full_var"; then break; fi full_var=$new_full_var done full_var=$new_full_var BINDIR="$full_var" prefix=$prefix_save exec_prefix=$exec_prefix_save { $as_echo "$as_me:$LINENO: result: $BINDIR" >&5 $as_echo "$BINDIR" >&6; } # Works in conjunction with AC_PROG_LIBTOOL -- Commented out because no libraries being built #AC_MSG_CHECKING(whether to link statically) #AC_ARG_ENABLE([static-linking], # AC_HELP_STRING([--enable-static-linking], # [Link binaries statically (default=no)]), # [answer="$enableval"], # [answer=""]) #case x"$answer" in # xyes) # AC_MSG_RESULT(enabled) # STATIC_LDFLAG="-all-static" # ;; # # xno) # AC_MSG_RESULT(disabled) # ;; # # x) # AC_MSG_RESULT(not specified so disabled by default) # ;; #esac #AC_SUBST(STATIC_LDFLAG) # Checks for programs. #AC_PATH_PROG([PERL],[perl]) { $as_echo "$as_me:$LINENO: checking for a working version of perl" >&5 $as_echo_n "checking for a working version of perl... " >&6; } if test x"$PERL" != x; then # 'PERL' is specified by user if ( $PERL -e 'use IO::File; use Getopt::Std;' ) > /dev/null 2>&1; then found=yes else $as_unset PERL found=no fi else found=no fi if test $found = no; then candidate_perl_names='perl perl5' as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH; do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for perl in $candidate_perl_names; do if ( $as_dir/$perl -e 'use IO::File; use Getopt::Std;' ) > /dev/null 2>&1; then ac_cv_path_PERL=$as_dir/$perl found=yes break 2 fi done done PERL=$ac_cv_path_PERL fi if test -n "$PERL"; then { $as_echo "$as_me:$LINENO: result: $PERL" >&5 $as_echo "$PERL" >&6; } else { $as_echo "$as_me:$LINENO: result: not found" >&5 $as_echo "not found" >&6; } perl_warning=yes fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 $as_echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } # Provide some information about the compiler. $as_echo "$as_me:$LINENO: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:$LINENO: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:$LINENO: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "x$CC" != xcc; then { $as_echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5 $as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } else { $as_echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5 $as_echo_n "checking whether cc understands -c and -o together... " >&6; } fi set dummy $CC; ac_cc=`$as_echo "$2" | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # We do the test twice because some compilers refuse to overwrite an # existing .o file with -o, though they will create one. ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -f conftest2.$ac_objext && { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then eval ac_cv_prog_cc_${ac_cc}_c_o=yes if test "x$CC" != xcc; then # Test first that cc exists at all. if { ac_try='cc -c conftest.$ac_ext >&5' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -f conftest2.$ac_objext && { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # cc works too. : else # cc exists but doesn't like -o. eval ac_cv_prog_cc_${ac_cc}_c_o=no fi fi fi else eval ac_cv_prog_cc_${ac_cc}_c_o=no fi rm -f core conftest* fi if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } cat >>confdefs.h <<\_ACEOF #define NO_MINUS_C_MINUS_O 1 _ACEOF fi # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o if test "$am_t" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi for ac_prog in mpicc hcc mpxlc_r mpxlc mpcc cmpicc cc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_MPICC+set}" = set; then $as_echo_n "(cached) " >&6 else case $MPICC in [\\/]* | ?:[\\/]*) ac_cv_path_MPICC="$MPICC" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MPICC="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MPICC=$ac_cv_path_MPICC if test -n "$MPICC"; then { $as_echo "$as_me:$LINENO: result: $MPICC" >&5 $as_echo "$MPICC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$MPICC" && break done ax_mpi_save_CC="$CC" CC="$MPICC" if test x = x"$MPILIBS"; then { $as_echo "$as_me:$LINENO: checking for MPI_Init" >&5 $as_echo_n "checking for MPI_Init... " >&6; } if test "${ac_cv_func_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define MPI_Init to an innocuous variant, in case declares MPI_Init. For example, HP-UX 11i declares gettimeofday. */ #define MPI_Init innocuous_MPI_Init /* System header to define __stub macros and hopefully few prototypes, which can conflict with char MPI_Init (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef MPI_Init /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char MPI_Init (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_MPI_Init || defined __stub___MPI_Init choke me #endif int main () { return MPI_Init (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_func_MPI_Init=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_MPI_Init=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_MPI_Init" >&5 $as_echo "$ac_cv_func_MPI_Init" >&6; } if test "x$ac_cv_func_MPI_Init" = x""yes; then MPILIBS=" " fi fi if test x = x"$MPILIBS"; then { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lmpi" >&5 $as_echo_n "checking for MPI_Init in -lmpi... " >&6; } if test "${ac_cv_lib_mpi_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmpi $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char MPI_Init (); int main () { return MPI_Init (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_mpi_MPI_Init=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_mpi_MPI_Init=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mpi_MPI_Init" >&5 $as_echo "$ac_cv_lib_mpi_MPI_Init" >&6; } if test "x$ac_cv_lib_mpi_MPI_Init" = x""yes; then MPILIBS="-lmpi" fi fi if test x = x"$MPILIBS"; then { $as_echo "$as_me:$LINENO: checking for MPI_Init in -lmpich" >&5 $as_echo_n "checking for MPI_Init in -lmpich... " >&6; } if test "${ac_cv_lib_mpich_MPI_Init+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmpich $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char MPI_Init (); int main () { return MPI_Init (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_mpich_MPI_Init=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_mpich_MPI_Init=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_mpich_MPI_Init" >&5 $as_echo "$ac_cv_lib_mpich_MPI_Init" >&6; } if test "x$ac_cv_lib_mpich_MPI_Init" = x""yes; then MPILIBS="-lmpich" fi fi if test x != x"$MPILIBS"; then { $as_echo "$as_me:$LINENO: checking for mpi.h" >&5 $as_echo_n "checking for mpi.h... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 MPILIBS="" { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi CC="$ax_mpi_save_CC" # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: if test x = x"$MPILIBS"; then : else cat >>confdefs.h <<\_ACEOF #define HAVE_MPI 1 _ACEOF : fi # Sets MPICC to use for isolated source files that need it # AC_PROG_CC_MPI # This sets CC to mpicc if test "x$MPILIBS" != x; then MPI_FOUND_TRUE= MPI_FOUND_FALSE='#' else MPI_FOUND_TRUE='#' MPI_FOUND_FALSE= fi case `pwd` in *\ * | *\ *) { $as_echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.2.6b' macro_revision='1.3017' ltmain="$ac_aux_dir/ltmain.sh" { $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if test "${ac_cv_path_SED+set}" = set; then $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed $as_unset ac_script || ac_script= if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5 $as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if test "${ac_cv_path_GREP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 $as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:$LINENO: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if test "${ac_cv_path_EGREP+set}" = set; then $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 $as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:$LINENO: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } if test "${ac_cv_path_FGREP+set}" = set; then $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 $as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_FGREP=$FGREP fi fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if test "${lt_cv_path_LD+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 $as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if test "${lt_cv_path_NM+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$ac_tool_prefix"; then for ac_prog in "dumpbin -symbols" "link -dump -symbols" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_DUMPBIN+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in "dumpbin -symbols" "link -dump -symbols" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm { $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } if test "${lt_cv_nm_interface+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:6284: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:6287: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:6290: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } { $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments { $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if test "${lt_cv_sys_max_cmd_len+set}" = set; then $as_echo_n "(cached) " >&6 else i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ = "XX$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:$LINENO: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} { $as_echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes { $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5 $as_echo "$xsi_shell" >&6; } { $as_echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; } lt_shell_append=no ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes { $as_echo "$as_me:$LINENO: result: $lt_shell_append" >&5 $as_echo "$lt_shell_append" >&6; } if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if test "${lt_cv_ld_reload_flag+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OBJDUMP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if test "${lt_cv_deplibs_check_method+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$lt_cv_deplibs_check_method" >&6; } file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AR+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="${ac_tool_prefix}ar" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:$LINENO: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_AR+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="ar" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Now try to grab the symbols. nlist=conftest.nm if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ const struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_save_LIBS="$LIBS" lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS="$lt_save_LIBS" CFLAGS="$lt_save_CFLAGS" else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:$LINENO: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:$LINENO: result: ok" >&5 $as_echo "ok" >&6; } fi # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '#line 7495 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if test "${lt_cv_cc_needs_belf+set}" = set; then $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then lt_cv_cc_needs_belf=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_cc_needs_belf=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_DSYMUTIL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_NMEDIT+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_LIPO+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { $as_echo "$as_me:$LINENO: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_LIPO="lipo" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OTOOL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { $as_echo "$as_me:$LINENO: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OTOOL="otool" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OTOOL64+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { $as_echo "$as_me:$LINENO: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_OTOOL64="otool64" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if test "${lt_cv_apple_cc_single_mod+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if test "${lt_cv_ld_exported_symbols_list+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then lt_cv_ld_exported_symbols_list=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_ld_exported_symbols_list=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[012]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:$LINENO: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 $as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if test "${ac_cv_header_stdc+set}" = set; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 $as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } as_val=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 $as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } as_val=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done # Set options enable_dlopen=no enable_win32_dll=no # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac else enable_shared=yes fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac else enable_static=yes fi # Check whether --with-pic was given. if test "${with_pic+set}" = set; then withval=$with_pic; pic_mode="$withval" else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi { $as_echo "$as_me:$LINENO: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if test "${lt_cv_objdir+set}" = set; then $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir cat >>confdefs.h <<_ACEOF #define LT_OBJDIR "$lt_cv_objdir/" _ACEOF case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:$LINENO: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:9352: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:9356: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= { $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; xl*) # IBM XL C 8.0/Fortran 10.1 on PPC lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 $as_echo "$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if test "${lt_cv_prog_compiler_pic_works+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:9691: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:9695: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if test "${lt_cv_prog_compiler_static_works+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:9796: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:9800: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:9851: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:9855: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:$LINENO: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag= tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld='-rpath $libdir' archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes=yes ;; darwin* | rhapsody*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='' link_all_deplibs=yes allow_undefined_flag="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=echo archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; freebsd1*) ld_shlibs=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" cat >conftest.$ac_ext <<_ACEOF int foo(void) {} _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='${wl}-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc=no else archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 $as_echo "$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix[3-9]*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux* | k*bsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then shlibpath_overrides_runpath=yes fi else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Add ABI-specific directories to the system library path. sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test "$hardcode_action" = relink || test "$inherit_rpath" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_dl_dlopen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = x""yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) { $as_echo "$as_me:$LINENO: checking for shl_load" >&5 $as_echo_n "checking for shl_load... " >&6; } if test "${ac_cv_func_shl_load+set}" = set; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define shl_load to an innocuous variant, in case declares shl_load. For example, HP-UX 11i declares gettimeofday. */ #define shl_load innocuous_shl_load /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shl_load (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef shl_load /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_shl_load || defined __stub___shl_load choke me #endif int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_func_shl_load=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_shl_load=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 $as_echo "$ac_cv_func_shl_load" >&6; } if test "x$ac_cv_func_shl_load" = x""yes; then lt_cv_dlopen="shl_load" else { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if test "${ac_cv_lib_dld_shl_load+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_dld_shl_load=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_shl_load=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = x""yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else { $as_echo "$as_me:$LINENO: checking for dlopen" >&5 $as_echo_n "checking for dlopen... " >&6; } if test "${ac_cv_func_dlopen+set}" = set; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define dlopen to an innocuous variant, in case declares dlopen. For example, HP-UX 11i declares gettimeofday. */ #define dlopen innocuous_dlopen /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dlopen (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef dlopen /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_dlopen || defined __stub___dlopen choke me #endif int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_func_dlopen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_dlopen=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 $as_echo "$ac_cv_func_dlopen" >&6; } if test "x$ac_cv_func_dlopen" = x""yes; then lt_cv_dlopen="dlopen" else { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_dl_dlopen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = x""yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if test "${ac_cv_lib_svld_dlopen+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_svld_dlopen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_svld_dlopen=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = x""yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if test "${ac_cv_lib_dld_dld_link+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_dld_dld_link=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_dld_link=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = x""yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if test "${lt_cv_dlopen_self+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line 12654 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if test "${lt_cv_dlopen_self_static+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line 12750 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } ;; esac fi # Report which library types will actually be built { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:$LINENO: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ac_config_commands="$ac_config_commands libtool" # Only expand once: # Checks for libraries. { $as_echo "$as_me:$LINENO: checking for rint in -lm" >&5 $as_echo_n "checking for rint in -lm... " >&6; } if test "${ac_cv_lib_m_rint+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char rint (); int main () { return rint (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_m_rint=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_m_rint=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_m_rint" >&5 $as_echo "$ac_cv_lib_m_rint" >&6; } if test "x$ac_cv_lib_m_rint" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBM 1 _ACEOF LIBS="-lm $LIBS" fi #AC_CHECK_LIB(popt, poptGetContext, [answer="yes"], [answer="no"]) #if test x"$answer" == xyes; then # AC_DEFINE([HAVE_LIBPOPT],[1],[Define to 1 if you have the 'popt' library (-lpopt)]) # POPT_LIBS="-lpopt" #else # POPT_LIBS="" #fi #AC_SUBST(POPT_LIBS) { $as_echo "$as_me:$LINENO: checking whether to use MPI_File for input" >&5 $as_echo_n "checking whether to use MPI_File for input... " >&6; } # Check whether --enable-mpi-file-input was given. if test "${enable_mpi_file_input+set}" = set; then enableval=$enable_mpi_file_input; answer="$enableval" else answer="" fi case x"$answer" in xyes) { $as_echo "$as_me:$LINENO: result: enabled" >&5 $as_echo "enabled" >&6; } cat >>confdefs.h <<\_ACEOF #define USE_MPI_FILE_INPUT 1 _ACEOF ;; xno) { $as_echo "$as_me:$LINENO: result: disabled" >&5 $as_echo "disabled" >&6; } ;; x) { $as_echo "$as_me:$LINENO: result: not specified so enabled by default" >&5 $as_echo "not specified so enabled by default" >&6; } cat >>confdefs.h <<\_ACEOF #define USE_MPI_FILE_INPUT 1 _ACEOF ;; esac # In call to ACX_PTHREAD, don't provide ACTION-IF-FOUND; otherwise, # HAVE_PTHREAD won't be defined { $as_echo "$as_me:$LINENO: checking for pthreads feature" >&5 $as_echo_n "checking for pthreads feature... " >&6; } # Check whether --enable-pthreads was given. if test "${enable_pthreads+set}" = set; then enableval=$enable_pthreads; answer="$enableval" else answer="" fi case x"$answer" in xyes) { $as_echo "$as_me:$LINENO: result: enabled" >&5 $as_echo "enabled" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu acx_pthread_ok=no # We used to check for pthread.h first, but this fails if pthread.h # requires special compiler flags (e.g. on True64 or Sequent). # It gets checked for in the link test anyway. # First of all, check if the user has set any of the PTHREAD_LIBS, # etcetera environment variables, and if threads linking works using # them: if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" { $as_echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 $as_echo_n "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_join (); int main () { return pthread_join (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then acx_pthread_ok=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext { $as_echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 $as_echo "$acx_pthread_ok" >&6; } if test x"$acx_pthread_ok" = xno; then PTHREAD_LIBS="" PTHREAD_CFLAGS="" fi LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" fi # We must check for the threads library under a number of different # names; the ordering is very important because some systems # (e.g. DEC) have both -lpthread and -lpthreads, where one of the # libraries is broken (non-POSIX). # Create a list of thread flags to try. Items starting with a "-" are # C compiler flags, and other items are library names, except for "none" # which indicates that we try without any flags at all, and "pthread-config" # which is a program returning the flags for the Pth emulation library. acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" # The ordering *is* (sometimes) important. Some notes on the # individual items follow: # pthreads: AIX (must check this before -lpthread) # none: in case threads are in libc; should be tried before -Kthread and # other compiler flags to prevent continual compiler warnings # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) # -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) # -pthreads: Solaris/gcc # -mthreads: Mingw32/gcc, Lynx/gcc # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it # doesn't hurt to check since this sometimes defines pthreads too; # also defines -D_REENTRANT) # pthread: Linux, etcetera # --thread-safe: KAI C++ # pthread-config: use pthread-config program (for GNU Pth library) case "${host_cpu}-${host_os}" in *solaris*) # On Solaris (at least, for some versions), libc contains stubbed # (non-functional) versions of the pthreads routines, so link-based # tests will erroneously succeed. (We need to link with -pthread or # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather # a function called by this macro, so we could check for that, but # who knows whether they'll stub that too in a future libc.) So, # we'll just look for -pthreads and -lpthread first: acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" ;; esac if test x"$acx_pthread_ok" = xno; then for flag in $acx_pthread_flags; do case $flag in none) { $as_echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 $as_echo_n "checking whether pthreads work without any flags... " >&6; } ;; -*) { $as_echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 $as_echo_n "checking whether pthreads work with $flag... " >&6; } PTHREAD_CFLAGS="$flag" ;; pthread-config) # Extract the first word of "pthread-config", so it can be a program name with args. set dummy pthread-config; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_acx_pthread_config+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$acx_pthread_config"; then ac_cv_prog_acx_pthread_config="$acx_pthread_config" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_acx_pthread_config="yes" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_acx_pthread_config" && ac_cv_prog_acx_pthread_config="no" fi fi acx_pthread_config=$ac_cv_prog_acx_pthread_config if test -n "$acx_pthread_config"; then { $as_echo "$as_me:$LINENO: result: $acx_pthread_config" >&5 $as_echo "$acx_pthread_config" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test x"$acx_pthread_config" = xno; then continue; fi PTHREAD_CFLAGS="`pthread-config --cflags`" PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" ;; *) { $as_echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 $as_echo_n "checking for the pthreads library -l$flag... " >&6; } PTHREAD_LIBS="-l$flag" ;; esac save_LIBS="$LIBS" save_CFLAGS="$CFLAGS" LIBS="$PTHREAD_LIBS $LIBS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" # Check for various functions. We must include pthread.h, # since some functions may be macros. (On the Sequent, we # need a special flag -Kthread to make this header compile.) # We check for pthread_join because it is in -lpthread on IRIX # while pthread_create is in libc. We check for pthread_attr_init # due to DEC craziness with -lpthreads. We check for # pthread_cleanup_push because it is one of the few pthread # functions on Solaris that doesn't have a non-functional libc stub. # We try pthread_create on general principles. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { pthread_t th; pthread_join(th, 0); pthread_attr_init(0); pthread_cleanup_push(0, 0); pthread_create(0,0,0,0); pthread_cleanup_pop(0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then acx_pthread_ok=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" { $as_echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 $as_echo "$acx_pthread_ok" >&6; } if test "x$acx_pthread_ok" = xyes; then break; fi PTHREAD_LIBS="" PTHREAD_CFLAGS="" done fi # Various other checks: if test "x$acx_pthread_ok" = xyes; then save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. { $as_echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 $as_echo_n "checking for joinable pthread attribute... " >&6; } attr_name=unknown for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { int attr=$attr; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then attr_name=$attr; break else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext done { $as_echo "$as_me:$LINENO: result: $attr_name" >&5 $as_echo "$attr_name" >&6; } if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then cat >>confdefs.h <<_ACEOF #define PTHREAD_CREATE_JOINABLE $attr_name _ACEOF fi { $as_echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 $as_echo_n "checking if more special flags are required for pthreads... " >&6; } flag=no case "${host_cpu}-${host_os}" in *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; esac { $as_echo "$as_me:$LINENO: result: ${flag}" >&5 $as_echo "${flag}" >&6; } if test "x$flag" != xno; then PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" fi LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" # More AIX lossage: must compile with cc_r # Extract the first word of "cc_r", so it can be a program name with args. set dummy cc_r; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$PTHREAD_CC"; then ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_PTHREAD_CC="cc_r" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" fi fi PTHREAD_CC=$ac_cv_prog_PTHREAD_CC if test -n "$PTHREAD_CC"; then { $as_echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 $as_echo "$PTHREAD_CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi else PTHREAD_CC="$CC" fi # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: if test x"$acx_pthread_ok" = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_PTHREAD 1 _ACEOF : else acx_pthread_ok=no pthread_warning=yes fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ;; xno) { $as_echo "$as_me:$LINENO: result: disabled" >&5 $as_echo "disabled" >&6; } ;; x) { $as_echo "$as_me:$LINENO: result: not specified so enabled by default" >&5 $as_echo "not specified so enabled by default" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu acx_pthread_ok=no # We used to check for pthread.h first, but this fails if pthread.h # requires special compiler flags (e.g. on True64 or Sequent). # It gets checked for in the link test anyway. # First of all, check if the user has set any of the PTHREAD_LIBS, # etcetera environment variables, and if threads linking works using # them: if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" { $as_echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 $as_echo_n "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char pthread_join (); int main () { return pthread_join (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then acx_pthread_ok=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext { $as_echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 $as_echo "$acx_pthread_ok" >&6; } if test x"$acx_pthread_ok" = xno; then PTHREAD_LIBS="" PTHREAD_CFLAGS="" fi LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" fi # We must check for the threads library under a number of different # names; the ordering is very important because some systems # (e.g. DEC) have both -lpthread and -lpthreads, where one of the # libraries is broken (non-POSIX). # Create a list of thread flags to try. Items starting with a "-" are # C compiler flags, and other items are library names, except for "none" # which indicates that we try without any flags at all, and "pthread-config" # which is a program returning the flags for the Pth emulation library. acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" # The ordering *is* (sometimes) important. Some notes on the # individual items follow: # pthreads: AIX (must check this before -lpthread) # none: in case threads are in libc; should be tried before -Kthread and # other compiler flags to prevent continual compiler warnings # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) # -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) # -pthreads: Solaris/gcc # -mthreads: Mingw32/gcc, Lynx/gcc # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it # doesn't hurt to check since this sometimes defines pthreads too; # also defines -D_REENTRANT) # pthread: Linux, etcetera # --thread-safe: KAI C++ # pthread-config: use pthread-config program (for GNU Pth library) case "${host_cpu}-${host_os}" in *solaris*) # On Solaris (at least, for some versions), libc contains stubbed # (non-functional) versions of the pthreads routines, so link-based # tests will erroneously succeed. (We need to link with -pthread or # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather # a function called by this macro, so we could check for that, but # who knows whether they'll stub that too in a future libc.) So, # we'll just look for -pthreads and -lpthread first: acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" ;; esac if test x"$acx_pthread_ok" = xno; then for flag in $acx_pthread_flags; do case $flag in none) { $as_echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 $as_echo_n "checking whether pthreads work without any flags... " >&6; } ;; -*) { $as_echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 $as_echo_n "checking whether pthreads work with $flag... " >&6; } PTHREAD_CFLAGS="$flag" ;; pthread-config) # Extract the first word of "pthread-config", so it can be a program name with args. set dummy pthread-config; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_acx_pthread_config+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$acx_pthread_config"; then ac_cv_prog_acx_pthread_config="$acx_pthread_config" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_acx_pthread_config="yes" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_acx_pthread_config" && ac_cv_prog_acx_pthread_config="no" fi fi acx_pthread_config=$ac_cv_prog_acx_pthread_config if test -n "$acx_pthread_config"; then { $as_echo "$as_me:$LINENO: result: $acx_pthread_config" >&5 $as_echo "$acx_pthread_config" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test x"$acx_pthread_config" = xno; then continue; fi PTHREAD_CFLAGS="`pthread-config --cflags`" PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" ;; *) { $as_echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 $as_echo_n "checking for the pthreads library -l$flag... " >&6; } PTHREAD_LIBS="-l$flag" ;; esac save_LIBS="$LIBS" save_CFLAGS="$CFLAGS" LIBS="$PTHREAD_LIBS $LIBS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" # Check for various functions. We must include pthread.h, # since some functions may be macros. (On the Sequent, we # need a special flag -Kthread to make this header compile.) # We check for pthread_join because it is in -lpthread on IRIX # while pthread_create is in libc. We check for pthread_attr_init # due to DEC craziness with -lpthreads. We check for # pthread_cleanup_push because it is one of the few pthread # functions on Solaris that doesn't have a non-functional libc stub. # We try pthread_create on general principles. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { pthread_t th; pthread_join(th, 0); pthread_attr_init(0); pthread_cleanup_push(0, 0); pthread_create(0,0,0,0); pthread_cleanup_pop(0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then acx_pthread_ok=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" { $as_echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 $as_echo "$acx_pthread_ok" >&6; } if test "x$acx_pthread_ok" = xyes; then break; fi PTHREAD_LIBS="" PTHREAD_CFLAGS="" done fi # Various other checks: if test "x$acx_pthread_ok" = xyes; then save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. { $as_echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 $as_echo_n "checking for joinable pthread attribute... " >&6; } attr_name=unknown for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { int attr=$attr; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then attr_name=$attr; break else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext done { $as_echo "$as_me:$LINENO: result: $attr_name" >&5 $as_echo "$attr_name" >&6; } if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then cat >>confdefs.h <<_ACEOF #define PTHREAD_CREATE_JOINABLE $attr_name _ACEOF fi { $as_echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 $as_echo_n "checking if more special flags are required for pthreads... " >&6; } flag=no case "${host_cpu}-${host_os}" in *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; esac { $as_echo "$as_me:$LINENO: result: ${flag}" >&5 $as_echo "${flag}" >&6; } if test "x$flag" != xno; then PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" fi LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" # More AIX lossage: must compile with cc_r # Extract the first word of "cc_r", so it can be a program name with args. set dummy cc_r; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$PTHREAD_CC"; then ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_PTHREAD_CC="cc_r" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" fi fi PTHREAD_CC=$ac_cv_prog_PTHREAD_CC if test -n "$PTHREAD_CC"; then { $as_echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 $as_echo "$PTHREAD_CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi else PTHREAD_CC="$CC" fi # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: if test x"$acx_pthread_ok" = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_PTHREAD 1 _ACEOF : else acx_pthread_ok=no pthread_warning=yes fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ;; esac # Checks for header files. { $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if test "${ac_cv_header_stdc+set}" = set; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi ac_header_dirent=no for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include <$ac_hdr> int main () { if ((DIR *) 0) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } as_val=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 _ACEOF ac_header_dirent=$ac_hdr; break fi done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } if test "${ac_cv_search_opendir+set}" = set; then $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char opendir (); int main () { return opendir (); ; return 0; } _ACEOF for ac_lib in '' dir; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_search_opendir=$ac_res else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_opendir+set}" = set; then break fi done if test "${ac_cv_search_opendir+set}" = set; then : else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi else { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } if test "${ac_cv_search_opendir+set}" = set; then $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char opendir (); int main () { return opendir (); ; return 0; } _ACEOF for ac_lib in '' x; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_search_opendir=$ac_res else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_opendir+set}" = set; then break fi done if test "${ac_cv_search_opendir+set}" = set; then : else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi fi for ac_header in fcntl.h limits.h stddef.h stdlib.h string.h strings.h unistd.h sys/types.h do as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 $as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 fi ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 $as_echo_n "checking $ac_header usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 $as_echo_n "checking $ac_header presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 $as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------------- ## ## Report this to Thomas Wu ## ## --------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 $as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi as_val=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done # Checks for typedefs, structures, and compiler characteristics. { $as_echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } if test "${ac_cv_c_bigendian+set}" = set; then $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then # Check for potential -arch flags. It is not universal unless # there are some -arch flags. Note that *ppc* also matches # ppc64. This check is also rather less than ideal. case "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" in #( *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;; esac else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then # It does; now see whether it defined to BIG_ENDIAN or not. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_bigendian=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then # It does; now see whether it defined to _BIG_ENDIAN or not. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_bigendian=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes; then # Try to guess by grepping values from an object file. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } extern int foo; int main () { return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_bigendian=no else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_c_bigendian=yes fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 $as_echo "$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in #( yes) cat >>confdefs.h <<\_ACEOF #define WORDS_BIGENDIAN 1 _ACEOF ;; #( no) ;; #( universal) cat >>confdefs.h <<\_ACEOF #define AC_APPLE_UNIVERSAL_BUILD 1 _ACEOF ;; #( *) { { $as_echo "$as_me:$LINENO: error: unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" >&5 $as_echo "$as_me: error: unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} { (exit 1); exit 1; }; } ;; esac { $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if test "${ac_cv_c_const+set}" = set; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { /* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset cs; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_const=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then cat >>confdefs.h <<\_ACEOF #define const /**/ _ACEOF fi { $as_echo "$as_me:$LINENO: checking for working volatile" >&5 $as_echo_n "checking for working volatile... " >&6; } if test "${ac_cv_c_volatile+set}" = set; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { volatile int x; int * volatile y = (int *) 0; return !x && !y; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_volatile=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_volatile=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_c_volatile" >&5 $as_echo "$ac_cv_c_volatile" >&6; } if test $ac_cv_c_volatile = no; then cat >>confdefs.h <<\_ACEOF #define volatile /**/ _ACEOF fi { $as_echo "$as_me:$LINENO: checking for size_t" >&5 $as_echo_n "checking for size_t... " >&6; } if test "${ac_cv_type_size_t+set}" = set; then $as_echo_n "(cached) " >&6 else ac_cv_type_size_t=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if (sizeof (size_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if (sizeof ((size_t))) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_size_t=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 $as_echo "$ac_cv_type_size_t" >&6; } if test "x$ac_cv_type_size_t" = x""yes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi { $as_echo "$as_me:$LINENO: checking for off_t" >&5 $as_echo_n "checking for off_t... " >&6; } if test "${ac_cv_type_off_t+set}" = set; then $as_echo_n "(cached) " >&6 else ac_cv_type_off_t=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if (sizeof (off_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if (sizeof ((off_t))) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_off_t=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 $as_echo "$ac_cv_type_off_t" >&6; } if test "x$ac_cv_type_off_t" = x""yes; then : else cat >>confdefs.h <<_ACEOF #define off_t long int _ACEOF fi { $as_echo "$as_me:$LINENO: checking for caddr_t" >&5 $as_echo_n "checking for caddr_t... " >&6; } if test "${ac_cv_type_caddr_t+set}" = set; then $as_echo_n "(cached) " >&6 else ac_cv_type_caddr_t=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if (sizeof (caddr_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { if (sizeof ((caddr_t))) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_caddr_t=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_type_caddr_t" >&5 $as_echo "$ac_cv_type_caddr_t" >&6; } if test "x$ac_cv_type_caddr_t" = x""yes; then cat >>confdefs.h <<_ACEOF #define HAVE_CADDR_T 1 _ACEOF fi # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:$LINENO: checking size of unsigned long" >&5 $as_echo_n "checking size of unsigned long... " >&6; } if test "${ac_cv_sizeof_unsigned_long+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid; break else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=$ac_mid; break else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_unsigned_long=$ac_lo;; '') if test "$ac_cv_type_unsigned_long" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (unsigned long) See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; }; } else ac_cv_sizeof_unsigned_long=0 fi ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default static long int longval () { return (long int) (sizeof (unsigned long)); } static unsigned long int ulongval () { return (long int) (sizeof (unsigned long)); } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (((long int) (sizeof (unsigned long))) < 0) { long int i = longval (); if (i != ((long int) (sizeof (unsigned long)))) return 1; fprintf (f, "%ld", i); } else { unsigned long int i = ulongval (); if (i != ((long int) (sizeof (unsigned long)))) return 1; fprintf (f, "%lu", i); } /* Do not output a trailing newline, as this causes \r\n confusion on some platforms. */ return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_unsigned_long=`cat conftest.val` else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) if test "$ac_cv_type_unsigned_long" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (unsigned long) See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; }; } else ac_cv_sizeof_unsigned_long=0 fi fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.val fi { $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_long" >&5 $as_echo "$ac_cv_sizeof_unsigned_long" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:$LINENO: checking size of unsigned long long" >&5 $as_echo_n "checking size of unsigned long long... " >&6; } if test "${ac_cv_sizeof_unsigned_long_long+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long long))) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long long))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid; break else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long long))) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long long))) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=$ac_mid; break else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long long))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_unsigned_long_long=$ac_lo;; '') if test "$ac_cv_type_unsigned_long_long" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long long) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (unsigned long long) See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; }; } else ac_cv_sizeof_unsigned_long_long=0 fi ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default static long int longval () { return (long int) (sizeof (unsigned long long)); } static unsigned long int ulongval () { return (long int) (sizeof (unsigned long long)); } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (((long int) (sizeof (unsigned long long))) < 0) { long int i = longval (); if (i != ((long int) (sizeof (unsigned long long)))) return 1; fprintf (f, "%ld", i); } else { unsigned long int i = ulongval (); if (i != ((long int) (sizeof (unsigned long long)))) return 1; fprintf (f, "%lu", i); } /* Do not output a trailing newline, as this causes \r\n confusion on some platforms. */ return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_unsigned_long_long=`cat conftest.val` else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) if test "$ac_cv_type_unsigned_long_long" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long long) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (unsigned long long) See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; }; } else ac_cv_sizeof_unsigned_long_long=0 fi fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.val fi { $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_long_long" >&5 $as_echo "$ac_cv_sizeof_unsigned_long_long" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_UNSIGNED_LONG_LONG $ac_cv_sizeof_unsigned_long_long _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:$LINENO: checking size of off_t" >&5 $as_echo_n "checking size of off_t... " >&6; } if test "${ac_cv_sizeof_off_t+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long int) (sizeof (off_t))) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long int) (sizeof (off_t))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid; break else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long int) (sizeof (off_t))) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long int) (sizeof (off_t))) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=$ac_mid; break else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { static int test_array [1 - 2 * !(((long int) (sizeof (off_t))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_off_t=$ac_lo;; '') if test "$ac_cv_type_off_t" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (off_t) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (off_t) See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; }; } else ac_cv_sizeof_off_t=0 fi ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default static long int longval () { return (long int) (sizeof (off_t)); } static unsigned long int ulongval () { return (long int) (sizeof (off_t)); } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (((long int) (sizeof (off_t))) < 0) { long int i = longval (); if (i != ((long int) (sizeof (off_t)))) return 1; fprintf (f, "%ld", i); } else { unsigned long int i = ulongval (); if (i != ((long int) (sizeof (off_t)))) return 1; fprintf (f, "%lu", i); } /* Do not output a trailing newline, as this causes \r\n confusion on some platforms. */ return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_off_t=`cat conftest.val` else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) if test "$ac_cv_type_off_t" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (off_t) See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot compute sizeof (off_t) See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; }; } else ac_cv_sizeof_off_t=0 fi fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.val fi { $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_off_t" >&5 $as_echo "$ac_cv_sizeof_off_t" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_OFF_T $ac_cv_sizeof_off_t _ACEOF # Checks for library functions. #AC_FUNC_MALLOC -- Causes use of rpl_malloc #AC_FUNC_REALLOC -- Causes use of rpl_realloc #AC_FUNC_CLOSEDIR_VOID -- We are checking return value { $as_echo "$as_me:$LINENO: checking for _LARGEFILE_SOURCE value needed for large files" >&5 $as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } if test "${ac_cv_sys_largefile_source+set}" = set; then $as_echo_n "(cached) " >&6 else while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include /* for off_t */ #include int main () { int (*fp) (FILE *, off_t, int) = fseeko; return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_sys_largefile_source=no; break else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _LARGEFILE_SOURCE 1 #include /* for off_t */ #include int main () { int (*fp) (FILE *, off_t, int) = fseeko; return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_sys_largefile_source=1; break else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext ac_cv_sys_largefile_source=unknown break done fi { $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_source" >&5 $as_echo "$ac_cv_sys_largefile_source" >&6; } case $ac_cv_sys_largefile_source in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source _ACEOF ;; esac rm -rf conftest* # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug # in glibc 2.1.3, but that breaks too many other things. # If you want fseeko and ftello with glibc, upgrade to a fixed glibc. if test $ac_cv_sys_largefile_source != unknown; then cat >>confdefs.h <<\_ACEOF #define HAVE_FSEEKO 1 _ACEOF fi #AC_FUNC_MMAP # Checks only private fixed mapping of already-mapped memory { $as_echo "$as_me:$LINENO: checking whether alloca is enabled" >&5 $as_echo_n "checking whether alloca is enabled... " >&6; } # Check whether --enable-alloca was given. if test "${enable_alloca+set}" = set; then enableval=$enable_alloca; answer="$enableval" else answer="" fi case x"$answer" in xyes) { $as_echo "$as_me:$LINENO: result: enabled" >&5 $as_echo "enabled" >&6; } # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! { $as_echo "$as_me:$LINENO: checking for working alloca.h" >&5 $as_echo_n "checking for working alloca.h... " >&6; } if test "${ac_cv_working_alloca_h+set}" = set; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { char *p = (char *) alloca (2 * sizeof (int)); if (p) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_working_alloca_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_working_alloca_h=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 $as_echo "$ac_cv_working_alloca_h" >&6; } if test $ac_cv_working_alloca_h = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ALLOCA_H 1 _ACEOF fi { $as_echo "$as_me:$LINENO: checking for alloca" >&5 $as_echo_n "checking for alloca... " >&6; } if test "${ac_cv_func_alloca_works+set}" = set; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __GNUC__ # define alloca __builtin_alloca #else # ifdef _MSC_VER # include # define alloca _alloca # else # ifdef HAVE_ALLOCA_H # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ char *alloca (); # endif # endif # endif # endif #endif int main () { char *p = (char *) alloca (1); if (p) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_func_alloca_works=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_alloca_works=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 $as_echo "$ac_cv_func_alloca_works" >&6; } if test $ac_cv_func_alloca_works = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ALLOCA 1 _ACEOF else # The SVR3 libPW and SVR4 libucb both contain incompatible functions # that cause trouble. Some versions do not even contain alloca or # contain a buggy version. If you still want to use their alloca, # use ar to extract alloca.o from them instead of compiling alloca.c. ALLOCA=\${LIBOBJDIR}alloca.$ac_objext cat >>confdefs.h <<\_ACEOF #define C_ALLOCA 1 _ACEOF { $as_echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } if test "${ac_cv_os_cray+set}" = set; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined CRAY && ! defined CRAY2 webecray #else wenotbecray #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "webecray" >/dev/null 2>&1; then ac_cv_os_cray=yes else ac_cv_os_cray=no fi rm -f conftest* fi { $as_echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 $as_echo "$ac_cv_os_cray" >&6; } if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 $as_echo_n "checking for $ac_func... " >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then eval "$as_ac_var=yes" else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } as_val=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func _ACEOF break fi done fi { $as_echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 $as_echo_n "checking stack direction for C alloca... " >&6; } if test "${ac_cv_c_stack_direction+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then ac_cv_c_stack_direction=0 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int find_stack_direction () { static char *addr = 0; auto char dummy; if (addr == 0) { addr = &dummy; return find_stack_direction (); } else return (&dummy > addr) ? 1 : -1; } int main () { return find_stack_direction () < 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_stack_direction=1 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_c_stack_direction=-1 fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 $as_echo "$ac_cv_c_stack_direction" >&6; } cat >>confdefs.h <<_ACEOF #define STACK_DIRECTION $ac_cv_c_stack_direction _ACEOF fi ;; xno) { $as_echo "$as_me:$LINENO: result: disabled" >&5 $as_echo "disabled" >&6; } ;; x) { $as_echo "$as_me:$LINENO: result: not specified so enabled by default" >&5 $as_echo "not specified so enabled by default" >&6; } # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! { $as_echo "$as_me:$LINENO: checking for working alloca.h" >&5 $as_echo_n "checking for working alloca.h... " >&6; } if test "${ac_cv_working_alloca_h+set}" = set; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { char *p = (char *) alloca (2 * sizeof (int)); if (p) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_working_alloca_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_working_alloca_h=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 $as_echo "$ac_cv_working_alloca_h" >&6; } if test $ac_cv_working_alloca_h = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ALLOCA_H 1 _ACEOF fi { $as_echo "$as_me:$LINENO: checking for alloca" >&5 $as_echo_n "checking for alloca... " >&6; } if test "${ac_cv_func_alloca_works+set}" = set; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __GNUC__ # define alloca __builtin_alloca #else # ifdef _MSC_VER # include # define alloca _alloca # else # ifdef HAVE_ALLOCA_H # include # else # ifdef _AIX #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ char *alloca (); # endif # endif # endif # endif #endif int main () { char *p = (char *) alloca (1); if (p) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_func_alloca_works=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_alloca_works=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 $as_echo "$ac_cv_func_alloca_works" >&6; } if test $ac_cv_func_alloca_works = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ALLOCA 1 _ACEOF else # The SVR3 libPW and SVR4 libucb both contain incompatible functions # that cause trouble. Some versions do not even contain alloca or # contain a buggy version. If you still want to use their alloca, # use ar to extract alloca.o from them instead of compiling alloca.c. ALLOCA=\${LIBOBJDIR}alloca.$ac_objext cat >>confdefs.h <<\_ACEOF #define C_ALLOCA 1 _ACEOF { $as_echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } if test "${ac_cv_os_cray+set}" = set; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined CRAY && ! defined CRAY2 webecray #else wenotbecray #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "webecray" >/dev/null 2>&1; then ac_cv_os_cray=yes else ac_cv_os_cray=no fi rm -f conftest* fi { $as_echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 $as_echo "$ac_cv_os_cray" >&6; } if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 $as_echo_n "checking for $ac_func... " >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then eval "$as_ac_var=yes" else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } as_val=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func _ACEOF break fi done fi { $as_echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 $as_echo_n "checking stack direction for C alloca... " >&6; } if test "${ac_cv_c_stack_direction+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then ac_cv_c_stack_direction=0 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int find_stack_direction () { static char *addr = 0; auto char dummy; if (addr == 0) { addr = &dummy; return find_stack_direction (); } else return (&dummy > addr) ? 1 : -1; } int main () { return find_stack_direction () < 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_stack_direction=1 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_c_stack_direction=-1 fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 $as_echo "$ac_cv_c_stack_direction" >&6; } cat >>confdefs.h <<_ACEOF #define STACK_DIRECTION $ac_cv_c_stack_direction _ACEOF fi ;; esac { $as_echo "$as_me:$LINENO: checking whether mmap is enabled" >&5 $as_echo_n "checking whether mmap is enabled... " >&6; } # Check whether --enable-mmap was given. if test "${enable_mmap+set}" = set; then enableval=$enable_mmap; answer="$enableval" else answer="" fi case x"$answer" in xyes) { $as_echo "$as_me:$LINENO: result: enabled" >&5 $as_echo "enabled" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu acx_mmap_fixed_ok=no { $as_echo "$as_me:$LINENO: checking for working mmap with MAP_FIXED" >&5 $as_echo_n "checking for working mmap with MAP_FIXED... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Thanks to Mike Haertel and Jim Avera for this test. Here is a matrix of mmap possibilities: mmap private not fixed mmap private fixed at somewhere currently unmapped mmap private fixed at somewhere already mapped mmap shared not fixed mmap shared fixed at somewhere currently unmapped mmap shared fixed at somewhere already mapped For private mappings, we should verify that changes cannot be read() back from the file, nor mmap's back from the file at a different address. (There have been systems where private was not correctly implemented like the infamous i386 svr4.0, and systems where the VM page cache was not coherent with the file system buffer cache like early versions of FreeBSD and possibly contemporary NetBSD.) For shared mappings, we should conversely verify that changes get propagated back to all the places they're supposed to be. Grep wants private fixed already mapped. The main things grep needs to know about mmap are: * does it exist and is it safe to write into the mmap'd area * how to use it (BSD variants) */ #include #include #include #include #if !STDC_HEADERS && !HAVE_STDLIB_H char *malloc (); #endif /* This mess was copied from the GNU getpagesize.h. */ #if !HAVE_GETPAGESIZE /* Assume that all systems that can run configure have sys/param.h. */ # if !HAVE_SYS_PARAM_H # define HAVE_SYS_PARAM_H 1 # endif # ifdef _SC_PAGESIZE # define getpagesize() sysconf(_SC_PAGESIZE) # else /* no _SC_PAGESIZE */ # if HAVE_SYS_PARAM_H # include # ifdef EXEC_PAGESIZE # define getpagesize() EXEC_PAGESIZE # else /* no EXEC_PAGESIZE */ # ifdef NBPG # define getpagesize() NBPG * CLSIZE # ifndef CLSIZE # define CLSIZE 1 # endif /* no CLSIZE */ # else /* no NBPG */ # ifdef NBPC # define getpagesize() NBPC # else /* no NBPC */ # ifdef PAGESIZE # define getpagesize() PAGESIZE # endif /* PAGESIZE */ # endif /* no NBPC */ # endif /* no NBPG */ # endif /* no EXEC_PAGESIZE */ # else /* no HAVE_SYS_PARAM_H */ # define getpagesize() 8192 /* punt totally */ # endif /* no HAVE_SYS_PARAM_H */ # endif /* no _SC_PAGESIZE */ #endif /* no HAVE_GETPAGESIZE */ int main () { char *data, *data2, *data3; size_t i, pagesize; int fd; pagesize = getpagesize (); /* First, make a file with some known garbage in it. */ data = (char *) malloc (pagesize); if (!data) exit (1); for (i = 0; i < pagesize; ++i) *(data + i) = rand (); umask (0); fd = creat ("conftest.mmap", 0600); if (fd < 0) exit (1); if (write (fd, data, pagesize) != pagesize) exit (1); close (fd); /* Next, try to mmap the file at a fixed address which already has something else allocated at it. If we can, also make sure that we see the same garbage. */ fd = open ("conftest.mmap", O_RDWR); if (fd < 0) exit (1); data2 = (char *) malloc (2 * pagesize); if (!data2) exit (1); data2 += (pagesize - ((size_t) data2 & (pagesize - 1))) & (pagesize - 1); if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_FIXED, fd, 0L)) exit (1); for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data2 + i)) exit (1); /* Finally, make sure that changes to the mapped area do not percolate back to the file as seen by read(). (This is a bug on some variants of i386 svr4.0.) */ for (i = 0; i < pagesize; ++i) *(data2 + i) = *(data2 + i) + 1; data3 = (char *) malloc (pagesize); if (!data3) exit (1); if (read (fd, data3, pagesize) != pagesize) exit (1); for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data3 + i)) exit (1); close (fd); exit (0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then acx_mmap_fixed_ok=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext { $as_echo "$as_me:$LINENO: result: $acx_mmap_fixed_ok" >&5 $as_echo "$acx_mmap_fixed_ok" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Checks fixed mapping ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu acx_mmap_variable_ok=no { $as_echo "$as_me:$LINENO: checking for working mmap with MAP_VARIABLE" >&5 $as_echo_n "checking for working mmap with MAP_VARIABLE... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* This modified from a test by Mike Haertel and Jim Avera. Here is a matrix of mmap possibilities: mmap private not fixed mmap private fixed at somewhere currently unmapped mmap private fixed at somewhere already mapped mmap shared not fixed mmap shared fixed at somewhere currently unmapped mmap shared fixed at somewhere already mapped For private mappings, we should verify that changes cannot be read() back from the file, nor mmap's back from the file at a different address. (There have been systems where private was not correctly implemented like the infamous i386 svr4.0, and systems where the VM page cache was not coherent with the file system buffer cache like early versions of FreeBSD and possibly contemporary NetBSD.) For shared mappings, we should conversely verify that changes get propagated back to all the places they're supposed to be. Previous test was designed for grep, which needs private fixed already mapped. We want shared variable. */ #include #include #include #include #if !STDC_HEADERS && !HAVE_STDLIB_H char *malloc (); #endif /* This mess was copied from the GNU getpagesize.h. */ #if !HAVE_GETPAGESIZE /* Assume that all systems that can run configure have sys/param.h. */ # if !HAVE_SYS_PARAM_H # define HAVE_SYS_PARAM_H 1 # endif # ifdef _SC_PAGESIZE # define getpagesize() sysconf(_SC_PAGESIZE) # else /* no _SC_PAGESIZE */ # if HAVE_SYS_PARAM_H # include # ifdef EXEC_PAGESIZE # define getpagesize() EXEC_PAGESIZE # else /* no EXEC_PAGESIZE */ # ifdef NBPG # define getpagesize() NBPG * CLSIZE # ifndef CLSIZE # define CLSIZE 1 # endif /* no CLSIZE */ # else /* no NBPG */ # ifdef NBPC # define getpagesize() NBPC # else /* no NBPC */ # ifdef PAGESIZE # define getpagesize() PAGESIZE # endif /* PAGESIZE */ # endif /* no NBPC */ # endif /* no NBPG */ # endif /* no EXEC_PAGESIZE */ # else /* no HAVE_SYS_PARAM_H */ # define getpagesize() 8192 /* punt totally */ # endif /* no HAVE_SYS_PARAM_H */ # endif /* no _SC_PAGESIZE */ #endif /* no HAVE_GETPAGESIZE */ int main () { char *data, *data2, *data3; size_t i, pagesize; int fd; pagesize = getpagesize (); /* First, make a file with some known garbage in it. */ data = (char *) malloc (pagesize); if (!data) exit (1); for (i = 0; i < pagesize; ++i) *(data + i) = rand (); umask (0); fd = creat ("conftest.mmap", 0600); if (fd < 0) exit (1); if (write (fd, data, pagesize) != pagesize) exit (1); close (fd); /* Next, try to mmap the file at a fixed address which already has something else allocated at it. If we can, also make sure that we see the same garbage. */ fd = open ("conftest.mmap", O_RDWR); if (fd < 0) exit (1); data2 = (char *) malloc (2 * pagesize); if (!data2) exit (1); data2 += (pagesize - ((size_t) data2 & (pagesize - 1))) & (pagesize - 1); if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_VARIABLE, fd, 0L)) exit (1); for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data2 + i)) exit (1); /* Finally, make sure that changes to the mapped area do not percolate back to the file as seen by read(). (This is a bug on some variants of i386 svr4.0.) */ for (i = 0; i < pagesize; ++i) *(data2 + i) = *(data2 + i) + 1; data3 = (char *) malloc (pagesize); if (!data3) exit (1); if (read (fd, data3, pagesize) != pagesize) exit (1); for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data3 + i)) exit (1); close (fd); exit (0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then acx_mmap_variable_ok=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext { $as_echo "$as_me:$LINENO: result: $acx_mmap_variable_ok" >&5 $as_echo "$acx_mmap_variable_ok" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Checks variable mapping ;; xno) { $as_echo "$as_me:$LINENO: result: disabled" >&5 $as_echo "disabled" >&6; } ;; x) { $as_echo "$as_me:$LINENO: result: not specified so enabled by default" >&5 $as_echo "not specified so enabled by default" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu acx_mmap_fixed_ok=no { $as_echo "$as_me:$LINENO: checking for working mmap with MAP_FIXED" >&5 $as_echo_n "checking for working mmap with MAP_FIXED... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Thanks to Mike Haertel and Jim Avera for this test. Here is a matrix of mmap possibilities: mmap private not fixed mmap private fixed at somewhere currently unmapped mmap private fixed at somewhere already mapped mmap shared not fixed mmap shared fixed at somewhere currently unmapped mmap shared fixed at somewhere already mapped For private mappings, we should verify that changes cannot be read() back from the file, nor mmap's back from the file at a different address. (There have been systems where private was not correctly implemented like the infamous i386 svr4.0, and systems where the VM page cache was not coherent with the file system buffer cache like early versions of FreeBSD and possibly contemporary NetBSD.) For shared mappings, we should conversely verify that changes get propagated back to all the places they're supposed to be. Grep wants private fixed already mapped. The main things grep needs to know about mmap are: * does it exist and is it safe to write into the mmap'd area * how to use it (BSD variants) */ #include #include #include #include #if !STDC_HEADERS && !HAVE_STDLIB_H char *malloc (); #endif /* This mess was copied from the GNU getpagesize.h. */ #if !HAVE_GETPAGESIZE /* Assume that all systems that can run configure have sys/param.h. */ # if !HAVE_SYS_PARAM_H # define HAVE_SYS_PARAM_H 1 # endif # ifdef _SC_PAGESIZE # define getpagesize() sysconf(_SC_PAGESIZE) # else /* no _SC_PAGESIZE */ # if HAVE_SYS_PARAM_H # include # ifdef EXEC_PAGESIZE # define getpagesize() EXEC_PAGESIZE # else /* no EXEC_PAGESIZE */ # ifdef NBPG # define getpagesize() NBPG * CLSIZE # ifndef CLSIZE # define CLSIZE 1 # endif /* no CLSIZE */ # else /* no NBPG */ # ifdef NBPC # define getpagesize() NBPC # else /* no NBPC */ # ifdef PAGESIZE # define getpagesize() PAGESIZE # endif /* PAGESIZE */ # endif /* no NBPC */ # endif /* no NBPG */ # endif /* no EXEC_PAGESIZE */ # else /* no HAVE_SYS_PARAM_H */ # define getpagesize() 8192 /* punt totally */ # endif /* no HAVE_SYS_PARAM_H */ # endif /* no _SC_PAGESIZE */ #endif /* no HAVE_GETPAGESIZE */ int main () { char *data, *data2, *data3; size_t i, pagesize; int fd; pagesize = getpagesize (); /* First, make a file with some known garbage in it. */ data = (char *) malloc (pagesize); if (!data) exit (1); for (i = 0; i < pagesize; ++i) *(data + i) = rand (); umask (0); fd = creat ("conftest.mmap", 0600); if (fd < 0) exit (1); if (write (fd, data, pagesize) != pagesize) exit (1); close (fd); /* Next, try to mmap the file at a fixed address which already has something else allocated at it. If we can, also make sure that we see the same garbage. */ fd = open ("conftest.mmap", O_RDWR); if (fd < 0) exit (1); data2 = (char *) malloc (2 * pagesize); if (!data2) exit (1); data2 += (pagesize - ((size_t) data2 & (pagesize - 1))) & (pagesize - 1); if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_FIXED, fd, 0L)) exit (1); for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data2 + i)) exit (1); /* Finally, make sure that changes to the mapped area do not percolate back to the file as seen by read(). (This is a bug on some variants of i386 svr4.0.) */ for (i = 0; i < pagesize; ++i) *(data2 + i) = *(data2 + i) + 1; data3 = (char *) malloc (pagesize); if (!data3) exit (1); if (read (fd, data3, pagesize) != pagesize) exit (1); for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data3 + i)) exit (1); close (fd); exit (0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then acx_mmap_fixed_ok=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext { $as_echo "$as_me:$LINENO: result: $acx_mmap_fixed_ok" >&5 $as_echo "$acx_mmap_fixed_ok" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Checks fixed mapping ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu acx_mmap_variable_ok=no { $as_echo "$as_me:$LINENO: checking for working mmap with MAP_VARIABLE" >&5 $as_echo_n "checking for working mmap with MAP_VARIABLE... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* This modified from a test by Mike Haertel and Jim Avera. Here is a matrix of mmap possibilities: mmap private not fixed mmap private fixed at somewhere currently unmapped mmap private fixed at somewhere already mapped mmap shared not fixed mmap shared fixed at somewhere currently unmapped mmap shared fixed at somewhere already mapped For private mappings, we should verify that changes cannot be read() back from the file, nor mmap's back from the file at a different address. (There have been systems where private was not correctly implemented like the infamous i386 svr4.0, and systems where the VM page cache was not coherent with the file system buffer cache like early versions of FreeBSD and possibly contemporary NetBSD.) For shared mappings, we should conversely verify that changes get propagated back to all the places they're supposed to be. Previous test was designed for grep, which needs private fixed already mapped. We want shared variable. */ #include #include #include #include #if !STDC_HEADERS && !HAVE_STDLIB_H char *malloc (); #endif /* This mess was copied from the GNU getpagesize.h. */ #if !HAVE_GETPAGESIZE /* Assume that all systems that can run configure have sys/param.h. */ # if !HAVE_SYS_PARAM_H # define HAVE_SYS_PARAM_H 1 # endif # ifdef _SC_PAGESIZE # define getpagesize() sysconf(_SC_PAGESIZE) # else /* no _SC_PAGESIZE */ # if HAVE_SYS_PARAM_H # include # ifdef EXEC_PAGESIZE # define getpagesize() EXEC_PAGESIZE # else /* no EXEC_PAGESIZE */ # ifdef NBPG # define getpagesize() NBPG * CLSIZE # ifndef CLSIZE # define CLSIZE 1 # endif /* no CLSIZE */ # else /* no NBPG */ # ifdef NBPC # define getpagesize() NBPC # else /* no NBPC */ # ifdef PAGESIZE # define getpagesize() PAGESIZE # endif /* PAGESIZE */ # endif /* no NBPC */ # endif /* no NBPG */ # endif /* no EXEC_PAGESIZE */ # else /* no HAVE_SYS_PARAM_H */ # define getpagesize() 8192 /* punt totally */ # endif /* no HAVE_SYS_PARAM_H */ # endif /* no _SC_PAGESIZE */ #endif /* no HAVE_GETPAGESIZE */ int main () { char *data, *data2, *data3; size_t i, pagesize; int fd; pagesize = getpagesize (); /* First, make a file with some known garbage in it. */ data = (char *) malloc (pagesize); if (!data) exit (1); for (i = 0; i < pagesize; ++i) *(data + i) = rand (); umask (0); fd = creat ("conftest.mmap", 0600); if (fd < 0) exit (1); if (write (fd, data, pagesize) != pagesize) exit (1); close (fd); /* Next, try to mmap the file at a fixed address which already has something else allocated at it. If we can, also make sure that we see the same garbage. */ fd = open ("conftest.mmap", O_RDWR); if (fd < 0) exit (1); data2 = (char *) malloc (2 * pagesize); if (!data2) exit (1); data2 += (pagesize - ((size_t) data2 & (pagesize - 1))) & (pagesize - 1); if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_VARIABLE, fd, 0L)) exit (1); for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data2 + i)) exit (1); /* Finally, make sure that changes to the mapped area do not percolate back to the file as seen by read(). (This is a bug on some variants of i386 svr4.0.) */ for (i = 0; i < pagesize; ++i) *(data2 + i) = *(data2 + i) + 1; data3 = (char *) malloc (pagesize); if (!data3) exit (1); if (read (fd, data3, pagesize) != pagesize) exit (1); for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data3 + i)) exit (1); close (fd); exit (0); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then acx_mmap_variable_ok=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext { $as_echo "$as_me:$LINENO: result: $acx_mmap_variable_ok" >&5 $as_echo "$acx_mmap_variable_ok" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Checks variable mapping ;; esac if test x"$acx_mmap_fixed_ok" = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_MMAP 1 _ACEOF else if test x"$acx_mmap_variable_ok" = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_MMAP 1 _ACEOF fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking for MAP_FILE in mmap" >&5 $as_echo_n "checking for MAP_FILE in mmap... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { int flags = MAP_FILE; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_MMAP_MAP_FILE 1 _ACEOF else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:$LINENO: checking for MAP_VARIABLE in mmap" >&5 $as_echo_n "checking for MAP_VARIABLE in mmap... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { int flags = MAP_VARIABLE; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_MMAP_MAP_VARIABLE 1 _ACEOF else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:$LINENO: checking for MAP_SHARED in mmap" >&5 $as_echo_n "checking for MAP_SHARED in mmap... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { int flags = MAP_SHARED; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_MMAP_MAP_SHARED 1 _ACEOF else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:$LINENO: checking for MAP_PRIVATE in mmap" >&5 $as_echo_n "checking for MAP_PRIVATE in mmap... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { int flags = MAP_PRIVATE; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_MMAP_MAP_PRIVATE 1 _ACEOF else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:$LINENO: checking for MAP_FAILED in mmap" >&5 $as_echo_n "checking for MAP_FAILED in mmap... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { void *p = MAP_FAILED; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } cat >>confdefs.h <<\_ACEOF #define MAP_FAILED ((void *)-1) _ACEOF fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking for MADV_DONTNEED in madvise" >&5 $as_echo_n "checking for MADV_DONTNEED in madvise... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { int flags = MADV_DONTNEED; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_MADVISE_MADV_DONTNEED 1 _ACEOF else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:$LINENO: checking for MADV_WILLNEED in madvise" >&5 $as_echo_n "checking for MADV_WILLNEED in madvise... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { int flags = MADV_WILLNEED; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_MADVISE_MADV_WILLNEED 1 _ACEOF else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:$LINENO: checking for MADV_RANDOM in madvise" >&5 $as_echo_n "checking for MADV_RANDOM in madvise... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { int flags = MADV_RANDOM; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_MADVISE_MADV_RANDOM 1 _ACEOF else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:$LINENO: checking for MADV_SEQUENTIAL in madvise" >&5 $as_echo_n "checking for MADV_SEQUENTIAL in madvise... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { int flags = MADV_SEQUENTIAL; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_MADVISE_MADV_SEQUENTIAL 1 _ACEOF else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking for SHM_NORESERVE in shmget" >&5 $as_echo_n "checking for SHM_NORESERVE in shmget... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { int flags = SHM_NORESERVE; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_SHM_NORESERVE 1 _ACEOF else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu for ac_func in ceil floor index log madvise memcpy memmove memset munmap pow rint stat64 strtoul sysconf sysctl sigaction \ shmget shmctl shmat shmdt semget semctl semop do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 $as_echo_n "checking for $ac_func... " >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then eval "$as_ac_var=yes" else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } as_val=`eval 'as_val=${'$as_ac_var'} $as_echo "$as_val"'` if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking for struct stat64" >&5 $as_echo_n "checking for struct stat64... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { struct stat64 st; stat64("/tmp/foo",&st); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_STRUCT_STAT64 1 _ACEOF else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking for pagesize via sysconf" >&5 $as_echo_n "checking for pagesize via sysconf... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { sysconf(_SC_PAGESIZE); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define PAGESIZE_VIA_SYSCONF 1 _ACEOF else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:$LINENO: checking for pagesize via sysctl" >&5 $as_echo_n "checking for pagesize via sysctl... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { int mib[2], pagesize; size_t len = sizeof(pagesize); mib[0] = CTL_HW; mib[1] = HW_PAGESIZE; sysctl(mib,2,&pagesize,&len,NULL,0); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define PAGESIZE_VIA_SYSCTL 1 _ACEOF else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking whether fopen accepts \"b\" mode" >&5 $as_echo_n "checking whether fopen accepts \"b\" mode... " >&6; } if test "${cvx_cv_func_fopen_b+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then cvx_cv_func_fopen_b=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { FILE *fp = fopen("conftest.bin","wb"); fprintf(fp,"\n"); fclose(fp); return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cvx_cv_func_fopen_b=yes else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) cvx_cv_func_fopen_b=no fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:$LINENO: result: $cvx_cv_func_fopen_b" >&5 $as_echo "$cvx_cv_func_fopen_b" >&6; } if test x$cvx_cv_func_fopen_b = xyes; then cat >>confdefs.h <<\_ACEOF #define USE_FOPEN_BINARY 1 _ACEOF fi { $as_echo "$as_me:$LINENO: checking whether fopen accepts \"t\" mode" >&5 $as_echo_n "checking whether fopen accepts \"t\" mode... " >&6; } if test "${cvx_cv_func_fopen_t+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then cvx_cv_func_fopen_t=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { FILE *fp = fopen("conftest.bin","wt"); fprintf(fp,"\n"); fclose(fp); return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cvx_cv_func_fopen_t=yes else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) cvx_cv_func_fopen_t=no fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:$LINENO: result: $cvx_cv_func_fopen_t" >&5 $as_echo "$cvx_cv_func_fopen_t" >&6; } if test x$cvx_cv_func_fopen_t = xyes; then cat >>confdefs.h <<\_ACEOF #define USE_FOPEN_TEXT 1 _ACEOF fi { $as_echo "$as_me:$LINENO: checking for builtin popcount/clz/ctz features" >&5 $as_echo_n "checking for builtin popcount/clz/ctz features... " >&6; } # Check whether --enable-builtin-popcount was given. if test "${enable_builtin_popcount+set}" = set; then enableval=$enable_builtin_popcount; answer="$enableval" else answer="" fi case x"$answer" in xyes) { $as_echo "$as_me:$LINENO: result: enabled" >&5 $as_echo "enabled" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CFLAGS_ORIG=$CFLAGS CFLAGS="$CFLAGS -mpopcnt" { $as_echo "$as_me:$LINENO: checking whether -mpopcnt compiler flag works" >&5 $as_echo_n "checking whether -mpopcnt compiler flag works... " >&6; } if test "$cross_compiling" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { unsigned int x = rand(); printf("%08X ",x); printf("clz=%d ",__builtin_clz(x)); printf("ctz=%d ",__builtin_ctz(x)); printf("popcount=%d ",__builtin_popcount(x)); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } acx_mpopcnt_ok=yes else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi if test "x$acx_mpopcnt_ok" != xyes; then CFLAGS=$CFLAGS_ORIG fi # Test for __builtin functions with or without the -mpopcnt compiler flag { $as_echo "$as_me:$LINENO: checking for __builtin_popcount" >&5 $as_echo_n "checking for __builtin_popcount... " >&6; } if test "$cross_compiling" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return (__builtin_popcount(0xffffffffu) == 32) ? 0 : 9; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_BUILTIN_POPCOUNT 1 _ACEOF else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: checking for __builtin_clz" >&5 $as_echo_n "checking for __builtin_clz... " >&6; } if test "$cross_compiling" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return (__builtin_clz(0x1u) == 31) ? 0 : 9; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_BUILTIN_CLZ 1 _ACEOF else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: checking for __builtin_ctz" >&5 $as_echo_n "checking for __builtin_ctz... " >&6; } if test "$cross_compiling" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return (__builtin_ctz(0x80000000u) == 31) ? 0 : 9; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_BUILTIN_CTZ 1 _ACEOF else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi CFLAGS=$CFLAGS_ORIG ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ;; xno) { $as_echo "$as_me:$LINENO: result: disabled" >&5 $as_echo "disabled" >&6; } ;; x) { $as_echo "$as_me:$LINENO: result: not specified so enabled by default" >&5 $as_echo "not specified so enabled by default" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CFLAGS_ORIG=$CFLAGS CFLAGS="$CFLAGS -mpopcnt" { $as_echo "$as_me:$LINENO: checking whether -mpopcnt compiler flag works" >&5 $as_echo_n "checking whether -mpopcnt compiler flag works... " >&6; } if test "$cross_compiling" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { unsigned int x = rand(); printf("%08X ",x); printf("clz=%d ",__builtin_clz(x)); printf("ctz=%d ",__builtin_ctz(x)); printf("popcount=%d ",__builtin_popcount(x)); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } acx_mpopcnt_ok=yes else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi if test "x$acx_mpopcnt_ok" != xyes; then CFLAGS=$CFLAGS_ORIG fi # Test for __builtin functions with or without the -mpopcnt compiler flag { $as_echo "$as_me:$LINENO: checking for __builtin_popcount" >&5 $as_echo_n "checking for __builtin_popcount... " >&6; } if test "$cross_compiling" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return (__builtin_popcount(0xffffffffu) == 32) ? 0 : 9; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_BUILTIN_POPCOUNT 1 _ACEOF else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: checking for __builtin_clz" >&5 $as_echo_n "checking for __builtin_clz... " >&6; } if test "$cross_compiling" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return (__builtin_clz(0x1u) == 31) ? 0 : 9; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_BUILTIN_CLZ 1 _ACEOF else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: checking for __builtin_ctz" >&5 $as_echo_n "checking for __builtin_ctz... " >&6; } if test "$cross_compiling" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { return (__builtin_ctz(0x80000000u) == 31) ? 0 : 9; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_BUILTIN_CTZ 1 _ACEOF else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi CFLAGS=$CFLAGS_ORIG ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ;; esac if test x"$acx_mpopcnt_ok" = x"yes"; then POPCNT_CFLAGS="$POPCNT_CFLAGS -mpopcnt" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking for bsr instruction in assembly" >&5 $as_echo_n "checking for bsr instruction in assembly... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { int msb; unsigned int x = rand(); asm("bsr %1,%0" : "=r"(msb) : "r"(x)); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_ASM_BSR 1 _ACEOF else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking whether sse2 is enabled" >&5 $as_echo_n "checking whether sse2 is enabled... " >&6; } # Check whether --enable-sse2 was given. if test "${enable_sse2+set}" = set; then enableval=$enable_sse2; answer="$enableval" else answer="" fi case x"$answer" in xyes) { $as_echo "$as_me:$LINENO: result: enabled" >&5 $as_echo "enabled" >&6; } ax_cv_want_sse2_ext=yes ;; xno) { $as_echo "$as_me:$LINENO: result: disabled by user" >&5 $as_echo "disabled by user" >&6; } ax_cv_want_sse2_ext=no ;; x) { $as_echo "$as_me:$LINENO: result: not specified so enabled by default" >&5 $as_echo "not specified so enabled by default" >&6; } ax_cv_want_sse2_ext=yes ;; esac ax_cv_sse2_shift_defect=no if test "$ax_cv_want_sse2_ext" = yes; then ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking compiler is defective and requires an immediate in sse2 shift commands" >&5 $as_echo_n "checking compiler is defective and requires an immediate in sse2 shift commands... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include int main () { int nshift = rand() % 32; __m128i shifted; shifted = _mm_slli_epi32(_mm_set1_epi32(1),nshift); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_sse2_shift_defect=no else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_sse2_shift_defect=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:$LINENO: result: $ax_cv_sse2_shift_defect" >&5 $as_echo "$ax_cv_sse2_shift_defect" >&6; } if test "$ax_cv_sse2_shift_defect" = yes; then cat >>confdefs.h <<\_ACEOF #define DEFECTIVE_SSE2_COMPILER 1 _ACEOF fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:$LINENO: checking whether ssse3 is enabled" >&5 $as_echo_n "checking whether ssse3 is enabled... " >&6; } # Check whether --enable-ssse3 was given. if test "${enable_ssse3+set}" = set; then enableval=$enable_ssse3; answer="$enableval" else answer="" fi if test "$ax_cv_want_sse2_ext" = no; then { $as_echo "$as_me:$LINENO: result: disabled because the user disabled sse2" >&5 $as_echo "disabled because the user disabled sse2" >&6; } ax_cv_want_ssse3_ext=no else case x"$answer" in xyes) { $as_echo "$as_me:$LINENO: result: enabled" >&5 $as_echo "enabled" >&6; } ax_cv_want_ssse3_ext=yes ;; xno) { $as_echo "$as_me:$LINENO: result: disabled by user" >&5 $as_echo "disabled by user" >&6; } ax_cv_want_ssse3_ext=no ;; x) { $as_echo "$as_me:$LINENO: result: not specified so enabled by default" >&5 $as_echo "not specified so enabled by default" >&6; } ax_cv_want_ssse3_ext=yes ;; esac fi { $as_echo "$as_me:$LINENO: checking whether sse4.1 is enabled" >&5 $as_echo_n "checking whether sse4.1 is enabled... " >&6; } # Check whether --enable-sse4.1 was given. if test "${enable_sse4_1+set}" = set; then enableval=$enable_sse4_1; answer="$enableval" else answer="" fi if test "$ax_cv_want_ssse3_ext" = no; then { $as_echo "$as_me:$LINENO: result: disabled because the user disabled ssse3" >&5 $as_echo "disabled because the user disabled ssse3" >&6; } ax_cv_want_sse41_ext=no else case x"$answer" in xyes) { $as_echo "$as_me:$LINENO: result: enabled" >&5 $as_echo "enabled" >&6; } ax_cv_want_sse41_ext=yes ;; xno) { $as_echo "$as_me:$LINENO: result: disabled by user" >&5 $as_echo "disabled by user" >&6; } ax_cv_want_sse41_ext=no ;; x) { $as_echo "$as_me:$LINENO: result: not specified so enabled by default" >&5 $as_echo "not specified so enabled by default" >&6; } ax_cv_want_sse41_ext=yes ;; esac fi { $as_echo "$as_me:$LINENO: checking whether sse4.2 is enabled" >&5 $as_echo_n "checking whether sse4.2 is enabled... " >&6; } # Check whether --enable-sse4.2 was given. if test "${enable_sse4_2+set}" = set; then enableval=$enable_sse4_2; answer="$enableval" else answer="" fi if test "$ax_cv_want_sse41_ext" = no; then { $as_echo "$as_me:$LINENO: result: disabled because the user disabled sse4.1" >&5 $as_echo "disabled because the user disabled sse4.1" >&6; } ax_cv_want_sse42_ext=no else case x"$answer" in xyes) { $as_echo "$as_me:$LINENO: result: enabled" >&5 $as_echo "enabled" >&6; } ax_cv_want_sse42_ext=yes ;; xno) { $as_echo "$as_me:$LINENO: result: disabled by user" >&5 $as_echo "disabled by user" >&6; } ax_cv_want_sse42_ext=no ;; x) { $as_echo "$as_me:$LINENO: result: not specified so enabled by default" >&5 $as_echo "not specified so enabled by default" >&6; } ax_cv_want_sse42_ext=yes ;; esac fi { $as_echo "$as_me:$LINENO: checking whether avx is enabled" >&5 $as_echo_n "checking whether avx is enabled... " >&6; } # Check whether --enable-avx was given. if test "${enable_avx+set}" = set; then enableval=$enable_avx; answer="$enableval" else answer="" fi if test "$ax_cv_want_sse42_ext" = no; then { $as_echo "$as_me:$LINENO: result: disabled because the user disabled sse4.2" >&5 $as_echo "disabled because the user disabled sse4.2" >&6; } ax_cv_want_avx_ext=no else case x"$answer" in xyes) { $as_echo "$as_me:$LINENO: result: enabled" >&5 $as_echo "enabled" >&6; } ax_cv_want_avx_ext=yes ;; xno) { $as_echo "$as_me:$LINENO: result: disabled by user" >&5 $as_echo "disabled by user" >&6; } ax_cv_want_avx_ext=no ;; x) { $as_echo "$as_me:$LINENO: result: not specified so enabled by default" >&5 $as_echo "not specified so enabled by default" >&6; } ax_cv_want_avx_ext=yes ;; esac fi { $as_echo "$as_me:$LINENO: checking whether avx2 is enabled" >&5 $as_echo_n "checking whether avx2 is enabled... " >&6; } # Check whether --enable-avx2 was given. if test "${enable_avx2+set}" = set; then enableval=$enable_avx2; answer="$enableval" else answer="" fi if test "$ax_cv_want_avx_ext" = no; then { $as_echo "$as_me:$LINENO: result: disabled because the user disabled avx" >&5 $as_echo "disabled because the user disabled avx" >&6; } ax_cv_want_avx2_ext=no else case x"$answer" in xyes) { $as_echo "$as_me:$LINENO: result: enabled" >&5 $as_echo "enabled" >&6; } ax_cv_want_avx2_ext=yes ;; xno) { $as_echo "$as_me:$LINENO: result: disabled by user" >&5 $as_echo "disabled by user" >&6; } ax_cv_want_avx2_ext=no ;; x) { $as_echo "$as_me:$LINENO: result: not specified so enabled by default" >&5 $as_echo "not specified so enabled by default" >&6; } ax_cv_want_avx2_ext=yes ;; esac fi { $as_echo "$as_me:$LINENO: checking whether simd is enabled" >&5 $as_echo_n "checking whether simd is enabled... " >&6; } # Check whether --enable-simd was given. if test "${enable_simd+set}" = set; then enableval=$enable_simd; answer="$enableval" else answer="" fi case x"$answer" in xyes) { $as_echo "$as_me:$LINENO: result: enabled" >&5 $as_echo "enabled" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking for x86 cpuid output" >&5 $as_echo_n "checking for x86 cpuid output... " >&6; } if test "${ax_cv_gcc_x86_cpuid_+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then ax_cv_gcc_x86_cpuid_=unknown else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { int op = , eax, ebx, ecx, edx; FILE *f; __asm__("cpuid" : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) : "a" (op)); f = fopen("conftest_cpuid", "w"); if (!f) return 1; fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx); fclose(f); return 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_gcc_x86_cpuid_=`cat conftest_cpuid`; rm -f conftest_cpuid else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ax_cv_gcc_x86_cpuid_=unknown; rm -f conftest_cpuid fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_gcc_x86_cpuid_" >&5 $as_echo "$ax_cv_gcc_x86_cpuid_" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking for x86-AVX xgetbv output" >&5 $as_echo_n "checking for x86-AVX xgetbv output... " >&6; } if test "${ax_cv_gcc_x86_avx_xgetbv_+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then ax_cv_gcc_x86_avx_xgetbv_=unknown else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { int op = , eax, edx; FILE *f; /* Opcodes for xgetbv */ __asm__(".byte 0x0f, 0x01, 0xd0" : "=a" (eax), "=d" (edx) : "c" (op)); f = fopen("conftest_xgetbv", "w"); if (!f) return 1; fprintf(f, "%x:%x\n", eax, edx); fclose(f); return 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_gcc_x86_avx_xgetbv_=`cat conftest_xgetbv`; rm -f conftest_xgetbv else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ax_cv_gcc_x86_avx_xgetbv_=unknown; rm -f conftest_xgetbv fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_gcc_x86_avx_xgetbv_" >&5 $as_echo "$ax_cv_gcc_x86_avx_xgetbv_" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CFLAGS_ORIG=$CFLAGS case $host_cpu in powerpc*) { $as_echo "$as_me:$LINENO: checking whether altivec is enabled and supported" >&5 $as_echo_n "checking whether altivec is enabled and supported... " >&6; } if test "${ax_cv_cpu_have_altivec_ext+set}" = set; then $as_echo_n "(cached) " >&6 else if test `/usr/sbin/sysctl -a 2>/dev/null| grep -c hw.optional.altivec` != 0; then if test `/usr/sbin/sysctl -n hw.optional.altivec` = 1; then ax_cv_cpu_have_altivec_ext=yes fi fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_altivec_ext" >&5 $as_echo "$ax_cv_cpu_have_altivec_ext" >&6; } if test "$ax_cv_cpu_have_altivec_ext" = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ALTIVEC 1 _ACEOF { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -faltivec" >&5 $as_echo_n "checking whether C compiler accepts -faltivec... " >&6; } if test "${ax_cv_check_cflags___faltivec+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -faltivec" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___faltivec=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___faltivec=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___faltivec" >&5 $as_echo "$ax_cv_check_cflags___faltivec" >&6; } if test x"$ax_cv_check_cflags___faltivec" = xyes; then SIMD_CFLAGS="$SIMD_CFLAGS -faltivec" else : fi fi ;; i[3456]86*|x86_64*|amd64*) ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking for x86 cpuid 0x00000001 output" >&5 $as_echo_n "checking for x86 cpuid 0x00000001 output... " >&6; } if test "${ax_cv_gcc_x86_cpuid_0x00000001+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then ax_cv_gcc_x86_cpuid_0x00000001=unknown else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { int op = 0x00000001, eax, ebx, ecx, edx; FILE *f; __asm__("cpuid" : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) : "a" (op)); f = fopen("conftest_cpuid", "w"); if (!f) return 1; fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx); fclose(f); return 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_gcc_x86_cpuid_0x00000001=`cat conftest_cpuid`; rm -f conftest_cpuid else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ax_cv_gcc_x86_cpuid_0x00000001=unknown; rm -f conftest_cpuid fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_gcc_x86_cpuid_0x00000001" >&5 $as_echo "$ax_cv_gcc_x86_cpuid_0x00000001" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ecx=0 edx=0 if test "$ax_cv_gcc_x86_cpuid_0x00000001" != "unknown"; then ecx=`echo $ax_cv_gcc_x86_cpuid_0x00000001 | cut -d ":" -f 3` edx=`echo $ax_cv_gcc_x86_cpuid_0x00000001 | cut -d ":" -f 4` fi { $as_echo "$as_me:$LINENO: checking whether mmx is enabled and supported by CPU" >&5 $as_echo_n "checking whether mmx is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_mmx_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_mmx_ext=no if test "$((0x$edx>>23&0x01))" = 1; then ax_cv_cpu_have_mmx_ext=yes ax_cv_cpu_features="$ax_cv_cpu_features mmx" fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_mmx_ext" >&5 $as_echo "$ax_cv_cpu_have_mmx_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether sse is enabled and supported by CPU" >&5 $as_echo_n "checking whether sse is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_sse_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_sse_ext=no if test "$((0x$edx>>25&0x01))" = 1; then ax_cv_cpu_have_sse_ext=yes ax_cv_cpu_features="$ax_cv_cpu_features sse" fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_sse_ext" >&5 $as_echo "$ax_cv_cpu_have_sse_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether sse2 is enabled and supported by CPU" >&5 $as_echo_n "checking whether sse2 is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_sse2_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_sse2_ext=no if test "$((0x$edx>>26&0x01))" = 1; then ax_cv_cpu_features="$ax_cv_cpu_features sse2" if test "$ax_cv_want_sse2_ext" = yes; then ax_cv_cpu_have_sse2_ext=yes fi fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_sse2_ext" >&5 $as_echo "$ax_cv_cpu_have_sse2_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether sse3 is enabled and supported by CPU" >&5 $as_echo_n "checking whether sse3 is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_sse3_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_sse3_ext=no if test "$((0x$ecx&0x01))" = 1; then ax_cv_cpu_have_sse3_ext=yes ax_cv_cpu_features="$ax_cv_cpu_features sse3" fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_sse3_ext" >&5 $as_echo "$ax_cv_cpu_have_sse3_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether ssse3 is enabled and supported by CPU" >&5 $as_echo_n "checking whether ssse3 is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_ssse3_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_ssse3_ext=no if test "$((0x$ecx>>9&0x01))" = 1; then ax_cv_cpu_features="$ax_cv_cpu_features ssse3" if test "$ax_cv_want_ssse3_ext" = yes; then ax_cv_cpu_have_ssse3_ext=yes fi fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_ssse3_ext" >&5 $as_echo "$ax_cv_cpu_have_ssse3_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether sse4.1 is enabled and supported by CPU" >&5 $as_echo_n "checking whether sse4.1 is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_sse41_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_sse41_ext=no if test "$((0x$ecx>>19&0x01))" = 1; then ax_cv_cpu_features="$ax_cv_cpu_features sse4.1" if test "$ax_cv_want_sse41_ext" = yes; then ax_cv_cpu_have_sse41_ext=yes fi fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_sse41_ext" >&5 $as_echo "$ax_cv_cpu_have_sse41_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether sse4.2 is enabled and supported by CPU" >&5 $as_echo_n "checking whether sse4.2 is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_sse42_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_sse42_ext=no if test "$((0x$ecx>>20&0x01))" = 1; then ax_cv_cpu_features="$ax_cv_cpu_features sse4.2" if test "$ax_cv_want_sse42_ext" = yes; then ax_cv_cpu_have_sse42_ext=yes fi fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_sse42_ext" >&5 $as_echo "$ax_cv_cpu_have_sse42_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether avx is enabled and supported by CPU" >&5 $as_echo_n "checking whether avx is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_avx_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_avx_ext=no if test "$((0x$ecx>>28&0x01))" = 1; then ax_cv_cpu_features="$ax_cv_cpu_features avx" if test "$ax_cv_want_avx_ext" = yes; then ax_cv_cpu_have_avx_ext=yes fi fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_avx_ext" >&5 $as_echo "$ax_cv_cpu_have_avx_ext" >&6; } if test x"$ax_cv_cpu_have_avx_ext" = x"yes"; then ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking for x86-AVX xgetbv 0x00000000 output" >&5 $as_echo_n "checking for x86-AVX xgetbv 0x00000000 output... " >&6; } if test "${ax_cv_gcc_x86_avx_xgetbv_0x00000000+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then ax_cv_gcc_x86_avx_xgetbv_0x00000000=unknown else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { int op = 0x00000000, eax, edx; FILE *f; /* Opcodes for xgetbv */ __asm__(".byte 0x0f, 0x01, 0xd0" : "=a" (eax), "=d" (edx) : "c" (op)); f = fopen("conftest_xgetbv", "w"); if (!f) return 1; fprintf(f, "%x:%x\n", eax, edx); fclose(f); return 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_gcc_x86_avx_xgetbv_0x00000000=`cat conftest_xgetbv`; rm -f conftest_xgetbv else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ax_cv_gcc_x86_avx_xgetbv_0x00000000=unknown; rm -f conftest_xgetbv fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_gcc_x86_avx_xgetbv_0x00000000" >&5 $as_echo "$ax_cv_gcc_x86_avx_xgetbv_0x00000000" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu xgetbv_eax="0" if test x"$ax_cv_gcc_x86_avx_xgetbv_0x00000000" != x"unknown"; then xgetbv_eax=`echo $ax_cv_gcc_x86_avx_xgetbv_0x00000000 | cut -d ":" -f 1` fi { $as_echo "$as_me:$LINENO: checking whether avx is supported by operating system" >&5 $as_echo_n "checking whether avx is supported by operating system... " >&6; } if test "${ax_cv_have_avx_os_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_have_avx_os_ext=no if test "$((0x$ecx>>27&0x01))" = 1; then if test "$((0x$xgetbv_eax&0x6))" = 6; then ax_cv_have_avx_os_ext=yes fi fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_have_avx_os_ext" >&5 $as_echo "$ax_cv_have_avx_os_ext" >&6; } if test x"$ax_cv_have_avx_os_ext" = x"no"; then { $as_echo "$as_me:$LINENO: WARNING: Your processor supports AVX, but your operating system doesn't" >&5 $as_echo "$as_me: WARNING: Your processor supports AVX, but your operating system doesn't" >&2;} fi fi { $as_echo "$as_me:$LINENO: checking whether popcnt is enabled and supported by CPU" >&5 $as_echo_n "checking whether popcnt is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_popcnt_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_popcnt_ext=no if test "$((0x$ecx>>23&0x01))" = 1; then ax_cv_cpu_have_popcnt_ext=yes fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_popcnt_ext" >&5 $as_echo "$ax_cv_cpu_have_popcnt_ext" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking for x86 cpuid 0x80000001 output" >&5 $as_echo_n "checking for x86 cpuid 0x80000001 output... " >&6; } if test "${ax_cv_gcc_x86_cpuid_0x80000001+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then ax_cv_gcc_x86_cpuid_0x80000001=unknown else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { int op = 0x80000001, eax, ebx, ecx, edx; FILE *f; __asm__("cpuid" : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) : "a" (op)); f = fopen("conftest_cpuid", "w"); if (!f) return 1; fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx); fclose(f); return 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_gcc_x86_cpuid_0x80000001=`cat conftest_cpuid`; rm -f conftest_cpuid else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ax_cv_gcc_x86_cpuid_0x80000001=unknown; rm -f conftest_cpuid fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_gcc_x86_cpuid_0x80000001" >&5 $as_echo "$ax_cv_gcc_x86_cpuid_0x80000001" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ecx=`echo $ax_cv_gcc_x86_cpuid_0x80000001 | cut -d ":" -f 3` edx=`echo $ax_cv_gcc_x86_cpuid_0x80000001 | cut -d ":" -f 4` { $as_echo "$as_me:$LINENO: checking whether lzcnt is enabled and supported by CPU" >&5 $as_echo_n "checking whether lzcnt is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_lzcnt_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_lzcnt_ext=no if test "$((0x$ecx>>5&0x01))" = 1; then ax_cv_cpu_have_lzcnt_ext=yes fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_lzcnt_ext" >&5 $as_echo "$ax_cv_cpu_have_lzcnt_ext" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking for x86 cpuid 0x00000007 output" >&5 $as_echo_n "checking for x86 cpuid 0x00000007 output... " >&6; } if test "${ax_cv_gcc_x86_cpuid_0x00000007+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then ax_cv_gcc_x86_cpuid_0x00000007=unknown else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { int op = 0x00000007, eax, ebx, ecx, edx; FILE *f; __asm__("cpuid" : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) : "a" (op)); f = fopen("conftest_cpuid", "w"); if (!f) return 1; fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx); fclose(f); return 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_gcc_x86_cpuid_0x00000007=`cat conftest_cpuid`; rm -f conftest_cpuid else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ax_cv_gcc_x86_cpuid_0x00000007=unknown; rm -f conftest_cpuid fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_gcc_x86_cpuid_0x00000007" >&5 $as_echo "$ax_cv_gcc_x86_cpuid_0x00000007" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ebx=`echo $ax_cv_gcc_x86_cpuid_0x00000007 | cut -d ":" -f 2` ecx=`echo $ax_cv_gcc_x86_cpuid_0x00000007 | cut -d ":" -f 3` edx=`echo $ax_cv_gcc_x86_cpuid_0x00000007 | cut -d ":" -f 4` { $as_echo "$as_me:$LINENO: checking whether avx2 is enabled and supported by CPU" >&5 $as_echo_n "checking whether avx2 is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_avx2_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_avx2_ext=no if test "$((0x$ebx>>5&0x01))" = 1; then ax_cv_cpu_features="$ax_cv_cpu_features avx2" if test "$ax_cv_want_avx2_ext" = yes; then ax_cv_cpu_have_avx2_ext=yes fi fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_avx2_ext" >&5 $as_echo "$ax_cv_cpu_have_avx2_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether bmi1 is enabled and supported by CPU" >&5 $as_echo_n "checking whether bmi1 is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_bmi1_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_bmi1_ext=no if test "$((0x$ebx>>3&0x01))" = 1; then ax_cv_cpu_have_bmi1_ext=yes fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_bmi1_ext" >&5 $as_echo "$ax_cv_cpu_have_bmi1_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether bmi2 is enabled and supported by CPU" >&5 $as_echo_n "checking whether bmi2 is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_bmi2_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_bmi2_ext=no if test "$((0x$ebx>>8&0x01))" = 1; then ax_cv_cpu_have_bmi2_ext=yes fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_bmi2_ext" >&5 $as_echo "$ax_cv_cpu_have_bmi2_ext" >&6; } if test "$ax_cv_cpu_have_mmx_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -mmmx" >&5 $as_echo_n "checking whether C compiler accepts -mmmx... " >&6; } if test "${ax_cv_check_cflags___mmmx+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -mmmx" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___mmmx=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___mmmx=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___mmmx" >&5 $as_echo "$ax_cv_check_cflags___mmmx" >&6; } if test x"$ax_cv_check_cflags___mmmx" = xyes; then ax_cv_compile_mmx_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_mmx_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports MMX instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports MMX instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for mmintrin.h header file" >&5 $as_echo_n "checking for mmintrin.h header file... " >&6; } CFLAGS=-mmmx cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_mmintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_mmintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports MMX instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports MMX instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -mmmx" cat >>confdefs.h <<\_ACEOF #define HAVE_MMX 1 _ACEOF fi fi fi if test "$ax_cv_cpu_have_sse_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -msse" >&5 $as_echo_n "checking whether C compiler accepts -msse... " >&6; } if test "${ax_cv_check_cflags___msse+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -msse" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___msse=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___msse=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___msse" >&5 $as_echo "$ax_cv_check_cflags___msse" >&6; } if test x"$ax_cv_check_cflags___msse" = xyes; then ax_cv_compile_sse_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_sse_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports SSE instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports SSE instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for xmmintrin.h header file" >&5 $as_echo_n "checking for xmmintrin.h header file... " >&6; } CFLAGS=-msse cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_xmmintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_xmmintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports SSE instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports SSE instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -msse" cat >>confdefs.h <<\_ACEOF #define HAVE_SSE 1 _ACEOF fi fi fi if test "$ax_cv_cpu_have_sse2_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -msse2" >&5 $as_echo_n "checking whether C compiler accepts -msse2... " >&6; } if test "${ax_cv_check_cflags___msse2+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -msse2" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___msse2=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___msse2=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___msse2" >&5 $as_echo "$ax_cv_check_cflags___msse2" >&6; } if test x"$ax_cv_check_cflags___msse2" = xyes; then ax_cv_compile_sse2_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_sse2_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports SSE2 instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports SSE2 instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for emmintrin.h header file" >&5 $as_echo_n "checking for emmintrin.h header file... " >&6; } CFLAGS=-msse2 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_emmintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_emmintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports SSE2 instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports SSE2 instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -msse2" cat >>confdefs.h <<\_ACEOF #define HAVE_SSE2 1 _ACEOF fi fi fi if test "$ax_cv_cpu_have_sse3_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -msse3" >&5 $as_echo_n "checking whether C compiler accepts -msse3... " >&6; } if test "${ax_cv_check_cflags___msse3+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -msse3" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___msse3=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___msse3=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___msse3" >&5 $as_echo "$ax_cv_check_cflags___msse3" >&6; } if test x"$ax_cv_check_cflags___msse3" = xyes; then ax_cv_compile_sse3_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_sse3_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports SSE3 instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports SSE3 instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for pmmintrin.h header file" >&5 $as_echo_n "checking for pmmintrin.h header file... " >&6; } CFLAGS=-msse3 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_pmmintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_pmmintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports SSE3 instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports SSE3 instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -msse3" cat >>confdefs.h <<\_ACEOF #define HAVE_SSE3 1 _ACEOF fi fi fi if test "$ax_cv_cpu_have_ssse3_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -mssse3" >&5 $as_echo_n "checking whether C compiler accepts -mssse3... " >&6; } if test "${ax_cv_check_cflags___mssse3+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -mssse3" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___mssse3=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___mssse3=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___mssse3" >&5 $as_echo "$ax_cv_check_cflags___mssse3" >&6; } if test x"$ax_cv_check_cflags___mssse3" = xyes; then ax_cv_compile_ssse3_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_ssse3_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports SSSE3 instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports SSSE3 instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for tmmintrin.h header file" >&5 $as_echo_n "checking for tmmintrin.h header file... " >&6; } CFLAGS=-mssse3 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_tmmintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_tmmintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports SSSE3 instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports SSSE3 instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -mssse3" cat >>confdefs.h <<\_ACEOF #define HAVE_SSSE3 1 _ACEOF fi fi fi if test "$ax_cv_cpu_have_sse41_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -msse4.1" >&5 $as_echo_n "checking whether C compiler accepts -msse4.1... " >&6; } if test "${ax_cv_check_cflags___msse4_1+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -msse4.1" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___msse4_1=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___msse4_1=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___msse4_1" >&5 $as_echo "$ax_cv_check_cflags___msse4_1" >&6; } if test x"$ax_cv_check_cflags___msse4_1" = xyes; then ax_cv_compile_sse41_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_sse41_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports SSE4.1 instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports SSE4.1 instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for smmintrin.h header file" >&5 $as_echo_n "checking for smmintrin.h header file... " >&6; } CFLAGS=-msse4.1 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_smmintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_smmintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports SSE4.1 instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports SSE4.1 instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -msse4.1" cat >>confdefs.h <<\_ACEOF #define HAVE_SSE4_1 1 _ACEOF fi fi fi if test "$ax_cv_cpu_have_sse42_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -msse4.2" >&5 $as_echo_n "checking whether C compiler accepts -msse4.2... " >&6; } if test "${ax_cv_check_cflags___msse4_2+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -msse4.2" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___msse4_2=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___msse4_2=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___msse4_2" >&5 $as_echo "$ax_cv_check_cflags___msse4_2" >&6; } if test x"$ax_cv_check_cflags___msse4_2" = xyes; then ax_cv_compile_sse42_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_sse42_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports SSE4.2 instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports SSE4.2 instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for nmmintrin.h header file" >&5 $as_echo_n "checking for nmmintrin.h header file... " >&6; } CFLAGS=-msse4.2 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_nmmintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_nmmintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports SSE4.2 instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports SSE4.2 instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -msse4.2" cat >>confdefs.h <<\_ACEOF #define HAVE_SSE4_2 1 _ACEOF if test "$ax_cv_cpu_have_popcnt_ext" = yes; then if test "$cross_compiling" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return (_mm_popcnt_u32(0xffffffffu) == 32) ? 0 : 9; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_run_mm_popcnt_ext=yes else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi if test x"$ax_cv_run_mm_popcnt_ext" = x"yes"; then cat >>confdefs.h <<\_ACEOF #define HAVE_MM_POPCNT 1 _ACEOF fi fi fi fi fi if test "$ax_cv_cpu_have_avx_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -mavx" >&5 $as_echo_n "checking whether C compiler accepts -mavx... " >&6; } if test "${ax_cv_check_cflags___mavx+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -mavx" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___mavx=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___mavx=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___mavx" >&5 $as_echo "$ax_cv_check_cflags___mavx" >&6; } if test x"$ax_cv_check_cflags___mavx" = xyes; then ax_cv_compile_avx_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_avx_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports AVX instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports AVX instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for immintrin.h header file" >&5 $as_echo_n "checking for immintrin.h header file... " >&6; } CFLAGS=-mavx cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_immintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_immintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports AVX instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports AVX instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -mavx" cat >>confdefs.h <<\_ACEOF #define HAVE_AVX 1 _ACEOF if test "$ax_cv_cpu_have_popcnt_ext" = yes; then if test "$cross_compiling" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return (_popcnt32(0xffffffffu) == 32) ? 0 : 9; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_run_popcnt_ext=yes else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi if test x"$ax_cv_run_popcnt_ext" = x"yes"; then cat >>confdefs.h <<\_ACEOF #define HAVE_POPCNT 1 _ACEOF fi fi if test "$ax_cv_cpu_have_lzcnt_ext" = yes; then if test "$cross_compiling" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return (_lzcnt_u32(0xffffffffu) == 32) ? 0 : 9; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_run_lzcnt_ext=yes else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi if test x"$ax_cv_run_lzcnt_ext" = x"yes"; then cat >>confdefs.h <<\_ACEOF #define HAVE_LZCNT 1 _ACEOF fi fi if test "$ax_cv_cpu_have_bmi1_ext" = yes; then CFLAGS=-mbmi if test "$cross_compiling" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return (_tzcnt_u32(0xffffffffu) == 32) ? 0 : 9; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_run_tzcnt_ext=yes else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi if test x"$ax_cv_run_tzcnt_ext" = x"yes"; then SIMD_CFLAGS="$SIMD_CFLAGS -mbmi" cat >>confdefs.h <<\_ACEOF #define HAVE_TZCNT 1 _ACEOF fi fi if test "$ax_cv_cpu_have_bmi2_ext" = yes; then SIMD_CFLAGS="$SIMD_CFLAGS -mbmi2" cat >>confdefs.h <<\_ACEOF #define HAVE_BMI2 1 _ACEOF fi fi fi fi if test "$ax_cv_cpu_have_avx2_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -mavx2" >&5 $as_echo_n "checking whether C compiler accepts -mavx2... " >&6; } if test "${ax_cv_check_cflags___mavx2+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -mavx2" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___mavx2=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___mavx2=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___mavx2" >&5 $as_echo "$ax_cv_check_cflags___mavx2" >&6; } if test x"$ax_cv_check_cflags___mavx2" = xyes; then ax_cv_compile_avx2_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_avx2_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports AVX2 instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports AVX2 instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for immintrin.h header file" >&5 $as_echo_n "checking for immintrin.h header file... " >&6; } CFLAGS=-mavx2 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_immintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_immintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports AVX2 instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports AVX2 instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -mavx2" cat >>confdefs.h <<\_ACEOF #define HAVE_AVX2 1 _ACEOF fi fi fi ;; esac CFLAGS=$CFLAGS_ORIG # Sets SIMD_CFLAGS, and HAVE_ALTIVEC,HAVE_MMX,HAVE_SSE,HAVE_SSE2,HAVE_SSE3,HAVE_SSSE3,HAVE_SSE4_1,HAVE_SSE4_2,HAVE_AVX ;; xno) { $as_echo "$as_me:$LINENO: result: disabled" >&5 $as_echo "disabled" >&6; } ;; x) { $as_echo "$as_me:$LINENO: result: not specified so enabled by default" >&5 $as_echo "not specified so enabled by default" >&6; } CFLAGS_ORIG=$CFLAGS case $host_cpu in powerpc*) { $as_echo "$as_me:$LINENO: checking whether altivec is enabled and supported" >&5 $as_echo_n "checking whether altivec is enabled and supported... " >&6; } if test "${ax_cv_cpu_have_altivec_ext+set}" = set; then $as_echo_n "(cached) " >&6 else if test `/usr/sbin/sysctl -a 2>/dev/null| grep -c hw.optional.altivec` != 0; then if test `/usr/sbin/sysctl -n hw.optional.altivec` = 1; then ax_cv_cpu_have_altivec_ext=yes fi fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_altivec_ext" >&5 $as_echo "$ax_cv_cpu_have_altivec_ext" >&6; } if test "$ax_cv_cpu_have_altivec_ext" = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ALTIVEC 1 _ACEOF { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -faltivec" >&5 $as_echo_n "checking whether C compiler accepts -faltivec... " >&6; } if test "${ax_cv_check_cflags___faltivec+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -faltivec" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___faltivec=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___faltivec=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___faltivec" >&5 $as_echo "$ax_cv_check_cflags___faltivec" >&6; } if test x"$ax_cv_check_cflags___faltivec" = xyes; then SIMD_CFLAGS="$SIMD_CFLAGS -faltivec" else : fi fi ;; i[3456]86*|x86_64*|amd64*) ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking for x86 cpuid 0x00000001 output" >&5 $as_echo_n "checking for x86 cpuid 0x00000001 output... " >&6; } if test "${ax_cv_gcc_x86_cpuid_0x00000001+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then ax_cv_gcc_x86_cpuid_0x00000001=unknown else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { int op = 0x00000001, eax, ebx, ecx, edx; FILE *f; __asm__("cpuid" : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) : "a" (op)); f = fopen("conftest_cpuid", "w"); if (!f) return 1; fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx); fclose(f); return 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_gcc_x86_cpuid_0x00000001=`cat conftest_cpuid`; rm -f conftest_cpuid else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ax_cv_gcc_x86_cpuid_0x00000001=unknown; rm -f conftest_cpuid fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_gcc_x86_cpuid_0x00000001" >&5 $as_echo "$ax_cv_gcc_x86_cpuid_0x00000001" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ecx=0 edx=0 if test "$ax_cv_gcc_x86_cpuid_0x00000001" != "unknown"; then ecx=`echo $ax_cv_gcc_x86_cpuid_0x00000001 | cut -d ":" -f 3` edx=`echo $ax_cv_gcc_x86_cpuid_0x00000001 | cut -d ":" -f 4` fi { $as_echo "$as_me:$LINENO: checking whether mmx is enabled and supported by CPU" >&5 $as_echo_n "checking whether mmx is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_mmx_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_mmx_ext=no if test "$((0x$edx>>23&0x01))" = 1; then ax_cv_cpu_have_mmx_ext=yes ax_cv_cpu_features="$ax_cv_cpu_features mmx" fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_mmx_ext" >&5 $as_echo "$ax_cv_cpu_have_mmx_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether sse is enabled and supported by CPU" >&5 $as_echo_n "checking whether sse is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_sse_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_sse_ext=no if test "$((0x$edx>>25&0x01))" = 1; then ax_cv_cpu_have_sse_ext=yes ax_cv_cpu_features="$ax_cv_cpu_features sse" fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_sse_ext" >&5 $as_echo "$ax_cv_cpu_have_sse_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether sse2 is enabled and supported by CPU" >&5 $as_echo_n "checking whether sse2 is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_sse2_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_sse2_ext=no if test "$((0x$edx>>26&0x01))" = 1; then ax_cv_cpu_features="$ax_cv_cpu_features sse2" if test "$ax_cv_want_sse2_ext" = yes; then ax_cv_cpu_have_sse2_ext=yes fi fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_sse2_ext" >&5 $as_echo "$ax_cv_cpu_have_sse2_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether sse3 is enabled and supported by CPU" >&5 $as_echo_n "checking whether sse3 is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_sse3_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_sse3_ext=no if test "$((0x$ecx&0x01))" = 1; then ax_cv_cpu_have_sse3_ext=yes ax_cv_cpu_features="$ax_cv_cpu_features sse3" fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_sse3_ext" >&5 $as_echo "$ax_cv_cpu_have_sse3_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether ssse3 is enabled and supported by CPU" >&5 $as_echo_n "checking whether ssse3 is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_ssse3_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_ssse3_ext=no if test "$((0x$ecx>>9&0x01))" = 1; then ax_cv_cpu_features="$ax_cv_cpu_features ssse3" if test "$ax_cv_want_ssse3_ext" = yes; then ax_cv_cpu_have_ssse3_ext=yes fi fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_ssse3_ext" >&5 $as_echo "$ax_cv_cpu_have_ssse3_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether sse4.1 is enabled and supported by CPU" >&5 $as_echo_n "checking whether sse4.1 is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_sse41_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_sse41_ext=no if test "$((0x$ecx>>19&0x01))" = 1; then ax_cv_cpu_features="$ax_cv_cpu_features sse4.1" if test "$ax_cv_want_sse41_ext" = yes; then ax_cv_cpu_have_sse41_ext=yes fi fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_sse41_ext" >&5 $as_echo "$ax_cv_cpu_have_sse41_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether sse4.2 is enabled and supported by CPU" >&5 $as_echo_n "checking whether sse4.2 is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_sse42_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_sse42_ext=no if test "$((0x$ecx>>20&0x01))" = 1; then ax_cv_cpu_features="$ax_cv_cpu_features sse4.2" if test "$ax_cv_want_sse42_ext" = yes; then ax_cv_cpu_have_sse42_ext=yes fi fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_sse42_ext" >&5 $as_echo "$ax_cv_cpu_have_sse42_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether avx is enabled and supported by CPU" >&5 $as_echo_n "checking whether avx is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_avx_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_avx_ext=no if test "$((0x$ecx>>28&0x01))" = 1; then ax_cv_cpu_features="$ax_cv_cpu_features avx" if test "$ax_cv_want_avx_ext" = yes; then ax_cv_cpu_have_avx_ext=yes fi fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_avx_ext" >&5 $as_echo "$ax_cv_cpu_have_avx_ext" >&6; } if test x"$ax_cv_cpu_have_avx_ext" = x"yes"; then ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking for x86-AVX xgetbv 0x00000000 output" >&5 $as_echo_n "checking for x86-AVX xgetbv 0x00000000 output... " >&6; } if test "${ax_cv_gcc_x86_avx_xgetbv_0x00000000+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then ax_cv_gcc_x86_avx_xgetbv_0x00000000=unknown else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { int op = 0x00000000, eax, edx; FILE *f; /* Opcodes for xgetbv */ __asm__(".byte 0x0f, 0x01, 0xd0" : "=a" (eax), "=d" (edx) : "c" (op)); f = fopen("conftest_xgetbv", "w"); if (!f) return 1; fprintf(f, "%x:%x\n", eax, edx); fclose(f); return 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_gcc_x86_avx_xgetbv_0x00000000=`cat conftest_xgetbv`; rm -f conftest_xgetbv else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ax_cv_gcc_x86_avx_xgetbv_0x00000000=unknown; rm -f conftest_xgetbv fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_gcc_x86_avx_xgetbv_0x00000000" >&5 $as_echo "$ax_cv_gcc_x86_avx_xgetbv_0x00000000" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu xgetbv_eax="0" if test x"$ax_cv_gcc_x86_avx_xgetbv_0x00000000" != x"unknown"; then xgetbv_eax=`echo $ax_cv_gcc_x86_avx_xgetbv_0x00000000 | cut -d ":" -f 1` fi { $as_echo "$as_me:$LINENO: checking whether avx is supported by operating system" >&5 $as_echo_n "checking whether avx is supported by operating system... " >&6; } if test "${ax_cv_have_avx_os_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_have_avx_os_ext=no if test "$((0x$ecx>>27&0x01))" = 1; then if test "$((0x$xgetbv_eax&0x6))" = 6; then ax_cv_have_avx_os_ext=yes fi fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_have_avx_os_ext" >&5 $as_echo "$ax_cv_have_avx_os_ext" >&6; } if test x"$ax_cv_have_avx_os_ext" = x"no"; then { $as_echo "$as_me:$LINENO: WARNING: Your processor supports AVX, but your operating system doesn't" >&5 $as_echo "$as_me: WARNING: Your processor supports AVX, but your operating system doesn't" >&2;} fi fi { $as_echo "$as_me:$LINENO: checking whether popcnt is enabled and supported by CPU" >&5 $as_echo_n "checking whether popcnt is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_popcnt_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_popcnt_ext=no if test "$((0x$ecx>>23&0x01))" = 1; then ax_cv_cpu_have_popcnt_ext=yes fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_popcnt_ext" >&5 $as_echo "$ax_cv_cpu_have_popcnt_ext" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking for x86 cpuid 0x80000001 output" >&5 $as_echo_n "checking for x86 cpuid 0x80000001 output... " >&6; } if test "${ax_cv_gcc_x86_cpuid_0x80000001+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then ax_cv_gcc_x86_cpuid_0x80000001=unknown else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { int op = 0x80000001, eax, ebx, ecx, edx; FILE *f; __asm__("cpuid" : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) : "a" (op)); f = fopen("conftest_cpuid", "w"); if (!f) return 1; fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx); fclose(f); return 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_gcc_x86_cpuid_0x80000001=`cat conftest_cpuid`; rm -f conftest_cpuid else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ax_cv_gcc_x86_cpuid_0x80000001=unknown; rm -f conftest_cpuid fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_gcc_x86_cpuid_0x80000001" >&5 $as_echo "$ax_cv_gcc_x86_cpuid_0x80000001" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ecx=`echo $ax_cv_gcc_x86_cpuid_0x80000001 | cut -d ":" -f 3` edx=`echo $ax_cv_gcc_x86_cpuid_0x80000001 | cut -d ":" -f 4` { $as_echo "$as_me:$LINENO: checking whether lzcnt is enabled and supported by CPU" >&5 $as_echo_n "checking whether lzcnt is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_lzcnt_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_lzcnt_ext=no if test "$((0x$ecx>>5&0x01))" = 1; then ax_cv_cpu_have_lzcnt_ext=yes fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_lzcnt_ext" >&5 $as_echo "$ax_cv_cpu_have_lzcnt_ext" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:$LINENO: checking for x86 cpuid 0x00000007 output" >&5 $as_echo_n "checking for x86 cpuid 0x00000007 output... " >&6; } if test "${ax_cv_gcc_x86_cpuid_0x00000007+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then ax_cv_gcc_x86_cpuid_0x00000007=unknown else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { int op = 0x00000007, eax, ebx, ecx, edx; FILE *f; __asm__("cpuid" : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx) : "a" (op)); f = fopen("conftest_cpuid", "w"); if (!f) return 1; fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx); fclose(f); return 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_gcc_x86_cpuid_0x00000007=`cat conftest_cpuid`; rm -f conftest_cpuid else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ax_cv_gcc_x86_cpuid_0x00000007=unknown; rm -f conftest_cpuid fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_gcc_x86_cpuid_0x00000007" >&5 $as_echo "$ax_cv_gcc_x86_cpuid_0x00000007" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ebx=`echo $ax_cv_gcc_x86_cpuid_0x00000007 | cut -d ":" -f 2` ecx=`echo $ax_cv_gcc_x86_cpuid_0x00000007 | cut -d ":" -f 3` edx=`echo $ax_cv_gcc_x86_cpuid_0x00000007 | cut -d ":" -f 4` { $as_echo "$as_me:$LINENO: checking whether avx2 is enabled and supported by CPU" >&5 $as_echo_n "checking whether avx2 is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_avx2_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_avx2_ext=no if test "$((0x$ebx>>5&0x01))" = 1; then ax_cv_cpu_features="$ax_cv_cpu_features avx2" if test "$ax_cv_want_avx2_ext" = yes; then ax_cv_cpu_have_avx2_ext=yes fi fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_avx2_ext" >&5 $as_echo "$ax_cv_cpu_have_avx2_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether bmi1 is enabled and supported by CPU" >&5 $as_echo_n "checking whether bmi1 is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_bmi1_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_bmi1_ext=no if test "$((0x$ebx>>3&0x01))" = 1; then ax_cv_cpu_have_bmi1_ext=yes fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_bmi1_ext" >&5 $as_echo "$ax_cv_cpu_have_bmi1_ext" >&6; } { $as_echo "$as_me:$LINENO: checking whether bmi2 is enabled and supported by CPU" >&5 $as_echo_n "checking whether bmi2 is enabled and supported by CPU... " >&6; } if test "${ax_cv_cpu_have_bmi2_ext+set}" = set; then $as_echo_n "(cached) " >&6 else ax_cv_cpu_have_bmi2_ext=no if test "$((0x$ebx>>8&0x01))" = 1; then ax_cv_cpu_have_bmi2_ext=yes fi fi { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_have_bmi2_ext" >&5 $as_echo "$ax_cv_cpu_have_bmi2_ext" >&6; } if test "$ax_cv_cpu_have_mmx_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -mmmx" >&5 $as_echo_n "checking whether C compiler accepts -mmmx... " >&6; } if test "${ax_cv_check_cflags___mmmx+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -mmmx" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___mmmx=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___mmmx=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___mmmx" >&5 $as_echo "$ax_cv_check_cflags___mmmx" >&6; } if test x"$ax_cv_check_cflags___mmmx" = xyes; then ax_cv_compile_mmx_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_mmx_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports MMX instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports MMX instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for mmintrin.h header file" >&5 $as_echo_n "checking for mmintrin.h header file... " >&6; } CFLAGS=-mmmx cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_mmintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_mmintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports MMX instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports MMX instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -mmmx" cat >>confdefs.h <<\_ACEOF #define HAVE_MMX 1 _ACEOF fi fi fi if test "$ax_cv_cpu_have_sse_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -msse" >&5 $as_echo_n "checking whether C compiler accepts -msse... " >&6; } if test "${ax_cv_check_cflags___msse+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -msse" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___msse=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___msse=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___msse" >&5 $as_echo "$ax_cv_check_cflags___msse" >&6; } if test x"$ax_cv_check_cflags___msse" = xyes; then ax_cv_compile_sse_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_sse_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports SSE instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports SSE instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for xmmintrin.h header file" >&5 $as_echo_n "checking for xmmintrin.h header file... " >&6; } CFLAGS=-msse cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_xmmintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_xmmintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports SSE instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports SSE instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -msse" cat >>confdefs.h <<\_ACEOF #define HAVE_SSE 1 _ACEOF fi fi fi if test "$ax_cv_cpu_have_sse2_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -msse2" >&5 $as_echo_n "checking whether C compiler accepts -msse2... " >&6; } if test "${ax_cv_check_cflags___msse2+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -msse2" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___msse2=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___msse2=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___msse2" >&5 $as_echo "$ax_cv_check_cflags___msse2" >&6; } if test x"$ax_cv_check_cflags___msse2" = xyes; then ax_cv_compile_sse2_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_sse2_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports SSE2 instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports SSE2 instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for emmintrin.h header file" >&5 $as_echo_n "checking for emmintrin.h header file... " >&6; } CFLAGS=-msse2 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_emmintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_emmintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports SSE2 instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports SSE2 instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -msse2" cat >>confdefs.h <<\_ACEOF #define HAVE_SSE2 1 _ACEOF fi fi fi if test "$ax_cv_cpu_have_sse3_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -msse3" >&5 $as_echo_n "checking whether C compiler accepts -msse3... " >&6; } if test "${ax_cv_check_cflags___msse3+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -msse3" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___msse3=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___msse3=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___msse3" >&5 $as_echo "$ax_cv_check_cflags___msse3" >&6; } if test x"$ax_cv_check_cflags___msse3" = xyes; then ax_cv_compile_sse3_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_sse3_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports SSE3 instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports SSE3 instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for pmmintrin.h header file" >&5 $as_echo_n "checking for pmmintrin.h header file... " >&6; } CFLAGS=-msse3 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_pmmintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_pmmintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports SSE3 instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports SSE3 instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -msse3" cat >>confdefs.h <<\_ACEOF #define HAVE_SSE3 1 _ACEOF fi fi fi if test "$ax_cv_cpu_have_ssse3_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -mssse3" >&5 $as_echo_n "checking whether C compiler accepts -mssse3... " >&6; } if test "${ax_cv_check_cflags___mssse3+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -mssse3" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___mssse3=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___mssse3=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___mssse3" >&5 $as_echo "$ax_cv_check_cflags___mssse3" >&6; } if test x"$ax_cv_check_cflags___mssse3" = xyes; then ax_cv_compile_ssse3_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_ssse3_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports SSSE3 instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports SSSE3 instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for tmmintrin.h header file" >&5 $as_echo_n "checking for tmmintrin.h header file... " >&6; } CFLAGS=-mssse3 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_tmmintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_tmmintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports SSSE3 instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports SSSE3 instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -mssse3" cat >>confdefs.h <<\_ACEOF #define HAVE_SSSE3 1 _ACEOF fi fi fi if test "$ax_cv_cpu_have_sse41_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -msse4.1" >&5 $as_echo_n "checking whether C compiler accepts -msse4.1... " >&6; } if test "${ax_cv_check_cflags___msse4_1+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -msse4.1" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___msse4_1=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___msse4_1=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___msse4_1" >&5 $as_echo "$ax_cv_check_cflags___msse4_1" >&6; } if test x"$ax_cv_check_cflags___msse4_1" = xyes; then ax_cv_compile_sse41_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_sse41_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports SSE4.1 instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports SSE4.1 instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for smmintrin.h header file" >&5 $as_echo_n "checking for smmintrin.h header file... " >&6; } CFLAGS=-msse4.1 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_smmintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_smmintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports SSE4.1 instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports SSE4.1 instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -msse4.1" cat >>confdefs.h <<\_ACEOF #define HAVE_SSE4_1 1 _ACEOF fi fi fi if test "$ax_cv_cpu_have_sse42_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -msse4.2" >&5 $as_echo_n "checking whether C compiler accepts -msse4.2... " >&6; } if test "${ax_cv_check_cflags___msse4_2+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -msse4.2" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___msse4_2=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___msse4_2=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___msse4_2" >&5 $as_echo "$ax_cv_check_cflags___msse4_2" >&6; } if test x"$ax_cv_check_cflags___msse4_2" = xyes; then ax_cv_compile_sse42_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_sse42_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports SSE4.2 instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports SSE4.2 instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for nmmintrin.h header file" >&5 $as_echo_n "checking for nmmintrin.h header file... " >&6; } CFLAGS=-msse4.2 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_nmmintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_nmmintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports SSE4.2 instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports SSE4.2 instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -msse4.2" cat >>confdefs.h <<\_ACEOF #define HAVE_SSE4_2 1 _ACEOF if test "$ax_cv_cpu_have_popcnt_ext" = yes; then if test "$cross_compiling" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return (_mm_popcnt_u32(0xffffffffu) == 32) ? 0 : 9; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_run_mm_popcnt_ext=yes else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi if test x"$ax_cv_run_mm_popcnt_ext" = x"yes"; then cat >>confdefs.h <<\_ACEOF #define HAVE_MM_POPCNT 1 _ACEOF fi fi fi fi fi if test "$ax_cv_cpu_have_avx_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -mavx" >&5 $as_echo_n "checking whether C compiler accepts -mavx... " >&6; } if test "${ax_cv_check_cflags___mavx+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -mavx" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___mavx=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___mavx=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___mavx" >&5 $as_echo "$ax_cv_check_cflags___mavx" >&6; } if test x"$ax_cv_check_cflags___mavx" = xyes; then ax_cv_compile_avx_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_avx_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports AVX instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports AVX instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for immintrin.h header file" >&5 $as_echo_n "checking for immintrin.h header file... " >&6; } CFLAGS=-mavx cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_immintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_immintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports AVX instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports AVX instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -mavx" cat >>confdefs.h <<\_ACEOF #define HAVE_AVX 1 _ACEOF if test "$ax_cv_cpu_have_popcnt_ext" = yes; then if test "$cross_compiling" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return (_popcnt32(0xffffffffu) == 32) ? 0 : 9; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_run_popcnt_ext=yes else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi if test x"$ax_cv_run_popcnt_ext" = x"yes"; then cat >>confdefs.h <<\_ACEOF #define HAVE_POPCNT 1 _ACEOF fi fi if test "$ax_cv_cpu_have_lzcnt_ext" = yes; then if test "$cross_compiling" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return (_lzcnt_u32(0xffffffffu) == 32) ? 0 : 9; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_run_lzcnt_ext=yes else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi if test x"$ax_cv_run_lzcnt_ext" = x"yes"; then cat >>confdefs.h <<\_ACEOF #define HAVE_LZCNT 1 _ACEOF fi fi if test "$ax_cv_cpu_have_bmi1_ext" = yes; then CFLAGS=-mbmi if test "$cross_compiling" = yes; then { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5 $as_echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { return (_tzcnt_u32(0xffffffffu) == 32) ? 0 : 9; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ax_cv_run_tzcnt_ext=yes else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi if test x"$ax_cv_run_tzcnt_ext" = x"yes"; then SIMD_CFLAGS="$SIMD_CFLAGS -mbmi" cat >>confdefs.h <<\_ACEOF #define HAVE_TZCNT 1 _ACEOF fi fi if test "$ax_cv_cpu_have_bmi2_ext" = yes; then SIMD_CFLAGS="$SIMD_CFLAGS -mbmi2" cat >>confdefs.h <<\_ACEOF #define HAVE_BMI2 1 _ACEOF fi fi fi fi if test "$ax_cv_cpu_have_avx2_ext" = yes; then { $as_echo "$as_me:$LINENO: checking whether C compiler accepts -mavx2" >&5 $as_echo_n "checking whether C compiler accepts -mavx2... " >&6; } if test "${ax_cv_check_cflags___mavx2+set}" = set; then $as_echo_n "(cached) " >&6 else ax_check_save_flags=$CFLAGS CFLAGS="$CFLAGS -mavx2" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ax_cv_check_cflags___mavx2=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_check_cflags___mavx2=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS=$ax_check_save_flags fi { $as_echo "$as_me:$LINENO: result: $ax_cv_check_cflags___mavx2" >&5 $as_echo "$ax_cv_check_cflags___mavx2" >&6; } if test x"$ax_cv_check_cflags___mavx2" = xyes; then ax_cv_compile_avx2_ext=yes else ax_cv_ext_compile_problem=yes fi if test x"$ax_cv_compile_avx2_ext" != x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: Your CPU supports AVX2 instructions but not your compiler. Can you try another compiler or update yours?" >&5 $as_echo "$as_me: WARNING: Your CPU supports AVX2 instructions but not your compiler. Can you try another compiler or update yours?" >&2;} else { $as_echo "$as_me:$LINENO: checking for immintrin.h header file" >&5 $as_echo_n "checking for immintrin.h header file... " >&6; } CFLAGS=-mavx2 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ax_cv_link_immintrin_h=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ax_cv_ext_linker_problem=yes fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test x"$ax_cv_link_immintrin_h" != x"yes"; then { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:$LINENO: WARNING: Your compiler supports AVX2 instructions but not your linker." >&5 $as_echo "$as_me: WARNING: Your compiler supports AVX2 instructions but not your linker." >&2;} else { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SIMD_CFLAGS="$SIMD_CFLAGS -mavx2" cat >>confdefs.h <<\_ACEOF #define HAVE_AVX2 1 _ACEOF fi fi fi ;; esac CFLAGS=$CFLAGS_ORIG # Sets SIMD_CFLAGS, and HAVE_ALTIVEC,HAVE_MMX,HAVE_SSE,HAVE_SSE2,HAVE_SSE3,HAVE_SSSE3,HAVE_SSE4_1,HAVE_SSE4_2,HAVE_AVX ;; esac # Genome directory { $as_echo "$as_me:$LINENO: checking gmapdb" >&5 $as_echo_n "checking gmapdb... " >&6; } # Check whether --with-gmapdb was given. if test "${with_gmapdb+set}" = set; then withval=$with_gmapdb; answer="$withval" else answer="" fi if test x"$answer" = x; then EXP_VAR=GMAPDB FROM_VAR='${prefix}/share' prefix_save=$prefix exec_prefix_save=$exec_prefix if test "x$prefix" = xNONE; then prefix="$ac_default_prefix" fi if test "x$exec_prefix" = xNONE; then exec_prefix=$prefix fi full_var="$FROM_VAR" while true; do new_full_var="`eval echo $full_var`" if test "x$new_full_var" = "x$full_var"; then break; fi full_var=$new_full_var done full_var=$new_full_var GMAPDB="$full_var" prefix=$prefix_save exec_prefix=$exec_prefix_save else GMAPDB=$answer fi { $as_echo "$as_me:$LINENO: result: $GMAPDB" >&5 $as_echo "$GMAPDB" >&6; } # MAX_READLENGTH { $as_echo "$as_me:$LINENO: checking MAX_READLENGTH" >&5 $as_echo_n "checking MAX_READLENGTH... " >&6; } if test x"$MAX_READLENGTH" = x; then EXP_VAR=MAX_READLENGTH FROM_VAR='300' prefix_save=$prefix exec_prefix_save=$exec_prefix if test "x$prefix" = xNONE; then prefix="$ac_default_prefix" fi if test "x$exec_prefix" = xNONE; then exec_prefix=$prefix fi full_var="$FROM_VAR" while true; do new_full_var="`eval echo $full_var`" if test "x$new_full_var" = "x$full_var"; then break; fi full_var=$new_full_var done full_var=$new_full_var MAX_READLENGTH="$full_var" prefix=$prefix_save exec_prefix=$exec_prefix_save fi { $as_echo "$as_me:$LINENO: result: $MAX_READLENGTH" >&5 $as_echo "$MAX_READLENGTH" >&6; } # zlib package { $as_echo "$as_me:$LINENO: checking for zlib support" >&5 $as_echo_n "checking for zlib support... " >&6; } # Check whether --enable-zlib was given. if test "${enable_zlib+set}" = set; then enableval=$enable_zlib; answer="$enableval" else answer="" fi case x"$answer" in xno) { $as_echo "$as_me:$LINENO: result: disabled" >&5 $as_echo "disabled" >&6; } ZLIB_LIBS="" have_zlib=no ;; *) { $as_echo "$as_me:$LINENO: result: enabled" >&5 $as_echo "enabled" >&6; } failed=0; passed=0; if test "${ac_cv_header_zlib_h+set}" = set; then { $as_echo "$as_me:$LINENO: checking for zlib.h" >&5 $as_echo_n "checking for zlib.h... " >&6; } if test "${ac_cv_header_zlib_h+set}" = set; then $as_echo_n "(cached) " >&6 fi { $as_echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 $as_echo "$ac_cv_header_zlib_h" >&6; } else # Is the header compilable? { $as_echo "$as_me:$LINENO: checking zlib.h usability" >&5 $as_echo_n "checking zlib.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:$LINENO: checking zlib.h presence" >&5 $as_echo_n "checking zlib.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { $as_echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { $as_echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} { $as_echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} { $as_echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 $as_echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} { $as_echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 $as_echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------------- ## ## Report this to Thomas Wu ## ## --------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:$LINENO: checking for zlib.h" >&5 $as_echo_n "checking for zlib.h... " >&6; } if test "${ac_cv_header_zlib_h+set}" = set; then $as_echo_n "(cached) " >&6 else ac_cv_header_zlib_h=$ac_header_preproc fi { $as_echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 $as_echo "$ac_cv_header_zlib_h" >&6; } fi if test "x$ac_cv_header_zlib_h" = x""yes; then passed=`expr $passed + 1` else failed=`expr $failed + 1` fi { $as_echo "$as_me:$LINENO: checking for gzopen in -lz" >&5 $as_echo_n "checking for gzopen in -lz... " >&6; } if test "${ac_cv_lib_z_gzopen+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gzopen (); int main () { return gzopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_z_gzopen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_z_gzopen=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_gzopen" >&5 $as_echo "$ac_cv_lib_z_gzopen" >&6; } if test "x$ac_cv_lib_z_gzopen" = x""yes; then passed=`expr $passed + 1` else failed=`expr $failed + 1` fi { $as_echo "$as_me:$LINENO: checking for gzeof in -lz" >&5 $as_echo_n "checking for gzeof in -lz... " >&6; } if test "${ac_cv_lib_z_gzeof+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gzeof (); int main () { return gzeof (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_z_gzeof=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_z_gzeof=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_gzeof" >&5 $as_echo "$ac_cv_lib_z_gzeof" >&6; } if test "x$ac_cv_lib_z_gzeof" = x""yes; then passed=`expr $passed + 1` else failed=`expr $failed + 1` fi { $as_echo "$as_me:$LINENO: checking for gzgetc in -lz" >&5 $as_echo_n "checking for gzgetc in -lz... " >&6; } if test "${ac_cv_lib_z_gzgetc+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gzgetc (); int main () { return gzgetc (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_z_gzgetc=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_z_gzgetc=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_gzgetc" >&5 $as_echo "$ac_cv_lib_z_gzgetc" >&6; } if test "x$ac_cv_lib_z_gzgetc" = x""yes; then passed=`expr $passed + 1` else failed=`expr $failed + 1` fi { $as_echo "$as_me:$LINENO: checking for gzgets in -lz" >&5 $as_echo_n "checking for gzgets in -lz... " >&6; } if test "${ac_cv_lib_z_gzgets+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gzgets (); int main () { return gzgets (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_z_gzgets=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_z_gzgets=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_gzgets" >&5 $as_echo "$ac_cv_lib_z_gzgets" >&6; } if test "x$ac_cv_lib_z_gzgets" = x""yes; then passed=`expr $passed + 1` else failed=`expr $failed + 1` fi { $as_echo "$as_me:$LINENO: checking for gzclose in -lz" >&5 $as_echo_n "checking for gzclose in -lz... " >&6; } if test "${ac_cv_lib_z_gzclose+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gzclose (); int main () { return gzclose (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_z_gzclose=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_z_gzclose=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_gzclose" >&5 $as_echo "$ac_cv_lib_z_gzclose" >&6; } if test "x$ac_cv_lib_z_gzclose" = x""yes; then passed=`expr $passed + 1` else failed=`expr $failed + 1` fi { $as_echo "$as_me:$LINENO: checking if zlib package is complete" >&5 $as_echo_n "checking if zlib package is complete... " >&6; } if test $failed -gt 0 then { $as_echo "$as_me:$LINENO: result: no -- some components failed test" >&5 $as_echo "no -- some components failed test" >&6; } ZLIB_LIBS="" have_zlib=no else { $as_echo "$as_me:$LINENO: result: working" >&5 $as_echo "working" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_ZLIB 1 _ACEOF ZLIB_LIBS="-lz" have_zlib=yes { $as_echo "$as_me:$LINENO: checking for gzbuffer in -lz" >&5 $as_echo_n "checking for gzbuffer in -lz... " >&6; } if test "${ac_cv_lib_z_gzbuffer+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gzbuffer (); int main () { return gzbuffer (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_z_gzbuffer=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_z_gzbuffer=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_z_gzbuffer" >&5 $as_echo "$ac_cv_lib_z_gzbuffer" >&6; } if test "x$ac_cv_lib_z_gzbuffer" = x""yes; then have_gzbuffer=1 else have_gzbuffer=0 fi if test $have_gzbuffer -gt 0 then cat >>confdefs.h <<\_ACEOF #define HAVE_ZLIB_GZBUFFER 1 _ACEOF fi fi ;; esac # bzip2 package { $as_echo "$as_me:$LINENO: checking for bzlib support" >&5 $as_echo_n "checking for bzlib support... " >&6; } # Check whether --enable-bzlib was given. if test "${enable_bzlib+set}" = set; then enableval=$enable_bzlib; answer="$enableval" else answer="" fi case x"$answer" in xno) { $as_echo "$as_me:$LINENO: result: disabled" >&5 $as_echo "disabled" >&6; } BZLIB_LIBS="" have_bzlib=no ;; *) { $as_echo "$as_me:$LINENO: result: enabled" >&5 $as_echo "enabled" >&6; } failed=0; passed=0; if test "${ac_cv_header_bzlib_h+set}" = set; then { $as_echo "$as_me:$LINENO: checking for bzlib.h" >&5 $as_echo_n "checking for bzlib.h... " >&6; } if test "${ac_cv_header_bzlib_h+set}" = set; then $as_echo_n "(cached) " >&6 fi { $as_echo "$as_me:$LINENO: result: $ac_cv_header_bzlib_h" >&5 $as_echo "$ac_cv_header_bzlib_h" >&6; } else # Is the header compilable? { $as_echo "$as_me:$LINENO: checking bzlib.h usability" >&5 $as_echo_n "checking bzlib.h usability... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:$LINENO: checking bzlib.h presence" >&5 $as_echo_n "checking bzlib.h presence... " >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { $as_echo "$as_me:$LINENO: WARNING: bzlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: bzlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:$LINENO: WARNING: bzlib.h: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: bzlib.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { $as_echo "$as_me:$LINENO: WARNING: bzlib.h: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: bzlib.h: present but cannot be compiled" >&2;} { $as_echo "$as_me:$LINENO: WARNING: bzlib.h: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: bzlib.h: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:$LINENO: WARNING: bzlib.h: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: bzlib.h: see the Autoconf documentation" >&2;} { $as_echo "$as_me:$LINENO: WARNING: bzlib.h: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: bzlib.h: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:$LINENO: WARNING: bzlib.h: proceeding with the preprocessor's result" >&5 $as_echo "$as_me: WARNING: bzlib.h: proceeding with the preprocessor's result" >&2;} { $as_echo "$as_me:$LINENO: WARNING: bzlib.h: in the future, the compiler will take precedence" >&5 $as_echo "$as_me: WARNING: bzlib.h: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## --------------------------------------- ## ## Report this to Thomas Wu ## ## --------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:$LINENO: checking for bzlib.h" >&5 $as_echo_n "checking for bzlib.h... " >&6; } if test "${ac_cv_header_bzlib_h+set}" = set; then $as_echo_n "(cached) " >&6 else ac_cv_header_bzlib_h=$ac_header_preproc fi { $as_echo "$as_me:$LINENO: result: $ac_cv_header_bzlib_h" >&5 $as_echo "$ac_cv_header_bzlib_h" >&6; } fi if test "x$ac_cv_header_bzlib_h" = x""yes; then passed=`expr $passed + 1` else failed=`expr $failed + 1` fi { $as_echo "$as_me:$LINENO: checking for BZ2_bzReadOpen in -lbz2" >&5 $as_echo_n "checking for BZ2_bzReadOpen in -lbz2... " >&6; } if test "${ac_cv_lib_bz2_BZ2_bzReadOpen+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbz2 $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char BZ2_bzReadOpen (); int main () { return BZ2_bzReadOpen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_bz2_BZ2_bzReadOpen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_bz2_BZ2_bzReadOpen=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_bz2_BZ2_bzReadOpen" >&5 $as_echo "$ac_cv_lib_bz2_BZ2_bzReadOpen" >&6; } if test "x$ac_cv_lib_bz2_BZ2_bzReadOpen" = x""yes; then passed=`expr $passed + 1` else failed=`expr $failed + 1` fi { $as_echo "$as_me:$LINENO: checking for BZ2_bzRead in -lbz2" >&5 $as_echo_n "checking for BZ2_bzRead in -lbz2... " >&6; } if test "${ac_cv_lib_bz2_BZ2_bzRead+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbz2 $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char BZ2_bzRead (); int main () { return BZ2_bzRead (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_bz2_BZ2_bzRead=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_bz2_BZ2_bzRead=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_bz2_BZ2_bzRead" >&5 $as_echo "$ac_cv_lib_bz2_BZ2_bzRead" >&6; } if test "x$ac_cv_lib_bz2_BZ2_bzRead" = x""yes; then passed=`expr $passed + 1` else failed=`expr $failed + 1` fi { $as_echo "$as_me:$LINENO: checking for BZ2_bzReadClose in -lbz2" >&5 $as_echo_n "checking for BZ2_bzReadClose in -lbz2... " >&6; } if test "${ac_cv_lib_bz2_BZ2_bzReadClose+set}" = set; then $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbz2 $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char BZ2_bzReadClose (); int main () { return BZ2_bzReadClose (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_bz2_BZ2_bzReadClose=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_bz2_BZ2_bzReadClose=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_bz2_BZ2_bzReadClose" >&5 $as_echo "$ac_cv_lib_bz2_BZ2_bzReadClose" >&6; } if test "x$ac_cv_lib_bz2_BZ2_bzReadClose" = x""yes; then passed=`expr $passed + 1` else failed=`expr $failed + 1` fi { $as_echo "$as_me:$LINENO: checking if bzlib package is complete" >&5 $as_echo_n "checking if bzlib package is complete... " >&6; } if test $failed -gt 0 then { $as_echo "$as_me:$LINENO: result: no -- some components failed test" >&5 $as_echo "no -- some components failed test" >&6; } BZLIB_LIBS="" have_bzlib=no else { $as_echo "$as_me:$LINENO: result: working" >&5 $as_echo "working" >&6; } cat >>confdefs.h <<\_ACEOF #define HAVE_BZLIB 1 _ACEOF BZLIB_LIBS="-lbz2" have_bzlib=yes fi ;; esac ac_config_files="$ac_config_files Makefile" ac_config_files="$ac_config_files src/Makefile" ac_config_files="$ac_config_files mpi/Makefile" ac_config_files="$ac_config_files util/Makefile" ac_config_files="$ac_config_files util/gmap_compress.pl" ac_config_files="$ac_config_files util/gmap_uncompress.pl" ac_config_files="$ac_config_files util/gmap_process.pl" ac_config_files="$ac_config_files util/gmap_build.pl" ac_config_files="$ac_config_files util/gmap_reassemble.pl" ac_config_files="$ac_config_files util/md_coords.pl" ac_config_files="$ac_config_files util/fa_coords.pl" ac_config_files="$ac_config_files util/psl_splicesites.pl" ac_config_files="$ac_config_files util/psl_introns.pl" ac_config_files="$ac_config_files util/psl_genes.pl" ac_config_files="$ac_config_files util/ensembl_genes.pl" ac_config_files="$ac_config_files util/gtf_splicesites.pl" ac_config_files="$ac_config_files util/gtf_introns.pl" ac_config_files="$ac_config_files util/gtf_genes.pl" ac_config_files="$ac_config_files util/gff3_splicesites.pl" ac_config_files="$ac_config_files util/gff3_introns.pl" ac_config_files="$ac_config_files util/gff3_genes.pl" ac_config_files="$ac_config_files util/dbsnp_iit.pl" ac_config_files="$ac_config_files util/gvf_iit.pl" ac_config_files="$ac_config_files util/vcf_iit.pl" ac_config_files="$ac_config_files tests/Makefile" ac_config_files="$ac_config_files tests/align.test" ac_config_files="$ac_config_files tests/coords1.test" ac_config_files="$ac_config_files tests/setup1.test" ac_config_files="$ac_config_files tests/iit.test" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${FULLDIST_TRUE}" && test -z "${FULLDIST_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"FULLDIST\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"FULLDIST\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${MAINTAINER_TRUE}" && test -z "${MAINTAINER_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"MAINTAINER\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"MAINTAINER\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${MPI_FOUND_TRUE}" && test -z "${MPI_FOUND_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"MPI_FOUND\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"MPI_FOUND\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 # Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by gmap $as_me 2015-12-31, which was generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTION]... [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ gmap config.status 2015-12-31 configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2008 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { $as_echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { $as_echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # Quote evaled strings. for var in SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ AR \ AR_FLAGS \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ SHELL \ ECHO \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ fix_srcfile_path \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ finish_eval \ old_striplib \ striplib; do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ sys_lib_dlsearch_path_spec; do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Fix-up fallback echo if it was mangled by the above quoting rules. case \$lt_ECHO in *'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` ;; esac ac_aux_dir='$ac_aux_dir' xsi_shell='$xsi_shell' lt_shell_append='$lt_shell_append' # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "mpi/Makefile") CONFIG_FILES="$CONFIG_FILES mpi/Makefile" ;; "util/Makefile") CONFIG_FILES="$CONFIG_FILES util/Makefile" ;; "util/gmap_compress.pl") CONFIG_FILES="$CONFIG_FILES util/gmap_compress.pl" ;; "util/gmap_uncompress.pl") CONFIG_FILES="$CONFIG_FILES util/gmap_uncompress.pl" ;; "util/gmap_process.pl") CONFIG_FILES="$CONFIG_FILES util/gmap_process.pl" ;; "util/gmap_build.pl") CONFIG_FILES="$CONFIG_FILES util/gmap_build.pl" ;; "util/gmap_reassemble.pl") CONFIG_FILES="$CONFIG_FILES util/gmap_reassemble.pl" ;; "util/md_coords.pl") CONFIG_FILES="$CONFIG_FILES util/md_coords.pl" ;; "util/fa_coords.pl") CONFIG_FILES="$CONFIG_FILES util/fa_coords.pl" ;; "util/psl_splicesites.pl") CONFIG_FILES="$CONFIG_FILES util/psl_splicesites.pl" ;; "util/psl_introns.pl") CONFIG_FILES="$CONFIG_FILES util/psl_introns.pl" ;; "util/psl_genes.pl") CONFIG_FILES="$CONFIG_FILES util/psl_genes.pl" ;; "util/ensembl_genes.pl") CONFIG_FILES="$CONFIG_FILES util/ensembl_genes.pl" ;; "util/gtf_splicesites.pl") CONFIG_FILES="$CONFIG_FILES util/gtf_splicesites.pl" ;; "util/gtf_introns.pl") CONFIG_FILES="$CONFIG_FILES util/gtf_introns.pl" ;; "util/gtf_genes.pl") CONFIG_FILES="$CONFIG_FILES util/gtf_genes.pl" ;; "util/gff3_splicesites.pl") CONFIG_FILES="$CONFIG_FILES util/gff3_splicesites.pl" ;; "util/gff3_introns.pl") CONFIG_FILES="$CONFIG_FILES util/gff3_introns.pl" ;; "util/gff3_genes.pl") CONFIG_FILES="$CONFIG_FILES util/gff3_genes.pl" ;; "util/dbsnp_iit.pl") CONFIG_FILES="$CONFIG_FILES util/dbsnp_iit.pl" ;; "util/gvf_iit.pl") CONFIG_FILES="$CONFIG_FILES util/gvf_iit.pl" ;; "util/vcf_iit.pl") CONFIG_FILES="$CONFIG_FILES util/vcf_iit.pl" ;; "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; "tests/align.test") CONFIG_FILES="$CONFIG_FILES tests/align.test" ;; "tests/coords1.test") CONFIG_FILES="$CONFIG_FILES tests/coords1.test" ;; "tests/setup1.test") CONFIG_FILES="$CONFIG_FILES tests/setup1.test" ;; "tests/iit.test") CONFIG_FILES="$CONFIG_FILES tests/iit.test" ;; *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 $as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || { $as_echo "$as_me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=' ' ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\).*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\).*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 $as_echo "$as_me: error: could not setup config files machinery" >&2;} { (exit 1); exit 1; }; } _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_t=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_t"; then break elif $ac_last_try; then { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 $as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 $as_echo "$as_me: error: could not setup config headers machinery" >&2;} { (exit 1); exit 1; }; } fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 $as_echo "$as_me: error: invalid tag $ac_tag" >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 $as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac ac_file_inputs="$ac_file_inputs '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 $as_echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 $as_echo "$as_me: error: could not create -" >&2;} { (exit 1); exit 1; }; } fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir=$dirpart/$fdir case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 $as_echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "libtool":C) # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # The names of the tagged configurations supported by this script. available_tags="" # ### BEGIN LIBTOOL CONFIG # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # An object symbol dumper. OBJDUMP=$lt_OBJDUMP # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == "file_magic". file_magic_cmd=$lt_file_magic_cmd # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # The name of the directory that contains temporary libtool files. objdir=$objdir # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that does not interpret backslashes. ECHO=$lt_ECHO # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # If ld is used when linking, flag to hardcode \$libdir into a binary # during linking. This must work even if \$libdir does not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path=$lt_fix_srcfile_path # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain="$ac_aux_dir/ltmain.sh" # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) case $xsi_shell in yes) cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac } # func_basename file func_basename () { func_basename_result="${1##*/}" } # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}" } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). func_stripname () { # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"} } # func_opt_split func_opt_split () { func_opt_split_opt=${1%%=*} func_opt_split_arg=${1#*=} } # func_lo2o object func_lo2o () { case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac } # func_xform libobj-or-source func_xform () { func_xform_result=${1%.*}.lo } # func_arith arithmetic-term... func_arith () { func_arith_result=$(( $* )) } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=${#1} } _LT_EOF ;; *) # Bourne compatible functions. cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_basename file func_basename () { func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; esac } # sed scripts: my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' my_sed_long_arg='1s/^-[^=]*=//' # func_opt_split func_opt_split () { func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` } # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` } # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` } # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "$@"` } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` } _LT_EOF esac case $lt_shell_append in yes) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$1+=\$2" } _LT_EOF ;; *) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$1=\$$1\$2" } _LT_EOF ;; esac sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ;; "tests/align.test":F) chmod +x tests/align.test ;; "tests/coords1.test":F) chmod +x tests/coords1.test ;; "tests/setup1.test":F) chmod +x tests/setup1.test ;; "tests/iit.test":F) chmod +x tests/iit.test ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 $as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi if test x"$perl_warning" = xyes; then { $as_echo "$as_me:$LINENO: WARNING: WARNING: You don't seem to have perl installed with working versions of the IO::File and Getopt::Std modules. If you know where such a version of Perl exists, please specify its full path under PERL in the config.site file and run configure again. " >&5 $as_echo "$as_me: WARNING: WARNING: You don't seem to have perl installed with working versions of the IO::File and Getopt::Std modules. If you know where such a version of Perl exists, please specify its full path under PERL in the config.site file and run configure again. " >&2;} fi if test x"$pthread_warning" = xyes; then { $as_echo "$as_me:$LINENO: WARNING: WARNING: You don't seem to have headers and libraries for pthreads. GMAP will work without these, but the program can run faster on multiprocessor machines if POSIX threads are available. If you wish to enable pthreads, please specify the appropriate values for CC, PTHREAD_CFLAGS, and PTHREAD_LIBS in the config.site file and run configure again. Otherwise, you may proceed with the rest of the installation. " >&5 $as_echo "$as_me: WARNING: WARNING: You don't seem to have headers and libraries for pthreads. GMAP will work without these, but the program can run faster on multiprocessor machines if POSIX threads are available. If you wish to enable pthreads, please specify the appropriate values for CC, PTHREAD_CFLAGS, and PTHREAD_LIBS in the config.site file and run configure again. Otherwise, you may proceed with the rest of the installation. " >&2;} fi if test x"$acx_mmap_fixed_ok" != xyes; then if test x$"acx_mmap_variable_ok" != xyes; then { $as_echo "$as_me:$LINENO: WARNING: WARNING: You don't seem to have memory mapping. GMAP will work without this, but the program can run faster if memory mapping is available. If you wish to enable memory mapping, please specify the appropriate values for CC, PTHREAD_CFLAGS, and PTHREAD_LIBS in the config.site file and run configure again. Otherwise, you may proceed with the rest of the installation. " >&5 $as_echo "$as_me: WARNING: WARNING: You don't seem to have memory mapping. GMAP will work without this, but the program can run faster if memory mapping is available. If you wish to enable memory mapping, please specify the appropriate values for CC, PTHREAD_CFLAGS, and PTHREAD_LIBS in the config.site file and run configure again. Otherwise, you may proceed with the rest of the installation. " >&2;} fi fi if test x"$ax_cv_sse2_shift_defect" = xyes; then { $as_echo "$as_me:$LINENO: WARNING: WARNING: Your C compiler does not know how to handle a particular form of the SSE2 shift commands, and must be somewhat old (probably gcc 4.1 or gcc 4.2). The configure script has therefore substituted alternate C code that your compiler can handle. However, for optimal performance, you may want to obtain a more recent C compiler and build the code with that. " >&5 $as_echo "$as_me: WARNING: WARNING: Your C compiler does not know how to handle a particular form of the SSE2 shift commands, and must be somewhat old (probably gcc 4.1 or gcc 4.2). The configure script has therefore substituted alternate C code that your compiler can handle. However, for optimal performance, you may want to obtain a more recent C compiler and build the code with that. " >&2;} fi if test x"$ax_cv_ext_compiler_problem" = x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: WARNING: Your C compiler appears not to take advantage of all of the SIMD features available on your computer, and must be somewhat old. The configure script has therefore substituted alternate C code that your compiler can handle. However, for optimal performance, you may want to obtain a more recent C compiler and build the code with that. Here are the compiler flags to be used for SIMD: " >&5 $as_echo "$as_me: WARNING: WARNING: Your C compiler appears not to take advantage of all of the SIMD features available on your computer, and must be somewhat old. The configure script has therefore substituted alternate C code that your compiler can handle. However, for optimal performance, you may want to obtain a more recent C compiler and build the code with that. Here are the compiler flags to be used for SIMD: " >&2;} fi if test x"$ax_cv_ext_linker_problem" = x"yes"; then { $as_echo "$as_me:$LINENO: WARNING: WARNING: Your C linker appears not to work on SIMD header files that your C compiler accepts, so there appears to be some incompatibility between your compiler and linker. The configure script has therefore substituted alternate C code that your linker can handle. However, for optimal performance, you may need to set your LDFLAGS or LD_LIBRARY_PATH environment variable to the correct directory, or rebuild your compiler and linker. " >&5 $as_echo "$as_me: WARNING: WARNING: Your C linker appears not to work on SIMD header files that your C compiler accepts, so there appears to be some incompatibility between your compiler and linker. The configure script has therefore substituted alternate C code that your linker can handle. However, for optimal performance, you may need to set your LDFLAGS or LD_LIBRARY_PATH environment variable to the correct directory, or rebuild your compiler and linker. " >&2;} fi { $as_echo "$as_me:$LINENO: checking Standard compiler and flags to be used" >&5 $as_echo_n "checking Standard compiler and flags to be used... " >&6; } { $as_echo "$as_me:$LINENO: result: $CC $CFLAGS" >&5 $as_echo "$CC $CFLAGS" >&6; } { $as_echo "$as_me:$LINENO: checking Standard linker flags to be used" >&5 $as_echo_n "checking Standard linker flags to be used... " >&6; } { $as_echo "$as_me:$LINENO: result: $LD_FLAGS" >&5 $as_echo "$LD_FLAGS" >&6; } { $as_echo "$as_me:$LINENO: checking MPI compiler and flags to be used" >&5 $as_echo_n "checking MPI compiler and flags to be used... " >&6; } { $as_echo "$as_me:$LINENO: result: $MPICC $MPI_CFLAGS" >&5 $as_echo "$MPICC $MPI_CFLAGS" >&6; } { $as_echo "$as_me:$LINENO: checking MPI linker flags to be used" >&5 $as_echo_n "checking MPI linker flags to be used... " >&6; } { $as_echo "$as_me:$LINENO: result: $MPI_CLDFLAGS" >&5 $as_echo "$MPI_CLDFLAGS" >&6; } { $as_echo "$as_me:$LINENO: checking pthread compiler flags to be used" >&5 $as_echo_n "checking pthread compiler flags to be used... " >&6; } { $as_echo "$as_me:$LINENO: result: $PTHREAD_CFLAGS" >&5 $as_echo "$PTHREAD_CFLAGS" >&6; } { $as_echo "$as_me:$LINENO: checking popcnt compiler flags to be used" >&5 $as_echo_n "checking popcnt compiler flags to be used... " >&6; } { $as_echo "$as_me:$LINENO: result: $POPCNT_CFLAGS" >&5 $as_echo "$POPCNT_CFLAGS" >&6; } { $as_echo "$as_me:$LINENO: checking SIMD features available on computer" >&5 $as_echo_n "checking SIMD features available on computer... " >&6; } { $as_echo "$as_me:$LINENO: result: $ax_cv_cpu_features" >&5 $as_echo "$ax_cv_cpu_features" >&6; } { $as_echo "$as_me:$LINENO: checking SIMD compiler flags to be used" >&5 $as_echo_n "checking SIMD compiler flags to be used... " >&6; } { $as_echo "$as_me:$LINENO: result: $SIMD_CFLAGS" >&5 $as_echo "$SIMD_CFLAGS" >&6; } gmap-2015-12-31/INSTALL0000644002622600023770000003633212654517415011036 00000000000000Installation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the `make install' phase executed with root privileges. 5. Optionally, type `make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior `make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type `make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of `${prefix}', so that specifying just `--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to `configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the `make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, `make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of `${prefix}'. Any directories that were specified during `configure', but not in terms of `${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the `DESTDIR' variable. For example, `make install DESTDIR=/alternate/directory' will prepend `/alternate/directory' before all installation names. The approach of `DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of `${prefix}' at `configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of `make' will be. For these packages, running `./configure --enable-silent-rules' sets the default to minimal output, which can be overridden with `make V=1'; while running `./configure --disable-silent-rules' sets the default to verbose, which can be overridden with `make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf bug. Until the bug is fixed you can use this workaround: CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. gmap-2015-12-31/tests/0000755002622600023770000000000012654517512011216 500000000000000gmap-2015-12-31/tests/iit_get.out.ok0000644002622600023770000000016612567632007013726 00000000000000>A 10000..20000 FWD Annotation for A >B 20000..30000 REV Annotation for B (first line) Annotation for B (second line) gmap-2015-12-31/tests/defs0000644002622600023770000000074612567632007012011 00000000000000#! /bin/sh srcdir=${srcdir-.} if test ! -d $srcdir; then echo "defs: installation error" 1>&2 exit 1 fi case "$srcdir" in /* | [A-Za-z]:\\*) ;; *) srcdir=`\cd $srcdir && pwd` ;; esac case "$top_builddir" in /* | [A-Za-z]:\\*) ;; *) top_builddir=`\cd ${top_builddir-..} && pwd` ;; esac testsubdir=${testsubdir-testSubDir} rm -rf $testsubdir > /dev/null 2>&1 mkdir $testsubdir cd $testsubdir \ || { echo "Cannot make or change into $testsubdir"; exit 1; } gmap-2015-12-31/tests/ss.chr17test0000644002622600023770000061512112567632007013337 00000000000000>chr17test CATGTGTTTTGCAGGGACATGGGTGAAGCTAGAAGCCATTATTCTCCACAAACTAATGCA GGAACAGAAAACCAAACACTGCATGCTCTCACTTGTAAGTGGGAGCTGAATGCTGGGATC ACATGGACACGGGGAGGGGAACAACACACACTAAGGCCTGTCAGAGGGTGGGGTGGGGGA GGGAGAGTATTAGGAAGGATGACTAATGCATTCTGGGCTTAATATCTAGGTGATGGGTTG ATAGGTGCAGTAAACCACTATGGCACACGTTTACCTATGTAACAAACCTGCACATCCTGC ACAGGTACCCCAGAACTAAAAACAATAAAGGGTTCATGTGAGGCTTCCCTGGCCCTGAGG GATGGAGGCCTGGATGCCCACACCAAGGGAGTCTCCTCTCACCACCACACTCTATTGCTT CCTGGCTTGTCCTTTAGCGTTTTTTTGTTGTTGTTGTTTTGTTGTTGTTTTGTTTTTAAT TTGAGACAGGGTCTCGCTCTATCGCCCAGGCTGGAGTGCAGTGATGCGATCTCGGCACAC TGCAGTCTCCACCTCCCAGGTTCAAGTGATTCTCATGTCTCAGCCTCCCAGGTAGATGGG ATTATAGGCGTGCACCACCACGCCCAGCTAATTTTTGTATTTTTAGTGGAGACAGGGTTT CACCACGTTGGCCAGGTTGGTCTCGAACTCCTGACCTCAGATGATCCGCCTGCCTCGGCC TCCCAAAGTGCTGACATTATAGGCTCGAGCCACCATGCCCGGCCTGTCCTTTAGCTTTTT TACATGTCTAACTTCCATTCTTCCTGCTATTCTTGGAAATGCATCTCTCTAGTTTGGAGA GGGAATTTTGGAGAGAGAATTCTGTCATTCTCAGTTCCCTTTAACTGTCTAAGTTCCTGA AATTCTACCACAAAATTCATACTATACTCGTATTCATTGAGTACCCACTATGGGTCAGAT ACTATGCTAGAAGCGTTGGCTACATTATTTCGTTAAATCTTGCTGACCACTCTTTCCACA GTATTAATAATACAATAATAATAACAGTAGTAATAAAACAATAATAGTGACCACTTAATG AAAACTCACTTGAACTAAGTGCTTTACATTAATTGTCATTTTAAAATCTCATTGGGAAAT AACCTACCCAGGGTCAAATAGCCAGTTAGGAATGGGATGAGAAACCTGGACTTCTCTCCA GTACACCAGACTCTCTTGGGGGATGAGGACTTTGGCTGCATGGGTGGAGGAAGGGCAGAG GCATTGTGATGCCTTTCTCTTCCTTCTCATTTATTCTTTCAAATGGAGCACAGAGGCAGC AATATCTTTCCAGACTTCCTTGGGTGCAGAGGGCAGGCACCCCTGATGACAACTCCAGGG CCTGCCCTTTGCTGGGGAAATGTGACCATTTCTTGGGGAGGGCACAGCTCTCACAAGACT TACCAGACCCTTAGAGCAGTTGCCTGGTGTCATAGGAGGTAGGTTCCCATCTGTGTAGTG CAGGATCCTGCTCTGTGATACAAAAGGCTGATTCTTGTATTCATCCTCTGAGGATGGCTT TGGTGTTTGTGCAGGTGCATTTACCCTTCTGTATATGTGTGTGTGCATTTGTGTAATAAT TGGTGTGCAAAGGACCAGGTGATTTGCACACATGCATGCAAGTCAGAACAGCCTGGATTC TGTGCATTTCTCTCAGGATATGTGTGTGTGAAGGGATGATTATCTGGTTGTCTGGGGCCT CAGAAAGGCAGGTAACTTGTAAATTTCCTCAAGCATGTGCTGGTGGGTGGAGTTCCCACA GGATGGAAAAAGGGGCTGGCCCCAGAGTTGAGTTCTGAGCTCAGCTCTCCACCTCTTCCT GCCCGTCTCCAGCTCGCTGCCTCCCCCTACTTTTCCCCAAGCTGGGCAGAATGCCCTCAG CCTGTGCCGGCTGGCACACATGCCACATGGTGCCTGGCGCGCGTCTGGGCAAGGATGACG CCCCCAGGACCGGCTGGGATACCAAGCCACCCGCTGCCTCCCCCACCTCCAGAACGGAGC GTCCCCATCCCATCCCCTTTCCCAGCCAGGGACTCGGGGAGCAGGCAGGGACACAGCACA GACAGATACAAACACACAGATGCACCCAGAGACGCCCACAGGCGTGTGCCCCAGAGGGAC ACAGACACAGGCGTTCACACAGGCTCGGGTACACACACGCACGCTCACACCCCCCCAGAG AAATTTATGAGTGGTCACCACTTGCACGGATCCAGACAGAACCTGACCCGCCTAGGACAT TTAGGCAAATCCACCTGGTGTCTCTGTCCGTGGTGCTGAAACAAGAATGTTTGAACGTCC TCCCTATGGAAGCACTAACAGGAAGTAGAAGGGAGAAAAAGACCTGGGAATGGGTGGTGG ACAAAAAAGAAGCAATGGAGGAGAAAGAAGAGAGGGGAGAGAGAAATCTGGTGGTAAGGG AGATAGAATGTAAAGGATTCCAGGAGGACCAAGGACTGTCTGAACCCTGGGACTAGGAGA GGAAGAAGAGGATGGAAGATGATCTCAGCCCCATCCCTGTCCCCTGAATGTGTGGCTCCT GTGGCCTCCAGTTACTCCTTCCATATGCCACCTTGCCCTAGATGACCTGAAAATAGTAGG GAAAGGAGATGGACCTGGGAAAGCCCTATAGTGGACCTGCAGATAGCTCCCTACCTGATT ACTTATCTCAATTTGTGTTGGGCAAGTGGACAACACTGTTGATCTGGATTTGTTCTGGGG ATTGCAGGGATTTAGTGACTGCTTAATGCTTATCCATCAGATTGGATTATGGGTTCCTTT TGCTGTCTCCTGAGGAAAAAACAACAACAACAACAACAACAAAAAAAAAAAAAAAAAAAA AAAAAAAAACTTCCCTTCAGAGAGATTGCATCCCTAATAGGGATGGCTCTCCCATCAGCA GCCCCTTAGTTGTGGAATTTATGTAACATGAGGAATGCCCACTCTTCTGGTGGGGAGACA TCTTCAAGGACTGAAGGGGTTATCATATAACTAGGTGGAAGGGGATAAGGGAAGACGGGA GAGAGAAAAAAGAGAAAAGAGAAGGAGAAAGAATGTGTGTGATGGATGAGAGGATGAAAG AAGGAAGGAAAGAGGGAGGAAGAGGGTGGAGATGCAGATGGCAAGAGTAAGGCAGGGCTT GAGTGAACCAGACAGACTCCTGTGTCCAGGGAAGGGGCAGGGAAAGTGTGCCAGTTGGAG CAAATTGCTCCCCTCAAGTGTCCCAGGGGCCCAGATAAGACTGGAATTCCAGCCTAGTCC TGCAGCTGTTCACAGTGGCATTCTTCACCCAGAGCTTTGGGCAAAAAGACCCTGTGGGCC AGGACTACCGATGTGAGGAGCAGCTGCTCTGGCGAGGAAGGTGAGGTCAGATGCAGTCAA GTGCATGTGTGGTTTCCTCATGGGTGGGGTGAGGACAGTGGGTGTCTCCTGGGGTGTTTC CACCTATTCATATGTAAGCAGTGGCAGGAGGCAGATGCCACATGCTTGGGTAGGCCCTGG AGAGTGGGTACTGGGTTAATTGAGGATGAGGAGCAGGCAGAGGAAAAGGAAGAAGAGAGC AGAGGGAGAGGAGTAAGTAGGAAGAAAAGGATATTGGATCGTCTTCTAGAAAGTTCTGGA CCTTCTGTTATTCTCTTTTCTTCCTACAATTTGAGAAAAAGGCCTAGGCTCAGCTGGGTA TGGTGGCTCATGCCTGTAATCCTAGCACTTTGGGAGGCTGAGGCGGGTGGATCACTTGAC TCTAGGAGTTTGAGACCAGCCTGGGCAACATGGCGAGACTCCATTTCTACAAAAATATAA AAAACTATCTGGGTGTGGTGGTGCATGCCTATAGTCCCAGCTACTCGCGAGGCTGAGGTG GGATGATTGCTTGAGCCTGGGAGGTGGAGGTTGCAGTGAGCCAAGATCTCACCACTGCAC TCCAGCCTGGGTGACAGAACAAGATCCTGTCTCAAAGAAAAAGAAAGAAAAAGAGGAAGA AGGCCTAGGCTGCCAGCTGGGCACATCTACCTCAGTGTCTTTGTCTGTGGTATAAGTATA ATGACAGTCCCAAGCTCATAGGGTTGTTGAGAGGATTATCAACTCATGTATAACGCTGAG TCAATTACTAACATATCACAAGCTCCAAGTGTATGTTACCTTCCATATTGTTGTTGTTGT TACATCTTGGTTTTGCACTGGATCATTGGGGATTTCTTTTTTTTTTTTTTTCTTTTTTTG AAACAGAGTTTTGCTCTTGTTGCCCAGGCTGGAGTGCAATGGCATGATGTTGGCTCACCA CAACTTCTGCCTCCCAGGTTCAAGCAATTCTCCTGCCTCAGCCTCCCAAGTAGCTGGGAT TACAGGCATGCACCACCACACTCGGCTAATTTTGTATTTTTAGTAGAGATGGGGTTTCTC CATGTTGGTCAGGCTGGTCTCGAACCCCTGACCTCAGTTGATCTGCTCACCTCGGCCTCC CAAAGTGCTGGGATTACAGGCATGAGCCACCGCACCCGGCCCAGTTCAGGAATTCTTCAC GCATAACTAGACCTTCTTGCTATGCCCTTAGGTTCAACACTTTTAGGTCTTCCTTTGCAC ACATGGAGGACTGTGATTTCTTAGATCTTCAAATTTACTCCTGAAGAGAGGCAGCCAAGA GGTTTTCTGGAATGCAAAGCGAATACCCCATGATAAGAAAAGTCTAGGGTACAGGTCACT GAGTTTTCCCACCAGAGGCTGTCACGGAGGTTTTCCTGGATTCCTGAAGAAATTGGACCC TGGACCTACATCAGTGCCTCCCTATCCAGCCTGGAGCCTCAGCCATCTGCCCCATGCAGT GCTCCTGTCCGGGCCCCACCCAAGCCTGTGTGGGTTTGGGTCATTTCTTCCAGACTCCTC TTCCAATCCCAATTCCTTCTCTTCATTCACTTTCTTCAACTCACCCTCTGCTCCTTTCTT GTCCCTTTTCTTATTCTCAGGAATCTAGTTGGAAGGAAAGGAATTCCCTCACTACTTAGA GTGGGATTCCCCCACCCTGCATGGGCAGAATGGATGGTCTCCTGCTGGAGGTCAAAGAAG CATGTGGAGACTGGCCTAGGAGGGGCGAGGGGTGGCAGGGCAGTCCCCATGTCCCCCTAT TCTCCCCAGCTCCTGTCTCATCACTGTCACCATTCAATCATAGCAGATGGGCTGCAGCTG TGAGCGCCAGCCCGGCACACAGGCTGGTCCGTGCCACTTGGGAGAGAAGGAAGAGAAAGG GAGGGAGGGAAGGAGGAGGGATGAAGGGAGGAGGGAGAGAGGAAAGGGAAGAAGAGGAGG AGGAGGAAAGGAAAGAGAGTGGAGGAGGAGAGAGATGGCTTGGAAAGAAAGGAGACTTAG TGCCTTTTATGCCTCTCTCTTCCCAGCAGAAGAGCAGAGGCCAGGGCTGGGCTCACAAGC TGGGCAGTGCCAGGCAAGATGGGCATATGCCCTTGATTACTACCAGGACCGCAGGCCAAG CCTCCACAGCCTCCACGGCCTCATAAATCAGTTTTTAAGTAGCAACCACATGGACATTTC CCAGCCGAGAGGCCTGGCCTCTGTTGGTGCAGCTAGGGCAGCCCTGGTGGAGGGGCAGGT GCCAGGCCAGGGCACCAAAGAGAGAGGGGTGGTCATTGAGGTTTGGCGGGAAGTGAGGCT GGAGCTTCTTCAAGTAAAACCTGGGGCAGGGGCTCCTGCCAATAGAGACTAGGTAAGAAA GTGGCAAGTGGCTGGCAGTGGGTCCAGGACTCCCTGCTGGGTCCCCCAGACCCTGTGCTG GATTTCCCCGGTGAAGCTGCTTACAGAGGAGGGGGAGCGTGTTGCTACTGGAACTCCTTC CCTCCAGCTCCCACCCCTCTATAAGAACAAAGAGTCAGGGTGAGTGTGAGGGCAATGTGT GCGCCTATGCACTTGGGTATCCGAATGTGCGCACCAGGCCTTGAGGGGCAGGAAGGTGTT TCCTGATACCCAGCCCAGGCCTGGCACAGACAGGGCACCCAATAAAGTTGCTTGAATGAA TAAGTGATGGAGTGGGAAAGGGGCCAGTTATGCAGACTTGCGTGCGTTCACAGGAATTGG AGATTTCTATCCGAGTGTGTCCTGACTGGAGTCTGTGTGTATGTGTGTATGTGGGGGTGT CTGTGGGTGCTCTGGTATGTGGGAGGGGGTGGGGAAGCAGGAGGTGAGGGAGCTGGCGAA GGGGATCTATTTCAGCCAACGTCCCTCCACATCCTCCCTTTCAGGACGTCTTCCCTACAC AGCCCTCCCCAGAGCCACGATTCTCCCCTTCTAAGAATCCATCAGTGGGGCGGCAGCTCC CGCGCCCCCACCCCCTGCCCCTGCTGGATCCCGCGGTTGACGCCCTCCTCTCCTCCTCCC CGCACTGGCCGCGTAGGTGGCCTCGGGTGCGGAGGTCCCGGCCTGGCGCAATCAGTTGCA GAGCGGATGGGGCGGGGGCGCCCAGCCTTCTTGCGCGCGGTGTCTCCTCCCTGGGTGAAC AGATGTCTCGGAATTTTAGATGTGCTCTCCGCCCCTCCTCGCAATAACTCCCCCCACCAC CCCCGCAGCTGGCACCGGCTGTGGCGTGGCGCCCTCCTCCTCCCCCAACTCCCAATAGCA AAACCGGGTGATGGATCCGGGAGCACGGCTGGAGGCTTGGGCCAGGAGGCCCGGGAGGCC CGCGGCGTGGCAGTGGCGGCTCCCAGCGCGGAGGGAACCATTGGGCGCTGTTCGGACCTC TTCCCTTGTGTCCTTCCTTCCCTTCTCCCGCATCCACTCACTCCCATCTCTCCACTGTCT ATGTCCTTCTCGACCTCTGCCCCACCCTACAGCCCATCCCAGCCACCGCGTCTACGAAGA TCCTCTACACGGACCCTCACACTTCACGACAGAAACTCCTCCTGGCAACTTTGGAGGAAT TCTTTCCTCTAGAGACCCCTTTTCCTGCATTCCTGAGCCGCCCCCCATCACCATCAACTG GCTGCCTGCCCTCAGTAGAAACCCCGAGTTAATCCGGAAAACGTGGGGGGAGGACGGGAG GGGAGTAGGGATTGAGATTAGGGAGGTGGAGAAGACCGGGTTGGCCCTGGCTGAGAGACA CCCAAATTTTCTAATCACTGCTAATTAATGAATAATCCAATTCCACGGACCCCCAACTCA GGGAAGGGGGCGGGACCCACAGCGGGCAGGAGGGGGCCTTGGCAGGGCTTCGCAGTCGGG GTGGTGCCAGGAGCCCTCCCCCCCACCCGCCAGCATTCCGAGGTAACAGGCATTTGTTAC CCAGCTCGTGCCAGGAGCGATTGGCAGGTTCGAGCAGCACAGTCATTCCGCACACAGATG TCCCTGCGTTCACTCTTCTGATATGAATTCTGTCAGCTCCGAATCCGAGAGAGACAAGCA GACAGCTACACAGACAGAGTCACAGACAGACACAGACACAGATAGAGCAATTGTCTGGAA GACGCAGAACTCTACAGATATTTTTCTTCCCTGAAAACATATTTTAAAAAAGAAAGAAAA ATAAGAAAAGCTCCCATTAATTTGGGGGGACAGTCCCCGTGCCCCCGATGAATGCCCCCC TTCCTCTCCTCCTTGTGTTACCTGCCCAGACATTTCAGCGGCCCCAAGGGCCCCACAACA TCATCACGGAGCTTCAAAGTTAAGTGGTGGCAGAGAGAAACTCTAAAGTCCGCGAGATCT GTCCCCTCACGCAGGACCCTTTTGTAGTTCTAGAAATCCAGTATCCCTGAGAGTTCTAGA ACACCACCAAGGTGCAAGTTCCAGCATTCTAGAACCTCTGAAATTCAAAATTCCAGAACT CCCATGAATTGCAAATCGTGCTGAGTGCCCAGTTCTTATATTGCCCTCTTCGTGGGTGCG CGGGAAGTGGATGCTGTCCGGTGCCCCGAGCGGTTCGCACTGCATGCCTGGTCCTCACCG GCTGCCTCCAGAACCTTGGCCACCAGCCAAAAGTGCAGCCTGCCCTTTGATTTAGGAACA CAGAAAGGTCAAGTCTCCCTGGCTACTGTCCCTTTCTGACGTTGCCTTCCAGAGCGGACC CCATTCCTGCTCCTGTCCCACCCTGGCCCTCCACGCCTGACCTGGCTGTCCTGCCTCTGC CCCTGCCAGCGGCTGTGGGAGTGAGCTGGTTGGTCACTGGGCATCTGTGAGCTGGCTGGG CATGAACAGCCCTGGGGTTTGGTTCTCCCTGGTCATCCCTACTTAGTGGACGAAGAAAAA GGGGGCAAAGAAACTGGTCACGACAGAGGAGGGGGCACAGAGGGGTTTGGGCTGTGGTTT GTGGGGTTGTGTTTTTTAATCTTTCCTACTTTCTTTTTTTAAAAGAAAAAGCCCCCATCC TGTGTCATCATTTTTATGGGATCTGCAATTCTGGCAAAAATCTGTCTTTAATTTAGCTGT CCATATAAAAATCCTCACTGTATAATAATGAACAGATGCCATGGAATTTAAGCTGGAGCC TCGGCTCCTCCCCGCCTTCCCCCCGCGCCTGGCACCGGGCACCGGGCACCGGCTGAGTGG CACAGACTGGCACCAACGCGCGAGGGTGGGCAGGGGGCGACCTGGGCTCAGCGCCAGGGC TCTGGGGTGGTGAAGGGGCGTCCGGGCGCTGGGGTTGGCCAGGAGGGAGCTTTTCCGTGG TGGTACCAGGGAGAAGTGTCTGCGGGATTTTTCTGTCTTTTTCTACAAGATTATCAGTAG TTAAGGATTTTGGTTTGGTTTTGCTTTGGCTCTTTGTGGTTCTTCCGATATATTTTTTAA AGCACCGCCCTCCATTCCATATAAACCCAAATGTTTTTGATATTTTAATTGAGTTGTTTT TAACCCTCCCCCTGCGCCGCGCCCCAGCCTCGGCCTGGGAGCCCGGCCGAGCGCGAGTTC GCTGCAAGCGGGATCCGCTCTGAGCCCGGCCGGCCGGCAGCCTCCGCGGTATTCCCGGCG CGGGCCCCTCCAGGGGCTCCCCTGCGGCTCCTGGGGGCAGGGGTACCCTGCTGCCCTCCA AGACTGAGGCTGGATGTGGCATCTGATTGGGAAGTGGGAGAGATGAAGGGAAGAGAGAAA GCCCCAGTGCCCTCACTCCCATTCTCGGGCTGTTCCCAAGGGAGAAGGAAAAAACTATGT GAGTCCGTTGTGCCCTCCTGCCTCCGCCTGCGGTCAAGAAAGGGGGCACCGGCTCAGGCT TGAGGGGTTGGTTCTGAGCCCCCCACCCCCACCCCTCGCTTTTAATGCGACTCTGGCGAG AACAGATGTCCCAAACCGGGCGAACTGCCCAGACCCCGCCCAGCTGTGCCCTTGGTGAAG ACTTGGCTAAGAGTAGGAACTGGCATGCAGGTCCCCAAAGGGGTTCGGGGGTTCCCGCGA CCCCTGTGGGACCTGACCTAGCAGCCTTGGCCTCCTGGCCAGCTCAGCCTCAGGCGGGAG GCGGAAGAGACCCGGAAAGACCCGTTCCTAATTCAATTAATTCCGAAAAGAGGAATGAGA CGCAGACAGATACTGACAGAAGCTGGGAGAGAGGTTTAAATACCCGAACACCAGACACAC ACTCTGGTATGGAACTCCGCAGCCCCTGTCAGCGCGGGGAGACCTCGCTGCGCTCCCGCG CTGGAGAGGGCAGGAGAGTTGGCTGCGCTAGAGCCATACCCTGGCTCACATCTGGGCAGC GTCTCCACCCAACGCTGTGCCCCAGCTCCCTGGGCATGGCCGGCGCCTAGAGGTTCCCTC TTCTCCTCCCCTCGGAGCGCCCCAGCTTCCCTTCCCTGCCCTAGGGAACTAAGGTGACTC CGCTCCTCGCATCTCCCTCCTGAAATCCGTTGCCCTCCTTCCTGTGAACCCAGCCCCGGT CTTGGCCTTCTTCTCACGTCCACACTCCCAGGGCTGGCGCCCCTGTCCCAGTGCTTTAGG TTGGAGAAAGTTTCCAGAGCAGAACAGCCCTCCCAAGGCAGCTGCGCCCTTTCTTACCAC TTCTCACCCAGGGAAACTTTGTCGAGAATTTTTAAAGCTGCAGGACAGAAAGGCAGAAGC TGCTTCAGGATTCAGAACCGGGGCAGGGTTTTAAGGTTTCTCACAGTTCAGGTGTCATTT CTGCTCTGGCCCCGTGGCCAGCGCCTGGGTATCCCAGCCCTGAAGGATGGAAAAATGACA GTGTCTTGGGCTGTGAGTTGGGGAGCCTGTTCTGACAGCAGAGGCCCATCTGCCCCTCCC ACTTTTCGCAAAAAGCAGCATCCTCCTTTGAGCACACTGGAGCAGGTCAGATGCAGTCCC TCCGCGCTGCCCCTCTGTTGTCATGGAGGGGTTGGGAGGGTAGGTCAGGCTAAAGCTGCT CAGTCCTGGCGTCTGCCTTCTCTTTCTCCTCAGGTGCCTTAAGGACTAAACTGCAGAATC TAGAACCATACCTTAGTCTCAATCCCCCCTCAAATCAATGGCTCTCCTCAGAGCAGATGA ATTCCTGTCAATGATTCTGGGGAAGAGGAGGAAGCAAAGGTTGCCAAGAGAGAACGAAAT CTCTGACCTCTGCCCAGAAATTCTTGTATCCACCAGCTTGTGGACTTTCCCATGAAAGGG AAAAAGAGAAGCAGGCACAGCCCCGTGGAGCTTCCAGAGTATCAGGGTTTTCCTGCCACT GATCCTCCTGGGGGTCGGTGTCCCGCAGTGATTTATCGGGCTGTCTCCCCGAGTCACAAA ATCAGGGCTGGGGGTTCACTGGGGGTCCATAGCTCACTGTCCGAGTCATGGCTGGAACGC AGCTCAACAATGAAGGGACAGGAATGGAGCTCAACAGTGAAGGGACAGGGAGTAACTGCT TTCCTTCCCTTTCCCGCCAGATGGGCAAATGGCCTGGACTCGGAGATACCTCTTTTTCTC TGTCATCTTCCAAATGCTGGACTTGGAATGGGGTCTGGAAAATCAAGAGGAAGATGTCCT CCTGATTGAACTTGGATCCAGCCGTCGGGTTCAGCGGCCCAGGGGTTGAGCTGAGCCGGC TGGTGGACGCTTGGAGAGCCTGCCGCTGAGGCTAGGGCAAGAAGGGCGTCCTCTCTGTGC CTTCTCCCCAGGCCAGGCACAGCGCTGGCCCCTTTCCTCCTCCCTCCCCTGCTTCTGTTC TTGGAGCATCTCTGGGTGTGTGTGCGCAGGCGGGAGAGCAAGCAAGAGAAAGAGACCTGC GAGGGGACGTTTGGGGCCGCTTGTCCGCGCACATCTTCTTCTCCTGCTCATCACACCATC TCGCCAGGGAAGTTGAGCACTGGGGAGGAGGGTGATGAGAGGCTAGAGCCAGCCAGAGTG CAGGGAATGTGGGGGGAAGGGTCAGAAATCGGGAAAGGGGCGACTGGTGTGGATGCCGGG ATTCACCAGAAGCTGAGTCACTCGGGGGGATTTCTGTCCCAAAAGGGACCTGTGCACCCC CACCCAATGTGATCACAGCTCACAGAGGCCCAAAAGTCATCAGCATCTTTCTAAAAGGGC TGGAATCTGGCTTCAAAAACAGAATTGAGCCACGTAGGGTAGCTGAAGAACAATGCATAG AAAGAAGTCTGTGGTCTGGCCAGGAGAGCCACATGGAGGGGTCCTTTGCTTCAGGCCCCA AGCCACCTGGATCCCGCCCAGCTCTGGACTTCTGAGCGGGTTCTAGGAAACTGACTGAGT AGGGGAGAAGCCCAATTAACCTTGTTCTCAGGGCAGGATAAGAATCAGGCCTCGGGATAA GTGCCAAGTTCCTTTTCTCTGCAATTGCCCCTGCCAGGCCTTGCTCCACGCCATGAGTGC AGATCAGACTTTTGCAGGTTAGGATCTGGGGTATGTGCCTTGCTCTACACTCCCTGCAAT AAGTGAGGGGGAAGGAAGATGGGCCAACTCCTTTCTTCCATGAATAGGAGTGATTCAGAG GTTTCTAAGATGCTGAAGACAGGGACACATCCGGGGGATGAAGGCCCTAGTCTGTGATCT CACTCTAGAGAGGCGATGCCGGGAGAATTCCAGAGAAGGCAGTGAAATTTTGAAAGAATG CTGGTAAATGTTCTGAAAACTGCTGGAGAATTCCAGTGCAGCATTGGAAAGGGCCTCCTG CTCCATGTTCCCCTGGGTCAGGCAAATGGACCTCCCTCTGCAGCCAGAAGAAAAGACACT AGACGAGGGTCAGCATGCCACAGTGGACAGCTCCTGGCCTTGGCGCCTCTGCCGACAGCT GTCCTGACCACCGGGAGGGTATTCTTTCTACTGGGGGACAGAAGAGGTTTGAGGACAGAC ATTTAGGGGATGCAATGAGCTCAAGTTCAGAGTATAATTTGATCCACCCTTCAATATATA GGACTTCCTTCTTCAACAATCTTTCCCTTTCCTGCTTGTCAGGGAGATATTATTTTGGGT TCTTGGACCCAATCTTTAAAAGCCTTTGCATGCCTGACCTTAATCCTCAACCCCAACACT ACAAACCCCACTTCAGCCCTAAAATGAGTCACAGTGTTTGGAGAAATCATTTAAATGAGC AGCATCAGAAACAGCCTCTTTGGGGGACTCCTAAATGTGTTCAGGCTTTAGGATGGGAGT CTTTGGGGCTCAGAACCCTCTTCAAATATTCTAGGGCTACAGCATGCACTGAGGGCTGAG CAGGGGGAGTAGGAGGGACTCTATCAGGGAAGTCAGTTAAGAGCTGCCCCTGCCTCTCAG GTTCAGAGAAAAAAGAATTGTGAGGCCACATTGTCTGAGCAGGAGATGCTCACCCAGTGC CCTTCCTCCCTTCTAAGCCCTTAGGGTTCCCTCTGTTCAGAACTGTACCAGACAGGAAGA AATCAGCCCAGATTTGGACTGGGTGGGCGCCTGCTGCCCTGTCCCAGGGAGTACATGGTT AGGCTCCTCTCTACTGGGTGGGCGCCCAGACTCAGCCACCTCACAGACCTCTAGGGGTGT TCCTCCAACCTTGTCCACACCCCTAAACATGTCAACATTCCTGAGACCAAAATGGCCGAT TCCCCTGAGTCCACCGAAATACAATTTTAAGATGAAAAAGGGGCCTCCCTCATTAATATT TCATCTTCATGACCTTATAATGTTTTGTTTTGTTTTGTTTTGTTTTGTTTAAAAATACCC CTGTCTGATTCAAATGGTTGTCTCTTTGTCTCTGCCCACTTGCTTTTTGCAACAGTGGGC AGAGAGTTGTAAAATGACTGGCTGTTCCCAACTTGATCATTTTTCAGTGATGAAAAGGTA TTTTGTTTTCAAGGGAGGTGCCTGTGCATGTTCAGGAATGAAGAAGTGTAAGGATATCAG TGCTTTAGTGCTGGGAAGGTGCGAGCCTGGGTTGGGTCTGGGAGGGGTAGCTAGTATAGC CCAGTGGGTGTATGGGGGGTGGTTAGGGAGAGAATACTACCCAAGAATGTCCAGGGTCCC TCTGTTTGGCCTCTGCACAGTCACTTGACACTCTGCCTTCATCACCCCAGCCCCAGCTCA AACCTTCTCTCCCCCCTCAATGAAATGAGGCCACCGTGAGAAACCGGTCCGGCTTTGCAT CTCATTTACATAAATATTTATTAATCGTCATTAAACTGAACAGAAACACGCAATGCACTT CGGGTGTCCGACGGGAGTTTCATCTTCGCTACAAGAGGAAGGTAAAATTGCGTGTGTGTG GGTGAGTGTGTGGGTGTGTCGCCTGTGGGATTGCATTTTTGCATCGTGTATTTGGATGCC TGATCCCCTGCCTCCGGTGGGCAGAGGGTCTCCTTTTGCCCCTTTTTGGGGGAACCTCCA GTAGGAGCCCTCAGACCTCTCCCCGCCCACCCACCAGCTAAAGCCAAGAGGACTCCTTGG ACCAAAAAATACTCTCTCCAGACACCGGAAATCGCCAGGTGGCACCCACCGAGGCACAGT CCGGGCAGGGGTGGGGCTGCCCCCAGGTCTCCATCCCCACCCCTCACCCCAGGAGGGGAC AGAATGGCCGCGGGGAGGAGGAGCCGGCGAGCTCACCTCCTTCTGCCCCCCGGACGCCGG CGCCGGGCCTGCTTGTGCGTGCGGTGTGGTGTGCGTGTGTCTTTCATGCAAACCCTCCCT CCCCAAACCGACCCCCCAACAGTTTGCCATTCCATACAAATTTGGAAACAGGTTTTTAAA AAACAGCATGACGCACAACGGGGACGGGGCGGGGGAGGGCAGTGGCACTGGGGCCCCAAA TCTCCGAGTCACTGATTGTAAGAACCTGGGGAGGGGGAGGGGGCGGCGCGGGCCCCCACT TCACCAAAGTGCACAGATCCGCGCTCGGGCGGGGCGGCCCGCAGGCCGGGCGGGGCATCC CGGGGCCGGGCCGGGCCGCGAGGCTCAGTGGAGCCTCCTTGCATAGATATTTGTGTCTTT GATTATTGGTAGTAGTGGTTTTTTTTTGTTTGTTTTTTTGTTTTTTGTTTTTTTTGCCTT TTATTGCTTCTAAAAGTCCTTACTGCGTTTTCTCTCCGATCCGGACTCTGCGTTCGGCTT CCGTCGCCTCTTAGCTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTGTATG TTTGTTTGTTTAAAAAAAGGAAAAGGGAAAAACGGATTCTAGTTACAAATTGTCTTGGCC TCTCTCTTTCCTCTCAATCCACTTCCCCTCCCGCCAAAATTAAAATCGCAAAACGCGGAG ACTGGAGGTTGGGGGTGAGGGCGTTCCAGGCCCGGGCTCCGGCGCCCTAACTTCTACCCT CTTCAAGAAAGAGGGAGCGCCTGGCTCCTTTTTGCCTCGGCAGCTGGGTGTCTGTTTTTA AAATAATAATGAGAGGGGGAAACGCGTTCCATTGCTCAGCTGCCCCCTTACCAACGCCTT GGGCCTGCAGGGAGGAGGGGGAGGAGGAAACCTCAGCGAAGATATTGGGAATGGGGGAGG GGTGCCTCCAGGGAGCCCCCGGAGAGAGGTCCCTGGAGAAGCACTCCTTGGGAGAGAGGA GGAGGGAACCCCTTGGGGAGAGAGAAGGCGAGTCCCCTGGGGGAAGCGAGGCCCCTGGGA CAGGCCACCCACAGGTAACAGGACTGCGCTGCCCCAGGAGAGCGGCAGGACCGGTGGCCC GCTCCCCGCGCCCGGCGCCGGGGTAGGATGGGGGTGTCCCTGCGCTCTGGGGGCTGGGGA CAGGGGGGCGGGCAAAGGCAAAAGAAAAAGAAGGGAGCCGGCGCGAAGTCTCAGTTATGA AAAAACGCATTGAGCTCCTCGTACATGGGGCCCCGGTCGTGGTGAAGGTGCATATCGTAA GACAAGAGATTCTCCGAGTGGACGCCCCCGCGCACAGCCGACGAGCCGAAGACTAGCCCG TGGCCCGTGGGCCGCGAACCGGGCAGCGCCGAGTAGTGCATAGAGTAGTGGTAGCTTTTC TCGTGGTCGGGCGAGGAGTCCTGCTTGAGTGAGAAGTTGCCATTGAGACAGAGCGGGGGG CTGAGCGGGCCCTCGTACTCGGAGCTGTTGTAGTCCGGGCTCGCGCCGCCACCGCCTGCC GCCGCATACAGCGTCTCGTAGGCGGCGCAGTAGCCGTGGGTCCGCAGGGCGTGCGCCGCG CCGCCGCCCAGGCCGCCGGCCGCCTGGCACTGTGCGCCCGCCAGGCGCGAGCACGGGTAC GGGTAGGGGTGCATGGCGAACGGGCCGCCCGAGCCGTGGAAGCGGCCGGCACCGTCGGCG CCTTGCTCCGTGAGGAAGTTGCGAGAGTTGAGCTGCAGACAGCCGGCCACCAGATTGGTG GTGGGCTGCGACAGACCCTTGCACAGAGTCTGCACGTAGGACACTAGGTCTGGCCGCTTG CCGGAGCGCAGGATCTCCGAGAGCGCCCAGATATAGTTCTTGGCTAGGCGCAGCGTCTCG ATCTTGGACAGCTTCTGCGTCTTGGAGTAGCAGGGCACCACCTTGCGCAGGTTGTCCAGG GCTGCGTTCAGGTCGTGCATGCGGTTGCGCTCCCGCGCGTTCGCCTTCTGCCGCCGAAGC TTGGAGCGCTCCAAGCGCGCCTTGGTCATCTTGCGCTTCTTGGGCCCGCGCTTCTTGGGC CGCTCGCCCTCCGCCTCGTCCAGTCCTTCTTCCTCCTCCTCTTCCTCCTCCTCCTCTCCC CCCAGCTCGCCTTCCTCCTTGACCTCGGCCAACGTGGCCTCCGTCCCCTCTTCTCCACGG AGAGGGACTGGCTTGGCCGCCCGGGCTGGCCCCGGAGCCCCTGGCCCGGGCGCAGGCGGT GGCGGTGGCGGCGCGTCGCCCTTGTCGCTCCTCGGCTCGTCGTCTTCGCCGTCGCCCCAG CTGGCGAACTTGGGCACGTCCGAGAGAAGGCCGGGCTCGCTGAACAGGCGGGTCAGCATG GTGCCTGAGGGCGCCCCGCGGGCGGGAAGGGGAGACAGACAGCACAAAGTGAGGGGCGCG CTGGGGTACCGACGCCCCCCCACAACCCTCCTCCACCCCCGAGTCTCGTGCGGGCTCCTG CCTAGGCTACCCTGGATGCCCACCTCCGCCGCCTGCCCCGCCCAGAGCCGGCCCAGCCCT ACCCGGCTGCCGGCCTGGGATCTCGGCCCAGGCCCTCTCCCCGGCGCTGGGCCCCGGCTC CGCCCCTCGCTTGAATGGGGGGCTGCTCCCCGCGCCTGCTTCTTCTCAGGGTCAGGGCAG GGACCGGGTGGGGGTTTTAGGGACCAGATATCTTTGCCAGGGGAGGCGGCGCGCTCGCCC TGAAAGCCCGTTCTCTCCTGGCGGTGGAGAGAGGCTGGTCGGCCGCCGGTGGGGACAGCT GCCCCGCTCCGCGCTCTCGCGGCCCGGGCCCCCCGGCCCAGCTCCCTCACCCCTCCCGTG GCTCTCACCCCCACGCTCCCTAATCCAATTTGCAACTTGGCTGCGCGCCGCCCCTTGCTC GGCCCCCACCCCCGCACCCCCAATTCCAGAGGCGGGAGGATCGTCTCCTCTAGCCGATGC GTCCCCAGCTCCCGGAGCCGGCTCTGGGCGGCGAGGACTGAAGCAGCGGGGCGTGGGGAG GAGACTGAGAGAAGCGAGCCCAGTCCGTCCCCTCTGCGGTCAGGGACCCCCTTCCCCCTT CAAGCTGACTCCCTCCCACAAGGCTCTTCAGATCTCGTTGTATTTTGGGATTGATGGGGG AAAAATCCAAATTTGTTTGTTTGCTTCCCTTTTTTCGGTGGTGGGGAAAGGTGGCAGGCT TTTTGGGACAACCATGGAGGGGTCCTCCGTCTCGGCCTCTTCGCATATCCCCCTCCGTGA TCCTGCCTTCCCCCCCCACCGAGCCCATCGCAGGCAGAGACACCTCCTCTGCAGCCCCCT GGGCTGCAGCCCCTAAGGGAGAGAGAACCTGGGGCCCCTCCGATGCCCACCCAATGAGGG GGGCATCATCCCAGGAAGGAGGTATTTGAGGACCCTCCTGTCGGCCGAAGCTGCCGCCCC TCCTCCCAACCGGCGGGTCAGATCTCGCTCCCTTTCGGACAACTTACCTCGGAGAGGAGT CAAGGGGAGAGGGGAGGGGAGGGGGGGAGGGGGCAAGAGAGAGAGGGGGGAGAAGAGGGA TCTTCTCGCTTATTTCATTGTTCCCCCATCTTCAGGGAGCGGGGGCAGCGGCTCCTCAAG GCGGCGGGCGCCGGCGTCTTCAGAGCGCCATGCGAACCGCGGAGCGAGTGTGGCATCTCT ACCAGGCGGGGTACCAGCCTCTATGCCAGGCCATATGGGCTTGGCACGTCACGGGCAGCA GCTATCACATGAGAGACGGTGATTGGCATGCGTCTGCACTGGGGGAGAGCCGGCTCCCCC GGGACCCGCCGCCATCTGTCACTCTCTACTCCAAAAAAAAAAAAAAAAATTAAATAAATA AAGGAAATAAATAAATATTTCTGCCGCCCTCCCCTCCCCGCCCAACGCAGGGAAAGCAGG GATTGAGAGGAAGGTGGGAGGAGTTGCCCCCTGTATATAGAGACCCCCTCACGGGAACAA TGGGGTGGCAAGGCTGGACACTGGGGGCTCGTGGTGGCCAATTCTATGCTCCCTCAGGGT CCCGCTCTGTCCATTTCCTCCCCTGCAGGCCCCCAAGGTGGGTCAGGGACCAGACCCCGG GTTGGGGAGAAAGGACCTCTGTGCTTGCCCCCACTCCCCAGGAGGGTCCCCTTGGCCACA AAGGGACAGCTGAGACCCCCTCCCAGGATGGCTGTAAGGGGCGTCCCTGGCCCGAGCCCC ATAGGTAGATGTTGGCACCATGCCATCCCTCATCCCTGTCTGCCCCTCCCCCACCCACCC TCACGCACACACAACATATGTGGCTAAACGAAATTCAAACCAAGGGAAAGACAGAGAAAG GGAAAGATGTGCCTGGATGTCTGTGCCTCTGCATGGGCGTGTGTGTGTCTGTGGGGACAT GTGTGTATCTGTGGAGTCAGCCGATGGGAGATCTTTCCTTGGTTGTTGGGGGCGTATCCA TGTTAGGGTGGAGTGGGGAGGGGCCGCGAGATGAGCCTGTGCACCACCCATCTGGGGGTG GAGGGGAGGGTCTAAGTCTGGATTCCTAACCTAGAAACCTCTCACTCTCCTCCTCCCACT GCCAGACAGGTGACCAGTCCACCAGCGGCTTTCTCTCCTGGTCTTCAGACTTGGTTATTT GAGGGAGGAGGAGCAGGCAGTGCTGAGAACTGCCTAAGTTCCTGGATGAGACTCAAGCAT TCTCCTCCCCTTCTGAAAAATCTGAAAATACTGAAGCCAACCCCAGTAATCCCAAGAGTG GCCAAGGGGAGGTAGGTCAGACAGCTGTCTTGATAAGGGAGGTAGGAAGTTGCTGTTTTA TCTTGTGGCTCACCTTTCAACACTCTCATTGGGCCAGACACAGATACAAATGGCACAGGT TGAAGAGGTGGCTTTGGACACACACACACACACTCATGCACACACACATACACACACACA CGGATGCATACACATGCACACATATACCTGTTCCTCACCCTGTGGTGTAGAAAAATAGAT AACATACCCCTACTCAGATAGACACATGTATGTGAGCAGGTAATCACAGCCTGGTGTAGA CAGACCCTTGCCCACACCCCATTTGGAGCATTTGTATGTTTTAGACCCACATTTCTGCCC CTCCAGACACTCTAGCTGACATATATACACAACTTCAATTATACTTTCAGCACACACATT TTGATGTCTACCATGTGCCAAGCACTGTGGTGGTACAAAAATGAGCACGGGGAGGCCTTT ACCCTCAATCTGGGTGGGCAGGGCTCTCTCCCTCTAGGAGGCTCCCCAGGGACCTTGGGC TGGTAAGACACTGATCTGATGTTGGGTAGGTTGGATTAAGTTCTAAATAGAGACACACAT CAGGAGGCCTTGGAGATAGGGGTGCTGGTGCTGCCTGGGACTCTTGAGTCACTTGGCTGG GAGTTGAAAGTAGCCTGAGAATGTACCTCTCCAACTCCTCATCTTACAGAGGCCCATGGA GGGAAACTGACCTGCCTAGGAACACACAGGGGAAACACAGAACTGGGCCTAGAATTCAGG CACTTGACCCACAGACCAGTACTCCACTTATAAGCCCACAATCTGCCTCAGTGGTCTCTA AAAATAAGCCTACCATGCTTCCCTTCATTCACGAATCCTGGGTCTGCAAGGCGAATCCCA TCTCTGGCAGATAGTCGTGGTGGGGAGATTCTGGGCATGGCAGAGAAAGAGGCCAAAGGA TGGGCTTCAGGTAGGGCAGAGACTCAGGAGTGCTGGCCAGCCTCCACCAAGTTTGGGCAC AGCCTCCAAGGCTTTGCAATCCTTTTACTGAAGCAGGGTCCTCAATCCTGACTAGTAGCC TTTTTCCTGGAGTCTCCTGGCTCTGTGATATTTCAATTACATGCCCATGCTCTGGGCTTC TGATTCCTGGCCAACCCCATTACCAACTTAAAAAAATGTTGGTCCCAGCCAGGCATGGTG GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGTGGATCACGAGGTCAGGA GATTGAGATCATCTTGGCTAACACGGTGAAAACCCATCTCTACTAAAAATACAAAAAATT AGCAGGGCATGGTGGCGGGCGCCTGTAGTCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA TGGCGTGAACACGGGAGGCGGAGCTTGCAGTGAGCCGAGATCGCACCACTGCACTCCAGC CTGGGCGACAGAGTGAGACTCCGTCTCAAAAAAAAAAAAAAATGAGAGGCCCAGCATGGT AGCTCACACCTGTAATACCAGCAGTTTGGGAGGCTGAGGCCAGCAGATCCCTTCAGCTCA CAAGTTCGAGACCAGCCTGGGCAGCATTGTGAAACCCTGCCTCTGCCTAAAAAACAAAAA TTAGCCAGGCATGGCGGCGCATGCCTGTAGTTCCAGCTACTCGGGAGGCTGAGGTGAGAG GATCGCTTGAGACCGGGAGGCAGAGGTTGCAGAGAGCTGTGATCACGCCACTGCACTCCA GCCTGGGTGATAGAGCCAGACCTTGTCTCAAAAAAAAAAAAAAAGTGCTGAATGCTTTGA GCAAGTTATATAACATCTCTTGGTCTTGATTTCCTCATCTGTAAGATGGGATAAATTATG CTACACCTTCATAGGGTTGTTGTTAATACTAAATGGGATAATCCATTCCATGAATGAGCC TCCAATAAATGCCAACTCTTAATTAAAACACCTTGGGAACTGTAAAATGCTTTACAATAT TAATTTTTTTTGCTCATACCCCTCCCCACACACATTCAGAATGCTTGGTCTATATAGAAA TTGAATTTTTGTTGAATTGATGGGCGAGTGAATGGATGAATAAGTGAATAAATGCTTCCT TAGGGGAGAAAGTTTTCTCTCCCTGCCTTCTCCCTTGGACCCTGAGGGCTGGGTTAAACG CTTCAGGGGTCTCACAGGCAGGAGGCAAAAACTTGTTCAAGATAGGGGAGCCCTTGGTTG GGGGGTTCCTGCCACCCTTCCGGCCACCTGTCAGGAATGACCTCAACTCTCTGGGTCTGA GAAGCTCCCCTCAGTCACCCAGAGAAGGAGGTCTGAGGTTGGGGGTGTGCACCTGGGGAC TTCATCCCTTTCGCTCTGTCTCCTGCCCCTGTCTTTTCTTCCTTCAGAAAAATGGAACAA GTTTTTCTCACTCGACACATTTCAACTTTTTTTTAGAAGATACAATAAAAACCAGGGGAA AATTGGAACAGAGGGAGGTGTGGGATGGGCCTGCTTCAGACATGGGCTTGAAAGAGGCAC AACACGTGTGTTCACATACACACAAGCAAGCATGAACACGCAGGGACATACGCGCGCCTC TCTGTGCACCAGAGATGCAGAGATGCAGTGACGGAGAGACAGAAAGAGCCAGAAATGGAA GGAAGGAGACGGAAGGAGAAGGACACCCAGAGATGCCATCTGTTCCTCCCCCTGGCATTG GGGGAAGGGAGTTGGTGAGGGGCCTGGTCCCCTCCAGGTCTCTGAGAGAAAAAAGGGAGT GATGGGCACCTCAGCCAGGCCTGGAAGGCCCCCATTGCTGCTGCCCACTCCTCTTGGAAG GAGCTAGGAGCTGGGGGGCCTGAGGTTCCCATGGAGACATAGCCCCATCCCAAGGGAGGC CACAGTCTGGGCACCTAAAATGGCTGCCTCAGAGGGGTGGCAGCCATTTTGTACAGGCTC AGGTCCTGGGGGCAGGGGTGAGGGGGGCAGAGTGTGTGTGGAGGGGAGGTGGGAGGTCAT ACCTGAGCAGTCTGGGGGACTCTTGCTCAGGGGACAGGAAGAGTGTTCTAGAAACTGCTC TTGTTATACCCCCGCTCCACCAAAATACATACATAAATCTTTAACTGCTCCACTCCATTC TGACACCCAGAAAGACAGCTAGCCAGTCACCACCCCCTCAATAAGATTGGTGGGGGCAAA TGTGCTGAAGGAGACTTCATTTCCCACCAAAGCTCCAGGCAGGGAGAGGGGCGGCAGGTG GATCAAACCCAGGTGTCCAGCCCCTGGCCTCAGCCACACATCTATCCACCTCCTGGGGCC TCTCTGGGCTGAGTGGGGCCAGCAGGTGAGAACCCAGCGAGCTTGGGAGCACGGGGAGGG AAGGGGCCACCTGTCTTCTCACCCCCCTCCTCAGATTTGAGGGGAAGGGCAGGAATTTGG AGATCCTTGAGGGACCTGTGTTCCTGCCATTAGCCGTGCTATGGGGGGAGGAGGAAAGGG AGGGGGCAGGCTGGCACTGCCCAGCAGTGTTCCAGCAGTTCAGGATGCTCGAAGATTCCT CCTAAAGCATCGGAGCACCTGCCACCTCCCTCCCCAGCCCCTGCCTCACATCAAGTCCAA AGGATGCTGGGGGAGGGGGACCTGCAGCTTCTTCCTGGCTCTGGGGTGGGCACCTGCCCC ACTGCCCCCTCCTCCCCGCCCGCCGCAGTATGCCGGGGAGCGGCGGGCACGCCAGATGGC GTGGCTGAGAATGCGGCGACGTTGCCGGGAGGTGAGGGCTGGCACGGGTGATATGCGGCT GCGTGCCTTGTGGTGCCATGGGGGAGGGGAGGGCAGGGCCAGTGAGGTGTAGCCCCCTCC TCCGTGCTGACCTCCTGTCCTGACCTCCACTCACCGCCAGGATTCTCTTCAACTTCCTCC GCCTGCTCCCTGGGCTCCCACTGTGGGCCTAGACCCCACCCAAAGATGGGTGGGACCAGC CTGATGCTGAGAGACCGAGGTCAGACCTCTGTTGCATCCTTGTCCCCCTGTCCCACCCCC AATCAGGGACAAAGGATGGATAGAGGAGACCCACCAGTCCTGCACCAAAGCCAGCCCCCT CCGAATTGTTTCCTTGCTCTAAAGGTGGCGTGACCTTTGCTCCCGTAACCTTTGACTTCT GGCCTCTGAACCCTGTTTTTCTGAGAAGAGCTCTTTCCCTGATGGGCACTGGTCTCTGAG TTTCCCTTTGGTCAAATGCATTCTCATTCCTCACTAAGATGCTTCCTGGACACCTCCTCC TGGGAGCCTTCCCTGACCTCCCCAGGCAGGGGAGCTTACCACCCTTTGTTAGAAGGACCC ATTTACCCATCTGTCTCCTTGCCTGGACCCTGGTGACGACTTGTTCTGTATCTCTTTAGT CTCAAGCTTCGTGCTGGGCAACATAGTGAGACTCCTGTCTCTTAAAAAAAAAAAAAAGCC CAAGAAAGAGTCCGCACCCTTTATGCCAGGCAGTCCTTCCCAGGTCCATGCCTGGGGCTG ATTCAACCTGCCTGGTGCCACGCACATAGCTCTCACTGAGTTGGTGCTTAATAAATGCTT GTTGCATTAATGCCCAGCTGGGCCAGAAACTTTGGGTCCTGGAACCTTTCTCCTGAGACT CTCCTAAAGCAGAAAGGCTGAGGGTCCCGGTCAAGCCCAGAGTCCTCAGCCCCTTCCCTT GCCTTTTGCACAAATTGCAGTCTGAGGAGGTGGACTTGGGATGGGGGTCACAGATTCCCC CCAAAGTAGGGCGAGGAGGCTGAGCCTGGGACTGCCAGACTCTTGCTCCCTGGTACCAGG CCATGATCCTGAGGCCACAGGGCCTGCCCTGCTGTGGACCCCCTGCTTGGTCACCACACC TTCACCTTTCAGCAGGCTCAGAACCCCCTCCTTCTTACCCCACGACATTCTTGCCCTGCA TGGGGCACTCTGAGGAGAGATGAGGTCCAGGGACACAGCTGCGTCCTGCTCCCGCTGCTG CATCTCTGCTGATGCTGCTCCCCAGTATCTCAGAACCCTTCAGCCTTATGGGCCTGGCCC AGGCCCTCCTCCTCCGGGAAGTTGGCCCTGACTTCTGTTTTTTTTTTTGAGACGGAGTTT CACTCTTGTTGCCCAGGCTGGAGTGCAATGGCGCGATCTTGGCTCACCGCAACCTCCGCC TCCTGGGTTCAAGCGATTCTCCTGCCTCAGCCTCCCGAGTAGCTGGAATTACAGGCCTGC ACCACCAAGCCCGGCTAATTTTGTGTATTTTTAGTGGAGATGGTGTTTCTCCATGTTGGT CAGGCTGATCTCGAACTCCCACCCTCAGGAGATCCGCCCGCCTCGGCCTCCCAAAGTGCT GGGATTACAGGCGTGAGCCACTGCGCCCAGCTGGCCCTGACTTCTTAAGGGCCCTTGCTC CTCTGGCTTACCTCACGGGACCAAGGCTACCCACCCTGCACATCCTATCCAAAATGCAAA TACCATGCAAACATGGTATTTGCCTACTCTGGTGCCTTCCATGGCTCCCAGTGTCCCTAA GATGAGGCCATGCTCTTTAGGGACACCCCTGATTTGGCTGCTGCTTTTATCTGTGCCCTC AGCAGCTCCAACTATTTCTGGATTTACAAGCCTCATGCCTAGTAATCTTTGTTCAGGCTG TTCTGTCTTCCTGAGGTGTCCAGTCCAGCTTCCTCACCCCTTAAGCCTAAGCATCACCTC CTCCAGGAAGCCGCTCTGGGCAGCACATTTCACGAAGGCAGGAACTGGACCCAGAGCCTG GCACACAGAATATCCTCAATATATAGCTGTGGCACCAAGATCTGTCCTGCTCCTGTTGGG AGGGTGGTGGTGTCAGTTCTTCTGCCCCCAAAATGGAAGGCTGCAAGCCAGCACAGGACC TCTACCCACAGGAAGTCCCTCCTCAAAATCTTCCCTCTTTTCTCTTCAGCTTCCCCACCA ATATCAGCACTGACATGGAATGTCAGTTTTCCCCTCTGTAAAATGGGCGTGCTAATAAGC TTCAAATGAGCTAACAGCTCTCTCCAGAGGTGGCTGATTTTGCCTCAGGCAAAATCAGTG TTATTTTTTTCCTTTTTTCTTATTGATTTATTTGTTTGTTTGTTTATTTTTGAGACAGGG TCTCACTCTGTCACCCAGGCTGGAATGCAGTGGCACAGTCTCAGCTCACTGCAGCCTCCA CCTCCTGGGCTCAAGCAATCCTCCCACCTCAGCCTCCTGAGTAGCTGGGACTGTAGGCGC ACACCACCACGCCTGGCTGCCTTTTGTATTTTTGGTAGAGATGGGGTTTCCCCATGTTGG CCAGGCTGGTCTCGAACTCCTGACCTCAAGAGATCTGCCCACCTCGGCCTCCCAAAGTGT TGGGATTACAGGCGTGAGCCCTGCACCTGGCCCAATGTTATTTTTTTAATTTTGTTCCTG CAGCTCTCTTCATCACCATATCTTTGTTCTGCTTCTCTTGTGAGTTTTCCATGGAGAAGT TGATATGTCTTGTTCCAGCCCCTCCCAAACCCACTCCCAGAGTCCATACAGGAAGGCAGA GGAACAGGGAGCTCAAGGTGGCAACTGTACCAGAGTTAGCAGCGTTGTGACCTTGGTCAG ATCATGTAACCCCCTGCTTCCTCATCTGTAAAATGGGACTAGCACCACGGTTCACCTGGT CACCTGCAGTTCAGCACTGATGGGAGGAACAAAAGGACGGCAGGTTATGAAGTGCGCACT TGGGTGGCCAAGTGCTGGCGGATGGGGGTTGGGGAACTCCTCCCTGATGCTGCAGCGCAG GGCAGTGGGGACAGCACAGGACCAGGCTGCATCCTGGGCCCTCTTTCCTTAGGGCGGGCT CTGTTGTGACCTTCCCTGTGACCTGGGCATTTCCCAGTTTCTGCCCCTGGAAATCAGAGC CAGGGATCTGGGCTGGGGAATTTTAGGGGCTTGGTGCTGGACTATTCCCTGAAACGTCCC TTGAGCGCATGGGTGCAGGGGACATATGGGCCTGACAGTAGGCACGGATGACCCACACCA TAGTGGTGATGCTAGTGCTCAGGAGGACAGCCCCAAAAGGTCACTGGGGCAGAATGTATG GTGTGTGCAGGACACTGTGGTCAGGGCAGGAGGTCACAATTTAACCAGAGATCTCTTGAG TCAGCCCCAGGAGTGGACCTGGGAAGGACTGCCTGGCATGAAGGGTGGAGATTCTTTCTT TCTTTCTTTCTTTCTTTTTTTTGAGACGGAGTCTTGCTCTGTCGCCCAGGCTGGAGTGCA GTGGCGCCATCCCAGCTCACTGCAACCTCTGCCTCCCGGCTCAAGCAATTCTCCAGCCTC AGCCTCCAGAGTAGCTAGAACTACAGGCGCACGCCACCACGCCCAGCTAATTTTTGTATT TTAGTAGAGATGGGGTTTCACCATTTGGCTAGGCAGGTCTCAAACTCCTGACCTCAAGCG ATCCACCCACTTTGGCCTCCCAAAGTGCTGGGATTACAGGTGTGAGCCACCATGCCCAGC CGTTTTTTGTTTTTTTTAGAGACAAGAGTCTTGCTATGTTGCCCAGACTGGACTCAAATA CCTGGCTTCAAGCAATCCTCCCACCTGAGCCTCCCAAGTAGCTGGGACTACAGGCCCACA CCACTGTGCCCTGCCTGACTTTTTAATTGGGGTCCACAGGGAGGGAAGGGAATAGTCTAG AGAGGTAGGGTCTCATGGGCTCACTCCCCATTTTACAGATGAAGAAGCCACAGAGAGGGG AAGCAACCTGCCTTGTGTCACACAATAAGTGAGTGGCAGAGCTGGGACTGGAAACCAGGA CTCTGTTGCCACTTTGGGGTCCTCTCATTCCCAGAGCCTCAGCACTCTGTGTGATAACAT ACTTATTAATGTAATAATGACAATGGTGAGTGCTATCTGTGCCAGGCACTGGCCTTCACA GGAATCATTTTATTCTTGACAAGACATCTGTGGGAGGGATTCCTAGTACCACCACTTAAA GACCAGGATGCTGAAGCACAGAGAGGTTGCCGTCAAGGCTGATGTGTCAAGGTCACATAG CTAGAAAGTGGCAGAGCTGGGATTTGAACCAAGTTTGACTTGACTCCAGGGCTCATGCTC TTACTATTATAAAGTGTGTCCCTTTCTCTGAAACCGCTGTGGTCTCCACACCGTAGGACC AGCAGACCCCGCAATGGAGAGGGAAAGGAGGGTGCCCTGGGAAGGACTTGTGCCCAGGGT TTGCCCTCTGGCAACTGGCCTCTGGCCAGGTCCCCAAGTCACAGGAGCCATGATGCCCTG GCCTGGATCTATCAAGTTCTGCTCATGGGTGGGTAGGTGGGTGGAGGCTGCTTCTAAACA CAGAGAGGGAGCAGTCACATTAACCATGGAGTTTTTCCACCCTGTATATACCACTTTCCT CAGCTTCTTCAGAAGACTCCCTCCTAGCCCTTGCAGACTCAGTGAGGTGCTGCCTCCACC AGGAAGTCCTCCCTGATGTCCCCTGATGGCGCTCCAGCCTCTGGCCCTTGGCACCGCGTT GAACATTTGGGGATGGACAGACCAGCTTCAGGAGCCCCAGCTTCACCACTTGCTCACCAG CTACCTGCAGCCCCCGCCCCCGTCTGCCCTCCTGTCTGTAAAATGGGAATAAGAAGCCCT GCCTCACAAAATCTTTGCAAGGAGGAGCAGCGGCGTCCTAGGAGCAAGCACCTGGCGCCC GGTGAGCCCCCGCCACTCGCTCCTTCTCCTCCTTGTCCTTCTCCTGGCTTGCTCCCGGTT CTCTCCTCGCCACCCCCGCCCCGCGCCTGGCACGGCGCCCGGCGCGCCCCAGCCGCCCAA TCCCGGCTCGCAGCCCTGACTTCCTGCCCGCCGGGCTCCCTCGGCACGTGCCCCGCGCCC CATGGGACCGCGCGCCCTCCCGGGGCGGCCTCCCCGCGGCCTCCCGCTTGGGGGAGCCGG GCTTGGGGGAGCGGGTCGCCCCGGCTCGGAGGTGGGGTCGGCGGGGGCCGGGCGGGCCGG CCGCGGCGGCGGGAAGGGGACGCTGCCCCTTTAAGGTGCCACCGCCGCGTGGCAGGGAAA CAGCTTGTGCCAGCCCCATTCCGCCCGGCTCCGTTCGCTACAAGAAACACAATGCATAAC AATCAGGCGCGCGCTTGGAGCCATGCCACGCGGCGGGGGCGGGGCGGGGCCGCGCGCCGG GCGGGGCGGGGGCTCCGGGGTCTCGGCCCCCGACCTGCGTCCTGGGCCCGCAGGGGAGTC CTGCCCCATGCTCCCGGGCGGGGCCGCCCTGTGCCCCAGCGAGGTGCCCCGGTGCCCCCC GCCTCGCCCGCGCTTGCCCCTCCCTCCCCGCCATCTCGCTCCCTACAAAGTTCATTCCCA CTAACTCTTTTCCAGGCCACTTCCCCCTCACATCTGACAATCGGGGCCCCTCATTCTCCC AGTAATCACTCCACTGCACTAATTGCACATGCAAATATGCAAATGCGTATTAATTAATTA CTATACTAATTAGTTCTGTGGTATTTGCGAGTAATAAATCATTGGATGGGAGCGAGGAAG CTGGAGACCTGGCCCATTTTCATTCTGCATAAAATTTTAATGGTCTCTCTGGCTGATCCG GGACGGCAGCGCGCGGAGAGGCTCTTAAAGGGCCAGTGGCGGCGGGAAGGGGCAGCGGTG GGGATCGCCGTTGACCCCGGCGGGGACTGGCACCCTAGAAGGAGTTGGAGATGCGGCCTC ACATTCTGCAGGGGCCGTCTCCGGCGTGCGGTGGCTTCTGCCTCCCCCTCTGGGGCTCAG TGTCCTCCTTAGTGGCTTCTAAGGAGAGAACCTGGGCGGGGACCAGGAGCTGAACTAGGA TTCTTTAAGAAAGGAAAGAGGTCTAGGAGATGTGAGAGGCCAATGCCAAGGCTTTGGGGC CCCAGGTAGCCTGGGAGACAGGAATGAAGACTCCATCTCCTGGATGGCTGAGTAAACTGA GGCACAGGACAGGCAAATCTTAGCTCCCACCCCTCTTCTCCCAAGGGGAAGGAAGCTAGA AGGATGTTCTGGTTGGCCCCAGCCTTTTCTTATATCTGGTGGGCGCCACAAGGTTGGGGG TGCCTCCAGCTTTCCCCTTCCACACGATCAAACCGCTGCCCCGCCCCCATGGGCACCAGC TGGCACCCTGGCAGAGTAGTCCTGGGCTTGAGTGGGCCCTGGGGACCCTGCTTTATTTCC AGGAGGTAGTCAGGACCCGGGCACAGGGAGGGGGCTGGCTGCTTTGCAGGGCCATTGACT GGGGGAGGCAGACAGAACCAGTTGTGCTCATGCCAGGGCGTAGGAGGATGCCAGAGGTGG GCACCTTAAGGAGGTGGGGACTGTGGGCCTGTCCTGAGCCGGTATTCCCCGTGCCAGGGT CTCTAGTCTGGTTCTGCTCAGCCTCCAACCTTCTGCCATCAACAAGCCCCTGGATAAGGC ACAGCCTAAGGAGGGTCAGTGCTCTAGTGGGGGCCGATGATAATGACAGCAACTAACAAG ACTATTAACTCGGCAAACATTTATTTAGCTGGAGAACTGTTCAGCAAGCTCTAGGTGCCT CACGACCCCCCAGTGACACAAGTTCTGTTACAGTCTCCGTTTTAAGGATGGAGAAACAGG GGCACACGAAGGTTAAGCAACCTGCTCAAGGTCACCCAGCTGTGAGTAGTGGAGTGGAGT TTGAACCCAGACAGTCCAGCTGTGTGTGGGTTCTTTCCAGCACACCACCTCTCCCCACCA CCATTTCTGCAGCTCCTGCTCTGAACCACATCCTTTGCTAAGAACTTCATGGGCAGTATC CCATCCAAACCTTGCAACAACCCAGAAGGTAGGTTCTGGAATTATCTCCATGTGGAACAC AAGGCTCAGAGAGGTTGACTAAGCTGCTCTGGAACACACAGGGAAGATGTAGCAAGGCCA GGCTCACACCTGGCTTGTGTGAGGGCAGAGTCCAACAGAGTCCTCCAGGCCCTCTGATCC CTCCCCATCTCTGCCCCTGCTGGGATCTCTGCCTCCTGGAAGAGCAAGAGGGCGTTGTGG TAGCCCCTGATGACTAGAGAAATGGAAGGGCTTTCAGTTAGATGGTAGAGAGAACTTGCT TCTTGAAAGGTGGGAGCTCCAGGGGCTGGGGTGGGATGGAGCCTTTTCTTCCTTTCCCAG ACAGGCCAAGGAAGGGCCTTGGCTGTGTAGTGGGAGATGGGTGGGGATGGGGGTGGAGGG GTGGGGGAGAACAGAAGGGCCCAGAATGATAAAGCCTTGTGAGGACCACAGAACTCAGGA ATCCTGGCTGGGTTTTAAAAATTTTGTCCCTGATAGGCCGGACGCGGTGGCTCCCACCTG TAATCCCAGCATTTTGGGAGGCCAAGGCGGGCAGATCACTTGAGGTCAGGAGTTCGAGAC CAGCCTGGCCAACATGGTGAAACCCTGTGTCTACTAAAAATACAAAAATTAGCCGGGTGT GGTGGCGGGCATCTGTAATCTCAGCTACTTGGAAGGCTGAGTCAGGAGAATTGCTTGAAC CTGGGAGGCGGAGGTTGCGGTGAGCCAAGATCACTGCCACTGCACTCCAGCTTGGGCGAC AAGAGCAAGACTCCATCTCAAAAAAAAAGAAAAAAAAATTTGTCCCTGCATTCCTACCTG CCCCCCACCCATTGCCCCTGGAAATGTCTTGGGCACCCCCACCTCAAGAATTGCTATTTG GGTTTCCTATTTGGGTTTTCCAGGAGCTTCGGTCTCCAGCAGGGGGATGAGAAGATAATA CTAAGCAACACTTTGTAATAAATCACTTGTTTTTTTAAACTGTGTGCTTATGAGCATCAA CTTGCTTAGTTTTCATAATTCTATTGTTATCCCCGTTTTATAAATGGAGACACCGAGGAA GGAAAGACAGGTTAAATGATGTGGCCAAGGTCACACAGCTACTAAGTGGTAGAACTGGGA CTTGAGCTTCTGAGCTGGGGTGCTTCACCACCCTGCACACGCTGAGCCAGATTGACCCCC TTGCCCAGCAGTCAGGGATCATGGTGGCAGGTGGCCTTTCACCCTGGGTCCCTTTGGAAC TTGCAGATGCAAGGAGAAAGAACAGGCCTCAAGCCCGCAGTTCACATGGCCCCTCCCCAT GTGAATTTTCATGGTGCTGTTTATATGCTAGCAGAAGCTGGGCAAAGTGAGTATTCAGGT GGCCCTGATCCCTCCACACTGGAGCCTCAGGACGGGTGGGCACTGGGAGCTCCAGAACAG GATGCTATCCCAGCATCTCTTGCCCCCTGCCAGCCCACCCTTGAGAGCACAGCAGGGTCA GGGAGTCAGTCTATTAGCATCTGTCAGGGGGACCACCCTGAGACAGAACACTGGGATTCC CATGATCTCAGGGTCCCCTTACCTCCTGGTGGCTCAGGGGGACTTCCCCAGGGAATCTGG ACACCCTCATTTCCCCAAAACTAGAGAAACCTTTGACACCCACCTTCTGGACCTGAAAGT CGGGTGGGATATGGGGGTTGTGGGACTTAGGGAGGGATGGCCCTTGGGCTGCAGCCCATT AGGAAAGAAAACCCATCCCTGTCTCAGCACTCCACTGAAGACCAGAGAATCGGGGTTCAT CAGGGTCCACACCCCTGCCCCCACCCACCTGCCCTGCAAGATGCCCAGTTTCTGGGTGAA TGGGAGCAAGTTGGAGAGGTTGGGGGAAGAAGGCAGGAAGGGCAGGCTGGCGGCTCTGAG CTTCTCCATGCAGCCCCCGGGGCCGGGTGCCTGGGCAGGAGGACGGGGCAGAGCAGCTGC TGGCGATTTATTAAGCAGTCACGGAAAAATTGGTTTATAAATTAACAGCTGTTTTAACTT TAGGGCCTCTTCTTCAGGGAATGGAAGCAGCCGACTGGACCGGGATTGGAGTGTGTGTAA GGCTGGTGGAGGGAGTGGGAGGCGGGGGGCTCCGGCAGCTGGCATTCTTCGGGGGCAGCC TCAGCTGGCACCTCGGGGGGCACCAGGCAGTGGCCAGAGCAGGGGGTCTCCAGGTGCCGG GGACTGAGGCTACCCCTGCTGTGGGCTGCAGCTTGCTCTCTTCTCAACTTCCCAGCTCCC ACCTGGGGGCGCCAGAGGGCACATATACTGCTGTACTCGTTTGTGCCACCAGAGGGCAGC CTCCGCACATCGATCTCTACTGCTTCCGAGAACTGTCCAAACCGGCGGGACTGAGAGAGA GAAACCTGGTCCAGGGCAGAGAAAGAGAGGAGCCCACTGCAGTGCGTGCAAGCGATCTTC CACGCGTCCATCCTGAATGTGTTAAAAGCAGCAGTTAAAGAGGGAGGGCTCTGGAGTTGG ACTGTTTGCGTTTGAACCCAGACTCTGGGCAAAAGCTGCTGAACCTCTCTGAATCTAATA GCCTCATCTGTGAATTGGAAGGATACTAGCGAGGATTAAATGAGAGTGCATAGGAAGGGC CTAGCCCCGGTGCCCAGCACAGAGGCTCCATATGTGTCACCGTTGTCAATTTCTGACTCA TGTATTCATCTATTCATTCACTTCTCAAACCATCCTCTCGGCGTCATGCAGTGCCTGCTG TATTCTGGGTACTGTGGCAGGTCGGTGATGATGTAAACAGAGATGGCGGCCAGGGACGGT GGCTCAAGCCTGTAATCCCAGGCCTTTGGGAGGCTGAGGCGGAAGGATCACTTGAGCCCA GGAGTTCGAGACCAGCCTGGGCAACAAAGTGAGACCCTGTCTCTACAAAAAACAATAATA AAAAAAACATTAGTCAGGTGTGGTGGTGCACATCTGTAGTTCCAGCTACACAGAAGGCTG AGGCAGGAGGATCGTTTGAGCCTAGGAGGTCGAGGCTGCAGTGAGCCGTGATGGCGCCAC TGCACTCCAGCCTGGGCAACAGAGCAAGATCCTGTCTCCAAAAAAAAAAAAAAAAAAAAA AAAAGGTGAGAAAGACACGTATCAAAATAGTGTGCTAAGAGTTACGATACACCCAATGAG GGGAGAAGGGAGATTGACTTGGATGGGGCAAAAACGAACGTTCTGGGGTGACAGAAACAT TATATATCTGTATTGTGGTGGTCAAATGCTATATAAATTTCCAAAAACTCATTGAAATGT ATATTTAACACTTTATTGTAGGCAAACTGTAACTCAACAAAGCTGATTTGAAAAAAAGCA CCTAAGCACCCAATGTGAATTTACTGAATGGGCAAAGGGATGGACGATGGGTGAATGAAT GAATGAGTGCATGTGTAAATGAGTGTCTCAGATGGTTGTCCACCTGTCTTGGTGCCACCA CTGCTCCTACTGAGGGTGTCCTTGCCCTCTCCTCTCGGGTACACGGGTTTCCCCAGAGAG GTGGGTCTTGGAATTCCTCTTCCTCCCGCGTCCCCCCTTCTCCCTTCCCCCAAGGGCAGG GAAAGACACCCCAGTGCTCCCAGCCAGCACTCCCCGGCTCCTCTAAGGGTGTTTCCTGGG ACTTCCGGGGCCTCCCTTCCAGCTGCCACATGCCAACCCAGCCGGCTCCGGCTCAGCTCT GTGGTGCCAAGGTCACGGGTGTGATGCCCAACTCCAGACCCACAGTGCCTGCAGCAGCCA CCCAAACCCTGGCCGACTCCGCCACCTGCCGGCTCTTTCTGGAAGCGCATCCCGAGAGCT CTAAGCGGGAACCTCGGTCAAGGGCTATCAGGAACCCTGCCCTGGCGGGGGCTTTATTTT TCTTCCTATTGAATAGTCACAGCCACCATGTGAGGTGGGCTCTGAAGCATAAGGAAACTG AGGCACAGAGAGTAGCTAAGAAATGTGTCCAATTTCACACAGTAAATTACAGATCTGAAA TTCTACCCAGGGCTGGGACTTCCCAGTTGATGTTCTGTCCAGGTAAACACATCTTGCTTG GGAGGAGGGAGGGACAGATCCCAGTGTCCCTTCTCCCCCCATCCGGGGAAGAGGGCAAAG GCCTCACACCACCCTCCCAGATTTTCCCTCCAAAGGTGAATGCAGGGCCTCCTGCACGCC AGGCCCCGCGGCAGGCATCCAGCAATGGCGTGAAGATACATGATGGGAAAGAAACGCCTC AAAATAGTGTGCTCAGACCTATGGTACATTAATAGACACCCTACCGTCAACTTTTTCTGT CAGTCCAAGCAGAGAGACCCACAGTTCAATCAGAGTTACGTCAAATGAGGTCTTGAATTT GTTCCTTGGACCCAACCGCCTGTGCTTCTAACCCAAGAATAATAACCAAGGAGTGGCATA TTATTTTTACATCTTATTTGCATATGATTAATTCTAAGTCAAAGTGAATGCAGGGCACCC TGGCCCCTTGCTTCTCAGTGCCCTCCCACCCCCACCCTGTGCCTGGTCCTAGCCATCTCC CCCAGCCCCTGCCGGACTCCACTGTCCCCAGCAGCCCCTCCCCACTCCTTGCCCCTGCCC ACCCCTCCTCCAGCTCTCAGGAGTCCCATTCCCTTCCTCCTCTGTCGCCCACACAGCCCC CACCACCTGGCCGCCCACCTGAAAAACTTTTCCCCAAGTTCTTGAGAAGTCGCGTAGGAT CCAGGAGAGAAAAATCAAAGTAATAAAACCTCATTTAATTCCTAACGGAGGGCAGAGCTG CGAGCTGCAATTATCTTAATGCTGAGCTATTTTTACTCTCTCTCCATCTCTGTCTTCTGC CTTTCTCTGTTGTGAGGTTCGCTGTCTCTCTCTCTGCCTCCCTTTGTCTCTCCATCTCTC AACCATGTTTTCTGTCTCTCTTTGCTTTCTCCTCTCTCCCCCCAATCTCTCTCTCACGTC CTGTCTCTGTGCAGTCTCTTCCTCCTCCTTCATGTCTGTCCCTCTGTCAGCCAGTCTTCC CCACCCTTCTTGGCCCCAGGATTTAGATGCCAGCCTGGCCACAGGCTGGGGGAGATGGGC AAAAACCCTCCCTCCGCTCCCAAAGACCTCATCTTCCAGGCCTAGCTGAGAGGGAGGCTT CTCTGCCCTCATCTCCCTTCTCAGCTGCCCCAGCCTGGGATCCGGGGAATGTTTCCTGAT CTGGGGTCTCCCAGAGCTCCAATAAGTTCAGCAGAGCCTCCGTAAATAAGCCCTCCTGCT CAAATGGGGCTCAGCTGCCATGTTCCCTGAGGCCTTTTCAGCTCCTATGGGCTCTGAGGT GCAACTGGTGCTGATGCCTCCCTGTCTCCACCCTCTCATCACCCTCCCAGCTATCCTCTG TCCCCTTCATCCCCACGATCCTTCCCCACACTGCCAGCACTGGAAGCCACAAGCCCCTTC CCCACCTCTGCCCACCCAGTGGCTGTCCGGGCCACTGCCTGGGCCATGCCCTTCCCATAC CCCTTCTTCCTTTCAGGACCTCCTTATTTACCCTCCGAAGGCACTGCCAAACAGGTCTTT GCCACTCCCCACCACACCCCATCTTCGACAGAGGTTCTGGGCCAAGCCTAGGGGCTGCCA GAGATGCCTACACCCCTGGGCCAACAACTTATCATCCAGCTGTTTCCCAACAAGTATATA AGTCAACAAACATACAGGGACTTGAGCCAGGCCTGGGGTGGGCTGATGTGGAGCTGGATG GCCAGGACATCCCACTCCTATGAGCAACACTCTGGACCTCCTGCCACCCTTTCCCTCACC CCCAGAGTGGGCCCTGACCCCAATTCCAGAAGATTCCTCTGGCCTTTCACTCCACCCAGG ACCCAGATGCTGGGGCTGGGAGTGGAAAAGCTGCAGGAGGATTGGGGGTTTCAGGCCTGA GAGTGACCAGGAGAGAGGACGCCAACACAAACAGAGCCCCAGGAAAACATGCATGTACAC GTCTACACACACCCTCTCAGTGCTAGACAGAAGCATTCAGACCCTCTGCACAGCTCCAAG GAGGGAAACAGCAGCTCCTGCAAAGGCACCCAAGGCCCGGACAAATAGACCAAATAGACA GGGACATTCCACCCACAGGGCCAGCTCCTCCCGCTCCCGCTCCAGAGACACACACAAATA CCTCTGGAGAGAGAGAGGCTCACACCTGTCTCCCCCAACCCTGCTTCTGAATGCACCAAA TTCATGCACGTGATGGCACGTGTACAGGCAGCCCCCAAACCCACCCCAACTCTGGGCCGG CCCTGTCCTCCCCACCCCATTAGATCCGGAGAGGAAAGACAGGAGCCACGTGAATCTACA GTACATCATGGCAGGGCACATTCCCCTTCTCCCTCACAGGAGCGCTCACACATCCACAAC CTCATACCCCAGCAACTGCACAGCGGAGCTGTGGATACAGTCCCCCACCCCCTGCAAGCT GGCACACGCCTGCCCATCACCTTGACAGCCTCTGACATCCTCCCCCACACCCACACCCTC CCCCGCACACACGCAGTCCTCCCACACCCTGCCACTCACACCTGCATCTTTGACACTCTG ACACACTTACACAGACACACTCACACCACACCGGACCCCCCAAAACACACTCCCTGGCTA TGGGCACCACAGGGCCCCGGCACACCCCTGCACACTCTCCCTGCCACGATGACTGACACG TGTCCTCCCACACACAACTCGGTCACACTCGCTCCCTTTCCAGGACACCCCCATTCACAG CGTGACAGGCTGGTACTCTCCCCACGACCTCGCAGGCCTCTCTGAAACTCCCAGTACCAG GACCACGAAGGGGTTAAAGCCAGAGTCCTGCCTCCCCGCTGCCCCTCTCCCCCTCCCTCC CCCTTTATCCTCTCTGCTGGACTCCATCAATAATGCAGCTTCAAGTTCTGGGGAGACCGC AGGGGGCCCCCCAGCTGGCTCCCCAGGCCTTGGCTCTAACTCCCACCCTCCTCCCAGCCC CAGGAGAACACGATTCTCCATGCTCATTGGCCAGTTTCCCCTAAACCCTCCCTCCGAGCA CCCGGGCGCCAGTCCCAGGCGGAGGGGACGGGCTGGGGACCCCAAAGCTGGGACCGGAGG GTGAGCCCGGCAGAGGCAGAGACACACGCGGAGAGGAGGAGAGGCTGAGGGAGGGAGGTG GAGAAGGACGGGAGAGGCAGAGAGAGGAGACACGCAGAGACACTCAGGAGGGGAGAGACA CCGAGACGCAGAGACACTCAGGAGGGGAGAGACACCGAGACGCAGAGACACCCAGGCCGG GGAGCGCGAGGGAGCGAGGCACAGACCTGGCTCAGCGAGCGCGGGGGGCGAGCCCCGAGT CCCGAGAGCCTGGGGGCGCGCCCAGCCCGGGCGCCGACCCTCCTCCCGCTCCCGCGCCCT CCCCTCGGCGGGCACGGTATTTTTATCCGTGCGCGAACAGCCCTCCTCCTCCTCTCGCCG CACAGCCCGCCGCCTGCGCGGGGGAGCCCAGCACAGACCGCCGCCGGGACCCCGAGTCGC GCACCCCAGCCCCACCGCCCACCCCGCGCGCCATGGACCCCAAGGACCGCAAGAAGATCC AGTTCTCGGTGCCCGCGCCCCCTAGCCAGCTCGACCCCCGCCAGGTGGAGATGGTAAGGG GCCCGTGCCCCACCCCGGCAGCGTACCCGACACACCCCGCGGGGCTTCTTCGCCCTCCCA AGGCGCTGCCCCGGCCGGACTGGCCTGGGGGTGGGGGCGCAAGGAGAGCCGGGCTCTGCC TCGGTCAGGACGGGGCGCGGGGCCGCGTGTGAAGTTAGCTGGAGACTCGTGCAACTTTTC CCCGCGGCTTTGGTCCTGATCCCGGGGCAAGAGAGTTCCTGGCAGTGAGGCTGGGGGTGC GGGGGTGGGGGGACAGGCCGATTCCAGACCGCCCAGGAGTGGGGTGGGGGCGTCCTTTGG TCCCAGCACAGTCCCCAAAGGGTAGTCAGTCTCCTAGGCTACCACCGGGACCGCTCCGCC TGGCTCTGTCCCAGAGCTGGTCAGATGTGAGCAGCGGTGGACACTGACCTTGTCACCCAG GGCAGGAGTATGAGGCTGCCACCGGGTGAATCCACTACCCTGCCCCTCTCTAATCCCGCG TGTGTGCCTGGGCTGGGGTCTCCAGAACCTGGCTCTGGCCTCCTGCTGTCAGGCCCCAGA GCCCCAACCCCAAGGAGGGAGAGGTGGGGAGTCATCACAAAGCCAGACCTCTTCCCACAG ACTACTGAGTCCTCCTGAGGGCCTTCTTGGGGGTTGAGGGGCTTCCAAAGGCTGGCGGGT GCTGTGACAGAGAGCTCCACTTCCCATCCCTAGTGGAGCAGGGGTCACTTGTTGCTGAGC TGAGATGCAGCTGGCTCCCCACTGAGCAGTGATGAGGGGGCCAAGTCATTATGGGGGGAG ATAGAGGGCAGGGGGTACAGTCCTGGGCCTAAGCAGCTTTGGGTCATGAGGGTGTCATGG GGAGCTTGGCTGGGGAGGTGGCAGTTTCAGCTTAACTCACCTGGTTCTCTTTGTGCATTT CCCTGGAGCTCAACAGGGACCTAATTAACTGACAGTTGGTCTGATTGCCAAGCTGAGGGG CGGGGCGGGGAGGGGGGCGGTCAGTTGCTGCTTGGCTCACGTAGCAAGGAGGGCAACTTT TCATTTCTCACAAGGACTGGGTGAAGAGTTCTGCAGCCTTACAGAGACTGGAAAAGAAGC CCAAACCAAGGCCCCCAGAGAGGTCCCCCAGGCCCCTTTGGGTCCCTGAGCCTCAGCTGG AGGTGGGGGGTGCCTGCAGTGCGCTGGCTCAGTCTCCTTCTGAAAAGCTGGATCCAGCTT GTTTGAAGCCCTTGAGCTGATCTTAGGTGGGCAGGGCCACATGGGTGCCATGGCCCGTGG GGCATCTTCCCCAGAGGGCCCAGCCGTGGCAGCTGGAGCTGTAGCCAGCTTTGGCTTCCG AGGTCTGATGTTTTCAGAAACTGGAGAGAGGAAGGGCCTTGGTGGGAGAAGATAGGAAGG GAGATGTCTGTTCTGGAGTAGCCATGGAGTGGGACAGGCATGGGCTGGGAGTCAGTGACT GGGGTTTTTCTCGTCCTTTGGACTTGTTGTGCTGTGTGGCCTTAAGCACATTGCCAAATC TCTCTGAGCCCTGCTTTTTCACCTCTGTAAAATGAGGGGGTTAGGTGAGCTACAGAGTTC CTTTTGGCTCTGACAGACTTTGATTCAAAGGTTCCCTGGGGACTCCAAAGCACTGTTTGT TCCCTGCTGCCTGGGGGTGGGGGAGGGCTGCAGGTGTCCATCCAGTCACCCCTCCCTCCA TCTCCTTAGATCCGGCGCAGGAGACCAACGCCTGCCATGCTGTTCCGGCTCTCAGAGCAC TCCTCACCAGGTAGGCCCCTCCCTGCCCACTTAGCCCTGGCCCCACCCTAGCTCTGATGC CTTCCTAGGGGCCCTGCCAAAGTCCCATGAACAGGAGTCAAAGCTGGAGACTGGGGAGTG GATAAGGTCTGGGAACCCAACTCTATTGGCTTTATTTATTGACATGACACCTCCCAGCCG CAGGAGGGAGAGGGCACACTTTCCCTGTCCCCAGAGATTGAGACCCTGGGGAAAATAACT CGGATTCTTTCTCTCTCTCCCTCTTCTCTTTTCCTCCTCGCTTGGTTCTGGTTCGGTTGG CTTTGGTGGCCTTCCTCAGAGGAGGAAGCCTCCCCCCACCAGGTGAGTTTCCTGGGGCAG CTGGAAGGAGGGATGCCTGGGCCCCTTGGGGTGGGGTGGACGGGTGCCTGCAGTGACAAC CAACCAGTATGGGGTGCCACCCAAGAGGACACATTAGCATATCAATGGGCAGTCCTCTGA GAGTGCCTCATGCCAGGGTGCCACCAGCAGATCCTCCTCTGCTCAGACTCAGGGTGGAAC CTCCTGGACCTAGAGTCCTGCCCTGAACCAGGCCATGGCTTATGGGGGGCCCCCCCTAAA GCCACAGGGTGGGGAGGCTCAGCCTAGGTGCAGGACCCATTAGCAGTGGCTAAATCAGTC TGCTTGGGTGGCCATGGGTGGGATGGAATGGAGGGATGGTGAAGGCAAGGGCCTCTGCTG AGCCCCTTTAACCTGGCACTTCCCCTGGCAGAGAGCCTCAGGAGAGGGGCACCATCTCAA GTCGAAGAGACCCAACCCCTGTGCCTACACACCACCTTCGCTGAAAGGTACTATACCCCC ACCGACCTTCCTGGCTGTCCGCCTGATCCCTGGAACTGGGCAGACGCTAGGGGAGCTTTT GTCAGTGGGGAGGGATTGTTTCGCCACACATAGCCCGCTGTCAGCGTGGCGCAACAACCC AACGTAAAGACCAATTTTTTCTCAGTCTGGCCTTGCAAAACACAGGAGTCCCGAGGCTGC AATGGGCAGCTATGGGCCTTAACATCGGGTTGTGGGCTTGAAAGAAAAGAGATGGCTGGC CTAAGACAACCAGCAGGCATCCGCGTGGAAGGGACTCCACCTGCAGCTCCTCTTCACCAG CCTGTGGTGGACCACCTCCCACCCCTGCTCATCCAGGGCGCCTTCTCCTGTGGGCTTCAC CCCTGGCCTCCCCTCCCATTTGCATCCCATTTGCACAGATCTGCACACTGGTCTCCTCTT TCCTGCTTCCCTTTCTCCATGGAAAAGCAAGCCATTCCTTTTGCACACTTACTCAACACC TAGTATATGCCAGGCCAAGTTGGTGGGCATTGGGCAGAATAAGATGAGTCAGATTTGGTC CCTGCCCCCTTGGGGCTCTTTGCCTCAAAGGGTCAGGGAGGGGCCAAGTAAGGTGGCTCA CACCTGAAATCCCAGCACTTTGGGAGGCCAAGGCGGGAGGACTGCTTGAGCCTAGGAGTT CGAGACCAGCTTGGGCAATACAGTGAGACCCCCATCTCTATGAAAAATTTACAAAGTGAG CTAAGCGGGCCGGGCGCAGTGACTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC GGGCAGATCACCTGAGGTCAGGAGTTTGAGACCAGCCTGACCAACATGGAGAAATCCTGT CTCTATTAAAAATACAAAATTAGCCAGGCGTGGTAGCGCATGCCTGTCATCTCAGCTACT CAGGAGGCTGAGGCAGGAGAATCACTTGAACCCGGGAGGCAGAGGTTGTGGTGAGCTGAG ATCGCACCATTGCACTCCAGTCTGGGCAAAAAGAGCAAAACTCTGTCTCAAGAAAAAAAA AAAAGTGAGCTAAGCATAGAGGTGCACACCTATAGTCCCAGATACTTGGGAGGCTAAGGC ACAAGGATTGCTTGAGCCCAGAAGTTTGAGGCTGCAGTGAGCTATGATCGCACCACTGTG CTCCAGTCTGGGCTACAGAGTGAGAGCCTGTCTCGGGAAAAAATAAAAAAAGAAAAGGGT CAAGGAAGGTACACAAAGATGTTTAAGCTTGGATTTGAAGGATCATAGGAATTTAACAGG CAGGCAAGGGCATCCCAGGTCCAAGAAGAGGGAAGAAGGTGTGCAAAGAGAAAGAGATGC GAGTCAGAGGGGGACTTCTGGGCCAACCTGGAGGAGGCTTCGTTTCTAGTCAGGGAGCTG GGGAGATATACCTGAAGGACATAGGAGGGCCTCTTCCTGACTAAGCCCTGTTGCCTACCA ACCCCCCACCTCAACTCCTGCCTGGGGCTCTTCCTGCCCGGCCAGCCCCCTCCGCTCCTG CGGAGGTTGGGAGGGAGAGCTACCGGAAGAGTATGCTGGGAAGTGGTTCGGGGGAGGGTT TAATAAGTTCCCAGCACCAGCCAAGGTCAACAGGTATACCTGTCAGCCCACTTGCCAGGG TTGGGAACAGAGAGGAGAGGCTGGGAAGGGAGGAGAGAAGGGAAGGGGTTATTTTGCTTT CCCCAGGACAGGAAAATGAAGGGTCAGAGCTGCAGCAAGTGGGCAGTGTGGCTCAGCACC TGGAAGGACCTCCCCACCTAGAGGGGTGTGTGGAAGGGCCCCAAAGCAGGCATGAGGGAC AGAGTGTCATCTTCTCAGGAGAGAATTTAAGAAATCCCTCTCCCTCCCACCTTGGGCTGG GTAGGGAGAGGCTGGGTGGATGTGAGGGGAAGACCTGGCTCTTGACTGCAAGCATGGGCG AACAGGCCAGGATGAAGATGTTAGGGCCAGGGTGCTACCATGCACCGTGCAGTGGTCAAA ATTGTGCACCCCCTCAACTGCCCCTTTAGGCCACATCTTAGGAGAGTCCAGGTGAGTAGA GGCAGGGAAGAGGAAAGGGATCAGGAGAGGGGTGGCCAGTCTGGGGCAAGGCTGGGGACC TTCCAACTGAAGAAGGAAGACTTGTGGTGGGGGGAGTTTGGGGCCCCACAGAGTGGGGCA GAGAAGGAGACAGCCTGGAAGGAGTGATGGGGAGACCCCAGAGAGCCCAGGAGGCATGAG GGAGGTGGGGGAAGCGAGGGAGGCTCACGGGGCACCAGCGCAAGCACCGCACACACCTTC TGTTGTCACTGTGGCTCACGAAGTGAACTCTCCTCCCCCGCTGGGGGAGAAGGAAGCTGC CTGGGCTGCCACCTGCTCTCCTGCCTTACCTCCCCCCACAGCCCTCATGGATCCTTCTCT ACCAGGAGGGCACTGTTTTGTAGGCTTCAGTCCTTTTGTGGGCAAGGGAAGGTGCCCGGC AGGGTTGGGGCTTGTCAGGGAAGAATCGAGGGCCCTAGAGAGAGGGGCACAGCACTAAGT CTTAGCTTGAGGGGTTGTGCTCCAAGGCTGGAGCTCTCACACTTGGCTCAAGATGAAGCT CTGCCGCGTCCCCAAGGTCAGGGTAGGGTGATTTATTGTGCTTTTATTGCCTGGATAGCT TGCCCAGAGCCAGCAGGAGGTACTGGGCTGGGAGCTGGGGGCTGGGTGGGGCAGCGGGCA CATACAAAGCACCCTCTGTGCCTGTCCCCGAGTTGGCAGGAGCATAGCACCCTGCTCACT GTGCCGGAGGTTTCCAGCCTGGCCCTACCCCTCTGGGCCTTCTGAGGGGAGGGGCCACTG GCAGACCAAGAAGGAACTGCAGCAACTCCCCATTCCCCACCCCCAGCCCCTCCTCAGCAT CTTGTCTGTGGCCTGTGAACTTTGTGTCGCATATGTTCTAAGATCCTGCCAGCTCCTGCA GCCTCTCCTCAGTGGCCCCTCAACCTCTGCCATCCCCCAGAACCCCTGGCCTTGGCCCCT TTCTCTAACCCCTTGCTCCTTTCCATCTTTTGGAAACTTGTCTCCAGCTGCCCACACTGT TCCCTTCCCAGCCCTATCTGAGCAGGTCTTTGGAGGCTGGGGGGGTTGCTTTCTAGGTCA CCGCAGAGGGAGCTGGGAACCTGGGGATGTGGGTCAAGATTGTGGGGGCCGCATCTGAGC ATGCCGCATCCCCCGGCACAGACTGCACTGGCTGCAGACTATTATGTCCTCAGCCTCGGA ATTGTTCTGTCCCTTGGAGCCCGGGGCAGGAGTATGTGGATTGGCATCTATGACTGGGCA GTGCCAGGGAGTGGGGACTATGCATCGCATGGGAGGTAGGATCAGGGTAAGCAGTGAGCC CTCAGCAGGCTGGGCACCCCCAAGAAATGGAAAGTGGCAAATCCCCAGGCCCTGGTTCCT ACGCCCTGTGCCTTCTGCCTGGGCTTGAAGCTGGGAGACACTGTCTCCCGTACTGGGTAC TTGGAAAATCAAGCTCTCCAGCCAGGGAATGTTAAGCTGCTGCTGTGCCCGCCTGGTCTT GCCCAGCCTAGTGCCCTATGGTGTGGGGGAGCTGCCTGGGGGCTAGCATCTTAGGACAGC TTAAGAGCCAAACATGATCAAATCTACCCCTGGCTGCCTCTGCCCTGGTCTGACACCCAT CAGGCTGACCTGTCAACTTTGGCCTTTGAACTTGGGCCCCTGAGGGGGTATTCTCTGCCC CAGGCCTACGGGAAGGAGGCTGGGGGCTAGGCCACAGGCTATCTCCAGATCCATGGGCTG TGTCTAGCTGACCCTTGCTTTCCTCGGTCTCCTCTGTGCCAGCTGTGCAGCGCATTGCTG AGTCTCACCTGCAGTCTATCAGCAATTTGAATGAGAACCAGGCCTCAGAGGAGGAGGATG AGCTGGGGGAGCTTCGGGAGCTGGGTTATCCAAGAGAGGAAGATGAGGAGGAAGAGGAGG ATGATGAAGAAGAGGAAGAAGAAGAGGACAGCCAGGCTGAAGTCCTGAAGGTCATCAGGC AGTCTGGTAAGCTGAGGGGCCTGTGACATGTGGATTAGCTGTGGGTCCTCCTTGAGTATA CGAGGACGTCCCCTTCTAGTTCAGTGTCTCATACACGCAAACTGTAGTGACACCACAGGG GCCTCCCTGTCTTCTCGCTCCATGGGGTGCCCCGAACTCAGCCCTACCTGAGACATGGGT TTCCTCCATCCTTGGCTCAGTCCCTCTCCCAATCAGGTTTTCCCTAATAATTCCTCTCTT CCCTGAGAATTAAGGCCAAGGCCGTTTGGGGTTTGAGGCTAGAGCCAAAAGAGGACTTCC CACCTATGGCAGTAAGGGGGCGTGAGGACATTCAGGGATGGAGGACCAGGAGAGTCCAAC ACCCCTGTCACCTGCATTTCACCTACATTTTTGAACCTAGGATGTGGTCTCTGCTGGGGT GCAGAGGGCTGCCTCATTTACTTGCCCTCTCCAGGACTGTTGTCTGTTTCTCCTCTTTTT CCTTCCTAGGATGGAGTGGGAGGGTGCCCTCTAGTGTTTAGATGTAGAATTTAAAATTCA AGAACCAGCCCGGCCCATTAACCTTTTTAGTCTCATTATTTATGGGAATACTGAAGAGTC AACCACCCCTACTAGAAGCTGTCAGCTCTTCCACACAAACAAAAGGCCTTGGGCCTCCTG CCTGCATATCTGGCAGTGAAGAGATTGGCCATGGGGGCAAAAGCTGTTGCTGGGCTTCAG TCCCTTTGTGGGCAAGAGACAGCTGGAAGACCTGAATCAGTCCTCACTGAGACCCCTCCA AAACAGTGGAAGAGGGGTGAGAGGAGACTGTTCCCTCAGGAAAAGCAGCAGGTGGCTGGG TGCGGTGGCTCATGCCTGTAATTCCAGCACTTTGGGATGCCAAGGCTAGCGGATCACTTG AGGTCTGGAGTTCAAGACCAGTCCAGCCAACATGGTGAAACCCCATCTGTAATAAAAATA CAAAAATTAGCCAGGCACAGTGGCACACACCTGTAATCCCAGCTGCTTGGGAGGCTGAGG CAGAAGAATCCCCTGAACCTGGGAGGTGGAAGTTGCAGTGAGCTGAGATCGCACCACTGC ACTCCAGCCTGGGCAACAGAGTGAGACTCCATCTCAAAAACAAAAACAAAAAACCAAAAC AAAACAACAAAAAAAAACAAACAAACAAAAAATGCAGAAGGGCACCGGGTCAAATGATAG TCCTATGATGGAGCAATATAAACCACCACGACTCCTAGTGGCTCCTGGGTGCTGGCGCTG GGCTGGGCAGGGTATTCACTATTACATCTTGTTTAAGGTAATCTACACAATTTCCCCCTT TCTATTTCCTTCAGAAAGGTACTAACTGACTTACGTAAGCCATATGGCTAGTTGCTGGGA GAGCTGTTCTAGCCCAGTTCTCTCTCCATGCTTCCATGATGCCCCTGGAAAGCTTAACCT CAGCCATCAGACACTTAGCTCACACTCCAGGACAGCCGGATGGATACGCAGAGCCTGTGT TCTTATCTCTTCTTTCCCATCCCCAGCTGGGCAAAAGACAACCTGTGGCCAGGGTCTGGA AGGGCCCTGGGAGCGCCCACCCCCTCTGGATGAGTCCGAGAGAGATGGAGGCTCTGAGGA CCAAGTGGAAGACCCAGCACTAAGTGGTAAGGCTTGGGAGTGTGAAATGGGGAGGAGGGG CTGGGATCTTGGTGGGTGGGGCCAGGCCCTGAGTCCCTCTCTGCTTGCCTTTCAGAGCCT GGGGAGGAACCTCAGCGCCCTTCCCCCTCTGAGCCTGGCACATAGGCACCCAGCCTGCAT CTCCCAGGAGGAAGTGGAGGGGACATCGCTGTTCCCCAGAAACCCACTCTATCCTCACCC TGTTTTGTGCTCTTCCCCTCGCCTGCTAGGGCTGCGGCTTCTGACTTCTAGAAGACTAAG GCTGGTCTGTGTTTGCTTGTTTGCCCACCTTTGGCTGATACCCAGAGAACCTGGGCACTT GCTGCCTGATGCCCACCCCTGCCAGTCATTCCTCCATTCACCCAGCGGGAGGTGGGATGT GAGACAGCCCACATTGGAAAATCCAGAAAACCGGGAACAGGGATTTGCCCTTCACAATTC TACTCCCCAGATCCTCTCCCCTGGACACAGGAGACCCACAGGGCAGGACCCTAAGATCTG GGGAAAGGAGGTCCTGAGAACCTTGAGGTACCCTTAGATCCTTTTCTACCCACTTTCCTA TGGAGGATTCCAAGTCACCACTTCTCTCACCGGCTTCTACCAGGGTCCAGGACTAAGGCG TTTTTCTCCATAGCCTCAACATTTTGGGAATCTTCCCTTAATCACCCTTGCTCCTCCTGG GTGCCTGGAAGATGGACTGGCAGAGACCTCTTTGTTGCGTTTTGTGCTTTGATGCCAGGA ATGCCGCCTAGTTTATGTCCCCGGTGGGGCACACAGCGGGGGGCGCCAGGTTTTCCTTGT CCCCCAGCTGCTCTGCCCCTTTCCCCTTCTTCCCTGACTCCAGGCCTGAACCCCTCCCGT GCTGTAATAAATCTTTGTAAATAACTGCTGAGACTCCTCTTTCAGGGGAAGCAGGAGGAA AAGGGAGGTAATGGGGCGTCCTGATAGGGAAGGCCGGTGGTCAACCAAGGGTTAGGGTTT TGACCCTACTGTCCAATCCTCTAGTCTAGGAGTCTTTCTGGCAGACAGCAGGCTCGGGGC ACTCAGAGGAAGAACTACAGAAGTTCTAGCTGCTGCTTGGGATGGCTGAAGGAGGCAGGT GGGGTGGGGAAGTCCTTCTCGAATAACTGGATTCCTCCAAAGATTTCCCCATCCCCACAG GACTCCCCTCGGGAAATTCCCCTTTTTCCCTCAGTGCCAGGCCTGTGTGGCCTAATAACG ACGGCCCTGGTCTTCTTCCCACTCCCCTACCCTTAGGTAGGCCCTTAGACTCCGGCCTTT GAGTCCGCTTCTGCGCAGGGCCGGGGCTGGAGGCGGGGCGAAGGGGCGGGGCCGCAGGCG AACGCAAGTCCCGCTTCGCTCTCGGGGGCGGACTCAGCGGCGGAAGTGGCGCTGCCGGAA GATCTTCTTCCGCTCTGAGGCGCTACTGAGGCCGCGGAGCCGGACTGCGGTTGGGGCGGG AAGAGCCGGGGCCGTGGCTGACATGGAGCAGGTGGGTCCCGGAGCGGTCGCTGGGAGCGG GTGGCGTGCGAGGGCCGTCTTCCGCCGGTCGAACCCGCTTCGCCGCCCGCTGTCCGTGCT GGGTTCCGTCCGACCCTTCCCACACCCGCTGCGTCTCAGGTTCCGCCCCCTTCCTCTGTC TGGCCTCGCGCCGCCCCGCGCGGGTTGGGGTCTCCAGCAATGACTCTTGGCGACCCCGCC TATCCTGGGGAGCCCGGGGAGGACGTTCGGGATCTCCTTCCAAAGCCTCCGTCTTAACTG AGGGGAGAGGAGAGGGTGAGGTGTCTGGGTGTTATGAGCAGGGGCAGGTATGGGGAGGGG TCGGAATCTGGGGTGAGAGGAAAACATCTACGCATTCCGGTAGCTCTGCGTCTCAGTGTC ATCCCGTGTCTCCCCAACTTCCTTTCGAAACGGCCGTGAATAACTTCCTAATTGGTATTA AAAGGGCCCTTTGAAGTCTTGAGTTCTTAGAGGTGCATAGTACCATTGACACTCATTTCT AATGACACGTTCCCTCACCCCGCATTTTTGGGTTAGTCAATGTCTCCTGGTTTTCTTCGT ACCGCTCTGACAGTCGGTCAAAGTCCCGCTTCACGTTTTCCTCTGTCGCCCAACCCCTCG CTCTGTACACTGAATCTCAGTGGTCTTATTTTCCCCCACGGCTTCAGCTTTACACCAACT AAATACCCAGATCCACATCTTCAGCGCAGCCCTTCCCTGGAGCTCCACGCTTGCCCATCC AGCGGCCATTGGGACAGCTCTGCTTCACATGGAGCTCACTGGGTCCAAACTTGAACTGGT CTTTTCCTTGCAGATTAATTCTTCCTCTACCCCAACCCAGCCGGAAGTCTGGTAATTTCC TTACACTTTCTCCTCTCTTTCAAGTCCCACATCTTAAAAGTGACCTAGTACTGCCAACTT CCTGAACATCCTTCAAACCTGGGCCAGCTCCATCTCTTCTGTTACCACGCTGTTGATGTA TTGTCAATTCCCAACAGTCCAGCCCTGGCAGCTTGCAACCCAGTCTCCAAACTGTAACTC TTGTGATCCTTTTAGAACACAAGTCTTACGGTGCCAGTTCCTTGCTGATAACCTTTTTCT GGCTTTCTATTGCCTATGTGCTGAACCCCTAGCACAATTTACACAGCTCTCTGTGATCTG ACCTAGCAGTCTCCTGTGTGCACCCTAAGGTCCAATAATACGGCACTGCAGCATGCGCCA TGCCTACCCTTGCTGTTCGTATCTTCATGACTTTGCACACACCAGCCCCCGCTGCTTGGA AACCTCCTCCTTCTCTTGTCTGCTGGGCTACCTTCTACATGTTTTTCAGCGCAGGCAGCG CTGCCTCCGCCTAACCCCCAAGGTTAATTGCCCTTCTGTGTCCTGTAGCACCCTGTCCAT AATAGCATAGTAGCTGAGAATACAGACTCCTGGATCAGACTGCCTGGGTTCTGACCTGTT TGGTAACCTTGATGAAGTCAGTGCCTCAATTTCCTCACTTGTAAAATGGAGGTAGGAATG TCTCTACTTCATAGAGTTGTGAGGATTGAATGGAATATTGTATGTTTAGGTCTTAAACCA GTGCTAGGCACAAGAATGCTCAATAAATTAAAGTGAGTTGCCTGGGTGCAGTGGCTCATG CATTAATCCTAGTACTTTGGGAGGCAAGGCAGGATGATCGCTTGAGGCCAGGGGTTTGCA ACTAGCTTGGGCAACATAGTGAGACCCCATCGCTACAAAAATTTAAAAAACTAGCTGAGC ATGGTGGTACGTGTGGGAGGATCCTTTGAGCCCAGGAATTTGAAGTTACAACGAGATATG GTTGTGCCACTGCACTCTAGTGTGAGGGACAGAGTGAGATCCTGTTTCTAAAATAAATAA ATAAAAAGTTATTACTATTATGTAAGGACAACATAGTTCACCAGTTATGATTTTTAATTT CATAAGTTGCCTGAGGATGGTTGAAGTGGCTTACTAGTCATTGGATAGAGCCTGGCTCTT TGCCAATAAATAAAATGCTGGAGTGGAGGACACTGGGGGCAGGGTCTGGATTTATTGAGT GAAGATTCAAGAGTGAAAAAGGCTCAGACCTGGTCTGCTCAGGAAAACCAGTCTGGAAGT GTGTGTGTGTTACATGGCAAGCATTAAATCTAGAGAAATGTATAGATCTGGGAACTAGAG GGAGAAAAAGACCAGGGGCGGCTTCTGAGGAGCTGACAGTTAATGGGGCCTATAAAGCGA TGGGAGGATTTTATCAGAGGGAGGCAGAGGCTGGAGTGGGCTCAGAGATCAGAAAGCTGG GTCCTCTGAACAGAGCTCCAGTAGATGGTGGCTGGGTGGGGGAACAGGGGAGACGGAGCT GAGGAAGACAGAGGCAGCGTCCTTTGCTGACGCTGGCAATTCCTTTCCTGTATTGGCCAT GAGGAAGCATCCCTTGACTTGGGAGCCAGCAGGGACCATGCCTGGGGGCAACTATGCTCC GGAGGCCTAGTACCTGGTGTTTGGGACCAGGCCCCCTGGGTAGGGCCATTGTGCATGCCT TTGGGCTGGGCCTTCTTTGGAGCTCTTTTGCCTCCCTGTAATGCCCACCCTCCTTGCCTC CAGCTGATAGATGCTGACTCTTCAAGGCCAGGGTCAGATGGCCCCTCCTCCCTGTGGCTT TTCTGACTTCACTCATTCCAGCCTGGGTCAGATGATCCCTTCTCTGGGAGCCCACGGTCC TTTGTTCATTCCTCCCTGAAAGCGCTGATCACAGCATGGTATTATTTATCTGCCAGTCTT CCTCACCAGACCCAGAGTCCCTGATGGACCAGAACAGGGTCCTGTGGCCCCAGGACTTGC ACTGTGTCCAGCATACTGTAGGCCCTTGGAACCCGCATGTTGCATTAAGTTGAGCTCTCA CACAGCTAGACTTGTTAAGGGAGAGCGGTGCGGGGGAGATAAAAAATCCGGCACATCTGG CAGCTTGTGCCTGTTCCACTGAATGCGAGAGCCTGTTGGCTCCACTTTACAGATGAGGAA GCTGAGGTTCAGGGGAGGTAAGGTCAAGATCACTCAGCAGGGATTTAAAGAGCTGTCTCC TGACTCCAGGTCTGCATGTCTCCCAGAAACTGCCTTGGGGTCCCAGCCTCCAAGGGGGCA GGTGCCACATCAGTGGGACAAAAGAAAAGTGTCCCTTTTTCTGGCTGAGGAGAGGCTAAT CCTGGCTTTGTCCAGGCAGGGTTGGTGCCTGGAGGATCCTGTGCTGAAACCGGCTCCCTT CCATCCCCCCAACCCCCCCACCCCTTGTCCCTTGCCCTATGGGGGCCTTTTCTTGAGAGG GCTGAGATCTCTCCTGGAAGATGACTAGCCGTTTCCAGACTAACCTTGGGAACTTGACCT CACTGGTTTACATAGCAGCACGAAGAGGGCAGGTGGGGCCTGATTCACTGGCCCTGAGTG GGTCAGGGGTCATGGAATCACAGAACTGGGGGCATCCCTGATGATTCACAGGGCCTGGCA CAAGGGGGAAGGGAGGGCAAGTAGATCTCAGTGTGTTAGGGTCTTCCTGTACACTGCACC CGCAGAGCCTCCCCGGCTGGGGGGAGAAGTGTGTGGTGGTGAGTCTTGTTTCTATTTGGC TTAACTCTTCCCCTTCCGCTTCCTCAGAAGGAAAGGAGAAACAGAGCCAGGCTTTGGCTT TGGGTCTTATTTGTCACTGTAGCTGTGTCCTCCTCTCCCTACACTCCCACTTCTCCAGGG GATTTCCCAAACCCTCTGTGGAGGGCTATAGTAGGGCCAGTCAGCCAACCATCCCGAGGC TGATGGCATGGGCCAGTAACCCTGAATGTGCCATCCTAGCCAGGCGCAGTGGTGCACACC TGTAGGCTCAACTACTTGGGAACCTACTCCCAAGTTTTTGACTCCAGGATTGATGTCCAA CCCCAAACCCACACCCTTTCTCCTGTTCCAGGGTGGACATTACGGATCCACAGACTAGCT AACTTACTAGACATGTACCGTGGCCAGGCACTGTGGCTGTGACTTGGACCTCAAGGGCTT AGGACAGATGGCCTTGAAACATCTAGCTGTGATAAGGGAAATGCTGACCCAGAGTTACTT GGGAGGCTGAGGCAGGATTGCTTGAGCCCAGGAGTTTGAGACCACAGTGTCCTATGATCG CGCCTGTGAACAGCCACTGCACTCCAGTCTGGCAACATAGTGAGACCTGTCTCTTAAAAA AAAAAAAAGTGTCATTCTGGGTCAGCCCCCTGAAGCCAGGGTCTACCCTTCCATTCTGCA GTACTGCTGGGACTCTCAGTTTGGGCAAAGTGCTATGCTGGACCTGCCTGGCCAGGGTCC TGCCTCTAACACTGTCCCCATGGGTAATAGTAGTAATAGCTGCTATTAATTAAGCACAGA CACTGTGCATGTGTTGTTTCTAATCCCTTCAAGCTCTGTGAAGTAGGTACTATATTCTCC CCATTTTACAGAAAAGGAGACTGAAGTTCAGAGAAACCCAGTGATTTGGTCAAGGGCACA CAATCTAATAAGGAATGGCCTTAGGTTTTTGCCTCCAGGACTGGTGTCCAACCCCAAACC CACACCCTTTTCCCTGTTCCAGGGTGGACATTATGGATCCACAGGCTAACTTACTAGACA TGTATCATGGCCAGGCACTGTGACTGTGACTTGGACCTCAAGGGCTTGGGACAGATGGCC TCGAGACATCTAGCTGTGATAAGGGAAGTGCTGACCCAGAGTTCTGAAAGGTCAGGGGAG TCTGGAGGGTGAGGAGAAGCTCTGCCCCGGAGGTGACATTTGAACTAGTCTCTGAAGCGC CAGAGTTCTCCCCAAAGGAAGGAGGTCATTCAAGAATGAGGAAACAGGGCGCCCAGGCGA TGGGCTGTGGTGTGTCCTGGGAGCAGCCAATGATCAGCAGAGTAGAGGCAGCGAGTGTTG ACCCCCATAGCAAAAAATGAGTGCTGGGGTCTGGAGTCCTCCCTCCTCCTTAACCCTCCT CTGTTATCAAAGACTCAAGGTTAACTCACCTTACGTCTTCTCCCTACAAGTCAGGCTCAG GGAGGGGAGCAGATACCCTGCTTGAGGACCCCCAGGAAACCAGTTCCTCTTTCCTTCTTG TGGAGGGAGTGCCTGGGCTCTGGGCAGGGAAGACCCCCACAGAGGGTGGAGTCCAGCTCC AGGAGAGGCAGCCTGGGCAGGGAGGGGCTGCTCTCCCGGCTGGGCGTGAGTGTCCATGTG CACTTGTGCATGTGCTGCTGTAGGGAAGGGTGTAAATGGCCGTTCAGTGCATTTCCTGGA AACCCACTCTGAGCCTGGTACAGTTCTGGCACTGGGCATGCAGCAGGGAGCAAAGCACAG GAAGTCCTTACTTTCATGGAGTTCGCATGCCAGTGGGAGACGATGGGCAGTAAACACAGA CCAGTGAATGTATCATATGTCAGGGGTGACAAGTGCTGTGAAGAAAAATACAGCAGGGTA AGGGATGGAGGGTGGGGGCTAAATAGAGGTTCAGGAATGGTCTCTACAAAGGGACATTTG CATAGGGACCTCATTGGAATGAGAGAGCAAGTCATGCAAAGACCTGGGGAGGAGCTCCCG ACAGAGCAGCAGGTGCAAGGGCCCTGGGGTAGGAGCATGCTTGATGTGTCCGTGGACAGC GAGGGACCAGTGTGGCTGGAGTAGAGGGCTCAAGGGGAAGAGGAAAGGGGAAGAGGAGGA CTTGTAGGCTAGGGTGGGGACTTACGCCTTTATTCTGGGGAAGCCATTGGAGGTTGGGGC ACTGGGGAGATGTGATCTGGCTTTTAACAGGATCCCTGTGGCTGCTGTGTTGAGAACAGG CTGAAGGGGTGAAGACAAGAAAGAGTGGCAGGTAGAGGTGATAGCCTGGACAGGGTGACA TAGTGGTAGGTGAGCAGTGGGCAGATACTGGCCAGATTTTGCAGGAAGAGACAACAGGAT TTGCTCATGGTTTGGATGTGGAAGGGAGGTGTGACCAGATGAATGCTAAGCCCAAAGAGG GCCTCTTGACACACTGTCCCCCAGCTAGCAAGGACTCTTGCAGGCAGCAGCATTTGTACT TAGAAGGTCCCAGCCTGTCATGGGGGAAGGTCATGTTCCTCTGGGGTCGGCTCCGCTCTG CCTCTTCCTGGCTAGGGGACTGTGGGCAGCTCTCCTTCCCATGAGTCATCACTACAGCTT CTGGGAAGGGGTGTGATGCATTAAGGAGATGGTGTCTGCATGGTGCCACCGCAGGCCATG GCCAGCTGGATCTGTGTCTTCTGCACCAGCCCATCTGGATGCAGTGCAACCTGTCTGGTC TGCTATCCTGCGTTCCCCTAACTGGCACCCTCCTGGGCCAGCCAGCAGCAGGACATAGAC CAAGGCCAACCTCCTCCACACCCAGGGCCTCTGCCTTCTACCCTCTGTGGAGTCTCCATT AACTTGGCATTGACAGGGCTGCTTGACTCAAAACAACCCCAGCCCTGCCCTGAAGCCATC TCGCCAGTCAGTCAGAGCTCAAGACTCTCTCTTTCTCTGGAGAAGAGCAGGAAAGTAATC CCAGCTAACCCTCATGCAGCCACCACTCTGTGTCAGAATCTCTTCTAGGCCATTGCATTG AATAAGTCATTTAATCCATATAAACCTGCAAGGAGTAGGTGATATTGTTAACCCCATTTT ATAGGCGAGGAAACTGAGGCATGGTGAGGTTAAGTGACCAGCAAGGTGGAAATCTGAGGT TTGACCCATCTCCTGGTGTGGAGTCCAGTTCTCTCAGCTTCACTGATCCTTCCTGATTTG TGCTGAGTTAGGGACCCCTTGGGAAGCCCCCATGGGCAGGGGGTGCTGGTGCTAGCATTT CCTGTGGATTATGGGAGGGGGATGTGTGGAGGACCTGTGTCTACTGTTCCTCTAGCCTCT GGGGGATTTGGAGAACCCACTCTGCCCAGAGATGTAAGTCATCTTTGGATATAGATGAGA CTTGTTCCCCCTCCCCCTGAATCCCAGGGCACAGCTCTATGGAATAAGCTCTAGCTGGAA CTTGTAAAGTTTGGCCCAGCCCTCCCTGGGAGGCTAGGAGGTGGGGAAGAGCCAGGAGAC TCGAAGTGGTGGTGGTAGTTAATGTCTATGTGGTTAGACGTTAACCAGTTACTCTGTGGT GCCAGGCACTGTCCTAGGCACGCTATAGTTATCATTGTCTCCTTTGGTGCCCCCAGACAG CCCAGGGTCAAGACAGGTAGCCTCAGTTTACAGATGCAGCAGTGGAGGCTTGCACAATGA GTAGGTGGCTTTGTTCAAATCACAGACCTAGGCCAGGTATAAAAGCCTAAGTGTGGTGTA ATTCCAGCACTTTGGGAGGCCAAGGCGGGGAGATTGCTTGAGTCCAGGAGTTTGACACCA GCCTGGGCAACATAGTGAGACCCTGTCTCTACAAAAAAAAAAAAAAAAGAAGAAGAAAAG AAAAGAAAAATTAGCCTGGCATGGTGGCATCTGCCTGTAGTCCCAGCTACTCAGGAGGCT GAGGCAGGAAGATCACTTGAGCCAGGGAATGTTTGAGGCTGCAATGAGCTGTAATCACAC CACTGCACTCCAGCATGGGCGACAGAGTCTCAAAAAAAAAAAAAAAAATCGCAGACTTGC CTTGGCTAGGAAACGCCTACTGAGAGCTGCCGTCGGTCAGCTGGGCTTTGGAGCCGCCTC CCTGAAGAAAGGTGTCTGGAGCTTCTGGCCTGGGGTATGACGAAGGGCTAGCAAGGAACC CTGTCTGTGGCTCTGCAGCCTGAGATTTGTGGAAATTGAAAATTGGAGGTGGGTGAGTGG GAGGCGGCTTAGCCATCCTGCTGTCCTCCTCTTCTGTCTGCGGGAAGGGGCAGCCGATGC TGTTCCCTGGGTGGGAGCTTGCAATTGCAGAGGGGCCGGTCTCAAGAGGAAGGAGTAGAG ATCAGCCCCTGCACTCCCCTAAGAGCCTCTGCCAGGAGCCAGGACAGTCCTCTACTTCCT GCCCCTCCCCCAACCTGGAATTCACCTCTGCCTGCAGCTGGATAACCTGGCCTTTCTATA GATGAAGGAACCAGGCTAGAGGGTTAGGGAGCTTGCTCTGAGCCACACAGCAGGTGAATT GTAGAGTTCAGATTTGAACCCACGCCTTTTGGGGTGATTTTTATTACATGTCACTATAGT GTATTTAACCTCCCTCGCTCACAATTTCCCTCTTACTTGAAAGGTTTTTGTTTTGTTTTG TTTTTTTGAGACAGAGTCTCACTGTGTCACCCGGGCGGGGGTGCAATGGTGTGATCTCGG CTCACTGCAACCTCCGCTTCCCGGGTTCAAATGATTCTCCTGCCTCATACTCCCAAGTAG CTGCGATTACAGGCACACGCCACCATGCCTGGCTAATTTTTTTGTATGTTTAGTAGAGAC GAGGTTTCAGCATGTTGGCCAGGCTGGCCTCAAACTCCTGACCTCAAGGGATCCTCCCAC CTCAGCCTCCCAAAGGGCTGAGCCACTGCTCCTAGCCCCATCTTACCCGAAAAGTCTTGC CAGCTACTTAATCTATCTCAACCACCACTGACCAAGCGGTTACCATACTCCCTCCTGACA CCTACCTCAACACCCATCCCTGTGACATAGGGATTCTTGCCTTTTTTTTTTTTTTTTTTT TTTTTTTTTGAGATGGAGTCTCACTCTGTCACCCAGACTGGAATGCAGTGGCGGGATCTT GGCTCACTGCAACCTTCGCCCCTCAGGTTCAATCAATCCTCCCACCTCAGCCTCCCAAGT AGTTGGGACTACAGGTGCACACCACCACACCCGGCTATTTTTTGTAATTTTAGTAGAGAC AGGGTTTTGCCATGTTGGCCAGGCTGGTCTCAAACTCCTGACCTCAGGTGATCACCTGCC TCAGCCTCCCAAAGTGCTGAGATTATAGGTGTGAGCCACCGTGTCTGGCTTCTTGCCTTT TCTTGTCATGGTAAAATATACATAACATAAAACTTACCATTTTAACCTTTTGTTTGTTGT TTTTTGTTTTGAGACAGGGTTTCTCTCTGTCACCCAGGCTTGAGTGCAGTGGCACAGTCT CAGCCCACTGCAACCTCCACCTCCCCGGCTCAAGTGATCCTTCCTCCTCAGGCTCCTGAG TAGCTGGGACTGCAGGTGTGTGTTACCACGCCTGGCAAATTTTTGTATTTTTTGTAGAGA CGGGGCTTTGTTGTGTTGCCCAGACTGTTCTTGAACTCCTGAGCTCAAGCAGTCCTTCCT CCTTGGCCTCCCAAAGTGCTGGGATTACAGGCCTGAGCTACCACACCCAGCCTATTGTTG CCTGTTTTAATGCAGCTGAGGAAACTGAGTCTCAGAAGGGTTATGCTTTGCCCCAGAGCA CACAGCTAGGAAGGGGACAGTCTGAGATTTGAACCATGACCTTAGAGTCCATTCCTTTTT CCATGATACCAGCCACCTCCTGTTTGTCCTGAGTCCAGGACACCACCCAAAACCCTATTA CAAGTGGGGCTGGTACTATTGTATCCTAGGGTGAGGAAGAGAAGGCCTGGAAAGCGGTGT GGGGGCGTGTGCCCACCCCTTCCCTTTGCCTCATGAATAATCCGCTGTTCCCTGGCACCT GACTTCCCCCCTCCCCACCCGCTTCCCCCTCTAACCCAGGATGGTAAAACCTCCACTTTT GCCCGGCGTGGTGGCTCACGCCTATAATCCCAGCACTTTGGGAGGCCGAGGTGGGCGGAT CACAAGGTCAAGAGATCGAGACCATCCTGGCCAACATGGTGAAACCCCATCTCTACTAAA AATACATAAATAGGCAGGCGTGGTGGCGGGCACCTGTAGTCCCCTCTACTTGGGAGGCTG AGGCAGGAGAATCGCTTGCACCTGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGTGCCAC TGCACTCCAGCCTGGTGACAGAGCGAGACTCTGTCTCAAAAAAGTTAAAAAAAAAAAAAC CCTCCACTTTCCCCCCTACCTCCCACTCTCACTCCCTCCCCAAGCAGTTCAGCTTCTGCA GACACTCGACTGTCAAGTCTGCAGCCATCCCAGGCAGACTCTTTCACACCACACGTGCTG TTCCCCTCCTGACACTTCTGAAGGTGCTTGGGAGAGGCCAGTCACAGCAACCAGTGGGCT CTTTTGGCAGTGGGTGGGGTGCTGCTCCCAGGGGGCTGGGCTGTCTCTGAATTGTCCATT CCTGCCTCCCCCTCATCAGGAGGGTGGGTGTGGTGGGTGGAGGCCTGCGCTAGCTGTGAT GCCTCCAGGGCTAGGCAGCCTACAGTCAGCCAGAGAATGAGCACTTTGGGGACTGCACAG GGCAGTTCCACGCCACGGTGGGTTTTCATCACTTAGACTGGCAGGTGGTCTGATGGAGCT CAAAGGCCTTTCAAAGTCATCTGAGTGAGCCCCATTTTCAAACCCTAGCCAACGAGGCCT CACTCAGGGTGATGCTGGAGTTTGAGGAAAGGCTGACAGGTGGGATTCAGTAGCTGCTTT TACCCATAGCAGTCTGGTTTTTATCTGTTTTATATATTGAGGTTCCAAGTAAGGTATTAC TCTTTTAAATGTTTCTCTTGCTTTGCAAAGGAGGTGGTTTGTAGCTGGGTGTGGTGGCTC ATGCCTGTAATCCCAGTACTTTGGGAGGCTGAAGTGGGAGGATCGCTTAAGCCCAGGAGT TCAAGACCAGCCTGGGCAACATAGACCTTGTCTCTACAAAAAATTTAAAAATTAGCTGAG CATGGCCGGCCGCGGTGGCTCACACCTGTAATCCCAGCACTTTGGGAGGCTGAGGCGGGC GGATCACGAGATCAGGAGATTGAGACCATCCTAGCTAATACGGTGAAACCCCATCTCCAC TAAAAATACAAAAAATTAGCCAGGCGTGGTGGTGGGCGCCTGTAGTCCCAGCTACTCGGG AGGCTGAGGCAGGAGAGAATCGCTTGAACCCAGGAGGCGGAGCTTGCAGTGAGCCTAGAT CGCGCCACTGCACTCCAGCCTGGGCGACAGAGTGAGACTCCGTCTCAAAAAATTAATAAA AAATAAAAAAATAAAAATTAGCTGAGCATAATGGCATGTGCCTGTGGTCCCAGTTACTCG GGAGGCTGAGGCAGGAGGATCACTTGAGCCCAGGAGGTCAAAGCTACAGTGAGCCATGTT CACGCCTCTGGACTCCAGCCTGGATGACAGAGTGAGATCCTCTCTTTAAAAAAAGGCAGA GGGAGATGATTGAAAAAAACCACTGACTTTCCCCCAGATAAACAGAGGCTTGGTGAGAAG GACTTGCCCAGAGTTAGGCGGAATTACTGGTTGCCCGGAGACTGGGGTACAGGTTCCTTA ACTCTGGGCCAGTGCTCTGCCTACTGTACAGGCTGTCATTTGGACTTTGAGCTGCTTTCG GTGGGAGGGTGATATCAAACCCCCTTTCTTTGACTCTTGGCCAACTGTCCCCGCCCCTGC CTTCGAGCCCCCATGCTTGGCTCCCACACTCCCTGGCATATTTCAACTCTCCCGGGCTCC CGCAACACCTCTGCTCTAGCCCCATCTGCGTCTCTCGCTTCGACAGGGACGTCTGGGCAT GTGAGTGTCAGTGTGGTTGCCACTCCAAGTGCGTCTCACACCCAAGCTGCTGCCATCCAA GTCCTGTCCCCAAGGAGAGAGAAAGTCAGAGGGAAAGACAGACAGACACAGAAGTAGACT GGAGTAGGCGAGCGACAGCACCTGGAAGTGAGGCAAGGACCAAGGAGGGAGGGAGGGAGG AGAGAGGCAGATAGAGAAGAGAGAGAGAAATGTGGAGAAAGTGGGAGAGACTGATGGGAG TGGAGAGAAAGACTCATAAATGGGAGATAGATTGAGAGGAAGACCCAGATGGGGAAAAAT AAAGACAGACATGGATGACGATATGTTCTGTGGGCTGTGGGGAAACAGGCATTCTTGTAC ATTGCTAGTGGGAGTGCAAACTGCAAAGGGAACTTGGCAATACCTCACAAAACCACATAT GCAATTTGACCCAGCAATACCACTTCTAGGAATCTGTCTTGAAGATGTATTTCCAACAAC GGGAATATATATATGCGCTCAAGGTTATTCACTGCAGCATTTCTGGAATTACAAATCTAA GTGCTCATTCATGGGAGACTGAATAAACTATGGTTTGTCTATAAAATGGAGTACCAAGCA TCTCTATCAAAGAACGAGAAAGACAATGTAAAACTGACATGGAGTGCTCACCAGGATATA CTATTTAGTGAAAAAATAACAAGCAAGAGCCCATCTGTAGTAAGCTACTGTCCATGTAAG AAAGAAAGGATATAAGAAATATAAGGCTGAGCGTGGTAGCTCACGCCTGTAATCCCAGCA CTTTGGGAGGCCAAGGCAGGCAGATCACCTGAGGTTGGGAATTCAAGACCAGCCTGGCCA ATATGGTGAAACCTCATCTCTACTAAAAATACAAAGTTAGCTGGACATGGTGGCACGTGC CTGTAATCCAGGCTACTTGGGAGGCTGAGGCAGGAGAATCGCTTGAACCTGGGAGGTGGA GGTTGCAGTGAGCTGGGATCGCGCCACTGCACTCCAGCCTGGGCCACAGAGTGAGACTCC GTCTCAAAAAAAAAAAAAAAAAAAAGATATACAAAGAAAGCATATTCCTTTATACAAAAG AAATATAAAAAGGATAAAGCAGACACTAAAGCTGTAAGTTACTGCTCACACGTGTAATCC CAGCACTTTGGGAGACCAAGAAGGGAGGATTGCTTGAGCCCAGGACTTCAAGAACACCCC ATCTCTTAAAAAAAAAGATAGGTTACTGTTAGGGGTTGAATCGTGTCCCCCGCAAAAAGG ATACGTTGAAGTCCTAACCACCTTTACCTCAGAATGTGATCTTATTTGGAACTGGGGTCA TTGCAGATGTGATCAGTCAAGGTGAGGTCATCTTGGAGGAGGGTGGGCCCATTATGACTG GTGTCCGTATCAGGAGATGGCAGTGTGAAGACGGACACATGGGAAGAGCACCATGTGACA GCGAAGACCGGTCGGCGTTTGTGGCTACAAGCTGAGTCACGCCAGATTGCTCGCACACCG TCAGGAGCCAGGAAGAGGCAAGGAAGGGGTCAGAGGGAGCACGGCCCTCCCAATACCTTT CTCAGACTTCCAGCCTCCTGAACTGTGAGATGATAAATGTCCATGATTTCAAACAAACAA ACCCAAAATGGCAGACATGGGAGAGGGAGAGGGAGACAGCTAAAAAGATAATTACAAAGG AAATAGGCCAGGTGCAGTGACTCACGCCTGTAATCCCAACACTGGGGGAAGCCAAAACAG GAGGATCCTTGAGCCAGGGAGTTTGAGACCAGCTTGGGTAACATAGTGAGACCCTCGTCT CTAAAAAAAATAAAATAAAATGAATTAGCCTGGTGTGGTGGCGGGCGCCTGTGGTCTCAG CTACTTGGGAGGCTGAGGCAGGAGGATCGCTTGAGCTTAGAAGTTGAAGGCTGCAGTGAG CCATGATCGTGCCACTGCACTCCAGCCTGGTTGACAGAGCAAGACCCTGCCTCTAAAAAA ACAAACAAAACCCCACACAGATGGAAAGTTACTTTGTGAAACAGATACAAAAGATGAGGA GAGATGGAGAGAGTGAGGAAGGGAGACAGGTCTGGCTGCAAACAAAAGGGCTGTCAGAGG CAGGGAAATGTCACCTGCCCTGGAGCTGCGGCCTGTCACCATGAGGGATGCACTGAGCAT GCAGTCTGGCACAGATCTGGCTGATAGATGTTGGGGATCCCATTGCCAGCGGCCTGTCAC ATCCCCTCCCCATCGCCTGTTTCCAGAGCTGAGCCCAGCTTTTCCGTAGCACTGTGGAGA TGAACCTGTCATGGGGCTCAGAGTGTGGTGTTGGGAGTAGCCTTGGCCTGGTGCCTCTGC CTCACCTGCCCTCCGACTCTGCTGCAAACAGTCAGTTCCTGTTTGTGGGGGCTTGCACAG GGGCAGAGGGATGGACGAGCTGGCTTGCTCAGAACCTCCTGCCAGCCACAAACTGAGCTG CGCTTGTTTTGGACGTGGTAGACTGAGGGGCCCAGGAAGGTAGTCCACATAGTGAAAGTG TGGCAGGACACCTCAGGAGGGGAGAGTGGTTAGATCTTGCCTCCCAAGATCAGGGACAAA CATCTAGAGCTTCCCTTCCTCTAGACCCCAAACTACTCCCTGGTGCTGGGATGTGGGGAG ACTCAGGGAGCCTCTTGGTCAAGTCCCAGAAGCTCAGGCCCCCACCAAGCTGGTGAGTTT TTGCCTCCCCGCTTCAGCTCCTCTGACTTTCTTTTTTTTTTGAGACGGAGTCTCGCTCTG TCACCCAGGCTGGAGTGCAGTGGTGTGATCTCGGCTCACTGCAAGCTTCACCTCCTGGGT TCACGCCATTCTTCTGCCTCAGCCTCTCGAATAGCTGGGACTACAGGCACCGGTCACCAC GCCTGGCTAATTTTTTATTTTGTATTTTTAGTAGAGACGGGTTTCACTGTGTTAGCCAGA ATGGTCTCGATCTCCTGACCTTGTGATCCACCCACCTCCCGCCTCCCAGAGTGCTGGGAT TACAGGTGTGAGCCACCGCGCCCGGCTTCCTCTCTGACTTTCAGTGGGACCTTTCCTTCT CACCCAAGGGACGGGGCCTCTTAGAGCCCAGCACATGGGTGGGGCAGAGACTGTAGGCCT GGGGGCTACATGGCAGGGAGGGAGTGCCAGAGTTCCTTTTGTCTTTAGGGTTCCTGAGAG CCCGATGCTGGCACAGGATGGTAAGGGATTGGGTAAATCCATTCACCTCTCTGGGCCTTG GTTGTCGTATCTGTAAAAGAAGAGGAACCGTCCCTGCCCTGAGTGGACGTGAACGTGGGT GTGGATCTGTGGGCATGGGGTGGGGGGCGGTAGAGCACTGGGCTGGCCTCCAGAGTGGCT GCTTCCTACTCTCTTTAGGGTTTGCCCTGTTCCTGTCTGTTATGTAGCATGGAGCTGAGG GCCAGGAGACCTACTGAGCATTCATTTATTCAACAATCAATTACAAAGCACCTATTGCAT GCCAGGCATTGTGCTGGGCACCAGGGAGACAGCAGTGACCATGTCAGATAAAGCCCGTGA GGCCATGGAGTTTACAGTCTAGTGAGAGAAGGGTAAACAGTGAAATAAAACAATAAAGAT CGTTTCAGATAGTGACCCACTTCACTGAAGAAAGGAAGGCAGCTTACTATCATGTTATGC TGTGATTTGGAGCAGGAGGGTGGGAGGCTTTCTGAGGAGAGGACTTTTGAGCTGCCTGTT GAAGGGTCTGTGGGAGAACATTCCAGGCATGGGGAGAGCCAGATCGAAGGTCCCAAGGCA GGACAGGGCAGCTGTATTGAGGGATGTAAAAAAGGCCAGAGTGGCGGTGGCAGCAAGACA GAGAGAAGGGCTGGGCAGAGGCCACCTGCAGGCCTGGACTGAGAGGGCCTGGTGAGGAGA CTGTTAGCCTGAGAAGGGTGGGAAACCGTGGGAGGGCATTGCAACGCATTCTCTAGGCCG GCTATGTGAAGAGCAGGAGGGTGAGAGAGGCAGCCTGGAGGCCCACCCGTGAGAAGCAGA TTGCCATGGTCCAGGCAGAGATGGTGGTGGTTGGACCTAGGCAGGGCAAGGGGTGGTGGA GCTGAGAGGGACCAAGATGCCTGCTCTCCATAGCTCCAAGCACACAGACACTGCTCTAGG AAGGCCCTCCCAGTTGCCATGGATTAGGGGGTGGGAGGGGAAGACTGGCTGCTGGGAGGG AATGTGGCTTTGTGCTTGGAAAACAAAGAACAGAGCTTGGGGCCCTCTTCTCCTGGGGGT GGTGGCAGGCCCAGAGGCTGTTGACAGGACCAGAGGCTGGAGCTCAGGGCTAGGCCTGGT AGGAGCAGGCTACAGCCCCAGGGATCCAGGAGGGGGTAGGTGCCCATGCAGAGGGACCCC AGAGCCCTCCAGGGGTGAACCCTGTGGCTGCTGGGCTTGGGGCAGGGAGCACCAGGAAGG AGGACAGATAATTAGCGGAATGCTCAACCCTGCAGCCTGGGAGCCAGGCTGGTGGAGGAC ATTTGGGCAACAGTGCCCTGGGCCCTGGGCTTGGGACCCAGTGTAGAGACAAATGCGTTT GGGAGCCAGTGGTGGCCCTGGTGGCTGTGTGGGAGGGACAGGAGGAGTTTGACAGGACTC TGCCTCTGCCTCGCCCCCAGCCCTGCTGCTGAGGCCGCGCCCTCCCCGCCCTGAGGTGGG GGCCCACCAGGATGAGCAAGCTGCCCAGGGAGCTGACCCGAGACTTGGAGCGCAGCCTGC CTGCCGTGGCCTCCCTGGGCTCCTCACTGTCCCACAGCCAGAGCCTCTCCTCGCACCTCC TTCCGCCGCCTGAGAAGCGAAGGGCCATCTCTGATGTCCGCCGCACCTTCTGTCTCTTCG TCACCTTCGACCTGCTCTTCATCTCCCTGCTCTGGATCATCGAACTGAATGTGAGTGGGG GCGAGGTGGGGGCACAGGCCATGTTGCAGGCCACCCGGGCCTCAGTTTGTCCATCTGCCA CATGGGAGGGCTGCCTCTCCCCTGGGGTTGGTTAGCTGGGTAAAATGAAGACTGGGAGGA ACAACAGGGGTTCTCATATTCTGAATGAAGGAATGTGGAGGGGTTCGGAGGGGTTGTGTC ATTTGGCCAAGGTCCCTCTGCACCCAAGTGTGTGAAGGCAACGGCCTTGAACCTACCCTC CAGCTGAGTTCATGCTCTTGGCCTCTGCCCCATACTGCCCCCTAGTGGAGGCTCCCGAGA GAGGAGGAGGGGGAGACCCAGCTCTGGCAGAGCTGTTGAAACCTTTGTCTTCTTTCTGCC TGCCACTGCCCTCTGGCTCCAGTTGGTTCATTCATTCGTTTGTTCGATCATTCATTCATT CATTCATTCATTCATTCAGCAAACATTTTTTGAGTCTCTGCTGTGTCCCAACCACTGTGC TAAAACCAGACGCTAGCCAGGTGTGGTGGTGCACACCTGTTGTCCCAGCCGTTTGGGAGT CTGAGGTGGGAGGATTGCTTGAGTCTAGAAGTCTGAGGCTGCAGTGACCCATGATTGCAC CACTGCATTCCAGCCTGAGTGACAGAGTGAGACCCTGACTCAAATAAATAAGTAAATAAA AGCAGAGGGCACAGTGGGAAGCAAAACAGGAAAAACTCCCAGTTCCCAGTGGCTCTAATG AGATGCTGCCGGGCAGCCTGGAGACCAGAGCTGCCCCACCCCCACCCCACGCAGTGCTTG GCCCACCCTCAGGAACACAGTCTAGTTGGCAGTGGCCTGATCTGGTCTCCAGGCAGGGCC AAGCCCACATAAGCAGGAGCCCTGGAAGCAGGGCACCCCAGGCTCAGTTCTGTCCCAGCT CCTCCTCGGCTTTGGCCCGATGACCTCAGCAAGGGACTCAGCCCCTTGAGTCCTCCCCTC GTTTTCCTTCTGCAGCATGGGCTCCCCATCAGACTTCCGGATGGCAAGGGCCCTTCCTCC AGGTCTCATGCTTATGTGACAAGAAAACAATGTCTTGTTAATAGAGGTGATGAGCTCAGA GAAGGGGCCAGCTCCGGGCAAAGAGATTAAGTTTGATTCTGGGCATGTTGAGCTGGAGGG AGAGACAGGGCTCTGAGGGTGACTGTCGATTGTGCACCAGAGATGAGCTGGCACCTTCAG TGAGCTGGAGCCATGGCCATGGATGGCCCTAGGGGCCATCTTACCCATGAAAAAGCTGTG GCCCAGCAGGCTCAGGACCTTCTGCAGAGCTTCTAAGGTCTTAGGCAGACTTCCTTTTCA AGGTCCCATCCAACATCAAAGCAAACACTAAAACTTACCTGCATCCTTCATTGAATACTT GTTTCCTTACCCAAAAAGAGCTGAAAAGATTTTGATAATTTTACTTTCGTTTTGTTTTGT TTTGAGACAGGGTCTTGCTCTATTGGCCAGGCTAGAGTGCAGTGATGTGATCATAGCTCA CTGTAGCCTCCAACTCCTAGATTCAAGGGTTCCTCCCACCTCAGCCTCCCCAGTAGCTGG GACCACAGGTGCATGACCACATTTGGCTATTTTTTTTTTTTTTGGTAGAGATGGAGTCTC ACTATGTTGCCCAGGCTGGTCTCAAACTCCTGGGCTCAAGTGATCCTCCCATCTCGGCCT CTCACAGTGCTGGGATTAGAGGCATGAGCCACTGTGCCTGGCCTCTGTAATTGTGCTTTT GAAGTTATTTGGCTGTGTTGGCTGCGATTGCTCTGCAGTCCTCATGCGTACCTGGGAATT CTTGCAAAGTGAGAAGATCTAACTTACTAATTGTTTTCAGATGTCATGAAACATTTCAGA ATCCTGCACTGAACAATTAGTAGAGTCCACATGATGTTTCCCTTGGCAGACATTTAATTA AAATTGTATTGATTTTCAGTCTTGTAGTTTTACTTTTGTATTTGGGAGCATATATTTTTA GTTCGCTGACAGACTGTGTCTGTGTTGCCCAGTGGTTACAAGGACTCAGTAGGGTCGTGC TGAGCAGGGGGTTTGGAGCCAGAGAGTGGCAAAGCAGGGGCTGAGACTTGGCTCTCCCGA GTCCTGATCGGTCAGCACCGGTGGGTGCCCAGGCTGGAAAGAGGAAGGAGGACAGAGCTC TGAGGCCTAGTGACTGAGGGTGGAAGGGGCTGCAGAGCCCAGGGCAGAGTCTGAGGAGCA AGAGGAGTGCTGGGTGGTGTGGGTTGGGTGGGATGGGGTGGGTGGGTGGCAGGCCTGGGG GCCTCACCGGCAGCCAGAGGAGAGGTGGCATCAGATTTCATGGAGCTGGGGTGGGCTTGA GGAAGAGGCACATGGTGGGGCTGTGTGCTCAGTGGGGGAGCATCTGTATCTTTAACAAGC CCCCCCAGATTTGGCTGCCCTGCTGGAGAGCGGAAGCCCCAGTCTAGGCGGTTGTGAGGG GTCTTCCTCTCCAGGGCTCCTGGGCTCCATCGCCCAGAGTCCCTGTGTCCTCCCTTCTCC AGGGTGGCTGGTGCCCCACCTGAAGGAGCCTAGGCCCGTCACCCCCGTCATTCCAAGGAG TCAGGTCGCAGTCTGGCCTGGTGTCCATCCAGTTCCCTCAAACCTCTGGACATTGGAGTC AGGGCCAAGGCCTCAGGGGTCCTGGTGAAAATGTCTGGTGGGCTGGGGTAGGGACAGGGG CAAGGACACATCCACTCCGTCTCCACTTCACCCTCTCAAGCAGCGTGATGGATTTTGCCC ATTAAGCATAAACCTAATCAATTGATTTGCCACCTGAGGCTCCGTCTGACACCACTGCCC ACCCCCACCCCCCATCAGCCCAGATGGATTATGGCTGGGAAGATGGAGCACCGCAGTGCT GGGAGGGAGATGGGATTCTGTCAGAGGTGGGCTTTCGGCGCCCTTCTGCTGGCCCTGTAT AGGGCGCATTGCCTCCCCTGCACAGCCCCGAAGCCTCCAAGCCTGCCCCTTCCTGGGCAG GGTGCTGGAAGCTAGCCCTGCCCATCGGGGCGGCCTGGATCCTTAGAGGACTGGTATTGG TGCCTGAGGTCTCTGGCCGTGGGCTGAGATCCCTTGGTGCTTCCAGGGCCCCCTGGGTGG TGGCTTAGCATCAACAGCCTCCCCTCCAGGTTCCTCCATCCCCTACCTCTTGCCCCTTCC GGGAGGTGAGGGGCAGCCCCAGGCCCTTGCTTCTACCTGCAGAGCTCTTCCTGTCTCCCT CTCACAGACCAACACAGGCATCCGTAAGAACTTGGAGCAGGAGATCATCCAGTACAACTT TAAAACTTCCTTCTTCGACATCTTTGTGAGTGGCCTTGGCTGATCCTGGGGACCCCGGAG GCAGAGAGGGAGCAGGGAAATGACTTCTGCTGGGTTCTCTTTTGGCAGCATATATCCAGT CTGATCAGAGACTCGGCTCCCATCCTTCGGGAGCCATCAGTCATTAAAACCTTTGCTCCA CAAGGCTGGGCGCAGTGGCTCACGCCTGTAATCCTAGCACCTTGGGAGGCTGAGGTGGGT GGATCACTTGAGGTTAGGAGTTCGAAACCAGCTTGGCCATCATGGTGAAACCCCGCCTCT ACTAAAAATACAAAAAATTAGCTGAGCATGGTGGTTCGCACCCATAATCCCAGCTACTTG GGAGGCTGAGGCAGGAGAATCACTTGAACCTGGGAGGCGGAGGTTGCAGTGAGCTGAGAC CGTGCCACCGCACTCCAGCCTGGGCGACAGAGCGAGACTCTGTCTCAAAAAAAAAAAAAA ACCTTTCCTCCACAAAGCCCCCTTCAGAGAGCCCCAGGTGGGAGAGGGAAGATAAGACCC CTGTGCAAGGTTACATCCAAATTGTCCCAGAGACATGCTGACTCAGTCGTTGTCCCCTGA GGTGTGCATGCCCATAGGAAGGGAACGTGGGGGCAGGACCAGAGGGGAGGTCAGCCTGCA GCAGGGTGGGGGGCAGTAGCTTCCTGTGACTGCCTTGCTCCCGTCCCCCACCAGGTCCTG GCCTTCTTCCGCTTCTCTGGACTGCTCCTAGGCTATGCCGTGCTGCGGCTCCGGCACTGG TGGGTGATTGCGGTAAGATGCCACTTTCCTGGCAGCTTCTGGGCCCTGGCAGGGCTGGTG GAAGGGATGGGATGGAGGAGGACTCACTTCCCAGCCTCTGCCTTCCCCTTCCTCCCTCCC TCCCCTGGGCAGGTCACGACGCTGGTGTCCAGTGCATTCCTCATTGTCAAGGTCATCCTC TCTGAGGTCAGTGGCTCAGGGTCTGGCCAGTCTGGTGGGCATCAGACCTGAGTGGTATGC TTCTAGAGAGGAGCATTTCTCTAATTTGGGGTGTCTGTCCCTGTTGTCCGGGTTAGGGGG AGAGGGAATCCTGTCCTTTGGTATCTATAAGGAATCATCCTTCACCCGCTTCCCTGACTT AGCCCCTTGCAGCTCTAGGAATCAGAAGGTTCTTTCTCCAGCCTAACCCCAGTTTATCCT GCTGCAGACTTGAGAGGGTTCCCAAGCAGCTGCTACCAGGAATGGGGTGTATGCCAGTTT GGCTGGCTAGAGTTGGTAGCCACAGAAGGGGGCTCTGGGTTTGGGGTGACCCCTGCCATG GAGCTCAGCCCCCTCCCTTCACAGCTGCTCAGCAAAGGGGCATTTGGCTACCTGCTCCCC ATCGTCTCTTTTGTCCTCGCCTGGTTGGAGACCTGGTTCCTTGACTTCAAAGTCCTACCC CAGGAAGCTGAAGAGGAGCGATGTGAGTGCTTGCGGGTAGGGGGGTGCAGCGAGGGTTAC CCACAGCCCCAAGAGAGGGGAGTTGCGGGCATGAGAGTCAGTCTGAAGCATCTCGCCACC TCTGAGCAGCCTCCAGTAGCCTGAGGGGGAGCTTGGGTGGGGGTACCCCAGGCTGCTAGG GTGTAACTGTCCTCGGTCCGGGACCGAGTCTGCTCCTCCAGGGTATCTTGCCGCCCAGGT TGCTGTTGCCCGTGGACCCCTGCTGTTCTCCGGTGCTCTGTCCGAGGGACAGTTCTATTC ACCCCCAGAATCCTTTGCAGGTGAGGGCTGGTGTGTGGGGGAACTGCTTTCAGGGAGGGG CCTTGTGAGGAATGGGGTAGGCTGGGTCTGTTCTTTCTATTCCTTCTATCAGGCTCCCTG GGGAAAGCCAGCAACCCTCTCCCACACACTTTTATCCCCCACATCCTTGCACTCACATAC CCGAACCCCACTACCTCCCCACACTCTCTCCCCACCCCTTGCCATTGTCATCTGTGCCTG TTTTCTGCAGGGTCTGACAATGAATCAGATGAAGAAGTTGCTGGGAAGAAAAGTTTCTCT GCTCAGGTATTTGCCTGCCTACCCCTAACCCCTGCCCTTGGAATGGGTGCCTGGAGGAGG GCGGGTGCAGGGGTCAGCCGGGGTGGGCAGGGGTTTCCCAGTAGAGGCTGAACCTCGGGC AATGCCCATCCGAGTGTCTCCCCCACCACCAGTCCGGCCCCCCTGGTCTGCCTCATGCCT GGGCACACAGGTGGAGCAGCCACAAGCCTGCAGGGCCCAGGGAGACCAGCCCAGATCCCA CATGTGGCTGGGCCAGGCCCCTCTGGGAAGCATGTGGTATGTCTAGAGAGAGAACAGGCC ACGAACATGGTGGACTGCAGGCCCCAGGCTGACCCCTCCCTGCCTCCTGCTTCCGTCCAG GAGCGGGAGTACATCCGCCAGGGGAAGGAGGCCACGGCAGTGGTGGACCAGATCTTGGCC CAGGAAGAGAACTGGAAGTTTGAGAAGAATAATGTAAGAAGCCCTCTCCCACCTGACCTT CCCATGCGTGTTAGGAGTTTCTGTTCTCTTTTCTGAGGCCTGAGGAAGAAACCCAAAGAT TACATGGGTTGGAGCCATATTCCTGCCCCAAGAGAGGGAGCTGGGCCCTCGGGTCGGCAG GAGGCTGGGCTGGATTGGACGTTTCCCCCGTGCCCCTTGGCCCCCCTTCCCCGCACCCCC CATGTTTACTTCCCTGCTGTTCTGCCCCCTTGGCTCCAGGCTTTGAAGGGGAAGCCAGGC TTCTGCTCTGCATCCGTTGTTTCGTTTCATGATCAAAACAACATTATCTACAAAGATCGT AGAGAGCTTGGAAAACAGAGAGCAACATGCCCCAGTCCCTCTCTCTGGCCAGTTCTTGTG GCAGCCCCATTGGCCTGGAGACATGGTTTTTTGTGGTTGCAGCTGCAGCTGTCCCCCCGT CTTTTAACTCGACATCAAAAGCCTCTCTCCTGCCAGTGCCATAGGTTTGTTAGAGCTACT GTTTTGTAACAGCTGCTCAGGTGTCCCCAAACTCCTGGAGTTTTCCACCCTGAGCTGTTA AAAACCTGCCCTGCCTGTCACCCATTTCTGTGCCACCAGCCCACCCCCTGCCTCCACTCT CCTCCCTGCCACCTTCTGTCCCTGCCATAGGAATATGGGGACACCGTGTACACCATTGAA GTTCCCTTTCACGGCAAGACGTTTATCCTGAAGGTGAGTGAGGGGAGCGGGTGTCCTGGA GCCCCAGACAGCACAGGAGGCTCCAGGAAGGTGCCGAGGGGCCCTCTGGTGGGTGCCCCC CACCAAGAGGGAAGGGTTGGTCTGCCCGAGCCCATCTGGCACCACCCAGCCCTCTGCCGC CCTGTCCCAGACCTTCCTGCCCTGTCCTGCGGAGCTCGTGTACCAGGAGGTGATCCTGCA GCCCGAGAGGATGGTGCTGTGGAACAAGACAGTGACTGCCTGCCAGGTGAGCCCAGTCTG GCTGCCTCTTAAGGCACAGATGGGGGCACAGCCACGCCTCAGTGGGATCACTGAAGCACT CAGCGCCTCAGCTGCCCCATCTGTACAGTGGGTGTGATGGTAACAGTGCCTGCTCGGGAG GGTCGGGAGGAGGGCAGGAGGAGTGCTCATCAGGCGCTGCCCAGGGCCTGCCTGTGGCAA TAGCAGTTAGTAAAGGGGCCTGGGGTGTTCCCATCCCTGGGGTTTTCCTGGGGCGACCTG TTCCAAAAGTCTCCGTTGACGGCCCTCAGATCCTGCAGCGAGTGGAAGACAACACCCTCA TCTCCTATGACGTGTCTGCAGGGGCTGCGGGCGGCGTGGTCTCCCCAAGGTGAGTCCATG CCGGGCCCCCTCCTTTCAGCCAGGTCTTCTGCACTTTGGCCTTGGGTCATTGTCCCCTGA ACTAACCCTCCCTCCCGCAGGGACTTCGTGAATGTCCGGCGCATTGAGCGGCGCAGGGAC CGATACTTGTCATCAGGGATCGCCACCTCACACAGTGCCAAGCCCCCGACGCACAAATAT GTCCGGTGAGCCTCACTTTGCCTGGGGTCACCCCTGCCAGCCCCTCCCCTGGGAGCATTG AGCAGTGCAGGGTACAGCATGTACAGCTGGGCACTTCCCCTGCTGAGGCTGCGTTCCTGT TCCCTGTCCCGCTGGGCTCTGCTCCTCCTGGCTACTAATCCTGCTAATCTTGCTGCTCTG TCTGTGGAGATGGGGGGTGGTGGACAGCTGGAACCAAGCCACCAAGGCTGGACGGGATGT GCGGCGGTGGCTGGCTGGGGTAGACCATGGATGGGGACCCGTGCAGGGAAGGGGCCTGAG AGCCATGTGCTCACTCTGGGCTGATTGACCTGAGCAGGAGGCTCTATGCTCTGGGTTTCA TCTTCCTGCCTAAGGAGACTCGGGTCCCCTTTCGTCCTCCTCACCCTGTCCTCACTCCGT CATCTTTCTCTGGAGTGGCTCAGGAGTTCCCCCAAAGATAAAGGGATTATGGCCTTCCCG CATCTGTGCCTGGGCTTCTGGAGTCTTCCCTTTTGTCCAGTCAGGCTGTGGTGCTGCGGG TGGCCCCCTCCCATAGACCCCACTCTTCCCCATCCCCTCCTGGGTTCCAGCAGGAGCACT GTTCTTTGAATAGGATGCCAGGCTCTGCTTTGGGCACTGGACAGACTTGCTGGGTGCAGG GAAGCTCACTTCCTCTCTGGATGCCAACTTCCTTATCTGCAGAATGGGCTTAGGTGTGCT CAGTGGAGCTGAGGGAGAATGAAATGGTGATGGGATGTGAACCGTGCCTCCCAGGCTTAG CCTTCTCCTGAGCAGGTGTCCCCTCCTGAAGGGGAAGGGGTAAGAAGCGCCAGCCCAGCC TACTCTGCCATAGCAGGGCTGACCTAGAATCTCTGGACAGAGTGTATGAGGGCTGGGAAG GTGGTGAGCTCTCTGTCCCTGGGGGTGTGCAAGCACCAACAGGCCGTTGTAGGAGGATTC AAGCATCACAGAGTGGGTGGGGGTGGAGGGCCGATTCTGCAGCCCATGGGACACCTGTGC TAAGCCTTGTTCAGATAGGGTAGCTCTGCCTTTCTGCTTCCAGCCCAGTCCCAGCTGGGC CAAGAATGGAGTGTGAGTGGTAGGGGCTGCGGGGGGGTGTCAGGGCCTCACTCTGTTCCA AAGTCCCCCCAATGATGCCTCTTTCCATAGGGGAGAGAATGGCCCTGGGGGCTTCATCGT GCTCAAGTCGGCCAGTAACCCCCGTGTTTGCACCTTTGTCTGGATTCTTAATACAGATCT CAAGGTGGGGTGCTGGGGGGCTGCCAGGTGGGTTCTGTGGAGTGGAGGGGACCCTGCTGC TGACTTGGTTGCTGCATGACTTTGGGGGCTCTCTGCCATGCCTGGGCCTCCCCTTTGTCA GCCACCTTTCTTACTTGAAAATTTGGGTCAGGGTCCAGATGGTCTCTTAGCCCTGGGTTG CTGTAGGGCATGTGCCCCCCCTTCTTACCTCTGAGTCCTGAGGCCCTGAGGAAGGGTGGC TGGTGGCCAGCCCGGCCCCACCCTGGTCTGTTTGTGTTGCTGGTGCCAAGAGCCAGGCCC AGCATGTTCTTCCTGCCAGGGGTGAGTGGGAGAGGGCGACCCAGGCTGGATTCCAGAGCT GCACCTGCATTCTGGCCCAGAGCCCCCCTGCTGGTGCCAGCTGCAAGGGGAGACCCTGCT GAGGGCAGGCCATCAAGTGTGACTTCTGCCTGCCTTCCCCCAGGGCCGCCTGCCCCGGTA CCTCATCCACCAGAGCCTCGCGGCCACCATGTTTGAATTTGCCTTTCACCTGCGACAGCG CATCAGCGAGCTGGGGGCCCGGGCGTGACTGTGCCCCCTCCCACCCTGCGGGCCAGGGTC CTGTCGCCACCACTTCCAGAGCCAGAAAGGGTGCCAGTTGGGCTCGCACTGCCCACATGG GACCTGGCCCCAGGCTGTCACCCTCCACCGAGCCACGCAGTGCCTGGAGTTGACTGACTG AGCAGGCTGTGGGGTGGAGCACTGGACTCCGGGGCCCCACTGGCTGGAGGAAGTGGGGTC TGGCCTGTTGATGTTTACATGGCGCCCTGCCTCCTGGAGGACCAGATTGCTCTGCCCCAC CTTGCCAGGGCAGGGTCTGGGCTGGGCACCTGACTTGGCTGGGGAGGACCAGGGCCCTGG GCAGGGCAGGGCAGCCTGTCACCCGTGTGAAGATGAAGGGGCTCTTCATCTGCCTGCGCT CTCGTCGGTTTTTTTAGGATTATTGAAAGAGTCTGGGACCCTTGTTGGGGAGTGGGTGGC AGGTGGGGGTGGGCTGCTGGCCATGAATCTCTGCCTCTCCCAGGCTGTCCCCCTCCTCCC AGGGCCTCCTGGGGGACCTTTGTATTAAGCCAATTAAAAACATGAATTTAAAAAAAAAAA AAAATTCCAGCCCCTCCCACTGCCTTGCCTCTTGAGGGAAGAGAAAGGCAGGCAGCAGCT TGGATGAAGAGGGAAGACCCCTCACACAGCCTCTCCTGGGCTCACAGGAGGGCGGAGCCC GGGGAGCCAGTTCCTGAAACATGCCCCCCATTCCCCCCCCGCCCACCCCCCACTCCCCGC TTTCCTGACCAGTTCAACTGAGCAGATGACTGGTCAGAAAAAAATGCCCCGCCCCCTGCC AGGCTTCAGCGGGGCAAGTTTAAAGTCTCTAGTCCAGGAATGGAGGTGGGGGTATGGGCA CCTGGCAGTGCCCACAGCAAGCCTTGACTGTGTGGCCTGGAGATGGGGCCTGAGCTTCAG GGTCACTGAGGCACCTCTGGGATCCAGGCCACCTGGAGCCCCGGACCTCCCAGACTCCAC TCACCCATTCCCTCTCCCCGCACGGCACTCACACCAGGGGCGGCCTGGAGCCCGGATCGC AGGGCGGGGCCAGGCCACTGCCTGCCTTCCTCCTCCCTCCCGGCTGGCCTGCCCCCTTGC CTGCCTGCATGCAGGCTTCCAGCAGAGCCAGCTTCTTCAGAGCCAGGTGGATCCTGTTTC GGTCCTGCCTAGGTGTGTGACCCTGGGCGAATCTACCTCTCTCAGCTTCTGCTTCCCACT TTATGAAAATGGGACTGATGTCACAGGGTTGTTATGAGATTAAAAGATATGAAGAACCGG GGACAGTGCTCAGTAATCAATAGTCTGCAGTTCTGCACCCACGTGCTCCTGGGTACTCTG CCGTCCCCACAGGGTCCTCAGCTCAGCCCCTGTCACTGCCTCTCCTGCCACCCTTTGTCC ACTCGGCAGTGTTCTCACTCCTCATCCCCCCACACCCACCACCTGTCTGCCAGCCTCTTG CACCATGAGTTGCTACTCCTGGGGTGCTGGACTGTCCCCACAGCCATCTGTCTCCCCTGC TCCCCATGAAGAAGAGCCAGTCCCCTCCCAGGTAGCACATCAGAGCGGGCAGGCTCCAGA GCTCTTCTGGTCCTCTTGCAGTGGCCAGAAAGTGGGGAAAGGGGCCCAGAGAGGGGCAGG GACTGACCCATGGTCACACAGCCTATTTATGGCTGATCTGGAGCCAGGCCTTCTGACTAT CACCCATCAGAGCCCCTGGATTCCCATTTCACCCAACACAGGTGTTGGGGTAGAACTGGG GGCCCTCCACCCCTACTAGCCTGACTGTCTCCTGAGACCTGTCTCCTAAGACCACTTACC TGACCACTGGCCATGGGGAAGGAAAACACCTGGCCAAGGCTCATGCCCCAGGTTCCCAGG CATGAAGTTGACTGTCTCCGCCCCTGCTGGTGTGGTGAGGGTGACTGGGGACTAGGCACT AGGCCTTTGGTGCAGGCGCCTGAGGACGTGGTTGCACTCTCCCTTCTGGGGATATGCCCT TGAGCCCAGGCAGAGGAGAGCACAGCCAGGGCAGGACCTGGCAGCCCTGGTACAGAGCCC AGAGGGGGCATCAGTTCCTGCTGGTCCTGCTCTGTTTACAGACAAGCTGCTGTCCTCCCT GCAAAGGGGAGTGGGTGGGGCAGAGGGCAAGTGCCAGGGGGGCACAAGGCTGGGCATGTG GCTGGCATGAGACGGTGTCTGAGTAATGTCAGGCACCTGGAGGCATTGACCCCAGGACCT TGGACCCCAGACCTCTGACCGGGGGGCAGCCAGCGTCCAGGTACCCCAACCCCTGCCCTG GGTCCGGCGTCCCCCCATTAGTGAGTCTTGGCTCTACTTATAGCATCTGACACCAGAGGG GCCGAAAATAGCCCCTGGAGAAGGGGGAGGAGGGGGCTATTTAAAGGGCCTGGGAGGGGA GAGAGAATGAGGAGTGATCATGGCTACCTCAGAGCTGAGCTGCGAGGTGTCGGAGGAGAA CTGTGAGCGCCGGGAGGCCTTCTGGGCAGAATGGAAGGATCTGACACTGTCCACACGGCC CGAGGAGGGGTGAGTGTGGGTCTGCTAGAGCCCTGCCTCTGCTCCCCCAGAGCACCCTCA CTGAGCCATGAGGCCAGAGCATGAAGCCCTGGAGAAATTTCTGGGGGTGGGGGCAGGAAG AATGCCCCATGGGGAGAGCAAAGGGGAACCACCCTTCCTGCCCCCAGGTCCCAGCAGCCC AGGGGAGCCCCCCACCCAGCCTGTGCCCAGAGAGCAACAGCTCCCAGGAGCTCACTGCCC CTCCCCTCTCCCCAGCTGCTCCCTGCATGAGGAGGACACCCAGAGACATGAGACCTACCA CCAGCAGGGGCAGTGCCAGGTGCTGGTGCAGCGCTCGCCCTGGCTGATGATGCGGATGGG CATCCTCGGCCGTGGGCTGCAGGAGTACCAGCTGCCCTACCAGCGGGTACTGCCGCTGCC CATCTTCACCCCTGCCAAGATGGGCGCCACCAAGGAGGAGCGTGAGGACACCCCCATCCA GCTTCAGGAGCTGCTGGCGCTGGAGACAGCCCTGGGTGGCCAGTGTGTGGACCGCCAGGA GGTGGCTGAGATCACAAAGCAGCTGCCCCCTGTGGTGCCTGTCAGCAAGCCCGGTGCACT TCGTCGCTCCCTGTCCCGCTCCATGTCCCAGGAAGCACAGAGAGGCTGAGAGGGACTGTG ACTTGGGCTCCGCTGTGCCCGCCCTGGGCTGGGCCCTTCCTGGCTAGGACTGTGGAGGGG AGCTGCTGGCCATGGCTGCTTTGTAGTTTGCCCAGAGTTGGGGGCTAGGGGAGGGGGGAG CCAGAGGCCAGGATGCCTGAGCCCCCTGAGTTCCCAAAGGGAGGGTGGCAGAGACAGTGG GCACTAAGGGTGGAGAGTTGGGGGCCAGCACAGCTGAGGACCCTCAGCCCCAGGAGAAGG GACAAAAGGTACTGGTGAGGGCAAGAGGTGCCTGGGAGGAGTGGCCCTGATCCAGGAAAA TGTGAGGGGAATCTGGAACGCTCTAGGCAGAAGAAGCTGGGAGGGAGGGGGAGGTGAAAA GGGCAGAGGCAAGGATGGTGGGGCCCCCAGCACCCTCTGTTAGTGCCGCAATAAATGCTC AATCATGTGCCAGAGTTGCATCTCTTTCCTTGTGGTTGGGGGGGCTGGCCCATGGGTGTC CCCTCAATGCCCACTTCTGGGACCAGGCTCCGCATCTGAGCTAAATATGGCAGAGCTAAT GGGTACACCCCATACTTGGGGTGGGGGTGGGGGCAGGACAGAGCTGTAAACAGGGTGCTG TCTCCAGTCTCCTTCCCGTACCCTGACCGCTGCCCAGTCCTGGCTTCTGTGTCCAGCCCC CTGGCACTGGGTGGTAACCAGCAAGCCAGCTGGCATCCGCATCCAGGGTTTGTTTCAATG ATGTCTCGTGGAGAATATGGAGGGGCTGGTGCCAGGACTGTCCTTGGCTTTGCCTCGGGG TGTGAACGGGGTCAGTGACCTCTAAAACTAACCTGCCTCTCAGTTCTGAATCCAGACAGA ATCAATCCTCAGCTGTGTCTCGCTCCACACCCCCTGCCCTGGAAGCCAGGGAAGGTTGGA GGTGCTAGGGGGTCAGGCTCCCCTCTGTGACCCCTGCAGCTGTTGTGGTGACTCATGTCC CAACCTAGCTGCCTCTCCCAAGGAGACTTTCCCCTGGGGACAAGGGGGAGGGAATGGCAT GGAGGAGGCCCACATCAAGCGGGGCCAGGAACCCACGGTGGCAGGAGCTGGGCTGGTGAC CTACCCAGGGCAGAAGGGCCCGGGACTCATCCAGAGGGGAAGGAAGGGGTCTTCAGGAAG ACCACGGAGATGCCACAGGCAGAATTGGCTTCCCATCTGGGAGATAGGTGGGGAGACCCT GGCATTTTGACAGCCAGAACCTGGGGTGCTGAGCAGAATCTTCATGCCTGGCCTGGCCGC TCCTTCGGAGGGAAGCTGGAGGGTGGGCTGCGAGAGGAGTGGGGTCAGAGCCCCTACATC CGCAGGACCCCAAATCGGCTGGGCCCCAAGGCCCGGACTGCGCTCCCCGGTGGCCCCGGC GGCCCTCCGCGAATGCGTCCTGCCCCTCCCCTGCCCAAGCCCTCTGCCCTCACCCGGGTC CGGCGCCGCCCCCGAAGTGGCGGGAACAACCCGAACCCGAACCTTCTGTCCTCGGGAGCC CCCAGATAAGCGGCTGGGAACCCGCGGGGCCCGCAGGGGAGGCCCGGCTGTTCCGCCCGC TAAGTGCATTAGCACAGCTCACCTCCCCTATCGCGCCTGCCATCGGACGGGCAGTGCCGC GCCCTGCTCTGGGGCCCCCGGAGCGACCACAGCGGAGGCCGGAACGGACTGTCCTTTCTG GGGCGGGGTGGGGAGGGGGTGTCGCTGGAGGGCCCGGTGGCATAGCAACGGACGAGAGAG GCCTGGAGGAGGGGCGGGGAGGGGGAGTTGTGTGGCAGTTCTAAGGGAAGGGTGGGTGCT GGGACGGGTGTCCGGGAGGGAGGGGAGCCTGGCGGGGTCTGGGGCCTCGTCGCGGAGGGC GCTGCGAGGGGGAAACTGGGGAAAGGGCCTAATTCCCCAGTCTCCACCTCGAATCAGGAA AGAGAAGGGGCGGGCTGCTGGGCAAAAGAGGTGAATGGCTGCGGGGGGCTGGAGAAGAGA GATGGGAGGGGCCGGCCGGCGGGGGTGAGGGGGTCTAAAGATTGTGGGGGTGAGGAACTG AGGGTGGGGGGCGCCCAGAGGCGGGACTCGGGGCGGGGCAGGCGAGGCGGAGGGCGAGGG CTGCGGGAGCAAGTACGGAGCCGGGGGTGTGGGGGACGATTGCCGCTGCAGCCGCCGCCC CACTCACCTCCGGTGTGTCTGCAGCCCGGACACTAAGGGAGATGGATGAATGGGTGGGGA GGATGCGGCGCACATGGCCCCGGGCGGCTCGGCGGTCAGCTGCCGCCCCCACAGCGGACC GGTCGGGGCGGGGGTCGGGCGGTAGAAAAAAGGGCCGCGAGGCGAGCGGGGCACTGGGCG GACCGCGGCGGCAGCATGAGCGGCGCAGACCGTAGCCCCAATGCGGGCGCAGCCCCTGAC TCGGCCCCGGGCCAGGCGGCGGTGGCTTCGGCCTACCAGCGCTTCGAGCCGCGCGCCTAC CTCCGCAACAACTACGCGCCCCCTCGCGGGGACCTGTGCAACCCGAACGGCGTCGGGCCG TGGAAGCTGCGCTGCTTGGCGCAGACCTTCGCCACCGGTGAGCGGGGGAAACTGAGGCAC GAGGGACAAGAGGTCGTCGGGGAGTGAAAGCAGGCGCAGGGAAATAAAAAGAAGGAAAGG GAGACAGACCAGGCGCCTAACAGATGGGGACCAAGAAACAAGAGATAGCTGAGAGGTGCA AACAGAAGAGAAAAAAGAGCAACATCCCTTAGGAGAGGGGCAGAGGAGAGAGAGGTGGAG AGAGGGGGCGGAGAGTGCTCAGAATTGAGAGCTAAGGTGGGGGATGCAGGACAGACTGAG GTGGAGATGCATAGGAGGAAATGGAGGCAGATGTGGGACAGGGGTGAGAAACTGCCAGGA TTTCCTCGCTGAGCCTGGCTGGTAGGTATAGTTGTTTTCTTTCTTTTTCTTTATTTTATT TTCATTTATTTACTTATTTTTATTTTTTATTTGTTTTGAGACGGAGTTTCGCTCTTGTTG CCCAGGCTGGAGTACAATGGCGCCATCTCGGCTCACTGCAACCTCCGCCTCCCCGGTTCA AGCGATTCTCTTGCCTCAGCTTCCCTAGTAGCTGGGATTACAGGCATGCGCCCCCATGCC TGGCTAATTTATTTGTATTTTTAGTAGAGACGGGACTTCTCCATGTTGGTCAGGCTGGTC TCGAACTCCCAACCTTAGGATCCACCCACCCCGGCCTCCCAAAGTGCTGGGATTACAGGT GTGAGCCACTGCGCCCGGCCAGTAGGTATAGTCTTCTAGATGTGAAACCTGAGTCTCAGA GCGGTGAAGTTCCCTTCCGAAGGGCAGCCCATGTTGGAGCTGGGTTCAGTCTAACTCTGG GGCCAATGCTTTTTCCAGATGGAGACACATTTGCAGAGGAGAAGGAAGAACTAGAGAGAG GCAGGGAGATGCAGGGGAGGGAAGGGTAAGGAGGCAGGGGCTGCCTGGGCTGGCTGGCAC CAGGACCCTCTTCCTCTGCCCTGCCCAGGTGAAGTGTCCGGACGCACCCTCATCGACATT GGTTCAGGCCCCACCGTGTACCAGCTGCTCAGTGCCTGCAGCCACTTTGAGGACATCACC ATGACAGATTTCCTGGAGGTCAACCGCCAGGAGCTGGGGCGCTGGCTGCAGGAGGAGCCG GGGGCCTTCAACTGGAGCATGTACAGCCAACATGCCTGCCTCATTGAGGGCAAGGGGTAA GGACTGGGGGGTGAGGGTTGGGGAGGAGGCTTCCCATAGAGTGGCTGGTTGGGGCAACAG AGGCCTGAGCGTAGAACAGCCTTGAGCCCTGCCTTGTGCCTCCTGCACAGGGAATGCTGG CAGGATAAGGAGCGCCAGCTGCGAGCCAGGGTGAAACGGGTCCTGCCCATCGACGTGCAC CAGCCCCAGCCCCTGGGTGCTGGGAGCCCAGCTCCCCTGCCTGCTGACGCCCTGGTCTCT GCCTTCTGCTTGGAGGCTGTGAGCCCAGATCTTGCCAGCTTTCAGCGGGCCCTGGACCAC ATCACCACGCTGCTGAGGCCTGGGGGGCACCTCCTCCTCATCGGGGCCCTGGAGGAGTCG TGGTACCTGGCTGGGGAGGCCAGGCTGACGGTGGTGCCAGTGTCTGAGGAGGAGGTGAGG GAGGCCCTGGTGCGTAGTGGCTACAAGGTCCGGGACCTCCGCACCTATATCATGCCTGCC CACCTTCAGACAGGCGTAGATGATGTCAAGGGCGTCTTCTTCGCCTGGGCTCAGAAGGTT GGGCTGTGAGGGCTGTACCTGGTGCCCTGTGGCCCCCACCCACCTGGATTCCCTGTTCTT TGAAGTGGCACCTAATAAAGAAATAATACCCTGCCGCTGCGGTCAGTGCTGTGTGTGGCT CTCCTGGGAAGCAGCAAGGGCCCAGAGATCTGAGTGTCCGGGTAGGGGAGACATTCACCC TAGGCTTTTTTTCCAGAAGCTTCCTTGAGGCTAGCATTCTGTACCACTCATTCTTCCCAA ACTAAGGAAGGCCAAGGTCAGGGGAGCTCACCGGGCACCTGCAGTGCACCAGGCACTTGT GATATGCCATTGTGTCCATCGCATCATTCATTCCTGCATTCAGCAGCAGGTCCTGCTAGT CTGTTTCCAGGTGAAGCTCAGAGAGGTGAAGTCACAAACAGTGCAGACTGCTTCAGACCA GAACGAGGGAGAGTGGGGATCATGAGGAGATGGAAGTAGAATCTGCAAGGTGGTGGGGAG GTGGGGGTGTTATGATTGAAGCACAATGGCCGAGGGAAGTGAAAGGGAAAGAACTGGCTC CAGCTCCCTCTCACAACTGGACTTGAGTTCTGCCCAGCTCTGCCTCTGGGGCCTGCCATT CCCCATGCCACGTGCCCAGGCAGAGACCTCACCTCTGTTTACTGCCTCCAGCCAGCTCTG GGACCTGCCCCTGCCGCCACAACTGTCTTCTCCTGCCCTCCAGCCCACCCTATTCACACA AATGAGCTGAACAAGGGCAGGTGAGGCTTGGAATTGATTTATTAAGCACATCCCTTGCCA CCCTCCCACCTTAAAAGTTTTCAGTATCAAAAGAAGCTAGCGCAGGCCACCCGAGTCCCT GAGGTTGGAGTCCTAGCATAGCTCCCCTCCCTCAAAGAGGGACAAGGGGTCAGGGGCAGA GCAAAAATCCAGTCTGCTTCAACCACGGAGACTGCCTTTGGGATGGAAAGTTTCTGGAGC TCCCTCCATTCTATTCCTGTGGGGCAGGAACATGCCAGGGCTGCTGGTAAATGGCAGGGG TCACCTTTACCAGGGCGCAGGCATAGTGTGGCCCCTGCCTGCCCTGGGGCCACCCTGGAA CAGTAAGACCCTCTGGGAAGGGAAGAAACCAGACCCAGCCATAAGCTTTCTCCCCTTCTC CCTCAAATCGCCCCTTCCTCCTCCCCAAAATCAGGCTATGGCAAAGGGGCTGGCAGCAGG GGAATGGAGGTTTTGGAGGGGAAGGCCAGCCATGCGAAGGCAAGGAGAAAAGGAGGATGG AGAGAGCCCCAGCCATCCCCATTTTCCTTCCTCTGCCTCCGAGGGGCTGCTTCTGGAGGG CACTGTTGTGTGGGGACCCTGTGAGGTTTGCAGGAGGCGGGCAAAGGGGCACCAGACAGG GAACATGCACACAGGCAGCCTGGCCATGGAGAGCTCCTGGCTGTCCGCCCAGGTGGCGCC TTGGGCAGAGCTGGCGCTCCACAAGTGATTATTGATGGTGACAGGATTCCCTCATCCTGC TCCAACCTCTCAACTGTGGACACATTCACCGGCAGTCACTCATCTCACATGCCCACCAGC ACGCGCACACACGTTCCCCTAACCCACGCTAACACACCCACCCCCTGCACACACACACTT TGAAGCCACACCTCTTCCCCGACAACACCCGTCTCCACACTGCGCACCTAGGCCTGAGCT CACACACACCCAGGCCCATGCTCACGGCCCTGTCACCTATGCACTCAGCCTGGCCCACAC TCCCGACACACGGTGGCAGGCTCTCAACCAGACAGCAGCACAGGATCCTTGCCCTGGGCT TGCTGGAGCCCTGGCCCTGAAAGGGAGTATGGTGAGGCCTCCTGGGAACCTGGCTAGGGC AATGGTCAGGGTGAAACTCCTTCCCAATCCCAGCAGCTTGGTCCCTCAAGATCCCATGGG GAGAATCGCCGTGAACCTTGGCTGGCCAAAGAACAAGCATCCAGCACCACCTAGTGGTGT CCTGGAGGAGGGTGGGGGGTGGTAACAGAAGGGGACCCCCTGTATCCCTAAGGCCTGTGG TCCCTGGTCTCCCAGGTAGACAGAGGGCTTCAGGACCCAGCCAGGCAGCTGGGGATGTGG GGAGGAGGCTGATGGGGAGGAAACAGGCAGCTGTCCTCCCGGTAGAGCTAAGAGCACACT CAGTTCCACCCCAGTTCAGCTCCAGGAGGTAGAGGGGCTGCCCACTCTCGAGTCCCAGAT GCTGGGAGGCCTTCCCTAGAACAGACTCCAAGGCTGGTGAGGGCCAACAGGGGGTGGGCT GGCCACATGATTCTGGGCCCACATCCTTCATGTCCAAGTTCAAGAAGTTGAAAAGAGAAA ATCATCTCAAGGGTTGAGGGGAGAAGGGAGGCCAGCAGGGCGGGGGCAGGATCCCCACTG GGGCAGACTCGCTCCAAGGTCTTCAGTCCAGCTTGAACTTGTCCTCTGATTCCTTCAGCA GGTACAGGCTGTCATCTTCCAGAAAGCTGTGGGCCAAAGGAGTAGCCCATTGAGGCACAC AGCTCTGACAGCTCGCATGGAGACAAGGGTGGGGTGCATGCAGGCAAGGTGGGAGGGGGC GGATGGGCACACAGAGCCCCCAATCTCCCCTAAGGAGTGGGCAAGGAAGGGTCCAAAGAA GGTGAGCACCAGGCAGGGGGCAGCACCCACCTGAAAAAGAGGACGTGGACAGGGATGGTG CTGATGTGCCAGATGGCATGGGCATCCAGGACCCAGAAGAGCGGTGGGAAGTCAAGCAGC TCGAGCAGGGACAGCCCCTGCAGCAGCAAGACCACCACCACGCACTTGCGCACGTGAGGC AGCCGCCGCTGGTTCCACAGGCACCAGGCCAGCCACCACACCACGTTGACCAGGCCTGGG TGCCAGTGGGGGCAGGAGAGACTCATTCCTTCGGCTCCTTCTCCCCAAGGCCACCCCCAA CTCCATGCTCTCTGACCCCAGGATCATCCTCGGACTCTCCTCCCAGCCTCCTCTCTCTCC CACCTCAAATTCTTCTCCATTCCTCTACCCCAAGAGTCTCTCTAGAACCTCCTTCTCCAG GAATGGCACCAACCTCCCACTCGCACCCCAAGCTAGCACTTCTGCAGATGGCCCAAGCCC CCCAGGGCCTCACCAATAGCCACGTTGGCCACCAGGTTGTAGCCATAGTCGAAGCGGATG AGGCTCAGGTAGGAGACGTGCACGGTCAGCATGAGCAGCAGGAGAGCCCGGAAGGCACTG ACCACAGCTGGGTGCTGCAGCCCCACGGTCCTGCCCCACCGTCCAGGGTTGCTCAGAGGG CAGGTGGCCCATCCCCAGAGCAGCATTCCCTGAAGCATCTCCTCCCCCCAACATTGGTGC ATGGCCCCTGAAGTCACTACCCCTCTCCCCACCAAACAGGCCACAGCTGGGCAGCAAGTG CTACAGCTCCTTGTCAGGAGCCAGGGCCCCCAGTCCTACCCCAGAGTCCTCACCCAGGAC AGCTGATGTGTTGGGGGTTGGGGGGCGTAGGTGTTGGGAGACTAGTGAAGAAGGCCCCCA GGGGAAGGCTGGGTGACCCCTTTCTGCCCCCAGGGTTCGATTTTGCCCCTGCAGCCACCC AGGCAGGCTCACCTGACGCAGCACAGGTAGATTGAGTGTAGGATGACAGTGGAGGCACAG AAGTAGTCCATTTTCTGAGGACAGGGAAGGGTGGTGAGGGACCAGCATGAGGCTTCACGG AGAGGACCCGCGGGGATGGGGGCATGGAGGAGTGGCAGAGAGGGGCCGGGGTCCTGGGCC TGCCTATCACTGTTTCACTCTGACTGAGTCTTGTGTTCACATCACCATACAAGTTTTTAA AAATGTGCCCAGGAACAAGGCTTTAGGGACGCTGGTGGAGGGTTCCTGCTGAGGCTCCAG GACATGACCACGCTGCACAGAATTCAGAGCACAGTGTGGAGTCTGACAGCCATGGGGTCA CGTCCTGTGGCAACCCTTCACTGGCTGGGTGCCCCTAAGCATGTGGTCCCCCTGTCGAAG GCTCAGCTGCCTCATCAGGCAAGAAGAGCGAATACTCATCCCCACCTGATGAGGCTCACT GAGGATCAAGGGCACCAACAGGTTTAGGATGCCCACCCCATACTCCTCCCAGTGCTCCTC AGAGGGAGTTGGCATGACCCTCTAGAGCCCCTCTGCCCACTTCTGGGCTCCTCTGGGACC ACCCTGTGCAGGAGGGGGAGCTGGAGGAATGCTCACCTCTGTGAGGTCAGTGTCCCTGGT GTGGAAAACTGTGGACCAGAACCATGCATTGAGGGACACCTAAGGAGGGAGGGGCTGGTG AGCATGCTGCCCCCCACCCTGACCTCAAGGCAGGGACCCCCATTTGCTCACATCCATTTC ACCTTTGGGAAGGGGCTCTGCAGGACAAGAAATGTGCTTTTCCTGCCCCTGGAGCCCTCT GAACAAACCTATGTCCCTCTACCCCCACCCAGCCAGGGTCCCTGGGGTGGACTTCCTGCC ACCCCAAACCCCCAAGGCCACGGGGGGCTGCAGCCTCCACAGGTTCCGGCCTGGCCTGGG AACCAGTTCCGGTATAGCCAAGCTCCCTAGTTACTCAATTGCTAAGACAACAGCCCCCAG GGGCCTTGCCTCCTCCTCCAACCGGCAGGTGTTGACAGCACCACCCCACCCGGGCCCAGG GGAGCCAGTGACCTCAGCCTCTGGGGGCGGGAATGAGGTGGGTGGGGTGGAGGGGCTCGA GCCAGCTTGGGGTGTGTTCCAAGCAGCAGGGGAGGGAGATCAAGCAGATCCCACTGGGGC ACAGGCTCCCAGGAGGAGGGTGAACCAAGCCCAGCTTCCTCCTGGCTGGGCCTGCCCAAC CCGCCAGACCAGTGGCTGCTCCCGAGCCTGGGAGGAGTAGAGGGCAGGACTGGAGGGGCT GTGGTGGGCCAGGGCCCAGGGGAATGTTTGAGGCCTTCTTCCTGGAAATTAGCTGCGTGG AGAGAGCACAAAAGTTATCTAGCGAATGAGCCTAAGAGCTTGTGGGCGTTGGTGCTGGCA CTTTCTTCAGGGACTGCTGTGTCCACAGCAAAGGCCCAAACTGCTGAAAGCAGGGTGGGC TGAAGGGAAGGGCTGGGAAATCGTGACAACCAAAGGAACAGCAGGCCAGGCCGGGAATGG CCTGGAGGTGGGGAGGGATGCGCTAGGGTGGGACAGGCCTGGCGGAGATGAGGAAAGGCC AGGAACTGCTCAGTTGGCTCCAATGTACCAGGAAAACTGGCCAGGCAGGGGACAGAGGGA GGGGGCAAGAAGCTACACTCTGTCTGGCACTGTAGCAGGCAGGTCAGACAGTAAGATGCA TTCCAAATGCAGGTCTGGGGAGCTCAGGAGAGAATGGGAGGAGAAGGGGTACAGGCGGGG CAGAACTGCTGCACAGCCAGTCAGGTTCTCGGGGTGCCAAGCTCTGGAAGGCGCAAGGCT GCCTAGTGCCCCTGTCTGGCCTGGGCTCTGGGCTGAGCCTTGCTGCTTCTGCTCCTCTTG ACCTGGTCAAAGGGCCCTGCCCTTCTCAGCCCAAGCTTCCCCCGGGACAAATCATGGCTC AAGTGAAACTTCAGTTCCTTTCCAGCCTGGCGTTAGGTGGTGTGGTCTAGGGCAGGCTGC TTCCTCCTTTGAGGATGGCCACTCTGTCCCTTCCACCAGACTCAAGGCTCTGCCCTGCTG CAGCCCCCTCCCCAGAGACAGGCATGGAGGCTGCACAACAGGACTGAACCTGGTGGCTTC TCAGACACTGCTCCCACAGTCTGAAAAGCTTAGAGTCAGCATGGGGAGAGGAGCAGGCTT GGGCTGGAGACGGGACCCAGGCAATCACATGGACCAGTTCTCCCTGGCAGGCCAGGAACA GGGACATCCTTAGGGAGGAGAGTGGCCCTGGAGCCAATGTGGGAAGGAGAAGAGGAAGGC GGCAGGGACTGGCAGCCAGCCAGGCCTCCTTGTCACCCACAGCAGGAAGGGGGAGGTGAG AAGAGGACTGCAGGACTGAGCTAAGTGGCTCAGAACACCGAAAGCAGGGGGTGTGTGTGC GGGCAAACATATGCGTAGGGCCACAGGATGGGTGGGGCTGCTGGGTCCCCTCTCCAACCG CCTCCCTGGGTGCCTTCCACTCACAGAGACCCACCTGAAGCCTGGCCTCTGCACCCCTGA AAAGCCCCTCCCCCCTGGGGAGCATCCCACTCTGGGGGTGCTCCTCTTCTCACCCTTTCC TCAGATTTGGGAGGTAGTGGTATCATTAAGAATGCAAGCCCTACAGCCAGACTGCCAGGG TTCAGTTCCTGGCTCTGCATTTCCTGTGTGTCCTTGGGCAAGTTATTTAGCCTTGCTGTG CCTCAGTTTTCTCATCTGCAAAATGGGAATAATCATAGTTGATAAGGGTTTAATGAGCAA TACAAATACAGCGTACAGCACAGAGCCCAGGACAGGCTGAAACATGAGTGTTCTCTCCAC TTGCCTGACCAGCACAGAACCCCGTCAGCTTCCCATAGAACTGAGGCCTAAGAGGATGTC TGCCTCCCACTCTCCCTGCAGGCCAAGGATGTTTAGGCAGATAAGGGGTGGTCTCCTAGC TGCCTAGGCCCACCTCCACAGCTCCAGGCTGGGGGAAGAGTGTCCAGTCTTCACAATGAG ACAGAGTCTGCATTCAAGTCCTGCCTCAGCCCCTACGCAGCTGTGTGACCTTGGACACAT AACCCAGTATGTGTGAGCCTCCACTGCCTCACCTACAAAACAGGTTCATAATGATGCTCA CTGCACAGGAGGCCATGAGGACGAGGTCTGCGGAATGCCTGGCACCAAGGAACTCCTCTG AATGGCTGCTGGTTTTGCTGCCTGGTCCATAGTAGGTGCCCATCAATGTCAGTTTCCTTC ATCAGGTCCAGTAGACTGACTCTCACCACGCCCGTTCACCTGCCCCTCAACTTCCCTTTC CGCAAGGGTCACAAAGTTTGAGGTCAAACTATGGGGCCTCAGGGTCTCTCCATTCCAGAA CGGAGACACCTCAGCTATAGGAAGAGCCCCTCCTCCTTCCTCTGGAGCCATGTTCCCATC AATGTGAACCGAACAGATCCATTTCTCCTCACTCAGAGTTTGTCATCAAGAGCAAGCAAA GGGGAAAGATGGGCTCTGGAAGGAAGGAGAGTTCCAAGATGCCAAGGCACGGCTACTCTC GGACTCCTTGCCACGCTCAAGTGAAGGGGGGCAGGGAGGGGAACTGGCCAGGAGGGCGAC AGGCTGCCCAGCAGGCACCCAGAGCTTTGCGTAAACACTGAGGAGAGGGGGTGGCCAGGG GCAGGGTGCCAGTGGGGGTGGAATAGGAGACTGGGTGGAGGGAGAGCAAGAGGCTGTTTC AGTCTGTTGGAAATAAGAAAATCGAGACAAAAATATCACAGCCGTGAAACTGGTTGGATG CCAAGTGAGCCAGATCTGTCAGGAATTCGACCCGGCGCTAAGCCCCAGTGCTCGGGGCTG TCATTGACACCATGGCGGTGGGGACAAGTGGGGCTTAAAATAGCTCAGTGTCTCAGAAGT GGGGGAGGCAGAATGTTAAATATGATGCCTGCTGCCATCCTGGGCTCCTCTGGAGGCCAC AGTGTCTCACCCCCTGCCTCAGGCAGGGCAGGCCAGCCCCAGCTCACTCCTGAGAGAAGG GAGACAGAGGTGGATGCGGATGGGAGAAGGAGGGCTTTTTCCAAGATCCCAGAGGATCCC TTGATTTCCTGCCATTGCCTGTTCCACTAGCTCTTGTCTGACCATGGGAAGTCCTTCCTG AAGTCTAACCATCATTCTACTACAGCTGCAACCTACCTCTTCTTGTAGTTTGCTTAACAG AGGAAGAGAAGAATCAGTCCCCACCTACACAAACCACTCTACAGAGATGGTTTGGGCTTC CCACCACTTCACCCTCCTCTCTACACCTGAGGACCTTTCCTGACTGGATGAAGGCCTGGG GAATTGGTTTGGCCTTCTGGCTTTGGCACACAGCAGGGGCCCCTACTCCGTGAAGTCAAA GAGACATGGTATGCGGAGCTTTGGTAGGCTCCCCACCCGCCGCCTGGCTGCTCCCCAGCC CAAGCCCAGGCCTAAATGGCAAGGCAAGGGCTGCCTTCTTGTGCCAGCGTTATCATGAGT CCTGCTGGAGGGCGGGGTCTCCTCATTTCCCAGAGGCAAAGCTGAGGTACCCTTCCCCCA AGACTTAGCCCGGAGCGGGTGAGGGACCTTGCCTTCCTATCCTCACCCCAACAGAAATCA GGAGCCTCAGTGCCCCAGAAGGCCCAGGTCAAAGTCCACTGCCGCACCCTCCATACAGCT CAGGATCCCTCCCTCCTGCAGAAACTCACAGGGCAACTGGGAAGCCCAAGAGCAACTGGG AAAGCCAAACTAGGCCATCCACAGGAGTGTGGGTTCTGAGGCTTTGTTTCTTGAAGGCCT AGTGAGAGCATGAGGGGGTCCCATGTCCCAGAACCCCACATCCCATAAGACACACAGGGC CCAACTATCTGCCTTCTACCACCCCAACATCTAACATCTCCTGCTTTTTCTGTTTTTGTT TTTGTTTTTTTTGAGATGGAGTCTCGCCCAGTCACCCAGGCTGGAGTGCAGTGGCGCCAC CTTGGCTCACTGCAACCTCTGCCTCCCAGGTTCAAGCAATTCAGCCTCCCGAGTAGCTGG GATTACAGGCACCCATCACCACGCCTGACTAATTTTTGTATTCTTAGTAGAGACGGGGTT TCACCATGTTGGCCAGCCTGGTCTTAACTCCTGACCTCAGATGATCCACCTGCCTCAGCC TCCCAAAGTGCTGGGATTACAGACGTGAGCCACCATGCCCGGCCATCTGCTGCTTTTTCT CTAGGGTCCTTAGTCACACTGGACTGCAGGCTACCCTGGGGAAGTGTGACCCCCCTCTCC AAGAAGGAAGCTGAGTTGCAGATACCATTGAGGTGAAAAATCCAAGAATCAGGGATGACA AGACCAGATCTGTGAAGTGACCCCTGGCCTCTGGCACATGTTATAAAGACAAGGGGTGGG ACCCTCCGATCTAAGAAGGCTCTAAGCTTCTTCAGAGTTCAGGCAGGGCTGTCCCATGCT CTCTAGTAGAGGTGGGGACAAGTGGGTGGTACACGCTGTGGGCCCAGACAAGCAGTGTCC GTGGAAGAACCCCAAAGGAAAGCAGACAGGTGTAACGTCCTCAGCTTCCCTGCCCTTCCT GCTTTCTTAGCCAGGACTAAATTTGCTTCGCTCCAAGAGGCCTACACAGGAAGTGGTGGC TTTATCTCACCCAGCCTGTGACAGTGTGTGCCGATGCCAGGCCCTGCCTACATCAGAGCC CCTAGCCCTCAGCCTGGCACTCAGGGGCCTCTCTGCTCCATCTACTCTTCTACTCCTATT CACACAGCTACAATGGGGCCAAGGTTTCCTGGAATGCTGGAATTCAATCCCCTGTCCCCA CACATGTATGTGTCTAAGCCTTGCCCCACACATGTATGTGTCTAAGTCCCAGATTAAACC TCTCCTCCTCCCCGGGCTTCCCTGGCCTGGCAGACTTCCCCAGTTAGAGGACGCGGTCTC CCCACCTCACGACTCCCAGGGCTCTCTACCGGAGCACCCCTTGACTCTGCCTGCCGTCTG CTGCCCAGGCTGCCCAGAACTGCACCTCCCACTATGCTTAGCTCCCTGGGGCAGGGGATT CAGCCTCCACAAGTGCTAAACCCTGTCTCCACCCCCAGCAAATGCTCAATGGACACTCAT CACAGGACACGGAGTGGCCTAGAAGAAGAGCTAAGTTCTCAGGCCCTGGAGCCAGACAGC CCTGGACACCAACCCTGTCTTTATTCCTTGCTAACTTGTTAGCTGTGCATTTTGGGCAAG TTTTTTTCCCCTCTGAATCTAACTCAGAGCTCATAAGGGTACTATGAGGATGAAATAAGG AAATGTATGTAAAGTGCTTCAGACAAGCCTGTCACATGGCTCCTGTTCCTTAATTTATCA CAACTGTTATTAATAGTTGTTGAATAGGAAGTATTAAGGAGGGTCCATATTTCCCAGAGG TTTAACAGCCTCCTTCCCTGACCTCCTTCCCACGCCCACCTCCCAAGTCTAAGGCTCGGC CTGGACTTCGCAGCACGCCCCATCTATCAGCTTTTCTAAGGCCCTAGAGACCTCTGTGTC TCCAGATTCCGGGGTCTCCTTCAGTTCTCACGTGTACAATTCAGGACAGCAGAAGCCTCT CTCCTTCCTGTGCTCATCCCGGGAAGCACAATCCAAGCACACTATCTCCCAGTTCTCCAC CTGCCCCTCCGGCTACTCCTTCTGTCTCTGTGTCTGGCTCATCTTCCTTTAGCCAGCCAT TACATTTTGGGGTTCCCCAGGGCTTTGCCCTAGATCCCTTCTCTTTTCACTAGGCTCTCC TGGGGTGATCTCATCCACACCCACAGCTTCTATCACTGTCTTTTTTTTTTTTAAAGACAG GTCACCCTTTGTCACCCGGGCTAGAGCAACAAGAGTACAGTGACAGGATCACAGCTCACT GCAGCCTCGACCTCCTGGGCTCAAGTGATCCTCCCACCTCAGCCTCCTACTAGCTGGGAC TACGGGCATGTGCCACCAGGCCTGGCTTATTTTTTTTGTATTTTTGGTAGAGACGGGGTT TCACCATGTTGCCCAGGGTGGTCTGGAACTTGTGAGCTCAAGCAATCCGCCCACTTCAGC CTTCCAAAGTGCTGGAACCGCAGGTGTGAGCCACTGCGCCCGGCCTCCATCACTGTCTTA TAAGCAGAAACACAAGGGGTCATCCCTTACTGCTCTTTCCTCATCTAATCCACTCTTGAA GTTTATCAGCATAGCCAAGATGTTGAAAGTGTGGACTCTGGAGCCAGATGCCTGAATTCA AACCCTGGCTCGGTGATCTGTGGCTGGACTTAACCTTTTCAGTCCTTGGTTTCCTCATCT ATAAACTGGGGATGAGAATAATAATACCTATAAGCTGCGTTAAACAAAAATTACGGGAGG CCATTGTTCTGGATTGAGCCCCCGCACTAGACCCAAGAGACCAGACAAAAATGAAGTCAC TCATGCTAAATGCCACATAATCAAACTGAAACTTTTTTTTTTTCTGAGACGGAGTTTCAC TGTTGTTGCCCAGGCGGGAGTGCAATGGCGTGATCTCAGCTCACCGCAACCTCCGCCTTC CGGGTTCAAGTGATTTTCCTGCCTCAGCCTCCCAAGTATCTGGTACTAAAGGCATGCAAC ACTATGCCCAGCTAATTTTGTATTTTTAGTAGAGACAGGGTTTCTTCATGTTGGTCAGGC TGGTCTTGAACTCCTGACCTCAGGTGATCCACCCGCCTTGGCCTCCCAAAGTGCTGGGAT TACACGCCTGAGCCACCGCACTTGATCTTCAAACTGAAACTTTAAGGTAACTGATAGGTC CCAAAACAGACCACTTTTTCCTGAAAACAGGAGAGTCCAGTCTACCCAAGTAAGGAAGTC TCCTCTGCTTTAACCCTTATAAAAAAAAACCTGATGTGGGCCGGGCGCAGTGGCTCATGC CTGTAATCTCAGCACTTTGGGAGGCCGAGGCAGGCGGATCACGAGATCAGGAGATCGAGA CTATCCTGGCTAACATGGTGAAACCCCATCTCTACTAAAAATACACACACAAAAAATTAG CCAGGTGTGGTGGTGGGCGCCTGTAGTCCCAGCTACTTGGGAGGCTGAGGCAGGAGAATG GCGTGAACCCGGAAGGCAGAGCTTGCAGTGGGCCAAGATGGCGCCACTGCACTCCAGCCT GGGTGACAGAGTGAGACTCTGTCTCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ATCTGATGTTAACCAATCAGGTTTCTTTCTATTGTTCTGTTTCCTGGTTCCCACCTTACA AAACCCACTGTTCTGCTATTGCCCAATGGAAACTTGCATTCTATTTTGTAGAACGGAGGC TGCACCAATTCATGAATCACAAATTAAAGCCAATTGGCTCTATAAGTAAGTTTGCTGTAA TTTGTCTTTTGCCACTTGTTATGGATGAACAAGCTTAATACTTATAAAATGCTTAGAGTG ATGCCTGGCATACAGTATGAGCTATGTATGTATTTGTTAAGGAAATAAATTTTTAAAAAG CTTTAATGTTACCTCCAAAACACAGCTCAAGTGTACTTCTCTTCAATGCCCAAGACCCAT GCCACCTCTCTAGTCTAGCTACTGGGCCCTGTGCTAAAACTACCAACTGGTCTACTGCAT CCACTCCCGCCCCCTTCAATCTGTTCTCTACACAGTAGCCAGAATGAGCTTTCCAAAGGG CAAATCTATTCATGAAACAACTTTTCTCCTCAACCCTCATTTAAAATCCCTCCGTAGGCC GAGCACGGTGGCTGATGCCTGTAATCCCAGCACTTTGGGAGGGTGAGGTGGGCGGATCAC GAGGTCAGGAGTTCAAGACCAGCCTGGCCAACATAGTGAAACCCCATCTCTACTAAAAAT ACAAAAATTAGCCAGGCATGGTGGCACATGCCTGTAGTCCCAGCTGCTCAGGAGGCTGAG GCAGGAGAATCGCTTGAACTGGGAGGCAGAGGTTGCAGCGAGCCAAGATAGCGCCACTGC ACTCCAGCTGGGGCAACAGAGTGAGACTTTGTCTCAAATAAAATAAAATAAAATAAAATA AAATCCCTCCGTACTTCCTGATGCTTTGAGAGTCAAGATCTCCAATGTGAGGCTCTCCAT GGCTGGCCCCATCCACCACCCATCAGTCCGCCCAGCTCACACCCACTCTCTGATTTCCTG CATGTCAGGCTGCCTGGAATGACCCTCCCTCTCTCCCACCTGGGCACTTTCTGAGACTTC TCTTTAGAAGCCTTCCCTTACTCTTCTCAAATTTACCTAGTTAACATTCATGCATCCTTC CCACCTTACCTTTAATGCCCCTTCCCCAGGGAAGCCTTCCCTGATGGCCCCATGCTGGTC TTGGTCTGCCTTTACACACACCCCTGAAGCACCTCTCCCCGACTGCACTTTTTCATAGTT GTACTCTTACATTCAATTGTATGATTAGCACCAGAGGGCAGACTTCTGGATCTCCAGCAA AGTGCCTGGCATATAGTAGGTGCTCAACACCTGAGTGAATGGCTTCTGTGAGAGCAGGAA GGTGAGTGAATGGAAATTTTTTCCTTAAGGCTTACAGGGGCAGCTCCGACCTAGAGACAT CCGTTGCAACCTTTCATTCTCACACCCTTCCCAAGGCCGTCACGGTCCATATCTGCACCC CAGTCTGTGCTTATCACACAATACCAGGCCCTGAATACAGCTCTTTAGACCAGCCGTACT GTGAAGCTGACAGCCCTTTCTGCACCTGCAGATGTAACCATACCTGGGCTTCTCCAGGGA TGGTCTAAGCCTAGGCTGAGCTCGCCAGGTGCAGTGACTCACAACTGTAATCCCTGCACT TTGGGAGGCCGAGGTGGGTGGATCACCTGAGGTTGGGAGTTCGAGACCAGCCTGACCAAC ATGGAGAAACCCCGTCTCTACTAAAAATACAAAATTAGCCAGGTGTGGTGGCACGCGCCT ATCATCCCAGCTACTTGGGAGGCTGAGGCAGGAGAATTGCTTGAACCCAGGAGGTGGAGG TTGCAGTGAGCCAAGATTGCGCCATTTGCACTCCAGCCTGGGTGACACAGTGAGACTCTG TCTCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGACTAGGCTGAGCTCTACACAGAGACT ATGGCTGTGACTCCCCACCAGGCCTGGGCTGGAATTGAGATTGCTCCAAGTCCTCCAGAA GGGCCCTTGGAAAGACCTGTGGTCCCAGCATCCTCTTTAGCCCCCCATCTCCCCTCTGTG TTTGTAAACTGTCCTACTGGGTCTTTTAGTGGCTTCCTTCTTCAGGACAAGAAAAATGCC CTTCTTTCCTCTCTCCTTCCCAAACAGCCTGACCTAGGGCTCTGCTGGAAAGGTAAGGCC CGATTCAGCACCCTCCCTGTTTTCTCCCCAGGCTTTACCACCCTGCAGCTGCAACTTTAG CCCTGGGAAACAGAGGGGAAGCTGGTAAGTAGAAGCCCTGTTGGGTGTTAATAGGGATGT AGAGCTCCACCTTCCTAGATAAGAGGAGACAGCAGGAGTCCTGCTAGGTTACCTACCCAG GCGAAGGCCACACAGGTGTGGTACATGGGGGAGGAGGCTGGCACGAAGGTGCGGTAGCGG CAGAGCATCACCAGGCTGGCCAGGCCATTGAGAAACGAGGCCACGGCCGATGCCGGCTCT TGAAAGAACAGGAACCGGGAGAAGGGCCACTGAAAAAGGAGCAGATGAAGGAGGTTTGAA GGGCAGGCAACCCTCAACTGGCCCAGTCCACCTATTCTTGACATGCTGAAGCAACAGGTC CTCAGCTGAGTCCTCAGCTCTGGAGTTTGGCCAAAGCCTCAGGTTCAGTACCTCTTCAGA CTAATGAGCCACCCTCCAGTGCCTAGTTAAGAGTTATACCCCCATCCTGGCCAGCAGGCA CAGCACTGTAAGCCCTGATCTCTGGGAAGACCAGATGGGTCAGGGTAGATGACTCAGTAT GGCCTGGTGGAAACAGCACAGAGTTGCCATCCAGAAGACACAGGTCCCAACCCCTCCTCT ACCACTGACCACGGTCCTTTGAGCCTCAGCTTACTCTGTGAAAAACTGGGGTGAATACTT CCTGCCAACCTCAACAGGCCAGAATGAGATAATACTGGATTGAAACGTACCAGCAGGCCA GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAAGCTGAGGCGAGAGGGTCACA AGGTCAGGAGATTGAGACCATCCTGGCTAACATGGTGAAACCCCATCTCTACTTAAAAAA AAAAAAAAAAAAATACAAAAAATTAGCTGGGTGTGGTGGCACACACCTGTAGTCCCAGCT ACTTGGGAGGCTCAGGCATGAGAATTGCTTGAACCTGGGAGGTAGAGGTTGCAGTGAGCC AAGATCATGCCACTGCACTCCAGCCTGGGCGACAGAGGGAGACTCCATCTCAAAAAAAAA AACAAAAAACAAAAAACAAAAGAAAGAAAGGTACCAGCAAACTGTGCCTCGCTAGACAAG CTGAAGCATATTACTGTGAATCCAGACCCCTACTGGAGAAGCAACAGGAAACAAGCCACA GTAGGTAAGGGAATTTGTCCCTGCAGTAAGGTGGGCATCTCAACCACTCTAAGAGGCCCA GCACCACTCTCTGGGGAGACTCCAAAGCCTTCCAGATATTGCTACTCCAAATCCAGAGGC AGGACACATGGGTCCTATCCAATTCTATGGAAACCAGCAGATTTTGGGGAGAACAGGTAG CTGCCCCAAACACACACGCATTACCCCATGCCTCAGACTGCTTGGACAGTGTGGTCCAAC CAGGGGGTATATTACTCCTACCACGCTACTACCATATGCCTACCCTGACCCTCCAACTCA CCTTGCCATGGAACTGAGGCACTTTGTGACCTTCCTGGAGGTAGAGCCCAACGGTGACCC ACATACACTCATACTTACAGTCGTCCCGACAGGTCCAGCCTGAAACAGACAAATGTGGCC TGGTGAACTCCCCAGCACAGAGAGGAAAGAGAGAGCATGAATGGGGTCCAAGCGCAAATG TAGGCCAAGAGGGCCTGTAAGTTGGAGAGAACCAGGAGAAATCTCAAAATTCTAGCTTCC CCTTTGAATGAATGAGAGATGATGAGATGTACACATAGGGGAAGGTGTATGTACGTATGT ATGCATATTTTAGTGAGCAATTAGAGATATTCGTCTTTTTTTTGTTTGTTTTTTTGAGAC AGTTTTGTTTTTGTTGCCCAGGCTGGAGTGCAATGGTGCGATCTCGGTTCACTGCAACCT CCGCCTCCTGGGTTCAAGCGATTCTCCTGCCTCAGGCTCCCGAGTAGCTGGGATTACAGG CATGCACCACCACACCCAACTAATTTTGTATTTTTAGTAGAGATGGGGTTTCTCCATGTT GGTCAGGGTGGTCTTGAACTCCCAACCTCAGGTTATCTGCCTGCCTCTGCCACCTAAAGT GCGGGGATTGCAGGCACGAGCCACCGCACCCGGCATTTTTTTTTTTTTTTTTTTTTTGAG ACAGGGTCTCGCTCTTTCATCCAGGCTGGAGTGCAGTGGGGAGAGCATGGCTCACCACAG CCTTGACCTCCTGGGCTCAAACGATCCTCCCACCTCAGCCTCCCAAGTAGCGAGACCACA ATGTCTGGCTAATTCTTTTATTTTTTGTAGAGAAGGCATCTTGTCATGTTGCCTAGGCTA GTCTTGAACTCCAGGGCTCAGATGATCTTTCTACCTTGGCAGACATTTCCTCTCCTTTTG CTCAAGTCCATCAAGATGTTGGCATCTGATGAACTCATCTATGGAAACCTGGGTTTATAT TTGTCCTTCCTGAATATAGGATTTGCTCTTACTCTCCTGGAAGGAGTTCTTGCTATCTTA CTCCCTTCCTATGAAAATGAAGCCCAAATTCTTCAACCTGACTTTTGAGGCTCCAAATTG CCTTTCCAACCGTATTGGTCACTACTCCTGTTCATGTACCCTGCTCCCTGAGTAAATAAA GCTCCTGGATGTGCCCACATCTGCCCAGGGCATCCATTCTCTCTGTTCCCTCTGTCTGGA ATGCAAAGTGGTATAATAGTAAAGAGGACAAGCTTGTGGTCAAACAGGCCAGAACTGGAA ACTCCACTTTACTACATACTGGCTGTGTGACCTTGGGCAGGGCATTTAATCTCTCTAATC CCCATCTGTAAAACTGGGATTAGAGAAACTATCTCAAAGGGTGTGATAAAAATTACTTGA CATATTGTGACACCTGTCACACAGTGAGTGCTCAATACGTTGGTTCTTTGCCCACTATGG TCCAAATCGAATGTACCAGTCCAAAGTCCCTCCTTCAAACAAAACGTTCCAAGATGATCC CTGCCCCCACGTCTTCAAAGCCGGAACTGACACCTTCCTATCCCAAATGCTTCCTAATCA AAGAGTCTTTCAGGGGCTCAAATCATTCTCTGCCTTGCACTTGAAAAGGCTCATGTCCCC GTGGGGACTGTGAGTCCCAATGGGCGGGACCCTGGTCTGATTTCTGTGCCATTCCTAGAC ATTGTGGCCCGAATGTATTTAATAAATACCCTTTTGACTGAACAAATAAGTAAATGAAAG CTTCTGGGAAAGTAAGAGAGGCTGGTAAGGCTCTCATCACCTTAGGGGCTTCACTCACAT TCATAAGAGACCTCGTGGGGAAACTAAGGTTCAGGGATTGCAGAGGCGTATTGGGGGCGC AGGGGGCGGGAGCAAGACAAATGGGCGGGGCTTACCGTGGGGGTGGGGCTTACCTGCTAG ACTCATGTAGATTGGCTGGCGGGAGCGGAAGTGATTCAGAGCGCCCCCAGAGCAGTTCTG CTCTTCGCACTGCAGTACGCAGTCGCGGTACACCGGCTCACGGTCGCCCTGGGAGCCGCT CGCCAGCGCCGCTGCCCCAGCTAGCAGGACCAACCGCGCCGCCAGGCCGGCCATCCTTTC TCCCTGGCTCGCCGCCGGGGGAGGAGCTTAGGAGTATGAAGCTTCCACTTCCGGAGTAAC CGGAAGTTCCTGTGTTCTTTATTCTACTCTCCGCTGAAGTCCACACAGTTTAAATTAAAG TTCCCGGATTTTTGTGGGCGCCTGCCCCGCCCCTCGTCCCCCTGCTGTGTCCATATATCG AGGCGATAGGGTTAAGGGAAGGCGGACGCCTGATGGGTTAATGAGCAAACTGAAGTGTTT TCCATGATCTTTTTTGAGGTAGGGCTGTTTACTGTCACCACCCCTGTCGGATTTTACTTC CTAAACGTACCTGTAACTATCCACTTCTCTCCATCTCTTCTGGCACCACCCTGGTTAAAG ACACCATCATGTGTCGCCAAGACAGCCGCAGTAGCTTCTTAATGGCTCTCCCTGCCTCTA CTTTTGCCTCTTCCAACCTGCGCTCCATTTTGAAAAATTAAAATTTGCCCATATCACTTT TTTTTTCTTAAAATTATTTACTGGCTCCCAATTACCTTGGGTAAAATACAGTCTCCACAA ACCCTGCCTGATTTGGCCCCTGTCCACTGGTCTCCCTCACTCCCTTGCTCCAGACCCGCT TCAGAGGGCTATGTCCCTCAAGCTTCCTGACTGCCTGGCCTGGTCTGAATCACTCACTCT TCTTTTTTCTTCTAGTCGCAATTGAAGTACCACCTCCCGAGGGTGATTGCTTCCCCATGC GGGGTAGAACCTTTGCTGTCCTGTTCACCACTCTACCTCCAGCACAGAATTTGGCTTATG GTAGGCGCTAACTGCGTTTGTTTGTTCTTCTGTTTAATGAATGAACAGCATACATCAACA TAAGAACTTGACAAATCCAGGGCTGTAAAATCATCAGTATGGTTCTGCACTGAGATCGGA GAGAAGTAATATTTCTAGGAAAATTAGGAACCCTGGGAACAGGACGCTTGCTTTAGTATC CTCTCCCTGCTCACCTCCCCTGCACTCCCATCAGCACCGACCCACACCCAATCTCATAGA AGCCTTGTAGCTAAGGATCACCCTTTCTCCTCCCCCACTCTCCTCACCCCTTGTCAACTT TTCTTTTTCGTCCTGGGGGTTGGAATGAGTAAGAAGTAGCCTGGGATTCCATTCACTCAC TTAACAAACATTTCTGAGTCCTTAGCTCTAGCACCTTGCTAAGCAAGGCAAAATCTCCAG GAGGCACCATTCACATTGCATTTTCTGTGAATGGTGCTCTGGGGAGCAGCATTCACATTG CCTTTTCTGTGAATGGCAAATTCTTCCAGTTAAATATAACATGAATAGTGTCCCCTGGAG TTGACCACCCAACTGATACTGACTGAGAAGCTGAAATGAACAAAACAACCCCTTAGCCCT CCAGGAGCTGACCGGAAATCCAGTGCTAATACTACTTTGCATCTTACAGATTAGTTCTTT TACAATACTGTTTTTTTTTCTTTTTTCATTTCATTTTGTCCTTTCTGTGACTCTGGGATG AGTCTTTTTATGAGGATCCTCATATAAAGATGGACATTTAGGATTAAAGAGGATGAAATC CTGACAAAATAGGGAGTCTCCCCTTTAGAAAATTCCTAAGTAAGGCTGGGGGTGGTGGCT CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGACGGATCACCTGAGGTTAGGAG TTTGAGACCAGCCTGACCAACATGGAGAAACCCCATCTCTACTAAAAATACAAAATTAGT TGGGTGTGGTGGTGCATGCCTGTAATCCCAGCTACTCAGGAGGCTGAGGCAGGAGAATCG CTTGAACCCAGGGAGGCAGAGGTTGTGGTGAGCCAAGATTGCGCCATCGCACTCCAGCCT GGGCAACAAGAGCGAAACTCAAAAAAAAAAAAAAAAAGAAAAAGAAAATTCCAATTTTGA AGGCCTCATCCTATATTATGTCAAACATACTGAAATGCAGTAACGCCCCACATTAAATAA GATTTATAAATAACTATACATATATATAATTCAATCTAATTGCTGTTAATAGTTGACATA TTGCTACATTTATATACATTTAGTTAAAAAAAATTTTTTTTCCCAGACAGCCTCTCACTC TTTCACCTAGACTGAAGTGCAGTGGCATGATCACGACTCACTGCAACCTCAACCTCCCAG ACTCAAGTGATCCTTCCATCTCAGCCTCCTGAGTAGCTGGGACTGCAGCATGCGCCACTA TGCCCTGCTAATTTTTTTAATTTTTTGTAGAGACACGGTCTTGCTATGTTGCCTAGACTG GTCTCCAATTCCTGGGCTCGAGTGATCCTCCCGCCTCAACCTCCCAAAGTGCTGGGATTA CGGGCGTGAGCCATGCCACACGGCCATAAAATATTAATTTTCGCAGCTTTCTTATATTTT AGAACTAACAATGGAAATTTGTTCGGGTCTAAAGTATTTCAGAGGTCCTTGAAAACCCAT GCCTACATACCTGATGGAAAAAGCAATCCTAGGTTAATGGTGGAAGTGGGAGTAGAGACT TCTGTTCTGTTGACTTCTTGGAAGATGGGGTACTGTCTCTCTGGGACAGCTCTTGAGAAT TTCCCTGCCAGCACAGCCCCAGATAACAATCTCTAGATGGCGATTACCTGGCCTCTCTTC CCAACTTTCTAGCCTGGAGCCCCTAGTTCTCCCCTGAGCCTCCTTAGCTTGTCCTTCTTC CTAACTTGTATTTGGCTTCAGATGTGATCCACAGTCTGAAAAGTCACTAATTCATTCCTT CAACTCAGGCTTATTGAGTCCTCCTGTGTATCAGCCATTGTACTCATGGGGGAAAAAAAA GACAAAGCATATGTTAATAGTAGAGTGTGCTGGACAGGCACAGTGGCTCATGCCTGTAAT CCCAGCACTTTGGGAGGGCGAGGCAGGTGGATCATCTGAGGTCAGGAGTTCGAGACCAGC CTGACCTAACATGGAGAAACTCCTGAGATCGTGCCATTGCACTCCAGCCTGGGCAACAAG AGCAAAACTCCGTTTCAAAAAAAAAAAAAAAAGTATAGTGTGCTAAAGGCTCAACGGCAA GCTGACCATGTTCTTAGATCAAAATTGGTAGAGAGTCTACAATGTGGGTTCCTTATTCAT CAAATGTTTATTAAGTTTACCATGTGCAAGTCTCTGGGAACAGAGTGATGAACAAGGCAC TGTACTTTTCATGGTCAGAGGAGGGAAACAGGCCATAAACAAGTGTCAAACAAAAGACTG AAGCCAGGTGCGGTGGCTCACATCTGTAATCCCAGCACTGTGGGAGGCCAAGGCAGGCGG ATCATGAGATCAGGAGATCGAGACCATCCTAGCCAACATGGTGAAACCCCATCTCTACTA AAAATACAAAAAAATTAGCTGGGCATGGTGGCACGTGCCTGTAATCCCAGCTACTCCGGA AGCTGAGGCAGGAGAATTGCTTGAACCAGGGAGTTGGAGGTTGCAGTGAGCCTGGATTAT GCCACTGCACTCCAGCCTGGTGACAGAGCGAGACTCCATCTACATTAAAAAAAAAAATAT ATATATATATATATACACACACACACACACACACACACACATACCCTCTAACCCAGGAAT TTCACTCCTAGGTATACCTACATAAGCTCCAGTATACCTAAACAAGTGCAAATTTGTTTA AGTACAGTTATTTGTGGTAGCATTAGTCATTGTTTTCAATAGCAAGAAGAAAAAGGAAAC AACTAAATGTCCATCAATAGGGAATGAATTATATTAATGGAGGGAGAGCCATACAATGGA AGGCTGAACAGAAATTAATAGGAATGGGGCAGATTTGTAATGTACTAGCATGGTAAAACC TTCATGATAGATATAGATATAGATATAGATATAGATATAGATATATATACATATACATAT ACATATACATATACATATATATATATATATATATATATCTCTTGTGTCTCAGCCTCCCGA GTAGCTGGGATTACAGGTGTGTGCCACCACATCCGGCTAATTTTTGTATTTTTTAGTAGA GACAGGGCTTCACCATGTTGGTAAGGCTGTCTTGAACTCCCGACCTCAGGTGATCCACCT GTCTCAGCCTCCCAAAGTGCTGGGATTATAGGCATGAGCCATCACACCTGGCCAAATATT TTTGATAAGTATCAAGTGCACAGTGCAGAACAAAATATGTGTGTGTGTATGCATGTGTAT GTACACCTATACACTTATATACAGTACCCCATGTGAAGAAAAATAAGGGTACGTGTTATG CGCGTAGTATTATGGTTGTTATTTTTGAGAATATATCTAGAAAGATAAAAAAGAAAGTGG AAATAGTTCTTGCCTCTGGTGGGAAGTGGGACTATGTGCCTGATCAATAGGGAAGTAAGG AACACTTTTTTTTTTTTTTTTTAAACGGAGTTTTTGCTCTTGTTACCCAGGTTGGAGTGC AATGGCGCGATCTTAGCTCACTGCAACCTCTGCCTCCCAGGTTCAAGCGATTCTGCTGCC TCAGCCTCCTGAGTAGCTGGGATTATAGGCATGCGCCTCCACGCCTGGCTAATTTTGTAT TTTTAGTAAAGATGGGGTTTCTCCATGTTGGTCAGGCTGGTCTTGAACTCCCCACCTCAG GTGATCCGTCCGCCTCAGCCTCCCAAAGTGCTAGGATTACAGGCGTGAGCCACCGTGCCT GGCCAGGAACGCTTTTTATTTTTGTACCTTTAAAAGTGTGTACCGTCTGTGTATATAATC AGTTAAAAACAAAGAAAAGCTGAGTGTGGTGGCTCATGCCTGTAATCCCAGCCCTTAAGG AGGCCGAGGCCGGCGGCAGATCACCTGAGGTCAGGAGTTCAAGACCGGCCTGACCAAAAC GGTGAAAACTCATCTCTACAAAAACATAAAAATTAGCCAGGCATGATGGCAAGTGCCTGT AATCCCAGCTGGTTGGGAGGCTGAGGTGGGAGACTTGCTTGAACCTAGGAGGCAGAGATT GCAGTGAGCCAAGACTGTACCACTGCACTCCAGCCTGGGCAACAGAGCAAGTCTCTGTCT CAAAACAAAAACAAAAACACAAAGAAAAAATGTAAAACAATTTCATGCAGTAGCAAGCAT CGAGTTAAATACAGTTGACCCTTGAACAACACAGGTTTGAATTGCACGGGTCCATTTATA CTCACATTTCTTCCACCTCTGCCACCCCCAAAATAGCAAGACCAACCCCATCTCTTTTCC TTTCTCTTCCCCCTCCTCAGCCTACTCAATGTGAAGATGATGAGGATGAAAACCTTTGTG ATGATCCACTTCCACTTAATGAATGGTAAATATGTTTTTTCTTACTTATGATTTTCTTAG TAGCATTTTCTTTTCTCTAGCTTCCTTTATTGTAAAAATACAGTATATAACACATATCAC ATACAAAATGTGTGTAAATGGACTGTTTGCTATTGATAAGTATTCTGGTAAACAGTAGAC TATTAGTTTTTTTTGTTTTGTGACAAGGTCTCCCTCTGTCGCCCAGCCTGGAATGCCGTG GTGTGATCATGGCTCACTGCAGCCAAAAACTTCTGGGCTAAAGCAATCCTCTACTAAAAA TACAAAAATTAGCCAGGCATGGTGGTGCGCTTCTGTAATCCCAGCTACTCAGGAGGCTGA GGCAGGAGAATTGCTTGAACCCGGGAGGCAGAGGTTGCAGTGAGCTGAGATTGCACCGTT GCATTCCAGCCTGGACAACAGAGCGAGACTCCATCTCGAAAATAAAATAATAATAATAAT AATAATAATAATAATAATAATAATAGGGCTGGGTGTGGTGGCTCATGCCTGTAATCCCAG CACTTTGGGAGGCCAAGGTGGACAGATCACCTGAGGTCAGGAGTCTCAATTAAAAAATAA ATAGGCCGGGCACAGTGGCTCATGCCCATAATCCCAGCACTTTGGGAGGCCGAGGTGGGC AGATCACCTGAGGTCAGGAGTTTGAGACCAGCCTGGCCAACACGGAGAAACGCTGCCTCT ATCAAAAATACAAAAATTAGCTGGATGTGGTGGTGCATGCTATAATCCCAGTAATACCAG CTACTCGGAAGGCTGAGGCAGGAGAATCACTCGAATCCGGGACACGGAGGTTGCAGTGAG CCGACATCATGCCACTGCGCTCCAGCCTGGGTGACAGTGAGACTCTGTCTCAGAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAATATATATATATATATATATATATATATATATAT ATATATATGTGTGTATATATATATATATACACATATATATGTGTATATATATATACACAC ACACATATATATGTGTATATATAAAATAAAATAAATAATAATAAAACATTTACTTTGGCT GCTGTTGCTGCGGGGAGAATTGCAGGGTGTCAAAAGTAGCACTGGTGGAGGGGTAGTGAT CAAAGTCTGGTGCTTTAGCCCAAAGGAGAAATGATAGAGACTCAGACTAGCTGGTGATGG AGGTAGAATAAGCATAAATGTATCAAAAAGAGGAGTTGATAGATCTTAAAGAATGATTGG ATTTGAAGGGCAAAGGAAGAGAAGAATCAACCAGGTGGGTTCAGTGAATGAAACCATCAG AAACGAATTGTCCCCTGAAATCAAGACTTTGTGATTGCCATAGTTGTATGCTTCTCAAAG GTTCCTCGTCTCCTCTTCCTTGGACCAAAAGTCAGAGGCAAGAATGCCCTCATTCATACC CCAGTGGTCTATACCTCCAGCAGCAAGTCGAGTGAGCAAGTGATGTCCTGAAAGGCCCAG TGGATCAGTGGAATGAAGCGGGCAGGAAGACTTAGTGCTCCTGAAACAAGGAATCCAGAA TCCAGGAGAAGGATGGCTCAGTGGGGCTTTCAAGGGACAAGTATGGGGGTTGAAGGGGTC ACTGTCCCTATACCAAATCCGAAAATATTGTGACCAGGAACCATTCTGTCCAACTCTTCT ATTTCAGGTGGCAAAGCAAAGCTATATTCAAGACCACATGCAAAGCTACTCCCTGAGCAA AGAGTCACAGATAAAACGGGGGCACCAGTAGAATGGCCAGGACAAACGCAGTGCAGCACA GAGACTCAGACCCTGGCAGCCATGCCTGCGCAGGCAGTGATGAGAGTGACATGTACTGTT GTGGACATGCACAAAAGTGAGGTGAGTCGCAGGACAGAAGAGTGCTTTTTGTTTCAGCAG AGCAGCCTGGGGAGAGATAAAAGCTACTCCTGGGGCCTGGGCCTGCATTCCTGAGATGTG GGTAAGAGGGGCCCAGGGTCAGAGTGTCTGGCAAGCTTGGCTCTGCCCCTTTGCTGTCCT GGAGACTAGGGCTAATCCTGGGCTCAGGGAGTGGCCTCCCCATGGTTAGGATACAAGTGC TCATCAAGGGCCACCCCTAGGAAGGACCAATTTTCCTATCAGAAGCTTCTAAGTTATCCT CCTTTGGCCCAAAGGGACACCTCAAGCCTACTCTGAGGAACTCTTTCCAATGAACTAATT CCTACAGTCACTTCCCCAGCAACCTGTGCCTCAGCCTCAAGGCACTGTGGGGTAGGCCTC AGTTTGTGGCCTGGACATCGGACTGTGGACCAGACGACTCCTCCCGATTTCTGTTTGTTT TCAGTCCTCTGACCCCAAGCTGGCTGGTGAAGTAGGTAGAGGGAGGAGACTTTGGTGCAT GCATACACACACACACACACACACACACACACACACACACACACACACACACACACACGT CTCCTGTGCCCCCCAGTCTCCATGGCTGGTCAATGATTGACTGGCATTTCACAGGCCGCT GGTTGCAGCCCCAGCCTGTTGACTTAGAGGTCACCCTCGGAAGCTAGAGCCCTGTCCTGC CTCTTCAGTGTCAGTGGTCACTCCACTGCCCACAGGCTGGGGTCTTGGGCAAAACACACG CATCTGCCCTGATCTGAGTTTGCTGCCCTCTGTCCCGCAGTCAGCCCCACTCTGTTCCCA CTCCCTCTCCCCAGCCCCCTAGCTAGACCCCTCTCACCAGCACCCCTTTCCCTTCCCTGA GGGTCCCCCTCGCTGTCTTTGTCCCTCAGACATCCTCTTTCCTGGGCTCTCCTGCCAGGC CCTGCTGGAGGGACAGTTAAGGAGGAAATCGAATCAGCAGCGCCCACCCCTGCCCCCCTT CCTCTCCTCTTGTCAGACACCAGACGAGGTTTTTTCCTCTGGCTTCCCAGCTCTGAATGG GCTCATTCTTTTTCAGAGGCTCGGCCCCTCTCGAGCCTCCTCCCCAGGGCGTGAGTTCTG ACCCCAGCTCCTCCCCCCATCCCCACTCCAGCCCCCTCTCCAGCTTGCTCCACCCTCTCT ACCGCCCACCGGGACTGGGCATTGTCTGCCAGTCCGGGTTTCTTCCTGGGATTTGGGATG CAGAGAGGATGGGTTTGCTTGGGCGGGGGGGTGGAGAGTGAAGGGGGGAAGCAGGATCTT TGTAGAGGGAGGGACCTACAGTTACCTGGACTTCTTTCCTCTGTCTCCCCTCTTGGTACC CTTGACTGGGGCTCTTGAGGGTAATGGGTGAAGCCAAATCTGCCATGGCTCAGTTCCCAG CTCAGCTCTGTGACCTTGGGAAAGTTCCTTTAGCTCGTGGAATCTCAAGGCTCAAGGTTC CTCTTCTGCAAAATGGGGAATGATAACACCTGCCTCCTCTGGAGTCTTGGGGACTCAGTG TTCTGAGGAACGTGGCTGTAGGTCAGAGTGGCACAGAGTAGGGTCCAATGAAGCATGGCG TCCACAGTAGCTTTCCTGACTGGACTAACCTTTCCGGACACAACAGCAGGGCAGGGGTGG GGCCTGGGGAGAAAGGACACCTCTAACCCTGATCCTAACATCCCGATGGCCTCTAAGGCT GCCTGCACACTCATCCAGGTGCAAGCCCTCCAAGGTGTGGTGTGATGAACCAGTGACTCC TGGAGCCAGGTCAGCGCATCCTCTTCCCGCAGGGCTGTAAGCTGCAGGACTGAGAGGCAG GTTGACCAGGTCCTGGGCTGGATGATGGGGTGAGAGTAAGGGGTCAGTTTTGATACATGC CCAACTTTTCTCTCTAGCCCTAAGACATCCTGGGCAAATTGCTTACCTCAGTTCCCCTGA TCCTCACCCTAACCCTAACACCAGCTCAAGAGAAAATAGGGATATTGATGGCCATCCAGA AGGGCTGCTGTGTTCCATACACAGCAATATTTCTCGAATGTTTGTGACAGCGGTCCAAGG AATAAGTTAATTTTACATTATCACTCTGGATACCTGTACAAAACTCCACCTTATCCTTAC TATATGAATGTGCTAGGGTTGTTTTTTTGTTTTGTTTTTTTTTTTTTTTTTTGAGACAGA GTTTCGCTCTTGTTGCCCAGGCTGGAGTACAATGGCGCGATCTTGGCTCACCGCAACCTC CGCTTCCCAGGTTCAAGCGATTCACCTGCCTCAGCCTTCCCGAGTAGCTGGGATTACAGG CATGCGCCACCATGCCCGGCTAATTTTGTGTTTTTAGTAGAGACAGGGTTTCTCCATGTT GGTCAGGCTGGTACCAAACTCCCGACCTCAGGTGATCCACCTGCCTTGGCCTCCCAAAGT GCTGCAATTACAGGCATGAGCCACCGCACCCAGCCGTGCTAGGGTCTTTTTCTGTTCAAT TCCTTTCTCTCTCTTGCTCTCTTTCTTTCTTTCAATGGAGTCTTACTCTGTCACCCAGGC TGGAGTGCAGTGGCAAGATCTCAGCTCACTGCAACCTCTGCCCTCTGAGTTCAAGCAATT CTCCTGCCTCAGCCTCCCGAGTAGCTGGGATTACAGGTGCCTGCCACCACACCTAGTTAA TTTTTGTACTTTTAGTAGAGATGGGGTTTTGTCATGTTGGCCAGGCTGGTCTCGAACTCC TGACCTCGTGATCTGCCTGTCTTGGCCTCCCAAAGTGCTGGGATTACAGGCATGAGCCGC CATACTCGGCCAACTTTGTATTACTTTCTTAAAGAGAGTTTCCCAAATTATATAAGCTTC AGGCCCCACAAAACCTAGATCTGCCCCAGTATAACTAAATCTGGGACCATTTATTGAGCA ATTATTATGTGCCAAGTATTGCGCTGAGTGCTTCCAGAGCATTATCTCCTTTAACCCCAG CATAGTATGTCAGATGCTGTTTTACAGATGAGCCAACTGAGACCAGAGATGCTCAGTCAC TTGCCCAAGGTGACATGACTGATATGGAATAGAGTCAAGATTTTTTTTTTTTTTTTTGAC ACGGAGTCTCACTCTGTCTCCCAGGCTGGAGTGCAGAGGCGCAATCTCAGCTCACTGCAA GCTCTGCCTCCCAGGTTCACGCCATTCTCCTGCCTCAGCCTCCTGAGTAGCTGGGACTAC AGGCACCCGCCACCACACCTGGCTAATTTTTTGTATTTTTAGCAGAGACAGGGTTTCACC GTGTTAGCCAGGATGGTCTCGATCTCCTGACCTCGTGATCTGCCTGCCTCGGCCTCCCAA AGTGCTGGAATTACAGGTGTGAGCCACCGCGACTGGCCAGATTCAAGATTTGAACCCAGG TCCTCTTGGTCCCAGAGGCCCCTGTTTCTCAACTCCCTAGGATGGCATAGCAACCTGTCC CACAAGAGGTGCCTGCTTTAAGTGTGCTCAGCACATGGAAGCAAGTTTAGAAATGCAAGT GTATACCTGTAAAGAGGTGTGGGAGATGGGGGGGAGGGAAGAGAGAAAGAGATGCTGGTG TCCTTCATTCTCCAGTCCCTGATAGGTGCCTTTGATCCCTTCTTGACCAGTATAGCTGCA TTCTTGGCTGGGGCATTCCAACTAGAACTGCCAAATTTAGCACATAAAAATAAGGAGGCC CAGTTAAATTTGAATTTCAGATAAACAATGAATAATTTGTTAGTATAAATATGTCCCATG CAATATCTTGTTGAAATTAAAAAAAAAAAAAAAAGTCTTCCTTCCATCCCCACCCCTACC ACTAGGCCTAAGGAATAGGGTCAGGGGCTCCAAATAGAATGTGGTTGAGAAGTGGAATTA AGCAGGCTAATAGAAGGCAAGGGGCAAAGAAGAAACCTTGAATGCATTGGGTGCTGGGTG CCTCCTTAAATAAGCAAGAAGGGTGCATTTTGAAGAATTGAGATAGAAGTCTTTTTGGGC TGGGTGCAGTTGCTCGTGGTTGTAATTCCAGCACTTTGGGAGGCTGAGGCGGGAGGATCA CCTGAGGTTGGGAGTTCAAGACCAGCCTCACCAACGTGGAGAAACCCTGTCTTTACTAAA AATACAAAAAATTAGCTGGTCATGGTGGCACATGCCTGTAATCCCAGCTGCTCGGGAGGC TGAGGCAGGAGAATCACTTGAACCAGGGAGGCAGAGGTTGTGGTGAGCAGAGATCGCGCC ATTGCTCTCCAGCCTGGGCAACAAGAGCAAAAGTTCGTTTAAAAAAAAAAAAAAGTCCTT TCGATGTGACTGTCTCCTCCCAAATTTGTAGACCCTCTTAAGATCATGCTTTTCAGATAC TTCAAAGATTCCAGAAGATATGCCCCGGGGGTCCTGGAAGCCACAAGGTAAACACAACAC ATCCCCCTCCTTGACTATCAATTTTACTAGAGGATGTGGTGGGAAAACCATTATTTGATA TTAAAACAAATAGGCTTGGGATGGAGTAGGATGCAAGCTCCCCAGGAAAGTTTAAGATAA AACCTGAGACTTAAAAGGGTGTTAAGAGTGGCAGCCTAGGGAATTTATCCCGGACTCCGG GGGAGGGGGCAGAGTCACCAGCCTCTGCATTTAGGGATTCTCCGAGGAAAAGTGTGAGAA CGGCTGCAGGCAACCCAGGCGTCCCGGCGCTAGGAGGGACGCACCCAGGCCTGCGCGAAG AGAGGGAGAAAGTGAAGCTGGGAGTTGCCACTCCCAGACTTGTTGGAATGCAGTTGGAGG GGGCGAGCTGGGAGCGCGCTTGCTCCCAATCACAGGAGAAGGAGGAGGTGGAGGAGGAGG GCTGCTTGAGGAAGTATAAGAATGAAGTTGTGAAGCTGAGATTCCCCTCCATTGGGACCG GAGAAACCAGGGGAGCCCCCCGGGCAGCCGCGCGCCCCTTCCCACGGGGCCCTTTACTGC GCCGCGCGCCCGGCCCCCACCCCTCGCAGCACCCCGCGCCCCGCGCCCTCCCAGCCGGGT CCAGCCGGAGCCATGGGGCCGGAGCCGCAGTGAGCACCATGGAGCTGGCGGCCTTGTGCC GCTGGGGGCTCCTCCTCGCCCTCTTGCCCCCCGGAGCCGCGAGCACCCAAGGTGGGTCTG GTGTGGGGAGGGGACGGAGCAGCGGCGGGACCCTGCCCTGTGGATGCCCCGCCGAGGTCC CGCGGCCGGCGGGGCCAGAGGGGCCCGGACGAGCTCTCCTATCCCGAAGTTGTGGACAGT CGAGACGCTCAGGGCAGCCGGGCCCTGGGGCCCTCGGGCGGGAGGGGGCAGTTACACGGC AGCGGCTCGAGATGGCCCATCCAAGAGACTGGCGCTTTCCAGGCTCCGAGGGGCTCCGGG AACTTGTCAAAGAAGTTCTCTGAAATTGTTCAGAAAGTTTTCCCGCAAAGGGTGTATTGC GTAGAGCGCGCGCGCGCGTTTCCCCCCTTCTTGAGCCCCCTCAAGCTTTCTCAAAGCCTT TCCAGTTGGCAGCCTCCGCCTCCGGACTGGCCTGGGCTGGATTCCTTGGGGGGGTCCTCT GCCCTGCCCCTCCTCCAGCCCCTCCCCGCTCCCCTTCAGACGATTTTGGTTTGGTTGCTC CTGCTTCTGGCGGGGTCGGGTGTGTGTGTGTGTGGTGGAGTGGAGGGTGGCATAGCAACC TGTCCCAACCAGAGCCGGGGAGGAAAGGGTGGCCCGGAGGGTGGCCTCTTGCTGGGGTCT GGGTTGGGGGCGGGGGAGACGTTTGCTTTGAACAGATTCTTGGGGCCAGCTTAGGGACTG TGCTCTGTGACTTTTGGAGCGCGTGGACCATGGAGGGGTGGGGGTGGGTTTCTTGGGGTG TAAAGTGGGAGAGTTCCCAGAGAAGGAAGCTAAGAAATAAGGCCAGATGGGAGCCTAGGG AGGGCTGCGTTGTTCTGCTGCCTTTTCCTTGGTGCTGTGCGTGGGGAAGGGTGAGTGGGG GCAGTGTGTATCCTGACCCATCTGTCCACCTGTGTGCATTAATCATAAAAGCTAACATAT AGCCTGGGCCAGGTATACTCTGCCAGGAACTGTTTGTGGTGTTTTGCATGCATTCTCCTT TAATCCTAGAACACCCCTATAGTGGAAGTTCTGCCAGCATTCTGGACTGAGTAGCAGTCC AGAGGTTGAGTAGCAGCTAGTAAGTGGTGGGGTCAAGATGGGACCCCAGGCAGTGCGACC CCCAACCATGCATTCGAAATCGCTATATGGATGAGTGCACCTGGAGCAATGAGGGACACT GCTCCCTGAGTCACTGGGCTGCAGGGGAGACAAAATGAAAGTGTTCTGGGAGTCGTGGGT GGTCTCCATAGGTCAGAGGGTCTGGGGAGGGAGTGGGTGTCATCGTGGCTGTGTGTTGCC CGAGGGGCCCTCTGTGAGTGAGTGCATGGCCGTGTTATCTCTGCAGGTCTACGCCAGGGT GTTCCTCAGTTGTGTGGTCTTTGTATTTGTGTGTCTGGGCTTTGTGTTGCCAAACAGCAG TCTCTCTGCTGACTTGGGGACACAGGCTGAACTCTGTCCTCTGCAGGAACTCCCTTAAGG TGCTGGGCCAGATCTGCCATAAACAGAGGGAGGTAGCCTTCTATGGCCACGCCTTCTTGC TGAGGAAGAAGGTTCCTCTCTTCCAGGGAGTACATCCTTGCCCTCCCTGTTTCCCAGACA AGCATCTTCACCTCTCATCTTCTGATGAGAAGGGTGAGGCCATACTGAGCTGTCAGGCTG AGCTGCTGCCCTTCCTCACCTTGGGCTGGGAGTTGATCAGGGAATGGCAGTTGCTGCAGA GCTGGATTTGAGGGCTGGGTTCTCTGGATGGGGCCTCCTCATGTCCTCACCCCTCAACCT GCACTATTGATTGTGTTGTGCAGGAGTTAGTTAAAAAGTCATTGCACAGCCTGGGCAACA AGGCAAAACTCTGTACAAAAAATACAAAAATTAGTTGGATGTGATTACACGTGCCTGTAG TCCCAGCTACTCCGGAGGCTGAGGCAGGAGGATCACCTGAGCCCAGGAAGTTGAGGCTTG CAGTGAGCTGTGATTGCAAATGCTCTCCAGCCTGGGTGACAGTGTGAGACTCCGTTTCAG AAAAAAAGTATACCACCCAGCTGCCTCCAGCACCCAGATTTTACCCAAGGGGTGAGGTCT GGGGCAGGAATGTGGGGGAAGGGGAGGCCTAGGGGGAGCCCCAGAGGGGTCAGGATTTTT CTGAAATCCTTTCTTAGAGGTATGGGTTTTACAAATTGCAGCAAATACATCCTTTTAATC TTGCAGAACTCCTTCATATTTTAATTCCAGTATGATTCTTCCAACAGCCTCCTCTCTTTA CTATACTTGGGGAAAGTACTCATTTTATTTGTCAAGAAAAAAACAATTGAAAAGATAGGG ATCAAATGTAAAAAGAAAAAATACGTGGCATTCCAAAGTCAAACACAAAGCATGTTTAAT TTTCTCGTGGTTTGGGATTACCCATATTCCTGCTGTATGAACCTGTCTTGTCTTAACTTT TAAGAAATGTACGGTGTACTTCCTATATGCTAGGTTTTTATCCATGCTTTCATTTAATCT CTGTGACAGTCCTGTGAAGTAGGTGCACAGATGAGAAAATGGAAGTTCAGAGAAATGAAG CAACTTATCCAAGGCTCCCAGCTACCCAGTAATGTCCAGGGAATTTTTGGACTCTGAAGA GGAGGCATTAAGAGGTGGTTAGAGTCTTATTCCAGCCAACAATAATGGGTTGAACAAAGC CTTAGGGGCAGGCAGGTGGCCAGATGGGAGGAGAAGCGCTCCTCTTGTTCAGGCGAATGA CCTTTCCATCCACTTCTCTAGGCTGTAGAAAGTGGAGCTGAGCTGGGGGCCCTGAGGTTC CCTCTTGACTTCAGAGTCCTCTCCCTTCCTGTCCAGCCAATGCCTGTCTTCCTTTTGGGC CCTACCAGCATGACAGGGGGCTGCGGGCAGGAGGGGACAGAGGCCACGTTGACACACAGG GCTGTGGGTGAGAGAGACAGCTGAAGTGTCAGCGTGAGGGGCCAGTGTGGGGCTGCGGCT GGGAGGGCTGGGGTGGGGCCCAGGGTAGTTGTGCCTGTCCTTGGGTGATGGAATGATCTG GAAAGAGATTCCTTCCCTGCCCTCCACCTGTGAGAAGCCCCTCTAGAGTGACATCTCCAT CTTATGTTTGGCCACCCATCCTCCCCCTGGGAAGAGAGCCGAGGTGGGGTAAGGGATGTG TACTCTTTCAAGGAGTGGGAGAATTATTCTAGCGAATGTTTGTGTTGTCCCAGTTCTGTT TACAAAGCCTCGTCATGTTTACAGATGGCTGCGCAATTCATTACCTCATTTAACTCTCAT GTACCTCCTCTGAGGGAGTAAGAGCTGTTACAGCCAAGTTTAGGTCAGTAAATATTCACC AAGTTGCAGGTACTGCAGGGCATAGAGATGAATCCGATTTAGCTTCTGCCCTGGAGGTCT GGGAACTTGCTCAAGATCACTCAGTGAGCAGCTGAGCTAGGGTTCTCAACTAAAGACCCT GGGCCCAGGCCCTGGTCTGATGTCAGGCCTGATACACCAGGTGTTTGTGGTCGGGGAATC CCAGTGTCACTTGAATGGGCTGTGACATTATGGGTCTGGGAGAGCTGAGCTTTGGGGACA CAGGTCATTTTACTGTAGTATTCATGGAAACCAAGGGAAGTATTGGCTTTTCTGCTGTGA GCAAGAGGAGCAGCTGGGGCTGCAAGCTGGTGGGGAGGAGAGAACCCACCTGAGAGAAAC CTCAGGACTGGGGTCAAGTCCTGACCACCAGAGTCCAGAGAGACATGAAGGACTGTGACC AGCTCTGAGCAGAGAGATGGATTCCATGACCTCAACTGGTCCCTTTTGTTCGGAGACTCG TGACTGGACTTCATTCATCCACTCATTCATTCATTCACTCAGCAGACACTTATCTAGCGC TCCCTGTGGCTGGTCCTGCCTCATACTGTCTTTGCTCTGGAGAATTGGAGGTTGGGGTTC CTGAGGGGCAGGGTCCTGGAGACAAGGACACTCCTGGGTAGAATTAGGACCTACCCCCCA GGAAATCAACGGGGACCAGGTGCCGTGGCTCACACCTGTAATCCCAGCACTTTGGGAGGC CGAGACGGGCGGATCACAAGGTCAGCAGTTCAGGACCAGCCTGGCCAACATGGTGAAACC CGCCTCAACTAAAAATACAAAAATTAGCCAGGTGTGGTGTCAGGCACCCGTAATCCCAGC TACTGAGGAGGCTGAGGCAGGAGAATTGCTTGAACCCGGGAGGCAGAGGTTGCAGTGAGC CGAGATTGCGCCACTGCACTCCAGCCTGGCGACAGGGCGAGACTCCATCTCAAAAAAAGA AAACCAATGGGACAGGGCAGATATGGGGACAATGGTAAGGAGATGGGAGAGTGGGAGGGA GGTGTCAGGAAGACCTTCTTGACTTCATGTAGGCTGGTGGGGGTGTTAGCCAGCAAGCCT CCAGTTCCCTGGGAACCGTTCTCAGGGTACCAATTTTACCACCTGTCTGCAAACACTTTA AGATTCTTAATCAGACTCAAATTGGCCACAAATCAGGTAAACAAACTCACTAGTGGGGTG GGGCTACCACCCGTTCTGACCCTCCAGCCCAACCCAGCCCAGCCACCCTGCCCTCCGTAG AGCCTGTGGTGTTTATCGGTGGCATTGGGAGAATTAGTGTGTATTTATGTTGGCGTGGGG TGTGGGGTGGATTTGTGTGTGTGCAGTTAGGCCTAGTGGAAGGAATGTGGGATCTGAAGG CAGGCCAGCCTGAGTTCCAGTCCTGCCTGTTGCTCACAAGCTTTATGAGGCGAGAGCTAA CCCCTGCCAGCCTCAGTTGTCTTCTTTGCAAGATGGAGGTTGCAGCCCCAGTCTCTGGAG CATGTTATGCAGATCCACCGAGAGTGCCTGCCAGGCACACAGTAGGTGCTCAGCTCAGTT ACTGTGGCGGCCCCCACTCCCCATTGTTGTTGTTTTCCTATTGCCTGGCGGCCACAGCTG GTATCCCTTGAAAAGGGCTACAGGGGGTGGAGTCGGACCCTGCCCCAGCCCTGTGGAGAC CCTGGGCTTGGGCCAGGGCCTGGGGTCTGGGCCTGCAGACAGCTGTGTCTATAAAGCAGC TGAAGGGCTGAGGCCGGGGGAGGTCCTGGCAGCAGGGCGTTATTTTGGGCCTGGCCTGCC ACCCCCAGCTCCTGTTTCTCTTGGGAGTCTGTTGGGGGAGGAAGTGTGGGGAAGAGGAGG GGGTGCAAGTGGGTGAGGCATGGAGTGGGGAGGCCTCCCTCAGGGACATGGACCCTTGAG TTCTATTTCTGTTCCTCCCTCCTGTTCCTCCCTCTTTGTCCTTATCTGCCTAGAGAGGTG GGAATAGAGGCCATTCTGAGTATCACTAGGAGACCACCAGTTTGTGGCCACTGGCCACTG GCCCAGGCAGGGAACCTGGGGGCTTGCCCTACCAGCCTCTCCCAGCAATCTGAAGGCAGG GGGTACCTCGTATTACCCCCTAGGATTTGACCTTAGGCTCCAACTTGCTGGGAGAGCAGT GCCTCTGGTGTCAGACCCCAAGCCAGCCCTTGTGCTGTCCCTGAATCTGCATGTAGCCTG TGGGAGGCGGAGCAGTGACCGGCAGGAATTCTGGGCAGCTCAGGCACCTGTGGGCCTGAG GGTGCCCTCTGCCCCCACCCTTCCGATCTCCTGGGCAAGACACGCCAGGTGATTCATCTC ACCAGAGCAGAAAAACAAGTTCAACTGGGCACTTTAATCTCCCCTCACTGGCAGGCCTGG TGTGAGCTGCTACCCCGGCGCCCCTCACCAGGGGTGCTTTACCTCCTCTAGTATTCCTGA CCTTAGTGGGCATTTCTGGTCTCAGGGATACCAGGCTGGGGTCCAAGTGGGCCAGGTGTG GCAGTTCAGCCCTATGCCCCATGGCTGATGGCTCGCGCTGGGCAGGTATGCAGGGCTGAC GTAGTGCCTTTGTGGCAGCAGTTTCGTGGCACACATTCTGCCAGCTGGTTCTGGAGTCTT GCCCTGAGGAGGTGGCCAGGGTGAGGGTGCCAGCGCAGGAACCTTTGGCGCATGCTTCAC CCTGGCCTGGGATCTGCAGCCTGGGTCCAGATGCCCACAACTGGAATCTGACGCTCCTTT TCTCTTCATGGGGGACTCCCAGAGGTCTCTGCAATGACCAGAGCCCCGGTTGTCCCATGC CTCAGCTGCAACTCCAGCTGACCCTCCTTCCCCACTCTCTGGGTGGCATTACGGGGGTGT GGATCCCTTGCCAAGAGGTTGGCATGTGGGTGTGCTGGAATGGCATAGGGAGAATGCACC GAGTTTGTTTGCTTGGGAGAGGGGCAGGGGGTATCCAGAAGATTCATGATTCGTCATCGC CTCTCTTGGGGGATTTTTACCCCTTTGCCCTGAGTTGTGCCTTTGGGACAAAGGAAGCCT TTCTTTGCCAGCCAACACCCTGTACTGGCGGGCGAGCTCCCCAGGGCTGGCACGCTGGGG CAGCCTCTGAATGCACAGGGTGGGCCTAGTCAGAAGAAGCCTTTCCCCTGAAATCCCTCT ACTTCCCAAGCACGCAAGCTTTCTCCTGCTGTTAAACCTGCAGTGTGCAAGGGACATGGG CGGAGGGGTCCTTCAGTCAGGCTTCTCCCTGTCTGAGGTGGCATGACTTGGAGTGAGTTT GGATGGGGTGGCCAGGTCTGAGAAGGTCCCCCGCCAGTGTCCTCTGACCCATCTGCTCTC TCCTGCCAGTGTGCACCGGCACAGACATGAAGCTGCGGCTCCCTGCCAGTCCCGAGACCC ACCTGGACATGCTCCGCCACCTCTACCAGGGCTGCCAGGTGGTGCAGGGAAACCTGGAAC TCACCTACCTGCCCACCAATGCCAGCCTGTCCTTCCTGCAGGTGAGGCCCGTGGGCAACC CAGCCAGGCCCTGCCTCCAGCTGGGCTGAGCCCTCTGTTTACAGGTGGGTGGCAGAAGAA GGTGCCCTGCCCTTCTGTTTCCTCTCTTGTTGTGGTTTCTCAACCAGGAAGTCCTTTCTA ACATCTAACCCCCATTCATTTTACTGCAGAATCAGTTGACTCTCTCTATAACGTGGCTGG CCGAGGTCATGTCTGGATGGGATGCGTCTGTGTTTCCGCTAAATCTTGTGCTCTCTTGCC AGCATGATCATGTCCCCTGTCCACCTGCTCCAGCCACTATCCCTCTCCCACTTACAGCAG AAGAAAGGGCTGGTGAGAAAGGTGGATTACAGGCCCACTTCTGCCACTGACGAGCCCTAT GAATGTGGCCTACACCCCCTTAGCTTCACTGGGTCTCAGTTTCCCTATCTGTATATTGGG AGCAGTTGTGAAGCTCAGAAGAGAAATGTCTGTGAAAAGGTTATGAACAGGAGGGAGAGT GGAAACCAACCTGCTGGATCGTGTCCACAGACCCTGGAATGGGGCCACATGCTTGGTTTG TCAAATTGCAGACGCCGGCCGGGTGCGATGGCTCATGCCTGTAATCCCAGCACTTTGGGA GGCCGAGGCGGACAGATCACTTGAGGTCGGGAGTTCGAGACCAGCCTGACCAACATGGAG AAACCCCGTCTCTACTGAAAATACAAAATTAGCCAGGCATGGTGGCACATGCCTATAATC CCAGCTACTTGGGAAGGCTGAGGCAGGAGAATCACTTGAACCTGGGAGACGGAGGTTGTG GTGAGCCTAGATCGTGCCATTGTACTCCAGCCTGGGCAACAAGAGTGAAACTCCGTCTCA AAAAAAAAAAATTTGCAGACGCCATCCCATCCAGGCCTTTGCTTTCACTGATGAAGAAAC TGAGATACAGAGAGGGCAGGGCACCTGTTCGGAGTTTATGAAATGCCCCCCCACCATTAT CTTTCTTGATCATATAAGAATCTGGTGAGGCAAGGTAGGGCGTGATCTTTATCTCTATTT TATCGTTTTATTTAAGCGGGAACAGGACTGCTCAGTGGCTGGGGGCCTTGCCCAAGATCT CCAAGTACTGGGGAACCCCAGGGAGGCCCTGGGGGGTGGCAGTGTTCCTATTTCAGCCCC ACTCTGCTTCCCCCTCCCAGGATATCCAGGAGGTGCAGGGCTACGTGCTCATCGCTCACA ACCAAGTGAGGCAGGTCCCACTGCAGAGGCTGCGGATTGTGCGAGGCACCCAGCTCTTTG AGGACAACTATGCCCTGGCCGTGCTAGACAATGGAGACCCGCTGAACAATACCACCCCTG TCACAGGGGCCTCCCCAGGAGGCCTGCGGGAGCTGCAGCTTCGAAGCCTCACAGGTGGCC TTCACCGTCATTGAAACCTTCTCTTGGTTATTCAGAGCTGACCAGGGCCACTGCTAACCA GGGGGAGGCTTTGTGTGCATTAGAAATGGTGTCCCTTCTGGGCAGACGCAGGCAGAGCCC GGGAAGACGCCCTCAGAAGATTGGAAAAAGATTCCCCTTCTTCCTGGGAAGTTGTAGCTT GCGTCAGCACATATAATTCAATCGTGAGAATGCAGGCTGGGTTTTTGCCCCCACTTGGCT GAGTGAAGTGTACAGTGAACAACCTATGTAACTATTTGCTGGCCCTGGAGCCGACTCTGC CCCAGAGTCTGGGTGCCAGGTGCTTTGCCCGCATGGCCCATTTCAGTCACGCTGCAGTCC TGTCAGGAAAAAATCAGTGTTATTCTCATTCTACATATGAGAAAACTGAGGCTTGCAGAT ATAAGGGCCAAAAGTTACACAGCTAGTGAGTGATGGGGCTGAGTTTCAGACTCCACAGTC TCTTAACCACCAAGCAGCATGCCCAGAGTAGAGGTGAGAAGGAAGGAGAGAGCTGCGGTC CACATGAGCATCTGGACCTAGCATGGACAACTCACTCCTCCCTGGCTCTCGCTTTGTTCT TGTTGCGGGTGTGGTGGTGGTGGGACTCAAAGACGGTAAAGATAGCTTTCTCTCCTCCCT GGGGAATCTGGGGGTTGTTTAAAAGGCCTGCTCCTCTTTTAGAAGGCAGGAGGGCCCCAA GGGAAGCAGAAGGTGACAGAAGGGGAAAGGGTCCTCTGATCATTGCTCACCCCACAGAGA TCTTGAAAGGAGGGGTCTTGATCCAGCGGAACCCCCAGCTCTGCTACCAGGACACGATTT TGTGGAAGGACATCTTCCACAAGAACAACCAGCTGGCTCTCACACTGATAGACACCAACC GCTCTCGGGCCTGTAAGCCATGCCCCTCCCTGCTGCCTCTTCTCTCAGACAGCCTGACCC CAGCCGCAAACTCCCAACTTACAACCCAGTGCCTGCCCGCCACTGCCCCAGCCGCCTACA CCACCCATTTCCTCCCTCTCTGTCCCTCCTGCCATCTCCCTGTGCCTCTTCATCTCTGGG GTTCTCTGTCTTGTCTCCCTCTGCTTATAGGTTGTGCCTCTGGTTTGGGGGCCTCTCAGC CTGTCTGGGTCCCTCCCTTGCTGTGCAGTTGGCCTCGTGGCCTCTGCTGCTGTTTGTGCC TCTCTCTGTTACTAACCCGTCCTCTCGCTGTTAGACATCTCTCTCACTGCCTGTCTCTGG TTCTGTCCTCAGGCCACCCCTGTTCTCCGATGTGTAAGGGCTCCCGCTGCTGGGGAGAGA GTTCTGAGGATTGTCAGAGCCGTGAGTCTCAGGGAGGCCTGGAGTCAGGGAAGGGGAGGG CTGGGGCCGGGTGGAATGCAGGTGTCATACAGGTGACATGGGAGGGGTGGGATAACAGGC TTGGGATGTCTCCCCTGGGCCAGGTAGTCTCCCTAGAAGGTGATGCTGATGAGGGTCTGG TGCCCAGGGCGCCACTCAGCCCTCATCCTGCCCTTTGCCCAACAGTGACGCGCACTGTCT GTGCCGGTGGCTGTGCCCGCTGCAAGGGGCCACTGCCCACTGACTGCTGCCATGAGCAGT GTGCTGCCGGCTGCACGGGCCCCAAGCACTCTGACTGCCTGGTATGTGCCTCTGCTTTGT GCCCAATGTGCTCTACCCCCCAGGATGCAAGGGGTGGGCACCCTGCCTGGTACTGCCCTA TTGCCCCTGGCACACCAGGGCAAAACAGCACAGTGAAAGCCAGCCACCTGTCCCCCCAGG CCTGCCTCCACTTCAACCACAGTGGCATCTGTGAGCTGCACTGCCCAGCCCTGGTCACCT ACAACACAGACACGTTTGAGTCCATGCCCAATCCCGAGGGCCGGTATACATTCGGCGCCA GCTGTGTGACTGCCTGTCCCTGTGAGTGCCAGGGAGAAACACAGTTTTCTCATTTTGGTG GGGAGGTTTGTTTCTGTAAATGGGAGCATATGGGGAGCACTGTCTGCATCTTGCTTTGAG AGCTGGTCATGACAGTTCCTGCCGAGCTGCCTTGTTCTTTCAACAGCTGTGGAGCAGGTG GCAGTAAGGAGAGGCAGCTAAGAGCCCAGACTTGGGAGCCAGACTGCCTGGGTTTGAAAC CCAGCTCTATCAATTAGTAGGCACGTGACCCTCTTGCTGTGCCTCAGTTTCCTCATCAGT AAAATGGGGGCAAGAATAGTCCCAACTGCATAAGATGGTTATAACATTTGAAAGAGTTAA TATTTGTAAAGCTCTTAGAACGGTGCCTGGTATGTACTAAGTGCTCCTAAATGTTAGCTT TTATTCTATAGCCTGGTGAGGTCAGTTTTACCTTTCGTTTTGTTTTTGAGACCGAATTTA GTTAGCTCTATCGCAGTGGCGCGATCTCGGCTCACTGCAACCTCCGCCTCCCAGGTTCGT GCTATTCTCGTGTCTCAGCCTCCTGAGTAGCTGGGATTACAGGCGCCCACCACCATGCCT CGCTAAATTTTGTATTTTTAGTAGAGACAGGGTTTCACCACGTTGGCCAGACTGGTCTCG AACTCCTGACTTCAGGCGATCCACCTGCCTCGGCCTCTGAAAGTGCTGGGATTACAGGCG TGAGCCACTGCACCCGGACTTTTTTTTTTTTGGCAGAGTCTCGCTCCATTGCCCAGGCTG GAGTGCAGTGGTGCAATTTTGGCTCACTGCAACCTCTGCCTTCCGCATTCAAGCAATTCT TGTGCCTCAGACTCTTGAGTAGGTGGAACTACAGGCATGCACCACCATGGCTGGGTAATT TTTGTATTTTTAGTAGAGACGGAGTTTCACTATGTTGGCCAAGCTGGTCTCGAACTCCTG ACCTCAAGTGATCCACCCGCCTTGGTCTCCCAAAGTGCTGGGATTACAGGCATGAGCCAT CGTGCCTGGCCTAGCTCAGTTTTATTTAACAGATCACCTATTTACTGATGGGCGTTTATG GACTGGGCTCAGACCTGGGGAACCTCTTTCCTCCTCTCACAGGAACAGGAGTGGGCCTTC AGATCCTGGCTGACTGTGTTAGGGAGAGGACAAAATGTAGAGCCAGACCATTTGGGTTCA AATCCTCGCTCCTCCACTCACTAGCACAATGACCTTGAATAATTTACAGAACTCTCTGCT TTGGTCTCCCTTTTTGCAAAATGGGAATCTCACAGTGCTGATCCCGTCTGGTTGTTGTGA GGGGTAAATGGATGTCAGGTGCTGATGCGTGGTAGGGCATTTAAGTATTGGTTGATATTA TTCTTCTTGTGCCTGGGCACGGTAATGCTGCTCATGGTGGTGCACGAAGGGCCAGGGTAT GTGGCTACATGTTCCTGATCTCCTTAGACAACTACCTTTCTACGGACGTGGGATCCTGCA CCCTCGTCTGCCCCCTGCACAACCAAGAGGTGACAGCAGAGGATGGAACACAGCGGTGTG AGAAGTGCAGCAAGCCCTGTGCCCGAGGTACCCACTCACTGCCCCCGAGGCCAGCTGCAG TTCCTGTCCCTCTGCGCATGCAGCCTGGCCCAGCCCACCCTGTCCTATCCTTCCTCAGAC CCTCTTGGGACCTAGTCTCTGCCTTCTACTCTCTACCCCTGGCCCCCCTCAGCCCTACAA GTGTCCCTATATCCCCTGTCAGTGTGGGGAGGGGCCCGGACCCTGATGCTCATGTGGCTG TTGACCTGTCCCGGTATGAAGGCTGAGACGGCCCCTTCCCCACCCACCCCCACCTCCTCA GTGTGCTATGGTCTGGGCATGGAGCACTTGCGAGAGGTGAGGGCAGTTACCAGTGCCAAT ATCCAGGAGTTTGCTGGCTGCAAGAAGATCTTTGGGAGCCTGGCATTTCTGCCGGAGAGC TTTGATGGGTAAGAGTGGGCACGATGACCTGAGACAGTGTCAGGGCAGACAGAGTCCTGA GGATCCAGATGTGGCAGCATCTCTTGGGGATGGCAGGAGACAGAAGTGGGGGGATCAAGA ATGCAAAGAAAGCAGATGGGAGACCAGAGGAGCAGGGCCTTTGGTGGGTGGGGGTGATTA TTTTTGTAAATGACATGCTATCCGTGAACAAGGACTTGTATGGAGGTCAGACCATCTAGA TAAAGTAAAATTCCCTTTGAGTTCATAGCAGCTTTATTCAAAATATCCCCAAATTGGAAA TAACTCAAATGTGCATCACTAGGTGAAGGAATAAACAAGTGGCAGTGTATCCATTTGGTG AAGTTCTACTTAGCAACCAAAGGAAATGAACTACCGATACAACATAAATGAATCTCAGAA ACATTACATTGAGCAAAAGAAGCCAGAGACAAGATTCCATACTGTCTGATCCCCTTTATG TGAGGCTCTGAACCGAAAAAACCACTCTGTGGTGGGAGAGATCAGAACGGTGGTTGCCCC AGGGTGGGGGGCTTCAAAAGGGAGGCACACAAGGACATTTCTGGGGTAATAGAAATGCTC TGTATAGTGATTGGGGTAGTGGATACATGAGCGAATCCATTTGTCAAAACTCATCAAACT GTGTGATAAGAGTCTGTGCATTTTATTTATTTCATTTTATTTTTTGAGATAGAGTCTCAC TCTGTCAGCAGGCTGGAGTGCAGTGGTACGATCTTGGCTCACTGCAACCTCTGCCTCCTG GATTCAAGCAATTCTCCTGCCTCAGTCTCCTGAGTAGCTGGGACTACAGGTGTGTGCCAC CATGCCCAGCTAATTTTTGTATTTTTAATAGAGATGGGGTTTCACCATGTTGGCAAGGAT GGTCTCGATCTCTTGACGTCGTGATCCGCCCACCTCAGCCTCCCAAAGTGCTGGGATTAC AGGCATGAGCCACCACACCCGGTGCATTTTATTGTATATAAGTTATACTTCAATAAGAAA TGAATTGGGGCCAGGCACGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG CAGGCAGATCACTTGAGGTCAGGAGTTCAAGACCAGCCTGGCCAACATGGTGAAACCCCA TCTCTACTAAAAAATATAAAAAATTAGCCAGGCTTCCTGGCATGCGCCTATCATCCCAGC TACTTGGGAGGCTGAGGCAGGAGAATTGCATGAACTCGGGAGGTGGAGGTTGTAGTGAGC TGAGATTTCGCTATTGCACTCCAGCCTGGGCGACAGAGTGAGACCCTGTCTCAAAAAGAA AAAAAAAAAAAAGGGTCAGGCGCCGTGGTGCACACCTGTAATCCCAGCACTTTGGGAGGC TGAAGCAGGAAGATTGCTTGAGCCCAGGAATTCAAGAACAGCGTGGGCAACATAGTGAGA TCCCATCTCTACAAAAAAACACAAAAAATTAGCCGGGCATGGTGGTACGCACCTGTAGTC TCAGCTACTAGGGAGACTGAGGTGGGAGAATCACCTGAGCCTGGGAGGTGGAGGTTGCAG TGGGTTGAAATCATGTCACTGTACTCCAGCCTGGGTGACAGAATGAGACCCTGTCTCAAA AAAAAAAAAAAAAAAAAAATTCCCTTTCACACTTCCTTTACCTCCACTCCCCTTTCCAGA GGGGGCCATGGTTAACAGTGTGTGTGTTCACCTAGACCGTTTATGCATCTGTAGACACAC ACACAGTGAAGTGTGGTTTTCGTCGTTTTGGTGGGGAGGTTGGTTTCTGTAAATGGGAAC ATATAGGGAGCACTGTCTGCACCTTGCTTTGAGAGCCGGTCATGACAGTTCCCATTGAAC TGCCTTGTTCTTTCAATAGCTGCAGAGCAGGTGGCGGCAAGGAGAGGCAGCTAAGAGCCC AGACTTGGGAGCCAGACTGCCTGGGTTTGAAACCCGGCTCTACCACTTACTAGGCATGTG ACCCTTGTGCTGTGCCTCAGTTTCTTCATCTGTAAAGTGGGGGCAAGAACAGTCCCAACT TCATAAGATGGTTATACCACCATGCCTGGCCAGATGATTATAAAGTTTGAATGAGTTAAT ATTTGTAAAGCTCTTAGAACAGTGCCTGGCAGATACTAGGTGCTCCTAAATGTTGGTTTT TATTATGTGGCTGGGTGGCTCGGGGTTTTATTTAACAGCTCCCCTATTTACTAATAGACA TTTAGATCATGTTCCATTTTCACTCTTACAAACAGTTCCACTTTGTGTGTGGCTCTGGGA ACATGGGCCAGTGTCTCCCTAGGCCACATTCCTAGAAATAAGATTTCTTTTCTTTTTTTT TTTTTTTTGAGACAGAGTCTCGCTTTATCGCCAGGCTGGTGTGCAGTAGTGTGATCTCGG CTCACTGCAACCTCTGCCTCCCGGGTTCAAGTGATTCTCCTGCCTCAGCCTCTCGAGTAA CTGGGACTATAGGCGCGCGGCACCACACCCAGCTAATTTTTGTATTTGTAGTAGAGATGG GGTTTCACCATGTTGGCCAGGATGGTCTCCATCTCTTGACTTCGTGATCCGCCCGCCTCG GCCTCCCAAAGTGCTGGGATTACAGGCGTGAGCCACTGAGCCCAGGCAGAAATAAGATTT CTAGATCAAAGGATATAAATACTGTTTTGATAGATGTTGCCGAACTAAGGCCTGGGCTTT GAAGCCCAGGATGGGAACAGCTGGGCTCGATGGGCAAAGGGTTTGAGTGAAGGCATTCAT GGTGGGGAGTGGCTGGCATGGCCAGTGCTGGGAGTGATGTCCACCCTGTTCCTGGCCCTG CTGACTCCTCTCCTGACCCCTCCAGGGACCCAGCCTCCAACACTGCCCCGCTCCAGCCAG AGCAGCTCCAAGTGTTTGAGACTCTGGAAGAGATCACAGGTGGGCTCTGTCTCTGCATCC TGTTCTGCAGGGGCTGGGAGTCCTTGTCCTGTCCCCACTCCTTTAATCTCACCCTCTGCC TGCAGGTTACCTATACATCTCAGCATGGCCGGACAGCCTGCCTGACCTCAGCGTCTTCCA GAACCTGCAAGTAATCCGGGGACGAATTCTGCACAAGTGAGCACTGAGAAAGAGGGGGCC TGATGGGGAGGAGTCCCAGGGAGGAGTCCCTGTGGGAAGCTTTGGGCCTGAGGGAGTACT CCTGTAGCAGTAACCTTTCCATGAAAGTCTGCAGAGTGTGCTGGGGATGGAGGAAGATGA GAATAGCCTTTGCTGACCGGGAAGGGGTCCGTGGTAAGGTGCCCACCTTTCTCCCATAGT GGCGCCTACTCGCTGACCCTGCAAGGGCTGGGCATCAGCTGGCTGGGGCTGCGCTCACTG AGGGAACTGGGCAGTGGACTGGCCCTCATCCACCATAACACCCACCTCTGCTTCGTGCAC ACGGTGCCCTGGGACCAGCTCTTTCGGAACCCGCACCAAGCTCTGCTCCACACTGCCAAC CGGCCAGAGGACGAGTGTGGTAAGACAGGGAGCCCAGTGTGCGCACTCCCCATCTGCCAG CACACAGCAGTGCCCAGGGGGCCCTGGCAGCAGCGTTCTTGGACTTGTGCAGACTGCCCG TCTCTGTGCACCCTTCTTGACTCAGCACAGCTCTGGCTGGCTTGGCCTCTTGGCATGGCT TCTCTAGCTGGGTCCTACCTGCCTTGGCATCCTTCCCTCCCCCTCTGTTTCTGAAATCTC AGAACTCTTCCTCTCCCTACATCGGCCCCACCTGTCCCCACCCCTCCAGCCCACAGCCAT GCCCACAGCCAGTTCCCTGGTTCACTTGGACCTGGGGCCTCCCCTAAAAGTCCCCTGCGG TCCCTTCCTCCTCACTGCAGTGGGCGAGGGCCTGGCCTGCCACCAGCTGTGCGCCCGAGG GCACTGCTGGGGTCCAGGGCCCACCCAGTGTGTCAACTGCAGCCAGTTCCTTCGGGGCCA GGAGTGCGTGGAGGAATGCCGAGTACTGCAGGGGTATGAGGGGCGGAGGAGAGGGTGGCT GGAGGGGTGCATGGGGCTCCTCTCAGACCCCCTCACCACTGTCCCTTCTCTCAGGCTCCC CAGGGAGTATGTGAATGCCAGGCACTGTTTGCCGTGCCACCCTGAGTGTCAGCCCCAGAA TGGCTCAGTGACCTGTTTTGGACCGGTGAGCTGCTGGCGGGCTCAGAGCTGGGTGGAGGG GGGCAGCGAGGGGGATTGCCAGGGACTTGGCAGGATGGCGAGATGCAGTAGGGTGTGCTA TCTGGTAAAATATCCCTGGAGAGGGCTCAGCGCTCAGACCTGAACAGCAACAGAGTGGCA GAAAAGGGGCCTGGGGGACACTGGGGCCCTTCAGACTATGAAAAGGTTCTAAGGAGGTCT GTGTTGGTGGCTGTGACTGTGGCTGTGCTAGGGTGGTGAGCCCTGTGGGCTCAGGCGTCA GACTACCTGGATTCAGACCCAGCTCCTGCTTCCAACCTTGGTTTTTTATTCCTAAAATGG GTATTGTAATAATACCTACCTTGCTGGGGTGTGGCAAGAATGAAATTAAACAGGGCTTGG CACAGTGAAGCACGGGAAAGGCTTTCTACAGAGCAGTGACTGTTGTTACTCGCTGTTACA CCTTAGGTAATGCGTTTTCCTCTCTGGGTGCCTCCCATTTTCTGGCTCAAGTCCCTGCCC AGGATCAAGCTTGGAGGAGGGCCCCGAGGGAGGGGCCACAGAGACTGGGTGAAGAGCAAG GGTGTTTGTCCCAGGAGCATGGCGAAAATTGCTGCTGGGTGGCCTTGGGAAGCACAAAGG GGACCCAACTAAGGGCCTGATCCTACTGCCCTGGGGGTGTCAGTGCCAGCCCCCCACAAA TCTTTTCTGCCCCCCCCAGGAGGCTGACCAGTGTGTGGCCTGTGCCCACTATAAGGACCC TCCCTTCTGCGTGGCCCGCTGCCCCAGCGGTGTGAAACCTGACCTCTCCTACATGCCCAT CTGGAAGTTTCCAGATGAGGAGGGCGCATGCCAGCCTTGCCCCATCAACTGCACCCACTC GTGAGTCCAACGGTCTTTTCTGCAGAAAGGAGGACTTTCCTTTCAGGGGTCTTTCTGGGG CTCTTACTATAAAAGGGGACCAACTCTCCCTTTGTCATATCTTGTTTCTGATGACAAAAA TAACACATTGTTAAAATTGTAAAATTAAAACATGAAATATAAATTAATGCCCTAGCAGTT CTATCCCCACTGTTAATAATTTGAAATATTTTTCCTCTAGTTATTTTTGTCTGTGCACAT TCTAATATGTATATATAAGTTAACATATATTAATATTATTCTCCAGTTATTTTTATCTGT GCACATTTTAACACACACACACACACACACACACACACACATATGTATTTTTAGACGGAG TTTCACTCTGTCGCCCAGGCTGGAGTGCAGTAGTACAATCTTGGCTCACTGCAGCCTCCA CCTCCTGGGTTTAAGCAATTCTCCTGCTTCCGCCTCCTGAGTAGCTGGGATTACGGGAAC GTGCTACCTTGCCTGGCTAATTTTTGTATTTTTAGTACATAGGATTTCACCATGTTGGCC AGGCTGGTCTCGAACCCCTGACCTCAGGTGATCTGCCAGCCTCGGTCCCCCAAAGTGTTG GGATTACAGCGGTGAGCCACCATGCCCAGTCATATATTTCTTTTTAACAAATAGAATCAT AGATCATACATATTGTTTGCAAATTGCTTTTTCTCACTTTCCAGAACCTTGAAATGTTTT TCCATGTTCTAACATGGTGATCTACCTTATTCTTTTAATTTTTCTTATTTAGTTGTCTTT ACACATGAAACACATGAATACATCCTTGTGATAAACATTTTCAGTAACATAAAAGTATAA ATGTTACAAAGCCAACGTGCCCTTTCACTCAACTCCCTGTCCACCCAGTCTCTCCTGTCT GCTGGGAGAACCACCGCATTGACTTGTGTGTTCACCCTTCCAGGCTCTTTTCTGCACACT TATATAGACATACTACATTTATATTAGGTCGAGTCAAATAAGATTGCTGTTTGTGTAAAC CAAAAAGTGTCAAGAGCCTGGGCGCAGTGACTCACACCTGTAATCCCAGCACTTTGGGAG GCTGAGGCAGGCAGATCACTTGAGATCAGGAGTTCGAGACCAATCTGGCCAACATAGCGA GACCCCGTCTCTACTAAAAATACAAAAACTAGCCAGGTGTGGTGATGCTGTTCTGCACTT TGCTTTCCCCCCGACTTGAGGTATCCTTTCTTGTGAGTACAGACGGATCTACCACCTTTA TTTTTTTTTTAATTACTCAACCTGTAACATGGATGTAATTTCACTTTGTTTTTGAGGGAT ATTGAGCTTGTTTCCCTGTTTTTGCAGTTTATTGCAATTGAGCTCCACACACAAGTGAGC CCTCTTTTGTATGCCCCCTAGTGGGAATACAGTGCTGGCAATGTTTATCACAAGGATATA TTCATGCATTTCAATTTAAAGACAACTAAATGAGAAAAATTAAAAGAATATGGATCCAGG CTGGGCATGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCAGGCAGATC ACCTGAGGTCAGGAGTTCAAGACCAGCCTGGCCAACATGGCAAAACCCCGTCTCTACTAA AAATACAAAAATTAGCCAGGCGTGGTGGTGGGCGCCTGTAATCCCAGCTATTTGAGAGGT TGAGACAGGAGAATTGCTTGAACCTGGGCAGCGGAGGTTGCAGTGAGACGAGATTGCACC AGTGCACTCCAACCTGGGCAACACAGTGCAACTCCTTCTCAAGAAAAAAAAGAAAAAAAA AAAGAATATGGGTCCAGATCCATATGGATCCTAGATCCAGATCACGGTGTTAGAACATGG AAAAACATTGCAAGATTCTGCTAAGTGAAAAAAGCATTTGCAAACAGTATGTACAGTCTA TATTCAGAGGAGGAACTGCTGGGTCATAGATGATATTTCATAGGTATTGCCAAACCGTTC TCTGGAGAAGTGGTATGGGTTTACCCTGGGATTCTTCTATGGAGGGAATAGTTGAGCTCC CGGGCTTGCTCTTCTGGGTGCCCCTCCCCGCTTCCTATCCACCACAAGGAGCTGCAGGGG AGCGGGGCATGCCGGTTCCTTGGCTGGAGAAGGAGTCTCCTTGTGAGGTGGTAGAAGGAG CACTGACGGCCTTGAGCCCAGTTTCTGCCTTTGTCAAATGGGGATAATGACCCAGCCACA CCCCTCCCAGGGTTGTTGTGAGGCTGGAAAGGTGGTTCCCAAGAGGGTGGTTCCCAGAAT TGTTGATGAGACTGTTTCTCCTGCAGCTGTGTGGACCTGGATGACAAGGGCTGCCCCGCC GAGCAGAGAGCCAGGTTGGCCTGGACCCCAGGATGTACCCTTCATTGCCCTTCACTCCCC CACTGGATGCTGGGTGGTCACTGCTGTAGGGAGGGGACCCCCTGACATATGTCCCTTCCC ACCCACTCTTCCACTGTGGAACCTCCTGTCATTTTCCACTTCACCAAGTGACAGAGGACC TGCTCAGATGCTGAGGGGAGGGGACTGCAAGGAAAGATGGCTAGGAAACCCAGTCCCTCC ACACCCTAGAGTAACTTGATGCCTTGTGAGGGACACAGGCAAAGTTCAATTCCTTGGAAG TCAAGGGAGACTGAGAAGAGTACAGCTGCAGCACTGAGGGAGTGATGAATTCTTAACTGG GGATGGTGGGAGGCTTCGAGTGGGAGGTGGCATTTGAGCTAGGCTTTGAGAGAGGAGCAG GTATTGCACTTGCATTTAGGTAGAAAGCATTGGGGTGCAAGGTGACACTGGAGGGGGAGG CATCAGGAAATCCAGGATGTCTTCAAAGTTCTGGTGTCGGGGGCTGTTGAGTAAGCACAG GAATAAGGGGGTCAAGTTAGAGTCAGGGTGGGGTCTGACCTGGATGCCATAGGACCTGAT CCCCAAGCCACAGGGTGGGACTTGACTGGGCAGTGGGGACCTTTGGAAAGGACTTTGGGG AGAAAAACAGACTGGAGTCTGTCTTAGGCGATCATCGGTCCGTGAAATGAGCATGTGTTA CAGGCTTGGTATGTACCAGACCCTGTGCTAAGCAAGGGGGTATGGAGAGGAGAGGGTGAC AAGAATATTGGATCAACACCCGGGAGCTCCATCTATCCCAGGATGCACTATCTTTTTTTT ATTTTTTTGAGACGGAGTCTCACTCTGCCTGCAGGCTGGAGTGCAGTGGCTCCATCTCGG TTCACTGCAACCTCTGCCTCCTGGGTTCAAGCGCTTCTTGTGCCTCAGCCTCCCAAGTAG CTGGGATTACAGGCACATGCCACCACACCCAGCTAATTTTTGTATTTTTAGTAGAGACGG GGTTTCACCATGTTGGCCAGGATGGTCTCGATCTCTTGACCTCAAGATCCGCCCACCTTG GCCTCCCAAAGTGCTGGGATTACAGACATGAGCCACCGTGCCCAGCCAGATACGCTATCT TTTTATTGAGTGATTGAGACAGGGTCTTGCTCTCTTGTCCAGTCTTGAATGTGGTGGTGT AATCACAGGCTCACTGCAGCCTTGACCTCCTGGGCTCAAGTTACCCTTCTGCAGTAGCTG GGACTATAGGAGCGTGCCACCACGCCTGGGTAATTTAAAAAATTTTTTTTGTATAGACAG GGTCTCACTATGTTGCCCGAGCTGGTCTCAAACTCGTGGGCTCAAGTGATCCTCCAGTTT TGGCCTCCCAAAATGTTGGGATCACAGGAGTGAGCCACCACTCCTGGCGATGAGCCAAGT CTTTTTTTTTTTTTTTTTTTTTTGATATGGAGTCTTGCTCTGTTGCCCAGGCTGGAGTGC AATGACACGATCTTGGCTCACTGCAACCTCTGCCTCCCAGGTTCAAGCAGTTCAAGCAAT CCTCCTGTCTCAGCCCCCCAGTAGCTGGGATTACAGGCATGCGCTACCACGTCCGGCTAA TTTTTGTATTTTTAGTAGAGATGAGGTTTTGCCATGTTGGCCAGGCTGGTCTTGAACTGC TGACCTCAGGTGATCCACCTGCCTCGGCCTCCCAAAGTGCTGGGATTACAGGTGTGAGCC ATCGTGCCTGGCGGAGCCGAGTCTTAAAAGATGACCCTGTGGAGAAATGGTGGTCCAGGC TGAAGGGACAGCCTATGCAAACACTGGGAGGTGTGGAAAATCATGACCTGTGGGTGGAAA TTTTGGCTAGAACATCAAAATCATCAGGTGTACATTCCTGTACCCATGCAGCAGTCAGAA TCTCTGGGGGTGGGGCCCCAAAATTGTATGCATACAGACTGTGTGCTGATTTGTGATATT ACTTAGGATTTTTTGACTTTACAATGGTGGAAAAGCAATAATATACATTCAGTATAAACC GTACTTTGAATACCCATACAGCCATTCTGTTTTTCACTTTTATTTTTATTTATTTATTTA TTTATTATTTATTTTGAGATGTCATTTTGCTGTTGTTACCCAGGCTGGAGTGCAATGGCG CAGTCTTGGCTCACCGCAACCTCCACCTCTCAGGTTCAAACGATTCTCCTGCTTCAGCCT CCAGAGTGGCTGGGATTACAGGCAGGCACCACCACACCCGGCTAATTTTGTATTTTTAGT AGAGACGGGGTTTCTCCATGTTAGTCAGGCTGGTCTCGAACTCGAGAGCTCAGGTGATCT GCCCATCTCAGCCTCAAGCCACCATGCCCAGCCCTACTTTCAGTATTCAATAAATTACAT AGCCAGGCACCGTGGCTCACACCTGTAATCCCAGCACTTTAGGAGGCCAAGGTGGGAGGA TCCTTTGAGGCCAGAAGCTCGAGACCAGCCTGGGCAACATAGTGAGACCCCATTTCTACA AAAAATAAAAAAACTAGCTGAGTGTGGTGGCGTGTGTCTGTAGTCCCAGCTACTTGGGCA GCTGAGGTGGAAAGACTGCTTGAGCCCAGAGGTCAGGGCTGCAGTGGGCCATGATCTCAC CACTGCACTCAGCCTGGGCAACACAGCAAGGCCCTGTCTCAAAAATAAATAAATAAATAA CACAAACTTATTTAACAGTTTACTATAAAATAGGCTTTGTGTCAGATGATTCTGCCCAAC TGTAAGCTGCTGGCAGTGTAAATGTTCTGAGCACGTGTAAGCCAGGCTAGGTGTCTTAAA TGCATTTTCAGTTTCAACTTAGAATTGGTTTATCAGGACGTAGCCCCTTGGTGTTGAGGG GCATGTGTATTAACAGTCTCCTTAGTGACTTTTTTTTTTTTGAGATGGAGTCTTGCACTG GCCGTAGTGCAGTGGCACAATCTCAGCTCACTGCAACCTCTTGTCTCCCGGGTTCAAGCG ATTCTCCTGCCTCAGTCTCCCAAGTAGCTGGGATTACAGGCACCCACACCACGCCCAGCT AATTTTTGTGTGTGTGTATTTTTAGTAGAGACGGGGGTTTCACTATGTTGGCCAGGCTGG TCTCGAACTCCTGACCTTGTGATCTGCCCACCTCAGACTCTCAAAGTGCTAGGATTCCAG GCATGAGCCACCGCGCCCAGAGTCCTTAGTGATTTTTACACCATGAATTGTTGAAGCCCT AAGCCAGAGCCAAGGGCAAGAGTATAGAGAATCTGGAGATGCGGAGAGGGTTCTGATTGC CTACAAGGAGTTTGGACTTTATTGTGGAGGCAGCGGGGAGCCAAGGCAGGTTTTAGAGTA GGAGAGGGTCCAAGCCTGTGGGTCACCCTTCCGACTTCCCTTTCCGAATGCCAAACACCT TCATGTCCCCCGTGGGCCCCCTTTGTCCCTCCCACCCCAAACTAGCCCTCAATCCCTGAC CCTGGCTTCCGCCCCCAGCCCTCTGACGTCCATCATCTCTGCGGTGGTTGGCATTCTGCT GGTCGTGGTCTTGGGGGTGGTCTTTGGGATCCTCATCAAGCGACGGCAGCAGAAGATCCG GAAGTACACGATGCGGAGACTGCTGCAGGAAACGGAGGTGAGGCGGGGTGAAGTCCTCCC AGCCCGCGTGGGGTCTGCACCGGCCCCCGGCACTGACCCACCACCCCCTCACCCCAGCTG GTGGAGCCGCTGACACCTAGCGGAGCGATGCCCAACCAGGCGCAGATGCGGATCCTGAAA GAGACGGAGCTGAGGAAGGTGAAGGTGCTTGGATCTGGCGCTTTTGGCACAGTCTACAAG GTCAGGGCCAGGTCCTGGGGTGGGCGGCCCCAGAGGATGGGGGCGGTGCCTGGAGGGGTG TGGTCGGCAGTTCTGATGGGAGGGGCAAGAGCTGGAGGCAGTGTTTGGGGGAGGGCAGTT ACAGCGGAGAAGGGAGCGGGGCCAAGCCCTAGGGTGGTGAAGGATGTTTGGAGGACAAGT AATGATCTCCTGGAAGGCAGGTAGGATCCAGCCCACGCTCTTCTCACTCATATCCTCCTC TTTCTGCCCAGGGCATCTGGATCCCTGATGGGGAGAATGTGAAAATTCCAGTGGCCATCA AAGTGTTGAGGGAAAACACATCCCCCAAAGCCAACAAAGAAATCTTAGACGTAAGCCCCT CCACCCTCTCCTGCTAGGAGGACAGGAAGGACCCCATGGCTGCAGGTCTGGGCTCTGGTC TCTCTTCATTGGGGTTTGGGGAGATATGACTCCCGCAAACCTAGACTATTTTTTTGGAGA CGGAGTCTTGCTCTGTCACCCAGGCTGGAGTGCAGTGGCGTTATCTCGGCTCACTGCAAC CTCCACCTCCTGGACTCAAGCGATTTTCATGCCTCAGGCTCCTGAGTAGCTGGGATTACA AGCGCCCGCTAATTTTTTTTTTTTTTTTGAGACAGAGTCTCGCTCTGTCACCCAGGCTAG AGTGAAATGGTGCGGTCTCAGCTCAGCCTCCCAGGTTAAAGCGATTCTTCTCCCTCAGTC TCCTGAGTAGCTGGGATTACAGGCGCGAGCCACCACGCCCGGCTAATTTTTGTATTTTTA GTAGAGATGGGATTTCACCATGTTGGCCAGGTTGGTGTCAAACTCCTGACCTCATGATCC GCCCGCCTCGGCCTCCCAAAGTGCTGGGATTACAGGTGTGAGCCACCGTGCCCGGCCTAA TCTTTGTATTTTTAGTAGAGACAGGGTTTCACCATGTTGTCCAGGCTGGTACTTTGAGCC TTCACAGGCTGTGGGCCATGGCTGTGGTTTGTGATGGTTGGGAGGCTGTGTGGTGTTTGG GGGTGTGTGGTCTCCCATACCCTCTCAGCGTACCCTTGTCCCCAGGAAGCATACGTGATG GCTGGTGTGGGCTCCCCATATGTCTCCCGCCTTCTGGGCATCTGCCTGACATCCACGGTG CAGCTGGTGACACAGCTTATGCCCTATGGCTGCCTCTTAGACCATGTCCGGGAAAACCGC GGACGCCTGGGCTCCCAGGACCTGCTGAACTGGTGTATGCAGATTGCCAAGGTATGCACC TGGGCTCTTTGCAGGTCTCTCCGGAGCAAACCCCTATGTCCACAAGGGGCTAGGATGGGG ACTCTTGCTGGGCATGTGGCCAGGCCCAGGCCCTCCCAGAAGGTCTACATGGGTGCTTCC CATTCCAGGGGATGAGCTACCTGGAGGATGTGCGGCTCGTACACAGGGACTTGGCCGCTC GGAACGTGCTGGTCAAGAGTCCCAACCATGTCAAAATTACAGACTTCGGGCTGGCTCGGC TGCTGGACATTGACGAGACAGAGTACCATGCAGATGGGGGCAAGGTTAGGTGAAGGACCA AGGAGCAGAGGAGGCTGGGTGGAGTGGTGTCTAGCCCATGGGAGAACTCTGAGTGGCCAC CTCCCCACAACACACAGTTGGAGGACTTCCTCTTCTGCCCTCCCAGGTGCCCATCAAGTG GATGGCGCTGGAGTCCATTCTCCGCCGGCGGTTCACCCACCAGAGTGATGTGTGGAGTTA TGGTGTGTGATGGGGGGTGTTGGGAGGGGTGGGTGAGGAGCCATGGCTGGAGGGAGGATG AGAGCTGGGATGGGGAGAATTACGGGGCCACCTCAGCATGTGAAGGGAGGGAAGGGGCTG CCTGTGCCCCACCTTGCAGGGTCTGTGCACTTCCCAGGATTAGGGAAAGACCGGGTAGGG TCTGTCTCCTGGCATCACATCTCCCCCTGCTACCTGCCATGATGCTAGACTCCTGAGCAG AACCTCTGGCTCAGTACACTAAAGCTCCCTCTGGCCCTCCCACTCCTGACCCTGTCTCTG CCTTAGGTGTGACTGTGTGGGAGCTGATGACTTTTGGGGCCAAACCTTACGATGGGATCC CAGCCCGGGAGATCCCTGACCTGCTGGAAAAGGGGGAGCGGCTGCCCCAGCCCCCCATCT GCACCATTGATGTCTACATGATCATGGTCAAATGTGCGTGGCTGAGCTGTGCTGGCTGCC TGGAGGAGGGTGGGAGGTCCTGGGTGGAGGAGCCCACAAGGGGCATGAAAGGGGACCAGG ATGTATGTAGACCCAGGAGCCCTAGTATGTTAGGAGCCTCAAAACCTTCTTGTATCCCTT TTACAGTCAAAGTCCAAAGCCACTCTTGAGGAACACTCTTGTACAAAATTAAGCTGGGCA CAGTGGCTCATGCCTGTAATCCCAGTACTTTTGGAGGCTGAGGTGGGAGGATCCCTTGAA GCCAGGAGTTCAAGACCAGCCTGGGCAACATAGTGAGATCCTATCTCTACAAAAAATAAA AAAATTATCTGGGTGTGGTGGTGTGTGCCAGTAGTCCCAGCTACTCAGGAGAGGCTGAGG CAGGAAGATCACTTGAGCCTAGTTTAAGGTTGCAGTAAGCTATGATTGCACCACTGAAAT CCAGCCTGGGTGACAGAGCGAAACCTCATCTCAAAAAAATAAAAAAGCAAACAAAAAGAA AAAAAAAATTAAAAGGGAAACTAGAAGAGATGCCAAAGGTTCTGGCTGAAGACCCCAGAG TCTGGTGCTACTTCTCTACCACCTGAGGGCTTTGGGCTGTCCCTTGGGACTGTCTAGACC AGACTGGAGGGGGAGTGGGAGGGGAGAGGCAGCAAGCACACAGGGCCTGGGACTAGCATG CTGACCTCCCTCCTGCCCCAGGTTGGATGATTGACTCTGAATGTCGGCCAAGATTCCGGG AGTTGGTGTCTGAATTCTCCCGCATGGCCAGGGACCCCCAGCGCTTTGTGGTCATCCAGG TACTGGGCCTCTGTGCCCCATCCCTGCCTGTGGCTAAGAGCACCCTCCTGCAGAGGGTGG GAAGGAGAGATGAGTCCAGTATGCCAGGCCCCTCACGGAAGGCTGCATGCTGGGCTGGGG AGGGGCCACCATCCTGCCTCTCCTTCCTCCACAGAATGAGGACTTGGGCCCAGCCAGTCC CTTGGACAGCACCTTCTACCGCTCACTGCTGGAGGACGATGACATGGGGGACCTGGTGGA TGCTGAGGAGTATCTGGTACCCCAGCAGGGCTTCTTCTGTCCAGACCCTGCCCCGGGCGC TGGGGGCATGGTCCACCACAGGCACCGCAGCTCATCTACCAGGGTCAGTGCCCTCGGTCA CACTGTGTGGCTGTCTGCTTACCTCCCCCAACCCCGGTGGACTAGGGTCCCTTTCTCTGA TGTTCCCTCAACTGTCACCTCTCAAGGAAACCCCATTATCCCTACAAAAAATTCTTACTG CCTTCCAACCCCTGTGACCCCATTCTCTCCACGGTGACTGTGTCATACCCCAAAGGTGAC CTCTGTTTTTCTCCTGTGACCCTGTCACCTTCCATGGAGTCCCCATCCCAGATCCGTGAG TGACCCCCATCATGACTTTCTTTCTTGTCCCCAGAGTGGCGGTGGGGACCTGACACTAGG GCTGGAGCCCTCTGAAGAGGAGGCCCCCAGGTCTCCACTGGCACCCTCCGAAGGGGCTGG CTCCGATGTATTTGATGGTGACCTGGGAATGGGGGCAGCCAAGGGGCTGCAAAGCCTCCC CACACATGACCCCAGCCCTCTACAGCGGTACAGTGAGGACCCCACAGTACCCCTGCCCTC TGAGACTGATGGCTACGTTGCCCCCCTGACCTGCAGCCCCCAGCCTGGTATGGAGTCCAG TCTAAGCAGAGAGACTGATGGGCAGGGGAGGTGGGACCTTCAGCCCAGGGTCCACTGTGG GGGCAGAGGGAGTGGCAGAGACACCGGGGTTCCTTCCCCTAATGGGTCACCTTCTCTTGA CCTTTCAGAATATGTGAACCAGCCAGATGTTCGGCCCCAGCCCCCTTCGCCCCGAGAGGG CCCTCTGCCTGCTGCCCGACCTGCTGGTGCCACTCTGGAAAGGCCCAAGACTCTCTCCCC AGGGAAGAATGGGGTCGTCAAAGACGTTTTTGCCTTTGGGGGTGCCGTGGAGAACCCCGA GTACTTGACACCCCAGGGAGGAGCTGCCCCTCAGCCCCACCCTCCTCCTGCCTTCAGCCC AGCCTTCGACAACCTCTATTACTGGGACCAGGACCCACCAGAGCGGGGGGCTCCACCCAG CACCTTCAAAGGGACACCTACGGCAGAGAACCCAGAGTACCTGGGTCTGGACGTGCCAGT GTGAACCAGAAGGCCAAGTCCGCAGAAGCCCTGATGTGTCCTCAGGGAGCAGGGAAGGCC TGACTTCTGCTGGCATCAAGAGGTGGGAGGGCCCTCCGACCACTTCCAGGGGAACCTGCC ATGCCAGGAACCTGTCCTAAGGAACCTTCCTTCCTGCTTGAGTTCCCAGATGGCTGGAAG GGGTCCAGCCTCGTTGGAAGAGGAACAGCACTGGGGAGTCTTTGTGGATTCTGAGGCCCT GCCCAATGAGACTCTAGGGTCCAGTGGATGCCACAGCCCAGCTTGGCCCTTTCCTTCCAG ATCCTGGGTACTGAAAGCCTTAGGGAAGCTGGCCTGAGAGGGGAAGCGGCCCTAAGGGAG TGTCTAAGAACAAAAGCGACCCATTCAGAGACTGTCCCTGAAACCTAGTACTGCCCCCCA TGAGGAAGGAACAGCAATGGTGTCAGTATCCAGGCTTTGTACAGAGTGCTTTTCTGTTTA GTTTTTACTTTTTTTGTTTTGTTTTTTTAAAGATGAAATAAAGACCCAGGGGGAGAATGG GTGTTGTATGGGGAGGCAAGTGTGGGGGGTCCTTCTCCACACCCACTTTGTCCATTTGCA AATATATTTTGGAAAACAGCTAGGCACCGGCCTATGTCTGGGGGTGGCTCTGTGCCATCC CTTCCTGCTCACCTTACACTCAATTCCTCTTTTCCTGGAGGGAGTGGCTGGGAATCTTCA GAAAGCTTGGATGAGGAGCCAGACATCCAGTTCTCCAGCTTCAGGGTTGGGGGAGATCGG GAAGCTGGATTCAGATCTGAGAGCCCTTTGACGACCAGATCATTCTTATTTAGAACGAAC TAATTCCTAAGGCCACTCACCAGAATGGGGTTATTTCCTCCTTGTGAGTGAGGAGAGTGG TGGGTAGGGTGGGGGAAAGACGAGGCAGGGTCTACTGTGGGACTCATTTTCCTTGCCTTG GCTATGCCAGAGGAGCTCACTGACCTAAGGAGTAGCTGTCCAGAAAGCCCACCCAGCCAG CACAGCCACCCTGGCGGTGCAAAGGCTGGGCTGACCGGACTTCTGTGCCCCCCACATTCC CAGACTGGACGTATAAAAACACACACTAGTTAGCATTAGTGTTTGTAGCGCCACTTTACT GCCAATAGCTGACATTGCCCTGGGTTAGGGGAGAATAAATAAAATCTGTGGCATCAGACA GGTATTACCGAGGCGAAGAGTGGACTGGGCTTTCGTGGGCACTTACCCTGGGAAGGGGGT ATGAGGTGGCTGGAGAAGTGTTCATGGAGAGTGTCTCTCTCCTGCCCCCAAGGCCACGGA ATCTTCTATTCCTTCTTTGTACCCAAAGGGCAAAGTGGAGGCCAGGGTCTCTTTGCTAAG GAGCTAAGTAGGGGAAAGAGGCAGGGGGAGCTCCCAGCAGGACCAAAGGGAGACCAAGGT TTGGACCCCAGAACAGAGCAGGAACCCAGAGTCCTGTGCAGTCACAGGATGACGCAGGGA GGACGGCTGTTGGTGATCTTTTCTAGGGTTTCTCCATTACTGGCTCTTCGGATGGCCTCA ATGAGCTAGAGGAGTGGAATGACAGGATGATGCACTGTTGGGGTAGGGTGACCAAGAGGT CCTCCCAACGCTGTAAATACTCACATCTTTCTCATAGGGAAAGCCCCCATTCTCCAGCTT GGAGAACACCAGCTGTCCATTTATCTCTATCTCAAAGGCACCTGGTAAGAAATCAACAGA TAAATGGTACACTGAGAACATAGGCAGAAGTCAGGAGTTCCTCCAAAGGGGTCCCCCGCC TTCAAGTCCCCCATCAATCCCACTGGAGACCCATTTGTAGCTCCTTAAGCAATTCCCCAA CCCTGGGTCAACTCCAGGGAACCTGAGGGAGGCCTCGCCTGTGTGCCCCTCGCAACACTC AATAAAGGACTCCCTCCCCTCCAACCCTACACGATTGCAGTCTAATAGGTTTTTCCCCAC AGGCCTCTGTGACACCCCCTGACCTATGGAAGGGAACTCATGTTGGCCGGACATTTTACC ATGTGCCAGGCACTGCGGGCACTTTACATAAAGCAGCCAATGTCAGAACTAGAAAGCGGG AGAGCTGGGATTCAGAGCACAGACTGACCCAGCAGGTGTTCTGCGAGCCTCACCTGTGCC CCCGAGGCGCGACTCGATCTCGATGCCCGGATACTGCTCCTTCACAGCACTGGCCAGCTC CAGGTAGGTCGCCTCGAAGCCGCAGGGTTCACTGGGGAGTCAAGAGATGGGGCTGGGCTG GGGATTCGGGGGTGGGGCCTCCCGTGGACCCACCTCCGTCCGGCCCGCGGGACCAGGGTG CGGGTCCTCCAGCCGGGGCCGCTCACCAGTACTCCACCACGATGCGGACCCCACTGCCCG GCTCGACCTCCTCGGGAGGGGGCGCTACGGACGTCTGCCCCGGCTCCCCGCTCATCGCGG CCGGCTCCGCTCGGGCCCCTGCTTCCGGGTGTGACGCGAACCGCGGGCACGTGACGGGGC GGGGCCTCTGGAGCGGGGAGGGGCCGAGGGTGGCGTTCGGGCGCCCCCTGCGGGTCTCCG CCACTGCTACGTTTTGACCTCGTAGGGCAGCTCCGGAGCTCGCTCCCCGGGCAGGGGCTG GGTCCGGTCCAGACCCTCCTTCCCTGGCCCGGTCTCCCGGAGTGCCGGGCTTCCCCACTC CCCACTCCCGGTGTCCGCTGGACTTCATGGCTTCATTTACTCTAATGGACTATCTTAGAC TGCAAAGCGCTTTTCAGTTTACAAAAGAAAGAGAAAGTGGTGGGGCAAGCATCCTGGGGA TGGGGGTGGGTGTGGCTGATGCATGAAATAGTTGACATTTTCTCGCTAACATGCCGATGG CATTTTTTTTTTTTTTTTTTTTGAGACGGAGTTTCGCTCTTGTTGCCCAGGCTGGAGTGC AATGGCGCGATCTCGGTTCACTGCAACCTCTGCCTCCCGGGTTCAAGCGATTCTTCTGCC TCAGCTTCCCGAGTAGCTGGGACTACAGGCGCGTGCCACCGCACCCGGTTAATTTTGTAT TCTTAGTAGAGACAGGGTTTCATCATGTTGGTCAGGCTGGTCTCGAACTCTTGACCTCAG GTGATCCACCAGCCTCGGCCTCCTAAAGTGCTGGAATTACAGACATGAGCCACCGCGCCT GGCCCAGTTTTTTGTTTGTTTGTTTGTTTGTTTTAGTAGAGACAGGGTTTCACCATGTTC GCCAGACTGGTCTCGAACTCCTGACCTCAAATGATCTGCCTGCCTTGGCCTCCCAAAGTG CTGGGATTACAGGCGTGAGCCACCACGCCCGGTGCTGATGGCATTTGGAACCACCCTGTA GTTACATACACAAGTGTTTCTGATCCCAAAGCTCTAAACTGCTTTTTCCAGTCTTTTGCA GCTGCTTCTTGCCTGCACTGGAAAACAGTAGATGCTCTTCAGGCTCTGTGCCCCCAACAG TTTCTGCGCATCCCTTCTCATCCAGCCTCTCACTGGGGGGCTGGCGTCATTATTCCCATT TTGCAGCTCTGGAAATGGAGTCTGCACAAGTCCTCGCTGCCTTTTCCCTGCCTACAGTAC CACTATGGTATCCTAACACGCCACCCACTCTAGTGTCCCTTTAGGCTATTTATTTATTTA TTTATTTATTTTGAGATGGAGTCTCACTCTGTCACCCAAGCTTGAGTGCAGTGGCGCGAT CTTGGCTCACTGCAACCTCCACCTCCTGGGTTCAGGCGATTCTCCTGCCTCAGTCTCCCT AGTAGCTGAGATCATAGGTGCCAGCCACCACGCCCAGCTAACTTTTGTATTACTATTATT ATTATTTTTTTGAGACAGAGTCTTGCTCTGTTGGCCAGGCTGGAGTGCAATGGTGCGATC TCGGCTTACTGCAACCTCTGCCTTCCGGCCTCAAGTGAGTCTCCTGTCTCAGCCTCCTGA GCAGCTGGGATTACAGGTGCCCACCACCAAGCCAGCTAATTTTTCTATTTTTAGTACAGA TGGGGTTTCACCATGTTGGCCAGGCTGGTCTCGAACTCCTGAAGTTGTGATCTGCCCATC TTGGCCTCCCAAAGTGCTGGGATTACAGGTGTGAACCACTGCACCCGGGCTCATTTTTTT TTTTTTTAAACCAGGCAGGTCGTAGTGGCTCACACCTGTAATCCCAGCGTTTTGGGAGGC CAAGGTGGGCGGATCACTTGACGCCAGGAGTTCAAGACCAGCCTGGCCAACTCGACAAAA CCCTGTCTCTACTAAAAATACAAAAATTAGCTGGGTGTGGTGGCGCACCAGCTACTCCAG AGGCTGAGGCAGGAGAATCGCTTGAACCTGGGAGGTGGAGGTTGCAGTGAGCTGAGATCT CACCACTGCACTCCAGCCTGGGTGACAGAGTGAGACTGTGTTCCAAAAAAAAAAGAAAAG AAAAGAAAAGAAAGAAAATGCAGTGATTTGTACTGTTGCCTAACCATCACTACAATCCAG TTACAGAATGTTTCCGTCAACCTGATAAGTCCTTCCCACCTGTTTCTGGTCAATCCAGCT CCCAATTCCAGTCCTGTGCAACCACTGATCTGCTTTCTGTCTCTAACTTTGCCTTTTCTG GATGTTTCATATAAACAGAATAATACACTATGTGGCCTTTTGCTTCTGGTTCTTTCATTC AATATGTTTTTTGAAATGCGTTCATCCTGTAGCGTCTAGAGTAGTTTGTTCCTTTTCATT GCTGAGTCGTATTCCACTGTGTGGTTATGCCACATTTTTTTCTTAATTCACCAGCTGATG GATATTTAGGGTTCCAGTTTTTTTTGTCTTTTTTGAATAATGCTGCTACAAATGTTTAGG TGTCTTTGTATAGGTGTGTGTTTTCATTTCTCTTGGGTAGATTCCTAAGGGTAGAACTGC TGGGTCCTGTGTTTAATTTATGATTATCTTTTTTTTTTTTGAGACAGGGTCTCGCTCTGT TGCCCACGCTGGAATGCAGCAGTGCAAACATGGCTCACTGCAGCCTCGACCTGCTAAACT CAAGCTATCCTCTTGCCTCAGCCTCCTGAATAGCTGGGACGACAGACACGCACCACCATG CCCAGCTAATTTTTTTTTGTATTTTTTGTAGAGACAAGGTTTTGCCATTTTGCCCAGGCT AGCATTTAACATTTTAAGAAATGGCCAGACTGTTTTTCAAAGTTTTCCCACCAGCAATAT ATGAGGATTTGTCTCTCCATATCCTCACCAATACTTGTTTTCTGTCTCTTTGATTATAAC CATCCTAGTGGACATGACATGGTATGTAACTGTGGTTTTAATTCTCATTTATCTAATGAC TATGTCGTGTATCTTTTCATGTAGTTATTAGCCATTCATATACATATTATTTGAAGAAAC ATCTATTCAAGTCTTTTGCCCATTTTTATTTGTCTCTTTATTATTGATTTGTAAAAGTTC TTTATATATTTTGGATACCAACCAAAATATATACAACCATATATACAACCATATATAGTT GTATATGATTTGCAACTATTTTCTCCCAGTCTTCGGCTAGTTTTTTTTCTTTTTTCTTTC TTTCTTTCTTTTTTTGAGACAGGGGTCTCACTGTGTCACCCAGGCTGGAGTGCAGTGGCA CAATCTTGGCTCACTTCAACCTCCACTTCCTGGGTTCAAGAGATTCTTGTGCCTCAGCCT CCCAAGCAGCTGAAATTACAGGCGTGCACCACCATAGCCCAGATAATTTTTTGTGTTTTT AGTAGCAATGGCCAGGCTGTTTTCGCTATGTTGGCAAGGCTGGTCTGGAACTCTGGCCTC AAGTGATCTGGCTACCTCAGCCTCCCAAAGTGCTGGGATCACAGGCATGAGCCACTTCAT CTGGCTTCATTTTTTCTTTCTTTTCTTTGAGACAGTGTCTTTCTCTGTCACCCAGACTGG AGCGCAGTAGCACAATCACAGCTCACTGCAGCCCCAACTTCTCAGGCTCAAGTGATTGTC ACACCTCAGCCCCACCAAGTAGCTAGGACTATAGGCCCGCACCACCATGCCTGGATAGAT TTTATATCTTTTGTAGAGATGAGGTCTTGCCAGGTTGCCTAGGCTGGTCTCAAACTCCTG GGCTCAAGCGATTCACCTGCCTCAGCCTCCCAAAATGCTGGGATTACAGGTATGAGCCAC CATGCCTGACCCCTTCTTTTTTTTTTTTTTTTTTTTTTTTTTTTTCGTATGGAGTTTTGC TCTTCTTGCCCAGGCTGGAGTGCAATGGCACCATCTTGGCTCACTGCAACTTCCGCCTCC TGGGTTTAAGCGATTCTCCTGCCTCAGACTCCCGAGTAGCTGGGATTACAGGCATGCACC ACCATGTCTGGCTAATTTTGTATTTTTTTTTTTTTTTTTTTTTTTTTTTTAGTAGAGATG GGGTTTCTCCATGTTGGCCAGGCTGGTCTTGAACTCCCGACCTCAGGTGACCCATCCGCC TCGGCCTCCCAAAGTGCTGGGATTACAGGTGTGAGCCACTGCGCGCGGCCTCCTGGCCTC TTATTAATGGTGGCTTTTGAAGTGCAAAAATTTTAAATTTTGACAAAGTCTAACATCAAT TTTTTTCTCTTGTCAGTTGTCTTTTTGCTGTTATATTCAAGTTCTCTGCCTAACCCAAGG TCATGAAGACTATCTCCCATGGTTTCTTCTAGAAGTTTTATGGTTTTAGCTCTTACATTC AGGTATCTGATCTATTTCAAGTTTTTTTTTTCTTATGCATCCTGTGAGCAAAAGATCTAA ATTCACCTTTTGGCATGTGGCTATCCAATTGATCACAGCAGCATTTATTGAATGCCTATC CTTTCCTCCATGAAATTGTCTTGGCACCTTGTAAAATCAATTGACCAGAAATGTAAGGGT TTCTACTTGGACTCTGGATTCTGTTCCATTGACCTATAAACGCATTCTTATTTATTATTA TTATTATTTTCCCCCGAGACGGAGTCTTGCTCTGTCACCCTGGCTGGAGTGCAGTGGCAC GATCTCAGCTCACTGCAACCCCCGCCTCCTGGGTTCAAGCAATTCTCCTGCCTCAGCCTC CTGTGTAGCTGGAATTATAGGTGCACACCACCATGCCCAGCTAATTTTTGCATTTTTAGC AGAGGCGGGGTTTCACCATGTTGGCCAGGCTGGTCTCGAACTCCTGACCTCATGATCCAC CTGCCTCGGCCTCTCAAAGTGTTGGGATTACAGGTGTTAGCCACCGTACCTGGCCTTATA GTTGTTGTTGTTTTTAAATTCAGATACAACTTATACACAGTAAAATTCATCCTCTTGAGT GTACCTTTCTTTTTTTTTTCTTTTCTTGAGATGGAGTCTCGCTCTTGTCTCCCAGGCTGG AGTGCAATGGCTCGAACTCAGCACACTGAAACCTCCGTCTCGTGGGTTCAAGAGATTCTC CTGCTTCAGCCTCCTGAGTAGCTGAGATTACAGGCGTACGCCACCACGCCCGGCTAATTT TTGTATTTTTAGTAGAGACGGGGTTTTGCCATGTTGGTCAGGCTGGTCTTGAACTCCTGA CCTCGTGATCCACCTGCCTCAGCCTCCCAAAGTCCTGGAATTACAGGGGTGAACCACGCA CCCAGCCTTGAGTGTGCCTTTCTATGAGTCCTAAGAAACACACACATTTGTGCATCCAAC CCCAAAACCAAGATACAGTATGGTCCCATCACCTCTCACAAGTCCCTGTGCCCCCTACTG TGGACCCCTCTCCCTCCTCCCCAACCCCAGACCTGGTTTTTGTTCACACAGTTCCACCCG CTCCAGAAAGCCATATAAGTTGATTCCTACAGCACTCCGCCCTCTGACTGTGGCTTTGTT TCCATCCCATCCTTCAATATCCAGGATGATCTTTCCAAAATGTAAATGTGCCCTCTCCTC TGTGCTTCTACTTAAGTCTAAATACAACTTGCAGGGTCTGGTCTTTGACCGCTACTCCTG CCCATCTGGACAAACAGGATGGATGGCTCTCAAACCTGGTTTGCAGAACAGCCACCTGAG GGCTTGTCAATACCACACCTTCCTGGGTCTTAGCCCTAGAGACTGAGATTCAGTTGCTGG AGAGGAGCCCAAGAATCTATTTTCCACACAAGGTTAGGGAGGTCTAGAGGCCACATTTGC AGAAGCACAGCTTCCTCTCTCCACACCTTCCACACCTGTCCAGGTTCACCCACGTGGCCT CTGCTTCCTCCCTTCTCCTCCAACCCCACTCTCTGTCTCCGCATGCTGCATCTCCTCCTG CCCAGAGCTCTGGCATTGATTTCCTCACTGGGGAAAGTGGCCTCCTTCCCCAATTCCCAT CCACCGATTCCAACCCCCTTCCCATGTCAGCCAGCTTCTCCTCTGCTCAGCTGTCACCTC CACTGAGAAGTCTTTCCTGACTCCCTATGTGAGTCATTTTCCCAGCATAGTTGTCTCCTG TCATTTCTTATTTGTGTGATTCTTTGGTTAACATCAATCTTCCTGATTGGCTGTGTGAGG ATGGGCGGGGTCTGTTTTTGTTGTTTACGCCTGTATCCCCAGCACAAAACATGGGGCTGG CATATGGTAGGTACTAAACAGATAGTTGAATAAATGAATGAGTGAATTGTCTACTCTGCC TTTGCACAAGCTGCTCCATCACCAAAGAGACCTTGCCTCCTCCCCCACTTCTTTGCTGGG CCCACTCATACCGGTTTTCCTAGGAAAACTCTGGAGAAAATTGAGGCAGGAGCCACTCAT TCGTGCCCCTTCCAGGGTGGACCTCTTATCACCCTAAGGATTGTTTGTTTTCCTGTCACC CACATCAAGCTGGGTGGTGGCCGCAGCCTTTGATCTCCACCTCCTAACCCCTCTCCCAAG TACCCTGTGTTTGCCCAGCACTGAATGAGACAGCTAAAGTGATCCCTGAGAGAACTAAAG TGTTCCCTCAGGCCGGGCGTGGTGGCTTATGCCTGTAATCCTAACACTTTGGGAGGCCGA GGTGGGCAGATCACCTGAGGTCAGGAGTTCAAGACCAACTTGGTTAACATGGAGAAACCC CATCTTTACTAAAAATACAAAAATTAGCTGGGTGTGGTGGCAGGCGCCTGTAATCCCAGC TACTCCGGAGGCTGAGGTAGGAGAATTGCTTGAACCTGGGAGGCAGAGTTTGCAGTGCGC CAAGATGGCACCACTACACTCCAGCCTGGGTGACAGAGCGGGACTCTGGCTCAAAAAAAA ATAAAATAAAGTGATCCCTCTAAGAGGAATCCCCAGGGGCCCAGGCCAGAGCTTTCTCCA GGTCACCATGGCTCCTCCCACTGTGCCACCCTGCCTAACCCCCTCGATTTTAAAGGAGAA GCCAAGACTCTGGACTTTGCTCAGAAGGTGGGGGGCGGGGGAGGGAGGGCTTACCCTGGG TACCTCTGAGGGGCCAGGGCGCAGCCACCACGGTAAGGGTGACTGCAGATCGAGGGGCAG GCCATGTTGCTGGACACCACCCTGGCTGGCGTCCCTCTCGGCAGGGTGCTCTTTGCCCCA TGGGGTGGGATCCAGAGCTGCAGACAGGCCCCCAGGCTTGGCCAATGAACAGACCAGGTT CGGGGAGGGTGTTGGAAAAGAGTGGATGGGGTGGTTCCCCTTACCTTGCAGCCCCCAGGC CCTCCCCCCTCCCTCCCAGGTGGTCGGGACTCTTGATCTTCGCTCGTGGTACTGTCTGTT CGGCTGTCTTCCCCGCCTCTCCCCAGGCACCTGCATCCTCCCTTGGCACCTGCTGCCAGG CTAGGAAGGGCAAAAACAATCCCAGTTGGCGTAGTCAGGGAGTCTCCGCCCTCCTCCCAG GTTTCCTCCTCCCAGGCGCCTCCCCTGGACCCGCCCCCATCTGCCCAAGATAATTTTAGT TTCCTTGGGCCTGGAATCTGGACACACAGGGCTCCCCCCCGCCTCTGACTTCTCTGTCCG AAGTCGGGACACCCTCCTACCACCTGTAGAGAAGCGGGAGTGGATCTGAAATAAAATCCA GGAATCTGGGGGTTCCTAGACGGAGCCAGACTTCGGAACGGGTGTCCTGCTACTCCTGCT GGGGCTCCTCCAGGTAAGGGGACCGAGATCGGTCTCAGACGACAGCCTGCCAGGCAACCC CCAGCCGCACCAGGGCCCCAGGCTGTGCCAGTCTCCGGCTGAACTGGCCGGCGGCCCAGG TGGGAGGATTGGAGCCACCTGGCTCTCCCCCTCCCCCGCTCGGTGATGTCAGGCCAGGGG CGGGGGCTGGAGGGGGACAGGTAGTTAAGGGCCTGGCGTCTCCCTCCCTGAAGACGTGGT CCCAGCCGGGTGTCCTGACGCTCGGGGTTCAGGTAAGAACCCAAGCGGGCATTTATCCTT TGGGGGCAGGCACGGCCGGTCTGGAGGCCGGTAGGGAAAGGCTGGGTCTCCTGATGGGTT GCTTGGCCTCCCACTTTTCTCTTTTCTGTCCATTTCCCACCCTGCCCCCTCCTCCCCACC CGCCCTCTTTTCGTCCCCATCCTGGTTTCCAGCGCTCCTTGTTCCCTCCCTGTACACCTC CCTGCAGGCAGCAGCTGAGAATGGGAAGGAAGACCTGATTCTCTCCTCCGACTTGGCTTT CCCGCTGAAACTAGCCCCTCCCCGCACACCCGGGGAGAGCCGCCCTCACTCTCTGGCTCG CCCAGTTTACCCCAGTTTGGGTTTCCCCAAGTCTCTAAGACAGACGTCTCTGCGGGCTGC GGGGAGATGTGGGGAGGGCCCCCTCCACTTTGGAGGGCAGTGAAGGAGAGGGATCCTCTA AATTGTCGAGGCTTCATCTCTCCAGATTGTATGCCCTTCTCAGCAACACCGCCTCCGGCC CTCCGATGGGAAAGTGGAGGCCGGGTGAGACGGGGTCCCTCCTGGCTTCAGCATGAAATG GGCAGGAAGGCTGGAGGGGTGTATGAGGGGCTCTGCAGTGCGGTGGGGCCTGGGGAGAGT GGGGTGGGGGATAGCAGATGGTTTCTTCTGCTTGATGAGGCTAGGGAGAGACCCAGGTTC CCGGTCTGGGTCTCCCTGGCAGATTGAGGACAGAGAATGAATGCATCTGCCGGCAAGGTG GAACGCCCCCCACCCCGCCCCCCAACTAGCCGCACCGCCCCCCAGGAATGCCCTCTTTTG GTCCGCCGGTCTTGGACTCTGCTCTCCCCTCTCCTGATATCCTACTGTATGCTTGGTGGG GGGACCTCATGGAGGCGGGCAGCCTGTAATGATTAACTGCAGAGACACTCCAGCATTCTT CCCGAATTAAACTTTAAAAGAGCTGCCCCGCCTTCTCCCATTGGGTATTTTTCCTGAGTG AGAGTGGGCGGGGCCTCAGAGTCCTGGGTCCTCCCTTATACTAGGAGTCATCCAGGGGTT TCTCACCTTCTCACCTGGGCCCTGCACCCTAAAAAATTATAAGCCTCTCCCGTGGGGGCG GGGCGTGGAGTACTGGGCGGACGGGGGCTCTCCCGCCACATCCAGGCCCCTGGCCCAGGC CTCAGTCCCGCAAGCCCTTCCCCCTGCTCTGGGAAGCAGAGTTGTTTTCTGTTGGCCCTG AACACCGGGCCCCGCCACCTGCCCTTAGGGCCAGCCAGGTGGGGCGTGATTCAGGAAGTA AACAAGGAGGTTGGGAGGACGGGAACGCGGGTGGGGCTGGAACCACTGGGGGAGGAGGCA GCTGGGAAGCCACGGACGGAGTTACCTCGTTGAGGGGACAAACTGATTTTGGGGGTCGGT GTTTCCAACCGAAGCTTTACCGGGGCCTCAGTTTGAAAACTCCAGATCTCTAAGCTGCCA GGCCCACAGCCAGGACCCCTTCCTCCTCCCTGCTCACCCCATTGGTCTTGACGATTCCAC CCGCCTCCAGCCTTAGAAGCTTAAGGGCACGGCTGGGGGGCTCTGAAGGCAAACCCCAGC CTTGGACTGGCCCTCTCTGATCTCTGAGGCCAGGCTCTAATGTGATTTGAATCTACTTCT AACCCCTTCCAAGCACTGCCCTCCCGAATTCTCTGCTCCTCTCCCCACCCCACTGTTGGT CTGTGATTTCGAGGCAGGCGTGGCCCCCTGCAGCCTGGAATGAAGTCACTGGGGCTGTTT GGAGACCGGGGCTGTTTGGAGGTTAGACTGGGGTGGGAGTGGGGGATTGTGTTCTGGTAT TGAGGTGCTGGTGTCTCTTGCTAGCGGGTGATGGGTGTGTCGTGCCCCTCCTGGCAGGAC CCTGAGCCCCCTCCCTGGCCTTTCATCCTGTCTGTCTTCTTGAGTGTTTTCCCTTTCCAC TCCTGCTCCTGTGGTACCCCTCTGGCCGGGACACCCAGGAGAATGTGTCAGGAGGAACTT CATCCACACAGGGCAGGGGCTCTGAGCGATGCTTTGGGTGGGGAGGGGCACCGCCGGGAT GCTGGCTTCTCTCCAAATGGGCCTCTGAATCCAGGCCGGGCATTGCCTCTCTCCTTCCCA GGCGAGGGACTCCCTGGCGAGGAGGTGGTTTGGGACTGGGGGTGAGAGCAGATCGTAGGT CCCACCTGGCCTGGAGCTAGGCCGAGGGTGGGGAGGAGGAGGTGATGTCAGGAGCCTCAG GCCCACATCCTCCTCCCCCATCCTGTTCCCAGCCCCGTGCCTCCCCCATTCCGCTCTGGC TAGCAGTGGGTTGGGGAGTTGGGGGAAGGGTGGAGGCAGGGCTGTTTTTGTTTCTCCTAA GCCAGGAAGTTGTGTGGATGAGTCAAGGTTGAATGGAGAGCCCTAGGCAGTGTTGTCCCG CCCGCCCTGACTCACCTGTCCCCCAAATCCCCTGATGCCCTCACTGAAGGGTCAGGTGCC TGCTCCCTCCTGAGGGGTCAATCCCAGGTGCCCCAGGTGGCCTCATAGTACTGGCCCAGT GTTTGGAGAACAGGCTGGGGGCTGGGATTGCAGGTTCTCCCAGGTCTCAGCCCGGCCAAA GGGGTCTGCTGGGTTCCTGCGGAGAAGGTGCCAGCCCCACCTCCACCTCTAGTGCTCGTC TTTGCCTGCTGTCCTGTCTTTACTTGTCTTGAGTGTCTGTGCAGCCCCTATAAGTGATAA GACATGGGTGAGATTGGCCTTGCCTGGGGGTACCAGGTGCCCTCAGACAAATGGGTGGAT AGGACAGGTGCACAGTAATGGATGATGCGGCCCCCGCACAGTGCTGAGAGAGAGTCATTC AGTCTGAATGTGGAAGGCCAGGAAGGCTTCTCAGAGGAGGTGGCTCTAGCACTGGGGCTT CAGGAAAGAGTTGGGCAGGAGGATGGCCTGGGGAGGGTACGCAAGGTTTGGGGGCTGCTG GGGCCAGGACCCCTACCCCAGGCCCTGCTCTCCCCCTTGCACTGCAGCGGAGCCCGCTCT CCTGCCTTTCTGACTCCCATCCTTCCCCACCTCCTTCTCCCCTCTGCATCACTCATCACT TGGGCAGGCCAAACCTCGCCAAGTATGAACAGGCTCTGGCAACTGGGTCTGGCAACAAAG TGCTGGAAAAACCCGGGGCACAGCCCAGCGCAGTGAGTGCCCCACACGTGGAGGCAAAGG AGTGGGCCTTTGCCCTGACCCTGAGGGCTGAGCCTGAGAGTCTGTGGGTTGTGAAATCTG TTGTGACCACCAGGCTTGTGGTGGGTGGACCCTCAGCTCTTCCTGTGAGCAACTTTGTGC TAAAGAAAGAGCACTGGAGCCGGGCGTGGTGGCTTACGCCTGTAATCCCAGCACTTTGGG AGGCCAAGGCGGGCGGATCAGGAGTTCAAGACCAGCCTGGCCAACATGGTGAAACCCTGT CTCTACTAAAAATACAAAAATTAGACGGGCGTGGTGGTGGGCACCTGTAATCCCAGTTAC TCGGGAGGTTAAGGCACGAGAATTACTTGAACCCAGGAGGTGGAGGTTGCAGTGAGTGGA GATGACGCCGCTGCAAAAAAAAAAAAAAAAAAGGAGAAAAAAAACAGAAAGAGCACTGGA CTTGGAGTCTAAACACAGGTTCTACTCCCGACTCACCTGTGACTGAGGGCAAGAATGCTT TCTTCTCAGAGACTCGGTGTCCCCTTTTGTAAAATGAGGCTCATTCTGTCCTTCCCCAAG GGCTTCAGGGAAACTCCAGTTAGAGCAGTGAGGTGCTAGGTAAACTCTGAGGGGCACCCT AACCGCCGTGTGAGGTCAGGAGGTCTGAATTCTCTCATCCCCTCTCCCCAGGACAAGGGC ACACAACTGGTTCCGTTAAGCCCCTCTCTTGCTCAGACGCCATGGAGCTGGATCTGTCTC CACCTCATCTTAGCAGCTCTCCGGAAGACCTTTGCCCAGCCCCTGGGACCCCTCCTGGGA CTCCCCGGCCCCCTGATACCCCTCTGCCTGAGGAGGTAAAGAGGTCCCAGCCTCTCCTCA TCCCAACCACCGGCAGGTACGATGGGGCGTGGGGCTTGGGGGAGGTCAGTGCTGGATAAT ACACAGAGGCTTGCAGGCCACTGCTCCCTTCCCCACACCTCTCTCCCTTTTTCTTCTTGC CACAGGAAACTTCGAGAGGAGGAGAGGCGTGCCACCTCCCTCCCCTCTATCCCCAACCCC TTCCCTGAGCTCTGCAGTCCTCCCTCACAGAGCCCAATTCTCGGGGGCCCCTCCAGTGCA AGGGGGCTGCTCCCCCGCGATGCCAGCCGCCCCCATGTGAGTTGTCCCTCAGAAGGGAAG GGAGGGATGCACGGGTTCTGGGTCTGTGGGAGATACACAGCCGCTTCCATGGAGGCAGGG GATCTTGGTTAGGAGTCCCTGAGGGTCTAGCAGGTGCGGAAAGGGAATGAATCACCCTTT GCCTCCCCTCAAGTCGTGTGCAATTCCTGGGGCGCAGGTAGTAAAGGTGTACAGTGAGGA TGGGGCCTGCAGGTCTGTGGAGGTGGCAGCAGGTGCCACAGCTCGCCACGTGTGTGAAAT GCTGGTGCAGCGAGCTCACGCCTTGAGCGACGAGACCTGGGGGCTGGTGGAGTGCCACCC CCACCTAGCACTGGGTAAGTCAGGTGCATGGAACTATCCGGGCTGGGAGATGATGCCTTG CATCTTGGGCTAGGCATGTGGCTCATCCAGGAGATCTGGTTGATCTCCAATAACCCCTGC TTTTTGCCCTTGTCCCCAGAGCGGGGTTTGGAGGACCACGAGTCCGTGGTGGAAGTGCAG GCTGCCTGGCCCGTGGGCGGAGATAGCCGCTTCGTCTTCCGGAAAAACTTCGCCAAGTAC GAACTGTTCAAGAGCTCCCCAGTGAGTGCATGAGGGCTGTCTGGGCGCTGGGATGCCCTG ATCCTCAACCTGGATGCTGGAGCCCTGATCCCTGACACTTGTCTACCCACAGCACTCCCT GTTCCCAGAAAAAATGGTCTCCAGCTGTCTCGATGCACACACTGGTATATCCCATGAAGA CCTCATCCAGGTGGGGGGACCCCCCATTTCACTGCAGATTCACGACTCCCCAGCATTGGC CAGTGCTTCTCCACCCTTAAGTCCTGTGCCTCCCCTCTATGTTGTAGAAAGAGCCAAATC ACAGTCCTGTGTGACTGGGGACAGTCACTTTCCCTGCCTGAGCATCAGTTTCTTCTATTA AATGGGGGCGAGAAATGCATGTGGAGCATTTCCTTGTAAAAACCTGAGGGTGGGCTGGGC ACGGTGGCTCATGCCTATAATCCCAGCACTTTGGGAGGCTGAGGCGGGAGGATTACTTAA GCCTAGAAGTTTGAGAGTTTGAGACCAGCCTGGGCAACATAATGAGACCTCGTCTCTCCA AAAAAAAAAAAAAAAAAAAAAAAAAGGCCAGGAATGGTGGCATGAGCCTGTAGTCCCAGG TGCTTGGGAGGCTGAGGTGGGAGGATCACTTGAGCTCGGGAGGTCGAGGTTGCAGTGAGC TGTGATCGTGCCACCGCACTAGCATGAGACCCTGTCTCAAAAAGAAAAAGAAAAAGAGAA ACATCCTGGTGGTAGAGGGGAAGGGAGGAGGTCAGACCTGTCACTCTCCTCTGCTCTCCT CTGGCTCAGAACTTCCTGAATGCTGGCAGCTTTCCTGAGATCCAGGGCTTTCTGCAGCTG CGGGGTTCAGGACGGAAGCTTTGGAAACGCTTTTTCTGCTTCTTGCGCCGATCTGGCCTC TATTACTCCACCAAGGGCACCTCTAAGGTAAGGTCTTGAGGGTACCAGCCCCAGCCCCTC CAGTCCCTGGTCCTTTTAGAAGTTGCCCCTTCTCTGCTGGAACCTCTGAGCCCTTCTCCC CCTGGGCCCCCCAGGCCAGCCACCTCCAGTTTACCATCTCTCCCTACATCCTTGCCTAGC TCACCTGCCCAGGGAGGTAGCAGGAGAAAAGATGATCTTAGTTTAAGTCCTGGCTCTACT TCTATTTGCTGTGTGACCCTGGGTATTCCCCTGCCCCTCTCTGGTCCTGAAATCTCCCCA CCTGGCTTGTGGGGGGAGGTAATAGTGGGCGGGATCTACCTGTACCAAGTCCTGCTCACT CATGCTGCTTAGGATCCGAGGCACCTGCAGTACGTGGCAGATGTGAACGAGTCCAACGTG TACGTGGTGACGCAGGGCCGCAAGCTCTACGGGATGCCCACTGACTTCGGTTTCTGTGTC AAGGTGAAGACCTGGCCAGGCCTGGCCCCTGGCCTGGGGAAGCAGGAACTGCTCAGGCCC CTGGATCCTGCCCGGGGCTTCTGAGCCCCAATTCAGACACCTAGACTCCTCTCCCTGCAC CCTGGCCTGCTGGAAACTCCTGGATTCAGCTCTGCTATGTGGAGCAGGGGCAGACATGTG GTCCTAAAGGCAGATATGGGACCAGTCAATTTCCTCTCTCTGCAGCCCAACAAGCTTCGA AATGGCCACAAGGGGCTTCGGATCTTCTGCAGTGAAGATGAGCAGAGCCGCACCTGCTGG CTGGCTGCCTTCCGCCTCTTCAAGGTGAGACCCTGGGAGTGGCATGGGGGGCTGGCCTGG CCAGAGGGATCCCCAGCTCTGCCCTCAGGAAGTCTCAGGAATGAGGAGGGCATCACAGCC TTGCTCTCTGATAACCCCCAGTCCAAGCCTGAAGTTATAGGAAGTGCCCATCGAAGGCAG AAACACAGCCCTGGTCTGGGCAAGTCCTGGTCTGAGGGGGGCGTCACAGCCACGCCCCCA GGACCTCTCGACCTCAAGCTCTCTTTCTCTCCCCACCCCCAGTACGGGGTGCAGCTGTAC AAGAATTACCAGCAGGCACAGTCTCGCCATCTGCATCCATCTTGTTTGGGCTCCCCACCC TTGGTGAGTGTGCCCAAGGGGATGGGAGGGTGGGTATGCAGGCCCTGTCTTACGGGTACC TGGGCCCTGTTCTGACCTCTCTCCTCTCCTTCCATCTCCAGAGAAGTGCCTCAGATAATA CCCTGGTGGCCATGGACTTCTCTGGCCATGCTGGGCGTGTCATTGAGAACCCCCGGGAGG CTCTGAGTGTGGCCCTGGAGGAGGCCCAGGCCTGGAGGGTGAGGCCTGCTGTGTGTGTGT GTGTTTGTGCTGGGGACCCACTCTCTGGGTGGGATCCCTGAAATAGGAGGGAGGAAGAGA GGGCGGGGGGAGGCCCCTGGCTGGGAAGAAGTGCTCTACCTTCCTGAGGTGCTGGGTAAT GCCCCCAAGCACGCCCCGACTCTCCCGTATCTCCCACTGCTCCACAGAAGAAGACAAACC ACCGCCTCAGCCTGCCCATGCCAGCCTCCGGCACGAGCCTCAGTGCAGGTGGGTGACGGC CCCGAGTCCTGGGGCGGGGGCTGCCTCAACTTCTCTTTGTATTCCCAGTGGGGAGTAGAT GGTATAGGGGTCCCCTCCCCAAAGTGACCGCCCATGTCCTTCCCCACCACAGCCATCCAC CGCACCCAACTCTGGTTCCACGGGCGCATTTCCCGTGAGGAGAGCCAGCGGCTTATTGGA CAGCAGGGCTTGGTAGACGGGTAAGGGGCAGGGCCGGGCAACAGACCCAGGGATAAGAGA GACTGGGGTCCAGGTGGCAGCCATGGTCCTTGGGTAGTAATGCTGCCCCATCTCCTGTCT TCTGGCAGCCTGTTCCTGGTCCGGGAGAGTCAGCGGAACCCCCAGGGCTTTGTCCTCTCT TTGTGCCACCTGCAGAAAGTGAAGCATTATCTCATCCTGCCGGTGAGCTTCCCTGCGTCC CCGGAGTCCTGCAATGAGACACAGGACTCCCAGCAACCTGTCCTCCTCACCAGGCCCCTC CAGAGGCTCCCTGGCCCCCAGTGCGTCTCCCTTTTCCCTGCACAAGAAGTGGGAGGCTGA GTGCGGTGGCTCACACCTGTAATCCCAGCACTTAGGACGGCCAAGGTGGGAGAATGGCTT GAGCCCAGGAGTTCGAGACCAGCCTGGGCAACACAGGGAGACCCCATCTCTACAAATAAT TTAAAAATGAGCCAGGCATGGTGGTGCACACCTGTAGTCCAGCTACTCAGGAGGCTGAGG TGGGAGCATTGCTTGAGCCCAGAGGGTCAAGGCTGCAGTGAGCCATGGTGGCACCACCAC ACTCCAGCCTGGATGACACAGTGAGAAAACTGTCTCAAAAAAAAAAAAAGAAAGAAAAAG AAAAAGAAAAAAGAAAAGAATAAAAGGAAATGGTGGGGCCCTGGCCCAGGAGGGAGCTTC CCAAGCCTCGGGCCCCTCCCTGAACTTCCACCCCCTTTACTGTACCCCAGAGCGAGGAGG AGGGCCGCCTGTACTTCAGCATGGATGATGGCCAGACCCGCTTCACTGACCTGCTGCAGC TCGTGGAGTTCCACCAGCTGAACCGCGGCATCCTGCCGTGCTTGCTGCGCCATTGCTGCA CGCGGGTGGCCCTCTGACCAGGCCGTGGACTGGCTCATGCCTCAGCCCGCCTTCAGGCTG CCCGCCGCCCCTCCACCCATCCAGTGGACTCTGGGGCGCGGCCACAGGGGACGGGATGAG GAGCGGGAGGGTTCCGCCACTCCAGTTTTCTCCTCTGCTTCTTTGCCTCCCTCAGATAGA AAACAGCCCCCACTCCAGTCCACTCCTGACCCCTCTCCTCAAGGGAAGGCCTTGGGTGGC CCCCTCTCCTTCTCCTAGCTCTGGAGGTGCTGCTCTAGGGCAGGGAATTATGGGAGAAGT GGGGGCAGCCCAGGCGGTTTCACGCCCCACACTTTGTACAGACCGAGAGGCCAGTTGATC TGCTCTGTTTTATACTAGTGACAATAAAGATTATTTTTTGATACACCTATGAGTTCTGTC TGGCAAGGCCTGGCTGGCTGAATCAAGAAGGGAACCAGAGCTGGACGTGGTGGCTCATGC CTGTAATCCCAGCACTTTGGGAGGCCAAGGTAGGAGAATTGCTTGAGTCCAGGAGTTTGA GACCAGCCTGGGCAACATGGCAAGACCCTGTCCCTACAAAAAATAAAAAAATGAGCCGGG CATGGTGGTGTGCACCTGTAGTCCCAGCTTCTCAGGAGGCTGAGGTGGGAGGATCCCTTG TTCCTTGAGCCTGGGATGTCAAGGTTGCAGTGAACTGAGATTGTGCCGCTGCACTCAGCC TGAGTGACAGAGTGAGACCCTGTCTGGAAAAAAAAAGAGGGGAGACCTGGAGAGGTGGGC ACCTGTGGAGGCCTTGGTGGAAGTGTCAAATGGATCGAGGCCATGTCTCAGCCTGCCTGG ATGTTCCTCAAGGGCAGGAGTGGTTATCTGAGAGTCTCCAGTGCCCACCATGCAGCTTGA CACATAGTAGGCGCCCAGTCATTGCTAATTAAGTAAGTGAATAGACAAGAGACCATCATC CCAGAGAGATTTTCTGACAGTCTAAGTCTAGAGAGGTAATTAACAGGGCCTGGGAGTTGG AGATGAGTCCGACAGCATGCTTGTCCTCCGCTAGTCCTGGACTAGCTGACGGATAGTTGG CCCCAGCATGCACACAGTTATGCATCCAGCCCCACCACCAAGACACAGAATGGCCTCATC ACCCCCAACAAGTCCCTGTGCCCCCTACTATCAGCCATGCTCCCTCCTACCCAAACTGAA ACCTCCTTTCTGTCCTAGTTCTGCCCCTTCCAGAAAGCCATATAAATGGAGCCTGCTAGC ATTCAGCCCTCTGCATCTGGCTTCCATCTCCAACACATCCTTCAGCACCCAGAGTGATCT TTTCTCAAATATAAATTCACCACTCCCGGCAGGGCACTGTGGCTCACACCTGTAATCCCA GCACTTTGGGAGGCCGAGGCGGGCGGATCACGAGGTCAGGAGTTTGAGACCAGCCTGGCC AACATGGCAAAACCCCATCTCTACTAAAAATACAAAAATTAGCTGGGCATGGTGGCGGGC ACCTGTAATCCCAGCTACTAGGGAGGCTGAGGCAGGAGAATAGCTTGAACCGGGGAGGCA GAGGTTGCAGTGAGCCAAGATCATGCCATTGCACTCCAGCCTGGGCAACAAGAGCAAGAC TCAGTCTTAAAAAAAAAGACAGATGTCTGGCCTCTGCCCACTGCTCATGCCAGTCTATGT TTTTGTCTTAGAGGTTTTTTTGTTTTGTTTTTTGAGATGGAGTCTCACTCTGTTGCGCAA GCTGGAATGCAGTGGCACGATCTCAGCTCACTACAACCTCCTTCTCCTGGGTTCAAGCGA TTCTCTTGCCTCATCCTCCCAAGTAACTGGGATTACAGGCGCTTGCCACCACGCCTGGCT AATTTTTTGTATTTGTGGTAGAGACGGGGTTTCACCATGTTGGCCAGCCTGGCCTTGAAC TCCTGACCTCAAGTGATCCACTCACCTTGGCCTCCCAAAGTGCTGGGATTACACACCCAA GCCACTGCGCCTGGCCTTGTCTAAGAGTTTTTTAGTTTGAGCTCTTACCTGATGGGAGCT CTTTAATAAATATGTCAGATCGACTGCATCTGAACTTGCTGCTTAACTCAGGAGACAGAC CCTCCTGCAGACCTGTGAACCCCAACTAGTCATTGTTTTTGTCAAAACACCAAACCTGAA TCTGATTCCTTGGATTCAACAACTAGTTTACGGGAAATACAAGGGAAACAATGACAAAAA TCCAGATTGGGAAATTCTACAGAACAGATAACCCAGTTTCTTCTTCAACAGCAACAAAAT TACCAGAAAAGATGGGCAATCTCTAGATTTCAAGAAATTTAGACATATATCAACCAAATG ATGTGTTGACCTTTGATTCAAATGCAAACTAACTGTAAAAAGCATTTATGAGCAATTGGG GGAAATTTGAATTCTGATCAGATATTCGATGATATTAAGGGATTATGGCTAACTTTCTAA GGTGTAATAATGGTATTGCAGTTACGGTTTTTTCTAAATCTTTATCTTTAAGAAATTCAT TATGAAGTATTTAAAGGTGAAATCACATGATGTCTCAGCTTTGTTTTTATTCCTTTTCTT TTTTTTTTTTCCAACTTTTATTTTAGATTCAGGGAGTACATGTGCAGGTTTATTACCTGG GTATATTGAGTAATGCTGAAGCTTTGTTTTTAAAATAACCCAGAGGTGGCCAGGCACAGT GGGTCATGCCTGTAATCCCAGTACTTTGGGAGCTGAGGTGGGAGGAGTTTGAGACCAGCC TGGGCAACATAGTGAGGCCCTCTCTACAAAAATAAAAAATAAAAAATTAGCCAGGTGTGG TGACATGCATCTGTGGTCCCAGCTACCTGGGAGGCTGGGGTGAAAGGATCGTTTGAGCCC AGGAAGTCAAGGCTGGTGTGAGCCATGATTGCATCTCTGCACTCCAGCCTGGGCCACAGA ACATGACCTTGTCTCAAAAAATAAAAAGAAAAAAATGAAATCCAGAGGTTAAAGGAGAGG GTGTGGGCATAGTCATGGTGTGGCCATGAGTTGACACTGGCTGTTGATATTGGTTGAAGC TTGGTGACAGGTACTGGCTATGTGGGGATTTGTTAAATTATCCTCTCCACCTTTGTATAT GCTTGGATATTCTATTATATATTGATATATTTTAATGGAGAGCCCCTTCTCAAATCTTTG GGACTGACTGGGCAGGAGGTGGTGAGACGCTGTTTTGTAGGTGAGGAAACTGACGGCCCA GTGGGCAGCCTGGCCCCAGATCACAGTGGGAGAGCCAAGATTCCAACCCAGGTCTGAGGA CCAGGTCTGGGCATGTTCTGCTTCCCCTGTCTGGCTGACGTCCAGGTGGCATTCCTCAGC CACAGTGACAGCAATAGTGGCCTACTGGGGTCCTCCCTTAGAGAGCCCCTCCCTTCCCTG CAGCCTTGGTCTCTGGCCTGGAGGGTTGTCCTGAGGTGACCTTGAGACTGTGCAGCCTCT GCAATCAGCCCCTGGGCTGGGTCTGGCAGCCCTGGCAGCCACTCCCGACCAAGGCACCCC CATCCTTGGCTAACTCCAGGCTGGGAAGCTGGGACCAGGTCCAGCAGACAGAGGTGGGCA GAGAGGTCTCATGCACACCCCAGCCTGGGACCTCCTGGGAATCTGCTGGAAGAACTTACT GCAGCCCAAGGGCAGGAAGGGTGGCAGATTTTGCTTCTTTTTAGCAGGACTGGAGGCAGG ACCCAGTGCAACCTGCTGCCTGCCACCTGCCACGGTTCCCAGAGCCATCCCCACCACAGG CTGTGGCTCGAGCACCGAACAGGGCAGTGTCAGCTGTGTGGCTGGCCATGGGTGCCCAGG GCCACCTCCGAGGTGTGGGTGCCAGAGTTCCAGGCTGGAGTGAGAGTAAAGGGGTCAAGA TGAGTCACCTCTTCAGCATGTCCAGGGGTTCAGACTGTAAAAAAAGAGGACCCAGTGTCC CTTCACAGCCTGAGGCACTGGGCAGAGACAAAGCCTCTCTGTCAATCAGCTAATTGGAGA CTGTGAGACAGATGTCCTTCCCACTTTACAAATGGGAAACTGAGGCTCAGGGAAAGACAG GGACTCACCTGCGACAGGGGTCGCAGAGGGAGTTCGGGACAGAGGCCAGACTCAGCCCAC TGGACAGGTGGTGAAATGCAGCCCTGCCCTGCTCTAGCCTTTGTTCTCTGCCCCCTCCCT TCTCAGTGCTGGCCACAGTGAGGGACCTAGGCTGCCGAGAGCCCTTAGAGGGGGCAGCAT TTGGCCCTGATCTGGCCACCTGAGACCAGCAGCAGCCCATTCTTGGTGAGTGTCTGAGAT TTCTGGCTTTTTGGAGACGTAGCTGCTAAGAGTTTGGGGGCACAGGGACCCTCTCAGGGC CAGCTCACAGTGGAACCCCTGGGTAAGATCCCCCAGCTCTGAGGATGTGGGAAGGATGCT GCTCTACCTCAGAGACTGCAGCATGACCTACAGTGGTCAGACAGCAGAAAGGACTGCCAA GGACGGCTGCAGTGCTAGATCGGGGAGGCTTGTGGTTCTGAGAAAATCTGGGCTGGTGGG AGGGGAAGCAGGGGCTTCTCTGGGGGAGAGGGTGGGGGCTGGGACCTCAGATACTGTCTT TTCAAAATTGATTTATTGGGTTTCATTCTAAAATTATACGTACTTATTAAAAACATTTCA GAAAAAAACTTGAGGGCAAAGGGGAAATTCCTCATCATCTTTCCATGCAGAGGAGGACCC AGTACTGAGAGAGGGTGACAGGGCCCACATCTGGGGAGCTGACGCGAAGTGCTGCCTGCC ATGCATCACACGTTCCAGCTTCCCGGGACCAGCGTGGCCGGTGGGAGCCGGGTGCCAGGG CACATTGCTATCCTTGGCAGCACCATGGGCCTTTAGGGTAGGGGTTCTGTGGAGGGTGTG GCTACAATGTTGGCCTCCCTGCCTGCTCAAGTGTGGAGGGGAGGGAGGACTGCTGCCAAC GCTCTGGACTCTGGGATGGGGGTGGGCATGATTCCAGGGGAGCCCACCTCCCTGGGCGGG GCATCCAGACAAAGCCCTGGCCAGTTCTGCAACATCCAAGTTCACGGGTGGTGGACAGGC CCAAGGGTTCAACATCAGGTCAGGGACCCTGCCTGGCTCCTTCCTTGGGCCCCAGTGCCA GGCACCCTGATGAGGGATGAAGAGAGGAAGGACAGGACACAGACAGGGGAGCCCAAAGCC ACTTGGAAGGATTCTTTCTTCCAAACTATCCACATAAGCAGTTTTCTAACTCCTTCCCAG AGCCCAAGGGTTCTGGCAGGGGCTTGAGGGGCAGGTTGGGGTGGTGATGGGGGATGCATT GCCTTTCTATCTGGAACTTGAGCCTTATGGTATATTCAGGAAAAAGGCTTGAACCAGTGA AGTACTGATCTGGTCCAACAGATAGAAAGAGGGCCCAGAGAGGTCAGGGCTTGGTCCAAC TCGCACAGTGGTGGGGCGTCTGCAGACTGCTTTCCTGTCCTGTGCTGTTGGCAGAACCTC AGCTTTGGGACTTGAGGGGGAGTATGCAGTGGCAATTAGGACAAACGACTCTGAGCTCTC AGTTGAGTTGGGGGAGGAGAGAAAAGAAGGAGTTAGATCCTGGGGGAGTTGGATGTTGCA GACTGGACTCCAGAGCCTGGGGGTGTGGGCGATCCTGGGGTGTGGGGAGGGCGGGCTGAG GCTGCTCCACAAGCGTTCTCGAAGTTCACCATACAAGAAGGGGCGGTGTGGGGAAATGGG GATGAGGCCTGAAATTCAATCCCATGTGGGTTGAGTTATGATGTCATCTGACACCCTCTC ACACGGCTGCATCTACCCCAAGGAAGGGGCAAGTTTTTCTTTGATGGGCACCTGGGGGGG CTGTTTAGCTGGAGTTTTTTTTGTTTCGCTTTTTTTGTTTTTGTGTTTTTTTTGAGACAA GTTTCGCTCTGTGGCCCAGGCTGGAGTGCAATGGTGTGATCTCGGTTTACCGCAACCTCC ACCTCCTGGGTTCAAGCAATTCTCCTGCCTCAGCCTCCCAAGTAGCTGGGATTACAGACA TGCACCACCACGCCCAGCAATTTTGTATTTTTAGTAGAGATGGGGTTTATCCACGTTGGT GAAGCTCGTCTCGAACTCCCGACTTCATGTGATCCGCCCGCCTCAGCCTCCCAAAGTGCT GGGATTACAGGTGTGAGCCACCGCGCCGGGCCTGGAGCTGCATTTTTGTTGTAAGCACTT TGTTCTTACTTGGATTAGGTTTATTTTAGGGTGGTTTGGGGCAGACTGAGGGAGATTGGA AGGCAGAAACCACCCCCTCAGGACAACCACGTGGATCTCCTTAGGGTCTGGGTAGTGGAA CTGGGCCCTGTGACCTTGGAGTTGGAGGGGAAGCTGTAAGCAGGGATGGAACGGGCCACC CGCACCCTCACACAGCTGTGACCAACAGGCACGGTCATCCGCATTCACCTGCCCAACTCC CATGCCCTGAGTCCTGTCCTCCAGGGCATTCCTACTGGCACTACCCCAATTTCCCAAAAG ATTCCAGGGATCTCTCTCTCGCTCTCTCTTTTTTTTTTTTTACAGTCTCACTCTGTTGCC CAGGCTGGAGTGCAGTGGCTGATCTCAGCTCACTGCAACCTCCACCCCCTGGGTTCAAGC GATTTTCCTGCCTCAGCCTCTTGAGTAGTTTGGGATTACAGGCGTGCGCCACCACGCCCA GCTAATTTTTGTATTTTTAGTAGACGGGGTTTTGCCATGTTGGCCAGACTGATCTCAAAC TCCTGACCTCAAGTGATCCTCCCGCTTTGGCCTCCCAAGGGAGGGTTCCTTCCTCCCAGG CTGAGGCACCCTGCCCCACACATCTACTGGAGGAACTTAGTGTTGGGGCCAGGGGGTGGC TGGGTAAGGCTGGATCCCACACTTGTCAGGCCAGGTTGGGGTAGGGGAGGATACACGGGG GACCCGTCTCTCAGCCGTTCTGGGCCGGTGCCTGAGGCGATCTGCCCCGCCGCCCGCCCT TCCGCCACCACCCAAGTCGCATGCGCGCGCCGGGGCCGACGGGCGCCAGGCTCCACCGAG CCACCCTCCGTCGTGGCGGCCCCTCGTGCCTCTGCGGAGGGAAGGCCGCCGGCTTCGCCA GGGGGCGCGCGTCGGGGTCGCGGCTCTTTGAACTCGGCCCCACGAGGGGACGCGCCATCG GTTTCGTGGCTTGCGTGGCGCCGCAGCAACGAGCCGGTCGCCCCGGGGCGTTGCTTAGTC CGGGCCTCGCTGCGAGTCTGTGGGCGAGGCGGGAGGTGCTTCCTTGGCCAGGCGGGTGGA GGAAGGTGTGGGCGCCGCATCCCAGCGTCGCGGAGCCTCCAGGCGCGGGCAGGCGAGACT GGCGTGCAGCGCGACGGCCTAGTCCCGGCGTCCCACCGTCCCCCACTCCCGCAGGCGCCG AGCCGATTCAGCCGCGCGGCTGCAGTGACACCCAGCGGCCGTCGCGGGAAGTGCGGTCGC CGCGGCCAGGCCTCCGGGGCTCCTGTCTCTCGAGGTTCCCACCCCGGTTACGCGCGGGCA CCCCGGAGGAGAGCGGCCGCGCGCTGCAGATGCCCGCGGGGGCACTTCCCCTGCCCCTCC CCCGTTTCCTCCCCGCAGGCGCCCGAGCGCCGGGAGATCCTGCGCAGCGGCAGTGCCCGG AAGGGCGGGGCGGGGTGCAGCAGCGGCGCTGGGCTGTGACCCGGGCAGTTTCACTTCTGG ATCCTGCTCGGGCTGTGATAGGACAGCGCGGGGGCAGCGGGGGAACACGCGGGCACGCCG AGATCCGGCGCTCGGGACCCCGATGAGGGGAGGCCTTTCACTCCTGGGGTGTCACGCGAC CCACGCTTTCCTCCATGTCCACTCCCACCCCCCATGGGTTCCACTTTGCTGTCCCCCGAG CTGCCGCTCCTCCCCAGCAGACACCGTCTCCGCCGGGGCTGCCGACCCCCGGAGAGGCCC CGAGCGGCGTGGGCGGCGGGAGGAGGGAGCTGTGAAGCCGCAGGCAGGGGGTTAGGCTGC GGGCTGCTGAGACGCCGAGCTGTTTCTCAGAAGTGCAGCTGCCCCTCCCCTCACACCCCC CTCACTCCCACCGCGCGCCGCACCCCTGCCCCCTCTCCGCCGGCCTCCCTTTCCTCTCCC AGGCACCCTAGCCGGGAATCTGGGGTCTGGGTCCACGCAGAATTAAGAGGAGAACCTGAG AAAGGGCGGGGGCCGGGGGTTCAGACCCAGCCTCAGCGCGCGTTATTCCGAGCCTCCTAT AATTCCACAGGTGAGGGGATCCTGTCCCCTACCCCTGGGGTCCAGGATTGGAATTTGATA GAACAGTTAGGAAAATGACATCTTGAGAGAGTCAGGGCCCGGCCACTATTACTCTAGCTC CAGCGTCCAGTGAGGAGAGGAGAGAGAGGGAAGACCTGGAGCCCGGCTGGTGCAGTGAGG TTGAGGCCTGTCTTAGGAGTACCAGCTGGAAGGCCCTTCAGAGATCCCTGACTCTGGGGA AAATCAACGCCCAGAAGGGGAAGTCAAGTGTCTGGGCTCATCCCGAGAGGGAGAGGGCTG GGATTGGAACCAGGACTCCAAATAGTTGCGGGAGTCTGCGACTGTCTTTTGCTTGGGACT TCAGAGCTTTGCTGGATTCACTGACTCAGCCTGCTTTCCCTCAACACACACAAACACACA CACACGAGACACGTGCACGCGCGCACACACACAGATACACAGACACACACAGACAGACAT GCAAGGAGAGAGACAGGCACACATGGAGACAGACACGCACACGCAAAGAGACACACAGCT CCCCAGGAGTCTAGCGGGGCAGCTGAGGTCTGTGAGTGAGACATTCTCAGTGAGACACTG AGAATGCAATTCCAGTGGGGGTGGGATGGGGATTGGGCGGTGGAAGGACAAGCCCGGGGG AGGAGGTGGCATCGCCCCCCTAGTTCCCATCCACCACCACCCCCAGTGCTGTGGTTTATT TGCCTAGGCAGCTCTTCTGGGCCAGGGGGCCAGGGTACTGGGGTGGAGAGGCGAGGTGAT GGGAAAGGCTGTTCTGGGGCTTCCTGCCCCCTCACTCCTGGGGAAGGGGGGTAGCTGCCA TCACCCGCAGGCCTTTCCACTGCAGCCCTTTCCTTGGGTATGTGTGTTATTCTGGGGGAA GATCTGTTATTTGCGGAGAAGGGAGGCAGCTGCCTACTTCACAGGTCAAGACAGAGTTAA AAACAAAACCACAGCAAATTCAACACCCCGTGTCCTTCAGGGACTTTCCATGACACCTTC CTTCCCCCCTCTCCCCTAAGCCAGGGAGCACCTCCCCAGAGGGCCTCCCCACCCCAGGTG CAGTGGCTTTTGGCTTTTATGCAAACAACTGTCTGATCCCGGAATGCTCCACAGCCCGAA CTGTGGCCTGGGCCGAATGTGCCCCTCCACCATCCCTTGGGCCAGTGTTTCTGGTCTTCC TGGAGTTGTGACCTCCACTCTTCCTCAGACCCTGGATTCTGAGGGACAGGAGATGAGGGC AGGAAGCTAGGTCCTTTCCCCCTGCCTGCCCTCGGGTGGCAGTTGCCTGCAGGTGGAGGG TTTGGGCACAGCAACCTAAGTGAATGGTCCGGGGTTTTGAGTGATGGGGGAGGGGAAGAA GGAGGGTGCAGGTGTGGGGTGGCCTCCACTGCCAGGCCCACCACCCTCTAGGGCATTGAA TTAGCTCCCAAGATCAGGAAGGAAAACTCTTCTCAGGCTGGGAGTCCATTCAACCCCAAC GCCAGTGTGGACCTCCGGTCCTGCTCACTGGCAAAGGGGGTCAGGATCTCCCTGTCTCCC TCTCTTCTGCCTGAGCTGCTTCTGCTTTGGGGAGGGATTTGGGGATGGGGAAGGCCATAT AATCTTCTCTCCAGGGCTGAAAACCAGCTACTGAGGGGCCGTTTTTGAATGTATTCAGTG CTAAAATGCAAAGGCAGGGTGCCATGCCATTCCTTTCTCCTCCTCAGCTTGAGCAAGACT GGGAAACCTGTAGGAGACCCTCAGCCAGTTTGAACATTTTGGAGTGCTGATGGGAGGGAG ATGATGCTGATCATGGAGCCAGAGGACGCTGGTGCCAGCCTAGCCCCACATTTGTTAGTC TTAAAACTTCAGACAATCTTTCTCATGCCTCTTCCACAGAAGACGGAAAATGGAGGGTGC TTTAGATGAGGCTGAGCAGAAGGCCAGACTCTCTCTCTACTTTCTCTAACGTTTTCTAAG AGAGAACACAATGATGATGGAAAGAAAGCAGCCTCATCCCTATGCCATTCTCCTAGGACT TTTCCCCCTAACACCTTCGGTTTGGGTCTCCAGGTATCTAAAAACTGTATTTAAATATGG TCGAGTTTAAGGACTGCAACTCAAGTTTCCCAATGTGGATGTCTGTGAGCCCCCACACAT GAAAAAGTCAGAACTTGACTGTATTTTAAGAAGAATCTCTGTTGAGGGAGGAAGGCAGAG CAGTGACTTGGAATAGGGGTGCACCATGCTGAATGTGCTGATCATGCTAAGTCCAGGTCC TCAACCTCCTCCAGTTTCCTTAGTGAACTAAGGACCAGTGGAACCAGGAACCCTATCTTG TGGGTTACAGGGGCCAGCAGCAGGATCACAGTGGTAGGCTCAGCAAGGCGTCAGGTGAGA ACCTTTATTTCAGTGATAATTCATTTTTCTTGATAACTGGACTTTAAGAAATAGAGGGGC AAAATTAAGAAAGTATTCCTTGGGGCGGGATGAAACCCTTCTACATCCTGACACCAGCAG ACACAAATCATAAGTGATAAGGATGCACAAGGACTAATTTCAAACATACCAGGATTTTTT TATTTTTCAGTGTAAAAATCAAACATGATAAACCTAGAAAACTATCAGCAGGGCTATTTC TTACAGGGTTCCAGCAAGGGTTAGCATTGTTACATTTCAGAAGCTGACTTTCTTTAAACC ATCTTTACAGAGGAGTAAACTTCACAGTTCCACACATGGCTGGGCTCCAGGTAGAACTCC ATAGGAGTGACGAGGGAAAGTCACCACTGGGCAGGGAGGGCATTTCTGAGAAATGCAGAT GAGAGGAGAGGCTGTGAGCACAGGCTGTGTCAAAACCCAGGGCAAGGGCTCCCTCCCGCC TTCCCTCCCAGTGGGAAGGCCACCCTGAGCCCCAAACCACATTCTGTTCCTTCCTCGTCA TTCTGCAGACAATGGTCATCCACAGACCACACGTGTGGTGGCTTTGGCAACCAGAAATTT AAAATAAGCTATGGTTTTTCCAGTAGCCAAAATGATCCTGCACCAAAGCTCATAGACTGA GAACCTGAGCATGCAAAACCACAGTCTGGGTGAAGGGATGTCTGCTTTGTAAATGACCTG CTAATTCTTTGCAACCCACAGTAATTTGGTTTCTGTGAACCCACAGAAGCAGGCCCACCA AAAAGGGCCTTGTCTGCTAGCCTGGAGTATACATGAGTCACTGGCGGTGGGATCAGTCAT TTTTTAGGCTGCCCCATTTTCCTAACATGTTAAAATGTGTGTTCTCAGTCTTTTCAAGAG AGGAAGAAGCAAAGCGGCACTTACAGAGTGTGAGATAGACACAGATCTGTGGCGAGGGAT TGGGGAAGGTGGGTGGCATCTTGGGACTCTCTCCAGGCTTTCTGGAGTGGGGTCAGTGGA GAGATGAACAGTGAGAAACATTTGAAATAACTCAAGTTTTGGAGCAGCGGGGGGTGGGGT ACTAATGGCTGAGGACTCACAGACAGTGAGGGAGCAAAGCGCTTTGACTTCCCTGGGTGC GACACCATGAAGTGTCTATAGCACGTGGTTAGCTCACGCTGGTTCCAAGGGTCAGCAGAT CCTCTGCCCTTGTGCATTAAAACAACATGAAGGAAACTGTTAGAGATCAGTTACCTCCAT AATTCATTTGTAAAGGAATTGCTATTATGATCTAGTATGATCTTGGGATATTTTTCATGT CTTTAAATTTAGGACACGGTACATTTTCCACTGAAAATTTACAATCATCCAACATAATGC ACACCACCCCTCAAAGGTAACATTAGCTCATATACAAAATCATGGAAAACCTCACAACAT CCTTGGAAGGTAGATATTGTTATATCCTTACAAAAATTTAATACACCCATTAACATTCCT ATTTCAAATAGCTCAATCGATATCAACACATAAGACAGCCCACAATTGTGATACAGTATT AAGAAGAAACTCAGGCCAGCCGCGGTGCCTCACGCCTGTAACCCCAACACTTTGGGAGGC TGAGGTGGGCAGATTACTTGAGCCCAGGAGTTCAGGACCAGCCTGGGCAACATGGTGAGA CCCTGTCTCTACAAAAAGTACAAAAATTAGCTGGGTGTGGTGACCCACGCCTGTAGTCTC AGCTAGTTGGGAGGCTAAGACGGGAGGATGGCTCGTTGCTTGAGCCCAGGAGGTTGAGGC GGCAAGTAAGCCTTGATTGTGCCACTGCACTCAGCCTGGGGAAACAGAGCGAGACTTTGT CTCAAAAAGAAAAAAAAAAAGAGGAAACTTGTATCCAATTTATTCAAACTGCAAAACCCT GTGTATCTTCATAACAATGGTGGGGCAAAGACTATCTACAGCTGGGGCAAGGGAGAGGCA CAGTCTTGTGTTACTTTACAAGCTCTCAGAAGTTTAAAGCCCACAATTGTCCTTCAGGCT CTTCTGAGTCCATGGTCCTAAAGGGTCAGGAGTCCTGAACCCTGGCTTATTCTCAGAACC ATTCAGTCGTGCTGCCTTGGAGAACAGAGTCCTTTTCCTGAGGTGGCCCAGGTCCAGCTG CTGGTTTCAGATCAAAATTGACCTCCTTCATCGGCACTTATATCTCAAATCATTCTCCTT GTCTGAACTCTGGATATAGAGGTTTTTTGAACTATACTTTCTGTGTGAACACAAAAATAG CTTCCCATTCTCTAAAAGATGAGGTATCACTATATATCGGGTTTTTTTCTTCTGTTCCTG GTGCTAACTTTTAGGACAAAGTTTCACCACTCCCTTTTCTCTTCTTGAGCTCACAAGTCC CGATGCTGACTCTTTGAGTCCTCAGATAGCCAGGCTCTTTCACATCTTGAGTGTCCCAGA GTTTCCAAATCTCTGCTAGAGTCCAACATACCTCTTCTCAGTGGGGTACTCTTTAAAGTG AGGACTTAAACATTTCCATTGTGGTCTTATCACCTGGGATTATATGTAACAGTACTATTT TTTTCCTTAAAACATTCTTTTTTTTTTTTTTTTTGAGATGGAGTCTCACTCTGTTGTCCA GGCTGGATTGCAATGGCGCGATCTCGGCTCACTGCAACCTCCACCTCCCAGGTTCAAGCA ATTCTCCTGCGTCAGCCTCCCGAGTAGCTGGGATTACAGGTGTGCACCACCACACCCAGC TAATTTTTGTATTTTTTTTTTCGAGATGGAGTCTCACTCTGTCACCCAGGCTGGAGTGCA ATGGCACGATCTCGGCTCACCACAACCTCCTCCTCCTGGGTTCAAGCGATTCTCCTGCCT CAGCCTCCTAAGTAGCTGGGATTACAGGCATGTGCCACCACGCCTGGCTAATTTTGTATT TTTAGTAGAGACAGGGTTTCTCCATGTTGGTCAGGCTGGTCTCGAACTCCCAAACTCAGG TGATCCGCCCGCCTTGGCCTCCCAAAGTGCTGGGATTACAGGCGTGAGCCACCGCACCTG ACCCTCCTTAAAACATTCTAAACCTCACATTCAGTAGGGCTTGGGGAGGTGGGGGTGGTA CAGGAAATAGGAGAATAATAGTGATACAGATGCTACCTGGAAAAACTTTGTTCTGTCTGT TCCTCACGAAACAAAGCCGAAAAGAAAAACTTTATGTGGATGTGAGATTTGATAGTAACA CAGTGTTTCACCTGAGCAAAATTTTGTGTTTTTAAACATTTCTGTTTGCCAAAGAAATCT GAGGTTGTGGCTGGGCGCAGTGGCTCTTGCCTGTAGTTCCAGCACTTTGGGAGGCTGAGG TGGGCAGATTGCTTGAGCCCAGGATTTTGAGACTAGCCTGGGCAGTATGGCGAAACGCCA TCTCTGCAGAAAAATACAAAAAAAATTAGCTGTGCATGGTGGTGTGCCTATAGTCCCAGC TACTTGGGAGGCTGAGGTAGGAGGATTGTTTGAGCCTAGGAGATCAAAATCTGAGGTCAT TTTATATCTGGCCGATTTTGAGTATGGGCCTAACAAAATGTTAAGCACTGCATTTAAAAG GTGAGAAATTTTGTCACTGACAAAGTCAGAAGCTGTGTCAGGAACAGCTCACAGTGGGTC ATAAAGCATAAGATTAGCTGGCTTATCTGTGCCAAGGCGAATGTCTTTTTGGGAGAATAA CTTGAGGAAACTAAAGACTGATGAGTTCATTTTCTCTCTTTTTTTTTTCTGGTGGTAGTG GTGGGGGCTCACGGGAGAGACACTTCTATTTAGTTTTCTTTCCGTAGGAAGTACCGATGC AACACTTCAGGTAGTGACAGAAAACATTTGGAGAGCTGGGCATTGTTTGTGCATGCCTGT AATCCCAGCTACTTGGGAGGCTGAGGCAGGATTGCTTGAGCACAGGAGTTTGAGTCTGGC CTAGGCAACATAGTGAGACCCTGGTCCTCTAAAATATACATACATATATATACATATACA AAAAAAATAAAAATAAATTAAAAAATTAAAAAACACCTGGAGCACTGGTTCTGTTTCTTT TCCACCCTCAGCCCAGTTCTGTCACCTTGGCTGCAAGGAAACTTTGCCTGGGTTTTTTTG TTTGTTTGTTTGTTTTTGTTTTAGACAGAGTTTCGCTCTTGTTGCCGAGGCTGGAGTGCA GTGGTGCCATCTCGGCTCACCGCAACCTCCGCCTCCCGGGTTCAAGCGATTCTCCTGCCT CAGCCTCCTGAGTAGCTGGGATTACAGGCATGTGCCATCACGCCCGGCTAATTTTGTATT TTTAGTAGAGATGGGGGTTTCTCCATGTTGGTCAGGCAGGTCTCGAACTCCCAACCTCAG GTGATCTGCCTGCCCCAGCCTCCCAAAGTGCTGGCATTACAGGCGTGAGCTATCGCGCCC GGCCCTTTGCATGGGTTTGGTTGTTCCTCAGACCGTGGCCTCCTGGGTGTATGGTGGAAA GCCCGCCTGATAAGAGGCTGGTGGGAAATGAAGGAGAGGGGCCTACAAGGCTCTTGTTCA GAGGGAGTCTGCATGAGAAAGTACAGGTACTATCTGAAGCTGCTCCAGGGCTTCAGTGCC CAGCAGTGGCAGATGCAAGTCCTGACTCTGCCCTTCTGCTAAGATTCTCCTTCACCCTCA CCTCCCCAGCCCTGGCAAGGGGTTTGTTAATTAGTACAGCATAAGGGGTATGTACAGAAG GCAGCGTTTATCTGTGTGATGGTAACCACTGCATATCTGGTTCAACTTCAAGACTTAAGG ATGCAGAGTTTCCACACATAAATTTTTTCTGGAATTGATGGGCCCCAATCTAGGCTCAGA ATGCCACAAAGAAAGTGCCTTTGTGAGTGGTCACCTTACTCAGAAAACTAACCTCAGAAG AATAGAAATCATGCAGCAAATTCATTAGTCACAGGAAAAAGGAGGATCATATCTATAAAA AGAGTCCCCAGGCTGGTGGAATGGGCCTTGGTTTCACAATCTTGAGATGCAAAAGGTGGT CTCAGGCTGGGTGCGGTAGCTCATGCCTGTAATCCCAGCACTGTGGGAGGCCAAGGCGGG CAGATCACCTGAGGTCAGGAGTTTGAGACTGGCCTGGCCAACATGGTGAAACCTTGTCTC TACTAAAAATACAAAAATTAGCCGGGCTTGGTGGTGAGCACCTGTAATCCCAGCTACTTG GGAGGCTGAGGCAGGAGAATTGCTTGAACCCGGGAGGCGGAGGTTGCCGTGAGCCGAGAT CGCGCCACTGCACTCCAGCCTGGGCAACAGAGCGAGAGACTGTCTCAAAACAAAAGAAAA CAAAAAAAGTTGGTCTCCTCTGCAAAGACTTGAACACTAATCTGGTGGAAAGGCTTCCTT TCCCTCGTTTTCTCTTCTACTAATCCCTGCTTCCAAATTCTCTTTCTCTTGTCCCTTGAA GAACCAACAGGATGTGCGATATTTCAAGAACGTAATGAGCAACTCCTCTTTCACAAAGGG AATAAGCAATCTGGCATAGCTTGGAGTCTAGTATTACGGAAATACAGTGATATACTGAAG ACTACACACCAAAATACATCCATTCCTTTAGCTGAAGTCTCAAACATGTTGGGACTGTTG CCATGGAATTTCATAAAACCTTTTTTCCTGAGACAGACGCCATGCCACAAAGAAGGATAA GCCATTTGTGCAGTCTGAGGTGGAACATTTTAATTACTGGCAGCACATAGACGAGTTGAG TTGGAGCCGAATGCATAAGCCCCTTAGAAATAAAACACTAATCTACCAGGAATTTGGGAT TCTTGGCTCTGGTAGAAATGTTACAAATTAAGCTGACTCTTAATTTGTAAATAGGCTCCA TGAAGTTGTCCCTGGAAGCAGAATTTATTTTCCCTAACATAATTTCTTAAAAAGTAAAAA AAAAAAGAAGGCTTTGGCAAACAGCTGCATGTGCCAATTTGTGTGTATGCTTTGTGGCAA GATCAAAATACCTTTCTGTTTTTTGTTCCTCTCCACCACCTTCTTCACATTCACAACTCA GTGGTTAAAGGAAAAACTTAACACACCATTTTCATACCAAAGGAATGTGAAACATGTATT CATATAAATACTCTTCTGCTTAATATCCATACATTAGGAGGTTTAAAAAATACCTTGTGG TTACTGCATAATCACATATGAATTAAAGCTAGAAGGGACCTAAGAGAACATTGAAATCTA ATTCCTATTTTATGGATGAGGAAACTGAGTTTTTTTTGTTTTTGTTTGTTTGTTTTTGTT TTGTTTTGTTTGAGACAGGGTCTCACTCTGTCGCCCAGACTGGAGTGCAGTAGTGTGATC TCCACTCACCGCAACCTCAACCTCCCAGGCTTAAGCGATTTTTCTGCCTCAGCCTCCGGA GTAGCTGGGATTACAGGCATGTGCCACTACTGCCCAGCTAATTTTTGTATTTTTAGTAGA GACAGGGTTTCACCATGTGGGTCAGGCTGGTCTCGAACTCCTGACCTCAAATGATGCGCC TGCCTCGGCTTCCCAAAGTGTTGGGATTACAGGTGTGAGCCACCGAGCCTGGCCGGAAAC TGAGTTTTAAGAGTTAAATAAGGCTGGGTGTGGTGGCTCACACCTGTAATCCCAGCACTT TAGGAGGCTGAGGCGGGCTGATTGCTTGAGCCCAGGAGTTCAAGACCAGCATGGGCAACA TAGTGAGACCCCTATCTCTACAAAAAGAACAAAATGTAGCCAGACATGGTGGTGTGCACT TGTTGTCCCAGTACTCAAGAGGCTGAGGTGGGAGGATCACCTGAGCCTGGGGAGGTCGAG GCTGCACTGAGCCATGATTGCACCACTGCACTCCAGCCTGGGCAACAGAGTGAGATCCTG TCTCAAAAAAAAAAAAAAAAAAAAAGTTAAACGATTTCTCAAAGTCACATAGCTAATTAG CCAGCATTTTGTGACCTCCTATTCCAGTGCTAATTTTACCATGATAACAGCACTCCTCCT GATAGTATGTACATATTATGAGTGACAAGGATGACTTATACATCTGCAGAACCGTGATCA GACTTTCAGGAATTTTCATGGAATACAGCAGTTCCATTTAAATGGGAAAAAAAGGGCCGA AGCCTGCCTGATCAAGGAGAACCTCTCAATAGAGGTGTCCCTCCTCACCCCATTCCGGAG CTCAACTCCGATCTAAACACACATGCCATCTATCTCCAATTCCTCTCCTGTGGGGAGGGG GAGGCTGAGCCATACTTTTTGGACTTTTTTTGTGGAAAATATCATTGGCAAATTTGCTTT GGGTCTGTATCACCAATTCTCCATGAACTCTTTCAAGAAGTTTTAGGTAGCTGTTTTTTG TTTGTTTGTTTTCTGTTGGTGCTGCCAAACAATTTCCCCCTTTATACCCTTGCTCTGCCA ACCTTGACCAAAGGAAAGCGATGTCATCATCCACAGTGGATAAATTTCTGGAGTTTCGAT GATGGTCTATATTTAAAACCATGAGTTCTTCTGGCATAGATTTTCTTCTATAGACAACTG GTTTAGCCCAAAGCAGCTCAGCTTTTCACTGGAGATGGGAAGGTAAAGGACAGAAGCAGA AGTGCCATCAGATGACATTTTTTAAAAATGTTGTGATAGGAAATGGATCTGATGCTTGGA GAATGGGGTCTTCAGTTACTCGTAACAGATACTTATTTTATGGCTGTTCTTTTACTTACT CTTAGACTGTCATTTAGATTAGGGAGATTAGATCTTAACCCTTCAGCCTGTGAAGGGCAG AAGGGTGAGGCTTCCCAGCAAGGTCAGCTGGTCAGCTCTTCCTCTTTGTGGATTTGCATG TATGACTGAAAGGCTTTTCCACGTGTGGTTGATATATCTCAGAAAGAATGTTTCATATAG CACATCTCCGGGACCACTCATTCCACTGCTGTAGAAGATAATGACCAAATACCTTTTTGG CTTTTAAATTCCATAAAATTCAAGTCCCTGATGGGAAAACAAAGGTTTCACAAAAGTAAT AATATGCTAGACCTGCGAATAATTTCTGAAGGAAGACAGTGTTTCCCTGGCTACCCCTGT GAACACAGCTAAAAATGGTATGAAAAGAAGTTTGGAACTGAGTATGTTTTGAGAGCAATC TGTTAGGCGAGGTCATTGGTTTTTAGAAACGATGCTGAATACATAGGAGCAATCCCTGAG ACCAGATATTCACTTCAGCAGGGCTCTGTGTTCTCCTCTGGCTATGTGAGACGAGAACTC ATACCGATCATGGCTTCGATATCCACACATGTTACACTCGAAAGGGTCACGGAAGCCGTG GCAGCCCATGTGAATCGTGAACATCACATAGTCCAGGAAGAGGACGCGGCAGTGGTCACA CCGATACACATCCATCACCTCCCCTTCCTTGTTGATCACTTTGACGGAGTCTCTTGGGCA GATGGGCGGGGGCTTGAGGAGTTCGTAAGAGCGGGGAACCTCCTTCAGAAGTGGCATCCC ATTGCGGGCCCGAGACAGGACCATGTGATTTTGCTGATAGATGTGATTCTGGCGTTCTTC ATGGTTGCTGTCAGTGTCCGTGGAGTCGTGGCCACTATTGTTGGGAGAGAGGCCTCTCTC AGAAGGCACGCTCTTCTCTGGAAGGTGGATGCTTTTCTTTTCCAGCTCTTGAGGGGCACC GTTTGACATCTCAGCCCGGGTGAGGGCTATGGGATACATGCTGCTGATAACTGGAACCAT CTCCGAGGTGGGAGCAGGCGGTGTCTGGACCAAGGGGCGCAGGGCTTCGGCGCCAAGATA GCTGATGGCGTTATTGATGGCTTGGTCCATCATGCGGGTCTGTATGAGCTCACTCTCTTT CTCATACATGTAACTTGAATTATAGTTGACATCAAAGCAGTGGCGCTTCTCACCTGGAAC AAGTGACAGAAAGGGTTACAAAGGGAACACTGCCAAGGCAGAGAGTTTGTAAATATTTTC TAGAGACCTCAAAAAGGGAGGAGAGTTAAGTTGCCTGCTGCTCAAGAAGACCAAGCCTGG CAGAATGGTTTCCCATGGTGCTGTCTCAGGGGACACTGGTCGGCAGCAACGTGTTTGGAT GGTTAAAATAAAGCCAGCAGGCAGAAGAGAGGGGCAGAGATGTGGTTCAGTTGAGGCCAC ATGGTAAGGTATGCCCACTGTGCATGTTAGAGGAGAGCCCTCAAGAAAGGAGGGAAAGAA GCAGGACACTAGGATGGGGCTAGAGGGACAAGGGAGCCACCAGCCCACAGGAGCCTGGGA CTTCTGCTATAGTTCATGATCTCTTAAGACACAGTCGGCTCCCAACTCTTATTTTGCTTT TGCTTGTTATTTTCTGCTTGCAATATTAGGTAGCCAGGGGGACAGAAGTGCTGCAAAGAG TGGGGACACTCGGTGCCTCACCTCGGCAGCTTTTTAAATAGCTACAGAGATAGAGAAAAT AGCCCCCCAGACTCCAACTGGCTACTCCCCAAACTCACCCGTCCTGGCTGACTGAGACTG AAGTGAAAGAGCTTCAAATGTAGAAAGTTTGAGAAAAGTTTTCTTGAGAAGAGATCATGG TCTTTGTCCCTTTCCTAACGTGTGTTTCTCTTCCTTTGCTTGGCAAGTGTATCTCTGATA CACATGTGATCATTAGGGCCTATCTCACACTTAACTGAAAAAATATACTTGTGGTCACCC TCTCCTACTTCTCATGTCAAACTGCTGAGAAGTTTTGAAAACAGAGTTTAGCCACCTTCA GAGTGTGTGGGTGTTGTGTGTTAGAAAACAGAGGCTCTCTGGTCACAGGGAAGGCAGGGA TGGGGACTGCAGTGAGGGCAGATGTGCTCAGTGGTGAGTGGTGGGGAGAGGGGAGAGAAA GCGAGGAAGTGGAGCCGAGTGCTGGAGGTGAGGCTGAGGTCACTGTTGAGCCTCTCCATT CTGTCAGCTTGGATCCTGGAGGGATTTGCTAAACCATATCCTTCTATAATGTTTCCTAGT CATGTTGAGATTCCAAAATTTGTCACTGCCCTACAGTAAAGGGTTCAGCAATGAAAATAA AGAAGAAGAAGAAAAAATGCCATGAGAAAACAAAAGGATTGGAAGAACCAGTTCCTGTTC TTGAGGTGTCTCCAACCTAGTGGATGAGAAATAAGACCTATATATATATAGAACTCGAGA AAAAGTATAAGTTAAAAGTTGGCCGGGCGCGGTGGCTCAGGCCTGTAATCCTAGCACTTT GGGAGGCTGAGGAGGGAGGATCACTTGAGCCCAGGAGTTCGAGACCAGCCCGGGCAACAT GGAGGAACCTTGTCTCTACAAAAAAATACAAAAATTAGCCAGGCATCTGTAGTCCCAGCT ACTCAGGAGGCTGAGGTGGGAGGATCACCTGAGCCTGGGAGGCAGAGATTGTAGTGAGCT GAGATGGCACCACTGCACTCCAGCCTGGGTGGCAGAGTAAGACCTTGTCTCAAAAAAAAA AGTTGTAAAAGGACTGCTTTGCTCTATGGAGGTCTTTGCTTTTATTCTAAATGCCCACAT TTGAGGCATTTAGGCAGGGAAGTAACGTGTTCTTTAAAAAGAATAATAAGGTAACATACA GGCATCGGTGAGACAATTTGGTATAAATTGTATATTTAGGCATTAAGGGAATGCAGAAAC TTCAGAAGTACTTGGGGAAGGGAAAGCATTCTTGGAAAATCTAAATTTTGAGAAGGGTCT TGAACTGGAAGAATTTAGATTTTCAGAGAAGCGGGAGAGGACATCCTAGTTGAGGGGGAG TGCAGGAATGAAGGCAGAGAGGTGGGACTACACGGGACGTGTGCAGAAAGCGAGTCTGGC TGAAACGCGATCAAGAAGTATGAAATACAGTATTTCTCAGGCTTCACTCTTCCTTCACAT TCTGCAATATCCACACACCAGGGCAGTGTGGTGGTTGAGAGAATAAACTCTGGTGTCAGA TGGGCTGGGTTTGATGCTGGCTCCATTGGTCACCAGTTTTGTGACCTTGGGCAAGTCACT TAACCTATGTTCCGTGTCCTCATGTAAAGTGAAGATAATTGTATGTACCTCACAGGGTCA CTGGAAAGCACTTAGAACAGGGCCTGCCACATGGAAAACACTTGGTAAATGCTTGGGTTT TTTTCCTCTGTTTGATTTGGTTCACATTTTCTTTCTTTTTTTCTTTTTCTAAAATAAATG TGGTTTTTAAGGAAACTTTATATCACTAACATAAACGGAAAACCAGAATCACTTTCCACA AGTAGAAGGTAACTATGAAAAATAAAGACAATGAAACAGAGCATTTCATTAAATTTTGAT CGGATACTACTGTGAGTACTTGGAGACTAAGATCCCTTCCCCCTTTGTTAAAAACAGAGA TTACCAAGTGTGAGATTAGTGTTAAAGACAACTGGCATCAAATTAAGTCTAAATTTTTCT CCTTAGTATGATCCAGGAGACTGAAAGAGAACTGGAAAGAAAATAATTATCCTGCTGTGT GGACCCAGGTTTTTAAATGCTCCATGTGCTTGCTGGCAATTTGCATCCTACATTTGGGGA AACACTGAAAAAAGATAATGCATGGTAGGACCGAATGGTGGGCATTCCGAATGGCCCACT GTAGGGTGTGAATCCGAACCAAGAGCCAAGGCTACCTGCCCTTGAGAAAGACAGGTTTGT GGTTAACGTAACAGCAATGTGTAAGGCAGACCAGAACAGTGAGAAATTGGAGCCAGAAGA ACCAGCTAAAAGATCTATTCCCATGAGATGAATTTGTCTTTGCATCCCCACAAGCAGCTG ACCTTAAGGCCAACCTGATAGTTTCCAGAGAAATACCTGAGAGAGAAAAAAAATATGCAA ACGAAAATACCCTGTCTTGGAAACTCAATGAGAAGCAACAGCAGAGTAGACCTTGGCCAA AGTAATCAATGTTTTTTATTTTCAGTTTCCAGATTGGATATATCTTTGGTCAAGGCCATC TGGAAGACTGAGAACATGAGAGCCAGCTAAGGTCACAGACATTCATTCCCTAGAATGTGA CACAGAAATGATGAACTTCGGTTTCTTGGCCTTTTTAAGGTTATTGGTTATTTTCCACTG TGGCCACCTCTATTCATCTCCCTAAATACCAGGGGTCCTTGAGAAACTTTTTCTCTTTTC ACCCAACAGAGAGGCTCCAGAAGGTTTCTGGGTGGGGTAGGCACATCACAAACTCTGATT TTATCCTTTCTCCTAAGAGTTTGCTTTACTTAACAAGGCCTACAATTTCACAATCTATAC CACCTGCAGCATATGTCAGAAAACAGCTGAGTGCTAAAATTGTAAAAGGCAAAACATTAA GAGGAAGATAAACCCCTGGATGAGTGGAAATATGTGACTGAATTCTGTAGTTAACACAGA CCATTGTTCATTGTTAAGGAGATGGGGCAGCCTCAGATGTTCACGTGCATGCAACTTGCA ATCATCAGATCCCCTCGTCTCTGAGTTACGGTAACTTGAGCAGTGCAGATGATTATCAGT CACCTGTAGACACGATGACTCAATGTGTATGAAACCCAGAAAGGGTAAACTACAGTAATT GAAAAGCCAACAGCTCACGTTTCTTTAGTAACACACTCATAAAAAAGGTTAGTCAAACCA CAAAAGTGTAACTGCTTCCAAACCTGCACGGAGCATCTGGTCCAGCTTCTAGTCAAAATC ACACCACGCCTTTGAATGATTCATGATACCAGCTTCAGGCTGAATTAGAGGTCTTCTTCC AACAAAAATACACACGGCAACAGCAAGTCCTAAGTTTAGAAACTAAGGCTGCCTGGTTGG GCCATTCCCTACCTGTGGTTCTTTTTAAAGGTGTCAATGTCTTATATCTTGGCTTTGTTA ACTCTAAACTAAGAAACCACCTGACCTGAACTGATGCAATGTGGTGAGGACATATGGTTG TTGGCTTCTAAGTGCCAACTTGGAAGTACAGAATCACAGGCTAGAGCTAAAAGGGCCCTT AACTGAGCAAGTGGATTCAGAACTCTGTCTGCAGGGTTGAGGGGGAAGACCCACCACCCT AATATGTTTACTTCTGGTCTTTATATTTCACAGTACCTTGCACTGTGCCTTATATACAAT AATCCCAATAATGATAAGTACTATTTATTGAGCCCCTGCTGTATCCACCGTGCCATCCTA GATACTTTGCATACTGTCTCATTTTACCAGCCCATTAGGGGTTGATACTTTTTTTTTTTT TTTGAGACAGAGTCTTGCTCTGTCACCCAGGATGGAGTGCAATGGTACGATCTCGACTCA CTGCAACCTCCGTCTCCTGGGTTCAAGTGATTCTCTTGCCTCAGCCTCCCAAGTGTCTGG GACTACAGGCACGTGCCACTATGCCTGGCTAATTTTTGTATGATACCTTTTAAGGTATGA ATTATCATCTCTTAGATGAAGAACCTAAAGCACAAACAGTTTGATTCACTTTCCAAGATT GCCCAGTTGGTGAACAGAGAACCAGGATGTAATCCAAGAGCCCACATATCCCAGTATATG TTTGAGTGTTAACTGATGTTTCCTGGCTGCTACCTTGCCCATGGCTGCACAGCCCCACCA CCAGCAGTGACTTCAGGTTTTCTGCTGTGATGGTTCCCATAGCAGAGGGAAAGGGGGCTT AGTGGCAGCAACTGCTTTTTCCACATGGACCAGCACATGCACTCAAGAAGTATATGCTGT GCAGAGTTGTTATGATATCTATAAAGTGCTTAGCAGTGCCAGGCATGTGTAAGCACTCTA TTCCCATTATTTGCTTAGCACCATGGTTAGGTGATTTGAGGAATACAACAAAATTGCAAT CCACTAGAGGAGATGCAGCATGTACATCATTTCATGACAAATCAGTATCCTTAATGCTAC ATGGTAGAACAAAACATAGAGTAGCCAAGAGAGTGGAAAGAGAAAACTGAATTACTTCTC AAATATGCCACACTTAATATGGGGCAAAGATTCATCTATTCTTTAAAGTCTCCTTGAAAT CAGAGGTGGTGGTAGTGACGGTGGTGGAGACAGTCATATCTATAATAAGAAGCAGACTAG TAAACTCGCCTGGAGTGCAGAGGGAGGATGGAGCAGAGAGAGAACACAGGGGTGTGGGAA TGTGGACAATGTGTGCTTCTTTTTATTTTTTATTTTTGAGACAAGGTCTCACTCTGTTGC TCAGGTGGGATTGCAGTGGCGTGATCACAGCTCACTGCAGCCTCAACCTCCTGGGCTCAA GTGATACTCCCACCTCAGCCCCCTAAGTAGCTGGGACCACAGGCCCATGCCACCACACCT GGCTAGGTTTTTGATTTTTTTTTTTTTTTCAGAGACAGAGTTTCACTATGTTGCTTGGGC CGGTCTCAAATTCCTGAGCTCAAGTGATCCTCCCACCTTGGTCTCCTAAAGTGCTGGGAT TACAGGCATGAGGCACTGTGCCTGGCCTACAATGTGTATTTTAAGGGCAGATGTGAGGGA GGCCATTCAGACAAGAGTGAGATATTACACAGAAGAGGGAGGAGGAGTTCATTGTGGCTG AAGTAAAGGACTGGTTGGCTGAAATGATAAAATTAGAAGAGGTAAGTTGAAGACAGATTG TGGAGGGCTCAGAAGGCCTGACTGAATGGTTTAGATTTGATTCCACTGGGAGCCATTGAA AGGTTTTTTTGAAGAGGGGGGCAAAATGATCGAACCTTTAGAAAAATAACAGAAATCCAA TATTTAGAGTCACCATGATGGGGTAAGGTGAAATATTCAGGTCTTAAGTCTTAAAGTTCT TCAAGTCACTTAAATGTGTTTGCTGCTGCGTCATATAATTTCCCACAAGTGTTATCCCTC ACTCTTACTATCAGCACACATCCAAAAGCAAATGAACAAAAAAGGCAGGAAAATAGAATA TCCAACCATCATCATGGCTCTGATCTCAACCTAAGTGAAACTAACACTTCTTGCAGGAGG TGGAAAACAGAGGGGAGCCAGAGAACAAGAAGAAACAGGAAGGAGGAAAGAACAGAGAGA GCTGTGGGGGTGGCACTGGGGAAAGCTGAGCTGGAGACCACATTTGGTTGCTGCAGAAGT CTTTGTCCTCTGTGAGACACTGGGAAGTGCTGTGTGGATGTCATCTGTTCTCATGGAGTC ACCAGGGAAGACTGTTCTTTTCTAAAGAGAATCACCCTTGAGGGAGAACAATTGCCCTTC TTCAAGGGTTTTTTTCCTCCTATCAATTTTCTTTTTTGTTTTTGAAACAGAGTCTTGCTC TGTTGCCCAAGCTGGTGCGATCTCGGCTTACTGCAACTTCTGCTTCCTGGGTTCAAGTGA TTCTTGTGCCTCAGCCTCCCAAATAGTTGGGATTACAGGCACCCACCACCACACCTGGCT AATTTTTGTATTTTTAGTAGAGATAGGGTTTCACCATATTGGCCCGGCTGGTCTTGAACT CCTGACCTCAAGTGATCCACCTGCTTAGGACTCCCAAAGTGGGGAATTACAGGTGTGAGC CACTGCACCTGGCCTCTCCCACCAACTTTCAATGACCAGACTCCTTGCTGTCCAAAGCCC CGCGCATGACATGCACTGCTCTTGGTCACCTCCTGGGGAAGGAAGGGCCTGGACTGCAGT GCCTTATAGGCCGAGGTCTGGCGCTGCTCTGTCACCTGCCAGCTGTGTCACTCCACCTCT CTGATCCTCCTTCCTTCCATGGTAAAAGAGCCTCACTGGTGGTTCCTAATAGCCCAAAAA TACTATGACATTGTAATGCTTACAGGATTATGGACATCAGGCCTTTGGGAAGGGGTTGGA AAAATACTTTTTTTTCTCTTAGAAACAGGTATTAAAACTGCTTCCTGTTGCTGTTAACCA AAGCAGGCAATTTCTCATTAGTTACTTCACAGGGAGATCCGATGGTTTGTTGAAGTGTCA AAACCTCATTAACATGTTTACCACAGGTGAGTGAGATCTTTTTTTCATGTTCTTTTCGTT ATGAAAACTTCCTTTAATAAAGTAATACATAAAACTTTTAAAATAAGGAGATGCTATGGT AACCACTTTGGTCTGAATAACATCTGTTTTTTTGGGAAAGAATAAAAATCAGGAGAAATA TGCAGAAATGTAGTCATTTTTCTTCTGCATCCAAGAGAGAAATCCATTTTGAGCCAAGTA TTTGAGGATGGCCTAGTTTGAAGTGTAGTCAAACAAGTTTATAACAGGAGAACAAGATTC AGAGAAAGGAAATCCCCTAAAGGACAGTATGTGCAAAGGAAGGTCTTCTTGTCCTTTGAA AAGAACAACTTAAACAGAATTATTCTGACAATGTAAAGATGGTGATTCCTGATGGACGTG TGTCCATTTTTTTTTTTCCCATTTGAAACAAAGACATACAAAATTTCTTGGAGAATTAGA AAAAAAAATATTTTTCTCCAACTTGAGAGCATGTTTGTGTCTCAAAATACATTTAGACTT GATCCAATCTGTCCCTCTTCCCCAGTTCATCTCTAATGGATGCAAAATGCTCCCTACTGG TAATTATCGCCAGCCCGCCTGAGATAGCAGCGGGCTGACCTGATGGTCTATTTTCACCTT TACCCTCACAGTTCAAGAGGTCAGGGAAGTCAAGGCTGGTCTGAGTGCTGTGCAACTGTC AGCAAGGATTAAAGGGAATGACTCACTCTTCCTTCACACCTTACCCATTGCCATTACCCT GGCAGCTGAATCTTCAAAAAACAGTGCCTTGGAGAGGAAATATAGGAGAAAGGAGAGAAG AGGAGAAGAGAAGGGAGGAGAGGAGGGAAGAGGAGGGGAGGGAACAAGAGGACAAGAGAG GAGAGGTGAGGTGAGGCGAGGCAAGGCGAGGGGAGATGGAGAGAAAACAGTAGCCCCATG TTTTACATCACTTCATCTCATACACTGCACAGTGTCACAAATAATGTTCCTTTCTCCCTC CGTTGACATTACTATTTTCTATCACAAAGGTTGATTCAATTAAATAATTTAAGGGGTTTC TTTTATTTTTAATTTTTAAAAACCTTTCAAACAAAAGTTTAGGATATAAGTTAATGCAAG AAGATTAGAACAGTGCCCAAAACAAGAATACCATATATATGACAGGAACTCTTAACCTTC TGTATGATGAATGAATGGACAAAAAAGTGAGTGAACAAGTAGTACTGCCCTAAGTAAAAC ACATGAATGTCGGGCTAATGCGACTGTGTTTTAGATTCTCAGATTTATACCATCTTCCTA AAACAAAAAAGACTCTAAAAACCTAGGATATGGTTTATAGCATAAACACCACATCTGTAT AGCCTTGAGAAAAAGGCTATCTGAAGTTACGCACATGGGCTTTCTAAACACACAGTGGTA TCAATAATTGCTGCCTTTTATTTCTTTTCTAATTAATCTCACAGACTTGTACATGGGAGG AGACTTCCTGGTCACTTCATCACCTATTCAGTCTCCTCATTTCACAGATGAGTAAAGAGA GGCCCAGAAAGGTTCTGTGATTGGTCTAAACACACAGTTAAGAAATGACAGAGCTAGGAT CAGAACCTGGGTCTTTTAGCTTCTAATCCAGTACTCTTCTTATTGCACTACAACACAACT TACGAAAAAAAAAAAAAATTCCCCCAGTTATTCTGGGCCCTGAAGCCCTGAAGTTGCTAC CTCAATCAAGAGCTAACTCTACTAGGTTTCTGATTCCAGCACAGAGAGAATGTGATGGTT CAGAAGATGAGAGAAATCAACACCTACAAGATCAGCATCTCTCACAAGTCTGGAAGTAGT GAAGTGAAAATCCTCTGGTTGCAATTGTAGCAAACAAACGAAATAGATCCCCGAGGCAAC AGGCAAAATGGCATGAATTTGCACATATGAAACATGCTATATTTTTGAACCCATGAAATA CCAAAGCAACTTTTATTATATTAAGTAGGGCTTTAGTTCAACTATAGGTTTAGGGCAACC GAAAATACTAGGGACTGTCTCTCAAATTTTAGTTGTCTTACACCAAAATGCATTGACCAC AACTGGATTGAAATTAAGTCACAGCTGGGCGCAGTGGCTCACGCCTGTAATCCCAGCACT TTGGGAGGCCAAGGCGGGTGGATCACCTGAGGTCGGGAGTTCAAGACCAGCCTGACCAAC ATGGAGAAACCCTGTCTCTACTAAAAATACAAAATTAGCCAGGCATGGTGGTGCATGCCT GTAATCCCAGCTACTCAGGAGGCTGAGGCAGGAAAATCGCTTGAACCCAGGAGGCAGAGG TTGCGGTGAGCCGAGATCGCGCCATTGCACCCCAGCCTGGGCGACAAGAGTGAAACTCTG TCTCAAAAAAAAAAAAAAAAGAAAGAAAGAAAGAAATGAAGTCGCTTTACATTTTTTTCT TGCCCAGCTCTCCCTATGATGTCCCTCCTCTTGTCGGCTTCAGCCATTTCTAGAGTCAAA GCTTTCTCCAGACCAGCCTGGGCAACATGAGGAGACTCTATCTCTACAAAAAGTTTAAAA ATTAGCTGAGCCTGGTGGTGCGTGCCCATAGTTCCAGCTACTTGGGAGGCTGGGGTAGGA GGATTTCTTGAGCCCAGGTGTTTGAGGCTGTGATTGCACCACAGCACGCCAGCCTAGGCA GTACAGTGAGACCCCGTCTCAAAACAAACCAACAAACAAAACCCATAACTTTCTCCAAAC TAAAATACACTCAGAATAATAAGGCAAGCTTTCTTTTGTACTCCAGTCAGAACCTCTTCA CATAAGTAAAGCCCAAAAGATATATGGGAATATTTGTAGACAATGTCTTAAACTCACCAT TTGTTTACTGTGCCTAAACTCTAAATGGAAGTCACTACATGCTCCCCTGACATGTCTCAC CAAGGGGAGGGAGGACAGCAAGGAGGAGGGGATCTCCCTAAACTGAAATATACCAACTTT TCTCTGACACAATTTGTTCTTAAAGTGACTAAAAGTGCACAAAAACCTTTCAGCTAGTCA AAATAAAATAAGTAGGCAGAAATACCAAATTAGGTAATTTTGAAATATATGGGTTCTTTC AATATACCTCTATAATTCACATAGACTGTTTGCTTGTCAAAACATTATCTATACCAGAAT CAAATTTAGTCAGATTTAAAAACCAGGCAGGCAACTTATTATCTGTAAGAGCTATTGAGA AGAATAAATACAAAAGGACTGAAATAAAAAATCAACAGCGGCAAGCAGCTTTGGAAAAAG AGGCTGAGACAGGTTTCTAAAATATTACTGATGTTGAGGGAGGTCTATTTTCATGTGATA ACTATTTTTGTTCAATATCACCAACTTTCAATTTATAGCAAAACTGATACATTCAATTTC AGCTGTCTACTTCACAAATACAAATCTATTTCAAATATCATGGTCACATTTATGTAAACA TCTGGGAGAGTTCAGCAAAATGTCTCTGCCATTTGGAAGTCCTAACACTTCAATGAACAT AATTATTTCATACCCATCTCATTCTGCTGTATTTTTTGACAATGTGAAAACCAATGGCAT AAAAATGAACTCCAGTAAGACAAATGATTAAATCAAACCTTGTTATTTAAATCTATGTTT GCCCAACCACTTTCCCTTAAAGCCAATTCTCAAATTCAAGAAAATATGGCAATATGTTTT AGAGCATGAAAAAAGTTTGAGCATGCTAACGAACCAACTTGTAAAATATAATTACAAAAG ATTACAAAAATGCTATCTTGAACATCTTACTGGTATAAATTGCATAAACTCTCTCATGCA ACATATGTCATTCAGAGTAAAGAGGAAGGAACAGGATTTTAAACATCACATCCATTTAGG AAATTGGATATCAACTACTCCCATCTCCTGTCATGATGATGCTTTAGTTAATATCTTTTA TTCTATTTTCCAGAGCTATCAGAATGAACCATGAAGAATAAAAGTACACAATGAAAAACT AATTATTTTAACAGAGGTTAAGCTAGGAAAGGCCTTGTGTAGCAAGCATCCTATGTTATT TCATTCAAACTATCTGCTAACAACAGCAGGAAAAAGGTTTGTATTCTTACCAATGAATTT CTGAGGCATTGAGCTTTTTCGTTTTGCCACATTGCTTGCTAATCTGTCCAGTACGAGAGC TCTTTCACTTCCCATCTCTGCTTTGATGTGTCTTGCCTCCGCACTTGCTAGTTTGGAAAA ATGTAAAAAGAAGAGAGAAAAGAACACATTGGTACATGGGGAGAAAAGGAAATAAACTGG AAGGAGAAGTGTCCGAAGTTGGATGCACACTCTATTGTTGTTACCTGTTATAACTGCTCA GATTCTTGCCTGGGGTACCTGCTGTGGTCAGTGAAGCCGACACCAGGGCACATTCAAATC TTGCAGTCTTATGCCGAGATGGGAAAGCTCGACCCATCCCCAACCAGTACCTTCATTAGC AAGAGGAAGTATTAAATAAACAGCCTGGACGTGGTTGGTTGCAAAAAGATAGATAGATGG AGATCTAACCCCCGATCAGCCTTCTTTCTGATTCTGAGTAACTGCGTGTGACACCTGCAG ACTGATATAATTCTTAACAACTTTGAAAAAAAAGCATGGTGCCCCAGATTTACTGCTCTG TTTATGTTAACAGCACTTTTGAAAATAGGTACACTCACACAGATAGCAAGACATCTACTC AGTGATTTGTGTATTGAAATTCTGAGTGGTTTCTTTCTTTTTCTTTTTCTTTTTTTTTTT CAGCACGCTCCTCTCAGTTCCTATCTTTCATATTCTGTTTCTCTGTGCTCTGTATTATCT GTTTCATATGCTCTTCACATTTCAAAATAGTCTCAATTAAAATTTCCCTAAGCAACACTT CTGCCTTGAAATTAAAGAACAATTTGTATAATGCATCTGTATTGAATTTCTAATAAAAAT GTGAATAAAAACTGCCTATGGGCTGGGTGCGGTGGCTCATGCCTGTAATCCCAGCACTTT GGGAGGTGGAGGTGGGCAGATCACCTGAGGTCGGAGTTCGAGACCAGCCTGACCAACTTG GAGAAACCCTGTCTCTACTAAAAATACAAAATTAGCCTGGTGTGATGGTGCATGCCTGTA ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCACTTGAACCTGGGAGGCAGAGGTTG CAGTGAGCCGAGATGGCGCCATTGCACTCCTGCCTGGGCAACAAGGGCAAAATTCCGTCT CAAAAAACAAAGAAACAAACAAAACACAAAAAAACCTGCCTATGAATGTGGGCCCATCCA CAAATAGACCTGTGAGTGGTGTAGGCCTGTGGTTCTCAGACCTGGCTGCACATTAGACTC ACCTGAATAGCAGGTAAGAAATACCTATGCCCAGGCCCCCCTTCAGATCAATTAAATCAG GATTTCTGGTATAGGGGCCTAGGCAAGAATATTTTCAAAGCTCCCCAGATGATTTTAAAA TGCAGCCAGAATTGAGAACTACTAGAAGAGTATATAAATAGTGGCAATATCTAATCAACT AAAATAGTAAACTGTAATGAATATAATTTACCTCAATTCAGCAGGCAGTGCCCAAATTTA TGTCTAAAGTTCAAAGAAGGCCAGGCACGGTGGCTCACGTCTATAATCCCAGCACTTTGC AAGGCCGAGGCGGGCAGATCACCTGAGGTCGGGAGTTCAAGACCAGCCTGACCAACATGG AGAAACCCCATCTCTACTAAAAATATAAATAATTAGCTGGGTGTGGTGGCGAATGCCTGT AATCTTAGCTCTCGGGAGGCTGAGGCCGGAGAATCGCTTGAACCCAGGAGGCAGAGGTTG TGGTGAGCCGAGATTGAGCCATTGCACTCCAGCCTGGGCAATAAGAGCAAAACTCCATCT CCAAAAAATAAATAAATTAATTAAATAAATTTCAAAGAGATACCAGCTTCTCTAAATACA AGGCTTGACATTTTAACACATGATGCTAGCCTGAACCAGGGATCAGCAAACTTTTGTCTG TAAAGGGCCAGACAGTAAATTTTAAAAATTTGCCAGACACATATAGTCTCTATGTTATAT TCTTTGTTTTTTGTTTTTTTTTTTTCTGTTCCACGGCCTTTTAAAAACGTAAAAATCCCT GTACACAAACAGGCCACTGGCTGCACTTGCCTAGAGCGCCACAGTTTGCCCTCACCTGCC CTGGGCAAACATATTGTGATGCTGTAAACATTTTTCTCTGTTTTCTCATAAACACTTCGG GAGATCCAAACTAAAATGAACTATCCATACATTTCTATTATGTCTAAGGAAGAATAAATT GAAATTAGTTTAAGGGATTAGAGTAAAAAGCAAGTAGTGGCTGGCACAGTGGCTCACCCC TGTAATCCCAGTGCTTTGGGAGACTGAGGCAGGAAGATTGCTTGAGGCCAGGAGTTGAGA CCAACCTGGGCAATATAGCAAGATCCTGTTCCTACAAAAAGTAATTTTAAAAAATTAGCT GGGCATGTTGGCATGCGCCTGTAGTCCTAGCTACTTGGGAGACTGAGGTGGGAGGGTTCC TTGAGCCCAGGGGTTTGAGGTTACGGTGAACTATTAAGGTAACTGCAAAGACCACAATTA CTTTTGCACCAACCTATTAGTGCCAGTGCACTCCAGCCTGCGTGACAGAGTGAGACTCTG TCTAAAAAAAAAAAAAAAAGCCCCAAAGTATTAAATATTTCTAATTTTATTAGTGGCCTT AAAAAACTGTATGTTAGTCATTACACAATACATTATAAAGCTCAGTTTTCATTATTTAGT TAATTTATTTACTTATTTTTGAAACAGGGTCTCAACTCTGTTACCCAGGGTGGAGTGCAG TGGCATGATCACAGCTCACTGCAGGCTCAACCTCCTGGGCTCAAGTAATCCTTCTACCTC AGGTTCCAAAGTTGCTGGGACTACAGTCTAAAGCCACCATGCCTGGCTAATTAAAAAAAA AAATTATTAGTCTCAATATATTGCTCAGTCTGGTCTCCAACTCTTGGCCTCAGGCAGTCC TCCCACTTCAGCCTCCCAAAGTGTTGGGATTACAGGCATGAGCCACTGCACTCAGCCAAA GCTCAGCTTTTTTTTTTTTCCTGGAATAACATAAAATCTGGCTCTGCCAGGTGTGGTGGC ACTAGCCCATAGTCCCAGCTACTCAGGAGGCTGAGGTGAGAGGATGGCTTGAGCCTAGGA GTTCAAGTTCAGCTTGGGCAACACAGTGAGATCCCATCTCTTAAAAAGAAAAAGAAATCC AGCTCCAAAAATGAAAAAGAAGAGGATGATAATAATGTGATAATAATGACAATATTTACT AGACAGTGAGTTTCTTGTCAAAAATAATTCTAGGCTCTAAAGGAATAAATCATAGCCTTC AGTGAAGCTATTAACAACTATTTGTGTAAATGAAAACAGTAAGGGTCAGAATAGGGGGCC TGAGTGGCTTTTGGGCTAGTGCAAAAGTACTCGACTGACTCTGGCTGACCAGCAGTTGTA AATAACGGGCACTTCAGCCACAAGACACTGCTATTGAGTGAAGAGGGTCAAATTCTGTCC AGCACAGGGATAGGTTTAAATGACCAAACAGGAAATTATTTATATATATTATTTCCTTTC ACACAAAACCACCACCAGATGTGGCACTACCCAAAGCCCCAAGAGCAGAGAGATGAAAGA CAAAGCTTGGAATTTGCAGTAAGTTCCTGGGGCTGTTAGGAGACTTTTTTCTTAGAATCA GGGGAGAGGTAGCTAAGTTTGCACTTTGACTAGGAACATTCATCCTGGTTCCAGCAATTT TGAGAAGATTAAATCCAAGTAAGCCTCCCCTCAACCCTGTAGTTATCAACAAAAAGATTT ATAGGGAAAAAAAGAATGAAAAACAGTATTCTGGGAATGTTTACCTTTTATGCCCATTTT ACCATTGTTCTTATTAGTCTATTGTGGTCCCTCCTCTCACTGCCAAATCATTACCCAGGA ATTACCCCAAGCACGGTGCTACCCATCTAGTTTTCCCATTTGTTTCTCAGCAGTCGCTGT CTACATTTTACTGAAGTCAATGTCAATTAAAACAAGCAGCTTTCTGAGGACACGTAATCA ACATCCTCTACATTTGGGAGGATGCTGAAGTGTGGACACATTGACCTAAATAACTGTAAT TAGGGCAGGTCACTAAATGGCAAACTTTTGAGATAACATCACCTTTTATTCCTCGTTACC CACCAAACTGGTCTTTAGAGTCATTTCCAGATAAACATTATTCTGTAAATCAGTGACCAA ATGCCTGACATTTAAAAACATAAAATTCTGCAGTGTTCATGGATGGACATATTTTGAGGC ATGGGTGGAGACTTTCCCATTTCCACAACTCCGATTAGATTGAAAGAAATCCTCTGAAAC GAATCTAGAGGACTCCTGTTCACCCACACCCTCTTTCTGGGTCATTCACTCAAAATATTA ACTACAAGAGCTCCACTCTCATTGTACATGTGAACACACTCCTACTGATTCAGTTGATCT TCACTGAATTAACCTTGTTTTCTAGTTGATAAGTTAGGCAAAGGCTAGTTTTCAATTGAA GATGGCACTCATTTTCTTTCCTAAACTGCTAGTCTTTTGCCTCACACTTGTTGGATAGCT GATGCACAATACCATGAAATGAGTGCCCTTTGAAACACAAAGAGCCAGGTTCCATGGTTT GCGCCTGTAATCCAGCACTTTGGGAGGCTGAGGTGGGAGGATTGCTTGAGCCCAGGGAGC TATGATCTTGCCACTGTACTCCAGTGTGAGGAACACAGTGAGCCCTGTCTCTAAACAACA ACAACAACAACAACACACACACACACACACATATCACACATACACAAAGAAATGCTTTGT AACTGGACAAGCTCTTTGGGATTACTGAGTGGTTTAGGCAGTGCACTGAAAAGAAAAAAA AGAGGACTATTGGCTTTTGGTCCTTTTCTCCAACTTTAGGACCCAACTGTCTATTTATAC GAACAGTCTAGACTTGTTATCTTGCCACTTCATATCTCAGAAATGTAAGTGGAGGGAAAC CAGTTTGGCAAGATAGTAAGGGAACAAGATAATGGGTTTAAATGACGAAATAGGAAATCC GTTCCTGGGTGGTGTTTGGCGGTGTAATGCTGCAAGTGGTGGGTGTGGGGAATATGGGAT GGTGGCAAGGAACAATTTGCACATTCAGCTCATGAGTGAGAACAGAATGAGTAGAACTGT CATTGTGGATCAATTTCCCTTCACATTGCTTGCCTACTAAATAGTAGACATACTAATTTT CATTAGAAAAGTTATTTTAAAGACGTGCTGAAAAAATAATAAAATGTAGTACAAAGTCAC ATTTACAGATTAGGTTACTACTACCTTTATTCCCTGTATAAGTCTTAATATTTGGTTTTA GTTAACTATTTCCATGATACAATTTCTACCTCAAAGTCATTGGAGGTTTAACTATGTAAT TGTGTTGTGCTTTTGTTTTTGTTCAAAATCCTTCATTAGATCTTGAAGTGTTAAGTGGAG CTTAAATAAGAGGTATTGCTTCCTGTCTCTTCTATGGTGTAGTCAGTCAGTAACTAATGG AGAGTGGAACAAAGTGGTGTTATTATGCAATAGAAATTGTCTAACAAGAGATTGGTATCA AAGACAGAGGCAGGTTCTAACAAAAAAGTTTCATAAAACTGTTGCCTTTTTGAACAAGTA AAATGAATACTACCTGTGAGATAGCATTTTTTATTTTTTGAGATGGAGTCTCGCTCTGTT GCCTAGGCTGGAGTGCAGTGGCATGATCTTGGCTCACCACAACCTCTGCCTCCCGGGTTC AAGCAATTCTCCTGCCTCAGCCTCCTGAGTAGCTGGGACTATCAGTGCATGCTATCGTGC CTGGCTAATTTTTGTATTTTTAGTAGAGATGGGGTTTCACTATGTTGGCCAGGCTGTTCT GGAACTCCTGACCTCGCGATCCGCCCACCTCAGCATCCTAAAGTGCTGGGATTACAGGCG TGAGCCACCGCGCCCGGCCAGTATTGATTTTTAAAAAGAATAGGTTGGGGCCAAGTGTGG TGGCTTACGCCCATAATCACAATAATTTGGGAGGCCAAGGTGGGCAGATTACCTGAGATC AGGAGTTTGAGATGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAACACAAAAAT TAGCTGGGCATGGTGGCAGGCACCTGTAATCCCAGCTACTCAGTAGGCTGAGGCAGGAGA ATTGCTTGAACCCAGAAGGCGGAGGTTGCGGTGAGCTGAGATCGTGCCACTGCACTCCAG CCTGGGTGACAGAGTGAGACTCTGTCTCAAAACAAAAAACAAAAAACAAAACAAAAAAAA ATAGGTTGGGAAAACAAACTTAAAAATTTTTAAACATTTTCTTTGGTCTGCTAAGTTGGT AAAAATGTAAGTTTATTCTGAAGCCCTCATGCTTGTATTAGCTTGAAGAACTATTGAAGA TGAAAAGTTTGGAGTCTTAGATTCATAAATAGATGTGATTATTCAATTATTTAAAAATAT TATTATTGCTAGAACTCATTGTTACATAAAATATTTCCTGCTCCAAGTATTCATAATCTG TGTGAATGAGGCTAAATGAATCTCTATACCGGCTGTTAGTCTCTTTCTGAAATAAGAATC AAGCTAATGGGAAAATGCAGTCCATGTTCTTCTGTATTTTTCCTTCTTTTCATATATACT CCATTAAGACAGAATTGGAATATTCTGATGGTGTCACTTGTGATGCCTGATGTAGAAACT TGGACTAAAGTAGCAATATCACTAGTGTCTTTTTTTTTTTTTGAGATGGAGTCTTGCTCT GTTGCCAGGCTAGAGTACAGCGGCATGATCTCAGCTCACTGCAACCTCCACCTCCTGGAT TCAAGCAATTCTCCTGCCTCAGCCTCCTGAGTAGCTGGGACTACAGGTGAGCACCACCAC ACCTAGCTAATTTTTGTATTTTTAGTAGAGACGGGGTTTCAACATGTTGGCCAAGATGGT CTCCATCTCTTGACCTTGTGATCCGCCCGCCTCGGCCTCCCAAAGTGTCAGGATTACAGG CGCGACCCACCGCGCCCGGCCAGGATTGTAAATCCTTAAAGTGTAGGGGCTTAACCTTAA CTCATCTTTACAAACAGCTTTGATACAGAGCCTGGCACATAGAGAACTCAACAAATGCTA TCTGGATAAAAGAAATGATTAGCAAGGCCAGAAGTCCTGTTGCCCAATACCTGCATTTTT TTGCAGGCTGGTCTTCACTCCAAGGCCTTTTTATCCATCTGCTTGCTTCTAGAAAGTCCT GCTTCCCCTTGCAGGCAGGTTTGTCCACAGGCTTGGCTCTCACACTACGCTGCACTTCAA CTTACAATAAGCACTTGAAGAATGAGTGCTGCAGGCACAACAGCAATGGAGCATCATCTC TTTACAAGTGACGGATGAGGCATAAGATGTACTATACTGCTCAGGCTCAGAATAGAACCC CATGTCCACAATGGACTCCCAATTCTAAGAAGGAAACAGAAATGGAAACCACACATGGAA GGGTGCAAAATAGTTAAAGGATTGGCTTATGTTGGGTTAAATATTCTGTAAATTTTGGCC TCAGGAAAAATTATAGGAACTATTTGAAATATAAAAGAGTAATGTGTGAACTGAGATGCA GTAACTTGATTAAGCTGTGAATTTACACATTTATAACCTGAAACCACCATTACAACATAT TTGTTTGAAAAAAAAATCAAAACTTGCTGACTTAGTTAACCCTTTATCTTTTTTTGCTGA GACTTAAAGTATGGTGCACGCATCCACCAAACCACCCTATGAAATGCAAATTAACTCAAC CTCTGTATTTCAGCATTTCCTGAATCACCTAATATCACTGAGAATAGCTAAAATATTACT TTTGATACTTTTCCTTATTTGAAATTCCTAAAAAAGGTTGTGAGAATGGGAAGTAAGGTG GTGACCTTACTTCAAAATCAATAATTTTGAACTTACTGTTTATAGAGTGTAGTTTTCTGA TTTTTCCCCCTCCTTCCAGGAGAATCAGGACACACATATATGTATATACATGTGTGTCTA TTAGTATGTGTGTTACTATATTTCTTTTGCAAACCAGATAATATATAACCTTTAAGAAAT ATAGCTAATCAAGCCAAAAAGTGGAAAAGGTGTAAAAGACTCAAATGTCCATTAGCTGAT GAATGGATAAATGGAAAGTGCCATATCCAAACAATGGAATATTATTCAGCCACAAAAAGG AATGAAGTCCTGATAAATGCTTCAGCATACATAAATGCCTCAGAAACATTATGCTAAGTA AAAGGAGCCGACACAAAAGGCCACATATTGTATGATTCCATTTATGTGAAATGTCCAGAA CAGGCAAATCCATAGAGACAGAAAGTAGATTGGTGGCTGCCAGGAGCTAGAGGAAGGGGG AATAGGGAGTGACTGCTAATGAGCACAGCACTGCTTTTGCGGATGGTGATAATGTTCTGA AATAAGATAGTGGTGATGGTTGTACAACTTTGTGAATATACTAAAATTATTGAAATGTGC ACTTTAAAAAGGTAAATTTTATAGCATGTGAGTTATATCTCAAGTTTTTGAAAATTAAAA AATATGACTAATCACAAAAACAACTAAAGTTCTGGTGAATTTTAAGTAGGTCACTGAATT TTGGGCGAGTCTCAGTCTTGTCACCTCTAAAATGAAGAAGTAGGGTCAGATGCTCTCTTT CATTCTAGCTTTAAATATTAGTGATTCTACTTGGAATATGATAGATTTCATAGCTTGGGA ATCTCTTACAGTGAGAGCTTTGCCTATTGTCTGAAATACAGAACTGCAAGTAGAGATGCC TACATTCCGTCCTTGAGCGAGTACTGCCTGACTGCCATGAAGCATGCCACTTAAGATGTC AAAATCTTTCCTAGCAAGCAGACTCAGATAAAAGCAAAACAAAGAGAAGATGTCAAAACC CAAATATTAGGTTTTTCTTTTTATTTTATTATTATTGTTTTAGAGATGGTGTCTTGCTTT GTTGCCCAGGTTGGGCTTGAGCTCCTGGGCTCAAGCAATCCTCTTGCCTCAGCCTCCTCA GCAGCTAGGACTACAGGTGTGTACCACTGTGTATGACCTGTTTGTTTTTTATAAGGGGGT AAACATTTCTTTTTATTTGGATAAGCTTTATCCAAATAAGTTGGATTTCCTTTATCAAAT TAGAAATCCAACTCCTTGATAAAACCAAAGATGCCATTAGGATAAAAAGCAGAAGCACTG CAAGCCATCAGAATTCAGTTGGCCAGCTCCTAACATCATGCAATAGGTTTTATCTAAAAT AAAAGTTTCCTCTCACTCAAAATGAGGGCAGTTTAGGTAGTCATTTCTACTCCATTTTTC CTGAGTTTCACATTATTTCTGTCATCTTTTTGTAACTTTTCTGTTTTAGCCTATTCAAAC TACTCAACTGCAACAATTGCTGTCAAACACTAAATCCCATGAGGGTTTGTACCTATTCTA AATAAGCAATTGGTTCAAGTTACCAAATAAAAATGTCAGACAACCCAAGCTGCAGAACCA GGCTGACAGCCAACTCAATGGGACAAAGGACAGCTGAAGAGATGTGACACAAAAAAGTTT CAGGCTGTTCCAACAAAGAATTAAAAGGAAATAAAACCACAATTGAGATATAGAAGAACA TCTAGTGTTTCAACCAATTGCCAGTAGGCATCTAATTCAAATCACTGAATAAAACAAGGA ATCCCCAAAGCCAAATAGAAGCATCACAATAAATCATATGAGTAGACAAGGATATAAATT GGGCCCTGTGCAAAGAAAATCCTTGTAGTTTTAATTGCCTCTTCCCTAGCCACTCCCCAA CCTCCTCTACCCTCAATTTTTGCCATTTTTTGTAAACGACAACTCCACTCTTCATCAATC TGTTAGGAAATCTTGTTGACTCTACCTTTAAATATACAGAGAATTAGAATACTTCTCACC ACCTCTACCACTAACAAGACATAATTTTCTCTTGCTTGAATTATTGCAATGGCCTCCTAA CTGGACCCCCAATTTCCAACCTTGCCCCAAATACAATCTCTTCTCAAAAGCAAGTAGAGT GATTCTTTCAAATGAGAAGACCAATGATGTCACCTCTTTGTACAAAACCCTCTAAAGATT TTTAATTTCACTCAGAGTAAAAGCCAAAGCCTTTACAATGGCCTGCAAGGCCTGAGAAGA TCTGGTTTCCCATTTCCTCTCTGGCTTCAGGTCCCATTACTCACTGTGTTCCAGACACAC AGAACTACGTACACTTCTTCAAATTTGTGCCCCAGGGCCTTTGCTCTTGCTGTTCCCTAG TTATCTGCAGGGCTTACTCACCCTGTTAAGAAGTCTGTTAAAATGTTACCTCGTTGAAGC CTTCCCTGATTCTCACCCTCACTCCTCAGCAACTGCTTCATTTTTCTCAATAGCACTTAC CACCCGCTAACCTTCCAACTTACAGTTTGCTCATTTACTTTCTTTATAATCTGTCTGCCC CCAGTAAAATATAAACTCCACGAGTCTTTTTACTTACTATTGTATCTCACCACCTAGGAC AGCAGATGCTCACTAAACGTGTGTTGCGTGAACTCACCAGTGTCCCCTGGGTCAGTGCTC TGAAGAAATGTACGGCAGCGCTCCTTGTGCTCCTCAAGGGAACTTCTCTGCTTGTAACTC CTTCCACAAAACTCACATTTGTAGGGTTTCTCCACTAGAAGGAGAACATAAGGGGCACTC AGTGACCCTCAGGGGTTCCACACAGGTCAGGTATTGGGGCTCTGTGACAACTGTTCACTA GAAATGAGACTGCTGAGTGAAGCCAGAGTATTTGGATACTTTTGAATCTATATTTTAAAT TTGGTAAGCTTAAATAAGGTTATGGTCTATGATTAATTATTACGTCAGAGTATTCTTCAA AAGGATCGCCTCCTATCACAAATGGAAGAATTTGGATTTAGTGATTACCATTTCGCATAC TGTTTTGGCTCCAGGTCAAATTTTGTTTTCTTTGGGAAAAAGAAAATAGGGCCCTTTTAT TCTTCAAGGAGGTTAATGTGGTATAAGCAATGAAATAGGAAAGGATTCTTTATTTTGGAC ATCCATCTGGCTGTAAGTAAAGATTGCTGTAGTTTGTGGGAGTTAGCCATTCGGCTAGAA ACTGATGGCCTTTTCAGAACATTGACATATTTGGGTAAATTTAGCTCATCCTTGCCACGT GGCTATAGCAAAGTCTAGGCTAAAACAATAAAAACTGAGCTAATTAACTACGGATTTTTT TGTTTTTTTGTTTTTGAGACAGGGTCTCACTCTATCACCCAGGCTTGGGTGCAGTGGTGA AATCACAGCTCGCTACAGCCCCAATTTCATAGGCTCAGGTGAAGTCTGGGCCTCCCAAAG GCCACCTTGGCCTCCCAAAGTGAGAGGCTTACAGGTGTGAGCCATTGCACCCGGCCAGGA TATTTTTGAATAATAGAAATAAAAATAGGCCGGGCGCAGTGGCTGACACCTGTAATCCCA GCACTTTGGGAGGCCGAAGTGGGAGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGC CTAACATGGCAAAACCCCATCTCTACTAAAAATACAAAAATTAGCCAGGCACAGTGGCTC ACGCCTGTAATCTCAGCACTTTCGGAGGCCGAGGCAGGCGGATCACGAGGTGAGGAGTTC GAGACCAGCCTGGCCAATGTGGTGAAACCCCATCTCTACTAAAAATACAAAAATTAGCCA GGCGTGATGGCGTGACCCTTTAGTCCCAGCTACTCAGGAGGCTGAGGCAGAAGAATCGCT TGAACCTGGGAGGTGGAGGTTGCAGTGGGCTGAGATTGCACCACTGCATCCCAGCCTGGG CGGCAGAGTGAGACTCCATCTCAAACAAACAAACAAAATTAGCCGGGCGTCGTGGTAGGC ATCTATAATCCCAGCTACTAGGGAGGCTGAGGCAGGAGAATCGCTTGAACCTGGGAGGTA GAGGTTGCAGTGAGCTGAGATGGCGCCGCTGTACTCCAGCCTGGGTGACAGAGTGAGACA CCATCTCAAACAAACAAACAAACAAACAAAATTAGCTGGGCGTTGTGGTAGGCATCTATA ATCCCAGCTACTAGGGAGGCTGAGGCAGGAGAATCGCTTGAACCTGGGAGGCGGAGGTTG CAGTGAGCCAAGATCACGCCACTGCAACAGCCTAGGCAACAGAGCAAGACTCCGTCTCAA AAAAAAAAAAAAAAAGAGAGAAATAAAAATGAATTGTAAAAATGACTTCGTCTAAATGTC TAAGATGAAGGAAAGGTTTCACCCATACAATTCATGCAAACTTTATTCTGCCAACTCCCC AAATGCTTTATTGCTTGAAATATGTAAGTAATAACTTCAACTATCTGTGCAAGGCTGGTC TTTCTGATTGTTGATAGAATATACTCAATGAATTTGTCAGTTTTAGGGGCTAAAATTTTT ATTTTCTAACTCTTGCTCTGTTTAAAACAGAGGCTTTGGGATTTAAAGCACTAAAAGATC CTTATGGAATCCTAAATTAA gmap-2015-12-31/tests/setup.genomecomp.ok0000644002622600023770000022237012567632007014767 00000000000000Äꂱûo¨  `ñ|ÆvGï!@Ñ­rÄJà*¶°Ñ µ¤Š***â<‡¨«®ñ­ö0 ÊÒ°Œn8P7º¬¾ÔìP4kDþNBqm„»h_­ ¨µ²QÕ¢²¢Etó â]w?æÿïöµö^ï¿ÿÃû¾ÿ¾ÝœÚ/êÜiDŠ.›¸|ÇÞE]¡#«<£Þa]¡aÃÿιQYþQäkÿ¸"¡×R‡,¡¯wBW€Û—µuZÅVZ{Ïh'{C_|ýØÿÀÆÝ_Û|¯+"·¿"*üí ~ÇwøÕÀÇ4Ó-ðME³zÈ9/NkÏŸ4ÛætÎÜÛR á8 Ã0Á0ô° ãRïñ½ÐàöÀPS¡pÇ« «,0>NÒݵÒwk«+«Ê¢ô»lýÝ jˆÆÀŠ×wü|Ò׫¢a0÷Õ²]¢†F«»¨µÕoawÒ¯Šá[ëSHõˆÜ£èèWhË÷\Ûí2²öëþÎÇu‹õíÌînèÆOÃën€îÆïxRèò»ñw‡a­|*Ësë2»»  ¡Cï{«Ö!nëêŠÀ_Æ€jk_Ê ‡ÝEÝâ‹ßbm]Õ×VÞ…ÂV‡ô_¶[ĺµ[ÚÊ’Uµfæ­XT¶¡”¶Êb^ÅuUÔ…**Wý2††J„"Yš!„Dh~»UˆJDddGDh§NÏâzTUˆÀ!ÔRY½‘r!\Ôºw£ÄÂþB{¹n Ñ Ž^W³‚«°º® "RŠ" ˆ‚Áë:¨È¨""p¡(J; |" ‚{ Õ*‡U\í(+Èr×®uáU »kQo5²ÓõÅlЬÔÔŒ£JmÈØ*`5ãÜÁï¾ÕÔòôûr+¿¸DòãÒöߪ¼¡¼ò¬~°=‡(AýÛÞµA‡ˆ¼qôÕ]qV5ŒÊÚì‹Â=¾+ü*÷VtߺÌÐè Ò‚ês*"€ª *H ìî² ‚"  €¨²ˆ²€²â(ˆº"B!!] ¡ö↠¸[»*¨W¸WøŠo­ð…5¨VÈ áßG^¶€T»Z…دŠaÛ­(MÉ.Ȇn‰‚.z««.J쮺Qó¸ºw­¡hÈ1;®­ˆ«Ó±½:Z(††(ê˲ˆŠ(€‚ b¼rÞ7Ž‚ÊíóÝ~+õZ£_ü"±µÃ5¶:ëÚhêÊÑF¿Š¶Ha­K7Š¿ßÀ ±&ÒźnlÍÍ­î¢-ºÊx…Mg¢+ú†òöb­ÑFÖ‹rG×ÞêB h¶ ¢ÔáÞï…­FÜ,áØí:ƒ3Êsб1êû"OCÌ3d‹S_ÌûØîìúo´r¾ï÷ÿÿÿ¼*ÿvï[¡¿@ˆÿ˾v­¸ÁúÁwAßÖ8¶ÊmÖ6ü;Eúw±¯ÿ㈬UK¾‡¶Þ ]n«ÜvÔi”Qi…<¡±XÆÐH} ßGDÿèo³Õ£ŠÒ.}ýFÄt-ˆhÜü `ÂX úßx£NèT± !Ú)ÑâE ¯Tú_+_u5Ö+5q¸V±ávŠuXܵ»úí¥VQÒu_p«Çß|ô÷A_ß}÷^ý÷GuÛõ¯ €Â|‡Â®òUQWGÓ#²Þµ­m¬†°+ÒZ£è‚±¨áUì¨&ªkvíGUÍwcÈj{iDhë¶‹YX " å½Š¨,¨(¢¢‚¢ ˆ¢(*" ¨Š¢ˆÈ ( âH[ÿÚ+  ‚¢lÝÝW`«á…ÚjGV/OSÈjÌuÖE(ehÿàZÇÀá%¢µÖ±…VëŠí놨Q€ˆjèZþš .¨®Ç‹8@­ÚŠ}"ª][0¸z¡t®kkRí¶òµ­^Oˆ¢*Wé‚mt}uaæ¾M+B€x¨WTÝ îfÍF‹»¨ÁfZ/¯Î%ì×2Vª¡ ûjT0àh­ËŠ«€Û ƒ½¹ùjá³!\âîµ ¯Èßìî쪴âíîëì*ªîíêv‹Š­ ® †¢A^]ĪÜüa÷ÕDXuõ‡’ßUß ]…X$†]™U\®š+W¦/QÕVmW­eY]w]¦è•ÖŽ®uêbʪ©šÁáf¦{ךÖ÷Þ)ü#ÕêBÈuCW»ÝeÕ­QÚ®EU†W]Á¹fu]Ê¥b¤@©ËŠV*Z­h¯iW˜)™æ®û)u_*¯fõ]½{}}ÑÞìõ]qwÕ„WÔm ×M¤X”y“„@×µTGô‘÷×HýŠÂ-–UÅÕm|µÕáQ´¶䪊T‰—Ê‹<*’Š*ޝÕÚ"º"H©p´ ðߤT Ã_E˜Š*¨šJŸá©®ªõjUTÆ[(VW¿O…—衟F[(&¯²W›x|·‡]ÂÝ·ÌÂ6%"!2bâ!t2ðÞ ’Äü€ÿ÷ÕØ¿€ V% [ª^åï>µU_w]ZE˜VàƒëÇ‘b—‰Ü^"Ý€¿ã7ud(Õ~#DQÎÕ"ñP· ø…Ð oÀð……ß3oÀ¹-n©àʶuŸ«›~F[—n•˜u!Ôkëu”¶X[ýòQXnÞÕÚ£! ¾õ…˜´WKíÕZRÅ×v¶×Öm]d-µ*.¶¾Õ¦íbk«±­Æíú]­ÇV«þ ªÕô¸’ˆ¢j„´Iþ®úî¨þj»ýýÿÿÃý5»Çñ?`U\·÷«Üß Àu´ÃíÅ[¬ðƒ3 !WY_U­X§]”¥-f­Qj™‰º®ÒÚajª&µš—š­·êº ö_®ëúZ(*›Êÿí*‚{ŽÊýßò¿v¿ë¿þúoeu÷%3ÿÀþ/óñÅ TCuU›/¾ÿÖ*VZeVa©\vb&~¶†u™Î‹•––ª]µWš©UêTÛViת†²kÜòH‹¶‚ "*¸ŠÈW|§¶VáVGÐìâ_Š uY›å»ÕµÚ‹ê¨¥TEÕÙë·XU‰²W?lÒ­…TYa@© môÚ Ž»Õë‚U€ê§Bklè»J-5êW&UZØa†õZ×R) •šŠ¦ _ˆÂ_Ã-!Ø*"2 QHD"úSeXµ‡të¬Ð›]™­™*RgÚf#ˆŠø«aÞES­qvµkÙnußuÕiÖˆ~ÕW[)föÙuÆ] ºtÕõµ ] \¾Ö÷yVé½fÕ^á]¡¶øbö£¯¶Yý=auýžEßQ¡„€†`ÿ¶¡”j¨ÿÛ‡ò!¡{üm Gøf­Î·V¹Àî½V Ê Ö~KÚ.¾*WôŸ¢·U‹­`×õ—ÙVÝzȆW«¨£‡¾ÇŠêµæm}6`Ûáõ 4Ð÷wºSwp†p#v×!†Up°ò­ ¢,|íÁˆÀ( oß;ÝR· ¨…½+ýU®Øˆ`h„mÑr]âê†ËÏ©«zºWj«í]%Œí%úѪ^ØA° k+d.¨„ +v_ý•…ŠCÛ_Ò)2u¬¬µ°­ôÿw{Üp ² «Þ +–§×µ¼Ð¾Øbi~˜V¨X[¶hëJöŠ×Ýn}£‚š˜­UW¡…Fß~¯]WWmšŠw«»»m¢Jþˆ€HFÜ÷]ªeïeg¡‚/ÛqDqË"ÚˆF«¢¨Â®ª ……¸¡ªIë®§‚-l©|*µªò·WGØ¢UQÁ.Üßj€Ça@/+ÜÚlŒ€9êØ‚¡ˆE¬àízkhXÔ¨^¿}+}‹©Ê•vâ¨"Xß(ÐÒ¡†2ÁC½ßn_ÿ‡Ö© ZoÝoÕ!ýúY,nÈÖÛMt(·êì*(ÈjµÁࢠ£¸|A×ß-H¨Dˆþ ²Õx»Ü\ª² [*Âш&¿€°­"h¸ÀÛŠð…û-@Öµ]ìÆ+ °RW·W­ÑH¢a! صÖkÆáJ^KQ*ÖmIت‚èê|Ó¨²Áb/JHüürQ}~ˆ3ßÁý03J_¨È<ÿÕ_Û{÷X¿ê÷JuPѱµÔÃÕ‹GTчüÀb¸¿"p«J×À‡@X÷¬âýªî‡ö£0ߨMBu‹¡*Ž-j‚‡b¢ÒÍ¡~ˆ [µu‡Þb(²¼‹ñuõ Vnõ‡ÐN!úÕí!¿Òê¡ pX^¡âÄjÖ¶Õ´ºšúh×ÝHݨîÒaQGDÕ@ì×õ^kÉWA|-Rÿ -^”ÀóÇ}€j]ï¿ÿþ,õ ûTí-ûïÀw[ÑÛ°¾w¿ˆø°ÿáj/Çÿá´¶_Aþ*º²:ÿ° ¸ƒµû¡Û*è&2‡ÛŠêØ8Öê«·«êú¨c…«;Â^¨Wˆ0M„G/Ñ·¿ÖmX…Pm}U ,Z”ß]UýÆ?‹@é¥çñ@ 10?ô©{I!lM :*þqŸº¸»ºÀ›»»Æÿƹ{Ö®òU[—®ó+[Ë[õ¿ª†¨wýuHÝUPŽb`(]VT6w¥¯L%áÀYèmUè]¥†êª…¢J\EÕQbibGk™*Š’¥Yj]ßV•»îæîmïæ¦ÕU@Iý±Õ|1¿UAø[@KF¡ÿ*j¸F*©¦‰GË;«Vw¢jš©µ*ªn„\fUÑG†–šj§¦šVj™h‡\©–ZÈüîý+ÖõÆúÿ¿¿ò¼Žãÿ¿õÏÿ¿ÿïÓæwÛ7€×ŸöåYÉ¥t›ÿÿÿÿ÷Øÿÿ³¿¿?ÿÿÿ¿)ßø *w÷×¼÷ZÀœ\ôUW¢¯ê¢dŠ´]šÕÐæZ© *f­7Õ} a«{û]ÿ[§¢*ù?À0,ÕSõÅÛa[ª¢(Pjm¨(ª¢º‡ 2¯Šˆ^­u¡bUˆ(Š F׫ ‰W­U¯Šˆ*¡EE*˜hÕmŠ˜èJ›v•Yi†RºVºW›Ý–ê(«ª©ª¶*¡–f‚w€*¼ØuNø,dº s¬Z¥ç—¸’Uˆ|– •™–$Pj˜%kåj™ëØçŽ#Žm/.‚zj¢x¦ª-¦oñ"!í;^jVçtŠ[–1ag–EY8–«—Þ9šfeY¡e¡æf™›•…fiYk´¨n¬ b¤Nê+˜–F©e%–¹(ø&yšõvXZòâ‹mHHõFˆº®¶I£·–½·‘£D%bVÈ¥˜¡ÜæÜŒßk£½âj+aßæ{¡¶ùõfèoveæ¡çƦ`¯˜]g}[–÷fß«`f½ÙY]Ö•Ù÷j]×}]yáõ}vÖ×õ×uWÖåU÷R§¹k¯e¥]¤ˆJ­•š¡¶V)VæY½géš®iŸåY…×içyy‰Z­ ½©‡±njg ¡š ªH-jV™ª™­:H.T×EU%YUµ5ÚTâ›Úem•+[Q—TÚ–Öbi…ÕÕ]¥Ù*wZ¡uöªj•vYÛ÷êÚv•Y«úJ¡†J©*šfv!s¿…ݵ¦+V Xù–®JØ"ÚzZgZ©UVÙevT]¹v¥vuÿAGUdWõvZ¯mfY¢©(UUÁl^…]ç]7–i¢´`)–v«"-"˜˜j®Š·é¡RXáåU-]]ÕWõ¾ó¯òh÷!wÀïïo²ª\® è_ýº±¢z]Úÿ*AÌU].ÞiÝgQbÅ×ÖWUmXÕj"Q×"B­ZV *°¨juÉVT¿(ÕµW((:U×”§%Ø–WJЦrg*¢ŠS§ˆâ""ª*ª*ª=¼Š *÷bª†i_÷¡Yš÷!צ©Š‰»Æf± eÖÍÝšê‘GjZÌj¯éò›6G,"–vU*·Ñª"t7]•eq{00 À<Y]u•ÀÀüm¡ò" d¨€ÕÎŒHºŠâ[«®¶UG*º|³­jçÝ^üu]ꕺz¨Õ†VJÝnR¥¾*ŠzÕkoUtHUW( ¶ÕZ‰Uk;¨æ[\ŒŽìkUTTGW{[uk |FD³ˆ€ È@ HÖm¬æn­ìíÄîÎíîîíªÈýõúЇ%«û¨+®¾ª9bíFQŠj™ÈŠzƒ·q«º¢ÔÝuò5Ôº^]ÑÞ‡ôú¦ýݵ††Û"ü¢¢(²HÆ´5øµ·Ów]õ-\¸‚U8„í½ ¨¢£‡í?÷®*: ¾¯õÑè ¢k!°F¿)±uT»î1SûS52ÀÈ¡ÃÖ±³‹[Uüº#!ÕTÄߊñ;ûcKÌLV]Htñ}ðLíº/{SìªhýTN,FjwW7·ºõjë Šv*:úʃÑr˾ġh½ßÀˆDÛÖ*Ý"£º­â 8Ö‹G¯­ÐuÜ"ìÔ]ÐR[£¢+*„Ðjª@EHátð¡ÑKÜÖázÑ3XÅöÕÇ7ƒ5hÂGµz®«"ßwkÈx¢(«j¬!Ò¡¸­}è¨!¯FX…uQàO †zh¿ÁõXÿ׊\KãóOlw­Ý.Ë×ZPÅv«}ûz…ÅSÐdíp……ƺvšºr$ѯ¢%ǽ6Dz(ò"ÓLºwkjÖŽðj¬Ú¢¡WØt*šbo¸k.D*mta­X"gå&!.ÒëØ°ˆV¿Š¶hµÃ†ŸHaÈÕ‡.PmÝa­†ñ…ÆšÖ…M§¢flíøö"¥¢-ºˆrírdÑ!ú†ˆ2b!õFÖên ÛÞÄÝë½/>3²ÊÀ³üuÜïû0 MÔǨ±°X¬2\|ðQ¯ lA÷ÌÃÿB;Àöñ!¿Su/üïl¯73 + ƒ /«‰£Š€ÿ Û×õJµ¨ÝÕÖw¨Þ­>}2ªXŠ@ïmQ}i½¾ª~uÐÝêQ{(,xTˆ -‚]uîF­Jè-úª{×VíWv+þý÷õ!ôÿßÑIÄ¡ ð  @¬Öö!!*º«F¹û±Ú ˆ ‘¡·…È“™uŠHˆ†È†KФ …À qûuUJTˆlâë¢Zk¼ª ·ˆ ëUzXh­ â²uE×½‚Uñ¶mZ‹~Åb£Øª¨hŠÄXÅk[‡¨ÞjÔ„vèµ®añïjˆ»»ª¡º¨ÇÔbx¢Š®¢¨ â«J÷vï3UÙ~#Ðv ÜmELLTHØ]|K òºXxU(ÒÇ_ª»-¨ˆjQ€]hî…Ukºr@…u­Z7Zºw«-®Fª¨ &ö*TÕuÈZÔÞw¯Èõ/ª †[<–Û¢R»_¨¨Ú¬ª( ~aø¡m…á5`œbl'È×VmÔuuÛª¢*qà(Ú­ºµaß×]WYYµU´Uijd!†³¥Š¦I¾¥k®-©ËlÚ¢‹Ú±ª¨¢æÖ»nŽU]—†Z¸èK]t”ÛR×^}]Öv…òÝjTQµÚía-Û"²ºJí×{R¢‡Ôp¨(U{EU^+#ŠT¼½ÝXXÕ%oWõ€®¹ÔPíÿ-KßZ·²­w‚ØýÕßñ‹õëµu]u4Èöuª«X_- TüØST¿ÖJµ.TÜÞõ÷ãØIï·s¸H×Þç¶ÄX€x=^_¡ÕÏ|P[ë[«¶G‹¯Û1vñ°¶ÃÀö¾× õwZô«†€¶¨-Ò]xV}Wz`…ð†·(õÖ¿êòUºÒ«¬h‹µJ8j¢µN¡Å[H÷vZ[m»r-Z„QõRÕözU×÷T‡¡B«F·‘Ä÷V¨DØæ("‹^q·-Ûµ]Ù¶Bõa=vÎu]— «µVhþÿÿ"¾VKßo…¶â)þѽÚQuk&÷&ßµuY×ê OhmXWâØðïÎÿVÚ]ì롸"ëþT‡"—-wBW€Û*O•uZWVØZ-h.mvÝÚS}jõTTqG*ÚSl@¬Í°[_¬]ó[Ó­h±Ýá^ ²¶mÿÜJT-¿Aó·ònuv8Üï‡XÇÖ¢{á…¶ßÞ×Ö`u}U«aÄ](XvTˆµF  ­ÌØ®Q„0×Áí«¨ë ·×vU¬ º‡ß·R7¡m`a„÷ÕýwàÕuÌa´ÄöUu;Àj {ø_°ØvnÃ`ü[‡w!º¶_ÿßóp¸Ïÿûó¿HòóûûTh+l¨wt{mX¸Fx‡p]Q‡u­v`ÒŽfDu-Ž­ý;ÿëQd­m±¯…¶ˆ¬úWˆÜVÞ ]Kî«<¡Ôi]ZÁ>ÿ¹XmÔawG?üûµß½‹ÿ1÷ûmì½_XÅŠàË…x1¡uTtbº ! ¡˜ïR¯íâcµ}·‡;TEúQë¬Ò-«(Q~‚›Ñ« ¤¡Ï²ª¯ kÛša†®]WË¶ÚÆµZJ¡Úí»ÔÝ_šüþmW»Ôj¡r«­Õ bº­4_ ÿ¨öf¬n¨-W/8)K³ZKlãv(EãºG«†°JX Ñ®‡³în(…ÈÝ‹ŠÁÔ*(m‡U(®È÷÷÷­± ®/’â½÷÷÷ÿŠ®YÝžÚÔm]i\aGuXâß…FEVØMh#²êØð¿ó†Þ]ůTôk]K˜\¡»Xn«<þÿ#[aùÿVH+ˆ÷6ûÁuE-0µöJZÖ8¶ÒÿðªE»ÕÖ ãˆ¡¢‚GWñOŽzÇj"ª`PÈ‚` .®![ï(ݾE¶J+PWˆu¿êuÇô<ì0Ýî2ÄÍí,Áº¸Ç?ßK­õ Ê×8E q»ŠÛ‚"ÑR(²{ Gú–Úˆ­ò Œ€kjÇvþÒK{õw Oó ¸QŽR”íz* ¨[Re°"êou­‚Ò»zxkÐZ·µÖÊÍ„b±l®Ž®®ßv¬!¢bxhÛ7ÿEµ3ÄC±â߇ ]Sô×at¸è¶]cõ†]-{ÕuQ(x­Õk”²fÖ¬„öùBüª½…¡X…}Uy[]MmX• ‚ÕÖ{;À*Šb˜æÀýkVºX5ŠQw]ïõ•Eg×úÝu]koWiVšUYeÖWÚVY…ejW§‘K_[YJ™Y][eV±i]Ù«©¦u•bêY¥Š¥öª¦j©©¢«ž‚*ÙV¥eš¦e®¡ý [”ñe¥]aïVCp~6@Å™¦hföŠ™¥¦šjª©–Z•Ôæª]ªwxmÛµZªíVa¢•šjYÖY™½[¥[UÜÙÕUWWYÝ¡Eøñ §Zu_Õ·]´Ñð|W8Àæ<²Žˆ¶ê*+ºŠ]¨…„(Ö_¸Š¬®¨õÚî®*Bʪ®¨Xï¢j…° k«ÿ!t(\–’éÚü{µŒÆ¿ŠµÃ‹ŠŸhjÈѱ.PíHa­¥îÞ4p‡M¯º¦ÆíðöB­ -Š‹r´¢)ú¦«I E]ØðÒŵUEÅ{µñ5¯FUÔ[µ{ú×üêð6¿wa¨Ê¡Ø§Ñï0"È0 @»Û³pôþÿþÇðͽ=+%û\å?Ë® H踎Ð*zDØ4ªÛGQ½Ø·ØÈKUomD¶X¬kèZ…á¡r¿BoÈT«WZV†Š€Å.üDZV]c¶ºíÏlZ-Wàâ|è©«Ñ*ÑŠu(ÍÆÝv!„²T/b„[ÕVÞ<Æí¡*HÑ*¡*Eµ^õÔµ_±Ü¡W¡Â­®ªÒÔDuüUJ-à©/QQß«ô¨¨«Ìª¾Xñ( ¬Õ«matÑ‚@ÅÕÞÇ¡^D"œêmµlÕVEE«øŠ…« †‚Úè« ‚V¥šv‹}(Jª!ZêÖjó`x¤†mkò<„í?¼þ *¬`ô£Ö}¼âîXÒJ©*šªvÚº¢â§jX‡iØßQh¸­Q§ªº¥J‹b¨z¶aow6UÛ®WÔªfßA_aÛNçï!jÄL]FœÜ…¨a픦MÛ—µ^¨!Ò""m¸¹"Šq-ì>É}‘y¨¨ÝŠ€aø€ Ò­¯´¿ùÝ-Ü0`ÛB Ê4&Öq»ð1 jÊ‹¸ˆv1»UºF-;Gùü×7}¶ó­Næ±áÖ˄Ȼ†ž.ڵÚ*é¶h ÊZ¿ŠŸHa­Ñ‹ŠíÝ.R<ºëÁ0@6‚º·ãù‹5жh(Ê–ËšEžh.Aˆ\]X«{À¸ÛºHä‹*‚ >ÉDªмôÊÄ3s;ߪKÍ üﺰÌÑÏ@Ç ìØò;Ðì 5*+ÉêO «ÆîÀâÂÂÂâQ{¯[Þ!ë{¨{½Õm×´ê_…ˆ]wêDÝוy®Þ+|¨¡U}W_aat•U¸]_«ô¥vÝ î±ZW_ØÝ®[ –vi‡ARGê.[P­%nmÝß f]µ¥¦B\‰Ø mµ¦j¨Í¡P/ŒGX?ÿ÷5·` »èjcƒÀî´h„ˆð„ÜD8ÒWø²ßT¨­Ä½½Šß^è@…{õ]¢¢rj€ÖU\ª W  Eu…üYh•ij]¹ Ëh\¬ãn‡* u#QMyÔ¬†ˆTÐÿíá“,z„âRAY»/ü~½0(®}CÂ=¿1Ë1ÏÿÄ jTÃ7x€¸ÕUkÕÛwÅ]QíÖz´WaXVm)]ÕVT]u]o_}]v‡âUQÔZ·gE„ø½VÔÐ…"pž9Êüð5¤€ÃumðÜè!¶‰wwq·¶ØüO¾‹~¶÷mýÝõ{wqww·u{w¿ýwPìÜÝy]wW÷u]íÝnxXx_E{{u{üÈÖõ½V¡ÈjTZ„¶ªRÇ}¡W—]öÝVÇ5¶ˆŠÖ*—]}‡m­zWˆ*ì_ˈu90]0øa«vØX]ÛvÍjûÕ¢õÛ²uµ·è­TWØ\wQÝqEr}·W}\XV}ÑF+áÚ^ju[QÕWLÕÑÖj±×óS]÷õ‡Rèý]‚F[@'!ú­EUÜ"[X£ÚÏqaûU«AxW83­ºÚ²*½XhJ\Ñ5+¶²umQý‹At+jµTÁÕQâZtQ‚|Ýj«¸¡Tȶªh-؆¢¼JD@âR("lìDÞˆU(@ÛHÆDDu‡v¢‡T·h¥aص*ñEŒ0WveE¨…]u+"""0UPmßÚµw¹¬‘ÂF@Et;¡aUWQÅ#«¥Õ^(¹p—" H¨_õNkA]¡˜aŠíS…AUØÊ„WE½„uK‘µGDuUF\WETQmÑD†×·DôDµq¿DQJUHDG«Q„ZDtµ6Ñ]m‘¥U]t,-‘{¡DUzDgW¶Nw|„¹„·@W8I¡u>`!^…R$¨ÝU]][WÙV­tq0ÕÏu·«"e¨lØ~Uh½vZUØÚV¡CWT×ñZøW‘|Û•š… TW—©­JWhŠ*.V¢`«”¢¢(¢-!‘)(©ˆ†**º""Ñ¡¨ˆ(!Š"%’"Q¡*"Q"˜h„Ô¥Š™¨ª‰UâÚab¦™Vj•ˆµª]™ÕU–Tוÿ\n&§©‘Îw–V„Õu]Xa„”–µ™ªgFVe©T‰Y¬TQVT™øneR‚\R•…®V5vnUÈ:¨Veª}ŸæTQUZJkÕh¶ ˆ¥v­êªfj¦Zæ[§‡’tnÐ.øØŠË•j •i¿^Úªnªâ×.|!e…®ª„–ׯW⪫šÞ5ÚáU€:Yk·W¥Rvb˜®Dˆ­‡ìгhK½G…ÑT[u[”ºp[«­z7\™»Z×¶‡B­Ý(*¢V!VAXHÝW«âq×¢Ö÷„4-^hkꪾ¨öE_q5¶KˆØïÛb‹®ªG´.‹lØÚUªŠŒ¨ªÏj †ý¡ê„׬н¶ê±¨{ØCG­*º†ÕŠ„ßýnüáë-oJ -¦Šª¦-ª©GŽ¢‡oÛk(­.ýÇß„H+€ˆß†õUˆèU`hµX‡­¡U¿záfk‡èªºµ+öþw} `÷èj¨‚Õ‹-V®÷E¬n±¹†­ØUˆZa—è-ûŽ…ýÚ(¨õº­ˆ"{û­Š £ «­8+®ÿw^¿âáÒªk=ñÒûn»ÕöÔpw‹.6!틪„ôË~ýk·íïèW«Ò®*jWÛÖªUWwº"Y[=ri†!F×Qlû¥ÝVôX­èhÕÕl}jUTc·B(`µxÅ2è­B+Òª¸óóKݼö¨ˆÑÔ–¡¼Hµ*_íUˆßÝ]ÝÀÐ)ß½~ë§wÿu×!Š‚¯ýºÖâ_«†uUQè­V½ê­ ¨l.AAª+©[¢D<ᬺE×-âÖÆ¬†aÈuݱ…ºEB]+5vH‡º¡ÅÚ³âµÕB¡®ŠªVUJÅc¸vX£«k±º6pxÛë‚jÊ +*C­ÑWݶXõЍFq­!bAÕnMž R ÓLUDQŸ-^Örµ”Ô×Ú¨bÿB«!Ùg1V®ŠÊûT¶‡¹fÞZoRðÿm°6ŠW¢¾«½€«õ§ †"kkÒEmØÆe® ëJQWu…µšõ]»TmÇ…W]ñÚGÕZmDë]WüFÈßÅ `÷×öÕDOQ`ñõoàëj¼ãÌZ‡üzµ ‹[¨‡U½j÷®Q Šjƒh¦¢\aô«ø‰ö´½X£Uq7 j0á" ¦–šÀO€‹ÃF¿áÒ‘µÈQ‹Š–hj-±"Š¿HaÀcpíÝ<[{Üa¡¹Ž†"½Ó¡h‹¾ëb‹P©hˆ…·œQ¼ÑbÝÞº5ã.6#6hÊ2½Š¿h.Û‹‚»]x«6ËE{§ÀMˆ‹X‚N€êü‚rŒÈþ`¯Wè¡¡èn€‚¨ ªÒ·Zˆlâ!ù7*P+Šö JŒ¢¶*2SVûÖÖ}- µµj÷TuÐuÙµ)µ•VS âlú**bŠúÃà«àú©z:SW…¨¯Bˆ{XÑ[Š"‚ (¢­‚U(¡ªÏ¿ýaàj¸ ê!¶(u5k‡Q+Z¢º»‚Üw("‹Jˆ{WWÔ«ü pu«+»¨­ŽŠh´±š‚ÔÚ½²Z¨Z( †ë¼ÛåU?ZÄU´‹#*=Šx¡"ªkáˆ*‡R_Ђ­h«ªŠ¿j  ½ë"(Ö!®H"V ŠËª®*˜¨(‹Š˜QFhGªQíÚ‘àD}û­*‚‚Bw]•mwm=m­¶EÇÊõÝuUV¿£}xŠí [i¨ý»¨ œ¨Õ¯Ú{¨Ñà=öˆˆj„h+vG¢únØm™WôÚ,ËÏ»ýê¨[!†óÖÊØØª¶º¢Ój«Fu»j˜1¡cTµW‰¯úÖZÛÑn)·¨¢ZMÕ­Ö mt´†XuÆ_EUB¿{ƽ·kí…]Öì7ȵAÝW]‡kÕkÕß …PµÖÜ¿½Uo×_íW_awa[¿¢­ª5·zeˆŠ­¾ýÈ»ªB­Ê®W¥eÜblÒ<{ÒFk^½b¥Ö)¼ß¯q³´г+ª4gn¡âê`¸X¬¢£UÀ †¶Vë×d¸\…j/Ø*µ[ßÖ­N¯í]9*ìƒmv÷VXãÛne­b[«ÚV³îªb±÷(a¶u[­pSµ-µý·DÅ¡U‹ªóZ¿Ð«© h«ÝV¡5Ü…\¬ÚhÚõö×é¶{cKn˜ñ¶]·[ØsüÂxGmx(вØ"Z‡­>ˆªbŸŠˆ¢, (È¢((a¡-‚(‚hxë`x-èq»òØ®‹j퉒W}^׋3D´ãã‡{ÇÕÞwvE¨ÖVS‹±êV ×k‡WÄê_WÃðuw‡þh–¿÷Õ"< J_ê/Úˆª¹(ñQ³†ƒŠxAT¡²¢ÔÄÿBíQ¶ê†¨²ëÝÕ](ím?½ÿõ5Ê{ûwÝݸ?²Š«¨[…•V#üÇó³ <ÔÿxTM#ØÓ‚xP@Z¯v_D·† "Öµµ1`û¶Ú¯ÅªHØ ‡W¿«Ñ"UR ‡×.¢Hû@¸‚¨¡k«›Õ¡†|aô«®[;½è­l6¦Xëø^0ðXUÜÔWØh„kD!W-ö*Ú¢o¸Ø"Ô*º‚a­!gmt.ÒÅ@A¥°‚3PŒ×,+­nk¶I׸vÑ^X­aïÁW@;tïoPá]à=érý#DýßÚß~½-CTü¼5»-·ÔÞDØÝ.zÁ0iµ»Q [S½í´aloDVçÜÇÒ×õÝ{eÛ+PÄþfÛjSßÖPèh˜m]׎QíÃ[}»¶ÒÅ0Æ8«ßRûµrH[nüëP/ ¢£°wuô°¢¼°ÂÓLjïn£¼³?zÀ.¾ÛÁ±ñpµºáÚ†²œ½Ó¯¢4öjh¡úMüã"Uœëä®¢ÐØb¬ð >A\¿X¡´Ñ»"³¾[µ ¨„¸ÈÓ<;( €ÏÏò?üAŒ…¬/¸ö1øÖ¢Xk÷[4¯ŒâŠ­00À¶óâ‚|j¨·ò!µÞv .Úàîî>(@á­7"°3±ÆŠH¡r«Ðˆ-áêšö-Š(ÿ¢5&««"‡¢!ÚŠbŽ€­^· ¡Š¤¬k««æõÛØ¢ !_;¯Å’­Á×ô*†¢`\½A³]ŠJ±µª¯RhUÖ8µîÆÖ¯¶«£ïý[W;Z߯ØuaËÈlEu½¡²V¶thßÒGÇ]W»öËÕw«Öê!_W X‘^¿ë¸»â…ß/w­}-¿ÛöÑr*X«â£Rõcüµ+¡ê¶n»¢ÔîÏ*ª²Ýªò+Mûuc";xÜBE·½_ÕU¯ÌÈ"ØÍ ƒ-\¡FþZaÝØ ½Š® buµŠ6®ëø°¡H'¸…O·7»>’5ÙŒëíëV…„ÏñÞõŽuøꄽ,޲a¸¢R£…®ý~À®;|aÎÖঊ¼½ô«hÖjx¡øKMã"ÕÞðX‚ €ÖŽWØk¬kÜ¡ G/t(Ú¢Ú‹í*ì/ÆjpDÑFgHâdM‹Øo½6 ö+–u–§‡­+ö­µµ  {c Píê, j‹ü®ÀíÚmX.®¢i ðŠ®uÝ··ÅµílûÕê© –ˆjé*öoVmtˆ‚∡X(áÕ Öm]Ô uÓ×V¶2ÔZu[Ph#ê3² XDº£bo·¿P‘õðŽø!{4㯺üÏvuÎuuûï¿ÿO/ ÿ´{Tj¿Hˆwr§mªn°î~Àò]P—}¥Žmò„[Çt­ ÿ¿FdQl¢û³?ŽHеÔZhkÖ ¶ÊuE÷TX´]cÃÍxoaÓSLW×EKéW»Ä5uÿÿÿÿ¨|oýxG·Gÿÿ‹¬k*÷Ú…´Â†uèÑõYWàø*×uXETÚüMèFH¨ÿ¿Ã?ŽеÔûZhë‡u¸¡ËQ[bQî­-òŒîë3}oý÷Å?Ô¿1Ä=/êß¿ïÿû‹®ÝÚÔE]¥ÞaEס]‹¸\_»ûYc«´¡ÿ;"©kÀÿÎ!í÷Böûî[××õZ×b†Oh-6W€Û*¾µÿ°ETXóÞ!¨Ïa‹-6 ªö[…K=â„·È/2…E]Å×ÿÅ(QTû{-^¶NóÎÕ<«‚Ö ˜5ê¢ EÕW¿îªæníWkÔu, —TöUÝÒWÕUÔEÿVP¡¬5ÃFšëÚ‘jÊ迊–è×Zëȉ010UÜMµãUšëšh(ÂÙ7½Š¶è.–µŠ¦]XëȹE€b"ÝÞ_USW@uÑá‡}tGWWކŴEä¶Òý· Û«_u-ÑP¸Úýˆa¶]¡jk¸ºê{ñµu«íÝ«»®®UÇ¡¨ËÖ…Úhm6¶",FhX~‘E¿*m„´†®ºúGZ€Ç·¬ØP-.Vñ.ÛŠ¿‰ÖÑ¡«|8¶( -¡·þÏíýS1†:O?3/ú½ý(÷ìßîºvlºþŽ­¯¢-¸íp…Ó…âRŠrö`Ô{7X«AŒ‹±––ÀÀcÃF¿éÚµÊ‘È¡Š¶hjØ0éÈ‹×0ÀcUÜEY;^a¡¹®«†"ÂÙÓ©h‹Ø.Ö Ц]X«IÈ™Eˆ‹ty<¶ÃÀÀ>Š»µëÑ‹жh(Êû‘u`.Kˆ‹\+]X+!*²¼w? _2@ÑÒÒ[!>¢½.‚VŠ´êšÂÓú«…Ûm„~=tñ+ýbM;¡í.s@UÛŸ®¢íUV¿t¯l¯]m}bUÐ]©]]­1c·yDÝvä­Æ.wöI¨ÑnÞîá®oÅ^{ض¢("ÒŠ£‰!8‹JIµ‚ˆhȈ¢¢¢¢+®" ""°" Ò²Š+(H…¬«ÈÈ‹ÄÊ’Ì À€„ „Æ÷~»Ú®¸m€N¼«GEÌ ½SLÑ7 ¿TüA*·÷‚ì ÏGÌÌlvÀ nÇÆß O@³þÞÇ*ÒÂws€ °â´ÄŠH°Í ÛQ(3ÜŽƒMC` V€2ƒÀ{±ƒ€cGÖ Úb®Z ¡!Wý*| …µG-ú*wÓ̺@ĺFnL€­¯¢-íp¡M­¢+úŠpöBfÑF†‹­r"]ÞÖjâÈL€€€À €1_?`;ø´2`H4aô«H‘;\½X¡ô ¢¼=2UÜ ç^•ú´êà5õ L¾=¿B«S‡°Ë‡ºèoÈ.jų´q¯(ê¬á.HîåŠQì&JÄ*ˆ®M`‹HéiþF”‡bGòv¨¢b¡ (ýÒ¤ÕL² ìÅÖµÐ.TkHò"a ¬"*¢h¡.àÀA´ª`Y;\/*þ„¢\ĸHu"…½:À Þ 0fíz‡µîº¦ŠröM¯¢-Ú†‹Åbà ÖúrnÑF b ÕÖ€O¿ PE„¬("+"„L²zk. *¡{Ô€Ú¢íQ,*V+¶i·FÈ­-Ɔ\ñ¦-#ûªgí_µG\u9F»ˆ-Vتâ®" µÇZëÖmû*ŽõݶáµÕ%jo„já×þ®ko‡PˆÊJb-¶Ùû×¢Z¡ ¯ä:Ò¸k(QãEŒ >ro]‡¢Š¸q#öÕ*MWë¶×T¨X÷zÊ®ŠtZ¶à‚evÝ.þo]‹¤xgÒßÿÿâ†ë.·G…¶öQ×êwÚÑuXwÂGß·”EÖØ*Mh;ÿãˆÚðÿüc!¬w¤þÑîrQQWr×Rïʺ‹Öâ¶u·ô‡E™•öQJª«Ô_ßÄêª!uXa6±†ŠÒŽÖªÿÞúŠ[ˆ_k„²µˆ•l|ÔÝj*¯\ ˆB½¾çÜJ.äêyµÕ⪫j:®Ü®ÆâÚöb´ÚZ¿Õ~í5Ýý¨Ø¢Ší³c¬?Ô´ÆïO€Qó„áRì¶…ŠZ¬ø!V.„ Þ¸ˆ ‡ŒKE ÈùhØÓ-(Š¡¨«ûl»üJÿb[h‹"Š_hû‚z» z¬ŠXÈ/*;J¨a;"h!®éµ¡µ‚Újˆ‹"ícÒ"j­”«¨ñ-‚º –6» ßÖŠV†¢."o±^hT.‚!J†ˆ¬ëúˆJl¨®+¶!Ñmw1v¾ÅÊv£ Õ ­m«£ê*ªÛ+@€¨°k¿Ýw­êb¯Z¶/¡º†Vˆ6Zë(¢­Ø¡*Šª†6a*UˆÕ£[±!kÛj¯…êBµ (!Ã*F¡µa­bc ÛAüjn¡­+J*Z­ö®kµlþ*Šâ/®í®¢uV…Õ¡t[·u•Õ¢¶-Zf‹m…«ZQ(¯˜amŠ-•Hj×Ñ^m¹ÖÕuF]_bݨÅݲ–µ&wŸG}—eÔ·Õv+ÇRÛ}ܪ&ºª -ìâZTjZ챊ÚÖþ^Üc«,]µêë¡úóH«(Šê§¨-,(ì W·Q¾{üZ¤õBM» Û½Ömua‹®hW"ÓV5vkˆ¢(ª"}[[í Ôïøúññ´Õ­]ññññùûÉñü¿x·ñña@n’í^AÑnDí{…îº-ºŠò…å¯â-Ú†KöâàÆÖâÅòFÑÒƒâ"ÕF¸ ¢ø®Ý @W†µ"…°È¶¥Ud¸½ØVQ„7¾†VT‡B…†Z`k-·Þµ‚¡FE †bWØuÚá·*ök%Kuþ×·V½x]‡ô¥¬a¬vèÛ³Z}]÷>ŒèK @°ja—²Ø!‚ßjì‹ òà/Ú-êÒ­¨ˆ„ÈbkÔž¼…¬ÅÊZ‡‹­XÅ`»jqOÔ·!öVÚ¡ôõè z†DôÄÂôþõÔÆõñ€üËðTˆ-ï¿H¨Oþûh#n¸÷vóZíXtìrŒ]Q‡u| ~„n,EŽ­Rÿ¿ŽÈüÚüÿVhëŠw4ûËuÅеÚÊ#‹Öá¶íðnÿE»µÖ¾¶ÉۂϯíS«ð½mx›ÐÓðþ.‚Üü!\‡ì±@^IJ-#<À;/õ??ý;¿ÿá½ã~¶„´Š1ó?ë({»o…¡ê¯XŽzn‹ª-Òkˆ¸éa”®w%^Ë¢ (!n…¶´¨+¨v‹Ö¸!Þ¢¶!V¨îê««ˆâ¶º†ÖªÖ¬ºººˆ®qÈQ¢j/ ¢+¶ên‡«Šëªí`U…üq;÷C˜‚UxÚVÛŠÞ×]¨£é»¨âÕî]«]œkëVQuõ]¨yTåñ Š5Zá­µîЇžP·¯Å…_‡êµ.x¨Zª£ªÀÞºÚå]ôQqÑ+ÿV<Ýa.¼üµ5ÑVTEh—·D+ÏÚ*UqX!Û**²ÈŠQ†jšÕÊ·‡è¨o]·­ÕÎÖÖVµV ­`cµ}­†ºÊõˆÒ§šÖÞ­åj:¯[‹_¨U­‹\½nÖU®kqÔ½U_úuqÕUhõö*º¨†×ÞÕMmˆÝ—ƒÐ+!ôô†"Ç…»¸Ökõ}÷ІˆŠËµ*U¶úÝ¿¡Kß-‡H§†1sá‡Ç]q}*¶šáÚÔoF½Š¶‘µÃ5‹>ŠŸèêÊѱ.Pe@a¯Å<¶Ý4Ã6½ëúÂÑ µŠ¶h(.¶H¹Š¦è«Iˆ‰E]XÔ_t{!bºVõTíúЍ ƒˆÄ¶tļWº¾W-†Rˆ* *䪺ª†czX†våUQ_»´õeß­´èµÖ÷Û¦]]£Í–²E­«Ë›µ†Úº­aßjŠÒÑW‚Ê*+_WWWX·õU¶î…­†IÇu·è_Ç{ ZxëjáÚ¡Þl߈(R‹ëêÞ^íÆß ¿ˆ ×^{©ªp\•¿ÎÍ õ†Ý(}µôXÖP…‚~½ˆú?×¶!°êζM¡¯c‚þÚÚˆºTm±ªÝê¯}„m‡b‡U]SÛUœªñk­¯H­wÿ^g×T¡`_/}€âö¦Ž ¢˜ìOEXªn˜¨Æ"Þ"ªø¦·Ö…‚qgQ¯®êTc-ªbÐ^§—¡m£îêÜ[J‰·]•+UÛVèÛ¾—¨„ß~—n·ý†.j|T…pÛ*ªëîªB޶zûõ. «‡vµ*ýÍ×7ýs`aPÝGL%TUÄõFwWQõÑÔUDµÿm¨ïq»,¾­· ‡vèüÖ‚þÝ[½ÂêÖT Un¨–ÖŠ¢¦Žh êj¨þ—¸wUuj°Õz[Ç…—VŠaXÖjDèVÈj…ŠVÝ*±k«…ˆZ$»ÎÞˆV¡-Uĺ҆å…b*W[×ö h‘†N\ªZ¡ BëJ!÷ ;V+ø‹ ›û(wE-õ-Z‹‚þíwÿ«¯XÌ@ÈŠ­V§×Vˆ¶òJþž†¢­UõUFU¹U¯µí·UU±?}‚*Xh½v¡ýïŸ,ßv— çˆÄsÄVáØ+@ˆß»†UÕÝ­…úÿ®o¼ÖŠÄåýC'؆íUµ…[ŒqÖÝþ;„mþ>bÓ׊ÿE‡îU@µÕÖµØ>aEU[»EE}{µÝuµD¹ÅÅ(̪Hþ\ ~õGbê^+ º¸¨¢](èV!a„®nUQ–¨V··•Xq *¨¯·eµWkVצعH}mµV"ÊS(º\„K[[ºí ¶uèb…·‘u¸Ê!«aÖa[ÅÑ‚Ña¬C¸µí„«»ŠŠâŠz*…Z[»všm Z«îcø8_«&µW\­úKZr_ÞåQwm˜¸‚ªmjšÍ’{x±¥Vë]º÷môkuýa¡-4TW½z¼W {iÆW†JŸÉô‡‹i†JáX•ÊYÔºXG¿dÌ^…UW­µêQµ¨ÆNb¼nÛ¢m~ØjôU«Ýv]íW{eým·kÓpm®+a+·+²ª+©ì¦Xh#ÅʪéÚÚªZ‹XìTn¨ /µŠvt«-÷µ5v³Ýêýy]G(Ò©Wq·âµ×Ñå2 òÚ¡øU»µÚ·¬õ•q…‡¶ëâ}õïWŒTѶ©kU«_Š}W]ÊÚmÑ~¿0ô¶º¡¿­„­lA_‚}Ý=ºÛáÏm«ë²ÊŠ-*Âhõ].”[Wµ  ª‹¡{ÕXÓm1ƒ`VÜ­„¸†ÚR#®‹Ýí³¨­‚FAhùÕªî!®®Ž¢|`mX±JêŠZò~ȨcÔnƒõa…WØ·õ·}.®£Új°âÖÑí¦ªî¡ÖýŨàUËjçv"ÂZ­•ûõàiáP„Ü®{+ßá«ß®º­ªmmK¯o¸¢JµÝm±µK¿ªõ÷ôZWý^Èz÷üꡨ±[UX­¾íµhµ(}OÝâXiÕ¨këZ눅zû»om¡º¸Vû}¶ò…ØŠ¨I……XUÛFm|kŠTÛ¢º…m Ò·µõ†îU:u\U¡–µQì/übi˜q˜ØÖµIíVuEªVj.íY}µ©…z¾Ú!êkÚmE¬R†[+¾ÕE‰E®ºb´´´Úk+ ®Ò¥ZEþÄšÕzkíËòv[EÖµ¢­¶µ½…ê…Z­†ôÚª(Tî‚,jX{µÙ§¨v·â­Rÿ?Êók誮½¯Š«ÝÖ]¡¶­Å¨u­*íU]W<±ðõ;_XuE " ¡[oÝ‹¢‚TaØ+ ¡¨)Ö]«µ@lUVªXøT]eñUUV´²´-…eU[h[Þ¦ø³µ† +ºªK»k­[Ö‡z´hȪµØE­X¥Ô­r¡GÅWwÔÒEªi­•‘FG©Z´X)g¨]ikmµõu]lh_UommXèʵba߇î.Õjzmöm_ÑÂMݲG¨ïϬÒ,¥J³ÈÈãmøm¸N·åUTäv­XµG[„zv^tîwmQýQQÔwtWQ,¾MÞÖ½{aqתÛJ± ˆ…{WmWÄ!¦†W]¡czÝ®v!vߪ"ª…€«Öü¡ÒR±¡õ-ͬ-·b+_ñGQqˆU:B«Zº¯-í]‹]TMcÑSKÑÔÞ5HµhZ¬ ¡±àKÇV¡_ºë¢.{—UÛhýº¡­J£ÑÝÕ·Y‹’뢈*³Õ‹µ†Õ:j(qøµ­!Vˆªض××vûêª!jըⶻàªÞâ°‡¶Æ"éT¡Ô+F­h¼ªæUHÝRmµzi…NTÞk7=^U<.¨–ccÜ…ŠªÍÕŠ *"¢¸¨µŠ*Øb›èkS‡b–ŠÖž¢íÊ-Ñ^· º¸«·DZ‰¢vUˆQXmÝb,X-‹êª†‚­ü­  E°U¬ŠWV¨õµU¡íVˆbUQaÑV]u„]¡ØÆ¢(QWaÛÕ…¡!‹ÔavVkn¡Ûºq–«Ë²)«[Maêm(NaU[ ´e[qй(Q«Y(ضf+ö¡áîJYV«k`ØV(º¶ÈVºÑµëÖÙÅ^¡çÙÕ^ˆJ»ô`„ˆ¶V«­Vj—íV+ªØ¶_k£´ø[!¾kÛh¡ª*ªø ¢l-VµFƒº"®!®¶(Õa¾ª…€N뢊 (®Õr¢[«Â­Ý¡»¨¢¢*ºh‚­ÊºjUjˆ–ÁÀvÕíãw½pìâ«{Õ뫪­Rh—qÁVô­bÃêD‹ ÌꪆÓ«®¶wá]b;ê¶^k_9ÕR­Ñê:ßî…UÆe\¨¶+¬¿°ì´×k¿¨¶n¡êáR7uª»á·p!@CmÝíÞÙE!\‡*è+TµÕ vÕíRºª‡KÇ^Aµaû®(Ò_µmݰƊ¢*ª¨…BEºq`ªKM…†b«­\ˆ*(‚Z©t)²E¨Þ‡‚Å­"£h¯}ÿB«"Õp[k­º-†¨`+ê­e×§ª‡X5j›ˆâpÚjqJUºVih¥´Ù^[uÕZ]&l•ziV`u[©TB–U ®©X2%ԷשV†*˜¶ •eƒZiûesfmqvÔUVÛ­ZJj¸e)Z )•bR„ª«¢êíõ·j®1)ž­¨•¢š*ª‰ˆÖŠ *¨«â»kø©¨¨bÛ*©{už)j­©Þª«j ¶‰ª@' ˆ_…wQ€è šÚ¶"²ŠÚ¦ª­.ªÞ€jiiª´¨«j¼«º(©¦šVˆ¦Òm*NhŠš¨*É[¶Š¥ê®Q—îÞaYVÑ*²²°†• ±V©º*ʦ[VE˜i§éazj:Rzª©˜j´š€Z&š‹i†”R¦i†UK§cljºöiMUj¡ifM]aö‰e™*µA“YÕ–+ØfTBš§gQº˜Ûk†Ô¢ˆžª@‹Fš¡§Š !…f ( "ˆŒ-!«R b¢‚!ŠˆèW"ªâv/Šˆª)JH‹bƒ®* ¬hÈ®ÈÆ(@[(®ª‹::ãû-ÖÚüó?ßßÿýÿüþ‹?=ÿó¾ÚФøg÷iGÔ¬Yܘ|÷Öe]¥«<¡±a_cÃÏïüY[kßž#’Jõ(Úz't€Û*OUZWVZ8:è.m@-Þ!ã}#»%¨aŦ ~õÞЭZ¾b«ŠDü†°ý_Ȉˆ†Š(‚‚Ð:(ªl¨¢‚F¡T÷m­¶¶.¸—’u[m…ú¡U”Q'ñ[ý;…m‡!­è¢ÄQ,j¶¶¡AY(¶A+ÆN(–ªõÇ‹¨X[[¢¾*ŠJ«ê­¯„ö#®a½Xmh-樰­¡½[×F&ê ŠYØäFa©×VœXaWmV­n«ÝÖ·½mKVëÜ[Ø¢íb…E¶-¦V+Eu§ZZ«jÔÔÚªh­(žë…{‹¢¡-麺9®M袢ÕFÍ[ —J]š#Ë[Q­vú¨yßgÔºÕ®j»¨í_í÷ UQQ+À0Õ–®QÀîÚ]«mz¸í"·¸—`¨T£ýÿ:ªH|ÚßN…`_/4(hÑñ}jÔ†ªØQ[¼{q…Fï2ñazÆññµè‚"mãí_nHÛ‡ºà®Ê±(B¢"º®Š²‚#Ü F°–®ê>Ë ´va¨à*ôâ·Ww­mñUlv[·jRGÝþ‘[¡!·JmÕ´uaawmua–EÐÞ°ØB E5¼ü<†.Ú+õþqõÕZT‡s‚x1vâÕ¢¯¨ªÕÕ¢·}P¤!À… ø·bH[¿Êíª¡Wß|ÀªG[¨mëÆ¸kÕýj†Õ á ÖV«…TXÕ­‚ wuÀY öwÕph³õu] +ú¯¨¶†¡› "¨‚X…ÅU€¢¬ˆ]¢Úöü××m»*Õ.­¨Ñ¾¨F!úЦhXk±¡BlDe…®Y"v­í].ϯ†ØšÕqm˺„ò¥áÔ´+EadFÑqGl‘ D~ÕPô QUmDDå]D›÷UDZQ£µØGÍF‡±iµ‘®¡µVDW¡\oÝA!aÕZ- µÚÛŠµ µ6⬋Ö]_Áj°êÈ«†½^½¶ "œåBÔ¸îµÆ…Q:„ J¢¨«êÖ®WëU;WƒjJ…]¡#!®Š¢-…†­ÊØ^W:«¢@háUøbƒѨ¶ÝaŠŽŠÖW#‰Wȶ.jA¨„t¶ò­VĺÚZÄà õ±ø¾¨"¨w ÊU´ha¨©è}xajHg|}:/ô^·Ø®¡íq_hDØ- 8V¼ ®º±ag¬HjÊjD¡®¢5(®ˆUÁ]º…† ê J®ªaTÔ»…¬±„ʺ- ¦«àJ…JXµaa'†½¹HQ_„F¡hX–­¾Z«…EEˆt|}[¸ª¡ZT]Úõ]ÊqÒlwKÝ]Q]WX×Mˆw|ßÅ×…Â7B]ßÑ·uEgTj!kV¡ïXŒc‘¯E‡Ž"¹'˜²hŠX)‘Æb«Û†Uh´a^¨o‡¤×VQUˆa|¨¡kÅUA¼nµ`ÜuMÕ]E¬U j¸M¡EØ…Z^ØõŠJزS…xæè¾Šûª¾ªª ­4.Zê'ÿ.U[hhG-VmXT‹;ÊFèÈxñߢ®h„à¨Æ¢„ 꺙*«}¤ˆR¨–êµ+ŠkˆtK‹Z[s´Åþ÷îG ý¨dÀn…B-Ú…ëŠúµð!F¸K‘m„«yí+Þ­nÕ`T­‚vØÖìzU{ Óqqh ˆ¢¨Qµ,ÚÑEÓuú£lН±T…ÛuˆEßj×7bÕm¡¨Š­­RT».z¸W(lGÝJ!ë®í¢¢Úº/*QƒÕRÛVÔ*UñÛ¡»¯‚j·XÝB@ý×V­E……zÍ^ÝT[TUµêJ_ÖEè©jPø¥3—ÖZ«tð6HØÕø½u]V…jE•”†îKKÖ­Z¡Š…ºêŠjj*,º»_`'öª!W´jª¨È¨ V„v…¢Z[AeØ×µ¶•X«(!…kÛ¢Ú®«Ž¨¡´û‹Ö÷…Z¡ ®ˆµmXƒØ»øÜ˜°ý}¨´š¯ÛZm í^„*¨­êj †Zç «¢²Ù*¬µ¢š"‹¨«„Ö¾vÁNZ(´†*!*¡­…t{k´ª‚Má _chè!Ø¡ˆ°À†Þªhª!´Š"¨N~§ºm„…‡ÚÖ¸Uv+h«-ÖÛ{k­vÔz€Zöm×½`_•JmõV}øõÀ±và®»Þ¨Öš/ÊZt¡m_×h·Õ{õE!!+¶aUW µ®}ÚFJá-€=‡DÛ(†öjâa¬ŠG¬+’J…¡*q~WkhV+ì=*Џh*­*(‚(½GEaa¡u JJ ª¢‹B”€¡‹ ®@Ìæ¨êînj¶­^uE(««ºõEG”uµµÖmTˆTÔ‚ÕªW-€UW÷Õ_t«º]®s<‡ü*:H[¨XMX_»{½~­ÝÆo»uøøüX* ÇøßqÀ0a2¨?,(¡-N!Vo-…‹ûÝEÅ-ZB•‡}WtWƒ({[† ªëZ ìuv]c[£{á}¡­*ˆxm‹„x.õJÄVM†íÖE[GPáì.òmM¡$z›Â„¢Å¢]·°¶Ö ^Œ£[­ÿ¶µ}záq°‡YùQ[HKw¨G€uÐWªu¨w¿èÍuØŒ_)_·b±‚Xu]%„\ü_q° {ˆ]G‡øv+((ª€¬h¤MwâÈ.¨jJ×[d¡¨Ih¨¨Bkˆýæ@[ahTZ¨†º´(¢ê(Òꊅ«ºÂxû Šˆ¶Ì– œH.r ´¾²i6X…{(|RKkºÛ©¶Çc‡{*«ö!쳇ઢ«]·¢lm[\µuh¨E¸wTѵˆ ¡…UØ)«Š"!º²…(W/Úÿr~ÑØ½mñÖõµà ·«à¶AMÝÅñM„(ˆ ÷Ž¿=Ý„^EMEÑGuÈú«}Ô_K+ÝMÔ¢ë¯õ­ Z«ÂjÕt¹ý†Î¦Ø¯à"±YkÛU£]Eek XZa>ÇâÚÖ÷nÞuüµ­¨©T_H¢¶è¢Ro}•bêŠuÍuTA¡xѸUZØ¡\]–Q]L¡­‚]€4ZˆA«~‹öû\„⮈±¨z÷‚Ö¸W Å^!Tm}STjÍmÿ·ÿAÜw"+ÞYû¿ÿÿ¸ášEáQ¡­ÝÖú½v´A%Ž­òÁ‡ud- ÿ„FÅQ¤úG±;ßãˆC×R‡¯…µÞXW€Û,µuÅVZ*OH.z=ܶýßT«‚»ÑJÚ(ØâTÕ] ‡2Å‹.· .UÊH!Ï€ªkݱ h7Ø«T—ܨíÛ÷!~h¸ºNÝ8¢«á^®d»Z!ºC T Õ×ö÷^‡}µöÙ¢X( ük?wT5 ®[²…VX»„»5V‡µ[‡Xm7ÝF‡jÝa¬Z7]ó­ðÁU ­°»7Xo{;7x…<;»©}µÖPw]W#J¦wÒWá¡v7¥u$]Ö–·mU/ÝuE³…¶B¨òa]=vµjÞEUnÕÇJ¤°¬DØàwh¸Ö‚µÕµb!aÐûØnÞÏ×ÛÕ-Üü«ÿê4‹²Ð!v ¸}HÀ ÀÎ×~=ü`íkŒï £Aû<Åü¢à<(êµÔõ?„u} Úi­YQWàqsØôFV·{òƒV#Rß‘;Á¥zׇÝ]_»‡†`ÁF4W*mÕ¥Mw…ßE·vÜ××·w»ÿª_……ÅõÝ4Úo5rw\DEÚ]«.ÿÿÿ€Ø7G{Q©„Õï(GØÑâ„Kj.׆uR×4¶J“uX×µöüÿ»E¡¤úG±;ÿëˆ ½‹o…ºÞa}n\VôX´Yi+”¡»ƒ!]í=Ý_Ç êqõ´ÆX Ý þ·b![ûîJ.·k P­x½þu+=Ô‹0 SÜ ´*ð¤¢3ØæX•ÑHÅû­¼À‚GÇ"…´@ÿ6°E øGû¾ÿ‹¤¬¹ÜašŠ}©¸GÔe]sëü×Öa4[aÃ4 ±AH¨¿ó?Ž½ÐµÔûzhë½Öà¡ËEe‹E½¶ÊY?èÐ2Ü´@ô-@zR8(x(â…7ÏÔ×m?T¸vlí²«¥f¢%šp‡Ñ¯r"͵r$r(wÓ6ĺ@…îºLD…M¯¢®fíxæB¥ -а²fÑ!ö†«â"ÝFÖêÞ‡þܲ_ëWÔýÍûímóV°@Eû¿#¤h½ñÍGÀ øÛ¿¼v38¬,ö÷oÑû¸l­0=l;;¿1á,6€ý°O üàNß}]vu7Þ°HÅ6@SÐØ´ZíWVõÁzÓÆEX‹ýíwá ý¨7pu9wTÇËÖWZb¤k¢«)Gý*êRXkA¢‡â7 ÀŒ Tq®[;Àc¡±h‹†"^aÛ¡¢o˜œ½Ð*mta«X cï0À!.ÒÀÕåô 0rìµl¿ˆZÅEQ¢ÝÅÚGTt·qxYa¶µÂRüµ±‡«Ñß"]Ý]Q_=Ýw}÷#Xñ±q}ÀOV}*E=õÃÛz¯X_-kU FÝ·õÇøN÷UÒFÿQˆÄï,¸µÆÒ·rÔâÂÚŒ£ÛAº¸°·‹ ªa—ÿ_ÚÔßÔˆÄåå‘^ÌÕW öLmTáíÝ–¡Õ„VµÓ.Ø«}*!;S‹…në ÖhpµÑ¯¸tírÔ¢¯¢%ººKA¬â'RXÀðXTy7 ÖWØè®kd¡o/ô*Ú¢o¸X T(º¢…µºDo¿Ñ¸H·w£-vHÒUZ!Ò¬íox]«­ð"Híz…jõ Å]u»qÝU­Þ?®¿í5 [}}}Ja-5Ý]_Zɇj·­€W¡ýQ]íÕ*Õ†mÐŽ`µ¯¢ ¶ˆ]Ô×îèì¡xm£È Š„h¡»OM…&¶F‚nN¬*ŠQhk¡:¦!ÆEZ²¥Å‹@¢P*‚ZÝ ¡,(ú ´(†´VxQjhP`zó½Ä¶+þZ€¶xv÷! ‹uè‡Sø >SEuáÖa´ƒ×ZRÈê¡Õr· Zë „Ž,ΡWâ[\-EzýPuÝ»´êbötuZÂôµ 䆋 ÓÊ‘µÃšéÚh"êF¿ ¶×Úè¡È‹MëUÜðØê®LWØô*kDÔŽo/Ô*Ú¡±X Ç:¢o¸&!*Òmta­Å´[èó´ g#-¡@R5­*ü^m`ŽAÑ ¢8èjܪH`FÑÝ]À…h}!ó6\ðÍ («×"„Žm†ü«O[‡zA¡ê´½î6M1[ÌÓ5Eõ+S-ÕÔ×ŠŽ´hô»ÄDÇôXAºT^X „„ç•„BWa„ìZë,¬zˆ"b¢Ö¾°£Ü|c"B¡‹È²È_õ îìäìNĨ‚È|lÌ?.ÿ¿HøÞÿ¿¿ÚЬïÿ¾Ôe]›ÜéG×Ö¡]«˜|¡±Q‰c«<ó?ŽÈQAÿz¨ë½ªûÏmmÝÐԡʉ5à¦ÿÿÿÿE•Æg÷Ç…ÿ‹„z"ÆÚQ¶â†«j$ׄõR×à˜HuXW?ÿïˆì­ ßo6Þ qï±²ÜßÔ ]¨׿xkHüu·,tÜq ûÌïõµ¬@­þOw­ 0£üv]}Íø½Í=µô/,Xß”ózÚ¼õSmW‹4]û±ìVÄmv­Ý~u{…ß ã€(+l€ë¡…Ð ½ëÓÚîRtÑOÜÝp¯†?#Í·´ÊO/1ï î2‹ÛÁäµG„¬pÂë÷[Ñu}@NáxmUä}ù²\õ5WÀ€¥ÐÞªö5 F/€vp|·õ»x«ìU®J»ÅשTë-ìü00H¼k%08°€Õ¿´ˆ¶Ú}«€ƒ}tÄÇG=ª@ƒ~¨ R窪f¨š¼!šó¦ÚS®Š¬tìÈêª=µàò!fkk*¦Ýg´áUˆá·¥éYdx¦˜e[…­bÙYYZZ¡”gYª¢\WköE_ŠØ£8 ûý|ÓC)øµ„?ð€]¶àEšµUV_)ÿ»^ÌœhWµí𒵬2êƒ àþË>,´íO{ý¿è¨} äÔU{Ê?]Ü}kÍEßDqìžÕú€Ø÷°v–á[÷µW[7ý<ÀoÅÙÅ¿0C,¬ß/E-Œ{ÕŠ ÓÒ"ØbK)pUÕ…oÜòá6LÓûÿÿøýLýíÒ­ü{(×1²xÿ³¢,p²?ÊwÕ-ŒŠªëÚ‘_ƒƒ¶¿Š–hµÃF>Š¿HJÊQ‹"PÅÝa-±ã«»®4ÀaÓ¡h[;\½P¡¢‹†"œòfq!ú®‹ˆ tFÖj€_×̳ð/hCVÄ´À†433 ò30>Œ/1|pÃÛñão?3XwtüÿWH¸Ær$ÔH nu…tàmPu-Ž­r}q‡4[mÃÒ†±YˆDzoÿÿïÞ_«³o´ÖA]¸\W¹Xln«<©ügØßi1À<Á ü~3ÿ ˆ^/@ê 8²`pÅÖÄÔ¸Š#Ò>¬+½‚¬:·ß¾ôv/Â_íÝ­ÈÜma„UÝ}ý¬ÉSkø]µXµbÕ} ½ó×cïõEx àk²ËA‡ö¼ÑðñõX¼Ó±x]»s`Ì>ŒªáÚ±#î¶¿ŠšhµÃFŠŸHèÊq‹Š@×"a-5Äa­çot@—v¶Î¸Û€¯#âû=rÏÇûM°«_x· óàO±F;ýÇ!. ¡Å@àzˆ¢`¡›®€´a´«hq;\‹Šœ†¦±.PÅHqðØjÝ4WØt¬käÖo/)Ø¢¡¸X+Ï*¾¢o­Kˆ‰mtaÌÌtqDDDDÌÌLD…Â]DLuCØ…35£351?8á󸿼ÿÁ»ŽñxÐÀ^ @<¬¨ˆŒ Ï !ð0Å+h;± «†üÈŒÌÈPËÌÌÄLŒÌÈŒÄÌÌÌÌÄLÌ{‡u%ÌÌܽînQÄŽ­ò„ÿ#¥ ÿ;ÚÞ jž\ÔÞa]Iº<£±X]n«ó¿ ÎQkÀìîá†NÔLôîlìÎ.À Ì„SÅã<ëûNî³™€ ü/Â̽uë*®ÀøËÁ¨à¸J³[ÿÿ¤ ýÿTè+nø¿ÝûmP·°fròm[‡u…~`òŒÆfu-Ž­ÿÎÿ8]d­ ìë¡­ «þ]‡.——÷BWQÛ(OhuXW€Z(dÿ.åÖ€»SÞó¿S?`îÌpø[;\a‹»®–¦!Gõ h‰ ¥µ-z(~w1@º²ní…Æ¢-ºŠp…­¯¢!ò†ôöBÑFÖ‹ÒNÝÞjbà°@D€Æ‰Ll8Dè/¼øR½ñ÷E‘zñ3ŒTÝU÷U]‡q÷_,‹²5ì‚}ÑÃÂõ»,==Ë:0ûÿß}ýcü÷Ì1G¼0á°Òþ6L»;áHó/ƒó­K wuøÿï¿l¹îr{VX+ô­6¬mX`pÝ4öíp……ƺnŠðöM‡¢-ú†‹-B¥¢!ÖJòFùÆ 0À0b"]ÜÃ0 à Ã0 vlíp¨­îººr…ѯ¢< Ô¢‡âڱÌ–á–èjÈF¿Š¿Ha­Q‹ŠmÝ‘"ìºnl­…M§ 3\á0tÂ¥-Šp%qlÑ)ú†‹.ÒífÖêÌÌÌÌÀÌÌîÎÌÌÌÌÌÌîÌÌLÌDÌÌîÌ 0DDÌÌ?ýÚÀÀ0 Âê¶o›*¨ŽË€c´®ŠÀ2ÞºýXº¬è"ÒØˆâ˃1°s¯ü‚È= ,Pèꇠ ‚p@Â{Õ ‡òã;ÒïwÝ×Ûw€~[+à!ÍÔ…aS…ëË^ hà‰‹,˜ …+‡+(\Òãv-®ÚŠ ¬¾ z´¨ΪÌ»W3\tßü¡ Å·ó±k€6ˆGÈ6]-#¬…©…"R­á†.‹¸a±µÄF.ÄNû®‚¸ýïºx†ªˆ `†ÖÖÆ×"Óµj­…zˆ{»:ˆjVý¶×k`¯ÝµÚ¡âŠ4jÃÊnÇZW±>‚Rð_ZT>×õksö XÓ- ¨Dð5áÑÝ_°ÐuXWaP»ø»ÖJíª£u’t]ɜҮ×-U`ßþþ‡#*Šôkë‚£DDDDëÆÆDDDDDDDDD…w±¶ä]»UñGhÙ,/­ûÒ#zú†UXV{mÝT§`#]´¡‡{¸‘q[­z¯V·W†-·øÛ]ÝU‡UtûÕ…QXÕØHêUíõW_-×ýµÚý^­¨„][hµ†YQµŠ'½‡D!Uõu×ÚWØ-‰þ݇h§U¬v|ÿ¡æâ·wb]WÅUtaTa×UÕÝ”Uwao¼·…—¥Òj¯²!¢ú÷µÊªêЏ¬þöj÷;¢¢ ª`(Ò÷×íR>µ½´j÷]u¯Sp[¬¢« v»Ô«~…®pÚ€_?v¬ Ë~Ý·Š÷ªtµuÝk;zˆ¸ß¢ Æšk„8êK+ õáØ_j¨®Z—AÝP-׫" D ÚÖFW²ÖVè®t\è]+z»,.†Ú¶˜qÝW¾z­¡´ˆ†ˆƒêá¶²¬ºýw7V¿LlðöÔáƒÄµ Õ…W-×Q2/kqˆ£_L„Á!¨m»K˜^ ü°¿ˆkX‹ôêÒ¥*ª£ÂÏ•mü¨|†xÖi—(€»6ŠJFTh^iˆŠ€ …Öf‚Òû ¶ŠoÑb«˜Ù¾¢jŠ¢+Û¡(8ƒ°Š¢¶½|ÕÅ«à»`‹bU©a”"P¨©V?m™YõEÕF–™•VWXê…•YeVŠe¸¥X¬Z½[¶ªÅŠ­i[UŠe]×YݷbT «Rmµ+’b˜¦™–¦Z[e‰^v×\ ˆj¥$d‡–¾+á‰šŠªáZ­Z"kÅi˜vh—¨v"­Ù_àw ¼©Ð{€¨;oþWùWÕ÷Ž˜™™w€õbUö—ÒZ«¾†uYzÝV[­|½ª•]õ!u]Xuvmߚɿþú»ëŠ+ê©»»{…XêcP•¢®uª( ®«šªHo«Þêß«öþö !Ò¿b樴Ûíª«¯J±¢º~… º®"È*Ö¨6 Z¶õ_¯¨m¾ßê⪆Ûn® ·µ»»s-CÌX«ñp `(´¿ë…Ît[õÃ5Bþß߯·T͸‚ˆ¾8†Òâ^²JƒëªŸÀnRF­,ÙÌÊâx´Ú†*Ñvµî·Šç*À‡¨·*êz£®íî[*®îq¸¸±–‰ju»Mê~ûÜmèïüîÞ¾»Þ†w·j¿ûÚB·×-½* Ûj!m(tõŠŽõÍ·Å@ˆ‹‚ _Zd}oq½ÕÕw_¨8÷QwÜþh1-¶·,‚ºÕ×Q¯‡¶Ø¶ kø¶¶Š/‡Úêw+!¶ò‹uTÔ«Öu컡øøFóòîÖjhx¼0ðøÝNÖŽWØÊ.Oä¡(G-t)Ú¢½áb»V(ø¢X«K¸¼Û]€3E‹tù‡òO…m]¡°« ª‹ÞªX…¨ªhªý=¢³Êÿ-pL\ÿúOÀó_po]a]w?8Ë÷ÓñÏïÍôª€Ȩ@ðL®ñ° ûÃçx@óµí,ú«<ýƒÀNÔÞ{6ú?ºÓ×Ìí^»Û?Ü"À ~àèFÈÏÚˆÀ‚A¡ÂÿJ6{ƒèúˆ· ŠÆ0¬¾÷|aA¡k!«`=ª¡ï‡&,(‚Ùu7ÚŽ€õ}V‹~u+¶Øª]}í…/}ˆ×ÿj5…[{_j(ª„±„ªm¡¶«‹h‘/‡¹¨ˆ„-¸*j«®îªmÚÖ^¯.Z¡Žï"__m+,·V݈KuQ»kQq]ÜÅ=û¢«*Õ*ˆXâ*Âó»Óýï~û û»þ„¬m`Ç?tÇNOˆí]·¨8óQàø£‡" —ü:m¨1Þ*ôvØ·ÕŠa‹ú G‡‹j…Vë4 Õ…îï-{h-{ôÂjzªp…«ˆ-ö»Ä³z?í8«¡ÇóÚÛ+P ‚¶jØ.¢µˆ@º*Šx-E!J«(íRØ^ˆH,|±ÔA-†ˆ¬"K+ëÕ¿Ÿ|||t}|\tfW»¶=7÷Û­^[Ç´-ª¡^¯è«~µ:£+(ѤJ¡ÔT ;\aô[®Q¦«h‰¤­±.†JaÀÀcPY Q9\a¡»î¡†"¼½Ó¢h‹¾áb‰P©hˆ…µ&¡¼Y´Ñ @Á&ÒŪë *¡†Ì*º‡‚È*â*޶®êÔ÷ÒÇ…_­B>ÖüSÔÞùê÷pHD?Èt4¼‡T~Ku®ºjSXT[]aVÏ鯎X»îϾæª"<îÎînøh»êÊï*· ¡+(ì×Ö¾…µø…ˆ U[ý,š¿¬èX‡ï}Š±Ï†VáÝ[hD8\”ˆ[´kZºvøÿ5o­]Åû¾Õ  6i¶ÎT[…աꊧ«…Z«®HµÚØîÍ€ÞjmH–ªèµa j‹¯ÖZ[†¡æów¯âíT…]û*ˆ¢ê«Š‚»+®ŠÖ®.Õ‹ßüÕ¡+_W÷{í×Õµº #Z=·5"Š…¿|‹s4Vh¨PkÑZ´aÝ«Ú[MÔ9OU· ¡êvAo«£üR{HXˆáÖ­-ÜÆŽX½Û^áR µ«hŠQ»Z‹ßjØ¡T_r׺ÕmU.wj ‘…­F?b@àh­»ØÜUGkG¡ºý6UšU-õ¸Ôuã|Sh«^ë*†V³àj¡»g¶:U¬-k[¿kjKŽ·…­ßþ¹FÄ¢k¡.Š÷V‹Ô¯Ûêf(·a­^GµÖ*pKvýÈV­WˆÞmw«J¾Wl°b•T×WѶA¶ªîÊÕÝêO»ºÛ [ úQâïokŒŠ°ê\ò¯"ª¡Ý½ªü±|gøný*OÕoµoaAT Öß]…Ú;­©‰ÂF¨«ÙªaÝýU \5‚`ØßµÝôn «íµá‡ö]í)ª×‡+.þÊ-ºÆÒzUªk¡·mw×îuKÅÄ‚mÚîFi„TÔJlÕ^‰j[躗EÝGMmE¡µB_ºhÁÖ^¡ÕÖ…åjPaþ„®®­¶XÝVßþu!ºÕA¡àõ÷¾ëßññO7Ä U7C®­ÂáKw¬²y»%zì­ÛÝ[ÙÀ½Em˱Wí†  ÍÕ]Ñò„Vô¶.ºÍ®5mÑ’X­Þá_QÕc¾ vÍíÌ«  ÏB"°·Ô¶r(*â ªElîEHµ!YZ꯿¼Wý&kÇÖ!G/z*Z¢)µÄŠ*~"…L@•wÓlÍp……ƺFh(ÂÑM¯‚¶è».Ö µŠ¤]X«AȹÅ;À .Ðå\hýöoHW‹Lˆ¨GË‚@ø³ÀV¡Fí§½3UÏý¨¹ÜÏ·.èóƒ©ÝüsþªÖ[JÛáÚB*ZÜN«_ó‡U­ªk¸…2ŠtÛWuÇÙn¨Mnmˆ¶)¸hèv¿(Aï&#ÁŠT³ÕZnµG¨Ö¶LQŠmØ'U(Z›åñXGèZ!¶jõÝëó¢ýîÆÑ6ª·’¡#°îÕV‡ ¯!V*H_«à;ÈW} œ‹öæaÄoUôÚ°¡­þBP³Câ‚;áXÒmóÛZ­Ûoe¬â­n¡^{(xdßÄ,îóÈ j´ho¸¬ÚâøDظ÷PÒExº ŠÆVˆ#‹q+5ˆmzuµvgÆJÐÑ«¿ßû¦2öw×t€¤úþZÕªp«ŠZÛuÿ!¨ê*‚.T"÷uËñv\˜BUŠê½‘ü»‚ØmS(…­Ý÷E Pv§Ö-#QµmÝw[uaЇ„µTmeÑVônÅ_WwaYEW»u{umq÷ÞÕmw«~·ë¯jÝÏè»u]½í†aí­^Û¶¿[¯u®uåugûw·OCÖÞ­ßHÜÝÑû]²;^‡U*"~‹¨]Ù¶x‡ŠÖòb¹¨­Zꊇ ª„.±Š ºÇ¯²wÕê*Ch Ë¶j¡ã]¡fÑa,ê­[V.™u\[ýÚneÑÞnéKÛ‹¨mEFján[Ú»uÛïÝÒÖ:U¡l V°ÛM:m5oºÕÖ„.ÕQ¨U¡µu`aQ{ÆíbÑE¸Ôm…ÕzÁ•¨¥ù‹[¶»´µ3ñiŠ@„ÿW»¸…úû·ÿº*F{÷«³*,á×–ö‹ØzAØ®ØÖûý6ˆº†ƒ"[«¿@Ò«XHŽF.Õ…Ý<_Çá½íÖá´1È«ãˆó;ú ñ Ö:; `÷éöÏ7cn×À>Sþû­‹þ>vs†¿H ?ÑuYk&wÚß¹wXWèç6OhV×âØ*¿ó?ŽÅÖÙÀùZHëH¨¡ÉEmеô¶ÊšÖ-àÒÿÿ¿‹E•o…¶â†xgÚÑu†ëÿß»u[_Æ MhlH÷âèð¿ó?ÅÚê4ûZ`ŽHŠÔËEëеà¶Êe½ÞµÖØá‹Å¹5?-«??„‡ÔªPù³Òj(„âj÷×uG´û¨ˆ}ȵ¶Hñ«ÀŽX,p]BwÛ¯õÂð¬Âáwõ¿û.ª¶\yël®£Æ+{è¶<ß÷nÎëËÛ±®­F:l®Mì× j¡ÎS“’r×#Ay[ÕF«\Õ!Ê P º„XíV¦»nV%ZØ¢SÑÑ›±a­†_{uÍõuHVT{ÝÖ7Ýu¯Rã‡ÕîMÕZU¸«¢ZÕÌU{»¶/µ)Õ²"iÕWW: Úî6ëQQu›ˆ.j­ÆŠÑ\(þ¶ønÁ«Xkü¶ ÷¬âjm)b¿î¡†„$K-ìÆÝx-Ê…!¸ªr«²†"!«H! l€€««º<С֝6— ÿ;°ÄHq#Ò;+z~Œa?ðÕ/¼CÀ\‚Â@àìÆÑèºà7=î\üДL(°Ä/ wòÅ´· Xˆv %\õ³‹ˆBºÝ®«j€Š¾U¨«­:ŒÀFJüªãÊÄv;ãòtÐbÂÅïÿüüî2ˆ·ŒxG·ñÏÿ‹á:ɽ‡¡­¸Öµòv´AÝÞµ8¶ÁwmE±6Jº»#²êüïüz'w/žÊuXW€y.—,ETÛ*Oh3øLºñÏ;Zh¤k  ¯ý*ZGÖW/z(~¢¡!Gĺ@ …µÀc¡wÓ0s\aÓ}­±Y"¼±Ð«h‹†ãb‹ü©èоµš„¸Ù¼Ñ…HµwQ;\ê¡Y® †‚¼aô«hæj½X¡ðÜM@ã"WƺNF¥£"-ºíx‡M­¢+úŠpÔbìÑN†«/p"ÕÞÖêÂÀWDU!ª_?uÑ»ûQ#ëC¸HDD¸åÏÆíþëªèà®ÿyB̨ë߬/bé±ímÔÛ[ï÷„_ñBšŠhcbè¯b!mØ VHvSô4­þ•¶[‡»Tïj „W·®3E±µÐÇ ëþÂâò<B¸µ†üØ=°¯ÿóL£Û5©þóCìÚêÚ0?rØUóÓ=áìÿÑ*Äjáýî®Ý_#0ÈÞÕhÿÿ"!ßÿÿhën8ÞÙÏYmP·uîr§][‡u¥~àòŒf¦Q'­Ò;¿ãˆD… ÿ¯…²Þ¬úG±ËeeÅÝKŸÊš‹ÖඃüE‹´ÿ2² ÌÀ«ý‚o Zv² Ê*„­Çº*®þâ‚Æ«¸ìE­±n-]w-µ_kµÖÑVU*vû‹Ù……¡«ÝÞt+ˆ¨¶Š×m\ûmýpGu{íUtLÜa¬[úÔÔaÞ¥„µµ©’ðmBmàp€¨ZË.F‹¢xµ«ª(^¡ŠÓµc`¿Z‹àmˆ»8Ô_,,ÂX¿­ÊŠ‚å:èV-¥‚êš5-ÔßãqØÚªÕj«Ðj¸Òmv´¨uÛZÅ­RØýçF¤[Ývm)TF⮃„Ai!Jt·…ŠîfªVka¸†´•wæ÷JïFØ­»Q}/ÆÚwc­½Ö½k\_]«×ÔÖwÝ×ÕíßQ{U]MœVV„…_V„Å«ÖU­½R_×цxÕ¦WmQØn«‰ZkªjEV¢FÛXøõ©…»m [â´Š›+Š"êÚ¡:‹j]wHUŠêƪwhW¡GÑ^}ío¹âìÂUk‡Eµ¸‡ºØ¶¦Kí¿R¨j˜¨vˆ­®ÊšÈÊ[¨ô·0W†£î6R a+¢v˜¨Öªâ³ú ­Z}HÚ.íÚŠÞîëÕ®vhn£®‹‡TصÒÔÊ?_¬}A½þSo«îÎ; Sj¯ <ö7!†.©€íõèKû>«[Wü°ù_wV(ö·vàÕŠj"Š¢V‰º¿W(­.ˆÛêZ¯Æšo j-‚ JîáV×´ÕªVU¡h÷߻͠KáîZZÙVaTWßæwMlź ÔR¢¨[­à_ÈmTt.XoŠÒ^ÞߪÝÓ_¨Þwõ{Ì  JACÄû½Ë ÌÀïÍU´ÃVcø×ÏÿÃ/0ÿÌÎÌàÞnÄ7ó]øüCÌ<ÌCDDDÏíFüÌÎÿHDDDDVh+nŠt{mX8Np¯ð]Û—u­þ`ò¤Bnu-Ž­ÿ;ÿãSo­ ûZhëÄ(¡ËmaPµÔ¾Ê¦^à3ÿ‹E±È11ïCÀÇý…PoÀÛÿû ±./°ÿðÏ7õ|ÿ±0qïýD,‡C à½Ë@üAnõG ì`…w×Þ]íEñÒ»û¶ŠP”Ñ3Q}¡ÝÌ£'#1Müî@à0ÈÛþáÒµˆµšŠ¶hhÃF¿ŠŸHÁÈÑ‹RåÝ4­1&…îºl_UÒ‹ûmôÛNHÊMÎõ÷.OµQ?ÿÿG¿ÿ‹C¬ìðWû¿áʼØûEDàbϼØ5®Â„uÿÎV(3ÛìÏ4°ðr¡­ÆÀ³p…ѯºvdírÔ¢‡¢%kA¬âRXÀÀcTy7 Y;\a¡¹®«„"¼½ó‹è‹¾á"‰P«aеD¼Q¸Ñ €¸A×wr1+€0«é>B¬×È…· .ÄÈì„7ó¿áê1²Ì!ŠBÛP~·"£óµÊ÷͸ÎêO]©½ÝŠ ã‹Ù×\·ºUW˜jlébªâ]ï¢×k+‚’Ö‹ëŠÑ°*ÃRþmý¨ï»haUW êú+ ëWûwmØÂû²HÚVYîJ­,k­T¡bˆXèõÑUÑìTom;*ªÊ¶ºÕWTtTµÄìµÇÑ_´+ÔRÛ!ÛGKˆ €¬¢Š*mD5âÐ^]Dh€ËÖ»¨*Ò"ˆ|½‚¨¸,|¶a´Šö‰«­Êºh¿ˆ(è¿Øñ£#`†Î½D+ª¢¼êºì}€ßq(p¡â`„º§jûx¨«Þ êRËU`R+[Œ´®Jê*½ª@Hý (ýÉqz¹+ÞÞ£¡½ÎNÀbì>ª³"!ÕnƒÌ+QЍK ÊFs©ØÅÍ")ÞÑÿÿüÿn¸vqmmh+·u­~§mP‡uŽ`ö½[lQD…­ò„F㈤ú ÿ;ÿ²ÞÉÝG±¯…E½ÖKÈe‹E¹à¶ÊÜÿ¼¸2Ùv÷^x¼H¨÷p„v´/ìºîÚOõa½Ôµ3йEm8¶Jðÿ:ü³o%¶Œ„zG¸\Þ«ì«¡þk]k²Xà¸X]ÿ¿ÌŠýÿÿÿh+n°÷vûVmP·uDr¯Áuí…~`ø­ò„ÆVŽ ÿ;ÿfSä¥o±¯…ãˆ,úKº\¶Þ mn«<ÔÖi][kŠ%¡»XœíŠÀºÞÈRaÍD^h *ÇR»º«è®qÇ¡ÿÚ±ax;ñµSÀ;w«ºjü.óôÒî¶ë `(ÿ/ý3PN¿0Ìćßþý0??ÏÏó???¶ïS¡¿Èÿá½v”­¸ÁšúÉwA]Ô¸¶ÊmÖ…•6ü;Eúw±ÿ㈤ˆº‡¶Þ X[ÜVÜa|0ðÄa5ýáGÔWXh”k «(×ý(Z"…µ/Zv ĸHëš»·4¶¸¶è ã6½¢‡Ú†HÛ‹ÑF‡µ«ÅrGµw DhÐóCø ï²|Ó 0Ú¶†;°[A;ØÚèÞßbäô¯ÿáÕ뾨?‡’cw=.ýÆî<„xo´–ÿÿ‹¬wØÑã†k˜|×uï]©c«<¡Öá]Øð¿»QEVHªþÑ»ó?ŽwB×Rìk¡­‡t¸ïr[QbQf…ò…ÆÅÂûx=.ÿ¨8‚Õ`!¦ˆú-#­È+ý¼+oM øú8¦Š»zT_ЍX[@ÔÇÒW ý^]Q^•«UWKµö4V’ÇÝeUXÝÛz®÷¦ëk|\ÇIª®÷«‚ɦ† —)ºhªHÛ†™«ÞF ^WXEUGiU-¶D)¶®X²)×&[A¡(è‚n")¶k„7¯Üšýª«ij¡×µ¢ºë¢¬jº¨b+iø-«jø„)î¯*Xº.‚Š©à°Üµ(û+JaEvß‚†Žr[¡ÆÑ1×u"ì|­\-«¾¨áZà päWX×6Š`ÕEuz«Ý Jkú«"³zw¯4ÿ¿"te@Q¡­¸)ÞÛív´A]ášÏÉlÔµÒʘ•Úµ8¶ÿ"!Þ ÿÿÿ¸ÀºÙíQ¡Wè&évX×âØ*ßwuxEVÚðOh&È*¿ó?ŽеÔûZèëi]n±\VÖX”[i«<¡»ãˆ„ú ÷;ÿ¶N¿XG±ï…±¶ëï¡íj»î¯ê²¾Š¶u‡9ÕîzWLä²¶î{ ÆWÖ·jW1{ºaë·µÄE¶uaÏV³JÖjW{©eîlÈ[(µ-´ÝoèÝ ³Q«{¨6¥P5«±k¡ÊªtoèM¬nZ]!‹M­(_ñ…*¨ôZv»içDâ{ ¹­ÚÚiÛOHŸâ²J¼$ (†ª>ºëÞX±(ÚêŠE]EŠÐ-®ußVW¾¢ô²f+^èV¸GE!.|—¥éî»+>ëŠÅÚŠ«¨®.²*Â“Š²ˆ­ **¨jQ‡±½¡Þn¶µ[ERê¨ôÊ£Ä]Õ6·w­qt-†PµÅ²€]ÝZ·v8Ñ{·õè]ѵTËÒ¿j.í®b\a¥"õ$«€ª˜¶WKm+Fñ²7UXUÜ»¹¶Ø±ëŠºŠ^nk[+j, «+ŠH…b5J¡ììõ½sÎ>Šu`ѽõOx€¶(D÷NÃNÿáÚ±µÊÕ жè*­1.ŠHaÏrÍÝnáx…­îºî¢¡ GM‡"Ú¾á`³/Öøƒ…µº„¼Q´ÀÀ`˜@w @è·¶ ²ÓwSÔUˆ·nÕ«´7¢ö«íâ*ªˆRH+ªÖ*±†¡úÊò-uum|©øÒ-ìik¡Rº·ð]q¡Ójf¿ë[»6ˆÝnW®‚"²Q]¢UG Úxál¡¨ŵƶڪ‹Ò«u××EF}S^½É«Jv´­(8·N­+Û¢…T[¥†Ú÷íEef«ë‡[ØqS¨öÔUAÑîÚÞÕß-û•®4ê(PÅÕA{Ô÷´õs5ÀÝEº´U»TñKÝþß{L }±âUµKµGKUK\!—‹ˆkº*ïUbu ¢µD£¶´Fu hUè]ó˺Ԫ­]² ÚX*¬jXau¦W±TáTmu.J¾UµÔ‹´¬M³â…7†Ua­ªè*"ҲѮjˆõa…z©~}ÕŠkˆD/õ‡0°zÔw~Z…U»PXÈÕmm[}V‰¨Ý hImë ¬zÒÝU¨«ºåŠ ù¿õQ…ŠbP%N/u][[uXEuó´JVXŸªÚE…¡Tb5iˆPQ Jná.!N­Þ‚Õ²‚x ZKß{*†*juI¶Æè[l¡PѪPõµ½ø{ õê…u¾²¶‚ªx¿+‚(„ѰH7êߢÕVöZý…+[„ÓÖ£õ…\«*˜Vƒ‚­µˆ€IŇŠ{ƒÓVH{µ@¬{8‹‚Bý·?þÚþÿ€,Oÿ¿ÿ"¬î;0 ªª^ßE«¢»0ó¯Tô{ñZ³·ªa£Q}mG=k·[\׊ŠkÑÁ×ýöÊ¢X«p؇úªH\ø]|È-b"§‚­ñ=?BõKRÈEG!¬BÃ× ‹‹"®úüu½ ‰†z«£®*_o½6Ó®ÒñK Šc[ˆbG……{!`E¶ÚRJÕšn€_!­äßnU>Æãþ @D4Œ-ñŽYôÓÂÀ·V«*O‰&ˆk:jôT«+­öç¶"¸ ê,ºµU+âÞÝßïT€)Ü7_êÝoƒàŠˆ†ªØbƒ£ Šè¯†R€ âµT!„*JÚ¡,¨O¾.÷ß,6¢k÷)k²Ñ¾ê¸ÂÊuÙ¨Kè1*`ULGÜß…íÅ|öеÏÝÜD‹£!ë]€êU!x(~\ÑŠYxU_TüŽ]*Ô¢¢ÕêAAt0uÖîVÕDò tuÕ_Eh݆7Œþ³‚ .QÕRSìûZJü†{mjôˆ­ò!€©¡ûmbFHK…h&ܵ[•]a´ÉVÊ´g`v¡£Èª­êG«â«Ö•+¶*Ÿªe*…ºuyiZvN©×…¥U´•vE²)šMJÞRש¨q¦¥]ViWÙ¥î’ vjÕöjªu+ejä’ºæ§f¦Šj‰EÛä¿U›z—¥ØÙUÔ9jØé…T×j¨¶z¥¸¥öWk¥wé^¶ÒUt]7¬4÷ÇÚÇOþ H`öƵ* ®«ËÆ㫺ºkÄ–¬ñKüw6/’âŸÿÿÿÿ+n°fÝûVhP·u¥r§m[‡}%~`ò}fnQFŽ­Ò„÷8"¡¥ÿΡ­wBþqìë…uZ÷R‡.OH,×€Û ÿûûûeÖZáêÅûû#'t-u~Òz¯u¸Àr[[bQd¥­ò„æPT;>۲ƯË`71¸ý¶}Ðöá„#Û}om´„›qh·[­ª­õÖoØ­Ày<_ñmýWŠ·x¬s ‘[NÑÕ6?EE7îÿ"+Þ????½¸ášÑíQA]Եɽv´mÞÕú¡Éwº…E‘8¶È1<Íó<6ôï÷vûZÿ¿Hˆnr§=h+n°¥uàâmP·õ-†­ò]{‡u`aÃÿ„nEQ«þQìÍÿ8!Bׂïk¡­wu¸­r[q¯ÑF¥vò„îBPhè9üÿÿ?\aþ«®Q;½d¡h®¦ZÐIøÖ0ðØÕÞMaÓ…hê®kF½P«è‹†"œ‹ÜQ´Š¾áb„¸H»Ñ…µº€_ ;í[C°áòOû—q4Á…_Qû·µ ^|áµ\ØíÝÐo-·ýÌ@Ãý·²Û·~D³ký›×|0ûÿ¿_ÿñŽy#Ží®Ï¶xÎQز2ñÿ÷ðÿ{ÿ/?êþû£{¿ Û6ñw¯Ž3º»ÿm«×î| êÿÿÿ"?Ës[‘­°¡ÞÙív´aa¸±ÍuoÔ6ÐJÖµ0¶üÿïüE±6¿Å¿¿#è?¬…Ú?Ä_QÌ´ÿøÅ\GÁ,ÊïÝ¿*z#EÔQFØ×ݹÖm_{¡Ýí]WßuAµb·Æ¶q׫®uÆË_GEÉT}|ÅØwÝvõ{X"x-ØuÑÿÆø]Í.ó»Ë÷ÞµÇß×òÚîëCÜû¿ïO¢¬¦zĪ­ÖÎU2¾01ëè4Þt[¿°°¸ð RoØvqo«]WEßÝŠSú_£ÇçV}/ŠEG5(ï¡®Ô=¶ºïíQÜE]C®eX¿íþVÕ]Sàrµˆ-,6¡¥æºÐ€ûÕ Ñ¯¢ölípÔ¢‡â%ºrC¬TRÐëÀc«q? À;\aÓ»®¡Y"¼½P¥h‹Žáf¬«hˆ¿µº„˜Q4Ñ… 0àJ·v\…j…ruƒ(zk×bÖPÕÉíÕH·Òo? ª¢¢ö‡ «j¨j†T«S·Ò†œ¨E‘êEµ¶†û¶ºÝoæÕ†¶!¡U«®r!„ú©¡½,¸²êú¢î+€UhuUUO½a©t/÷]]¡ëûi{_Ù¹N{ÔÆuõeÝUh‚µm¡x¨x—Á¾æu]¡YÕu…þÅm2W­TVÖ ·üã_¯Ö-}·jWUuMQ;—à©D·À"˜Š+#)Ò ·ª_6]Ûª§º×R"§w]:¨T…eHÖná]ÚjÚ¡«(¯BkiZÕUÙéXÔÚ]©ÚŠª²‡ª­yWW„Žj–º×’ ’ëB¦Æê‡ié­Ïõ«¶zײh騀ôßý·úöZWU]WQEµÅµþ…YÝ^µuµÙõ~u¬‚‚Ô¡aØ"¯ý•-òÝuI•*bÐXu•þTYÝ­àÝ !á¯þUªÈ®Šy·©m¢† ŠZÕE¿žhw¨\7ðßaeòÎV ¸¢¥]Z]²µöa,.’êÕŠê΢° Úªµ*âÚm¸é²þ}Ûª«ÊH…~¥Ë¢ŠÈ‹"·zWkºBV,lÜ–4–QVUV¿^–Þ [ÝݵÌ5+ÝvW*u¬híl¯«mˆDjX;,ð@?€Æ÷•¯ÎÿØVYß©Ö!^µ¸ˆ«âq¡«×Õ3ÔjµQúwÔwÝ•«š Ï`¦¤jwj®8­µVheZUÛ­‚^X}kµ¥!¾ÿíZXèVYÔV8(úª¹|(ꪭP*J*d¶ )´ª(¨Ðò)>u¾%ØO¯êéþ@r7©Öá/JÕרZ¼ÞKòuµU`jEe]X‚Ta¤­ªÝ-w‹½ÒZÝÂMßPÚ »ü] ßmõF[íëíò×]EUÖ 'škþŠ”j ­Ú«®âªû+úH‹nëÞòî·Îêî¹U½©ËXÕÕZ×Jµß‹û_\{{í:U·ýE×vÂî¡(–JT(†j·˜ôq¡ªQ–Êl¿º*¬Ö-\¶öÝÝõšh©ñÖŠ®¿J¨tµ&ç赫ºˆ!¨«¢(ÖŠ–‡VÄuºì¡X…Un]]×~c¸úª_vk¢¡¶ÿøª‚º ¾»²ûw ˆÕh¸x /¬ÒQ{Uï••ÕG ê¡ÀUËV¨\¡[ÛÕµŒÓZá[…®uª¶ÊþŠÚXiªú]¡wŠ [X·­~mÛy¿µE]Ô{/îííµ÷Ó «‹†U3¸:…nu¼Ö[«(¡áHÀêÊ•n‹°²lZ »‚ˆx|x¢k7F Úwˆøj(Ê«ö¡€ú«ÚZ«¢NMZm¶j¡TaŠ•ÝwUo´ÅõUÔµõ·tGÇÑ«õ]uà,„v¡ÔYA€Û kÐê­….n@¥a ¸Z¿‘+‹µˆ·ÕR-jïRÚ«ï·‡Ý×.»®®Tb´býnY;\a©¹®=¦¦Šô«h±.PHa­¤íÝ4íp…O溮F‰ðôB§¢†‹+²…¢+úŠdÙF+½â! ]IGí Dè7ö÷"Ң°hÇîUÿÚ‡ t·×Wn£Ýá#†‹–»è¡¢ÕP\uW¡è-|wúåƒUjDбb+·wo‡d†Ý¥ wQÇ=*U×*õ[aÕSu[‹]¥U-XwW¢¢W²j®ÚP”†N+ÃDˆ«ŠnW_EÔö†mo ôÝÕÿ}nQWW‰(Šh_-vÝ\U|§j^WGˆÚvU&Õ…¨.¾W‡[XVÅFê·z ‚ŠÊe_¬h»ŠL„âÕ¢Þ¨r¯ÂÂQýº) »ÁתÖUžN¸(«:èè†nÖ†Þ®»À¶nv¹b’H­˜Ø‘õTEÑjëŠ[+4—Úêà¡q¯6*²l½rëË]»v\([½W!0Tmÿ‘x¹®¦ú+JV®¦Èà†¶µ @ŸXöy_ØU¸¸NBûf«lµ±¨í­­X-W\µ²„ÑÕ~KôÞT…íl…°Þ± u\D´Î\ñGòèªJUkáö]‘tÆuÕ;T^»„×îÒ# pµµ‡ª„Gª‰ÀÆß<°P‹º®½ÇÖ WÚj¤k¢©(Oý*Ú"þ"…ÖþHwµİh¡;^¡Û°®±X¢½Ø«h‹®áb»œ©è‰¾‹T{[”Ñĵ®€€è!µG#ª ¢­B_wÝv××"j Ûö~()ض©Û÷fɯ@öQ FÝ­uót:…UX ƒÞ‹ý#øVuáÕz·X}W}·­PaQþµZUh×[cGwW¡ Ëm…ŠŽvÓ7¿=þàµ|ÕVÝí.Õêµö®­×w¦rS;ªè0®±mr^Ûѹ†ìB‰Fm8ë’¡–⹓-}úݤ²Rk¡µ·{   m‡V­µ*©ö-VV­\[tÝÕFÁ‡D]+vµÖ¶»^Û슡üu2«Ø'°wV߆ ²jŸr­­m}bµR­âY÷.…¨\…«jk­w(,ŠÝV‡‚wËPGXoŒ‚[q^`-øÕz«‚†@„æY×z‹ªØÝßJÝI©nØN]EU8ÞYÜ <…¡ÚUT¯ÆÅ½¿²Šº:‹»¨©S«ÕZí=w}q~KÝ]0Õº"¸uÈÛjîñ+}·Ýâ®Õ"T¥¢+ê¢µŠ¢Zï¶*íîîîµÀ(*Ý­®rŠV­­ "jª_‹n«‚àvSVIwåÃVF!PÜm±…ui”uX[®.i•$Öá†môÝx­šªâÈ:£ï|…«KY±×zÕU€EtWQ„Å墈ë©a¨½Ž…iÏ+–„T¤ª¡ªº†¨ "ÒÛVqÅz½:µ_ë¥×Þ·†j¿×"¦P!à‚ñÝïµb_m^ÜqméH„Ò¥xm°Zu!µ×unÞÕÚÕZ¢-nºµ®…Ñ£¤vDípöb…⺊°A„ŠT'RX«Àb¡q7Ã;^Øt±®Qo/V(Ú¢«¸X¬kˆz m­,.Eta´w(€ŠŠ}°®Z­W }QÖ©Uˆ‰¢¨ÕO;U¬,k!eíôa¶a犕}´Ô¦qm¹_¶P™ºV½mo´vl·Z®•eÕEVÖ‡¶ª™¡Å…+Ý*ê—EJ*‹böýÖÕþwÝ]xÑ!#@X ‚Ö«µTÝuר­èkUw}³Šà¶Ý¨¡þ‘UDª†šZørÛ¿R"òüí?Ó¸~{k ¿LÔ, ¨Pˆµ¶¶plíp…­äºv:Šðöѯ¢RX«Aâ…â/5À¬T{®»Q;Àb©±h‹®¢^aß¡Ö*{ \½_/ï–mto¸Ð"‹T{+X‹KˆÔŠèj¢Š®à°Ô®h½am­ìr¢ÅÞës‹x׊a/ãnE± .hVx¼q…ˆüŒ"Å#¢ÃC·„7xÈâ%a¨µŠ¯x­4¶lïuÙ>¤Œ¯UH„°VQW»UÖqTW×T@MsXl×ømÕ Ôõ·°bmc3­}q|XÝÆ…¸ÜD\FÑ•†ÌÀGÃF¿íڵʑ衊–hjZkø‹Ö0ðØUÜMÔWØj¬kj¡c/4*Ú¢o¸X ”*¢a­ÇotHÈH‡÷mÇÞÞZ·úÿûïìÿÞ#G·oÿ‹¬x$wØÑ¶Â†kê&ßu}×àÐ*O½u\WÖÚðÿhöE©þQìÎï:"B×Rka­õZW€Û.õmÖZ*ODã/vOï âÿ00{È-«ØýÛöСI·ÐHíBHHum@P4ïÿòAÐø ·|½Á“ L M!Cò*ðaÀS…ßÝÈ «Á°ì¾üHÌ íÔ/°« üÂ?‹Á,ó ò·2ŸºÃ°Î¬ ý 7p?÷>éÿàü€.ƒÀdzØïÿ|pIJw_Ð?ÿý÷ÿÿ»¡?OȇŠl öû­Î¼8ºá?ÀP!N¿Šê±µÃ/RX«-ºŠâwAŒ‹Vè®KlÀðXÔ*ڪܮWØV(x  (ç/oÜmt­»X,ÄRïa­!À¢ €jŒÇº(¢î­í˼k±øè´6»¾`¯K×]Ôï*¿<ó̼ÌÌöÊ|õp¿üÊXèºH¶JK«¡´¤®ÿŽ. G¸ŠX†µV!·(…Þ _P¡ÕÞÚ’jì·}a.aºÆ×z]="0®5­a½Þ­V]}µ¢K½Hµ¢¾×‡U«­»aÝXt%ÞVk6t¡­Uq½…!!º‚­RèFTa­"zǶ‚ÐÓR×*Ü ®!ÿ†¨¡´¢¡Töý¡[Ôé¸Am[¡íÚWˆÅUá¶»‰QB¨¡u‰¶«[ÚŠ‹îêâ‹G݇8 z Òˆ±ª„µh´Rá^}Ý6"Ö!{}E¼"í"‹v¨€?«@ªgˆ„JGmÒaEŠŸJˆV[m+¡ë[ÕÕw7Öïw¨Ôh[¸­E¸ƯÕ"V¨†aÅrkQ‹ÈßÚÿ÷º¸·ˆ¿ªŠäØ6aG¸B*Õj…Ý¢ìÕê WS‡H*(Ûv‡„! ÆR®†ÛÈ©´JÚp«­¢½ë·Úw«Š«¨‚¡uÈ´÷¨«Ú*«|ÀËÏÄ<“ÓóªÀ×q½¨¢T8-Ü_lˆEܪØ"êj[l‘’ n[…¹–®_ØW*os½b©[¨:ªß†Q¬ÖÁ¾ÖÕ®¨»6¨¢¢´Övà®Ý*«ºmAv+XQW«ËªX­…ߩƅ©ëJhqè¡RmêqVá­]_¯ˆ((¡Õ²¨,Xô DH¨b41Ê÷÷…Xúþ7t}jè«®­¡Ú‹ÖßÜ Ëª²ñó¡h½XÏ:-·^/.8ˆè¡ö2¢VëªyzAg„»íkÒö×^‹ª8uدÒ$Ýbw®Á£"Šøâ«Š¯ìÒ\«Šê®&×Jb­j‹¶]ª»*jÅ‚æw‚«²h-jº«úâ³ìðÁ»DÚÆMqKTwþß/«(¨­øÿQ«ªíþïþÿïŸýÿíZ¡­‹þÙþ”A¸ÁºËÁwm]Ôµú¶ÊÖ8ÿÎÿE‘\äë‚8"«þÒÇ.—wBW€Û*O•uXW–Z+¶è.eôû=½ñ¿ï`êú«†òèÏ?hU´¨È+Ê]zJPäV»Ô+«ã ­ƒ¡²B¾¢ ¶a»jQÕÆGm„Fz\µ×…]±Õâü€_ÓMwvwÿ|¡rwÑí[¡ÿÿÞr‡m­¸áÚ~`ò_PU­Ž¿Ê[‡u/6üïš›E‘þ[ìkü#©×R.!-w@W ¢~וýZÕV}]¡-ûª…qÓŠB¶rEôªk«ƒŽ*ÊDZè«X~«¥ªRywU–•Õ[‹&·glf–—EQÚE‰EjIjÕ¹u›uy®i}ªf¢‚–¥÷ V橞iœþ¹ö‘¨’Y$–žUæše©u¶‰ªùöx¢Û×k·«‰¦º«YÆ¡©+ ]h¦†æ™bf’Öx&ÒšUteh¥yEy™i.–Xòa©à¦gQaZžj×Þ™Z—“™UèWTéf²•Š"¦eV]•©}Õb–Š\]ehV¥ ¦š›an­¶K¥ê†aš\Û©í†ô­¦*D2J˜©¥Ù©T¦F–È]«îÉ¢ŠÖ×Å^t‘IEöE¿íUEU±ú†Dy‰mÙuT¥ˆV—¥Ú–©(*¶‰i®¦ê£mj –¡¡ûwnÛ"YbDU]ØV]uµUÝeQf–QWhTci]ýuêE†ð©p«Þ€šª¥ ŠP‹‡™ù|ê‡TXEè¢Ê‰uÍðªÊ+µWMÕ(À÷ü2BøZ4O7"â¡V(¢ˆˆva^¸Úºá¢ R+Vâ¶‚/Z{K·*ÀV"Wà{«AVª¢¶Ê+W"*¾©x›J0Ò‡Øo´÷o¯ÖöW+-‰DnÈDHDdfDDŠˆ„F„„ÄFd€HÄŠ„DÞ˜jØDØU(Äw¸H¢·‹‹áª®²´|(•ª*¯¦+UãW\(ºÆYíúó[EU¸ªê£a÷­¢Ë* ´êŠh[Õѵí·j_Geh*¨êؽ:»ýEVrûü¦û|« 5}„*¶EðHˆ@‡J±AT¹×ÝUƒ…D}}Uj]EŠQW!öϺáÚ¿ÛEX í-W ìV]íZ«%ßz_+W¯î_‡T+¾K]t,j(Øß¢еթkèõWµ¨¿aøÖ†®¥ú/.Pƒ 늺¡»«Š*¡EuêZm] £Æ ¶Š Ð}‡J]zmTAî‡rW{Gk€ªbÛ·ýWwßÖ¬ Z̪¨üª-@aÓpß]¨ì|¸ ¢Zþ/[|ý°êÒ*P]×a/…¿ÿ;ŠT‡Š,ÛrŠÛ²Š­[Xc¬Xˆ’Їñûx!H ÷wlݲh‹!°¢n?M7äh!ÝÝÁ²¬€ƒˆ³Åw€aWÔ§¿zÒUCíüÀ¬:7Aþ'þ ´VEÄìÊÞ.Î?Âà!ôÒhˆáÒݾ¨(±-ì¶+ŒêF^u]Ûà…ƒR¸Bø×ãB«O¨¡Pͽ:Úa †¡áÏ.Ãyè"Ô­ôƒÀÇÿ½ Î׫ˆjM\K¦²@õ¸ ÊF†DÀ11…òÿ 4üp@,ó¸¡6O54‡ñ>ñ¨_¨?PÜO‡`Kákˆâ@]Œâ’«]èj¨¨ñ¨€GÑ"Šh»·lÈ@…¨¡í]á*h]]Y_E|ûõQ-Vëqu߆ökPRDîºúáXüƒÍ€#-˵QP„·ºB-Æ,µ  ²·ý¿þíßoPVjBE†âL,½·µÇÿ£m­é*‡>Àî~ÿ5Ä(˜‡÷ˆÈH„ÜFOˆ»‚®®q®‰Ê«ö·âª¯ÒÝ…á"¿‡+" ŠaªºÀÐÿJGH¸ê4¬-K_­n¨`ö3F®Å‚{êaÈuÙúÄ‚[½ÔÅðñí#røÏrã,; ð6ìýÀ÷*óÑüéÄDQu€Ç1lÀ±ñØ1 :2ïÔÄõ?LT<3×c'sÄ×ü¼Ë„1HXha™nó tAô«hY;T½X¡ø‹®†<ë"Õ¡ÖjðØêÞM8ŽwØø®KEÖ(kçÛ*Ú ©h8X‹оtX«/ïm!&Òï\ðó¢@ïÜǬmÕî¶j «HsûôØ"á½Eð^‚?`ë5 Ú}‹ö|‡PŠ×Bµ¯!^|xn[¡¶­ÿµèZÔõqȼßõÞB=sÿB3ý·2#úŒ}Åwí.D43§þÈ¢snCÿ(ÿ}ûµõß}/þQt¶t¿xv^Éý÷â2ÚÜm#^^!þ®:ÝS÷ñ®÷¸(=;„ÓüµÊ3ýÿÿÿÿõñݾÚ/²âÜiGʬ™|×ÔE]¡c«<¡æa]‰aÃÿλQQâÝÿÿ'²¬‘ÜiÚŠ]«˜GÔu]ƒc«|×ÖaYkÃ<¡±[H¨¿ó?ŽÐÐûzhë½Öà¡Ëee‹Eµ¶Êš7PG|T×Ä®ê:¡8j¯Š.²MÀ(Â0ííב­ôûô³+@€%€áþQ»È/ãÿñ·‹ü»¢ïÚj¿ÜŽ_ý†k÷Ö!o/V*Ú¢«µΚ(ÿ"0@wº[3^<¶닎¢¼aÓ«hܢǿX£È¿8«5?skÉ?€.°F‚íÿ-¸z  aGÜn&ƒ<¶ö ½(Ðìý¯"üw÷ÿ€´,~®jG*ÿ­ë¸þ÷—£"Ñ7?}踄à”l«ñþnñ+bM¯¢-líp…Š¿xÊÛ‹.R­×k1331 0<<À ßþýD­­õÚÕa…ßÿ¿¿¿ ô[«„øg÷¿ÿû®[ܾ%ÚŠe]©iGÔa]‹c˜|×Ö[Yi«<¡±ŽÈªþÿó?¡wBW]ì롵UXWP‡.·h.6g€ÛOê¯ï×VZýÆêκ!åZ×¶® VÖ2ˆÚ½¢Š¨ÖNè4·âm,‡[a¸`Û…Út[}Û†làµuV ßõQð8a k úû†ùs»ª³‚Ì­ôË:mˆ1ô l²Z7ðÿ­ð àÖïÚ!l!@CâzÔÓ†‚0ÇrÌÍG(Š+¬ÖëˆW¡­ ëÁ½ÈÇÖWÚê¦c ©!Gí*Z"­µ-z(þwÓLĺ@½ëºµ<–ÚŠ¶h(Ã6½Š¦è[ÂÛ •E]X.–È™H{«Aˆ‰¾Þu€·®€ö ½ ÷MÃÕõWçwïÕ ö|÷ÉüBA(»¨0ÃbÐu¯xã<ÜcÓ‚4)0á2õc Þ0qñ¾Å ±¯Ò‹„d± Pÿ_¿ÞE€  <­aÄ¢+Ä?XÂÆ`H⋯4Ü Õ#0@­#°O¿Ê÷ÚÃïÀhÀƒ-Ý+ÂÏ ¾W÷85Äð„mì h¿ö»rüîÎÿ~ÝESû®QßG|ÿ1(=Dó1Ó(ì±L<Šþ}ÛÃ\OÃ0õ® Rƒ³ð€Í?+‹ñ7|û¿¿¿-þÿ¿H¨wÿûï¿+n8ît{VHPu…re[‡u)ö`òÆnÑ´Ž­ò„ü#6üïÚz'êÅ®²Y[§t-uÀò„îb}¸¯@‹ÿ Qb­¥»®Q>0h«£h‹¦;\aô¡ø¶¼½X"Us7Æjãc!±® °át Ú»Ñû^-֪被(G±¼Q´‰¶Ñb„¸ÈµÑ…µø@wŒ …òw€G|á6üñïR×]×2ÎS,CÊÒ3N̳¸Ò qB¹á?°ÿ±Â„X[Ë ¨%è^]G"ÔŒtÉ D_ŠÁ×]»Ä7wÓÿJ*ª¢-¯¿ÿ¿+ÀßÅBýêíèØþ¿÷‚ÿë¶¿¿ÿí½ÝÔU?Sìq\„K ˜þɲÞ++~ß#ÌP,´þXÿ}3­È*è†ö¸Å!K€‚!.£ÀÊü?ûª÷áÓ-Û+Â?kûý9„LÏ?ò¨ÓÓ=Ò}X» È#÷PWèa† .Ú¿+¿±ëa÷u_ä®/³´€öûÇŒ3w_´íw©ý¯ý2,LWË*@_ ðÃ0ÛH€þ€  áþmÂð·B„ ÀÕÚTí+´8û: øh¢Çë/bpûÂÄ(ÿ$Û}jW‹26»H"·û]·öÉ\DtLɱz¤`¹ì€.Äㆻp†ë%…‚(™U_ïËqqÔ½²šÑ/)ÞbªPª½(~W¼©•ׇàÿ¶ŒìH(Å.¬o{¸ò­ù}Ѽ¯"—+žkÙ}·¢uwýv/‚®lÿwX©‹ªQþmËÐ Ú¬2±šî­Å]¢«}š2¨f¨¬½^¶¬ù¼Ýý›z;‹3¾Ä;ôµBà†köB´ê #R"þÌøÖ¶€Š">!¬ÅR`­Dëiºíª†äþÊú"»~ø† ¢ÎV´¢E¬ƒŠ ûˆ"V²j#*†E(Ö*ŠEaË݃D}یϿýÛxÚtÁ<:ûü·½ˆ«ª‚Ûö?0nuÀXUH6!2"tT^´6]àbkK‹´øß‹°#à/{õ× r¬÷Ûkàλ÷õZsÝ2»ÀLïzGôб´-TwMßøcQ‚ÿ„»!âîê¾ *«ÚÝz„²ÛáºÒ†‹"& ¸®Š¨¢‹¶è®Xâ¶ñía¯Ñ¾Xw s}\+*¿±/ò3ì_ã„ê‡ð{´Õ‚ lÁ ò Bá±€wA+×~/º33#t‹À 5øZj"Îà×ý¦k‡Ö(G/V*Ú¢¨•ÄŠ(~"…0ðB½wWØt(XhÜŽG-Ö*Ú¢«(Ø"k"︮!Rmta­ø ´ï÷Û?ßýv³¢?*ÀVÄ/Â0è8ä~?‹¿Î§ñ Â†À;󣫂 @‚Óü‹ Þß+À Ȉ` ­ ü¾¨Š*¢Ä5ºJ© "xk dän˜L8‡r 8 Ä·Á\öÑ}}ëú"ÂDj¸«­þ²@·î!…ÿ.õ­]¼Í~¹×jàÑCðÎN±.ÈÑ#„Z¡­€½l¯[Ä ˯ñþÿuûÿ 0°ßßÿß?s4Äëÿ @G8@ P0 Á‚ÍüË)Ó!ÆÒ W_´‹Ó+"O»ÕïAkðÈã> õ8Ë…à üß+ Àð"- B…þl\ÛîJÁo\»½­È°±¿*-_ÂZŽRº—P ÑŽº HèïhS[½ìRúCŠ… á"ðÅ" ¿6€Ü|¶Ôƒ÷W…L-Ô2þ$ÀT"Ì‹`†{¯@8ìÿ8R¯¼2s¿óþ…H‹‹hq+H||5XØ GËBŸþÂ.Ïëó_½Öÿ w50´kQ7ÐÿÝ…êõ"… «T"ÚÝòÏ«ŽFo?=õw âÜLQZüØâ6ÀÆì!@¢ ;€0»´ðU+‹+Åûñ>íø!‡ìGn(²jX‡\uÞlЋá†,->éÐÉÒÁÏáQ; 4áî,P!väßðX CDÇP)¸CÛpDÆ­öÇ2…}‘õ Ë}_h èà5ø#‘a¯_MРm­èì=íúýt s¯ý>²Á®‹E-µÐ}ƒ[г¾¯¡Ø+8!àʇÐjõÐbª‚Tím¨/·ÞÏüÕ0ûÓn=3ÁN½Ñ8ÍÏ‹pÃ2¹Å52UÛÎEüSXñýÆ´wÿÿ¿H¨¾LÿT(+nˆ÷v{mP—°Nr'òÝ[‡w­~àÒ„Fnuî­ÿ;ËÔÑl­ ÇÝ# ?è,<á/ýB º"òVø1W8ʈ-û×Ú³¿¸m„U6õV¬þ·í²…áÒ‡ªö¸~Å¢E¬F†AÛÿ³í†ølt 8¸=†[>ËÜ 7_ñühìFèò‹ÂöÅúE#Šl¼Á±Î;qü##õ°M¬€ÐÂŽ"®=̪ÓwÀlý€w½òqóã’®+À!º® ‚!s3†¨(+µâª» »†ˆÿü?ÿìnß·o‡®‹zGGØÑ†ò†k..ÓuP×jØ*EhuXÕàÚèÿòÅEÔHˆ4ÿÿÿ‡ðµØûöjé½Þ5àËuE‹F»µ¶ÊjÈ.Ö»ó .2O*Z|HâÇ»¶„ *ŠÚËà€Òú‚„¼+ :ø´°þÈj‡ µÅ èÿ/_´Š°œP?/ˆªó#0„À ̇ÞŲê =°ƒ÷€ßÌðWûÛ¶yOsîsut€†€ DZvËŒ0 Ñ÷†Ôà*"¢+@ˆ !"‚@((«¶Ø¶«ºFÛ†àýŠñë«à¶»^·‹D¬x*²Çíw ÂQ½Hûý7}¨ÿ¨Á[ßÿû¿]sðûV`ë@ˆ÷v}Û×&wÚÓ»uXWê.ßhTEÀø*Oó?ŽÈÔÚð¿Zi뽨óËEmеÔð„îbÒàªWôÑF­u{V™K!]o½u­±ÄFÛ´áÖ3 j­ÛíQ[Z¢·fÝ-×õØîÑEXGëúõÅ:€Ó,ñ5Œ‡Ö¯ÛʳÓÿ÷‚ê+´}íÛ„Îðw<>>`h²þ¾à}„Š\±?Eè@Ç~ÿùâ"÷ÿ 8L ,@_?È6ëPÐ?À qûÿ«ôë- "0€0‡m\ ";ÿ÷8¿(kpñ/þ ¿àŽˆ€W¡|(è} (áì=Âïõ Ⱥ|-ó-ÁÿÿWü+¹{ñÀß+Âô"#óÀÄôÆþî}~ÜrÁíÕv5­Ã +À"c˜ÚsVÖõSRËzó hëᢇ{(-n»A_QO¨°tt¶pÅ[<Õˆ3Š„[¯‚*Š€"‚(Š ((*ˆ¢è¢‰ˆ"º"@8Vš¨"+Çm±ÿÄÑûõwu„{ ßúùOóªÿòÁÃP@üÿ° þ(3øSÌÌn};Ë ÝCâBà8ÂJàÄžÚm58@ÈwÈϰI»ÿ Ý÷5@Œ1EÔ(³þ Í-ÜÎX/áødÄjÖ?ÿ:ÃÛôN¬¢ w„ÇQóáH_ëÑ‹"Z]Ç!¯7! ß.6Ê!Ô>,!pátßêýcßГóFDó­V ðUሠV ¾M|a„ˆÝ4ú·È"°Ëú!Ü·QÈapÝú‚ã‚ ÀÈU¢ï,üFÌAhk/T,0±Íü3ŽÚôÏ?jP4£ðïL£ÒÞ/EÐÊ=Q­f¸v ØóÇ4×ì €þη A-/ö÷,üÛÛp{þ[ÄG_q·á$b÷]Foãý²{o"¯ì"€¯«%øÊF­ îí3´tó¾OÔ¶ëáò½µêpo‚%Q¨*`'xÏ–ÈÇc WAáÔ­äúúÎa¬È U€ŒŒË·8´Éa}´Ìð=¹KÔ†ëV!ýûFÿ?m·?DÈHŒNtî¼À·Üt¸üßÿýÿ¸þýý~Íýÿad×n·óÜ1ßþÝÄÀxþ1Û}ƒAômðWð;ÃÆ½ÀB À. í¼ð7ê¦kÇ@[³Úý*º¢ÖWzŠŸH«!G-"PíÝa-½c­»¬4ÀaÓ©h[;\½P«h‹†"‰¬Y¼ˆ¾ábj_ѵµ@@Þ@€°«P[³ëŽÖ®#µ‹tÔß!µ¶LÍVhÂ:‡ò·U}ÈÁ ̀ΨÖhÂ]…,ÿ830®‹Ð4‚ã@;ÁÜpІ†,ÌðS~€ [?{äÍp……FºvšrÔÑo %RXKA¢§â7 À ¬Tqº&lí ­îh‹–"pÝ©hˆ¾ëœ½P¡¼Ñ…µb‰¼X]Ü b ü"h/ñSØwÖB¡rË6j!áп·…DÌxÀ?¿ûÿþÿ7ûÌ÷õ@ÿ·_¤„­mÀÕN„¿ÕQôÖˆY¼Ë¶[­Äѧñ·ÿ ÍÅÄ"Ђ0ðß<{ƒâ8?¨<U;\®­®‹†‚¼áö«H"µ½h¡ø_ÌȵjìklÿðØô*Ò¢ÖŽ×ØV¨þ¢«¨_/èÐHOºÐ<5[<ý¹„¸H¸Ñ…µ€U€·7ÿ<®õóÀü OÐÎ>ÇóãÃÏ€þ¡ÞAÏOÏÿâ†k,·O…ºvP×jGØÑ†uèà×7ÅÖÛ*MxÀóxÚðÞÝk3o‡·ôa]^W±X´Ñî«<¡ÿÿ­avØv[è®0Ä·WØt(k4VŒk/Ö(Ú¢‹(D¸È~à‡½\Øw€ˆ² ÃÀ óÓH¸.ðÃ7Ú ø÷}¸`ó( c°á 4¿;‹kÿj¨ZÒÒ­-ãàt¤F…á;0¸ êDÛ¼2úKß^¡33Ï_¡ÀóQÈ®ÑDE†ˆ, T€U áàתö ¿ß#ªí£HÿF¿4 ˆŽ þü‹ ñq­_]uPí\à`üŒ ø€ß*ìO @8ï÷<ý³ÿuG[ÀÞ¼ëÕU`¤ÛñT(<ñûwTÜø_Ó‚{žíMü‹9ða¿Š²-Äu50´Ã¸+/¬ý‹£† _çSQ qÔ?Ç_È@@ëýˆ.l-<ß|îÇñh¬®HÊJÌ¿]òÈ Å_Â(]\·@ý­ûQÕØEwÀ<4Ñ5-¼»õþ7¾ÜG  ÿÁ¾ > ´ ²FÇÑûÊØ÷oÀâV¿²L±~±þf@ˆ…«h‹®ípaô¡b³Ü¢¼½X»(D¸[´Ó…AXíÝ@ÄDDDDÐJ`÷Ûï?n´«<-®Ò¼ö¯ˆ£TÐÞ×ô#½Ï½üLBxÀ®¨Es‡Œƒ @á¯$0 \ «?°kºÃ¶~­®û ³Êºëê®Ä‡‹ Áoíñ®‹Ââ¼½5 üÕGÿñàŒ#1 ÃóHnü„<ú;N€Gµ3x4Mý|4±Lóë?>Ç+úCð7u€öïÿ~³Ã»ï÷‚ûà×Ç#ÎÛ×ÞŠ=0ˆx84¬}³îxîól0ˆ+¸Èë ï € !ú 8ÀÂоõ¿ñÿü¿4µ‹ŒûÖh+ÈŠwv¯EPn¸Ær`ð][·u¥~­Òn‡u-Ž ÿ;ÿlsn­G³¯…㈬úKÉe¶ß ]à¶ÊEÆ5•ÎËš‹E™¯Zà®ÿ£G0ü*kOV O-r(Z «!A¬ Tþ"[kÀc«y7 @;\aÓ±®¡Q"¼½Páh‹†éb‹œ!hоµº„¸[´Ñ…@H·w¾ Ð@ŒÿýzÛð?àÏ·`àëìö‚мulï<x| à¯ðüÌŒìò|ñ>1Àó¼Ð| ·»üµ]àw3¥í°h ƒp`ÃãÝßû};ÿ*À†ÓŃ„×÷3ë½Ëð ó-+ 8Ö²#Ðÿÿ/²s4îý…6â„â½Ý¾ÑuQi,wØßµuX×ÊMèb×âØ*¿ó?ŽEÔØðûZ ëHª»\VÖ]ܽԡ<¡™i]×T”YiP÷î¨ö„XkÄöË6·2€ˆÐAÀ!xí[Àòhohë}ÁÔÆÿ\ÜöötÖÿUohè€×öÝM¶ïEh¯`ô‚°Ñ=Áa°b¸mhÊ¢1Èw?Kv#TN3m‡Wð ‚±ÁJEÄ ê!°¼öì«0> ÿZ‡Ì· ÌâðŒBó½<°»Ð"ü µ@Ø.üDï/QÏm¨=u¾`}Þ>À>tmµ|GuFOQÙÿw0þvüôP_ÐV…Ì÷3ÜÞ?=Í;@‰÷² w5J…{Õäî› ;i˜êáv ¨ÐwÛ]ïv@GüŽ;t}ŠƒjúwÑêzt¸T‡KÐ~4è¼j·.Xˆó‹´-3ÿÀ¯+Ó¿p³Þ,ƒ=0èß œÏ“‡8‚ð+?uͰLû¯].Oñg÷«èÿþ÷¢0jõÏÀ( |»Î`°ÜÚ?ÿJ\«øX|ÈÛŽ¿õB¼Ú´¬×[ÄüêÀÞhäÚŒC“òÿÐbÃH¨wtûÿû¿n¸.psTh¯Œv„MXW€õè‚·ZhOè.ZW€‹(ó¿0oTZ–šáÚŒÀŒF¿Š–µÃ‹ŠŸà*ÊQ±PÅHam …FÝ4p‡ÑŸ¸vdír$º(¢%šìº@~"…µL<wÓõã6šËšKÂÙ жh®¶ÈµŠ®èX«iˆEWð‹tqhÜ WXjžë¢¡gØ4*Ú¢o¸Ø/Ô*:ta­."k–í!.Å«ù®£ÀcÓ¨h‹q3\aP«hІ"œ½Y´A¾ábtyX£AˆˆÀ,€y{ƒ¼°ôTLð±,( ÐUÀöý|[ƒÃÐóö³zËûÍíÚ ¿‡ÿ2ÂLü7to¨6Àÿö«ü€·?@ˆ+\Ñr=gmap-2015-12-31/tests/ss.her20000644002622600023770000001146312567632007012352 00000000000000>NM_004448 Homo sapiens v-erb-b2 erythroblastic leukemia viral oncogene homolog 2, neuro/glioblastoma derived oncogene homolog (avian) (ERBB2), transcript variant 1, mRNA. 4624 bp, mRNA, linear, PRI 20-DEC-2004 GGAGGAGGTGGAGGAGGAGGGCTGCTTGAGGAAGTATAAGAATGAAGTTGTGAAGCTGAG ATTCCCCTCCATTGGGACCGGAGAAACCAGGGGAGCCCCCCGGGCAGCCGCGCGCCCCTT CCCACGGGGCCCTTTACTGCGCCGCGCGCCCGGCCCCCACCCCTCGCAGCACCCCGCGCC CCGCGCCCTCCCAGCCGGGTCCAGCCGGAGCCATGGGGCCGGAGCCGCAGTGAGCACCAT GGAGCTGGCGGCCTTGTGCCGCTGGGGGCTCCTCCTCGCCCTCTTGCCCCCCGGAGCCGC GAGCACCCAAGTGTGCACCGGCACAGACATGAAGCTGCGGCTCCCTGCCAGTCCCGAGAC CCACCTGGACATGCTCCGCCACCTCTACCAGGGCTGCCAGGTGGTGCAGGGAAACCTGGA ACTCACCTACCTGCCCACCAATGCCAGCCTGTCCTTCCTGCAGGATATCCAGGAGGTGCA GGGCTACGTGCTCATCGCTCACAACCAAGTGAGGCAGGTCCCACTGCAGAGGCTGCGGAT TGTGCGAGGCACCCAGCTCTTTGAGGACAACTATGCCCTGGCCGTGCTAGACAATGGAGA CCCGCTGAACAATACCACCCCTGTCACAGGGGCCTCCCCAGGAGGCCTGCGGGAGCTGCA GCTTCGAAGCCTCACAGAGATCTTGAAAGGAGGGGTCTTGATCCAGCGGAACCCCCAGCT CTGCTACCAGGACACGATTTTGTGGAAGGACATCTTCCACAAGAACAACCAGCTGGCTCT CACACTGATAGACACCAACCGCTCTCGGGCCTGCCACCCCTGTTCTCCGATGTGTAAGGG CTCCCGCTGCTGGGGAGAGAGTTCTGAGGATTGTCAGAGCCTGACGCGCACTGTCTGTGC CGGTGGCTGTGCCCGCTGCAAGGGGCCACTGCCCACTGACTGCTGCCATGAGCAGTGTGC TGCCGGCTGCACGGGCCCCAAGCACTCTGACTGCCTGGCCTGCCTCCACTTCAACCACAG TGGCATCTGTGAGCTGCACTGCCCAGCCCTGGTCACCTACAACACAGACACGTTTGAGTC CATGCCCAATCCCGAGGGCCGGTATACATTCGGCGCCAGCTGTGTGACTGCCTGTCCCTA CAACTACCTTTCTACGGACGTGGGATCCTGCACCCTCGTCTGCCCCCTGCACAACCAAGA GGTGACAGCAGAGGATGGAACACAGCGGTGTGAGAAGTGCAGCAAGCCCTGTGCCCGAGT GTGCTATGGTCTGGGCATGGAGCACTTGCGAGAGGTGAGGGCAGTTACCAGTGCCAATAT CCAGGAGTTTGCTGGCTGCAAGAAGATCTTTGGGAGCCTGGCATTTCTGCCGGAGAGCTT TGATGGGGACCCAGCCTCCAACACTGCCCCGCTCCAGCCAGAGCAGCTCCAAGTGTTTGA GACTCTGGAAGAGATCACAGGTTACCTATACATCTCAGCATGGCCGGACAGCCTGCCTGA CCTCAGCGTCTTCCAGAACCTGCAAGTAATCCGGGGACGAATTCTGCACAATGGCGCCTA CTCGCTGACCCTGCAAGGGCTGGGCATCAGCTGGCTGGGGCTGCGCTCACTGAGGGAACT GGGCAGTGGACTGGCCCTCATCCACCATAACACCCACCTCTGCTTCGTGCACACGGTGCC CTGGGACCAGCTCTTTCGGAACCCGCACCAAGCTCTGCTCCACACTGCCAACCGGCCAGA GGACGAGTGTGTGGGCGAGGGCCTGGCCTGCCACCAGCTGTGCGCCCGAGGGCACTGCTG GGGTCCAGGGCCCACCCAGTGTGTCAACTGCAGCCAGTTCCTTCGGGGCCAGGAGTGCGT GGAGGAATGCCGAGTACTGCAGGGGCTCCCCAGGGAGTATGTGAATGCCAGGCACTGTTT GCCGTGCCACCCTGAGTGTCAGCCCCAGAATGGCTCAGTGACCTGTTTTGGACCGGAGGC TGACCAGTGTGTGGCCTGTGCCCACTATAAGGACCCTCCCTTCTGCGTGGCCCGCTGCCC CAGCGGTGTGAAACCTGACCTCTCCTACATGCCCATCTGGAAGTTTCCAGATGAGGAGGG CGCATGCCAGCCTTGCCCCATCAACTGCACCCACTCCTGTGTGGACCTGGATGACAAGGG CTGCCCCGCCGAGCAGAGAGCCAGCCCTCTGACGTCCATCATCTCTGCGGTGGTTGGCAT TCTGCTGGTCGTGGTCTTGGGGGTGGTCTTTGGGATCCTCATCAAGCGACGGCAGCAGAA GATCCGGAAGTACACGATGCGGAGACTGCTGCAGGAAACGGAGCTGGTGGAGCCGCTGAC ACCTAGCGGAGCGATGCCCAACCAGGCGCAGATGCGGATCCTGAAAGAGACGGAGCTGAG GAAGGTGAAGGTGCTTGGATCTGGCGCTTTTGGCACAGTCTACAAGGGCATCTGGATCCC TGATGGGGAGAATGTGAAAATTCCAGTGGCCATCAAAGTGTTGAGGGAAAACACATCCCC CAAAGCCAACAAAGAAATCTTAGACGAAGCATACGTGATGGCTGGTGTGGGCTCCCCATA TGTCTCCCGCCTTCTGGGCATCTGCCTGACATCCACGGTGCAGCTGGTGACACAGCTTAT GCCCTATGGCTGCCTCTTAGACCATGTCCGGGAAAACCGCGGACGCCTGGGCTCCCAGGA CCTGCTGAACTGGTGTATGCAGATTGCCAAGGGGATGAGCTACCTGGAGGATGTGCGGCT CGTACACAGGGACTTGGCCGCTCGGAACGTGCTGGTCAAGAGTCCCAACCATGTCAAAAT TACAGACTTCGGGCTGGCTCGGCTGCTGGACATTGACGAGACAGAGTACCATGCAGATGG GGGCAAGGTGCCCATCAAGTGGATGGCGCTGGAGTCCATTCTCCGCCGGCGGTTCACCCA CCAGAGTGATGTGTGGAGTTATGGTGTGACTGTGTGGGAGCTGATGACTTTTGGGGCCAA ACCTTACGATGGGATCCCAGCCCGGGAGATCCCTGACCTGCTGGAAAAGGGGGAGCGGCT GCCCCAGCCCCCCATCTGCACCATTGATGTCTACATGATCATGGTCAAATGTTGGATGAT TGACTCTGAATGTCGGCCAAGATTCCGGGAGTTGGTGTCTGAATTCTCCCGCATGGCCAG GGACCCCCAGCGCTTTGTGGTCATCCAGAATGAGGACTTGGGCCCAGCCAGTCCCTTGGA CAGCACCTTCTACCGCTCACTGCTGGAGGACGATGACATGGGGGACCTGGTGGATGCTGA GGAGTATCTGGTACCCCAGCAGGGCTTCTTCTGTCCAGACCCTGCCCCGGGCGCTGGGGG CATGGTCCACCACAGGCACCGCAGCTCATCTACCAGGAGTGGCGGTGGGGACCTGACACT AGGGCTGGAGCCCTCTGAAGAGGAGGCCCCCAGGTCTCCACTGGCACCCTCCGAAGGGGC TGGCTCCGATGTATTTGATGGTGACCTGGGAATGGGGGCAGCCAAGGGGCTGCAAAGCCT CCCCACACATGACCCCAGCCCTCTACAGCGGTACAGTGAGGACCCCACAGTACCCCTGCC CTCTGAGACTGATGGCTACGTTGCCCCCCTGACCTGCAGCCCCCAGCCTGAATATGTGAA CCAGCCAGATGTTCGGCCCCAGCCCCCTTCGCCCCGAGAGGGCCCTCTGCCTGCTGCCCG ACCTGCTGGTGCCACTCTGGAAAGGCCCAAGACTCTCTCCCCAGGGAAGAATGGGGTCGT CAAAGACGTTTTTGCCTTTGGGGGTGCCGTGGAGAACCCCGAGTACTTGACACCCCAGGG AGGAGCTGCCCCTCAGCCCCACCCTCCTCCTGCCTTCAGCCCAGCCTTCGACAACCTCTA TTACTGGGACCAGGACCCACCAGAGCGGGGGGCTCCACCCAGCACCTTCAAAGGGACACC TACGGCAGAGAACCCAGAGTACCTGGGTCTGGACGTGCCAGTGTGAACCAGAAGGCCAAG TCCGCAGAAGCCCTGATGTGTCCTCAGGGAGCAGGGAAGGCCTGACTTCTGCTGGCATCA AGAGGTGGGAGGGCCCTCCGACCACTTCCAGGGGAACCTGCCATGCCAGGAACCTGTCCT AAGGAACCTTCCTTCCTGCTTGAGTTCCCAGATGGCTGGAAGGGGTCCAGCCTCGTTGGA AGAGGAACAGCACTGGGGAGTCTTTGTGGATTCTGAGGCCCTGCCCAATGAGACTCTAGG GTCCAGTGGATGCCACAGCCCAGCTTGGCCCTTTCCTTCCAGATCCTGGGTACTGAAAGC CTTAGGGAAGCTGGCCTGAGAGGGGAAGCGGCCCTAAGGGAGTGTCTAAGAACAAAAGCG ACCCATTCAGAGACTGTCCCTGAAACCTAGTACTGCCCCCCATGAGGAAGGAACAGCAAT GGTGTCAGTATCCAGGCTTTGTACAGAGTGCTTTTCTGTTTAGTTTTTACTTTTTTTGTT TTGTTTTTTTAAAGATGAAATAAAGACCCAGGGGGAGAATGGGTGTTGTATGGGGAGGCA AGTGTGGGGGGTCCTTCTCCACACCCACTTTGTCCATTTGCAAATATATTTTGGAAAACA GCTA gmap-2015-12-31/tests/setup1.test.in0000644002622600023770000000230712567632007013667 00000000000000#! @SHELL@ if test -z "$srcdir"; then srcdir=. fi . ${srcdir}/defs cp ${top_builddir}/util/fa_coords.pl ${top_builddir}/src/fa_coords chmod +x ${top_builddir}/src/fa_coords cp ${top_builddir}/util/gmap_process.pl ${top_builddir}/src/gmap_process chmod +x ${top_builddir}/src/gmap_process ${top_builddir}/util/gmap_build -k 12 -B ${top_builddir}/src -D . -d chr17test ${srcdir}/ss.chr17test #${top_builddir}/util/gmap_setup -k 12 -B ${top_builddir}/src -D . -d chr17test ${srcdir}/ss.chr17test #make -f Makefile.chr17test coords #make -f Makefile.chr17test gmapdb #make -f Makefile.chr17test install if diff ./chr17test/chr17test.genomecomp ${srcdir}/setup.genomecomp.ok; then : else echo "Difference found between chr17test.genomecomp and setup.genomecomp.ok" >& 2 exit 1 fi if diff ./chr17test/chr17test.ref123positions ${srcdir}/setup.ref123positions.ok; then : else echo "Difference found between chr17test.ref123positions and setup.ref123positions.ok" >& 2 exit 1 fi ${top_builddir}/src/gmap -D . -d chr17test ${srcdir}/ss.her2 > map.test.out if diff map.test.out ${srcdir}/map.test.ok; then : else echo "Difference found between map.test.out and map.test.ok" >& 2 exit 1 fi gmap-2015-12-31/tests/map.test.ok0000644002622600023770000000134012567632007013222 00000000000000>NM_004448 Homo sapiens v-erb-b2 erythroblastic leukemia viral oncogene homolog 2, neuro/glioblastoma derived oncogene homolog (avian) (ERBB2), transcript variant 1, mRNA. 4624 bp, mRNA, linear, PRI 20-DEC-2004 Paths (1): Path 1: query 1..4624 (4624 bp) => genome chr17test:109,781..138,442 (28662 bp) cDNA direction: sense Genomic pos: chr17test:109,781..138,442 (+ strand) Accessions: chr17test:109,781..138,442 (out of 200000 bp) Number of exons: 27 Coverage: 100.0 (query length: 4624 bp) Trimmed coverage: 100.0 (trimmed length: 4624 bp, trimmed region: 1..4624) Percent identity: 100.0 (4624 matches, 0 mismatches, 0 indels, 0 unknowns) Translation: 2..4006 (1334 aa) Amino acid changes: gmap-2015-12-31/tests/iittest.iit.ok0000644002622600023770000000042612567632007013744 000000000000000uÿÿÿÿ'ÿÿÿÿÿÿÿÿ' N N0u0u@œ FWDREVABCRS Annotation for A Annotation for B (first line) Annotation for B (second line) gmap-2015-12-31/tests/Makefile.in0000644002622600023770000003644212654517415013216 00000000000000# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, # Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = tests DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/align.test.in $(srcdir)/coords1.test.in \ $(srcdir)/iit.test.in $(srcdir)/setup1.test.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/config/libtool.m4 \ $(top_srcdir)/config/ltoptions.m4 \ $(top_srcdir)/config/ltsugar.m4 \ $(top_srcdir)/config/ltversion.m4 \ $(top_srcdir)/config/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/config/pagesize.m4 \ $(top_srcdir)/config/madvise-flags.m4 \ $(top_srcdir)/config/mmap-flags.m4 \ $(top_srcdir)/config/acx_mmap_fixed.m4 \ $(top_srcdir)/config/acx_mmap_variable.m4 \ $(top_srcdir)/config/shm-flags.m4 \ $(top_srcdir)/config/ax_mpi.m4 \ $(top_srcdir)/config/acx_pthread.m4 \ $(top_srcdir)/config/builtin-popcount.m4 \ $(top_srcdir)/config/struct-stat64.m4 \ $(top_srcdir)/config/expand.m4 $(top_srcdir)/config/perl.m4 \ $(top_srcdir)/config/fopen.m4 $(top_srcdir)/config/asm-bsr.m4 \ $(top_srcdir)/config/sse2_shift_defect.m4 \ $(top_srcdir)/config/ax_gcc_x86_cpuid.m4 \ $(top_srcdir)/config/ax_gcc_x86_avx_xgetbv.m4 \ $(top_srcdir)/config/ax_check_compile_flag.m4 \ $(top_srcdir)/config/ax_ext.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/src/config.h CONFIG_CLEAN_FILES = align.test coords1.test setup1.test iit.test CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = am__tty_colors = \ red=; grn=; lgn=; blu=; std= DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BINDIR = @BINDIR@ BZLIB_LIBS = @BZLIB_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GMAPDB = @GMAPDB@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAX_READLENGTH = @MAX_READLENGTH@ MKDIR_P = @MKDIR_P@ MPICC = @MPICC@ MPILIBS = @MPILIBS@ MPI_CFLAGS = @MPI_CFLAGS@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ POPCNT_CFLAGS = @POPCNT_CFLAGS@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIMD_CFLAGS = @SIMD_CFLAGS@ STRIP = @STRIP@ VERSION = @VERSION@ ZLIB_LIBS = @ZLIB_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ acx_pthread_config = @acx_pthread_config@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = defs ss.chr17test ss.her2 \ align.test.ok coords1.test.ok \ setup.genomecomp.ok setup.ref123positions.ok \ map.test.ok \ fa.iittest iittest.iit.ok iit_get.out.ok CLEANFILES = align.test.out \ coords.chr17test \ gmap_setup gmapindex chr17test/chr17test.* Makefile.chr17test \ map.test.out \ iittest.iit iit_get.out iit_dump.out @MAINTAINER_FALSE@TESTS = align.test coords1.test setup1.test iit.test @MAINTAINER_TRUE@TESTS = align.test coords1.test setup1.test iit.test \ @MAINTAINER_TRUE@ bioinfo.splicing.test TESTS_ENVIRONMENT = top_builddir=$(top_builddir) testsubdir = testSubDir all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tests/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): align.test: $(top_builddir)/config.status $(srcdir)/align.test.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ coords1.test: $(top_builddir)/config.status $(srcdir)/coords1.test.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ setup1.test: $(top_builddir)/config.status $(srcdir)/setup1.test.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ iit.test: $(top_builddir)/config.status $(srcdir)/iit.test.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags: TAGS TAGS: ctags: CTAGS CTAGS: check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ $(am__tty_colors); \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$tst[\ \ ]*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ col=$$red; res=XPASS; \ ;; \ *) \ col=$$grn; res=PASS; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$tst[\ \ ]*) \ xfail=`expr $$xfail + 1`; \ col=$$lgn; res=XFAIL; \ ;; \ *) \ failed=`expr $$failed + 1`; \ col=$$red; res=FAIL; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ col=$$blu; res=SKIP; \ fi; \ echo "$${col}$$res$${std}: $$tst"; \ done; \ if test "$$all" -eq 1; then \ tests="test"; \ All=""; \ else \ tests="tests"; \ All="All "; \ fi; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="$$All$$all $$tests passed"; \ else \ if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all $$tests failed"; \ else \ if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ if test "$$skip" -eq 1; then \ skipped="($$skip test was not run)"; \ else \ skipped="($$skip tests were not run)"; \ fi; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ if test "$$failed" -eq 0; then \ echo "$$grn$$dashes"; \ else \ echo "$$red$$dashes"; \ fi; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes$$std"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-local dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: check-am install-am install-strip .PHONY: all all-am check check-TESTS check-am clean clean-generic \ clean-libtool distclean distclean-generic distclean-libtool \ distclean-local distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am distclean-local: rm -rf $(testsubdir) okay: ../src/gmap -A -g ss.chr17test ss.her2 > align.test.ok # ./fa_coords -o coords.chr17test ss.chr17test # ./gmap_setup -D . -d chr17test ss.chr17test && make -f Makefile.chr17test coords && make -f Makefile.chr17test gmapdb ./gmap_build -D . -d chr17test ss.chr17test ../src/gmap -D . -d chr17test ss.her2 > map.test.ok mv -f coords.chr17test coords1.test.ok mv -f chr17test.genomecomp setup.genomecomp.ok mv -f chr17test.ref123positions setup.ref123positions.ok ../src/iit_store -o iittest fa.iittest ../src/iit_get iittest 20000 > iit_get.out.ok mv iittest.iit iittest.iit.ok # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: gmap-2015-12-31/tests/coords1.test.in0000644002622600023770000000030212567632006014010 00000000000000#! @SHELL@ if test -z "$srcdir"; then srcdir=. fi . ${srcdir}/defs ${top_builddir}/util/fa_coords -o coords.chr17test ${srcdir}/ss.chr17test diff coords.chr17test ${srcdir}/coords1.test.ok gmap-2015-12-31/tests/iit.test.in0000644002622600023770000000057112567632007013234 00000000000000#! @SHELL@ if test -z "$srcdir"; then srcdir=. fi . ${srcdir}/defs ${top_builddir}/src/iit_store -o iittest ${srcdir}/fa.iittest #diff iittest.iit ${srcdir}/iittest.iit.ok ${top_builddir}/src/iit_get iittest.iit 20000 > iit_get.out diff iit_get.out ${srcdir}/iit_get.out.ok ${top_builddir}/src/iit_dump iittest.iit > iit_dump.out diff iit_dump.out ${srcdir}/fa.iittest gmap-2015-12-31/tests/align.test.in0000644002622600023770000000031612567632007013536 00000000000000#! @SHELL@ if test -z "$srcdir"; then srcdir=. fi . ${srcdir}/defs ${top_builddir}/src/gmap -A -g ${srcdir}/ss.chr17test ${srcdir}/ss.her2 > align.test.out diff align.test.out ${srcdir}/align.test.ok gmap-2015-12-31/tests/coords1.test.ok0000644002622600023770000000053312567632007014022 00000000000000# To rename a chromosome, edit each occurrence of that chromosome in the gmap_coordinates # The strain column has information copied from NCBI md files, but is not otherwise used by gmap_setup # To exclude a contig, place a '#' sign at the beginning of the line #contig gmap_coordinates linear/circular strain chr17test chr17test:1..200000 linear gmap-2015-12-31/tests/Makefile.am0000644002622600023770000000244712567632007013201 00000000000000 EXTRA_DIST = defs ss.chr17test ss.her2 \ align.test.ok coords1.test.ok \ setup.genomecomp.ok setup.ref123positions.ok \ map.test.ok \ fa.iittest iittest.iit.ok iit_get.out.ok CLEANFILES = align.test.out \ coords.chr17test \ gmap_setup gmapindex chr17test/chr17test.* Makefile.chr17test \ map.test.out \ iittest.iit iit_get.out iit_dump.out if MAINTAINER TESTS = align.test coords1.test setup1.test iit.test \ bioinfo.splicing.test else TESTS = align.test coords1.test setup1.test iit.test endif TESTS_ENVIRONMENT = top_builddir=$(top_builddir) testsubdir = testSubDir distclean-local: rm -rf $(testsubdir) okay: ../src/gmap -A -g ss.chr17test ss.her2 > align.test.ok # ./fa_coords -o coords.chr17test ss.chr17test # ./gmap_setup -D . -d chr17test ss.chr17test && make -f Makefile.chr17test coords && make -f Makefile.chr17test gmapdb ./gmap_build -D . -d chr17test ss.chr17test ../src/gmap -D . -d chr17test ss.her2 > map.test.ok mv -f coords.chr17test coords1.test.ok mv -f chr17test.genomecomp setup.genomecomp.ok mv -f chr17test.ref123positions setup.ref123positions.ok ../src/iit_store -o iittest fa.iittest ../src/iit_get iittest 20000 > iit_get.out.ok mv iittest.iit iittest.iit.ok gmap-2015-12-31/tests/setup.ref123positions.ok0000644002622600023770000101063412567632007015607 00000000000000. 1 4 7 : = ½EÀEOOFP¥Z§ª­°³µÔ¸ÔiÕlÕþèééì#ggjgmgpgsgvgyg|gÒnÕnØnÛnÞnánvsys|sa…d…Ò‰&–)–,–/–2–5–8–;–¨Ũºª”â½ãÀãÃãÆãËPÎPXXX X Xìb¦¨©¨¬¨šÒjÕGæJæ  œÞ'tIP%ÈÕ‰ÑPù”mÕÌïég…ïbMæ¶X–ŸÈ¨¯¨§¶sgÃE&Éã@ »Ôø¥+ݤänßf ¨Z—⽪Ћ>–oÕOjçÒѯ*tàPŸÞ5fpÕQjü”ÔP؉LP(ȼäÍ̶v̲ìä¶ã ã¿àò­vj…¯¾òbúê&ïµé éPæX¹е˨™Ÿ²¨ª¶ìn>`‚sÆô9ú‚gÆE›)Ìã¤O3t±ô {M7Ï[ßÐ#€æC øA ¨+ cy¾Ôà¤!ø‰çn Wsâf£€+Þ{ø«Z9ˆãÛóTšâÀªòÝâ±Ýno÷”²ð ·'6Ó‹A–rÕ O=fБîM5â„åGmç ÒɆPÿ-t¾‘Ô¯ÃýÄ‘ãPë`ø0v¼¯O¢Þx‡8fˆ;9ä}¾^€æú~ßkŒÒU°“?v0šé…·có”þbŠè8sÕè¨c ½2d;¹1Tj ú |){Ÿ¤ýÿ”‘Cp—âØÂÝÀÎôä(ü~œ@ç¶Ù‘ã£<œx ôP-×üø³GÈÕÀ„SÍ'mÑ; ©™Ζ_8”æ£ã‚Øÿ›‡¾ì¼Ü5¥=“(†mÝ ÂàSNÐõ½œ’€€™²Û¨õ!8ñßG¢,ãÉp<„Ÿ6Ä"KÙ+/­Ë{d¥CÌBúçQ^̰v ïm…ŸX¥XÐÔ¢²¾´+s…õbÜŽ»•Õy·…óýêH õû2Ñ§Š«X3{F¨5%)ï¡ë?ñºzë¸é éèìâlë꺶‡ÅúÞSæ:š‚}*–cFü~c¶¶Eq¡âé(óÇXpñ—ß|À1¸È«~ýo)¼ìû¿ ­xå£Û„µÓµµ]ìΨœŸø™Ú×ē޵¨ÝÏL¿šð­¶ Ö„ 8<³; 7fc ì»jq>Êjι¿–iœçBÇ?™…¤LgÌ—Ž—ºuNv¯…s(‹.µ€eUK3¼8IŒËCJV >aÞÉôÐá0„‚ù÷¶Ú¸ÚB³ƒÞîCíG‡úØ™›õ<úÇØV¿ñ)¡ÏABl0\§<’iä*ÃNÓ`ñsbq›…g²uô l`àþ¬ä<¢Ï'SbRQ–ÎÚih°RнBçÐ2k·`ÑŸÜÖ¥Ü49 ¨Ÿ§­ÿˆ«uÍÉEèÔâ,{~N÷žj6nxËæn¶ÎÔ $ãÖÔ àÖŽs„•g ›Ë„¾ùfýñ,bÞÏã˜àµv­ì|<vð ñY£Ÿáõ’ÏÍÈãÓ¾nç Àô…¢6t´ô,ÑÀ§O ˆ±Ö˜{'µЭí¶ Ú¯°à[ ¥ÖJë’ÿü¬ƒ« òÐZƒœt?Œ˜Š(ÄÍ‘lHü¹à ôç…=•Ñ7Òïœ~ÏÌ(]ÔÕ~Zaùt,:vçe(+ºݹ»ã ¤ï;o³P7¨dÑoò¤½lüeÂëRæaF.äÑæL‰A75é"Ï`®M‘§ìjä¹ ï¯ñ[R¹©¸2ë½.€[ØÉ—lÿušÐÿ·‘Áœ! G¼¸¾¿ÑmùO­–|òW^ß§¹¶û>u ËgìR'­Ò½”˲´« Œƒ²Äg!û9ÉⳄiü º=·~n`Ë^÷úóGý½sà"S‚ý*;P¶Ôóßig³`$Ïø >Ñ;:Ìo[lsWÑ…Ç‹’sÈ¡æ×ãЗÁ®y¶x'„DYC¹7òrƒd +¿¿iöYúÛ0çÓ#ÉYÒ²–¿Ê“[™@pH[£s ;2S×õÚÆe§×rç/Lþ‚„2ÌsÂÏ)Ü!¦7H•°3GU¶³¥MÌ/¶r°»ƒæpw}’ÛôzýÏ“‹F S•y§ÌeŒ¹š5ìŽâøÆˆo™[z«+ cD ^ Ÿ|º+BtyÕÌçþìáî»@ºÜ|õÁԮܳñ«è¾±ßä£âã¤jC<- Ìæö$ø Ь ‰Q±fç‹/Yå(æ…h6Àc%g»±‡ï¦ðên@œ0Ä;B?% …XÈ+  }¥Yãí§œšS,ËÛZs„ M‰<L}åfé0Ùùr²‘×ê ó7Z& «ž\0°ýþþD™äÇ¿““̦€9Cé]@} Œ=«(–¢J}°‰é3W.Þ~øðY.6bÚ­šsRxSŽ_ U±Ú8Åh®Z#× DQ=Ÿ$šƒºNu–0WÐU´^Â'%Cãè¥åç¤æŽ|áEz—'¦å•È›E'ƒ(»˜Oéý®è°¸OÙÕ^¥9‡ŒâÕoŪæÞ*ó˜ŒBÍÑFß!¸Ø1—ã>$É@ψü>µ±dz"oMw‹ùM‹ !T'‹ãåŠÏ—üÞóÙÐÓÛ¯í£àt[ C[‡¸¢úx 9v)|æÊ6£+Tà°îVTÍ€—œbiá)d¹Õ/^%„ûÉUr>a 3m,¾=U ùL´$Ͼâ¡°“ìokØm S¡ãùjTÇ×RÌCÑ̶ÙüvööK[ô\æñ†‡»ˆ¿ŒÑ›'˜MåXà–Y¦˜¬ ˆ8ê 13a,»Ñ×~—)@,š¤&àžfäÛ‡kØñ:'˜kOóÞ¨}Õ:IåE%õ(¬– Îîkó‹6Ðì8ü]Ðòî&\TGõ%¯àâ´ÁØàn‚oPúòG¤Ájø×s”tAôìµw>þ¾ÏEºú”w¹Aã¢hÆ‘ñ•ÞÀ‘>µ‡ñ¾…ƒ§¹úñÿµðä9íè/âÑ“¾p÷+Ì=MP¯iÚ¡ ñž0nÅ„rËÈÔàoÙ‰þÍ7Rc£ú‘r¶­^Tº.áö»·MË*64¤ók‹b‹ÜN’ƒŽ–Œë˜¤ç&„É¡ßÔèŽ4é:"i­×È/Ö‹D–"ØV,ªHĆ*ƾÒ8þzõrÇäEoŽ<…Ï*55©ÌrY¯=ãšÿ`¨Fk4“àNî^³ul–è\]{ƒßÌþ9Í`LÐjÚïßžK¶w{VZ9uÕ ÕÀˆ·DÚuÙ‰7N—Šš èP¥“ Wpeð/é—|Qƒšøpd…Õ8òßeáFÒ”„Ëï' ×ö™#O@fÏ`–„Õ0µÆû¯,§)Ú øߊ§^‘áöÃ+0XW)ÔAâPà¶?_ˆ¿x gùب6`Ô·/“’3<(g=–.EÌ{©®ÚBcÆ ¾P*}úî¤M\­±cÿ¶Ó‘D5ÿ²j€g—`V¸üþûév¥)žÞ HÅUËåw¤H×ñMáãó«ý©ñàöT9*ïð½w~€¤‘[º¬0—­O¯8âv¨á…L‡å7µGvpçšGˆç¬(iÇ6â6é‹y…Z £ÒùúTv=ƒÌÞDQQìÚz#Ö@Û~¿Šܽ@·´ÿFáñ 5þm“*ì¬'ßJ]Báªß´4玷~ufš„Û†Sÿ0t®ôò»‘Á‘˜¿.dů»ì|¢¤Š{c¨d ®Ö³ ׯX Gë“¿Øôyõ!š¡ó ’Ü›s4.ÖæÆýŒ2 éoÍÞwi $Zrð2êñº‰vÏ?bÆëWh,\ÔGàù;ÕÐĉnh•°¹Þó ùl4ˆ0-n‡8•›ªÇ‘!î‹ÒË»ílÞ…QòD8Û©V?MLÆhêÄ’ ““mƒíÐUl°ê!ˆݱ¹¬±P˜GÓzÃäàŸ0#MŒþŽ4SM¤º0-eªIèºU¬œ2È,¹c¿v€r=ñ“Rw$æPÒŒ39uxÍ—`tÂ÷ÅÞ”þRɳÁÛ%taÉ@î˳"!ßìÇÙ*!Þ2T$‰а: i» ©8¼>‹ Ü0M Kp®¶ƒ`1ªÝÍØôâæ›ýåØ`ͽèä÷àú–t*qeȈOÍÊ”9ÓiA† Ôr®z £ê?÷NvιªÊ0ïÒÀÒrùAÈ*SuµÏŠø 댻®‘¬:6æUô蛹NŽLJ`—Ä\¾ Èïëã*qä!ò5ˆG4Âw  q/ŽÌ˜¼” uŽ튢ÓÖžnª„W˱=­ÔU÷”i¹^2P¿¡ñó0”?¢£"“}ì®k“Á2cøor3v‚‚×Iôíùõ¿¯E'Mmù™¯ÊÇ•’µÚˆ ꬭp'÷é8¨|üm*|Ìø_ú.e6°+µŠé•ã•uå¿yPß’ÓðJ9µq¡ïË(Ç— ÈžWù.3~Þ¯O²MCjĆq«W4ˆN¼Çb`ÌžsshnÆ¿íº^VÖq`S¤»·ÖazfNY8´0듊› :Ã0÷HâÝ­fj‡âx ÜMºJô¼ aø\JÉÚÝm\Ô>8 µ€rºý<DócUÞ1§xià4ð%ÚØ¤)ü¥úÓ¼«Q5,;fêr…ržà &V1›Yv_¯­èT+S»üÂ[Ò…yö{§_·W±b¼4C.RI©Ö³åî¦2V[ûyoŇùlÓ§Ú í`ç/€ qýZ§­ ·bô‹;%Џc9ew#l•¶ ¡¹ú.÷gn9ùE2Ùæé>=¤A‘*×yßäœ7]ùò*?“×ñ[ž{€ ¾ÉÖÉýŒÕ Àæç2ðñ|D·ñ¡ìµf!21ùLÛ.ïÉÆÞòyÌ5À¾nÊçӇ޲ä8õñ1_#é[…Ž€)¼ñŽÈõ”ÎucuR¥ ‘a€ŒõÆ©!"yë4¹ž5Žéú>}¹f§‚ôÏ©Œ%Ì1*Zf®¤'Û7qkm~DؽÛL¡ þжïô*{µEyfröÛ†ÿ☳ºmñšQ 1¸"µÝæ/™Š}&5"øÈ{¨-MÌèùˆÀï>pq§Øevæ¼(k£ÿHßÏíäûÝ݇MzUÊ;NŽ-Ú)¿ '%ÃدÞܽðîÊ_Æ–Ñ64¶8Ôoq„iò3;kÁ›d¢û½¼ 6mˆ€ÊmÙáì·«nŒ¥RðÎ|rä†orãbWtÊI/T ò³±èMrÍÿÑÊÚ8ÇSÍ~Ó6âJa·òNzse|DTùX7¹ÕUœ9×_³“Bv<ûuxâg7»êß‚æÔÐýAÆ?¨=¯uF3š"ÞÃG[n·n‚•ì…zi¶×áG)¤ã`„ö”á¶c·Í‘-šûbcèa;¾ °oÍÔ±+%Ä ”º;p­à$„Ç“vÕÉç<%ŒéÒo'ó²±øÉîz+áÙ1é“臚 ‚ÕbáCÒøÕ¨“.¨lÍ--ñâ'q6µó >Â]çéµÉ55õ0;wsÄ“'«×Œx «*«ÐEÝuÐ3‘f æIÇÆMJ<Æ)À2Ý£ \- \°eg;s©^‚$¸› ¯h­cÛÌá Lýpá©—Û-S¯ÚŒ›Ìˆ—›Q]&3˜n4 ¿ ]w¼1ÍÎöLºu\Ô¹ShmÄ¡é8DöóüñWj‚³.ëéÓÇw'ÆÍ¡¢=œDí,F÷å*#PžÔµÀæçhü%f Ÿêâ„N[ý¾¼Ì ‹š ¢$ý á¹ ‚ʈº×W)ìÜÉåÎY†4<Œ1)¦`20Òm¬_{ d±èó2Çè ³ÁÝbä¿ ˜Ç;ú­íñ~Ÿ½‰&ã˜vgtçïÒOìP:ÑW'î¨ç¡T„·ÐCíU§ýö²µL•!«˜Ý‰>yÏ™z-«”C6Pt¬IÏÓ«gÏ3Âs—äê+SÏåØn9 ¬ƒ*ÏŽvmtgši®ÄÆÛo¤Û‡§1¸DÆZ {ûBbì{UÕpÆ×àït(CwàRe8Åݰä–ó¶­ï?ýÍ @»'Óõ‰ïôsóªJW(u§& Ï4¥»f`HÝ'Ó«£–ç ’'ª._ûŽPcw.õ‡ÂX»Gdy_ ÅÚxМÀp}}.ßÃÎ'WbœnõÙâ9å¶UC¶{æÆ¦Úúný6‘q˜gé·ÃÓ¿+\÷äÿbŒaíf?£hi [õâeÌòì5°ò;GÂ;eÓÈn¯€2¦…òIkJ_ - ª›n[ѳ¤ïþr„}GíÝŠ® (r"œ{£0Ï»Éë¶”ÖØo[\µŸÈË«2vMT{´¨§ ÿa—û›ot:Œ”_î‘! OSËþêé¼HÀ9a‹Iüû?m¼ënŸ‡ ç¾AIsRçHÏ“è Õ×î+°Š °Œ•|ûlá%êµWVÄ JE·–Ê–xÆ]gA.¾Òr.¡AÝŽ_FÔ¦m½qC_Î*¿ûž¸¦Šs] `ütj7^LÇæÆfÀ˪‡wöjz‚zÊ >…¸’ƒES=“˜ÖBûÜ)ÙŒ±øõÉMb™M<;‰J™x1tÝ![Órs]úÈKƒitgm‘,—€ŸŠHW2 ŸY© nt-©É)Ö<Fpê|»­Zhîï/\{Z›|ºïh ±hj¯‚=sÇ;YÀéVn*#þ‰ëÅÃ2ÈÕÜØE"ðæÍä࣠—tp\0 :Û,^Cfÿèõ¨]É¥ÇøGÀ¤’¾Sˆ a«7x¦ßñš]o¢¯|uº ÍãÚP ¸Säܤ :ÐzD^Ÿ£oܾ?¾†ù‚7½]TAùkȾ.k©ó5¶k¨4ª5‹y•BÑTiD’Ê\Rá×GàBB"¤Mº=é²}³ö‚º~Ø6ŽCuÆ'êàÄRß ×Ψ ^x-µå½ñHô=¿EïŒg\- ºóîÐè` N$ee¯p›µå=~Mƒ¼îLWŠY{˜ãöúáECßPí½”è‹Ìen`UqŒé¶1¶ì_á#ã<ýõ³Uxæ<£8^—ÓZÉh¨¨þ׈Ñe. ¢È–Å–y”|””‚”…”ˆ”‹”Ž”‘”””—”z,q9U¼š”# ­RýÀhÁϺèëÏŸâ5¬NJb*Ð’¨›Jª¢õj~•¶Š ²Ø_ènã¿fž¿ÕRs“},ÏÖ6½i©Im“ôÝ„£Î¯æ½]t9||AøÄ¥ ë"¥X¼âY{¸P‡ƒÿÓ¿ òHš¥ær«ƒ`hä ÿÇŸgN„¥KWü«©)Íû¥_õì$½±²:%Òúœ²Ž“ÓqÔïÍU’.ŸŒý”ð‰G !&¸á qÁÉìáÓù™âú#4ØÑû y¿ûßæ´ÆúÙ-Ý9©¥Áá(´ýºV ¼In­zÚWÄŠ òUŽÄÀ¤,ÛúQ²P1Fö£ùOý½½53eæåsá˰èñêÍ.Ž2ÚŽd†mج—½â—ÓÒÚû>©/ûÚÙS¼ ½ý+Å|ǬðþÙ¥c´+nÌ•ðGdć„(2ó/RáÞ-ülYŠ¿&¬÷êóR–þ’ê  *]ëˆn C†ÂñAÍÃ?9·˜¸+~t#,zAûJpÒÊü”ÑÇPåßÁs!N‘žse„E‰Ëг½Ë»â÷šWz¡hÔ¯*qR‹ø“7¾ó=Öi蜢3ôÚ —÷?ª@‘åtPç¨>V¯^c“[ÇÐmÙ¢ñÈ ™»ŠÕ•lél=¼‡!Ç+U`Ú|ÿh)ÄÅLV º÷£@¤èK+9Þ°-L®MÛ_—}¦g°S¤‰¯½Ù¯vîëF¦Î$º¯‚IC7ˆÎõ=)/ÝŒpÑ2Ië:tŸL+r±)-BKžÌ¾æú¶õŠOSpÀâP- Šq¨ò´m%k5µ¥è©²‘oÎ4êÇ;ÏÙH›ìÞÚþð3ßyâ·Lü¦ßá1Tæ Êv倽Ðì 'Üh ¹Úéì~ʹùs{Ú2/œ3flaSã~!£+R'Ký¬Lð;6ÕVi×\ò†—Ið<ËHuÚŸ Á"0Çô ùμŒKF )‹—–úžQ·§1Ç+5æ¯GÜ-6©…5¤3-£E̵¿Á ˆ `&A_ Áñ6˜¶o“mü½S·âQÃíWÇ1ÃöL€fö£I®ˆ»ºMΦµ›Ç´*Yle2µTà [üÝ{?Q QÜgüq‡ÆŒp/Iù²wEpHiÀ‹å£rQÞÚ/ìÈIVë’´ŠÓ8\â0;\hð‡*C4`¶¢Ø%ì(ç‘®T0ØSÆskä RþåþÕ’TœïJ:|ŠÕ±°ùnzqµãLWsv•*1T Âï½’Ö¾d@hV%hŒ) »;•9„Î`3ôƱlç¢ Ò õ™M}{²EÚ¾ð¾ÌÀÞ̺ë6í˜$¢` ¸q4r§6 ®ÙˆÊœÈT‡’ußv½èÓœÆÏˆÎb¢ZJòMCvdõó o»½¾Fƃ&“‘7}1œÇ¤›S©UbîÏ"/Ðå§öö+ 'Õ¢*3dçoÀëÂÒEßhJão{ŽíœúØŒÂÑ[nÙl£]4dåã ¾ÆVPw†¿Ö¨"‘Ú“õáy÷ Îf¾ã¡¼ ]öïâS4‹¸iô+Õ=T”¢â!ª¡¥yìØèJ6¥³seYºééØÙ¸ÛÂc j­/è€zß…þÖhö Ĉ˜’L„¨]Š-B/,Þ¬ç:Þ/4†>„8¬ö†UTÁ£¬l„wFhÚ#/ÈàîöÇQ]mxéƒR)òØ-Ö+–áºÇÃ’ëÊi¶°[ûa5Kw¡PvøeÅóÞøR¬}@öŸsâ>½8gQc{Õð¸VŒD@¿1ôþEñÙúOYw¾MbÈö-ÐažèáY¨Š×;`‹ ╹¤Sã"ƒÏŒ,ö€¨ZÙº£´Çp°žªˆá{½\檰¾Wmz¨gÝ„“ÓÌš™Ò ¼vº»Y• •¨w‡C~å¼ýbd%ÚÔÿ@næ·xŽð5·LÉ /ï¹K7Éw²{›%£&äôgºô.6Â$f:[ó7~ç¦èÉòò4WQ$œÆ†¬¦8k½†!4²Ôί]›¹¯` ÆÐ¤ à¯MÈfª³¯¥õèêCüuå ÖôËÚj•¶ ½ôWƒ¶àÁgú*?t͵ؔüZÐ#„1“ޏìa ° U á÷‘9©:3æ‚À0iÓÊ‘ªàé ¼ÃÍ$î\ /¦‚òÌ“‡s”€GAÍ4Obèß–èÏGb‡¿ôÃí;ÀöÅIÃs@vhf¶­[˯®î±î´î·îºî½îštÕ‰?Ðìøg ¬ø¿'úúq’žÛyÍÑ_M@2ÏŘÑökÛvl»ÍXìì¨ÅH;OºœˆÆ;ŽÒBüçlTJŠÑ\ÈÐá½^hE\ÏOíR5½fŠ'Í¢çIS)´ŽÔˆÙ • öîNŸz±˜e½‘•;ÞU0©ØŸµkŠqãß±c,x\2«×½=s:i.î ¹¹ä˜aËλù…'HAËø­gÿ~²ó˜æåÍÌèOaç+Ÿ@nW0œ‹×¹6*Œ¨ðl.üÓÍõ]‡ÍÝx/×/w„ÿê¶’•¼Ü‘ñ4·Nßãˆ–êØŠ&·§‹$Ž;«èQYctö«r7mQÉ©ÛÂ×á…‚GÕÂféIî‹ô‹œœœ œ&œ,œ2œTòZò`òÀîÆî2äú‹ž–fòJ8œh?††ûIí…Žeu¦z%>ésK¹AALÌî3QG8÷J{£”¼`¸³? l‹,¯…¡¿>?¿ïImí€VTeeåVh†wÕ@xíiØRpÞËö¡gXs"Ò´}½ ra ³?œ2b_Z廵pQ(ƒøÀ8ä×bJ{QšÅ8n~ZSŒâvÔ㤖lò®KÛÇ{ ¼.¶Œ(ô1ôƒãJoÞ©>†#uaJC^®*Å ú´5#Ô«ÑKºßYÑx Ú¼a6³Ü)Ò“%\¿,gŽÔGÝî‘»ÂdpI rVáìY?Ü çþk˜†JMÙv“Åù¥‰¸ [ýŒ?0ûÓàymåy®¹D96oÒêAÙ¨[Ôl¤†eÌ1§CªÅÉá9õ²äaIi›§! ¦skbA{Å‹uï–÷PÛrÑp±¾oÑ%59.{(Äߌ$xÞ\úc•Z_ J°z~>œ}Õtý “©¢€,Ö!ÿjÞÒÖÓ¾ ”¹G> ±Á&k½%®äÊJ›4ºž†ÙÏK¿ˆ—è˜?¤éß[5(ÿxÍoQĽ—ä6ßú~™n?ô?5HÇ’y²lÚPL š¦S%Ñô@ ÏÝgÀŽ-p% †1ö‘þ0ßÝÏ2Ð?"l1ÔŽ2;D¦[9½¢"Úüá°—ÿn­™ùówÈ&”ú¡d(VÌx~ì’ŒÍ Wïÿ#ÞŠð÷œ±À›ÞŽÿñ<¹Ù,Lî}û³·M=pJÈ| #Ws‰œÝ]Õ$S~Á›¯éè¡ú£j+Êf_Š8›—ðz™Wö¿I†Ä«Ù”ÔTÔ74ƒlÃCwÇ¿Zj™ƒ6èLQrïø\rÕl¥PVý(UÞ%aj \yCël©jÂÚ‚U]ËõÇ5-ªQ¡÷3«á#DN(`×!‰HO³ÔÂ(ˆÅÀmmå;…ìS$rôŒäѤ µyJO7æ\™êÎn+¸ 2ï]ÃæÏÉhí¾®YÀ&b†Ó"¼ ˆLm­WûšA6®jFËEÊ/RÖB:¡ãé25U½ e]IhGpçcÿöÝÌ)‰Ì²˜Nb@‰ tñ£eË"Û8†-‰*ð }%·£‘£á¤ÙÙ—4—̦‰ôtŠÚwˆ’x" ,&í8>^•çvIªàK‚³ÉLv'ä¿B ÊÓ¶.Pq‹•êäÎëëbËé Cp³ÏYÊrkÞgàÐFxÑlvÆ«$¹:08íįøÿ¸©Â>aRhxÚýÆþ¡ü³š‹:£,îoìÓq2¤Ë 9wr÷R„³Mà)Ê #td*5§Ä3|TÊÖ ÿŒ¥àÊw‡SäÎI’Ü6Û¾aŒ´—S“Ð'C ¥t “ùW›éß;îXåóÄŒW²å¹4 Œ ЯO²ˆôòQ*Hb–IãЙö²åÇþu]GJÕ å3‰‡3‹›ÑÝÕ'zH‰uÞ0=Ò¸WŒŠ'Ø &7 ÄÚ÷ÝnU{ M£“‚ûèW“Ȥ*ÉÍ'JvÙ‰’ aS …ŠáFØü÷éÄ„T÷›‡õ¾h¡ óG²\ÙþiÔé§÷ÂnµÎ"¿W8>DJ’±ÖJP†–m}û“šæÒP¡dÛà*úphýG†;j½.Û"qËöÃýó•@¨ ‡£Š3›^äëŽ#„¡´XP Zks¶|ìiœDɆÇé‰ZpP?©™ÙÝÚµ Ñò+pƒ0Èt’мðÐpoì¥'fE¶&ÜßôÕÖ¿äm{óf¡4¶%,Þh×ZÈ¿ Zøœ`xiÂ~â Z-xço ßë-)`ùŽ„êFTæSÉÜÔ;‹XÙݤf˜aà™ÉÉ‹¥‘× ‘VÛмß Çš²¥yü«ÉÄ»ÕÉTÙ?›¬–4w‹¬™ToÚ"Ä‚î‚Ë1Ñ–Îæ„†Ù¸_—Fy¸J3’^þíë§È¤íô9‹N´äÔ¬”Õ$6bUÍ2^FXlX£ªãÞMh‹æ‹«ÖÓžn§„T˪ÔjñåMçߥ=³×Ph¡Ûb8ý_Ã]&Ù· }qYâú|ÍõºßhIM$Ühø!œŠ˜ÚxÿÛçþh˜ li¤§Å%`ÈEëGÕ—æhs[þ¤ÈMhÀ]e˜D° D£{  »0?.ü×så13ú3ƒfZHSK³Šú׉ps?…I{&©ô}_Ö/dÍ@ÀVA‚›@>° D¦{–7U',TxÛ™>ÿbH38¹<ð,…KD,ØA>騨¬þ9.iÈÿÒtaÑíŒr¦ãŽ‘y¨H ƒ   ²æíe£Â¶gdr s=¼FúAÄäŹe+%È­‰Ϙ=èÑ2?9i°tør¹AÇ¡8Ðs­Xm0EÃÊž nž„~‰KË¡ÔÞßÎXI÷è*&Pˆiç $”m¤Ïvœ»™¼Äcòp“Ñw¿ãë^ej2ÉiѦv¥"…Ø‘*|\aĪTD$E1×q*ñpøÈiª|‹lȽw#éqnE†Ý˜#)¨´H£ è å÷$ÝU+¿Szˆm¾0¶uÞ+«gâ , ÑÕŽ—Û#’Ó‰6D£4œfB.†óÿ×iØvåwø43à‚JŠ KQ"û&Jç,óBþ*Ykâ !úÝ•#™{d0ëY¥|p¥Pë˜hÿŒ"¾"@½m›±„þ%7`6ƒÆ„^dšªkb#åÉ(S‹úµiýø”õŠ0ìCï %íÇÉnLúaW`©³Ú:Í<Yì¸À•!_#³êˆCf”M?–, !®Û^¸úɾÊC]ôs}žÙû²ÄSÐ_‘Â)Ê„ŠæÉÈ££(„‹è7³oùùr¯FƒâžPÁaÝ^¬¦p@¬PaÅZd*“ææÉp VŽô|rã1¾lkæ©Ò]Hk±ý´Óêhž‡ÖþÎÚv´J(ェ-æ$:lŒoë,E8‘®“n}Áì0ÑVK|\2¿$ÿú`ž°$6Xú:²±GIE˜¹ ž*gs‹Úáÿ®g‰`Æ ¡—JhhI²Ϩ Y'B80$;…š›åÜâAä EŠ6_ÝÂZÑ‹ËøÊOž@¡>žªV ’ƒ\q‘„^¶>F~± ú_?á6ü:½B6xZä‘~­­‘K5~‚R$ˆ²2㨼èšà±Ô´W®ìèÐA˜…r­6$RF›8wJ_4 Ù­ƒ4ì$+ · j„¼¬+Ó¹ 1‚GÂÆ¤‘\<}‘ÅâÂt]CŸEÙ¾ŠeÜÍ%gGxèµ°@"”a¾+¢v*óC.>&1¾زà²<I¼ú¿Üiq•O$€çÔþ\¦O=Êʹ™°5v?6™gZÙê&(f(Ü^‚âí~,ùÕW>ˆIA…-*ö 4Jùu^è‘YàV¦,f90¤HdúÁô¸0Yx~&ÿ…ëMŸPyÉo‹J­ª(åÃZ9ŠwQÇ'b“É|KùÓ´Pè27 › ÑA–»wqÆ& u]âd¼X{&žA‘y¤„X¬ôœž—’ÙEw"ü€_µjó¿&l¡ƒÍc$±Ñܹ‘¡y»^?ž\Ä×õ#êÙ/i!›Gj^H0ðæ4¢êa1u2­ía<¦65Z„3ÎGPô9}r\6ͦF”¥¯¨T#x‡‰e9"•~S!Ó'ŒÃ€½¶W/ÕÆ)àl{¢8¥Û$4¼[Ð$÷gj‘¡?tt2»î}IÜÐ@·ŸÒ8-"5Ï~JõÑ'ñGÙi†/R*›JpÙ@“¨µ™£^}^µy[Ýî—3æd£xv| 3Fªº+†0Û^{ ˜Âçãv0pÝT˜õYo†™&˜¤ Zߤ6ÛÔ™ð5Sƒ•w÷r‰@{]·×,žèd!ØN7ëÜ7Ș÷Y}îibÿeÅ·Êd{eX¶÷¤hí/èNaD!?ˆ |å|Ž zYfÈQ`z8HÈ5´Lla^óhüRŽ}Ë™- ãˆÄ!¤ÐeÕæÍýÆä ìX–;ÿÖ6s}?ýÙ ¡á#Èð"Àù«]šU(Xµž4÷=ž¡ŒÔ‰„ôm ä»5¿¦ª4:€ý?ŬDø”rùÊ–ÈŸW#î<íE»5LÅà㟦+êsÎ+».K}ñúø¬c†k\B6ʰ‡Èi¢øÖTȲ儶%Ž3#Q[Lb¦nIˆfÊ[K<áË\ ÃË>›o _ Wå³Á÷ðF^«!)ôÙâ§Vt|>->n!°Nï|Ó¿ôš ©9¶8­½µâ©*nPÐiû¡-ôYA½Æçí]:-°)Õ»ÜÝ#PÐÃ"i›gÑÃuw±ÝØ»¨0OË#ûÑ(U\ŒÝÑ£T:Bˆl2…›PŒè?Îr®Ð‚¤¿Ýóª@fC>Ø|8rþ»˜ŸÎÄoKØ¢ €á¶l÷Ç¥8ÚÆ-9ǬQÐ[\äé[ øäðqÛë%¥3?RÀ„c™üaÓÜâ%²”¶q4UæGåOî ³\PO6{] ’ƒ™RB÷^!’癇/`ðN‡¾&Ûã’¡E&}àE·}%ñâöoE® ×»Èêxëõ?ˆW‡8œ ÛëJÅ=QE»&rÏ?ˆ ÿà0âÚ#ðä($D›EZ¾;ýkzèLµjÍãšCý©EOo:  }Ûˆ¤îÉ叿7S·@±½v¦¹E¹NDöWeE/Ø\{–z~°Ú+ü‹îÝYèD¹fjªœõ„ “â××Íá©äcýì;d»=œLésöQºM¥Ôö»PG]!Wrk‡/Ș¹2T3m+¡:3´Î²º±ºýÖ¢eP¤3É䑵ÛÁˆ‹ðÆw7[½0Líä+x£D>ªW'ðÙ)&÷¢àÿؾe׳uk}OFQ“# ¡ nÛG䓊ƒ Õè‘/ˆtw«õ$èáC÷;ÐE¸}$bI—P¾ÌÂÏ ÏFåì¨#ÜaÔNã‘ †Î=@lœ¿¬yláÐ…"ùv–ç1 ÉÒÇ9ópxCJ•{kZŸ %0e¾ÍÀú^okTˆþnÿ`rS)Q¯Êù>Ï$Ù ÐÛfø4¨ .OO@Ëx†’Œ€Ämf9Q ;ׇ¦QLQ…žoÚ“€éÛv‚u;³™C—á_àµÕæTõþ?7ü¼Ú?–élB!ŸÕõ„8¶øÔ÷1MLïÂ]GrF»PjA[<v! ôßN_Ì,õHÍZT}«¬Ž<:Êí·EötäAåž#xбœJ¢k…Àz2‚zNÕxž"PƒŒ¯oÞÚèŽì+Èb”jµÔq[îhóÖ|Q~d¡v¤ /ãg”1öƒU´U™ùÑHØ›ƒ6ƬN£±—[‰oRv¼¦Á×¼Öíã31ië$ÆÞ;j\.Ÿä„¨³ïì_‚õ8ĶÈâô ƉĵþŒ"°ã]L´›mЩsèÏS0½db±ØUÚueg6 §!Ê+óvW–‰ð³AîÏ[Ëÿy‡“‚Õé–Z{ s@ˆxø‡Ê6†: éÅRšçÞO&EÃÄ*†BE™t!ó¤¨N5à=âÀ'ÕtîßÒ‰²ŽÃ˜”&TÀÞ­I±äV_±e[(‚½DÞX²y:U[Üç‹5RÆ“:¹S°¡NŸÔš\…s½ÆÒП2!ýF/î@Íò>s<^–b>y} äŒKd€%–³`¦>懟‡Þà[gÆn^Õ¢ôÀdÑ(-æÌÇå«ýÓÅ÷ëE¸ìÎ¥ƒcyÛKQÏ&Uh—çb¸?›ðïm뺉³H7žh”d‘ˆ|ŽOyzxBÁ rL±ëì~9ľ˛Ã+•r.“%Êpqé”°3[©ãŠé’¼uûEƒÌúQ®“B{v–Õ$¡€©fcídò%î U IàuÐÑ`·—R­î°z3Wã²t­ç“NÙÞµ)KyÈocc†Ø*۱טÊe¤ÏæÇýŒŒæ2’þà†Øî^4nûǪâ=g£‹‘‘ˆ¾R¢|¨„ô!¨¶V³¦úæ§“=r¨1¦‡YÅ]bô-üþ–PüìôÖK † F‰ûêÍ¥Hþ[ˉÂþÔœW_ÕEù¨Wè´óÔDð€'[e‰ŽÖûä¥Ô Ó>Â<³kÈ-‘8Üíoj¦O…²äØCÞ÷Lb\wrÔ./Ä´¬ÜLÂ|°Ë€u f*¼¶Žº£·«Å¤ÙÏ ¥{—R K;òPy!O«ØOprLLl9qå:Xér°e}‡´4àRº¢$kœü"jU"Bõ³¡Ú‘ã®ßÅ€ôo7äN?‹êYÎÈ{fp°ü~Ì”²ò¦ Í@Î",&#òdmq4ÅÖ"f¼@‡)—ýT/©OÊo—•p2Ý d ibìƺkˆ{Év,$V©ÆQs„îÆ!»ÎÎÙ%Î!<Ïü˜â€p+½ü8YïHÁ#©ŸˆGcÉ;,½amxt“¼v()ë.|ïe¦J×âþ Äú?¥›¬(Á—îÔŠƒ¡ºÏüÄÂüÿýßï,ið0Ú2Äé¢ÒÊg!• oIæ™d}5“LØ×—Í®ƒ‡——½g¥ɸãcÔþ¾WU9B‘vò‘ÒQÿÀÉ>û¹iÏ.à•œ±ü4zch9©|ŽÙôŒ h‘ØÊ«AÕp0™ êŽÅ7Øó±…ˆcÉ0¯œéÂaåÍÏý$ ¿ñ{dÇz¬2”rÜ]›…^þmì2ØR¹X¬Üjâk|0FÌÞãPý =(6Iµæ…œUZ´1ª³<Æc^“-Êq‚Yh*ÍÀ݇*]_^P5Èì‡<£¢cª˜P•½ËÀºÔøh°2{×ÄÓ*ÈŒ¾1ã”ßxWXy6Ë®3÷ù¾Â@ä~Õ–ÜEú lVÃXxmön÷ÍÇí*ìíÔ$Y¢Ë`n¸s?ÖÅ[KÙN|(m·™c/¹ØH°Ú„½ZAÞ—ˆ¤BDVMMóbF:jëiiµô ñ_êQñí%¨A—dwxýf¿:Ät• ½ c y€3xÊîJØð¥Ì6ˆ÷³=ñÂý‡m[ˆuk¯ ?ÁƒY,Ò‚û©×–"s!NšžÙmn„¼½ËÄâ÷u=£Wô“qÔN‰þßËüü›Uw>eü¤3'ÖìÃOò¦?æ2öaÌÖ–w wŠAŒêú(o¡0Cróáúvݱ°ðe1½jêBÔRšd'›#–³váÍ#ï¶1÷ µbVÔüp…¢XE ¨X¥mµ?Ç‚”Ž@J­RÓÔ‚¢$µEü¥d¾œµ¾d³¿Ï·+·Üˆ/ ~œ4Z‹˜!Éý=Æ¡VÀ+Ñ·v…í2êlA8ôÅ1bÈÏrn/„âªZ¼›F©øyq¤­i•JÌÌÃÖ^·D[øbÕu ¼ ÏOéPWêÝùû… yu ²G$Htˆ°Ê‹Ÿv¬± ߎ³–Q uæn9Îû%2ç ¬v˼´§D6ί»ÌÀ…ÊWJƒÕŒO)¿›ÊÑYȇ$ÍKßutÈ L7ŠxÆL¦ÂUå~ЯåæmoWø×¦ôp­™»£vÁªÚ•^Rzî–üÖ³;-Úó5©›h‡Dø®‚šÀôë”Rþë^‹º1ÅÓ"ÅŒµ…/_ÈC©ã–»µ µq_©ØÚWP t_ 3OÏ3õ!éHÛ ‚Æ÷/«G‘˜ÆcŠ2¼t<:€:g«§ô‚)†g¾•ØkRp‚È÷™BgïèZ'×›Ê#[ùÃ54Ð Ь8WkùØy¢Qôa­½¢©·<' Vjd£²w_ªw=êèΓœ+«ˆÎ¢gí\/$"{Ρ‹\†`+1T‘ŸQ„Êö‚TJ†ÇÒ†Èö…ZFõÙÈ”SÓüyqÍ‹:ö_å…JÒ£u ¬Gi<õq+™æh)ˆG% @εÚÓŒ=që'=˜UnI¬Áp¯LŒsOµ?Þs‹ãbÿT¦Á¦ ØÖ Y&ï&b«HîØT»¹ãíMŸÄØè')5­…ðæl‹|Þ Êah&†R.æ\ëjó[È9°¼ßQå1˜|éxõüåV™Ò #{»¾:Ë¥ûH\/rÚ§î î©oâ` Ð{á5èïiT•ñèÙW#b³nåÕ¶jtLÕÌÊÝPÞÑ-¾²JNȱ±v=š`pEtöXe¾ÊË8íG?ir$¿FL.<W€cøë\3±ã9”°=„×GeõOä^òiµ×°•V§%ô5?®ºCîf£K wÍÕXÈPo7<›¶àAø­Ù÷”/ý ¤A%ëeƒñÊxp²S²ï‘ý Ç4™ÛãD6þMk·7I~¦Ð‰$£BÈÄÕq/Çq•ff4 øûx¿Iá2õårDǾ‹#pt£¾ O®[/JµC=Q.’5Ñ%Ѿè–\ªŠê²'ç Të9d#~|·åa~Xu°QH½f`Dl¦‡! øÌIÓUê†8Ø'ë«p¢¥s5ôx®±Û«;q P^vÌ–‚ÏØû]ù°åÒ5]¯B/æ.AJgÌG—D0y83«Âë·Z_% ƒàM'Ä3¿°4š¥²úÉpß'…„ª4ê£\‚S›þ¨¼ú502#’žàaóþWÏÒüϹ¡<º&3.äYâUøTƒ­JÜ&Ä÷&6}ô…Q„}¬ŒÚ3&³©ºp9»T-ž¼ØúÅFúø!þuŒÂIRÅ¥“@C2çŪ]¶E0L©±ö­œEgÓ—ŧ÷ÅÖ$õWÃìH¸‹á”pcýD…Ó® ]5ÃvÀ_3*‹¡Çü‡ppR톂·:%"QÎÀíŽ%~F›1@мe— ¡´Æ>HÐh"“¿*¨Ã}È û¸"åbÕ «Õ*ôüU58%<Ú¨G‘^,ïí„…p%YÓ„=ý+'¼ :lvûÍ’:%¸›^^ÏÔp à$ Þ Ûž-˜[¸\ëËíÀmÖÚäu•£-:MeÒÛtÿ'3B@6I½v —”Í¢ê¢LŸV¬õèUSåÜ„"P EÙ±H?p(p¬këteëi…‘ãói±9…ÆÒÄ{À¨‡Ÿ̳SüsLIY$ËúCþE'y„–*_o…-A¬~ R›)3g±.%®A$ùãD3$Ç6¶ºTv+¢Ô \gW¶§Îo‡RÖ•t:ª :ÎZüÿ2×Iª®©̧ÄÛ,Í(&Ñs¦÷²Psjhú/Ejs•¶A>¼(Й$Zqú—¡·xÓÕ¦­þ¥t™£„nü ÿ†£ï ¡ºZ¦F(tè¸YŽ ¾è×Zg¹ Ѽ=“_ÏxOÀfdÉÁ¿Ú™Oæ¾ýìrhF,õýÊ}*Àñëî? CîÔ«‘ÎVI*Pò­KЍFÍ:Ô •¨¢ ScH‘!‰;U}§é°Ùã¢Ù¥\Uí°UÓ •.NÙ(¨½Î³ÔÅE—•¢‹½ÖŽ$ö«†¨ÁòYÞ%!>ì[.ôº}ëâì7Í6æS„¾åôu«ßœ [J7æqÎJò…jö2¯ÐóQÔ»éóé¡Ýù «ʾË­wuG:[ ŠÈKÊèÊÙè<•WâwvÕ`õ™À,.òаó#³æŒJ‘3øÑK‹ƒ ã”@r¾}=Œl‚ñ»$Ú쾸VÄÝf}¯`ÞÔݲr+¤þÌ4et,½³bxí6Z‘9Ñ%ÌAõZáí€gNqZÏþ(y«; ¶ÄêuMëììðÏ‹¦ Ò-sðg/ë·ø§{—ã|SÞ5P D(ç(U3T‡ÊS-!—¹cåó  Ho÷™pÌsûèYÊìß:ÿƒV ´©ÏÎÝ–±¶À|þª1MAEÑ®y¸~*ål U¸á2á>ç *Ф€‘£tTÍÂôOEÜvù[­ÊæW$Û*±sŒ›çoXÆbõ®Ý/£ FGä „71ºÍó¬÷«Öð@ºwe"þ*Í nñ9VõcÄ›Æ×[û`fŠÊ;løl¿°peøì0x­ôvÔn¼ý­£lðñ›=e¶ÖÆô§=ÞîêôlVþ¶çèhÜm×9§12šêŒʃºgÙÎ)ãÀ‰ŸHÙ½DÌþT^  o¶<_ˆxš£!§'|–þ‘Ú…2x-@B¨j-°qžç]ÊG^'5Í3w6Pi—áˆÖõäSÈïߦè¨óRE`±ƒÐ@Y^`×$¢–ÔÖ–   ¶%j~ËYbÔÔ0Tè‰ýž/'—ZˆMdŽF–JIÈ÷ Š"ò"{<sžt†Pùo<Õ‘Ql±¢®·ÓC¿Û=RõóÀÂ,õ%>½<r¹Òvœ÷âñXµ*³V­Ÿ»Õú’Àÿ°AsÖà䤼¢P9eõ)&çþq˜K.Ÿ²èwÜià þ“; 9ôX‹ù==š=¾ºçwòfâA›îœ¢fÃw 2EÞ}õSÜOÒÌûê84ï×x”˜T˜ˆÿŸuî ÷d†¶40*•K*Ññb‘“nO-k8Oé›(:£.ZÄT>’ØjL¦ÔÎ5naçÌ& þ*ÈÃjïÁ¸Ùç_ü(“òœè+_/‹¯è,”âËæU0ŒdýYpðUæÒZBùÇAÝ<_uü`Sˆ”;—ïD‹Âk‘ëåCC£T²m?‚”$µc“ב [2ÃÏÆâÛ`VžøBœ¼Ý`ÑÛ[Ÿº_N«qŸ‚×k!×E¬Ê%‡iܯÍùîªýÇcÁÁf¹ÏNÀÖb÷ Æœv†¤¨C³#)uôY”  ­:”Uâ+ÖÖ»d‹+s¢]«'YžnŸqн'M¸FÿÅYÕ†=¯?K¢Î¡8ˆ…§V÷õ½€ƒ(DœÕë‡åRâµB,¾¤@Ö'6ȸ\ã EªÝs5 …}h´ûµ¸(B{]'»à 6(’––šIú•òz-–#ÐRŠŠ•õpÎÕü++ä{Æ­ÈŽ–ÑtêœFþa g“bˆ¦Îò¿gªa¬[¥w£êòH±— kQÍœ;[m  èÞÈ¥,S•ܪ x‘ø¢À*á”sîª(ÖL—yÉ<¼6ÅF‘œ–Éó ;=!`Ù;ƒúŒÇuXËß#›ô_ÔBx«Ú›úç ~ùtª¢­©§raì ~ É`ù²¤ŽIÊ&¥z¿P/~:cÑN&]Qaö’Îåª(w;ýb%>Eœ\/õ ‹{¥ƒÖÕNCê‘>/s…š_þgVS¾Œv…õ§Kæëåo…ˆ¸L¢z2þEºXH8 Yç÷iÝwþ„yðmÌ퓲Ä8 Í#ãúÜm<9¢™t^ù‘Ëû´8:û‚&ܦz’S•‰¹Xz ]ß•tÐÛ àÇëV@ÑŸh‰ë6Í×ï3c`=Ûxc!-Mã›a-qlÅ„MÇ_°±Ê~"æµÆ5$«0‘Z&ê,æú¾ÔWéÜâÎÿ^žT «áê«t.Öâ6åãÆ8‰šnû‰4xîš7ÐhÈDÊìŒ%õEíÓ}ÃÊœ¹îTÍ Øœ›Ý4o]`hj5É[´t=L¢´˜Œ>†»æí3ß·IüÔ\š  I*ߌ­¾Ü–¿¸ÍQJ|Ïœzë =x u°ÜlÑW_h½ š0˜TötÇ"a0«º °M¡Š~ј¬´ 6i!”RÇCŠyr§-à ˆËT)H>‘}½N`îúÏŠcùaãG3{ ’Š—CD]0´šÿ ä1r6NÏ‹OuB¾ !¡‰Œ“PXeYw¹¶mrILc¼”•xɦÆm+¼©(„—w¬©»Â>Þfi:ñÈü>Œoó1Zú=ñÅr ©v!ÍLÏÀ5ͬØc)ñiŒZª´Ëõ gŒJ.âm‹”R¾²÷>¢NôÄ.˜ÏÂ[ò¯S@ÐU2ôu®ÝÑ¥o¢Då/†­å \Q-³E¦±‚Ò Ð„[ÏèËjÖ×䔢SO›&3ƒ£'Pæ°UŒfmÌÜ:S äoCkXHq/ ÜõÐOÿݪÍüïÑÖ‹F¢i}®6ô±¤É&KÀº¢,~%w5:ÜèVŒ3 «•Qö· ± 0{o7ñ‘«6ÙÖЪvc߬yKÓ¬7‹Æóö(ã ¡Óª«V›Õíâ@¤¢S¢^Å€bmf<膊´“ ÊɵžåîI¥yc•F â¬;WÙjÏN/‘I,:;O%÷õ6Âh`ïFïHê~RÁ4qeî|K[Í>ȼ[„nÖ¬à†NÅVTq7¦Ñ3“c¨jDÒFª…±é¿•‘pnù¿µy%•.:} ÃGØ„)QOKgÛyõ´ráæißѧŽÆ…oõbW v—&F?oü…ÔööÇK•ªnÜóåéÅçXÒçRÍDÑ+´ï…+ãQX¡ðƒ±½íÆÛŸ±÷^ÓY›¸<AÃÃ.;"?¶µ[;©‚„Ó!YKOTûå ïAáÖçê’åê))¾šÏ›ÙX§ÌîO.Sƒˆ)W6 ¯wn6DÐɈU"[¿q”¦Ôƒ¯~ÉâZl@ž$Š2³Óo¯³dtá²ÖöÁxsnЧӨÉ{›eL"]|À)M¯^±=!Jý¼ô_¶ÀHŸÕ\àðâ+÷˜3<àßô>éÊ?BAlA0óöÇQîz0Þ›èÕB+nâDOìmµÛQ¹ÇˆØ‰ ¡áYYÀwf0G-í"JìU´ñK®MÒäM”*Nf­žm¸*¡˜ø£çÏZ/úá|.=ü„ëyQ#,áB1Íç+ÆC¤±w £K¶Oœóå3Ü—òï¶Þ»P¬ºužPéeÍ”ðow£Oø×4ô­±z,ø×rtž> ±\OìYГ PX#£e+6Mþrþs ìÁP´—Š?Eb¥S\Cøýp=dgщʦõÞ}¥^,¥NëFƒôƒ“ad˜~[È:W§.‡9ƒ ]Ë v»^…qf›áÈjK¦Ýù<ÆÎnôò7Q=Û?C†µ mV¬ï¨s´$¶&Z‚àǪˆ…ZÂiP)Ž"@7ˆ»5ÕòÜ«^ÕCX&ñ?8WDÓõ™…ÒA‘"vLÔŽOàŠ‚#ÔL‹1›0L‡¼~¶Ê)hN@¦¶a f >™÷=È‘ k´~ßãÏN¸ 抆0³+žÿ$Àu|w@ë[‰è7,4ײöï9Æ®@JÓy–(ÃÆ¿‹Iöþ.ùŸ yÒsŒEÒTš£û<#XQSHTù™wŸat* d2³`»|ßaœ±^úNînURÌŒyÎ9«€¿8èØj(¬mb´õ©~>G¯³Ç*Þhâ•èI콕gµK<+VO®~v´ÝO?èƒbpfÚTîAvôO[<“ºâ^|U*dNkÅ¿5†¥Áõ74ª¢ûÊï¶ØEà5 Ì%€)‡Àî~j#ôp”ƨõöÈ£f‡µ§J„Ýœ2 _¡Ï²|Žî ”þß4¢¤8óq&%*1ù¾Ï7« êA)¡ö¿=o“lÖµr‹Öe* ^_ËlÐÖˆ¥T ²Ç®‡tã ÔÈÏÞRÁ?ÖOÁã&1Nï`óÆ üo‰ŠÈvQ-'™¦GØsFv·M à ¶ï­°>¯!^&6"ŒêÐj=lqûÈ›£ïsÛk]M‡ 9Ìû¶ ¼Êù¢ŒàÎU·p7“{l,i)ïjþ^)$›²¢¢à¾…ƒîCKíö òô:AG>ÁöEÒõwŠñ¥ŸSÍÁVQY8Höð‡~a"WPÔf߉ÎÕÉ2WQãoû\4jEËC·“£ÊæËN‹wí–þ„|ùêZâ±e:ÍDÖ§û < ó›¸ÉX̵…éšß…lª\B¥8vÓ” ¡åaÅ—ú úËñILq ٣Ⱥ´U2&n=@´@ýû>ñ¯Ë¾É{ß²¾‹×ë `>ö§£€D(xbeÍa;ºèäF®f‘–@š—¯ƒHvóÓA+%QôÚô(ƒ|pŒ…¥ì:i¥º,ø|(M@†ãt©V¯³ç#Â%üVOe\Ì­JqD¯ Ýœ’ 9 ‡NùÚ8×ÏóAvû„âšñr³ãUòC ·ì?u©„³l±À|c‚1˜ÕSEoˆð-Ϲ.\R‹B‘vu»eÞ¾7?°­Ê˜ hBI J+Qž°Ìá<åÁptdÍÚßÍõ]ÆàÍ߯(y%î#A@ÓÜ®ü¬ŠÅ¡Äk1ÇÁoÈvø³²U> ±=ä¡å¬‰ÇDôB÷)“¹ ”b¡Q¹?¿3ï9y¾a>WGLÉu&dUü¢õÍÄuÃX£VèvK…Í=+±)ðå]dû´-@MÕÀL´Üj%°¸eKœ&ZЛmÏä5¿KPw8X‹ÓyDškm ß ªâÈzÕrf¥Ÿ¯í[›<eÖg¸["S½׸Òïp`Ôx¹¾ýO"À jšb®äš˜F$BH>0’Ö]oÁŠdŸdá/@Q/(Gø®_`¼¿”ÍuhdÆ/¯ÀúüJ *¶’”I/:I%üf,Õ)‡Ò‹Dû«ŒtôV¶®¼ŽOë>©¬}R%ŒSÃë(XU¡”)Ãúõª,8ZS09ÂaÁ©UüA½PMƒ24—LG”ðê£Ç"½`-ósí̧3l®Y:³£{\¾Óf6ɰ$ àôêÏ¢wÊé`Á¥Üø3ÐÍuINŽt(Ê’¥¹“ ß/}ãÓ7s.®¹•+ [k`­yòFÑY½ rHTbgÄ5Á-º|Ô—7¯Î·ümãÜJ´Ëi¼¸ÀÌ¥+ëŠz#Ž?Ë*6)ÖËí `MòKêMpKt0ˆßtüx/Ö ‡G`o|i 4¯È”0©oË«É8Üãw÷´šxMB<¥VeqØ ¬P²¡ÿ¦ÊP 4™÷ÚTex'4Ú[55«Rýà:·¹ðåÕÊB‡ÃÇÆÕgV ‘›”Ÿõr)X—í›ßsHGW² pÒ³‚êVuƒIïe’E¥¨ eIÄ7qåÓ‚B!Œ©–Þõœ4ޱݸ÷àà ú‡"eßw›œʧ‚&ì|´ͲÚ½?N@s¸Qå”Òuã³á8ÊÆRf×H«<ê]4ƒÉ‡Ï•­O¼ìq.vTˆÍ&\ý“iJ®ñø.E§ØTI ’‡Ïßf~a>':Þor0üx68.´–Ø®Ñ=í.»¶‚î-Œ¿†Y2*\Û) Ùƒ[× ü§Û²ÓbÊqqg&¿ãOEè’—·È<ö £‹Ï̬ÑaÚea™[KÚ6^Í•낹µ;Rþ U$šT¥l/)8êùS/|ЧÛ3ŽQüd±³q€5ß9XAÈÓ”¿[z‘Ù¬·ßQ‡nuã`‰÷bH68Cã”ã†ÀûQÅç`K‰bSú1BvfZî½å¦qûqÉš½ßT–¬ÝÑiŒÉ\-½“þļG7ø–´öÈr‘}ù:àxȇÄ4¸ïû]îvâKµÉÕ¸8U-·ð)c© V§° “S€¹‰è&ú±"Ç"cÖoár‡Yp'é;.:F¿ñæïûZÔÙd¦4çëàvEÖ¸ù³Ÿªsð%Òý„мÀWnåsfbྠ{ã%Õå&T“KGÆLú¡D½\äqEL>NŸöâ}`íÓ5n­^'U½šgWq¾ïÕŸl.²ºÇñäPÛÙÖ_ÞÌÌÛ›gT”|Rô>~´ñøÝk9û[‚uf] Àtû"²"†­P¼(niéñ •$¸{å¦ÛdÀ~ûEbTŒó1«1‰Ý1¨›#Òéxv yùìÍj·Op¼¹‚ðF~T+ÚKe¶+™ö¦‡ØI[%÷ɘþžó’£s Šÿ‰è‘Ü0Mi¸ÏÑxýe )¸à§agCþ…¦Ëò[¢wþ¢çò:˜«°d¯ÖJ «Æ±-( ê›©ÑöSBÓx¦õÙË,G¥ô¬‡µê*0Öµ6ŒŠ«,¨LÃÆÂ†scÂñN6“¹’ç˜ø©§¥f¨¾“­õ ëÌ ·…Љîj³ÎmDV Q…ë)Gßœi# ʨüiÊð¤U& ´¬PR¥¾?vd—,’7“Ç’4Ú¥CÇÑÁOaGvdË‚ÓExJNkyo½’1óÕFØÒÍ´æµlŒClnìîñ·Hxq» sy_˜B:f@fÒ†Õª• öŠ}Ü4|a⦅ìf;›5 3X­…Á’ãWþ!`ì¶:]_Gñ¹·'ûJ(Œ{¬=—´é$k¦ ]6ºž¥Bñé$ÿ8oƒèû_SÝÖ•nÀ”pýX†ø8IZª”M}5, ,å>úèû•‰®š‘Ÿë‹ÕjÁz"vìLLçaº­`ÆgŠeúÌgT£ßòRû–ø¬ª{j?ëuZ ª‚þ—ý/ÜW5r”haÎ\pÓ)Ó’–qù¤Ø¸ïŸæ ‡ ìMƒHbܶ[MúB(óÞ!QªrŸŸT¦T«ùº—ãüÔ.ôU…:Ñ»Põu¥SÁ‚ÂѨ0°BÅþÿ# n)òŸï{µ51¹È4}/âíäƒÝÿ–ç)ÈXÕÔ I¤°éç¸V\µ¿?ïoé%èüžEÓ~Q¾—…•l†‰󙽫¸œqì)µòzúW\$nKží ù›ëë ’±‘W<C ˜†Ižç~|âž ÂâZUgÀn8æœô,Z& qþÊsÆxèv㔨f˜3Vvì°bœîê•WÞkjžŸŸt¯i+Âè;ü‘¨û™áx¹)ìϳgÓÇ0Ži£—|%vÙ}>½3w”!T›‰ÿ˜.4?ÉÉ+ˆÞÇpæJÐø†SÎ2ª˜]]Êd¤07@{Ý×::m²è÷ æïIޝ:ËÛ ÛK†¤X0²e¯ýžüUºQ̱'ÝÈÕæp«^cg²Ÿ]ë}©îÌeÃn6 Òtl7‘ÕÊC²)x(E僋~ç=¨?×¥˜ùÖöH×M|Ú½ÚB‹…£àø §žö4n—2^5š[ŽÕ¤‘Ù‰çþX*¸3|pÃ`!å©ÊX«±Š˜€ ¤ ©//˜ê¢‘¶P¾¸‘¿¥ÔDh²Zµ‘ÀD»áŸy&¯_9ÆGÊhÃÛ„‹“)#q`_^ûwæMê+.çóA ·8áPf(°¢š†éÌ+7X¿›oÔú• —Þð×å´püç°ºûjæÇÎÁÄ~qTO~ìF"Ûc¨ß›¤v¥Veo—™‘»Ÿ¿=E}nM$€ QàŠzQµÈœ*ºÂØk]@´NyÖïÌñìîNg ï Þ&Ïñ6·öÃ÷ ÍMû½§Y³G×gâÏl¹œÿä"¹̸I Ä<¯ÝÇäVý€” ]æÈtçÁu1ÕYuêú[k:ºÚ¾" {¦â]ä‰Ô+Чc4=*Šô%l¸ùíåAä i¯ÅöTñ¿§Ï¯² :fïá ¡¿f ¯ ){ÎÀ£ÖùûþXô ì¾jt>äÍj腿䬶ÞƳ§ÝzìFô{Žž¹~¸ÛÜdr\ѹo"ø›cÀÕED‹åÀÞE–œâ¯Øy|—¥\õµá5…n2µjüXüü¯wûåll{Pã㪟çEÇÇÓÁÚmP»l޶J¥Í…!ÙB™– O¹ˆVkïõ÷¬+fµ‚pIŸù³çm©Îøyxˆ§L-ŒÆ`#¥ø‚`jÌÞÖ±ÊÔÏšŽ·‘|ç͉,{Q°g-ŽеiЈÛÖ·!!ÃèN^Fwýz¬ó†•6â–Ë… (Ý%$!ÆèKríWß@-ûâ–m0ýÁ´šºðλާÑ&­ßñ-0µóÊ0+‹xNˆs v¯1µ+é “57¾ÃøÞÎ/Ú/a9VzˆlãRrT î2ÛîÜJCSè‹®e³®«ýGÙb‚Žhh80¸€XÌhUÓ…K_/0éɯ_°‰û›æ&¡Õ½Óy¥™ ØÎÍ9ÙµèÍ_ãQޝēÐ!\AáÙ£ŒOJ'QoRN3k%|ËQ^¼®9Œ‹æ7Ø­‹c—™*ª‡áf‹mÂ̬«èéIwåôe4>òû¹–ç-’wÅ7Io£;IM%?ƒ%ùê"Œ|ÐÎÏzÐÂÎçÂr ’ýÞ.y–Ë!y ¸ß…„7ù1©Ž© ©ßô’Ðôãà78F=— »Ïà1P·Â˜”«Ÿg–Ä'<0àFJÈÝ &,.8rÓ%×ÚÁ¯2þÊþ'°vÞOtÞ"áPÑ%_EDËÁ0E´} éÔûШ“Vz úí°¿ä/¨ð÷iê¥K£Äùç–]ŒüE0â™¶­ö^-£yýÝŽ´ê1• ÄÑ[≫ôêÑ ö¶d Aû_ÃKdÞ@GÃøð¨ˆÚa-Ìô‹óÑérÓá“zKš°ïˆ¹*½{gcÆ€lÔ‚[®ëÖSgÚã?5Èî_¾òë-ÈãÇßæ±k ©ZBý3„…ù¼Ó3Öõ;ô…q°{%…2læ/÷—P`µ6×3ú¶–°†"ùƒÈçËh¸ñ[R€ƒÂûÐ ÕçÞçòà8¹Ú÷À€–»ÚEj%JÆ ’³KQuµäÒ`å–¬7Ïtäþ=Ù…˜–2Q+öî_â‹z–oµÜ‹V\J–P–V–\–b–bâæh–ÊŽª–$òç¥KŸ Ëž%'nZYetøG,‰¼‹9AÚyUÐ6Ã~õ¡t!ÀµuƒAgû¯¢¡p QUÿzCåˆPÅŠþzy&Î`RÝ!(÷ ¢ Bòœ_úG×cÐ)Ð9 Ù‰­æÈ>i‘Ì&»‚—X†óØÊy%*RiÏÀe$/´ÇD"}–‡{–o`#ÑŒ;I5„M\oñ¶YÝzïõî¯>ä>«I*¿¢Zà%À¿’kªÉjåtUÛ÷ØŽ+`vZ0¦ ãþH4yÈ Ÿ‹EKÝG p§þ~]úë[ž™’5@ÌÚ¹iÿs)®'ï5Th'!šÊôN«‘\·¯äð ;«šÛkæ·Èþ˜Äø[ŸÇÜŽ#9*?¢ŸI&’ý¬ÿ¨.»Ëõ8›Ð< Epv1º’_¢·ÖÓÏ ·»ñÃUB\ÉèÔbŒ6Nr† !¹ðZGÒ')ÞXþ_HáÅZk*,RräÕ, ¶â·ýÆ…tDr_¸À6©ÊÇ!µ¼Ïη˜ˆŸ¾ª/¼D´$=®ã>%†$IcêÒÓbÍ›¼E!  ×™Ç}ïŠûÙvá ýøßªEö0Ѹ{ÔOп¥w2Ûq©—£“þVbŽ£Ùç¤NH¯1t ÒüÙª¦— Ù:«v%탓’À.Ô4I‰EUQ9“|²Ÿ¢%x™A5ZÔÅ”¦–2HX‚=úXáƒj²îÝø²ú€ŒexŽHrÂ:— ¿És6¨’5¾ê Äö²"'¼’1yû~«·ÐÖv’½VÅMT‹.‘”c„E¡o~¯ÕI+Ówm–ÿ…圾k¿ƒw¡Æ6ØùBLo>ëˆáGΖˆ7¼-m] äÝqÍ„zLn`¾ž«~xØÔÄŸØñ­¨01À§†ò™ÙG£ÎSï‹vý@Ã:Õž öl ÚÀ7±ÔÜÃ/tÜ߃¨$N£ÓþíE~\aÆjªÙólJÛ†3w´v&äZßr%ðŠdŽóϾÓY¿öÀ®öo-V¨ 8‡gù,…d, ús¢ÈûðÔ«´†•]Aš*O:ãáh¢Å,?æCƒ@-[b*"Пf3eE.5[‰ó•B#zÌ»Æ ÁÍå ‰ªDóì ¨´´ï.—‰Ë 5wudب‹˜ì)^öÛ8Å™ÀVxhyålؾ Ì™‘<áã„©æÔ#à7jŸ¹Bû’Á4ºœå©ŽèæõÈMj>Rnì-{E•ÉðÚó³,ïÏPíÌxœ•¥ÓàòøÑÚç½*Ý1Ô¥©Ü}FŒh%¾ßúhõ^­.ŠqPnùë}×X^†W‹úÓ¢:Ó`JC-,Û ^o^ŠŠoW‚ú/ókó§vä@˜_Ëlhý^{ÅÓ°‡Q°Í£«ä8¹$FÜÊ&[.Q[P>Üçîùª&¹VÎ<¹l³R¶Ûù|Uí¦SÊ%‘tvù\×1ü/ H_°jÂì4ÃÓ€ŸÍåÙn­„ZË´=°ÔÙž®5~TÖÍ÷ìbÝÛÄõø`‹Ñh= LòCøS´Œ›½GÞCÓ=Eç5ŒÙ·(¨j³Z7bòö²«Ì°2±Y-š«öüš9:õX÷—iƒÓX1‘}Úw¶Ô2°˜ø‹M5ñ_ƸCþâÞ³—cÐ ŠÒÉðü¥x@F@zÓ2Ÿ6<ék HÊ©  ð8=@ˆªtàÖc]˜~~:  g „& Ðdû̘Ë67ëÄ“”j ˜º6‡œVYœu GoÓ« ®²ëö¬þõ„nÝû k¹¾¾ \óÝ⾑nãkN‹ ñ]‘Pkß f}R r‡Ç€ìpEÆÌ€sfz.Sw¤;º`—æ$#ÔŸÚbK QZÄE¾ø] ;¨­ZÀnT¿´‚V±R/ˆýˆÄp®ßÖ=·Gd ‰ww+;꘱cø‡HÃ*H¡᫼Ç{9fÕàLÞwm3wM: ˜Ôì×ÅXuçPÌiS*JÉ‚ø (Ø/¬]¶&ËB ˆ±+! Äýºã;/™m¼^m"‡Ù±†ÎYçÑxðܦQþ8ÍÇn5Pôó¡3”*ý Ðù?Ú Ö‚¦CȇB-ª@‹!ô!XÄiNþöÀÀî3Œ¾5Ûæ“¨_¥ñOöIÿ ØF{eç]^2Ó0¯! Kýžr4ú·4¨Ür~“ÙŠÍá¸`79'c ’ïÚ6ø©-zDÇö¸z·ôvóŒ ¨…vJ/ƒûò]¬(+^Њp|“hròû—fãĽ{"ª¥aBT†Xè–Œ8ë6,wjÅɲÕѬúÝ÷r˜`¸öÐÇä¹K}Ów×*gÃÃǹL+™½àx73Õ¢ó–2×ø¿T K5g펎wô¸€Â¼Ϫ?š “Ißã‚(øÊ,*êk³©ˆIÎ ê'IMŠrý/n Kn¥Ò¦¯CT"u=9 ¾GL¿1´¼-ÌÏä[^Wý‰9šo«i¨êÖw?U¯Ü›/?:ÿqõôwe/x0\)¢SÝ'msòðZqÚ›ÊóÎ!Ð&%L¥ç;é]ˆ, -2}Ø4Ã… Å'~Pi'9Q¢[qH™"u} Ûàh_ñxÈGà•T°õ?˜‘¥Y/2Šä¼~Än¿±kç.èÆmáùÕùð¼¾Ù´Ãpö:´ ǃTXÔ¸©/Õ ’ú€}†w1ßm‚†»'(—!u;pZÆÎg¶×¿ží>ÖF³…ÒãeÞ/%é ¹§þ›àHQ›_}oæ‚“ ¦:¶+³*WêDl«Ä2õÅ>•ߥ)ì<°BxD`û£ümeHV¼G#¤Æ½ùv2Uù…³Ï¸vS15uûlÔ•€’†­Ïà ¨Sª¬“]9Ø9¤íæø3v{à˜Dž8˜Úf7O–˱tSÏך–í|WIè¢UÍòÝÀšÞIö­°ìµnüë !¯ë¿ÃûLBćƒì¦ù‘´Z&™¿é^QÞœûÜC[ÏëyÇfFöøq9ÿ·úŽ0K™z;í¶á¾9ÎÇlý>ÔÙä”Þ¾í~´½æ‰/Ô;5 ìk5€Àþâ0™ 戩)oãLd~höDöæ ìB<ßIÏóò6܈NGó4,° cQÞ>ðÆvaž/ µføB˜bö=ndâ'j}2xÈ ò–ý!y‘AÅX Oo4âÑÉøñ—eÂÛ…á¥7ÁÍxŸnô®*dæóv:/o« ÉêªñÝ,ëcªÑET ð õÉ€ s‹”X¾¸÷>"¢TôÞŸÜâ<åpðNÜX³F/Š|\Íj`·»1Î{g¿Rýo¨uEéýÎVÁ€M•;è˜jʳIag€káNmÍ߃ñ“FU©Ãܨ¸¹Uò¼M6Üo£ñ´÷YËôˆêËa×JáGlÀ½ÆÆ1aÓHÖ—•• <ÅÓ$9;{pä\£Ã”¯fd|áIé´šñ9¾[“¯H¨¦g3ëº T¯Ý\›»<=ÿ¡ìtõ¢á³›d­¢ÃtŒð0Õ‡.À¢ÑÌ9!§·«ÿ=_ø’¼Ððû4"â¯ÉTîgG&ÏØdb¨h?'ɼÆ76óEe@~%™‰žð¦ñÉûò®<òÙ ˆ×‰/ê 4ëñãíÍB¶ÇÌ5a1ޝ¸×aÃbv§1ÙÀà= -÷úñ'Ùk" 4EðÅ¿l öÙðù¸ÚÍ0[b-ˆý_)Jø¦I3+ fÕédgÏnω£¨gÕý ªvk>Ãôˆ¢¶.‹9t·ô¤àù~/ÑðÇÞ4f+µÑâ{N‹s!ãœá‘ã׋âÃݰõ·ŽñêèJË‹–VšlmdªOv¯4µj“4«ô¸‘¯y¢ÃhRlÝúĈên´Öu º#•O`9þ›{ïyîµ^;Ä9%.éG<q¬Ì4ÂÚz}£Õ*µÓ­¯,íédeéþ–â,£G ¿«ª£Î¥RŽ,û“¬‚"k¦²-ÇJÎb2Së‡Ó RBÚ«Ù#“¡›Öl¹ ¥(–ÄÃÒݯ³àWЭ R ^ fÓ™ˆ+ü#·bu“qýHÛŠàé8îÖ‰…ÏPè-¨Ö‡úz_MëÿÆŠÉVWä7!€7{JåN2¿¦95Ú¼Ôž™¦ä0m :0mxhTöÑ®ØRÚëp½›h‘dé~ŒîôL_ìúß½º` •çÝ® @©ùåtÍ£Ð~ÿ~üq™`ÄÑ—)·jô=Y­w¿{^¸äs¯9‘ãU$Y^@ê]†ë*MàÆŒÊQÍNOÂçiWYX;Là”ª°!›&r&&ðÇ’1¯ÖƒíÐÿ¬†M¼·ǨÇð{ÿ7— …ä~ÇgžÞxqlÓyÚ‚£ §”/^5—[ŽÒ¤ŽÙ†ç~þU*µ3|¢‡zÉñWûÝm:çŽ|oª‹Þfɬ ©àà†«Š…ÿæ(+Ô W'Žþ{I–—=ç©hib—VÝ'm3Ø*mÿMÐY•ìOn øê,ˆ‚vL-8Š"nÚòÅ墼éèy¨ !9ŸkpØ8ª87HŒ( ÓlÁÃÓ‰á~ø%    " œ©‰¢ª9jO…üËrL¸vò¢åÁ"rèú÷>«þhøÆŒl$Š°ëª lYC½£‘è [”d¢:7ލyÍlÜ ëÎtÓ¡“qI3Ôî'ûÞŠZéwF“€Zã6öµfíuó® ‹õ½ÎáK÷4FÂ/ºÙŸR>,úSÚ@–œ¯—ü™Ñ/Ý/uÆœùÒùƄɭ8õÐZ’òAqÄ×5p›]ƒñ!†ilö!™_Q´„ê}>K:Dz<,Tµæ¿žð(‡Erw·ÁžÐçájíìZ›òÝñyÚ´óZ›g²Êñ÷añ4ÅÙòl¼¾F:&9/ó‰’½_7vpôJ¨PÁø/\gÐЈÇ™Dõo '£€.:`èP*²ףť9ƒ¬Œ ñÉìfÕY1ÄOëQ.«ýbD`Åø[D¬‰ì·Z >»xà‘ÉöÍc¾d9…w[À+pJï9Ù!TýÆÓ7’:‚ŸøtÚ«9´Z‹Îúl é£~Œþ°¡ ª¦YzÆaeªÉ„6\ :žÊ$}ŒT’¿á䮣ìïBj]…‘` å—Â+0®ad¥gÝ®‘Dúª*‘ý [’`7ˆ0¥ª1g1²›'W÷›c)"°1…3¤p{2˜õUajÇEIK äÉÛð\Á@âÛQ%Nç£Ýû›üŸt­kzÃï)%+H_ÄXrÔ†1(Í ‚‰±8ff}]òÚ˜>ž|vßý‡,Az .>¡«Kz•A©U¦ìêù‰ÌB@•·êe"<&å2$½j֌ۛ[Ùyïr€Ì(€ÀäÖ½ûóÕÉSútÂzêêP "À•å…u?Žxœ©N,'’×'í).U¹° ',¾àŠ˜ÐDxÀJÊ•V‹½ù›eÏ¡}Ô‰^¹Ÿõ·ROÞBmŸ©h§bªÌ¶Î/H^M‹lýÐÏd*¥Þ˜Ä#Õ3IFr›Í›ž‚zÜXeêkÇæÍpD€×°VïXÅ’<\cýµÛÔ M’•µªÌÍ¡6¬:À¥ Ä*¸­Fñ:Ö CËú¼°pö2òÇêñà¹0Û1úät¥îÌøkÍcWÇŸÁZ5åa›lITq/DéwöqÅ}k¬þub’ÿy~BÛ{†l˜Õ>çæÀ1údBŒ@ŽY _$!_vFÊÈÜ„VÒ\Ïh›ŠyÜT…Gw—óù½ÇGÿhü+ÄÈw!0cètOÀi®rÖzÍ•Œ%{¹RÞÆæRqe—¿*›ŽO¸2û1RCž:mîÛñkxŒa?0º.0Ù°¨QQÇü¡yòœ1ñO–sD;|@–LÍkcaðfÝÙ‚MöÎTÉ™ øî†uÃB£D¡d00¬ÛµkÊ?1 ”lO0ïCÔ×ÊI¥bœŸ5l Úȃ&šMFŸÁÑZwKüÿÙújÃÔžŒ#Š4ÀÅV¼!ß$ÐLáÀ-)%µMæñá[aW ¡ºª†ð©AÁ‚³åeøÏòï5³ò®€×‰Ö.(Éh>]Ó²“(e¦½‘]µ×(ðкÅ×ñ2N¿V«÷š…²ê¼àÀýôÎ;‘æ2¥­õ™šLî)Í­ä…+äJÂïWÌÞîá£(3£&@YTlÙÃbð1S…O…GšŒO¥Ø5ÔÇmßJžé—„§Ì»£ß>ù°öÅsn$>\¸Ý—€8H(6Ó@¬½ËŒLxÚSŒFù;m°Åfê;FS:ªg¤‹qöæIë‹ñ‹÷‹œœœ#œ)œ/œ5œWò]òcòÃîê…Éî°?ìI5äý‹¡–iò£s J;œk?† †@@ëì]_†sh6Ç ˜Ñ:Òx þIô›zû öŽzi›HD,m¥§k åò ÷a’!d‰”Jƒª‘¯2ðC(íÇÉ!÷´ŸùRz?<"Žª½²â¦*ºÆZ:R\Q:¤ð…‘òœhuß%Åêò?BOãºv©cŠAÅbœä•®}%E7øê9ÏÖôÛãîí;et ȼjo|RA.Ån_Æ8ß_kH].õÖȈ­¼qLÒÌ*¾,Ç„!ËÑQØï÷Ò[vŒgƒFR=C¹=’4)uíW‘ ÒÇìÔ[ˆJßz‰d¥+{Öö"ù4U×X3ì'ì*OË…‹)Øè¤™+]VUM€os²Œë.¼ÛS­åwÃPÜ .ç,‹ TŽõBµ\ýaSZ`ÜT_K`ʬŸiñ±ŸS’& áPQû3D>ØQè?1@ø"X·Éóþc‡Úœ²rbìsm7ãËIq¬³ªJ+\ AN¹DLZdÕ Ý:EG÷‡ÌOþÄ".Ji4¾’Z6OûeaœT<ïq½nuè™îý÷FŽ®ÔMºÚ¦/#¯Ñú±pznKyßÏÚÇáV8hžÎ Oä×Õvx“Øî@SͨxgX®Åî"JÏî’™ÓÜ¥üÐ<-8”ŒÆDG‚®0JPZA«¥í›{—Kiƒ ɾ~(VÏœ¬Wz3Ê#»Å LГÿ B=Ã)?Ë4jÙÊ#¹sù1âx…±(^h³¸…ÿiáPÝI¥6QlæìðvKÜmðU³ÀÜ—ñÍðßËR3:J8úJþ,~£„ú\ì:YàUqI–_æE6Ùüì)éêvïÆS§'§}ר1;ùEDa‰÷O\Âb’xÖ¯r˜é)÷¿bd êó1Ù#§U»À¾ƒ>sÔ…˜!=¥g. 6ðNc”è–„ƒ¯EÕx+‰ú)Aí´»‹,t%‹ÂIO³vSê´.ŽMš-µ7—¼’&¬ÆœÚj-+º¡-ò ^)6„çvC9Do¦òÕc¸Ü¨™®¸ªêH`ÛˆvTí°!igOG±àî²[}2ö1 ³>"Ù¦ÃêÞà[ °ƒÌCBf>×¼XÀwððÄ,²€uP}‹ÓÉñ6sGN6©zD9zñ(3kofŸU„1SRü&‹U iîµ&¨&¶?È ÷£L0ž˜ÛªÐ숽ì%[ "º.ûiIª4rCÕû¢–A1I¦é4Œ½©“D¾,(ûõv…]¼'ÂqùY@BÅ3b£ªU$"ÍŒß+æ}@ʯ¹g¯­_p;Ql’'zåzÄ—¦©XÁHøÎ8×OÝz Ú÷×0b;áüF¦Q¾ÀT„6o׃á;Cû^áqÁƒˆMAXÅÁ§z‹5¦*‰yý¼0²~ûp¶Å½[^cxºûÆs'½’ïÃRf´‚h!'ZÄrãÀÈ¢Ц1`£¯Ax8&h ‘«lÔJ$§*|›jÌ®}Ô´â’¢žo!Íò¯w0iìEé€ù‚J£-Á™þ”ÚèIéW?†sŽÑ?€¬˜ ˆòØDF¡ûvˆ2*T˜aÉØæÙ4þÂxá’T$R&;¤`Øœ%‘‹®º€–Cb#š_K8_ Üöôï»N½6вbþ«As¶ê©I®ã…‹Cøš™9GyµùfÝß”ÉßlþH*aÞ¸½åZ`co@?W5}8Tma§GYØßy6ÑÉͤ†å¡${-×…Lk£¦ßÉCB tBÞ¢—lkàz>O¢u/¯¨¾ÞXf RTLW¿›!Q乿eÌ5ú,2<»gùøÎ ä8Ûü£PÎ{Ó9µçFQ@¥ýÝZ Æ,5’ÎúéšGìÛ4òľ_>ÛGŽ j œrƒf2ÝiUFÅ5ÏjV«±«S†M†[8õƒÊXS!mÍcØîƒž`jM_1 Xã9ðÃâ“Nˆžs\„÷_Ôi”Knÿ…ˆ]‚(}P?­u¶Ó—ÇÞ r¯q»ºU~ޕĶd¤¿®>‡ÿê²kßH<ºú·yœÉNF`-KN­ÆJ#=XÎwÑS¨•rÕ†]N™,wá§iNøQcšr-Ëú†ùеÖò‹ù…ùÁ#!ß«|5’déA?—Ó{ó¾)â 0 1…Òê¶øئXdrÚtWʱ—ׯ–[ayýÿ±l(OÙCÃÓ|ÍwXì0†k–ÃÜçÔ»fÏ”ˆà¿ ?òIydÂ_øËsz.nΜ]FuóNt«‰[oƒ¶ã†vlŸqg·é?³që–ÌpíŠU˜ƒ!QT€àeJ†…Ï•.š,~²à.Ô¾[ÿÜB–HºA­ Þ^óGN'Š5¢_QGa•ÙÀ(9à‡ò%¦ÏMþg4°}±jÍ»ú ‰£ –€…H]?q‡~ÿà=çýªŒùÆ…1!,;¡ç—[¢ÑAÌ•7U4rÔØcà.S ê%Ú}Ðöèï‹Åp*`ÊP}†¯HÕiÞÔèˆìŽj{+ŽÍ‹NxìŒú­›³°fÔìÛ³#ŸùœYuSY! J^*5Ð3ü•`ÎóêRõŽúÇ'tüw|úIÄä ŪH]˜y{s,—1×K}7^î³ë„Eš¿bF(´ºƒV1±<€5—5ËŠàÄrqŠÛM!=˜÷©ÈDíªÓ bÛÉÜÈ—±Â> =ޤªX~›e¬ÿ`ާ­ H>µd–Çy‚ƒ³/´’WìÉ3qs˜€LÉÙÜú•é¯ç cìÑ®’xŸ¦5~f*~!'´I,ß8E'‚I<>•4hLÀ~Õµ]Ìu­áÒ®ºe¾êûè¡Ý¥mR ÝDx3Ÿ¥Ï=$ÌHhM”½sfÃÇ#j9 »S ®‘êz6séžÝhfÂiÄ”’áÿOàeºšºµ®ßKî·®ÝgÌ)lâ͵›ßl%]+€“|€²Í—ÆY‡¬—S×8ÂhQ'Ìq[̾ž°hÖü0a"¯oYdùA5û®P|qj\î\l'{yùÐXÒvß`u‡¶8NöXõÉFÇÃ)Þ P¯´‹5jÊa±ÍC Ó‹Ž,›èÅ* b‡YåÆ`ô!¬ŒÑ?9håiG@!wƒf²å®êŸw,jØmÑM-SiFðEul<LÒÑä_Ǭ?H¢¼g{ù8ý‚õãµÑWëú½5üÝͪƒŠ°Û^ Yç)*í ô tT§=7=¦ƒ0œa9+„À¾õÛR¾ã  Ãg ööêÓ§»_î€|lˆ—_®ÖÁ5Óˇä`£qøq‰„Äšo_à"ÕKŸóâz`ØÛ.úe% '0ɬ”Âø•¡Øœæk)@ yâ¿âRg5æ™ô› # s㑨äó¤öíóTˆŠ„cGñ€Ê,Êbr€Go éT§øþwì¸lK^Ç0\yËJ%ÍÎysÞw ò;û=@Afm¯ž.÷Š=˜¡0Ë!cÝÀUª÷ DSš…«óûkU?LKFDvH¨Ë·¼¥.y‚噾ö…á{xÁŸþÓŸÅò‡Š«5µCÿÉ•ºðÝæ:Î “'ꦈ.´ê›3Q¾ ”ÆêîÑXr¨ÙnlÐl~a©Œ"+.(×3¬sF·.ù¡Ãý´¯êË;#@=ëB7yRÿ€XvôÒCRUH`BG»’:à iëµÿ)tƒå²ïÄÄÞpz´ûg=rž´®šÝpéef¿iÁ”áüOÝe·š«ßHîòÉŽÿ¼"š­ÛPš†ÐG‚“&[ë‚@{P‰Ð r©]a\#ýѵŽ×­p`jX4w’Í®´r³Ô¸Ÿ WÅJO A’c¡¥V;¾½Fó#(Ú¦øD^uS7–G/h_1d¼¥†ügüÄO/OßÃiz‰O’t®ulz?Úºý¸u"†î"V5)=?J‚'GϿߕܸ9ÚÉ¢þ`P¨; ;ŽHýMÌÈJ©Ïì-‹ô°ùÞ>çJ&\À¿0"ÜJy$ÛG+2Þm–&ÝÓ³x5OzWÁãd÷ ‹Ò1‘¸7•YWòŽèõÂÀ«da @š¼ƒÅdOCYj¡³CÂC›Y»bǯHR¾7·ˆd1tíµÖÄ'çãhûÐ2túŸ" eÕyÁ¼Ÿ{ðÑ™à0 Ò<­=‰#“­ö*¦£Aúãßß w©v"K¾+„Žèúq_ÒJwa·ò–æ6 #מ eñýš0‚{Ÿ]E¤D˜…¯•_옇b.†Û×r7PžÈ"•&\óùæ(Ç ¬Ôo Ö£æAEé0g)æ–IR”’ôgㄹ]äuì½ÅáZ‡“>Ý?‘¾Ò‡Ø~F…š‘™ªóË™f0j[¢…¨€O³âËmâ "ÂFg±n¯µM>ô4 ¬‹}Éœ©•¡xá$PqA:××í˜mìÊiºfÅ´!,²Ï}ì®'΀ân1„+î»2a[17kÙDæa`:³#¦8wÎB"Õ´zó¼ðž‘Ú$Ä„TéŽ^ëctë*=pºà2þ·Ýjwb3è0+[µ±•ÑO\⸊Ù5v=ìEÏ›UZœ½¡Ó,uÜd WÄeWb¤¢1SÅJ!ó$æ ‰Ÿ?úR#\»<;õ‹$‰‹Ys¯/.FM• pb1u3(Š-rù—ë±O–¯×ê¦0’Ò» G ÜN)$ùÔÁ-%pûÛõ¤ɇ:L1×H‹7&YU Ùe6ä&–;¯˜½™S^½?ûMÔEAFÁ<¬´ —]õ …oAqVqI}^ür‹ªÿʯÁÍ+Ör$,¸‰u{ï”3óÀ ÃvJ¿df® ÞÏ,j„Wæ :žiè…@Àl<Ãa)6–ÂpÌëÙØ¥–¹”F«×`ëç›ÏôxçŠß¿„®ùÇö/(Nª«Ü™#ü)HIûÚø< S¢Ðr[´a®Tf £_¸ ÜbþMñz~PLrªldËG6 ™ÌYüpâEB*Eì èâZ©¢|ªoÜQ×î¹*±²F3¢OR×ÖŒÐYHä}Aޏõ‘潯6AΚ6&J;ÿ ,ý³ yeuaU¶˜æ:øŽÆ•3ÞžèE+JvÉÝl£³qâN·¢lDE­£ÿeKU×1üáP¦OŒˆKˆŒu§6_µ˜J¼6éKpµÅëRìG7N¥ŠÞQµ‚° .δK†âf>$ŸÕLjø„;¶ûÔe ™ç!pU3¹úTó:ã¡PlpBœk†¼ÿ4MÚ’Z=÷Ü*™=P”r‰H從|i§¡3ÝÕ-|7‡ç®D´Y[ÎÜ Ÿ%9)y‹h“ÁòíþçdÝ,ü÷¼Çv„UáîÎù`ÄüMpj/:¬cq‹ØãHŒ ËË]Ør¬]™  þI6£îB!âZ":hPÇníªçÿ,ßžCœÎõ Ò#¤á\Œß¼þó«\yC8ÄΙ#¶Äs©(3yvO(jË\b×Ô™hžÃU懾RdFÔ:%ÓV<¬61äømC´2`0íK¥ÄË ´…ÓG­ÎŒ1ÔyL,¸Y%¯\Jþt%Aás"©ò5bïUo0Bö]ˆ†Oï2 ÍDgmËÝ%Z]*\í¸š˜ãHxîõPd´šm ÕÓ:>ŽËľ•®BÃóe-“Õcf¸ à»Y}Z΃‹ uAXbZŠvâ aL‘F™[ß¶âƒLÅ휑qŽNKº!Ú­uôK©ŸJ °s`YaVµŠ±M/U›d²Jù":y.Ã_ºYî•>mX÷ÍÅ])K<ÀjB©î£$€yÕt17w¢!L;˜uŒÆ#|`Ò=ÅÏQ!öäTs - +g D¾®¨:‡Æ¥‘K”z©†Fw4™JyMA!LÈÔæeÿW¦æâqwT®£¿j@;£é <éæ7Çów6³ŸŽGĦ#ØÙ ò&\&ri¦)¿gƒpJþº$AL#=ÔÖ¡¡±bŒúÄáû? Y!b¥{çM>(ú ïwè»› –#«$–qß6¡—*Qf§°žèÇÌpºÃÒ N…TO‰®H£Œ£«™Ö‰&PóÅž ÄcÇ •Í~ˆœL•M]¤ª("TçÚþU^Öqp¸F¥L'ÎWxË䮬àÐè­_М¦Ó' Vþ—äf\˜¸p±õïn?nlÛš6Î,˜­1Ãq-îH# ¸ÛJ°Ö?Ã×QÞLMN-¡&2’^ÿ g "IÉ@ñØ›øW»)¬D7ñ´éº+ƒ¼ãˆ ÚX=ðM‰¬8騕¼MŽf(;Ž…ŽÉqâÀ`Üœ}‹]ëZ’nxºÀÏ<#ÿjîûÀŸò2"›ÂA<úÄhŸ¶Jröšk8HÍvó3¸g ˜W{%W·¢Ä¿‡gl„þ\·d ²ê®õ=¦¨¤Y¦!®šF¦çŒ(’϶·ÒZïc¥ã•ykï»nyª}Û€ºr:¼²]‘ôu³ÈÀ­<è¿È ¼£UóÍà(m_Ý3‡Ûþ°üýh•!‘¬'Õ/,Ï£fy;ä°Ã”+6Ô0õ]ïøŒÚb„»“Ö·­I»]“nësÄ ·¨ÛNhàáü”µ"sTj’kt%´SjGX6OM{Ûèûýr¤™=/Úòyõýá/…Qæ1Ç.r½>‚H~%Ï®a}ô¨‘uÿ ]Vä_tÔV7ûÜ&4c®EdœÔݪ˜aÅ_a¿5Éjw7»Ÿª õæƒòð :"|` %§ÔZØ(ýn­ÙØŸ ¾ •  È}%L„ˆºÌ×*)Sß¶ü‰xé_ÆÒ˜cDÁU°†ï›ãÓKju˜LsÒöÂÞÐrà^‘ƒo™V¥«»µîÈ~¹‰] ä¶ì W+Íz!Tš8­êˆt¨•1TÀ¼®í+&Ÿ¢m¸«•Ó‹„g;ĬÒé„fcðŽAÈ8ïú¡äœ¡9ìóJ4ÖÜ<µ aG¹w!Se_‰¦©a•Ÿ Wk‚qB³q~Û\ö!‚é”XÊÅžùñ'Áz=WÁlP¤ïþ MO D^øªæûQžÿ±¸b¨Ú‘[ÌD‡˜õªì»n•ŠòÚ¥þÞd—öl5•­ê]Sþ›= ×@¿!½‹dÖ¥n³õÕÙ•’,¦Hó¡JÖÏÞ«Y"·kUD¯¥B˜ŒK ^<UÎ(ˆðEØð¤BùEÁ)½v h‘Rþ¤¥½­ó´øu§V¦•c*þ[\þ|Ð}‰3¾:!—PÍåv©Pʲ,)»óS¤¥ZJê1=RY;”¥íÎ\/‰|}l×ãÖ…N§–„³~’óäÿ%ü$ †ï¹Ï) à;oòÁ½©úrtb/;8{mä¨äq`w ÷ß5Š r ñc‚w5„,`WǘŽ=,Ž·vQ_U®Ì H]§4Œˆˆ®—_Dì:Ê—ÿDÔ ü±KàHCé©‘zìw™Ã:WÈÔªûCöûøi;°gŒÈa:¡WèÃÞÇ“býÓÌÚà¤JÿYתû†k›í:šç¼)i¦¸krÏ,„(Â'/ÌØF7+›V Á]fz4ÛTâþCî®Æ»©røH F~ :§¨ˆ= 8” ^G <ÞˆŽ 1+£ƒ¿.îélIó‹ü.Ž…u@&(´DP'6~ŽyrRs¦KJ»BÓëI“Èq¬ÿ}]ñ‘ë醪Æk¾Ÿ›©ÙvƒZÄ‹¹z¹ÞïÊ~!t©¾Ä3鮯gõ4øh#âÿ¹Y²qoy&½‡á¯¨:)pÒUÛÜ`$ ;Î㹄£i ùÐ\xÜž+b»c÷þø2*`’ n¨R»]gøøœëÔÝðQ1-ì%“v`HA¿)v)ä&_Ñ]ߨEn±È ¬dhÐSL“ƒý}£º턌'cº«*ÈB—a;´š„6—QN0UyݦX°À=pÛÒ*ý¹Œ+ô·Óu%²ñ îûDRS YªdeT#4ôƒÉÐPú˜<ˆ/XIau´¼V7±»/áÐçE1Á.Æ*&™GF¤WíÏÏ:ð#.^RÄo³!©ñq¿û¼©ûæ¤y‰ò¨i†ãÎp¨I³^\™CnþÚ)†l‡>2hJ r"´wb1¥Êí „ÌXÑ{lgCi휴kûnrR²’þ¡Åíhm{;Îþ‘òþ<ujRGá©!j-ì´àv×ð»MÆÑµ[ñD}¡‡I_‘Ww €2æ6ù1V-¦4DÁ<‰6ª Ëßœq¡î=£¨†g¼>°*ÿ¡Ú" zmQº\ŸDÁMU̯ÐZa6ü#õÿgž·Úu¥§3!aÐÀ÷O‰CA†œ>™·«ºùµu,&LPCe(ïÈNÂÓòjñ¤1æ#öfÀjŒ41l–´á³¹O‚%•x×^¶>ÈË k%Ù•š†W l|!ç_ë×Ñpø¸ÓŸ¨ZÒŠÆšÇü[ª‰Ñš@ŸóÇOíí)í~ÏÖÆÅž\²È&uc–øšñn ŸüŒ²Ú2O}Š*Á`ðuö®^s‹ø½Ñáøó½xqè1èLfä©Ãmb°óŠâùºW}dJF^°³»2»òHk@ùAZU(|Þ Ë´=‡lF®±x“ê"åùäý­SÙ ¯Ìû¤¢b#*ûí¼sìtz$¿Hö[ñ€gŽ_ ñGŒûý®l\ÔÀRã¼T[/>ˆŠ1Ìдáà“åN÷^ y3Xó]êwF£Ì¤³džʋ À Ì­î½öÏ¾’æ©a`ënuÏДðiñš.ÓV%µ×Ëžæ1€/¢½^ØzÛBÉ S­pÒ>_ºÇÿåÔ¯“Ê­q ÄìR×È…§J»~%Vpù%^½wœ§ÐÜ+šzÚ8á--i ¦ÜÉÐ9;‡ßæ?+ª ‹§]u±‹ÄÊÞ“3ÑÐˤxP‹Hjô ´ˆ“žxX1÷RCÁR¶Z3ü,˜Å¤øAg€‹–>!ØJ‹Rht;‚Úª~„ˆd,Bv\Ñz£`ºY™½mø`–ý ‹°æ¶‹²rÊÐ{Š`œÈºw Ú5á¦ÙÉ(0ÖÉþ†ÚÂJsk‡¡#f8)(~¿a)k@?Ù|hXž¡|x¼ô'ÝÂ豺H6“ìG÷¨b–O.YÕÂv6£UçMs¶ÜM‚ ßÜý4“ðJLܵ{Š*Gkêì²\Žÿ°ˆ¤#.f(;)+~Â.[Âa,k_¿Ó-¨‚HB?œ äC?CÂà¶{UŒþr¬©TémÐÕðÝÉ®†ÿÁk{²„°ê¼±dº‚‹¬Êbâ$æF¦¶ò€,i1#dkñõWó€„(Xí²R6kçtcÌ:Oaßï’Kà ÙlÔn”A,Ö É”ÖçoíN€výs}¶ξ }/Ò2cp$e_!ž¦#ê¬ÇzBþGn…¯ g úþ¼¯Öñh#åX€ïK1¿B9©¸pIÑj…Ãz«ÞVÚhDrf¢’UCÎB%Ò@" S#y¾ü~»ÓIGZ@§]é“Á:†Tì5´znrà9>o¡s/øª¹º˜Úr’í¹I»+Ã@‡_*†{>s>¨LNÚ5‚t­ýÂ$Ò“>7Ptº²Òf‡1œ.1‘¬ð»¦VRÿ&´gU">­9Ìü‘‰Î¥*™|‰¥ëó¥òg¡z˜{U…Ûû¡>ŽUëf‹"PWô(°\Vl¤|Ò,žbÒÅkn){¼ÐbñŒ[i÷¥ðnì¤Ç s)*µã.ˆÆ ¹û¥þ«pHøZºŽ³9VK\ 8ÆAÛW±2rX^0§¡DñµQtc›Y¸„8sóH) ñátXňða¾§§<â[ÔÕáè!•»©EõUi- Z _OAuw…áù¥™œý'RVà€é\o5yݧQÕõ±ܨ¿ùïY#Õ@,ÛZçL TØpŽ:,6ž¸m¾›½³Š#'kÏr µ`´>žV²—'@ÇÄÔf¾”»ò „Ú¢@+c:¢ á´4ÆJI ­wLsÒHᵌ™< å5653å\Cÿ™cS\¿ZöÖlÆÐÑ%³ƒ{EÈ1Yõ*f§»ä/PœB×*ØÌ¥rÊ„öUx£#çqÕ½@IIè ‡õúpD4H˜¬»”csýÇ8%ëÎÍÀìï'ƒðQ‹^‰6ò5Î0¿—˪ÒìÝ»daýOÒ¨L1õ¥@1®ù¼ 5d0‹ØÂdË&ºÖVZÀŒ¸ä‰Ý%2ÙS´4ß¡*ªÍü%7ÃÇàõ`X*èzEÅd !—ÑšŠÔ/à/–Ðܵ´b£°BE‡ ÷}M· ÊVf eÿS+<([‘‡÷°£"é ãs ±V,sŒsÛ¡Šº`>Ù¾eüÞ)Ì}ÝL¶~6>hÄxÆ‚ö dzê£3¢ÆºDÖÍÝÊ 9˜C[:±í».€SÞ¤v§ L [›‡†2ã˜j”Îm¸þž»ýiN‹Ýájs»†ZÔ÷›ÝLèRªð@ê(Õä Ⱦ[>Я®çBZj‰Ú2Ä]ê鬘ï!V¡¤qÜý¨S  «cŒÜ\|ì„Ù°ä`Ç€úfvóÙIÛ£_ñЉÕy"6£m¼öÅXçáZEÒ€¿?°L´£2‘]^ bÀ­Rð—ÔuVzŸâÄÉ Á( f&/X?år³ô­•±¶bÇš3îÃç;´‚Áº§‰z-H7 öFøÛbïa=Ú[[O6È=™4ö)Y Ôšü-Tê—ʾ‚1³p‚ÊP¿ÏlÁKX|¤€Üm¦²#iz†UM¼t§ä޹gqqc<$\³=ÕfŸ¥‰zàã“í­Ø^­‰Á“—R:0¾@du©7Û'’ÚTPs!ºÍ«¥n'JšJ‚!èßÐÚwgÉ>Ä·«Í¡ý‡Ð\8¹ÜªÿÎoª ŒP‚]$ϲX™ЇŽ#:«“¢+Ox”'.—™±$Yæ)~fáÛ‡î7'•kÝžhó]L†7u Þªä)\Á‰kh·0»3°æL²êºÃ¿}r ºGSLÑ‹"г œ/ð;}ߘüÑ4¹Ò¨k4ähþîò‰G_ 0GE.ÓB·ó¼-T‘~îjQkpè]㥮=KØ÷ý ˆ{eÁ>øëĬ Y#¬FCïÄ1Ùg7|Rb*BZŠ,,ä:—÷J@¥Å•Ò0Q³Œ@^"g¿d¸¼ˆ÷~£MVž÷Ô!/¬Oû vCµJ[F"`Jh ù×°Ô‰/?éCµú×vºŒY-$8…5âÜ;{±Þ3\?5à¨ì•…3$o­Ö¶ qZC Jû%Ü>…My›žƒY6x¢ ^–ð’w†@èÜàˆQÈXKq|oþÕ¢1ûv×åAÝEl:ž ÷^æÛX<užÁÔè$ é#E†²½Þ%‚Æ:ÃÒ=Í%ú0['Û¢H¥W;ljv!»ÇglIÂ7óÆ09ÆÊe*º ô³(-C_VÉÃL) è^dïE…ç ê\×ÓÜo$|2Äi¦®Û|Öéäó°L4¤-yWÌÒGÜ&}¢“/ömcù‡´:ý’ÿ ©õ–$3¶l>%УF »\ÏHŠÖãÖ(B—X.ÀŸJ:Þ.2—ǃ9_©æ¬{è}Á¡´±ÎŠ}¡N”žsh„H‰¶½Ë¾â÷WkÔ-ð‚‚U«"?xáÈV®O“J y=­4¡= &¯K\…‰§@š§÷ü¬BŠ–¢fÜRP²rFÕ}]‰œá 8úHUà"²*6e#çþH.n˜ÙiÝ û“6ô8 U‹ö=:¾tïfâ>›ëœ¢Û}•ˆš÷³4*kWBÄA ?ž]ѬÍßµBªÅŽE±8[C‘pÉíŽËD¶î1oŒª¾~ЏÂ`)‰JùïÆ&Õêâ=¤ìFnoáΧbOͱïÒÔpýGëOуi@-GN#›>éYb+ ]€s»ö<2Õ¨^ÑŽ³Ê û¦~ß^ƒøÇï44§¢³Ø 2 É% ‘þ&¡¾?*'iØk…R2`·,6 îrPEíObNžÇ»a™&bK½ L뢹zàÓ…ßpŠ&B§u66X.B`ÖìøZa¦sEQ¯º%n¸.¨uvp @þD¥Œóuq$û:¢B§0<ÉÒ¥å’ ´öºLãwP™A»İtºÏUƒD©ó•Q D4IñûÊ=G0Öm!ÂTt8èŒ ük×®?dûož?±PÙoC¯N¢©7y ëÎ`äÙ>båݰf jŠâ{ Rž¦Ct©é4ëˆ9üzûÍðØÄDF*p)´ª¨ö®tuððkä{T¶épP*Æ‚j"o4`‹Ž{5¾Ïy“ù”ßM7ŒRzZÁÓ°…À©Ý —–êéBñ®BTF9Z€Ïãì/Ò jà¬n‘™ï*(†/ìyædÏ_uüƇÉ7è[]‰ÊÄ’liYë'}Z1Fª8nÄš!š–Dòú (êóD˜üwÃØ›¿zŠD½Juúн¥ªF÷¼,D– ë†FŽZ/¥_ðÉ»!öR?O8eå¤"+MZ€ µ…ùsïÕ1^‰¬r¿Ñ…oÙ¥™€Ì¹XÁ,pG¦zA9¥&+ûfI1Œ%û‚]BÊŒwĦXLݹ·ìÑéEæWC¡øv¸NûHŠú9ºé0ƒ…°#yúF<Ï}²„Y°8mOЕF¢[ diˆ‚ᦌÈ;Uvü)ž¥,h>‘˜Y»7ä øÐ÷ŸvÁíÑÒÔžÅ"χ•m¹ðBÏW+.uá&º?¿䊧«c µ ßEÙQ0¢õŽÎh†«Dê¨sN%ªQ] BÑyÍYíëõa’>&KG¤{ˆ¢LE#ˆ]gû\—F¸ÅÀ%m«aZV©ÒD?ùñZAk¿'ŠT ƒÿq£KÅqh¾ ânoÙ`¶„ iÿ ]’½=x;£4wm lWÒ¯È=ù®xªS¡%ºüMÉ¿¦¬H"Á­V»ÑxH’0` Ý[ 7xòÖÊE6YÍËU1ˆJ¾EŒCñTã³{®dãFï€=§ª·²£²ã˦õAd𴆽¼^]tðÜ•@€îF1Mœ¢r‡SÇ §í@ú¼¾K$JG@Ôv*$n JÑ” ?ÂŽÏÔæY/ÕMElžÂ}ÌtĉCqðÅ)AÒõªmZ!É63­jÜ@‘VKˆMQ¾{U¯ºÎMRd^k÷Ç kÚ5Ü;¼k:ƒó­¨€¢Ž§šGŒ†Å;Ãï†à(;íœ|bDõGIÍëFÝgOöÒtŽ2JFYm¡tCä*2XÝüÒU )íV-cÝY¶CX:5i@á)¸? ¼^c%.Sm lƒxÓòÛÉï¢\@ÝݲBi!B˜ßÈ¡GÈu$ÄE˜~xä,AQ!˜S™Ê;A¦k)‘÷ƒé#YUèUBeŽŽïÚß.|\ʤ˜‘¾AdÄã@Zl×Nm^ÂF¦;Æ´6!ncËa÷ýóŽ¥'¦wG?% ¿ÖTˆÅCmN´Þ‹å"}hRJsX8b‘C¬.J“+§e£>Td¯± ­UÈ4‡6•ƒs‡ÎÙJRë!ÕˆÁJ–ažY¾bÈù"*QjGOBöEʯÕ&H9˜Lcg˜I AqStsau’¾¯QCTR bûp\G«×>Í!œîûO\äd<žZ“yZgIrRƒ¦®`Y(ßëY¯'"pvˆªiROtÐŒ¨!GI,ê˜À .³û-…sZâ+J‰Ù7:#cìáœ,8D|$‰+C\á@iJ'ƒ[¾¬"ÿÔ +=›ÜSF§Ë:KRù ‰Z,¹:‚øua/Á7é}¯ /FAî͈ÜÓ&^ÈHQ31s›Ì$Z§ˆ_@`ƒCÊÆBÖ¯ ’ÝÙÅ—HâÝ´™«Np‹=&IÉΉ2Ä^#…Õ™¤ªðãÿ´^v°‘šº?j¶ùØn%꫺ˆz®lF(vÕõ˜5h÷`G=ÍÞ‚wÿÌ"ÝÛ¥]K¤3J˜¼_Çû~‚hñº›ÜébG—‡Í)™xÎwϲ¹x*=t‘üEý5˜@„-ãpìjHL:úºW0dQn¸|­m ^wç;^!!d†Ùl‡­]!¶%¶m@’®Gxf“ ;ЯŒFØCWÔ¸FÓ¬¤ý›í·ô¹ cZ€á··6l1»Ì6쫌Øñãf?Ÿ4i6¥d¡pócRŸÑ‘#8NV×@Ú-'oÉ]œ7zžÊ‚.¥ÎÉv™EÆ,w^ýBŸ‡^ðµCq6­$‚\KUø4:1€mŠ9¡€¸{l§òÁÜÇ$¦&ÂUk['Ñ-î$jg4ÓïÒœÖ?“õòjÆÚ¡ôµK‘)ÖA<±U%|GQ2TjA±¿¸´¡®¡kи³æ^-ßOC AÜÃô!0ÆÐ›-¬¶€ Ú¿BS²­‡tSΧµ@ \îÓå93ûÇavà…˜Ñ9;”KùöKzeMõ§^Ê.ÊÙÄÉ "ÓêŽ@É\*©zeS‚ŒnmĹîŸXäyG?AF¡©#E€ËD&±Î¹S›MœdÃmÜÅ\^` s¶¡ßð>Ö‰iãyÈu*ûùxy€S',<†­`ÉÞKW«í²³"zŽçCÅm/÷)ù†ƒ™NI]#µ€<@%ºY]¡ð:‰Ö>M(‡Ÿ>j”V1DéŽÀ@®WþÁVX]ϧTƒr#ß"è#JìDwÐ{Ƨ²ºvï@¡œª®Y<ž~ûëŒÛƒ>^Ç>SÞu†ˆž­=¬Û&ÓQnŽÙNˆ¶ƒ¡³Æd<« @aŠýQrJýcêû88²y/ÇNæh.é0±{io'‡woêÈ}4»×G1,Î9?bpŽõZ™ê­>QaAÜ—UÇNBlFCÈÁÒ£úÂu`OGó`-…ƒ D¬Dˆ·QfOj8÷j9z‹²ÈñŃíËÆ‡u¢¡ rþœšÂ¬Y¿_.˜Ûb?x¿•^Fb¶ÖÓm÷Coöºt•'KDyà&6û zKC¬äU&Õ¿þÐ5t2®b…](9Ü& ~ä¹"a$Ø£Hæ!øqGU#ÏÑëêi#!Á§~Ü¢Ë%qfUâ°ãv»›­¤è+š³½z:@%Î JÏ•œ^(»}@ýŸUë¢ädÜ…Á$V‚ÄÍV]\8J³‚‡sÐ˩˕4pª6¿ º9Îê’\6&ÜÓŸöŒ÷‘(•q@ñ[qÅ—PQj¡ÍŸJ% }Á !€ QhÕ6Ú©y»WZT^Ûödå¹ÁjË?S!YL2(Œ´ã¢î+>P<”¹ÔößaG}Nðp^¼œ_J­ágÿ¨|Á89aηé(4ò1¡•²¿«³³yâ³­GèôÈL !…hO?ICO¼hš<UÈm‰ÿ:ÚˆÒkÀBºMS¶…ïÁ(‘®­D—ƒ:Jí4ÂÖŸ½É~.ɉ ¨X¯?‡’‰dâûYW³=…NGj #<9xk^a§Bv¼Go{@ŸÿøF‰KÒሡ:„$Ù]FrU}Ä–?b’‚f+›lq£(/ €ŽWúCßÕã‡ír*`0]äj¹hÞV*ÔÝ:Tå•ÇYsñ®¯†GIQÇÓ5Xß2%™˜ :.@.B2ãçñ;ËAAðÜ2¤»̈LY‡×†?D݉ÍÇ/ð•ì¸Ýlãa£”3?½Q\‚S_,î¢{î{~ý®KÈèZùƒ‚Jef…'i‚]Þg’C7Gb§1L=ÖT6ßZžátfË¢ì•Õáõ®À€mK€ÉG®±–©Ýöì[Ÿwû¢è)7Z ‘‘ G¦õÞ|®®Er’]ãC¦ òìó:ª»óÑ.¯*íCÕÑMæêð1—™Ud·eЧ< ™„Ð·Äø€v.´­—4+¨¨©æØN9š¦¥<b‚akÒm$Lû'}XúÇËmlþ'kó<`æ0R1ê@2i&¸£kD=EL·Wý{^tçê·ÿC½@ø85÷Ž(D®ð<ã0Þ¬Xü<¼ƒåÉëkÕ·ŽAî¼#Ò·´‡ÄHQ‹¯¼DxwÝ5`@²›‰«<Áá¯Xh©·„‡Fæ-Æ$ü­8ß;ì+\‘­¥÷Ãð“í}?­ 2G¸Ú7Á> E-l„l @m.°‘½áö·¥åû|9 h’#¾Ñ8˜‹O(’‹£Aç‚s¡Úþ#Q·b~εfÚ0³ðÚ}9Ç\ ¼…(!iRÝ} /ùßÅ…~<6B·M\‹a rh®o·‘¯!­n:c݃®­ö­à=EYÆ©NQ°k¦`aÐ$ üƒ~'ȨY=›_v" #¶Ã¥RAKóL’=«÷y­i­© k#ÂDÚ"ÿ<» °);c5¿ƒáJ¹@Ƕ&"#ÑG0=Dèà€û$£qôÚ<Û $ã#ø#Øl½¹# åx!ŠÔ)†3 Å Åî„ÉðÌì4j³FaØ•Ùnò.øOµ%üW«{‘`.:<`6â1c$u?yžÕ!õ7ú× æT=3b·äîkÞ?ø‘顦ƒoéU’$OŒ#>€Â.Å6Î$ «„ÕG–­E“·¯úÊšÓ+A$ü%½ž’¹C¯$Ø·5€÷B|EKa>áâ}¤m<-/KÔ‘A‰µõ0ŽkíňvYñã*Þ¿›i\_zm…RÕê8!¨B¿ñªþ´?¸8_=ù*Ëâžà÷ ½Á'yëz¤¸ûü5ÞI¹Ý4ÊòK©zCqÜq¬ƒµ ÊÍ©£ÙVM=Q2Y#± ý;ƒ÷©ÀÈ¥Y'r–Õ< ö!'ˆ+¹‘ôQKÌ%Þl?¿Òø¬ìl~ äɉǵDúY¬Àr¡OÿFZì<Œµ2Pפ×0Wªš?Í¡&LóE×JŒo=Û2 ôéT4ñ¼Ñ>ú<©Q„H™9~¡²L¬€³”‘_¹Håãò¨äÐò˜‰ÅIÔ2¬ÃúÁÀîAÛ/råqÕ^Ë&Òš‰§QT›æß ZìѬSA樹 Õh£pg„­@ùW„DÙö«“Èù¨b“ÕaòAðb}Œo§³¬ ræ9o¼¼³Xä «[ç†æ`]¥¨Â%&8 þéþ¼÷T‹êذ]Úƒ×ZµÙâR?,j<ëš;Œ@kAÑ>Ãâ °Ót@yv©m·[&ÿü—˜'¶àÜÓ Œ¿‡)@ÇÊ´Ñ.)Zz©ÿ.Wµ%°íqo¤ò†mˆº´`À“Ë-é™ã±h lµ‰·‘…FÉQn5ùÔ{5z³ §g߉e¬Õ7Ҽϸæä;æ]/~q4ÁæÐÙy"…“¦Ú°L«Øã(”='ƒi‡×´cþcfo€ÌdhÇFTzkv~MîáŽæŒƒëí›Î>íˆÂº©¬¹‡²™rß“R…à1uìFÄ2ËÝÄ!•÷ÉÛ åÅ 3ŽzuRuõ(ʪH^N¾øgCóצfV*‹ñ°äÏ1€Ådœ] e B¤îý—0{„b.é˜Mžöæ¶]z>:)².„QéG!®OÊ+)j®FûŸ|yö`"ÓŽKQÛƒ*ƒFtTMóÓ†&ž§(Àqu"§Ô•L™¡?³[øøQ¢BØ&½2ÝH˜˜V[G‹…º‡LUÑF_'ÿ õî¤k È´ÌnZ®=¶O!‘èýqþ^#Ñþ_¤ÐôRÕJ9dß"¥ azaºòó(#M¿™¨ÞeDé;oéØ;ìÇHøž…iƒ‚è.#ÂAT9 â5äq-¿˜±‚.³­§ÿ{fÞÛ‡&ë4'’kÚžÛª° ûî0Ž~ôý…{eëÏ·5…øÒ¢ô^ EºÞŸH8(*CÁ㆒ˆLÍG£~êéõZ^¦î–ï7§8þ.ŒIÝ€…jOŸfˆôŸýÍ«xïÖuà»Kiž@JQùÒN!bŽ‹ïj^©.è!óE™ëûø-†+Þ@ö#I¢]H¤G˜·›ƒu3ll¤òÓAbS™d]ÂHWwŽÂm–Z~‡v/šBH HÌÑ5JpЉ÷}Q¶Á~:x@¬†IY)îàC뼈¯uwã-hp¡Ž¯˜_¿Dò0ˆÛ¿˜iºÁ¡¸wC-Wž&÷<ï˜PA’hŠbCÉ·©rìÔ¦NÛÅ´¡Ð›…œHç¤8 g^H­¸ûÂ# X¿ºªC.ËPÖ&í!.†Þ×u7Sž©á*(l0ŠDÒ#ˆfê$Ü3"r€aªxç4V»){wù(à5Àò¹yÍúDXûj›Üd©“o.‰1–•`‘&äj%8ÈÁÕÛlPskÈ)(›°°÷u­#Ž;¸§-2ج×cÚ¿3ª%9$·D=&S'å˜&6_ØË"»û^¶Å#W_óyª˜x¾ä7·¤î¦±°(Hš+À†D[ÝÃíD‡J£àÖÞ¦^Ió¹¨ÒZK)MO­ññ:ØõVð ½…6¥©99B;ªzÙÁþ2í›Ò‹ÍÞüP7¥k lÊÞÕUF7c@÷5Ñ@”³ýëÌ¢ž8ÎðC9èvèFLyg]üæ…?9~BÎnXckâ†'^© K,ŽË]•ñŠïsOˆeØõJÕ_+ÇÒSÎYº‡ªB&‹‰45Q­C ¬?’fjF)9ù 6Ô©\’Á/›OïZžò׳ЮB;›u:´Ôr°‹c\ŠizJíX¥ùa=f;ôŽêŒÒ}—žˆºxz",ÂÈ‚ª8¦×FTÆ*1Ëíª¾8©<¥9Àœ²«‹o6;¨ÏnQf—SÖܸG‘ÿ©ë@ÜDŸà>‘ÿcË–ÂcCu`ëE€ö+­œ*A «˜°úè7@zð^‚&…ZD»‰šÅ•(ÀRcÀÕ®3Ñ)QðFF]$.ºúB®ÿÒ^là €>Vªdq×›ìøsRãTŠÀdÒé*×o#§ b´Ø$ÊXÚxej6nX.óXçy­ú;;Ö1=Ýôy „гŒy‡ÝÇ2­ªtú"_[T¼WòiÓóY™‰Ök™óÞ4WC®e),JiãO¨S¶C7øÅSSmŠˆ¢#I¿Bµ!ÿ?¾9ÚÃvWB•N ]â2_–m_rTe<#èÜ©ZÛ“†á×x7Vžß2§Üÿ± )‹»©–©™)’üóxµ›— ;ðê‡@ÅfLÆc­‡çk}jaö½Cä**€_3ÒA$ ÑcéÀa(†ÛÝ´Ú+l|m¦ãjn§·œ לC¡Fô£ý#:e‰ –ˆÇè­í&K ¿Ž\# ˜Èrc¤®JúÁ3ŠŽr·3¯)ˆéAGÒ®vÎ:˜7 o;IÞ8m˜ZAµ~„&ܰƒ¼ŒéÖò-·;•RŠ[AÛ¹P‰7¯z^äï$G,]¿N. d½;®<2+h‚ž]‡ kWWjÚˆ[ì¢S2ð7þ}ôöðV‡à8ÕÕȘ߲5Äú¦©ì¤1|xHé)g==3gŽÈûwöZqÀ¥Qs£[7žg NÈÈ™ä MWaYm,æbÐk·†­A×h± ­²—p:&ˆAwóþ+¤õ3z `;tâß7VÅ „@ÃVõ°÷¦Y¬µÊOt¶A7\|Ǻ °Üî‰øi0c׋f05]q—ZZÌõÜAd°Ä{´A™ITk^8U”_™›QZ,Ÿ?&šñfs²ºdˆaK6|BíÜ@GÄ•ôp ®^õuHMvñr jãKzÒ[J9‰‡~ÛA²ö÷c!¼]þp¸åÜÁªqð# Ï?PX{h)-çuï½Èá]‡|årí$M³w–>à?+cPGÅ&¥a1Go?¹1@_-Øèþß3ŠìÀ[„Åc[€¬6¹k×”¾(KÎÿŸ/aUsoØ™A­X@®Ï­Åã%ËcLZ‡“W£M£Þ²Õ¹Â²X_©›äfØ‚k¤”Z,ÄêJÒÎ%rN ÝqÉ ÕKø[ÒpËÊÑ"Š)Y¶VಠDÓd%ÙsKoãägÕ‡‘fg‚ðøÛ~I…œªöË3jô÷œ‘^¢ˆ¨fÁ ƒOãŸðš)dm»àYϙƈ­”™ ¶âÎpâ’ ®o­xƒaçâ¹Cš¯r“ŽmˆÁ|‡ÁÐFXwR4Ew¸²zͤ7U¨F=×CNì7VUî)ñB8;)é——õ zm„šÁ–‚zvDÿ"?%ÂfxÈLGÙ9´nIg²µP>ô7 ZD’þæ'[ãïâ~wã5íjÃÁÉü(N½cÃòù#\íÔÖõZcæÑ7 F|1]½ÌHk©¯‹öß¼y”O¾IhÁ?ì²gû”Ë¿͹=½Ñ?î?áÌáùçæ„<õµ¬çaLiž§éÔ&à$ ”ä« %äC…ŨþÆØé‹nb™NñÔ:j©s?ãv')D{#`Ç<¿¬ØXœ˜%ŸÐúËÉ6€÷¸½8ìéI(¼ÕÿP}„aÇqiy±¹úY "D–Xõ[Â)ž-_È‹©ÔU™ZÈ™ñ»ÇÖfþj…¹…Vä ªDM›RVÙ Ò|DòÂÕ8,¸,„m×Û€ i%ý:a³º„8®xÒ›H …5ï<SoÌœ)•~ ™Ò@¼=•EÃÇœÉYV©Klå.ÓS9~óÇ`Xp; ·í´Z½žÜ¸ÿÜp½÷g©Ò÷Ž!S—°(¯qĬ•:ÃkV¢É “khcA¤eÛ¾¶†twܘô4JÃQÇ|þ1xï²¶8fÉpº–o”Ä $3ÉFP¢~ŸÂô1‰ðúM»8i|³òÎO K¸èŸpúgîÚ³Cá³B ¬ô\-ˆ©Ç§ˆ4– B™¹LØËpQÿtר3^/ Ëv@,˜`H­·s‹xÉÏÙÜŠ2²kGÕAÖëZGqrºd‹›[l5òÃ]Ršyp4­Óyq´4Ü™…'üì1$  =?¼,¸®È”&ìû÷ÈÙ{DØì Žʼ¹ÐUÜ»´س øêðÇYt(–ŠF„D×Y|ŒmkØ|kçj¿Y›(Ða”" zXXÎ0é÷LN0µè>yLç³ù“åX{Ä?ߤxm(½K»wqÎëÉ#•ùE–f½r6œ•s’ø(8Ôu¼ õÌ:^2 ËÁ/K:<B ó‚N€h=i´ã»ïŠÊ³Ò¸pª‰äL“cûTS6«„¹$•j=yDÍëØÛ.'Œkä$Ëq¬¿׎9´¯@úPð‰:óÞz xz´Ç`?SqØ–qÿQH4‚oP] ê´ýèvkvož¶Ë¡ EûËŠðÏ­ƒÃ;*„CŸ”íôÈûŸlé=ac5„a£öRà¤IþérŠ‚ôéׄ>Jõl z_J ¸D‰OÇJTz+1X†RRDOr×MAêôÏ~‚U§†GσäõéÆ÷6Äv€|Y,(›r!mŸÅÆZOmYêá€f-¿ü›ï²×Æ•Á“#§ù'k!Å*ZäÂécW(þ•ë³Aï_,ô‚w•Äÿmh|×ÙÚ…­ï»ÄSϬÆ£#CkÙp”š¢X…Ñï:)5\ÑT½Çr$6Ç<7R™bsd6§LD:î©%DŽ>UH]¼Þrš¤(.#­ð×LûŸ é-m|ITIÓ—êħ‘ï?ÈR3.Ô¼âvâ€åùgãA'‚\¹q¼ƒÉ$KV¿# ŽVmÓTA@„]†©^ÂVÕ"±ySÏ#lêÞÌC`Zû­çµzOÞuÒ~4žþŠõÖTŒ®Ƚå±R S†-wÝæÀ}=¿¾öáF¢‰˜Ü÷|¾ÿ­.¶¡K‘7‡äT¡_@„4 ƒŽ1·6L†kÚkƒ"¬«è%{Ó%÷IZ‰õÛ'Ëz„ž0h€¦ž-N8~ÆKœbž’D;Ò Ç:*Ìï„ìª0€³3>Úí—/L$ãXvi±SÕ O‡›mç¯=/ºåmš%^žn¥}&ÀA_<e_@„ \€lQ‡g´ïÊô‘„#¤¿~e":æÔpàÝ 8¹x³ˆŠ\¥×˜¶˜\Yi]µÐÝ´¾¦œzV§#NB —nÖ–%ËD HiÀè¹ÊïËËΪÊ 7ÓWØøo»HŽ’Šw)ùjÔ0ÿK{Œ›rÑ( 2Àä¦Ë¢[pÇkNPTON³C¦(5EiG†;?ȹaÏêâ;³|ï+<. 4` £[¬h)E$B›ªƒDx²;&}>6¢YÀZÖEž?Ï8³÷h\fâD“Ü–cD%î”Åùs)€x­lºå<â>-*ËiÅš¤-E+˜æ=+=ï7&ް+F‡c Þ<¡hm¹Ž}&cI>NkMfŸšû¦~ú›€}‚ú'z*øð ŸŸ:xÅåÂ/} ¹{L`5>ñ›LäAG¤'~(¤GÚZÔPzÑè‹jÄ}|}ÊÃêwÌ}ˆ7¤6Ù*ó}·!‡3³ Ä:í¤¸]¥E .ðÅ…Ë#‘=óîrƒ“b>)f+.~x$¦e±>Ÿ ¼ZË`á 4§SÇE»ED@ì†"._‘„­jÄ.Dì@›~{äf# BŸì¨÷f­8cÕlÆð–9ðE–l`C5Œm/²Z‹>hƒYY§ƒ&€˜€ð}¢E. B~¿÷=®lÒ}'DôÊÒ6Ó×JØ62m{ƒ~;÷E¦@¯QÜŽÝ*„¾ï½Ÿða4ºÕÞÞò#‹ {÷jS­Æ/A€\Å1[Â÷kÎCŸµ.⌒~ô#C2ÆÄ/kÅaó ±'¤ëƒáðOPâŸå¿;ìÇ1ìT!“ ÊTem™:Îb¿ <¢vœ÷¢‚Ñ€'§HH=-–!ã"Þ(›S‘<ԜʤâL¢Šª¾kØB­;Í.>¸-|2 A©k£>,‘F¯ånq4„y>L¯©AñÄmí çúƒTdª@P®£1@ê.q#02’KôcJ¸—^Ÿµ–u¬Ž§¥œ±lžj¤ÉØ‘.ž n¾O¬ëæ¯×ŽŒƒê.îì#š>‰B\U èÛ«s>Ôm½ë’fÚp&ˆ¸e-¾·ÅÐ>[AÝ7¾BXBº)šNû"ÇK:;kò7ùqxßÍóÿ'xÂ3}¥‘ï*Õ}ÝpË‘hŽ­%íÊ]2Ö-÷$Á–³6´·VM!D’*D¢ë&á\.Ým{p²D‘ïÔ¢2ÃUñ>Ä>§èN+ïO[ì<Þ#kÚ=˜îŽÕ«‚Ý ’<$YGYÏU]{%(T`£xƒ aàê÷.¡AÅ{9R²8YµS·~¼EgñD~ºScö«ˆâãžý ÜmÁ^1m5GpB¾®¹‚ _Ø´J#/ÆÅ0½$*E";Ž+æDä YaGm^ /,YÐ9þPkUº7L~Ù ·õ¯ð?.€# 7ÝDKYJäv½·zïG45²B#‚D -Øì8žôdáæœ-ÌÅF©ÐF?ûñ{AßpùJÓqú#ƒ[Z¥Õ´Bƒ9˜ämbóiì7ŠF©;ìŘÖà |ªúEv}ó+ÕÏ7(V‘Æ yA;ÀáÛa'â{VwÉ´zà–ÄÇ)Œ$ö¯¿ðþÜí6A&,ÙÁý\ùùm>ÄR{Ú¼¨mf»°4¾£õr¡‘Ù¹,©^mÙjI7s•¾1šœ3i´8­2Un{¦h0ÆA˜ §Æm9ïEÝ$Ç„º¥ì€–«%v†d¸h#Ò!=kï-Û²˜H+á¢Õ0 èO¹G”Bü‚co˜Aœâ{_C$nd÷ôfË{¾&~E•(Ö^˜É¹{WéÏ·7UË‘VÃNO®©@|XXŒ!MŽŽ™@bU`Jç7n纤ñ¦ãM£8ÿ¼~X/S~ôžS0ÁäËœþ‘sôÆ´¬ÙI‹"~·loÉ×yZö·)µÜc½°™R+êì#GB¯$Å–¨'JÇŠI­ð%Ÿà·ÔwÉ-G±‡B·R’óÚ¦BÞ‚ÝÅeäOïLDâ)aþ‹\ظ—Ú²Q^•¾u¬6ù6¬T>³ö³£ŽÞ OÚ¶,9ü9;U$3aë³ëéÐ+HO‹&D€™”c  óP€Õ«êÀù©wËÌ„ïý¹y$ÇŠ„¨fìÿúæá;wë¡LrNv%‹)Ñ+iwý…8t¹Ò0ÜŠ÷îvٽة'_4|À¹(' ÉÃDÂk[Oçüèÿ[!eê‰^Y*-=ÆB=âì5kã½¢K&Í|ð±m,ì3 1Íå‰Ddºx(Ť±AɆZ%l ¡f ‘Û+ÄJ?^ݶ ( £+þËÄX ù‹Þ_Ñq…xÜÒìm‘°Nÿ½É”ˆ®_„mV,Ó–>8ƒÇXùºœ #÷¥ÂÖØt–$ˆ½åYLw+ý¥ŸWˆ!Ïø1Œ‚pžÚs™\O=¢oëI|î4µ<ª–°`¿ÈC»3)ÆL¼d&Ã…Égr¥&ȃ‰<× ›xIr_ˆê‹¶Ã`.©AËš}a öz¬¢þúýØqûõ$I+g#%N› ¦|:n¯4EŽÌs¤½à: *÷Bð ¶ö~1f™á‘ÚmI-Þj&"´ê$jŸvÜ Š£½ìWj°|›5–Gi=Ê P÷·ÌM  \1ˆåõ|FÛÏî´c(gu#Ÿ¶ÏÔðÇ‹†èô¨ë:¡i'wZ«¿üõåt'V¤{$´­Lh4JVñ³´,w¸~ëðD¼z² pNŠJÌÔaÄ" €¦A|¦¿uz@î[RÈs¼òÞ»Ou·ÞŽàjAòôǼÿòï:yñë¹0³Ô#wÛLv$ãáoNv"‹yð¦áè"âÒ€h’UJzb6è‚Þ3+ɲ Qe™^µvX9¼!!z|a´•ÔO_â3›»Š*#iië/)qþ¹’8ps Ù§%fÙñ‡Ÿ½ãÖ8v®å!ÞŒè@ì…ð‹©ŽŠHÂÐŽ„"€øÄh=]ÛAŠM¨f_©áÆhú\Lct>Ç^|­ÖAB†*Ïg:,×%aI&FäïÓÃ*À7×µöW—}šö¹ 9Á¼çBøžâÞËHÏ—‚íNÏxÇñt<ž©ŠXò9oÒ‘e‘ úžUP…v{‹ÏäÜ}¼Ä«Òë"At¦LP<É®2ÇâFgª»ëÊ»v¢-;L@ßcT]KûYMÓZè+žl§à¬2 Æo$jáÛ½‡#‡Ôô6L9Ufæ7ÔùYëRÙ’±V1ÝoÐ[£îX»h¢t>‰ªÞáÖ åÒvhbÁ‹Mˆ4=W£P¿õ a¿Ú€hùhyªâò_é,M…öR­¨kôñŸ«Í·íŒUûfÍ<0^ñq5¸ÁjÃqÉ dh ˜ð'h«Ä‘ÝŸ•=Øv޲½dØdn™À¶/’/ÿ粂ÜM™™øþª§û¨ÓWç¦ÖÐäçG‹Û¯ªƒh¤‚M ÕÐñàÉîUŒ²`Y˜fò¯.ãòÙi4ýÛÖxø îÔÚ®þȹúËà58ãÇ{TÔ?/Œ4᱆ÂSÁ8u' Óý³üøƒ¬]œ‡ßŒÄB„n{ƒ©3ç?ñhMD;Ö#ƒ,ÉfÝÅ^óøV~jFWêåÊÈÂÜR°µ„ó•ûi­’Þ › ½!~ÃD £Øªéã´‹òÓgùÔþ»›2ï×ÜXBë ÜX%ç™(fÇÅwÂÌû/º— O$tºãéb¤¶¬¾|oð”~-„@íi`“²vl³x82–†< !“—ˆ6iEÄTp)§ûû›ÞÛD{¿Û…wÑrÁ†±0 È“¦.§¢ú#Vö¾ÆÆc§ôÌ©I¡Úæh£lqº¼¢b|ATÔ_¯±þvÀ¡b=»‰aübßeçIp“xp]xZg¯âDºØBgðÉðrçXy¥ïéNOUþÅ*Ê1´ Æ‘Ù!ê½°UV{¨©éÐÒ*<9?KË4„’º¾Kx½’ vÍE;KŽ•mÞ}ëþlÆá6õ¯áaFi˜§‹­z±ó‘Ü‹2Ö,ÌYü¸Äþu‡' Qo0’¿˜a)T³Äa•#¬Fà1-ÑŠ6ßABŠÑ´ÍA.‚.Õ²_[1JtQr]ßd¹#ž{SÑ…“;ᣪ îçsŒ°íFÀ"LËóçÞ¥ ´}¸&-♿…þkÿãT ÊZ˜ƒ ÃÞjÐWv‡ÂRP°šý]¦ÉÇéÎoL+N® IÇeØ`†¤®×Ìæ˜ã2Zb¤“ùþñ-¥1VÅ ÓÁb¦/m0½W –וwîñëi¯2ÜŸV€•ÕÖ1ù¢ êˆ5íñ5ÝAëfüZ5‹%IIûE·TñuXJ¸[ ÔÐûc¢%_À¨™ë6éq‚2-TÈN¢Z)C š•?#d¥‹» Ž9á¦÷húˆÉi2Û÷ÎÞ¸3,¬Ü<" 3<˜çí¼uD°Ï[Qï6YͰIÃø4­Y—¹Ò¶ àÕÀhΗӃ©‡…ûhî!ÿP;KQµî÷óÍGïV] õ[MÓ ÷jí©nöN:õêk_x:¥؈V@ã}!R"\ Ùöjaá¹CÀ~º&âÊtX?ʉ);rS}LjRcÃÔ836ÄJ›‹™a6+á`÷eRªsHklü€èµ1w×É¥;G©½¿į†#&æd㎾°âÈCg®nC…—‘–ª¬µðËjâJ>-jX¢‚¨Šô1 ©‹Á„9;J!ùÑÁnVã ¿p _E ±VH²‚.t°€ýRБŗmV}¦Ÿö#_Œ·ÃÚ·À´d¨¡YÈ Šî›ÿ’’¨YDz•Ž… ¬èÁ‹t¦¾&p_»`÷ºVª{œDkR(¹sX/v3Uð]çwC£}"ã<Áb¯ÒØ–eá” -1v™BÊ(b¸ç„÷»Éx‘ k gËxïÙ§`áÁø€OùØBn *oʽ‚Ûœ ^ãŽ~bzÅá ¯Rb_ެÏÅÍb¢ðÞÃD\²$7Ø™¦¬^Ä&tßËù"äL»$@ï (==Iaa.õp àµþ¯#̲r 1¹”-QXF³ WCu¢^å$í‚ÅV:éFf@_+ÎŽfKžÇ=þ üv @t1ëïmGvúC< Kk•SRBLBÜëÙSùEú5ͯ`RÔ@š$Î-d4LC©¶Ðêv}<;SØ&ÄNto¼ã!—³ÙÓŽ®†Íà^£‘3Që{Wù.L½€ [œwõ€”K9/i ‡•‹‹ŠÄ\‚~Í$0 ´äù%‹ksYY_V#¡×ëA[ËZì)©Õ‘=€F˜Ï¢7å!ƒ+€“—Bh¡8|&©×WKÖ?;4`k“ÂOc½Õh™Ãc>$™Cê&´j˜¢QP¢a%KAӾР\4 CF(¸ÇVV´pÆFL ‡DqÐyÀ‡VtK€°ÒODS¹ø¹ÉC+¬0>ä¯8‡\ÈDÈ4Ó2°|Ì8Üw*œ:é@c#ÿ‚^4ñ#¦Am&Ñ¢6R>Ž$aµ9fova‚ò«Dm4Šà Öjje#O\C#yXýÏh[Æ1Êå#…½Ñð'Ö’áë¨f`ßDŠa+‚XàTFIÑx’‹Q8Y8KS@Á¯_ÀD:ITCê‚Hžì@<KŒ‹‡€+Àc»ÐÆC‹N85KéÆÉ«:Y"ˇ¯¼i™Ÿ?‚ÄÚNë±[Ìg2´¶»YšáXéŸq^¼…F92˜§Në¸Õ*£Mµ* âÐ;Ùyè&¯s[jÙv  ŠL¡a¦áòÅòFg7èƒÀY ®:‚9‰n@–]<¤ðæû3y{ã˜Gž<Øâ­v¡;˜R/\s““Ýi7ñ¯µyú tšb â,pràßö²/\¥>˜9WRûÃ>2mÿC#¿!‰ )!n½+Ÿ÷ï  ÒXÛb;­1—ôß`Dœ6í$zŠÂ/`£™%ˈ´|ð"ß®a‡•¸åeûÈo‰`»$4aËxE¾N²¼!–À6as\J«CU‚FR–tù•¥α!g§ƒ.+OOyÀ9(®j^å{©dÙ#wÝj]«Á¾rÿæØ"óàÞ"Ú>Ð!:Ök' ÷5'‹ Á!4óŸ<¯AÖ+§Øçgkì»ïPlïáäl™¢æÝ·•B¨’=U`l÷k²ˆ?Å@BMm"bŽ ~÷bC¶`ŸC1<~¢?…É;§×ObâFc$·Ñ6‚wSSNîåEF)V‰˜‚@Qfw¾«‚$2Ã5—±/xôW2Mñ1’­ŸÅÒB@kF¬©;·Ò×SìíBñûÇ¢8Ñ–þ¨îV×£È ŒÝŽ%>Î& ãB”û§Ñnùn"XV.øWUäº^Üö€)_$['n¼„È“g÷+DP¦iÑ¡¿Ôüßô iËÿD"ï6:ˆ»„ÍJ Ó˜ ¯¸݉”2rÀ\…͵èq9r‡(Ñõ†1!6EŶèžeYÔ?®ú°øœÑ™¥ ÚR3†QëL˜Q Ò™¬+pȾ|ég[í\pðÖ¦ŠÌ.s†Í°}T‹´H,ÒDfkæÉÃDsŽå†Â4N F_;GÌ´[µRÈ#¤q®“R£¤Ç”k*^_!¬ÈlÓ¤pA†âaö©Kçd?žÏ}õÒyз]“–žµ^±Ej2u¡ô†¨ øÚT™ê‹kÉ\£†$Ê£(Ñ•}Õï\ I9k‰Ž²“ÚlDˆêt|Z;ÒmSsbÿ³°ÆÉã·¶»v]Ó†aUœí/Ž«Àbs‹Y©¸•ï‚Ò›¥DÈ$@)2A=T2šfÌ´y6›Ÿ± 4uI¡T·+?_ˆ^~¾*¤!Ñ7t‹˜–÷øKJÿYS"EÈQ4§jIVÏæÃMtÚ´‡/î{7ó%*>là ÷÷uRž4ÝØ§)| Üü©8\šÎ] &ZIeäX{³Ó\ãoì¬zÒ¹êÙ{Ü6(Áè{¯2-³TödìŸX}¹´ýNuùFŸ'lŠÿšët^ ž†¦˜ñiB3…Ü‚–5Ö.zK8Rï Æ¡+(n¤-´=`ÓTÓ±`îþºÁߨúsÛñ£ ~1˜˜¥*÷’=O;Aý e¿…}“––:kÒ­rýÈK¬I ³(¼I9ÂÐ.{›Ódßï`ãÒ 2àŒÔgÊ-mÉ/ÅÞ\(ð—ÿ âëñn¨ÐëPŒ¤;lXñýh›ËÕ å3-²ƒ\Ïq¼œYÒJ5RˆØ“o’¡²y‡"¡[¡´O˜G³}hCásÑ1&ØÑàÈŸe»yÒŠ{¼W6±ªNf÷ùà™¯ë6ª!4".\ù ]°¾Öiä¼®Êî*4ñ¢»ÕzW¸¼¹»HMU+4ž¢À%x—ùø^oZ•/_ª-£9†Pµ&þR¦Y395*ÚêV°ë¢- .íÖ£—í.”?Ë´ 1±i3“´åÐc’6CXx¯ðæ…ŽC,Ij(/ï'–5Iò’7vXRi€dÉeþ[ÂhؾØqA†þª×ûH¶Nƒ²Æ©0:ƒö;•GÏŒ7îç?’ãµÃ \¯$ó*-Ú£°.ùr£•qsMlt >I­Š»ÒwÊŸSn ¶Ã'îH|ΟÆe~<«•Wí²üë*çˆÌFmyµ+øJØ_”}!º.ÇNÃÿXiÕSñƤ™ÆïM4}‹íƒ¿¿cÅÄQ „ n„Í¿×Q)>ÙÑ P%­—†Hjmâ¹ÓJ¥ ™`uçОn¤„Q˧Ôäß#ÙÅEÓ/ê&Êh±]ž|èÖ·¿™\ê)v ꄉ&Ø$1¼*"JmÙ²v[sy  Z€bX2L©cƒÈÕ»¥0fzÙ‡K°Â† íZÅ­BïÝ÷’;· L|š€ív½í`:H •R5îöåÙ Ô5í(ow´ÁéZÚÂÙŽÉ(pµz£ER¦ÓŒº ûöbêî:.‚OE(«ÓôhH¯Œ)‹œSj7Œ4ÜÏ á7Yñ8QùFº[냸fÌ”ÙçrðNƒvtXo€¶Ѿ{ÿÄ'E&l ›ÃY-a„ ÞTFÄ5ýt R?D‚»½[ua¼¢†ýû$GÌìöÞ#\°Lz^°CaO¿Cþ0Ý0taÏJ´òÖ“I¦•MqVsmb"p#Y‚[!,W¹6¢Š7¬»R ç»ß š²GùëÏ ‚Tû—iÛ™}èZ ÿÏ"´}Žu³ìccþÛ!¸nÓ¥ÐÌ&i¾]r@¶zV²¥:Í\N^Ekø¤m:ÅvHRš¬•ªWëS¨¶ªjøìB’?“BW}vŽ‰Âˆò±í›À §½èü³3ïÀ‚H£.ð³Q›"³BÈ]އ¸.áwŸL8}ÿþ-@2’…ijI)å^Ùl$ÉÒ±:U®ïÜ^3 L匦7…9C*\u"ûæE÷sÁÒ̇ў¶ð"ªŒ<ùÖ`tm-`°{.ÑvJnðÆ6 :< ¹•~šèYÊ;T¾JgGÒ&pa»¯W“vZV(fJÚü´Žš-da¡Â\KIÅñûœ#6å+%»°‚שI2ªGÓŸÉ_’S'ÔÄ/:ÖO1´¥ä‚z9?·`ݶ@‡ÔHa5!€÷žOQ4Î>¥Âq@ 3™]e?¤óæ|{æ˜Jžþ’L?Ø#½ÚHæòZ[¦Ý_Ž¡ò©†è¼c\Øâ|6£ÒÑ©˜Oc;¥Ï1WjŠ“©'€× ýå­H ‹r«vM‰÷¦x>wÜ7Qk~€ÒKæ—K½êÔÈ¿îÔ¹ÕÀ¤{ó5Õ! ¶ÐRܘ(âX<ßÊë+'¤ùT( ­ƒ-Ž7I†—%Y€TØÿ›?ß÷'5c€ê7;Z2•î·Sy¡=#°0`"ô)Y÷#±B€9fì>˜¹ªð×8 ýyF-^Äs$ý%T—²ÇȧéÐgír΂ÇZ_¦X ;x[(ùÜh6ãÌäœÆi/Ûòêh_ÔÉ£ŸU/qßs ’S+LÁ\ç&$ýV¤NßЪí"3‚|NFÌФ_sœ'Ó.}«ÊJUmè¹³_ƒDµ"›98MH/i2î^OÊ\Ù^F2ˆrã—\©Æ[ÅY.rž¡¶ígÈXõ3ö^N«ì«ø¡;–|N~–“¼õÂ_©G|2Ý£º½^£¥Ú Sàl7é´ CÍ $x:—ÉžNsŠô¯Œ+æÐcõ[E£¼g•>¯F\§Ò…?ä<yŠÇ(·ÔýšºzÉ[ɹ‰¹R=›øGÈY'*´)&Ó1rF‘ûˈ)«UÀ™¸yý ‰åàðNÍÊç®]ª&^m?ñYH©Îuü¯'8Tä@wš°Ýhtde *kwôâ[ÌÊÛ¼¼`¡Ðõ>v<,04ÑQ8½_½žÈ nßO³‹¼%î|„8(ÎÀ3P_lJÞyÄõxº“¥ÏÕåã `8¤$£´$/vBGw-˜6m´:4­¢×Íü–ÍËšMÏ%ƒ)ÉÄþÍï¹ØHà8 o¦yŠÀ*ƒÏRa–ñ~~-„[el(ú¾ƒüq)V/pŒÉÄGm#e,—‹uàâöÊî¯" ¯£q©¿¹î CŠ OšRÅÙ_Õf\Š![qÐ7Ý+4›ÊL¡¦@›ãL‹E¤¼™˜»Q xñ­«¡â@èßÔæž½:ßSWݵ@O÷,PŽi¹¡ëóÖMî*í ÓÎK-¨M÷pii^#ÜíÂ|˜¥pO][t+z¦žêIV^\gè¤Ú…h§}J¹4=Æ ò\q±iy^§\ƒNØÕT@håhkI§µ/À?>Í&Ok¡7°c}ǹíú¯”$¯^禦ó2kÂâÉìò_z£(e>ðX‘a¨ù ~FB_ s¿öpÐn;''¨­iãt\Èa¯³5y?¡e r8ou’¨>ÒzÐo±b-T1û* ë t£|MYŠNæܧ)r›9ØYRe`id=äÏë3ÿÎ:’ÅùNRr±;-.ç)ÿZRjÈcÛœ†Lƒú±úw©²°-Uüxö ÇÀ}r±y ¦£ø7Ljj\vEÞ[õÌ)b¯°èW+µ²O蓊ÈèŠÅä±=ïžk‡fêÛT¤ê×qØþp÷õ@'3‘{S˜û˜_žUó#‡Íþ¥—ÕLu…ÉžuŸ|}dä´‰‰à*”þÃ7]ãɨ¢T Û‚W4ÄokÁ%¯_ï%ÂÃ*{ôË’êkê™  ÝþL:‹øö¾iôÞp£‰þ|‰doV»›±äB¶-ùciÌ|ŒVL©Lš LLÕüN tPÔ,G›wÌr^A2pÿÿŽ¡Xö vIÏV¸ËNCVĤ<¡=°ÇMµ© q¨ö6ö$ïç9™Y ÈÁ³Ï/Ï:i[\d],Õ^EË£ .š¡–vÙ²jCNÝ”.½#HAA# }B"Ç·™ _aN¤®”ÓÃi;Nd­6 /RñU¡çZzêЍINLJ¼:î/i‡HrWçyF#ʸiÜTÿÂÄãz¸§7*cHà‘ÃM„JðbL‚8@)Ý®áê®ì,qx“ð‡c°àœ¹r"€Â!ÏIIŒ …øˆ"u;_,!‹q½´'jZd/®ø4í¤õ$©$O5 ^ÒÇz~¢ã°Hb¡Ä7ÖUÈ팶zÖä^EK:2[½+…úÙ<é.Ÿ+Û=Z”¨âȸÀQì}úï‡5ˆyÏ/W«µ|IpüºeÑÜŽñ Î3IÁƒ%,?¬'ªyD¿íS÷`J…."½ªY—þ}ÿ£Äí†Aâ4¥¤;Ø;ót& '(*Þ ¸Yë7‡€² VÐ1š¶üÁÒ7ök® ™· ÊúI,ô¡ÌíA`×Ï>29®8Í–iÒÌK7ï"—SrZ,¡Å„ö÷Ž¿íódœ±]êö§>ü@oà Ò®ÿ T îQó¨•,1«–uCÒ€—QyäƧ­ã†ì©ùö³»šØí|AO<Õ€è§ë¥u™~2¯¶i³¸”†áóOÔe‰n¢ß®µ,v\f«®6hA¢š]»Z2cgc,9–ã’|,䫾½þÓÂl ô»SâRµ[fÞ¢åÜêÈO)®šñðbѪ2FdÊÂ;AiZG°†æQ~`ßÎŒõ©íÞñÍÁï, K)®–«Eß¡¾­”´#R?V™“‹ÜÒ[Û]iVî«e;)™ˆôq± Âéø ’F©,~§°Ö&´\;å^$™q…WLˆØ‚A¦a„ü ¡ˆG+fÜW\N¨,*­h+ÜarAI.r ™³Ñ³œMç€aQ/ËHºc¦A沊Þã^gÉn…ⱨaÕ²‘s¢¥ôŠŸjz4}ˆÑ*[ŠÕªô"RtV/ P,ð~†/‡…aT3Z¿€ä ÀÖž!YÖšô{zV¤ÒGJBÔ}üÕK@æüW@Ò«â`ÁætIb·|ïÇ4lì¦Q\ú‚Ђ"°·ƒ]},‚#dQ\Çç¹ÅȨs¡lºO¼ªŒa¬%#9Z>ºÿréàè<‚P×.øÂoÖxI924THë\MŽª‹I ‡á3º_'…ª4hðå'Gœ‚‰8whˆ(b©#gv›ÄÖ1åSÒ7ƯD…;¦Ë îÀV+úÂîÞ¥°oyÚF•80ÛíWÆ[ý½Z±ÀˆÚ@i¸r-ö½VÇÂÏ$¡Ãghìæñ ²îJ|CæèG²Žo$sn5ÝA4ì$iÙK7Jç¿à¿‡‹  6hF0ñ×ËgÑúüuaª²ÁÐ+‹a¹õWsw¦º‚¶sÙrDäö- Œ9À^ô²ÇV*±M~ ÿš-›ÉÚ²Ùñî…Ôº´rûÒ€’8ô*?44Ë@òG`Ó‡çU»£í„r'znW¥3+ß{®rzC˜+JÓSÂaèñ`Ç–2`hÌ|¼»°^a_´ÛBµ’+; µÜœæ‡‚´®£8ø÷Uw)ŒG> Œª<8ú­Odކ',cïìzIÞíGˆ:»‰¬g]§,tí®IÃx{ÜàÑ Ñç¤í ¥Û9”YSö+¥ss}æ‡èѤÞô¦™Å«5<VîϽ‚h ¥_ÚÎׄñ>Þ(Ë ¬ò”…ÀŸûk·ðªiá‹_ãV~Ç]h¦¥TÄ`´ÙÝ 8`¾g0æÈø ÔüL–ƒbËÎlÓ “4!Ü ýûÎy\6}z^ܤ^D#}ýH}@e£ó ^Ô»åÏÇ6óŒ¯yâ«:rŽ89¢Ì¬åè«8q©T¶ŠjohªŠSõg‰ ?Ycƒ]Vp_ÃâFÊx¥‚ˆÁ8qÇöa#3€£Gýšd¸·|Q–F[FÄ¢˜ÃNú@Z/f%²6ôÀ@–1m¬<¯‰ï·½ œà , º*v9ë/ŠÑ•}Ùˆag`Òð„n;0º4Ò)û¼{#ÊlîyY͈Âø¨9é] ÉB<0iÙSó"lsàËô‡F¥jð ßÜ'w X~Åñï ÊÐ|Â\ø§H2jâ®–‹ç8SÙ¯ÒH £ˆiÔ­õDÛão7fº%N§o3Al-MØÜ'›•ÌQŽ ®¥Þüµ« a2•¢½¦Pƒï¤4¡JsN1S-ÃŇfñ‰ýgúç %˜¸c®*µèÇ­®‹Xc9’ËBZ醥•š)W ìëçhûÄôOÂSeÄ„†Ö°Ëo ¸²ú· *—§žRƒí”–óRµNÎy3Y}†CW!HˆFÍUÝ•E9):›ÖÅiFÆvŒ`€ A¬g¼R&¾$I ïo*ÝÄ{®–ãØÒ·N·ÜÅü­) $µ8”˜†·2ùÑ{…ÂâÅ ~r{:oìKÛšHÒÛúëå6A»j_/_0ÒÅr«J&æÖ>Dð2]òu«ÏŠW¦›¡ÏÎàÖ9šÉãÑ‚Åô¸–ñ7aŠQ{ïÎH¸Ô¨ËˆþK0xša2\ç$S„äžAG\e  0šä¨15×¼Ö¹- kç~Z‚8À„·õ1Ÿo ›tZ!´¸:}øM¿œ«J ùøCW{BÄQp_|qQêF‰°µ& ÅNgfi— E”m {\+ÁN‘XËŽ=µÇ„¬¸£Š¿4±‡Öx¯8AGµ¼)I$–xEÀ¤•>´2ýúûÿÍÌ*`Ã6"»ãgŠ9ß§ð²¡N›ž ¥± ”ÉXEvŠblX«ÕÕ÷¯ |áϾ%– sIº#+"’, TF.‚aVÖžlÄ–+v\ÇlC¥/j¤oK·‡WÌÎ!²&ˆë ÚÜUåý¼o2Ÿù"öar ÅŒ2|RÁ€Çxœ{n…Õäâ<ŸùÓsPଠüwÚ‹3djú¢Ö†cÚL©µ»õ@Ÿ„V«„qwãM«éЋë¾Ç^PŸ£ ߸,Ákѳˆ„SyùÍ›Äfõ 7ÕfbȧZÖE‹fÍTgÿx4œ|Ä®JÉ[Ù³ÞK:e|Ôi 9—SM&8ørÂQ;Î^E³Í|P<ÿf¾ÔSî‰ ³èÀ |ËÏÒºTÏáRg9’â%g>ÆFU~î¶É8ŽJq©ÅÂ>y¼m”†Ä´EÅ‚ÿy4†MWY£Ú¡[áÎЀÄyßÛ†ÔjR)U.¾¬ÍXYУ°ª& q) ³tkQïQqˆw&…²ta‘6"‚·¦¼#¼ÜÂ;v^ÀþŒ½*4 f¬˜±QbÇHìIé « º)++ÏúT¨½ïøP k KEüv¬ëG¼Ä?z€šçep™¬&à¼e¸TN„Õòj•¹ÙàZ«òä(“äbùçK!ÏCv+CÜ2«…±åˆ‚ÖïäA¯­Ç$ÞèCìl轸=žïvŽÁš ª: A3UFzÙO„³õŸÇ™úÕÃØ™Û°·¹:;¹GŸI\cˆ@ÆvPÄã;± g'FT÷ßÊèî/5,ÓÛÑÑ‚Îy •Xý$“…Fý~y©2Õþq¿k=P|§ãqÒU–à¦wù”b@ôXöÃlèý‘0?Ã+åd)R&XÙÛQütïðÒcZFֳ䶨—®)[³[°Jö•ý9–ã²á.kÏŽÔ’˜¥½mÏe“§ìkѱÉk´hý êli"M•Îýé|ÄÃ=ÆzW­Rmhì(—.p§ŸMïÄ­§)1{wVñ(òÞÓ§ª¹ÖÀ·mÆZèð¢_Îü’ì3¿‚LÖ¹ä<Ù0—Âyô²$%‰ò{CñˆštÜÞ›,.9\i\ÂB›³¹ó ‡Ôóóãy¯j§ët®ÞÅpµÕ…<ŠÁ¢+W™YÚa‡Óí5³zQ5ȃ¿o5ŸA”Ád| Ë¯‡=¹Éªº BäÑQïħ× gy°m¯ÀÖ§>…=¡(܆Y[vÇ Çó‹µÐN™i.Ñsˆ†øæõÏëcósm“ùŵ|–'ÐL†.1QŒÌÜ£_yec1…e+0b¹îq?Y9;'e¿þyv9cäl1^P÷ .Oë<‚(kBâ޼2ð y¿e{AÜÛ”UùÀº…j”šM³8ÌÉõѶÜØ>Yox;—±Õ$¯§kDÞÒÁûufˆ~9rŨ–ÆzËaÔè'•[i3 £NáÛáÁ©Kõ) ?Ãé|Šÿo81åB¼” ÆšX_ ²’„™};8µêîŸÊ([-N³*b¥¼È™ÂꔊùWýéu-º •ºÔ7'®c³"º…b šQ|ÐYnج”{¶amMÜ«°YdÒ÷ÉÓJìQ×vÛy8\ýu:½ÖaI«ÑüªMˆ-%%öD/×,¯òm:’ºa–Éc™B`J̺5±fC7ÌÚ`6<í’x`ñ–  0ât=‚[Þ‚|8ìæ€/åí°Á¬!ýRyŒ,¥…»\ßÞ4¤—Šˆ¹VîENƒöƼQñ›óæ¼2gdrçƒÅ†Üm¶.­n¹ "Ÿ*µ£æ3¬Þ²Þ)ò¥Ú~3Ã9Út07-RÉ›ý’˦ïb’؇æàÿ¯-2n›}¸Þî瓟‘âø—ÒÉ6úø‰(Þµ9ý& °Ú&yÁü3U=hﻈ„ÒÙ7!R®G»„>û<ê“óý¥¤j£ªÚ3»žõKûG~…zÂŒšnnÜÖIܘÐB s×ÀÒ; &~nÕçâ…?§]JZÍ:ùŸmC§uÞ·?ŸD1È•§Uß E<¼ñH©<¿ù&²ß5Êú¢©ËY„@²!`éËU@„“ÖsS௠«o¡7ÔC‘Oé¬@Þ€7)Ä:**¸E·)V‰Tï1¬ü|‹+£8?=La&K›ïÞ£á"'ÀÃoUçåí«þ­vy9"Úÿw^ÝŽ3è{½c¬gÙR ¤Ú¥Ð\ªn0+ÀP¨i$u[¨ø·z÷wgjêÉ|SLêQ2©%½ˆäUr7ržJUcÔ¼ÓS¯t÷ª)ÓŒO ÿÌÇÔm=ÃÕ±ý¢ÿ\4rÄÔi_ª‰Éþ _ó3ò ÐäoðqrçÀÐÆ±Ÿ|ztÆIOõþÈ㣷£—g› %±Ü¿å&º.x6ŠêYÓl_ Yž£ìͶñHPd®Á )®è¤ £DõijéB ¬áš÷½½¬ê¸WGHÿ͇E·Y\Áíòs ÿ»ê¸¿·Î") ð”hBï?´Ä{BÁ±E©”ûi #Áé>Έ,«"ßrÙÑ+Îâyº-øçí¹tAƒ#¦_7®Îœ™+a,QŠkÞkÂ:²»·bAÉwp§œé`yÊ”:DRÜ{SÊ®¥» ÃŽuÃ\Èh àqV%ÕxÓHã9Áw3 B Û+×­¦/­´C‘ù°¸¤©SU°ÞΆO3ZBPÎU4!Ù­‰¤Ö»yç£t Í% ù4©@‰å·ßbÁ_#à (è:Þ‹øMâË.NP¨Ëmì÷FN椿S¢«œ? ¢UÏëS`쯬r5]qôzAÛÎ÷À,AoÒ–M”tÑóYÜ÷@l] oŠ lüÿ/÷¶\zP ÿž‚‡?ù&Nó˜Þ,JŽÄ €Ëëò[,uLaC„ó—·M±yùgeèKOrDô<̤s±óñÇmCD ­lÉFg¤ ÎGþ¶P9 þÉ¿·_` ¼ÏmX´ë£:_×IFOü2øœÌ†™£fkú?-p¹2;‘©HÓŒåo}ú3ŸUB^c#_ Ê¥v©ó6·‚#Zá? Éa·ÒÝÞø£¡ö3ûË26"ï~"’ ]ÿì±gìW#¶Yõ ‰I}®‰cãðhª£Ìéû;QÓä.œ¤\ü©Ì„d虄ژö°­7ô­ê'.Y`Déø¨ƒùâá]ýMþX+éöf'ø4ü#×jÀ4T½úcã6ŸJà­¹ž é Êqû9\vêE®K“½˜Ó-»2 ^j …Þ⦠[Œ0Ií :³Ÿ´Ú̽al’ÃÇÐãƒï¸#W´Á—‘Ûp¥Œš¸ãÎÍvÝrÓP¡Ê‘¿õ†K耔åQà‹kÆX·ÿÎ…¬O©hítåEs7–{·½ÀÐ*LE*üËEo,’™»dBM`ɽN•í˜l b®CÍz2¡ž¸»áŒÐÊP:ø@) r¬«ï r‰‰Lûd‚¥ùÄÊø4ÊJÀ©  ¬mLeºoFûƒ"©J¬ ç­&±]<Äìé‰Àëâ^_Lø.7/¾ìY3-<§’unÍs-YLX Œß€ ú*ÜIê󢄨ý]©l) ï«y4H ‰‰Λ_‹ÝNY&Ú'}¡MK$Mö™¥|JCT±Q­oIýÄ;•vRÕmÆ+ß`ftßQ.ú C#Åq“óÌã Ó¾"hiç¡‘üd \Z«Km¼Isгtr²êš?À«p?÷(% ’ÁSã©®_¸wo,'›Úîý˜ôY‹ ?ˆ¦à’ØëÆ£¹IéŽ/ƒË=ôK_äÞK“~K£O‚²ËÈÖ% ©ý°‚œAV»œ„ô/d«¾+¨ã™6(G†\å@#†+æ³j­=Kµ‹¼*m êÀt*Aå×¶ Oã¾¥¢ÑÅ’¢4ˆƒ®sÓÆqácÆMKsuù'm @‹p¯ò©“ñCŠ_à'±N-†ÂÍE‚¢þBœºc¹µFª©">6¢:x¯÷ðöç>RRyU Ž~>š¾«ü¼ðs¤3¾-¬Îü¦ôÚQe1™1ÚB+v í]­dsÚÖ†®Ãg_Üù‘} r1.•9wâôÐ@Àú…Åìw°ƒ6A‰Ç·ýŒq²Ó\HþqtMÿ« /¨AÇt×l«Ü†xJ6VËa|žì¨ÿ 0©ßözã%ûÝéƬ’ìâW’ç}§¦õô±•І^ÿ¯ó¢ôš2Ôàè.Lþ×Ç*8†yÕœDŽU’r,>5«›ÊzùÝ»õ”=A¥ëvR7ÓGêµáué½Âá}OÕ~fÔê7žˆhtÁdÒ2WÎ9À3¡`Ó?ç®"Læ‹OsAÁƒW¸òÛ ¯ÿ‰QÚSï8‚{„+YŸ÷#Q¥‚¡Ç¼ù9AÓî1f`szÝ 3 È}úÑš!WŠ÷ÿ1¤ö;bç Wu7Ÿr@\ý@{‚k¸$o™Öõ„tò§wZÃdZ\HÒç@$%'‹«O'%lD[I#‹^=êª6=ܪú)J¦ìøwS‰&-Õj»– …ÁC|“X¦ÔÓf"ý°mªœàX ¶Ž 1è’ì*uƒgò·I´É;»1¹"Ÿìô¥1du Ÿ '±,zšÑô4ÔÚon5?„&§·¼ bm]·ØíÉ'Ê;îuÍûqK[Ú{e‡m6VÍqX‰r¢É81Šè¨1ó$ñW‘2Å$ì`Õ“v´4îÕ$€Îq [~W­v%ú€üLOeÙTò©1læà62ÄVš¡íêAïu£›/ýÙ~ÚTYD¼º¸c!“:P|L (Êë;k®òØ ëÖ€Y7LRå7¿PÔ~€j®Ê›®–ll‹;H¶ ®’AÛÀ¦®”e4´% ù“p¶_Ô€²Š”=5Á.˽ùðO[Ïb+`yŠ~hãt Åüpð>DÑñ©[¯7©ð¨#³Ý¢ÍŒÓ‰¸ºަðÁgþÙFçÄî™bHcêšh—êín£š‡ºÄßFP«š"Ôòm5/Y“0¨wdìаúh žë®ÁŽët*·eš[EjûŸ~½²ÐçÆ¤¯èxaX¶ÿ >;ÒB› òèî <½eÓ*Ù1™Œ0Ò¼ÁUýÕ„‘`Ê^­cY5H$té؃nwãÁÙ3@ß‚ºc¬E†*É¥"d":à| ô-åùGCœCàåˆÌ !%Hå[ÏÊlusë•Çé:r·µ:ž`yµ•ÅgÕfüyŠ1Ýü0oZP*§”¯dRõŸ3{¨¨žèÙW~#ĘSŸ=K÷ã¬`Þïûˆ‘ ñ°a]#Ô½ Ÿ…áÉ}q9¾qä™+ÑÉ úŸ.lúc Η°¦ â¸}RÞ¼ÔU@Ý’4¿`6[i²Í4¤~kiÔ èhªüÎ â‰ØõÐãçÉ€/Á棔¬ÓT©j)Ýì¬ãT,ÉŽ ï6ä³—ø>ˬjè—÷y2.ªÝP¼Tnц3ÄÒy³>B¯uy<ÑÕ´‘$­6ɰ„·=n]˳Ôðß­3 cçÅ+þ|ê§ Méš#R´ÎF=Ï „JåB%ë&ó»ÜÌÜžUWÈå©çÄûŽ6uQ$sÎPu•¼K¼[VÓ³üHºË|ɦ—/0³7ÑPFÏxû@wá–‚¸Hƒ»S¬Êã ¤YR­:¾ ߇6qMŒçÜTZ<î3½ÏúÉ• @6Þ¡èH+êWýÒVºMvõe;½ˆ„s½öºfb½f.1·‚oa±5F Þâ¤CЛ†yÌÝÌ2l W!S{ÁL³¤3®5†70;a×ýexÃþOˆ7£ŠÝT² ‡¼'ˆXÊ2×x¡ÈddÅ­­tÇžn›„{‰HË…iÛßä àë¨gâj›¦³lùLž;FT®ÙÍ%3™ê~ââ|Ë+£n— ý"ÀÌ  ÉË›5<]©dCÙÐÜâOO?÷]ðlE˜E{°o°™@—.MIïótd”¡ ÅâÁµ“Zb[„ÞÝXgÃn;æŸôrûBTã¿<_i9ò°¡à®€ßÚ‡k÷Vù›gêô ´ÜW¼  v–BÕ?Wüóx¸_4tâp%NTº¢‘SmEoDm¢æ|„ -ÎC]¹Âå¶‹”D53ÝM÷=ÐzÈ:Ù„A3~vq: „úìRÓ“±·g¹+VyÛ# _Ãjv/ZüÍ¥ó[`õ€tz)º’äF›c) ò=À)”fÜÓ»™ÕÊœ%ÖfÝtþÄ-‘ æýª1xÌŠlóÁr®ý¡PÍO}ŽgD9Œô'¡íoƒÒI‡)S4,¼‹ëng(H¯|ÍïôW}D¿%YÌ"îžÄI´vD c¥X"aŸ¦U°£4s¹¸í¦oÒgêrˆÏº“ëjafŠùž¦ÊA:Eéî^’l<)¥ÐW\ã–*‹©•”-àÀKvÆk›­Ö†fiõÖó†’ äY{èéËyãÙ—¨äN]Ÿ4ÕƒÔAœ‰§Ä°9NUH¨‘‹#»´»KHÏü2:ÓvQ‹ÙÃûíƒ3ö,”‰Ú1Ñ¥ð§ôì‰Ù°Z´(7¥j_òšöt¶qà{~„œkÝß¾zO o‡B¾†I6fÛwÒàj3Ä{uFÿä]ƒð–FÎSDp±‚ÚÖ´c7øL‹0€-™ÿáãv‘U ,o‡|}M¬fÖÉ4¨ªæ~n™o&¥ !Š$£!} ì?j•¶0hÍi˜Óz.R—L‡A_÷sCêÁre¿FfížÚ±á’xýÑÀŒ¥gòbjqvî×ÿ6PO×2áå±™\§±e‘™½ð¯ RŒÓç/cH1"S„_;KÚ4P;c‹ñ(6Vö¥=,` \ÓÕo §½ŒÚ%ª®yì³b ãLxwyÖæä$iÆí.o§¾:¤b˧]ÖŸB¤>áŠ'$0­Od[kh:/J)>qdI©"Kpeñ#¢Î}¸ž+ÊoJçÈCb&Ÿîî;/¤í•ZÞ±­üCù­ 2Ël·õ‘Â62€nJ=¯LI/Ëõgáy‹Kˆ"8¤/+Ôh>²ó÷œ/õ[HlãV¶Žf²R¨zZŸU…}åÐTÇ ã=Iä…7Ðà"C¯H‹Œ—>¯›Pû:ldx"{2ÐD~UHYº·™- F75ÿÙÒ¢ŸmžÀo_(`TU»ˆÛŠh ØÉ©ùbûÅM°(cü@ ,ÇõUkö{º´ÀÛ ÇƒÍ¢>jÿön–¥÷Ân®žVS£Yó;fw¯l+ OòDùûá‚xóF†”%’î[ijípŠ<ä›È Ù§Åèþ ª6ǸFÅí„5zÿ9Õ PѺ¸°<ñ‹—)ï {xÒÕâ"gGöYi¤>‘U·…—Xû bµ7œŠpÊÑnÈFŒav¡£ïÍ1ÏÁ“î¹ñ#²k0¥ø›JäÀ? ô½) Á™™rþwÛ¡ÖKPÏ–A F& šÕëz =À€6Ä·ŠöŠUè]sD ëg®i‹¥#†¸žÈ¸Bö›23ôØ#X`ió&S£U¶¸í…ÏÖÃ1kï Ûû8¿6Ä id%€Í¢ø)–™ñ#S`ù™8Hì[Êpæ »¬.Ú\Û±cùìK(,ÌXœ8 N.KáŽH<c8‰-Û Ç®IsµϵSW|fÈëéOUìJù_„é ±è÷Ì:NKèzL¿£R¾}ˆéYú`î7B¨ŠoÀáQ„ßïBcG3b•¸‚¦Í1Æãu|Qp‘…(”oªg¾j#>³å³ HÕ Õ´N-ŸUjln…Aà ‚<WõÆ Õ5ûSö5õ¶òÖþÓѧ$éMègÔʾóÅ1“ q?¹â-&_B÷({8<Aßï^$gºÂÜ,)On¨ L_:1“¨89 À ai-•&÷c·ÕâÍÁšR\]I@`¯wz¿ßÎE/yÓ·K3K”ÏEé.Ï"%§Ã‰â¡1¢RA8ÖÍ©i>Nâçági¹§Ò{w¯}#ÄdE;+¾sñ}3žkþ³Táªï[®N'ŸÕOjfnû„QõþÔ;à— Ïâ©ááÇ©³§0ùÁ:¨>¶a¨óŸ5z>Íph7ªEÖo‚A8œG*¬S±ûé  u8‹›ïNi^§ Má§À2Œ<KûâIÈÍU¬K€1-Àɾ·Œ™ÿ‘QMê!†×äH^Ƹ![¤ ¤åO}“/ºMI¤î¾|Ÿ³\¦D¯ZíTM ›Òómh囦´|•õ6dÅ™Yl§|2‰CL1\›”øÄÝ\'/W¥É·¡&ôsU@º/½¯c€û¬X­´Á9 ’g@pä|Õ,ß=«)6¹šúIÔ+õSBèfýV£ÏMÈ«²(„‚ûlH¥X„ QÎJ^[?†Æ˜¦°îÏG õUF•EýËÞ±ôIð9yBxWΠfùªª7Ó·JZ/}”“éË#°7OqšDU•I]‚D/‰—æ¸EÑ ¶é¡bc%Ó²ïKCýx#+,ÝÃWi³E °T°Wó™!z-yWßuòù#wë :×rdÃå7ƒ£ZàÛܳ ½ñ D=ã›6JÞÏXJ àiE•Q 3yÛ²I•Ê©\[¨cX`â™2ÙÕÅ_RäÊ€†0.Ðp´Ÿ8Ýþ™®Ÿ„)5_W¦;3}3Câ¤Pe &W1nn–N®Â—î·ZãÇ@¨D¶U6@³÷f3•Fý:Í™])Öÿop1Káp_cýrÆI{ÃuTv‰§ˆ‹.”m¾Í÷ªPiX jk  7¢iôh<&èÚGß©ßzIâš"…uªÏËb%6ñØn¦¡.Ö=j–äŽç˺PüQ¡Üù=4°¢¸ö~ ´X2)nHç¶þLðOãÊÚÍ4>²Äÿ–ãB ƒ{7¨]]Û–†N¤ä×3M˜Yžz1<*<Яá )@@w­äxúô,#)ZǽêáKÈ ­=eE —ÒÏ*ãMJ;³¬tZ—[â2~¼Ü˪ÜÔÓb8Eœ²Tôж“UÜ#—[Ëê“߈ŸÝca€šK<¿_ºF‹‚ã,f8n†`ÕÙ¦3àº(«jöý·@M¼)¶Z7eòùD'SAʸ àÂ=¸¡5Á öIÌ¥2l ϳl<ù¹ÀŠMý=ð‰†¤úÍfž¯ìè“+¦j¿ÿòѳibŠ“û%¤ïÏúZÒ%†)ÌÄ&.Ù·r¦; Ðï¼ØKàAñÓ$8šéÀ²Ë+hP37M¨ð ËÂÎÐ š*Ä ¾ÇÓ;éåß s~!Á¶g˜\3q|:èïµPºÌ{2Öè¾PxÝÚÀu²ØIŒ- ’â²À ÚmQG;<—ÁyšVM)8ùéEZë¡ôs5à³´{§ÂaR"H§Ç³öq@÷ß*œ=P˜Ôg×”nÞ s)ûž—nu‰BËÕßÞ ®Ìæ"Ê®uÂT;ðKÇo-ƒKå€= \,*…¬¶!)¤Þ|‚‹íyË%ßK “3`/[ÃIÙB]ò¯dÁYóÁžÚë•„iª¡)>6ÝÖÇõ£Â°tÆ„³2‚ï?Èk}™7š¸ãú½@éKu”1ˆÝŸ©IJõ\Õ¯Ø-É £`73Ž’ÇÓRИ Á7Ž£í·èÒRãr¼ûÄPÀ¬¶ù¿ïZöí¸¹ýü@ÂIñ†Ž»éƒeSÌí÷ÁŒÙßc¡QÙt¿ø²±¨þµ}½Ç«<Áçú¢dÀ Q‘¨²¹å"YËÝSþIE$—½U£Î­MýÉ-©éL#hÑÏfÐÞŠçl£d–#)/~¬t¼×¶öš“FÛí L:\¾rmöu0AöÙoX“-18þ¥%–V¿ç—¿©™©IIá (µÝö4þæ<1®p‚vµÚÜ”Æß€fÚiKø“Ãݽ~ZÒµÉuÏ®ªá®UÒsßcmª£ùáP«¨þ))±DNNj%Éù Î]ºðú4yÙ‚[m£ê7ïEø œ)yº †×T‘'ô~•üuÓ-ÃÚöx·Y€>*…¸›^ÎeOº1¨VWCfÜZiþ^qçú{¾×7JÖnš >ð/¸)ƒD‘³Y’%ƒÛk‡[ßz›iåËëè³3ÇûŠ  Û¡âI¢‡ªìOXìõ¹b4{X{ôáË óMÕ©KÿùõþócÈÈ5Òj§yîaôjhlž×÷ øÃ±|’¸^¨ÁÛ"Â@‚ÉcwêBIöànA7ƒ.¼«„K@*ô¦½¤ƹ¾³í‡y®á"iLV«iq,žþÑßtˆ¦5ûô'U YD',W‰ã,y þÖ'Žhª­ÝÁúúÉcFu,Vkñœ¸ÝJÉAù°¥¿J‡¯°‡É'Œ›eî °Cà꤬hÍä—Œ˜–Á=­ «¼T ü;>Äíoêd'êkøÁùüúÌ=NzÇËõí4g" €jÐÞW#°92pNèý/°U‡èU«4²2W±rcH‹80/1ÉR$TÚzJ' fQž'¸®U¼† €Ð±5#ž‰ÁxÂاË[!u•žô?óãaoÝ5rÙ€çgÝõ_øªZ÷íàá>}ðÿÏI±ýÖjåO¿X‚mÒÒdöõsz»ÿÚþù8‚»›zàÈcÿóƦRd]jÇG/ü½÷Z) ö¢¯žp#^š>º¶Í„ÜžcóyÑÍÇRh,â º–[^ÚξêÁ}NF™K„üºغ¥eFµ[ÊÉ«w£&á%ÆÇçÊk“÷7b~…™±ð£ P§)G·ðòëä·=õ`|œƒó.,"©-š‹~Òhõ@8¹—Z3pl»¿3§xàåöFÅæ¢M2¼VVÂÍî›.«« ©üžy²"­Ù2³-é8Ò¹gl£¯Ñ7®âŸÀCs4)¦¥¶þ & Ýe¤axç*IsFHN±‘EüBs¨} ß÷@”:•¾4…¡¿Ç‹éÒšcî\úºÎ0µy„t:Bï Ž—ª]}|#†i‘«Š.Òßü¤DÃü_0|Ø \Ä…¬¿ v a&ó=HƼP?k’6[âÑtXá½›†VEšýÆò/ñÎKó-€ _ƒQBɳ¡/Ì+6Ò‹Þ)ÀÝ>ôµ2rÀq ø}³ýGu4¿Ê¨¦†~¼ÅÈPË™@€äQßé¤<ñ ÿìœè½Lši[÷ßN±0 ®P¡ü`«Úcš`¿3‡ø¶^lrêùôHsæ…€´«Tt¡ãmD•¢¶ V†ø’_™G™—ZáëL²ƒjKvD$FŠè%)?ÿ|ȱFnÇüä¨PpçÇ£µm/„*™ú󠃡ÂóOµ/b¶DÓ!3ߘ¯ j½&–ö„3åW‡ášÔýô¿næ§Û3ñÕ1ÜàÞÆÈ=¬fq¡HöÓ³Wf†-Û¿[{˜x]åd´×)žØÍe¤ÒæÊý*°MÐf›=±TrM¾Œ¹¦øçYhˆËÎŽØé2ÀORåæHD‘D+åÖ!ï(QyÞ” $¼ÝåU÷ ¤³ÀiøûTs¤B`¡QÑÛeGï"S÷9¼‚šKÏ÷=,†Ôä£Ñ°¦‚ÖX)øûsÑLšÅ£ý0¨  J]Ô‰SÝôüCfé•þ·4‘¡ ŽÀƒº§V³‡dPˆæo°]å|öW¸€ÚŒqi¾¼­“gMël†­ÞÅ\¸y²òøÑ2­˜E§`]˜ „Íd37ØC{+‹£R†e¥”!6¤s{5˜è eöKmÎ˵ª æÈØà×#ð\7Ãa<<ŽUÅ~éî™1a0Ô ß|¤Ü_õ:CMÜòBŠ>5hJ;sÕr2úP†`ØXaüÜ2nfG*Èö6¨—h" _rÈ·r”ëK)–ÌVüût àVî4ǹM¼Û¯]e•Õ •œ _¨)¦¤[êΆ|<#@n þ3ª¢§11†Ññi\.ðsŒòY—Hò+!“%·w^ätêNz¶x>ÉüSlHö=:RþA‰™X›×2½­»‚°cŸ®IM²8©Í‘"myLÁ^[‰Ø1&tЉÛ…é9$È $u!\=¦©€ñ^cˆ:Ýym @p²UtR<ã¬qæ÷š‚†äðž_³˜~ÝmÇ{úÈ`ñcñBEïÔpV$âF‹&û‹0)o¥7n‡Xà´èŒ ë÷­âÅ@g«n@…¦‹”‘‹¾gâ*jU¢¨#æ‡ôþÇÝ.ëSV±#ï–`ÂEg¨Šûe1B^¼–}=HI]"¨Ê¨ìýȈEš¶=h$¨yŒÈ+N+µYÖ}ä?Ô4ÆëÀØí=iSÇKqí ¥óa=–¿ø7›&.5| ³f"Áª§· ÍL?âÆõ6 ^ÔØáè$•¾©HõXi0 æuN|XÞ"ÄIîSc¸1ñ­çØL޲9ú&kE©OÿÈD<q(aÒxÛ‹鯽,¡qÈødøƒ-FéáÞ ]¥ÿ¤¦¸1.lÇ›·Ä-¨ßpë²:]yùyË Mû| ¤s¡CÍ+MC›Trm±s‘ÅäòŒ] ŸÎˆMC†gø /3Õ#yæ9}ø¬+”j¾ j…rªàÊtöéXÃ&>ÐR¶åæLÎÏ\×Ã߯u§ábOV’õJ¶ Q µ®RmôZÕº¹VŽEÏšDuð :±¶¦ÎÛ¹¤Å`‡ûAZE_‡Ì©v:ß-C}å‚ý檓Ó [Ñ/%¿™ÃT@r@®«1¬XŒæj{z…Ð1’%y qÙk©‡Ú«\Åö{#Œ#`b÷-§ƒqw÷û“ÅBFÿþ¾TÏcÐ/'â¼Ç÷&®~BQ‚“oç0 ”ÿ²]E@«×lºœ0RO»z†Q(µ' ×b” HÔ)-¼Ï9HSog›»S|bwÞV‡Õh9¢³™˜Õ¶¹Ã¬Vı eK'q3½óä²³ê#™P0ŸDàXj…  ·NonÅ%…<ˆûñЀôü¥Hb'qBCæø'ô5xèZõWÏŸCGƒðHœœ™¢ßNäRÿV¬¤Fôš‡¼€ç=É {?"û?O¦ý·l öÂŒæ e[SØ5ŠÌ&:8ñ2^Uó|œÃË —û_Ì<m äzZ–aq‹` T®\†c ‘þS'°JMù5îè£x|C/L#ÿìR F°_yøÚ  j9“¸U¬õ–#¦À;Ä%á¹B¨R—ÎaTy:*³©§UVíÃh‰¶Ÿ·DK‡cò²xQöÞ鬅ñùdÖOêÖaÈ“1¸‹ºæÀW$,šÌÛ¢}S"ù£líUô­tDˆSž¾mãÂÓ÷|‘js¾•⎋ùŸ­4” oXˆQ÷„°PÑ™Ð)â-“¾W¨'Fëp/>–¤[0ÛN†µeœ×€°IDÅÚšVÔ²ý(gq bßP£p®±Æžœó\‹ÇZ¢\±F}² ÝœxÐÄà½o©Êñ‚ ‡}¯¼ÒƒéŸSÑÐ÷Ö8¤œ·<dül 6-«3/w<bƲo šnCë­N ‰é¤¤ÞÍN7S8¤wÄ@AhÁCYQ‰ • þ7[ &ÁéÖºåÛ¡_oÓcT%À4âè·kõX™¨6W QçRo8y"%myv#¦E< ìh&¶PÕþn¡©Ö{‘î,Ú7â6&ŸÊÇsX¬Ùþ'Xð&ÿUT†'eu+3ÜN ű /´ÌVùŸ0ÂOâr|½GyOŽcÑCèzÏ&à§Â»C£TÕÖG‘\ìñ’dmÂÖÑ1Þ+j„ËâÔŠN0ã_bÚÔ)›˜Ã?s™kžãä4MƂÀâȱ–ü™ØO·/[éž)Æ-Sè‚·ùMD¨L”q½U²eôø±&Ïõ95¨Xæ‚ÑÚЪ$¯ôŽ;À:K—ªù¿âS®žìÓœüÚÜB •´úTÌrÒ “;ZÝçÄøg £J|©ߨµ¹?|­“àûÚÏl³I‰¶©ÌøóY¸@âçMöL£˜1öAR÷‘i/P¼¡îóÙMþêËrÝ bw'?ñ*oäì>.)6‹vAÆ°Ê ñsc½p™nyû´ŠÁRèK‡œjÔ<»\IÍÿaÁóæÛUƒ”h¢cÐ*Ýð tFeÚ@üþF„¿Ã;ÑˆÖ /«²pÂùNÄ æègFFª°šžü¢tóÃð¼ W-•È1þf¤¤ÅcR'“7;ÿ ™Åÿ^Ñ•=>kE™fƒófØÝ‚ š×:±JýÁåš(ÓY<}žÈ>L=6ŠX¿²gó¼&r2£6D x¥òY2SôrcÈðh* ‘r¯&Õ¸09ºX]Îá³mIU–q~;B¹bEN¯6‹<å{d”X‰v"ʲ)ƒØøÇ§â:g ‹…¾O¢ôþˆ°káØ4äîßþÑþûmUxA[8-‚/“»årð¨H¶ãšc\^~­Q5Ø'˜A%ß0&¤÷(uVŽC,º³¶cv¸{* -xÖÎb $¿"ˆ|X±8ÁbB¹ÉòÆ?D€Ðè=£a}áSu‹¤!_ÀbkîX¡¼ò)rü]h‘ Ð(+3ŤK8M­±Þê L ŠA] j+XòN-ÎÖ¡Üú(Ö¦SçKþ®÷ìA¯tnqáÕɤÓ?A«MÌZ³O”òâ¯öŠ@6«~8})Ÿ¤5ó»"*~öýÅ„~ËÕÔëä#4?=?”7âÓiF *’ëw‘E6¹GuÈ#úèIúDß¡UGNû!·žxjÂkKæZæV(Šó‰üô—ÈhÝ8qžKs«/å+`UG3ÁÉV:… ä©S…JÒ ÑI4†¼Ú!ÅþµxÔIo±v5‡Ñ ‰Â™‰hò^l^=˜: óü7õÐíü3!#¥­®ŒH'gd?²U~Ã7V/r;Ô¿b¹½ÂÇ$j|Ѫèc.ÎñˆçËÊÕ·Ùð£ÆTµGËß,ñL›åy0ÔPÚÿEv±Z:Zö@ÁXCrÊkLÀÔ½-‰Lw‘Ja0ì$ìî±Uל”KTzR³æ)fg6鈺ì.IÞ;@ûÂÁŸž á¡`bà…á8 NT·A  t”±p˜cå¡u3çŸBu´&›@€0Ä0ø=ô = ýµŸW,OÌ¿ŸþÜERbÕt©m·à‡-P^&H±åâLR7ãš’”ûç§çÏ#ðÂÇX|{.¹Kwò¹}"ZÈ+¦oiY –[ÿ„gò~˜q¨h¾z›ùyÄ×à F‹ ]dÚð‰'žÅ¾M#LÈÂyC®|­'먓®1D–Ôr-œ[¸~þ£~‹×Â’‘ʘÉM ìü©íÀ+ˆ¨pÁkp &ÅjF&ò:CeH‡¯Rx #ó ÒäðßÄc&š?Ìl[ ŒD_CC°ŒÛl­Á¿7ÔÓ~}U.÷»?‡&r6ŠäæpÚ ?T\ðö¢&ÜEdWko¤š»A5¬ ßÉ"éj{ïjHùŒö«WSX~ž³ƒ@È•ÛAy^$zÁ(¿«ÈP_$W A®„FD¸@ Aà#ß1;€«¡mß}êŶH­]jˆOn¢ 6d+# (5}…¨xìÖGQóõ-¿mÉÑÝCѦª®ð¹CFÓ1º;TW¡1:=Lt>drMGl?`[_•%3€˜R>¤| E­Öܘ[—=¼Ynœlw+R§j|tå%ý²õoì7emWˆ x÷hÎ@Ÿj™=n#Ž.› —N¹EîÜÂ-ä"m¬„05¸[±ô;¸k|Ý4 4µAxZ?Z¨[׆4(-DŒ‘Ï0¸sÜë´q'}¦‚Äñ3L:‰Ä€©öÔ¬± .lLî5µ"_½¨¡êÔ9˜РÞ¹öz"¿‘¸+õh>Ó´¶ÅDæÃS‰ I’:'¤4tãÃ,³Þ’G¸ÒÀ'CmKLÜk$]Y^–HÅ_иG}5VV›tw²zöF¸¯ ÉyNÐ.jè[OŽû$80P~_]8•»Ny˜®i8']i½}o±aä¥ö¡®Gðò$è7—¶«8ð¨§J°œ®¯î^‚À/]ÂN›¹oÙÂ1 CzT­vôy¬‡pm'îg'š4%< Žüè;}tÏáN1ÕnàhÝã¡i=úÝ"à diKâáÊ0•<qÖ2ûAã÷Dƒ#ˆ½W´<À;ÇkÝ…TA¸3dTW?±<ÿ@=c…1¿")÷ê<`­,m‹f·¢6Ö“’Æ}©_5+ÂPƒ'Õ­zœ( ïSã+k§óº?éE"uØâŸ­¬Eù}p;ñDEqk‚+€J‘‚,Ff 80|Gf™µÞOÐÁ!{v›ÕØv¼=¢jÓzí  d:®¡½7©â’“oz¿ÄÍX››R'r¾ @Æ_]¤‡¡]¡þú12+ªSêÅ^äÄWŸ‡e›‡Ö'tò,2Ý«…‰ÅšŠ L_Û tN>À”W5› âq¸ð}þÑH´_Åu›³)n k¸ƒ!ÎZWô©VEÕpüûØ´Fo›mÚ‹[™V2ó7|±¦÷ö…ÿð~ƒ_ï¢ù{|4&µùóVz Šà¤_{Y¡ÀdH«L&Œ }ÝáÃÙPCM_jʼn;Õ/ òØÈrÉ_:Ôß >c\2ÍŽ)^sÚ 5‘[þ|£̤§€çxþO*¯3ù7 |ÁÉF½×rˆÁšŸ™V›ß{o'lšÅTì@TïV!wÖeÛæ2žÏ38wwˆÌ«áƒ#·¦Iµ50?KC„‹ÿÉD ëË)Ÿýö^tL@ó]Óýò2Û:cbú-ʰm]tS€É9Ç#^ý¦zç©3E!ä-+’†ºÜ>¬ì¬ >r• (§1|øG§ª÷ðc¯.aÝÒ-9=V÷Œ†qÐGxÈÖ·ËÒ[ã7$Œj®ÒhÃþ³ÿðˆ0Ï~Uïzzuâçу2KéëÆî"•,g>ôüKºŠöÛ§?ÉéB ˜úÁfMé©5³™é×~¸ º]¦Áq6!é홹™ù‰_’@Òo1\@=Ð^f  áGé65§z÷Uwd¬Âßo ÎL˜Xþô6;M AÞ6¤6T‰“Rúdûú@ H/é_q|Óü1䥴iÎb6g‚ÀS¬k= ±|^wl^eõiZ•;èª\‘È]«U¯Ù/QôÁY-äJlM:ÁŽBO<ð©4ƺ9þwñ’È3¼@Ö‰’¯”Ôáµ÷îßW)b¹nëÕàè‰'õ9†No6Õ”GÁ•©‰MÛÕÅ–“‡+(Pÿ½ 4‘ÖþäÉlÌj0רÔýSg[IvuÞùZî!Ö|JµWRÄì”ìŽ å“”vN‹žs_„?‰L‹:‘9ª Ë ÷‘÷í=âœt¡bÔf=ºâEF‚cæf-Xl”ŸíNí((xϨÈÓ¬f«®&ãøàÄ!ð'tÀZÃcœÍHØÊú\åxË6a!Chý -ÎÚ$déÑ^‡õ¢£‰ákkz\îdZY¨Q󜌦‚>©ô7èhæÝ¡ÁkkÿR7½”*UñAP.é\˜NºKL§v£ î¸/u½>Ù­Ød¦>‚Ùžñ8¡¾Qu^7¡gË6K]xÐx/8£NãªÊ¶¨<™0h¥~Å<ÞDt°Ñ•p¦Ú¤[Îahø‘M𣠷;=Ã?œêj¬ñ=¬pv;ZïHâß©L´âœZÕËÓF²¨!;óWs,»‹ ¾ä”TÃ3( º"ÁTdV—nX´rBsc—ÏÅ:ˆ1c‘Ã/’­4ø³:£¸ïüifSØ7ó ’)Þ%Hf}¼¢àì.ËCˆ]õ3ݘAžv œºjì‘Ažº*+f2ï:?ܼ˙S<±2Òcܶ°Ì<­-õ3OÕ Ñ³ªp%~£«†gªÕŠÞ´»e €j¼E/‘:Õwà¢nö×x±Óy2¸°ÊÂ"l'2Ð&Ê=móþžRkŠ­,÷Ù~þ€¢<í<²%Ø2"&Nn4Û@¾/Ÿ#`!Â&¶k<î–Ne=ºÒ"'¢× ˜f]†oc­l¤ƒB/mxgSI¯mç¤XAŽÖ3ís¶€¹7%#çÞº°Ñ#Ô%Ë-2'aÂIS(<·å¼¹%q+:°5@†°âý¹m»¬*%%l}3·1Ñ~'·» ܇M\f9‹ènªÃ›i·Œâ”Xí[½·/F¤Ê÷4¢fô²Ý}f×iÌ®P/WG'ÑäÔm®Ðc~+Á«é7²Aµˆ$l÷KíœíðWoBÉ<UA¶70·)®,ƒÏWèD¼ë1#ƒúOXa.й;Ö¹²ÀHC’×Ì@_Ö5),®¾·f}/ƒЩ“…eAŽ"l>ÊiÒW`‚"$Qâ5 ÷®{lÇÊ1ëDêáji¼í¼§GD0֮閡%pÔ¥6@$±G,x‘12NÇ Š, ý¶8mGB0}T‚u°K‚kBÕ{J0ý¯zýz'@DA°L ”ƒ€²-¨}v1h¡#FÐ`5oôÙ“j ÃȆ“s¹Š¿î1ooo+EòïtbzëW -ÿ7†ØPÐF'H }¾îäΫÇ= +}ã€þ${ZaF¬M+wµ\m?¤€å¸ÛäWyg„/æ) gY>L'aó}Ø/‡òž³'TžJÅÓd³Ìêµ02& X÷ä<ÓŽL €&ƒŸêçý’i“ÜGà(d7„èÁ[>eÐ|>Dz'¯ÌÁLsts &±3 ßÙO¯Æö”8œ´9´yÀä ¯´¼“ 6€(ƒ*àšÜS?Õ`OѤÚ5ÇD)tsÝìtTVº ‚b3%℃×û&Än’*açÓ¨œs4"£+6!f ó14~ä¦ ÂåÉïò©¦5kº†älO5ò],w˜—FãSÛÒüÛ‚fÑA£Ž¡B»³ ogÍb°uK㎠ŸýÔò„?5¶õÔ°A'¥N2à7U]·}ÊŸË]nµs<ÖHzp륋IªœsÀñüÖ±òýÚh.ŒãÇÈßûÍÛ—ÿá1¦(´ \ÆÝßKfgKÐõ >gE>+°²Í›,]Mf 5šp²‚:ßíéÏgæ`ƹÓO€a²`E/y.övøžwÑÇyâtôá[Þ†ô0éÌ×aâÚh>Iàû{)ˆ‰liöçð‰û°¥¥ÆÛãÍ|nÅ?Û©þrbÿ½1ÌhDwÿ0—­?š§½£*-J¿Š×jçåÅ¢º6¦I6Gö N sY„÷\Ôvœð¾ngR4oÑØ`à+P ×}Íöåﱺc«Pg\óX|ÊâÆþ>9Í¿îÙRËs—:“Àóí+y÷q±!(î:ÔHC«èçÜ¿)ýNIj±YÁs¸î$j˵š’®,U ‰(™ϘŠo–V§æ,@”a7ðrjŽW9‰Ën¡|$ž |*PÊ¥§õ2oAÿ‡;zÆÏ>Ù+±ˆsp.Uí y†j–¢AÇt«ùô}(<¸ýž¤¾ºªØÁ‡‡ï‰Á¬),©Oþn|«RÃ&Ÿ‘£Xᤫe†Ví&A;Aæ#® GRÖ77#Ó¯³%CÓ}mÐ} PÎK6zˆ²&êÚlò®û#‚(ÛlB×çØ’÷¿AfžK!µûÀ/íÊÞ½œkQ¨˜WÛ§ÙîHzßüR `‹!DjkC97¼#žKÿ†èÌêÉ}~îÄ6žu‚]X×µß{›Y–”š'ùè[Y‰‚–\ûú!IåÉÔLu%”‚NÌä>t$h£ÖïÓÜAT}•¤…ºyD©“ª©µkm IB¦Õ3R•9¬A´Ñu½\È¢D´%¼#þÓ£ëHª—ß¹¶J±üÖ³ªôVÊù´‹š¿\±¥X¦`;¢Ï¹ïêS9Uhw5½º:Kæ®;¬_ŒNÄMÛ ¾ï) FŒRzåâ't)dFÞ4¬y©å ßÙ'Ä­b  u¯¡•("ˆn°ékOm-—/v¿­ÁY߯ŠVÄÛCúL‹›Ào¾ ‘hËU–£Wá­­ÙTÎü‰žÇWjªrƒ}Îï©â7ÅùpXÏBàÁÆŽùH0½çWÍÜSÚMìôZŸ¤Äq¶ÚG-n1®á ªÃíäÈò[R»ón‘%˜ÈĸáÀ±N*Ÿ ÕRjinþ„Õ>àš Tõ#÷ÒâÊÁÊ©äá¶§¬8+2zYýúC•}†T3Ä=¨A¶üxÃ&ºêà,Ï{!ž\Ò¯õ²ÀÚÓnÿ]K– ü>'ýíqˆa' °E‹ÅPõ°W?`ì"6¼GZÔˆ£O†îcÔd¨¼øh*¨È Âä„ûÌcP|eH'_'ãøöŸ2¨<|_wí‡@rÈ,åÆVuÔKT´A†'ï:o6(FAž1™ln' ztqN–\j,So•yø°³µ læ¨Uÿ5’©w\­ÑËaÀ/›ºBÑ%H퇹¶²æ–CШǸX‹L%dX>#±étc ø°Fj†(8z%<AIuö´w ÷ϯ)åHT¥Ç_ÀÑ'IÓðPð=5$ç¡Ý–ÑÒËÓZò9>¸'è¬_Ä[9®ï…VaÀjYƧ#o\FkèˆÈ¿eŽ·*{r1/Ú'¾˜©çüŒ/V?!A²Çš ¯Ÿü9Yí EÖs¿QwËZ€x4¦–ò¶5¿}zò׸Êk¤´¡ö‰ÙŒnñåÿ{ÐpÇýVÄ=Y€$BÃ`?Šœ£6 WÉ>Ô'ýz(|?Ÿ¸e”¤e<ÝUq6ÅÞ›àJnîd.û YH4Gãq/!ðœà#& ÷ ôY%Ê7²¬ÌAq¹Šô耴ÈoRtKš5^Ž45[ƒؤ”ÙŒç„þŒ  ×)[*h2»3|æ Ž«“"ÓhØx„ZàòômFôÄ t$nåR<Ý@S—(™šÁ¼Epkd;#‚®«ÕLÓu8ÿéšj>¨¹A0¼S¯¤Ý:ªØ­¦£ÅiTú)HÖoÐt–¹Û!óP¾ë›qT–®ßÎEðååÆÀÒ9£”ù·“¸ru =R£\œ“…A22d^ÙÔ²Vø…3«,|ï)'¸Tñ„o‹d+>HâT»uöIx }œøeÂ*¹ ¡"G•Ré,µ+ µ¸·¬œ\´6¯‰Ã«>õˆüð·8$Í/ß)«Ãƒßi ”¾» o‘î8á'Êšµ BQÔ~$òQ™ìA±î݃:\UÖ»ŒýIæ€ÈT¹UL¿Ê ußLÿù!ÆKSÕz°ÕJ—&sê¡Çoï³w²t½ ³Ö«JüÓot»à–®ÃxnƒÔÒ õ³¥Ië0ËWë°Ì÷ÖH[ØÎ!Z?›)»O ÃsÃ>ÖÒÖZœ°‹wã yw`=9ü”ù´b -³<¥ºxËjŸG÷¹£c$Ò`]€^üÄÕ¼jÈ'MW1ßîòS-¬‹R -ž„`Ü$Ì€Œø¾v&'Ø‚4Vs^L&Å|là{ò_3cLE:Ìðu€j‡¾³Ëæ9ää´û®Ïä·P]·ô1ì OÀjÒO9)…;eãµëŽbÚ‹¼²ÛÞuoÖ¶<>þ*‘Gf µt»'d%S„ v‹}âWô”[¾%¢úid‘»÷>Y þ žB9rg áŸßâRë¬;¾?å©x$Ï(ž»K²í¥„ºÃsð²QÜŠžV|F×ùßc%@Ǻ¹ƒumN£$pš´e6ï&$C£ëªø×”9lHl½RjN ýLæsb<÷¡\Š%ÚÌÛPèbm³Qæ¤x&¶e[.× ™a“,WÑߪ‚öÕÒÆúÙß§ÚÿµéGà  …ÙÇù¥³ÌS(ó<›Ýuq­°¦ Ÿ$gUÔÄÜxðb"2Ø èz®ª ó³N¥¦·2­,r®±ÇË<®·Cÿ¢œ˜”P”#ä§øÍX”¡ S8UÕ³Ä ê~´Ø*¨§Ia^(ž9ÇuÛYQÒU¤ü°ò(sa‹»¤’q.ÀÊ{ÑÀ Ueci¬SUNö’À|-󴔊…õeNÉŒº•>vXs·3"g=ê–ÆX^Å“@à¦Vi±ýt@ˆÓÜ ÅzbÖ¹÷üíêçÏu/„GX5S „Ïo‘ëvŒ€ûaÀ?Óñ¬°ÎN…1Ë\öº8]e²ýޏh]g÷['Âî¿…µk¯³Þ k»Ã´ÂPgðn Lh¦»%iueþ®Å×yA€A˜œIƒ Wk)R;%_ÍU‚z ÓYa§ÙÃjðì±´ ^›@Ð=\ÆÀ*7 5ÍX–½O,¶ëá‡8§NÊiëÒ ›iEV¼ÃÄ6ÿ&oŠ E¨6!㫯V\¤±t•¸ÿÃ?Ú›™ÝÆY§ X”dÐXD“2ц<VÏ\ÿÄãIwû(²\NûÃì“_ù&ö¹'JAåI¼Û•1DZ{²[î_F—¿.± eN'c²t3—Et-ËüɌׯm`àdBé¬/G•?*JpÑ:fM~GZ*Á¾Àó·I;EÍ"W£ü œ›/—ÇnèîGâÃGÍH"!˜çç2R˜å¥±Zu•ÅÐIüª¬·oêc-Õp˜½\ËÍúOÀ°,ð,èO¬ºrv±ö6ZX(­#!JjNQR”H«G@qµ³žðu´Q/®è"qºTZ»ø'­Â¨{(AeǾs/-Šr+‰d]ÔF¦<z}ü´;‹Èí#Kìܵ,–ÒI¶$.X¼ü0.hî®SÍÑ0X¬;6Ï6ð ”^“u5Y€„Ünˆu8 Ÿ`de72Gš“«PÂe¶(U BŽô·„#,ÿ ç/ïð‘äsÙûË—„…aã’Ž?ÊLùÌÅ]Râ!"Kï«1í@Uƒ1mȸ÷¦8Ñg»Ø`pœP8| ûŸ†fÛ´àÌú›êI!772ý.¢°«£­šéOƒËy¨JH0ý±|/ŸýwN;º*õP—ÎØ0ÀÏ܉„xÑå¯Ìç04—B&"Éì ò•ó½ÒœŸ©„¦%~rÃEP Dæ>·-Pʵ¤#NÛø"+œå™U+`ã3ŸGànû[j…Û⣠hƺNb©«oÿ¿õ.4/rn Cµw©D†@ˆp¬òÝ' íðöÝ(Y|!.¤8b$‹P#-‚Á³Ž´IØÀàt º šÜFbÓϼúÕº'É*åÁ˜ôãÑUQ,Úì†ÏyO´H¼Cωßñ m%QÖ„ÁÉŠ¥‘ˆ#7ñìl&xºŒHpùCò‘,+¬ø:Ÿ>µ°CŒ.ÏÁ·³¸_•>ß ÄKi™ƒÆòU`@ýÜu.ôfÜz°¬M3å¾×È%ºU-r0^øŠ_¹P,‰!UK lêR«Õ§üÏFsEN’Ú °¹­v²Eö¾^`ˆmV— Özäâ‚Ð #®*¼ýíH‰œ·VQ|ÿ  JHˆ<»•A³c5ÁÛê‹"{öhKêü0¢­ Ç:½ÂjR.Ÿ&gˆi?”NW¨7ë5e2V‹û‹üÃ}m;ÛO$xYB!Rïí'”nÝu±$·°i}ÌW=$Ä °'ÝîüdKF஺NyÄtVækªÁ½ooƒéôÁ¸ÞÀ9|©EíÎ'TP¦fT¸ŒZDC×Ô”K í!Ó›cAB°¦øüµê݉€b²µ$Âíìö&”¿‰×Ýd§¬*ov“ÒÊ5 œþÍ£% NÌyE¼êH­'çHx,TA7•:2ƒ|ƒÀï•×ß@:L¢éÓ©F¨J¶E ÍJÄ›¾Ö`ášq%1>ƒQÖ«VsqûOmjå‡sr (¸ÚЉ¡wÔ¾*–TÛV¨aÆ{,˜ôžÍ½'N žt„!Ë÷ßm{=ñ.×D\Á»!k¸%g_vHޔ̟^¤¼šÏ`KÊâzðã€ûf”NªF¾"â©Wåi÷œ¢D é O‘>BXú“J›ÏaWAúgÞia7"oÎ)L¸±pϘ:aÏn-£GgvVuç5^õ²¢üÜU…¡±ÂK5ƒ4cù^Sw§å<ƒ?Ï)ÈSÆ™:z‚ŠˆB>;Xq7VôôÐ\DÃï¤T‰¤0òð)zYR}õ—ŽÓ„¤‰Iõ“6k²®ãîpË–/|DÿT˜×Ž üà—Üþ˜K^+OL×½Ms +CÎí9SCë% í*uEs Ðøh(-rƒôGʱ^Kä°‰F­Ã‹)Íâ@ô]ªßß?DH—~n‰kµÿ¥øu¨A(Z‰Q U2ʳÖÁø\¾Q˶‡PqKÿWeý+e¯½³èZ+ŽT(PÓµqKML¤clñ¾ σP¨”NÞ¹èá•`+ev4Îo9¸¥`*e'…&GÔ‡§Ö=Lï_tåî&~–y_íµ˜òÈH~ÓsÙ¥én<nmE¯¸²ûPë”ç—˜ÈÐ,„ƒ©®Ÿ–…裗esRèÂTw™Á7¦™òÎZƒx¹5Â}ïæ}òèTäìã–ŠIe°ʘhA»š@­UC9HQ¨̱ޮé¹á]èüI!ØuÌ~.žáµ¾yy ÖònÌ"4·%ÎÇf*±qô j3ø”P×ê£âÿrâ ê-К¼/;¢j¿ÿ3"zŸÏ¡Å’ñUýÛÝ^ðQb¶ÿÖ©I¨M¶H ðápiÏ ¸›ãw øKxǨÝñõïöntB¶\B Ð8ÆÀØMÄx ô¤@ž¾ÙËècá»Ê%oÐ%â Å" SdA.©D籎' )£=X²uQmã¹d4æ]µ dM÷­ùL‡±Œ ±˜<]íDÐÇxrq0WM(1Wåá Ér>Ùti’«ÃÝo§4O¶4CMŽŠ´yT]%ÜÇþÞžwñm ›¨ûð)Õó€Â&ö^újpáÚÓÓ¤ŒF³@µNz £¶:u@ïè§ã¬¡k”{tóþsø"3þ˜bžíÛ5í×tØC'XóŠfW¤ú”6V˜&‡ïÐþ¨¨—hË{m†”ÀnÕ[²à£®¼³M9ph9ƒX=‰€Š_5bÙÉozìrØL‹5àíx…®{ŽùÍè›N‡ùU ¹3úÿ£,TÖn §´©´¦y·ÒÌž¹ %Û(áš"WŽ7u‡ xŸÕ}å•àï¤gä2ì[ A™G¬íÊ€o>»=ëÂUÛ·‰Œà”`§¿~ÓY¾ Èýâ'-”õ ùi•ÃMmá0˜Ä"fW ªï`ÓØÀð[CçàVFY•ü7©ø6¯E"C´”gÅ:]àQ(ËzÆ_ ã¾á… a@¤ö¢yéøÞ½ÕŸåQNÉ)¯dXÏ´õÀŒ;†'Å¢ØrÜŒ™y ¼i¥È!rk+ ÓDpqñÝKËI1 0‰åù÷D²g½^ú_ç=>>>j¤ïp|P‹‘̨.¾³xäÔf!-𢯥Tb9|wY1:œW!kPÍi*ôýfÎÃÓpŒP8xÕWc‚Ç1U#Û#}…WNEÌ?%$úkwèh}!èŠ#ݵ¿]Çí—\C‰W{Ì=Î?‘C:7ÄrkM W'Ä%®Vvq˵Yëð[x»{|\l5Š´Š;ñ»ÉGè·3¼°ž<Œ*Ã>ÍhâbŽãV$þOpj’¶qλåǾè9•Tâ]õUÆÊóçŒÃðó_"²_ÿv‚CZÏ¢CßÁÇ=”T´Ý©1é­qÔ$»`#e¤qðó#hÖ!D˜®ª|ŸpîËEë`<Å®ðÀò%pÖÝäÅÃÏÀÏ"‡Ïè‡ '“–á{ÆóBY²Ä_W&3å5‰EuvrFLîi‰Wª±Ëò gj‹”O¾+â¢KôŸ,-{4%ã8e0“`¨Hg/¾(÷j¸ýƒ P_£õ˜0㊄IÞ–˜£ø¶^"TP÷Ë×ômŒ7iùV sûZ\ž”&ÃJƒc6V½èŠ‹?9¥u'Ò Ú¸#ì…Íc~ÿ;]‰ûı7àÉ̃s?Q«ï[è@²óH•ê[ûØcrêi¸9L  ài/•´ù~h »$°H£iÞ„Uºà\nê$:ÅŸœ(·Ñ r¨ÉtEœ  x–ÓÇǃ$ ¦”£Ž Ù䤜¢Áö+‘€wÙ¥$š4·™åxEÝM¯ë—Ñì=‹ôÁiNûöã“ϦrÐò’šõšÿãdÆ“ºeZÝwã?ˆH~,Bv¯D÷›ôîRÒR"ª9à Þt8Ó.cÈ@SG4{å dLmš–pÈ&(¼?Qꢃ7¹-ëôV6Ÿ“µÂpík§Fpï>9BÍ•ù)¡”F¨a=áPmÜ.¡ádfRI¹_c?œ×-71}SûÁâ•ú®4Gí1s.¾>°ðY‹e®N°r?ã*/½Èo–¹ã`Z¥üüÎ.Ü"¼ë@à-Î@Ënçüc4@QŠü±–)ðx˜F¼N›]ÒÈ©(cÒÍÏ|i»¶dî$üµ’jŸŠ©"DŽ"÷w„$Ë*N£ž;I$âm~=‹’‰›[â<‰m <EHb-Í>×=ô.Ô‘"Œ~l·á#A0%BS® é[+KE<K ÏóýzÑÿ.1µ1Í1x?^T|žSԮƿO°7gF4}0g[$@µkã˜% îD¦âPêŽ÷ê=ãfðœº>s;% Û%c¹¢Û2@s?/&QVZ·Ì>ƒjr‚½/×'ÓÚ@ ‚Ø!æ®( *Ë}„/GJ3·U¡0bvKÞíámiÌ 1C±”¦1ÌQPÝ-¼OŠ?{..~·6B²W°®k€Äd¯ZR; Þ¢©ž’¡#v+ì*oO•T/ø7žw&m®F1$ã7÷k7 ?olÈ_ížj1ý×¢/§;C60N€ÔF1[•dêó„?~?â,eð8”q«@O]?~(?+G¬’H2Å ôD9éA^˜ç’¬Ì ÂG^È€½`CáWÀW=‚÷_Pu^ÝD &°y‘GÅõWNXs„”ÏŸ©šüÐæxÌ]=3™}žŽŸ7rغ8[Á/ñÜ’Œ^D­…%!1m 6bh¬Î íÕÍK‡Õ@ª[@±Ïâ( ΰÅ©°²íê4Lªµ=À¯f€ï­÷o“Ždþsÿ~D2¼Ÿtòæ%×’ò˜xžI”¤ˆÝ}áa¤m•¼ÙãZç(®ò>1¿í”¿š¥µÂyä8¢®Sfª¯”Ëe™ßz“ML½"Ò¢¸$²–äœu¤Xø·ù ãKÚ^Ð]h”cK “E,ºäñk<ÈS _ÄœÏÛ{û®¹>Þ­ÒVyI€ b+°Ë®åDá?…ÎcÅ¥?OZ 9þ?ï(QKOß{ÈèUOû‘Š“»Ë½!W" Öè¦MáÝ­áBcq£YŸ¥špŸn‚íS"Êô¸y ³BÍâ ME§et¦à“·zé}ðá²Ø(=w Õ‹ÛØ’Näç×ê‘ÄG ãƒþf ”QªI¾«Ë%âèiúœ¢Eôì ¬Wšw[>M›R‘EXý“5pÒaFVøÏ~í‚"­iÆZA¬h ¿§í?Ý0ÕNœÎÂýg:ä¿túepìªbxðcÑǤÊ›ú4ú ƒÎ_±Tþ¬Ï §=—Í*¹VƒJD 0¼ÂµX0ÛSgÎ"OáiXqÝùý,­Ýceùè¶W]¬eý£©ýžR0È2*7:{¤˜ž?¡ü— 6X‰Ú;ßrJ* kzÉ¥Ø Â_Úq¢èu—êK@°›ÁÏ}ßC;R$ìÌÌLâHp’ȵÄå~(ÙÞ¢CúF©dí¢¦‰§°´uKyIÚûaCj[6I™§¹ÎieÊá›+À{¥OŸ±æ.7X$íÂB*äÞ¬›ÔY ˜;j^êÚõ»#….ó^‡¯õëU½I÷KÍÅŸ¦êO[¿ˆÉ˜š‘ßçf?¸?ºpQ¬Ÿ•D ”òh>§ X7Ûþážo»¢M°šONãJÐu“[ÊMݸ¶‘ýx©Qè Ûq޵qî…k<Q?öÉ«öƱŒ«ÍÓ%9öv`2°kdì¡Ä9§—ZœOp2Hq]ë˜Ø˜ÒC'ø»YòçaMy+ÝIé¤ï^X#/ÄarÎ"ÔŸÛ9ZRÎ÷ê 95y)æCu <™ŽlºlOæ‹,L2ÉsÉ/»±ÌVå®ìíY\ Ô ’Èij CX‡Ò/j,ɶÒ:“ Qv1.sÏèÏÀnäíJ›:g.Ù®’‚ùÂöò4»æ¯þ ͲÀß„¨Îè ·0ÂdÏ©ƒ%\×ú•gÑzGl[YµŸ¹ëHÔq-Cpç|½é'#qpØ,¦1ª@u˜â=ÒdË~JgÂS¶yVéBJx &ê¢ê5X«-¥4Jô+ÙC"¶‰W!;1ÑÈ,]ÕÎ9£RýüÜæS (r®).Tן´àQ aõP©$Õe,è_dHܱ`,á˜â»¹.ƒJ9¹´M ˆ—A2U&‰—…’µÕ ^SždPfÂt‹gñ‚I¥¬¹FËXÌvn*t#æqV¥Ø^ˆè7²Ú§VúºB‘HœEÝ\T>ÎAl•qtFÜ0FΣlKáðüréL„/íäý·×+$ð&&Ÿà ÷tÌ ÐÉ,®œ_>ØK#Ueàû[ÙLK?5s(+|·Ï1z®…ÕŠyéíÑ3ˆÑüB ‚ s¬“Q£ôÇ#5WøVBe©Å¨N Tì– ²nëpÅ9yéë ¤%ëft$ç´å[‘‹^|œ¥üÚå§:Z¯\%1šmßßU·pŠEÈ¡"9ÚµYç¢M bëhëÿl…´Ê:ŸÙê°!ÃãS™ æ¡ö ÅKz”ãÛ5¦Ï1ý«sÔÌÎÊí¯öimÊÖ…ÖòäPÈÌö=ÂíÍ7ë-¶Ô"ùQ?lÞv±QÝ-´9µ¬•MùNl®rîîb%:aý_÷™v›nJε(—Iëª8ƒ7c⪀Öucü^éŒàGVwÚÑ¢ªåXÏ$Pã°·~2:åV¨6vKˆÆ):L%݆®é)#F§nNX9B?óëÕÄ”µW&¾\¶EŸ~ÀYàü·u žÊ”Pæe:d|.£Ýnf˜á!¶WÂÏA‡‚ÌNµ GÓŠ^SOÚO«~D¯°Ç'Þeâ’èFìÀšÀµQî' «‡]ói,‚ƒêöŸtK‹ ;ñܲ¬ 5°sø±¹?aUÁuûg%5XÏïmC$?H;0Ò)„ÒˆDñVø«³®è(/4V:»Ó!FNq(Ü/oHÈi`¯¡„ÃÜsϳ€I¢¨bIÃR$:Ø) Ø3n€Nrã´ßà”½ûSYäìÕÏé¨hyŠ÷èJú211TmæÇdЍJ$å©fâÿsƒ´çgOIîS¹@5ÄÓƯˬÄÎéÀ#ù¶rèÓ:¦?¦íê^õ"؇[„Ÿo²Z†}UtPÀ?\•Þƒ0ËSÒž½®*[É™’ÉË<ö|­jЀ=zg î]c SN´Gtw£C”fKAŠÒ  [‡þ8^‘4Û¤—Ùç Ʀ5†Ú)^*k2¾3| {U Ž®š…,–"_j‚D#¬óøý|/xÅ >Å€ñÞIŸÃÎ Öhs³…Šp¹Æ*ÇÌP=©{ü]ÄU;ÛxŸeiÞ~L…ŸªùË6jŸ÷÷oè ‘a¢77‹¨‡ZóµfMÁÒY-®ŽDX’~)N%½'¥wÀ¸\$@žk$Ä w‰'ORM‹=øFqÎúÆMÝívI£òšûòv£QÑJl!ï¯'TH8ÝzÞbÌÜH¥”1E>0’é£5N¬–ݓ΀B9{ä)ô¸\î¾5þ«ðTÊάž‡=•¡+´”pF†Otu59­H¾%ÇÔíÖD ¦Wœˆ$º™õ<Ira¶*ŽiD4N0¹ipÒ-`qFëB^?÷V÷zÁË"A?ö?>XKK _ $Ÿ!‰Æ]ÒáTp d  ¿æ÷Ä¢FóšÄ.t7³üÍr¹®‚üøCczM'&v Ì'IföäŸbqw$å»Yô˜çz,d\ÚBÊ û]]–`V›¦¶IE)OV³G–°,dNÞì  ö±‘Á.‡Ù~DÛÄÄÆiÆÑ÷ dq†ÁU<ç\*y‡–³î˜>p»_KŸ¹Ì÷Г B¿ŽãY_DUÆïžGà@£;pXIc ª$Ò™Ã,§®V~<-‹õRë3qžÍdš(h^Dog¹DɈBr§·ý§A=†8#«­Ž`vž„ÒG—Ó9N2°”Ø/°X=Ç]Àw³.ÆqTXøúÍ´˜ÒÈ]òJ°Ð›§dï…×ÃoT8ð :l;aA3|‡ìna%ág1ERî—ÁsºÑÄqö“òÌ,KAÕ– WO’Äœ ѹâsâQ¬¬W‰e€ì§0iQ(=}JfœšõðI`¡'Ôz|7_•€~@2Mâ.ìQd’œµ°6VjÇνÊ*• øUU =1?À€K=|} d,z±o’0ƒm mI•„Y;mmB»®_ Y /øñÏ! G„B´RáO~9A€#Í Y1¨¿6U\é¡‚U%°x†açH2ˆ]…ôh©åü}9Amk@7œ<hF8G²^ì‚\ˆHJEàoU}HUñX¡Ès#lOu<÷‰êZ¼CIzÌJX—²ø—‹‰~ßX€-}ê­0ñSÌ\ƒ[NãÐõG)0ÜOsB¯nò¤\Ê&MIƒU¦Šá±ÒLr…WhêYdg>#‘Ó«u“¦$½QÎÜþÉ÷IWü )9fV±\)V‚ 99‚ˆ ^ª éz«IŠV3}E}‰nÇÃÿœÍ|"N0A®pD\‘muœdÿÁ®f PîHE‹ÁÄ™ÛÓ¼‚—tŒÑ®Õ`³‰òRó9UI"Ñ2C‡W‚ ÍÜ5Ⱥc§‰LõVÓéÍ)ʇB(ο:¯ôFèS‡öX,J±åKÄÐjLIX1Hо‡³lñ/–6Þc|B\Ün²ƒyú@!{W32€“l®¨øŸ-o»qÎzRÑ ËF3uMuë@¯ iùx°Fïðt OÓ¢óÊOsDF´|ê7Eæî’”l‡CÎPDõLsËî(¤IxŒw-­z¸™/Ø ²ƒ¸ŠB}ÍHÇpر%,jx8_0KOAªuÞ§ƒ×QMâ›ËJ•¦uW§7W/ÿ©­7R•D/㸠ZX¨U”ú:Ê™w1)#>Ê¢2Ö·7èMêyÜK]/ò£³ùFE`›×TÅ.:wÂqzk3êu¿†Eƃ€ ®A•jOåâÖ‘ £@øtu>†™U›$õd ¤j±,3©ó{N‚ oÔlw† ¶nB [Uˆ`I#µUÿêïxµ'Y±¡wû7SùºG}A¨d 〔I=yoüná1?û£¦¡šnÚCšÜ‰‘³͸Z8Q­1%)m’à+{±FaHQì3É«Þ:V4$üðJé–éúSc«È6¥!p,1øé‘°Û´lÎ#$· íæ7!lô³7&ý0ú¶Gr°úg _zÍF$HtµTyá Ó±Yø{sœðí‡o4#¼A,íO›K èH³JPò3¼±Al6ü5„¹þ@íP6>Á=(Rqñè8#Íta+ßTRLGüÉ÷g‡¦xúRB¥Qm åzSR¤n.[ÅÏXî`² ÙÎ0ÉÅ1ÈyD²¤lÙu\yÚŒ©H !™Éypq¨Vlή?n7ò—¡‰ÓÁ„P“yØÝÄxÝí ,´ÒX ¿UÀMv Å |CæÑ$ eT& $7Å4‡üãA÷zSàÙ"rlOWz0ØG3.CO; ?X•L]©’¬Ý,ñ=ªß(Ø{Û­ ÇË_'¹G*åuzß@;¦ŽßŸ‚’¤V-F¦ÅâV…D'Çh$E8íTÑíõClTNõñr<ÉJ&0¡\æzÛ§ðž"…‡¬¯ß "ÍØ‘»§ÊÿBbüÎ[m1Á)e0 7ØeQ$užÛß~<ì—N&|’ϰ Œšõzý)RÄF(zÍИž21AØÚü5º²ß)NW O#r—Ø€KÖa½„›› Ðß›uÆí4ýLG.i¼ö˜U LŠ9¶•<œ‘W¡_cvvp„ *ØÃþ_VCãg#«“il–ÏCH=0&|•üL¾Á¥/郪;á,ÍIño8. õ¸M0¶öî%‚ב]C#íVN–kß¾ÆKcÒvÄC‡óžfH#À†È½T¿‰CõÓt–WÞÔzw¶™¹Æ¢¿?}-u@Eã‘Û™ë@Ó™Ã!YP„S4÷?Þ°E™‚%Mð.;// eðÄ zv ¿;yMŽŒ—Ç „Hs‹zÓø·$²øeÒ혃ËO‚Þ!k(´c$R[ÒbF6U óæaÞF._¬Õå ñå’‰,—îòÒ¾†ñrÝþ6‚`UµÈbŸGÿ˜*H¤”H¿YM;@,Ã%?,Ý&=ð_û‡Z~2©ˆ->r$-ˆ‡±¿9,=ýõÒi! JÛI°ª–F'sî§ä=’H¹^,>ésš·(ÂþòÁP’š/:È â ,§³FbyA8rHxL0r €n"ÅêdC-øN*´±ì;ZX!pöPI¥·}[ªÒë•ix,êÁë)u/q~«¯¯šÈM[ØG¬ÂÓ[Tl鸰#V0€‡ûÒQAaURÊ{“S¸ó‡g$kxÝ züËLÆ*c±Jžqê)4 f°m9Dª½–‡óÜ9š·HÑÝýÉþ㜒o$ö‚Κ•[}¼rÜ€·n%€S>Lg“ô: „vµµ¡ L?†ôCKK¡JÊ*´^x9çTZÅP±NäXŽàº¹Þ|ù<Â=‚â W³‰2=Gš`Å]D»Uf–ä«#ùI­“¹p${’,v’™®ßÑEÅ!X©Æ‹{kšÇUÇ¥Éá™jeëKdÁëmƒÔ3N)Rr%ÍY‰¬Ué'å÷cðO$èåGô.¤üÒIûš¶†ys2ºÿAL1¶šñP$M#v æÉÀ°*ͯå@Þª*Û‘q K¥÷]­ßc%ÙRçb¦îW Ñw^æï?Ìø–§A´ƒ Õ9…+'»nRSÆ2ÆÈ0Àv¦”ŽÐ< ÀP­K^pš2â? ùà ¤°Pƒå˜µ¿!¢æ5ªòwðjÆÁ É #ÿ(ÄB¸—¹Q0× µaÀ$ü·‰AJ½GH)Šš~[»Q½ZÔS/s+”©ÀzêõEf¾§ñ¡l°M¸>ĈøO— Ñùk¢ÅïÆò%RÊ{E÷޹õjÝÿŒ€µÚîÍÿÀ’ =éìë“yÌ+Õew(áëdš%u±¨Ù¾ð5ïo«tÈAiÇd°>_nµ‹Û\gÞü#¼BýãÆÜU£-E\ã$/÷tJ-YJŸ^Tà«Ré;á‘ É/!ŽðÔ}'ño¦=‡Ú öûÐ"t½ÎÉbÝaûu«AšÎCG "+ZcŒïÓ545OÚqª >Ùõ§ÍS›%;a˜È / %MöÚ­Ìw_gÉ¥§sKdTµœ—ŒQäzžÕø_<5Ô3’Q·'Cr(ÄÜáÕt2EZ¶¸‡§Ë mZÆø«eTë¹ÍY¹éСÃ.²M ¤b›‚neü“L_œVTª¼Ñ[L\3𸫸°>]cg Ëœäý”‹úéÑJ”æX’-E¢€ŠóêcCD“q I19¬o‰:÷–=»žyi¤¡g/z(ù]^L£ªÎÚer:þ¨ÅÃ¥g@ðw<溑+N^•U±ø: 7í&z›f¢»Ä—z>g-¬™­?²`ÞZ$’zr´óUK©BŠR ãq8§Ù•ôljF5‹@éDz4w:œJø$é4¬$øü|MD!­ ‚Zͳ„ |:ÙÁû¦Ç“%½Ä`A‰˜rc->ï_ösK:#ç±·_ˆA¥ê-@(<Ë’Ôp1 »d1Ä)xOÈ-³ iûª52׿hÿZ¦ÚAêLY¡.wkV\ŒIJ]÷š^Ê$ÆYag¦aÙðàéJmåqzT T鬱…ÌÁQI|´Sú%˦¿ OH-4]ýÜÛpÖ²®D°uIײ8 À̽{ÇDý-ºYøÏH²«Åýùwˆ3œ„yPn©Ø†c©&eìÓÀs9欧&K³aÒɺ²£`N‘ù®as‹Ôáû½óum@Ûm)tòKäå‘:Ù{Å­ÞL :/6H“ÊzÕýFýð̥㲋ä>3®,³_{#ª3XVŠPÇã.·Z¹o®zM÷pCnv¡Xkx2°í‡ph0w :ÀØ F@‘Ït'¬Nº¯XU„u# 7G °l(h/Öp5ï Îìj£hûóëa.,]ü R‡¾xä3geˆüØÅØ/úÅ·¶M xúõ¬»T,'O ó»mô„y©ðÚr‹g+¡Óã)ÁÑÓóžm³HàÃÉZiž½\:ê™~L= -×%(Î^¨)ýÊêe¡¶Š>£ ,†lhQD-nˆ^'Yjì~/Ç7&'óI”>±€Àx[x›nϤ ÙÙ ¶gh¯Ó’£<¥JÀ×ìH ”Í æôÚ†€ÛiÙU¡ù•KËí'uAHk‰¶è]+ìæåT°6Hùµu â>™ðSFtèè¶íó‘T¸`œ, õ ®!°ÄÇâǶ£òšÞdÔ-K°íxß<#W°·>‡? Þ v(ì?~ï…Ýzᢵ¿yŸ®§¬”Èe–ß™uÞ(ªiâ~¢çO—On]ÚIìÔÖCÈX~\šÐX‘jßê¯Ûv}Ö F¤nKXZó­¾uÁÓå£?ç^;Å»5„=”HKœ!a ù »•:Ç=2JâÇ*R é‚ô‰}-|W¨/CSÓ?¸qά C´òLNM/ÈJ÷:4èu>•Qyi6êPO¤«ï—¼UQ&>÷¦’âu’*F¡Vòñ›̰.A2º^½flChß»¶Ïi°F¢·'èmÞŒKµ—Ò°+Ø\ˆú#<*@V¡Á²öw#&t»x,úãôõÜ<—ÐGâ,Cô:”ÐOfìæùõù|ßmRÔmT€·MXõ J41Ÿm nǸô¾~ÉV*CQ±©‡Îñ$Š/%ùIÐg*Ï$ÂÛ‹Ú!5§Ç3!|WÊÙ#{ÙïíÏ Rfpó6îÁIÝñy,ïÊÄ&wϧz{ ï]”Þ=!+«â×f"¾Ù £ÿ|5J¨à„¢°d-Qø˸Ïñ9³GKé³IHjkÁ3 ðï—»L±ÃQõ Íwä`»FËÇÛ†PÅ~ßÑý¼î mÞåÜðï T„=׬þ¹×måQgxŠcõ¼ZÚîCj4‡Ý¢ÿ%ï}.V¹f:Tcýïiw*Bìÿ*/Í/YP6÷|Š5ŠSJ´ùÌ‚¢Ž%-éùaµgøùr2+&ud+þ\ñ RäÓÆåû G—†òþàþ”©u!$ñqÖw0+ا ÑIßoR¿ÍéÔs©©÷«”²cÁ¼ÝP€œvjoQÞ¼èä•c+ß hhv­Èú¥ 2'V¬Æ~™Ïôúmο77ÎŽóx·ÇFA*r9³phR µxõû c3½„¥+zoœßøŸÐл¥Ôé÷Æï‹y&ØDç<þÜ õ&*SkǦ/ecð_&v± Qw¬M5)É盞èÒ—<[Àž£Þ6Ð’ýÑý/è`>ui.òù5„U/Xð VŒ+ âÊ/`¶T4Aud<©)ä´ïÂHй¬½7O~¤ÓàÖå%ÿ ÏÊ×ëîžp~:É»–jTsäoç°ñ)Ë…ü725h—ø5ò?c¦ñß6¿ÑGjƒšUÅ*õù—Q;pÖáƒoœÒ–z¡’^«¥ m!s/Ó¿ú?z‰é¼ Ȱ·÷pÛÚhäûÕ/Þÿ¾Nšñ@Á«†±—E …m“Æá鯅·@;Ïc*e°оôùÕÿ˜¶Ю0ˆÃ,ÀÑÊê·çZ«¡Ÿ¿gÖ¸|ë~G„³ïÍ8º=Ó%G‹±ôàƒY5ê˜LpÕÒUéRêõ-h¯‚n/µ“ “mU̵ߦZ!sJBîMIÏáüç?õ¸êaOi¡§' FÑé„ìÔ)àBá¯—ç® ~ïMnÐ`)Û\ËðŒUÔµ©Þ¾ÿºØ.Ù(µ·ÄðQýa(ä°«}pŽ“CSöŠ.!ˆÅ' ðõ@R Ù™Œ,Nx)ÏÖpTdŒåÃÔÑæ’yhýNth'…œM_€{‹¹–ãÛ«Z R#ß³w,•¼º©6DeÁ:ô6LN¼0µ’¾ Žeް9×ÔÜ·—÷ˆ϶zLíË. ‡îŽ8lvÒu—»dÈÇ)GH@'vƒ·¨º8ô Ká¸y1gö¸¸ÄÛ€ôwº¬< ™'A.çªA¼|`V“ºöc.4£@ÙL<÷ZðׇŠªÖ2L F3fØwg3Á{HÚ@¯@L+Ð d×U“ó8Ó'Oò_|-Z}Üüøsyö–1Õí²Ûé PXkùK? îŽM ‚Þ1k¡ˆ!¹-½æt™à &÷‹4€¨‰  À¦Æ»ŽF œ$“½»!‹]è5—q€NÖd½Î ¸¶‡›wå~gΑBôC䢅$fƃÁ Á™ØÓÆ÷Ü !-þ ºž ã$»¨tæ;É95Ñ3áýw(RK #„p·ƒl Ù Ô´çÍ`Á𯎠ͮ@Í’¨ÁÌ¿îqbœNôÔ=j¬s?6,¶qBãOâÖ¿ ÅÃ|sÓß*ýäjœ½æy'¨¹~|Pû@Ô/ž¨^ôÀ§Ù¡¤±ýÀ“Mát–’–ì/p6žuDnÎöñ¡ÑJªëˆfêáÌ•’ÆLÁ[eŒè\\³ñªñ‚¼– …)~&²ÿíJl#ý]ýÄ™yFø ÃWš¡ ý—†%7ýO•›M4šäø4Ÿ…t/úv$bígJJ.I^fS›ûJ@ý©J^¹_æ†b`ü5ÃZ£º÷Þ²ŽŽ#ôG“â/äûœmw¥ñ¼Bï}»=€Òm ×‰‡ DñÌ¿^ {óBÉ3Æà=QðÏw7ÙCC ¸{3÷|Ø]ö­Z.ÿîßS¿ÝþV£Í¿p ³³‚X@㸘ÖÕ“Y€“„ø¯g¾2µ©­ž6ÿ+¦!]„Þ¶æÓ¾Ý¦€¼HÉü8µhÉE[3ê!Ll¼ , )·ë½ë\¦:åÏ:sp"G{v®É1áÜ["w™ׂR]ÿ Û0»h&`ŠÙõÈÆ(Ê<›ÙörÁMaÂZ'“­5u$b´Ê3s¬öÊ9í娉Ï1®¾ˆb×LFÛXÈ›~å´Ü‘²ïdÆù˜ƸZ›ùÖŒԛkIêMMÞqÃÒXdÓ*˜P埠¾òM A(ЏÑÎ?à¤Eó?oÆìß-‡HX ý ›%o¹œB¬à›÷¾’ˆF¼•ãiT H•OŠ<¶›$ªž…»_´KkÜ4ön&Ì7Ó¯Çòwø ±@@ ¦„6y˜<êÌqüU±ñÑÐ’ Ÿ‘ÞܛŜµI9¯å>î¥`Z¡õ›yñÆ“Ó %¹bc)}ÏŸžz[àãȬ>fÿ”nÍB~*ª y–¤·!(˜Ê Û(³6Îd¿E«#åøë»ÓúÄ̺ºfW†{yöÆÉž yv. Cù¬2Ü%ÂîIÐÿÎÉòƒ™Y9€²$œÅú¸tb–G¿^®•rs„5Ä ¸¬\t4dƒ‰£ÿp]ÜvØþ^½ *ðS°~n`ó8°døÌÜ?CáeòîÖ[åöDZ;ÃAU^YoÛÃrÏo!ŸN÷Ô¯sB9/¶¯û@jX(¨é©˜óÅ&®$Ñ!ìéTB#¡ølCÖÇŒ?ÏÅH"|Y*<`6?Ù—Kg°yõFFQHÈBLL(Ý€ÿ˜l€´´©AÒ„J‚?åŒÃb<¹.G»I¿Õ8 ŠÎƒtÄög±Ï ½ZÛ<®>ôEô$u.á { Ã8ú`/øˆM€A Ìÿó·?¯ü[;8¯ q<M…àÇ©FδK®9¨¥q™q ]Û¸ƒ#+tS}';$ÃFYCU‡aˆ ægë¸òÒa¨ÀÏ›/šÑ1"Ð/ÊŸúÊqkqRüL’h4Y£7ãEqm ½\ŽÄZ¾\&«h\½âø*9¡ qI‚–½8å ý† lyW—-5ø‹8ŸÌÁ˜•ÏÛ…s+´¹ýƪöÀ8—\ ¯’­YÛ·d›^¨fX÷ôÀüo|ò8€º}´/¥}† %%ª‚Dll!²™ÏcâK2Ÿ2Vè¹FH{š*§ñœ2H¯¥»²È ;/LTaMäþP[95Âk9 O^uH"7 üŠ’ f<;VgÅ,Tüh<çN˜´\ï‰ÎÙ@PøèÌ™XŸÖœ£Tfšþ€ÿ²jyç×(î”çVê—’˜)Åë×@0^@qøÅ)Eã¦ÄegKÁ¡ª»ð†’?ø%0_ç/ªÒõ`§)|]g\çSœËЈÙ+¦AE Ë‹— â)>Ÿ/„ æ&©`ætÒw“…Et´aŸÚBþÑBB†”¢f®Ãà CÔÃÚ*HZÈÓÇ5>óå4¨¤>Ø '+*³žw&{ðߦTþ>¼ Ä-À<b@T72D¬Ô;Í–õ4Ýã÷Wµ†XÊná †ß»YØÅÜè±Ùo3î7ADùùœZÈ Ðï÷œñüI¬® ²OµˆX–Š€>RëÇËtÏpÔnúü£¾ÇbR¢ˆ˜¿=‚ŸнÃõjµ ©Rÿk™…ùôYЇ ÿLléšgÙf1úB{H•eoíÕM5¸`jÁ0œçÊšÚÖ˜–êÁÍ»ª ÁÕ N¨/U½|ìƒEbÏ‹çÔÉÚk!‡‹Êƒ†òÊGˆTã¦ÝS_€{OÞB-š­;Kj‹ë£ …JcÆ2ü÷Dä,’BÉUÐ ¹B5ˆVÌ;/І¶9MJZͪÀyÿÕ7Äs¹ÃfšegÉ.>Ƥ'9%ùkÆÿÿG²b¾Å"ô ªGM5;x1± Lñ:8R‰5M/½Ø(ñžR?h64"œ”©xøÄ¿KÓœâù ÷ó8PÅ¡š7oËî÷òoǵüÒÐq†8j*\ËTÀúZÔñ‹åùK[xêŠ$÷­ä6akŸ>ÝdmwDÜ T*o«É! c5ÑÞxßœg{tI®oQ0ÛÌo©}´x?ü-©¨rº >{ Ñ#”™žú+Çf–êKbëo–YÙ²Îé¥Ý™Á»ÏåÑ–¼±Hyc”ý[1 G¸ÖdZ#%å/» ûÕ|•Ÿ[$‹SÔ×Ám‚žo¾­&—ºüì”îùæÂny(®°˜Ê¼›¦¤ô1ÐÅÛ ûb¾õëŒ\06”Èõ­Ö÷upàDO–åòø¸s¥FGòãé¾"Ì,ë=º wõ¡„é~ªÁÎýI‘+…j¬[§$|ŽÚ›çD^$5Ê3ZÊLãÜ8dàpzöv¾@¢˜âØËlS‘‹üŸS°7”Rârô VÕrXNaæÜíq=•¬—/ôÍ„, ž;®½å¤ÌHÂM´s´ݾGNY¢8%tÝðAù¢u¹,@P0µQc×9ê¶‹QÎizù¿¸ú„£ñ1|šmÓ¥ùUÅÕ³Pù=´üäÌÅtß]ñ%“ýä'°S®™—b&{CôÙÊÀè-ý¸tÅ.P¬MŒ&Ù€k•ÿ¯þxb‡|~~†EÛ~¦ÜïSó‚ÈžÔcD Ô™¥’l~ðÏ[öuh÷Ósä¯õ‹# r  J ? Ó Hý^BUèo˜Ø>r}ÅGÄêæ¯w;½þµî—'Æ€rEÊßÃ1Ó)Ï¥²Ãfýd ¯…×ý3béå-NÍEŒ;,4’Ê }˜ÍÅœÁWw±Ÿ·Æ¯âÂêCŽasS²7 »,_£Uf;Ûü…œ!Ì:¦–¾Ë€± ”]ËšÙ™#¢UI,˜dª_œòøý¼5òæ€òÑZÕ(¾Å}ˆ†xp£©Í}CœsÜœ³&íî€\ }±—.BàAáÒYN‚ð-þ¤ž|¥bëT}íÐüÁ˾Ɣ‚s&*ÆlMVðA_Zxy¶„¨çvb$ 'hÏ0B8Ú».çŸÆžîŠ,XU|¢‰„Ðå]å}€ërIëÌ-Ööœì–ì“%TÃ}#ÜpÝ Øaê6±8çìÑD±ö6iÙŠÖ½$_ç‰Ж(ýÀ`yF{ëüòlÒ/ؽ îe¢ îS{þÁp=aç ÇåCI&!/M&_6r¡¦Ù‚*ž²‘?¬ð#Ê_XêÚ©Cê’ª„Ô¨vÏKnß§&qdj´ÌR¶ÇLãž4°àLè:ï„fçÛÊþ ‡nØô='›kRóÒ^Á8_æfÒÉKðÎ*.å ‡‰9ß.mƒ¥L½„Å JyÄ%—]J-NñÄI™ŠVrZñÑÃñ†¿suÇúµEÆ|ü\ˆõM¨œ]œUˇé±°Ÿ/¡© ?“¿Íƒ®ì™Òœ¨›¢=\¨O.Šn "úLeI Îñ„ªcE dg)©…ï>3F‡öž9)€3ƒá]XÖÈ8~ñ”)‡öî`G¼ß˜ï¯(iH° w§Ph FâÙËÜsj͘¾ŒÖߪMV®|kAàñ;®|,)Wö„¯Íñ?ÝÈó¢ Ê{Ò&À᨞Hï ¤€^0 Û0ªC‹‰ÈFîüÈñZÀT=®U׫$ô ä=ø?´l”ÎaÖFÍÄ0/4s#MÕx‘$XQ†&Æ·qö¿YIŸcqFK¯s¸qnwý –F7=g|-PÕv¨L‰ ¾š-?Ø:ÈÒFv*ÎZx±â`‘ œ'+¸eŸ×9·ƒ°ÎäÁ¨LÇidYGÅÀ·Ýš)wPÛ¤½ *¼Š å N sV„÷YÔ¨P6‰‹Wµý øúNÙA’9ÖHæäWòíå}$–š“®ÃÀâåòˆfŽîNÔšî]=ñ1rogõñ3SéúޱÂüÃcMšñ·ó]ãb…#Ò§ÁtC¨G¶B ˜¾ÓÊ]á׊†¡ÌaSôFõ(C6HäC­Uõчz9ÖtûC³¯à°ˆ5úâXCáÔ™WhPúfŠ36•Çóœp½ÏÆt}w+g[LNêNŠ<zàf‹÷´U¬Z«F~ ÓèM:t ¤=Læ-¶”AQ>(|sKT·r|!áDäiŽá°ô€l ù3r»º{géõïuŸ¦ÿ_6 [AºÒhÜÛòà¨ñ u€°–,•>/À¾E ¥jŽ 7¯5IÆþËžŠõò¿ý}œ‚¯»Rö‰í(¾Ý(Pð!`©Óÿ貫¢Ë”x^“'ƒâLÇÂV+ s_S´˜úÖéç—|Ü1;fsi7556¹9`êö\¹Í$ÆÈµBù§3×Q5/AüJ1^œÒÎÕ×wf“8 "W…Z³92 ÿÿ‡ÜLÿØ'ü6ˆö¯Tϱ‚–TÞNSØz³Õ>+¬K‘“fCohà˜“ ØÀæI{ß &‚ àhŽÇOT_˜C¼¨2ÀxÎ’«à™ Ý(ëÆPôÜ6„™§$‰f‡¢JwÒ}HÑî–^M—]¢i%ÑÍóĬoez ð®‘Ü#zs»pŒuy Oòn´õBnšs-0á§šó³ß²Å ׄ$ò,b )“_±ôG^ŽÀÃì¥ÍÅÊûø0âGù eò'ùT†ð )s°=¥<§+g5 °ô¿Æ^oÛï³vÅä‘‚g-:}FºΫ ýú¿¡û6lð¿Ц3ÚÀÇ;a»ô 15í¡|>Uã­ äIòʨÛÉÖFÿínóŽ6Ó~ˆîxì´U­Ìê]A³=ŸÇá0}oÌ^ò~+£{¤ñ‚ÇI}PŽ[¥ˆù€§÷‘ò®=«kÓ ñ@Ò˜§›V©<¾»ì°µPTü‰šå‡à~rï"®µ s|'=JuÛ!ÝVìãæÿ Ý„¾ ÁÁéq•ÓìTøÉI‚QÄŽ^kü t;’×%’ŽøŒùÜãa2BÒY4G Çé—Œæo\ ]^“Ê ôX¿ÓôªG !³wï=Ì—ÊÞ θ×À¦Ž;Ü®ÒñªÏRÁ‡)°ï¼îÛÿZŒ9ò÷ñXbÑ(Ô0Øæw.ÄW ᮼáì…0]70¤m{/˜Š]ïט;žÜý÷däæD`è-Ù|Ù=SŸxî5TUãËwç%¯ Ó"„Ks°1$0¥Ùú´ÓÄfè㽨\~Ã'Æq¢«Žz8ÎOÂLœŸ+:¶¡{"U³KäHÃ6ÖÇŸÉ0îr©ÿ\V𰾡¬KK#¿TÊxTz²óÒD?^/ý?wAˆ3¿—i„#¸ÞJñQoåö¨<³L! ˜¥Ò4¥šË­Màï¹Õì໨„ñÏwOÛuÏ~1žäµ³eðÿÖøQ@¯8Œ¸Ù?©¡º$Æ×ŸKyî QŸ-ÍñÛ µøgaáLP1 1ÓÀ PNÒ‘kmAJt¶´hÒu%/²+Zž´¿XÓ… £•ï±¶ÍgÃiŠ}ù–x²²y‰¿ €;üfZ«K¨@æpn±r㇩gË׊6ë'`«ÁyOIÖ¶ä˜,V9$b{Ù«4Ì¡c‡ã¹¨X¸¡jÍÆjìð˜óøËø;V`'LJK÷…t°~%0¡!o|Z#pÎu¸Ó´ôÂPBзMü&¤ í½ {¬Öoš®|w»Êæ8®#öyJÐ÷ª‹‹1”p¾lXj ­Pn òX,[I”i³+) å¬ö4õ¶Hw¶}Xÿ¹Yú²:¢)2qòü½²·j… lô™´ã–ø ®3¯ŒI!C†ËR‚Ùzú+k<•=µ÷ÿäàXû–åQ÷UÙá!|3ša ϿҨ@ÀÔM)èW¯ÝG$ n(`â©1N49aÿ·cÈFÙK?¥âzYÂÆyÜ(ÁF˜ &4[pšùõ[ö]I£íw£ rIÖ{[’j ±ù$¹ÝÓå†é²©Ný5l}Lâé/ú—ðBðÅd?L> hq¤ñ§Àô34û«½È¾â#†Ò«¹ÑÆKñ€®é™“š%…xªÒËì³¥Û²PÝÛ S`¯P¸6»6ïèÈÚ3¾6´ªe%9ñû2^°iµ¡}º)$ðÈÙòÐÌêøœ;§¹¿ѳ4«`Ð%IÊR¢ÍÆxªöŒc_¿ qÌf|òC+>¡ÊU[ÕbI6§K X×Å óþÏ–“Øòk,ß.H—LHÂÄñ&ºíæðh¼q¦xC 9˜Œ ´éaMöù+øc»Ì@m˜ý T({%4˜¢º%€òôؤ.ëÈáFqƒ17™S %­úÚèÞ‹'8dõÕbäWeu4Záèö¾jH—Öå3‹m} <–Ͷ¨¯ÑÇ f_›b¬*Õ_TØåŠüM¹)7æ²g}8“CzÆäžOØ޽-ÀL?å Jõýδqƒ4RXnÁ7KA·~vÈu|¦ ’ÒUN6 ]½è¯D"$áÜžøóï¡Ü ¢×ÒÛš»Z» õ  Ú—ßÚ÷8#)aÝ&Û¾<ƒª»ÿ[8w§{'ܶ¥l×@ÿ ÑêŠ4Û kªñbe’I¾Ùôå½–%à÷(¯,¬YJôûî0Gä‹ä p„dÊ¢Sûʆä.Ý3,}­•‰q7ÚÙ=¸*PäÐ-3<3ÈýE¦x×Ö×K™jG7ošÁ6®×<ž­Ö0•·ömj "¼R/—áÆI¶ÅlÉ{Bw?¦›Z¡ZÉ’m–Î&g8¶Ï0§Z±ƒ0]}¢øã¢Z"È™Þ Í‹·ªÚ¤gç²é†ãâýÙŽ· ¿ÄØ'Ãrãn ˆ ô(º¤ìéR;ÑpW…o«Ü6îž,â-n„Γ ¾m÷ +É=JP¬iסÅÔà wõlަÌ$ Y­SH¥á{uÃëýòêÐJ¤ú¹«òÇÚ» ø# ¢»$ –CÔ‰±Åâ½Õ÷,añ¶›n§/µ~Äj¹–O±ø¾bnû×v”ÌÖØúwA÷ þì™3ƒ—Q«T»ð‘»Æg­^5«î‰¨8«êiQVÑ”äu~P“ñò+Û–ÙŠ—êô|ä°Ž*ÒŽ‰"2²™^^”G»¨t5ÆQ9Õ¾.8×ÀÄÙíçŽÌOk9Hß µb¥Ã„Rɧ¬ÐWüƒÞÍteq"»Áh×Äòø ×£ÆÝΰ㶕ô´\Þä¸z>&xmÃ`ä°À÷ iÌý‡Çš¿‚¿¤ÝÒE½MãÊ…j©ˆ^9h%ËçúÝý”ƒwŒòk¡¨ìº^w‰ìéÁê‰ñ Àá§ÉqUÈõþ;&ÞÄ}ó0÷€Ðw‚d*„Q5¹#[Y×ÎhÐX(!“Œ5ë:9z¹aô»ñDã.ƒ p—PÕ4Öä^×’U€¿ã„ý 4¬ù Ø¥h~ ž›š½Éj¥'¾”ñ·¡ZN¦ÈÆÙÎWÖr{3 ã:XÎ䨷 hAìfƒЉ ö[sõó ÌŠ.ÂËÒ„‘gÐfÎ Œ›¥¸Ñ‹*c•ÀìÒ±¡°"Tú̸Ø î°ú×Ï÷c½‘íÅûyYæcÖÚ‚­ì»:†c»tÉ;³ÓÓ Å¹<ñ˜ÞŸúÑIËÕ÷àŽp[â“5ö ¶»ª¸­ÂóåQFAµQÍnÐço 1œØ~{½ÖiÀ±Øç!ât·Àm ÍBž7Pô±Ä#ÚKÁ;YZ²{K¦“qM[=‡”ß|¬|„AvÖãäØκñ½ RŠñàuÝóqÅkº»³÷2< é^§óMúÖgå×þߟÁ…0ߣ‚‘!Sü<V—K|Pc…ûð| Lí£†LŸ ;¤ÁW Gº”Èþ2^.ÔÌÊÛ"dŽ=mÿ!H’M î©°^êfñ ^Wºv•cë˜CƒÄàJ·?Zçºjc FquˆŽüqƒ½VUaÜÈ©G­‰• ˜Î¢9æ*0z Ïà%íø? =¯¶-Z >@£œGÇ ï¥kd1áÍÒù¸êˆ%$1.çϽhù€’2Ä/Ã¥ (?Ìq¹Wù»Ýkƒ ÁÞÖÎvÇëp /Ýý™Çîo80ÿ/9ç>¢¸Zܡݿ(JP,_åÀÂÂhÆkåð”ÒeïáUcÜæ¥ÁƒÑ9ãESŸ}7$2dSp¹ø42óò.ª7d'[œbŽ])=áå}·$v÷v„o îZ· [ô*n¿„Ë“j÷ +Æ=GP©iÔ¡ÂÔÿß éÒëw ægnTÿÉzâðßðµ­ÃÉ\«öŒßiã Áåhe”›Y¢—ŸPËó_¿Á ÐüÉ Ì ”> <ôukY™ãØÆOÛˆ³5Ù1ï[‹ü=¤u@š kéVê‡<ã}Pœ•|\~-6m†"ò§±<È^Ú]–kDºýàlË£… ­Á€V´@¾ÖÙvíž)YÉ8»Û¦ôÞП;¹þZ­[ékcéŠtÄ~´LúøVÎãÚu)èã!äFªµ½çþ‡7ß÷u]~Ò+AûRÚÞC Ò’Åæ«Yáª.ÕhÁ× ­5©GþS5Z|ÌÆÆŸzõfâD›ñœ ¢ö¤*“•³¥•n ¾~¤_„ÒÿªiÁõ³—ð{¼¿DU9-D¤ Zt¤NQÞñȻڱ¹È(Eôg'×f‰õ xµ‹-OðȲáÁÆÝR7¸­ƒùëÐlÏñÓÇW[—§ó,è:Ÿ hÛRÐÍ,×/ä^J¨Ñ®¾ín‹mÆÉæe‹>Um[d%ïá{òYP™ Q}Á¶íªînå1àIØÃõyÀÿ÷ûxφÐüØÓ V&ì&ãl9Ô°Ä4–Û3þ´7Jknè9©tÏ5 Ygw£yþ‡¤;ç9b:þñk¬ñm¿á¿~A£±z _«æÊð›ÝÍÀX߉t~¢˜œ‰¿¹Æ\âsîä6ûÈ,¾OkìzÜÑ Š(7JûpÊa"˜áy—umÅ;¥À—!lñòî8ÂArçÒ=ˆ½ÀH5Úç„íæKG¯·«cÓ·6/{ŒQ’cåßÛðÕuÚ.™¬Kc£Ã½2’—5E·µ»¦ÃìÄÞ$tÎ cá}7>T²7¼ÊàvÃÐKd^ÐùŒý²±Žä’Mòyà!ÄÔ³¨Ù¨%‘Ý“¨Æ|÷ øáZ²Ñf¾†wEAÖ—7«+—Á°æB‡T|tú›â9Æø1pDj¿ æ¡ÖVÒ<þaˆpd‚íšÕ³ÕêŠõ ŸˆjÁ½`öâpJƒ…ê'÷ÿh«åÁh±ðç õ¾„z<ªŸˆ˜ódwW'-ÐJh¢‡ù2~7ò⃾V‹‡YuQØÄÈ#Ó«]Å*.&ÿ`Û™†Q¤ç×ýým3Ž{P˜ø˜\ž7‹»iô+Ø=W”¥â$ª·_‘–»ÞβÐN×3<›ŠÕß”«šê¤VÜ\`†Ic› ÞŒ} ¨yÝ’È=jB‚§©Pï:Ïòe•Edêh›F2ÿm‘ǰ§R¬}1¡ T’„cÐRÒ¨¨÷4  †ÙZ(I:­,1ͱ#óÿ‚€J²ØÍRŠÖ| L·ˆvCªëyÑ*ÖžiÞÊu;À¤?õà­ìüçÆ<MÛ¤ Xöèðnwtwò/2²¸ÏûêÔ9€µà«´Ÿ°eÆwä@×âiæ 7zº)„Ì¡gp_Ù^@í ìoà‰ÛP5£„{æ[¦š´ÏQÂ9[öQå(0ˆ‰Ê|Gé@õ/=—2×wû¨Š|ů£3H ÎîÂ~"-2Yñý+ò”Q{ïØµ¶¥hI Þeôô¾Î¯ÃÈšö“rþÀÄåÕi O; ÓF¾éǃÒc|’· "³ÅiɽÄÛ¾ÈO_¢ò*5»ñÛбL¾ØÐ S&é&Á40þ±7 „¤8çÃ\á’»ÈI8;4€sº÷»ˆÄò×Á¹vØ:q=«ñµooGVâUµ-è^fÞ–<¥å°Þ }E¨€¹µß‹­èÓqÊLÜàõëqjâFkeóÄÔ ì§ Ôúk¶Ån %î™>þ!<wNÔdAÀ>”Nù™o’öu—ÄŸƒù¬°{”‚ ê»ÅWœÜÌÿµíŽw‡ëŽœ_“7é!fh?çq,šÑ=¡æ%iéÚ=·“Í×ö. ݘÌeôðhMPá—W× Š'3Ü…I„åá±ÇZ.“é›–5;AGTM<©Ó †°×påÑ—›ªªÔõ$ŒQ˜ ¡`ýÌF.öëJà(«_ÿEÙüJ>4•±Z×eÑñ_›T­aá6êÓºŸ8›š×ቲájP ¥ʉƒË/×/ÙJ勎†ûÜô5FB0ã/³–ò}–rµ•–Ù‹ß‹SYG–M–S–Y–_–w–_e–²–4€™Ð‰–òéâà3p m’¹Õ8‰V™ýežpþ¿\¢½.ƒåæÉx%Ø€ûk–žÂîxØgÊF·ÙÀh"D<Tä=޽i#šS«­öV“3Ù"Ÿ—¬–2¢bß›ŠŽcÔ`b‰1£)/"×ò4â/ª¡^/uí4.Vµäæ *HmýÅ;qC£w…Üw®é«AÀ2ÞÝÜ››ˆ_Рt¸ýÃS¢1ܸ´áõÙ)ÈÌÍŽ£LÞgÃe ¨ÄaØ! ^?aê©Oª¶s__^a’¥ø§!3±lZšŸTgŸ4¢Âxî­eQ —ØaÊ1hÙà/•³¨ºmÙމ̂bsÛA/|ý¬-b­pîÙyþ*¸tÌÌmc1ÊéSËü `¬x¨Š|w‡hJ°ö_ELPþvº xî°˜z·¦-¦ü¢¶ï/1¿æ>h½4–¨KÄ‹ÉZ9E‘±$ëÜĉö«eÝ c=‘XXÕPß…È!p ¥y0"[+ȶpìö¸=‰*Mrùš¦°"Ì eÒï¤dYˆEE;i~à¸ßV%z´*øvÌo(n8úÜC@uú ®—8Ï¿mŽ$ ý6×+çÌÛi€JÉ6¨8/Š ¯b²ü<ü¾ò­KÍ®ÔMÛßå3úo­–ú}.^9¢‰‰æëÛ=æRÙÀ—ùz­Æ’ëž¡Ý<ÒÓ'ò 5hQ ¿hY¡uúà¥ñô;þ\“0p”Ø¿3¨Üå}õ7ü-ò€õsÂóP™w/E4kõL°Î­œø:üuÇçxøÑÓŠniú»¢é,C¸ã_«»Öqzdëð‹ÄP·Š¥_"éwÚ¶\º'0ò%ª"ÎT~âÞM&M'lÄéãô;õ΂5cßô˜_¥íIGn·þ>“Ò¡ºÿyó:¯uƒõ‚ç ÊJ: }C8z"Ûÿ’€þÕ¥²ÑwY«s|4‰þ3TÇurô_ïìév”­€5Án¢(¨44ÍÛÙ½øàñ•6¸ÿ¡çE4_{Â–Ž¶Ñªûóú ÷w«ynê 5ã wñ×&×2çµ4‘yAk&é–h-ú4s ð»ÛÑŒLÆ?pb‡ni|Í«1ÿï3ŒÎÙø¼Û Ð}®(¶/Kð?Ðg†uòµ¦Õ*»4Ø*þšÊ «7`ŽÈ’™F^‚«ÓôÅÛòx·bgþ}˜CPûè^…Ì®­¯ -œX¢ÖïÐXØÌõ×ßÑþŠ¡ŠDë«zKŽrŽŸ£0~Åc×pP»¹4öWfj~þƒÿZçã ¯ùñ:Ëé{ký¶NÔ{¼—˜*ñji ¨.µj³úýô‹“~ÙM1]ÚI€­ù]3ËèÊVÔ#åê‘€slT03*JÙXýñOÖ•N*JáëK´õDÕ¶<Ït/ÉÖês0l†4bÅ?…Êáa»œ ®ä2Rÿ?ŒXø©ÑRý#m­FÃ/BÞÝý‡S™×§xá2èìië©ålâ"Ñ/#õT!õÒ*¤Î§ì¾¿ðQ‘@*sñ§6§OvÿìØ{àèöËKßCF†[-›“~à¢G2m4Š&k ò}±» Sx›JéÁ:oÍlûßšJBYýôbîæ¿ŸšfMÇ^ïðÞz/¶)sÙ1hH4Ÿý¤ÑÊ9¼äë_|çIƒzÚ(Ì”“â…Ö;i‰;Ì ,¼q F+Þh_*E_TĹõ¿ñ”|ò,©Önõƒ»]û»í85Dl?Ùað ~¬km½ÐçC“A`;}ÀqOA¡³%e²×}âwý«Õ»ƒBÕ0kõt;OõÎaé³øŸÑ]€³œ¥hSŽÐ,TbŸ1PÅR JÔ Ú…Œ¹ÿtœmÀ ´IÅôÍ$ÎÍèßÀí ì›íŽ×]WH1Ûné%3—ôO¨º¸™Ö|N¸ôY¹.<È7÷©Ø.YEMª•òÚ›xx+[ð€lÎjUpÄ[˜‘|bÊ]ǧØbX[ÅL6i:ü z]Äï/ ''N ÐfY¼©HŽVêV ˜ç…_”‡N«¡Î9ëŸÈžœÛž³é’²7TͧzX&+:~ÀúnÕάÈäÍÙñŸ¦.ï0’ñ×z—fãL¨P¶?•ZâK  èÙ©Z[ägÚé¢P2ÅWcø”Æ Ä|,ø÷Ñu‰k±w´=¡Iš—¤Z†¦^¿VóásiÒ |GBPÀêð‹Ý¡ë€áÇTŸ‚A’Z{¢G™Å?DF€^TEd¤ ‚mp••Haú¹y)ìâYÛjØÏz¤Z§Þ‚öÚÅ[óO°=í|ôÐN¬#súH€gήED•˜,Åí—Ý6†!óˆí¦c!&†ê'ÒÑ5¿ÙæZlw×ê(±ÁO¦™Sqa±òçTëzvÏ&¹@Š Ì:¥I*“ã þ*î×C0´êGÑ­9ŸM಻»cõÕ EìäKUöY°¹Ñó(WØY9vǽÏ  ßsüœÀ)a,Œï~A1~"2´ÎÀ޼S¡ A麎ÛV3žMjÆ`ô Oú°puÐî ‹:܉Ÿ<„1îÁîjîbšÐþØQ©/.3ÉÜO˜l ¦"²"Âí´…“™Ÿø N0žyŸ`€ˠвž.·FvšݳºŸd!—"–FáçBì |[+¸þ÷ú­¥õÁ`ÿÝì yØ:šV€Q°çùžã³D—²ª‘ëçΟ§æ“`´  ˆÝÊS’s:v Í‘ÿ™Ã¶Bݽaüë,/‹c£ê¹,õøï#pÍ7–ë²þc#?ÐÏ øÙ ‘i9c£}31®¢?êÕqi`4"Ý h.Ö›ä3Yˆ¼ ^ÛõIâ‘ö•‹q¥®Vf­²”Îeƒnœß|d-ù7“ý»c©%Å]6F¼ìãNž“!*%hgΔÅ&³/Nx¸o ¿~#Bœ†ÉÎ’Mô{væŠÏ]eŒº5é¹q³ù ‰”°æôÛž,¼Lö¼æMÏùÛù·ùÂãmìg¶¼Âg:Lj`ÅêÙd€lV{^¥!êŠg'Ñ0ñh˜­^í”ÆõŒi­ºŽÑ.†ñ«mòÒæyˆ•–'h;›’NÁSÉM;‰ƃ´3Z1¤[€Ÿè19s­»gCp_iîÿut{K—zC•¿Ó涬"t«¶]—’uÈV8Š:ÛOHü>âî£2[._ËuBy,™À²n \GW_Âo„]>2‹?bøäÃŒB²èÜP]UR¼E›–M󆕃éì‡Ñ¶¹]¸k~®-ûÎp¾&•?üx‹ÚåLO„@ öЯˆ_UnYFMÁcbjû%‹ô3_‡eœž[èÝV60å2“#˜3Ûa{ê/Å Ë3Êñt±pàó« N“Q„¦lÚ€Uêãºdq!€cvz1n£‡ȉÑœ±¬­Áúì,>ÕÕ/”y0Ï‚<æsÝa³2×ó««`Š•ÆÞ¡O½§wÊâÕT€ÅÄ,<^¼ô&""½íu0Böã ²òu0øéðQ«Ýø`k¼ l¥ŽÅéÇ@ïqW˜WÊÂ`FF¸í®£èDh+V° ëe1vØt¦öNt®‰^oãxœã†¶{CQѺ™èßËÆ‚§ÛÈM‰vÕ­ÜÄC-´uÉÀ˜åË"w® ôõ1qXÍ‚ÔêÆ¹ôéU™ó„9†èòöë ¬!„ b:´õ|´ì×ß%yÙ©ŠR>_§  ò+-ü,||T3Œ`v_kÀ2,â>ŠoŸSƒS·`g~ƒ ƒ cM‘|¯øY=(-á¬27ÖbB´ƒ"Ï.m6ø^y™ŒAc˜9Ú¨.}Ô]gý§¯6^v†_çqøm§5Œ.ø~;ëаSõS2VœÞ«#ËìóÓ4í¡žÎЀTçD’ߊ£Ž´h5ÿ9¥¸û ¬ü•Fë$ærGâÌw}¬,_2 :ü7ÄБ,^vÚ 5”[Ž£Ϥ§‹Ùƒç{þR*²3 |­ëœRú7D9,¼žî4'²ìùgÇK,'Á#ÛÆy@›Œ>§™ä »ÝUб.d\p³æ€}¬ÕD•aÆØãÙ1þ¿xöfikŸu,/<¸g Æ›`K­Š\Q‹ÍÔK¿>§Xéɬçºs‰ûù#´îtr†‘L rŽxYQ§w`A{a0¬Ã¸’ž—Ýmé¼i¾”ŒáùOÚe¨ß&@S;«uÜúMïŽq¹™­>úŒ û·YâXµ0èÁe†Ÿ8¯øafü æKÿÞŸ~Õ@@.¦ÌÓ!AI˜ ™L)˜Àׯ@¥•8Žn˜ÂÙ&æ_Ý^ŽƒìúH ŽRGê_ýø†ê:,Ì5”RÛ ãuÜ-®»ÌÏ¡yA}·\—@>Z¡µ" ë©=`‰Þ€ÝÌÞe>å–iò…"^§ O¶;!‡`GsÜÜuˆŦ69‡Ó]ŽZŽ­ˆß$k”wBÓñ'™xUk‹³`›t…»XNW¹\ZpfKâ\á/óUˆ^2΄ ;I¶®íì!πĚìatgÉ>‹eóZL΋š "‚&Y…j!ÁD.FkÄè†CŒ!⤼¢™ƒ%‹±ÞÅ4~•5Û‚Ùé[!©¤–EµYnžßs5²~o¶"ÕnG¤~ºþX‚N}Žƒ?å)D¦êCÁÈm´W2÷]@*l,ù]a9ÛºÅÙq©Wì<Íd„æCT‰ƒCÄT­ê:&[¶u¾ÞòVùP FÒ_«B,AŸÿ n×Ü2cLzjמF¯5œšÈɤˆÈpyŒµø2„LÁv$QIì?¶q{ÆHœz&b — ½ä` ¡>Gœð Õv>M®J¨ˆ]B¨·I¬ÙeÐk Ìù8*ØÞæé5žxA€[)©R`&µ½¤^ .f×m“ØAŽi§cæ…4ÜÒ,Œ$ A;iƒ<Ø…Ÿ?ŠÊAÆÇ…K= 3Ѓuà<ÕB!@=tÙë8S- ŠC­Ò(ÓjúÏc`ËKëµÕ8Ù‡L½Y†‡ÂôkÄ¢ãɲ8Òôø ÜwÒz“2.&g}dX Z€µ6=î•T ¨ð¬E qj·[Jq¸RÂv?ÈZ«ï­{Âñ` .W;w4;ÔËà—žîuº4݈EYv^w~˜wžXV __…wÖ§YA4ïîð…ô!™ù DgzzˆXŠÏ« d†8thPÒ½Â÷Pö\Ú]´5q 3isgðäbįú”§ðRdO&lìíñ¸ò1ޤð·#OÁ÷¢Ó)Á;ƃĞ[©®QQ¨/„2³Ńilx$®^·aî–ü¢Ú0»=‰o5Š»:5È|Ò?ï=€úr*Ð;ñÒ©õÃn%``Èxdác§… u÷g™‹.à÷Œ@º×/ž~]ï2¦3Ù>•Xî’ëd0P(#„‡ŸÏ$ØÓ¶^‹86£8@ŒYÁÿ=º¦Þ{Ro‚‹Bþ®]¢¬¶xü™<U£ÛL‰¼9¸5Òícêü+o3?¢õè ÌÏQ7n=\Xù\¼Í/ê–UÝïß#ìÖí³•ÃÙc7†8³NL‚-A„³¿ã{U¹aì8Ùº§uFËvÄëòsíF×±|p´µ¥ÆAj¨åðd7­¾°hF„ýšž^,ut®.ÜÖÞÖyаVˆèÛË‚1Í1Êè_Õ.X˜cY‚_¨¡²#t´šßYdÉ:7܉Ÿ™——V}QŽÿ’[îÜ–R†!ûc6cÒ‡: 2ˆiÚ *ü:54D’aÃØàÙ.þ¼xófƼ>©çìŽÒ@Ã@¦=‚+F¦¤º¾±W7&›FuA! * Ë„Â5ÒUÂnjÂ2qï1’X]YXÏ@£=' ]ú>î>ý>˘á­?'Æñ>í“ÒLúYo´Î˜âˆªT?«Ês&—kä­N(L.u —;¿<ôçë†rEB‰˃`I?*Æ-^H:ÂoÌDÏðP+;¬Èšï—¢œ³²¯Šd fÕVé­|IÏ8Ÿ/¸G¹¡ô>¯TTH§‹¸boK¬öeu˜~#ëB«4*Ž&ßr¼]f'tkp~±¤è¦Þ7ŽÄ„ð¸B…M±Ãx€GØ_ñXšÎ)NÀÛ¢Ý"\ð“¢“àƒ  ÷ŸFpzµ\ÛßjCG‹fa&%¾á ú±ÈeRb!€î¯ÈÍVbWom‡åkÒ;ƒšÖc7þ6Ss¦õ5¹òw)ë#ÈÔ¶œƒàO¡Ö¤Õ€CP!:Šö>hJ $×$S·GÖDÕòN<LP[atúçñ ùˆ?½ I¥ Jd’ÆÐÝsA(›fÂQ'ÚLïDO@ýY‡¡zÐ_mÛG£þlb ÿhʼn¯šù†—ºÊW%Cš‘XTÂ_XêöÛTåaL ½Fr´.°„]Öý0g{јõ2@]·X¦ê¼,Á•ÏhXÐâž:ò—&¹·ÁÃ4éVPįÂùœù©nJåˆÍ ÑQê€>åè¶Ë{ ï¾ ÂDî×äÅld“»›ýŽ‚PdÖ[’’{9§R‚°¶Tü§# ºkKÕZdQÞ:¶ˆ`ÆÖÝ*òÕ¹¹÷$>­TW—yïh-(çêd(¶»÷¤‹ˆ£Ë•‡?Éå­þé9»V„«ø‰…6@ZKZ¨_jlÚQ¦¯²‡òcjWøXÁÍIÌáã­%éûN;ɽúŠÄ£i’/§hN¶kcÍ¡¾ÜnsËÓI»Sýù-ºÅÊ5þ Mñ¥a@¹Aóè4¶ž«¤AØ'.*z&ø$W€EÎHhÓJz.¶ð/Ò•z{¢÷*p‰çän‘fbÁý-þ÷né~µ9' VÊuõî b] ÇÝ’fήèCèBž¹~c˜·û€Œ®~ð⦹|Wþ>̪G]9«€Hy€¯xÕ›C^:v&Cœ¨ëNšk¦TbΫæ,ÒµmÑ ºf¦õD·?WlËÙ³mÓ>ç­^A“?Òç·±?»8ª²‚5´í?Îè².éǧ€ò#Š%…`tsÍS]—$C(LDœ??@·’}º¿ +{Ç-(4›¢½%ä?YêQ(V€!/š†yøÒfá …Õáâ© ajò@|Фœì¸s¾.dD“*9WŠ<½ Òßir:–7±Ì9 $? ìùÜ1÷1Ê‹&^§}ç¬3§Õb=1âïO4M œH!~D˜)ÁÕGAtO.ãKª€Pç-‚ B<X$­®à7ùÐ ¸#Ûì0cVð{!·Dü,|‚+ÁBˆ\°ü*lœ¸–Þ’x Ñci~[B²ó¿Eää%€¾;Èš;„<Ã<Ÿæ,õ÷‰º5Âß>¡~@(¨?þëÛ«?wÕ¼ùÎád>cÞ‚ìJ”<æòe@&Ãæ•¸cî²€‰ÿè|W7i8<<¬;¾Êõï (o˜|BÜDæ¯ìhŒ?÷Ø’Ñ4ÒY0ƒ‡ݶ‹· òçñ4›WGÉ×Ý9I[§‘ \5DŒ†>§§.|£m4^|HÊ䯠o/}YRÀlßWÉ òímÒ`“îȹ//¿Ñ kæ¯Ô Öñ>ÍDb÷¯lTï^ŒŽ¼ͼê뇉rý¤!EiÈKT`¼Ð™ž¸^$ñëÝVèA¶fj™õâ Ó¢§W´E±à]XÜ¿|m2þŸÒR9aÇ3IRZr“{4nïã.í*:ÐÕVÞñlx¡HB_ºq†øµ‰Çó’/þ"õ¸æáo¼µÄ½)kô¾œ OerXM ǧ¶’7×¾ì¡d3â‚ ¾´"×HQu•^AS–×ÖXžzF"Û³¢ñµ€ÓàãGÚqyÁäé<æý嘣g݈œxÙ5™|°XZ:ëg§vcÕæagÌn ¨dÕú ¡àÞÎâˆâ´µ‘v¢¨ô Ϊ O £9OÚp¯ĨF–kÚïÅœkÙ@Ÿ ø›Öá¶Ÿµ^›ß”}83ÓåÈÑÕQ·Ú&?z׌Šu+íð´äF÷†€!Ý.X“HDa’Ù"¦6à½(®j­}[(„¬ë\tƒÞÑá7QÑmzbf!ÛŠ†Ø×-g2v:ìÙd¤ã Ƈ« ´¢x_·1Pí Šu˪1¸ùý‘,…\t|;UÊÓÏû‰ˆ7(R8´ûÚ r3üìȶº­³:ÔËŽ­ÙY&/úW5ãÃÖéJ L‘çÍ€*™*i€ˆñ<5??¬~“žDV¸„ž­mû?ƪ>ªÔ*3òõ{6¸†O4:™V hp= ¬ÆÃö‡Îƒ"n0l4F†Ê‡DcI](Þ&ÖQ?qŽÚYlÜQˆsˆø±ˆ=ËG-ÆëÓŒB€ ^ŠW™ øpñŒ7j$º@¹ƒâ_~©½r¤³ßR8ŒÜ€iÉdò(¤(§Øª IEz™Hd^pk­÷?߆;êXª;(­÷"\[Û’R„àñöN® û+yÇŒZ­Ä Mk”õêjÀÁÉHʹ¿)=¼ÇbÛ˜mºåŸ0^ÆÏ‚xÄm”O™bpa6§Ið[½AwVµ]¹ZØ«Ñmhò7nx¯D»þ¹˜žبׯæ˜2 ÉâS‘¾ýO{O+ìžLhãö‹S,ózó~–á‘¶DilN‹àámsœ½í‹¸ëÍ[öh9nÉTç¿Ì¾†Óf¯*ÊQK:gR06Þ`‡‘° cZTKŸQÿRš8;¸ÐÃC”ôÅo1aÞäüDp†Ê°ÏDiŒ}ñ†Q™ †x³CýÚàÒ09itÊ‘}¼×Òðh—_³Ë×÷ÿ-Uo› \ªN4¦†Ï2OÜQ—ÂY1ÑËÀvàLf^1YqÍnVŠ&r@VÀá^Y¯‘­·|ë‡S+ëÞˆaoz‹†„èZÀÅä '>¬ûx\|dŠU7e³É;yv4RÍ£3sPÒþ‘b%òž(+Ñãõ•7½Óa`™˜}2Êéõœ¯uJRß,­ ÃÝ‹ž‰ßà %%à©Ó%ö'ûBÀgúŒd€WÈ}üí—"~öGþ8¿²ï¬u¦dwŸ¼0 Ñ1L×$$þ";²–-){Òëfó–8QF]Øšˆ‚¿Î¾Yò\`mŽ'ÈIpy@à»·–W3dl7•y#DÊÛ®®qø8¢ø? „±AÐo\5¶ È~ixÌȵ¡qè`E£íj†›Ô=1“_Y…YK$; % ãx:31ÊKì­ D è¸wéÄ{ííïhõ»[XOÎ1»wGˆIk*S¥œÙ:Â,4£ÛƒqwξËóä+‡6 V Z…Vd]³)%Îít¿£ ¶„od‡Öu±Ò=;bQØK&ÊЯßD.“Ïæƒò¸“WÀ!bÒW~7ȧÒX ùi°% îôZÐÀp9ÒýË^ö¥© kĸîqºÐà­ñÒ5 Ì Šò(¦;ŸÀEZÙèì÷’eÒM2¸š|†JJ¦}’Ÿ«°SÕ©MpS™ àäR|EÔ+m€wÙ]‘ÿÕŠóo‚}+–hà­…îzo¡àæO7ä¶N@ö–à‡ïX©ö³}nò´jÂzº&$íÈ™;ýÞ"­åÞJ¹€4ç_eˆä˜Z-]ŸZȯé!5ׄÇÐm[§¸²¶b^©úð”kþ'ÚkàÚÏ’¾×W|$×– ñ|¹5Âß9¤©éüP&Þ’›pû¿Õœ—0±º4bÝ@¸ô}5êJ1SQ0‰X¸ PæÁJÇÛh×ù …í&i äB9s~`ÓLÐvbøf3…¼Ze’¿¨¶„Ѿú)´ ƒ‰.:6‡/΀?Z@ ¡‹d µZ´^È‚‰ë>÷>H¬4|LöˆÍ¤Rm‰®?<@í{ò÷ТÝ]x4Ÿñ2™™k4Q±¢Š\  ¾÷äí Qs–OvreÊ:â[–“³¦f ·Bú&ë;û lê*¡B撚Žk/G̬ò!ƒgåF×ø‚©…Î’V Bc4 pøzô"¸˜!ÇÔI£­•„>õWÇæ,£lãÐâò‚"F4 t?FÈßõ9&?–¶­3È|¬,~âow’¡¼Qq›VÀ#Z……@X MHµ^——ÄÁ]UUE«²;2ß yç›sdl½î逈գT\H†\9U¿#ÏÍi¹>ä}Ñ-ÉÄÒ¤¤7*L¹xQú%Ý=->;ò¿rýá*Ñ‚ªe h€ÐéŠßÏÁøß€»ª!=h¿܃¸5ÏXP¶lý‚Ä€Ó‚ÍŠóÐ%øÎàáþâ¥k°¨Œ)Â<)™û`Qhá^× <»€fß¹êý‹ñ—lneüÙ6ÏżºnugŽzŒU!"¤zÞË{ü)ß(€›°öÿ{ÞV>IÒèúpãOg2æ–ô= ªÛwŸÐµõ‡v©à³·¸µ†]QÀžä1Ö¦ú5{«¯ü¹—„÷˜¢Êøn–·µÓÓÐÙeÊ|«}x⤠u¼“O#}é™Ê€ð¼d v­󦿍"g"Õ› êѨDP,†2e÷‚¤µÅuÆcO’, `y9³ÃË$'`þ`fwks~ÚÄNéJóЃ&§x.–’`´¤ë¦á7—+Ëð$^C)> %À„ÝÚ&dW½µÿtÜGÑÄ!3dtqQSÛzso‡ðñ¸mjYÎï]Z7æ¸HÖ*Ÿv9Ô´Å»BÿÀù+$“ÄŒ×s¹ÄˆM·¾3õæÎÉ…0,´Ãj&hÉ0…‰¤fä—îÆä²‚Q«-北O?{€¶Õ ý× Ø¼ZêËŒñ"ÒªpA`ï† KúÂJØ* hç5A˜ûŒ_dzô\‹¼S/gÚöÝbà4+½ÂN»`µ‡»@ð4!=.¬ áœYEÿ¸êê¹AR”·AôîÇþ…/;©dêüΫCÿKG¬Ês ÅÈÈâ׳ ¢«s¬÷»-ñÚo16wü«Œ†ÔÇ fLs–Öï§§ú£ÔXÐf¶'îW‘e4±%çš¡¯ïèR@zq–+ úiú{k©jTÛiEã|‰ôÐvFK¤lbñFæOHè &O#ôí9N¡½Š5šàrPÌN‘ (&)KN@ýxôJ¡\”ëùá— [š´ ­=”z XâÎtBšß`š½O!¼P÷‹ÀaPb¥Hm º­#Ø‹ò“L»Ñ),¦§U¾`îsÇ –nO'Âÿ–f€ó¯¹&dóA€ØÞØÜþ*xÑëFo2‡äŸââ4ã”Ì#¤ç˜ù™[­Œº¨¬îÞN.ÕkàÿâQ+Cfb›ÒÖPÅ3iÌÖ*Xâxú •Nßßd¯%çç€*Ò`•—ùÛ°õžÃÛ0ý–ª?ZX·yWŸn¶H–äüœüõY´—µÚÙ»9ܤÊxM 9›ð³Uö'”E{G¢±WuÒp%+X«Sí‘”MÊ÷ÕîìÄÔ×-ó&C¾ïðë¥Ý1O vT7uApšJ D0å†gg‹ ”TªL¾®Ë(âëi¢Hôï "ãýœ‚ÍùÎì%\±BåI>¾ÍòºÈÈnC¤·^Gˆ‰À.sW·®”¯WÂõe¬ýyLßÒ‹-ÕqúÚùm’‹µ<Zr #‰nt¥æŒÌé{)(´ó“{9iOºQù &9V.H’¦¦¬xz.?÷S`«ík.E yêTòCÕÚÊ$_ŸŒYmz[]Å#*Y>P›bT¸žl‰7÷“=¡¡w›9ËÔ™„ŽÏbˆVjðIÿ£ÁÇU‘HX¡n”æ‚;÷‰KJXmÜÑÛ匄”†÷meRúÑ]>,©8pÒEl¶N¢§™úC‚@/t6”á×Eƒœ_MMÜröyjå Á‘ªŽNç²c}ƒúä ¡ŽÎßÎÜ·NJ¡ŽI;Èò´•øLøK^è[ÏQ ~ÈZ …aÍÅá5Zo5´Èó !¶‰$é8.2nr½tå‘u¦S öG(!ÿ\S©ª ‡³[S\ð™wú˜ësì­bhTÞç•q¯¿èf+Æ+GÐ7:ÒÊ%Eöœy> {{ìNà¿ØÓï5À ¬$<+8…¹¸;ö„ócƒý—53lBUþ…Ÿ]¾à„ãÔ àÁg>™•Ýò U=F5=ÔúºÐZ¬ÀÃ*Ì[Wä3h’{Îúȱ,ÔÜIÊxR©°›'ȬËQD½_46Gøê_—öl åP;»uXÀ˜'K=•‚u+U¶°q¥|¿hÞ£TS£/ ¹HÜû,•Jš*®àRe!5&¨l'aʤNÿZ—rÕ¦KfÞ…ìœùù•Eh6ÚgÎã qDñ²C:ëƒî2)Gy’_YóW‡cÅãÙˆªüÊ7hkíW"|ÃI3ŽqßqÍ#2þ²·Ì`D¾UÈœ û ¸"ü rhr7§ÍS×u0!i–;ˆÏÐV,7ôŠ2ŒeW¿ r.â,‚i¡øÌsɌՈ§ã¶™È³ ݈;êé²Ð-’ðh{iÔmIÏfð¥|%6Þ¦ ÕZ;„;7á¾dQ]Â2Y÷]z Ôáb)6ò*ÙüS‡ºþŒ_=^¢WDÜYÏ7ÞžØ}_‚ßA¥7øýè'r£zéÃÏ G…Jœ÷¹xð­RïÛ¯zhŒ8p‡PtNC,Fç«•@àp7úNlΑÀ¯&ùƒƒJkŽÝçàvß°zN—<¹hÏk†n£Ð5<Ò‹(èke©Y‘š¸ £¶#vë® áÐÃ5 X&wr·‡[#Õ;2…&îØ¿øjŽ&TL­@9¢ùèE†šÑ‹\&g´†8t£4\?íC=ß5®y³mún´é1H»Æ#o ƒž“%ŸYœ +DíE2ˆ>Ê.e… ûÖ$2|ÆWYù£hŸÕÓ^Ùc–i Ø+:I!y›`(7¡ ¼up¼vðî‡Cä8L‡èRäGÈà„ßÑ_u½xSî´T9Sv¦ø5ØÁ²É¼òùÅ“w)ÇÖ4åk;š¸ ì6­<åµ¢;ÎÁ¼p¬R~:¹ö%->Üî#=<2KæŸd7ßoà÷8§ È©+E,\!!×î÷ &Ò ¹œVÒÕÑO¼c¢ ¢0¼þxR( Á'A‚ìÀ˜Ξ}÷E  ('K~§ÁGèó:ÆžóÂ[çéò†àÛ'{µËÁ¤² ©R¡äZ&ÝÞêSG…}è³i°µ”Ñe†nŸßYf¨®OµÅO«š>¦Þ3XkWÎ Ù¤ñÀØ¡4’zƒCàØª)‘˜äqZY+ |Êì•(ÏÕÒÃ#XCÖ°äl¿²…†õŠ· v82±&òE’ª=ísE$œ…Ñ£ÍÆ·Ñ+Å É`wO+ëÜ‚¾7…åcM^-5'¼"ç<]­ â2§g¬uÓ3ÅßZMÿ•¾°%rì:ª#S/šÍKo+19È ÎÉP-¹h@YƒMD#0y’Õ€d$â‹Ð7kvœ®“ßÿu·—U=¯QB»\±a+>ˆ}*Öç6þÝd5Ö¬8j} ú.ÉOdcÎKÜŸ ‚ÅürøüôTÜö÷¨Äæ ÊÒÛú™¿Â uæ†õÍÍN}ê”uJ¬£‘Q·Ñd™Ü/Þ\Ð.h‚ÈÜVsÌ÷Ü$;“wB_zÀ^é¦HÂ?v–S=ŠS39„_šôúÝœ§×d5Å!…ç4´ŠMÙšm͈qù>ž}UQ€Ñ]¸Xß\é!&kׄL›XíR]ÈVÁk=ÇŠ l´]IkJh!WHª`VõeãýõçXY|°ÉÏþI×ãäàsø8 tGñÞ§5‡ÁðÊÉ ¨°¦ö#$\eøù¹20ùnc ¼ˆ}UPÍüÀ—Hú~³ñfú)í³èÆ<Òæ»Ö\l²ûï>N°È›´ÔE¯cý9X#k´ûÒÑçSé•/±âcßÜ\ÿdî0ÌlþµO‰æoc'‰È!ú9(@Ú‹¿”àí½…ʺv7bt:M»(DÏE{¨cn\¡@çYÃ61«ðŸe á ™Æ 0´³m Ëï¬ï‘-[©Moæ$El#ÞS3Ì‘ú¤$ÁV·ðÙÊJÖ—š>M"± ùÌEóÅÎRöҪ~^Z×ÈjμËqÖ½õ¨ ryl“¡o9ÊG€}Ò¸:`'Ý,¿ߢêp³LGCØò%OëYt€¼êäi» ˜×VAPYSv ÂÇŽé•bœ”Õšfî"ž‚Ëûe_úQ<ÝFÓ wøpõú7P³:û`28ß}ÆvƒªjRÿ¾àÔ¶6²(â5£'ÈóiUšÜf]øOߨ½Î DȽÊ':“¸•è?Œéûi>7¼jù;uÈgAYv§-Ä:Ÿå°µ¢éoàùÛ¨Íì’ÞåŽ ¾-9(æv‚L~’°ûRm'Û¯ cnšS[ŠÈ‰%ì 1¾›rx3µÊŒ¼Äèdtf®ä ò‡* °¤™{ë+w‚P=T2DÀl¢áÜZT¤¯}[x9T9`ÏŠ¢ O“~¯â:fû½Ù×·ÀýçÓf©ø¥ÊUCöº½(Å-À¹Ù-Œ“Ÿ` 6°sûÖˆ ·£|„] ÃÐŽ9óîA³WSÝy{5Ö”*‰×wC t†unËWÈǨÉ„!6 Â®„‡0\#Í_5‘¼$Uú˜8´ lªíÀXÐY Ö;#+°䙡îwpö%ØfÿyFHdþ±„´Ë!a}2“àcú$`^-Â[gë>—0Ìrâª3ÃLt}:hùC%£bØÍœÄgû +’¢s¬Ïìå‘L >É–|A-L:ýý9B½ñÑ `µVÑÝÞííg Eo}‘meåÏ‘ç[A”Ô6aW=Bô 5 m¶Tµýè„+@MÏa´´ÕÜtq÷1H*•Ú<ŸRŠÃ­™–Ç~I'è ¦o lܬŸ^C K/EêìÀG¹´HO•3<îKýB9Fë¶Qù™±|O²§ Ôÿø¬ËÆ{nDZÆÜÆâMwü¦¬ —]-ưbqU—Ý+»ùdºßý•TŠn¹ÀxãA½•«ÓÒgÁQ£þ€H?(àüMõ¾­?ÅûÿïŸÐÇZ]¡Ë2-7={§˜¯e¤¬ýU0 ž{ç?‹Ž¿—–‘ »c[}üˆìªs—àõzüàªÿ1÷íç¥áÒ'pîm†Ô6NB½„˜c‰z±Éð*0–ð<ø-‚´g·iR&ÐQhh1ÑbI ¦g²ÂM‘cB¡DÎ*Vd€@ú¿ìŠŽn×¼´Î<šÏ•9gr«Pò À…~H7¶¨;ÔIdÿ—l¨:_‘—T¬ðr 5ªOúb¥˜e ^ÁͺÈ s…!ríba9ï1jŠËEÃS¼b 6LGK63oøp˜jÑØü)5Â5ÌjHn¯k Xêz7ØM=xy ±@y^Ä!)¹gxùžØ¾ŸUrXëÅ~]P‚¯9ÃÔî#JÆÝM¦­ y7ïíLÄ;CG=Tx­†¬g’Œ¿Þ(Í\‰æ”Úr§zlÝ;¥äÉë®.+Ðëæ†èÔaeUIøæ†òËr,‡Æ›\ó ç{Ãû™%·q(Ž]•øiõÓÝ6#Ùwëø>èet½¤t7OçÂ="™.|­\-§«=Ma[•™T[õaŸØCÚdU6óÔ¯U”È]±TÅFèì'Ic )Ø¡Z^¾(ârDEOb»,]rq·LÔ®M*}Ï©n)hkgÜè¢'(§ …Äû ;ÊÄ$<®UúcÅGÏ™^gØöY‚}É×&ÇÍH̲Ù¨ØVxfÛÛ¤ÿ1'k‹~'C †÷ç$8¸iÊLˆ†42Q6ùcjr:`\‡i¦ë÷Á–›^KEM\-çJÈ—¯ÄP—cÉŠ™UX3œ6ð<oŠ;JâH{uÅ×Zw#€Û(êÊoM«c=ÁÉ­o°ÙN¶‚vAxVt‘B’(ÀNÝ3OR$žfÎqm“$¬4É?ð±êIƲ‡ Š¢ïæNÃá¬ÞaCi•§o]¶Û¢ *â¡“î-à2j0`¢?¬–˜í}ŸBU ¾•‹6á£d`Ã6;ÂýËŽÅ,`x½9»rëåÚŽ™Ñ­ø\švÐÅQk¤ô’¯Æö ¶šÆ *Ú<Ë}l%åÄê`· á¶6Ì åüΩÿ(LUõ0öÄ($*NÔÍ=è²@`}q\ëò LüŽÚ”wê­HË3½ ÎYÇ áöñ² ÿ¢3²Üw^ ód œ Ε ˆòD%ž«–œo›lÚb€Æ™Õ¬ ‡ˆ×t~©Òôk«7pJô_ ¸ÎDUŸ­Ù˜9¿R@$ÀýP_#º‡êðÝq±C?P1¥Ë ¢<}Ë# ¡•öš­ ×±Ú T´M:öĆGC™º¡3IþÑêqÁ™dëuÒ$IgûÙ‹¦íÁCç–bEcÑò‘É Âg:K­a§üÞ–Sº½ÌÆËŒ:\Ãл HuÐzÞÿŒbZ··c|¸yfVú]î4BlÀ >dÔ è»ó6 *•^iž¤Ã5ÖÏ{»sQá¦ÞáöcnÄ©NõoBÖ®ûë¾jhSÀå b `—Âïæå•\ÕI°ýmíK‚¬ÁP91Ú,€Û¿@Vþš¹†È[ðº¢e4b®ð[¨w£#á  k~‚™M§"ÆÇÉÄçD·íò›yb¤ùB éœK±0èyÈ*Š¡µ,bŒ•¯“öâW—Ô„áúñ¼nã§îÕÙÃÈ­ž Zåèl7CšR©q{Ý-)By²Y#³žnÅÄ›~sþqÀß²®ÌšÄ÷NÜN/9ázW–ŽC°)šT~¨W¢¯o¾C&éñ“ü«žМšÄÚ ãè>[·³}Ð ßÓWæ‰Ñ¿Ôà x¨bmµÒóFK¢ö^Df˜›ûÆé£ÁÞG]ñÁ`œÚ‰¦žÁ›ñ5¡£WÕ*õÒ§pv2š1¯ÝÔilB)ƒ-}ņÙG¾Lp ÜÙ¹“¦þobŒÿkÅÿŒkg9ëÙÀ®!µî²š!ž(÷ü† èšP U‰NØ ,VßáÈM|\'½ oB6}´”(˜qŠß¸¨,¸u€ß»»Þ'Fæ¼ÊÕM"SO"@6…âºØ”ë|hzp÷ٽʑŠp·l‘ô[ ðKÊ~VÌ\x²F;WëGä2Uqz¹ü#È—´ÌÜ+¤ -°Ži&Œx Öß‚SQê' NÑ”`A'B¼7QAŸé"1¹šŠ…YD&z®”Üì_À“ǘ¥ dÀÝ‹ŠZ%¥ûå§V•Ì´ÚK”\:Îx|ñS$äŒYu–‘ó™5ÓÊ€7pö)Ù.%caîP#«/Å|TFšy ”[TÉ{·Å_¿G;1VŸõÏ×;g[êÕ˜CéÌÀ¶ë¶ù U‡EÂ´ÐØývaާD!FDÞþd `ó¸ñvh~Øî8M))õŽ¥~Ü@[‘ÞÌóÁqŒ À«úÍæÎšˆØÿQ³*fBeó=~"™†ží¦îÉøòÔaÀbóÙF3çèOlkû–š…Æì7‚“s§gÒ ¢íQí@rP1Ûô£Å I0›˜ô×-b[Î?#;þ¨«”×ËV!‹¤jÑY'í†økó+(;òÓr˜Ï…K•J÷H¥l0}yäÚi„»ѪÅ ¨*ÅBb(êí{ϯÚ1ÈUð-äYÑ|Ê&B­µPÁÊ¡ø ·‚@»üö—Bs`:Í !]X:Àçü¨¨ÍZ$0°›÷Yú’?—öïO2º +¨qº§¨å` ¬Èí´,ÕŸáuäô$ƒÊ)¾Üã^¶S$‡)΄u·tª¤@O”ƒGí(>Aíܯ›é+ à‰o­ÓÓ€Ì+ŒýhMÖÞ*o§B¿ÈkX¤ÜªA`šš·Ù@ÈÊéAMœÂ*ˆ´s«Èyk̃Dø¦Â…€“£e âÄu¥ëGVÿucÙ'sdªµÁ,’’û·ãæbyo¡¶í”“–œVêm%±¨«NµR!7.¹à!ÖÓÓ™:`## † _;Ó+¥î?”+APΡ¼Ôùßåž ÔÉ.ˆІÓú’/ê.f3ƒþÀ Â$:ßû0è+dGCù¯ÌՉɠ|š€NŽaópÀŸSЪã§ŒYMåG!=òØ9;h·Ô ^‡jg_ù×PM ¼ìvnÒNüÑ’ú SñŸ_X-úu¢…"4- b°rÚŽÊ…¥OÂðM­š&ˆ+üÌ>ƒvÊù¬ɼ·’Zý*»¼õeíúNn“ž¢i«ä“ ‰å¨ìu·¸cÕƒÄWÞÉäÉI³¾µêoÆ4\jJºð¬ Y§,cöbXÄ î# Â1ýjPHû[ƨ)¯IG;Ù#††Î ³Í 0½ ÇI:óþð÷{xX+¼=*ÎßCµeõ+ÒHój³ WÈÎ¥ òEòÆü!ÈqR¸mëUÀqe·æö£¹Ò¡ÞP8&›ßÈš±•œ ™Å>ëXnž½ÔQz±&#Hli&Æ"_Ò­2›øØl›ìVZtÚÒÍGã©M.,8 £=1¹Ú–‡¥ÆÔSÄÈUVÆòüé†ÃG—vwL9ĺ¢´Ø¥÷þ&ªÖxÑüÄìÍI©ºõ'ÎåÁÒgüTÍø‹TýGÅÐ[ð5ÆL¡Œ:÷_±Ý`~f/EÞ¾o1{²Â;9…¶7Êv榉ð†,ŽGç4›I‘¤dÎÚcÜr9ºé=u.zàSGçöMÀ S*®$¥×B ä\­XÔÃÁqb€’€Œ~üœrœCïü©¹ Ë0‰©Ýb0› À¼‰ë§ §{«xPÆ&Š Z,sŒz~OëqJ`Œáe ã»æ¬E-H³7Àr#žÓ"(°èv%줩”égß)ú‘ÐOÔð60 ]»ûà¦u©>*&É/õ…Ã:ÓtÓq––舯ÿƒÕ]@²hB[Ý›Ð âø­~÷ ½‚yL^nò`,Ð78âù¨aZiS›;t< t;z±?-Ç!Œ]l“ª+mçÅúÚÈ 9EæcN>j5v5ã³? ·{¥ ÔQW³ /ÀÃP[ŽßG °:Ã^ä÷¿žû¸ôÉ^rÛn•¾‡:Sœ+°KmÎf³÷²¾FHñåÈÑlšÓ0%º‘p¿ËŽgµÑªÂ Ãxñap  z¤e·Žk»’•ºhÓMæÒò³ ±´_K×ÜaêCŒ­2£yÅ0H:ÝõÝ wíQê Hí€äW 2vŸ‘¸Z¹ìWe5!æ¾#¾DœH=‡CÝ—1ÝtÖA‘§ˆ..ÍšŸ2ÂÏYÛÊV7òp§}!‘éÈAidRó'Àõèè´"ˆb"óa‡^ƒ šT|-±ö‚зP~ÉùÜ]Q²õm™üo ãŒw° úIø×gpÉÍ-ÌfN]»dÞb« ÿÕ+4¡#òˆÐ…ãwÀ2ŹËàÅå?ôíIGuy^[òaœØ@ÚaR6ó]Ãÿ1bJ§Áç› ¢Ê"Ë`e@™ôMáûVˆ¤_(ó—nº(¨D—#ÉK>b’¸d_\Ë(Á¶;+ÁÎâÚú8E3 ÓÐNŒ2-º¹;ƽ6Dûí¿WšîU¬’ ;­žÉÉRY{~ ò¾Lú á Âåë‚ñ툓N¦¸èpLfÖ”~šݲÀIC±ìïÊ]»Gî¶±hº&,aÔ&6¦à&ÛÞ*w¬J†ÚÏ3rŒj-.ÁÁ<—í†G†ªÑý¿±~p˜²63Ð×Ñw¢\nª"¢.SÓ¼æóXÉIlj°;úK0¦ ¾ÿY¼åÚwªgw”Ì^8@m8Njý8…ãëMz¾¾¥®ýØ KÐ ·‚ó{ýþ´H3Pb…«ÖÅ〫 ¬ñÆ—«‹ãöç =}“0ÖÐa¹)»á9W9Žá±ÿ$ß+duÍ-ï5rF…—ËöIºj ‰• oônì¿oúrÄó½z~¥'Й²÷·V ùbæ/ÚOá×鸺IW™ÇÛ¬w¨–ì¹|‚‹€ãRÞÛg‰ƒ;fœ)f«ÐÃ-Iíl— À äÐņ³(•Ëû7ö°©˜1þƒÑ«z§³«i¿är%©÷Q¢¦ƒ¤”ýù†¹œh†ŒÂe`f 8"Û»M¬ÈlR·åäˆB0Ðíå¢l®³~'QŒFZ^ºv|ÿÜñÌàñ…M`r¿«0é=Äíz~¶£ 2ü5·’Ü2[[†±ŒWÀÄnŇë3zÓ\îPÍÈ -,%ÿ„ã ‚ -¤&¢M‡D&abg“6%¿Úgôƒë§°dž ç9Ò¹¾w•ÅÜQ¤k|ÆZ¿®»ð+°&—{¹¥ûÓ’ºïÉ׺wóZØþûv%3™ežðÛ´]ðׇ78wØF'ìž[ó¯0 ýœŽZ¤fýY˜—6d§}·r•õšê„U°¸Mý¿,¢>lß4º"=/ÙþYÍÚžýND8ÃöØ7‰6 p*éëá–¡r¶y%H­„Ðó)Ÿo×íO¼;Î]£#Çl)‡,Æ¥mš°ÃRËx;Ç^¿[ñan½¶¤ûiUtöK,Íyiﻫ %¸„r˜ÓpMïÙ‹ÉÐ¥Ò¤\ ödcñ»ß«4&ûÝË?ÄªÇæ8„žË‡kÐH0Zdì³YsêVþÒØ ‰Ó%·fƒ’CÿÓþWÇ:¸å³¬›ÑúÆÝÞ&ø\¨Pl-Rךš 6oð!¿ a>]Ó¦¯°O;âS/¶hov˜ví;ôìl쉑‚4“£«áüˆLhèxrŠågÒŽ„_½<ʵ¥ …#~0Íš>.©íèõ¶ï÷Sƒ«6Úú«!P!:¬°Gt³dèÞ ›µóûnªãºɽúIÙðë"ÿjü¾ 1£Wð=ÙI9÷C0fÕwI d3¾{›¨˜û¿Ù[ü J€vçÔ(Š‹• w *F ‚Þ]ÀCºÐ~ ñ×íÿmn:µô9iÇ…úMcƒLGÄÿÖ6ùqSUbï!veeVáGûŠýÛÊ€Ò †ïé«—ÏÓîôB4æãŽy_‡7Ëâê>`ëÿnøÃÇ|½_Ψæð¿,/¼Ì€y·úÞ•I‚;À WêEm†À'©að’ ;Õ’Çø,|üBókË®ÉNh¦~m—­ý\Œ”›šÇ»èx µŽŽ Cò—…À´ âJ`è3ÀP/sçÌÓƒ5†5‰5Œ5}Þ•ôæKÎ:„ñîMìV~T×yÛõf ¯ÒÛUh Á¯¿Ò|8 v|€6>ÚÁÙ÷啿Q³æqe¥(µDÂøéØÌÞHÖ‡šÃÜÿضÆ#a_¼5¼¤B²$¢0²ëÁä„_Èæ¾ŽÞ_$àVòzeaöϔ߀Þ]ñv•{Gpà÷ÛÃe•âVã«yáUà©  5ü–Ì`ü²'ˆ§IŠäÓìÎ6PîâŸ=C÷â* P›ÔêUêfòþZé5­ò‰„wój÷ÈJº%þ4Ɇ\»d!ê¬0SÉÁ£É§Ž«4‘\á1Ø9¡,×Ù„„^ÌÙ{Êâ£åJ¾£ÅöWÙê%ƒÂ8ßFh CØÆÁ‚ë‚ßúòº)Ø+i(¿Pzø&Gç)ó?þß *Vk»"=½"í4³á ¾ô?0Îʦ2´ZšX\9J¿Lg¦2eW¾Ùas‚Òù¼uŠŒ‚*æB¸Äý³V÷æL«##LÊfðoÜ/öªRÀ–…°Ô—Àd·÷rÿ»:Òq-ÍÝ·µ·ËÅO $…úDNÎ帢\ƒ¨Ê6ÿªÑó!ÚqjׇrñJûoicôá˜é7Í ²ç[cåì×kOPˆ”ïØ[]ÙBºç,ê3a”‡c'bL)¥)}¿'d[_#1sQ{ÊD #nž¬SÇB™4^>Oôµà•BéMñUé»—º3N̯ŸÛ𿜼QõNy±|íô90%J½£Yõv¥ÞÙ“qÞÀø/l“¬(öž ¶ïÑ(àTb&wx€Rå6AJfĽ˜D\Ò@åF5îà ²žÆ7Z 싼ö@¨Ì}s-¯*zG/¤ºÝ$~Má¼ÒùÞùºùvølÿ§²nÚ,6¾¤·ø3Àƒ×Uàà /¿jx”·7çüMâ¢zG¨Ô£BIJ’îà8|…:3u óŽW:0D.ÃFOz‹“A¾HË8ú• %}C`qWbJ±’Ùú2~¿h8‘’û.t삨5¬êñÒ±®´šŠ¸bO”Â/ÎO“¯Àv¦õm™‡ì®s<œ¶©':/ñ¨] ­†ð¡& £¸õhÍP9ˆ±¼ñÔ^XÈKÆ)A§¥¨3UˆÚ =cm·ÇÛ“ XEC½kæm£¶.'†ïgþ É{h|¢KØZ×¢òú2d‰"7ñ;”ää·ÍgQá:¹ˆ`݈ÆT~–Õk¸a¶6º¦ÒÚ[ÂCÝÔNr’_ûG‰ÃB¡ªs°º=’¿hÐÙ ߤ²RÇŸ¡©ípŠø¢+¯¦Ã$€~#yEà*/¬¹¼©¹~®õŒuzÙ¸r`PSäk½aˆع)]Ta­>­’<ì™ÉP9k¶Li5|\JGTJ C=„b"MTÅÞÒl¼÷Ûò}\¡ÉÄKîÌU8~F˜þ`ñdöJ—œÿ·Õ¸üú&Ñôî1‘‘ˆ§>Ë %[|ŒAsh]Yú³wä?g.J~½ qÐÖWvtc‚PÀ‚¬ÖSÂ}+‡f™Ú¹…(OPìáºï3ŠÓÄó©\iü³É'>°TiŠ žÅŸ’WšyüX%¡4XL Ì£M½½™Í;jbBkj:EícJ^¡7Öe§JHòîY•6—MâÓMdè (Æž´™ô`Ê–Ü·OJ~?µ5`C,ŠʈEˆl*~G D÷û¡oö  ˆfϺUY˜w€_ùA÷78±”®¤Ÿù’"‰@ñèt¾¢ Á:¹J³Ô,¡— ¹ƒÜX²Înx‰EËØßá 2Æùlmòª“}Â`S‡P kC±ÌØUo2'!¼‘ 9>L5álñ0^â‰Rˆ›é"{UD̼k-k̰•èª}‡ +w)C{™9[SŒÍ®¼iCRF‚JäÆUl¿êä:̱ªÅýu×ô,õ¾çi¯™òóó Ý`>ýŠm@ƒŸ9+ç¾…³Y~×ÞDþP5AUWŲѰ E5¾°^ˆ˜vÑó襀9%«W×b-p‡šwxÂ|Ûþ)-~˜,É^»$'‹VÅaÎóON°D9¸Ì-B¿A*œcŽäÚVßÕ­ èeJ?´PÐ4êžžäDDê pÉšƒ÷Ï~«QÍ;Líd„:‚4&‡dæ­úÏ;ûwp¦ )ò5¶òÒòöœGz+¶¢¾‡%µ#9<X§ú¤ð’hô´ÛÑMíæJ§L|]ÆHlz¯ ôÕø7ÂÓu…ä†XØh{`Í¢ô–ëüjÒÁ áÂs-BÎkÚ_6ýèëõ/ß¾ø‰U!^T½‰šYxk –[ xG@Z ‰¦ã…ñëÒÍMVûËŸ¼w2Ð!zÈ;EWoP\i rW; G¶hêE…>©‚†(>ÙŸoøà,±líÙçpMY÷7t‚­sû±×<»<Å“‘éª*‚Fd7_)ŸïóÔtü× H²Ò¶“Ò­Ž×SJ“[áçIðˆu™†pò“ø9¾±Ðƒïf„Ó͆ç.d_"šÒƒ(Ò?[ ½h»b5~Â…¤/3É{šÀ›Po¿-™ŽÏpê;]\‡|Ò’1ÉŸ\{=å*¯gx ¶_"뎈޺êÞ‰åt¹‘9¢€"«AáD,Û·ÛXh#¨¿[¯EµPJîŽeÙSYk•+B‡>8¨¸>Ç>°¿t[æ¿We]Íçõ¬ÉÛ¦ËÌo­/} 2s9±å/> éÝsee%0à3¦ÞÔz­ÀìÆL<¤Á/¢ƒìx9Ж¹Ñ­ûêÖæ¿Öÿ@‚² ‰ú6㘇^Þ¡ÎæïrûìÄ×óK½‘Øg€àóöú ’‡°ysÚ¬VvªèQ+AkÊyºÛØ7nkóªäÇ2õ;©Î±€rñ³¾…Ñ£ÇvZm’}¨TQ4[hH¹‹ÔoV‘¹˜4Êošì2-ñŒüöÝÐÝ¿ª0ƒQD&¨kLÒ­$õÊ3xÿ?­N¸Üi÷ƒ%ü¯üàëhëž…|hœ­üjq’œ¿Y釲ôjq~^¦ØÄŽ{f<–æe)àQ¦NåÍQ•ÖW°n×òO¯ïŽý»èÕû€­\3Ñ £÷;ìÚâó§ ‹/(,èÌ-剘bÃ~ÅǑ韔ØšصÌåiî^¯ÁU7S%žTè`žr…´°þŒdÉû ù‘;Ôk+ƒ=^ìàµÍ0…Ëì¶…sLì9iÖ¾V Ù;öEv Vœ¯”¬À~¥ÛõÏu°áÕ®'\Hµèਇ«þeƒÕåûbú­é²¿"èT<˜‰Ûqî6SJ’z#v¹¤"‚„íHš9põÿz« Û˜"WUVe½e¨´?û¶K$mÐÇÀ”æ´<Ã:\Wïlõ/†ÖZÓ¶=&–Ó æuÖ†ú­!@Õ?Þ—Á‚Ò¨‰ãiŸ}àˆNtçûŽê„¶ ÌJjº5ŒÖ\xx$ê¿À @’ 0(|c>PøûºÛL\Ý fZØNnèseàÁ ‘µ7"~ãŸmYöïÚBÁMÍûò4/*ƒ-UŽò ŸëÂågíûÇ‚Ž5š&k&<ûˆ¬}ï–íãíIA롱£°ô:Ú`<à¥;øÖg«ÛÓãÓ(VYnp>z¥²>$ýÖ (Õ«_g†¹!Æfª’:»Uy*ÑtîøE!QôΈkpY \n^î¯d§B©©S.¶ì\ÿejÉü EçêS”šª¯›Nd•j?¯°`°Ì3hiÕ‚ä€ÁÖë…<4y¼i-ž“ñ8zø,^rxnÐsŧByÔ¨…à²Á§Ù†{3sõ8©JoÂüúU{…êJþš¬ <Fê>†üÎôêÉV53äªíßè&” vÇœ½K¢ Nó˜+8,¤”>5‡U¾ý7Ü=á|&ÖÃI…‹3ñ1>W±{Û|q¼CÛ12öÜ£5 €F±ðy–K]|mlú0S³…æ~@¢ÿ_ßjyá4JÆ×ÐläûF¿;hE2Ø[~_kZPçHþœ¤2ó¸z)*®›=û®ŒpE‡Œ0€O§G!]˜tvT?B"–µ²ùy£ɤuþL*¾5w*9Oúaîþ©c2»/2ïïÏHf>¢¥Â¢ÎØ]à(%!h§—ˆšÏò²BÎ% _Ú–;¨u‘ù-LÀÀˆ¼5k¦lô¡ÏÆÑÄNÒ%sbþÚÆùÉ®ö­]p¨£(œü¿ÙF'å;߀ÆjV2Áyƒ»*tÔ$NžÜmq„¿½Ë÷x=ÉŸ~”}øfL‘âÇâ¦W?X÷“G›ôœ ¢‚¡Q‰†Qîɱ’³ÿ«¶ÐÓqó‘6ÿî V¾ÝQÃ_É?À>(䈻>¹Ê>æÅÜ­vðýêžÍ]˜ÁÛ¢š©rKXƶß»àÎü¤:ó Šíªj47<öY“°Ö~ˆõEÅÙ5åSâK¿õto°!H ©¯R@HP¸§*ªK²aG½ €æéëÅ K@µ‡YŒïšÛdÅJ»¹WÚ~0v wœy`Š óñ[¹}¼EɱʧžÙ4ók&É7©>5°¶ñEI’…ٜڑ¢üköôn‡$ÎÞèoÂtÜ]A –#ÿ›AĪndÄLI‹îæÕSä=«=‹øA. _{¡ñ\;¡õc_äOXå¯A"ñn›­mW! ß½¤/–3×#ÞÓß›7H|XwïAe$ÌTaí^æeÏ+{¤ñg)×øx̆“Û`ÓtE¾Û΀ú5ç“<h¶QÂWÉÿ\ÿC·ÚÜ[£ü†ö{ÿ¤à_J&·ÿ/ç>k¸4Ò²¦Ø'þ—Ç ¨7ŠÛz˜UدªùåÊÇ9€»~ñ*-4Õ ïT–n!è O>ßI;úhuUûX‚¿vô¢€Ä/³”yˆˆª`Í6'™?¾Õäñ“á¶}WÎ1±žÁ»¼­#5½»Ùì„O­O™dTu×ùÒÚÇ‘†êõµ“Ž«o÷¼»ïï´ŒÁ'Ìe’$a\¯Éa7Û Íä6ÆO…qÄ­É9Òmõ… 9©ËÙÆQ¬¥Å“›®ê—Æ­»L÷§JîšZmDkvtv ¥z˜³éEë–—*,ùâQŸé£ŸO@€¹±Ê¥Y"v)éHŽÞ¤gðU:õ¦Lc/E³Bæ,ÀÐH˜ kºš À™h’õKfï-Z˜¨‡‹PU^ÃKh;Ú?²»ŽZñ¿8ÎX_3¾µbgb…fÑ,Ãùɼz‡É-)±Cd)è.4¡¢Ã%ÜP”—¬IÀHE|ÔùÏÚ¼¿ÂD×/ašë›ÁÅ“ë0ú¼óÖœC×&Õ}ª9¦çã&ZÿÆ›ëÚ4›îh“Å?3H¦03Ëý{×5öTñáœjïãNÙ×-wn¢®fJ7våMÿä«hxFdÌi_ršmw£ðB'à>[%Õm.{—5þAÚÈïx©át~Ä6žóNòs€¾ÛÄÙ€`ú僠+e£×.›°ºwUoÏoÖ.ÔŒÉòe OÆ Âé¼±ÿÚLÌp“‘Ñ(RBp1† /5gÌÚ2· ôÆÞ÷Àsc¶ù%ô úHºŠÚÛŽiÃæÄ‘ÕpGŠN"-ë÷µ¿Æ9KU{[HäãëªÒèÞ-®ëÊ@ÞG×”½ÊÀJM¿ýÔ–?<Ç¡­±§˜e‡¯JΉÚWæÌ‹Q‡X­ô«n:6gréQ°ïïz!:ÛÙ–„„t£“(û^7A5HðÓedl|R-â&óC~„Ø(ÚHe³"(™ó¦ŒžôÉþòÙ0¿2 rZ“çü 4˜o†jÛ¶æÔAÎk¬wi{"(é*’MÑÁÑñê°/€›2uÀÍ{˜·z ±ƒŽ™ßBxt]?ò_6 Zúꃯ“ˆ#äâÙЫÜ „4ÙFß6šLÞN{>Š‹×8nqæ4ÿ˜/tpòùm_öÞ¥~ GáÎÌ¿æî˜hœ(à¨(¯+q‡Œ/ò3í €2a 4Å…ý̉TÐH÷÷l£bª'‘Û˜Ò3uŒ²M­0£©½ØãÒ‘å–ÛàX ?f`x<†Î»_ŠLÙðG„òE]>̲d$‚ʵŒ‡ÁÞš^\i8ì”W©´Š­Sµ><ìc=¿Yþ”øt zŠºxÙ.Ì‘ð)þ¸Dm-`jo¬ì’û¼Ý9.í»‚Û5sþNð‹:Uçé‰Ücvb—¾‰m <±m)àìéy)D"-¢¯ãÏõR¯}DŒ«`W,u*ÕC*ß[Êp¶¸×©YZ( •œÿ]0ÄY^ ó!© æþg<Ç´1Á&jh û®‚@Éż3vªîñ69Iy‡ïº·úà8;Y–燬)û}¡õc0WÌ^<¶ÂϯgÄ<fyuÒíú1­çðHç´8*ýÿû醘~I(î›öÝêª2!Å*Ûq¹ É®m>É‚x#"î³7ytÛè/¹çò šíÐëÓx28A û»ÄÅi`§æ‹•„'¿Rë–ëY°Ë ¢‹ÝÕðÍDïRí]äw@£s3‚½ÝTýŠ»2—8·# –r¡Ç£Rœ“{1¢*˜Ël’D³'4î¢3CE¶¦N>-ÜìÝ´ ÐôSs Y0 kð»J]Ý¡ùô'™'¼òÂæKçb,/Oñ1íÄzX½, ÄaœÏ¦,ªhM,Í‚÷‚$¸£‰G‰ª(¥Τë¥6Q¶zak;V6’Ó¹@WÊÌUEÁ–Äl³˜Ä 7WÖݼذnÌŽé3ÐígveÙ£‚e(0`1_¹`äi1¯ê’˜ók¹ã3©Þ¯Þ0Oɘ£ï„ænµÞ%Þ3úųfͽÍ/­,,òkÜp×<§ªõçq Zqm¹÷3ýþ-I‘å¦H|$£®”ê䯒åh ³ÆxÁ8aÔýbx40LÄžÝ똄‚i9]­¡ä"ÖèjÍW*à†Ù­Z±(¢j\ò—ö€›Ú¤¾+ouó9ä}6DôÌßðŸáHª´Ͷ—¤ÂkÞ4޶ý€eê÷`¡äú¨ò¹™¸×zlÝÜð.=8¶—SÂY¹Å¨Ú„øá®¿ó3J¾°ÀdM<k+ð¨n¯9²'^qLê,>Óº±œ0U‰ïƯÀ7R~²-ÔMÚ=BRx.—?yÝwíÂ^zþÎÝoÉ=TÆ9|+ 8MÆ9îÙ‡¬´qs·*Jû>Ã2½©yk­ ¢Ç9ÝO<ÈWÃM]°ŸÜn­àI¸42ä0ºÒ±IÝtNJ´°§Áßÿ¹/~ÙÇöì¤ò§ïaX. º5Ój aþP"Î ÊÅ2šÌ?J‡yvéÉöNݘnðë#¾´u žÇ”Pãe Ýkf•áPO¨~½š½µNîÅi±ßGúÏžº®È<OMt‰Yé&… Juø£Ý+1àg+ ×, \¬Eè•J[Aª#DwÆbÚaÊY;ï‚ÌÎÓ ÞS¹ªÈŸ”€ož’Űm팴“)äª`.2…!pp¦Jy:NðÌw4ÙÃà@ µ{0÷ªW.ëßÛ¶Å›â´ÆÙ›vñ“¤2Äaø±… a9ç¯j²†l3ýñÛf’a?Üÿ‹ê¼ÑJ þQþ/}ijºÊ[œQ—8¹×ü-½Å04½½g£d+ñÔ «¦E²„ Äò»9Cää•ZÌ’Û’˜p·4ôa[Å‚¡RSÄšÕ©Ú‘œ0ðô7(ÿ·ƒÇ¥ý[É®Óp–8û©Ç‚…÷:-‡ÊŠùÙ¡µµê‘·Åß׌¢° îÚ¸-3wŽe4®%äšÞ—Ëìúy›óùÔç°û§[ÜÎ5.”516EÜBho.ÏÍ5‡s8¶2cúäS Œ9²'¢J"3²ºs§§ížî Ì‘<‹›Ø{¡ÿ„Ò¬Q´DCöBîÁsþLQ»ÛÚíÖ¥Âë8{ØJ)=[Õÿ'fÑa½b?eóC3:~™ƒžê¦ëÉõòLlÊuɃ§ã„jPñ1-k“⨴¸Ÿ´#ªuÑ!¥‰~Ò]7Ð0išZQȳ;B3þzýKK¦'wÑ&3¦Ì3Îý33Í×t¢UÉ-¦j8=HÐó‚«Þ9é¿–²µºƒ¹Éà  ^b¤}ç„´fô@TðÒw.£:ÙFF a3»{6÷Û]êÿÁÿkøîîbÙÿ\¼\SòÈÅ·3,l½ƒ+Ã¥5¦'$†´Í\ûžÉ£º”Mö&CC‚û)Ëó'œ<´‚ä—YJYc„"-mꟀÑzžËæ׬ÁŽ{“æb)~׬ï‹ý¤8öòÿ•"MøVölU…ïQB94ª%œ—©Ö5¸¹ Þbx¤ÛõxɆYÿ,ç;k‡Û¯¦$þ”¥7w˜sWñ¼8B|¹šÒzªäèÚe“«fjwÀ†°Ëk‚ý¾Þ+ÌÚ9=Ƀ˜§2«m•Ë$4^œèa¾–]1•0h¹ª,¦_x10uÁ6]'àƒÙªZŸjYò”ö}e—Ì].T..¥U8E“ja8 {òãCµ ˆ*3bQ ö×RZŽ nÌ_A¹ôç½— a dþã´4—Õ´ƒ7Ç‹eÜ×0w‰¢­ «%µ-Û—p8`ú ˜Øpþè8xغb.- ªûz$wq¢*¦:¡}±f^3ÅÅ!†±Í©ïæ¡{ïÿQVÿb“»Þ€˜¤2[œ’å¦3]€Ù\xrÁ‘öQ.R8b0ö…*nñçd±4ý6ûㆢª ¨%²-Ø—mþ•Øå8[3ž}ÂÅ®ÍæìÿžŒÇ8Ê8Í8Ð8Ó8Ö8Ù8Ü8ß8â8nÙqÙtÙwÙzÙ}ÙjþPxSxVxYx*-€¢ƒ¢ ¦ ¦Šæãÿæÿéÿ¤ § Ÿ%¢%¥%‚*’2•2˜2›2ž2¡2L3O3R3U3X3Ò—Õ—lÁoÁ¿ÅŽögmap-2015-12-31/tests/fa.iittest0000644002622600023770000000020612567632007013131 00000000000000>A 10000..20000 FWD Annotation for A >B 20000..30000 REV Annotation for B (first line) Annotation for B (second line) >C 30000..40000 gmap-2015-12-31/tests/align.test.ok0000644002622600023770000011745612567632007013557 00000000000000>NM_004448 Homo sapiens v-erb-b2 erythroblastic leukemia viral oncogene homolog 2, neuro/glioblastoma derived oncogene homolog (avian) (ERBB2), transcript variant 1, mRNA. 4624 bp, mRNA, linear, PRI 20-DEC-2004 Paths (1): Path 1: query 1..4624 (4624 bp) => genome 109,781..138,442 (28662 bp) cDNA direction: sense Genomic pos: 109,781..138,442 (+ strand) Number of exons: 27 Coverage: 100.0 (query length: 4624 bp) Trimmed coverage: 100.0 (trimmed length: 4624 bp, trimmed region: 1..4624) Percent identity: 100.0 (4624 matches, 0 mismatches, 0 indels, 0 unknowns) Translation: 2..4006 (1334 aa) Amino acid changes: Alignments: Alignment for path 1: 109781-110091 (1-311) 100% -> ...6678... 116770-116921 (312-463) 100% -> ...1179... 118101-118314 (464-677) 100% -> ...783... 119098-119232 (678-812) 100% -> ...360... 119593-119661 (813-881) 100% -> ...204... 119866-119981 (882-997) 100% -> ...138... 120120-120261 (998-1139) 100% -> ...1446... 121708-121827 (1140-1259) 100% -> ...274... 122102-122228 (1260-1386) 100% -> ...2837... 125066-125139 (1387-1460) 100% -> ...86... 125226-125316 (1461-1551) 100% -> ...203... 125520-125719 (1552-1751) 100% -> ...361... 126081-126213 (1752-1884) 100% -> ...81... 126295-126385 (1885-1975) 100% -> ...714... 127100-127260 (1976-2136) 100% -> ...2306... 129567-129614 (2137-2184) 100% -> ...3484... 133099-133237 (2185-2323) 100% -> ...80... 133318-133440 (2324-2446) 100% -> ...251... 133692-133790 (2447-2545) 100% -> ...715... 134506-134691 (2546-2731) 100% -> ...137... 134829-134984 (2732-2887) 100% -> ...122... 135107-135182 (2888-2963) 100% -> ...304... 135487-135633 (2964-3110) 100% -> ...708... 136342-136439 (3111-3208) 100% -> ...155... 136595-136783 (3209-3397) 100% -> ...291... 137075-137327 (3398-3650) 100% -> ...141... 137469-138442 (3651-4624) 100% 0 . : . : . : . : . : aa.g 1 E E V E E E G C L R K Y K N E V V 109781 GGAGGAGGTGGAGGAGGAGGGCTGCTTGAGGAAGTATAAGAATGAAGTTG |||||||||||||||||||||||||||||||||||||||||||||||||| 1 GGAGGAGGTGGAGGAGGAGGGCTGCTTGAGGAAGTATAAGAATGAAGTTG aa.c 1 E E V E E E G C L R K Y K N E V V 50 . : . : . : . : . : aa.g 18 K L R F P S I G T G E T R G A P 109831 TGAAGCTGAGATTCCCCTCCATTGGGACCGGAGAAACCAGGGGAGCCCCC |||||||||||||||||||||||||||||||||||||||||||||||||| 51 TGAAGCTGAGATTCCCCTCCATTGGGACCGGAGAAACCAGGGGAGCCCCC aa.c 18 K L R F P S I G T G E T R G A P 100 . : . : . : . : . : aa.g 34 R A A A R P F P R G P L L R R A P 109881 CGGGCAGCCGCGCGCCCCTTCCCACGGGGCCCTTTACTGCGCCGCGCGCC |||||||||||||||||||||||||||||||||||||||||||||||||| 101 CGGGCAGCCGCGCGCCCCTTCCCACGGGGCCCTTTACTGCGCCGCGCGCC aa.c 34 R A A A R P F P R G P L L R R A P 150 . : . : . : . : . : aa.g 51 G P H P S Q H P A P R A L P A G S 109931 CGGCCCCCACCCCTCGCAGCACCCCGCGCCCCGCGCCCTCCCAGCCGGGT |||||||||||||||||||||||||||||||||||||||||||||||||| 151 CGGCCCCCACCCCTCGCAGCACCCCGCGCCCCGCGCCCTCCCAGCCGGGT aa.c 51 G P H P S Q H P A P R A L P A G S 200 . : . : . : . : . : aa.g 68 S R S H G A G A A V S T M E L A 109981 CCAGCCGGAGCCATGGGGCCGGAGCCGCAGTGAGCACCATGGAGCTGGCG |||||||||||||||||||||||||||||||||||||||||||||||||| 201 CCAGCCGGAGCCATGGGGCCGGAGCCGCAGTGAGCACCATGGAGCTGGCG aa.c 68 S R S H G A G A A V S T M E L A 250 . : . : . : . : . : aa.g 84 A L C R W G L L L A L L P P G A A 110031 GCCTTGTGCCGCTGGGGGCTCCTCCTCGCCCTCTTGCCCCCCGGAGCCGC |||||||||||||||||||||||||||||||||||||||||||||||||| 251 GCCTTGTGCCGCTGGGGGCTCCTCCTCGCCCTCTTGCCCCCCGGAGCCGC aa.c 84 A L C R W G L L L A L L P P G A A 300 . : . : . : . : . : aa.g 101 S T Q V C T G T D M K L R L 110081 GAGCACCCAAGGTG...CAGTGTGCACCGGCACAGACATGAAGCTGCGGC |||||||||||>>>...>>>|||||||||||||||||||||||||||||| 301 GAGCACCCAAG 6678 TGTGCACCGGCACAGACATGAAGCTGCGGC aa.c 101 S T Q V C T G T D M K L R L 350 . : . : . : . : . : aa.g 115 P A S P E T H L D M L R H L Y Q 116800 TCCCTGCCAGTCCCGAGACCCACCTGGACATGCTCCGCCACCTCTACCAG |||||||||||||||||||||||||||||||||||||||||||||||||| 342 TCCCTGCCAGTCCCGAGACCCACCTGGACATGCTCCGCCACCTCTACCAG aa.c 115 P A S P E T H L D M L R H L Y Q 400 . : . : . : . : . : aa.g 131 G C Q V V Q G N L E L T Y L P T N 116850 GGCTGCCAGGTGGTGCAGGGAAACCTGGAACTCACCTACCTGCCCACCAA |||||||||||||||||||||||||||||||||||||||||||||||||| 392 GGCTGCCAGGTGGTGCAGGGAAACCTGGAACTCACCTACCTGCCCACCAA aa.c 131 G C Q V V Q G N L E L T Y L P T N 450 . : . : . : . : . : aa.g 148 A S L S F L Q D I Q E V Q G 116900 TGCCAGCCTGTCCTTCCTGCAGGTG...CAGGATATCCAGGAGGTGCAGG ||||||||||||||||||||||>>>...>>>||||||||||||||||||| 442 TGCCAGCCTGTCCTTCCTGCAG 1179 GATATCCAGGAGGTGCAGG aa.c 148 A S L S F L Q D I Q E V Q G 500 . : . : . : . : . : aa.g 162 Y V L I A H N Q V R Q V P L Q R 118120 GCTACGTGCTCATCGCTCACAACCAAGTGAGGCAGGTCCCACTGCAGAGG |||||||||||||||||||||||||||||||||||||||||||||||||| 483 GCTACGTGCTCATCGCTCACAACCAAGTGAGGCAGGTCCCACTGCAGAGG aa.c 162 Y V L I A H N Q V R Q V P L Q R 550 . : . : . : . : . : aa.g 178 L R I V R G T Q L F E D N Y A L A 118170 CTGCGGATTGTGCGAGGCACCCAGCTCTTTGAGGACAACTATGCCCTGGC |||||||||||||||||||||||||||||||||||||||||||||||||| 533 CTGCGGATTGTGCGAGGCACCCAGCTCTTTGAGGACAACTATGCCCTGGC aa.c 178 L R I V R G T Q L F E D N Y A L A 600 . : . : . : . : . : aa.g 195 V L D N G D P L N N T T P V T G A 118220 CGTGCTAGACAATGGAGACCCGCTGAACAATACCACCCCTGTCACAGGGG |||||||||||||||||||||||||||||||||||||||||||||||||| 583 CGTGCTAGACAATGGAGACCCGCTGAACAATACCACCCCTGTCACAGGGG aa.c 195 V L D N G D P L N N T T P V T G A 650 . : . : . : . : . : aa.g 212 S P G G L R E L Q L R S L T E 118270 CCTCCCCAGGAGGCCTGCGGGAGCTGCAGCTTCGAAGCCTCACAGGTG.. |||||||||||||||||||||||||||||||||||||||||||||>>>.. 633 CCTCCCCAGGAGGCCTGCGGGAGCTGCAGCTTCGAAGCCTCACAG 78 aa.c 212 S P G G L R E L Q L R S L T E 700 . : . : . : . : . : aa.g 227 I L K G G V L I Q R N P Q L C 119095 .CAGAGATCTTGAAAGGAGGGGTCTTGATCCAGCGGAACCCCCAGCTCTG .>>>|||||||||||||||||||||||||||||||||||||||||||||| 678 3 AGATCTTGAAAGGAGGGGTCTTGATCCAGCGGAACCCCCAGCTCTG aa.c 227 I L K G G V L I Q R N P Q L C 750 . : . : . : . : . : aa.g 242 Y Q D T I L W K D I F H K N N Q L 119144 CTACCAGGACACGATTTTGTGGAAGGACATCTTCCACAAGAACAACCAGC |||||||||||||||||||||||||||||||||||||||||||||||||| 724 CTACCAGGACACGATTTTGTGGAAGGACATCTTCCACAAGAACAACCAGC aa.c 242 Y Q D T I L W K D I F H K N N Q L 800 . : . : . : . : . : aa.g 259 A L T L I D T N R S R A C 119194 TGGCTCTCACACTGATAGACACCAACCGCTCTCGGGCCTGTA...CAGGC |||||||||||||||||||||||||||||||||||||||>>>...>>>|| 774 TGGCTCTCACACTGATAGACACCAACCGCTCTCGGGCCT 360 GC aa.c 259 A L T L I D T N R S R A C 850 . : . : . : . : . : aa.g 272 H P C S P M C K G S R C W G E S S 119595 CACCCCTGTTCTCCGATGTGTAAGGGCTCCCGCTGCTGGGGAGAGAGTTC |||||||||||||||||||||||||||||||||||||||||||||||||| 815 CACCCCTGTTCTCCGATGTGTAAGGGCTCCCGCTGCTGGGGAGAGAGTTC aa.c 272 H P C S P M C K G S R C W G E S S 900 . : . : . : . : . : aa.g 289 E D C Q S L T R T V C A G G 119645 TGAGGATTGTCAGAGCCGTG...CAGTGACGCGCACTGTCTGTGCCGGTG |||||||||||||||||>>>...>>>|||||||||||||||||||||||| 865 TGAGGATTGTCAGAGCC 204 TGACGCGCACTGTCTGTGCCGGTG aa.c 289 E D C Q S L T R T V C A G G 950 . : . : . : . : . : aa.g 303 C A R C K G P L P T D C C H E Q 119890 GCTGTGCCCGCTGCAAGGGGCCACTGCCCACTGACTGCTGCCATGAGCAG |||||||||||||||||||||||||||||||||||||||||||||||||| 906 GCTGTGCCCGCTGCAAGGGGCCACTGCCCACTGACTGCTGCCATGAGCAG aa.c 303 C A R C K G P L P T D C C H E Q 1000 . : . : . : . : . : aa.g 319 C A A G C T G P K H S D C L 119940 TGTGCTGCCGGCTGCACGGGCCCCAAGCACTCTGACTGCCTGGTA...CA ||||||||||||||||||||||||||||||||||||||||||>>>...>> 956 TGTGCTGCCGGCTGCACGGGCCCCAAGCACTCTGACTGCCTG 138 aa.c 319 C A A G C T G P K H S D C L 1050 . : . : . : . : . : aa.g 333 A C L H F N H S G I C E L H C P A 120119 GGCCTGCCTCCACTTCAACCACAGTGGCATCTGTGAGCTGCACTGCCCAG >||||||||||||||||||||||||||||||||||||||||||||||||| 998 GCCTGCCTCCACTTCAACCACAGTGGCATCTGTGAGCTGCACTGCCCAG aa.c 333 A C L H F N H S G I C E L H C P A 1100 . : . : . : . : . : aa.g 350 L V T Y N T D T F E S M P N P E 120169 CCCTGGTCACCTACAACACAGACACGTTTGAGTCCATGCCCAATCCCGAG |||||||||||||||||||||||||||||||||||||||||||||||||| 1047 CCCTGGTCACCTACAACACAGACACGTTTGAGTCCATGCCCAATCCCGAG aa.c 350 L V T Y N T D T F E S M P N P E 1150 . : . : . : . : . : aa.g 366 G R Y T F G A S C V T A C P Y 120219 GGCCGGTATACATTCGGCGCCAGCTGTGTGACTGCCTGTCCCTGTG...T |||||||||||||||||||||||||||||||||||||||||||>>>...> 1097 GGCCGGTATACATTCGGCGCCAGCTGTGTGACTGCCTGTCCCT 1446 aa.c 366 G R Y T F G A S C V T A C P Y 1200 . : . : . : . : . : aa.g 381 N Y L S T D V G S C T L V C P L 121706 AGACAACTACCTTTCTACGGACGTGGGATCCTGCACCCTCGTCTGCCCCC >>|||||||||||||||||||||||||||||||||||||||||||||||| 1140 ACAACTACCTTTCTACGGACGTGGGATCCTGCACCCTCGTCTGCCCCC aa.c 381 N Y L S T D V G S C T L V C P L 1250 . : . : . : . : . : aa.g 397 H N Q E V T A E D G T Q R C E K 121756 TGCACAACCAAGAGGTGACAGCAGAGGATGGAACACAGCGGTGTGAGAAG |||||||||||||||||||||||||||||||||||||||||||||||||| 1188 TGCACAACCAAGAGGTGACAGCAGAGGATGGAACACAGCGGTGTGAGAAG aa.c 397 H N Q E V T A E D G T Q R C E K 1300 . : . : . : . : . : aa.g 413 C S K P C A R V C Y G L G M 121806 TGCAGCAAGCCCTGTGCCCGAGGTA...CAGTGTGCTATGGTCTGGGCAT ||||||||||||||||||||||>>>...>>>||||||||||||||||||| 1238 TGCAGCAAGCCCTGTGCCCGAG 274 TGTGCTATGGTCTGGGCAT aa.c 413 C S K P C A R V C Y G L G M 1350 . : . : . : . : . : aa.g 427 E H L R E V R A V T S A N I Q E F 122121 GGAGCACTTGCGAGAGGTGAGGGCAGTTACCAGTGCCAATATCCAGGAGT |||||||||||||||||||||||||||||||||||||||||||||||||| 1279 GGAGCACTTGCGAGAGGTGAGGGCAGTTACCAGTGCCAATATCCAGGAGT aa.c 427 E H L R E V R A V T S A N I Q E F 1400 . : . : . : . : . : aa.g 444 A G C K K I F G S L A F L P E S 122171 TTGCTGGCTGCAAGAAGATCTTTGGGAGCCTGGCATTTCTGCCGGAGAGC |||||||||||||||||||||||||||||||||||||||||||||||||| 1329 TTGCTGGCTGCAAGAAGATCTTTGGGAGCCTGGCATTTCTGCCGGAGAGC aa.c 444 A G C K K I F G S L A F L P E S 1450 . : . : . : . : . : aa.g 460 F D G D P A S N T A P L Q P 122221 TTTGATGGGTA...CAGGGACCCAGCCTCCAACACTGCCCCGCTCCAGCC ||||||||>>>...>>>||||||||||||||||||||||||||||||||| 1379 TTTGATGG 2837 GGACCCAGCCTCCAACACTGCCCCGCTCCAGCC aa.c 460 F D G D P A S N T A P L Q P 1500 . : . : . : . : . : aa.g 474 E Q L Q V F E T L E E I T G 125099 AGAGCAGCTCCAAGTGTTTGAGACTCTGGAAGAGATCACAGGTG...CAG |||||||||||||||||||||||||||||||||||||||||>>>...>>> 1420 AGAGCAGCTCCAAGTGTTTGAGACTCTGGAAGAGATCACAG 86 aa.c 474 E Q L Q V F E T L E E I T G 1550 . : . : . : . : . : aa.g 488 Y L Y I S A W P D S L P D L S V 125226 GTTACCTATACATCTCAGCATGGCCGGACAGCCTGCCTGACCTCAGCGTC |||||||||||||||||||||||||||||||||||||||||||||||||| 1461 GTTACCTATACATCTCAGCATGGCCGGACAGCCTGCCTGACCTCAGCGTC aa.c 488 Y L Y I S A W P D S L P D L S V 1600 . : . : . : . : . : aa.g 504 F Q N L Q V I R G R I L H N 125276 TTCCAGAACCTGCAAGTAATCCGGGGACGAATTCTGCACAAGTG...TAG |||||||||||||||||||||||||||||||||||||||||>>>...>>> 1511 TTCCAGAACCTGCAAGTAATCCGGGGACGAATTCTGCACAA 203 aa.c 504 F Q N L Q V I R G R I L H N 1650 . : . : . : . : . : aa.g 518 G A Y S L T L Q G L G I S W L G L 125520 TGGCGCCTACTCGCTGACCCTGCAAGGGCTGGGCATCAGCTGGCTGGGGC |||||||||||||||||||||||||||||||||||||||||||||||||| 1552 TGGCGCCTACTCGCTGACCCTGCAAGGGCTGGGCATCAGCTGGCTGGGGC aa.c 518 G A Y S L T L Q G L G I S W L G L 1700 . : . : . : . : . : aa.g 535 R S L R E L G S G L A L I H H N 125570 TGCGCTCACTGAGGGAACTGGGCAGTGGACTGGCCCTCATCCACCATAAC |||||||||||||||||||||||||||||||||||||||||||||||||| 1602 TGCGCTCACTGAGGGAACTGGGCAGTGGACTGGCCCTCATCCACCATAAC aa.c 535 R S L R E L G S G L A L I H H N 1750 . : . : . : . : . : aa.g 551 T H L C F V H T V P W D Q L F R N 125620 ACCCACCTCTGCTTCGTGCACACGGTGCCCTGGGACCAGCTCTTTCGGAA |||||||||||||||||||||||||||||||||||||||||||||||||| 1652 ACCCACCTCTGCTTCGTGCACACGGTGCCCTGGGACCAGCTCTTTCGGAA aa.c 551 T H L C F V H T V P W D Q L F R N 1800 . : . : . : . : . : aa.g 568 P H Q A L L H T A N R P E D E C V 125670 CCCGCACCAAGCTCTGCTCCACACTGCCAACCGGCCAGAGGACGAGTGTG |||||||||||||||||||||||||||||||||||||||||||||||||| 1702 CCCGCACCAAGCTCTGCTCCACACTGCCAACCGGCCAGAGGACGAGTGTG aa.c 568 P H Q A L L H T A N R P E D E C V 1850 . : . : . : . : . : aa.g 585 G E G L A C H Q L C A R G 125720 GTA...CAGTGGGCGAGGGCCTGGCCTGCCACCAGCTGTGCGCCCGAGGG >>>...>>>||||||||||||||||||||||||||||||||||||||||| 1752 361 TGGGCGAGGGCCTGGCCTGCCACCAGCTGTGCGCCCGAGGG aa.c 585 G E G L A C H Q L C A R G 1900 . : . : . : . : . : aa.g 598 H C W G P G P T Q C V N C S Q F L 126122 CACTGCTGGGGTCCAGGGCCCACCCAGTGTGTCAACTGCAGCCAGTTCCT |||||||||||||||||||||||||||||||||||||||||||||||||| 1793 CACTGCTGGGGTCCAGGGCCCACCCAGTGTGTCAACTGCAGCCAGTTCCT aa.c 598 H C W G P G P T Q C V N C S Q F L 1950 . : . : . : . : . : aa.g 615 R G Q E C V E E C R V L Q G 126172 TCGGGGCCAGGAGTGCGTGGAGGAATGCCGAGTACTGCAGGGGTA...CA ||||||||||||||||||||||||||||||||||||||||||>>>...>> 1843 TCGGGGCCAGGAGTGCGTGGAGGAATGCCGAGTACTGCAGGG 81 aa.c 615 R G Q E C V E E C R V L Q G 2000 . : . : . : . : . : aa.g 629 L P R E Y V N A R H C L P C H P 126294 GGCTCCCCAGGGAGTATGTGAATGCCAGGCACTGTTTGCCGTGCCACCCT >||||||||||||||||||||||||||||||||||||||||||||||||| 1885 GCTCCCCAGGGAGTATGTGAATGCCAGGCACTGTTTGCCGTGCCACCCT aa.c 629 L P R E Y V N A R H C L P C H P 2050 . : . : . : . : . : aa.g 645 E C Q P Q N G S V T C F G P 126344 GAGTGTCAGCCCCAGAATGGCTCAGTGACCTGTTTTGGACCGGTG...CA ||||||||||||||||||||||||||||||||||||||||||>>>...>> 1934 GAGTGTCAGCCCCAGAATGGCTCAGTGACCTGTTTTGGACCG 714 aa.c 645 E C Q P Q N G S V T C F G P 2100 . : . : . : . : . : aa.g 659 E A D Q C V A C A H Y K D P P F C 127099 GGAGGCTGACCAGTGTGTGGCCTGTGCCCACTATAAGGACCCTCCCTTCT >||||||||||||||||||||||||||||||||||||||||||||||||| 1976 GAGGCTGACCAGTGTGTGGCCTGTGCCCACTATAAGGACCCTCCCTTCT aa.c 659 E A D Q C V A C A H Y K D P P F C 2150 . : . : . : . : . : aa.g 676 V A R C P S G V K P D L S Y M P 127149 GCGTGGCCCGCTGCCCCAGCGGTGTGAAACCTGACCTCTCCTACATGCCC |||||||||||||||||||||||||||||||||||||||||||||||||| 2025 GCGTGGCCCGCTGCCCCAGCGGTGTGAAACCTGACCTCTCCTACATGCCC aa.c 676 V A R C P S G V K P D L S Y M P 2200 . : . : . : . : . : aa.g 692 I W K F P D E E G A C Q P C P I N 127199 ATCTGGAAGTTTCCAGATGAGGAGGGCGCATGCCAGCCTTGCCCCATCAA |||||||||||||||||||||||||||||||||||||||||||||||||| 2075 ATCTGGAAGTTTCCAGATGAGGAGGGCGCATGCCAGCCTTGCCCCATCAA aa.c 692 I W K F P D E E G A C Q P C P I N 2250 . : . : . : . : . : aa.g 709 C T H S C V D L D D K G C P 127249 CTGCACCCACTCGTG...CAGCTGTGTGGACCTGGATGACAAGGGCTGCC ||||||||||||>>>...>>>||||||||||||||||||||||||||||| 2125 CTGCACCCACTC 2306 CTGTGTGGACCTGGATGACAAGGGCTGCC aa.c 709 C T H S C V D L D D K G C P 2300 . : . : . : . : . : aa.g 723 A E Q R A S P L T S I I S 129596 CCGCCGAGCAGAGAGCCAGGTT...CAGCCCTCTGACGTCCATCATCTCT |||||||||||||||||||>>>...>>>|||||||||||||||||||||| 2166 CCGCCGAGCAGAGAGCCAG 3484 CCCTCTGACGTCCATCATCTCT aa.c 723 A E Q R A S P L T S I I S 2350 . : . : . : . : . : aa.g 736 A V V G I L L V V V L G V V F G I 133121 GCGGTGGTTGGCATTCTGCTGGTCGTGGTCTTGGGGGTGGTCTTTGGGAT |||||||||||||||||||||||||||||||||||||||||||||||||| 2207 GCGGTGGTTGGCATTCTGCTGGTCGTGGTCTTGGGGGTGGTCTTTGGGAT aa.c 736 A V V G I L L V V V L G V V F G I 2400 . : . : . : . : . : aa.g 753 L I K R R Q Q K I R K Y T M R R L 133171 CCTCATCAAGCGACGGCAGCAGAAGATCCGGAAGTACACGATGCGGAGAC |||||||||||||||||||||||||||||||||||||||||||||||||| 2257 CCTCATCAAGCGACGGCAGCAGAAGATCCGGAAGTACACGATGCGGAGAC aa.c 753 L I K R R Q Q K I R K Y T M R R L 2450 . : . : . : . : . : aa.g 770 L Q E T E L V E P L T P S 133221 TGCTGCAGGAAACGGAGGTG...CAGCTGGTGGAGCCGCTGACACCTAGC |||||||||||||||||>>>...>>>|||||||||||||||||||||||| 2307 TGCTGCAGGAAACGGAG 80 CTGGTGGAGCCGCTGACACCTAGC aa.c 770 L Q E T E L V E P L T P S 2500 . : . : . : . : . : aa.g 783 G A M P N Q A Q M R I L K E T E L 133342 GGAGCGATGCCCAACCAGGCGCAGATGCGGATCCTGAAAGAGACGGAGCT |||||||||||||||||||||||||||||||||||||||||||||||||| 2348 GGAGCGATGCCCAACCAGGCGCAGATGCGGATCCTGAAAGAGACGGAGCT aa.c 783 G A M P N Q A Q M R I L K E T E L 2550 . : . : . : . : . : aa.g 800 R K V K V L G S G A F G T V Y K 133392 GAGGAAGGTGAAGGTGCTTGGATCTGGCGCTTTTGGCACAGTCTACAAGG |||||||||||||||||||||||||||||||||||||||||||||||||> 2398 GAGGAAGGTGAAGGTGCTTGGATCTGGCGCTTTTGGCACAGTCTACAAG aa.c 800 R K V K V L G S G A F G T V Y K 2600 . : . : . : . : . : aa.g 816 G I W I P D G E N V K I P V 133442 TC...CAGGGCATCTGGATCCCTGATGGGGAGAATGTGAAAATTCCAGTG >>...>>>|||||||||||||||||||||||||||||||||||||||||| 2447 251 GGCATCTGGATCCCTGATGGGGAGAATGTGAAAATTCCAGTG aa.c 816 G I W I P D G E N V K I P V 2650 . : . : . : . : . : aa.g 830 A I K V L R E N T S P K A N K E I 133734 GCCATCAAAGTGTTGAGGGAAAACACATCCCCCAAAGCCAACAAAGAAAT |||||||||||||||||||||||||||||||||||||||||||||||||| 2489 GCCATCAAAGTGTTGAGGGAAAACACATCCCCCAAAGCCAACAAAGAAAT aa.c 830 A I K V L R E N T S P K A N K E I 2700 . : . : . : . : . : aa.g 847 L D E A Y V M A G V G S P Y 133784 CTTAGACGTA...CAGGAAGCATACGTGATGGCTGGTGTGGGCTCCCCAT |||||||>>>...>>>|||||||||||||||||||||||||||||||||| 2539 CTTAGAC 715 GAAGCATACGTGATGGCTGGTGTGGGCTCCCCAT aa.c 847 L D E A Y V M A G V G S P Y 2750 . : . : . : . : . : aa.g 861 V S R L L G I C L T S T V Q L V 134540 ATGTCTCCCGCCTTCTGGGCATCTGCCTGACATCCACGGTGCAGCTGGTG |||||||||||||||||||||||||||||||||||||||||||||||||| 2580 ATGTCTCCCGCCTTCTGGGCATCTGCCTGACATCCACGGTGCAGCTGGTG aa.c 861 V S R L L G I C L T S T V Q L V 2800 . : . : . : . : . : aa.g 877 T Q L M P Y G C L L D H V R E N R 134590 ACACAGCTTATGCCCTATGGCTGCCTCTTAGACCATGTCCGGGAAAACCG |||||||||||||||||||||||||||||||||||||||||||||||||| 2630 ACACAGCTTATGCCCTATGGCTGCCTCTTAGACCATGTCCGGGAAAACCG aa.c 877 T Q L M P Y G C L L D H V R E N R 2850 . : . : . : . : . : aa.g 894 G R L G S Q D L L N W C M Q I A K 134640 CGGACGCCTGGGCTCCCAGGACCTGCTGAACTGGTGTATGCAGATTGCCA |||||||||||||||||||||||||||||||||||||||||||||||||| 2680 CGGACGCCTGGGCTCCCAGGACCTGCTGAACTGGTGTATGCAGATTGCCA aa.c 894 G R L G S Q D L L N W C M Q I A K 2900 . : . : . : . : . : aa.g 911 G M S Y L E D V R L V H R 134690 AGGTA...CAGGGGATGAGCTACCTGGAGGATGTGCGGCTCGTACACAGG ||>>>...>>>||||||||||||||||||||||||||||||||||||||| 2730 AG 137 GGGATGAGCTACCTGGAGGATGTGCGGCTCGTACACAGG aa.c 911 G M S Y L E D V R L V H R 2950 . : . : . : . : . : aa.g 924 D L A A R N V L V K S P N H V K I 134868 GACTTGGCCGCTCGGAACGTGCTGGTCAAGAGTCCCAACCATGTCAAAAT |||||||||||||||||||||||||||||||||||||||||||||||||| 2771 GACTTGGCCGCTCGGAACGTGCTGGTCAAGAGTCCCAACCATGTCAAAAT aa.c 924 D L A A R N V L V K S P N H V K I 3000 . : . : . : . : . : aa.g 941 T D F G L A R L L D I D E T E Y H 134918 TACAGACTTCGGGCTGGCTCGGCTGCTGGACATTGACGAGACAGAGTACC |||||||||||||||||||||||||||||||||||||||||||||||||| 2821 TACAGACTTCGGGCTGGCTCGGCTGCTGGACATTGACGAGACAGAGTACC aa.c 941 T D F G L A R L L D I D E T E Y H 3050 . : . : . : . : . : aa.g 958 A D G G K V P I K W M A L 134968 ATGCAGATGGGGGCAAGGTT...CAGGTGCCCATCAAGTGGATGGCGCTG |||||||||||||||||>>>...>>>|||||||||||||||||||||||| 2871 ATGCAGATGGGGGCAAG 122 GTGCCCATCAAGTGGATGGCGCTG aa.c 958 A D G G K V P I K W M A L 3100 . : . : . : . : . : aa.g 971 E S I L R R R F T H Q S D V W S Y 135131 GAGTCCATTCTCCGCCGGCGGTTCACCCACCAGAGTGATGTGTGGAGTTA |||||||||||||||||||||||||||||||||||||||||||||||||| 2912 GAGTCCATTCTCCGCCGGCGGTTCACCCACCAGAGTGATGTGTGGAGTTA aa.c 971 E S I L R R R F T H Q S D V W S Y 3150 . : . : . : . : . : aa.g 988 G V T V W E L M T F G A K P 135181 TGGTG...TAGGTGTGACTGTGTGGGAGCTGATGACTTTTGGGGCCAAAC ||>>>...>>>||||||||||||||||||||||||||||||||||||||| 2962 TG 304 GTGTGACTGTGTGGGAGCTGATGACTTTTGGGGCCAAAC aa.c 988 G V T V W E L M T F G A K P 3200 . : . : . : . : . : aa.g 1002 Y D G I P A R E I P D L L E K G 135526 CTTACGATGGGATCCCAGCCCGGGAGATCCCTGACCTGCTGGAAAAGGGG |||||||||||||||||||||||||||||||||||||||||||||||||| 3003 CTTACGATGGGATCCCAGCCCGGGAGATCCCTGACCTGCTGGAAAAGGGG aa.c 1002 Y D G I P A R E I P D L L E K G 3250 . : . : . : . : . : aa.g 1018 E R L P Q P P I C T I D V Y M I M 135576 GAGCGGCTGCCCCAGCCCCCCATCTGCACCATTGATGTCTACATGATCAT |||||||||||||||||||||||||||||||||||||||||||||||||| 3053 GAGCGGCTGCCCCAGCCCCCCATCTGCACCATTGATGTCTACATGATCAT aa.c 1018 E R L P Q P P I C T I D V Y M I M 3300 . : . : . : . : . : aa.g 1035 V K C W M I D S E C R P R F 135626 GGTCAAATGTG...CAGGTTGGATGATTGACTCTGAATGTCGGCCAAGAT ||||||||>>>...>>>||||||||||||||||||||||||||||||||| 3103 GGTCAAAT 708 GTTGGATGATTGACTCTGAATGTCGGCCAAGAT aa.c 1035 V K C W M I D S E C R P R F 3350 . : . : . : . : . : aa.g 1049 R E L V S E F S R M A R D P Q R 136375 TCCGGGAGTTGGTGTCTGAATTCTCCCGCATGGCCAGGGACCCCCAGCGC |||||||||||||||||||||||||||||||||||||||||||||||||| 3144 TCCGGGAGTTGGTGTCTGAATTCTCCCGCATGGCCAGGGACCCCCAGCGC aa.c 1049 R E L V S E F S R M A R D P Q R 3400 . : . : . : . : . : aa.g 1065 F V V I Q N E D L G P A S P 136425 TTTGTGGTCATCCAGGTA...CAGAATGAGGACTTGGGCCCAGCCAGTCC |||||||||||||||>>>...>>>|||||||||||||||||||||||||| 3194 TTTGTGGTCATCCAG 155 AATGAGGACTTGGGCCCAGCCAGTCC aa.c 1065 F V V I Q N E D L G P A S P 3450 . : . : . : . : . : aa.g 1079 L D S T F Y R S L L E D D D M G D 136621 CTTGGACAGCACCTTCTACCGCTCACTGCTGGAGGACGATGACATGGGGG |||||||||||||||||||||||||||||||||||||||||||||||||| 3235 CTTGGACAGCACCTTCTACCGCTCACTGCTGGAGGACGATGACATGGGGG aa.c 1079 L D S T F Y R S L L E D D D M G D 3500 . : . : . : . : . : aa.g 1096 L V D A E E Y L V P Q Q G F F C 136671 ACCTGGTGGATGCTGAGGAGTATCTGGTACCCCAGCAGGGCTTCTTCTGT |||||||||||||||||||||||||||||||||||||||||||||||||| 3285 ACCTGGTGGATGCTGAGGAGTATCTGGTACCCCAGCAGGGCTTCTTCTGT aa.c 1096 L V D A E E Y L V P Q Q G F F C 3550 . : . : . : . : . : aa.g 1112 P D P A P G A G G M V H H R H R S 136721 CCAGACCCTGCCCCGGGCGCTGGGGGCATGGTCCACCACAGGCACCGCAG |||||||||||||||||||||||||||||||||||||||||||||||||| 3335 CCAGACCCTGCCCCGGGCGCTGGGGGCATGGTCCACCACAGGCACCGCAG aa.c 1112 P D P A P G A G G M V H H R H R S 3600 . : . : . : . : . : aa.g 1129 S S T R S G G G D L T L G L 136771 CTCATCTACCAGGGTC...CAGAGTGGCGGTGGGGACCTGACACTAGGGC |||||||||||||>>>...>>>|||||||||||||||||||||||||||| 3385 CTCATCTACCAGG 291 AGTGGCGGTGGGGACCTGACACTAGGGC aa.c 1129 S S T R S G G G D L T L G L 3650 . : . : . : . : . : aa.g 1143 E P S E E E A P R S P L A P S E 137103 TGGAGCCCTCTGAAGAGGAGGCCCCCAGGTCTCCACTGGCACCCTCCGAA |||||||||||||||||||||||||||||||||||||||||||||||||| 3426 TGGAGCCCTCTGAAGAGGAGGCCCCCAGGTCTCCACTGGCACCCTCCGAA aa.c 1143 E P S E E E A P R S P L A P S E 3700 . : . : . : . : . : aa.g 1159 G A G S D V F D G D L G M G A A K 137153 GGGGCTGGCTCCGATGTATTTGATGGTGACCTGGGAATGGGGGCAGCCAA |||||||||||||||||||||||||||||||||||||||||||||||||| 3476 GGGGCTGGCTCCGATGTATTTGATGGTGACCTGGGAATGGGGGCAGCCAA aa.c 1159 G A G S D V F D G D L G M G A A K 3750 . : . : . : . : . : aa.g 1176 G L Q S L P T H D P S P L Q R Y S 137203 GGGGCTGCAAAGCCTCCCCACACATGACCCCAGCCCTCTACAGCGGTACA |||||||||||||||||||||||||||||||||||||||||||||||||| 3526 GGGGCTGCAAAGCCTCCCCACACATGACCCCAGCCCTCTACAGCGGTACA aa.c 1176 G L Q S L P T H D P S P L Q R Y S 3800 . : . : . : . : . : aa.g 1193 E D P T V P L P S E T D G Y V A 137253 GTGAGGACCCCACAGTACCCCTGCCCTCTGAGACTGATGGCTACGTTGCC |||||||||||||||||||||||||||||||||||||||||||||||||| 3576 GTGAGGACCCCACAGTACCCCTGCCCTCTGAGACTGATGGCTACGTTGCC aa.c 1193 E D P T V P L P S E T D G Y V A 3850 . : . : . : . : . : aa.g 1209 P L T C S P Q P E Y V N Q P 137303 CCCCTGACCTGCAGCCCCCAGCCTGGTA...CAGAATATGTGAACCAGCC |||||||||||||||||||||||||>>>...>>>|||||||||||||||| 3626 CCCCTGACCTGCAGCCCCCAGCCTG 141 AATATGTGAACCAGCC aa.c 1209 P L T C S P Q P E Y V N Q P 3900 . : . : . : . : . : aa.g 1223 D V R P Q P P S P R E G P L P A A 137485 AGATGTTCGGCCCCAGCCCCCTTCGCCCCGAGAGGGCCCTCTGCCTGCTG |||||||||||||||||||||||||||||||||||||||||||||||||| 3667 AGATGTTCGGCCCCAGCCCCCTTCGCCCCGAGAGGGCCCTCTGCCTGCTG aa.c 1223 D V R P Q P P S P R E G P L P A A 3950 . : . : . : . : . : aa.g 1240 R P A G A T L E R P K T L S P G 137535 CCCGACCTGCTGGTGCCACTCTGGAAAGGCCCAAGACTCTCTCCCCAGGG |||||||||||||||||||||||||||||||||||||||||||||||||| 3717 CCCGACCTGCTGGTGCCACTCTGGAAAGGCCCAAGACTCTCTCCCCAGGG aa.c 1240 R P A G A T L E R P K T L S P G 4000 . : . : . : . : . : aa.g 1256 K N G V V K D V F A F G G A V E N 137585 AAGAATGGGGTCGTCAAAGACGTTTTTGCCTTTGGGGGTGCCGTGGAGAA |||||||||||||||||||||||||||||||||||||||||||||||||| 3767 AAGAATGGGGTCGTCAAAGACGTTTTTGCCTTTGGGGGTGCCGTGGAGAA aa.c 1256 K N G V V K D V F A F G G A V E N 4050 . : . : . : . : . : aa.g 1273 P E Y L T P Q G G A A P Q P H P P 137635 CCCCGAGTACTTGACACCCCAGGGAGGAGCTGCCCCTCAGCCCCACCCTC |||||||||||||||||||||||||||||||||||||||||||||||||| 3817 CCCCGAGTACTTGACACCCCAGGGAGGAGCTGCCCCTCAGCCCCACCCTC aa.c 1273 P E Y L T P Q G G A A P Q P H P P 4100 . : . : . : . : . : aa.g 1290 P A F S P A F D N L Y Y W D Q D 137685 CTCCTGCCTTCAGCCCAGCCTTCGACAACCTCTATTACTGGGACCAGGAC |||||||||||||||||||||||||||||||||||||||||||||||||| 3867 CTCCTGCCTTCAGCCCAGCCTTCGACAACCTCTATTACTGGGACCAGGAC aa.c 1290 P A F S P A F D N L Y Y W D Q D 4150 . : . : . : . : . : aa.g 1306 P P E R G A P P S T F K G T P T A 137735 CCACCAGAGCGGGGGGCTCCACCCAGCACCTTCAAAGGGACACCTACGGC |||||||||||||||||||||||||||||||||||||||||||||||||| 3917 CCACCAGAGCGGGGGGCTCCACCCAGCACCTTCAAAGGGACACCTACGGC aa.c 1306 P P E R G A P P S T F K G T P T A 4200 . : . : . : . : . : aa.g 1323 E N P E Y L G L D V P V * 137785 AGAGAACCCAGAGTACCTGGGTCTGGACGTGCCAGTGTGAACCAGAAGGC |||||||||||||||||||||||||||||||||||||||||||||||||| 3967 AGAGAACCCAGAGTACCTGGGTCTGGACGTGCCAGTGTGAACCAGAAGGC aa.c 1323 E N P E Y L G L D V P V * 4250 . : . : . : . : . : 137835 CAAGTCCGCAGAAGCCCTGATGTGTCCTCAGGGAGCAGGGAAGGCCTGAC |||||||||||||||||||||||||||||||||||||||||||||||||| 4017 CAAGTCCGCAGAAGCCCTGATGTGTCCTCAGGGAGCAGGGAAGGCCTGAC 4300 . : . : . : . : . : 137885 TTCTGCTGGCATCAAGAGGTGGGAGGGCCCTCCGACCACTTCCAGGGGAA |||||||||||||||||||||||||||||||||||||||||||||||||| 4067 TTCTGCTGGCATCAAGAGGTGGGAGGGCCCTCCGACCACTTCCAGGGGAA 4350 . : . : . : . : . : 137935 CCTGCCATGCCAGGAACCTGTCCTAAGGAACCTTCCTTCCTGCTTGAGTT |||||||||||||||||||||||||||||||||||||||||||||||||| 4117 CCTGCCATGCCAGGAACCTGTCCTAAGGAACCTTCCTTCCTGCTTGAGTT 4400 . : . : . : . : . : 137985 CCCAGATGGCTGGAAGGGGTCCAGCCTCGTTGGAAGAGGAACAGCACTGG |||||||||||||||||||||||||||||||||||||||||||||||||| 4167 CCCAGATGGCTGGAAGGGGTCCAGCCTCGTTGGAAGAGGAACAGCACTGG 4450 . : . : . : . : . : 138035 GGAGTCTTTGTGGATTCTGAGGCCCTGCCCAATGAGACTCTAGGGTCCAG |||||||||||||||||||||||||||||||||||||||||||||||||| 4217 GGAGTCTTTGTGGATTCTGAGGCCCTGCCCAATGAGACTCTAGGGTCCAG 4500 . : . : . : . : . : 138085 TGGATGCCACAGCCCAGCTTGGCCCTTTCCTTCCAGATCCTGGGTACTGA |||||||||||||||||||||||||||||||||||||||||||||||||| 4267 TGGATGCCACAGCCCAGCTTGGCCCTTTCCTTCCAGATCCTGGGTACTGA 4550 . : . : . : . : . : 138135 AAGCCTTAGGGAAGCTGGCCTGAGAGGGGAAGCGGCCCTAAGGGAGTGTC |||||||||||||||||||||||||||||||||||||||||||||||||| 4317 AAGCCTTAGGGAAGCTGGCCTGAGAGGGGAAGCGGCCCTAAGGGAGTGTC 4600 . : . : . : . : . : 138185 TAAGAACAAAAGCGACCCATTCAGAGACTGTCCCTGAAACCTAGTACTGC |||||||||||||||||||||||||||||||||||||||||||||||||| 4367 TAAGAACAAAAGCGACCCATTCAGAGACTGTCCCTGAAACCTAGTACTGC 4650 . : . : . : . : . : 138235 CCCCCATGAGGAAGGAACAGCAATGGTGTCAGTATCCAGGCTTTGTACAG |||||||||||||||||||||||||||||||||||||||||||||||||| 4417 CCCCCATGAGGAAGGAACAGCAATGGTGTCAGTATCCAGGCTTTGTACAG 4700 . : . : . : . : . : 138285 AGTGCTTTTCTGTTTAGTTTTTACTTTTTTTGTTTTGTTTTTTTAAAGAT |||||||||||||||||||||||||||||||||||||||||||||||||| 4467 AGTGCTTTTCTGTTTAGTTTTTACTTTTTTTGTTTTGTTTTTTTAAAGAT 4750 . : . : . : . : . : 138335 GAAATAAAGACCCAGGGGGAGAATGGGTGTTGTATGGGGAGGCAAGTGTG |||||||||||||||||||||||||||||||||||||||||||||||||| 4517 GAAATAAAGACCCAGGGGGAGAATGGGTGTTGTATGGGGAGGCAAGTGTG 4800 . : . : . : . : . : 138385 GGGGGTCCTTCTCCACACCCACTTTGTCCATTTGCAAATATATTTTGGAA |||||||||||||||||||||||||||||||||||||||||||||||||| 4567 GGGGGTCCTTCTCCACACCCACTTTGTCCATTTGCAAATATATTTTGGAA 4850 . 138435 AACAGCTA |||||||| 4617 AACAGCTA gmap-2015-12-31/configure.ac0000644002622600023770000005255512567632007012276 00000000000000# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. # $Id: configure.ac,v 1.46 2010-07-21 22:05:35 twu Exp $ AC_PREREQ(2.57) ## We want to get the version number from file 'VERSION' (rather than ## specifying the version info in 'configure.ac'. Hence, we need a bit ## of M4 magic. Note that M4 esyscmd has a trailing newline because the ## shell command output has one, hence the patsubst() trick. #m4_define([PKG_VERSION], # m4_bpatsubst(m4_esyscmd([cat VERSION]), # [\([0-9.]*\)\(\w\|\W\)*], # [\1])) #m4_define([PKG_VERSION],m4_esyscmd([cat VERSION])) m4_define([PKG_VERSION],esyscmd([cat VERSION])) AC_INIT([gmap],PKG_VERSION,[Thomas Wu ]) AC_MSG_CHECKING(package version) AC_MSG_RESULT(PKG_VERSION) ### Read defaults # Handle CONFIG_SITE better than Autoconf does for ac_site_file in $CONFIG_SITE; do if { (eval echo $ac_site_file | grep '^\./' >/dev/null 2>&1) ac_status=$? (exit $ac_status); }; then # ac_site_file starts with ./ if test -r "$ac_site_file"; then ac_site_file="$ac_site_file" echo "really loading site script $ac_site_file: file was found" . "$ac_site_file" ax_user_site_file_loaded=yes else AC_MSG_ERROR([cannot find $ac_site_file]) fi else # ac_site_file does not start with ./ if test -r "./$ac_site_file"; then echo "really loading site script ./$ac_site_file: file was found" . "./$ac_site_file" ax_user_site_file_loaded=yes elif test -r "$ac_site_file"; then echo "really loading site script $ac_site_file: file was found" . "$ac_site_file" 2>/dev/null ax_user_site_file_loaded=yes else AC_MSG_ERROR([cannot find $ac_site_file]) fi fi done if test x"$ax_user_site_file_loaded" != x"yes"; then if test -r "./config.site"; then echo "loading default site script ./config.site" . "./config.site" fi fi # Set default CFLAGS if not already set by user AC_MSG_CHECKING(CFLAGS) AC_ARG_VAR([CFLAGS], [Compiler flags (default: -O3)]) if test x"$CFLAGS" = x; then AC_MSG_RESULT(not set by user so using default -O3) ACX_EXPAND(CFLAGS,'-O3') else AC_MSG_RESULT($CFLAGS) fi AC_MSG_CHECKING(MPI_CFLAGS) AC_ARG_VAR([MPI_CFLAGS], [Compiler flags (default: -O3)]) AC_MSG_RESULT($MPI_CFLAGS) AC_SUBST(MPI_CFLAGS) AC_CONFIG_SRCDIR([src/gmap.c]) AC_CONFIG_HEADER([src/config.h]) AC_CONFIG_AUX_DIR([config]) # For autotest: AC_CONFIG_TESTDIR([tests],[tests:src:util]) AC_CONFIG_MACRO_DIR([config]) AC_CANONICAL_SYSTEM AC_SYS_LARGEFILE AC_ARG_PROGRAM #AM_INIT_AUTOMAKE([no-dependencies]) #AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) AM_INIT_AUTOMAKE AM_CONDITIONAL(FULLDIST,test "x$enable_fulldist" = xyes) AC_ARG_ENABLE([fulldist], AC_HELP_STRING([--enable-fulldist], [For use by program maintainer]), [enable_fulldist="yes"], [enable_fulldist="no"]) AM_CONDITIONAL(MAINTAINER,test "x$enable_maintainer" = xyes) AC_ARG_ENABLE([maintainer], AC_HELP_STRING([--enable-maintainer], [For use by program maintainer]), [enable_maintainer="yes"], [enable_maintainer="no"]) # For Perl scripts, because otherwise configure inserts # @bindir@ => "${exec_prefix}/bin"; AC_MSG_CHECKING(bindir) ACX_EXPAND(BINDIR,$bindir) AC_SUBST(BINDIR) AC_MSG_RESULT($BINDIR) # Works in conjunction with AC_PROG_LIBTOOL -- Commented out because no libraries being built #AC_MSG_CHECKING(whether to link statically) #AC_ARG_ENABLE([static-linking], # AC_HELP_STRING([--enable-static-linking], # [Link binaries statically (default=no)]), # [answer="$enableval"], # [answer=""]) #case x"$answer" in # xyes) # AC_MSG_RESULT(enabled) # STATIC_LDFLAG="-all-static" # ;; # # xno) # AC_MSG_RESULT(disabled) # ;; # # x) # AC_MSG_RESULT(not specified so disabled by default) # ;; #esac #AC_SUBST(STATIC_LDFLAG) # Checks for programs. #AC_PATH_PROG([PERL],[perl]) ACX_PATH_PERL AC_PROG_CC AM_PROG_CC_C_O AX_MPI # Sets MPICC to use for isolated source files that need it # AC_PROG_CC_MPI # This sets CC to mpicc AM_CONDITIONAL(MPI_FOUND,test "x$MPILIBS" != x) AC_PROG_LIBTOOL # Checks for libraries. AC_CHECK_LIB(m, rint) #AC_CHECK_LIB(popt, poptGetContext, [answer="yes"], [answer="no"]) #if test x"$answer" == xyes; then # AC_DEFINE([HAVE_LIBPOPT],[1],[Define to 1 if you have the 'popt' library (-lpopt)]) # POPT_LIBS="-lpopt" #else # POPT_LIBS="" #fi #AC_SUBST(POPT_LIBS) AC_MSG_CHECKING(whether to use MPI_File for input) AC_ARG_ENABLE([mpi-file-input], AC_HELP_STRING([--enable-mpi-file-input], [Enable MPI_File for input for MPI versions (default=yes). Note: Use only if you have a parallel I/O file system, like Lustre]), [answer="$enableval"], [answer=""]) case x"$answer" in xyes) AC_MSG_RESULT(enabled) AC_DEFINE(USE_MPI_FILE_INPUT,1,[Define to 1 if you want to use MPI_File for input.]) ;; xno) AC_MSG_RESULT(disabled) ;; x) AC_MSG_RESULT([not specified so enabled by default]) AC_DEFINE(USE_MPI_FILE_INPUT,1,[Define to 1 if you want to use MPI_File for input.]) ;; esac # In call to ACX_PTHREAD, don't provide ACTION-IF-FOUND; otherwise, # HAVE_PTHREAD won't be defined AC_MSG_CHECKING(for pthreads feature) AC_ARG_ENABLE([pthreads], AC_HELP_STRING([--enable-pthreads], [Enable pthreads (default=yes)]), [answer="$enableval"], [answer=""]) case x"$answer" in xyes) AC_MSG_RESULT(enabled) ACX_PTHREAD([],[pthread_warning=yes]) ;; xno) AC_MSG_RESULT(disabled) ;; x) AC_MSG_RESULT([not specified so enabled by default]) ACX_PTHREAD([],[pthread_warning=yes]) ;; esac # Checks for header files. AC_HEADER_STDC AC_HEADER_DIRENT AC_CHECK_HEADERS([fcntl.h limits.h stddef.h stdlib.h string.h strings.h unistd.h sys/types.h]) # Checks for typedefs, structures, and compiler characteristics. AC_C_BIGENDIAN AC_C_CONST AC_C_VOLATILE AC_TYPE_SIZE_T AC_TYPE_OFF_T AC_CHECK_TYPES([caddr_t]) AC_CHECK_SIZEOF(unsigned long) AC_CHECK_SIZEOF(unsigned long long) AC_CHECK_SIZEOF(off_t) # Checks for library functions. #AC_FUNC_MALLOC -- Causes use of rpl_malloc #AC_FUNC_REALLOC -- Causes use of rpl_realloc #AC_FUNC_CLOSEDIR_VOID -- We are checking return value AC_FUNC_FSEEKO #AC_FUNC_MMAP # Checks only private fixed mapping of already-mapped memory AC_MSG_CHECKING(whether alloca is enabled) AC_ARG_ENABLE([alloca], AC_HELP_STRING([--enable-alloca], [Enable alloca (default=yes) for stack-based memory allocation.]), [answer="$enableval"], [answer=""]) case x"$answer" in xyes) AC_MSG_RESULT(enabled) AC_FUNC_ALLOCA ;; xno) AC_MSG_RESULT(disabled) ;; x) AC_MSG_RESULT([not specified so enabled by default]) AC_FUNC_ALLOCA ;; esac AC_MSG_CHECKING(whether mmap is enabled) AC_ARG_ENABLE([mmap], AC_HELP_STRING([--enable-mmap], [Enable mmap (default=yes). Recommend that you do not disable this unless absolutely necessary.]), [answer="$enableval"], [answer=""]) case x"$answer" in xyes) AC_MSG_RESULT(enabled) ACX_MMAP_FIXED # Checks fixed mapping ACX_MMAP_VARIABLE # Checks variable mapping ;; xno) AC_MSG_RESULT(disabled) ;; x) AC_MSG_RESULT([not specified so enabled by default]) ACX_MMAP_FIXED # Checks fixed mapping ACX_MMAP_VARIABLE # Checks variable mapping ;; esac if test x"$acx_mmap_fixed_ok" = xyes; then AC_DEFINE(HAVE_MMAP,1,[Define to 1 if you have a working 'mmap' system call.]) else if test x"$acx_mmap_variable_ok" = xyes; then AC_DEFINE(HAVE_MMAP,1,[Define to 1 if you have a working 'mmap' system call.]) fi fi ACX_MMAP_FLAGS ACX_MADVISE_FLAGS ACX_SHM_FLAGS AC_CHECK_FUNCS([ceil floor index log madvise memcpy memmove memset munmap pow rint stat64 strtoul sysconf sysctl sigaction \ shmget shmctl shmat shmdt semget semctl semop]) ACX_STRUCT_STAT64 ACX_PAGESIZE ACX_FUNC_FOPEN_BINARY ACX_FUNC_FOPEN_TEXT AC_MSG_CHECKING(for builtin popcount/clz/ctz features) AC_ARG_ENABLE([builtin-popcount], AC_HELP_STRING([--enable-builtin-popcount], [Enable -mpopcnt if it __builtin_popcount compiles and runs (default=yes). May want to disable if compiling on one machine and running on another.]), [answer="$enableval"], [answer=""]) case x"$answer" in xyes) AC_MSG_RESULT(enabled) ACX_BUILTIN_POPCOUNT ;; xno) AC_MSG_RESULT(disabled) ;; x) AC_MSG_RESULT([not specified so enabled by default]) ACX_BUILTIN_POPCOUNT ;; esac if test x"$acx_mpopcnt_ok" = x"yes"; then POPCNT_CFLAGS="$POPCNT_CFLAGS -mpopcnt" fi AC_SUBST(POPCNT_CFLAGS) ACX_ASM_BSR AC_MSG_CHECKING(whether sse2 is enabled) AC_ARG_ENABLE([sse2], AC_HELP_STRING([--enable-sse2], [Enable sse2 simd commands if they compile and run (default=yes).]), [answer="$enableval"], [answer=""]) case x"$answer" in xyes) AC_MSG_RESULT(enabled) ax_cv_want_sse2_ext=yes ;; xno) AC_MSG_RESULT(disabled by user) ax_cv_want_sse2_ext=no ;; x) AC_MSG_RESULT([not specified so enabled by default]) ax_cv_want_sse2_ext=yes ;; esac ax_cv_sse2_shift_defect=no if test "$ax_cv_want_sse2_ext" = yes; then ACX_SSE2_SHIFT_DEFECT fi AC_MSG_CHECKING(whether ssse3 is enabled) AC_ARG_ENABLE([ssse3], AC_HELP_STRING([--enable-ssse3], [Enable ssse3 simd commands if they compile and run (default=yes). Requires that sse2 be enabled.]), [answer="$enableval"], [answer=""]) if test "$ax_cv_want_sse2_ext" = no; then AC_MSG_RESULT([disabled because the user disabled sse2]) ax_cv_want_ssse3_ext=no else case x"$answer" in xyes) AC_MSG_RESULT(enabled) ax_cv_want_ssse3_ext=yes ;; xno) AC_MSG_RESULT(disabled by user) ax_cv_want_ssse3_ext=no ;; x) AC_MSG_RESULT([not specified so enabled by default]) ax_cv_want_ssse3_ext=yes ;; esac fi AC_MSG_CHECKING(whether sse4.1 is enabled) AC_ARG_ENABLE([sse4.1], AC_HELP_STRING([--enable-sse4.1], [Enable sse4.1 simd commands if they compile and run (default=yes). Requires that ssse3 be enabled.]), [answer="$enableval"], [answer=""]) if test "$ax_cv_want_ssse3_ext" = no; then AC_MSG_RESULT([disabled because the user disabled ssse3]) ax_cv_want_sse41_ext=no else case x"$answer" in xyes) AC_MSG_RESULT(enabled) ax_cv_want_sse41_ext=yes ;; xno) AC_MSG_RESULT(disabled by user) ax_cv_want_sse41_ext=no ;; x) AC_MSG_RESULT([not specified so enabled by default]) ax_cv_want_sse41_ext=yes ;; esac fi AC_MSG_CHECKING(whether sse4.2 is enabled) AC_ARG_ENABLE([sse4.2], AC_HELP_STRING([--enable-sse4.2], [Enable sse4.2 simd commands if they compile and run (default=yes). Requires that sse4.1 be enabled.]), [answer="$enableval"], [answer=""]) if test "$ax_cv_want_sse41_ext" = no; then AC_MSG_RESULT([disabled because the user disabled sse4.1]) ax_cv_want_sse42_ext=no else case x"$answer" in xyes) AC_MSG_RESULT(enabled) ax_cv_want_sse42_ext=yes ;; xno) AC_MSG_RESULT(disabled by user) ax_cv_want_sse42_ext=no ;; x) AC_MSG_RESULT([not specified so enabled by default]) ax_cv_want_sse42_ext=yes ;; esac fi AC_MSG_CHECKING(whether avx is enabled) AC_ARG_ENABLE([avx], AC_HELP_STRING([--enable-avx], [Enable avx simd commands if they compile and run (default=yes). Requires that sse4.2 be enabled.]), [answer="$enableval"], [answer=""]) if test "$ax_cv_want_sse42_ext" = no; then AC_MSG_RESULT([disabled because the user disabled sse4.2]) ax_cv_want_avx_ext=no else case x"$answer" in xyes) AC_MSG_RESULT(enabled) ax_cv_want_avx_ext=yes ;; xno) AC_MSG_RESULT(disabled by user) ax_cv_want_avx_ext=no ;; x) AC_MSG_RESULT([not specified so enabled by default]) ax_cv_want_avx_ext=yes ;; esac fi AC_MSG_CHECKING(whether avx2 is enabled) AC_ARG_ENABLE([avx2], AC_HELP_STRING([--enable-avx2], [Enable avx2 simd commands if they compile and run (default=yes). Requires that avx be enabled.]), [answer="$enableval"], [answer=""]) if test "$ax_cv_want_avx_ext" = no; then AC_MSG_RESULT([disabled because the user disabled avx]) ax_cv_want_avx2_ext=no else case x"$answer" in xyes) AC_MSG_RESULT(enabled) ax_cv_want_avx2_ext=yes ;; xno) AC_MSG_RESULT(disabled by user) ax_cv_want_avx2_ext=no ;; x) AC_MSG_RESULT([not specified so enabled by default]) ax_cv_want_avx2_ext=yes ;; esac fi AC_MSG_CHECKING(whether simd is enabled) AC_ARG_ENABLE([simd], AC_HELP_STRING([--enable-simd], [Enable simd commands in general if they compile and run (default=yes).]), [answer="$enableval"], [answer=""]) case x"$answer" in xyes) AC_MSG_RESULT(enabled) AX_EXT # Sets SIMD_CFLAGS, and HAVE_ALTIVEC,HAVE_MMX,HAVE_SSE,HAVE_SSE2,HAVE_SSE3,HAVE_SSSE3,HAVE_SSE4_1,HAVE_SSE4_2,HAVE_AVX ;; xno) AC_MSG_RESULT(disabled) ;; x) AC_MSG_RESULT([not specified so enabled by default]) AX_EXT # Sets SIMD_CFLAGS, and HAVE_ALTIVEC,HAVE_MMX,HAVE_SSE,HAVE_SSE2,HAVE_SSE3,HAVE_SSSE3,HAVE_SSE4_1,HAVE_SSE4_2,HAVE_AVX ;; esac # Genome directory AC_MSG_CHECKING(gmapdb) AC_ARG_WITH([gmapdb], AC_HELP_STRING([--with-gmapdb=DIR], [Default GMAP database directory]), [answer="$withval"], [answer=""]) if test x"$answer" = x; then ACX_EXPAND(GMAPDB,'${prefix}/share') else GMAPDB=$answer fi AC_SUBST(GMAPDB) AC_MSG_RESULT($GMAPDB) # MAX_READLENGTH AC_MSG_CHECKING(MAX_READLENGTH) AC_ARG_VAR([MAX_READLENGTH], [Maximum read length for GSNAP (default 300)]) if test x"$MAX_READLENGTH" = x; then ACX_EXPAND(MAX_READLENGTH,'300') fi AC_MSG_RESULT($MAX_READLENGTH) # zlib package AC_MSG_CHECKING(for zlib support) AC_ARG_ENABLE([zlib], AC_HELP_STRING([--enable-zlib], [Enable zlib support (option needed for uncompressing gzip files) (default=yes)]), [answer="$enableval"], [answer=""]) case x"$answer" in xno) AC_MSG_RESULT(disabled) ZLIB_LIBS="" have_zlib=no ;; *) AC_MSG_RESULT(enabled) failed=0; passed=0; AC_CHECK_HEADER(zlib.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`) AC_CHECK_LIB(z,gzopen,passed=`expr $passed + 1`,failed=`expr $failed + 1`) AC_CHECK_LIB(z,gzeof,passed=`expr $passed + 1`,failed=`expr $failed + 1`) AC_CHECK_LIB(z,gzgetc,passed=`expr $passed + 1`,failed=`expr $failed + 1`) AC_CHECK_LIB(z,gzgets,passed=`expr $passed + 1`,failed=`expr $failed + 1`) AC_CHECK_LIB(z,gzclose,passed=`expr $passed + 1`,failed=`expr $failed + 1`) AC_MSG_CHECKING(if zlib package is complete) if test $failed -gt 0 then AC_MSG_RESULT(no -- some components failed test) ZLIB_LIBS="" have_zlib=no else AC_MSG_RESULT(working) AC_DEFINE(HAVE_ZLIB,1,[Define to 1 if you have a working zlib library.]) ZLIB_LIBS="-lz" have_zlib=yes AC_CHECK_LIB(z,gzbuffer,have_gzbuffer=1,have_gzbuffer=0) if test $have_gzbuffer -gt 0 then AC_DEFINE(HAVE_ZLIB_GZBUFFER,1,[Define to 1 if your zlib library has a gzbuffer function.]) fi fi ;; esac AC_SUBST(ZLIB_LIBS) # bzip2 package AC_MSG_CHECKING(for bzlib support) AC_ARG_ENABLE([bzlib], AC_HELP_STRING([--enable-bzlib], [Enable bzlib support (option needed for uncompressing bzip2 files) (default=yes)]), [answer="$enableval"], [answer=""]) case x"$answer" in xno) AC_MSG_RESULT(disabled) BZLIB_LIBS="" have_bzlib=no ;; *) AC_MSG_RESULT(enabled) failed=0; passed=0; AC_CHECK_HEADER(bzlib.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`) AC_CHECK_LIB(bz2,BZ2_bzReadOpen,passed=`expr $passed + 1`,failed=`expr $failed + 1`) AC_CHECK_LIB(bz2,BZ2_bzRead,passed=`expr $passed + 1`,failed=`expr $failed + 1`) AC_CHECK_LIB(bz2,BZ2_bzReadClose,passed=`expr $passed + 1`,failed=`expr $failed + 1`) AC_MSG_CHECKING(if bzlib package is complete) if test $failed -gt 0 then AC_MSG_RESULT(no -- some components failed test) BZLIB_LIBS="" have_bzlib=no else AC_MSG_RESULT(working) AC_DEFINE(HAVE_BZLIB,1,[Define to 1 if you have a working bzlib library.]) BZLIB_LIBS="-lbz2" have_bzlib=yes fi ;; esac AC_SUBST(BZLIB_LIBS) AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([src/Makefile]) AC_CONFIG_FILES([mpi/Makefile]) AC_CONFIG_FILES([util/Makefile]) AC_CONFIG_FILES([util/gmap_compress.pl]) AC_CONFIG_FILES([util/gmap_uncompress.pl]) AC_CONFIG_FILES([util/gmap_process.pl]) AC_CONFIG_FILES([util/gmap_build.pl]) AC_CONFIG_FILES([util/gmap_reassemble.pl]) AC_CONFIG_FILES([util/md_coords.pl]) AC_CONFIG_FILES([util/fa_coords.pl]) AC_CONFIG_FILES([util/psl_splicesites.pl]) AC_CONFIG_FILES([util/psl_introns.pl]) AC_CONFIG_FILES([util/psl_genes.pl]) AC_CONFIG_FILES([util/ensembl_genes.pl]) AC_CONFIG_FILES([util/gtf_splicesites.pl]) AC_CONFIG_FILES([util/gtf_introns.pl]) AC_CONFIG_FILES([util/gtf_genes.pl]) AC_CONFIG_FILES([util/gff3_splicesites.pl]) AC_CONFIG_FILES([util/gff3_introns.pl]) AC_CONFIG_FILES([util/gff3_genes.pl]) AC_CONFIG_FILES([util/dbsnp_iit.pl]) AC_CONFIG_FILES([util/gvf_iit.pl]) AC_CONFIG_FILES([util/vcf_iit.pl]) AC_CONFIG_FILES([tests/Makefile]) AC_CONFIG_FILES([tests/align.test],[chmod +x tests/align.test]) AC_CONFIG_FILES([tests/coords1.test],[chmod +x tests/coords1.test]) AC_CONFIG_FILES([tests/setup1.test],[chmod +x tests/setup1.test]) AC_CONFIG_FILES([tests/iit.test],[chmod +x tests/iit.test]) AC_OUTPUT if test x"$perl_warning" = xyes; then AC_MSG_WARN([ WARNING: You don't seem to have perl installed with working versions of the IO::File and Getopt::Std modules. If you know where such a version of Perl exists, please specify its full path under PERL in the config.site file and run configure again. ]) fi if test x"$pthread_warning" = xyes; then AC_MSG_WARN([ WARNING: You don't seem to have headers and libraries for pthreads. GMAP will work without these, but the program can run faster on multiprocessor machines if POSIX threads are available. If you wish to enable pthreads, please specify the appropriate values for CC, PTHREAD_CFLAGS, and PTHREAD_LIBS in the config.site file and run configure again. Otherwise, you may proceed with the rest of the installation. ]) fi if test x"$acx_mmap_fixed_ok" != xyes; then if test x$"acx_mmap_variable_ok" != xyes; then AC_MSG_WARN([ WARNING: You don't seem to have memory mapping. GMAP will work without this, but the program can run faster if memory mapping is available. If you wish to enable memory mapping, please specify the appropriate values for CC, PTHREAD_CFLAGS, and PTHREAD_LIBS in the config.site file and run configure again. Otherwise, you may proceed with the rest of the installation. ]) fi fi if test x"$ax_cv_sse2_shift_defect" = xyes; then AC_MSG_WARN([ WARNING: Your C compiler does not know how to handle a particular form of the SSE2 shift commands, and must be somewhat old (probably gcc 4.1 or gcc 4.2). The configure script has therefore substituted alternate C code that your compiler can handle. However, for optimal performance, you may want to obtain a more recent C compiler and build the code with that. ]) fi if test x"$ax_cv_ext_compiler_problem" = x"yes"; then AC_MSG_WARN([ WARNING: Your C compiler appears not to take advantage of all of the SIMD features available on your computer, and must be somewhat old. The configure script has therefore substituted alternate C code that your compiler can handle. However, for optimal performance, you may want to obtain a more recent C compiler and build the code with that. Here are the compiler flags to be used for SIMD: ]) fi if test x"$ax_cv_ext_linker_problem" = x"yes"; then AC_MSG_WARN([ WARNING: Your C linker appears not to work on SIMD header files that your C compiler accepts, so there appears to be some incompatibility between your compiler and linker. The configure script has therefore substituted alternate C code that your linker can handle. However, for optimal performance, you may need to set your LDFLAGS or LD_LIBRARY_PATH environment variable to the correct directory, or rebuild your compiler and linker. ]) fi AC_MSG_CHECKING(Standard compiler and flags to be used) AC_MSG_RESULT($CC $CFLAGS) AC_MSG_CHECKING(Standard linker flags to be used) AC_MSG_RESULT($LD_FLAGS) AC_MSG_CHECKING(MPI compiler and flags to be used) AC_MSG_RESULT($MPICC $MPI_CFLAGS) AC_MSG_CHECKING(MPI linker flags to be used) AC_MSG_RESULT($MPI_CLDFLAGS) AC_MSG_CHECKING(pthread compiler flags to be used) AC_MSG_RESULT($PTHREAD_CFLAGS) AC_MSG_CHECKING(popcnt compiler flags to be used) AC_MSG_RESULT($POPCNT_CFLAGS) AC_MSG_CHECKING(SIMD features available on computer) AC_MSG_RESULT($ax_cv_cpu_features) AC_MSG_CHECKING(SIMD compiler flags to be used) AC_MSG_RESULT($SIMD_CFLAGS) gmap-2015-12-31/config.site0000644002622600023770000001367412567632011012135 00000000000000#! /bin/sh ### This file is part of GMAP. It allows you to provide values for ### the configuration process. To set variables, uncomment the ### VAR=DEFAULT lines and set DEFAULT according to your needs. ######################################################################## ### Configuration options ######################################################################## ## The directory where the binary files will go (without the "/bin" at ## the end). For example, if you want the gmap program to be ## installed as /usr/local/bin/gmap, the prefix is "/usr/local". The ## directory must be an absolute path, so "." and "~" are not allowed. ## ## If you want to install in this build directory for testing purposes, ## specify prefix=`pwd` (with two backward quotes). If you don't specify ## anything for prefix, it defaults to /usr/local. ## ## prefix=/usr/local ## The directory where the GMAP genome database files go. Each genome ## must be set up (with the gmap_setup program) before gmap can map and ## align against that genome. Each genome will get its own ## subdirectory in this directory. ## ## Note: at run time, the user may choose to override this directory ## by (1) providing a -D flag to gmap, (2) setting the GMAPDB ## environment variable, or (3) creating a configuration file .gmaprc ## with the line GMAPDB=. ## ## Make sure there is adequate disk space in this directory; for ## example, the human genome will need about 3 gigabytes. ## ## If you don't specify anything for with_gmapdb, it defaults to ## ${prefix}/share. ## ## with_gmapdb=/path/to/gmapdb ## Popcnt support. By default, the configure program will test your computer ## for popcnt and related commands (for fast bit counting), and if so, enable those ## commands to speed up the program. If you plan to configure the package ## on one computer and then run the programs on another computer, you may ## need to disable this feature. To disable the feature, specify --disable-popcnt ## or uncomment the line below and change the answer to "disable_popcnt". ## ## enable_popcnt ## SIMD support. By default, the configure program will test your ## computer for SIMD commands (e.g., Intel SSE commands), and if so, ## enable those commands to speed up the program. If you plan to ## configure the package on one computer and then run the programs on ## another computer, you may need to disable this feature. To disable ## all SIMD support, specify --disable-simd or uncomment the line ## below and change the answer to "disable_simd". Or you may disable ## individual types of SIMD commands, as listed below. ## ## enable_simd ## enable_sse2 ## enable_sse4.1 ## Optional zlib support (needed only for reading gzip-compressed files). By ## default, the configure program will test to see if you have a ## working zlib library and if so, enable the feature. If you want to ## disable the feature, specify --disable-zlib or uncomment the line ## below and change the answer to "disable_zlib". ## ## enable_zlib ## Optional bzlib support (needed only for reading bzip2-compressed files). By ## default, the configure program will test to see if you have a ## working bzlib library and if so, enable the feature. If you want to ## disable the feature, specify --disable-bzlib or uncomment the line ## below and change the answer to "disable_bzlib". ## ## enable_bzlib ## The command for the C compiler. If unspecified, the GNU configure ## procedure will search for a suitable compiler, first for gcc and ## then for cc. To override this choice, specify the name of your ## preferred C compiler here, for example, 'c89'. ## CC=gcc ## or may want to specify another compiler ## CC=/usr/bin/cc ## Debugging and optimization options for the C compiler. Use this to ## specify CFLAGS for the version of the C compiler specified above. ## If unspecified, defaults to '-O3' for fastest speed. The configure ## script will also test whether -mpopcnt works and apply it if ## possible. For Macintosh machines, you may need to add -m64 for ## the programs to work. ## CFLAGS='-O3' ## CFLAGS='-O3 -m64' (for Macintosh machines) ## Debugging and optimization options for the MPICC compiler, used ## for the MPI versions of the programs. ## MPI_CFLAGS='-mpitrace' ## Search directory for header files ('-IDIR') and any other ## miscellaneous options for the C preprocessor and compiler. ## CPPFLAGS=-I/usr/local/include ## Path ('-L') and any other miscellaneous options for the linker. ## '-L' options set here will be prepended to LD_LIBRARY_PATH (or its ## system equivalent) at run time. ## For systems with shared libraries: ## LDFLAGS='-L/usr/local/lib -rpath /usr/local/lib' ## For most other systems, including the gcc compiler ## LDFLAGS='-L/usr/local/lib' ## Special flags (in addition to CFLAGS and LIBS) that may be needed ## for pthreads The configure program will attempt to determine these ## automatically, but will also try any flags you supply here. ## PTHREAD_CFLAGS= ## PTHREAD_LIBS= ## Make name. Set this if you want to use a make by another name. ## For example, if your GNU make is called 'gmake', use 'MAKE=gmake'. ## MAKE=/usr/bin/make ## Location of Perl. Some of the utility programs require Perl ## with working versions of IO::File and Getopt::Std. The configure ## program will attempt to find a working version of Perl in your ## PATH, but you may need to or wish to specify a particular version ## of perl here, by providing its full path ## ## PERL=/usr/local/bin/perl ## Maximum read length for GSNAP, defined at compile-time. If this is ## not set here, then a default value of 250 will be used ## ## MAX_READLENGTH=250 ## Header and library files for support of the external Goby library ## from the Campagne lab at Cornell (optional) ## Requires the user to obtain and compile the libraries from ## http://campagnelab.org/software/goby. ## Expects the header files to be in /path/to/goby/include and ## the library files to be in /path/to/goby/lib ## ## with_goby=/path/to/goby gmap-2015-12-31/ChangeLog0000644002622600023770000323175312654517365011572 000000000000002016-02-04 twu * stage2.c: Fixed termination condition for while loop * output.c, samprint.c, samprint.h: Added check for artificial mate in --add-paired-nomappers mode, to set SAM flag correctly 2016-01-21 twu * dynprog_genome.c: Fixed bug in checking bestrL before it is computed, resulting in no splicing solutions 2016-01-15 twu * stage1hr.c: Fixed array overflow involving MAX_ANCHORS algorithm 2016-01-12 twu * stage3hr.c, substring.c: Reverting back to remove salvage procedure for terminal alignments * substring.c: Computing trim_left and trim_right, even when trim_left_p and trim_right_p are false * stage3hr.c: Fixed coordinate calculations in salvage procedure for terminal alignments with too many mismatches 2016-01-08 twu * gsnap.c, sarray-read.c, sarray-read.h: Not allowing ambiguous splicing in a circular chromosome * dynprog_single.c: Added assertion for glength > 0 2016-01-07 twu * dynprog_genome.c: Handling the case where dynamic programming does not find an intron solution * VERSION: Updated version number * stage1hr.c: Applied revision 181902 from trunk to use MAX_ANCHORS and keep track of both all_segments and anchor_segments * stage3hr.c: Applied revision 181882 from trunk to turn off comparison of score_eventrim with cutoff_level in computing optimal_scores, and to recompute pos5 or pos3 in Stage3end_new_terminal if number of mismatches exceeds the number allowed. * sarray-read.c, stage3hr.c: Readjusting cutoff_levels in Stage3_pair_up_concordant. Handling Junction_gc within Stage3end_new_substrings. * samprint.c, samprint.h: Made fixes to --add-paired-nomappers option * output.c: Using new interface to SAM_print_nomapping 2015-12-09 twu * samprint.c: Fixed problem with --add-paired-nomappers option for unpaired multiple alignments 2015-11-20 twu * VERSION: Updated version number * samprint.c: Applied revision 179289 from trunk to fix some issues with --add-paired-nomappers option * pair.c, stage3hr.c: Applied revisions 179286 and 179286 from trunk to exclude alignments to circular chromosomes that extend below the first copy or above the second copy * gsnap.c: Fixed check on floating point values for --min-coverage * bitpack64-write.c, bitpack64-write.h: Changed variable type for n from UINT4 to Oligospace_T, to allow for k-mer of 16 2015-09-30 twu * VERSION: Updated version number * stage1hr.c: In converting segments to GMAP, ensuring that the pairs are monotonic in genomepos * inbuffer.c: Initializing variables 2015-09-28 twu * oligoindex_hr.c, public-2015-07-23, src: Merged revision 175543 from trunk to handle the case where left_plus_length < indexsize * VERSION: Updated version number * stage1hr.c: Putting debugging statement inside debug macro 2015-09-22 twu * dynprog_genome.c, pair.c, pair.h, public-2015-07-23, src, stage1hr.c, stage3.c, stage3hr.c: Merged revisions 174475 through 174480 from trunk to improve alignments involving microexons, splices at ends, bridging intron gaps, and multiple segments * VERSION, public-2015-07-23, src, stage1hr.c, stage3hr.c: Merged revision 174117 from trunk to fix calls to Genome_get_segment_blocks_left 2015-09-12 twu * splice.c: Fixed FREEA statements * gmap_build.pl.in, util: Merged revision 173888 from trunk to allow for spaces in destination directory * gsnap.c, src, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, substring.c, substring.h, uniqscan.c: Merged revisions 173889 through 173894 from trunk to add --min-coverage and remove --terminal-threshold and reject_trimlength. Changed criteria for running find_terminals. 2015-09-01 twu * VERSION, chimera.c, gmap.c, public-2015-07-23, src: Merged revisions 173188 and 173189 from trunk to set dinucleotides for out-of-bound chimeric breakpoints and to set some uninitialized variables * stage3hr.c: Merged revision 173165 from trunk to favor non-zero sensedirs when sorting results * splice.c: Merged revision 173164 from trunk to fix variable names for FREEA * oligoindex_hr.c: Merged revision 173163 from trunk to initialize some return variables when exiting trimming procedure early * chimera.c, chimera.h, gmap.c, pair.c: Merged revision 173162 from trunk to fix issues when chimeras extend to beginning or end of chromosomes * dynprog_genome.c: Merged revision 173161 from trunk to fix bridging intron gaps when no probabilities are found 2015-08-31 twu * gmap.c, outbuffer.c, src, stage1.c, stage3.c: Merged revision 173034 to not use alloca for array of Batch_T objects 2015-08-27 twu * stage3.c: Applied revision 172740 from trunk to change criterion for evaluating splice neighborhood to allow for short ends * sarray-read.c: Applied revision 172478 from trunk to use max_mismatches_allowed from original call to suffix array algorithm, and not allowing it to be unlimited * stage3hr.c: Applied part of revision 172472 from trunk to call Genome_get_segment_blocks_left with chroffset and not chrhigh * genome.c: Applied revision 172476 from trunk to set end of genomealt string to be NULL * dynprog_genome.c: Applied revision 172475 from trunk to change loop end condition to avoid accessing uninitialized variables * gsnap.c, samprint.c, samprint.h: Applied revisions 171145 and 171803 from trunk to add flags --add-paired-nomappers and --paired-flag-means-concordant * oligoindex_hr.c: Applied revision 170792 from trunk to restore missing line in counting of 9-mers * public-2015-07-23: Created release branch for 2015-07-23 2015-07-23 twu * VERSION: Updated version number * stage1hr.c: Removed an abort command from debugging * sarray-read.c: Using new interface to Bytecoding lcp_next function. Commented out code that is not used when SUBDIVIDE_ENDS is not defined. * bytecoding.c, bytecoding.h: Call to lcp_next now returns child_next * VERSION: Updated version number * dynprog_genome.c: Fixed boundaries that led to negative coordinates for splice site candidates. * stage1hr.c: Removed unused variables * stage1hr.c: Removed allvalidp as parameter to align_end and align_pair. 2015-07-22 twu * stage1hr.c: Setting spanningsetp and completesetp to false if querylength < min_kmer_readlength * stage1hr.c: Removed restriction on min_readlength. Running only suffix array, if possible, if reads are too short. * access.c: Changed user message * sarray-write.c: Changing plcp[n] to be 0 instead of -1 * sarray-read.c: Improved debugging results * access.c: Printing user message if shmem fails 2015-07-17 twu * get-genome.c, sequence.c, sequence.h: Added flags for --stream-chars and --stream-ints 2015-06-26 twu * 2015-statgen, Makefile.gsnaptoo.am, algorithm.tex, discussion.tex, features.tex, introduction.tex, trunk, util: Modified mergeinfo * config.site.rescomp.tst: Updated version * index.html: Updated for version 2015-06-23 * archive.html: Updated for version 2014-12-31 * README: Removed references to Goby * access.c, bigendian.c, bigendian.h, bitpack64-access.c, bitpack64-read.c, bitpack64-readtwo.c, bytecoding.c, compress.c, compress.h, genome-write.c, genome.c, genome.h, genome128_hr.c, iit-read-univ.c, indexdb.c, indexdb_hr.c, sarray-read.c, sarray-write.c, snpindex.c, src, types.h, univinterval.h: Merged revisions 167282 through 168383 from branches/2015-06-10-bigendian to support bigendian architectures * Makefile.dna.am, Makefile.util.am: Added instructions for check-bigendian 2015-06-24 twu * VERSION, config.site.rescomp.tst: Updated version number * algorithm.tex, biblio.bib, discussion.tex, features.tex, introduction.tex, toplevel.tex: Final version * stage1hr.c: Added comments * gmap.c: Removed message about different batch levels * gsnap.c: Added option --master-is-worker for MPI version * access.c: Using malloc whenever shmget fails 2015-06-15 twu * stage1hr.c: Removed extra #endif statements * 2015-statgen, Ambiguous-splicing.eps, Hierarchical-GMAP.eps, Large-hash-table.eps, Makefile.gsnaptoo.am, Overlapping-alignment.eps, VERSION, biblio.bib, config.site.rescomp.tst, toplevel.tex, trunk, util: Updated version number * stage1hr.c: Fixed indentation * genome.c, genome128_hr.c, gmap.c, gsnap.c, indexdb.c, mode.h, sarray-read.c, src, stage1hr.c, substring.c, uniqscan.c: Merged revisions 165630 through 167691 from branches/2015-05-13-ttoc to implement ttoc mode * splice.c: Applied revision 167580 from releases/public-2014-12-17. In group_by_segmenti_aux and group_by_segmentj_aux, checking plusp for each individual hit in deciding whether to group donor or acceptor. * bitpack64-readtwo.c: Added debugging statements * sarray-read.c: Defining a variable for debugging * oligoindex_hr.c: Defining reverse_nt for machines without SSE4.1 2015-06-11 twu * stage3hr.c: Changed occurrences of Uintlist_next to Uint8list_next for LARGE_GENOMES * oligoindex_hr.c: Providing alternative to _mm_extract_epi32 for machines without SSE4.1 * access.c, acinclude.m4, configure.ac, shm-flags.m4: Including check for SHM_NORESERVE * Makefile.gsnaptoo.am: Removed -lrt * sarray-read.c: Initializing chromosome values to be those for chrnum 1 to handle left == 0 * VERSION, index.html: Updated version number * sarray-write.c: Removing rankfile * gmapindex.c: Removing rankfile 2015-06-10 twu * gmap_build.pl.in: Changed flag from --no-sarray to --build-sarray * atoiindex.c, cmetindex.c: Added flag --build-sarray 2015-06-09 twu * indel.c: Added debugging statements * stage1hr.c: Bypassing gmap on region if mappingend is less than or equal to mappingstart, which can happen if the region is pushed to the beginning or end of the chromosome * stage3hr.c: Assigning loop variable to given junctions before we push left_ambig 2015-06-07 twu * stage3.c: Reversed last revision, and put trim_novel_spliceends at beginning of path_trim, since putting it at the end results in an infinite loop 2015-06-06 twu * stage3hr.c: Added debugging statement * stage3.c: Moved trimming of novel spliceends from beginning of path_trim procedure to end * pair.c: Fixed computation of circularpos for minus alignments 2015-06-05 twu * samprint.c: Removed unused variables * stage3hr.c: In printing translocations, getting separate chrs for the two halves. Turned on TRANSLOC_SPECIAL. * samprint.c: In printing halfdonors and halfacceptors, comparing endlengths to trimlengths to determine whether to print H or S in CIGAR string * samprint.c: Fixed printing of CIGAR strings for minus alignments 2015-06-04 twu * stage1hr.c: Added lowpos and highpos to Segment_T object. Rewrote dynamic programming procedures for converting segments to pairs. 2015-06-03 twu * stage1hr.c: In converting segments to GMAP, changed criteria for dynamic programming to be relative to anchor_segment and not to segment[k]. * sarray-read.c, stage3hr.c: Using new interface to Substring_new_ambig * substring.c, substring.h: Setting trim_left and trim_right for ambiguous substrings 2015-06-02 twu * stage3hr.c, substring.c, substring.h: Renamed outofbounds variables to outofbounds_start and outofbounds_end. Handling the case where the alignment is out of bounds to the left of the current chromosome. * VERSION: Updated version number * archive.html, index.html: Made changes for new version * stage1hr.c: Handling the case where floors is NULL, such as for a poly-A read * stage3hr.c: Fixed genomic segments for converting substrings to GMAP * stage1hr.c: For converting segments to GMAP, fixed criteria for allowing non-monotonic query orders and possible insertions * stage3hr.c: Fixed bug in referring to uninitialized substring * substring.c, substring.h: Removed left_genomicseg field * stage3hr.c: In converting substrings to GMAP, using correct genomic nucleotide now * gsnap.c: Made batch level 4 the default * stage1hr.c: Reordered search algorithms. Limiting number of anchor segments, and pairing up those instead. Disabling doublesplicing algorithm. * sarray-read.h: Removed references to sarray_gmap * sarray-read.c: Removed references to sarray_gmap * pair.c, pair.h: For GSNAP default output format, no longer printing pair info for single-end reads * memory-check.pl: Handling results for non-threaded runs * sarray-read.c: Fixed memory leak * stage1hr.c: Deferring read_oligos until we need them for spanning set or complete set algorithms * stage1hr.c: Fixed call to single hit alignment of GMAP. Made batch level 4 the default for memory. * stage1hr.c: Allowing terminal alignments only if no single-end alignments are found, or if no concordant alignments are found. * sarray-read.c: Fixed memory leak * stage1hr.c: Limiting number of anchor segments. Implementing terminal alignments. * stage3hr.c: Using new interface to Substring procedures * substring.c, substring.h: Removed unused variables * samprint.c: Removed obsolete code for printing specific GSNAP types * stage1hr.c: Implemented finding of terminals based on anchor segments * stage3hr.c: Fixed accumulation of ilength_high. In comparing GMAP against substrings, iterating through all substrings. * stage3hr.c, stage3hr.h, substring.c, substring.h: Fixed issues with substring boundaries, computing genomic_diff, and marking mismatches * stage2.c: Removed GMAP-specific code from GSNAP * samprint.c: Changed call to get querylengths * genome128_hr.c, genome128_hr.h: Removed mismatch_offset 2015-05-31 twu * samprint.c: Removed references to Pair_check_cigar. Changed calls to get cdna_direction to those for sensedir. * pair.c: Removed printing of state * substring.c: Removed references to genomicstart_adj and genomicend_adj in converting substrings to pairs * stage3hr.h: Removed interface for Stage3end_indel_pos * stage3hr.c: Changed calls to Substring_new for insertion and deletion types to conform to new substrings standards, where each substring has its genomicstart and genomicend adjusted for indels. Removed indel_pos and indel_low fields from Stage3end_T object. Removed code for printing separate GSNAP types. * stage3hr.c: Setting trim_left, trim_right, trim_left_splicep, and trim_right_splicep for substring hit type 2015-05-30 twu * stage3hr.c: Fixed coordinate error in test_hardclips * stage3hr.c: Fixed typo 2015-05-29 twu * samprint.c, stage3hr.c: Fixed issues in finding substring_low for minus alignments using hardclip_low * stage3hr.c: Fixed computation of ilength for substrings * 2015-statgen, Ambiguous-splicing.eps, DP-triangles.eps, Diagonalization.eps, Hierarchical-GMAP.eps, Large-hash-table.eps, Makefile.gsnaptoo.am, Overlapping-alignment.eps, README, SIMD-oligomers.eps, Vertical-format.eps, algorithm.tex, biblio.bib, context.tex, diag.c, diag.h, diagpool.c, diagpool.h, discussion.tex, doublelist.c, doublelist.h, features.tex, genome128_hr.c, gmap.c, gsnap.c, indel.c, indel.h, intlist.c, intlist.h, introduction.tex, junction.c, junction.h, list.c, list.h, oligoindex_hr.c, oligoindex_hr.h, pair.c, pair.h, samprint.c, samprint.h, sarray-read.c, sarray-read.h, sequence.c, splice.c, splice.h, splicing-score.c, src, stage1hr.c, stage1hr.h, stage2.c, stage2.h, stage3.c, stage3.h, stage3hr.c, stage3hr.h, substring.c, substring.h, toplevel.tex, trunk, uint8list.c, uint8list.h, uintlist.c, uintlist.h, uniqscan.c, univdiag.c, univdiag.h, univdiagdef.h, util: Merged revisions 162218 to 166640 from branches/2015-03-28-sarray-gmap, 2015-03-31-new-sarray-, 2015-05-07-sarray-ambig, 2015-05-21-segment-gmap, and 2015-05-22-fast-oligoindex * config.site.rescomp.tst, trunk: Updated version number * index.html: Made changes for 2014-12-29 * samprint.c: Moved position of #endif line 2015-05-28 twu * substring.c: Fixes to debugging statements * stage3.c: Fixes to debugging statements * samprint.c, samprint.h: Revisions to SAM_compute_chrpos * output.c: Using new interface to SAM_compute_chrpos 2015-05-20 twu * gmapindex.c, src: Allowing genomecomp to be a command-line argument. Merged changes from branches-2015-05-15-compressed-sarray to allow for compressed suffix arrays. * gmap_build.pl.in, util: Providing genomecomp file as a command-line argument, instead of piping it into gmapindex * sarray-write.c, sarray-write.h: Merged changes from branches/2015-05-15-compressed-sarray to allow for compressed suffix arrays, but removed csafile needed for debugging * sarray-read.c: Turning off code for compressed suffix arrays * indexdb-write.c, indexdb-write.h: Allowing the case where genomelength is less than index1part * bitpack64-write.h: Improved comments * access.c: Merged changes from branches/2015-05-15-compressed-sarray to assign *fd, even if file is empty * sarray-read.c: Merged code for compressed suffix array. Implemented different methods for Elt_fill_positions_filtered, depending on whether the filtering occurs more than once. * gmap.c: Using new interface to Pair_setup 2015-05-16 twu * output.c: Not computing chrpos for SAMECHR_SPLICE and TRANSLOC_SPLICE hittypes * gmap.c, gsnap.c, pair.c, pair.h, uniqscan.c: Fixed issue with printing nsnpdiffs for GMAP alignments * stage3hr.c: Turned on TRANSLOC_SPECIAL to remove translocations when non-translocation alignments are found. Using effective_chr for printing purposes. Pushing both substrings for a distant splice. Using querystart and queryend instead of querystart_adj and queryend_adj for computing insertlength. * samprint.c: Using Substring_compute_chrpos to compute chrpos based on substrings instead of Stage3end_T object * substring.c, substring.h: Implemented Substring_compute_chrpos 2015-05-01 twu * iit-read.c: Checking for the possibility in IIT_get_highs_for_low and IIT_get_lows_for_high of a zero-length array. * stage3hr.c: Fixed order of LtoH substrings for deletions * oligoindex_hr.c: Replaced count_fwdrev_simd with individual count_*mer_fwd|rev_simd procedures * substring.c: Revised some debugging statements * stage3hr.c: Retaining old information about sarrayp when copying a Stage3_T object * stage3.c: Initializing max_nmatches to be 0 in end-trimming procedures * Makefile.gsnaptoo.am: Added -lrt to get shm commands * algorithm.tex, context.tex, features.tex, introduction.tex: Augmented captions * biblio.bib: Added references 2015-04-30 twu * discussion.tex: Added material * biblio.bib, toplevel.tex: Added references * algorithm.tex, features.tex, introduction.tex: Added citations * discussion.tex: Added text * context.tex: Added description of GSTRUCT * context.tex, discussion.tex: Moved HTSeqGenie to context.tex * introduction.tex: Added caption * features.tex: Revisions * Diagonalization.eps, Hierarchical-GMAP.eps, Large-hash-table.eps, Overlapping-alignment.eps, SIMD-oligomers.eps: Revised figures * algorithm.tex: Expanded caption * context.tex: Revisions 2015-04-29 twu * algorithm.tex: Revisions 2015-04-29 matthejb * discussion.tex: + adding content to discussion 2015-04-29 twu * algorithm.tex: Revisions to diagonalization * toplevel.tex: Changed symbols for logical operations * algorithm.tex: Revisions * algorithm.tex: Revisions to linear genome 2015-04-28 matthejb * discussion.tex: + initial additions to discussion by MB 2015-04-28 twu * algorithm.tex: Moved material on large genomes from features.tex to here * introduction.tex: Revisions * features.tex: Revisions * algorithm.tex: Moved section on ranking alignments and eliminating duplicates to features.tex * discussion.tex: Added notes * algorithm.tex: Changed table * features.tex: Revisions * introduction.tex: Revisions 2015-04-27 twu * introduction.tex: Revisions 2015-04-27 michafla * biblio.bib, context.tex: first draft of gmapR writeup 2015-04-25 twu * Hierarchical-GMAP.eps, algorithm.tex, features.tex, introduction.tex, toplevel.tex: Revisions 2015-04-24 twu * algorithm.tex, features.tex, introduction.tex: Revisions * Ambiguous-splicing.eps, DP-triangles.eps, Diagonalization.eps, Hierarchical-GMAP.eps, Large-hash-table.eps, Overlapping-alignment.eps, SIMD-oligomers.eps, Vertical-format.eps: Added figures 2015-04-23 twu * 2015-statgen, algorithm.tex, context.tex, discussion.tex, features.tex, introduction.tex, papers, toplevel.tex: Added directory for editing papers 2015-04-07 twu * splice.c: Fixed probability calculation for an ambiguous splice 2015-03-27 twu * stage3hr.c: Allowing insertlength to be negative, up to -pairmax, to allow for overlaps. For debugging messages involving insert length, using chromosomal coordinates. * stage1hr.c: Added address of GMAP alignment to debugging messages * chimera.c: Added information about querypos and homology to XT field for GMAP * samprint.c: Removed old version of adjust_hardclips 2015-03-26 twu * filestring.c: Turned off debugging output to stdout * outbuffer.c: Allow possibility in MPI for output to stdout * mpidebug.h: Added tag for writing to stdout * mpidebug.c: Handling debugging output for MPI_BOOL_T as an unsigned char * master.c, master.h: Allow possibility in MPI for output to stdout * gsnap.c: Allow possibility in MPI for output to stdout * filestring.c: Allow possibility in MPI for output to stdout * gsnap.c: Allowing MPI with only a single thread per rank, by calling Master_parser as a detached thread * sarray-read.c: Allowing memory mapping for indexij_access 2015-03-25 twu * gmap.c, gsnap.c: Added USE_MPI checks around final MPI_Barrier * VERSION: Updated version number * access.c, access.h, atoiindex.c, cmetindex.c, configure.ac, genome.c, genome.h, get-genome.c, gmap.c, gmapindex.c, gsnap.c, iit-read-univ.c, iit-read.c, index.html, indexdb-write.c, indexdb.c, indexdb.h, indexdbdef.h, outbuffer.c, sarray-read.c, sarray-read.h, sarray-write.c, snpindex.c, src, trunk, uniqscan.c: Merged revisions 161768 through 161939 from branches/2015-03-23-shmem to implement shared memory 2015-03-24 twu * stage3hr.c: In test_hardclips, checking if low and high coordinates are equal * stage3hr.c: Fixed comparison of chrpos in adjust_hardclips_right and adjust_hardclips_left * stage3hr.c: In adjust_hardclips, advancing both low_querypos and high_querypos on either failure, to prevent infinite loop 2015-03-23 twu * stage3hr.c: In adjust_hardclips, advancing either low_querypos or high_querypos if needed * stage3hr.c: Doing a final test_hardclip when shift right and shift left are not possible * substring.c: In alias_circular and unalias_circular, updating genomicstart_adj and genomicend_adj 2015-03-22 twu * stage3hr.c: Changed endpoint test in Stage3end_substring_low * substring.c: Removed debugging string * substring.c, substring.h: Added fields genomicstart_adj and genomicend_adj for substring2 of insertions and deletions to handle computations with querypos to obtain a genomic position * stage3hr.c: Using genomicstart_adj and genomicend_adj in insertions and deletions to handle computations with querypos to obtain a genomic position 2015-03-21 twu * substring.c, substring.h: Substring_convert_to_pairs now takes genomicstart_indel_adj * stage3hr.c: No longer changing left2, genomicstart2, and genomicend2 for substring2 of insertions and deletions. Providing indel adjustments instead to Substring_convert_to_pairs. * pair.c: Made Pairarray_contains_p routine look for any case of a gap or indel for a given querypos * stage3hr.c: In adjust_hardclips, for dual GMAP, added the ability to shift low_querypos or high_querypos independently to make the low genomicpos and high genomicpos equal. * stage3hr.c: In test_hardclips, for dual GMAP, checking that the coordinates match for the two ends * stage3hr.c: On recomputing of hardclips near center, decrementing the higher value to make the clipping more even * stage3hr.c: Fixed bug in defining left2 for deletion * stage3hr.c: In find_ilengths, returning false instead of aborting * VERSION: Updated version number * list.c, list.h: Implemented List_pop_out * substring.c: Fixed genomic coordinates to be 0-based when converting from substrings to pairs * stage3hr.c: In test_hardclips, fixed bug with uninitialized values. In adjust_hardclips, checking querypos, querypos-1, and querypos+1 again. Also, for dual GMAP, checking that genomepos matches for the given low_querypos and high_querypos, meaning that alignments are similar. Always doing a recompute of ilengths after adjust_hardclips. Implemented stripping of gaps and indels that occur between the two parts when doing a merge overlap. 2015-03-20 twu * stage3hr.c: Subtracting 1 from alignstart or alignend in computing overlaps. The find_ilengths function returns false if a common point is not found. Added a test_hardclips step and separate right and left shifts for adjust_hardclip. Computing a separate genomicstart2 for substring2 of insertions and deletions. * pair.c, pair.h: Implemented Pairarray_lookup 2015-03-19 twu * stage3hr.c: Computing second hardclip from its ilength, not overlap. In finding common point involving GMAP, skipping introns and indels. Added code to check that merged overlap pieces are next to each other. 2015-03-18 twu * stage3hr.c: Fixed bug in some of the initial loops of adjust_hardclips * splice.c, stage1hr.c: Using only sensedir and not sensep in calling Substring_new_donor, acceptor, and shortexon * stage3hr.c, substring.c, substring.h: Removed unused variables and parameters. Using sensedir instead of sensep. 2015-03-17 twu * samprint.c: Removed unused parameters and variables * substring.c, substring.h: Making Substring_print_shortexon use sensedir instead of sensep. Removed unused parameters. * stage3hr.c: Calling Substring_print_donor, acceptor, and shortexon procedures with sensedir instead of sensep * pair.c, pair.h: Removed unused parameters * VERSION: Updated version number * output.c: Using new interface to SAM_compute_chrpos * samprint.c, samprint.h: Corrected calculations in SAM_compute_chrpos * stage3hr.c, stage3hr.h: Using substring_LtoH instead of substring_low and substring_high. Added initial shift in adjust_hardclips. Fixed calculation of overlap to depend only on common_left and common_right. * substring.c, substring.h: Changed Substring_chrstart and Substring_chrend to Substring_alignstart_chr and Substring_alignend_chr * output.c, samprint.c, samprint.h: Did a reverse merge to undo revision 160876 which used substring_hardclipped instead of substring_low 2015-03-13 twu * VERSION: Updated version number * output.c, samprint.c, samprint.h: Revised SAM_compute_chrpos to search for the hardclipped substring, rather than using substring_low * stage3hr.c: Changed comment * shortread.c: Initializing nextchar2 in various procedures * gsnap.c: Fixed small memory leak 2015-03-11 twu * stage3hr.c: Adjusting hardclips by checking adjacent positions left and right of the crossover querypos. * substring.c: Removed comment * stage3hr.c: Restored correct ilength calculations for minus strand 2015-03-06 twu * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, index.html: Updated version number * stage3hr.c: Added comparisons in hitpair_sort_cmp to fix issue where duplicate alignments were not being put together for removal * oligoindex_hr.c: Implemented bit twiddling and SIMD-based method for computing reverse_nt 2015-03-03 twu * stage3.c: Removed automatic trimming of ends less than 12 bp. Fixed bug in assigning splice pair in end trimming procedures. * ax_ext.m4: Performing run test for tzcnt_u32 and tzcnt_u64 * stage3hr.c: Made minor fixes in --clip-overlap feature, including fixes to gaps and overlaps, more even division of overlaps, and preference for clipping heads rather than tails in cases of ties * stage3.c: Turning off branch that can lead to bad CIGAR strings * inbuffer.c: Defining variable needed when MPI_FILE_INPUT is specified * gsnap.c: Doing a chromosome_iit_setup before worker_setup * genome128_hr.c: Using HAVE_TZCNT instead of HAVE_BMI1 2015-02-25 twu * stage1hr.c, stage3hr.c, stage3hr.h: Printing an accession when reporting a CIGAR error * inbuffer.c, inbuffer.h: Changed nspaces to be an unsigned int * gsnap.c: Moved pthread_attr_init to places just before they are needed * Makefile.gsnaptoo.am: Added master.c and master.h as extra files to be distributed * master.c: Added pre-processor macros * gsnap.c: Added pre-processor macro around inclusion of master.h * Makefile.gsnaptoo.am, VERSION, config.site.rescomp.prd, config.site.rescomp.tst, filestring.c, filestring.h, gsnap.c, inbuffer.c, inbuffer.h, index.html, master.c, master.h, mpidebug.c, mpidebug.h, src, trunk, util: Merged revisions 158119 through 159424 from branches/2015-02-05-mpi-workers-0 to allow for worker threads in rank 0 2015-02-12 twu * gmap.c: Added debugging statements * chimera.c, pair.c, pair.h: Providing Pair_pathscores with a pre_extension_slop parameter. Distinguishing between call to Pair_pathscores when finding non-extended paths to pair up, and when finding a breakpoint between the final, extended paths. * outbuffer.c: Rearranged procedures for compilation to work * pair.c: In Pair_print_sam, always doing a Pair_compute_cigar * outbuffer.c: Printing SAM headers on empty files 2015-02-10 twu * gmap.c: Allowing PMAP to have variables for gff3_separators_p * gmap.c, gsnap.c, pair.c, pair.h, uniqscan.c: For gff3 output, always adding a separator line. Added --gff3-add-separators flag to GMAP. * stage1.c: In find_range, limiting number of results to 100 to avoid getting bogged down in repeats * gff3_genes.pl.in, gff3_introns.pl.in, gff3_splicesites.pl.in: For gff3 files without a gene name, always read $chr from line 2015-02-05 twu * pair.c: GMAP always recompute cigar_tokens, in case merging has affected them 2015-02-04 twu * pair.c: Added slop in computing Pair_pathscores, to allow for better identification of translocations * gmap.c: Improved debugging statements * chimera.c: Changed type of some debugging statements 2015-02-03 twu * VERSION, gmap.c, gsnap.c, pair.c, pair.h, samprint.c, src, stage3.c, stage3hr.c, stage3hr.h, trunk, uniqscan.c: Merged revisions 157793 through 157918 from branches/2015-01-30-cigar-check to create and check cigar strings when Stage3_T or Stage3end_T objects are created 2015-01-30 twu * stage1hr.c: Using new interface to Stage3_compute * gmap.c: Using new interface to Stage3_compute and Stage3_new. No longer calling Stage3_recompute_goodness. * pair.c, pair.h: Implemented Pair_fracidentity_array, which returns goodness * stage3.h: Changed Stage3_recompute_goodness to Stage3_compute_mapq. Always recomputing matches and goodness when this->pairarray is assigned. Removed references to END_KNOWNSPLICING_SHORTCUT. * stage3.c: Changed Stage3_recompute_goodness to Stage3_compute_mapq. Always recomputing matches and goodness when this->pairarray is assigned. Removed references to END_KNOWNSPLICING_SHORTCUT. 2015-01-29 twu * stage3.c: In Stage3_cmp, using npairs and matches as secondary criteria beyond goodness * gmap.c: Cleaned up unused variables and parameters. Using new interface to Stage3_compute * filestring.c: Added ability to handle %f * stage3.c, stage3.h: Cleaned up unused variables and parameters * stage1hr.c: Using new interface to Stage3_compute * pair.c: Using false instead of 0 2015-01-28 twu * gmap.c: Added call to Outbuffer_cleanup() * outbuffer.c: Moved lock outside of loop to prevent a race condition * inbuffer.c: Removed check of nextchar == EOF, which causes standard GSNAP and GMAP not to terminate * shortread.c, shortread.h: Fixed some issues with variable names for MPI code * outbuffer.c, outbuffer.h: Added Outbuffer_cleanup, which frees array of outputs * inbuffer.c: Allowing for gzipped and bzipped2 files in MPI version by sending and receiving filecontents * gsnap.c: Calling Outbuffer_cleanup * gmap.c: Revealed variable needed for debugging * filestring.c, filestring.h: Implemented Filestring_send and Filestring_recv * compress.c: Fixed comment 2015-01-27 twu * shortread.c: Made code consistent across text, gzip and bzip2. Added hooks for filling a Filestring_T object in gzip and bzip2 procedures. 2015-01-26 twu * index.html: Updated for 2014-12-17.v2 * shortread.c, shortread.h: Using workers_comm in MPI_fopen * mpidebug.c, mpidebug.h: Using workers_comm in MPI_fopen * inbuffer.c, inbuffer.h: Passing workers_comm to Shortread_read_filecontents * gsnap.c: Introduced a workers_comm so MPI_File_open and MPI_File_close can be restricted to that group * shortread.c: Added debugging statements for opening and closing files * gsnap.c: Added debugging statements for opening and closing files. For MPI master using MPI_File input, explicitly closing those inputs. * gsnap.c: Using new interfaces to Inbuffer_setup, Inbuffer_new, and Inbuffer_master_process. Master rank 0 no longer calling Inbuffer_new. * gmap.c: Using new interface to Inbuffer_new * inbuffer.c: No longer making a special case in fill_buffer for MPI when nextchar at end of block is EOF. * shortread.c, shortread.h: MPI procedures for reading from filecontents also close and open input files * inbuffer.h: Moved nspaces into Inbuffer_T object and into Inbuffer_new instead of Inbuffer_setup. Made Inbuffer_master_process free of an Inbuffer_T object. * inbuffer.c: Moved nspaces into Inbuffer_T object and into Inbuffer_new instead of Inbuffer_setup. Made Inbuffer_master_process free of an Inbuffer_T object. 2015-01-23 twu * inbuffer.c: Added comments * gsnap.c: Created separate worker_setup and worker_cleanup procedures * inbuffer.c: Assigning filecontents buffers to the IN category for memusage * config.site.rescomp.prd, gsnap.c, inbuffer.c, inbuffer.h, shortread.c, shortread.h, src, trunk: Merged revisions 157242 to 157253 from branches/2015-01-22-mpi-file-block to have worker ranks read blocks into a buffer 2015-01-22 twu * memchk.c, popcount.c: Added include of config.h * configure.ac: Changed variable name from USE_MPI_FILE to USE_MPI_FILE_INPUT * samheader.h: Added include of * oligoindex_pmap.h: Added explanation of why config.h needs to be included * iit-read-univ.h: Added include of * gsnap.c, inbuffer.c, inbuffer.h, shortread.c, shortread.h: Checking for both USE_MPI and USE_MPI_FILE_INPUT in using MPI_File for input * chrsubset.h: Added blank line for formatting * bitpack64-read.h, bitpack64-serial-read.h, compress.h, dynprog.h, except.h, genomicpos.h, iit-read.h, indexdb-write.h, indexdb.h, indexdbdef.h, popcount.h, sequence.h: Added include of config.h * filestring.h, mpidebug.h, oligoindex_hr.h, samprint.h, sortinfo.h: Removed include of config.h, since not necessary * bigendian.h, fopen.h, iitdef.h, littleendian.h, mem.h, oligoindex.h, types.h: Added explanation of why config.h needs to be included * atoi.h, bitpack64-write.h, cmet.h: Added $Id$ string * access.h, alphabet.h, backtranslation.h, block.h, boyer-moore.h, bp-read.h, bp-write.h, bytecoding.h, bzip2.h, chrom.h, chrsegment.h, datadir.h, diag.h, diagdef.h, diagpool.h, genome-write.h, genome128-write.h, genome_hr.h, genome_sites.h, genomepage.h, gregion.h, iit-write-univ.h, iit-write.h, indel.h, indexdb_hr.h, interval.h, intlist.h, intpool.h, intron.h, match.h, matchdef.h, matchpool.h, maxent128_hr.h, maxent_hr.h, oligo.h, oligop.h, pairdef.h, parserange.h, reader.h, stage1.h, tableuint8.h, tally.h, translation.h, univinterval.h: Added blank line for formatting 2015-01-21 twu * stage3hr.c: Turning on SOFT_CLIPS_AVOID_CIRCULARIZATION again to avoid duplicates in circular chromosomes * ax_mpi.m4: Added cc to list of possible values for MPICC, for systems that use a wrapper called cc * shortread.c: Fixed parsing issues for blank lines and ends of files * configure.ac: Added configure flag --enable-mpi-file * Makefile.gsnaptoo.am: Removed mpi_gmap for now * gsnap.c, pair.c, pair.h: Added noprint option for --action-if-cigar-error and made it the default * gsnap.c, inbuffer.c: Made -q or --part flag work for MPI code * inbuffer.c: Added ending brace for MPI code * shortread.c: Fixed bug in a print statement where a pointer was not being provided. In input_oneline, making a single read to get nextchar. * inbuffer.c: Not doing fseek if nextchar is EOF * gsnap.c: Removed a debugging statement * filestring.c: Increased size of buffer * outbuffer.c, outbuffer.h: Added parameter for output_file * gmap.c: Using new interface to Outbuffer_setup and Outbuffer_print_filestrings * samheader.c, samheader.h: Applied changes from branches/2015-01-17-mpi-seq * outbuffer.c, outbuffer.h: Applied changes from branches/2015-01-17-mpi-seq. Removed code for Outbuffer_mpi_process. * inbuffer.c: Removed requestid variable from fill_buffer for GMAP * iit-read-univ.c, iit-read-univ.h: Applied changes from branches/2015-01-17-mpi-seq * gsnap.c: Applied changes from branches/2015-01-17-mpi-seq * gmap.c: Put in dummy variables for Inbuffer_new * filestring.c, filestring.h: Applied changes from branches/2015-01-17-mpi-seq 2015-01-20 twu * config.site.rescomp.tst, filestring.c, filestring.h, gsnap.c, inbuffer.c, inbuffer.h, mpidebug.c, mpidebug.h, outbuffer.c, shortread.c, shortread.h, src, trunk: Merged revisions 156908 to 157083 from branches/2015-01-17-mpi-seq to change the input side of mpi_gsnap * index.html: Updated for version 2014-12-17 * VERSION: Updated version number * samprint.c: Consolidated print statements * output.c: Defining abbrev for a nomapper * diag.c: Added debugging statement 2015-01-16 twu * gmap.c, pair.c, stage2.c, stage3.c: Merged revisions 156824 to 156843 from branches/2015-01-15-fix-chimeras to make better decisions for last exons having partial alignments 2015-01-15 twu * oligoindex_hr.c: Allowing diagonals where ptr->i < querylength. Reveals alignments that were otherwise missed. * gmap.c: Fixed debugging statements to use Sequence_stdout instead of Sequence_print * chimera.c, chimera.h, gmap.c: Fixed algorithm for finding non-exon-exon chimeric breakpoint and finding dinucleotides 2015-01-14 twu * stage3hr.c: In anomalous_splice_p procedures, checking for samechr_splice hittypes * stage1hr.c: Not applying GMAP to samechr_splice hittypes 2015-01-07 twu * oligoindex_hr.c: Fixed type for positions_space field in Oligoindex_T * oligoindex_hr.c: Fixed type for positions_space field in Oligoindex_T * oligoindex_hr.c, oligoindex_hr.h, oligoindex_old.c, oligoindex_old.h, src, stage2.c, trunk: Merged revisions 154793 through 156263 from branches/2014-12-06-stage2-larger-kmers to allow for 9-mers in stage 2 * config.site.rescomp.prd, config.site.rescomp.tst: Updated version number * VERSION: Updated version number * index.html: Added changes for version 2014-12-16 (v2) * substring.c: Fixed assertions to account for out-of-bounds regions * README: Added explanation of XI field * pair.c, samprint.c, shortread.c, shortread.h: Added code for XI field 2015-01-05 twu * stage1hr.c: Using correct typecast of ambcoords to (Uint8list_T) NULL for large genomes * stage2.c: Fixed uninitialized variable for firstactive 2014-12-17 twu * gsnap.c, uniqscan.c: Using new interface to Stage3hr_setup * stage3hr.c, stage3hr.h: Computing outofbounds_left and outofbounds_right. Using new interface to Substring_new. * substring.c, substring.h: Added provision for outofbounds_left and outofbounds_right, to be considered part of trimming 2014-12-16 twu * gsnap.c: Changed input sequence to open input streams to get one character and determine if it is FASTQ format, and then to do Shortread_setup, and then to fill the inbuffer. * sarray-read.c: Fixed typo: spliceends_antisense => spliceends_sense * substring.c: Removed debugging statement * samheader.c: Not printing tabs if there are no headers * sam_sort.c: Setting fileposition variable for each file * filestring.c: Handling the case where filestring is NULL 2014-12-12 twu * doublelist.c: Fixed type error in doublelist_to_array_out * Makefile.gsnaptoo.am, config.site.rescomp.prd, gsnap.c, samprint.c, src, stage1hr.c, stage1hr.h, stage3hr.c, substring.c, substring.h, trunk, uniqscan.c: Merged revisions 154499 through 155289 from branches/2014-12-03-dna-chimeras * VERSION, config.site.rescomp.prd: Updated version number * sam_sort.c: Revised sam_sort to handle multiple input files * Makefile.am, Makefile.gsnaptoo.am, VERSION, access.c, ax_mpi.m4, backtranslation.c, backtranslation.h, bool.h, bootstrap.gsnaptoo, chimera.c, chimera.h, config.site, config.site.rescomp.prd, config.site.rescomp.tst, configure.ac, filestring.c, filestring.h, genomicpos.c, genomicpos.h, get-genome.c, gmap.c, gsnap.c, iit-read-univ.c, iit-read-univ.h, iit-read.c, iit-read.h, inbuffer.c, inbuffer.h, md5.c, md5.h, mem.c, mem.h, memory-check.pl, mpi, mpidebug.c, mpidebug.h, outbuffer.c, outbuffer.h, output.c, output.h, pair.c, pair.h, request.c, request.h, resulthr.c, resulthr.h, revcomp.c, sam_sort.c, samflags.h, samheader.c, samheader.h, samprint.c, samprint.h, sarray-read.c, segmentpos.c, segmentpos.h, sequence.c, sequence.h, shortread.c, shortread.h, src, stage1hr.c, stage2.c, stage2.h, stage3.c, stage3.h, stage3hr.c, stage3hr.h, substring.c, substring.h, translation.c, translation.h, trunk, types.h, uniqscan.c: Merged revisions 154226 to 155279 from branches/2014-11-27-mpi to implement MPI versions and to use Filestring_T objects for all output * VERSION, config.site.rescomp.prd, index.html: Updated version number * genome.c, genome.h: Changed type of gbuffer from unsigned char to char 2014-12-10 twu * oligoindex_hr.c: Added code for handling 9-mers 2014-12-06 twu * stage1hr.c: Fixed typo in assigning probs_acceptor * VERSION, config.site.rescomp.prd, doublelist.c, doublelist.h, gsnap.c, samprint.c, sarray-read.c, splice.c, src, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, trunk, uniqscan.c: Merged revisions 154673 through 154777 from branches/2014-12-04-stage1-ambig to compute ambiguous splicing better in suffix array, stage1, and combining splices. Fixed memory leak and changed criteria for comparing across hits 2014-12-05 twu * samprint.c, stage3hr.c, stage3hr.h: Merged revisions 154673 through 154678 from branches/2014-12-04-stage1-ambig to change XA field * index.html: Updated for latest version * configure.ac: Added more detailed messages about our own loading of config.site files to counteract the warning message from the standard autoconf loading 2014-12-04 twu * uniqscan.c: Using new interface to Substring_setup * gsnap.c: Replaced --terminal-output-minlength with --reject-trimlength * stage1hr.c, stage1hr.h: Calling Sarray_search_greedy with nmisses_allowed being cutoff_level, and not querylength. Using reject_trimlength instead of terminal_output_minlength. * stage3hr.c, stage3hr.h: Replaced Stage3_filter_terminals with Stage3_reject_trimlengths * substring.c, substring.h: Implemented new logic based on reject_trimlength. True terminals from the GSNAP algorithm are allowed at this point (but taken care of now by Stage3end_reject_trimlengths). * sarray-read.c: Improved debugging statements 2014-12-03 twu * stage3hr.c: No longer trying to clip overlaps when the two ends are not in a concordant orientation * outbuffer.c: Using new interface to SAM_print_nomapping * samprint.c, samprint.h: Allowing for non-zero npaths to be printed in SAM_print_nomapping as an NH field, which can occur with the --quiet-if-excessive feature * samread.c: Allowing for the possibility that XO is the first field in a SAM line * stage3hr.c: Fixed problem with --merge-distant-samchr feature giving the wrong chrpos on SAM output on distant splices, since this was being treated the same as a translocation (chrnum == 0) * samread.c: Terminating parse_XO procedures for either '\0' or '\n' * gmap.c, gsnap.c: Including default variables in --help statement 2014-12-02 twu * stage3hr.c: Calculating common_shift to get more even splits between the two paired ends, by accounting for the common shared point between common_right and common_left. * sarray-read.c: Fixed typo in a for loop * sam_sort.c: Made --no-sam-headers option work correctly * sam_sort.c, samheader.c, samheader.h: For --split-output function, writing SAM header files to each output file 2014-11-27 twu * archive.html, index.html: Updated for latest version 2014-11-26 twu * README: Added comment about sam_sort and --split-output 2014-11-25 twu * sam_sort.c, samflags.h, samread.c, samread.h: Added --split-output and --append-output options * outbuffer.c: Changed abbrev NM in comment * stage1hr.c: Changed calculation of amb_nmatches to amb_length * stage3hr.c: Swapping ilength_low and ilength_high for GMAP when alignment is minus * stage1hr.c: Turning off debugging * bootstrap.gsnaptoo: Running automake to add missing files * trunk, util: Merged revisions 153682 to 154020 from branches/2014-11-20-redo-overlap to compute overlap better using ilength53 and ilength35 and a common shift * outbuffer.c, pair.c, pair.h, samprint.c, samprint.h, src, stage3hr.c, stage3hr.h, substring.c, substring.h: Merged revisions 153682 to 154020 from branches/2014-11-20-redo-overlap to compute overlap better using ilength53 and ilength35 and a common shift * sarray-read.c: Merged revisions 153682 to 154020 to handle ambiguous splicing better 2014-11-24 twu * INSTALL, VERSION, config.site.rescomp.prd, index.html, trunk: No longer keeping track of INSTALL * config.guess, config.sub, ltmain.sh: No longer keeping track of config.guess, config.sub, or ltmain.sh * gmap_build.pl.in: Added comment about meaning of -D flag * acinclude.m4, configure.ac: Adding check for MPI * ax_mpi.m4: Added code for MPI * access.c, bitpack64-read.c, bitpack64-readtwo.c, bitpack64-write.c, compress-write.c, genome-write.c, genome.c, genome128-write.c, genome128.c, genome_sites.c, get-genome.c, gmapindex.c, iit-read-univ.c, iit-read.c, iit_get.c, iit_store.c, indel.c, indexdb-write.c, indexdb.c, indexdb_hr.c, mem.c, oligoindex_hr.c, sam_sort.c, samheader.c, snpindex.c, src, stage1hr.c, stage3.c, table.c, tableuint8.c, uniqscan.c, univinterval.c: Merged revisions 153114 to 153944 from branches/2014-11-12-make-check-i386 to make tests work in i386 computers * stage3hr.c: Not using ambiguous splices to update found_score * stage2.c: Removed adjacentp as unused variables * samprint.c, samprint.h: For circular alignments, checking for sole HS pattern. Also checking for chrpos > chrlength, and subtracting chrlength if necessary. * pair.c, pair.h: Added Cigar_action_T. Added Pair_check_cigar. Removed prev as an unused variable. * iit-write-univ.c: Handling the case if total_nintervals is 0 * gmap.c, gsnap.c: Added --action-if-cigar-error 2014-11-18 twu * bytecoding.c: Removed unused variable * gmapindex.c: Printing genome length to stderr * bytecoding.c: Using a buffer of 10,000,000 block-sizes, and writing iteratively, rather than a single buffer and single write. 2014-11-13 twu * gmapindex.c: Made some changes in casting. Fixed printf format to use %llu. * stage3hr.c: Renamed amb_nmatches to amb_length. * stage3hr.h: Renamed amb_nmatches to amb_length. * samprint.c: In adjust_hardclips, not changing hardclips if shift downward fails. Renamed amb_nmatches to amb_length. * splice.c: Renamed amb_nmatches to amb_length. Providing Substring_match_length_orig to amb_length in Stage3end_new_splice and Stage3end_new_shortexon * stage1hr.c: Renamed amb_nmatches to amb_length. Providing Substring_match_length_orig to amb_length in Stage3end_new_splice and Stage3end_new_shortexon 2014-10-31 twu * iit-read-univ.c, iit-read.c: Using %llu and casting to (long long int) for printing offset and filesize * gmap.c, gsnap.c: Using %zu for printing results of sizeof(). 2014-10-29 twu * stage3hr.c: Restoring revision of SAM insertlength for ends involving GMAP when method is successful * stage3hr.c: Fixed SAM output of insert length of 0 when no overlap is found in a GMAP alignment * stage3.c: Added debugging statements * gmap.c, gmapindex.c, gsnap.c: Added output statement at end of checking compiler assumptions * README: Added comment about change from PG: to XG: * ax_ext.m4, configure.ac: Added option to enable or disable sse4.2 * samprint.c: Fixed typo in adjust_hardclips. Also, when querypos increase fails, trying querypos decrease. * samprint.c: Fixed infinite loop in adjust_hardclips 2014-10-28 twu * stage3hr.c: Fixed bug with uninitialized variables * outbuffer.c: Fixing potential data race as noted by valgrind for this->ntotal between input and output threads, although not problematic before, because this->ntotal increases monotonically 2014-10-27 twu * stage3hr.c: Fixed computation of overlap between GMAP and non-GMAP alignments 2014-10-22 twu * gregion.c: Checking size before deciding to use alloca or malloc. 2014-10-16 twu * stage2.c: Fixed an uninitialized variable in grand_fwd and grand_rev procedures, plus the checks on maxintronlen in computing grand_fwd_lookforward and grand_rev_lookforward. * shortread.c: Allowing queryseq1 to be equal to SKIPPED. Removed unused parameter acc from input_oneline routines. * VERSION, index.html: Updated version number * stage1hr.c: Added debugging statement * sarray-read.c: Don't limit filling of best elt based on nmatches being more than half of the read length * stage3hr.c: Restored previous behavior where soft clips avoid circularization * indexdb-write.c, sarray-write.c: Removed unnecessary includes of popcount.h * bitpack64-write.c, genome128_hr.c: In lookups of clz_table, removing the intermediate variable "top". * stage3hr.c: Not allowing soft-clipping at ends to avoid circularization. Added pre-processor macro SOFT_CLIPS_AVOID_CIRCULARIZATION to preserve previous code. 2014-10-15 twu * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, index.html: Updated version number * outbuffer.c: Added gff3 header for GMAP gff3 output to stdout. Added HD and PG headers for GMAP sam output to --split-output files. 2014-10-14 twu * Makefile.gsnaptoo.am: Changed variable name to SIMD_CFLAGS * configure.ac: Changed variable name to SIMD_CFLAGS. Setting -mpopcnt based only on acx_mpopcnt_ok, and not on individual builtin functions. * builtin-popcount.m4: Setting CFLAGS instead of LIBS. Checking for builtin functions regardless of whether -mpopcnt works. * ax_ext.m4: Setting CFLAGS instead of LIBS. Changed variable name to SIMD_CFLAGS * builtin-popcount.m4, configure.ac: Changed macro name to ACX_BUILTIN_POPCOUNT * acinclude.m4: Renamed program to builtin-popcount.m4 * builtin-popcount.m4, builtin.m4: Renamed program to builtin-popcount.m4 * popcnt.m4: Added comment * builtin.m4: Added check from popcnt.m4 * shortread.c: Made input procedures robust to incomplete entries * indexdb.c: Fixed bug where munmap was called twice on positions_high for GSNAPL and GMAPL. 2014-10-09 twu * VERSION: Updated version number * ax_ext.m4: Seeing of avx and avx2 are enabled * configure.ac: Added ability to disable avx and avx2 * gmap_build.pl.in: Calling gmapindex initially to check for compiler assumptions * gmapindex.c: Added check for compiler assumptions * gmap.c, gsnap.c: Added description of --check option to --help message * gmap.c, gsnap.c: Improved check for compiler assumptions, and added --check option * samprint.c: Fixed flag for merged overlap to not have PAIRED_READ set. When clipdir == 0, not calling adjust_hardclips. 2014-10-07 twu * sarray-read.c: Fixed bug when setting array_stop and finalptr is less than 4 2014-10-02 twu * samprint.c: Further fixes to mapping quality for merged alignments * samprint.c: For merged alignments, printing mapping quality of 40 2014-10-01 twu * pair.c, samprint.c: Putting XB and XP tags after XH * VERSION: Updated version number * samprint.c: Calling GMAP procedure for querystart and queryend when necessary in adjust_hardclips * stage3.c: Initializing variables * pair.c: Passing correct values for hardclip_low and hardclip_high to hardclip_pairs * samprint.c: Removed static initialization of hide_soft_clips_p * outbuffer.c, pair.c, pair.h, samprint.c, samprint.h, src, trunk: Merged revisions 149547 through 149570 from branches/2014-10-01-hardclip-adj to improve adjustment of hardclipping * stage3.c: Removed diagnosticp from some procedures 2014-09-30 twu * sam_sort.c: Providing timing information to user * sam_sort.c, samread.c, samread.h: Changed algorithm to parse just for linelengths initially, which allows for the SAM file to be read using buffers * VERSION, index.html: Updated version number * sam_sort.c: Fixed usage statement * samread.c, samread.h: Commented out unused procedures * samread.c: Added header file * samheader.c, samheader.h: Removing computation of .sortinfo file * chimera.c, chimera.h, get-genome.c, gmap.c, gsnap.c, iit-read-univ.c, iit-read-univ.h, outbuffer.c, outbuffer.h, pair.c, pair.h, samprint.c, samprint.h, shortread.c, shortread.h, stage3.c, stage3.h, uniqscan.c: Removing computation of .sortinfo file * Makefile.gsnaptoo.am: Removed sortinfo.c and sortinfo.h * sam_sort.c, samflags.h, samheader.c, samheader.h, samread.c, samread.h: Made sam_sort independent of a .sortinfo file. Computes sortinfo information directly from the SAM input file 2014-09-27 twu * outbuffer.c: Providing sortinfo to Pair_print_sam_nomapping * VERSION, index.html: Updated version number * index.html, outbuffer.c, pair.c, pair.h, sam_sort.c, samflags.h, samprint.c, samprint.h, samread.c, samread.h, sortinfo.c, sortinfo.h, src, stage3.c, trunk: Merged revisions 148987 through 149172 from branches/2014-09-25-sam-sort to yield a working version of sortinfo feature * stage3hr.c: Reverting to previous version 149160 in trunk * stage3hr.c: Rewrote Stage3pair_remove_overlap procedures to use hitpair_overlap_score_cmp, hitpair_overlap_test, hitpair_equiv_preference_cmp, and hitpair_equiv_tst 2014-09-25 twu * samprint.c: Not merging paired ends if there is no overlap * pair.c: Enabled call to Sortinfo_update to work for GMAP * VERSION, index.html: Updated version number * chimera.c, chimera.h, pair.c, samprint.c: Using @ instead of : for coordinates for XT field. Made GMAP XT field same as that for GSNAP. * config.site.rescomp.tst: Allowing builtin_popcount * README: Added description of XH field * Makefile.gsnaptoo.am: Added samheader.c to sam_sort * sam_sort.c: Handling single-end alignments * samread.c: Setting terminating character at end of computation * samheader.c, samheader.h: Implemented change of HD header to SO:sorted * sam_sort.c, samread.c, samread.h: Handling hard-clipped alignments * pair.c, pair.h, samprint.c, shortread.c, shortread.h: Added XH field to provide hard-clipped sequence 2014-09-24 twu * substring.c: For --merge-overlap feature, in deciding whether to add insertion, deletion, or intron between the pieces, using <= instead of < to decide. * samprint.c: In SAM_compute_chrpos, always using substring_low to compute chrpos * indel.c: Initializing variables * sam_sort.c: Implemented --dups-only and --uniq-only * sortinfo.c: Fixed typo in comment * pair.c, pair.h, samprint.c, sortinfo.c, sortinfo.h: Sortinfo_update uses sign on chrnum to indicate whether a read is the low or high end * iit-read-univ.c: Using safer computation of an average * Makefile.gsnaptoo.am, sam_sort.c, samread.c, samread.h: Implemented --mark-dups function into sam_sort. Works except for hard-clipping. * samread.c, samread.h: Brought over copy from GSTRUCT * sam_sort.c: Introduced readindex, needed for marking duplicates * Makefile.gsnaptoo.am, iit-read-univ.c, iit-read-univ.h, sam_sort.c, sortinfo.c: Using genome chromosome_iit file in sam_sort, instead of storing information in .sortinfo files * VERSION: Updated version number * Makefile.gsnaptoo.am, chimera.c, chimera.h, chrnum.h, get-genome.c, gmap.c, gsnap.c, iit-read-univ.c, iit-read-univ.h, outbuffer.c, outbuffer.h, pair.c, pair.h, sam_sort.c, samheader.c, samheader.h, samprint.c, samprint.h, shortread.c, shortread.h, sortinfo.c, sortinfo.h, src, stage1hr.h, stage3.c, stage3.h, trunk, types.h, uint8list.h, uintlist.h, uniqscan.c: Merged revisions 148659 through 148720 from branches/2014-09-23-sam-sort to add --make-sortinfo option and sam_sort program * index.html: Updated version number 2014-09-23 twu * VERSION: Updated version number * splice.c: Fixed bug in reading Stage3end_T object that was already freed * configure.ac: Loading default ./config.site file only if it exists * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, configure.ac, index.html: Handling cases differently if CONFIG_SITE file begins with ./. Allowing for multiple files in CONFIG_SITE. * Makefile.gsnaptoo.am: Interchanged order of POPCNT_CFLAGS and SIMD_FLAGS * samprint.c: Fixed bugs introduced in adding --merge-overlap feature 2014-09-22 twu * INSTALL, config.guess, config.sub, ltmain.sh: Updated to more recent version of autoconf * bootstrap.gsnaptoo: Changed /usr/bin/touch to touch * configure.ac: Testing first for ./ in front of CONFIG_SITE. Added AC_SUBST of POPCNT_CFLAGS * shortread.c, shortread.h: Removed unused procedures * stage1hr.c: Changed nmisses_allowed for sarray method to be querylength, for both --use-sarray=2 and normal method 2014-09-21 twu * pair.c: Changed PG field to XG * configure.ac: Change flag to --disable-builtin-popcount * splice.c: In procedures that group for ambiguous hits, separating sense and antisense segments * substring.c: Improved debugging statements * stage3hr.c: Improved debugging statements * stage1hr.c: Improved debugging statements 2014-09-19 twu * stage3.c: Using new interface to Pair_print_sam * ax_ext.m4, builtin.m4: Restoring value of LIBS at end of procedure * builtin.m4: Setting LIBS to -mpopcnt before running tests * gsnap.c: Added comment that --merge-overlap is a beta implementation * VERSION, config.site.rescomp.tst, gsnap.c, index.html, list.c, list.h, outbuffer.c, outbuffer.h, pair.c, pair.h, samprint.c, samprint.h, shortread.c, shortread.h, src, stage3hr.c, stage3hr.h, substring.c, substring.h, trunk: Merged revisions 148190 through 1418357 from branches/2014-10-18-merge-overlap to add --merge-overlap feature * ax_ext.m4: Changed name of cpu features to sse4.1 and sse4.2 * configure.ac: Showing pthread and popcnt flags at end * README: Explaining XG flag * samprint.c: Changed PG flag to XG flag * samheader.c: Commenting out code for extra @PG lines * configure.ac: Setting POPCNT_CFLAGS based on result from builtin.m4 * builtin.m4: Setting a variable ax_cv_compile_builtin_ext * ax_ext.m4: Setting LIBS properly before running AC_LINK_IFELSE 2014-09-18 twu * genome128_hr.c: Using Harley's method to reduce number of popcount operations for SSE2 * genome128_hr.c: Fixed HAVE_MM_POPCNT alternative for SSE2-based popcount * archive.html, index.html: Updated for version 2014-09-18 * VERSION: Updated version number * genome128_hr.c: Added macro for debug4 * genome128_hr.c: Using _mm_extract_epi16 for SSE2 code instead of casting to (UINT4 *), because casting leads some compilers to generate wrong ordering of statements 2014-09-16 twu * ax_ext.m4, configure.ac: Providing information to user about SIMD cpu features available and compiler flags to be used * gmap.c, gsnap.c: Added extra information to --version about type of popcnt supported * ax_ext.m4: Changed ordering of ifthen clauses. Added variable to indicate compiler or linker problems. * configure.ac: Added warnings for compiler or linker problems for SIMD extensions * configure.ac: Changed flag name from --enable-popcnt to --enable-builtin-popcnt * genome128_hr.c, sarray-read.c: Using mm_popcnt when _popcnt not available * ax_ext.m4: Revamped tests to check for CPU, compile, and linking, in that order. Renamed variables more systematically. 2014-09-15 twu * pair.c, pair.h, pairpool.c, pairpool.h, stage3.c, stage3.h: Moved Pairpool_clip_bounded to pair.c, and created Pair_clip_bounded_pairs for computing chimeras by the working thread and Pair_clip_bounded_array for truncation by the output thread. This enables the --truncate flag to work again for GMAP. * gmap.c: Improved error message when invalid argument is given to -f * stage3.c: Made cdna direction choices based on splice site scores more stringent, so both donor and acceptor sites have to be significantly better. 2014-09-13 twu * gmap.c, outbuffer.c, pair.c, pair.h, stage3hr.c, stage3hr.h, substring.c, substring.h: For BLAST m8 output, adding endings to accessions for paired-end reads 2014-09-12 twu * gmap.c, gsnap.c, outbuffer.c, outbuffer.h, pair.c, pair.h, stage3hr.c, stage3hr.h, substring.c, substring.h, uniqscan.c: Added implementation of BLAST m8 output format 2014-09-10 twu * VERSION: Updated version number * ax_ext.m4: Fixed typo for handling AVX 2014-09-09 twu * uniqscan.c: Using new interface to Stage1hr_setup * stage1hr.c, stage1hr.h: Added option --use-sarray=2 to use only suffix array algorithm * gsnap.c: Added option --use-sarray=2 to use only suffix array algorithm * stage3hr.c: Stopped using alloca for hitlists, since they can cause stack overflow. Made loops more efficient for pair_up_concordant_aux. 2014-09-08 twu * gmap.c: Stopping memory error when a chimera is found, --npaths is set to 1, and one part of the chimera fails the conditions for --min-identity or --min-trimmed-coverage 2014-09-05 twu * sarray-read.c: Implemented faster SIMD algorithm for Elt_fill_positions_filtered * sarray-read.c: Implemented Elt_fill_positions_filtered using alloca and copying from stack, instead of guessing allocation 2014-09-03 twu * VERSION, config.site.rescomp.prd: Updated version number * stage3hr.c: In pair_remove_bad_superstretches, keeping track of better and worse children separately, and handling list order correctly. Now chooses shorter insert lengths correctly. Added OUTERLENGTH_SLOP. 2014-09-02 twu * stage3hr.c: In Stage3end_optimal_score_aux and Stage3pair_optimal_score_aux, counting indels only if they are within trim_left and trim_right * gsnap.c, stage3hr.c, stage3hr.h, uniqscan.c: Added option --order-among-best to GSNAP to control randomization among best alignments * stage3hr.c: When SCORE_INDELS is true for comparing alignments, not counting indel_penalty in new->penalties to avoid double-counting * stage2.c: Turned off debugging * stage1hr.c: Calling GMAP pairsearch if indels5 or indels3 is not NULL, as well as if found_score is too high * src, trunk: Merged revisions 145502 to 146146 from branches/2014-08-19-stack-alloca and 146146 to 146618 from branches/2014-08-27-parallel-stage2 * oligoindex_hr.c: Merging revisions 145502 to 146146 from branches/2014-08-19-stack-alloca to ignore check on querylength and to use alloca for GSNAP * stage2.c, stage2.h: Merging revisions 146146 to 146618 from branches/2014-08-27-parallel-stage2 to make stage 2 computation faster * list.c, list.h, spanningelt.c, spanningelt.h: Merging revisions 145502 to 146146 from branches/2014-08-19-stack-alloca to work directly on arrays of Spanningelt_T objects * dynprog_simd.c, dynprog_single.c: Merging revisions 146146 to 146618 from branches/2014-08-27-parallel-stage2 to fix debugging procedures and to use a stricter check for using 8-bit SIMD * diag.c: Merging revisions 145502 to 146146 from branches/2014-08-19-stack-alloca to ignore check on querylength and to use alloca for GSNAP * gmap.c, gsnap.c, stage3.c, stage3.h: Merging revisions 145502 to 146146 from branches/2014-08-19-stack-alloca to use stage2_alloc only for GMAP initial stage 2 computation * stage1hr.c, stage1hr.h: Merging revisions 145502 to 146146 from branches/2014-08-19-stack-alloca to work directly on arrays of Spanningelt_T objects * stage3hr.c: Turned off debugging * stage3.c: Turned off debugging * stage1hr.c: Fixed debugging statements 2014-08-25 twu * configure.ac, trunk: Merged revisions 145989 through 145990 from branches/2014-08-19-stack-alloca to adde flag to configure.ac * VERSION, boyer-moore.c, boyer-moore.h, chimera.c, chop_primers.c, diag.c, doublelist.c, doublelist.h, dynprog.c, dynprog_cdna.c, dynprog_end.c, dynprog_genome.c, dynprog_simd.c, dynprog_single.c, genome.c, genome.h, genome128_hr.c, genome_sites.c, genomicpos.h, gmap.c, gregion.c, gregion.h, gsnap.c, gvf_iit.pl.in, indel.c, index.html, intlist.c, intlist.h, list.c, list.h, mapq.c, mem.c, mem.h, oligo.c, oligoindex_hr.c, outbuffer.c, pair.c, pair.h, pairpool.c, parserange.c, samprint.c, sarray-read.c, shortread.c, shortread.h, smooth.c, splice.c, splicetrie.c, src, stage1.c, stage1hr.c, stage1hr.h, stage2.c, stage2.h, stage3.c, stage3.h, stage3hr.c, substring.c, trunk, uint8list.c, uint8list.h, uintlist.c, uintlist.h, uinttable.c, uinttable.h: Merged revisions 145503 through 145988 from branches/2014-08-19-stack-alloca to use alloca 2014-08-20 twu * uniqscan.c: Using new interface to Shortread_new * shortread.c, shortread.h: Made Shortread_new extern again * INSTALL, README, config.guess, config.site.rescomp.prd, config.site.rescomp.tst, config.sub, gmap.c, gsnap.c, indel.c, ltmain.sh, mapq.c, mem.c, mem.h, sarray-read.c, shortread.c, shortread.h, splice.c, src, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, trunk: Merged revisions 145503 through 145603 from branches/2014-08-19-stack-alloca to use alloca instead of statck arrays based on MAX_READLENGTH and to handle reads longer than MAX_READLENGTH 2014-08-19 twu * VERSION, index.html: Updated version number * configure.ac: Added configure flag for enabling or disabling ssse3 instructions * ax_ext.m4: Checking whether user wants SSSE3 instructions * stage2.c, stage3.c: Not putting gapholders into starts and ends. Removing gapholders from middle before calling Pairpool_join_end5 and Pairpool_join_end3. Gapholders were causing problems with the join operation. * pairpool.c, pairpool.h: Implemented Pairpool_remove_gapholders 2014-08-04 twu * stage3.c: Not setting best_pairs or best_path when the result is NULL * shortread.c: Ignoring spaces in read * pairpool.c: In joining paths, handling the case when one path is NULL 2014-07-29 twu * ltmain.sh: Updated from 2.2.6 to 2.2.6b * config.sub: Updated from 2008 version to 2009 version * config.guess: Updated from 2008 version to 2009 version * INSTALL: Updated from 2007 version to 2009 version * archive.html, index.html: Made changes for new version * gff3_genes.pl.in, gff3_introns.pl.in, gff3_splicesites.pl.in: Handling GFF3 files that have both exon and CDS fields 2014-07-22 twu * stage3hr.c: Restored random behavior for equivalent alignments * VERSION: Updated version number * atoiindex.c, cmetindex.c: Making correct calls to Sarray_discriminating_chars * dynprog_simd.c: Added code for having no initial gap penalties, to be used for bam_indelfix 2014-07-19 twu * dynprog_simd.c: Improvements to debugging procedures to handle 3-digit indices 2014-07-17 twu * gmap.c: Using new interface to Stage3_compute * stage3hr.h: Added interfaces for Stage3end_shortexonA_distance and Stage3end_shortexonD_distance * stage3hr.c: Added hook for amb_prob in Stage3end_new_gmap. Removed penalty for ambig end lengths if amb_prob > 0.9. Fixed pointer advances in removing bad superstretches. * stage3.c: Made fixes to choice of cdna_direction: using presence/absence of intron types, rather than number, and decreased binomial threshold for alignments around intron. Fixed handling of multiple start or end paths by joining them at the outset. * stage2.c: Allowing for multiple end cells from each rootposition * dynprog_genome.c: Altered decision-making between best alignment and probability-based alignment * dynprog_simd.c: Added debugging statements * dynprog.h: Made open gap penalties more uniform for different defect rates * pair.c: Fixed calculation of nmatches at end for Pair_trim_ends 2014-07-16 twu * pairpool.c: Enhanced debugging statement * stage3.h: Stage3_compute now returns ambig_prob_5 and ambig_prob_3 * stage3.c: For ambiguous ends, no longer calling clean_pairs_end5, clean_path_end3, trim_end5_exon_indels, or trim_end3_exon_indels * stage1hr.c: Passing amb_prob_5 and amb_prob_3 to Stage3end_new_gmap * pair.c, pair.h: In Pair_trim_ends, not trimming ambiguous ends 2014-07-15 twu * stage3.c: In trim_end5_exon_indels and trim_end3_exon_indels, counting trimmed ends as mismatches and handling large indels differently from small indels. Added hooks for ambig_prob. * pair.c, pair.h, stage3hr.c: Eliminating ambig_end_nmatches from consideration in Pair_nmismatches_region * stage3hr.c: Restored eventrim algorithm from revision 140363, which had only a single eventrim calculation and not separate calculations for the two ends. 2014-07-04 twu * VERSION: Updated version number * dynprog_end.c: Fixed typo in calling matrix for 16_upper twice, instead of 16_upper and 16_lower * splicetrie.c: Handling the case where Dynprog_end5_splicejunction or Dynprog_end3_splicejunction returns NULL * dynprog_simd.h: Decreased value of SIMD_MAXLENGTH_EPI8 from 40 to 30 to prevent issues with overflows * dynprog_simd.c: In traceback, using main loop to decide whether to handle dir == DIAG * dynprog_end.c: In traceback, using main loop to decide whether to handle dir == DIAG. In Dynprog_end5_splicejunction and Dynprog_end3_splicejunction, requiring finalscore to be positive before doing any traceback. * dynprog.c: In traceback, using main loop to decide whether to handle dir == DIAG 2014-07-03 twu * sarray-write.c: Made monitoring statements work for Sarray_discriminating_chars * sarray-write.c: Implemented batch reading method for Sarray_discriminating_chars * gmapindex.c, sarray-write.c, sarray-write.h: Made the building of the LCP array and discriminating chars array more memory efficient by writing temporary files for rank and permuted sarray * genome.c, genome.h: Changed type of counts to be Univcoord_T * access.c: Fixed bug in handling of final partial block. Added debugging code for checking results. 2014-07-02 twu * access.c: Increased FREAD_BATCH to 100 million bytes. Modified Access_allocated to always read in batches of size FREAD_BATCH. * config.site.rescomp.prd, config.site.rescomp.tst, genome128_hr.c, gmap.c, intlist.c, intlist.h, samprint.c, sarray-read.c, splice.c, splice.h, src, stage1hr.c, stage3.c, stage3hr.c, stage3hr.h, substring.c, trunk, uint8list.c, uint8list.h, uintlist.c, uintlist.h: Merged revisions 140131 through 140367 from branches/2014-06-27-fix-amb to implement separate eventrim scores for start/end of read, fix cmet-stranded and cmet-nonstranded modes, implement separate sense/antisense for Splice_solve_single, and rewrite of ambiguous parameters from left/right to donor/acceptor * index.html: Updated for version 2014-06-10 * archive.html: Added link to version 2011-12-28 * VERSION: Updated version number * stage3hr.c: In Stage3end_new_shortexon, setting amb_nmismatches_start and amb_nmismatches_end separately * stage3.c: Using score_introns (which looks at splice site neighborhood), instead of score_alignment to count canonical introns. Using defect_rate to determine whether to rely on splice site probabilities. * stage1hr.c: Added blank lines 2014-07-01 twu * gmap.c: Preventing leftpos and rightpos from exceeding query coordinates in solving for chimeras. Not using extension in finding remaining alignment, since it makes alignment harder. 2014-06-30 twu * stage3.c: Transferring microexon pairs without looking at probabilities * dynprog_single.c: Using MIN_MICROEXON_LENGTH instead of 8 2014-06-26 twu * stage3hr.c: Fixed assignment of amb_nmatches_start and amb_nmatches_end for shortexons on minus strand 2014-06-25 twu * stage3hr.c: Removed debugging code * sarray-write.c: In Sarray_compute_child, cleaning out stack at end, because skipping it results in an incorrect child array 2014-06-24 twu * stage3hr.c: Commenting out assertions that are not always true * stage1hr.c: Assigning correct values of amb_nmatches_donor and amb_nmatches_acceptor to Stage3end_new_shortexon 2014-06-11 twu * VERSION: Updated version number * config.site.rescomp.prd, config.site.rescomp.tst, sarray-read.c, splice.c, src, stage1hr.c, stage3hr.c, stage3hr.h, trunk: Merged revisions 138722 through 138743 from branches/2014-06-01-amb-shortexon-fix1 to allow for ambiguous shortexons and to place a limit of MAX_LOCALSPLICING_POTENTIAL on splicing and shortexons * archive.html, index.html: Put version 2014-05-15.v3 into archive * stage1hr.c: Not processing splicing or shortexons if number of possibilities exceeds MAX_LOCALSPLICING_POTENTIAL * gsnap.c: In memusage debugging, printing accession for each thread at the start of its processing * substring.c, substring.h: Added function Substring_chimera_prob_2 * segmentpos.c, segmentpos.h: Added function Segmentpos_compare_order * samprint.c: Removed unused variable * iitdef.h: Added FILENAME_SORT as a sorting type * gsnap.c: Added commas to memusage debugging output * dynprog_end.c: Removed assertions, which do not hold 2014-06-09 twu * gmap_build.pl.in: Added option for sorting chromosomes by order in a file * chrom.c, chrom.h, gmapindex.c: Added option for sorting chromosomes by order in a file 2014-06-04 twu * VERSION: Updated version number * README, configure.ac: Increased default MAX_READLENGTH for GSNAP from 250 to 300 * dynprog_simd.c: Fixed formatting * dynprog_genome.c: Using correct interface to Dynprog_standard for non-SSE2 systems * dynprog_cdna.c: Using correct interface to Dynprog_standard for non-SSE2 systems * dynprog_end.c: Enabled non-SSE2 compilation to work. Made traceback procedures follow those in dynprog_simd.c. * dynprog.c, dynprog.h: Modified traceback_std (non-SIMD) to behave the same as the SIMD traceback routines. Improved debugging output. * stage3.c: Added comments * dynprog.c, dynprog.h: Exposed Dynprog_standard, needed for systems without SSE2 instructions * gmap.c, gsnap.c: In checking behavior of _mm_extract_epi8, just reporting results and not exiting based on behavior * genome128_hr.c: Casting _mm_extract_epi16 to unsigned short, or a zero extended result, which is technically the correct behavior * dynprog_simd.c: Being very explicit about casting between int and Score8_T and Score16_T types * dynprog.h: Removed conditionals around defining Score_8 and Score_16 types * compress.c: Calling _mm_free to match _mm_malloc 2014-05-31 twu * VERSION, compress.c, config.site.rescomp.prd, config.site.rescomp.tst, genome128_hr.c, index.html, src, trunk: Merged revisions 137093 through 137694 from branches/2014-05-23-genome128-32bit-shortchut to implement 32-bit shortcuts for 128-bit genomebits 2014-05-30 twu * stage3hr.c: Not checking any more for duplicate Stage3end_T objects * stage2.c: Eliminated penalty when exon length < EXON_DEFN, which misses short exons * stage1hr.c: Restored usage of paired_usedp to avoid excess calls to GMAP for halfmapping alignments * stage1hr.c: Not using paired_usedp in computing GMAP for halfmapping alignments * dynprog_simd.c: Fixed traceback procedures to follow correct paths on gaps * dynprog.c, dynprog.h, dynprog_genome.c, dynprog_single.c: Moved gap penalties to dynprog.h, and reduced open penalties to allow for multiple indels 2014-05-28 twu * stage3.c: In merge_local_single, checking filledp to see if merge failed. When merge fails, recompute pairarray for this_left and this_right. 2014-05-27 twu * dynprog_simd.c: Implemented replacement for _mm_min_epi8 for non-SSE4.1 systems 2014-05-24 twu * dynprog_simd.c: Fixed computations of E and H for values near NEG_INFINITY, to prevent horizontal or vertical jumps into the empty triangle. Added an E_mask variable to set horizontal/vertical scores into the empty triangle to be NEG_INFINITY. Setting directions_nogap explicitly to DIAG along the main diagonal to take care of ties between E and H. * dynprog_end.c: Using computed lband and uband in find_best_endpoint procedures, instead of trying to recompute them, which led to incorrect results 2014-05-23 twu * get-genome.c, iit-read-univ.c: Fixed zero-based behavior of -L option to one-based behavior. Zero-based behavior introduced in revision 99737 on 2013-06-27. * index.html: Made changes for version 2014-05-15 * gmap.c, gsnap.c: Added better test for behavior of max operation in SSE4.1 * stage1hr.c: Fixed a memory leak involving ambcoords * stage1hr.c: Using nmatches_posttrim in evaluating alignments. Doing a comparison between concordant alignments involving terminals and halfmapping alignments, to determine the best solution. * stage3hr.c: Fixed assignment of amb_nmatches to correct end for minus alignments in Stage3end_new_splice. Extending hardclips by amb_nmatches_start and amb_nmatches_end in Stage3pair_overlap. * stage3hr.c, stage3hr.h: Changed Stage3end_nmatches and Stage3pair_nmatches to Stage3end_nmatches_posttrim and Stage3pair_nmatches_posttrim 2014-05-21 twu * samprint.c, samprint.h: Fixed typo in keeping a parameter * README: Clarified effect of --failed-input option * README: Fixed typo * acx_mmap_fixed.m4, acx_mmap_variable.m4: Fixed type incompatibility when char * is cast to int * stage1hr.c: Changed categories for some debugging statements * gmap.c, gsnap.c, outbuffer.c, outbuffer.h, samprint.c, samprint.h, stage3hr.c, stage3hr.h: Changed --fails-as-input flag to --failed-input flag, which takes an argument. Printing failed inputs in addition to nomapping output. * genome.c: Made error message clearer when genomebits128 file not found 2014-05-17 twu * stage3hr.c: Setting amb_nmatches_start, amb_nmatches_end, start_ambiguous_p, and end_ambiguous_p based on amb_nmatches for halfdonor and halfacceptor splices, even when ambcoords_left and ambcoords_right are NULL * stage1hr.c: Minor fixes to debugging statements 2014-05-16 twu * stage1hr.c: Turned on macro for finding middle alignments. * stage1hr.c: Turned on finding of middle alignments in find_terminals. Set length threshold to be querylength/3 instead of index1part. 2014-05-15 twu * stage3.c: Removed revisions of coordinates near indels, which is not needed any more with the latest dynamic programming procedures 2014-05-14 twu * VERSION, index.html: Updated version number * dynprog_simd.c: For systems with SSE2 but not SSE4.1, subtracting 128 from pairscore in F loop of Dynprog_simd_8, and from initial column in Dynprog_simd_8_lower, to obtain correct results * dynprog_genome.c: Removed debugging statements * dynprog_genome.c: Fixed an uninitialized variable, best_prob 2014-05-13 twu * Makefile.gsnaptoo.am, README, bytecoding.c, samprint.c, sarray-read.c, sarray-read.h, splice.c, splice.h, src, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h, trunk, uint8list.c, uint8list.h, uintlist.c, uintlist.h: Merged revisions 135802 through 136084 from branches/2014-05-09-novel-ambiguous to consolidate ambiguous splices to save on memory usage and to consider them as a single concordant alignment * pairpool.c: Not advancing coordinate at start of Pairpool_add_queryskip and Pairpool_add_genomeskip 2014-05-09 twu * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, index.html, sarray-read.c, splice.c, splice.h, src, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h, trunk: Merged revisions 135797 through 135801 from branches/2014-05-09-novel-ambiguous to save state before implementing novel ambiguous positions * gsnap.c: Improved output for MEMUSAGE * dynprog_simd.c: Speeding up traceback for upper and lower triangles, to take advantage of the fact that the main diagonal is filled with DIAGs. * sarray-read.c, stage1hr.c, stage3hr.c, stage3hr.h: Grouping multiple splice segments connected to a given splice site, and selecting the best among these. If multiple best choices are found, creating an ambiguous splice. * dynprog_simd.c: In traceback procedures, added check after each indel to see if we are in row 0 or column 0, and if so, not to trust the value in directions_nogap. * splicetrie_build.c: Fixed comparison with MAX_SITES_ALLOCATED for intron-level splicing files * gsnap.c: Setting POOL_FREE_INTERVAL to be 1 * gsnap.c, outbuffer.c: Using new interface to memusage routines * mem.c, mem.h: Changed variable names for memusage. Added memusage report for keep pool. * dynprog_simd.c: Fixed bug with infinite loop at row 1 or column 1, leading to error in memory allocation for pairpool * dynprog_simd.c, pairpool.c: Adding 1 to r and c only on final indel 2014-05-08 twu * pairpool.c: When adding indel (queryskip or genomeskip), not advancing coordinate by 1, since that can cross over chromosomal bounds 2014-05-07 twu * VERSION: Updated version number * Makefile.gsnaptoo.am, cellpool.c, cellpool.h, gmap.c, smooth.c, stage1hr.c, stage1hr.h, stage2.c, stage2.h, stage3.c, stage3.h, uniqscan.c: Added Cellpool_T object to handle allocations of Cell_T in stage 2 * gsnap.c: Calling Pairpool_reset, Diagpool_reset, and Cellpool_reset before processing each request. Previously, this memory was not being freed until the end of the process. * splicestringpool.c: Changed memory procedures to use standard pool instead of keep pool * dynprog_simd.c: Fixed saturation bug in F loop when trying to add pairscore. Setting E and H so non-diag directions are placed in row 0 and column 0. At end of traceback procedures, adding final indel to (0,0). * stage3.c: Having make_pairarray_merge return a boolean to indicate success or failure. Trying to use the old pairarray in case of failure. * gmap.c, gsnap.c, uniqscan.c: Using new interface to Splicetrie_retrieve procedures, using Splicestringpool_T object * Makefile.gsnaptoo.am, splicestringpool.c, splicestringpool.h, splicetrie_build.c, splicetrie_build.h: Using Splicestringpool_T object to reduce number of memory allocations for Splicestring_T objects. Using local array for sites to also reduce number of memory allocations. * splicetrie_build.c: Allocating struct Interval_T when copies are needed, to reduce the number of calls to allocate memory. Allocating triecontents as an array instead of uintlist, also to reduce the number of calls to allocate memory. * interval.c, interval.h: Allocating struct Interval_T when copies are needed, to reduce the number of calls to allocate memory 2014-05-06 twu * dynprog.h: Added definitions of POS_INFINITY_8 and POS_INFINITY_16 * pair.c: Returning correct type of NULL * dynprog_cdna.c, dynprog_genome.c: Fixed potential memory leak with SNP-tolerant alignment * genome.c: If glength == 0, Genome_get_segment_blocks now returns NULL * stage3.c: Changed condition for not running Dynprog_single_gap from (queryjump < 0 || genomejump < 0) to (queryjump <= 0 || genomejump <= 0) 2014-05-05 twu * stage1hr.c: Checking for anomalous splice (samechr splice) before trying to compute mapping position from distal end * compress.c: Bypassing SSSE3 version of Compress_shift when DEFECTIVE_SSE2_COMPILER is true 2014-05-02 twu * ax_ext.m4: Not allowing AVX unless immintrin.h is present * indexdb.c: Freeing offsetspages for large genomes * gsnap.c: For MEMUSAGE, changing pool free interval to be 1 * dynprog.c: Freeing nt_to_int_array * dynprog_simd.c: Simplified traceback procedures 2014-05-01 twu * stopwatch.c: Removed comment * stage3hr.c: Allocating ambi and amb_nmismatches into output memory pool * stage1hr.c: Limiting the number of terminals * mem.c: Fixed memusage_reset procedure and revised debugging messages to print pool type * intlist.c, intlist.h: Implemented Intlist_to_array_out * compress.c, compress.h: Implemented SSSE3 procedure and fixed bug in SSE2 procedure for Compress_shift * genome128_hr.c: Fixed block_diff_snp procedure to perform the complete calculation for query, ref, and alt sequences. * genome.c: Fixed Genome_get_segment_blocks_left and _right to provide correct alternate genomic segment * dynprog_simd.c: Setting values along bands to be DIAG to avoid going out of bounds. Revised loops for gaps in traceback procedures. Compensating for open value in comparing E vs H for dir_horiz and dir_vert. Using nt_to_int_array. Improved debugging print procedures. * dynprog.c, dynprog.h: Introduced nt_to_int_array. Setting score for AMBIGUOUS to be 0, and setting N-N to be that score. 2014-04-24 twu * ax_ext.m4: Removing -mavx and -mavx2 compiler flags for now. Being added to Mac OS X Mavericks, where they are causing problems. * stopwatch.c: Added macro for specifying POSIX C time * stage3hr.c: Allowing pair_insert_length_trimmed to handle non-concordant paired ends * genome128_hr.c: Implemented code for defective SSE2 compilers that cannot handle shifts with a non-immediate scalar * samprint.c: Fixed printing of XS for half-donor and half-acceptor reads 2014-04-21 twu * iit-read-univ.c: Printing tp:circular for circular chromosomes * stage3.c: Using new interface to Pair_circularpos * stage3hr.c: Computing insertlength properly for circular chromosomes when ends have different aliases. Handling duplicates of aliases better. * pair.c, pair.h: Computing alias correctly in Pair_circularpos * pair.c: Fixed bug when Pair_trim_ends is called when pairs is NULL 2014-04-20 twu * Makefile.gsnaptoo.am, atoiindex.c, cmetindex.c, genome.c, genome.h, genome128_hr.c, genome128_hr.h, gmapindex.c, gsnap.c, indel.c, indel.h, indexdb.c, mapq.c, mapq.h, oligo.c, oligoindex_hr.c, sarray-read.c, sarray-read.h, sarray-write.c, sarray-write.h, splice.c, splice.h, splicetrie.c, splicetrie.h, src, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, substring.c, substring.h, trunk: Merged revisions 133654 through 133759 from branches/2014-04-18-cmet-atoi-suffix-arrays to fix CMET and ATOI procedures * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Updated version number * index.html: Updated for version 2014-04-17 * stage3.c: Fixed uninitialized variable 2014-04-17 twu * indexdb.c: Creating correct bitpack filenames when snps_root is given * snpindex.c: Handling the case when an IIT file is not provided on the command-line, and installation is not needed 2014-04-10 twu * gmap_build.pl.in: Fixed documentation for compression types * dynprog_simd.c, dynprog_simd.h, dynprog_single.c: Added traceback procedure for Score16_T variables * snpindex.c: Creating genomebits128 format instead of genomebits format 2014-04-09 twu * sarray-read.c: Made changes in code (commented out) to try to infer lcp-intervals for short oligomers from 12-mer index, but still has some bugs * archive.html, index.html: Made changes for version 2014-04-08 and 2013-03-28.v2 * VERSION: Updated version number * gmap.c: Removed unnecessary const * stage2.c: Applying maxintronlen in deciding whether to create a grand lookback 2014-04-08 twu * pairpool.c: Fixed bug in Pairpool_compact_copy * stage3.c: Removed debugging statement * Makefile.gsnaptoo.am, dynprog.c, dynprog.h, dynprog_cdna.c, dynprog_cdna.h, dynprog_end.c, dynprog_end.h, dynprog_genome.c, dynprog_genome.h, dynprog_simd.c, dynprog_simd.h, dynprog_single.c, dynprog_single.h, gmap.c, gsnap.c, sarray-read.c, sequence.c, sequence.h, splicetrie.c, src, stage3.c, stage3.h, trunk, uniqscan.c, util: Merged --reintegrate branches/2014-04-04-dynprog-shift to change dynprog_end routines to use upper/lower algorithm without F loops * index.html: Updated for version 2014-04-06 * pairpool.c, pairpool.h: Implemented Pairpool_compact_copy * oligoindex_hr.c: Freeing storage memory in Oligoindex_array_T object * stage1.c: Checking extensions to make sure they fall within --max_totallength * chimera.c, chimera.h, gmap.c, stage3.c, stage3.h: Checking chimeras to see that they satisfy --min-trimmed-coverage and --min-identity filters * mem.c: Turned off DEBUG macro * iit-read-univ.c: Restored warning message when IIT file cannot be read * gmapindex.c, sarray-write.c, sarray-write.h: Implemented Sarray_child_uncompress * gmap.c: No longer proceeding to align if Stage2_scan yields max_ncovered of less than 10% of the querylength. * genome128_hr.c: Made additional changes to avoid _mm_extract_ps on non-SSE4.1 systems 2014-04-07 twu * sarray-read.c: When effective querylength is less than bucket indexsize, no longer trying to infer lcp-interval from bucket array, but just starting from entire lcp-interval. 2014-04-06 twu * gmap.c, gsnap.c, uniqscan.c: Checking for valid float values between 0.0 and 1.0 * dynprog_genome.c, splicetrie.c: Fixed headers for dynprog routines * dynprog_single.c: Using a variable in the F loop to see if H needs to be reloaded * oligoindex_hr.c: Allocating storage for Oligoindex_array_T * Makefile.gsnaptoo.am, dynprog.c, dynprog.h, dynprog_genome.c, dynprog_genome.h, dynprog_single.c, dynprog_single.h, gmap.c, gsnap.c, pairpool.c, pairpool.h, src, stage3.c, stage3.h, trunk, uniqscan.c, util: erge reintegrated branches/2014-04-04-dynprog-shift to use new SIMD routines that are row-first and reduce use of F loops * util: Removed property changes * src: Removed property changes * VERSION: Updated version number * gmap.c, gsnap.c, oligoindex_hr.c, oligoindex_hr.h, stage1hr.c, stage1hr.h, stage2.c, stage2.h, stage3.c, stage3.h, uniqscan.c: Created a separate Oligoindex_array_T object, which also holds storage * configure.ac: Added AC_FUNC_ALLOCA * mem.h: Added hooks for memory allocation using alloca * bitpack64-readtwo.c: Added missing #endif * indexdb.c: Fixed type of offsets from UINT4 back to Positionsptr_T * iit-read-univ.c: aking Univ_FNode_T struct separate from FNode_T struct * gmapindex.c: Checking genomelength before trying to create suffix array or LCP/child/DC arrays * bitpack64-readtwo.c: Fixed bug where not enough 128-bit registers were provided for large genomes * bitpack64-read.c: Eliminated an extra addition from computing offset in large genomes 2014-04-03 twu * uniqscan.c: Using new interface to Oligoindex_new routines * index.html: Updated for 2014-04-01 version * archive.html: oved 2014-03-28 and earlier versions to archive * acinclude.m4, ax_ext.m4, ax_gcc_x86_avx_xgetbv.m4: Updated ax_ext.m4 and added ax_gcc_x86_avx_xgetbv * uniqscan.c: Using new interface to Stage3_setup * stage3.c, stage3.h: Providing min_end_indel_matches to end trimming procedures * sarray-read.c, sarray-read.h: Added separate access control for lcpchilddc * oligoindex_hr.c, oligoindex_hr.h: Allocating dedicated space needed for Oligoindex_get_mappings, to avoid memory allocation/deallocation * gsnap.c: Using new interface to Oligoindex_new routines, Stage3_setup, and Sarray_new * gmap.c: Using new interface to Oligoindex_new routines and Stage3_setup * genome128_hr.c: Provided alternative to _mm_extract_ps, which also requires SSE4.1 * dynprog.c: odified debugging statements 2014-04-02 twu * ax_ext.m4: Adding warning messages when immintrin.h is not found and could be used * ax_ext.m4: Checking for immintrin.h before allowing popcnt, lzcnt, or bmi1 * ax_ext.m4: Improved warning messages * Makefile.gsnaptoo.am, VERSION, atoiindex.c, ax_ext.m4, bitpack64-access.c, bitpack64-read.c, bitpack64-read.h, bitpack64-readtwo.c, bitpack64-readtwo.h, bitpack64-serial-read.c, bitpack64-serial-read.h, bitpack64-serial-write.c, bitpack64-serial-write.h, bitpack64-write.c, bitpack64-write.h, bytecoding.c, bytecoding.h, cmetindex.c, compress-write.c, compress-write.h, compress.c, compress.h, compress128.c, config.site.rescomp.prd, config.site.rescomp.tst, dynprog.c, genome-write.c, genome-write.h, genome.c, genome128-write.c, genome128-write.h, genome128_hr.c, genome128_hr.h, genome_hr.c, genome_hr.h, genome_sites.c, gmap.c, gmap_build.pl.in, gmapindex.c, gsnap.c, iit-read-univ.c, iit-read.h, iit-write-univ.h, iit-write.h, iitdef.h, indel.c, indexdb-write.c, indexdb-write.h, indexdb.c, indexdb.h, indexdb_hr.c, indexdbdef.h, mapq.c, sarray-read.c, sarray-read.h, sarray-write.c, sarray-write.h, snpindex.c, splice.c, splicetrie.c, splicetrie_build.c, src, stage1hr.c, stage2.c, stage3.c, stage3hr.c, substring.c, trunk, types.h, uniqscan.c, util: ajor change. Merged revisions 131573 to 132142 from branches/2014-03-26-bitpack-esa to use genomebits128 format, bp64-columnar, and enhanced suffix arrays * VERSION: Updated version number * index.html: Revised for latest version * stage3hr.c: Not using number of introns to determine equivalence in hit_equiv_cmp and hitpair_equiv_cmp * genome_sites.c: Resolved comparison between unsigned and signed values for -1 2014-04-01 twu * boyer-moore.c, dynprog.c, stage3.c: Implemented changes to restore finding microexons * shortread.c: Handling Casava reads ending in ";1". Fixed problem where -q and --allow-pe-name-mismatch together caused a fatal bug. * genome_hr.c: Changed debugging output for splice fragments to print unsigned shorts 2014-03-28 twu * indexdb.c: Changed type of offsets (called only for regular bitpack procedure) from Positionsptr_T * to UINT4 * * indexdb_hr.c: Calling correct procedures for LARGE_GENOMES * substring.c, substring.h: Fixing comparisons of coordinates to handle circular chromosomes * stage3hr.h: Removed queryseq as arguments to Stage3end_remove_duplicates * stage3hr.c: Fixing comparisons of coordinates to handle circular chromosomes * stage1hr.c: Calling Stage3end_remove_duplicates after Stage3end_remove_circular_alias * stage1hr.c, stage3hr.c, stage3hr.h: Trying to salvage alias +1 within Stage3end_remove_circular_alias, and calling that rather than Stage3end_unalias_circular 2014-03-27 twu * stage3hr.c: In Stage3_new_splice, not trying to merge long-distance splices at this time, which can lead to bad coordinates for GMAP * stage1hr.c: Initializing variable, previously not initialized * pair.c: Fixed assertion on CIGAR length to include hardclips * gsnap.c: Including splice.h * chimera.c: Rearrange order of loops in Chimera_bestpath 2014-03-26 twu * stage3hr.c: Fixed bug where overlap across circular chromosome origin is entirely trimmed, leading to an "SH" cigar string * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, index.html, trunk, util: Updated version number * gmap.c: Checking return value of Chimera_bestpath * gmap.c: Checking return value of Chimera_bestpath * chimera.c, chimera.h: Chimera_bestpath returning a value to indicate if a chimera was found * stage3.c: In Stage3_merge_local, traversing cDNA gap any time intronlength is less than 0 * pairpool.c: Created separate debugging category for Pairpool_clean_join * gsnap.c, splice.c, splice.h: Using min_shortend to control splice length at ends * sarray-read.c: Fixed problem where splice or deletion could extend into next chromosome 2014-03-17 twu * translation.c: Fixed bug where assign_cdna_backward was returning ncdna instead of codon 2014-03-13 twu * sarray-read.c: Put sarray_search loop into a new function, find_longest_match * sarray-read.c: Improved sarray_search by looking up genome only when lcp advances by more than one position * oligoindex_hr.c: Using faster method for checking for zero 128-bit register when SSE4.1 is available * dynprog.c, gdiag.c, indexdb_hr.c, oligo.c, pair.c, sarray-read.c, spanningelt.c, stage1.c, stage1hr.c, stage2.c: Using safer method for computing average of lowi and highi in binary search * access.c: Handling empty files 2014-03-01 twu * gmap.c, stage3.c, stage3.h: Removed alignment_score_fwd and alignment_score_rev from Stage3_T object * VERSION: Updated version number * stage3.h: Using maxintronlen_bound in Stage3_mergeable * stage3.c: Not trimming exons at end based on splice site probabilities * stage2.c: In D4 section, when diffdistance <= EQUAL_DISTANCE_NO_SPLICING, adding CONSEC_POINTS_PER_MATCH, to extend chains further * gmap.c: Using maxintronlen_bound in Stage3_mergeable * gmap.c: Performing iterations for finding a local join, before iterations for finding a chimera. * stage3.c: Revised criteria for pick_cdna_direction. When cdna_direction == 0, assigning fwd or rev introntype instead of NONINTRON. 2014-02-28 twu * Makefile.dna.am, Makefile.gsnaptoo.am, get-genome.c, gmap.c, outbuffer.c, outbuffer.h, stage1.c, stage1.h: Removed references to Chrsubset_T. Made -c flag work again by setting universal coordinate bounds in stage 1. * gmap.c: Checking coverage of nonchimericbest against each chimeric part, and if coverage is large enough on each side, picking non-chimeric alignment over chimera. * stage3.c, stage3.h: Not determining mergeable based on cdna_directions of the left and right part. In that situation, fixing the alignment by recomputing to find the best cdna_direction. * pair.c: Disallowing transitions even 10 bp outside of alignments * chimera.c: Calling Pair_pathscores directly, instead of through Stage3_pathscores * gmap_build.pl.in: Removed reference to localdir. Putting tempfiles for .coords and .sources into destination directory. * sarray-read.c: Slight speed improvement in handling pre-alignment loop. Now using 0 instead of 4. * stage3hr.c: Restored old version of Stage3end_remove_overlaps, with different algorithm from that for paired ends 2014-02-26 twu * stage1hr.c: For paired-end reads, when only one end is too short, aligning the other end as part of a halfmapping alignment 2014-02-24 twu * stage3hr.c: Implemented recursive, list-based approach to removing bad superstretches in paired-end alignments, instead of O(n^3) algorithm, which occasionally hanged in repetitive regions * gmap.c: Added debugging statements for chimera * stage2.c: Reducing NINTRON_PENALTY_MISMATCH from 32 to 1, because short exons were being missed. Also, eliminated querydist_credit and restored querydist_penalty. * chimera.c: In Chimera_local_join_p, checking genomic positions to make sure they make sense 2014-02-22 twu * gsnap.c, pair.c, pair.h, samprint.c, samprint.h: Implemented option --hide-soft-clips * stage3.c: Returning value from merge_local_single * substring.c, substring.h: Added function Substring_queryend_orig 2014-02-20 twu * gsnap.c: Using new interface to Stage2_setup * chimera.c, diagpool.c, gmap.c, oligoindex.c, oligoindex_hr.c, pair.c, src, stage2.c, stage2.h, stage3.c, uniqscan.c: erged revisions 128075 to 128117 from branches/2014-02-20-chimera-breakpoint to fix cases where breakpoint was found outside of alignments * dynprog.c: Handling lower-case nucleotides correctly in dynamic programming. Handling alternate alleles equally in dynamic programming. * bitpack64-read.c, indexdb.c: Fixed bugs in handling bitpackpages file for huge genomes 2014-02-18 twu * pair.c, pair.h, stage3.c: Added numbers of matches, mismatches, indels and unknowns to GFF3 output * VERSION: Updated version * ax_ext.m4: Fixed typo * gmap_build.pl.in: Not printing warning message about -T unless it is used. Deleting .sources file. * chimera.c, chimera.h, gmap.c: Added donor_watsonp and acceptor_watsonp to fields for GMAP * stage3hr.c: Fixed bug in printing header twice for concordant translocations in standard GSNAP output format * get-genome.c: Added output for vareffect * samprint.c: Added strands to XT field * indexdb-write.c: When checking bitpack64, printing warning messages rather than exiting. 2014-02-15 twu * sarray-read.c: Fixed a bug where r for an lcp-interval was being decremented from 0 to -1U. 2014-02-13 twu * samprint.c: Added distant splice information to XT field, but without strand information * samprint.c: Added XC flag to indicate a circular alignment 2014-02-12 twu * stage1hr.c: Removed unnecessary variables that have been made global within the file * branchpoint.c, branchpoint.h, splicing-score.c: Added bpa-all option to print all marginals * iit-read.c: Handling cases in signed matching where sign == 0 * get-genome.c: Added option --aslabel * sarray-read.c: Turning off debugging 2014-02-02 twu * get-genome.c: Added debugging statements 2014-02-01 twu * get-genome.c: Making typed queries when user provides a typestring 2014-01-31 twu * Makefile.dna.am, Makefile.gsnaptoo.am, README, branchpoint.c, branchpoint.h, gsnap.c, indel.c, indel.h, sarray-read.c, splicing-score.c, src, stage1hr.c, translation.c, trunk, uniqscan.c, util: Merged revisions 125127 to 125307 from branches/2014-01-30-lsm-branch-point to add bpa analysis to splicing-score 2014-01-29 twu * splicing-score.c: Added -v flag to handle alternate alleles 2014-01-22 twu * fa_coords.pl.in: Fixed syntax error * VERSION, closeparen-table.pl, config.site.rescomp.prd, config.site.rescomp.tst, excess-leftward.pl, excess-rightward.pl, index.html, openparen-table.pl, select1-table.pl, src: Updated version number * fa_coords.pl.in: Fixed syntax error 2014-01-21 twu * Makefile.dna.am, Makefile.gsnaptoo.am: Added SIMD_FLAGS and POPCNT_FLAGS to all programs that include compress.c * sarray-read.c: Added benchmarking procedure Sarray_traverse_children * oligo.c: Added "U" to end of integer constants where necessary * gsnap.c: Fixed typo in --help statement * gmap.c: Fixed revision of extension length relative to end-segment length for finding chimeras 2014-01-15 twu * gmap_build.pl.in: Fixed variable name 2013-12-24 twu * sarray-read.c: Added comments * Makefile.gsnaptoo.am: Added files for bp-read and bp-write * bp-read.c, bp-read.h, bp-write.c, bp-write.h, bp.h, gmapindex.c, sarray-write.c, sarray-write.h, types.h: Merged revisions 119699 to 122378 from branches/2013-11-27-child-bitvector to add code for bitvector representation of child array * bitpack64-read.c: Removed extraneous addition for second half of block for packsize of 32 2013-12-20 twu * gmap_build.pl.in, util: Merged revisions 119700 through 122189 from branches/2013-11-27-child-bitvector/util to write genome indices in destination directory * fa_coords.pl.in, gmap_build.pl.in, gmap_process.pl.in: Writing FASTA sources to a file * Makefile.dna.am: Added gamma-speed-test and bitpack64-speed-test * splicing-score.c: Checking if coordinates are valid * gamma-speed-test.c: Printing nanoseconds per query * bitpack64-speed-test.c: Using new interface to bitpack64 read commands 2013-12-17 twu * stage1hr.c, stage3hr.c, stage3hr.h: Requiring single or unpaired terminals to be 2/3rds of the querylength * sarray-read.c: Fixed memory leak * dynprog.c: Fixed a bug where the wrong genomic position was provided for a high-probability microexon. 2013-12-16 twu * stage1hr.c: Not passing in max_terminal_length to find_terminals * sarray-read.c: Allowing initial lcp interval for the first nucleotide * gmapindex.c: Changed name of child_uncompress procedure * bitpack64-write.c: Handling the case for Bitpack64_write_direct where the packsize is 0. * sarray-write.c, sarray-write.h: Included code for bp version of child information 2013-12-13 twu * Makefile.dna.am, Makefile.gsnaptoo.am, atoiindex.c, bitpack64-access.c, bitpack64-access.h, bitpack64-read.c, bitpack64-read.h, bitpack64-write.c, bitpack64-write.h, chimera.c, cmetindex.c, config.site.rescomp.tst, dynprog.c, dynprog.h, genome.c, genome.h, gmap.c, gmapindex.c, indexdb-write.c, indexdb-write.h, indexdb.c, indexdb.h, indexdb_hr.c, indexdbdef.h, oligoindex_hr.c, oligoindex_hr.h, oligoindex_pmap.c, oligoindex_pmap.h, pmapindex.c, sarray-read.c, sarray-write.c, sarray-write.h, sequence.c, sequence.h, snpindex.c, splicetrie.c, splicetrie.h, splicing-score.c, src, stage1hr.h, stage2.c, stage2.h, stage3.c, stage3.h, trunk, util: Merged revisions 120874 through 121506 from branches/2013-12-10-pmap 2013-12-05 twu * substring.c: Fixed issue where circularpos was assigned in the region of soft-clipping, leading to an improper CIGAR string * pair.c: In GFF output, printing '.' instead of '?' for unknown strand 2013-11-27 twu * index.html: Added statement about portability of NAN * iit_store.c: Handling NAN when it is not available * VERSION, index.html: Updated version number * popcount.c, popcount.h: Added popcount.c and popcount.h to store tables * Makefile.gsnaptoo.am: Added popcount.c and popcount.h * genome_sites.c: Added include of popcount.h. * genome_hr.c: Moved tables to popcount.c, and added include of popcount.h. * indexdb-write.c: Revised size of memory reserved for bitpackptrs. Moved tables to popcount.c, and added include of popcount.h. * sarray-write.c: Revised size of memory reserved. Added include of popcount.h 2013-11-23 twu * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, index.html: Updated version number * stage3.c: In build_pairs_singles, build_pairs_introns, and build_pairs_dualintrons, remove gaps at the beginning and any gap at the end of the path. 2013-11-22 twu * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, index.html: Updated version number * outbuffer.c: Fixed bug in using --fails-as-input on single-end reads * stage3.c: Replaced one call to insert_gapholders with List_reverse * Makefile.dna.am: Added files needed for gmapindex and uniqscan * stage3.c: Inserting gapholders before calling assign_intron_probs 2013-11-21 twu * iit-read.c: Fixed issue with IIT_fieldvalue returning the previous line from what is desired * stage3hr.c: Slight improvement in efficiency of randomization procedure 2013-11-20 twu * stage3hr.c: Using a different formula for generating a random integer * stage3hr.c: Put an explicit type conversion to double before RAND_MAX * stage3hr.c: Now picking primary alignment randomly among best alignments with ties * Makefile.dna.am, Makefile.gsnaptoo.am, VERSION, config.site.rescomp.prd, config.site.rescomp.tst, dynprog.c, iit-read.c, iit-read.h, iit-write.c, iit-write.h, iit_get.c, iit_store.c, iitdef.h, index.html, littleendian.h, src, trunk, util: Merged revisions 115687 to 115891 from branches/2013-11-19-iit-values * archive.html: Moved version 2013-10-28 to archive * README: Changed discussion to use gmap_build and not gmap_setup * Makefile.am, configure.ac: Removing gmap_setup program * gmap_build.pl.in: Added --contigs-are-mapped and --fasta-pipe options. Providing arguments to subroutines. * archive.html: Added link to old database format using gamma compression * index.html: Provided link to old genome database formats * spanningelt.c, src: Fixed bug in code for spanning elt in regular-sized genomes * index.html: Updated for version 2013-10-28 2013-11-19 twu * README: Changed N1 and N2 abbreviations to NM * configure.ac: Added ensembl_genes program * Makefile.am, ensembl_genes.pl.in: Added ensembl_genes program * gmap_build.pl.in: Clarified usage of --circular feature when --names feature is also used * bitpack64-read.c: Declared variable needed for non-SSE2 compilation * stage2.c: Revised debugging statement * gmap.c: Added debugging statement * oligoindex_hr.c: Made debugging statements print counts for each oligomer * oligoindex.c: Resetting query_evaluated_p in Oligoindex_untally, to avoid interactions between queryseqs * dynprog.c: Not adding dashes if gap is long. Not performing simple genome gap if finalp is true. * Makefile.dna.am, Makefile.gsnaptoo.am: Added sarray-read.c and sarray-read.h to gsnapl and uniqscanl * uniqscan.c: Using new interface to Stage3hr_setup * stage3hr.c: Removed unused code * smooth.c, stage3.c: In traverse_dual_intron, if dual scores win over single score, protecting that exon from being smoothed by size * pairdef.h: Added comment about protectedp * pair.c, pair.h: Added function Pair_protect_list * outbuffer.c: Removed unused code 2013-11-18 twu * gmap.c: Reduced threshold for discarding gegion from 0.80*max_ncovered to 0.25. * stage3.c: Reduced amount of peelback. Made fixes to improve finding of short exons, including reducing criteria for dual_canonical_p, and eliminating smoothing by size. * access.c, atoiindex.c, bitpack64-read.c, bitpack64-read.h, bitpack64-speed-test.c, cmetindex.c, genome_hr.c, genome_hr.h, gmap.c, gmapindex.c, gsnap.c, iit-read-univ.c, indexdb-write.c, indexdb-write.h, indexdb.c, indexdb.h, indexdb_hr.c, indexdbdef.h, littleendian.c, littleendian.h, snpindex.c, spanningelt.c, spanningelt.h, stage1hr.c, stage2.c, types.h: Merged changes from branches/2013-10-16-huge-genomes to allow for huge genomes, where offsets (or length of positions file) exceeds 2^32 entries * table.c, table.h: Changed type of keyfree procedure to take const void as argument type * stage3hr.c, stage3hr.h: Allowing --fails-as-input to work with new xs files * shortread.c, shortread.h: Allowing --fails-as-input to work with new xs files * samflags.h: Changed N1 and N2 abbreviations to be NM * outbuffer.c, samprint.c, samprint.h: Allowing --fastq-as-input to work with new xs files * gmap_build.pl.in: Merged changes from branches/2013-10-16-huge-genomes to count offsets and to allow for huge genomes 2013-11-16 twu * README: Added discussion of XS categories * stage1hr.c: Setting ignore_found_score to be found_score, so the input value will be correct for those procedures * stage1.c: For short sequences (< 4 times the default matchsize), performing scan_ends twice, once with a short matchsize and once with a default matchsize, to improve sensitivity and specificity * outbuffer.c, samflags.h, samprint.c, samprint.h, stage3hr.c, stage3hr.h: Added xs (for quiet-if-excessive) output files and categories. Added file_setup procedures for SAM and standard output types for GSNAP. * gmap.c: Removed --quiet-if-excessive option from GMAP, because not working properly 2013-11-15 twu * gmap_build.pl.in: Added comment * indexdb-write.c: Not performing check of bitpack compression when there are no k-mers * sarray-write.c: Include code for reading sarray using fread instead of mmap * Makefile.gsnaptoo.am, gmapindex.c, sarray-write.c, sarray-write.h: Using less memory for creating LCP array and saindex. Using permuted LCP algorithm. Memory mapping suffix array file and compressed LCP files. 2013-11-14 twu * genome_hr.c: Made some fixes to Genome_consecutive_matches_pair * genome_hr.c, genome_hr.h: Implemented Genome_consecutive_matches_pair 2013-10-29 twu * indexdb.c: Using a separate sanity check on positions filesize when expanding bitpack offsets * stage1.c: Reducing intial matchsize for short reads to be less than half the read length * stage3hr.c: Fixed bug where insert length was being computed between GMAP and a TRANSLOC_SPLICE using pair_insert_length on a NULL substring. 2013-10-25 twu * samheader.c: Changed SO:unknown to SO:unsorted * gregion.c: Added comment 2013-10-24 twu * gregion.c: In Gregion_extend, when chrend goes past chrhigh, setting it to chrlength - 1 and not chrlength * stage3.c: In peel_leftward and peel_rightward, removing initial pairs that are gaps or indels, so we don't leave a gap or indel on the top. * genome_sites.c: Fixed bug in large genomes where -1U was being compared to -1UL 2013-10-23 twu * samprint.c: For non-concordant pairs, setting clipdir to 0 when calling SAM_compute_chrpos. * stage3hr.c: Now calling pair_insert_length_unpaired for unpaired alignments involving GMAP, which helps to eliminate duplicate alignments. * README, acinclude.m4, configure.ac, sse2_shift_defect.m4: Added a test to see if compiler can handle SSE2 shift commands properly, and setting config.h variable automatically 2013-10-22 twu * VERSION: Updated version number * dynprog.c: Fixed bug in checking for either rlength or glength to be too long 2013-10-21 twu * stage3.c: Added hooks for HMM step, but still not using it * stage3.h: Allowing stage3debug value of middle * gmap.c: Allowing stage3debug value of middle * oligoindex.c: Adjusting lookback for querypos with no hits. Making lookback value equal for all oligoindices. 2013-10-18 twu * gmap.c, stage3.c, stage3.h: Made stage3debug work 2013-10-15 twu * stage1hr.c: Restored previous criteria for distant splicing * stage1hr.c: Loosened criteria for distant splice probabilities. Checking for gmap_allowance on single-end GMAP and terminal improvement GMAP alignments. * samprint.c: Fixed bug in printing deletion resulting in consecutive M tokens 2013-10-11 twu * indexdb.c: Fixed memory leak when snp_root is given and desired file is not found * boyer-moore.c: Checking if result of Genome_get_segment_blocks_left is NULL * dynprog.c, genome.c: In Genome_get_segment_blocks_right and Genome_get_segment_blocks_left, returning NULL if the entire segment is outside the chromosomal bounds * psl_splices.pl.in: Replaced hard-coded path 2013-10-10 twu * stage3.c: Fixed typo in variable name * stage2.c: Adding query_offset to pairs in non-standard (cmet or atoi) modes * VERSION, index.html: Updated version * README: Added section on compiler issues. Added section numbers. Revised some sections for latest version. * configure.ac: Added option --with-defective-sse2-compiler * diag.c: Added debugging statements * compress.c: Added code for defective SSE2 compilers * stage3hr.c: In cases of overreach when concordant is expected, returning NULL * gmap_build.pl.in: Added --no-sarray option to gmap_build * stage3.c: Making sure not to leave an INDEL_COMP or SHORTGAP_COMP on the path/pairs after peelback. Treating SHORTGAP_COMP the same as INDEL_COMP throughout the code. 2013-10-09 twu * VERSION: Updated version number * stage3hr.c: Fixed insert length calculation for GMAP/substring to go from start5 to end3. Fixed overreach criteria to consider only substrings that entirely pass the end of the other hit. * substring.c, substring.h: Added procedures for segment-based trimmed overlap * stage3hr.c: Added a general segment-based algorithm for finding trimmed insert length. Skipping cases with dual overreach. 2013-10-08 twu * stage3hr.c: Fixed bug in computing start and end positions in computing non-GMAP trimmed insert length. Added code for handling overreach, by changing splices to halfsplices. * stage3hr.c: Fixed bug in computing overlap between non-GMAP hits 2013-10-07 twu * stage3hr.c, substring.c, substring.h: Checking all possible substring combinations in computing trimmed insertlength for non-GMAP hits 2013-10-05 twu * stage1hr.c: Fixed the computation of goal for finding the next chromosome bounds * sarray-read.c: Handling the case where nmisses_allowed < 0. When saindex yields no result, setting low and high to be the beginning and end of the suffix array, rather than iterating through saindex for a hit. 2013-10-04 twu * gmap.c, stage3.c, stage3.h: In Stage3_merge_local, recovering gracefully if clipping leads to a NULL list for either Stage3_T object * substring.c, substring.h: Revised calculation of substring trimmed insertlength to account for trimming of 3' end * stage3hr.c: Revised calculation of GMAP-GMAP trimmed insertlength to account for trimming * samprint.c: Revised criteria for printing D token in deletion. Made compute_cigar follow the logic of print_cigar. * samprint.c: Not computing pair overlaps when a pair involves a circular alignment * stage3hr.c: Improvements to computing insertlength for calculating pair overlap. Using querylength instead of querylength_adj. Searching through GMAP pairarray to find intersecting genomic position. Added checks for (left + genomiclength) > chrhigh. 2013-10-02 twu * stage3.c: Reduced some parameters for looping in stage 3. Not looping for GSNAP. * bitpack64-access.c: Added an access procedure for packsize of zero * bitpack64-read.c: Added a read procedure for packsize of zero * sarray-write.c: Changed type of len to size_t * indexdb-write.c: Handling the case when all offset differences are zero, resulting in a packsize of zero * bitpack64-write.c: Allow writing when packsize is zero * stage3.c: Using new interface to Pair_print_sam * config.site.rescomp.prd, config.site.rescomp.tst: Updated version number * archive.html, index.html: Made changes for new version, including the one with suffix arrays * outbuffer.c, pair.c, pair.h, samprint.c, samprint.h, stage3hr.c, substring.c, substring.h: Made numerous changes to fix --clip-overlap, involving trimming and GMAP alignments * sarray-read.c: Fixed memory leak 2013-10-01 twu * stage3.c: Turned off HMM in stage 3, because of possible core dumps * VERSION, config.site.rescomp.prd: Updated version number * stage3.c: Allowing iteration of outer loop based on dual_break_p. Restored filtering by HMM to remove bad sections. Removing noncanonical end exons only if both canonical and noncanonical introns exist. * index.html: Updated for latest version * fa_coords.pl.in, gmap_build.pl.in: Allowing user to specify circular chromosomes using a file instead of the command line. * bitpack64-read.c: Fixed Bitpack64_offsetptr_only to work on poly-T. * bitpack64-read.c, dynprog.c, indexdb-write.c, sarray-write.c, src, trunk, util: Merged revisions from branches/2013-09-27-bidir-bitpack64 to implement bidirectional bitpack64 format 2013-09-30 twu * stage3hr.c: Fixed Stage3pair_overlap to handle trimmed ends * access.c: Disabling memory allocation on Macintoshes when single fread fails * stage3hr.c: Added debugging statements * stage1hr.c: Added debugging statements * resulthr.c: Handing a missing case in Pairtype_string * gsnap.c: No longer setting terminal_output_minlength to be MAX_READLENGTH * genome_hr.c: For determining trim mismatches, setting query_unk_mismatch_p to be false * access.c: Eliminated check for i >= 0, which is always true for size_t * dynprog.c, src, trunk, util: Merged revisions 109420 through 109556 from releases/internal-2013-09-27 * stage1hr.c, stage3hr.c, stage3hr.h: Merged revisions 109420 through 109556 from releases/internal-2013-09-27 to check for concordance after running GMAP improvement on paired results * madvise-flags.m4: Added check for MADV_SEQUENTIAL * dynprog.c: Making NEG_INFINITY_16 and NEG_INFINITY_8 visible outside SIMD code * gmap.c: No longer bounding chimera_margin by CHIMERA_SLOP * stage3.c: Avoiding indels at chimeric join by cleaning ends, extending with no gaps, and then clipping at breakpoint * substring.c: Fixed assertions relative to chrhigh * samprint.c: Fixed bug in --clip-overlap SAM output where deletion occurs at the clip site 2013-09-27 twu * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Updated version number * access.c: Fixed workaround for Macintosh fread bug to handle large files * uniqscan.c: Providing --gmap-allowance * gsnap.c: Providing --gmap-allowance * samprint.c: Fixing problem with mate flags when the mate is a translocation * sarray-read.h: Passing max_end_deletions into Sarray_setup * sarray-read.c: If read from beginning does not go halfway across read, trying a search from the middle of the read to see if it finds substitutions * substring.c: No longer allowing donor or acceptor substrings in circular chromosomes, thereby preventing translocations to those chromosomes * stage1hr.c, stage3hr.c, stage3hr.h: Using Stage3end_better_equiv_unpaired_p as a way to determine whether to do spanning set or complete set algorithms after suffix array method. * stage1hr.h: Added gmap_allowance to filter bad GMAP alignments * stage1hr.c: Added gmap_allowance to filter bad GMAP alignments. No longer allowing GMAP splicing on circular chromosomes. No GMAP improvement on sarray hits. Doing spanning set algorithm after suffix array algorithm if nconcordant == 0. 2013-09-26 twu * sarray-read.c: Applying max_end_deletions. In collect_elt_matches, looking at multiple hits between goal and high. 2013-09-25 twu * substring.c: Disallowing donor and acceptor substrings on the duplicate length of a circular chromosome * dynprog.c, src, trunk, util: Reintegrated changes from releases/internal-2013-09-01 * stage3.c, stage3.h: Merged changes from releases/internal-2013-09-01 to clean ends of local merges * sarray-read.c, sarray-read.h: Merged changes from releases/internal-2013-09-01 to fix problem with insertions that are too long * pairpool.c: Merged changes from releases/internal-2013-09-01 to add debugging statements * pair.c: Merged changes from releases/internal-2013-09-01 to fix Pair_start_bound and Pair_end_bound * gsnap.c: Merged changes from releases/internal-2013-09-01 to use new interfaces to Sarray_setup * gmap.c: Merged changes from releases/internal-2013-09-01 to use new interfaces to stage 3 chimera commands 2013-09-24 twu * VERSION: Updated version number * bitpack64-speed-test.c, gamma-speed-test.c: Finding both start and end of position blocks * sarray-read.c, sarray-read.h: Make some fields available for benchmarking purposes 2013-09-20 twu * pairpool.c: In Pairpool_clean_join, making sure that no gaps are left at the medial ends * gmap.c, stage3.c, stage3.h: In Stage3_merge_local_splice, when a new intron is required, performing a full call to path_compute_dir and path_compute_final 2013-09-19 twu * gmap.c: Fixed behavior of -n 1 in GMAP, so it does not print chimeric alignments * substring.c: Added new assertions to make sure alignstart and alignend do not exceed chrhigh * sarray-read.c: For indels and splices, using subtract_bounded and add_bounded to make sure the other piece is on the same chromosome 2013-09-18 twu * stage3hr.c: Stage3pair_overlap inverts return value for minus alignments * pair.c, stage3hr.c: Reworking of computation for pair overlap * bitpack64-speed-test.c: Added code for uncompressing offsets * stage3hr.c: Computing pair overlap based on difference between totallength and insertlength, not alignment coordinates 2013-09-17 twu * indexdb.c: Fixed user message about expanding bitpackcomp * stage1hr.c: Fixed memory leak when newpair involving GMAP is not kept * stage3.c: When queryjump > nullgap and genomejump < 16 (not enough material for stage 2), performing cDNA gap rather than dual break. In path_compute_final, resolving dual breaks as single gaps. * stage3hr.c: Fixed memory leak when resolving inner splices * stage3hr.c: Fixed memory leak * shortread.c: Fixed invalid read in chopping adapters when read lengths are unequal * stage3.c: Removed uninitialized variable 2013-09-16 twu * bitpack64-speed-test.c: Initial import into SVN * Makefile.dna.am: Made instructions match those for Makefile.gsnaptoo.am. Added gamma-speed-test and bitpack64-speed-test. * gamma-speed-test.c: Simplified code to focus only on decoding * splicing-score.c: Fixed code for universal chromosome IIT * indexdb.c, indexdb.h: Exposing different types of filename retrieval * gregion.c: Considering fraction of overlap * samprint.c: Fixed CIGAR strings for splicing on minus strand with clip-overlap 2013-09-13 twu * gmap.c: Increased default value for shortsplicedist from 200,000 to 2,000,000. For chimeric alignments that overlap, fixed bug where maxpeelback was negative, and now computing based on midpoint of the ends. * stage3.h: In Stage3_mergeable, using shortsplicedist * stage3.c: No longer calling Smooth_pairs_by_netgap. In Stage3_mergeable, using shortsplicedist. For extend5 and extend3, handling case where path or pairs is NULL after peelback. 2013-09-12 twu * index.html: Updated for version 2013-09-11 * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Updated version numbers * stage1.c: Added debugging statement * gregion.c: For determining overlaps, using chrstart and chrend instead of extentstart and extentend * pairpool.c, pairpool.h, stage3.c: In merging for local splice, added procedure Pairpool_clean_join to peel back both ends to remove negative genomejumps 2013-09-11 twu * stage3hr.c: Fixed memory leak on new pairs. Handling the case where pair overlap is negative. * stage1hr.c: Fixed memory leak on terminal alignments that fail terminal_output_minlength test * shortread.c: Not checking for Illumina endings on shortreads that are skipped * dynprog.c: Initializing value of introntype * pair.c: Fixed memory leak under --clip-overlap feature * stage3.c: Requiring 25 bp on both sides of a chimeric alignment 2013-09-10 twu * sarray-read.c: Fixed bug in Elt_fill_positions_all where position could be negative 2013-09-09 twu * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Updated version number * stage3.c: Restored finding of microexons when sequence quality is high * pair.c: Making value of trim_5p dependent on trim_left * iit_get.c: Fixed behavior of iit_get to work when reading queries from stdin * stage3.c: In build_pairs_introns, when finalp is true, solving cDNA gaps as single gaps * stage3.c: When finalp is true, not relying upon stored solutions for any traversal functions. Performing iterative calls to trimming non-canonical introns at ends. * stage3.c: In traverse_single_gap, not relying upon previous result if finalp is true * stage2.c: Checking to make sure calls to genome canonicalp procedures do not have negative coordinates * gmap.c: Initializing genome_sites for pairalign and usersegment queries * samprint.c: Allowing printing of results where chrpos == 0 2013-09-06 twu * index.html: Updated for latest version * stage1hr.c: Fixed bug in add_bounded where coordinates extended past chrhigh * dynprog.c: Fixed problem where prob_trunc was not being initialized * fa_coords.pl.in, gmap_build.pl.in: Added -n flag for substituting chromosome names 2013-09-05 twu * gmap.c, gsnap.c: Allowed compilation when pthreads are disabled 2013-09-04 twu * stage1hr.c: Fixed a fatal bug in find_middle_indels when floors is NULL, from all oligos being omitted * README: Added discussion about output types * stage3.c: Put an absolute limit on peelback. In build_pairs_introns, when queryjump exceeds nullgap, traversing a dual break. * pair.c: Eliminated possible infinite loop in Pair_guess_cdna_direction_array * gsnap.c: Fixed error message 2013-09-03 twu * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Updated version number * outbuffer.c, stage3.c, stage3.h: Providing XO abbrev information for SAM output from GMAP * outbuffer.c, pair.c, pair.h, samflags.h, samprint.c, samprint.h: Added XO flag to SAM output 2013-08-31 twu * gsnap.c, stage3hr.c, stage3hr.h, uniqscan.c: Fixed genomicstart for distant samechr splices when --merge-distant-samechr is specified * gregion.c: Fixed bug where overlaps were found in error because we used chromosomal coordinates instead of univeral coordinates * dynprog.c: Made single and paired indel penalties the same * README, configure.ac: Modified to include gvf_iit program * Makefile.am, gvf_iit.pl.in: Added gvf_iit program 2013-08-30 twu * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, uniqscan.c: Filtering terminals with minlength less than value of --terminal-output-minlength * stage3hr.c, stage3hr.h: Creating Stage3pair_T for terminals only if the terminal lengths exceed terminal_output_minlength 2013-08-29 twu * dynprog.c, dynprog.h, gmap.c, gsnap.c, pair.c, pair.h, src, stage1hr.c, stage2.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h, trunk, util: Did reintegration merge (revisions 106186 to 106267) of branches/2013-08-20-stage23-work * src, trunk, util: Commit property changes 2013-08-28 twu * Makefile.gsnaptoo.am, config.site.rescomp.tst, diag.c, diag.h, doublelist.c, dynprog.c, dynprog.h, genome_sites.c, genome_sites.h, gmap.c, gsnap.c, pairpool.c, pairpool.h, smooth.c, smooth.h, src, stage1.c, stage1hr.c, stage2.c, stage2.h, stage3.c, stage3.h, stage3hr.c, trunk, uniqscan.c, util: Merged revisions 105272 to 106186 from branches/2013-08-20-stage23-work to improve stage 2 and stage 3 procedures 2013-08-20 twu * dynprog.c, gmap.c, scores.h, src, trunk, util: Reintegrated changes from branches/2013-08-20-stage23-work to fix alignment rankings and evaluation of chimeric alignment * index.html: Updated for latest version * gmap_build.pl.in: Handling case where -d argument contains a directory * stage3.c: Fixed infinite loop in peelback. Made some changes in stage 3 procedures. * smooth.c, smooth.h: Restoring procedures for smoothing by net gap * pairpool.c: If all pairs are outside bounds, returning NULL * dynprog.c: Reduced indel penalties for low-quality alignments 2013-08-19 twu * outbuffer.c: Adding q() line for R output 2013-08-14 twu * stage3hr.c: Restoring filter where terminal alignments are removed if mismatches in trimmed region are too high. * stage1hr.c: In computing genomic bounds for GMAP alignment, truncating at chromosomal boundaries * chimera.c, chimera.h, gmap.c: For local chimeric joins, requiring that pieces are locally joinable in Chimera_bestpath 2013-08-08 twu * dynprog.c: Added cache flush command needed for opencc compiler using -O3 optimization on AMD computers 2013-08-06 twu * genome_sites.c: Added lookup tables needed when popcnt is not available * genome_hr.c: Made debugging statements work when popcnt is not available 2013-08-02 twu * acinclude.m4, configure.ac: Removed popcnt.m4 and relying upon ACX_BUILTIN * Makefile.gsnaptoo.am, outbuffer.c, samheader.c, samheader.h, samprint.c, samprint.h: Moved SAM header code to new samheader.c file * gmap.c, gsnap.c, outbuffer.c, outbuffer.h, samprint.c, samprint.h: Added @HD and @PG header lines to SAM output 2013-07-25 twu * Makefile.gsnaptoo.am, NOTICE, config.site.rescomp.prd, dynprog.c, fastlog.h, mapq.c, mapq.h, oligoindex.c, oligoindex_hr.c, pair.c, pair.h, pairpool.c, smooth.c, smooth.h, src, stage1hr.c, stage2.c, stage3.c, stage3hr.c, stage3hr.h, substring.c, substring.h, trunk, univinterval.c, univinterval.h, util: Reintegrated revisions from branches/2013-07-24-fastlog to use a fast approximate log function, to change calloc to malloc in several places, to eliminate a smoothing step, and to improve the oligoindex SIMD procedures slightly 2013-07-24 twu * Makefile.gsnaptoo.am, compress.c, compress.h, dynprog.c, dynprog.h, genome_hr.c, gmap.c, pair.c, pairpool.c, pairpool.h, src, stage1hr.c, stage2.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h, table.c, table.h, trunk, univinterval.c, univinterval.h, util: Merged revisions 102329 to 102725 from branches/2012-07-22-stage3-dir to restructure stage 3 algorithm, including reduction of insert_gapholders and early determination of cdna direction; to add gmap_history to memoize GMAP alignment results; and SIMD instructions for Compress_shift 2013-07-23 twu * stage3.c: Changing Pairpool_pop to List_transfer_one in some procedures * config.site.rescomp.prd, config.site.rescomp.tst, dynprog.c, dynprog.h, src, stage3.c, trunk, util: Reintegrated revisions from branches/2013-07-22-stage3-dir to determine cdna direction early in stage 3 * VERSION, index.html: Updated version number * dynprog.c: Added memory fences at beginning of each SIMD loop 2013-07-22 twu * stage2.c: Returned to safer code that keeps ranges 3 and 4 separate * dynprog.c: Added needed variables * dynprog.c: Making a single call to find splice sites from IIT file, instead of individual calls. Removed old code. * iit-read.c, iit-read.h: Added functions IIT_get_lows_signed and IIT_get_highs_signed * dynprog.c: In bridge_intron_gap procedures, using genomic sequence instead of get_genomic_nt. Also, implemented code for a single call to splicesites IIT, instead of one call for each position. 2013-07-20 twu * gmap_setup.pl.in: Added backslash escape that was missing * gsnap.c: Fixed help string * sarray-read.c: Handling N's in query sequence * types.h: Added comment * iit-write-univ.c: Fixed message * types.h: Prefer to use unsigned long long for UINT8 2013-07-19 twu * stage3hr.c: Changed debugging statement * stage1hr.c: Changed single-end statement for terminals to look like paired-end statement * gsnap.c: Turned default for --terminal-threshold back to 2 for DNA-Seq alignments, since terminal alignments are needed for some GMAP alignments * bitpack64-write.c: Using _mm_store_si128 instead of type casting and a memory fence * compress-write.h: Added comment * iit-write-univ.c: Added message about coordinate sizes * iit-write.c: Including types.h just to make sure we have it * stage1hr.c: Keeping lowprob splices, unless dominated by other splices * gsnap.c, uniqscan.c: Restored --pairexpect and --pairdev flags. Giving information to Stage3hr_setup. * stage3hr.h: Using insertlength, outerlength, and splice probabilities to resolve difficult cases * stage3hr.c: Using insertlength, outerlength, and splice probabilities to resolve difficult cases * dynprog.c: Added memory fences between SIMD and non-SIMD code * bitpack64-write.c: Added comment * bitpack64-write.c: Added _mm_lfence to take care of incorrect SIMD behavior. 2013-07-18 twu * sarray-write.c: Fixed procedure for checking bitpack compression * indexdb.c: Fixed procedure for expanding bitpack * indexdb-write.c: Added procedure for checking bitpack compression * indexdb.c: Added extra information to message when expanding offsets * bitpack64-access.c: Added extra information to error message * bitpack64-read.c: Fixed Bitpack64_block_offsets function 2013-07-17 twu * config.site.rescomp.tst, dynprog.c, src, trunk, util: Reintegrated revisions from branches/2013-07-16-faster-stage2 * stage2.c: Reintegrated revisions from branches/2013-07-16-faster-stage2 to speed up stage2 procedure * dynprog.c, goby.c, goby.h, inbuffer.c, shortread.c, shortread.h, src, trunk, uniqscan.c, util: Reintegrated changes from branches/2013-07-17-reduce-memset to not allocate memory for short reads that are skipped * VERSION, index.html: Updated version number * dynprog.c: Preventing read of uninitialized variable at matrix position 0,0 during traceback * dynprog.c: Not initializing directions_Egap or directions_nogap * stage1.c: In find_first_pair, restored decision of which end to advance based on number of hits 2013-07-16 twu * gregion.c: Turned off debugging * stage1.c: Allowing arbitrarily long scanning of ends to find first pair * sequence.c: Modified definition of Sequence_trimlength * gregion.c: Handling case where extentstart goes past genomic position 0 * gmap.c: Handling case where genomebits is absent * genome.c: Handling case of negative genomic coordinates * diag.c, oligoindex_hr.c, stage3.c: Fixed ends to capture last oligomers of sequence and chimeras exactly * stage2.c: Added comment * bitpack64-access.c: Fixed size of accessor table * dynprog.c: For non-SSE4.1 8-bit SIMD, using a separate pairscore array incremented by 128. * dynprog.c: Turned off debugging 2013-07-15 twu * dynprog.c, src, trunk, util: Reintegrated revisions from branches/2013-07-15-sse2-simd8 allowing SSE computers to run 8-bit SIMD dynamic programming procedures * VERSION, config.site.rescomp.prd, index.html: Updated version number * dynprog.c: Before calling Boyer-Moore procedure, requiring that textlen >= querylen * dynprog.c: Not calling Boyer-Moore procedure if textright <= textleft * dynprog.c: Fixed variable name for SSE2 code * gsnap.c: Fixed --help comment for --mode flag * gmap.c: Including a header file for compress-write.h * compress-write.c: Fixed bug in writing genomebits for user-provided segment in GMAP * genomicpos.c, genomicpos.h: Fixed formatting routine to work on large files * Makefile.am, Makefile.gsnaptoo.am, bitpack64-access.c, bitpack64-access.h, bitpack64-write.c, bitpack64-write.h, gmap_build.pl.in, gmap_setup.pl.in, gmapindex.c, gsnap.c, indexdb-write.c, sarray-read.c, sarray-write.c, sarray-write.h, src, trunk, util: Reintegrated revisions from branches/2013-07-11-compress-lcp to compress lcp file * VERSION, config.site.rescomp.prd: Updated version number * stage1hr.c: Disallowing diagonals < querylength, which lead to left < 0, again * boyer-moore.c, dynprog.c: Using new Genome_get_segment_blocks_left and Genome_get_segment_blocks_right procedures * genome.c, genome.h: Added separate Genome_get_segment_blocks_left and Genome_get_segment_blocks_right * stage1hr.c: In batch_init and identify_all_segments, allowing diagonal to be less than querylength, needed for insertions in reads at the beginning of the genome. * genome.c: Fixed memory leak when genomebits file is not available * Makefile.am, NOTICE: Added NOTICE file for distribution * Makefile.gsnaptoo.am: Using new saca-k.c and saca-k.h files * compress-write.c: Fixed bug where coordinates above 2^31 were being treated as negative values * genome.c: Fixed bug where coordinates above 2^31 were being treated as negative values * iit_store.c: For IITs with divs (versions above 1), converting from Univinterval_T objects to Interval_T objects * saca-k.c, saca-k.h, sarray-write.c: Moved suffix array construction procedures to a separate file. Using latest version of SACA-K code. * gmap_build.pl.in: Added command for making suffix array 2013-07-12 twu * Makefile.gsnaptoo.am, VERSION, compress-write.c, compress-write.h, compress.c, compress.h, compress128.c, compress128.h, config.site.rescomp.prd, config.site.rescomp.tst, genome-write.c, genome-write.h, genome.c, genome.h, genome128-write.c, genome128-write.h, genome128.c, genome128.h, genome128_hr.c, genome128_hr.h, genome_hr.c, genome_hr.h, genome_sites.c, genome_sites.h, get-genome.c, gmap.c, gmap_build.pl.in, gmapindex.c, gsnap.c, indexdb-write.c, maxent128_hr.c, maxent128_hr.h, snpindex.c, splice.c, splicetrie.c, splicetrie_build.c, src, stage1hr.c, stage2.c, trunk, uniqscan.c, util: Merged changes from branches/2013-07-05-new-genomecomp to implement 32-bit unshuffled representation of genome * gmap_setup.pl.in: Added offsets, bitpackptrs, and bitpackcomp suffixes * gff3_splicesites.pl.in: Removed debugging statement * boyer-moore.c, dynprog.c: Using Genome_get_segment_blocks to avoid making repeated calls to Genome_get_char_blocks * genome.c, genome.h: Implemented Genome_get_segment_blocks * sarray-read.c: Fixed bug in known splicing, where index j was not being incremented * samprint.c: Fixed hardclipping ends for circular alignments 2013-07-10 twu * stage1hr.c: Fixed debugging statement 2013-07-09 twu * gff3_introns.pl.in: Fixed warning statements 2013-07-06 twu * setup1.test.in: Fixed test to use gmap_build, rather than gmap_setup 2013-07-05 twu * oligoindex_hr.c: Handling special cases now within general case. Not allowing count/store rev SIMD procedures to have ptr go below 0. Fixed debugging comparison of std and SIMD results. * gmap.c, stage2.c: Using new interfaces to Oligoindex_untally and Oligoindex_clear_inquery * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Updated version number * sarray-read.c, sarray-write.c: Changed lcp file suffix to be .salcp. Checking to see if suffix array files are present, and returning NULL gracefully if not. * oligoindex.c, oligoindex.h: Clearing Oligoindex_T data structures after alignment by going through oligomers in the query, rather than using memset on the entire structure. * uniqscan.c: Using new interface to Stage1hr_setup * gsnap.c: Added --use-sarray flag * stage1hr.c, stage1hr.h: Added parameter use_sarray_p to setup procedure. Improved warning message for very short reads. * gff3_genes.pl.in: Printing genes with a single exon * gff3_genes.pl.in, gff3_introns.pl.in, gff3_splicesites.pl.in: Allowing type CDS to be equivalent to exon 2013-07-04 twu * oligoindex_hr.c: Removed global memcpy of oligospace in allocate_positions, and copying individual pointers at the same time as positions are assigned. * gsnap.c, uniqscan.c: Using new interfaces to Stage1hr procedures * stage1hr.c, stage1hr.h: Generalized mergeable list to be used for middle indels as well as splicing * oligoindex_hr.c: Fixed values for startdiscard and enddiscard in special case of count_fwdrev_simd and store_fwdrev_simd when startptr + 3 == endptr. * sarray-read.c: Implemented SIMD procedure for scanning array in Elt_fill_positions_filtered * gsnap.c: For a single read, changing sarray access to be USE_MMAP_ONLY * stage1hr.c: Removed requirement of nconcordant == 0 from performing GMAP terminal alignments. The concordant pairs can sometimes include pairs of terminal alignments. * sarray-read.c: In calls to Genome_count_mismatches_limit, changed nmismatches_allowed parameter from incorrect value of 2 to nmisses_allowed. 2013-07-03 twu * sarray-read.c: Increased value of SARRAY_EXCESS_HITS from 1000 to 100,000. Providing separate actions for USE_MMAP_PRELOAD and USE_MMAP_ONLY in Sarray_new. * Makefile.gsnaptoo.am, access.c, genome.c, genome.h, genome_hr.c, genome_hr.h, gmapindex.c, gsnap.c, pair.c, pair.h, samprint.c, sarray-read.c, sarray-read.h, sarray-write.c, sarray-write.h, spanningelt.c, splice.c, splice.h, src, stage1hr.c, stage3hr.c, stage3hr.h, trunk, types.h, util: Merged revisions 100273 to 100402 from branches/2013-07-02-suffix-array-redo to implement suffix array algorithm * gsnap.c: Added comment * gmap_build.pl.in: When compression type is specified to be none, setting base size to be equal to the k-mer size. * gmapindex.c: Fixed bug from failing to initialize compression_types. Changing to NO_COMPRESSION when base size is equal to k-mer size. 2013-07-02 twu * indexdb-write.c, indexdb-write.h: When compression_type is NO_COMPRESSION, writing file as "offsets", rather than "offsetscomp". * indexdb.c, indexdb_hr.c: Checking for NO_COMPRESSION case first * oligoindex_hr.c: Fixed case for SIMD where startptr and endptr are 3 units apart (adjacent blocks). * shortread.c: Ignoring accession and header for second queryseq in paired-end FASTA format over two files * indexdb-write.c: Computing basesize separately for bitpack and gamma compression * atoiindex.c, cmetindex.c, gmapindex.c, indexdb.c, indexdb.h, snpindex.c: Added offsets_only_p argument to Indexdb_get_filenames * gmap_build.pl.in: Added -z flag for specifying compression types * config.site.rescomp.prd, src, trunk, util: Merged changes from branches/2013-07-01-faster-splicing to speed up find_singlesplices and find_doublesplices * gsnap.c, uniqscan.c: Using new interface to Stage1hr procedures * stage1hr.c, stage1hr.h: Merged changes from branches/2013-07-01-faster-splicing to use a spliceable array. Removed code for quicksort version of identify_all_segments. * genome_hr.c: Added comment about unshuffle procedure * VERSION, config.site.rescomp.tst: Updated version number * gff3_genes.pl.in, gff3_introns.pl.in, gff3_splicesites.pl.in: Handling GFF3 files that lack gene lines * indexdb.c: Changed stderr message when allocating memory for output pointers * bitpack64-read.c: Using a procedure dispatch table instead of a switch statement * atoiindex.c, cmetindex.c, indexdb-write.c, indexdb-write.h, snpindex.c: Added support for bitpack compression 2013-07-01 twu * gmapindex.c: Added ability to write positions from offsets compressed with bitpacking method * indexdb.c, indexdb.h: Added ability to write positions from offsets compressed with bitpacking method * indexdb-write.c, indexdb-write.h: Added ability to write positions from offsets compressed with bitpacking method * bitpack64-read.c: Implemented Bitpack64_block_offsets to compute all offsets * bitpack64-read.c: Gave distinct variable names for debugging statements * indexdb-write.c: Added code so bitpack offsets file can be written without SIMD instructions. * bitpack64-write.c: Added code so bitpack offsets file can be written without SIMD instructions. * bitpack16-read.c, bitpack32-read.c: Fixed debugging code * bitpack64-read.c: Made some speed improvements in non-SIMD code by only adding as many terms as needed. 2013-06-30 twu * bitpack64-read.c: Added code for decoding of bitpack files without SSE2 present * Makefile.gsnaptoo.am, bitpack64-read.c, bitpack64-read.h, bitpack64-write.c, bitpack64-write.h, gmapindex.c, indexdb-write.c, indexdb.c, indexdb_hr.c, indexdbdef.h: Changed back to 64-element blocks, with only two pieces of meta-information, pointer and offset0, and packsize inferred from successive pointers. * bitpack32-read.c, bitpack32-read.h: Performing cumulative sums within each unpack procedure * bitpack32-read.c, bitpack32-read.h, bitpack32-write.c, bitpack32-write.h, indexdb-write.c, indexdb.c, indexdb_hr.c, indexdbdef.h: Changed from 64-element blocks to 32-element half-blocks * gmapindex.c: Changed from 64-element blocks to 32-element half-blocks * Makefile.gsnaptoo.am: Changed from 64-element blocks to 32-element half-blocks 2013-06-29 twu * indexdb.c, indexdb.h: Added Indexdb_get_filenames procedure that returns a Filenames_T object. Put definition of Filenames_T into header file. * genome_hr.c, genome_hr.h: Using Offsetscomp_T type * bitpack16-write.c: Changed write procedure to take a pointer as argument, to avoid compiler warnings * bitpack16-read.h: Added procedure to compute all offsets * gmapindex.c, indexdb-write.h: Determining selection of filenames based on compression type for offsets. * bitpack16-read.c, indexdb-write.c: Changed forrmat to put all metablock information, including offset and packsize, into the pointers file * indexdbdef.h: Added values for compression types, and compression type field in Indexdb_T object. * indexdb_hr.c: Calling bitpack or gamma compression at run time, as needed * indexdb.c, indexdb.h: Searching for bitpack format, then gamma format, and then no compression. Created Filenames_T object to standardize routines. * indexdb-write.c, indexdb-write.h: Added compression_types as a parameter, so multiple formats can be written * bitpack16-read.c, bitpack16-read.h: Moved data structures to static variables, so they do not need to be passed as arguments each time. * bitpack16-read.c: Using Blocksize_T type 2013-06-28 twu * indexdb-write.c, indexdb-write.h: Restored lost code from large genome revisions * bitpack16-read.h: Using Blocksize_T type * Makefile.gsnaptoo.am: Added bitpack files for large genome programs * Makefile.gsnaptoo.am, bitpack16-read.c, bitpack16-read.h, bitpack16-write.c, bitpack16-write.h, config.site.rescomp.prd, indexdb-write.c, indexdb-write.h, indexdb.c, indexdb_hr.c, src, trunk, util: Reintegrated revisions from branches/2013-06-14-bitpacking to add bitpack compression code * index.html, src, trunk, util: Added link to large genomes version * oligoindex_hr.c: Merged revisions 99785 to 99781 from branches/2013-06-27-simd-oligo to add SIMD code for counting and storing olimers 2013-06-27 twu * types.h: Added comment * stage1.c: Using Width_T type * spanningelt.c, spanningelt.h: Using Width_T types * pair.c, pair.h: Changed types for binary search to be Chrpos_T * indexdbdef.h: Using Width_T and Blocksize_T types * indexdb.c, indexdb.h: Using Width_T and Blocksize_T types * indexdb-write.c: Resolved compiler warnings about signed/unsigned comparisons * gsnap.c: Using Width_T type * gmap.c: Using Width_T type * genome_hr.c, genome_hr.h: Using Blocksize_T type for offsetscomp_blocksize * block.c, block.h: Using Width_T type for oligosize * types.h: Added Width_T and Blocksize_t types * Makefile.gsnaptoo.am, README, access.c, alphabet.c, alphabet.h, atoi.c, atoiindex.c, bigendian.c, bigendian.h, block.c, block.h, boyer-moore.c, boyer-moore.h, chimera.c, chimera.h, chrnum.c, chrnum.h, chrom.c, chrom.h, chrsubset.c, chrsubset.h, cmet.c, cmetindex.c, compress.c, compress.h, configure.ac, diag.c, diag.h, diagdef.h, dynprog.c, dynprog.h, gdiag.c, genome-write.c, genome-write.h, genome.c, genome.h, genome_hr.c, genome_hr.h, genomicpos.c, genomicpos.h, genuncompress.c, get-genome.c, gmap.c, gmapindex.c, goby.c, goby.h, gregion.c, gregion.h, gsnap.c, gsnap_tally.c, iit-read-univ.c, iit-read-univ.h, iit-read.c, iit-read.h, iit-write-univ.c, iit-write-univ.h, iit-write.c, iit_dump.c, iit_get.c, iit_store.c, iitdef.h, iittest.iit.ok, indexdb-write.c, indexdb-write.h, indexdb.c, indexdb.h, indexdb_hr.c, indexdb_hr.h, indexdbdef.h, interval.c, interval.h, intron.c, intron.h, littleendian.c, littleendian.h, mapq.c, mapq.h, match.c, match.h, matchdef.h, matchpool.c, matchpool.h, maxent_hr.c, maxent_hr.h, oligo.c, oligo.h, oligoindex.c, oligoindex.h, oligoindex_hr.c, oligoindex_hr.h, oligop.c, oligop.h, outbuffer.c, outbuffer.h, pair.c, pair.h, pairdef.h, parserange.c, parserange.h, samprint.c, samprint.h, segmentpos.c, segmentpos.h, snpindex.c, spanningelt.c, spanningelt.h, splicetrie.c, splicetrie.h, splicetrie_build.c, splicetrie_build.h, src, stage1.c, stage1.h, stage1hr.c, stage1hr.h, stage2.c, stage2.h, stage3.c, stage3.h, stage3hr.c, stage3hr.h, substring.c, substring.h, tableint.c, tableuint.c, tableuint.h, tableuint8.c, tableuint8.h, trunk, types.h, uint8list.c, uint8list.h, uintlist.c, uintlist.h, uniqscan.c, univinterval.c, univinterval.h, util: Reintegrated changes from branches/2012-02-14-biggenomes to handle large genomes * index.html: Updated comments for latest version * dynprog.c, oligoindex.c, oligoindex.h, oligoindex_hr.c, src, stage2.c, trunk, util: Merged revisions 99648 to 99702 from branches/2013-06-25-simd-8 to use unsigned chars for counts, and 8-bit SIMD instructions for allocate_positions * stage3.c: Removed assertion that c != g when filling in a single bp gap, which can occur with overabundant oligomers, such as poly-A * VERSION, index.html: Updated version number * ax_ext.m4, boyer-moore.c, config.site, config.site.rescomp.tst, configure.ac, dynprog.c, gmap.c, gsnap.c, src, stage3hr.c, trunk, util: Merged revisions 99462 to 99647 from branches/2013-06-25-simd-8 to allow for dynamic programming with 8-bit chars when SSE4.1 is available * stage3.c: Allowing insert_gapholders to fill in single mismatches, rather than inserting a gap. Fixed peel_rightward and peel_leftward, so the extrapeel step does not remove gaps. * stage3hr.c: Fixed issues with wrong queryseq sequence for second end being printed in standard GSNAP output 2013-06-26 twu * VERSION, index.html: Updated version number * dynprog.c: Further check to make sure traceback_local does not give rise to negative querypos coordinates. 2013-06-25 twu * dynprog.c: Distinguishing between NEG_INFINITY and NEG_INFINITY_DISPLAY * dynprog.c: Made traceback_local code follow that for traceback * VERSION, index.html: Updated version number * dynprog.c: Fixed bug in traceback_local where r is negative 2013-06-18 twu * VERSION, index.html: Updated version number * stage3.c: Using new interface to Pair_print_sam, which requires two accessions * gsnap.c, outbuffer.c, pair.c, pair.h, samprint.c, samprint.h, shortread.c, shortread.h, stage3hr.c: Added flag --allow-pe-name-mismatch * oligoindex_hr.c: Fixed faulty cmpgt statement based on 16-bit quantities, instead of 32-bit quantities 2013-06-14 twu * dynprog.c: Removed unnecessary initialization for SIMD code * trunk, util: Merged revisions 98458 to 98523 from branches/2013-06-13-sort-not-merge to speed up update of chromosome bounds in identify_all_segments * VERSION: Removed newline from file * gsnap.c, iit-read.c, iit-read.h, src, stage1hr.c, stage1hr.h: Merged revisions 98458 to 98523 from branches/2013-06-13-sort-not-merge to speed up update of chromosome bounds in identify_all_segments * VERSION, config.site.rescomp.tst, index.html: Updated version number * gmap.c, gsnap.c, indexdb.c, src, stage1hr.c, trunk, util: Merged revisions 98429 to 98457 from branches/2013-06-13-sort-not-merge to add code for qsort, although code not used 2013-06-13 twu * config.site.rescomp.prd: Removed -g flag from production CFLAGS * config.site.rescomp.prd, dynprog.c, index.html, src, trunk, util: Merged revisions 97749 to 98423 from branches/2013-06-05-dynprog-sse to use SIMD instructions for dynamic programming procedures 2013-06-12 twu * dynprog.c: Fixed an unassigned value for rlo. Fixed code in make_splicejunction_3 where the standard splicejunction was reverse complemented, but not splicejunction_alt. 2013-06-10 twu * oligoindex_hr.c: Using compile-time constants to clarify code * gmap.c, gsnap.c: Added run-time check of compiler assumptions * dynprog.c: Fixes to debugging code. Slightly more efficient initialization. 2013-06-08 twu * oligoindex_hr.c: Computing skips of empty counts to increase speed of allocate_positions * oligoindex_hr.c: Using a convert instruction instead of a store instruction to compute the final sum in allocate_positions. * oligoindex_hr.c: In allocate_positions, using SIMD commands to check when positions need to be computed * gsnap.c: Turning off terminal alignments by default for DNA-Seq alignment. Added "all" option for --gmap-mode. 2013-06-07 twu * Makefile.am, config.site.rescomp.prd, config.site.rescomp.tst, dynprog.c, pair.c, src, trunk, util: Merged revisions 97750 to 97963 from branches/2013-06-05-dynprog-sse for a faster and better implementation of dynamic programming procedures * indexdb.c: Removed forced writing of positions by chunks for debugging * Makefile.dna.am, Makefile.gsnaptoo.am: Removed PTHREAD_CFLAGS from LDFLAGS and moved SIMD_FLAGS to CFLAGS * config.site: Added sections for bzlib, simd, and popcnt * gmap.c: Moved free of usersegment to end, after we decide whether we need to free genome_blocks * configure.ac: Moved check for SIMD to be close to that for check for popcnt * VERSION: Updated version number * configure.ac: Added flags --enable-simd and --disable-simd to control check for SIMD features * indexdb.c: Added a second attempt to write positions file in chunks if the first write fails. Added a sanity check in reading in a genomic index that the positions file has the expected size. 2013-06-05 twu * configure.ac: Fixed comment * ax_ext.m4: Changed comment lines for config.h to be standard definitions of 1 * Makefile.dna.am, Makefile.gsnaptoo.am: Added SIMD_FLAGS * gmap.c, gsnap.c: Added available SIMD functions to --version output * indexdb.c: Added check that positions file has the expected size * oligoindex.c, oligoindex.h, oligoindex_hr.c: Using SIMD functions for allocate_positions * acinclude.m4, configure.ac: Added check for SIMD support * ax_ext.m4: Fixed spelling errors * ax_check_compile_flag.m4: Initial import into SVN * ax_gcc_x86_cpuid.m4: Initial import into SVN * ax_ext.m4: Initial import into SVN * dynprog.c: Created separate source code for jump late and jump early conditions 2013-05-28 twu * pair.c: Fixed bug in final revcomp of sequence, where genomealt was not being complemented 2013-05-22 twu * archive.html: Storing version 2013-03-31 into archive * index.html: Updated for version 2013-05-09 * iit_get.c: No longer printing total, when getting queries from stdin * parserange.c: Handling a case where interpreting query as a contig, and the result is NULL * pair.c: Fixed computation of coverage for GFF output 2013-05-17 michafla * Makefile.am, bootstrap.dna, bootstrap.gmaponly, bootstrap.gsnaptoo, bootstrap.pmaptoo, bootstrap.three, configure.ac: Port from release: use only 'config' for m4 macros 2013-05-09 twu * dynprog.c, dynprog.h, splicetrie.c: In making splice junctions, checking for junctions that go to the left of genomic position 0. 2013-05-08 twu * samprint.c: Fixed SAM output for translocations, affected by changes to hardclipping 2013-05-07 twu * stage2.c: In find_shifted_canonical, checking for leftpos and rightpos that exceed chrhigh 2013-05-06 twu * uniqscan.c: Using new interface to Stage1_single_read * gsnap.c, stage1hr.c, stage1hr.h, uniqscan.c: Passing min_distantsplicing_end_matches and min_distantsplicing_identity to Stage1hr_setup. Made GSNAP more sensitive to shorter reads, such as 50 bp. * stage3.c: Removed line that is not reached. 2013-05-03 twu * gmap.c: Added comment in --help output about chimeric alignments being an exception to the filtering options * stage3.c, stage3.h: Added functions Stage3_recompute_coverage and Stage3_passes_filter * gmap.c: Added options --min-trimmed-coverage and --min-identity * stage2.c: Further check to make sure splice site does not occur in first 3 bp of segment in find_shifted_canonical 2013-05-02 twu * stage2.c: In find_shifted_canonical, preventing discovery of splice sites in first 3 bp of segment * index.html: Made changes for version 2013-03-31 (v5) * gmap.c: Checking value of Stage3_merge_chimera before creating chimera and running merge_left_and_right_transloc. * stage3.c, stage3.h: Stage3_merge_chimera checks for pairs on left and right being non-NULL, and returns a bool * pairpool.c: Fixed Pairpool_clip_bounded so it handles the case where the list is NULL. 2013-04-30 twu * get-genome.c: Added --exact flag * stage3hr.c: Removed exclusions in Stage3pair_overlap that prevented tails from being hard clipped. * shortread.c: Fixed hard clipping of reads and quality strings to match new definitions of hardclip_low and hardclip_high 2013-04-27 twu * iit_get.c: Added --exact option * chimera.c: Adding range of chimeric overlap in XT SAM field * outbuffer.c: Using new interface to SAM_print * stage3hr.h: Revised Stage3pair_overlap to return hardclip5, hardclip3, and clipdir. * stage3hr.c: Revised Stage3pair_overlap to return hardclip5, hardclip3, and clipdir. * samprint.h: Added clipdir as a parameter to SAM_print * samprint.c: Handling clipping of overlaps when the low end of the first read and the high end of the second read should be clipped. This is indicated by clipdir of -1, and occurs when the insert length is so short that the two reads have passed each other. 2013-04-12 twu * pair.c, pair.h, samprint.c: Providing effective_chrnum of mate to Pair_print_sam, in case GMAP alignment has a translocation for a mate 2013-04-11 twu * gmap.c: Made changes for PMAP to compile 2013-04-10 twu * gmap.c: Fixed memory issues in merging middle pieces 2013-04-09 twu * Makefile.dna.am: Fixed name of file 2013-04-05 twu * stage1hr.c, stage3hr.c, stage3hr.h: When terminal_threshold is set to a high value, using trim_left_raw and trim_right_raw to exclude GMAP hits. * samprint.c: Reverting to previous version, where chrpos of 0 indicates nomapping * oligoindex_hr.c: Fixed an issue where minus oligomers were extending past the beginning * stage3.c: Removed the unused variables nintrons, nnonintrons, intronlen, and nonintronlen. 2013-04-04 twu * gmap.c, outbuffer.c, stage3.h: Changed name from map_genes to map_ranges, to avoid confusion * iit_store.c: Handling empty files gracefully * iit-write.c: If no intervals are found, then returning gracefully instead of exiting * outbuffer.c: If allow_chimeras_p is false and chimera is present, then effective_maxpaths is 0. * gmap.c: Added flag --no-chimeras * stage3hr.c: Added debugging statement * samprint.c: Using NULL hit instead of zero chrpos to indicate lack of mapping 2013-04-03 twu * dynprog.c, stage3.c: Fixed uninitialized variable for g_alt in get_genomic_nt * stage3hr.c, substring.c, substring.h: Updating nmismatches_bothdiff also 2013-04-02 twu * stage3hr.c: Handling the new pairtype UNSPECIFIED. * stage1hr.c: Allowing align_pair_with_gmap to change final_pairtype. Calls Stage3pair_new with pairtype UNSPECIFIED. * resulthr.c, resulthr.h: Added function Pairtype_string 2013-04-01 twu * VERSION, config.site.rescomp.tst: Updated version number * stage3.c: Added debugging statements * splicetrie.c: Using computed miss_score. Both miss_score and threshold_miss_score are negative. * smooth.c, smooth.h: Added code for marking short exons, but not used * pair.c, pair.h: Removed unused procedures * dynprog.h: Computing miss_score. Both miss_score and threshold_miss_score are negative. * dynprog.c: Computing miss_score. Both miss_score and threshold_miss_score are negative. 2013-03-30 twu * stage3.c: Fixed bug in handling list for middle exon in build_pairs_dualintrons. In traverse_single_gap, when forcep == false, not adding pairs if finalscore < 0. 2013-03-28 twu * stage3.c: Skipping pass 9 (distalmedial) and relying instead of trim_noncanonical_exons. In pass 8, for extend_endings, not removing indel gaps, and setting quit_on_gap_p true, to preserve indels at ends. Not setting ambig_end_lengths in trim_noncanonical_exons, reserving it instead for trim_novel_spliceends. Performing final extension of ends at end of path_compute, and not at beginning of path_trim. * stage1hr.c: Allowing redo of GMAP pairs based on inconsistent senses. * gmap.c, gsnap.c: Increased maxpeelback from 11 to 20 * stage3.c: Added quit_on_gap_p parameter to peel_rightward and peel_leftward. This allows smoothing procedures after traverse_single_gap to merge gaps, and dynamic programming traversal of introns to add indels. Calling remove_indel_gaps before dynamic programming solutions of introns. Added computation of max_intron_score, and using it in pick_cdna_direction to determine if sense is NULL. 2013-03-27 twu * Makefile.dna.am: Added commands for splicing-score program * stage3hr.c: Handling case in Stage3pair_new where expect_concordant_p is false for a GMAP alignment * stage1hr.h: Added distances_observed_p to Stage1hr_setup * splicetrie_build.c: When observed distance is greater than localsplicedist, storing observed distance * gsnap.c, uniqscan.c: Added distances_observed_p to Stage1hr_setup * stage1hr.c: In find_splicepairs_distant, if splice distance is within the known maximum distance, then treating as a local splice, rather than a distant splice. * substring.c: Added code for Substring_intragenic_splice_p, but using version in stage1hr.c instead * stage3hr.c: In Stage3_determine_pairtype, using effective_chrnum instead of chrnum, so new pairs with PAIRED_UNSPECIFIED from GMAP runs work. * stage3hr.h: Added function Stage3pair_sense_consistent_p. * stage3hr.c: Changed ambig_end_interval, used in penalty, to 8. In Stage3end_pick_cdna_direction, returning a non-zero cdna_direction. Added function Stage3pair_sense_consistentp. * stage3.c: Allowing ambig end only if medial prob > 0.95. Moved trim_novel_spliceends earlier, so it is effective. In pick_cdna_direction, making a final use of alignment score. Checking for divide by zero in computing defect_rate. * stage1hr.c: Using matches over entire read to determine whether to perform GMAP. Performing halfmapping of GMAP against terminals only if nconcordant is 0. Added a redo step on align_pair_with_gmap if the senses are inconsistent. * inbuffer.c, shortread.c, shortread.h: Allowing FASTA input files to be paired 2013-03-26 twu * stage1hr.c: For GMAP alignments with long trimmed ends, comparing terminal_threshold against user_maxlevel in deciding whether to drop them. * stage3hr.c: Allowing GMAP improvement to be run on paired results * stage1hr.c: Allowing GMAP improvement to be run on paired results * samprint.c: Adding PG:Z:T output for terminal alignments 2013-03-25 twu * stage3hr.c: Switching back to old GMAP filter, where nmatches_posttrim must exceed querylength/2. * stage1hr.c: Applying terminal_threshold test to GMAP alignments 2013-03-21 twu * dynprog.c: Allowing only two mismatches in a distant splice * gmap.c, gsnap.c: Made results of --version consistent * stage1hr.c: Applying match length criterion to terminal GMAP alignments * stage1hr.c: Incrementing nconcordant only for high-quality GMAP pairsearch results, where nmatches is high enough, instead of using GMAP score. 2013-03-14 twu * splicetrie_build.c: Fixed type * gsnap.c, shortread.c, shortread.h: Implemented --force-single-end flag * index.html: Added comment about --force-single-end flag * README: Added description of stranded and nonstranded cmet and atoi modes. * README: Added information about --force-single-end flag and multiple FASTQ files on the command line. * configure.ac: Removed --with-samtools flag * VERSION, config.site.rescomp.tst, index.html: Updated version number 2013-03-13 twu * Makefile.dna.am, gmap.c, oligoindex_hr.c, stage3.c, stage3.h: Made changes so PMAP would compile * index.html: Made changes for release 2013-03-05 * splicetrie_build.c: Added code for get_exons, which may be needed for getting splice sites from a genes IIT file * genome-write.h: Changed UINT4 to Genomecomp_T * types.h: Added Genomecomp_T * stage3.c: Added minimum length for running stage2 in a dual break * stage2.c: Improved debugging statements 2013-03-12 twu * genome_hr.c: Returning correct reverse chrpos for prev_dinucleotide_position_rev. Printing universal coordinates on blocks for debugging. Improved debugging statements for finding dinucleotides. * stage3.c: Fixed pass 7, so path is expected in loop, and then is converted to pairs at the end. * pair.c: In Pair_start_bound and Pair_end_bound, skipping pairs with querypos < 0, which represent gaps. 2013-03-06 twu * indexdb.c: Removed code for writing word-by-word * gsnap.c: Fixed bug where --adapter-strip=off had no effect. 2013-03-05 twu * fa_coords.pl.in, gmap_build.pl.in, gmap_process.pl.in: Allowing FASTA file names and gzipped file names to contain spaces * gsnap.c: Added entry for distant-splice-identity * VERSION, config.site.rescomp.tst: Updated version number * stage3hr.c: Restored check on bad GMAP alignments * stage1hr.c: Taking both long and short terminals, with short terminals based on half the number of mismatches. Always setting long and short terminal pos based on one-third of the read length. * gmap.c: Fixed issues with computation of chimeric middle pieces, including memory freeing * dynprog.c: Fixed bug with uninitialized variable introntype in Dynprog_genome_gap 2013-02-28 twu * stage1hr.c: No longer using Stage3_short_alignment_p to rule out GMAP hits * gsnap.c, stage3hr.c, stage3hr.h: Using min-nconsecutive criterion instead of min-coverage criterion for keeping GMAP hits. 2013-02-26 twu * stage1hr.c: Introduced idea of long terminals and short terminals, with terminal length = querylength/3. Allowing GMAP pairsearch to set nconcordant. * stage1hr.c: Reverted to not recording GMAP pairsearch successes as nconcordant * stage3hr.c: No longer calling Stage3_bad_stretch_p on GMAP alignment. Not allowing end indels to set trims for alignment comparisons. Penalizing indels in alignment comparisons. * stage3.c, stage3.h: Added procedure Stage3_good_part * stage1hr.c: Recording GMAP pairsearch successes as nconcordant 2013-02-25 twu * index.html: Updated to reflect new version number * VERSION: Updated version number * gsnap.c: Increased values of max_gmap_pairsearch and max_gmap_terminals from 10 and 5, respectively, to 50 and 50 * stage1hr.c: Sorting terminals by matches before running GMAP against a limited number of them * uniqscan.c: Printing given sequence in addition to uniqueness result * stage3.c: Reduced requirement for GMAP from querylength/2 to querylength/3 * gsnap.c: Reduced gmap_min_coverage from 0.50 to 0.33 * stage1hr.c: Counting nhits during subs and indels, and exiting when the value exceeds maxpaths_search 2013-02-23 twu * gff3_introns.pl.in, gff3_splicesites.pl.in: Disallowing negative intron lengths * gff3_genes.pl.in, gff3_introns.pl.in: Skipping blank lines. * gff3_splicesites.pl.in: Fixed bug in warning message. Skipping blank lines. 2013-02-22 twu * stage3hr.c: Setting value of guided_insertlength for exact hits * gsnap.c, outbuffer.c, outbuffer.h, samprint.c, samprint.h, stage1hr.c, stage1hr.h: Created separate variables maxpaths_search and maxpaths_report * shortread.c: Fixed potential bug if sequence is longer than sequence_length * uniqscan.c: Computing full sequence first, then iterating from start until we reach a unique alignment. 2013-02-21 twu * samprint.c: Fixed assertion for circularpos to handle trimming at ends * substring.c: Handling trimmed regions in Substring_circularpos 2013-02-15 twu * VERSION, config.site.rescomp.tst, index.html: Updated version number * stage1hr.c: Changed terminal length for one-half to one-third * stage1hr.c: Fixed bug in the terminal position used for comparing mismatches in find_terminals 2013-02-14 twu * stage3hr.c: Preventing distant splices from being considered as circular aliases and removed * stage1hr.c: Fixed typo in comment 2013-02-12 twu * stage1hr.c: Increased MAXCHIMERAPATHS from 3 to 100 2013-02-08 twu * stage1hr.c, stage3hr.c, stage3hr.h: Added Stage3end_eval_and_sort_guided, to sort one end of unpaired alignments when the other end has a unique alignment. 2013-02-07 twu * get-genome.c: Fixed bug in printing accession for sequence, based on coordinates, for minus strand * uniqscan.c: Running scan for entire sequence length. Reduced terminal-threshold to 5. 2013-02-05 twu * VERSION, index.html: Updated version number * genome-write.c, genome_hr.c, indexdb.c, outbuffer.c, stage1hr.c, stage3.c, substring.c: Fixed static analysis errors found by Nathan Weeks using the Clang 3.1 compiler 2013-01-24 twu * VERSION, archive.html, config.site.rescomp.tst, index.html: Updated version number * iit_get.c: Allowing -N flag to be used with tally IIT files * outbuffer.c: Fixed bug where SAM headers were duplicated in .nomapping file 2013-01-17 twu * pair.c: Added PG:Z:M flag for alignments using GMAP method within GSNAP * stage3.c: Made further changes to peel_leftward and peel_rightward to prevent an indel from being on top of pairs or path * Makefile.dna.am: Add bzip2 files * stage3.c: Changed peel_leftward and peel_rightward so they do not leave a gap or indel at the top of the pairs or path. 2013-01-16 twu * iit_store.c: Added debugging statement * snpindex.c: Added information for warning statement from check_acgt * configure.ac: Added configure commands for bzip2 library * README: Added comment about bunzip2 * Makefile.gsnaptoo.am, bzip2.c, bzip2.h, gsnap.c, inbuffer.c, inbuffer.h, sequence.c, sequence.h, shortread.c, shortread.h: Added procedures for handling bunzip2 * snpindex.c: Fixed issue where warning messages referred to wrong labels * stage1hr.c: Added debugging information about hits used as anchors for GMAP * stage3hr.c: Restored checks on chromosomal bounds for Stage3_new_gmap, and returning NULL when bounds are exceeded 2012-12-20 twu * VERSION, config.site.rescomp.tst, index.html: Updated version number * stage3.c: In assign_gap_types, handling case where cdna_direction == 0 2012-12-19 twu * gmap.c: Calling Stage3_guess_cdna_direction at appropriate places after merge_left_and_right_readthrough. Using maxextension instead of max_intronlength for Stage 1 computations. * stage3.h: Added function Stage3_guess_cdna_direction * stage3.c: Using new interface to Pairpool_push_gapalign. Not performing guess of cdna_direction in Stage3_merge_local_splice. * stage3hr.c, stage3hr.h: Stage3_pair_up_concordant now limits number of samechr results * stage1hr.c: Using new interface to Stage3_pair_up_concordant, which now takes nsamechr * stage1.c, stage1.h: Using extensionlen instead of max_intronlength. Providing variables in Stage1_setup. * pairpool.c, pairpool.h: Handling introntype field in Pair_T object * pairdef.h: Added introntype as field for Pair_T object * pair.c, pair.h: Added function Pair_fix_cdna_direction_array * outbuffer.c, outbuffer.h: Adding commas to output of memory usage * mem.c, mem.h: Added reporting of peak memory usage * intron.c: For cdna_direction of 0, returning introntype rather than NONINTRON 2012-12-18 twu * stage3.c: In Stage3_merge_local_splice, if intronlength is small or negative, calling Stage3_merge_local_single. * mem.c: Increased size of hash table * gmap.c: Putting results of middle search into middlepieces, and iterating through that list. Searching for local readthroughs first, but linking local middle piece to both ends in any case. 2012-12-14 twu * gsnap.c: Fixed --help documentation to show default for -a is off 2012-12-12 twu * VERSION, index.html: Updated version number * stage3.c: In Stage3_merge_local_splice, not advancing querypos for a deletion 2012-12-11 twu * VERSION, gmap.c, pair.c, result.c, src, stage3.c, stage3.h, trunk, util: Merged changes from branches/2012-11-11-middle-piece to allow for searching of middle pieces in GMAP * uinttable.c: Fixed memory leak * table.c: Fixed memory leak * samprint.c: Fixed issue with CIGAR string and hard-clipping * gmap.c: Not finding chimeras if --nosplicing is requested 2012-12-10 twu * indexdb.c: In writing gammas, using a buffer for offsetcomp, so we do not write words one at a time, which is slow on some filesystems * samprint.c: In compute_cigar, handling D and N types based on querypos * samprint.c: Rewrote compute_cigar 2012-12-07 twu * gmap.c: Added separate procedure evaluate_query for use before all calls to Stage1_compute. Turned on check for repetitivep. * VERSION, config.site.rescomp.tst, index.html: Updated version number * archive.html: Added entry for 2012-07-20.v2 * gmap_build.pl.in: Added -e or --nmessages flag * samprint.c: Fixed problem with CIGAR string and clip-overlap function * shortread.c: No longer assuming that slashes in the input FASTQ file are present consistently 2012-12-06 twu * stage1hr.c: Added debugging messages * iit_get.c: Added printing of flanking results in stdin mode. Added -C flag to force interpretation of queries as coordinates. * iit-read.c: Fixed coord_search_low and coord_search_high to prevent it from going below given chromosome * gsnap.c: Revised --help message to give correct formula for fast index size * gmapindex.c: Added nmessages as a parameter * gmap.c: Using new interface to Stage3_merge_chimera * get-genome.c: Added --signed flag * genome-write.c, genome-write.h: Added nmessages as a parameter * stage3.h: Doing full trimming of inside ends of chimeras * stage3.c: Doing full trimming of inside ends of chimeras. Added commented code from revised 2012-07-20 version to prevent chimera extensions from crossing chromosomal coordinates. * pair.c: Handling case for MD string in reverse query direction of I-to-D and N-to-D transitions 2012-11-28 twu * get-genome.c: Fixed sign to be 0 when coordend == coordstart * VERSION, index.html: Updated version number * gmap_process.pl.in: Turning off handling of pipes in FASTA headers * iit_get.c: Using new interface for IIT_get_flanking_typed * iit-read.c, iit-read.h: Added procedures for getting signed results * get-genome.c: Added --signed flag * samprint.c: Fixed bugs in cigar strings for hard clipping and translocations 2012-11-21 twu * VERSION, index.html: Updated version number * gmap.c: Added a limit to iterations of chimera search to prevent an infinite loop 2012-11-19 twu * VERSION, index.html: Updated version number * gmap.c: On chimera search, calling original found subsequence, in case stage 1 was led astray by the ends * stage2.c: Changed debugging call * dynprog.c: Not aborting from Dynprog_microexon_int if cdna_direction is 0, which can happen with chimeric joins. Returning NULL instead. * stage2.c: Moved some debugging statements around * stage1.c: Added debugging statements for printing final results * gregion.c: Increasing MAX_GENOMICLENGTH from 1 million bp to 2 million bp * stage3.c: Using make_pairarrays instead of make_pairarrays_chimera in Stage3_merge_local_splice. Calling this even for dual break. * stage2.c: Made slight differences in coordinates for Oligoindex_hr_tally on minus strand * oligoindex_hr.c: Added debugging statements * oligoindex.c, oligoindex.h: Added debugging procedure * pair.c: Changed all types of exon_genome positions from int to Genomicpos_T 2012-11-16 twu * stage3.c: Fixed bug in computing chrstart and chrend for Stage2_compute_one from traverse_dual_break. Making all splice_genomepos consistently as chromosomal coordinates. * stage3hr.c: Handling case in Stage3_cdna_direction where stage3 is NULL * pair.c, pair.h, samprint.c: Fixed CIGAR strings when clip-overlap hits an insertion * pairpool.c: Added assert.h 2012-11-15 twu * boyer-moore.c, boyer-moore.h, config.site.rescomp.tst, diag.c, diag.h, diagdef.h, dynprog.c, dynprog.h, genome.c, genome_hr.c, genome_hr.h, gmap.c, gregion.c, gregion.h, iit-read.c, iit_dump.c, oligoindex.c, oligoindex.h, oligoindex_hr.c, oligoindex_hr.h, pair.c, pair.h, pairpool.c, splicetrie.c, splicetrie.h, splicetrie_build.c, src, stage1hr.c, stage2.c, stage2.h, stage3.c, stage3.h, trunk, util: Merged revisions 78884 to 79299 from branches/2012-11-11-middle-piece to use chromosomal coordinates, chroffset, and chrhigh * README, VERSION, index.html: Updated version number * genome.h: Changed interface to Genome_fill_buffer_simple_alt * splicetrie_build.c: Using new interface to Genome_fill_buffer_simple_alt * genome.c: Fixed bugs in substituting SNPs into string (uncompress_mmap_snps_subst) 2012-11-10 twu * VERSION, index.html: Updated version number * stage3.c, stage3.h: Implemented Stage3_set_genomicend * stage2.c: Remove MAX_GENOMICLENGTH restriction * gregion.c: Impose MAX_GENOMICLENGTH on gregion * gmap.c: Revising genomicend after pieces are merged 2012-11-09 twu * indexdb.h: Fixed type conflict involving Oligospace_T with definition in indexdb.c * stage2.c: Raised MAX_GENOMICLENGTH from 1 million to 10 million bp * stage3.c: Fixed identification of insertion in Stage3_mergeable * dynprog.c: Added debugging statement * gregion.c: Fixed bug where gregion could extend beyond chrhigh 2012-11-07 twu * stage3hr.c: Using fact that circularp[0] == false to handle translocations * iit-read.c: Fixed IIT_circularp for lookup of 1-based chrnum values * VERSION, index.html: Updated version number * gmap.c, gsnap.c, uniqscan.c: Using new interface to Stage3hr_setup * stage3hr.c: Checking hit->alias before checking hit->plusp * stage3hr.c, stage3hr.h: Using information about circularp in compute_circularpos and in computing hit->alias. * iit-read.c, iit-read.h: Implemented IIT_circularp function * VERSION, config.site.rescomp.prd, index.html: Updated version number * VERSION, index.html: Updated version number * stage1hr.c: Added checks to make sure greedy mapping positions do not result in a genomic segment with negative length 2012-11-06 twu * VERSION, index.html: Updated version number * access.c: Changed printf commands for off_t to use %ju * genome_hr.c: Fixed computation of wildcard SNP positions to exclude positions where reference allele is 'N'. * access.c, configure.ac: Handling compiler warning messages when sizeof off_t is not 8 * VERSION, index.html: Updated version number * dynprog.c, dynprog.h, gsnap.c, uniqscan.c: Removed genome and genomealt from Dynprog_setup * stage1.c: No longer filtering for support anymore, since it leads to poor behavior * gmap.c: Fixed a bug where a NULL genomealt was being passed to Chimera_find_exonexon 2012-10-31 twu * coords1.test.ok: Changed to match current output of program, which allows for circular chromosomes * coords1.test.ok: Changed to match current output of program, which allows for circular chromosomes * Makefile.gsnaptoo.am: Made files match those of Makefile.dna.am * archive.html, index.html: Made changes for new version * README: Added discussion of --force-xs-flag, the XW and XV fields, and circular chromosomes. * VERSION, config.site.rescomp.tst: Updated version number * stage2.c: Prefer shorter intron in all cases * gsnap.c, stage1hr.c, stage1hr.h, uniqscan.c: Implemented variable for splice distancs at novel ends * stage2.c: For first intron, favoring shorter intron lengths in cases of ties * stage1hr.c: Refinements made to computing GMAP genomic region, by checking if a fallback mappingstart or end is available. Performing n best GMAP alignments for pairsearch. Going back to sorting terminals by matches in GMAP terminals. * stage3hr.c: Modifications made to score_eventrim for GMAP, by ignoring small trims and restoring indel penalty. Fixed bug in computing non_terminal3_p. * stage3.c: Calculating ambig end lengths better in trimming noncanonical ends. Not doing trim of novel splice end if ambig end length already set. * samprint.c, samprint.h: Implemented --force-xs-direction flag 2012-10-30 twu * dynprog.c: Limiting indels to 3 bp around splice sites * stage2.c: Edited comment on debugging usage * stage3.c: In trimming non-canonical end exons, when end exon is actually canonical but with poor probability, we trim the exon but set ambig_end_length, so the alignment can compete with other alignments. * stage3.c: Made bad stretch algorithm more tolerant 2012-10-29 twu * genome_hr.c: Fixed compile for GMAP * pair.h: Added code to handle force-xs-direction. Using mate_cdna_direction when necessary. * pair.c: Added code to handle force-xs-direction. Using mate_cdna_direction when necessary. Counting N's as mismatches for trimming purposes. * genome_hr.c, genome_hr.h, substring.c: Counting N's as mismatches for the purposes of end trimming 2012-10-28 twu * substring.c, substring.h: Added function Substring_chimera_sensedir * outbuffer.c, outbuffer.h: Removed snps_p as a parameter * gmap.c, gsnap.c, uniqscan.c: Added --force-xs-dir flag 2012-10-27 twu * stage3.c, stage3.h: Removed snps_p * dynprog.c: Fixed debugging statements 2012-10-26 twu * gmap.c, gsnap.c, uniqscan.c: Using new interface to Stage3_setup * dynprog.c: Commented out constants that should not be used by PMAP * stage3.c, stage3.h: Commented out constants that should not be used by PMAP * samprint.c: Printing XW and XV only when SNP-tolerant alignment is used * pair.c, pair.h: Printing XW and XV only when SNP-tolerant alignment is used * intron.c: Commented out constants that should not be used by PMAP * uniqscan.c: Using new interfaces to procedures. * gmap.c, gsnap.c: Added flag --md-lowercase-snp. Using new interfaces to procedures. * dynprog.c: Using jump_late_p in cdna_gap and genome_gap, which can sometimes give rise to indels * stage1hr.c: Removed nsalvage from debugging statements * stage3.c: Changed Stage3_bad_stretch_p to count each indel gap as one mismatch, regardless of length * pair.c: Removed debugging statements * stage3.c, stage3.h: Using new interface to Intron_type. Obtaining alternate genomic segments in some procedures. * stage2.c, stage2.h: Obtaining alternate allele and putting into Pair_T object when SNP-tolerant alignment is used * splicetrie.c, splicetrie.h: Using new interfaces to Dynprog splicejunction procedures * outbuffer.c, outbuffer.h: Added snps_p field * iit-read.c, iit-read.h: Added function IIT_interval_type * genome_hr.c: In finding dinucleotides, using alternate genome * genome.c, genome.h: In function used to create splicejunctions, returning alternate genomic segment * chimera.c, chimera.h: Using alternate alleles in evaluating splice sites * samprint.c, samprint.h: Printing lowercase MD for known SNP variants * pair.c, pair.h: Printing lowercase MD for known SNP variants * intron.c, intron.h, maxent_hr.c, maxent_hr.h: Using alternate alleles in evaluating splice sites * dynprog.c: Using alternate alleles in evaluating splice sites * access.c, access.h: Added function Access_file_equal 2012-10-25 twu * dynprog.h: Taking alternate genome sequence in splicejunction procedures * dynprog.c: Using alternate allele in computing dynamic programming matrices * snpindex.c: Made snpindex with with circular chromosomes * snpindex.c: Checking if given IIT file and installed IIT file are the same 2012-10-24 twu * VERSION, boyer-moore.c, boyer-moore.h, config.site.rescomp.tst, diag.c, diag.h, dynprog.c, dynprog.h, genome.c, gmap.c, oligoindex_hr.c, oligoindex_hr.h, src, stage1hr.c, stage2.c, stage2.h, stage3.c, stage3.h, trunk, util: Merged revisions 77378 to 77446 from branches/2012-10-21-no-genomicseg to remove genomicseg parameters 2012-10-23 twu * stage3.c: Fixed uninitialized variables knownsplice5p, knownsplice3p, and intronlength. 2012-10-22 twu * gsnap.c: Using new interface to Genome_setup and SAM_setup. * gmap.c: Using new interface to Genome_setup. Using -V and -v flags as in GSNAP. * stage1.c: Fixed matchsize to be double index1part when index1part < 12 * dynprog.c, genome.c, pair.c, pair.h, pairdef.h, pairpool.c, pairpool.h, stage2.c, stage3.c: Added genomealt to Pair_T object and assigning this value in Pairpool_push routines. Creating GENOMEALT_DEFERRED value until we resolve all occurrences of genomicseg. 2012-10-21 twu * boyer-moore.c, dynprog.c, dynprog.h, genome.c, genome.h, maxent_hr.c, pair.c, stage2.c, stage3.c: Genome_get_char_blocks and get_genomic_nt now return alternate allele * samprint.h: Added snps_iit to SAM_setup * samprint.c: Computing mismatches for both refdiff and bothdiff, and printing XW and XV fields if running in SNP-tolerant mode 2012-10-20 twu * gmap.c: Clarified that chimera search can be turned off by setting value to 0 * indexdb_hr.c: Fixed debugging statement * snpindex.c: Fixed program to work with sampling intervals other than 3 bp. Performing file copy of IIT file to maps subdirectory. * access.c, access.h: Added function Access_file_copy * samprint.c: Fixed bug where circularpos was called before results arrays were retrieved * stage3hr.c: Using hitpair score_eventrim in Stage3pair_optimal_score, instead of individual score5 and score3. * Makefile.dna.am, VERSION, chrom.c, chrom.h, config.site.rescomp.tst, dynprog.c, fa_coords.pl.in, gamma-speed-test.c, gdiag.c, genome-write.c, genome-write.h, genome.c, genome.h, gmap.c, gmap_build.pl.in, gmap_process.pl.in, gmapindex.c, gregion.c, gregion.h, gsnap.c, gsnap_tally.c, iit-read.c, iit-read.h, iit_dump.c, iit_store.c, indexdb.c, outbuffer.c, pair.c, pair.h, samprint.c, samprint.h, splicetrie_build.c, src, stage1.c, stage1.h, stage1hr.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h, substring.c, substring.h, trunk, uniqscan.c, util: Merged revisions 76693 to 77345 from branches/2012-10-15-circular to handle circular chromosomes 2012-10-19 twu * outbuffer.c: Fixed write mode for appending to a file 2012-10-18 twu * dynprog.c: Allowing get_genomic_nt to retrieve negative coordinates 2012-10-15 twu * gmap.c, gsnap.c, outbuffer.c, outbuffer.h: Added --append option to append results to output files * memory-check.pl: Added -9 flag to print successive maximum memory usage 2012-10-12 twu * types.h: Added OLIGOSPACE_NOT_LONG * stage3.c: Handling PMAP case for final guess at cdna_direction * stage2.c: Not doing stage 2 if genomiclength > MAX_GENOMICLENGTH * indexdb.c: Fixed issues with %lu using OLIGOSPACE_NOT_LONG * sequence.c, sequence.h: Sequence_read_unlimited returns nextchar * inbuffer.c, inbuffer.h, outbuffer.c, outbuffer.h: Handling multiple pairs of sequences in --pairalign mode * gmap.c, gsnap.c: Requiring -m to be 0.10 or less when it is a float * stage3hr.c, stage3hr.h: In pair_up_concordant, treating hits and terminals separately. When all results are double terminals, treating as if it were final. * stage1hr.c: Added variable gmap_rerun_p. Fixed memory leak. Removed use of segment->usedp. Changed some uses of starti and endi. GMAP result must be significantly better than original hit (reducing misses by half). GMAP pairsearch run only if hit list is small enough. Keeping hits and terminals in separate lists. 2012-10-10 twu * substring.c: Fixed bug in not copying trim_left_splicep and trim_right_splicep 2012-10-01 twu * stage3.c: Added ability for Stage3_merge_local_splice to make a deletion instead of an intron * stage3.c: Made code for coordinate change in Stage3_merge_local_splice match that of Stage3_merge_local_single 2012-09-26 twu * gmap.c, gsnap.c, pair.c, pair.h, stage3.c, stage3.h, uniqscan.c: Added --require-splicedir flag and code for guessing at cdna direction. 2012-09-24 twu * gmap.c, gsnap.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h, uniqscan.c: Removed --pairexpect and --pairdev flags. Removed expected_pairlength and pairlength_deviation variables. * gsnap.c: Using new interface to setup procedures * stage1hr.c: Turned off debugging * uniqscan.c: Using new interface to setup procedures * substring.c, substring.h: Added check for splice site at trimmed position, to be used in even-trimming * stage3hr.c, stage3hr.h: Added Stage3end_trim_left and Stage3end_trim_right commands. In Stage3pair_optimal_score, eliminating hits only if both hit5 and hit3 are worse than optimal in pre-final stages. In final stages, using the sum of hit5 and hit3. Eliminated absdifflength field. * stage1hr.c: For determining GMAP bounds, computing both close mappingstart/mappingend (at distal end) and middle mappingstart/mappingend, and using close if available. If close mappingstart/mappingend does not give a good alignment at the end, then trying full pairmax plus shortsplicedist. 2012-09-21 twu * stage1hr.c: Consolidated calls to Stage2_compute and Stage3_compute into a run_gmap procedure. Computing close_genomicstart and close_genomicend values, but using full pairmax for now. 2012-09-20 twu * stage1hr.c: In computing mappingstart and mappingend for GMAP region, evaluating each diagonal for shortsplicedist vs querylength extension * stage3hr.c: Computing trim_left_splicep and trim_right_splicep for GMAP alignments. Using trim_left_splicep and trim_right_splicep to determine trim amount. 2012-09-19 twu * stage1hr.c: Taking lowprob splice only if both ends have minimum support (set at 20) and no subs or indels were found previously 2012-09-18 twu * stage1hr.c: Requiring one splice site to be sufficient for lowprob splices. Finding best splice first by nmismatches, and then by prob. * gsnap.c, stage1hr.c, stage1hr.h, uniqscan.c: Using min_intronlength to prevent deletions from showing up as lowprob splices 2012-09-17 twu * gmap.c, stage3.c, stage3.h: Implemented procedures to favor paths first by best goodness score, and then by shorter genomiclength 2012-09-15 twu * stage3.c: Compute best_absmq_score, even if it is negative * dynprog.c, pair.c, pair.h, stage3.c: Not protecting distal indels after known splice sites * gsnap.c: For cmet-stranded and cmet-nonstranded mode, make --terminal-threshold=100 the default 2012-09-14 twu * stage3.c: Allowing for merging when there is excess query sequence at the breakpoint 2012-09-13 twu * oligoindex_hr.c: For minus strand, not subtracting 1 from left if left is 0, which caused the entire sequence to be skipped * datadir.c: Including comment about -F flag for cmetindex and atoiindex * snpindex.c: Allowing snpindex to work when there is no gammaptrs file 2012-09-12 twu * stage3hr.c: Changed a free command from FREE to FREE_OUT 2012-08-10 twu * oligoindex.c: Fixed assertion for PMAP to use 3*querylength 2012-07-20 twu * pair.c: Restored capitalized Coverage for standard output * index.html: Added note about lower-case coverage and identity tags in GFF3 * pair.c: Changed Coverage and Identity in GFF3 output to be lower case * Makefile.three.am: Fixed Makefile instructions * VERSION, config.site.rescomp.tst, index.html: Updated version number * gmap_build.pl.in: Fixed use of short and long options 2012-07-18 twu * stage3.c: Merging pairs list of left and right parts for local merge, so that the resulting Stage3_T object can be used iteratively to find a chimera. * gmap.c: Added DEBUG2A macro to show details of chimera detection * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Implemented iterative algorithm for finding chimeras 2012-07-12 twu * VERSION, config.site.rescomp.tst, index.html: Updated version number * pair.h: Fixed problem in SAM output with an unpaired alignment with one end being a GMAP alignment * pair.c, samprint.c: Fixed problem in SAM output with an unpaired alignment with one end being a GMAP alignment 2012-07-09 twu * gff3_introns.pl.in, gff3_splicesites.pl.in: Added -Q flag to suppress messages to stderr * gff3_genes.pl.in, gff3_introns.pl.in: Checking for transcript lines as well as mRNA lines * gff3_splicesites.pl.in: Checking for transcript lines as well as mRNA lines 2012-07-06 twu * README: Added instructions for using vcf_iit * Makefile.am, configure.ac, vcf_iit.pl.in: Added vcf_iit program for processing VCF files 2012-07-05 twu * dbsnp_iit.pl.in: Added exception types InconsistentAlleles and SingleAlleleFreq * dbsnp_iit.pl.in: Printing exception handling rules to stderr even if exception file not given 2012-07-04 twu * VERSION, index.html: Updated version number * parserange.c: No longer checking for labels that match a contig * stage3.c: In extend_ending5 and extend_ending3, checking for a gap between gappairs and the rest of the read 2012-06-27 twu * gmap.c: Fixed bug which prevented -1 flag from working * stage1.c: Made stage 1 work for PMAP * stage3hr.c: Turned off debugging * stage3hr.c: For hitpair_equiv_cmp, not looking at score or nmatches anymore 2012-06-26 twu * VERSION, index.html: Updated version number * splicetrie_build.c: Fixed contents of splicesite_i in splicestrings, after sorting of splice sites 2012-06-20 twu * uniqscan.c: Using new interface to Stage3hr_setup * VERSION, index.html: Updated version number * gsnap.c, index.html, stage3hr.c, stage3hr.h: Added --gmap-min-coverage flag * stage2.c: Changed find_shifted_canonical to go directly to Genome_hr procedures instead of allocating memory and saving past results * gsnap.c, stage1hr.c: Added indel_knownsplice as option to --gmap-mode 2012-06-19 twu * gmap_build.pl.in: Added -M flag for handling NCBI MD files 2012-06-18 twu * stage3hr.c: Cleaned up optimal_score commands for removing terminal alignments in final stage. Using trim_terminals_p argument in calling compute_mapq functions. * pair.c, pair.h, substring.c, substring.h: Added trim_terminals_p argument to compute_mapq functions 2012-06-15 twu * index.html: Reverted back to old behavior for computing MAPQ in entire read, but trimming off ends of type TERM * pair.c, substring.c: Reverted back to old behavior for computing MAPQ in entire read, but trimming off ends of type TERM * index.html: Added comments for changes * gmap_build.pl.in: Using long flag names * pair.c, pair.h, stage3hr.c, substring.c: Computing MAPQ scores over trim-kept region, instead of entire substring * VERSION, config.site.rescomp.tst, index.html: Updated version number * stage3.c: In trim_noncanonical_end_exons, keeping known introns only if nmismatches == 0 * stage3hr.c: Allowing Stage3end_remove_overlaps to work with translocations * stage1hr.c: Allowing for multiple translocations to be reported. Not updating nconcordant for GMAP pair revisions 2012-06-14 twu * outbuffer.c, resulthr.c, samprint.c: Allowing for multiple single-end and unpaired translocations to be printed * resulthr.c, samprint.c: Allowing for multiple paired translocations to be printed * stage3hr.c, stage3hr.h: Changed Stage3pair_remove_overlaps and hitpair_sort_cmp, so they work on translocations * stage3hr.c: Allowing multiple concordant translocations to be printed * stage1hr.c: Not skipping GMAP on terminal alignments. Performing align_concordant_with_gmap on with_terminal list. * resulthr.c, resulthr.h: Changed pairtype TRANSLOCATION to CONCORDANT_TRANSLOCATIONS * pair.c: Changed pairtype TRANSLOCATION to CONCORDANT_TRANSLOCATIONS * stage1hr.c, stage3hr.c, stage3hr.h: Added a category of hitpairs called with_terminal, with lower priority than samechr or conc_transloc * stage2.c: Increased value of SHIFT_EXTRA to fix a fatal bug 2012-06-13 twu * stage3.c: Counting indels and short gaps as mismatches in Stage3_bad_stretch_p 2012-06-12 twu * index.html: Added comment about improved detection of translocations within read ends * stage3hr.c: Computing substring_for_concordance for both translocations (chrnum == 0) and intrachromosomal rearrangements (shortdistancep == false) * stage1hr.c: Checking for bad stretch in GMAP hits, as soon as we call Stage3end_new_gmap * index.html: Updated version number * VERSION, trunk: Updated version * Makefile.gsnaptoo.am: Removed extra includes of cmet and atoi files for GMAP * oligoindex_hr.c: Getting the final oligomers when computing mappings * stage3.c: Fixed computation of mappingstart and mappingend for traversing dual breaks on crick strand * stage1.c: Restoring old scan ends algorithm 2012-06-11 twu * stage1hr.c: Removed unused debugging macro * stage3.c: In trimming novel splice ends, allowing perfect matches to extend into intron * psl_introns.pl.in: Added print command * Makefile.gsnaptoo.am: Added file dependencies * stage3.c: Using QUERYEND_NOGAPS for pass 9a and pass 9b for GSNAP, so trimming will work. Fixed computation of mappingstart and mappingend in traverse_dual_break. 2012-06-07 twu * Makefile.dna.am, stage3hr.c: Adding an absolute sufficient minlength for a terminal, besides using querylength * VERSION, config.site.rescomp.tst, index.html: Updated version number * src: Committing property changes from last merge * gmap.c: Increased max_nalignments from 3 to 10 * stage1hr.c: Fixed bug in find_terminals, where querypos3 was used to compute start_endtype and querypos5 was used to compute end_endtype, instead of querypos5 and querypos3, respectively. * stage3hr.c: Allowing both ends to be of type TERM in a terminal, and checking for mismatches only between the trimmed ends. Requiring that final length is querylength/3. * dynprog.c: Dropped mismatch scores, which helps GMAP extend ends and find chimeras. * stage3.c: Changed endalign for pass 9a and 9b from QUERYEND_NOGAPS to BEST_LOCAL. This fixes an issue in GMAP where ends are truncated, and chimeras not found, as introduced in revision 64732 on 2012-05-22. 2012-06-06 twu * stage2.c: Fixed bug in condition on suboptimal stage 2 paths, where we were requiring fewer than max_nalignments results plus the score == bestscore. The condition should have been a disjunction, not a conjunction. * stage1hr.c: Skipping computation of GMAP on single-end terminal alignments, since that is a duplication of effort * stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Restored assignment of endtypes to terminal alignments. Using them again determine whether to extend terminals left or right for GMAP alignments. * stage1hr.c: Integrated two criteria for finding terminals: old method based on counting mismatches from ends, and new method based on width of (querypos3 - querypos5). 2012-06-05 twu * stage3.c: Fixed bug in local chimera alignment with uninitialized value for genomicseg_ptr 2012-06-02 twu * genome.c: Added assertions to Genome_get_char and Genome_get_char_blocks to check for negative coordinates * dynprog.c: Removed debugging statements * stage3.c: Fixed get_genomic_nt to check for both genomicpos between 0 and genomiclength, and pos between chroffset and chrhigh * dynprog.c: Fixed get_genomic_nt to check for both genomicpos between 0 and genomiclength, and pos between chroffset and chrhigh * VERSION, index.html: Updated version number * dynprog.c, stage3.c: Checking only for genomepos < 0 in get_genomic_nt, not for chrpos between chroffset and chrhigh, which may need further debugging for chimeras. * dynprog.c: Checking for genomepos < 0 in get_genomic_nt. * stage3.c: For Stage3_extend_left and Stage3_extend_right, using get_genomic_nt instead of going directly to Genome_get_char. Checking for genomepos < 0 in get_genomic_nt. * stage3hr.c: In Stage3pair_remove_overlaps, allowing separate pair to subsume overlapping pair only if it is better 2012-06-01 twu * stage3.c: Fixed check of chrpos to compare genomicpos against chrhigh * dynprog.c: Fixed check of chrpos to compare genomicpos against chrhigh * dynprog.c, stage3.c: Checking for chrpos between 0 and chrhigh - 1, inclusive * dynprog.c, dynprog.h, gmap.c, gregion.c, gregion.h, splicetrie.c, splicetrie.h, stage1hr.c, stage3.c, stage3.h: Passing chrhigh along with chroffset to all procedures * dynprog.c, genome.c: When chromosomal coordinate is negative, returns '*' instead of 'N'. Traceback procedures in dynamic programming will not add pairs with '*' genomic nucleotides. * util: Merged changes from last branch * config.site.rescomp.tst: Updated version number * README: Added note that MAX_READLENGTH applies only to GSNAP * VERSION, index.html: Updated version number * stage2.c, stage3.c: Merged changes from branches/2012-06-01-merge-single-gap to fix problems with merging single gap on minus strand 2012-05-31 twu * stage3.c: Protected another debugging statement from referring to genomicseg * gsnap.c: Fixed documentation for --fails-as-input flag. * gmap.c: Added --fails-as-input string to getopt processing. Fixed documentation for --fails-as-input flag. * dynprog.c: Added messages to stderr before all abort statements * translation.c: Requiring translation_leftpos and translation_rightpos to be between 0 and querylength-1. 2012-05-25 twu * gmap_build.pl.in: If -k 15 specified, but not -b, setting basesize to be 12 * Makefile.gsnaptoo.am: Added uniqscan program * stage1hr.c: Decreased max_nalignments from 3 to 2 * dynprog.c: For known splicesites, adjusted low and high boundaries so contlength is always between 0 and endlength-1, inclusive. * stage3.c: Not reducing genomejump at ends anymore 2012-05-23 twu * VERSION, index.html: Updated version number * gmap.c, stage1hr.c: Increased max_nalignments for stage 2 to 3 * stage3hr.c: Turned off check for cdna_direction != 0 and SENSE_NULL in declaring a GMAP alignment as bad * stage3.c: Changed pass 9 from queryend_indels to queryend_nogaps, to avoid false positive indels at ends and to prepare for noncanonical end trimming * splicetrie.c: Improved debugging statements * pair.c: Added information about knowngapp and protectedp in printing pair information for debugging purposes * stage3.c: In trimming of noncanonical introns near end, making an exception for known introns * dynprog.c: Replaced noindel version of Dynprog_end_splicejunction functions with version allowing indels * stage3.c, stage3.h, stage3hr.c: In Stage3_bad_stretch_p, excluding trimmed regions on ends * uniqscan.c: Using new interfaces to setup procedures * stage1hr.c: Added debugging statements * genome_hr.c: Removed debugging statements * gamma-speed-test.c: Using new interface to setup procedures * dynprog.c, dynprog.h, stage3.c: Introduced new endalign type, QUERYEND_GAP, and using it in pass 8. Restored call of Dynprog_end procedures in trim ends using BEST_LOCAL, which does not try to find an intron. * stage3.c: Better handling of ends: pass 8, best_local plus known splicing; pass 9, queryend_indels; pass 10, queryend_nogaps. Medial gap not using known splicing. Simplified trim_ends procedure. Not removing or re-inserting known intron gaps. Bayesian computation of mapping scores for GMAP alignments. * splicetrie.c: Computing separate offsets for anchor and far splicesites for use in Dynprog_end_splicejunction procedures. Not calling Dynprog_add_known_splice procedures. * pairdef.h, pairpool.c, pairpool.h: Added knowngapp field to Pair_T object * dynprog.c, dynprog.h: Allowing compute_scores procedures to work on genomicseg (for splicejunctions). Added functions Dynprog_end5_splicejunction and Dynprog_end3_splicejunction to replace add_known_splice procedures. Calling traceback_local_nogaps in two parts. Dynprog_end_gap procedures returning final score even for QUERYEND_INDELS. Made debugging statements work without genomicseg. 2012-05-21 twu * samprint.c: Checking if MD string output is empty and if so printing "0" 2012-05-19 twu * stage3hr.c: For paired-end reads, in cases of tie score, sorting results by genomic position 2012-05-18 twu * splicetrie_build.c: For intron-level splicing information, sorting individual splicesites by ascending genomic position * splicetrie.c, splicetrie.h: Computing spliceoffset needed to construct splicejunctions. Calling Dynprog_local_nogaps procedures. Requiring dynprog score > 0 on known splicejunctions. * dynprog.c, dynprog.h: Fixed bug in making A-G and C-T ambiguous scores for all modes. Implemented traceback procedure using given sequence and no gaps for handling known splicejunctions. End dynamic programming procedure now returns a final score for queryend_nogaps endalign. Implemented make_contjunction procedures to retrieve the continuous part of splicejunctions. Made make_splicejunction_3 consistent with make_contjunction_3. * stage3hr.c: Turned off check for min_splice_prob on GMAP alignments, since it appears not to work for known splicesites * pair.c: Pair_dump_list now prints line to indicate start of list 2012-05-17 twu * dynprog.c: Handling cases where length1 == 0 or length2 == 0, which otherwise cause fatal errors * stage3.c: Setting use_genomicseg_p to false in all cases * stage2.c: Using Oligoindex_hr_tally even if user genomic segment provided * gmap.c: Computing genomicend even if user genomic segment provided * genome-write.c: Added extra 4 words to end of genome blocks to accommodate nextlow in Oligoindex_hr procedures * Makefile.gsnaptoo.am: Added source files for GMAP 2012-05-16 twu * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, index.html: Updated version number * stage1.c, stage1.h: Added procedure for nonstranded alignment. Turning off scan_ends algorithm and using only sampling. Using indexdb size limit for standard mode, but not for cmet-nonstranded mode. * stage2.c: Looking up genomic nt for all alignment pairs in convert_to_nucleotides * uniqscan.c: Using new interfaces to setup routines * gsnap.c: Using new interfaces to setup routines * gmap.c: Using different indexdb size thresholds for standard and cmet-nonstranded modes * stage1hr.c: Using new interfaces to stage 2 procedures * stage3.c, stage3.h: Handling AMBIGUOUS_COMP the same as MATCH_COMP and DYNPROG_MATCH_COMP. Removed genomic_offset argument from Stage2_compute. Fixed intermediate alignment results for debugging by returning pairs instead of path from path_compute. * oligoindex_hr.c, oligoindex_hr.h: Fixed Cmet_reduce commands for CMET_STRANDED mode * match.c: Fixed memory leak in a debugging procedure, Match_print * gregion.c, gregion.h: Made Gregion_filter_support function available again. Added function Gregion_genestrand. * Makefile.dna.am, dynprog.c, dynprog.h, genome.c, genome.h, gmap.c, stage2.c, stage2.h: Added code to make GMAP work on cmet-stranded and cmet-nonstranded modes 2012-05-14 twu * stage3hr.c: Disallowing new Stage3pair_T object if its insertlength exceeds pairmax and we expect a concordant pair * Makefile.dna.am, block.c, block.h, boyer-moore.c, boyer-moore.h, config.site.rescomp.tst, dynprog.c, dynprog.h, genome-write.c, genome-write.h, genome.c, genome.h, genome_hr.c, genome_hr.h, gmap.c, gsnap.c, intlist.c, intlist.h, oligoindex.c, oligoindex.h, oligoindex_hr.c, oligoindex_hr.h, pair.c, pair.h, splicetrie.c, src, stage1.c, stage1.h, stage1hr.c, stage2.c, stage2.h, stage3.c, stage3.h, stage3hr.c, stage3hr.h, trunk, uniqscan.c, util: Merged revisions 63606 to 64016 from branches/2012-05-08-genomic-nts to read genomic nt rather than generate genomicseg 2012-05-11 twu * archive.html, config.site.rescomp.tst, dynprog.c, index.html, src, trunk, util: Merged revisions 63773 through 63823 from branches/2012-05-10-better-affine-gap to make score matrix symmetric, put sequence2 in outer loop, fix boundary conditions, and improve efficiency * resulthr.c: Fixed uninitialized value for X2 on halfmapping_mult alignments * samprint.c: Fixed uninitialized value for X2 on halfmapping_uniq alignments 2012-05-08 twu * gtf_genes.pl.in, gtf_introns.pl.in, gtf_splicesites.pl.in: Made -E flag use exon_number field * gtf_genes.pl.in, gtf_introns.pl.in, gtf_splicesites.pl.in: Added -E flag to ignore exon_number fields in GTF file 2012-05-07 twu * VERSION: Updated version * oligoindex_hr.c: Reverting to version that zeroes out counts for oligomers that are overabundant or not in query * gmap.c, stage1hr.c, stage2.c, stage2.h: Providing a limit on the number of suboptimal alignments returned from stage 2. Limit set to 2 for GMAP and 1 for GSNAP. * gsnap.c: Added getopt handler for --sam-multiple-primaries 2012-05-03 twu * VERSION, config.site.rescomp.tst, dynprog.c, gmap.c, pair.c, pair.h, src, stage1hr.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h, trunk, util: Merged revisions 63036 to 63240 from branchese/2012-05-01-affine-gap to implement an affine gap algorithm for dynamic programming * uniqscan.c: Using new interface to Stage1hr procedure that contains first_absmq as an argument * shortread.c: Generalized handling of old Illumina paired-end format ending in :0 or :. * genome.c: Fixed function Genome_fill_buffer_simple_alt so it returns ref+alt, instead of empty+alt. * indexdb.c: Made writing of offsetscomp file faster when blocksize == 1 (or k == b), by using a single write command instead of looping. * goby.c, outbuffer.c: Implemented patches for Goby 2.0 * gmap.c, gsnap.c, outbuffer.c, pair.c, pair.h, result.c, result.h, resulthr.c, resulthr.h, samprint.c, samprint.h, stage1hr.c, stage1hr.h, stage3.c, stage3.h, stage3hr.c, stage3hr.h: Added flag --sam-multiple-primaries to allow multiple alignments to be marked as primary, if their mapping scores are equally good * shortread.c: Handling older style Illumina paired-end reads that end in ":0" * stage3.c: Fixed debugging statements * oligoindex_hr.c: Not zeroing out counts[i] for oligomers that are either overabundant or not in query. Saves time in allocate_positions function and in store functions. 2012-04-28 twu * VERSION, config.site.rescomp.prd, config.site.rescomp.tst, index.html: Updated version * gmap.c: Using new interface to Stage3_compute * stage3hr.c, stage3hr.h: Using nmatches_posttrim (adjusted by scores for indels) to compare alignments, except for pre-final terminals. Performing iteration in optimal_score procedures to use updated trim boundaries as poor alignments are removed. * stage3.h: No longer use nmatches_pretrim in Stage3_compute * stage3.c: Removed use of QUERYEND_INDELS at ends of reads, and using QUERYEND_NOGAPS instead, to reduce time spent in dynamic programming * stage1hr.c: Added usedp field to Segment_T object, and marking it true if the segment is used in making a Stage3end_T object. Skipping these segments in finding terminals. * pair.c, pair.h: Added pos5 and pos3 arguments to Pair_nmatches * genome.c: Made uncompress_mmap faster by translating high and low words 16 bits at a time. Adding N's only if flags is not zero. * dynprog.c: Modified bridge_intron_gap so it searches for indels on left or right of splice, but not both. Changes algorithm from quadratic to linear time. 2012-04-25 twu * stage1hr.c, stage3hr.c, stage3hr.h: Revisions made to hit_goodness_cmp and hitpair_goodness_cmp. Using genomiclength in hit_goodness_cmp, final round. For terminals, returning 0 in preliminary rounds. Not using scores for terminals, and using scores only if GMAP or indels are involved. In pair_up procedure, not using terminal scores to update found_score. * indexdb.c: Fixed uninitialized variables that caused problems with older GMAP indices 2012-04-23 twu * dynprog.c: Created separate functions, compute_scores_lookup_fwd and compute_scores_lookup_rev * splicetrie.c: Fixed calls to Dynprog_end5_gap and Dynprog_end3_gap to use endalign instead of to_queryend_p. 2012-04-20 twu * VERSION: Updated version * stage3hr.c: Added check for too many indel breaks in GMAP * stage1hr.c, stage3hr.c, stage3hr.h: Storing cdna_direction in hit of type GMAP and using it instead of sensedir when printing 2012-04-19 twu * VERSION, index.html: Updated version number * stage3.c: Turned off debugging * stage3.c: Fixed uninitialized variable in trim_novel_spliceends * dynprog.c, dynprog.h, stage3.c: Using correct endalign types in Dynprog_end5_known and Dynprog_end3_known * pair.c: Fixed issue with uninitialized variable in printing splicesite labels 2012-04-18 twu * result.c, result.h: Added mergedp variable * outbuffer.c, outbuffer.h: Handling results where mergedp is true * gmap.c: Allowing chimera finding to be turned off by setting -x to be 0. Added mergedp variable so merged alignments generate only a single result. 2012-04-16 twu * VERSION, config.site.rescomp.tst, index.html: Updated version * samprint.c: Handling case where clip-overlap results in a NULL substring * gmap.c: In call to Stage3_merge_local_single, clipping parts around breakpoint instead of chimerapos and chimeraequivpos, to avoid issues where maxpeelback is insufficient * stage3.c, stage3.h: Renamed variable from extendp to max_extend_p * get-genome.c: Added --forsam flag to generate header for SAM files 2012-04-11 twu * VERSION: Updated version * stage1hr.c: Fixed bug from uninitialized variable * gmap.c, stage3.c, stage3.h: Added a criterion for extending left and right chimera ends to consecutive mismatches, based on queryjump and genomejump being unequal. 2012-04-09 twu * gsnap.c, uniqscan.c: Using new interface to Stage3hr_setup * stage1hr.c: Finding terminals by a new method. Instead of counting mismatches from end, requiring only that querypos3 - querypos5 is greater than index1part. Now searching terminals on single-end reads even if a GSNAP alignment has been found. Removed nsalvage == 0 requirement for searching terminals and paired-end reads. * substring.c, substring.h: Added procedure Substring_set_endtypes * stage3hr.c, stage3hr.h: Changed optimal score procedures to use max of max-terminal and min-other for prefinal rounds, and max of max-GMAP and min-other for final rounds. For GMAP eventrim scores, not counting indels, and adding a penalty for long ambiguous ends, by dividing by index1part + (index1interval - 1). Terminal alignments now compute their own endtypes. 2012-04-06 twu * stage2.c: Fixed fatal bug when looking for shifted canonical splice site by checking that rightpos is less than genomicend. * gmap.c, stage3.c, stage3.h: For chimeras, extending ends until three consecutive mismatches are found. At final breakpoint, cleaning indels from ends. 2012-04-05 twu * stage1hr.c: For single-end reads, finding distant splicing only when no other hits have been found * VERSION, index.html: Updated version * pair.c, pair.h, stage3.c: Fixed bug in Stage3_mergeable where we require end1 and start2 pairs to be computed 2012-04-04 twu * index.html: Updated version * VERSION: Updated version * splicetrie.c: Allowing 1 mismatch in distal exon * stage3hr.c: Changed debugging statement to report score_eventrim * stage3.c: Rewrite trim_novel_spliceends to scan pairs first to find genomicpos bounds and then iterate through genomicpos. Allowing pick_cdna_direction to return SENSE_NULL if no introns exist. * stage1hr.c: For GMAP terminals, also checking for a bad stretch in GMAP result after the call to align_halfmapping_with_gmap * stage3.c: Fixed bug in trim_novel_spliceends when pairs is NULL * stage3.c: Turned off trimming of novel splice ends for GMAP * index.html: Made changes to reflect new version 2012-04-03 twu * VERSION: Updated version * stage3hr.c: Fixed issue where no non-terminal alignment existed, resulting in using min trim length of MAX_READLENGTH * splicetrie.c: Allowing only 1 mismatch (previously 2) in internal splice region of 6 bp, and no mismatches in external splice region (previously depended on extension). This avoids bad splicing due to poor gene models. * pair.c, pair.h, stage3.c: Using pairs instead of pairarray in determining whether chimera ends are connectable * pair.c, pair.h, stage3hr.c: Counting indels in GMAP alignments only within eventrim region * stage3.c: Added function trim_novel_spliceends * pair.c: Requiring that cdna_direction not be zero when printing splice site probabilities at the ends 2012-04-02 twu * VERSION, chimera.c, chimera.h, gmap.c, outbuffer.c, pair.c, pair.h, pairpool.c, pairpool.h, src, stage1hr.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h, trunk, util: Merged revisions 60621 to 60936 from branches/2012-03-27-gmap-chimeras to improve GMAP chimeras and to apply a uniform eventrim procedure in stage 3 optimal score procedures 2012-03-30 twu * gamma-speed-test.c: Added to SVN repository * atoiindex.c, cmetindex.c, config.site.rescomp.tst, configure.ac, gmap.c, gsnap.c, indexdb.c, memory-check.pl, pdldata.c, snpindex.c: Added --enable-mmap flag to configure. Added small fixes to allow programs to work without mmap. * stage3hr.c: Allowing trimming on both ends of a terminal alignment * pair.c: Handling case where hard clipping is not possible 2012-03-27 twu * stage1hr.c: Handling the case where GMAP alignment is attempted on a translocation 2012-03-23 twu * VERSION, index.html: Updated version * stage1hr.c: Added multiple checks for GMAP bad stretch 2012-03-22 twu * index.html: Updated for latest version * stage1hr.c: Fixing fatal bug when max_end_insertions is set to less than 3 2012-03-21 twu * VERSION: Updated version * index.html: Updated for new version * gsnap.c: Reduced default value of distant-splice-penalty from 2 to 1 * gsnap.c: Reduced default value of distant-splice-penalty from 3 to 2 * stage1hr.c: Changed criterion for GMAP salvage from Stage3end_bad_stretch_p to Stage3end_score > cutoff_level, because previous criterion caused GSNAP to miss distant splicing * archive.html: Updated for new version * index.html: Updated for new version * dbsnp_iit.pl.in: Checking whether the exceptions field is defined in the snp file 2012-03-20 twu * gmap.c, outbuffer.c, stage3.c, stage3.h: Removed some unused parameters * VERSION: Updated version * stage3hr.c: Changed score for GMAP alignments to be post-trim matches minus penalties for splicing and indels. Allowing Stage3end_bad_stretch_p to handle GMAP alignments. * stage3.c: Not doing any peelback on the extension after trim_ends * stage1hr.c: Moved check for GMAP bad stretch from elimination as a very bad alignment to a salvage status * dynprog.h: Added comment 2012-03-19 twu * pair.c, pair.h, stage3.c: Added an extend step after the ends are trimmed, to get as long an extension as possible. * stage1hr.c, stage3.c, stage3.h: Added a check for GMAP alignment length, in addition to the bad stretch check * gmap.c: Using new interface to Stage3_compute * substring.c: Added comment * stage1hr.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h: Removed computation of gmap_nconsecutive, and implemented Stage3_bad_stretch_p to evaluate GMAP alignments instead. 2012-03-16 twu * gff3_genes.pl.in, gff3_introns.pl.in, gff3_splicesites.pl.in: Filtering out comment lines beginning with '#'. * gff3_genes.pl.in, gff3_introns.pl.in, gff3_splicesites.pl.in: Printing results for last mRNA in each gene 2012-03-15 twu * stage3.c: In traversing dual break, accepting the stage 2 solution only if the entire query sequence is bridged * gff3_genes.pl.in, gff3_introns.pl.in, gff3_splicesites.pl.in, gtf_genes.pl.in, gtf_introns.pl.in, gtf_splicesites.pl.in: Made gff3 and gtf programs handle exons in arbitrary order * gtf_genes.pl.in, gtf_introns.pl.in: Checking for comment lines * gtf_genes.pl.in, gtf_introns.pl.in: Allowing GTF file to lack exon_number field * gtf_genes.pl.in: Checking both gene_name and gene_id to get gene name 2012-03-13 twu * gmap.c, inbuffer.c, inbuffer.h: Added -1 flag for self-align feature 2012-03-12 twu * configure.ac: Changed default value of MAX_READLENGTH from 200 to 250 * README, config.site: Changed default value of MAX_READLENGTH from 200 to 250 * stage1hr.c: Added missing else statement * dynprog.c, splicetrie.c, splicetrie.h: Changed Splicetrie_solve_end5 and Splicetrie_solve_end3 to take triecontents, trieoffsets, and j, rather than triestart, and to check for a null pointer. * stage3hr.c: No longer returning NULL from Stage3end_new_gmap when result crosses before beginning of genome or at end of chromosome. * stage1hr.c: Removed possibility of dereferencing uninitialized memory when skipping over diagonals straddling beginning of genome. 2012-03-09 twu * gmap.c, stage3.c, stage3.h: Made changes in Stage3_merge_single compatible with PMAP * Makefile.dna.am, gsnap_fasta.c: Moved gsnap_fasta.c and bam_fasta and sam_fasta programs to GSTRUCT repository * get-genome.c: Fixed -E option for printing exons from gene map files. Added -S option for printing sequence from gene map files. * get-genome.c: Removed R from getopt string * get-genome.c: Removed -R flag and references to map_relativep 2012-03-08 twu * gmap.c: Removed debugging statement * gmap.c: Fixed test for CHIMERA_SLOP to handle minus strand alignments correctly. Added a remove duplicates step to stage3list_from_gregions. Using new interface to Stage3_merge_single and Stage3_merge_splice. * stage3.c, stage3.h: Implemented functions Stage3_merge_single and Stage3_merge_splice. The first function uses dynamic programming to solve the region between the two parts. * pair.c, pair.h: Implemented function Pair_set_genomepos_list 2012-03-07 twu * gsnap.c: Fixed default values in --help statement for number of GMAP runs allowed * stage1hr.c: Turned bad stretchp back on as a criterion for running GMAP improvement in paired-end reads. Implemented GMAP improvement for single-end reads. * substring.c, substring.h: Implemented Substring_genestrand * stage3hr.c, stage3hr.h: Added genestrand as a field for Stage3end_T object 2012-03-02 twu * stage3.c: Added another check to make sure we don't try to solve for dual breaks at the ends of an alignment 2012-03-01 twu * dynprog.c: Making certain that left_prob and right_prob are initialized to 0.0 * splicetrie_build.c: Limiting distance for splicetries to shortsplicedist * stage3.c: Checking for endgappairs == NULL, before trying to access *endgappairs 2012-02-29 twu * configure.ac: Changed default .config.site to ./config.site * dynprog.c: Fixed cases where left_prob and right_prob were not assigned * stage3.c: Making singlep a local variable in traverse_dual_genome_gap * stage3.c: Setting *singlep to false to fix bug in traversing dual genome gaps where left goodness or right goodness was called after a dual gap win. 2012-02-28 twu * gmap.c: Calling Alphabet_setup, Oligo_setup, Oligop_setup, Indexdb_setup, and Stage1_setup only when genome is provided * gmap.c, stage3.c, stage3.h: Restored cdna_direction == 0 when no splices are present. Transferring overall cdna_direction to first Stage3_T object in a chimera. 2012-02-27 twu * stage3.c: Disallowing cdna_direction to be set to 0 * gmap.c: Added call to Oligo_setup * indexdb.c: Looking for offsetscomp_suffix exactly * gmap.c: Using new interface to Stage3_compute 2012-02-24 twu * VERSION: Updated version number * stage3.c: Handling case where non-canonical splice is exactly in the middle of the read * stage1hr.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h: Replaced high_quality computation on gmap alignments with gmap_nconsecutive * outbuffer.c: Implemented new Goby code * gsnap.c: Implemented new Goby code * goby.c, goby.h: Implemented new Goby code * gtf_splicesites.pl.in: Skipping comment lines that begin with '#'. * gtf_splicesites.pl.in: Removed requirement for exon_number field in GTF file * gmap_build.pl.in: Added -T flag to specify temporary build directory * gmap_build.pl.in: Deleting .coords file 2012-02-14 twu * gmap_build.pl.in: Fixed filenames for 1-digit values * oligo.c: Added repetitive oligos for 6-, 7-, and 8-mers. * indexdb.c: Improved warning message * gmap_build.pl.in: Made default value for base size to be kmer size * configure.ac: Moved read of config.site and setting of CFLAGS earlier, so default CFLAGS is not set by autoconf. * setup1.test.in: Changed name of positions file to reflect new naming scheme * README: Added comment about new naming for positions file * Makefile.am, setup.ref12123positions.ok, setup.ref123positions.ok: Changed name of positions file to reflect new naming scheme * VERSION: Updated version * config.site.rescomp.prd, config.site.rescomp.tst: Changed dates * configure.ac: Adding check for CFLAGS and setting default to be -O3 * config.site: Commenting out default CFLAGS variable * README: Added comment about adding -m64 in CFLAGS for Macintosh machines * gsnap.c, stage1hr.c, stage1hr.h: Added control of gmap_indel_knownsplice feature to gsnap program * stage3hr.c, stage3hr.h: Added function to help run GMAP on indels to find known splicing * stage1hr.c: Added function to run GMAP on indels to find known splicing * stage1.c: Using new interface to Reader_new * pmapindex.c: Removed -R flag for processing reverse strand of genome. Consolidated code for computing offsets and positions. * pair.c: Eliminated extra points subtracted from Pair_nmatches, so that the function reports the correct number of matches * dynprog.c: Fixed bug where known splicing was being called when length2 was 0, resulting in bad endpoints for binary search 2012-02-03 twu * stage1hr.c: Using spansize in computing floors. Reduced value of STAGE2_MIN_OLIGO from 5 to 3. * gsnap.c: Using new interface to Stage1hr_setup and Spanningelt_setup * uniqscan.c: Using new interface to Stage1hr_setup and Spanningelt_setup * reader.c, reader.h: Removed blocksize as a field for Reader_T object * oligo.c, oligo.h: Storing oligosize as a static variable, and not using it anymore as a parameter to Oligo_next or Oligo_skip. * block.c: Removed oligosize as a field from Block_T object * stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Revised Stage3end_optimal_score to compare terminal and non-terminal alignments using an eventrim procedure, based on the maximal trims found in the non-terminal alignments, and re-computing the mismatch scores in those regions. * stage1hr.c: Running Stage3end_remove_overlaps to remove terminals that overlap with a GSNAP alignment. Using spansize to compute fast_level. Removed index1part (oligosize) from calls to Reader_new and Oligo_next. * stage1hr.c, stage1hr.h: Generalized from 6 to STAGE2_MIN_OLIGO + index1interval, for deciding whether a found diagonal is close enough to end to redefine region for GMAP alignment. Using spansize to compute floors, and counting all mismatches if spansize != index1part. * spanningelt.c, spanningelt.h: Added function Spanningelt_setup, which computes spansize for a given index1part and index1interval 2012-02-02 twu * pairdef.h, pairpool.c, stage3.c: Added field end_intron_p to Pair_T object, and using it in traversing dual genome gaps. When applicable, solving introns where left intron or right intron is omitted. * stage1hr.c: Improved debugging messages by printing chromosomal coordinates rather than universal coordinates * Makefile.dna.am, atoiindex.c, cmetindex.c, config.site.rescomp.prd, config.site.rescomp.tst, genomicpos.c, genomicpos.h, gmap_build.pl.in, gmap_setup.pl.in, gmapindex.c, indexdb.c, indexdb_hr.c, memory-check.pl, pmapindex.c, snpindex.c, spanningelt.c, spanningelt.h, src, stage1hr.c, trunk, types.h, util: Merged revisions 56772 to 56962 from branches/2012-01-31-index1interval to allow genomic indices up to 16-mers and sampling intervals from 1 to 3 2012-02-01 twu * resulthr.c, stage3hr.c, stage3hr.h: If anomalous splices (of type SAMECHR_SPLICE) occur within a read for a unique mapping, changing resulttype from _UNIQ to _TRANSLOC. * outbuffer.c: Fixed issue with double opening of nomapping output file, first as single and then as paired 2012-01-31 twu * gmapindex.c: Allowing only values 1, 2, and 3 for sampling interval * gmap.c, gsnap.c, indexdb.c, indexdb.h, stage1hr.c, stage1hr.h, uniqscan.c: Added --sampling flag and passing index1interval to Stage1hr_setup * uniqscan.c: Using new interface to Indexdb_new_genome * indexdb.c: Fixed incorrect variable name (oligo instead of oligoi). * gmap_build.pl.in: Removed fixed value of -q 3 in calls to gmapindex 2012-01-30 twu * gmap_build.pl.in: Added -q flag for sampling interval * gmap.c, gmapindex.c, gsnap.c: Allowing user to enter -k 16 * block.c, indexdb_dump.c, indexdb_hr.c, stage1.c, stage1hr.c: Fixed mask calculation to use unsigned long, so kmer of 16 works * atoiindex.c, cmetindex.c, indexdb.c, indexdb.h, snpindex.c: Enabled writing of genome indices with kmer of 16 * oligo.c: Allowing k-mer size of 16 * genome_hr.c: Clarified types of gamma and value to be Positionsptr_T and firstbit to be int. 2012-01-27 twu * oligo.c: Allowing k-mer size to go down to 9 * indexdb_hr.c, indexdbdef.h: Eliminated separate data storage for offsets when expand_offsets_p is true. Instead, expanding gammas into offsetscomp and making gammaptrs just the identity function. * indexdb.c: Eliminated separate data storage for offsets when expand_offsets_p is true. Instead, expanding gammas into offsetscomp and making gammaptrs just the identity function. 2012-01-19 twu * indexdb.c, indexdb.h: Allowing selection of base size, and returning found base size. Simplified logic for selecting indexdb. * gmap.c, gsnap.c: Added --basesize flag to allow user to select base size * gmapindex.c: Allowing k-mer size to be 15 or less 2012-01-18 twu * gmapindex.c: Added break after handling flag -b 2012-01-14 twu * VERSION: Updated version number * Makefile.three.am: Rebuilt instructions from Makefile.gsnaptoo.am, plus Makefile.dna.am for PMAP and PMAPINDEX * Makefile.gsnaptoo.am: Removed gsnap_tally from distribution * README: Change URL for Web site * alphabet.c: No longer checking new get_codon procedures against old ones * pmapindex.c: Revised limit for 8-mers to be alphabet size of 13 or less * README.PMAP: Added a README file for PMAP 2012-01-13 twu * indexdb.c, indexdb.h: Providing alphabet and alphabet_size to caller of Indexdb_new_genome * gmap.c: Added --alphabet flag to PMAP to specify a particular alphabet * atoiindex.c, cmetindex.c, genome_hr.h, snpindex.c, types.h: Moved definition of Storedoligomer_T from indexdbdef.h to types.h * block.c, block.h, stage1.c: Removed msb computation and storage in Block_T object, and initializing instead by Oligop_setup * alphabet.c, alphabet.h, oligop.c, oligop.h: Providing aa_index_table to Oligop procedures at run time * Makefile.dna.am, alphabet.c, alphabet.h, indexdb.c, indexdb.h, indexdbdef.h, pmapindex.c: Created Alphabet_T object. Moved relevant codon-based procedures from indexdb.c to alphabet.c. Replaced get_codon_fwd and get_codon_rev with lookup tables. Allowed pmapindex to generate indices with different alphabets and alphabet sizes. * gmapindex.c: Added check for k-mer size being greater than or equal to base size * gmap.c: Made default k-mer size 7 for PMAP * Makefile.dna.am, indexdb.c, pmapindex.c: Made PMAP index files compatible with compressed hash tables and added flags to be consistent with other auxiliary indexing programs 2012-01-11 twu * VERSION: Updated version * index.html: Updated Web page for latest version * mapq.c: Fixed debugging statement * stage3hr.c: In output_cmp procedures, sorting first by nmatches (pretrim), and then by mapq. Added procedure to enforce monotonicity of mapq scores. * stage1hr.c, stage3hr.c, stage3hr.h: Running optimal_score first allowing all GMAP alignments, then removing overlaps, and then running optimal_score again without special provision for GMAP alignments. * gmap.c, gsnap.c, pair.c, pair.h, uniqscan.c: Added flag --sam-use-0M to control printing of 0M in CIGAR strings * gmap.c, gsnap.c, stage3.h, uniqscan.c: Providing output_sam_p to Stage3_setup * stage3.c: In fill_in_gaps, handling dual breaks by inserting query and genomic segments when output_sam_p is true. * pair.c: In compute_md_string, setting state to be IN_MATCHES after seeing I token, so we don't print two successive ^ tokens. * stage3.c: Added a pass to remove adjacent insertions and deletions and fix single gaps again. 2012-01-10 twu * gmap_build.pl.in: Doing chmod on gammaptrs only if kmersize > basesize 2012-01-09 twu * gsnap.c, stage1hr.c, stage3hr.c, stage3hr.h: Computing GMAP alignment score using standard splicing penalties and indel penalties 2012-01-07 twu * README: Added information about maximum genome length. Added information about SAM fields. * atoiindex.c, cmetindex.c: Eliminated memory leaks and reduced memory usage from 20 GB to 12 GB for a human-sized genome 2012-01-06 twu * gmap.c, gsnap.c, uniqscan.c: Using new interfaces to Dynprog_setup and Stage3_setup to provide information about novelsplicingp. Passing fileroot instead of dbroot to Datadir_find_mapdir. * stage3hr.c: Stage3end_optimal_score and Stage3pair_optimal_score now keeping all GMAP results * stage3.c, stage3.h: Marking pairs as disallowed when novelsplicingp is false and dynamic programming cannot find a solution provided by the splicing_iit file. Trimming end introns that are disallowed. * stage1hr.c: Added debugging message * dynprog.c, dynprog.h: The bridge_intron_gap function now handling runs where novelsplicingp is false and known splicing is at intron level. Dynprog_genome_gap returning NULL in such cases. * pair.c, pairdef.h, pairpool.c: Added field disallowedp to Pair_T object * iit-read.c, iit-read.h: Added functions IIT_low_exists and IIT_high_exists, used for intron-level known splicing. Improved warning message for invalid IIT files. 2012-01-05 twu * gmapindex.c: Added check for total genomic length exceeding 4 GB * snpindex.c: Reduced maximum memory usage for human genome from 12 GB to 8 GB. Eliminated memory leaks. 2012-01-03 twu * src, trunk, util: Merged revisions 50470 to 50909 from branches/gmap-2011-10-24-mult-stage2 * config.site.rescomp.tst: Changed date * config.site.rescomp.prd: Changed date 2011-12-29 twu * README: Changed comment about splicing file with known introns possibly being buggy * VERSION: Updated version number * index.html: Added changes for new version * iit-read.c: If add_iit_p is true, trying filename with .iit suffix first before trying filename as given * stage3hr.c: Added check for low coordinate of new GMAP object being to the left of coordinate 0 2011-12-21 twu * shortread.c: Allowing for /3 endings in second end of Illumina short reads 2011-12-13 twu * index.html: Made update for new version * VERSION: Updated version number * stage3.c: Fixed issue in trying to solve dual introns with negative query coordinates 2011-12-09 twu * spanningelt.c, spanningelt.h, stage1hr.c: Alternate fix to problem with positions being NULL, while npositions > 0. Fixed Spanningelt_set so it updates npositions along with positions. * VERSION: Updated version number * archive.html: Moved old version here * index.html: Added new version. Added information about users group. * stage1hr.c: Added an extra check for positions[querypos] not being NULL, needed for nonstranded modes 2011-12-08 twu * gmap_build.pl.in: Fixed bug in not assigning cmd variable 2011-12-05 twu * shortread.c: Fixed bug in printing null accession for second end when using --fails-as-input flag * gmap_build.pl.in: Checking return codes from system calls 2011-12-02 twu * VERSION, index.html: Updated version number * gsnap.c: Changed name of flag from --ambig-splice-notrim to --ambig-splice-noclip * pair.c: Pushing "0M" between adjacent I and D operations in a cigar string * gmap.c, gsnap.c, uniqscan.c: Using new interface to Splicetrie_setup. Providing --ambig-splice-notrim flag in GSNAP. * splicetrie.c, splicetrie.h: Providing behavior to turn clipping off at ambiguous known splice sites, useful if trying to turn off all soft clipping * stage1hr.c: Fixed debugging statement 2011-11-30 twu * stage1.c: Fixed variable name so PMAP could compile 2011-11-29 twu * dynprog.c, maxent_hr.c, maxent_hr.h, pair.c, stage1hr.c, stage3.c, substring.c: Checking for case where splice_pos minus margin goes beyond beginning of chromosome * VERSION, index.html: Updated version number * maxent_hr.c: Checking for case where splice_pos is smaller than margin * pair.c, samprint.c: Changed value of NM tag in SAM output to be edit distance (mismatches plus gaps) * stage1hr.c: Fixed debugging statement 2011-11-28 twu * VERSION, index.html: Updated version number * gsnap.c: Calling SAM_setup * outbuffer.c: For GMAP, when quiet_if_excessive_p is true and npaths > maxpaths, not printing any output * pair.c, pair.h, stage3.c: Printing HI tag in SAM output * samprint.c, samprint.h: When quiet_if_excessive_p is true and npaths_mate > maxpaths, setting MATE_UNMAPPED in flag. Printing HI tag. Added function SAM_setup. 2011-11-25 twu * VERSION, index.html: Updated version number * stage3.c: For GMAP, using QUERYEND_INDELS instead of QUERYEND_NOGAPS * stage1.c: Added check for querylength being too short * gmap.c: Changed information in --help about how to turn off chimera detection * stage3.c: In Stage3_mergeable, added check for firstpart_npairs or secondpart_npairs being 0 2011-11-23 twu * index.html: Updated version number * VERSION: Updated version number * stage1.c: Made direct calls to fields in Match_T objects for speed. Made changes so debugging macros work. * dynprog.c: Made special traceback procedure for queryend_nogaps 2011-11-21 twu * stage3hr.c: Fixed bug where Stage3end_remove_overlaps was not keeping ends where paired_usedp was true. In Stage3end_remove_overlaps and Stage3pair_remove_overlaps, terminal alignments lose to all other types. * stage3hr.h: Put GMAP hittype before TERMINAL hittype * gsnap.c: Increased default values for max_gmap_pairsearch, max_gmap_terminal, and max_gmap_improvement * stage3hr.c: Changed code for Stage3end_remove_overlaps to parallel that for Stage3pair_remove_overlaps * samprint.c: Allowing for GMAP alignments to be printed for single-end reads * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Updated version number * stage3.c: Added comment about pass 8 and 9 * index.html: Made changes for 2011-11-20 version * uniqscan.c: Using new interface to Stage1_single_read * stage3hr.c: Changed the code for Stage3end_optimal_score to be consistent with that of Stage3pair_optimal_score. Allowing terminal alignments to be considered along with other alignments. * stage1hr.c: For single-end alignment, initializing done_level to user_maxlevel, rather than opt_level, to be consistent with the code for paired-end alignment. However, the values are the same anyway. * gsnap.c: Changed the default value for terminal_threshold from 3 to 2. Expanded the --help entry for --terminal-threshold. * index.html: Made changes for version 2011-11-17 * stage3.c: Added more restrictions on non-canonical splices at ends of read 2011-11-20 twu * stage3hr.c, stage3hr.h: Added functions Stage1end_start_endtype and Stage1end_end_endtype for terminal alignments * gsnap.c: Using new interface to Stage1_single_read * gmap.c, stage3.c, stage3.h: Changed name of variable * stage1hr.c, stage1hr.h: Implemented GMAP terminal mode for single-end reads * dynprog.c: Lowered rewards for canonical introns, to help find non-canonical introns * stage3.c: In fill_in_gaps, if splicingp is false, then filling in a deletion, not an intron 2011-11-19 twu * stage3.c: Moved trim_noncanonical procedures from path_trim to path_compute. After trim_noncanonical procedures, doing an extension using QUERYEND_NOGAPS. * stage1hr.c: Using -3*nmismatches and -4 for an indel in evaluating end indels, corresponding to default values for trim_mismatch_score and trim_indel_score. * stage3.c: Using endalign instead of to_queryend_p. When endalign is QUERY_NOGAPS, not doing peelback. In pass 8, changed extendp from false to true (QUERYEND_INDELS). * gsnap.c, uniqscan.c: Added flag --trim-indel-score * dynprog.c, dynprog.h: Replaced to_queryend_p with endalign, with types BEST_LOCAL, QUERYEND_INDELS, and QUERYEND_NOGAPS. For extensions to queryend, always returning gappairs. * atoiindex.c, cmetindex.c: Updated --help to indicate how --kmer and -D are chosen by default 2011-11-17 twu * VERSION: Updated version number * gmap.c, gsnap.c, stage1hr.c, stage3.c, stage3.h, uniqscan.c: Revised calculation of insertlength inside trim_noncanonical_ends procedures to compensate for using maximum overlap in computing genomicseg. * stage3.c: Made fill_in_gaps procedure replace short non-canonical introns with deletions. Removed this feature from assign_gap_types. Added additional checks on translation coordinates to stay within array bounds. * dynprog.c: Added debugging statements * substring.c: Added comment * shortread.c, shortread.h, stage1hr.c: For GMAP algorithm in GSNAP, assuming maximum overlap, rather than trying to compute overlap * outbuffer.c: Printing all paths when -E flag is given to GMAP * stage3hr.c: Improved error message when ambig end splicetype has an unexpected value * dynprog.c: Removed unused code for END_KNOWNSPLICING_SHORTCUT. Always assigning *ambig_end_length in Dynprog_end5_known and Dynprog_end3_known. 2011-11-14 twu * uniqscan.c: Using new interface to Stage3hr_setup * stage3.c: Not substituting for long deletions at end of path_compute * stage1hr.c, stage3hr.c, stage3hr.h: Removed end_indel_p parameters to Stage3end_new_insertion and Stage3end_new_deletion * stage1hr.c: Preventing call to Genome_count_mismatches_limit by find_doublesplices where pos5 >= pos3 * VERSION: Updated version number * configure.ac: Added flag --enable-popcnt * dynprog.c: Initialing value of ambig_end_length * stage3.c: Skipping gap pairs at the beginning of alignments in fill_in_gaps * goby.c: Using new interface to Result_array 2011-11-12 twu * VERSION: Updated version number * stage1hr.c, stage3hr.c: Checking in Stage3end_new_gmap if genomicstart or genomicend exceeds chrhigh, and if so, returns NULL. * stage3.c: Moved assigning of gap types to end of path_compute, rather than beginning of path_trim * stage3.c: Inserting gap pairs and adding gap types at beginning of path_trim 2011-11-11 twu * gsnap.c, outbuffer.c, outbuffer.h, samprint.c, samprint.h, stage1hr.c, stage3hr.c, stage3hr.h: Divided DISTANT_SPLICE type to SAMECHR_SPLICE and TRANSLOC_SPLICE. Making merge_samechr_p act only at print time, which allows SAMECHR_SPLICE to undergo pair_up_concordant again. Stopping clip-overlap on distant splices. * VERSION: Updated version number * stage3hr.c: Keeping hits in optimal scoring if nmatches_posttrim is sufficiently high relative to the best hit * gsnap.c, uniqscan.c: Increased value of max_deletionlength from 30 to 50 * gmap.c, stage1hr.c: Using new interface to Stage3_compute * stage3.c, stage3.h: Changed flow to path_compute on both cdna directions, then pick_cdna_direction, then path_trim, which removes non-canonical end exons. * stage3hr.c, stage3hr.h, substring.c, substring.h: Added nmatches_posttrim and using it to break ties resulting from equal values of nmatches. Added a general test for Substring_new based on matches and mismatches before trimming. * pair.c: Modified Pair_nmatches to add penalties for an indel and for a splice site with low probabilities. Modified compute_md_string on I tokens to skip only for insertion pairs. * dynprog.c: Fixed procedure find_best_endpoint_to_queryend to look only at r == length1 2011-11-10 twu * stage3hr.c: Turned off separate treatment of terminal alignments in Stage3pair_optimal_score. Always trimming ends of insertions and deletions (previously depended on value of end_indel_p). 2011-11-09 twu * stage3.c: Using a sliding scale in trimming end exons * pair.c: Added debugging macro for compute_md_string * pair.c, pair.h: Taking cdna_direction as a parameter in Pair_print_exonsummary, instead of determining sense separately for each intron * stage3.c: Restored alignment score in pick_cdna_direction with different values of significant difference for GMAP and GSNAP. Considering a non-canonical intron as canonical if both splice site probabilities are high. * splicing-score.c: Fixed getopt so -D takes an argument * pairpool.c, pairpool.h: Revised Pairpool_count_bounded to return number of pairs at start. * gmap.c: Added comments * stage3.c: Restored use of alignment scores in pick_cdna_direction, after comparing number of noncanonical splices * VERSION: Updated version number * shortread.c: No longer printing warning message about not finding "/1" or "/2" endings * gsnap.c, uniqscan.c: Added max_deletionlength variable * gmap.c, outbuffer.c, outbuffer.h, pair.c, pair.h, samprint.c: No longer converting short noncanonical splices from type N to type D, since this is now performed in stage 3. Removed cigar_noncanonical_splices_p variable. * stage3.c, stage3.h: In assign_gap_types, converting noncanonical splices smaller than max_deletionlength into deletions * gsnap.c, stage3hr.c, stage3hr.h, uniqscan.c: Treating distant splices on the same chromosome as a translocation by default. Added a flag --merge-distant-samechr to get previous behavior. 2011-11-08 twu * stage3.c: Using maxintronlen in trimming end exons * stage3.c: Removed alignment scores from pick_cdna_direction. Revised procedures for trimming noncanonical end exons and doing distal/medial comparison by adding procedures canonicalp and good_end_intron_p, with latter using probabilities. * gmap.c: Increased parameter for maxpeelback_distalmedial from 24 to 100 * dynprog.c: Added debugging statements * pair.c: Computing MD string from cigar tokens * stage2.c: Restored querydist penalty 2011-11-07 twu * VERSION: Revised version number * index.html: Added entry for new version * stage1hr.c: Commented out second round of terminal alignments * gmap.c, gsnap.c, uniqscan.c: Set trim_indel_score to -4 to be consistent with previous value * gmap.c, gsnap.c, uniqscan.c: Calling Pair_setup * substring.c: Extending trimming toward ends in case of ties * stage3.c: Extending ends completely before final trim * pair.h: Extending trimming toward ends in case of ties. Added Pair_setup function to use trim_mismatch_score value provided by user. * pair.c: Extending trimming toward ends in case of ties. Added Pair_setup function to use trim_mismatch_score value provided by user. * stage2.c: Put code for suboptimal starts into a compiler directive * gmap.c, gsnap.c, uniqscan.c: Provided new defaults for suboptimal_score_start and suboptimal_score_end, based on simulations * gmap.c, gsnap.c, stage2.c, stage2.h, uniqscan.c: Introduced parameters for suboptimal_score_end and suboptimal_score_start * gmap.c: Added flag for --suboptimal-score 2011-11-06 twu * gmap.c, gsnap.c, outbuffer.c, pair.c, pair.h, result.c, result.h, resulthr.c, resulthr.h, samprint.c, samprint.h, stage1hr.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h, uniqscan.c: Restoring old MAPQ score. Making absolute MAPQ score a separate calculation, and printing it in an XQ flag. 2011-11-05 twu * stage1hr.c: Added comments * stage3hr.c: Added field indel_low, and using to prefer indels at low genomic coords * stage1hr.c: Fixed computation of firstbound and lastbound so end indels are found on short reads, such as 36-mers. 2011-11-04 twu * pair.c: Added code to compute_cigar to merge duplicate token types * stage2.c: Fixed uninitialized value for last_canonicalp * stage2.c: Implemented ability to generate suboptimal paths based on different initial positions * gmapindex.c: Removed unnecessary file open for -P flag * gmapindex.c: Fixed memory leaks for -G flag * gmapindex.c: Fixed memory leaks for -A flag 2011-11-01 twu * pairpool.c: Commented out copy of shortexonp * dynprog.c, dynprog.h, gmap.c, gsnap.c, stage3.c, uniqscan.c: Removed endlength requirement for microexons. Returning prob2 and prob3 from Dynprog_microexon_int and applying two standards, depending on whether an indel was originally present * pair.c: Printing shortexon information * pairpool.c: Copying shortexon information in copying pairs * smooth.c: Removed unused parameters * stage3.c: Adding endlength requirement for finding microexons * smooth.c: Printing result of smoothing as pairs * stage3.c: Made penalties harsher for indels at end near poor splice sites * stage2.c: Computing best overall score during dynamic programming process * uniqscan.c: Using new interface to Stage3hr_setup * stage2.c: Made changes so PMAP could compile * stage3.h: Added parameter favor_mode to Stage3_compute * stage3.c: Counting indel near splice as 2 mismatches. Added endlength requirement of 12 for indel near splice. * stage2.c: Going through all hits to accumulate cells. No longer using number of links to set root scores. * gmap.c, stage1hr.c: Passing value of favor_mode to Stage3_compute * smooth.c: Relaxing probability requirement for end exons in GSNAP from 0.05 to 0.10. 2011-10-31 twu * stage3.c: In trimming non-canonical end exons, not combining nearindelp with splice probs, requiring 1 mismatch or less for bingop, and allowing AT-AC introns. Extending alignments to queryend before trimming non-canonical end exons. * stage3.c: In trimming end exons, using a sliding scale based on intron length. Also penalizing for indels and mismatches close to exon-exon boundary. 2011-10-28 twu * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h: Providing expected_pairlength and pairlength_deviation values in Stage3hr_setup, and removing from Stage1hr procedures. * stage3.c: In end exons, checking if indel present, and if so, requiring that splice probabilities both be greater than 0.9. * gsnap.c, stage3hr.c, stage3hr.h: Restoring pairlength deviation. Using expected pairlength and pairlength deviation to discriminate among paired-end reads. * stage2.c: Adding all hits from final querypos directly to celllist, rather than updating rootscores. Fixed update of rootscore information to use current querypos and hit. Dynamic programming starting from querypos 0, rather than querypos 1. * diag.c: Restricted update of diagonal in middle region, to avoid affecting subsequent beginning and end regions * splicetrie_build.c: Fixed handling of intron intervals, by introducing INTRON_HIGH_TO_LOW * stage3hr.c: Made other fixes to allow copying of GMAP hit types * stage1hr.c: Making copies where necessary for multiple GMAP subpaths, and freeing old Stage3pair_T objects at the appropriate time. Calling Stage3pair_remove_overlaps on double GMAP alignments. * pairpool.c: Using CALLOC_OUT in Pairpool_copy_array * gsnap.c: Printing sequence name when debugging memusage * stage1hr.c: Handling multiple subpaths from stage 2 computation * stage2.c: Removed restriction on number of positions for final non-zero querypos * stage3hr.c: Allowing Stage3end_T objects of type GMAP to be copied * pairpool.c, pairpool.h: Added function Pairpool_copy_array 2011-10-27 twu * stage2.c: Fixed location of compiler directive for PMAP * stage3.c: Restoring negative points for non-canonical introns in computing goodness * stage2.c: Adding root scores for final non-zero and specific querypos * gmap.c, list.c, list.h, stage1hr.c, stage1hr.h, stage2.c, stage2.h: Going back to changes from revision 50508 for multiple subpaths from stage2, plus revisions 50504 to 50909 from branches/gmap-2011-10-24-mult-stage2 for a root position method for finding optimal and suboptimal subpaths 2011-10-26 twu * gmap.c, list.c, list.h, src, stage1hr.c, stage1hr.h, stage2.c, stage2.h: Reverted to version 50507, before changes made to allow multiple paths from a stage2 computation 2011-10-24 twu * VERSION: Updated version number * archive.html, index.html: Added changes for 2011-10-24 version * gmap.c, list.c, list.h, stage1hr.c, stage1hr.h, stage2.c, stage2.h: Merged revisions 50469 to 50504 from branches/2011-10-24-mult-stage2 to allow for multiple stage2 results from the same genomic segment for GMAP. * stage3.c: Assigning sensedir in all cases, based on intron scores if necessary * gmap.c, gsnap.c, outbuffer.c, pair.c, pair.h, result.c, result.h, resulthr.c, resulthr.h, samprint.c, samprint.h, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, uniqscan.c: Computing MAPQ score relative to best alignment. Printing X2 field in SAM output to provide second best MAPQ score. * stage3.c, stage3.h: When sense_try is provided, assigning sensedir 2011-10-17 twu * VERSION: Updated version number * index.html: Added comment about change to GMAP * gmap.c: Sorting stage3list before evaluating for chimeras 2011-10-14 twu * VERSION: Updated version number * index.html: Updated for new version * configure.ac: Grouped together checks for built-in procedures * splicetrie_build.c, splicetrie_build.h: Checking for splice sites being beyond the chromosome length boundary * splicetrie.c: Handling case where trieoffsets has a NULL_POINTER, which can occur with intron-type splicing * splicetrie_build.c: Handling case where nsites from a given splice site is zero 2011-10-13 twu * popcnt.m4: Checking each built-in instruction only if available * asm-bsr.m4: Assigning a value to x * VERSION: Updated version number * gsnap.c: Removed 'S' from getopt * gsnap.c: Fixed naming of --splicingdir flag * samprint.c: Not printing mate chr or mate chrpos when mate has an excessive number of paths * popcnt.m4: Changed test for -mpopcnt from a compiler test to a run test, to make sure instruction is legal 2011-10-12 twu * dbsnp_iit.pl.in: Fixed syntax * stage1hr.c: Fixed debugging statements * VERSION: Updated version number * README, dbsnp_iit.pl.in: Made changes to handle exceptions within the snp file * stage1hr.c: Fixed detection of novel splice ends for distant splicing * maxent_hr.c: Fixed debugging commands * stage3hr.c: Added comment * stage3hr.c: Eliminating terminals in Stage3end_optimal_score when non-terminals are present * iit-read.c: Checking for case where nintervals is zero * iit-write.c: Fixed memory leak in IIT_build 2011-10-10 twu * stage3hr.c: Removing -nindels from calculation of querylength_adj * gsnap.c: Limiting minimum value of indexdb_size_threshold * indexdb.c: Fixed bug in computing Indexdb_mean_size using compressed hash table * genome_hr.c: Adding +1 to ctr only when necessary 2011-10-09 twu * genome_hr.c, genome_hr.h: In gamma decoding, changed from division of shift by 2 to using shift - 1, made all variables unsigned ints, and added code for branchless computation. 2011-10-08 twu * gmap.c, gsnap.c, inbuffer.c, inbuffer.h: Generalized --filter-chastity to work on either or both ends of a paired-end read * index.html: Changed wording * index.html: Added information about --filter-chastity option * goby.c, gsnap.c, inbuffer.c, shortread.c, shortread.h, uniqscan.c: Implemented --filter-chastity option 2011-10-07 twu * genome_hr.c: Implemented a 2-shift method for decoding gammas, which avoids a branch * config.site.rescomp.prd, config.site.rescomp.tst: Updated for new version * index.html: Entered new version 2011-10-07 * VERSION: Updated version number * splicetrie.c: Fixed a bug where splicesites_i was not being initialized to NULL * genome_hr.c: Removed dispatch procedures. Moved part of read_gamma to top of loop, to guarantee that the final ptr location is correct. * genome_hr.c: Removed nbits. Implemented macros for clear_lowbit and clear_highbit. * genome_hr.c: Implemented both dispatch and non-dispatch methods for getting offsetptrs from gammas * genome_hr.c: Rearranged order of gamma computations within loops * genome_hr.c: For gamma commands, trying builtin clz first, then bsr in assembly, then table lookup. * Makefile.dna.am, Makefile.gsnaptoo.am: Added POPCNT_CFLAGS * config.site: Made CFLAGS=-O3 and added comments about testing -mpopcnt * acinclude.m4, asm-bsr.m4, configure.ac, popcnt.m4: Added tests for -mpopcnt compiler flag and bsr function in assembly 2011-10-06 twu * genome_hr.c: Added assertion statements to make sure builtin_clz is not called with a value of 0 2011-10-05 twu * VERSION: Updated version number * index.html: Made changes for latest version * configure.ac: Added gff3 utility programs * stage3hr.c: Sped up comparison of overlapping and separate paired-end alignments by using arrays instead of lists. * stage3hr.c: Simplified procedure for finding bad superstretches * stage1hr.c: Fixed bugs in pushing indels to low genomic position in solve_middle_insertion and solve_middle_deletion * gsnap.c: Commenting out --genes option * stage3hr.c: Performing separate runs of Stage3pair_remove_overlaps on overlapping and non-overlapping alignments * stage3hr.c: Added check for bad superstretches in Stage3pair_overlap * gsnap.c, stage1hr.c, stage1hr.h, uniqscan.c: Implemented a fast, integrated method for novel and known double splicing, and using it by default * access.c: Added error messages when mmap fails * stage3hr.c: Picking a winner in case of ties in Stage3pair_remove_overlaps 2011-10-04 twu * stage1hr.c: Fixed calculation of genomicstart and genomicend for GMAP alignments, to extend as if there were no trimming * stage3hr.c: Added debugging statements * stage1hr.c: Made finding of novel doublesplices faster * psl_introns.pl.in, psl_splicesites.pl.in: Moved print_exons into a subroutine * psl_introns.pl.in, psl_splicesites.pl.in: Using donor_okay_p and acceptor_okay_p subroutines * gtf_introns.pl.in: Changed warning message to refer to intron, not exon * gtf_genes.pl.in: Removed unused variables * Makefile.am, gff3_genes.pl.in, gff3_introns.pl.in, gff3_splicesites.pl.in: Added programs to handle GFF3 files * Makefile.dna.am: Removed programs for processing BAM files * iitdef.h: Restored NUMERIC_ALPHA_SORT to sort types * iit-write.c: Restored NUMERIC_ALPHA_SORT to sort types * stage1hr.c: Fixed issue with finding novel doublesplices where not all middle segments were tested 2011-10-03 twu * iitdef.h: Added code for creating IIT files internally * iit-write.c, iit-write.h: Added code for creating IIT files internally * archive.html, index.html: Made changes for version 2011-10-01 2011-10-02 twu * VERSION: Updated version number 2011-10-01 twu * sequence.c: Removed compiler directive to undef HAVE_ZLIB * stage1hr.c: Allowing reads to be equal to index1part+2, not just greater than * Makefile.dna.am, uniqscan.c: Added program uniqscan 2011-09-30 twu * Makefile.dna.am, dynprog.c, dynprog.h, gmap.c, gsnap.c, splicetrie.c, splicetrie.h, stage1hr.c, stage1hr.h, stage3.c, stage3.h: Moved splicesites and trieoffsets into local static variables to avoid passing them as parameters * stage1hr.c: Moved check of genestrand value outside loop for retrieving oligos * substring.c: Created separate procedures for mark_mismatches for stranded and non-stranded cases * genome_hr.c, gsnap.c, indexdb.c, mode.h, stage1hr.c, substring.c: Implemented stranded and non-stranded versions of cmet and atoi substitutions * VERSION, compress.c, config.site.rescomp.prd, config.site.rescomp.tst, genome_hr.c, genome_hr.h, gsnap.c, mapq.c, mapq.h, splicetrie.c, splicetrie.h, src, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h, trunk, util: Merged revisions 48527 to 48790 from branches/2011-09-28-atoi 2011-09-29 twu * stage1hr.c: Previously returning NULL if either end of a paired-end read had no oligos. Now returning NULL if both ends have no oligos. * stage3hr.c: Requiring that overlap be greater than both ends of a paired-end read * oligoindex_hr.c: Not computing oligoindex if left_plus_length <= left 2011-09-28 twu * psl_introns.pl.in, psl_splicesites.pl.in: Added warning if intron lengths are negative * splicetrie_build.c: Added check for negative distances in a splicing_iit file * genome_hr.c: Fixed assignment to predicate inside of assert statement 2011-09-22 twu * VERSION: Updated version number * gsnap.c: Fixed typo in help statement * table.c, uinttable.c: Allowing retrieval of keys to work, even if table is empty * substring.c: Allowing case where nothing is found in splicesites_iit, because it is for introns and not splicesites * splicetrie.c: Fixed case where splicetrie_obs is not NULL, but splicetrie_max is NULL, which occurs if the splicing file is for introns, and not splicesites * splicetrie_build.c: Fixed memory leak in building splicetrie for introns splicing file 2011-09-20 twu * cappaths.c, spliceclean.c: Moved cappaths and spliceclean programs to GSTRUCT repository * Makefile.dna.am, genecompare.c: Moved program genecompare to GSTRUCT repository * Makefile.dna.am: Moved cappaths to GSTRUCT repository * Makefile.dna.am, splicegene.c, spliceturn.c: Moved spliceturn and splicegene to GSTRUCT repository 2011-09-17 twu * gsnap.c: Provided further clarification in help statement about min-localsplice-endlength * gsnap.c: Checking that min_distantsplicing_end_matches is greater than or equal to kmer size. Clarified some help statements. * README: Added recommendation to use known splice sites, rather than known introns * README: Clarified that a given set of known splice sites can find alternative splicing. * except.c: Fixed Except_advance_stack to return a value if pthreads not available * Makefile.dna.am: Moved instructions for spliceclean and splicealt to GSTRUCT repository * psl_introns.pl.in: Removed extraneous "v" at beginning of line 2011-09-14 twu * VERSION: Updated version number * index.html: Updated page to show version 2011-09-14 * inbuffer.c, sequence.c, shortread.c, shortread.h: Revised read procedures to handle multiple files correctly 2011-09-13 twu * pair.c, pair.h, samprint.c: For SAM output of GMAP alignments, printing correct value of NH for number of hits * stage3.c, stage3.h: Added parameter for min_intronlength * gmap.c, gsnap.c: Added parameter for min_intronlength * Makefile.dna.am, bam_pileup.c, bam_tally.c, bamread.c, bamread.h, gsnap_extents.c, gsnap_splices.c: Moved files to gstruct * stage3.c: Reduced value of MIN_NONINTRON from 50 to 9 to avoid declaring short introns as indels * pair.c: Fixed Pair_print_sam to work properly for chimeric alignments * stage3.c: Cleaning up gaps and indels from ends at end of stage 3 * stage1hr.c: Fixed debugging statement 2011-09-09 twu * VERSION: Updated version number * dynprog.c: Fixed computation of lband and rband in find_best_endpoint and find_best_endpoint_to_queryend * dynprog.c: Added protections against length1 being negative 2011-09-08 twu * index.html: Made changes for 2011-09-07 version 2011-09-07 twu * samprint.c: Removed almost all unused parameters * outbuffer.c, stage3.c, stage3.h: Removed most unused parameters * pair.c, pair.h, stage3.c: Removed almost all unused parameters * pair.c: Fixed compiler messages about comparison of signed and unsigned ints * compress.c, compress.h: Fixed compiler messages about comparison of unsigned and signed ints * svncl.pl: Made changes to fix merges of words between lines and preserve original numbers of spaces * VERSION: Updated version number * shortread.c: For input error involving line that is too long, printing accession where problem occurred. * Makefile.am: Including full set of psl and gtf parsing programs with or without fulldist * genome.c: Added include line for genomicpos.h * Makefile.dna.am: Included genomicpos.c and genomicpos.h for extents_genebounds * README: Made changes to reflect new gtf_introns program * Makefile.am, configure.ac, gtf_introns.pl.in: Added gtf_introns program. Also putting psl_introns back into the public distribution. Made changes accordingly in README file. * dynprog.c, dynprog.h, stage3.c: When searching for gappairs_alt using probabilities, bounding the search based on a score threshold computed from the original score * stage3.c: For GSNAP, no trimming of noncanonical ends based on probabilities, since need to compare fwd and rev directions. Stopped final trimming of short end exons. For gappairs_alt, accepting if it results in high-probability splice sites. For pick_cdna_direction, using separate donor and acceptor scores and using alignment score again. * stage3.c: Put final pass to find canonical introns before trimming of dual breaks at ends * stage3.c: Fixed problem with trimming dual breaks where it was trimming indels. In trimming noncanonical exons at end, reduced NONCANONICAL_ACCEPT from 20 to 15, and added NONCANONICAL_PERFECT_ACCEPT. In pick_cdna_direction, turned off use of indel_alignment_score, and added nmatches - nmismatches - 3*nindels with MATCHES_SIGDIFF after use of totalintronscore. * pair.c: Counting nindels correctly near splice sites * dynprog.c: Counting nindels correctly near splice sites * gtf_splicesites.pl.in: Allowing GTF file to use tag gene_id instead of gene_name * stage1hr.c: Fixed masking of oligos for cmet and atoi modes * gsnap.c: Added 'S' flag to getopt command. Removed 'R' flag from getopt and from help message. * datadir.c: Fixed error message to remove the word default * stage3.c: Peeling back 1 pair in a dual break (previously turned off) to avoid having a gap on either side. 2011-09-06 twu * dynprog.c, dynprog.h, stage3.c: Changed bridge_intron_gap to have an explicit parameter for use_probabilities_p. Using indel_alignment_score now in pick_cdna_direction. * splicetrie.c, splicetrie.h: Providing contlength as parameter when making 3' splicejunctions * genome.c, genome.h: Added functions for Genome_fill_buffer_blocks that do not print final null at end of string, needed for making splicejunctions. * dynprog.c, dynprog.h: Fixed creation of splicejunctions. For 5' splicejunctions, not printing final null at end of string. For 3' splicejunctions, printing distal sequence at splicejunction[contlength]. 2011-09-03 twu * atoiindex.c, cmetindex.c: Masking to oligomer indices to given index1part size 2011-09-02 twu * gmap.c: Fixed bug in pairalign where min_matches not be adjusted downward to MIN_MATCHES 2011-09-01 twu * stage3.c: Fixed bug where longer end of dual break was being trimmed, not shorter end * dynprog.c: Allow for cDNA insert of up to 3 bp at splice site * dynprog.c, dynprog.h, gmap.c, gsnap.c, stage3.c: Introduced --microexon-spliceprob flag and allowing microexons only if one of the splice sites exceeds this value * stage3.c: Always keeping gappairs if finalp is true (was forcep) * dynprog.c: Always using splice site probabilities to find introns if finalp is true, and allowing indels nearby * stage3.c: Added a factor for dual break query jump to avoid dual breaks at end with small query jumps * gmap.c: Fixed indentation * scores.h: Added negative points in pathscore for non-canonical intron or for when cdna direction is indeterminate * pair.c: Added negative points in pathscore for non-canonical intron or for when cdna direction is indeterminate * chimera.c: Not allowing chimeric transition into a gap * stage1hr.c: Using new interface to Stage3_compute * gsnap.c: Using new interface to Stage3_setup * gmap.c: Added --nosplicing flag. Fixed memory leak when matches < min_matches. * stage3.c, stage3.h: Made splicingp a static variable. Added a step to remove dual breaks from the ends of an alignment. * stage2.c: Turning off link back to grand_fwd_hit when splicingp is false * stage2.c: Using macros for diffdist_penalty under splicing and non-splicing cases * stage2.c: Consolidated loops for use_shifted_canonical_p == true and == false. Removed compiler branches when SHIFT_EXTRA is not defined. 2011-08-31 twu * stage3.c: In trimming noncanonical exons from end, requiring end intron to be canonical and have donor prob or acceptor prob >= 0.9. * chimera.c, chimera.h, pair.c, pair.h, stage3.c, stage3.h: Prohibiting chimeric join at a query position containing a gap * gsnap.c: Added comment in --help output about how to turn off terminal alignments * stage1hr.c: Using terminal_threshold in paired-end reads * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h: Replaced terminal_penalty with terminal_threshold 2011-08-30 twu * gmap.c: Fixed entry for --pairalign in long_options * gmap.c: If min_matches exceeds MIN_MATCHES, use MIN_MATCHES * outbuffer.c, pair.c, pair.h, stage3.c, stage3.h: In compressed output, printing accession of usersegment instead of null dbversion * gmap.c: Implemented --pairalign flag for aligning a pair of sequences via stdin * splicetrie_build.c: Fixed compiler warning about unused variable * stage3.c: Improved debugging output * genome.c, gmap.c, inbuffer.c, inbuffer.h, sequence.c, sequence.h: Implemented --cmdline flag to align two sequences provided on the command line * shortread.c: Changed warning message when /1 or /2 endings not found * access.c: Changed warning message for Macs * stage3.c: Fixed add_querypos_offset, which previously excluded gap pairs * genome.c: Fixed compiler warnings about comparing ints and unsigned ints * indexdb.c: Printing genomesubdir and then individual index file names in monitoring message * indexdb.c: Using commas in initial monitoring message * genome.c: Using commas in initial monitoring message. Allowing allocation if mmap not available. * gsnap.c: Modified messages about RNA-Seq and DNA-Seq * stage1hr.c: Put GMAP modes on a single line in monitoring message * indexdb.c: Restored debugging messages * iit-read.c: Casting all size_t to (unsigned long) in error messages * access.c: Added check for failure of fread, which happens with Macs on large genomes 2011-08-29 twu * pair.c: Fixed case of a negative distance in printing GMAP alignment beyond chromosomal bounds * substring.c, substring.h: Using new interface to Pair_print_gsnap * segmentpos.c: Fixed compiler warning about comparing int and unsigned int * oligo.c: Commented out unused procedures for dibase * indexdb_hr.c: Fixed compiler warning about comparing int and unsigned int * stage1hr.c: Using new interfaces to Stage3end_remove_overlaps and Pair_print_gsnap * stage3hr.c, stage3hr.h: Removed unused parameters in Stage3end_remove_overlaps * pair.c, pair.h: Fixed bug in GSNAP standard output in printing GMAP alignments beyond chromosomal bounds * stage1hr.c: For finding GMAP mapping bounds using segments, checking plus_nsegments and minus_nsegments > 0, rather than plus_segments and minus_segments == NULL. 2011-08-28 twu * VERSION: Updated VERSION * pair.c: Switched from aaphase_g to aaphase_e, since aaphase_e correctly codes for all three positions of the stop codon * config.site: Removed references to samtools 2011-08-27 twu * gsnap.c, shortread.c, shortread.h: Added flags --fastq-id-start and --fastq-id-end. Stripping Illumina paired-end endings more intelligently. 2011-08-26 twu * dynprog.c, dynprog.h, splicetrie.c, stage3.c: Removed some unused parameters * dynprog.c, dynprog.h, stage3.c: Removed code for INTRON_HELP * gmap.c: Changed author list * dynprog.c, dynprog.h, splicetrie.c, splicetrie.h: Removed references to gbuffer * gsnap.c: Fixed warning messages for -N and -s. In --help message, notifying user that full pathnames are allowed. * stage3.h: Providing accessor commands for chrnum, chrstart, and chrend * stage3.c: Fixed bug in determining coordinates for Stage3_mergeable * gmap.c: Modified some debugging statements for chimeras 2011-08-19 twu * stage1hr.c: Adding at least querylength beyond distal mappingstart or mappingend to obtain distal genomicstart or genomicend * oligoindex.c: Added to size of genomicdiag by 1. Added assertion about exceeding those bounds. * gsnap.c: Added warning messages about interpretation of -N and -s flags * genome_hr.c: Fixed bugs preventing program from compiling * gmap_build.pl.in: Not providing -s flag to fa_coords 2011-08-16 twu * archive.html, index.html: Updated for version 2011-08-15 * COPYING: Changed Developer * gmap_setup.pl.in: Removed instructions about gmapdb_lc and gmapdb_lc_masked * README: Added default value for MAX_READLENGTH * README: Revised for new features * indexdb.c: Added warning message if no gammaptrs file is produced * gmapindex.c: Allocating an extra two chars in the offsets file names for the basesize * archive.html, index.html: Changes made for 2011-03-28 version * fa_coords.pl.in: Limiting number of warning messages about duplicate contigs 2011-08-15 twu * atoiindex.c, cmetindex.c: Improved monitoring messages * setup1.test.in: Changed tests for new gamma file format * Makefile.am, setup.ref12123positions.ok, setup.ref123positions.ok: Changed tests for new gamma file format * atoiindex.c, cmetindex.c, indexdb.c: Handling special case where index1part == basesize by not writing gammaptrs file and reading offsetscomp file directly into offsets. * atoiindex.c, cmetindex.c: Modified procedures to work with new compressed offsets file format * indexdb.c: Handling case where kmer == basesize 2011-08-14 twu * gmap_setup.pl.in: Removed -S flag and added -s flag * gmap_build.pl.in: Changed message to indicate that default order is chrom order * fa_coords.pl.in: Removed -S flag * gmapindex.c: Made chrom sort order the default * gmap.c, gsnap.c: Added --splicingdir flag * gsnap_splices.c: Turned off warning messages about non-canonical splices * bam_tally.c: Fixed warning message output going to stdout * bam_tally.c: Fixed printing of print_allele_counts_simple. Allocating and freeing tallies within parse_bam procedure for each chromosome. * indexdb.c: Added missing closing brace * gsnap_extents.c: Using find_strand procedure from gsnap_splices, which trusts strand from SAM output * spliceturn.c: Fixed eliminatep to be indexed by universal IIT index 2011-08-13 twu * indexdb.c, indexdb.h, indexdb_hr.c, indexdbdef.h: Allowing backward compatibility with pre-gamma genomic indices. Using littleendian and bigendian versions of gamma procedures. Implemented more compatibility with bigendian machines. * genome_hr.c, genome_hr.h: Instead of allocated/mmapped versions of gamma procedures, creating littleendian and bigendian versions * spliceclean.c: Changed wording of monitoring messages from "Resolve" to "Choose". Providing count information even when cannot choose between fwd and rev. * spliceturn.c: Printing monitoring message about number of splices eliminated * bam_tally.c: Improved warning messages for genotypes inconsistent with reference allele * atoiindex.c: Using offsetscomp instead of offsets in variable names. * cmetindex.c: Using offsetscomp instead of offsets in variable names. * snpindex.c: Fixed bug with freeing gammaptrs_filename and offsetscomp_filename too early. Using offsetscomp instead of offsets in variable names. * indexdb.h: Removed unused procedures * indexdb.c: Checking for rare case that ctr == 0 after all gammas read, and not advancing ptr in that case * bam_tally.c: Added Tally_T structure to simplify data structures and speed up program * bam_tally.c: Removed quality_score_constant. Handling empty quality strings correctly. * bamread.c: Handling empty quality strings correctly * indexdb.c, indexdb_hr.c: Handling an offsetscomp_access condition that is not possible, to eliminate compiler warnings * gmap.c, stage1hr.c: Reduced value of minendexon from 12 to 9, since we are using nmatches - nmismatches. Results in much better results at ends. * stage3hr.c: Restored usage of score before nmatches in remove_overlaps procedures * stage3.c: For trimming at ends, using nmatches - nmismatchs to evaluate. Fixed bug in pick_cdna_direction where value for cdna_direction not assigned correctly. Indels for bad introns, using requiring each end probability to be greater than 0.9, and taking alternate gappairs if nmismatches is less. * Makefile.dna.am, Makefile.gsnaptoo.am, VERSION, access.h, atoiindex.c, cmetindex.c, config.site.rescomp.prd, config.site.rescomp.tst, genome_hr.c, genome_hr.h, gmap.c, gmap_build.pl.in, gmap_setup.pl.in, gmapindex.c, gsnap.c, iit-read.c, indexdb.c, indexdb.h, indexdb_hr.c, indexdbdef.h, pmapindex.c, snpindex.c, splicetrie_build.c, src, trunk, types.h, util: Merged revisions 44539 to 44852 from branches/2011-08-09-elias-gamma, implementing gamma coding to represent offsets in genomic indices 2011-08-11 twu * stage1hr.c: Put GMAP pairsearch back in front of distant splicing. Characterizing GMAP pairsearch results according to quality, and updating either nconcordant or nsalvage. Distant splicing done if nconcordant is 0. Terminals done if both nconcordant and nsalvage are 0. * stage3.c: Not using nnoncanonical in pick_cdna_direction. Restored assignment of SENSE_NULL if no canonical site is found. 2011-08-10 twu * stage3hr.c: In Stage3end_remove_overlaps and Stage3pair_remove_overlaps, using nmatches rather than score as the primary measure * samprint.c, stage1hr.c, stage3hr.h: Introduced new hittype DISTANT_SPLICE and not trying to do GMAP alignment on those * stage1hr.c: Moved distant splicing ahead of GMAP pairsearch * stage3hr.c: Added debugging information 2011-08-09 twu * substring.c: Trimming terminals with fixed -3 mismatch score, while allowing other ends to be controlled with user-specified trim_mismatch_score. * dynprog.c: Using probabilities to find splice sites only if finalp is true 2011-08-08 twu * bamread.c: Added missing #endif statement * stage3.c: Limiting SENSE_NULL only to ties between fwd and rev * stage3.c: Preventing semicanonical splices at end from being trimmed. Using product of probabilities to decide whether an indel is next to a bad intron * dynprog.c: If canonical intron cannot be found, using probabilities to find best splice junction * bamread.c, bamread.h: Added function Bamread_splice_strand * samprint.c: Making cigar_noncanonical_splices_p true * sequence.c, shortread.c: Made fixes in new handling of eoln situations * stage3hr.c, stage3hr.h, substring.c, substring.h: Using runlength IIT for resolving multiple mappings * spliceturn.c: Sorting splices in order of observed counts, and eliminating in that order * snpindex.c: Fixed coordinates in error messages * gsnap.c: Added option for using runlength IIT to resolve multiple mappings * bam_tally.c: Added option for printing runlengths * bam_tally.c: Printing genotype. Added --diffs-only flag. 2011-08-07 twu * dynprog.c: Providing separate rewards for GC-AG and AT-AC introns, with stronger reward for GC-AG. * stage3.c: Not removing bad non-canonical exons at end. Computing combined probability score for donor and acceptor splice sites. * spliceturn.c: Fixed program to not depend on distinction between known and new splices * gsnap_splices.c: Added --minsupport flag * gmap.c: Added break after case 'z' 2011-08-06 twu * stage3hr.c: Turned off TALLY_RATIO, and checking instead for presence or absence of overlap * gsnap_splices.c: Added --mincount flag * gsnap.c: Adding .iit to splicesites file when searching locally * bam_pileup.c: Printing accessions at start and end of reads * indexdb.c: Checking for full offsets_suffix, not just "offsets" * dynprog.c, dynprog.h, stage3.c: Fixed bug in assigning the wrong value to splicingp. For indels next to bad introns, checking the alternative to see if it is free of mismatches. * Makefile.dna.am, Makefile.gsnaptoo.am, atoiindex.c, cmetindex.c, indexdb.c, indexdb.h, snpindex.c: Created a general Indexdb_get_filenames procedure and using it for snpindex, cmetindex, and atoiindex, so they work on all k-mer types * stage3hr.c, substring.c, substring.h: Removed some unused parameters and variables * outbuffer.c, stage3.c, stage3.h: Removed some unused parameters * stage3.c: Not calling pick_cdna_direction when splicingp is false * bam_pileup.c: Initial import into SVN 2011-08-05 twu * outbuffer.c: Restored Paths and Alignments sections to "gmap -4" output (continuous by exon). * VERSION: Updated version number * stage3hr.c: In Stage3end_gene_overlap, initializing foundp * iit-read.c: In IIT_gene_overlap, initializing allocp and freeing matches. * gtf_genes.pl.in: Revised ends and starts for genes on minus strand. * psl_genes.pl.in: Fixed 0-basis of starts. Revised ends and starts for genes on minus strand. * psl_genes.pl.in: Added headers for gene format * Makefile.am, configure.ac: Revised set of files distributed * Makefile.am, gtf_genes.pl.in, psl_genes.pl.in: Added psl_genes and gtf_genes programs * gmap.c, iit-read.c, stage1.c, stage1.h: Removed unused parameters * gmap.c, gregion.c, stage1.c, stage1.h: Removed unused parameters * inbuffer.h: Removed parameter pc_linefeeds_p * shortread.h: Removed braces * sequence.c: Removed call to find_bad_char, since we are checking for '\r' directly before '\n' * shortread.c: Removed call to find_bad_char, since we are checking for '\r' directly before '\n' * sequence.c, shortread.c: Added checks so we don't read p[-1] when the first character in the string is already '\n' * sequence.c: Checking for carriage return before every line feed * shortread.c: Checking for carriage return before every line feed * gsnap.c, inbuffer.c, shortread.h: Removed --pc-lines option * Makefile.am, dbsnp_iit.pl.in, fa_coords.pl.in, gmap_compress.pl.in, gmap_process.pl.in, gmap_uncompress.pl.in, gtf_splicesites.pl.in, md_coords.pl.in, psl_introns.pl.in, psl_splices.pl.in, psl_splicesites.pl.in: Stripping CR-LF from input files 2011-08-04 twu * gsnap.c, iit-read.c, iit-read.h, pair.c, pair.h, stage3hr.c, stage3hr.h, substring.c, substring.h: Added option to favor multi-exon genes * gmap.c, gsnap.c: Checking for valid int and float arguments * stage3hr.c: Fixed bug in resolve_multimapping procedures * stage3hr.c: Fixed bug in not initializing antistranded_penalty * gsnap.c, iit-read.c, iit-read.h, pair.c, pair.h, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Added -g flag and genes_iit. Added procedures for resolving multimapping using known genes and tally. * gmap.c: Making call to Splicetrie_setup, so -s flag works for known splice sites * Makefile.am, Makefile.dna.am, Makefile.gsnaptoo.am, Makefile.three.am, coords1.test.in, iit.test.in, setup1.test.in: Fixed "make check" so it works for Cygwin on Windows, where copying of programs from src does not work 2011-08-03 twu * dynprog.c, dynprog.h, stage3.c: Computing splice site probabilities when user genomic segment is provided * stage3.c: In assign_gap_types, using known splicesites_iit to assign splice site probabilities of 1. * pair.c, pairdef.h, pairpool.c, stage3.c: In addition to trimming noncanonical exons close to the end, trimming bad canonical exons close to the end. Now computing splice site probabilities in assign_gap_types. * dynprog.c: Checking for indel plus bad intron only when finalp is true, because earlier passes may need some time to iterate to reach a final solution. * stage3.c: Checking for pairs being NULL before calling Pair_trim_ends * gmap.c, pair.c, pair.h, stage1hr.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h: Using matches post-trim for deciding if the alignment has sufficient quality, but using nmatches_pretrim for ranking and scoring purposes. * stage3.c: Turned final pass 6 back on, which was inadvertently turned off * dynprog.c, pair.c, pair.h, pairdef.h, pairpool.c: Protecting pairs at end against trimming by GMAP if they are found by splicetrie at known splice sites * stage3.c: Not running Dynprog_single_gap if queryjump or genomejump of a dual break is equal to 1, since that just leads to two indels. * pair.c: For trimming of ends, changed penalty for indel score from -6 to -4. * dynprog.c: Corrected coordinates for splice site probabilities and dinucleotides. Disallowing indels near splice sites if either probability is less than 0.9. * stage3.c: Keeping non-canonical intron if there is sufficient exon evidence at the end. Iterating trimming of non-canonical introns at the end. * pair.c: Printing "method:gmap" even if assertions are turned off * dynprog.c: Checking probability of intron found by bridge_intron_gap and discarding the solution if it finds both an indel and a bad intron. 2011-08-02 twu * chrom.c, diag.c, diag.h, dynprog.c, gmap.c, oligoindex_hr.c, outbuffer.c, pair.c, pair.h, smooth.c, stage1.c, stage1hr.c, stage2.c, stage3.c, stage3.h: Removed various unused parameters * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Revised version number * stage1hr.c: Fixed debugging statements * substring.c: Added a general test of goodness for a substring based on its numbers of matches and mismatches. * stage3.c: Restored trimming of non-canonical end exons, but removed code that trimmed exons less than 20 bp when known splicing was available. * iit-read.c, iit-read.h: Added function IIT_exists_with_divno_typed_signed * stage1hr.c: Providing an allowance for GMAP score when want_high_quality_p is true. Turning off use of score as primary criterion in choosing splices, since it does not take advantage of known splicing. * stage3.c: Not using nmismatches in pick_cdna_direction. If splicesites_iit is available, assigning known splicesites a probability of 1.0. * stage1hr.c, stage1hr.h: When antistranded_penalty has a value, using mismatches plus penalty to decide between sense and antisense, rather than using probabilities. * stage3.c: Changed to_queryend_p to be true for distalmedial_ending, since it is comparing alternatives. 2011-08-01 twu * stage3hr.c, stage3hr.h: Adding antistranded_penalty to score * stage3.c: In pick_cdna_direction, using presence of indels in combination with bad intron * stage1hr.c, stage1hr.h: Using antistranded penalty to determine to force GMAP to look for antisense result. Requiring GMAP to be high quality in all cases. Basing GMAP quality on nmismatches plus gap opens. Choosing best result among all paired types, so concordant no longer predominates over others. * samflags.h: Added comment to show some common flags * gsnap.c: Added parameter for antistranded penalty * chrom.c, chrom.h, gmapindex.c, gsnap_extents.c, gsnap_splices.c, gsnap_terms.c, iit-read.c, iit_store.c, iitdef.h, segmentpos.c, segmentpos.h, spliceclean.c: Introducing new chrom sort in addition to previous numeric_alpha sort * chrom.c: Fixed bugs in parsing out initial "chr" from strings * gsnap.c: Changed default for all gmap parameters from 2 to 3 * stage1hr.c: Added macros add_bounded and subtract_bounded to keep computations within chromosomal bounds * gmap.c, stage2.c, stage2.h: Created a specialized procedure for score_querypos when splicing is true and no shifted canonicals are used * oligoindex.c: Using only 8-mers for oligoindices_major in GSNAP for stage 2 2011-07-31 twu * config.site.rescomp.tst, configure.ac, gmap_build.pl.in, gsnap.c, gtf_splicesites.pl.in, psl_splicesites.pl.in, src, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, trunk, util: Merged revisions 44034 to 44047 from branches/2011-07-31-gmap-then-terminals * stage1hr.c: For GMAP halfmapping, when overlap is found, take widest possible starting point between the overlap calculation and the normal calculation * stage3.c: Added gappairs in debugging statements * shortread.c, shortread.h, stage1hr.c: In computing GMAP halfmapping, checking for existence of primers and extending GMAP region if they exist * stage3hr.c, stage3hr.h: Added function Stage3end_best_score_paired * stage1hr.c: Running GMAP pairsearch only on ends with scores better than those already paired * gmap.c, gsnap.c: Printing arguments before they are parsed * stage2.c: When shifted_canonical_p is false, not computing rev scores, since they are the same as the fwd scores * stage2.c: Improved debugging statements * gmap.c, stage1hr.c, stage2.c, stage2.h, stage3.c: Added parameter use_shifted_canonical_p. Using now only for cross-species alignment in GMAP. * stage3hr.c, stage3hr.h: Added function Stage3pair_sort_bymatches. For substitutions with 0 mismatches, classifying hit as EXACT rather than SUB, so duplicates are eliminated properly. * stage1hr.c, stage1hr.h: Allowing multiple concordant results to undergo GMAP improvement, up to max_gmap_improvement. Sorting results by matches before GMAP improvement. * gsnap.c: Introduced separate parameter for max_gmap_improvement. Hid pairexpect and terminal-penalty parameters. * stage1hr.c: Fixed errors in find_terminals with analysis of mismatches and use of floors * stage1hr.c: Requiring high quality GMAP unpaired method when we observe a paired toolong alignment * gsnap.c: Made halfmapping,unpaired,improve the default GMAP method * stage3hr.c, stage3hr.h: Scoring GMAP based on total number of matches. Implemented Stage3end_best_score. * stage1hr.c: Using new test based on Stage3end_best_score to avoid terminals in anticipation of GMAP halfmapping. Allowing poor quality GMAP in GMAP improvement. Filtering results by optimal score before GMAP improvement using an infinite cutoff. * stage3.c: In pick_cdna_direction, allowing bad-scoring canonical introns to determine sense * Makefile.dna.am, Makefile.gsnaptoo.am, gmap.c, sense.h, stage1hr.c, stage3.c, stage3.h, stage3hr.h: Created new header file sense.h. Returning sensedir from pick_cdna_direction and Stage3_compute. * gsnap.c, stage1hr.c, stage1hr.h: Introduced separate parameter for trigger-score-for terminals * stage1hr.c: Turned off option to avoid terminals if halfmapping anticipated later * stage3.c: Increased threshold for trying microexon from 0 acceptable mismatches to 2 in high quality sequences * stage1hr.c: Applying Stage3pair_optimal_score after GMAP improvement step * pair.c, pair.h, samprint.c, stage3hr.c, substring.c, substring.h: Implemented computation of MAPQ scores for GMAP alignments * mapq.c, mapq.h: Moved some constants to mapq.h, so pair.c can access them * gsnap.c, stage1hr.h: Changed name of GMAP method from concordant_uniq to improvement 2011-07-30 twu * stage1hr.c: Conducting search for terminals even if gmap_halfmapping_p is true, if both single ends have no hits so far * splicetrie.c, splicetrie.h: Checking internal exon region at splice site before doing a search for a short-end splice. * oligoindex_hr.c: Removed assertions about sequencepos * stage1hr.c: In using segments to bound GMAP region, looking at querypos5 and querypos3 to help decide whether to extend mapping region by shortsplicedist. * stage3.c: In pick_cdna_direction, no longer using indel_alignment_score * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h: Introducing separate parameters for GMAP methods. Sorting singlehits5 and singlehits3 before running GMAP halfmapping/unpaired. * gmap.c, gsnap.c, oligoindex_hr.c, oligoindex_hr.h, stage1hr.c, stage1hr.h, stage2.c, stage2.h, stage3.c: Merged revisions 43984 to 43994 from branches/2011-07-30-oligoindex-mapping-region to introduce mappingstart and mappingend in addition to genomicstart and genomicend for finding oligoindex mappings in stage 2 * pair.c: In trimming, counting an indel only as a single mismatch * stage3.c: Turning off the step to remove noncanonical introns, since it fails in some cases * stage1hr.c: Not doing terminals if GMAP pairsearch or halfmapping is available * stage2.c: Ignore log message for 43986. Correct log message should be: Introduced NEAR_END_LENGTH to define ends of reads where we can ignore EXON_DEFN. * stage2.c: Not doing terminals if GMAP pairsearch or halfmapping is available * gsnap.c: Made halfmapping,cuniq the default for gmap-mode. * gmap.c: Reduced values of CHIMERA_SLOP 2011-07-29 twu * stage3hr.c: For single-end reads, favoring non-ambiguous alignments over ambiguous ones when they have identical genomicstarts or genomicends. * dynprog.c: In Dynprog_end5_known and Dynprog_end3_known, if extension not found to query end and if ambiguous splicing not found, then doing dynamic programming again to best end, rather than to query end. * pair.c, pair.h, stage3.c: Trimming of ends of GMAP alignments * stage1hr.c: Allowing very poor alignments to be reported by GMAP method, now that we have trimming at ends * gsnap.c, stage1hr.c, stage1hr.h: Avoiding duplication of chr marker segments and chr marker segment at the beginning. Passing chromosome_iit and nchromosomes into Stage1hr_setup. 2011-07-28 twu * stage1hr.c: Using binary search on segments to bound region for GMAP alignments 2011-07-27 twu * stage1hr.c: Created debugging version that identifies plus_segments and minus_segments within GMAP halfmapping region * stage2.c: Re-using result of find_shifted_canonical when leftpos remains the same * gsnap.c: Made default for GMAP halfmapping with 2 candidates * genome_hr.c: Added comments in splicesite_positions that offset - 1 is verified * stage1hr.c: Fixed issues with fast_level and cutoff_level for very short reads, where fast_level < 0 * stage1hr.c: Made plus_segments, plus_nsegments, minus_segments, and minus_nsegments fields within the Stage1_T object, so they can be used later in limiting range for GMAP alignments * genome_hr.c, genome_hr.h, stage2.c: Implemented lookup as needed of the previous dinucleotide from the genomic blocks 2011-07-26 twu * stage1hr.c: Added chr marker segments to indicate boundaries between chromosomes and simplify inner loops for localsplicing and indels * Makefile.dna.am: Removed gbuffer.c and gbuffer.h from file lists * stage3.c, stage3.h: Multiple revisions to pick_cdna_direction * stage2.c: Requiring exon length > EXON_DEFN for canonical splicing only in middle of queryseq * gsnap.c, stage1hr.c, stage1hr.h: Allowing control over individual gmap modes * chimera.c, dynprog.c, dynprog.h, extents_genebounds.c, genome.c, genome.h, get-genome.c, gmap.c, gsnap_tally.c, iit_plot.c, match.c, pair.c, sequence.c, sequence.h, splicetrie.c, splicetrie.h, splicing-score.c, substring.c: Making complement in place. Using new interface to Genome_get_segment. 2011-07-21 twu * Makefile.am, gtf_splicesites.pl.in: Added gtf_splicesites program * config.site.rescomp.tst: Updated version number * VERSION: Updated version number * indexdb.c: Fixed error message for PMAP * config.site.rescomp.tst, gsnap.c, indexdb.c, outbuffer.c, outbuffer.h, resulthr.c, resulthr.h, splicealt.c, splicetrie.c, splicetrie.h, splicetrie_build.c, splicetrie_build.h, src, stage1hr.c, stage1hr.h, stage3hr.c, stopwatch.c, substring.c, trunk, util: Merged revisions 43003 to 43362 from branches/2011-07-15-fast-knownsplices in creating splicecomp and creating specialized procedures for find_spliceends for shortends and distant splicing * stage2.c: Fixed bug in older canonical dinucleotides procedure that overwrite -1 values in initial positions * stage1hr.c: Revised comments * Makefile.dna.am: Added command for splicealt * psl_splicesites.pl.in: Fixed warning messages * psl_introns.pl.in: Fixed warning messages * gmap_build.pl.in: Added initial definition for -B flag 2011-07-17 twu * stage2.c: Fixed problem in get_last, needed by find_shifted_canonical, when first few positions lack a value of -1. 2011-07-13 twu * VERSION: Revised version number * genome-write.c: Added fix for genomes in PC-DOS file format * VERSION, atoiindex.c, cmetindex.c, config.site.rescomp.prd, gmap.c, gmap_build.pl.in, gmap_setup.pl.in, gmapindex.c, gsnap.c, indexdb.c, oligo.c, src, stage1.c, stage1hr.c, stage1hr.h, stage3.c, stage3hr.c, stage3hr.h, trunk, util: Merged revisions 42540 through 42858 from branches/2011-07-08-index-14mers to handler 13-mers and 14-mers, and to fix various bugs 2011-07-08 twu * samprint.c: Using new interface to Pair_print_sam * outbuffer.c, pair.c, pair.h, stage3.c, stage3.h: Using usersegment accession in SAM and GFF3 output when -g flag is specified. * goby.h, gsnap.c, outbuffer.c, shortread.c, shortread.h, stage3hr.c, stage3hr.h, substring.h: Merged external changes for Goby from 2011-07-01 and 2011-07-08 * Makefile.gsnaptoo.am: Added files for oligoindex_hr.c and oligoindex_hr.h * goby.c: Applied external patch from 2011-07-08 * Makefile.dna.am, VERSION, config.site.rescomp.tst, genome_hr.c, genome_hr.h, gmap.c, gsnap.c, oligoindex.c, oligoindex.h, oligoindex_hr.c, oligoindex_hr.h, src, stage1hr.c, stage1hr.h, stage2.c, stage2.h, stage3.c, stage3hr.c, stage3hr.h, trunk, util: Merged revisions 42282 to 42511 from branches/2011-07-05-oligoindex-hr to speed up GMAP oligoindex and provide options for GMAP * oligoindex.c: Stop initializing all diagonals. Initialize only when needed. * splice-sites-hr.pl: Added -S flag for semicanonical splice sites * indexdb.c: Fixed Indexdb_new_genome for PMAP * gmap.c: Changed default index1part for PMAP 2011-07-07 twu * splice-sites-hr.pl: Initial import into SVN 2011-07-06 twu * shortread.c: Allows for non-digit, then "1" or "2" for paired-end reads 2011-07-05 twu * dynprog.c: Added protection against negative genomic coordinates in dynamic programming at 5' and 3' ends * shortread.c: Modified error statement * stage1hr.c: Adding querylength to genomicbound in cases where no overlap is found, just in case the overlap is not found. * stage1hr.c: Requiring high quality when aligning concordant unique hits with GMAP 2011-07-04 twu * stage3.c: Trimming end exons if less than 20 bp and known splicing is available * stage1hr.c: Improved debugging statements for GMAP alignments * splicetrie.c: Counting mismatches correctly, without penalty, when known splicing exceeds observed distances * gsnap.c, stage3hr.c, stage3hr.h: Adding ambiguous matches to nmatches when favor_ambiguous_p is true, which happens if we have known splicing without observed distances * dynprog.c, dynprog.h: Implemented find_best_endpoint_to_queryend * stage3.c: Trimming semi-canonical exons at end also * splicetrie.c: Fixed bug in failing to push coordinates for ambiguous cases * pair.c: Fixed symbol for rev semi-canonical pair in debugging output * iit_store.c: Improved error message when parsing coords * iit_store.c: Printing entire problematic line when a parsing error occurs 2011-07-03 twu * stage3.c: Revised pick_cdna_direction to count semicanonical splices, and to use nmatches - nmismatches 2011-07-02 twu * stage3hr.c: Fixed bug in always eliminating second hit in Stage3end_remove_overlaps * Makefile.am, setup.ref123positions.ok, setup.ref3positions.ok, setup1.test.in, setup2.test.in: Made changes for renaming of ref3positions to ref123positions * gmap.c, gsnap.c, stage2.c, stage2.h: Added setup for stage 2 to handle GMAP alignments without splicing * pair.c: Putting "0M" between adjacent deletion and insertion in CIGAR string * gsnap.c, stage1hr.c, stage1hr.h: Providing --allow-gmap flag to control whether GMAP alignments are allowed 2011-07-01 twu * stage3.c: Adding gap holders before nonconcordant exon trimming. Checking if nonconcordant end exon is less than halfway from end. In picking cDNA direction, checking only for presence or absence of nonconcordant or concordant introns. * stage2.c: Put back diffdist_penalty * stage1hr.c: Using better genomicbounds when running GMAP alignments. Introduced check for very bad GMAP alignments (nmatches < querylength/2). Comparing GMAP against original hit for aligning concordant uniques with GMAP. Trying top hits with GMAP to find concordant pairs, rather than checking to see if the total number of hits is less than a threshold. * pair.c, pair.h, shortread.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Added procedures for computing better genomicbounds on GMAP alignments, based on overlap between the paired ends * gsnap.c, splicetrie.c, splicetrie.h: Added option for amb_closest_p behavior, where shortest intron among ambiguous ones is picked * genome-write.c: Added index1part as parameter to some procedures 2011-06-30 twu * stage3hr.c: Allowing terminal ends to win on the basis of nmatches, instead of score * stage3.c: Added pass 6a to remove noncanonical end exons * stage2.c: Restored NINTRON_PENALTY_MISMATCH from 4 to 8 * stage1hr.c: Generalized minimum querylength for one-miss algorithm to handle 15-mers. Order is now GMAP, terminal 1, terminal 2, and distant splicing, with terminals done if found_score > trigger_score_for_gmap. * gmap.c, gsnap.c, iit-read.c, iit-read.h, outbuffer.c, outbuffer.h: Added flags for read group library and platform in SAM headers * compress.c, compress.h, genome-write.c, genome-write.h, gmapindex.c: Allowing for 15-mer genomic indices when writing an uncompressed genome using a file * spanningelt.c: Generalized from 12-mers to 15-mers 2011-06-29 twu * gmap_build.pl.in: Fixed installation for 12-mer and 15-mer indices * gmap.c, gsnap.c: Added -B 5 option to allocate offsets file * Makefile.dna.am, access.h, atoiindex.c, block.c, block.h, cmetindex.c, gdiag.c, gmap.c, gmap_build.pl.in, gmap_setup.pl.in, gmapindex.c, gsnap.c, indexdb.c, indexdb.h, indexdb_dump.c, indexdb_hr.c, indexdb_hr.h, indexdbdef.h, oligo-count.c, oligo.c, oligo.h, oligop.c, oligop.h, outbuffer.c, pmapindex.c, snpindex.c, spanningelt.c, splicetrie.c, src, stage1.c, stage1.h, stage1hr.c, stage1hr.h, stage2.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h, substring.c, substring.h, trunk, util: Merged revisions 41633 to 41936 from branches/2011-06-22-index-15mers to allow for 15-mers in genomic indices 2011-06-24 twu * stage1hr.c: Computing query_compress if necessary before deciding whether to perform halfmapping GMAP on concordant unique * pair.c: Fixed bug in printing start: instead of end: when endtype2 is END 2011-06-23 twu * config.site.rescomp.prd, config.site.rescomp.tst, src, stage1hr.c, trunk, util: Merged revisions 41618 to 41631 from branches/2011-06-22-gmap-earlier to move GMAP algorithm before distant splices 2011-06-22 twu * dynprog.c, dynprog.h, gmap.c, gsnap.c, iit-read.c, intron.c, intron.h, stage1hr.c, stage1hr.h, stage3.c, stage3.h, stage3hr.c, stage3hr.h: Merged revisions 41516 to 41609 from branches/2011-06-14-terminals to try GMAP up to 5 times before terminals if no concordant matches can be found. 2011-06-21 twu * dynprog.c, dynprog.h, gmap.c, iit-read.c, iit-read.h, maxent_hr.c, pair.c, pair.h, splicetrie.c, splicetrie.h, stage1hr.c, stage2.c, stage3.c, stage3.h, stage3hr.c, stage3hr.h, substring.c, substring.h: Merged revisions 41410 to 41516 from branches/2011-06-14-terminals. Applying GMAP for halfmapping multiple and unpaired unique results. Allowing ambiguous splice ends for GMAP alignments. Fixed computation of splice junctions. Allowing canonical exons to be found for short exons in GMAP alignments. Improved pick_cdna_direction. Made fixes to GSNAP output for GMAP alignments. 2011-06-18 twu * src, stage3hr.c: Merged change from branches/2011-06-14-terminals to check for subsumption in paired alignments 2011-06-17 twu * samprint.c, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Merged revisions 41223 to 41410 from branches/2011-06-14-terminals to use lexicographic comparison in Stage3end_remove_duplicates; to prevent known splicing from extending past chromosomal bounds; to prevent end indels from going past right end of chromosome; to iterate through both mismatch_positions_cont and mismatch_positions_shift simultaneously in end indel procedures; and to compute nmatches over entire substring. 2011-06-14 twu * genome.c: Allowing fill_buffer_simple procedures to fill past the left end of the genome * splicetrie.c, splicetrie.h, stage1hr.c: Preventing short-overlap splicing from going past chromosomal boundaries * VERSION: Updated version * gmap.c: Increased default chimera margin from 20 to 40 * gmap.c, src, stage3.c, stage3.h, trunk, util: Merged revisions 41185 to 41214 from branches/2011-06-13-gmap-merge. Merging chimeric parts when possible. * config.site.rescomp.tst, maxent.c, src, stage3hr.c, trunk, util: Merged revisions 40955 to 41210 from releases/internal-2011-06-09 * dynprog.c, src, stage1hr.c, stage3hr.c, stage3hr.h, trunk, util: Merged revisions 40682 to 41210 from releases/internal-2011-06-06 * stage1hr.c: Turning on NEW_TERMINALS branch * shortread.c, shortread.h: Added function Shortread_find_overlap 2011-06-12 twu * stage1hr.c: Added hooks for computing terminals at zero penalty if necessary 2011-06-11 twu * stage3hr.c: Allowing use of Stage3end_substringD and Stage3end_substringA by half splices * samprint.c, stage3hr.c, substring.c, substring.h: Merged changes from releases/internal-2011-06-09 to change internal representation of splice from substring1 for donor and substring2 for acceptor. Now substring1 and substring2 are in query order. Needed to avoid problems when a splice was labeled both as donor/acceptor and as acceptor/donor. 2011-06-10 twu * gsnap.c: Checking for value of adapter stripping flag. Turning on adapter stripping by default. 2011-06-09 twu * gmap.c, gsnap.c: Joining worker threads instead of detaching them, so Inbuffer_free can be called safely * gmap.c, stage3.c, stage3.h: Merge chimeric parts into a single continuous alignment if possible. * VERSION: Updated version * gmap.c: Allowing chimera switchpoint to occur one base pair earlier * chimera.c: Improved debugging statements * genome.c: Made Genome_fill_buffer refer to its local genome argument, not the global one. Needed to fix a bug in snpindex. * Makefile.dna.am, Makefile.gsnaptoo.am, compress.h, dynprog.h, outbuffer.c, pair.c, pair.h, pairpool.h, samprint.c, splicetrie.h, splicetrie_build.h, stage3.c, stage3.h: Printing XT flag for translocation information in SAM output of both GMAP and GSNAP * chimera.c, chimera.h, gmap.c: Changed algorithm for finding chimera boundary in GMAP to maintain best number of mismatches, and then to find highest splice site probabilities within that range 2011-06-08 twu * gsnap.c: Fixed mode flag to take a required argument * gmap.c, outbuffer.c, outbuffer.h: Added .transloc split output file for GMAP * gmap.c: Hiding -s flag from help output * gmap.c, stage3.c, stage3.h: Revising pairarray genomepos coordinates of GMAP chimeras to be chromosomal coordinates, so SAM output is correct * pair.c: Implemented hard clipping in SAM output for GMAP chimeras 2011-06-06 twu * samprint.c: Made the sign of insertlength for a translocation depend on the concordant substring * VERSION: Updated version number * stage3hr.c: Fixed computation of pair_insert_length when there is no overlap * stage1hr.c: Added debugging statements * stage1hr.c: Corrected privatep flags and memory freeing for halfmapping unique cases solved by GMAP. * outbuffer.c: Corrected argument list for GMAP when MEMUSAGE is turned on * stage3hr.c, stage3hr.h: Added function Stage3end_effective_chrnum * samprint.c: For mates that are translocations, using the effective chrnum in printing the mate location * resulthr.c: Fixed bug in assigning UNPAIRED_TRANSLOC category * stage1hr.c: Added checks for new pair from Stage3pair_new being NULL 2011-06-05 twu * stage3.c: Placed a limit on iterations of building ends using known splicing * src, trunk, util: Merged property changes on subdirectories from branches/2011-06-04-gmap-genomicseg * VERSION, config.site.rescomp.prd, config.site.rescomp.tst: Updated version number * dynprog.c, gmap.c, pair.c, stage1hr.c, stage3.c, stage3hr.c, stage3hr.h: Merged changes from revision 40649 to 40663 from branches/2011-06-04-gmap-genomicseg to provide correct bounds on GMAP alignment in GSNAP and to improve various issues in alignment, including close indels 2011-06-03 twu * stage3hr.c: Changed paired_seenp back to paired_usedp in Stage3end_remove_duplicates, because not all pairs are seen in previous pair_up procedures, resulting in a fatal bug. * config.site.rescomp.prd, config.site.rescomp.tst: Updated version number * VERSION: Updated version number * gmap.c, splicetrie.c, splicetrie.h, stage1hr.c, stage3.c, stage3.h: Making use of jump_late_p * dynprog.c, dynprog.h: Added provision for jump_late_p. Fixed issue in jump_penalty where it was not consistent with jump_penalty_init. Now both procedures compute extend*length. * pair.c: Fixed printing of dashes in GSNAP standard output * dynprog.c, dynprog.h, gmap.c, stage1hr.c, stage3.c, stage3.h: Allowing close combinations of insertions and deletions, by allowing onesidegapp to be false and letting extraband_single equal 3 instead of 0. Controlled by --allow-close-indels flag in GMAP. Default set to be on in GMAP and in GSNAP. 2011-06-02 twu * stage1hr.c: Not performing Stage3end_remove_duplicates on exact matches, which should not be necessary. * stage3hr.c: In Stage3end_remove_duplicates, checking against paired_seenp, instead of paired_usedp, for speed. * stage3hr.c: Reverted back to revision 40489 of Stage3_pair_up_concordant, which does has the pairing procedures inline. * stage3hr.c: Attempt to have different lists for old and new hits, but this seems to slow down the program. * stage3hr.c: Moved parts of Stage3_pair_up_concordant into separate procedures * stage1hr.c, stage3hr.c, stage3hr.h: Performing GMAP on concordant unique results where one end is of type TERMINAL * gsnap.c: Changed default indel penalty from 1 to 2 * stage3hr.h: Formatting change * stage3hr.c, substring.c, substring.h: Using nchimera_novel in Stage3end_remove_overlaps * stage3hr.c: In Stage3pair_remove_overlap, favoring longer insert lengths, if all else is equal * pair.c: Moved MD string for SAM output before NH tag to be consistent with other GSNAP SAM output 2011-06-01 twu * stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Making a distinction between Stage3end_remove_duplicates and Stage3end_remove_overlaps * stage3hr.c: Reverted to old method of finding pair insert length, where all substrings are checked. * stage1hr.c: In pairing algorithm, moved short-overlap splicing and distant splicing into a single singlesplicing class, so duplicates are handled properly. * gsnap.c: Added documentation for --use-tally flag 2011-05-30 twu * inbuffer.c, inbuffer.h: Changed nspaces and nread to unsigned int * gmap.c, gsnap.c, outbuffer.c, outbuffer.h: Made output buffer size a user-definable parameter * gmap.c, gsnap.c, outbuffer.c, outbuffer.h: Made more changes to output thread. Made noutput a local variable. Clearing backlog in ordered output when necessary. * stage1hr.c: Added a dinucleotide check for repetitive sequences * gmap.c, gsnap.c, mem.c, mem.h, outbuffer.c, request.c, result.c, resulthr.c, sequence.c, shortread.c, stage1hr.c, stage1hr.h, stage3.c, stage3hr.c, substring.c: Replaced LEAKCHECK system with MEMUSAGE system * list.c, list.h: Added specialized procedures for using specific memory pools for memusage * inbuffer.c: Added comment * diagpool.c, diagpool.h, pairpool.c, pairpool.h: Added procedures for reporting memory usage. Using memory from keep portion. * outbuffer.c: Cleaned up pthread code for output thread. Added MAXQUEUE to clear out outbuffer. 2011-05-28 twu * config.site.rescomp.tst: Added -Wextra to CFLAGS * gsnap.c, stage3hr.c: Eliminating hitpair duplicates based on hittypes of ends. Allowing MAPQ score to go as high as 96. * gsnap.c, stage1hr.c, stage3hr.c, stage3hr.h: Implemented mapq-unique-score * AUTHORS, COPYING, INSTALL, MAINTAINER, Makefile.am, Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.pmaptoo.am, Makefile.three.am, Makefile.util.am, NEWS, README, VERSION, access.c, access.h, acinclude.m4, acx_mmap_fixed.m4, acx_mmap_variable.m4, acx_pthread.m4, add_rpk.c, align.test.in, align.test.ok, archive.html, assert.c, assert.h, atoi.c, atoi.h, atoiindex.c, backtranslation.c, backtranslation.h, bam_tally.c, bamread.c, bamread.h, bigendian.c, bigendian.h, block.c, block.h, bool.h, bootstrap.dna, bootstrap.gmaponly, bootstrap.gsnaptoo, bootstrap.pmaptoo, bootstrap.three, boyer-moore.c, boyer-moore.h, builtin.m4, cappaths.c, changepoint.c, changepoint.h, chimera.c, chimera.h, chop_primers.c, chrnum.c, chrnum.h, chrom.c, chrom.h, chrsegment.c, chrsegment.h, chrsubset.c, chrsubset.h, cmet.c, cmet.h, cmetindex.c, color.c, color.h, comp.h, complement.h, compress.c, compress.h, config, config.guess, config.site, config.site.rescomp.prd, config.site.rescomp.tst, config.sub, configure.ac, convert.t.c, coords1.test.in, coords1.test.ok, cum.c, datadir.c, datadir.h, datum.c, datum.h, dbsnp_iit.pl.in, ddsgap2_compress.pl, defs, dev, diag.c, diag.h, diagdef.h, diagnostic.c, diagnostic.h, diagpool.c, diagpool.h, dibase.c, dibase.h, dibaseindex.c, doublelist.c, doublelist.h, dynprog.c, dynprog.h, except.c, except.h, exonscan.c, expand.m4, extents_genebounds.c, fa.iittest, fa_coords.pl.in, fopen.h, fopen.m4, gbuffer.c, gbuffer.h, gdiag.c, geneadjust.c, genecompare.c, geneeval.c, genome-write.c, genome-write.h, genome.c, genome.h, genome_hr.c, genome_hr.h, genomepage.c, genomepage.h, genomeplot.c, genomicpos.c, genomicpos.h, genuncompress.c, get-genome.c, getopt.c, getopt.h, getopt1.c, gmap.c, gmap_build.pl.in, gmap_compress.pl.in, gmap_process.pl.in, gmap_reassemble.pl.in, gmap_setup.pl.in, gmap_uncompress.pl.in, gmap_update.pl.in, gmapindex.c, goby.c, goby.h, gregion.c, gregion.h, gsnap-fetch-reads.pl, gsnap-fetch-reads.pl.in, gsnap-remap.pl, gsnap-remap.pl.in, gsnap.c, gsnap_best.c, gsnap_concordant.c, gsnap_extents.c, gsnap_fasta.c, gsnap_filter.c, gsnap_iit.c, gsnap_multiclean.c, gsnap_splices.c, gsnap_tally.c, gsnap_terms.c, gsnapread.c, gsnapread.h, hint.c, hint.h, iit-read.c, iit-read.h, iit-write.c, iit-write.h, iit.test.in, iit_dump.c, iit_fetch.c, iit_get.c, iit_get.out.ok, iit_pileup.c, iit_plot.c, iit_store.c, iit_update.c, iitdef.h, iittest.iit.ok, inbuffer.c, inbuffer.h, index.html, indexdb.c, indexdb.h, indexdb_dibase.c, indexdb_dibase.h, indexdb_dump.c, indexdb_hr.c, indexdb_hr.h, indexdbdef.h, internal-2011-02-27, interval.c, interval.h, intlist.c, intlist.h, intlistdef.h, intpool.c, intpool.h, intron.c, intron.h, lgamma.c, lgamma.h, list.c, list.h, listdef.h, littleendian.c, littleendian.h, ltmain.sh, madvise-flags.m4, maint, map.test.ok, mapq.c, mapq.h, match.c, match.h, matchdef.h, matchpool.c, matchpool.h, maxent.c, maxent.h, maxent_hr.c, maxent_hr.h, md5-compute.c, md5.c, md5.h, md_coords.pl.in, mem.c, mem.h, memchk.c, memory-check.pl, mmap-flags.m4, mode.h, nmath.c, nmath.h, nr-x.c, nr-x.h, oligo-count.c, oligo.c, oligo.h, oligoindex.c, oligoindex.h, oligop.c, oligop.h, orderstat.c, orderstat.h, outbuffer.c, outbuffer.h, pagesize.m4, pair.c, pair.h, pairdef.h, pairingcum.c, pairingflats.c, pairinggene.c, pairingstrand.c, pairingtrain.c, pairpool.c, pairpool.h, parserange.c, parserange.h, pbinom.c, pbinom.h, pdl_smooth.c, pdldata.c, pdldata.h, pdlimage.c, perl.m4, plotdata.c, plotdata.h, plotgenes.c, plotgenes.h, pmapindex.c, psl_introns.pl.in, psl_splices.pl.in, psl_splicesites.pl.in, random.c, random.h, rbtree.c, rbtree.h, rbtree.t.c, reader.c, reader.h, reads.c, reads.h, reads_dump.c, reads_store.c, request.c, request.h, result.c, result.h, resulthr.c, resulthr.h, revcomp.c, sam_merge.pl.in, sam_restore.pl.in, samflags.h, samprint.c, samprint.h, samread.c, samread.h, scores.h, segmentpos.c, segmentpos.h, segue.c, separator.h, seqlength.c, sequence.c, sequence.h, setup.genomecomp.ok, setup.idxpositions.ok, setup.ref3positions.ok, setup1.test.in, setup2.test.in, share, shortread.c, shortread.h, sim4_compress.pl, sim4_uncompress.pl, smooth.c, smooth.h, snpindex.c, spanningelt.c, spanningelt.h, spidey_compress.pl, spliceclean.c, spliceeval.c, splicefill.c, splicegene.c, splicegraph.c, splicescan.c, splicetrie.c, splicetrie.h, splicetrie_build.c, splicetrie_build.h, spliceturn.c, splicing-scan.c, splicing-score.c, src, ss.chr17test, ss.her2, stage1.c, stage1.h, stage1hr.c, stage1hr.h, stage2.c, stage2.h, stage3.c, stage3.h, stage3hr.c, stage3hr.h, stopwatch.c, stopwatch.h, struct-stat64.m4, subseq.c, substring.c, substring.h, svncl.pl, table.c, table.h, tableint.c, tableint.h, tableuint.c, tableuint.h, tally.c, tally.h, tally_exclude.c, tally_expr.c, tallyadd.c, tallyflats.c, tallygene.c, tallyhmm.c, tallystrand.c, tests, translation.c, translation.h, trial.c, trial.h, trunk, types.h, uintlist.c, uintlist.h, uinttable.c, uinttable.h, util, whats_on: Restored gmap trunk subdirectory * VERSION: Updated version * substring.c: Computing MAPQ on entire substring, not on trimmed portion * dynprog.c, dynprog.h, gmap.c, stage1hr.c, stage3.c, stage3.h: For genomic GMAP alignments in GSNAP, not assigning any canonical reward, not computing pairs_rev, and not scoring introns. 2011-05-27 twu * splicetrie.c, splicetrie.h, stage1hr.c: Removed unused parameter splicetypes * gsnap.c, stage1hr.c, stage1hr.h: Removed unused parameters, including queryptr and queryrc * Makefile.dna.am, Makefile.gsnaptoo.am, dynprog.c, dynprog.h, genome.c, genome.h, genome_hr.c, genome_hr.h, gmap.c, gsnap.c, mapq.c, mapq.h, maxent_hr.c, maxent_hr.h, oligoindex.c, outbuffer.c, outbuffer.h, pair.c, pair.h, samprint.c, samprint.h, splicetrie.c, splicetrie.h, splicetrie_build.c, splicetrie_build.h, src, stage1hr.c, stage1hr.h, stage3.c, stage3.h, stage3hr.c, stage3hr.h, substring.c, substring.h: Merged revisions 40182:40234 from branches/2011-05-27-no-block-vars to reduce number of parameters * VERSION: Updated version number * dynprog.c, dynprog.h, splicetrie.c, splicetrie.h, stage1hr.c, stage3.c, stage3.h: Restored complete searching of known splicesites for dynamic programming of ends 2011-05-26 twu * stage1hr.c: Created hybrid procedure for performing dynamic programming at 5' and 3' ends with known splicing * dynprog.c, dynprog.h, splicetrie.c, splicetrie.h, stage3.c, stage3.h: Created hybrid procedure for performing dynamic programming at 5' and 3' ends with known splicing * dynprog.c, dynprog.h, splicetrie.c, splicetrie.h, stage3.c, stage3.h: Wrote faster procedure for performing dynamic programming at 5' and 3' ends with known splicing, but does not handle distal indels. * inbuffer.c: Performing chopping of adapters only after paired-end alignment fails to give concordant or paired result. * gsnap.c, request.c, request.h, shortread.c, shortread.h: Performing chopping of adapters only after paired-end alignment fails to give concordant or paired result. * stage1hr.c: Removed query as a parameter. Changed knownsplice limits. * uintlist.c, uintlist.h: Added procedure Uintlist_to_string * mapq.c, mapq.h, stage3hr.c, stage3hr.h, substring.c, substring.h: Removed query as parameter to procedures * genome_hr.c, genome_hr.h: Removed query as parameter to some procedures 2011-05-25 twu * stage3hr.c: Moved assertions about private5p and private3p to correct place * gsnap.c, inbuffer.c, request.c, request.h, shortread.c, shortread.h: When potential paired-end adapter is found, checking alignment first without chopping adapters, and then if no concordant or paired alignments are found, then re-aligning with adapters chopped. * stage3hr.c: Removing only duplicates that have not been used yet in a pair * stage1hr.c: Doing Stage3pair_privatize before Stage3pair_eval * pair.c: Added NH tag for GMAP alignments in GSNAP * get-genome.c: Enabling re-use of contig_iit * shortread.c: Fixed bug in printing pairedend fasta. Was printing both revcomp and forward sequence for queryseq2. * stage1hr.c, stage3hr.c, stage3hr.h: Reduced amount of memory copying in making Stage3pair_T objects 2011-05-24 twu * get-genome.c, parserange.c, parserange.h: Made operation of get-genome from stdin more efficient by making only one open of chromosome_iit and contig_iit * VERSION: Updated version * gsnap.c: Added message to indicate when alignment is starting * stage1hr.c: Doing pairing only when individual alignments are performed * outbuffer.c: Fixed debugging statement * gmap.c: Added information to --help output on the -f flag about other output types * gsnap.c: Changed default value of genome_unk_mismatch_p to be 1 * samprint.c: Fixed sign insert size when read and mate have identical chrpos 2011-05-23 twu * VERSION: Updated version * samprint.c: Added NH flag to indicate number of paths * gsnap_concordant.c: Defined concordance to allow for overlapping reads * stage1hr.c: Introduced DEBUG4K for known doublesplicing * dynprog.c, dynprog.h, gmap.c, intlist.c, intlist.h, splicetrie.c, splicetrie.h, stage3.c, stage3.h: Removing duplicate results from splicetrie when SNPs are allowed * samprint.c: Fixed bug in printing cigar for two-thirds shortexon on minus strand * gmap.c: Removed include of mode.h * Makefile.dna.am, Makefile.gsnaptoo.am, atoi.c, atoi.h, atoiindex.c, genome_hr.c, genome_hr.h, gmap.c, gsnap.c, indexdb.c, indexdb.h, mode.h, stage1hr.c, stage1hr.h, substring.c, substring.h: Using Mode_T instead of cmetp. Incorporated atoi mode. * oligo.c, oligo.h: Removed Oligo_setup * convert.t.c: Initial import into SVN * gsnap_fasta.c: Added code stub for handling BAM input * gsnap.c: Added a thread-specific key for storing the request, and accessing it with the signal handler, which no longer throws an exception. * stage3.c: Checking for case in distalmedial comparison where medial location extends past given genomicseg. * stage1hr.c: Replaced indirect function calls with direct calls to read_oligos_cmet and read_oligos_standard. * oligo.c: Replaced indirect function calls with direct calls to oligo_read and oligo_revise. Not handling dibasep anymore. * genome_hr.c, genome_hr.h: Replaced indirect function calls with static inline procedures * stage1.c: Removed dibase parameter in calling Reader_new * stage3hr.c: Removed assertion check for plusp equality in pair_insert_length. For splice translocations, redefining plusp based on substring_for_concordance. * gsnap.c: Fixed output of query when exception occurs * except.c: Fixed handling of exceptions by removing unnecessary call to Except_advance_stack. 2011-05-22 twu * gsnap.c: Removed dibasep and cmetp as parameters. * stage1hr.c, stage1hr.h: Removed dibasep as a parameter. Also eliminated cmetp as a parameter. * substring.c, substring.h: Removed dibasep as a parameter * stage3hr.c, stage3hr.h: Removed dibasep as a parameter * splicetrie.c, splicetrie.h: Removed dibasep as a parameter * reader.c, reader.h: Removed dibasep as a parameter * oligo.c, oligo.h: Removed dibasep as a parameter. Added setup procedure to assign procedure for dibase operation. * mapq.c, mapq.h: Removed dibasep as a parameter * genome_hr.c, genome_hr.h: Removed dibasep as a parameter 2011-05-21 twu * genome_hr.c, genome_hr.h, gsnap.c, mapq.c, mapq.h, splicetrie.c, splicetrie.h, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Setting block_diff procedure in genome_hr.c during setup, and removing many uses of the cmetp variable. * dynprog.c: Include header for splicetrie.h * cmet.c, cmet.h, genome_hr.c: Moved mark_a, mark_c, mark_g, and mark_t data and procedures from cmet.c to genome_hr.c 2011-05-20 twu * Makefile.gsnaptoo.am: Made files for GMAP and GSNAP match those in Makefile.dna.am * Makefile.dna.am: Minor rearrangement of filenames * samprint.c: Fixed printing of SAM output for translocations * stage3hr.c: Using both hit5 and hit3 end points in hitpair_equal_cmp. Put tally ahead of score in ranking subsumed hitpairs. * splicetrie.c: Constraining max_mismatches_allowed to be less than one-third of the end length * substring.c: Added header file for pair.h * stage3hr.c: Not using absdifflength bingo at all * gsnap.c: Removed references to pairlength deviation * stage3.c: In peel_leftward and peel_rightward, when running into a second gap, transferring endgappairs first before transferring peeled pairs. * dynprog.c: Using List_push_existing instead of Pairpool_push_existing to save on memory * stage3hr.c: Using only best splice within constraints and not pairlength in resolving ambiguous inside splices * stage1hr.c: Fixed definition of collect_all_p for shortexons * splicetrie.c, splicetrie.h: Removed old code. Implemented collect_all_p in Splicetrie_search_left and Splicetrie_search_right procedure. 2011-05-19 twu * stage1hr.c, stage3hr.c, stage3hr.h: Requiring concordant pairs to have a non-zero insert length * stage1hr.c, stage3hr.c, stage3hr.h: Recording number of ambiguous matches after known splicing, and subtracting from nmatches when ambiguous inner splicing yields no candidates. 2011-05-18 twu * gmap.c, stage1hr.c, stage2.c, stage2.h, stage3.c: Allowing stage 2 to favor either left or right part of genomicseg * gsnap.c: Using the same value for middle and end indel penalties. Changed flags to allow only one indel penalty to be specified. * stage3hr.c: In Stage3pair_remove_duplicates, allowing for ties within cluster. Using hittype to rank hitpairs in hitpair_equal_cmp, but not for distinguishing hitpairs in hitpair_equal_no_hittype_cmp. * stage3hr.c: Fixed bug in using hitpair_equal_cmp * stage3hr.c: Using same procedure, hitpair_equal_cmp (previously called hitpair_position_cmp), both for sorting and for recognizing equal hitpairs. * stage3hr.c: In Stage3pair_remove_duplicates, added hittype in sorting and removing exact duplicates. Going through clusters separately from left and right and checking for subsumption against initial alignment, not the previous one. * stage3hr.c: In Stage3pair_remove_duplicates, using tally within clusters. Removing absdifflength bingo from Stage3pair_optimal_score. 2011-05-17 twu * README, config.site, configure.ac: Setting default value of MAX_READLENGTH to be 200 * gsnap.c: Providing value of MAX_READLENGTH in printing --version output * dibase.c, inbuffer.c, mapq.c, shortread.c, stage3hr.c, substring.c: Removed unnecessary includes of stage1hr.h, needed previously to obtain MAX_READLENGTH * Makefile.dna.am: Providing MAX_READLENGTH to gsnap. Provided files for bam_fasta. * Makefile.gsnaptoo.am, README, config.site, configure.ac, dibase.c, gsnap.c, inbuffer.c, mapq.c, reads_store.c, samprint.c, shortread.c, stage1hr.c, stage1hr.h, stage3hr.c, substring.c: Changed MAX_QUERYLENGTH to MAX_READLENGTH and allowing value to be defined as an argument to configure * samprint.c, shortread.c, shortread.h: Printing chopped primers in SAM output * stage3hr.c: Moved code for resolving inside ambiguous splices to separate procedures. Allowing mate of a GMAP alignment to resolve its inside ambiguous splice. * dynprog.c, dynprog.h, gmap.c, splicetrie.c, splicetrie.h, stage1hr.c, stage3.c, stage3.h: Limiting region of known splice extension for GMAP alignments in GSNAP involving paired-end reads. Region now cannot extend past mate. 2011-05-16 twu * stage3hr.c: Allowing overlapping of paired-end reads when resolving ambiguous splices on insides * dynprog.c, dynprog.h, gmap.c, stage1hr.c, stage3.c, stage3.h: Counting ambiguous end matches in stage 3 alignment * substring.c: Hid debugging statement * gsnap.c: Using user-provided dir for tally IIT when available * substring.c, substring.h: Implemented a multiclean procedure using a tally IIT file * gsnap.c, stage1hr.c, stage3hr.c, stage3hr.h: Implemented a multiclean procedure using a tally IIT file 2011-05-15 twu * stage3hr.c: Not using hitpair type in making comparisons across multiple alignments. Using subsumption instead of overlap in Stage3pair_remove_duplicates. * stage3hr.c: Changed removal of Stage3pair_T duplicates within overlapping clusters from an O(n^2) algorithm to an O(n) algorithm 2011-05-13 twu * stage1hr.c: Added debugging statement * stage3hr.c: Assigning plusp for translocations based on overall genomestart and genomeend. Setting substring_low and substring_high for translocations to be the part that is concordant. * samprint.c: Fixed bug in printing of translocations * gsnap.c: Added options --query-unk-mismatch and --genome-unk-mismatch, and made both default false, meaning that query N and genome N no longer count as mismatches * genome_hr.c, genome_hr.h: Added options --query-unk-mismatch and --genome-unk-mismatch, and made both default false, meaning that query N and genome N no longer count as mismatches 2011-05-12 twu * samprint.c, stage3hr.c, stage3hr.h: Handling case where clipping of overlap removes entire alignment * pair.c: Fixed bug in number of dashes in GSNAP output on deletions * substring.c: Fixed GSNAP and SAM output for bisulfite alignments * stage1hr.c: Eliminating cases with bad GMAP alignments, either with non-canonical splices or with too many mismatches * stage3.c: On extend_ending5 and extend_ending3, returning dynamic programming results, even if finalscore is negative 2011-05-11 twu * snpindex.c: Checking for presence of IIT file at destination, and providing a better reminder message * snpindex.c: Added reminder message at end to install IIT file * gsnap.c: Added warnings under --use-cmet flag if cmet index files are not present * substring.c: Removed references to MAX_END_DELETIONS * stage1hr.c, substring.c: Allocating gbuffer when it exceeds the amount allocated statically * stage3hr.c, substring.c, substring.h: Added preference in removing duplicates for known splice sites over novel ones * gsnap.c: Fixed documentation for --clip-overlap flag * outbuffer.c, pair.c, pair.h, samprint.c, samprint.h, stage3hr.c, stage3hr.h, substring.c, substring.h: Performing search for correct hardclipping boundary. Computing chrpos and mate_chrpos in advance of printing SAM output. For Pair_binary_search, performing forward and backward search of middlei to avoid gaps. Fixed computation of overlap in some cases involving GMAP alignments. 2011-05-10 twu * samprint.c: Made logic of print_cigar follow that of print_md_string * outbuffer.c, samprint.c, shortread.c, stage3hr.c: Fixes made to MD string with hard clipping of overlaps * pair.c: Fixed infinite loops in binary search procedures 2011-05-09 twu * resulthr.c: Removed unused variable * pair.c, pair.h, samprint.c: Performing hard clipping by computing a subsequence on pairarray * stage3hr.c: Allowing for NULL arguments in Stage3end_substring_low and Stage3end_chrnum, now possible in samprint.c procedures * stage1hr.c: Rewrote calculation for genomicseg * stage3hr.c: Fixed calculation of insert length involving GMAP alignment * samprint.c: Fixed printing of SAM chromosomal pos * pair.c: Fixed printing of SAM chromosomal pos * pair.c, pair.h, samprint.c: Further implementation of hard clipping for overlapping paired-end reads 2011-05-07 twu * pair.c: Fixed bug caused by wrong order of parameters * gsnap.c, outbuffer.c, outbuffer.h, pair.c, pair.h, samprint.c, samprint.h, stage3.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Added code for hardclipping overlaps between paired ends. Improved computation of insert lengths involving GMAP alignments. Increased default shortsplicedist to 200000. * gmap.c: Changed default shortsplicedist to 200000 * get-genome.c: Added -E option for printing exons for gene maps * genome.c: Made changes to perror statements 2011-05-06 twu * samprint.c: Made changes to MD string to handle hard clipping 2011-05-05 twu * stage1hr.c: Reduced genomicseg for GMAP from pairmax + shortsplicedist to just pairmax * dynprog.c: Added a new debugging category for known splicing at ends * outbuffer.c, samprint.c, samprint.h, stage3hr.c, stage3hr.h: Computing cigar strings to allow for hard clipping * pair.c, pair.h, stage3.c: Fixed SAM flags when printing GMAP alignment in GSNAP * bam_tally.c: Made bam_tally work on entire genome * README, chrom.c, chrom.h, fa_coords.pl.in, gmap_build.pl.in, gmap_process.pl.in, gmap_setup.pl.in, gmapindex.c: Made changes for fa_coords to sort chromosomes in .coords file, for gmap_process to provide universal coordinate information to gmapindex, and for gmapindex to sort based on this order. Ignoring leading "chr" in sorting chromosomes. 2011-05-04 twu * chrom.c: Ignoring leading "chr" in chromosome name for sorting purposes 2011-05-03 twu * stage1hr.c: Fixed bug in calling Substring_chrhigh 2011-05-02 twu * gsnap.c, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Storing both chroffset and chrhigh in Stage3end_T and Substring_T objects. Checking chromosomal boundaries when performing GMAP algorithm in GSNAP. 2011-05-01 twu * gmap_build.pl.in: Added Id property * gmap_build.pl.in: Added a -w flag for sleeping between steps 2011-04-27 twu * splicetrie.c: Removed unused variables * goby.c, gsnap.c, outbuffer.c, pair.c, pair.h, resulthr.c, resulthr.h, samprint.c, samprint.h, stage1hr.c, stage1hr.h, stage3.c, stage3.h, stage3hr.c, stage3hr.h: Changes in handling of translocations: (1) Created new "_transloc" output files. (2) Removing XT flag from SAM output. (3) Enforcing reported translocations to be unique. (4) Creating a new category for translocations in pair_up procedure. * gmap.c: Fixed bug in calling Genome_blocks on a user-provided segment * diag.c: Added debugging information about minactive and maxactive at ends of query 2011-04-26 twu * stage2.c: Not checking for pct_coverage or ncovered when querylength < 150 * tally_expr.c: Removed dependence on pre-computed total in tally IIT file * README: Showing examples from both hg18 and hg19 in retrieving known splicesite tracks from UCSC * gsnap.c, stage1hr.c, stage1hr.h: Removed min_localsplicing_end_matches parameter. For short overlaps, now checking only that endlength >= support. * pair.c: Not printing first read or second read bit in GMAP samse output 2011-04-25 twu * shortread.c: Fixed bug in printing queryseq in SAM output when hardclipping is present * samprint.c: Formatting changes * pair.c: Removed warning message when splicesite not found in GMAP * gsnap.c: Changed documentation for -N 2011-04-22 twu * parserange.c: Added warning message if divstring not found in IIT file * get-genome.c, iit_get.c: Removed extra linefeed introduced in old IIT versions * stage1hr.c: Added check for NULL pairarray 2011-04-21 twu * Makefile.dna.am, dynprog.c, dynprog.h, gmap.c, indexdb_hr.c, sequence.c, stage3.c: Made changes so PMAP would compile * Makefile.dna.am, dynprog.c, dynprog.h, genome.c, genome.h, gmap.c, goby.c, goby.h, gregion.c, gregion.h, gsnap.c, iit-read.c, maxent.c, maxent_hr.c, outbuffer.c, pair.c, pair.h, pairdef.h, resulthr.c, samprint.c, samprint.h, sequence.c, sequence.h, shortread.c, shortread.h, splicetrie.c, splicetrie.h, src, stage1.c, stage1.h, stage1hr.c, stage1hr.h, stage3.c, stage3.h, stage3hr.c, stage3hr.h, substring.c, substring.h, translation.c, translation.h, trunk, util: Merged revisions 38122 to 38539 from branch 2011-04-14-halfmapping-gmap 2011-04-15 twu * bam_tally.c: Changed colon to tab when printing chromosomal coordinates * genome_hr.c, gsnap.c, src, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, trunk, util: Merged revisions 37902 to 38171 from branches/2011-04-10-end-indels 2011-04-14 twu * bam_tally.c: Fixed bug in iterating through list in position_printable_p * bam_tally.c: Added -n and -X flags to control depth and variant strands required. Added -B flag to control block format output. * bam_tally.c: Changed -A flag into separate -C and -Q flags to print details about cycles and quality scores * stage3hr.c: Allowing optimal_score procedures to consider terminal scores if all alignments are terminal * VERSION, dynprog.c, dynprog.h, gmap.c, intron.c, intron.h, maxent.c, maxent.h, src, stage3.c, stage3.h, trunk, util: Merged 38078:38120 from branch 2011-04-13-gmap-knownsplicing 2011-04-13 twu * snpindex.c: Added variables for bigendian machines 2011-04-10 twu * stage1hr.c: Using function Genome_fill_buffer_blocks for debugging * config.site.rescomp.prd: Revised version number * genome.c, genome.h: Added function Genome_fill_buffer_blocks * substring.c: Made fixes to printing of SNPs in GSNAP output * Makefile.am, README, configure.ac, psl_introns.pl.in: Added psl_introns program. Explaining in README file about known site-level and known intron-level splicing. * gmap.c, outbuffer.c, pair.c, pair.h, stage3.c, stage3.h: Added option for -f introns output 2011-04-09 twu * gsnap.c, iit-read.c, iit-read.h, interval.c, interval.h, splicetrie.c, splicetrie.h: Added code to allow known splicing based on introns, rather than splice sites 2011-03-29 twu * bam_tally.c: Fixed bug in checking too early for chrpos_high > alloc_high * VERSION: Updated version number * cmetindex.c: Made program work on bigendian machines * snpindex.c: Made program work on bigendian machines 2011-03-28 twu * stage3hr.c, stage3hr.h, substring.c, substring.h: Moved definition of Hittype_T from substring.h to stage3hr.h * VERSION, config.site.rescomp.tst, goby.c, goby.h, gsnap.c, inbuffer.c, inbuffer.h, outbuffer.c, samprint.c, samprint.h, src, stage3hr.c, substring.c, trunk, util: Merged changes 36746 through 37246 from branch 2011-03-17-goby-paired-end 2011-03-27 twu * resulthr.c: Fixed bug in assignment of translocationp for single-end reads 2011-03-26 twu * gmap.c, gsnap.c: Added clarification about memory mapping in message * bamread.c: Fixed a memory leak caused by unnecessary copying of read string from BAM. 2011-03-25 twu * Makefile.dna.am, bamread.c, bamread.h, gsnap_splices.c: Added bam_splices program * bam_tally.c: Fixed bug with non-initialized count_plus or count_minus * bam_tally.c: Fixed bug in extracting genomic reference nt from Genome_T. Added option for signed counts. * Makefile.dna.am, configure.ac: Added Automake conditional to control when bam_tally can be made * bamread.c: Added compiler directives to protect code when samtools is not available * bam_tally.c: Fixed usage statement * bam_tally.c: Added --pairmax option * bam_tally.c: Fixed help message and added some printing options * bamread.c: Stopped printing of chromosomes to stdout * Makefile.dna.am: Added compiler commands for bam_tally * bam_tally.c: Added clipping at ends of requested genomic region * samread.c, samread.h: Added function Samread_print_cigar * bam_tally.c: Implementation of working version * bam_tally.c: Implementation of overall alloc and block structure * bam_tally.c, bamread.c, bamread.h: Implemented memory freeing procedures 2011-03-24 twu * bam_tally.c: Initial import into SVN 2011-03-19 twu * gsnap.c: Rearranged some lines * gmap.c: Added --quality-protocol flag and 'j' flag to set to quality print shift * gmap.c, outbuffer.c, outbuffer.h: Added --quiet-if-excessive option to GMAP * gsnap.c, outbuffer.c: Adding globals for invert_first_p and invert_second_p to stage3hr.c * stage1hr.c, stage3hr.c, stage3hr.h: Determining effective_chrnum, genomicstart, and genomicend for splice translocations based on inner substrings. No longer generating copies for each substring when chrnum == 0. 2011-03-18 twu * outbuffer.c: Changed a 0 to a false * README: Added explanation of dbsnp_iit program and output reporting for translocations * Makefile.am, configure.ac, dbsnp_iit.pl.in: Added dbsnp_iit program * stage3.h: Fixed declaration * resulthr.c: Put debugging statements into debug macro * outbuffer.c, pair.c, pair.h, resulthr.c, resulthr.h, samprint.c, samprint.h, stage3.c, stage3hr.c, stage3hr.h: Removed separate fp_transloc file. Adding (transloc) string to GSNAP output, and XT flag to SAM output for translocation results. * substring.c: Added error message for endtype_string * outbuffer.c, resulthr.c, resulthr.h, samprint.c, stage3hr.c: Removed SINGLEEND_TRANSLOCATION and PAIREDEND_TRANSLOCATION types 2011-03-11 twu * README: Added more information about the --gunzip option, about the command-line usage for paired-end reads, and about extended FASTA inputs. * README: Added information about -s flag for psl_splicesites * VERSION: Changed version number * snpindex.c: Added option to limit number of warning messages * snpindex.c: Fixed warning messages that previously reported the wrong SNPs and coordinates that were problematic 2011-03-10 twu * gsnap.c, mem.c, outbuffer.c, shortread.c: Enabled LEAKCHECK in GSNAP to check for memory leaks * gmap_build.pl.in: Fixed bug in creating .maps subdirectory 2011-03-09 twu * VERSION: Updated version * README: Added information about latest syntax for running snpindex * stage1hr.c, stage1hr.h: Passing new parameter nsplicepartners_skip * stage3hr.c, stage3hr.h: Eliminating splice translocations if a non-translocation exists * outbuffer.c, outbuffer.h, resulthr.c, resulthr.h, samprint.c, samprint.h: Providing a translocation result type and printing split output to a new file * indexdbdef.h: Removing unused macro definition * gsnap.c, splicetrie.c, splicetrie.h: Providing a minimum intron length in building the splicetrie * snpindex.c: Providing user options to specify sourcedir and destdir * cmetindex.c: Fixed amount of space allocated for filename 2011-03-06 twu * gmap.c, gsnap.c: Changed warning message about memory mapping * stage1hr.c: Removed a conversion for bigendian machines in Batch_init_simple. * spanningelt.c: Added a necessary conversion for bigendian machines * indexdb.c, indexdb_hr.c: Making FILEIO access to positions look the same as MMAPPED access for bigendian machines * bigendian.c, littleendian.c: Using unsigned char instead of char 2011-03-04 twu * inbuffer.c: Initializing value of pc_linefeeds_p * gmap.c, gsnap.c: Changed advice message about -B 3 and -B 4 * iit_store.c: Using 2^32-1 as a constant instead of 2^32 * stage1hr.c: Added additional places where Bigendian_convert_uint should be applied * bigendian.c: Removed monitoring message 2011-03-03 twu * stage3hr.c: Sorting paired-end reads by insert length * gsnap.c: Removed --dibase flag from --help output * inbuffer.c, shortread.c, shortread.h: Added field for pc_linefeeds_p. Changed variable name from pc_line_feeds_p. * gsnap.c, inbuffer.c, inbuffer.h, shortread.c, shortread.h: Added option to strip PC line feeds from input * sequence.c: Enabled GMAP to read FASTQ files 2011-03-02 twu * gsnap_fasta.c: Made the default behavior to print all sequences * pair.c: Fixed problem with double tabs in SAM output. Now printing NM tag in SAM output. * config.site.rescomp.prd, config.site.rescomp.tst: Changed version number * VERSION: Changed version number * sam_merge.pl.in: Printing nomapping lines from original GSNAP output * Makefile.am, configure.ac, sam_restore.pl.in: Added program sam_restore * spliceturn.c: Added option to print splices, rather than splicesites * samread.c, samread.h: Added functions to print modified SAM reads * gsnap_splices.c: Trusting SAM splice directions by default. Added an explicit variable to indicate if the splice is canonical. * gsnap_multiclean.c: Added a flag -C to pick either concordant or non-concordant behavior. Allowing nonmapped queries to be printed, if no other alignment is available. * gsnap_filter.c: Modified to print nonmapped SAM entries. Removed inconsistencies in printing some lines to fp_one and some to fp_many. * gsnap_fasta.c: Prints the query from the SAM line with the most matches (i.e., not hardclipped). Added an option --oneway to print both ends of a paired-end read in the same direction. * gsnap_concordant.c: Modified to print nonmapped SAM entries, and to add mate information for concordant pairs. Code follows that in gsnap_multiclean.c * splicetrie.c: Increased value of MAX_DUPLICATES from 100 to 1000 * gsnap.c: Checking for case where splicesites_iit has no sites corresponding to given genome * pair.c: Fixed MD string to print genomic nt, rather than query nt 2011-03-01 twu * pair.c: Implemented MD string in SAM output for GMAP 2011-02-27 twu * spliceturn.c: Added --new flag to print only new splices 2011-02-26 twu * spliceclean.c: Added break after case 0 in getopt * substring.c, substring.h: Fixed insert length calculation to be based on genomicstart and genomicend. Removed querylength_adj field. * stage3hr.c: Preventing terminal alignments from setting minscore in Stage3_optimal_score and Stage3pair_optimal_score * stage1hr.c: Fixed and simplified calculation of floor_left and floor_right for diagonals * Makefile.am, configure.ac, psl_splices.pl.in: Added psl_splices program * sam_merge.pl.in: Including inserted query segment in computing number of matches. * spliceturn.c: Eliminating only new splices (numeric labels). Searching for nearest surrounding known splices. * spliceclean.c: Printing original label for each splice * gsnap_splices.c: Added flag to require canonical splices. Checking for canonical dinucleotides regardless of sam XS string. * samprint.c: Fixed bug in MD string for shortexon. Added debugging statements. * stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Added querylength_adj to compensate for indels when computing insert length * pair.c: Fixed bug in tokens where Ilength was being printed instead of Dlength 2011-02-25 twu * spliceturn.c: Printing intron lengths. Added labels to output when splices are turned. * shortread.c: Requiring first file to have "/1" and second file to have "/2" if slashes are present * samread.c: Allowing for XS:A:? to indicate unknown splice direction * pair.c: Changed minimum intron length for non-concordant splice in cigar string from 100 to 20 * gsnap_tally.c: Changed default handling of quality scores to be Sanger protocol * gsnap_splices.c: Using available XS flag in SAM output. Printing non-directional splices as both forward and reverse. Printing non-canonical dinucleotide pairs. * gsnap_multiclean.c: Skipping, rather than aborting on, concordant pairs with different numbers of hits, due to translocations * gmap.c: Changed flag for printing noncanonical splices in cigar string * samprint.c, stage3hr.c, substring.c, substring.h: Fixed MD string to exclude part that is soft-clipped * spliceclean.c, tally.c, tally.h: Added default-count option. Fixed bug where splice occurred beyond extents. Fixed some memory leaks. 2011-02-24 twu * psl_splicesites.pl.in: Added missing parentheses * Makefile.am, configure.ac, sam_merge.pl.in: Added sam_merge program * README: Added description of gmap_build * gsnap.c, mapq.c: Made sanger the default for quality protocol * shortread.c: Fixed bug in chopping paired-end reads of different lengths 2011-02-23 twu * sequence.c: Fixed bug in skipping initial '<', '>', or '+' in quality string * gsnap_concordant.c: Requiring chr strings in the two ends to be equal * pair.c: Printing XS:A:? when splice direction is not known, because it is non-canonical * sequence.c, sequence.h: Added compiler directives to hide quality string from PMAP * gsnap_fasta.c: Printing extended FASTA with quality strings for GMAP output * gmap.c, outbuffer.c, outbuffer.h, pair.c, pair.h, sequence.c, sequence.h, stage3.c, stage3.h: Implemented ability to read extended FASTA with quality strings and print them in SAM format * mapq.c: Added recommendation to use --quality-protocol=sanger * gsnap_concordant.c, samread.c, samread.h: Printing altered mapq scores * gmap.c, outbuffer.c, outbuffer.h, pair.c, pair.h, stage3.c, stage3.h: Added flag to print non-concordant splices as N in SAM cigar string, rather than as D * gsnap_concordant.c, samread.c, samread.h: Added calculation and printing of insert length * gsnap.c: Added information about quality protocols to --help output 2011-02-22 twu * shortread.c: Fixed bugs in handling gzipped paired-end files * exonscan.c, extents_genebounds.c, gdiag.c, geneadjust.c, get-genome.c, gsnap_extents.c, gsnap_splices.c, gsnap_tally.c, gsnap_terms.c, iit_plot.c, pairinggene.c, segue.c, snpindex.c, splicefill.c, splicegene.c, splicegraph.c, splicescan.c, spliceturn.c, splicing-scan.c, splicing-score.c, tally_expr.c, tallygene.c: Changed parameter for Genome_new from batchp to access mode * psl_splicesites.pl.in: Added -R flag to report non-canonical splice sites * gmap_build.pl.in: Fixed name of maps subdirectory * sequence.c, shortread.c: Fixed bugs further in closing NULL file pointer 2011-02-21 twu * psl_splicesites.pl.in: Fixed bugs in syntax. Added -s flag to specify start column. * fa_coords.pl.in, gmap_build.pl.in, gmap_process.pl.in, util: Merged -r 35283:35500 from branches/gmapindex-multifile/util * Makefile.am: Added psl_splicesites to the list of files to be cleaned * Makefile.am, README, configure.ac, psl_splicesites.pl.in: Added psl_splicesites program to process UCSC alignment tracks into a splicesite file. * sequence.c, shortread.c: Fixed bug from trying to close a NULL file pointer * README, VERSION, config.site.rescomp.tst, gsnap.c, interval.c, maint, mapq.c, mapq.h, memory-check.pl, samprint.c, splicetrie.c, splicetrie.h, src, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, substring.c, substring.h, trunk: Merged revisions 35346:35468 from branches/tentative-splices to store and resolve ambiguous splice ends * outbuffer.c: Added warning messages when an output file cannot be written 2011-02-17 twu * mapq.c: Changed allowable range of quality scores to go from 0 to 96 * gsnap.c: Changed default min_shortend from 1 to 2 * stage1hr.c: Removed unused code for old maxent procedures * splicetrie.c, splicetrie.h, stage1hr.c: Providing splicesites to Splicetrie_find_short procedures, useful for debugging 2011-02-16 twu * stage3hr.c: Removed debugging statement * stage1hr.c: Restored ability to find short-overlap splicing in 1-2 bp at ends of read * stage3hr.c: For insert length of 0, setting absdifflength to be infinite * sequence.c, shortread.c: Closing files when multiple ones are provided on the command line * pair.c: Implemented printing of intron distances in splice sites (-f 6) output * gsnap.c, interval.c, interval.h, splicetrie.c, splicetrie.h, stage1hr.c, stage1hr.h: Implemented usage of known splice distances for single splices * get-genome.c: Printing output correctly for version 5 IIT files with information in rest of header * stage1hr.c: Removed unnecessary checks for nsplicesites > 0 * stage1hr.c: Computing and storing known splicesites_i for each segment once 2011-02-15 twu * shortread.c: Removed abort left in for debugging * shortread.c: Fixed bug in selecting region of short read to look for adapter stripping * stage3hr.c: Fixed indentation * gsnap_concordant.c: Fixed procedure to report all concordant pairs with correct distance and orientation * gsnap.c, inbuffer.c, shortread.c, shortread.h: Simplified procedure for adapter stripping using a linear algorithm, instead of dynamic programming. * Makefile.dna.am, Makefile.gsnaptoo.am: Revised instructions for cmetindex * cmetindex.c: Enabled -F and -D flags for specify source and destination directories. Added --version and --help flags. * gmap_build.pl.in: Added -B flag to optionally specify bindir * gmap_setup.pl.in: Modified usage statement to include GSNAP * Makefile.am, configure.ac, gmap_build.pl.in: Added gmap_build program * VERSION: Updated version * README: Added statement about usage of -m flag * gsnap_concordant.c: Fixed typo leading to wrong output file * outbuffer.c: Fixed typo * stage3.c, stage3.h: Allowing flags for GMAP to indicate SAM output is paired-end * shortread.c: Allowing extended FASTA format to include a quality string * sequence.c: Removed debugging statement * samflags.h: Clarified comment * pair.c, pair.h: Allowing flags for GMAP to indicate SAM output is paired-end. Printing XS flag for strand direction. * outbuffer.c, outbuffer.h: Added variables for indicating SAM output is paired-end * gsnap_terms.c: Using procedure in samread.c for computing chrpos_high. * gsnap_multiclean.c, samread.c, samread.h: Added file variable for printing altered flags. Added procedure for computing chrpos_high. * gsnap_filter.c: Added program for sam_filter * gsnap_fasta.c: Handling GMAP and GSNAP output correctly in a single procedure * gsnap_extents.c: Enabling GMAP indexdb for sam_extents * gsnap_concordant.c: Recomputing all SAM flags * gmap.c: Changed format names to samse and sampe * Makefile.gsnaptoo.am: Include maxent_hr.c and .h for GMAP. Removed maxent.c and .h from GSNAP. * Makefile.dna.am: Include maxent_hr.c and .h for PMAP. Included programs sam_fasta and sam_concordant. 2011-02-14 twu * gsnap_concordant.c: Added file for concordant_mult. Printing concordant results in adjacent pairs of SAM lines. 2011-02-13 twu * gsnap_concordant.c: Initial import into SVN * gsnap_fasta.c: Printing extended FASTA output for GMAP, using '>' and '<' * gsnap_fasta.c: Provided separate output types for GMAP and for GSNAP * pair.c, sequence.c, sequence.h: Enabled reading of extended FASTA using '>' and '<' to indicate first and second reads, and putting information in flag of SAM output. 2011-02-12 twu * stage3hr.c: Implemented a different method for using bingo pairlengths, by calculating a minscore for those pairlengths with the bingo characteristic * stage3hr.c: Using pairlength_deviation to eliminate pairs, even if non-overlapping 2011-02-11 twu * gsnap_extents.c, gsnap_iit.c, gsnap_splices.c, gsnap_tally.c, gsnap_terms.c: Changed defaults of concordant and unique to be false in all programs * gsnap_fasta.c: Added printing of quality strings. Implemented -A flag to print all sequences. * stage1hr.c: Rearranged order of singlesplice_minus procedure * gsnap_terms.c: Fixed check of concordance and uniqueness for last sequence * shortread.c: Moved return statement to correct place * gmap.c, outbuffer.c: Added compiler directives for case when pthreads not available * datadir.c: Changed warning message about needing to recompile GMAP package * outbuffer.c, samprint.c, samprint.h, stage3hr.c, stage3hr.h: Split fp_paired_uniq into separate files for inversions, scrambles, and long inserts * gsnap.c, substring.c, substring.h: Removed notion of termdonor and termacceptor typeints 2011-02-10 twu * samprint.c: Printing insert length for paired alignments. Changed method for determining sign. * substring.c, substring.h: Added functions for finding overlaps and insert lengths between two substrings * stage3hr.c: Changed criterion for scramble to be the absence of any overlap in the wrong relative positions. Revamped computation of insert length to look for overlapping substrings. * inbuffer.c: Removed second check of nleft == 0 when initially it is not * substring.c: Added other fields in Substring_T that were not being copied. Removed splicesites_offset from Substring_T object. * gsnap.c, outbuffer.c, outbuffer.h, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Added compiler directives for using new maxent_hr procedures. Fixed problem in substring.c where chimera_knownp_2 was not being copied. * maxent_hr.c: Using jump tables based on shift * maxent_hr.c: Removed duplicate calls in reading genome_blocks * stage3hr.h: Fixed definition of sense consistency for inversion pairs 2011-02-09 twu * stage3hr.c, stage3hr.h: Changed splicing sense test to work for inversion pairs * stage1hr.c: Distinguished a binary_search procedure to be used for bigendian computers in processing positions from the indexdb file. * stage1hr.c: Added missing code for computing nmismatches for one type of splice end * Makefile.dna.am, maxent_hr.c, maxent_hr.h, stage1hr.c: Implemented fast calculation of maxent splice site probabilities * stage1hr.c: Removed trimpos calculation from find_spliceends. Not useful when we can compute short-overlaps. * Makefile.dna.am, gsnap_best.c, gsnap_fasta.c: Added programs for extracting alignment with best MAPQ score and converting alignment output to FASTA. * stage1hr.c: Using genome-based splice site detection for splice ends * gsnap.c: Fixed name of flag suboptimal-levels in help statement * shortread.c: Fixed bug in not allocating space for final '\0' to contents. Commented out check for PC line feeds. * genome_hr.c: Fixed excessive shift in calculating high_halfbit 2011-02-08 twu * stage1hr.c: Put back checks for zero nsegments * outbuffer.c: Some output seems to be missed on occasion. Rewrote to use ndone and noutput. * stage1hr.c: Making all loops on segments go to segments[nsegments] instead of nsegments-1 * stage1hr.c: Implemented novel double splice detection using new genome-based splice site detection. Removed leftspan/rightspan test and replaced with counting mismatches. * outbuffer.c: Fixed outbuffer to check for donep flag, and for inbuffer to signal when donep is set 2011-02-07 twu * genome_hr.c: Fixed bug in dealing with high halfbit * stage1hr.c: Fixed memory leak caused by computing floors twice * stage1hr.c: Raised minimum splice prob support to 0.80. Extending range for single splicing to 2 nt from each end. Implemented double splice detection involving known splice sites. * stage3hr.c: Eliminating identical Stage3_T pairs properly * outbuffer.c: Fixed bug that caused GMAP to handle maxpaths parameter incorrectly 2011-02-06 twu * genome_hr.c, genome_hr.h, stage1hr.c, substring.c: Implemented working procedure for finding splice sites from compressed genome, and merging with known sites. Using this procedure to find single splices. Merged single-splice procedures for plus and minus strand, and moved handling of plus and minus strands inside of Substring_T procedures. 2011-02-05 twu * genome_hr.c, genome_hr.h: Implemented fast determination of splice site locations * stage1hr.c: Removed unused variables * genome_hr.c: Added tables for splice site positions * dev: New directory for developer work * stage1hr.c: Integrated multiple procedures for merging heaps to find segments into a single procedure (plus a specialized one for terminals only). Removed separate Splicesegment_T object and using a general Segment_T object. * stage1hr.c: Divided single splicing, known double splicing, and novel double splicing into separate procedures. 2011-02-04 twu * gsnap.c, stage1hr.c, stage1hr.h: Provided flag for detecting novel double splices, and turned the feature off by default. * stage1hr.c: Implemented faster method for finding double splices. Commented out code no longer valid for setting splice_pos_start and splice_pos_end in finding single splices. * stage1hr.c: Increased speed of finding local splices by storing leftmost and rightmost querypos. Hiding double-splicing for now. 2011-02-03 twu * stage1hr.c, substring.c, substring.h: Handling splicesites_offset in donor, acceptor, and shortexon Substring_T types. Handling two values of splicesites_i in shortexon. * stage1hr.c: Implemented detection of double-splicing at novel splice sites. Integrated detection of single-splicing and double-splicing. Removed some unused code based on USE_CHARS rather than nucleotides. * stage3hr.h: Added missing declaration of function * outbuffer.c: Finishing up printing of remaining output * stage1hr.c: Offset knowni arrays by +1, so we can clear by setting to 0, rather than by setting to -1. 2011-02-02 twu * outbuffer.c, pair.c, pair.h: Now GMAP prints nomapping results in SAM format * pair.c: Fixed printing of splice site scores for antisense cDNAs * stage1hr.c: Removed restriction on finding terminals only when nconcordant was 0. * gsnap.c, src, stage1hr.c, stage1hr.h, trunk: Merged r33262:34617 from branch suboptimal-alignments, adding parameter for terminal length, and not using 10*maxpaths for computation * config.site.rescomp.tst: Updated version number * VERSION: Updated version number * README: Updated description to include information about paired alignments and the advantages of known splice sites * stage1hr.c: Added better debugging statements. Renamed "shortend" procedures to "short-overlap". * splicetrie.c: Requiring that 3 * nmismatches < nmatches to report a true search result * gsnap.c, outbuffer.c, resulthr.c, resulthr.h, samprint.c, samprint.h, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h: Implemented three types of alignment: concordant, paired, and unpaired, with three subtypes of paired: inversion, toolong, and scramble. Detecting paired alignments in Stage3_pair_up_concordant. Converting unpaired uniq to paired uniq when appropriate. * stage3hr.c: Adding information about unpaired type (interchrom, toolong, scramble, inversion) for unpaired_uniq results * outbuffer.c: Changed type for nread and ncomputed fields from bool to int * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h: Added parameter for pairlength_deviation * outbuffer.c: Protecting print loops with surrounding lock and unlock instructions. Removed debugging flag. * Makefile.dna.am, Makefile.gsnaptoo.am, Makefile.three.am, gmap.c, gsnap.c, inbuffer.c, inbuffer.h, ioboard.c, ioboard.h, outbuffer.c, outbuffer.h: Fixed bug where multithreading was hanging. Moved IOBoard_T information to Outbuffer_T. 2011-02-01 twu * stage3hr.c: Rewrite of Stage3_pair_up_concordant to get all concordant pairs * gmap.c, gsnap.c: Not printing program name as an arg * gmap.c, gsnap.c: Printing version and calling arguments to stderr * stage3hr.c: Using a pointer instead of a count to mark paired_seenp * outbuffer.c: Using RRlist_T to represent queue for ordered output * outbuffer.c: Replaced doubly linked list with singly linked list for queue * stage3hr.c: Added additional check to prevent negative insert lengths 2011-01-31 twu * outbuffer.c: Storing results in a queue, instead of a list * Makefile.dna.am: Removed reads_store and reads_dump * stage3hr.c: Removed keyword "quality:" from output * shortread.c: Fixed bug that removed all quality strings * stage3hr.c: Fixed bug in finding concordance between overlapping ends of read * indexdb.c: Fixed bug in compiler directive for MMAP 2011-01-29 twu * goby.c, goby.h, gsnap.c, inbuffer.c, inbuffer.h, samprint.c, shortread.c, shortread.h, stage3hr.c: Simplified procedures in shortread.c. Implemented parsing of barcodes. * mapq.c, mapq.h, substring.c: Fixed calculation of MAPQ with separate coordinates for checking genomic string and quality string 2011-01-28 twu * shortread.c, shortread.h: Initial import into SVN. Contains Sequence_T functions specific to GSNAP. * Makefile.dna.am, Makefile.gsnaptoo.am, Makefile.three.am, chop_primers.c, genome.c, goby.c, goby.h, gsnap.c, inbuffer.c, outbuffer.c, reads_store.c, request.c, request.h, samprint.c, samprint.h, sequence.c, sequence.h, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, substring.c, substring.h: Separated Sequence_T functions into Sequence_T and Shortread_T * gmap.c, outbuffer.c, outbuffer.h: Made outbuffer work for PMAP by removing references to sam_header_p and related variables * gsnap.c: Removed old sam.h include * substring.c: Turned off debugging * spliceclean.c: Version 34373 was an accidental reversion. Going back to version 34369, where we are adding use of genebounds_iit and adding functionality for resolving splice directions * spliceturn.c: Version 34374 was an accidental reversion. Going back to version 34369, where information goes to stderr. * splicegene.c: Version 34375 was an accidental reversion. Going back to version 34369, which actually does stop fixing of terminalp in acceptors where next donor is terminal. * splicefill.c: Version 34377 was an accidental reversion. Going back to version 34369, which uses tally, adds smoothing, does not use slopes to find edges, and does not check for edgedistance. * pair.c: Using new samflags.h * Makefile.dna.am, Makefile.gsnaptoo.am, Makefile.three.am, gsnap_extents.c, gsnap_multiclean.c, gsnap_splices.c, gsnap_tally.c, gsnap_terms.c, sam.c, sam.h, samflags.h, samprint.c, samprint.h: Change file name from sam.c to samprint.c. Moved definitions of SAM flags to samflags.h. * splicefill.c: Removed smoothing. Using slopes to find edges. Checking for edgedistance. * splicegene.c: Stopped fixing of terminalp in acceptors cases where next donor was terminal * spliceturn.c: Providing information to stdout about splices that are turned * spliceclean.c: Removed use of genebounds_iit and functionality for resolving splice directions * changepoint.c: Changed function for both ends, but not used anyway * Makefile.dna.am, Makefile.gsnaptoo.am, Makefile.three.am, blackboard.c, blackboard.h, changepoint.c, chop_primers.c, gmap.c, gsnap.c, iit_pileup.c, inbuffer.c, inbuffer.h, ioboard.c, ioboard.h, outbuffer.c, outbuffer.h, reads_get.c, reqpost.c, reqpost.h, request.c, request.h, result.c, result.h, resulthr.c, resulthr.h, sequence.c, sequence.h, spliceclean.c, splicefill.c, splicegene.c, spliceturn.c, src, stage3.c, stage3.h, tableuint.c, tableuint.h, tally_exclude.c: Merging changes to threads system from new-threads branch * indexdb.c: Removed extraneous allocation of memory for offsets * pair.c, pair.h, stage3.c, stage3.h: Using a single parameter for sourcename for GFF3 output * substring.c: Fixed calculation of region to check for MAPQ scoring * mapq.c: Added check for wrong segment to check in computing MAPQ 2011-01-24 twu * result.c: Altered debugging statements * gmap.c: Fixed memory leak in chimera detection 2011-01-21 twu * gmap.c: Fixed case where best0 or best1 was duplicated in rest of stage3list * result.c: Added debugging statements * gmap.c: Removed debugging comment * stage3.c, stage3.h: Added function Stage3_identity_cmp to help with chimera detection * gmap.c: Removed check for chimeras based on alignment break. Handling cases where the same stage3 object is in both lists. * chimera.c, pair.c, pair.h: Simplified Pair_matchscores and computing over querylength. In Chimera_bestpair, check for cases where the same stage3 object is in both lists. 2011-01-20 twu * Makefile.gsnaptoo.am: Added chimera.c to build of gmap * VERSION: Updated version to 2011-01-21 * gsnap.c: Always creating a .nomapping file with --split-output option * stage1hr.c: Changed debugging statements for shortexon * splicetrie.c: Changed debugging statements * sequence.c: Not printing space at end of accession * gsnap.c: Turning on splicetrie precomputation by default * gmap.c: Fixed bug in separating chimeric paths * gmap.c: Not sorting first part of stage3list when chimera is present * Makefile.dna.am: Added uintlist.c to gsnap_iit * chimera.c: Made detection of alignment break work again * splicetrie.c: Implemented handling of duplicate leaves 2011-01-19 twu * splicegene.c: Handling genebounds.iit as input * gsnap.c: Added --sam-headers-batch option * gsnap_iit.c: Changed output to look like gene map format * gsnap_extents.c: Fixed handling of non-spliced reads in sam_extents * sam.h: Added constant for clearing NOT_PRIMARY bit * sam_tally.c: Removed from CVS * gsnap_multiclean.c, samread.c, samread.h: Implemented printing of altered flag * gsnap_terms.c: Made program provide same output with SAM input. Implemented filtering for concordant pairs. Removed filtering by max_endlength. * gsnap_tally.c: Implemented filtering for concordant pairs * gsnap_splices.c: Made program provide same output with SAM input * gsnap_extents.c: Made program with SAM input 2011-01-18 twu * gsnap_multiclean.c: Turned off debugging statements * Makefile.dna.am, gsnap_multiclean.c: Implemented sam_multiclean 2011-01-16 twu * gsnap_multiclean.c, multiclean.c: Renamed file 2011-01-15 twu * gsnap_tally.c: Added check for concordantp in SAM input. Fixed bug in initializing a variable. * sequence.c: Made paired adapter detection more stringent, allowing only 1 mismatch * gsnap.c, sam.c, sequence.c, sequence.h, stage3hr.c: Fixed bugs in printing full quality string in GSNAP output * gsnap.c, sam.c, sequence.c, sequence.h, stage3hr.c: Printing full quality string (not chopped for adapter) in GSNAP output 2011-01-10 twu * stage3.c: Fixed compilation for PMAP * gmap.c: Added compiler directives to hide SAM output which is not used in PMAP * translation.c: Added compiler directives to hide functions that are not used in PMAP * oligop.c: Fixed compiler warnings about array index being char * Makefile.dna.am: Removed bam_pileup from being made * gmap.c: Added documentation for new output flags * gsnap.c: Changed output flag from -7 to --split-output * chimera.c, chimera.h, genome.c, get-genome.c, gmap.c, iit-read.c, iit-read.h, md5-compute.c, pair.c, pair.h, revcomp.c, segmentpos.c, segmentpos.h, sequence.c, sequence.h, stage1.c, stage3.c, stage3.h, subseq.c, translation.c, translation.h: Implemented split output to files * iit-read.c: Fixed bug in handling NULL IITs * gmap.c, pair.c, pair.h, sequence.c, sequence.h, stage3.c, stage3.h: Implemented printing of chimeras in SAM output * gmap.c, pair.c, pair.h, result.c, result.h, stage3.c, stage3.h, translation.c, trunk: Merged all changes from chimera branch * Makefile.pmaptoo.am: Update commands * Makefile.dna.am: Added commands for bam_pileup 2011-01-08 twu * gmap.c, stage3.h: Added new debugging point for result after all cycles. * stage3.c: Not forcing solution for dual breaks. Using separate maxiter limits. 2011-01-07 twu * stage3.c: Changed comments for fix_adjacent_indels 2011-01-06 twu * Makefile.three.am: Added files to GSNAP * pair.c: Changed debugging output for Pair_dump to show the comp * stage2.c: Added a check for all zero scores when trying to find alignment end point * stage3.c: Added a final cleaning of ends * stage3.c: Added procedure to fix adjacent indels 2011-01-05 twu * gmap.c, pair.c, pair.h, segmentpos.c, segmentpos.h, stage3.c, stage3.h: Removed references to zerobasedp * pair.c: Using last_querypos and last_genomepos explicitly instead of prev->querypos and prev->genomepos. Fixed issues with SAM output. 2011-01-04 twu * gmap.c: Added compiler directives to prevent PMAP from seeing SAM output code * backtranslation.h: Fixed typo in declaration * gsnap.c: Fixed comment * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Printing headers and read-groups in SAM output 2011-01-03 twu * MAINTAINER: Updated instructions for ChangeLog * config.guess: Update of config.guess by latest autoconf * INSTALL: Update of INSTALL message by latest autoconf * stage3hr.c: Added assertions about sign of nindels * gmap_setup.pl.in: Handling case where user gives -d argument with trailing slash * gsnap.c: Added missing break after -o flag 2010-12-23 coryba * gsnap_tally.c: changed compiler directives to get gmap build to work * sam.c: *minor change to have the MD field output a 0 after the deletion if an insertion is adjacent to a deletion **IGB can now parse gsnap's SAM output 2010-12-16 twu * gsnap.c, mapq.c, sequence.c: Added flag --quality-protocol 2010-12-13 twu * stage1hr.c: Fixed bugs in storing splicesites_i 2010-12-10 twu * pair.c: Fixed bug in dealing with EXTRAEXON_COMP * gsnap_tally.c: Added flag for minimum mapq * gsnap.c, mapq.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, substring.c: Merged r32485:32693 from branch gsnap-trim-penalty into the trunk 2010-12-09 twu * config.site.rescomp.tst: Updated to include with_samtools * bamread.c: Hid declaration of bam_init_header_hash when samtools is not enabled 2010-12-07 twu * substring.c: Implemented marking of methylation changes * stage1.c: Performing a single uniqueness step at end * stage2.c: Using global or local winner for end of stage 2 * indexdb_dibase.c: Using Access_mode_T for Indexdb_new_genome * indexdb.c: Minor fixes * gregion.c, gregion.h: Providing hooks for Gregion_filter_clean * gmap.c, gsnap.c: Using allocate as default mode if mmap not available 2010-12-06 twu * gsnap_tally.c: Returning mapping quality from SAM and BAM inputs * gmap.c: Improved default information for --batch feature in --help * get-genome.c: Fixed mapping labels from stdin * bamread.c, bamread.h, gsnap_extents.c, gsnap_splices.c, gsnap_terms.c, samread.c, samread.h: Returning mapping quality from SAM and BAM inputs * gsnap.c: Changed default memory access to be level 2 2010-12-04 twu * stage3hr.c: Disallowing concordant pairs between two terminal alignments * stage1hr.c, stage3hr.c, stage3hr.h: Placed restriction on terminal alignments to have fewer than allowed mismatches within region after trimming * stage3hr.c: Changed Stage3pair_remove_duplicates to resolve overlaps using absdifflength * gsnap.c: Changed --help output to show default batch mode of 4 * gmap.c: Providing more batch modes in GMAP * access.h, genome.c, genome.h, gsnap.c, indexdb.c, indexdb.h: Providing more batch modes in GSNAP 2010-12-03 twu * stage1hr.c: Made done_level always less than or equal to user_maxlevel 2010-12-02 twu * samread.h: Added Id tag * sam.c: Changed terminal alignments to use soft clipping, since hard clipping information appears to be removed in making BAM files. * parserange.c, parserange.h: Implemented simple parser for regions * gsnap_tally.c: Implemented limited region for indexed BAM files in bam_tally. Added -P flag for printing probabilities. * bamread.c, bamread.h: Implemented indexed BAM files * Makefile.dna.am: Added parserange.c and .h to bam_tally 2010-12-01 twu * Makefile.dna.am, bamread.c, bamread.h, gsnap_tally.c: Implemented bam_tally. Changed standard tally output back to previous format. * config.site, configure.ac: Made changes to include samtools library 2010-11-30 twu * Makefile.dna.am, Makefile.gsnaptoo.am, Makefile.three.am, blackboard.c, blackboard.h, gmap.c, gsnap.c, sequence.c, sequence.h: Implemented the ability to uncompress gzip files by GSNAP * README, config.site, configure.ac: Made changes to reflect a new zlib option 2010-11-29 twu * gsnap.c: Fixed bug in output to multiple files where GSNAP single-end nomapping goes to stdout. 2010-11-24 twu * get-genome.c: Fixed stdin input to get-genome for non-map requests 2010-11-22 twu * Makefile.dna.am, Makefile.pmaptoo.am, Makefile.three.am: Added uinttable.c and uinttable.h to pmap * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.pmaptoo.am, Makefile.three.am: Added uinttable.c and uinttable.h to gmap * stage2.c: Fixed bug in determining overall grand winner * sam.c: Moved read group field to be first * iit-read.c, iit-read.h: Implemented print_comment option * gmap.c: Providing nchrs to stage1 procedure * gregion.c, gregion.h: Implemented extentstart and extentend for comparing gregions. Added code for a Gregion cleaning step. * stage1.c, stage1.h: Added hooks for a Gregion cleaning step 2010-11-19 twu * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Implemented --print-comment for map output. Removed old code for universal coordinate IIT files. * genome.h, stage3hr.h: Formatting changes * goby.c, goby.h, gsnap.c, sequence.c, sequence.h: Changes made for new Goby code 2010-11-18 twu * substring.c: Always initializing trim_left and trim_right * pdl_smooth.c: Initial import into svn * sam.c: Made fixes in printing mate information * spliceturn.c: Initial import into svn * multiclean.c: Initial import into svn * splicing-scan.c: Combining splice and terminal splicesites * Makefile.dna.am: Removed hexamer-score.c and .h from extents_genebounds * extents_genebounds.c: Added debugging information * tally_expr.c: Using new interface to IIT_annotation. Providing option to print gc-content. * Makefile.dna.am: Removed tally_exclude from bin files * Makefile.dna.am: Removed iit_pileup from bin files * fopen.m4: Added _cv_ to all variable names * Makefile.am: Added ACLOCAL_AMFLAGS * VERSION: Updated version * bootstrap.dna, bootstrap.gmaponly, bootstrap.gsnaptoo, bootstrap.three: Using autoreconf. Added --install to some files to allow building from svn. * sam.c: For unpaired_uniq, performing sorting first and then selecting mate for each end. * sam.c: Restored null mate for unpaired_mult * sam.c: Providing mate information in unpaired_mult * iit-read.c: Printing tabs in SAM headers * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.three.am: Changes to Makefile.am files 2010-11-17 twu * gsnap.c: Added a flag for --no-sam-headers * resulthr.c, resulthr.h: Added a printing command for resulttype * sam.c: For unmapped reads, always providing a mate if available * sequence.c, sequence.h: Added ability to print GMAP alignments in SAM output format * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Added ability to print GMAP alignments in SAM output format * gsnap.c, substring.c, substring.h: Added --show-refdiff option * README: Added further information about SNP-tolerant alignment and wildcard SNPs. * README: Made changes in instructions for -V and -v flags 2010-11-16 twu * gsnap.c, iit-read.c, iit-read.h, sam.c, sam.h: Implemented SM and RG fields. * gsnap.c: Added warning about paired-end output in Goby * goby.c, goby.h: Using new interface to sequence.h * datadir.c: Minor formatting change * get-genome.c, sequence.c, sequence.h: Handling printing of wildcard SNPs * sequence.c, sequence.h: Changed name of procedure * revcomp.c: Added flag for --byline * reads_store.c: Fixed bug in freeing memory too early * gsnapread.c: Reading quality string based on presence of third tab * gsnap.c: Removed short versions of some flags * sam.c: Using nmismatches_refdiffs in NM output * stage3hr.c, stage3hr.h: Fixed trimming based on SNPs. Computing different types of nmismatches. * substring.c, substring.h: Fixed trimming based on SNPs. Computing different types of nmismatches. * add_rpk.c, exonscan.c, genecompare.c, plotgenes.c, tally.c, tallygene.c: Using new interface to IIT_annotation * genome_hr.c, snpindex.c: Enabled representation of wildcard SNPs * get-genome.c: Added -V flag to specify a directory for alternate genome information 2010-11-15 twu * substring.c, substring.h: Added computation of mapping quality * gsnap.c, mapq.c, mapq.h, sam.c, stage1hr.c, stage3hr.c, stage3hr.h: Added computation of mapping quality 2010-11-11 twu * sequence.c, sequence.h: Fixes to printing of query sequences for failed alignments * goby.c, goby.h, gsnap.c: Always shutting down Protobuf if compiled in. Calling gobyAlEntry_appendTooManyHits, even under quiet-if-excessive option. Changes to flag descriptions. * genome_hr.c, genome_hr.h, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Marking all mismatches by using query_compress, genome_blocks, and snp_blocks. 2010-11-10 twu * goby.c, goby.h, gsnap.c, sam.c, sam.h, stage3hr.c, stage3hr.h: Allowing for three paired-end orientations instead of circular option. Added --fails-as-input flag. Fixed issues with handling --failsonly option. * Makefile.gsnaptoo.am: Added blank line * Makefile.gmaponly.am: Added parserange.c and parserange.h * iit-read.c, iit-read.h: Revised IIT_annotation to handle version 5 IIT files * iit_get.c: Using new interface to IIT_annotation * genome.c, genome.h: Added procedures for returning ntcounts in a segment * gmap.c: Using long options without short options for --version and --help * pair.c: Fixed output of -f 8 format * sequence.c, sequence.h: Added procedures for printing GSNAP queries 2010-11-09 twu * goby.c, goby.h: Added functionality for Goby file formats * configure.ac: Added hooks for Goby compile-time option * config.site: Added information for Goby compile-time option * README: Added comments for FASTQ files, -z flag, and Goby functionality * Makefile.dna.am, Makefile.gsnaptoo.am, Makefile.three.am, gsnap.c, stage3hr.c, stage3hr.h: Added functionality for Goby file formats * gsnap_tally.c: Fixed problem with underflow in taking exp() of log likelihood * gsnap_tally.c: Added flag for using a constant quality score. Printing 1-p instead of p. 2010-11-08 twu * get-genome.c: Making only a single open of genome or genomealt * genome.c: Using new interface to IIT_annotation * get-genome.c: Using new interface to IIT_annotation 2010-11-04 twu * gsnap_terms.c: Added flags and parameters for mincount, min_endlength, and max_endlength. 2010-10-31 twu * reads_get.c: Made several changes in parsing * gsnap.c, sam.c, sam.h, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, substring.c, substring.h: Made SNP and splicesite parameters local to Substring procedures 2010-10-29 twu * gsnap_tally.c: Added -A flag for controlling printing of ref details. Removed unused global parameters. Fixed bug in retrieving genomic reference. 2010-10-28 twu * sam.c: Added XS flag to indicate splice direction * configure.ac: Additions needed for new libtool version * bootstrap.gsnaptoo: Running full set of autoconf programs * iit.test.in: Revised version of test * config.guess, config.sub: New version of libtool programs * config.guess, config.sub, ltmain.sh: Previous version of libtool programs * gsnap_tally.c: Added computation of genotype probabilities * indexdb_dibase.c, indexdb_dibase.h: Initial import into SVN * setup.ref3positions.ok: Initial import into SVN * gsnap_tally.c: Sorting shifts and quality scores * gsnap_tally.c: Keeping track of and reporting shifts and quality for reference matches 2010-10-27 twu * list.c: Added tentative code for dealing with NULL lists in List_to_array * chop_primers.c: Using new interface to Sequence_print_header * translation.c, translation.h: Added ability to start CDS from a given position * tally_expr.c: Added ability to show mincount * tally.c, tally.h: Added functions Tally_mean_double and Tally_quantile * seqlength.c: Using new interface to Sequence_print_digest * parserange.c: Fixed bug in returning coordstart * pair.c: Using new interface to Sequence_print_digest * md5-compute.c: Using new interface to MD5_print * iit_store.c: Storing rest of header in annotation. Using new interface to IIT_write. * iit_get.c: Changed stats to compute mean over entire width, not just non-zero positions * gsnap_iit.c: Using new interface to Gsnapread_parse_line * gsnap_tally.c: Subtracting 64 from quality scores, as standard for Illumina * gsnap_extents.c, gsnap_splices.c, gsnap_terms.c: Using new interface to Samread * gsnap_tally.c: Printing quality scores relative to highest one seen * sam.c: Changed separator for extra fields to be a tab, rather than a space. 2010-10-26 twu * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, substring.c, substring.h: Implemented trim-mismatch-score for controlling trimming * samread.c, samread.h: Implemented retrieval of quality string * gsnapread.c, gsnapread.h: Implemented retrieval of quality string * gsnap_tally.c: Printing mismatch information by position and quality * gmapindex.c: Using new interface to IIT_write * gmap.c: Protecting against calling List_to_array with an empty list * get-genome.c: Fixed bug introduced by new default snps_mode * diag.c: Protecting against call to List_to_array on an empty list * stage3hr.c, stage3hr.h: Reversing quality string in GSNAP output when necessary, and using quality shift. * gsnap.c: Fixed memory leak when npaths is zero. Reversing quality string in GSNAP output when necessary. 2010-10-25 twu * gsnap_tally.c: Changed output format to show all signed query positions * gsnap_tally.c: Changed output format to show all query positions * gsnap_tally.c: Incorporated sam_tally into this source code 2010-10-24 twu * splicetrie.h: Changed Splicetrie_dump * splicetrie.c: Changed Splicetrie_dump. Handling case where pos5 == pos3 in short-exon splicing. Added debugging statements. * stage1hr.c: Fixed a bug in handling one case of ambiguous splice ends in short-exon splicing. * splicetrie.c: Allowing only one mismatch at most for searching at ends in short-exon splicing when ends are 16 nt or shorter. * splicetrie.c: Combined Trie_new and Trie_output into a single procedure 2010-10-23 twu * splicetrie.c: Removed debugging statement * gsnap.c, splicetrie.c, splicetrie.h, stage1hr.c, stage1hr.h: Enabled computation of splice tries on the fly * gsnap.c, splicetrie.c, splicetrie.h: Divided Splicetrie_build process into two steps, with one computing nsplicepartners. * gsnap.c, splicetrie.c, splicetrie.h: Using unsigned ints rather than char * to store splicestrings and compute tries. 2010-10-22 twu * splicetrie.c: Ignoring cases where splice site has an N * stage3hr.c: Changed assertion to use effective_chrnum rather than chrnum * stage1hr.c: Using new interface to Splicetrie procedures. Revised parameters for distant splicing. * splicetrie.c, splicetrie.h: Checking short-end and short-exon splicing against extension * gsnap.c: Automatically setting pairmax if not specified for RNA-Seq 2010-10-20 twu * stage3hr.c: Changed ambiguous splice procedure to remove longer splice * stage1hr.c: Using new interfaces to Splicetrie procedures. * splicetrie.c, splicetrie.h: Fixed various bugs. Implemented separate procedures for short-ends and for longer ends (needed for short-exon alignments). 2010-10-19 twu * splicetrie.c, splicetrie.h, stage1hr.c: Checking entire subtree against splicefrags when using alternate genome and reaching a non-leaf with no string remaining. Removed unused parameters. * stage1hr.c: Using new interface to Splicetrie_dump * get-genome.c: Changed flags for using SNPs * genome.c, genome.h: Added function Genome_fill_buffer_simple_alt * splicetrie.c, splicetrie.h: Fixed use of nmismatches from splicefrags. Fixed use of alternate genome. Using 4 bytes instead of 2 bytes for reloffsets. Not using suboptimal separation. 2010-10-18 twu * stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Removed chrhigh from Substring_T and Stage3_T objects, and removed from segment objects in stage 1. * gsnap.c, splicetrie.c, splicetrie.h, stage1hr.c: Completed transition to using splicetries. Removed unnecessary variables and code. * genome_hr.c, genome_hr.h, gsnap.c, splicetrie.c, splicetrie.h, stage1hr.c, stage1hr.h: Enabling use of splicefrags with splicetrie. Enabled processing of alternate alleles. 2010-10-17 twu * Makefile.dna.am, Makefile.gsnaptoo.am, gsnap.c, splicetrie.c, splicetrie.h, stage1hr.c, stage1hr.h: Implemented tries for short-end splicing 2010-10-15 twu * gsnapread.c, gsnapread.h: Returning number of mismatches * stage3.c, stage3.h: Added ability to specify where CDS begins * gmap.c: Added ability to specify where CDS begins * get-genome.c: Added -A flag for dumping entire genome. Handling -m flag correctly for stdin input. 2010-10-14 twu * pair.c: Implemented printinf of coverage, identity, and phases in GFF output * iit-write.c, iit-write.h, iitdef.h: Implemented version 5 of IIT format, which allows different pointer sizes for labels and annotations * gsnap.c, iit-read.c, iit-read.h, md5.c, md5.h, resulthr.c, resulthr.h, sam.c, sam.h, sequence.c, sequence.h, stage3hr.c, stage3hr.h, substring.c, substring.h: Enabled printing of output into multiple files * stage1hr.c: Allowing 1 mismatch in shortexon end, but requiring a separation of 2 from next best alignment. Consolidated code into find_left_splice and find_right_splice. * gsnap.c: Changed default quality-shift to be 0 * stage3hr.c, stage3hr.h: Implemented calculation and printing of MD string * substring.c, substring.h: Implemented calculation and printing of MD string * sam.c: Implemented calculation and printing of MD string 2010-10-13 twu * gsnap_tally.c: Fixed bug in freeing data. Setting min_readlength to 0. Using new interface to Gsnapread. 2010-10-06 twu * spliceclean.c: Added ability to print excluded splices * spliceclean.c: In resolving splice direction, using a 10-to-1 threshold and checking adjacent splices if necessary. * gsnap.c: Turned on indels by setting default indel-penalty to be 1. 2010-10-04 twu * stage1hr.c: Added restriction on number of mismatches allowed in short exons 2010-10-03 twu * spliceclean.c: Added ability to resolve between competing splices based on fwd and rev extents. Added ability to print endpoints and midpoints. Added flag to bypass cleaning step. * stage3hr.c: Allowing pair overlaps when splices are involved. Using new way of computing low and high for pairs. 2010-09-30 twu * gsnap_extents.c: Initial creation * Makefile.dna.am: Added extents_genebounds 2010-09-29 twu * spliceclean.c: Added ability to print runlengths and splicesites. Added ability to filter based on uniqueness, concordance, or maxminsupport. * extents_genebounds.c: Initial creation * Makefile.dna.am: Added multiclean, gsnap_extents, and gsnap_terms * gsnap_terms.c: Initial creation of gsnap_terms 2010-09-22 twu * iit_dump.c: Implemented printing of IIT in runlength or integral output * gsnap.c, sam.c, sam.h, sequence.c, stage3hr.c: Fixed handling of circular reads and implemented printing of SAM output for circular reads. * gmap.c, stage3.c, stage3.h, translation.c, translation.h: Added feature to start protein coding sequence from first query position. 2010-09-20 twu * splicegene.c: Added the ability to output genes as well as paths 2010-09-08 twu * mem.c: Added comment about use of LEAKCHECK * list.c: Removed unused variable * iit-read.c, iit-read.h, iit_dump.c: Added sort functionality for iit_dump * snpindex.c: Using -V flag to allow user to specify destination directory * substring.c: Added check to avoid checking for mismatches past end of string * stage1hr.c: Simplified computation of leftbound and rightbound in short-end splicing * stage1hr.c: Using different stopi for novel and known splicing. Fixed possible bug in reading past mismatches_left and mismatches_right. Fixed calculation of chrend in finding right bound for short-end splicing. 2010-09-04 twu * splicegene.c: Incorporated cappaths functionality * splicegene.c: Removed global variables related to linear fitting * splicegene.c: Fixed memory leaks. Added filtering based on mean number of splices. * splicegene.c: Removed global variables 2010-09-03 twu * splicegene.c: Added ability to handle all chromosomes in a single run. Fixed some memory leaks. * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h, substring.c, substring.h: Introduced -V flag for specifying snpsdir, and now using -v flag for indicating SNPs file. Removed geneprob option and procedures. * stage1hr.c, stage3hr.c, substring.c, substring.h: Made terminals extend to beginning and end of read, with trimming starting from there. Endtypes based on presence of trimming. 2010-09-02 twu * gsnapread.c, sam.c, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Added left and right endtypes to Substring_T object, and using them for printing exact, substitution, and terminal alignments. Renamed variables in Hittype_T enum. Added ambiguous alignments. Restored usage of score in Stage3_remove_duplicates. Using number of mismatches to compute nmatches in Stage3_T objects. Revised computation of terminal alignments. 2010-09-01 twu * gsnap.c, stage1hr.c, stage1hr.h: Introduced min_shortend as a parameter with flag -l. The find_left_splice and find_right_splice procedures now compete with extension. 2010-08-31 twu * gmap.c, stage3.c, stage3.h: Introducing sense_filter in addition to sense_try. Counting non-canonical introns, rather than canonical ones to determine sense, and adding a small penalty for introns to bias against short exons. * stage1hr.c: Using new parameter to turn off concordant translocations with terminal alignments. Clarified usage of query, queryuc_ptr, and queryrc. * stage3hr.c, stage3hr.h: Added flag to control concordant translocations * genome_hr.c, genome_hr.h: Fixed bug in handling fragments when query length is 16. Removed query parameter from Genome_trim_left and Genome_trim_right procedures. * stage1hr.c: Stopped placing restrictions on stopi in finding splice ends. Requiring minimum endlength for short end splicing. * stage1hr.c: Fixed bug with donor, acceptor, and shortexons that were NULL. Fixed logic with novel splice sites in local splicing. 2010-08-26 twu * stage1hr.c: Fixed bug attempting to make shortexon of length 0 2010-08-25 twu * splicing-scan.c: Initial import into SVN * Makefile.util.am: Renamed revcomp program to rc * Makefile.gsnaptoo.am: Added gsnapread.c and gsnapread.h for gsnap_tally * Makefile.dna.am: Added rc and splicing-scan * get-genome.c: Removed unused parameter * gsnap_splices.c, gsnapread.c: Allowing program to handle short exon alignments with multiple splices * parserange.c: Added check for coordinate lengths that exceed 32 bits * substring.c: Commented old location of sub: field in donor and acceptor substrings * stage3hr.c, stage3hr.h: Including chrhigh in substrings * stage1hr.c: Including chrhigh in segments and substrings. Implemented usage of splice distance in short exon alignments. * gsnap_iit.c, gsnap_splices.c, gsnap_tally.c, gsnapread.c, gsnapread.h: Gsnapread_parse_line returns information about types of endpoints * substring.c, substring.h: Including chrhigh as a field in Substring_T 2010-08-24 twu * sam.c, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Implemented shortexon alignment * gsnap.c: Changed message for reading splicesites IIT file * genome_hr.c: Fixed bug in using flags for shortend splicing 2010-08-23 twu * gsnap.c: Enabled reading of a local splicesite file 2010-08-19 twu * stage1hr.c: Added check for query_compress to be non-NULL before find_terminals for single-end alignment * stage1hr.c: Fixed bug where query_compress needed to be computed before finding terminals 2010-08-18 twu * iit_store.c: Using string_compare and string_hash functions from table.c * iit-write.c: Moved position of free() statement * iit-read.c: Fixed debugging output * genome_hr.c, genome_hr.h, gsnap.c, stage1hr.c, stage1hr.h: Using splicefrags to increase speed of finding short-end splicing * stage3hr.c: Setting nindels to be zero for a terminal alignment 2010-08-13 twu * gsnap.c, indexdb.c, indexdb.h, indexdb_hr.c, indexdb_hr.h, spanningelt.c, spanningelt.h, stage1hr.c, stage1hr.h: Allowing GSNAP to run when positions are read as FILEIO. * stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Using splicesites array rather than splicesites_iit in short-end splicing * stage1hr.h: Increased MAX_QUERYLENGTH from 200 to 500 2010-08-10 twu * indexdb_dump.c: Added file left out in SVN conversion * indexdb_dump.c: Undo addition to wrong directory * indexdb_dump.c: Added file left out in SVN conversion * stage1hr.c: Removed requirement for nconcordant == 0 in deciding to compute local splices and short-end splices. 2010-08-06 twu * reads.c, reads_store.c: Eliminating labelorder in file format. Cleaned up memory leaks. * reads.c: Improved speed of dumping procedure * reads.c, reads_get.c, reads_store.c: Allowing either 4-byte or 8-byte label and read pointers 2010-08-05 twu * Makefile.dna.am, reads.c, reads.h, reads_get.c, reads_store.c: Enabled compression of reads * Makefile.dna.am, reads.c, reads.h, reads_store.c: Using a div structure in file format * Makefile.dna.am, reads.c, reads.h, reads_dump.c, reads_get.c, reads_store.c: Using our own file format for storing reads, rather than BerkeleyDB * iit-read.c: Fixed bug in fileio reading of annotations * access.c, access.h, add_rpk.c, assert.c, assert.h, backtranslation.c, backtranslation.h, bigendian.c, bigendian.h, blackboard.c, blackboard.h, block.c, block.h, bool.h, boyer-moore.c, boyer-moore.h, cappaths.c, changepoint.c, changepoint.h, chimera.c, chimera.h, chop_primers.c, chrnum.c, chrnum.h, chrom.c, chrom.h, chrsegment.c, chrsegment.h, chrsubset.c, chrsubset.h, cmet.c, cmet.h, cmetindex.c, color.c, color.h, comp.h, complement.h, compress.c, compress.h, cum.c, datadir.c, datadir.h, datum.c, datum.h, diag.c, diag.h, diagdef.h, diagnostic.c, diagnostic.h, diagpool.c, diagpool.h, dibase.c, dibase.h, dibaseindex.c, doublelist.c, doublelist.h, dynprog.c, dynprog.h, except.c, except.h, exonscan.c, fopen.h, gbuffer.c, gbuffer.h, gdiag.c, geneadjust.c, genecompare.c, geneeval.c, genome-write.c, genome-write.h, genome.c, genome.h, genome_hr.c, genome_hr.h, genomepage.c, genomepage.h, genomeplot.c, genomicpos.c, genomicpos.h, genuncompress.c, get-genome.c, getopt.c, getopt.h, getopt1.c, gmap.c, gmapindex.c, gregion.c, gregion.h, gsnap.c, gsnap_iit.c, gsnap_splices.c, gsnap_tally.c, gsnapread.c, gsnapread.h, hint.c, hint.h, iit-read.h, iit-write.c, iit-write.h, iit_dump.c, iit_fetch.c, iit_get.c, iit_plot.c, iit_store.c, iit_update.c, iitdef.h, indexdb.c, indexdb.h, indexdb_hr.c, indexdb_hr.h, indexdbdef.h, interval.c, interval.h, intlist.c, intlist.h, intlistdef.h, intpool.c, intpool.h, intron.c, intron.h, lgamma.c, lgamma.h, list.c, list.h, listdef.h, littleendian.c, littleendian.h, match.c, match.h, matchdef.h, matchpool.c, matchpool.h, maxent.c, maxent.h, md5-compute.c, md5.c, md5.h, mem.c, mem.h, memchk.c, nmath.c, nmath.h, nr-x.c, nr-x.h, oligo-count.c, oligo.c, oligo.h, oligoindex.c, oligoindex.h, oligop.c, oligop.h, orderstat.c, orderstat.h, pair.c, pair.h, pairdef.h, pairingcum.c, pairingflats.c, pairinggene.c, pairingstrand.c, pairingtrain.c, pairpool.c, pairpool.h, parserange.c, parserange.h, pbinom.c, pbinom.h, pdldata.c, pdldata.h, pdlimage.c, plotdata.c, plotdata.h, plotgenes.c, plotgenes.h, pmapindex.c, random.c, random.h, rbtree.c, rbtree.h, rbtree.t.c, reader.c, reader.h, reqpost.c, reqpost.h, request.c, request.h, result.c, result.h, resulthr.c, resulthr.h, revcomp.c, sam.c, sam.h, sam_tally.c, samread.c, samread.h, scores.h, segmentpos.c, segmentpos.h, segue.c, separator.h, seqlength.c, sequence.c, sequence.h, smooth.c, smooth.h, snpindex.c, spanningelt.c, spanningelt.h, spliceeval.c, splicegene.c, splicegraph.c, splicescan.c, splicing-score.c, stage1.c, stage1.h, stage1hr.c, stage1hr.h, stage2.c, stage2.h, stage3.c, stage3.h, stage3hr.c, stage3hr.h, stopwatch.c, stopwatch.h, subseq.c, substring.c, substring.h, table.c, table.h, tableint.c, tableint.h, tallyadd.c, tallyflats.c, tallygene.c, tallyhmm.c, tallystrand.c, translation.c, translation.h, trial.c, trial.h, types.h, uintlist.c, uintlist.h, uinttable.c, uinttable.h: Added keyword property for Id * tally_expr.c: Fixed bug in reporting number of exons and in skipping exons * stage3hr.c: Improved debugging statements * stage3.c: Fixed bug when ngap was larger than gaps in dual_break * samread.c: Added old but unused code * iit-read.c, iit-read.h: Added function IIT_get_typed_signed * gsnap_splices.c: Added parameter for shortsplicedist * gsnapread.c, gsnapread.h: Added function Gsnapread_accession * gsnap_tally.c: Fixed bug in using advance_one_hit * Makefile.dna.am, gsnap_iit.c: Created gsnap_iit 2010-08-04 twu * Makefile.dna.am, reads_get.c, reads_store.c: Created programs reads_store and reads_get. * splicefill.c: Using median filtering as a first step * splicefill.c: Removed probabilistic calculations * splicefill.c: Version with probabilistic calculations 2010-08-03 twu * splicefill.c: Using tally information to find edges. Using Poisson and exponential models. * iit-read.c, iit-read.h, snpindex.c: Providing messages about chromosomes in the genome and in the SNPs IIT file 2010-08-02 twu * Makefile.dna.am, splicefill.c: Initial creation of splicefill program 2010-08-01 twu * gsnap_tally.c, gsnapread.c, gsnapread.h: Able to separate low and high ends of paired-end reads * Makefile.dna.am, gsnap_tally.c: Using parsing functions in gsnapread.c * Makefile.dna.am, gsnap_splices.c, gsnapread.c, gsnapread.h: Moved parsing functions to gsnapread.c 2010-07-30 twu * spliceclean.c: Preserving information in rest of header * gsnap_splices.c: Printing maxminsupport and nconcordant information * Makefile.dna.am, spliceclean.c: Enabled spliceclean to handle all chromosomes. Using tables to store splices. * spliceclean.c: Fixed bugs in parsing input * spliceclean.c: Added procedure to free memory * gsnap_splices.c: Fixed bug from freeing table keys too early * gsnap_splices.c: Enabled program to handle all chromosomes in a single run 2010-07-29 twu * Makefile.dna.am, gsnap_splices.c, iit-read.c, uinttable.c, uinttable.h: Using a table to store splice sites in gsnap_splices.c * gsnap_splices.c: Removed -F and -R flags for separate strands * Makefile.dna.am, gsnap_splices.c, sam_splices.c: Integrated sam_splices.c and gsnap_splices.c into a single file * mem.c: Removed unused variable * iit-read.c: Removed unused code * genome.c: Removed unused variable * blackboard.c: Returning bool type explicitly * substring.c: Removed unused code * sequence.c: Resolving compiler warning about type casting * gsnap_splices.c, sam_splices.c, spliceclean.c: Allowing -s flag to print annotations about known splicesites 2010-07-28 twu * struct-stat64.m4: Added missing m4 file * Makefile.am, cvs2cl.pl, svncl.pl: Replace cvs2cl.pl with svncl.pl * CVSROOT: Removed CVSROOT directory 2010-07-27 twu * assert.h: Changed compiler variable * VERSION, config.site.rescomp.prd, index.html: Revised for 2010-07-27 release * bootstrap.dna: Using autoreconf * README: Modified statement about -m flag and about types in SNP IIT files * MAINTAINER: Added statement about assert.h * tally_expr.c: Standardized output format * gsnap.c: Made -q flag work correctly for single-thread mode. Printing run time at end of each run. * gmap.c: Calling correct exception for a sigtrap * Makefile.dna.am, Makefile.gsnaptoo.am: Using datadir in snpindex * iit-read.c, iit-read.h: Fixed IIT_index function * snpindex.c: Using datadir. Fixed error messages. * stage3hr.h, substring.c, substring.h: Removed fields for halfintrons. * stage3hr.c: Fixed bug in removing duplicates. Removed fields for halfintrons. * stage1hr.c, stage1hr.h: Implemented short-end splicing for known splice sites 2010-07-26 twu * mem.c: Changed monitoring statement to print only in debug mode * iit-read.c, iit-read.h: Added procedure for typed and signed intervals based on divno * gsnap.c: New interface to stage 1 procedures 2010-07-24 twu * VERSION, index.html: Revised for 2010-07-23 release * spliceclean.c: Processing forward and reverse splices separately * gsnap.c: Fixed bug where -a flag modified trim_maxlength * assert.h: Turned off assertion checking * Makefile.dna.am: Added tally_exclude * substring.c: Modified debugging statements for trimming * stage3hr.c: Added debugging statements * iit-read.c, iit-read.h: Added function IIT_interval_sign 2010-07-22 twu * tally_expr.c: Allowing printing over all positions * tally_expr.c: Allowing multiple tallies * gsnap.c, sam.c, sam.h, sequence.c, sequence.h: Fixed handling of quality scores to match that of sequence. Added -j flag to specify amount of shift for quality scores. 2010-07-21 twu * setup1.test.in: Putting test chromosome in subdirectory * setup2.test.in: Revised test for new gmapindex, but test not being used currently * iit.test.in: Not testing for diff in iittest.iit * align.test.ok, coords1.test.ok, map.test.ok: Changed expectations to match latest program output * iittest.iit.ok: Using latest IIT version * Makefile.am: Using ref3offsets and ref3positions instead of idxoffsets and idxpositions * acx_mmap_fixed.m4, acx_mmap_variable.m4: Added stdlib.h and unistd.h headers * bootstrap.dna, bootstrap.gsnaptoo, bootstrap.three, config.site.rescomp.prd, config.site.rescomp.tst: Initial import into CVS * config.site.gne: Removed old config file * acinclude.m4: Including builtin m4 code * MAINTAINER: Added notes about checking Bigendian behavior * archive.html, index.html: Revised for 2010-07-20 release * configure.ac: Better checking for VERSION * bootstrap.pmaptoo: Added --force flag * bootstrap.gmaponly: Added autoreconf step * README, VERSION: Changed for 2010-07-20 release * gmap_process.pl.in: Removed check for contig version * gmap_update.pl.in: Not updating chromosome or contig IIT files * gmap_setup.pl.in: Providing -q and -Q flags for GMAP and PMAP indexing intervals. * gsnap-fetch-reads.pl, gsnap-fetch-reads.pl.in, gsnap-remap.pl, gsnap-remap.pl.in: Initial import into CVS * gsnap_splicing.pl: Program is superseded by C program gsnap_splices * gsnap_splicing.pl: Various changes. Program is superseded by C program gsnap_splices. * gmap_compress.pl.in, gmap_reassemble.pl.in, gmap_uncompress.pl.in, md_coords.pl.in: Using "use warnings" instead of "-w" flag * fa_coords.pl.in: Handling duplicate occurrences of a chromosome. Limiting number of warnings. * Makefile.am: Added gmap_update * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Implemented -f 4 GFF estmatch format based on patch from Shaun Jackman and Eoghan Harrington of British Columbia Genome Sciences Centre. * chimera.c: Commented out problematic code, to be resolved later * get-genome.c: Fixed coordinates when retrieving map file contents * cum.c, dibaseindex.c, geneadjust.c, pairingtrain.c, splicegraph.c, tallyadd.c, tallygene.c, tallystrand.c: Initial import into CVS * pairingstrand.c, tallyhmm.c: Using new Parserange_universal function * tally.c, tally.h: Treating counts as long ints * splicegene.c: Changed algorithm * spliceeval.c: Removed unused code * plotgenes.c, plotgenes.h: Several changes, including trying to resolve fatal errors * pdldata.c, pdldata.h: Implemented Pdldata_new and Pdldata_write * pairinggene.c: Counting found splices as flats * pairingflats.c: Changed algorithm for finding flat regions * pairingcum.c: Treating high and low reads separately * oligo-count.c: Using new interface to Reader_new. * lgamma.c, lgamma.h: Handling counts as long ints * hint.c, hint.h: Changed models * geneeval.c: Using new Parserange_universal function * genecompare.c: Separate output for forward and reverse chromosome strands. * gdiag.c: Removed some output. Using new interfaces to IIT_read. * dibase.c, dibase.h, exonscan.c: Change in algorithm * chimera.c: Using Path_matchscores instead of Stage3_matchscores * cappaths.c: Using xintercepts instead of slopes * boyer-moore.c, boyer-moore.h: Added procedures for chop_primers.c * add_rpk.c: Change of output format 2010-07-20 twu * stage1hr.c: Tightened requirements further for splice site probabilities on distant splicing. * stage3hr.c: Using nmatches to filter pairs containing terminal alignments * gsnap.c: Changed advice on RNA-Seq settings for -m. * archive.html, index.html: Released version 2010-03-10 * substring.c, substring.h: Computing nmatches directly * stage3hr.h: Removed score parameter from Stage3_new_terminal * stage3hr.c: Selecting best among terminal alignments. Computing nmatches directly. * stage1hr.c: Changed algorithm for finding terminal alignments. Requiring distant splicing to have high splice probabilities. * sam_splices.c: Computing readlengths on each end of splice separately * gsnap.c, gsnap_splices.c: Added debugging code 2010-07-19 twu * stage1hr.c: Using sequences as numeric in some cases * maxent.c, maxent.h: Added procedures to handle sequences as numeric * gsnap.c: Added a comment to the --help message * genome_hr.c, genome_hr.h: Added a procedure to retrieve a dinucleotide * genome.c, genome.h: Added a procedure to retrieve sequences as numeric * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.pmaptoo.am: Revised files and programs as needed 2010-07-16 twu * stage3hr.c: Requiring that dual translocations be concordant only across the same two chromosomes. * smooth.c: Conserving listcells where possible * oligoindex.c, oligoindex.h: Removed computation of fingerprint * list.c, list.h: Implemented List_transfer_one and List_push_existing * gsnap.c: Performing trimming by default * dynprog.c: Ensuring that finalscore is assigned in Dynprog_genome_gap. * stage3hr.c, substring.c, substring.h: Providing a minlength parameter to Substring_new, so end indels do not get eliminated. * chop_primers.c: Initial import into CVS * sam_tally.c: Trimming uses -3 for mismatches and resets negative scores to zero. Handling hard clipping. * gsnap_tally.c: Trimming uses -3 for mismatches and resets negative scores to zero * gsnap_splices.c: Sorting splices using both ends. * sam_splices.c: Handling AT-AC introns. Sorting splices using both ends. * samread.c, samread.h: Returning acc in parsing line * sam.h: Renamed NOT_PRIMARY bit * sam.c: Implemented hard clipping of sequences for SAM output. Enabled printing of distant splices onto two separate lines. Using NOT_PRIMARY bit in flag. * sequence.c, sequence.h: Implemented hard clipping of sequences for SAM output * stage3.c: Removed unused procedures. Conserving listcells when possible. * stage2.c: Removed unused procedures * gmap.c: Removed references to Intpool_T * pairpool.c: Setting initial value for state * matchpool.c, matchpool.h: Implemented Matchpool_free_memory procedure * mem.c, mem.h: Added procedures for computing memory usage * stage3hr.c, substring.c, substring.h: Now trimming from both ends of terminal alignment. Explicitly specifying which ends to trim. * substring.h: Replaced Substring_T with T * substring.c: Allowing Substring_new to return NULL if trimmed alignments are poor. Replaced Substring_T with T. Resetting score to zero when it becomes negative in trimming. * stage1hr.c, stage3hr.c: Allowing Substring_new and Stage3_new to return NULL if trimmed alignments are poor. * substring.c: Changed mismatch score from -1 to -3 for trimming * stage1hr.c, stage3hr.h: Added notion of ambiguous splices. * stage3hr.c: Added notion of ambiguous splices. Fixing removal of duplicates. 2010-07-15 twu * stage3hr.c, stage3hr.h: Implemented Stage3_substring_low * samread.c: Added debugging comments * sam.c, sam.h: Moved flag constants to sam.h. Using Stage3_substring_low to print chromosomal pos. * sam_splices.c: Simplified loop * gsnap_splices.c: Having lines_gc return NULL * gsnap_tally.c: Fixed trimming. Turning off trimming by default. * sam_tally.c: Initial import into CVS 2010-07-14 twu * sam_splices.c, samread.c, samread.h: Fixed bug in specifying allowed dinucleotides. Moved parsing procedures to samread.c. 2010-07-13 twu * sam_splices.c: Initial import into CVS 2010-07-11 twu * spliceclean.c: Changed variable names 2010-07-10 twu * stage2.c, stage2.h, stage3.h: Removed stage2 fingerprint * gmap.c: Added freeing of pairpool and diagpool memory at certain intervals. * pair.c, pair.h, stage3.c: Moved HMM code from pair.c to stage3.c * pairpool.c, pairpool.h: Implemented Pairpool_free_memory function * diagpool.c, diagpool.h: Implemented Diagpool_free_memory function * gsnap.c: Added ability to remove adapters from paired-end reads. Providing option for maxlength on trimming. * gmap.c: Using Stage2_scan method to rank gregions. Providing additional diagnostic options. * diag.c, diag.h, diagpool.h: Added ability to allocate memory for diagonals, rather than using diagpool * tally_expr.c: Fixed bug in using IIT index * substring.h: Added handling of terminal reads * substring.c: Using trimming maxlength. Fixed printing of sequences with adapters. * stage3hr.c: Fixed identification of duplicates. Using total matches to compare results, rather than score. * stage3.c, stage3.h: Using an HMM to find bad sections and fixing resulting dual breaks. * stage2.c, stage2.h: Added Stage2_scan procedure. Providing diagonals for diagnostic purposes. Computing a fingerprint. * stage1.c: Using a boolean to see if weight exists rather than depending on floating point value * sequence.h: Added handling of finding adapters. Computing sequence quality for trimming. * sequence.c: Fixed bug where fastq quality line begins with ">". Added removal of adapters from paired-end data. * sam.h: Removed genome from argument lists * sam.c: Fixed bugs in coordinates, epecially involving trimmed reads. Handling terminal reads. * result.c, result.h: Added ability to report intermediate gregions or diagonals * oligoindex.h: Added computation of fingerprint * oligoindex.c: Added necessary clearing of oligoindex. * pairdef.h, pairpool.c: Added Pair_goodness_hmm procedure. * pair.c, pair.h: Added Pair_goodness_hmm procedure. Added printing of stage2 fingerprint. * orderstat.c: Removed reliance on a floating point equality * mem.c, mem.h: Added leak check procedures * match.c, match.h, matchdef.h: Using a boolean to record whether weight is zero or not, rather than relying on floating point * indexdb_hr.c: Added comment * indexdb.c: Fixed printf procedure * iit-read.h: Removed unused IIT_print prototype * iit-read.c: Fixed print_record procedure * gsnap_tally.c: Fixed trimming procedure. Added reference nucleotide in all lines. Fixed processing of all chromosomes. * gsnap_splices.c: Fixed parsing. Made uniquep false by default. Added info about nextensions and nunique. * gregion.c, gregion.h: Added fields ncovered and source, plus function Gregion_cmp * get-genome.c: Removed unused function print_map * genome.c, genome.h: Added function Genome_get_char * dynprog.c: Added space for formatting * stage1hr.h: Setting a maxlength on trimming * stage1hr.c: Finding terminals rather than halfintrons. Fixed case where splice ends are adjacent in genome. 2010-07-02 twu * stage3hr.h: Added support for a terminal alignment. * stage3hr.c: Added support for a terminal alignment. Removed halfintron_support field. 2010-05-28 twu * iit_store.c: Fixed issues with removing and re-inserting null divstring. 2010-05-26 twu * stage1hr.c: Added trim_maxlength. Added nmismatches to halfintron alignments. * stage3hr.h: Added trim_maxlength. * stage3hr.c: Added trim_maxlength. Checking pairlength on samechr_single to see if concordant. 2010-05-21 twu * iit-read.c, iit-read.h, stage3.c: Fixed printing of chromosome in map results 2010-05-20 twu * stage3hr.c: Finding concordant pairs against translocations with chrnum == 0, by making copies for each chrnum and storing in effective_chrnum. 2010-05-17 twu * substring.c, substring.h: Added halfintron support field. * stage3hr.c, stage3hr.h: Implemented sense consistency in paired-end alignments * stage1hr.c: Fixed bugs in previous implementation of half introns 2010-05-16 twu * stage1hr.c, stage3hr.c: Implemented new way of handling half introns, by storing best half intron for sense and for antisense 2010-05-14 twu * resulthr.c, resulthr.h, stage1hr.c, stage3hr.c, stage3hr.h: Added procedure for finding samechr pairs if no concordant ones found. Revised result types to include PAIREDEND_SAMECHR_SINGLE and PAIREDEND_SAMECHR_MULTIPLE. 2010-05-13 twu * stage1hr.c: Added conditional compilation statements for filtering halfintrons * gsnap.c, stage3hr.c, stage3hr.h: Handling failsonly and nofails flags for paired-end data. Printing FASTQ format for failsonly on single-end data. 2010-04-17 twu * iit-write.c: Fixed bug in freeing data when number of intervals is zero 2010-04-12 twu * iit-read.c: Commented out IIT_index function * sam.c: Fixed situation where query has no mapping and mate is an interchromosomal splice 2010-04-05 twu * tally_expr.c: Initial import into CVS 2010-04-02 twu * iit_get.c: Added allele information to -T option 2010-03-24 twu * gsnap.c, sequence.c, sequence.h: Implemented processing of FASTQ files * gmap.c: Using new interface to blackboard.c * blackboard.c, blackboard.h: Added input2 to Blackboard_T object * stage3hr.c, stage3hr.h: Fixed classification of paired-end reads when one or both ends have a translocation. 2010-03-10 twu * stage3hr.c: Revised half_intron_score. Using that score when comparing overlapping half_introns with one another. * gsnap.c, stage1hr.c, stage1hr.h: Added parameter for min_distantsplicing_identity 2010-03-09 twu * stage1hr.c: Providing querylength information when making Stage3_T splice objects * stage3hr.c, stage3hr.h: Adding a penalty to half-intron alignments based on the amount of sequence that was not aligned. * stage3hr.c: Changed output for samechr results * substring.c: Printing sub:0 instead of exact * stage1hr.c: Checking for exact matches that cross chromosomal boundaries 2010-03-08 twu * resulthr.c: Making all paired reads of type concordant * stage3hr.c: Added printing of samechr as a special case of PAIREDEND_AS_SINGLES_UNIQUE. * sam.h: Added mate information to nomapping result. * sam.c: Removed unused code. Fixed printing of query string. Added mate information to nomapping result. * gsnap_tally.c: Handling new output format for GSNAP * gsnap.c: Using new interface for SAM_print_nomapping * README: Added more information about GSNAP features and output 2010-03-05 twu * iit-read.c, iit-read.h: Added function IIT_dump_sam * gsnap.c: Renamed resulttypes * resulthr.c, resulthr.h: Added resulttype PAIREDEND_AS_SINGLES_UNIQUE * substring.c, substring.h: Added function Substring_match_length * stage3hr.h: Computing chrnum, chroffset, genomicstart, and genomicpos at Stage3_T level for splices. * stage3hr.c: Pairing up at each successive score level. Computing chrnum, chroffset, genomicstart, and genomicpos at Stage3_T level for splices. * stage1hr.c: Fixed bug allowing deletion to extend past genomicpos 0. Fixed cases where known splicing occurs near end of sequence. Removing duplicate hits before pairing up ends. * sam.c: Made multiple changes to generate correct SAM output 2010-03-01 twu * substring.c, substring.h: Removed unnecessary parameters during printing * stage3hr.h: Removed unnecessary parameters. * stage3hr.c: Added support information to splices, and using it to select best half introns. Removing unnecessary parameters during printing. Checking for abort in pairing process, based on local counts. * stage1hr.c: Added support information in making splices. Not checking for sufficiency for half introns. Using an abort_pairing_p flag, and when true, recomputing ends as singles. * splicing-score.c: Using parserange module. Allowing range to be specified. * iit-read.h: Removed unused parameter * iit-read.c: Changed format strings to eliminate compiler warnings * genome.c: Added parentheses around some conditional statements 2010-02-26 twu * stage3.c: Removed unused parameters from print functions * sequence.c: Handling sequence at end of file without line feed * reader.c: Commented out unused code * gsnap.c: Added flags for SAM and quiet-if-excessive. Dropped flags for probability thresholds. * datadir.h: Added external interface for a function * sam.c: Fixed bug where numbers of deletions was being reported as a negative number * genome_hr.c, genome_hr.h, stage1hr.c: Removed computation of snpdiffs by genome_hr 2010-02-25 twu * genome_hr.h: Added code for performing trimming. Using macros for clearing and setting outside regions in start and end blocks. * genome_hr.c: Added code for performing trimming. Using macros for clearing and setting outside regions in start and end blocks. * stage1hr.c: Added trimming of splice ends to avoid extending into region of many mismatches. Saving all splice ends that have sufficient sequence and probability support. 2010-02-23 twu * substring.c: Fixed printing of splices. Fixed bugs in retrieving SNP information. * stage3hr.h: Returning found score from all functions that create a Stage3_T object * stage3hr.c: Fixed computation of pair length. Fixed search for concordant pairs. * stage1hr.h: Removed unused parameters * stage1hr.c: Using found score rather than found number of mismatches. Fixed cases where indel pos was outside of query range. * spanningelt.c: Fixed typecast error * sam.c, sam.h: Implemented SAM output for paired-end reads 2010-02-13 twu * resulthr.c, resulthr.h, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Changed output format to have separate columns for alignment information and pair information. Standardized output routines. Three categories for paired-end reads: concordant, samechr, and unpaired. 2010-02-12 twu * sam.c, sam.h, stage1hr.c, stage3hr.c, stage3hr.h, substring.c, substring.h: Rearranged and cleaned up code for making substrings 2010-02-10 twu * gmap_process.pl.in: Removed code that removed version numbers on accessions 2010-02-03 twu * indexdb.c: Fixed string formatting * snpindex.c: Fixed some printing statements * get-genome.c: Changed call to parserange to match new interface * uintlist.c, uintlist.h: Added Uintlist_find command * table.c, tableint.c: Added stdlib.h header file * stage3.h: Added genome to print_alignment for splice sites scores in output * stage3.c: Allowing null gaps again * stage2.c: Added separate data types for a 1-dimensional matrix and 2-dimensional matrix representation * stage1hr.c: Prevented splicing unless both dinucleotides are present * stage1.c: Removed extensions of gregions * sequence.c: Commented out unused functions * resulthr.c, resulthr.h: Renamed result type to PAIRED_AND_PAIRABLE * parserange.c, parserange.h: Implemented parse_query function * pair.c, pair.h: Added donor and acceptor scores to output * orderstat.c, orderstat.h: Added functions for long int * oligoindex.c, oligoindex.h: Added parameter oned_matrix_p * nr-x.h: Added ppois functions * nr-x.c: Added ppois functions. Fixed bug in pbinom for zero observed counts. * list.c, list.h: Rewrote function for List_insert * intlist.c: Handling case of empty list better for conversion to string * interval.c, interval.h: Added functions for sorting intervals by position * indexdb.c: Added debugging statements * iit_plot.c: Using new interface to Genome_new * iit_get.c: Implemented statistics function. Using long int for tally IITs. Using parserange module. * iit-read.h: Added function for divlength * iit-read.c: New implementation of sorting of intervals by position * gmapindex.c: Increased expected table size for number of chromosomes. Stopping warning messages after 100 printed. * gmap.c: Added genome parameter to Stage3_print_alignment * get-genome.c: Using parserange module. Implemented flanking segments. * genome_hr.c: Removed unused variables for certain compile-time conditions * genome-write.c: Stopping warning messages after 50 are printed * gdiag.c: Formatting changes * except.c: Using pointers to exception frame objects * dynprog.c: Reduced PAIRED_OPEN penalty from -24 to -18 * diag.h: Added function Diag_range * diag.c: Reduced EXTRA_BOUNDS parameter * datadir.c: Fixed bug where insufficient buffer space was provided for one string * backtranslation.h: Removed void in formal parameter lists * backtranslation.c: Casting character array indices to ints 2010-02-02 twu * splicegene.c: Attempted to find genebounds on all sites 2010-02-01 twu * splicegene.c: Implemented finding and reporting of alternate splice forms * splicegene.c: Differentiated donor and acceptor sites. Handling reverse strand in reverse direction. Noting conflicts when either endpoint is close to an endpoint on the other. 2010-01-31 twu * splicegene.c: Completely new rewrite based on pairinggene.c. Attempt to assign genebounds based on tally high and tally low. 2010-01-30 twu * splicegene.c: Using tally high and low. Added hooks for alternate splice site. * spliceclean.c: Performing validation based on ratio of count to maxcount over region 2010-01-29 twu * spliceclean.c: Using less memory. Attempted validation of splices based on envelope. * spliceclean.c: Initial import into CVS * pairingcum.c: Implemented filtering based on significance at endpoints 2010-01-28 twu * pairingcum.c: Added computation on floors as well as ceilings 2010-01-25 twu * pairinggene.c: Testing flat regions against the splice IIT to determine if they are intron-like. Also adding splice edges to the original list. Splices will therefore need to be filtered. * pairinggene.c: Reverted to previous version using only observed GSNAP splices * pairinggene.c: Improved algorithm for distinguishing between intergenic flats and intron flats. * geneeval.c: Initial import into CVS * pairinggene.c: Improved algorithm for detecting intergenic regions. For flats, we can use a loose criterion without a level threshold, because of the ordering constraint. We are using both edges from flats and from gsnap splices. We added a procedure for distinguishing between intergenic regions and long exons based on the counts_tally. 2010-01-24 twu * pairinggene.c: Using iblocks instead of nblocks to control exon segments, so essentially all combinations of introns are considered * pairinggene.c: Reading in edges from the splices_iit file, presumably after filtering * pairinggene.c: Attempt to get more edges by looking up splice edges when a flat does not yield clean ones * cappaths.c: Added analysis of slopes and attempt to find a flat region * pairinggene.c: Fixed bug with negative unsigned int * pairinggene.c: For objective function, using the count of observed splices from GSNAP. * pairinggene.c: Eliminated concept of an eblock (or exon block). Trying all intron combinations, since intergenic blocks are sufficient to contain the search space. * pairinggene.c: Fixed bug where an up was a terminal, which hid the downstream down. Added some debugging code. * pairinggene.c: Added checking of edges based on genome splice sites * pairinggene.c: Made intergenic regions go between flats, and increased the length requirement. Using auto_exonlength for adding exons. * pairinggene.c: Restricted intergenic blocks to be between adjacent down to up edges * pairinggene.c: Reordered procedures to minimize memory usage * pairinggene.c: Implemented a new algorithm for constructing the graph, using various blocks and building the graph in stages * tally.c: Added functions for the median and for adding a runlength to an existing count 2010-01-23 twu * pairinggene.c: Fixed error in formula for computing down edge * splicing-score.c: Initial import into CVS * pairingcum.c: Fixed a bug where the cum was being put at the wrong position, causing the down edge to be 1 position too small. * pairinggene.c: Implemented trimming of ends * pairinggene.c: Implemented a new test for intergenic regions based on finding a long flat region in the counts, which should not happen in an exon. * pairinggene.c: Added a test for sharpness based on an area ratio * pairinggene.c: Fixed dynamic programming procedure * pairinggene.c: Keeping a min-max test on whether introns are acceptable, but using mean levels of introns and exons for scoring. * pairinggene.c: Using zero-based check on pairingfull to test for intergenic regions. Added a greedy addition of introns. * pairinggene.c: Attempt to use pairing full information and gradual downsloping to find UTRs. 2010-01-22 twu * pairinggene.c: Using intron level minus exon level to determine edges with greater sensitivity. Implemented scores as double, rather than int, although currently using mincount and maxcount. * pairinggene.c: Changed from onepath dynamic programming to multiple paths with terminals. Using explicit objects for exons and introns. * pairinggene.c: Implemented finding of initial ups * pairinggene.c: Initial import into CVS. Dynamic programming based on splicegene.c 2010-01-21 twu * spliceeval.c: Implemented computation of reception zone and init/term status of splice sites 2010-01-20 twu * gsnap.c, stage1hr.c, stage3hr.c, stage3hr.h: Implemented trimming of ends of sequences * stage1hr.c: Allowing GC-AG splicing as well as GT-AG. Using a sliding scale of splice site probabilities based on alignment support. * stage3hr.c, stage3hr.h: Added code for using a geneprob IIT file to assist in finding splice sites * gsnap.c: Added a -g flag for using a geneprob IIT file to assist in finding splice sites * tally.c, tally.h: Added function Tally_mean() * tallyflats.c: Analyzing both fwd and rev tallies and storing in a single IIT file * splicegene.c: Using variability in pairing.unk rather than tallyflats to determine intragenic regions * spliceeval.c: Computing slopes internally, rather than relying upon pairingflats * pairingflats.c: Added median smoothing * lgamma.c, lgamma.h: Added ppois function 2010-01-19 twu * genecompare.c: Initial import into CVS * geneeval.c: Changed name to genecompare.c * geneeval.c: Added ability to handle comment lines in gene 2010-01-18 twu * lgamma.c, lgamma.h, random.c, random.h: Initial import into CVS * tally.c, tally.h: Added functions * geneeval.c: Printing goldstandard information in comment line * cappaths.c: Using pairing fwd and rev iits * spliceeval.c: Removed unused code. Added procedures for merging pairingflats. * splicegene.c: Added a check for validity tally flats by looking at tally information * tallyflats.c: Keeping track separately of zero regions and flat regions. Changed parameters. * gsnap_splices.c: Removed unused code * gsnap_tally.c: Added flags for picking specific strands and for forced trimming at ends * pairingstrand.c: Initial import into CVS * pairingflats.c: Storing regions and then printing them. Have three states, for zero, flat, and bumpy. * pairingcum.c: Print all run lengths, even those with level 0 2010-01-17 twu * splicegene.c: Using tallyflats to determine boundaries for donor to acceptor * splicegene.c: Removed donorprob and acceptorprob. Recording and printing all extra information from each splice. Removed unused paths code. * tallyflats.c: Initial import into CVS * pairingflats.c: Initial import into CVS 2010-01-16 twu * spliceeval.c: Added a intron_transition buffer at the ends of each intron, where level changes are ignored. * splicegene.c: Using a gap test on pairing IITs to determine whether to link donor to previous acceptor. * spliceeval.c: Now computing statistics based on edge finding using Poisson model and number of consecutive zeroes. 2010-01-15 twu * spliceeval.c: Printing mean pairing levels of each splice 2010-01-13 twu * tallyhmm.c: Integrated parserange and tally modules. Removed hints. Added edge detection. Simplified state model. * tally.c, tally.h: Implemented an exon test and a scanning solution for pairing information. * splicegene.c: Using an exon test to determine if we can join splices 2010-01-12 twu * littleendian.c: Initial import into CVS * bigendian.c: Created distinct function names for 64-bit procedures. Added procedures for OUTPUT_BIGENDIAN. Fixed compiler warning messages about truncating unsigned ints to chars. * bigendian.h: Created distinct function names for 64-bit procedures * geneeval.c: Initial import into CVS * cappaths.c: Initial import into CVS 2010-01-09 twu * tally.c, tally.h: Initial import into CVS * pairingcum.c: Initial import into CVS 2010-01-07 twu * splicegene.c: Computing exonbounds for each donor 2010-01-05 twu * tallyhmm.c: Using edges rather than edgepairs * parserange.c, parserange.h, spliceeval.c: Initial import into CVS * splicegene.c: Added iterative method to remove conflicting splices 2010-01-04 twu * splicegene.c: Computing one path over forward and one path over reverse strands, instead of collecting terminals 2010-01-03 twu * splicegene.c: Added reading and printing of probability values. Added debugging statements for Paths_remove_dominated 2009-12-29 twu * stage1hr.c, stage1hr.h: Added separate stage for half introns. Added hook for geneprob_iit eval. 2009-12-22 twu * splicegene.c: Initial import into CVS * gsnap_splices.c: Added command for dumping graph * gsnap.c, stage3hr.h: Added ability to print output in SAM format * stage3hr.c: Added ability to print output in SAM format. Fixed bug in identifying pairing. 2009-12-17 twu * exonscan.c: Added function for writing edges 2009-12-10 twu * stage1hr.c: Fixed bug in insertion at end of query sequence. Removed requirement for HALF_INTRON_END_LENGTH. Made separate done levels for 5' and 3' ends in paired alignment. 2009-12-04 twu * gsnap_tally.c: Added ability to run on forward or reverse complement strand only * gsnap_tally.c: Added ability to run on all chromosomes 2009-11-25 twu * stage1hr.h: Added new masktypes * stage1hr.c: Created a single procedure for omit_oligos. Altered xfirst and xlast calculation. 2009-11-21 twu * stage1hr.c: Made slight efficiency improvements in accessing floor->score array 2009-11-18 twu * stage2.c: Combined features of versions 235 and 237 for both GMAP and PMAP to work. * stage2.h: Updated interface * stage2.c: Fixed bug where processed was updated too soon * pairpool.c, pairpool.h: Added function Pairpool_transfer_n * orderstat.c: Commented out debugging function * gmap.c, oligoindex.c: Restored variables specific to gmap * oligoindex.c, oligoindex.h: Added major and minor oligoindices * gmap.c: Added Oligoindex_clear_inquery in all cases * stage2.c: Restored stage 2 to working condition 2009-11-06 twu * maxent.c, maxent.h: Added functions for reporting log odds scores * littleendian.h: Added interface for WRITE_UINT * list.c: Added check for NULL in List_truncate * iit_fetch.c: Added flag for computing cumulative total of an iit. Removed unused variables. * iit_get.c: Added flags for computing mean and overall total of tally iit. 2009-11-04 twu * add_rpk.c: Initial import into CVS 2009-10-30 twu * exonscan.c, hint.c, hint.h, tallyhmm.c: Using edgepair and splice information in transitions, and tally and pairing information in emissions. Providing separate training information for transitions and emissions. 2009-10-27 twu * hint.c, hint.h: Initial import into CVS 2009-10-26 twu * stage3.c: Removed unused variables 2009-10-14 twu * pair.c: Fixed bug in PSL output 2009-10-08 twu * exonscan.c, tallyhmm.c: Multiple changes. Version used for rGASP submission 2. 2009-10-03 twu * gsnap.c, stage1hr.c, stage1hr.h: Allowing user to specify max mismatches as a fraction of read length * stage3hr.c, stage3hr.h: Made printing of score and insert length more consistent. Made filtering of paired hits by score and duplicates consistent with filtering of single hits. * resulthr.c, resulthr.h: Removed Pairedresult_T type 2009-10-02 twu * stage3hr.c: Made printing of insert length consistent for paired-end reads * gsnap.c, stage1hr.c, stage1hr.h: Added parameters for minimum end matches for local and distant splicing * spanningelt.c: Made intersection procedures remove duplicates * snpindex.c: Formatting change * gsnap.c: Added parameters for second part of novel splicing and half intron minimum support * genome_hr.c, genome_hr.h: Returning ncolordiffs * gbuffer.h: Added procedures for allocing and freeing contents * blackboard.c: Fixed problem with hanging when using -q batch feature * stage1hr.c: Made min_end_matches work on middle indels * stage3hr.h: Added printing of colordiffs and score. * stage3hr.c: Added printing of colordiffs and score. Fixed problem with printing splice on second, inverted read. 2009-10-01 twu * stage1hr.h: Added half_intron_min_support parameter. * stage1hr.c: Added half_intron_min_support parameter. Fixed bug where deletion indels were mixed up with colordiffs. Fixed bug where splice junctions were evaluated past beginning of genome. 2009-09-22 twu * tallyhmm.c: Uses hints from splices iit and altexons iit files. Added median filtering. 2009-09-21 twu * exonscan.c: Added ability to get splice sites from splices iit and altexons iit file * tallyhmm.c: Adding information from splices_iit and altexons_iit files * tallyhmm.c: Implemented two-strand solution as default, with ability to force 1-strand solution. Provided hooks for splices and altexons iit files. * gsnap_tally.c: Added flag for handling 2-base encoded GSNAP output * gsnap_splices.c: Eliminated printing of overlapping paths. * gsnap_splices.c: Fixed various bugs 2009-09-20 twu * gsnap_splices.c: Added ability to find alternate skipped or extra exons at each acceptor. * gsnap_splices.c: Initial import into CVS * tallyhmm.c: Implemented faster way of computing running percentiles * tallyhmm.c: Implemented ability to read lambda parameters from a file. Attempted to add a SINGLE exon state and allow transitions from NON to SINGLE even when no edges were present. * gsnap_tally.c: Had program determine own trimming based on scoring matches and mismatches from the ends. 2009-09-19 twu * iit_get.c: Added -M flag for reporting mean of a region in a tally IIT file. * gsnap_splicing.pl: Initial import into CVS * exonscan.c: Printing information about sharp edges 2009-09-18 twu * exonscan.c: Fixed bug in recording history. Added hook for allowing GC donor site. Added splice model probability to name of splice site. * tallyhmm.c: Added flag for printing lambdas * tallyhmm.c: Added ability to handle multiple sites at the same position, by making a mixture of transition tables. Wrote down transition table explicitly. * tallyhmm.c: Added smoothing to estimation of lambdas. Added routines for printing genes. * tallyhmm.c: Consolidated separate fivefwd, fiverev, threefwd, and threerev sites back into up and down sites. * tallyhmm.c: Working version of Viterbi algorithm, but still need output of segments. 2009-09-17 twu * tallyhmm.c: Initial import into CVS * segue.c: Attempt to use objective function based on sum of counts, relative to threshold. * segue.c: Reduced states to be much simpler, where only one strand can be coding at a time. * segue.c: Added functions for printing genes by exons. * segue.c: Fixed lookback lengths between sites. Added flag for specifying knownsites iit. 2009-09-16 twu * segue.c: Optimizing using mean square error. Simplified code for traversing graph. * segue.c: Fixed bug with computing cumulative gammln. Version works on test data set. * segue.c: Complete rewrite to handle both strands simultaneously 2009-09-15 twu * exonscan.c: Using LR test to take all acceptable gene ends. Using separate end bounds for finding gene ends. * exonscan.c: Using both edge algorithms, stepfunction and linear fit. Made different objects for Edge_T and Diff_T. Using goodness-of-fit instead of xintercept for finding gene ends. * exonscan.c: No longer using bootstrap method, but relying on testing of sites using goodness of fit. Evaluating missing edges for both ups and downs based only on greedy splice sites, and then performing both testing of sites and tracing. * exonscan.c: Using x-intercepts instead of step function to detect edges * exonscan.c: Added hooks for a history-recording mechanism. 2009-09-14 twu * exonscan.c: Fixed some bugs with array indices. Added flags for debugging. * segue.c: Using splice model scores to evaluate introns * exonscan.c: Made numerous tweaks to the scanning algorithm. Incorporated finding of ends into scanning, using x-intercepts. Always finding ends when an edge with a splice lacks a match. 2009-09-13 twu * exonscan.c: Implemented two-phase method on stepfunction results, first picking steps with highest probabilities, and then bootstrapping neighboring steps. * exonscan.c: Allowed best prob again for stepfunction results. Fixed bug in code in scanning procedure. Distinguishing between donor and acceptor types for matching edges. * exonscan.c: Large numbers of changes. Implemented scanning method, testing at positions with good splice site scores, for finding other ends. Using adjacency information to decide whether to scan. Implemented testing procedures for ends. Removed unused code. * exonscan.c: Implemented a Gibbs sampling method to speed up identification of changepoint, but reverted back to testing goodness of fit exhaustively over a limited range. * exonscan.c: Implemented a strategy of finding edges only for those that appear to be missing. Using changepoint to find those edges, with maximizing goodness of fit. 2009-09-12 twu * exonscan.c: Made reasonably good step function based on log scale. * exonscan.c: Implemented rampfunction as anchored to a step result. * exonscan.c: Implemented a ramp detector using linear fitting, but too sensitive 2009-09-11 twu * exonscan.c: Using a cumulative tally to speed up computation of segment means * exonscan.c: Added hooks for a redo changepoint step * segue.c: Implemented traversal of minus strand. Implemented reading of splicepairs. * segue.c: Implemented scoring of exons using log likelihood. Implemented dynamic programming and printing of paths. * exonscan.c: Added splice sites based on analyzing local data, using methodology from splicescan. 2009-09-10 twu * splicescan.c: Implemented posterior log odds calculations. * exonscan.c: Added filtering of other ends. Cleaned up unused code. * exonscan.c: Made output format consistent with that of splicescan * segue.c: Initial import into CVS * exonscan.c: Added finding of nearest good splice sites. * exonscan.c: Method based on finding exons. However, will need to switch to a dynamic programming method. * exonscan.c: Initial import into CVS 2009-09-09 twu * splicescan.c: Added options for separate output files, training mode only, and random output. 2009-09-08 twu * stage1hr.c: Fixed algorithm for end indels. Provided hooks for 2-base encoding. * splicescan.c: Fixed calculations 2009-09-07 twu * splicescan.c: Added ability to use a known splice site IIT file 2009-09-06 twu * splicescan.c: Initial import into CVS 2009-09-03 twu * stage1hr.c: Fixed bug where singlehits5 and singlehits3 not being initialized. Set limits on local splicing hits and attempts. 2009-09-02 twu * stage3.c, stage3.h: Allowing a re-do of stage 2 for bad exons in middle 2009-08-31 twu * gsnap.c: Using single-end hits already computed when paired alignments not found. * gmap.c: Added minor oligoindices * changepoint.c: Added comment * stage3hr.c, stage3hr.h: Introduced faster pair-up procedure. Sorting paired-end solutions by score. * stage1hr.h: For paired-end alignment, returning single-end hits. * stage1hr.c: Fixes to paired-end alignment: (1) stopping when excessive splicing hits or paired hits found, (2) using new pair_up procedure, (3) fixed pairing code, (4) returning single-end hits. For dibase alignment, skipping spanning set. * iit_store.c: Using total label and annotation lengths to decide if format should use 8-byte quantities. * iit_get.c: Added flag to explicitly indicate coordinate is a label. Added flag to print all zeroes in tally mode. 2009-08-29 twu * stage3hr.c, stage3hr.h: Taking a splicing penalty for all splices. Added code for marking dibase mismatches. * stage1hr.c, stage1hr.h: Made procedure work for 2-base encoded reads * oligo.c: Added code to read 2-base encoded queries * reader.c, reader.h: Added field to indicate if Reader_T is for dibase queries * littleendian.h: Added code for handling 8-byte quantities * iit-read.c, iit-write.c, iitdef.h: Added version 4 format, which uses 8-byte quantities to store label pointers and annotation pointers. * gsnap_tally.c: Added trimming on left and right * gsnap.c: Added flag for 2-base mode. Added local splice penalty. * genome_hr.c, genome_hr.h: Provided hooks for dibase procedures * genome.c, genome.h: Provided exposure to uncompress_mmap directly from blocks, needed by dibase procedures. * dibase.c, dibase.h: Initial import into CVS * compress.c: Added code for compressing 2-base color genomes, but not necessary. * bigendian.c, bigendian.h: Added functions for 8-byte quantities * access.c: Changed types in debugging statements for off_t 2009-08-21 twu * oligo.c: If state is invalid, skipping forward until a valid state is found * sequence.h: Added FILE * parameter for oneline outputs. * sequence.c: Added FILE * parameter for oneline outputs. Added hooks for skipping dashes, but appears to be buggy. * gsnap.c: Added flag to turn off output (quiet) if too many are found. * stage1hr.c: Classified half introns as long distance * stage1hr.c: Moved half introns after distant splicing. Set fast_level to be 1, if user hasn't already specified it. 2009-08-19 twu * gmap_setup.pl.in: Using "use warnings" instead of -w flag * stage3hr.h: Added quiet-if-excessive flag. * stage3hr.c: Fixed problem where total_nmismatches not being set for indels. Making printing of excessive paths consistent with single-end behavior. * stage1hr.c: Fixed problem where pair_up function was creating circular loops by calling List_append more than once. * list.c, list.h: Added function List_dump 2009-08-17 twu * gsnap-to-iit.c, gsnap_tally.c: Renamed gsnap-to-iit.c to gsnap_tally.c * stage1hr.c: Fixed bug where program tried to find deletions at end extending past coordinate 0U. 2009-08-14 twu * stage3hr.c: Revised paired-end output to show npaths and indication of paired or unpaired. * bigendian.c, gsnap.c, mem.c: Fixed compiler warnings from -Wall * iit-read.c: Fixed compiler warnings from -Wall * iit-read.c: Fixed bug where divno not checking the last div. * sequence.h: Added a function to the interface * sequence.c: Fixed compiler warnings from -Wall * genome.c: Fixed compiler warnings from -Wall * genome.c: Using SNP_FLAGS for getting alternate genome * indexdb.c: Fixed compiler warnings from -Wall * indexdb.c, indexdb.h: Added procedure for reading with diagterm and sizelimit * indexdb_hr.c: Fixed compiler warnings from -Wall * indexdb_hr.c: Providing information about nmerged * maxent.h: Defined a variable to specify maximum storage required * maxent.c: Added code for computing splices from revcomp sequences * cmet.c: Added a missing type * genome_hr.c, stage3hr.c: Fixed compiler warnings from -Wall. * stage1hr.h: Added Floors_free() to interface. * stage1hr.c: Fixed bug where unsigned int * assigned to signed int *. Fixed compiler warnings from -Wall. 2009-08-04 twu * list.c, list.h: Added function List_truncate * pair.c, pair.h: Added function Pair_fracidentity_max * stage3.h: Added some interfaces * stage3.c: Forward/reverse decision based on local scoring around each intron. Distal/medial step now truncates distal exon at best point, and iterates. When edges cross in changepoint step, now chopping shortest end. * stage2.c: Allowing rightward and leftward shifts in finding shifted canonical introns. Fixed bug in scoring for reverse introns. Adjusted scoring for canonical introns. * stage1.h: Imposing a size limit on position lists, so large ones are ignored. * stage1.c: Imposing a size limit on position lists, so large ones are ignored. Finding best solutions for each level of numbers of exons. 2009-07-30 twu * stage3.c: Using existing pairs/path in end exons, rather than recomputing in distal/medial calculation. Moved distal/medial after changepoint. * stage3.h: Moved distal/medial calculation to be after changepoint * README: Added information about processing reads from bisulfite-treated DNA * gsnap.c, stage3hr.c, stage3hr.h: Added printing of SNP information * stage1hr.c: Making correct decision on when to find splice ends for half introns * gmap.c: Added indexdb_size_threshold. Made -9 flag do checking, but not print full diagnostics. * dynprog.c: Made gap penalties at ends the same as for middle * diag.c: Added debugging statement * Makefile.gsnaptoo.am: Included snpindex 2009-07-29 twu * README: Added information about providing information to GSNAP about known splice sites and SNPs * gsnap.c: Increased default max_middle_insertions from 6 to 9 * stage1hr.c: Checking entire query for nsnpdiffs when snp_blocks is present 2009-07-07 twu * stage1.c: In find_best_path, calculating median of segments and requiring that medians ascend or descend. Adjusting scores for overlaps between segments. 2009-07-01 twu * gsnap.c, stage1hr.c, stage1hr.h: Added separate probability thresholds for local and distant splicing * stage1hr.c, stage1hr.h: Re-implemented paired-end alignment 2009-06-30 twu * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h: Introduced a penalty for distant splicing * gsnap.c: Introduced masktype * stage3hr.c, stage3hr.h: Introduced chimera_prob field for Stage3_T object. Increased distantsplicing penalty from 1 to 2. 2009-06-29 twu * stage1hr.c: For novel splice sites in local splicing, requiring canonical dinucleotides plus sufficient probability score in either donor or acceptor. Fixed bug in recognizing plus antisense splicing. Restricted half introns to known splice sites. * stage1hr.h: Added masktype * stage1hr.c: Added masktype. Added back half introns. * stage1hr.c: Merged finding of distant splice pairs using known or novel splice sites. 2009-06-28 twu * stage1hr.c: Consolidated finding of splice pairs using known or novel splice sites. Making a single call to retrieve genomic segment for local splicing. 2009-06-26 twu * stage1hr.c: Removed unused tournament and middle_indel_p code * stage1hr.c: Using floors for novel distant splicing * stage1hr.c: Using floors for finding novel local splicing * stage3hr.h: Added field for paired_up * stage3hr.c: Added field for paired_up. Removing duplicates that differ in indel gap length. 2009-06-25 twu * stage1hr.h: Implemented paired-end alignment * stage1hr.c: Implemented paired-end alignment. Fixed computation of floors for middle indels. Fixed computation of find_segments_all for novel splicing. 2009-06-18 twu * Makefile.dna.am, Makefile.gsnaptoo.am: Removed segmentpool files from Makefile.am * gsnap.c, segmentpool.c, segmentpool.h, stage1hr.c, stage1hr.h: Removed all references to segmentpool * stage1hr.c: Removed code for Segmentpool_T * segmentpool.c, segmentpool.h: Removed some fields * stage1hr.c: Fixed bug resulting from resetting nmismatches_all unnecessarily * stage3.c: Fixed bug in computing goodness_rev 2009-06-09 twu * dynprog.c: Increased penalties for mismatch at ends and for opening indels around introns. * gsnap.c: Increased default definition of shortsplicedist from 200000 to 500000. * stage1hr.c: Fixed bugs in dealing with empty plus_segments or minus_segments. 2009-06-08 twu * stage1hr.c: Created variables for faster retrieval of floor scores. Reporting half introns only if both local and distant known splicing fail. * stage1hr.c: Fixed computation of floors, floor_xfirst, and floor_xlast 2009-06-07 twu * stage1.c: Fixed bug in debugging variables * stage1hr.c: Implemented code that does not use Segmentpool_T object * pair.c: Treating ambiguous characters as mismatches for computing matchscores * gmap.c: Proving an option for splicesites output. Allowing use of a SNP genome version. * dynprog.c: Giving ambiguous characters a negative score in GMAP, but not PMAP * stage3.c: Computing direction using just canonical introns and indel openings * stage1hr.c: Removed middle_indel_p field in Segment_T object 2009-06-06 twu * segmentpool.c, segmentpool.h, stage1hr.c: Removed floor from the Segmentpool_T object * segmentpool.c, segmentpool.h: Added a procedure for pushing without any floors * stage3hr.c: Added a penalty for distant splicing * stage1hr.c: Performing local and distant splicing in separate levels 2009-06-05 twu * pair.c, pair.h, stage3.h: Added a function for printing splicesites * stage3.c: Reinstated checking of goodness to determine direction, but now considering just canonical introns and indels. Added a final call to assign_gap_types after trimming. * stage1hr.c: Small improvements to code for binary_search and dual_search 2009-06-04 twu * stage1hr.c: Made improvements in code for dual_search by removing lowi and lowj and updating pointers for positions1 and positions2. * stage1hr.c: Using single splicesites list for novel local splicing * stage1hr.c: Implemented slightly more efficient code for dual_search. * gsnap.c, stage1hr.c, stage1hr.h: Improved speed of finding known splicesites by doing one dual_search for all splice types. 2009-06-03 twu * stage1hr.c: Revised dual_search procedure to handle overlapping splicesites and positions correctly. * genome_hr.c: Fixed bug in handling pos5 for Genome_mismatches_left. * stage1hr.c: Fixed dual_search so it handles all overlapping splicesites and intervals 2009-06-02 twu * stage1hr.c: Implemented faster code for finding novel splice ends * stage1hr.c: Changed Floors_T to be just a single set of scores. Using floors to prune known splice ends. 2009-06-01 twu * stage3hr.c: Removed genomiclength from Stage3_T object. Using chrnum of 0 to indicate distant splicing. * stage1hr.c: Removed oldindels code 2009-05-30 twu * stage1hr.c: Using compressed nucleotide-level alignment for end indels. Preventing firstbound and lastbound from going past read boundaries. 2009-05-29 twu * stage1hr.c: Fixed assignment of shortdistancep in splice pairs. Fixed assignments of prior penalties. 2009-05-25 twu * stage3hr.c: Eliminating duplicates where genomicstart and genomicend are equal * stage1hr.c: Excluding splice positions at ends in novel local splicing * genome_hr.c: Fixed bug in mismatches_right_snps where startdiscard was not being applied * stage3hr.h: Added genomicend to Stage3_T object * stage3hr.c: Made removal of duplicates work for splicing by adding genomicend to Stage3_T object. Made removal of duplicate splice ends faster. * stage1hr.c: Eliminating splice ends where splice position occurs too close to the beginning. Fixed triage to treat novel splicing and known splicing equally, and to give preferences to substitutions over indels over splicing when hits are found at each type. 2009-05-24 twu * gsnap.c: Passing only one splice prob to stage 1 * stage3hr.c: Lookin up splicesites iit only if site was known * stage1hr.h: Passing only one splice prob. * stage1hr.c: Implemented finding of novel distant splice pairs. Fixed bug in dual_search. 2009-05-23 twu * stage1hr.c: Implemented novel local splicing, which includes known splice sites * indexdb_hr.c, indexdb_hr.h, spanningelt.c, stage1hr.c: Implemented gallop search 2009-05-22 twu * stage1hr.c, stage1hr.h: Implemented a new flow through the different algorithms. * gsnap.c: Made shortsplicedist an unsigned int. Changed name of spliceprob to minspliceprob. * stage3hr.c: Using total number of mismatches to score spliced reads * stage1hr.c: Implemented dual intersection method for finding known splice sites * genome_hr.c, genome_hr.h: Added substring parameters to Genome_count_mismatches_limit 2009-05-21 twu * stage1hr.h: Changed name from spliceprob to minspliceprob * stage1hr.c: Moved mismatches, indels, and splicing into a single procedure. Using firstbound and lastbound for half introns. Added provisions for a stretch procedure which uses a spanning set with nrequired = 1. * stage2.c: Modified debugging output * oligoindex.c: Removed unnecessary clearing step * gmap.c: Fixed bug where program failed to clear oligoindices after a poor or repetitive sequence. 2009-05-18 twu * genome_hr.c, gsnap.c: Enabled methylation mode on snp databases * indexdb.c: Improved pre-loading messages for snp databases * snpindex.c: Changed naming convention for snp databases * stage1hr.c: Fixed bug in calling new substitution with fixed value for cmetp. * cmetindex.c: Made the program work for snp databases 2009-05-17 twu * stage3hr.c, stage3hr.h: Stage3 now handles all marking of mismatches. Implemented marking of methylation for indels. * stage1hr.c: Moved functions for counting and marking mismatches to stage3hr.c * gsnap.c: Removed call to specify methylation printing * genome.c, genome.h: Removed function for signaling methylation printing 2009-05-16 twu * stage1hr.h: Providing second indexdb and size_threshold to procedures. * stage1hr.c: Omitting frequent 12-mers in the middle and poly-AT 12-mers at the ends. Performing another round without omitting 12-mers if necessary. Added first implementation for handling methylation data. * oligo.c, oligo.h: Changed definition of repetitive to mean only shifts of 1, 2, or 3 nucleotides. Added procedure to mark frequent oligos, but not used. * indexdb.c, indexdb.h: Added procedure to compute indexdb mean size. * gsnap.c: Added flag to deal with methylation data. Passing size_threshold to stage 1 procedure. * genome_hr.c, genome_hr.h: Added procedures to deal with methylation data. * cmetindex.c: Creating two indexdb's, one for plus strand and one for minus strand. Moved conversion tables to cmet.c. Removed conversion of genome. 2009-05-14 twu * cmet.c, cmet.h: Initial import into CVS * cmetindex.c: Initial import into CVS. Implements reverse genome. 2009-05-13 twu * iit-read.c: Added warning for use of IIT_string_from_position * stage2.c: Fixed bug in using wrong indexsize for a given oligoindex * oligoindex.c, oligoindex.h: Added a procedure to return indexsize * get-genome.c: Fixed printing of coordinates * stage1hr.c, stage1hr.h: Changed polyat to omitted. Created separate procedure to mark omitted, which omits repetitive oligos except at the ends, except for poly-AT at the ends. * stage3hr.c, stage3hr.h: Made removal of duplicates faster * stage1hr.c, stage1hr.h: Added ability to handle methylation data. Using simplified version of Genome_fill_buffer that does not check chromosome bounds. * snpindex.c: Changed name of SNP genome file from genome to genomecomp. * genome.c, genome.h, gsnap.c: Added ability to handle methylation data 2009-05-11 twu * gsnap.c: Made min_end_matches a user-adjustable parameter. Made maxchimerapaths the same as maxpaths. * stage1hr.h: Made min_end_matches a user-adjustable parameter * stage1hr.c: Fixed computation of end indels so it finds maximal length from end. Made min_end_matches a user-adjustable parameter. Removed allocation of polyat outside of 0..query_lastpos. 2009-05-10 twu * stage1hr.c: Fixed bug in turning off end indels. Implemented faster method for computing firstbound and lastbound for xfirst and xlast computation. 2009-05-08 twu * stage3hr.c: Fixed sorting so it uses hittype, and not indel separation * oligo.c, oligo.h: Added function Oligo_mark_repetitive * stage1hr.c: Fixed computations of xfirst and xlast in presence of repetitive oligos. Increased speed of computing nmismatches_long in end indels. * genome_hr.c, genome_hr.h: Modified Genome_mismatches_left and Genome_mismatches_right to take pos5 and pos3 as arguments. * stage1hr.c: Fixed floor formulas again. Generalized idea of polyat to mean all repetitive oligos. For middle indels, computing middle floor explicitly when polyat oligos are present. For end indels, computing firstbound and lastbound to handle cases with polyat oligos at the ends. Reordered compute_end_indels to starting computing from 1 deletion. 2009-05-06 twu * spanningelt.c, spanningelt.h, stage1hr.c: Removed unused code * spanningelt.c, spanningelt.h: Added code for spanning set computation of end indels, but not used. * gsnap.c, stage1hr.h: Added floors_array * stage1hr.c: Made changes to floors: (1) Made floor_middle formula handle middle indels, (2) Created Floors_T object to precompute floors and handle polyat oligomers. Fixed computation of end indels, now can handle mismatches. Fixed bug in computing max_indel_sep. Added code for possible fast computation of end indels, but not used. 2009-05-05 twu * stage1hr.c: Replaced arithmetic expression for smallesti with if statement. * stage3hr.c: Changed sorting order so non-indel alignments rank higher than indel alignments. * stage1hr.c: Computing floors between two segments in finding middle indels * stage1hr.c: Added limit to number of middle indels found 2009-05-01 twu * stage1hr.c: Implemented incremental execution of fast mismatch algorithm. * stage1hr.c: Fixed setting of indel separation in triage. Prevented boostpos from being a compoundpos. Turned off tournament tree, since it was causing a crash. * spanningelt.c: Fixed bug occurring when all spanningelts have no positions 2009-04-30 twu * stage1hr.c: Fixed bug with setting mismatch levels for suboptimal results. Solving all multiple_mm solutions in a single run. * stage3hr.c: Fixed bugs in Stage3_remove_duplicates * stage3hr.h: Added function for counting number of optimal hits. * stage3hr.c: Fixed problem with undesired removal of second splice site within a given genomic region. Added function for counting number of optimal hits. * stage1hr.c: Removed code for REFINE_MISSES. Added back missing statement setting duplicates_possible_p. * gsnap.c: Removed minlevel and maxlevel and replaced with suboptimal mismatches. Made sort always happen. Changed flag name from invertp to circular-output. * stage1hr.c, stage3hr.c, stage3hr.h: Using score in sorting procedure. Added provision for minlevel in Stage3_optimal_score. * stage1hr.c, stage1hr.h: Refined miss_querypos5 and miss_querypos3 boundaries. Implemented triage for minlevel_mismatches and maxlevel_mismatches instead of minlevel and maxlevel, and accounted for fast mismatch algorithm. 2009-04-27 twu * gmapindex.c: Allowing contigs with a single nucleotide * spanningelt.c, spanningelt.h: Removed boosterset idea and returning only the minscore within the spanningset. * stage1hr.c: Removed all recursion from identify_multimiss_iter. Added feature to modify spanningset list and update a counter when a spanningelt is empty. Removed boosterset idea and restored a single boostpos. Correctly implemented fast multimiss algorithm. 2009-04-26 twu * spanningelt.c, spanningelt.h, stage1hr.c: Created separate scores for candidate generation and for pruning. Implemented idea of a boosterset, instead of a single boostpos, but seems to be slower. * Makefile.dna.am, Makefile.gsnaptoo.am, indexdb_hr.c, indexdb_hr.h, spanningelt.c, spanningelt.h, stage1hr.c: Created formal Spanningelt_T object and rewrote algorithms to use it. 2009-04-24 twu * stage1hr.c: Preliminary implementation of a multimiss algorithm generalized from the onemiss algorithm. 2009-04-23 twu * stage3hr.c: Fixed bug that resulted in duplicate outputs * stage1hr.c: Reverting to previous version * stage1hr.c: Implemented vertical solution for find_segments_multiple_mm, which handles each querypos one at a time, but result is much slower. * stage1hr.c: Removed code from before DELAY_READING. Implemented tournament trees, which require slightly fewer instructions than heaps. 2009-04-22 twu * Makefile.gmaponly.am, Makefile.pmaptoo.am: Included changepoint files. * Makefile.dna.am: Included changepoint files. Included indexdb_dump program. * bigendian.c: Added code to output files in bigendian format * stage3.c, stage3.h: Parameterized TRIM_END_PVALUE. Fixed map feature of GMAP for new IIT format. * stage3hr.c: Loosened criteria for duplicate hits that was eliminating overlapping matches with the same number of mismatches. * indexdb_hr.c, indexdb_hr.h, stage1hr.c: Using binary_threshold instead of parent_ndiagonals * indexdb.c: Fixed bug for bigendian machines * iitdef.h: Changed type of divsort to be int, apparently for compiler warnings? * iit-read.c, iit-read.h: Implemented algorithm for map feature of GMAP to use new IIT format * gmap.c: Using divint crosstable for map feature. 2009-04-21 twu * stage1hr.c: Implemented a delay in converting positions to diagonals until needed. 2009-04-08 twu * stage3.c: Using number of matches to trim ends, not total length 2009-04-04 twu * indexdb_hr.c, stage1hr.c: Made exact and sub-1 code work correctly on bigendian machines without having to copy memory. 2009-04-03 twu * gmap.c, stage3.c, stage3.h: Modified -H flag to let user control minendexon length * stage1hr.c: Skipping computation on poly-A or poly-T sequences * stage3.c: Added check for null pairs before generating matchscores * pair.c, pair.h: Revised procedures for producing matchscores * gsnap.c: Adding number of paths to output. Removed check for inplace being possible. * snpindex.c: Added comment * indexdb.c, indexdb.h: Removed procedures that create sentinels. * indexdb_hr.c: Not using sentinels. For compoundpos, always reading in place and converting to bigendian when needed. * stage1hr.c, stage1hr.h: Not using sentinels. For exact and sub:1, always reading in place and converting to bigendian when needed. 2009-04-02 twu * stage1.c: Added limits on number of gregions to speed up program * stage3.c, stage3.h: Using changepoint algorithm and iterative trimming of ends to improve ends of alignment. * indexdb.c, indexdb.h: Added hooks for sentinel in indexdb files * gregion.c, gregion.h: Rewrote support filtering to use either a fixed difference (for longer sequences) or a percentage difference (for shorter ones). For extending sequences, using querylength for adequate support or short support. * gmap.c: Improved documentation for --help * genome-write.c: Always print out number of bad characters * changepoint.c, changepoint.h: Modified procedures to ignore -1 values in input 2009-03-31 twu * stage1hr.c: Using heaps for nomiss and onemiss, but not for exact. Replacing NULL lists with sentinels when necessary. * stage1.c: Implemented limit on number of gregions before finding unique ones, to prune nonspecific, slow sequences. 2009-03-26 twu * stage1hr.c: Using pointers and relying on sentinels to advance through lists. * stage1hr.c: Removed old code * stage1hr.c: Changed sub:1 recursive procedures to iterative * stage1hr.c: Reverting to previous version * stage1hr.c: Attempt to use information from third and later lists to advance first list * stage1hr.c: Using results of second list to speed up intersection * stage1hr.c: Implemented a faster version of performing intersection for exact matches. * stage1hr.c: Starting exact matches with intersection of first two lists. 2009-03-25 twu * stage1hr.c: Made non-heap compoundpos_find procedure the default * indexdb_hr.c, indexdb_hr.h: Implemented a non-heap version of searching through a union of positions. * indexdb_hr.c: Added hooks for handling indexdb with sentinels. Removed unused code. * stage1hr.c: Implemented iterative version of find_exact_aux. Depending on sentinel to increase speed of loop. 2009-03-24 twu * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Fixed printing in psl format when user provides a segment * compress.c, compress.h, genome-write.c: Fixed reporting of non-ACGTNX characters * gmap.c, stage3.c, stage3.h: Removed -k flag and trimexonpct parameter * iit_fetch.c: Added ability to compute ratios from pdl files * iit-read.c, iit-read.h: Provided procedures for dumping version 1 IITs * get-genome.c: Fixed dump output of contigs * compress.c: Reduced number of error messages for non-ACGTNX characters * stage3.c: No longer using non-canonical introns for trimming end exons, only binomial test. Fixed bad behavior for theta values close to 1.0. Not reporting alignments with fewer than 20 matches. 2009-03-19 twu * iit_fetch.c: Added hook for splices iits * plotgenes.c, plotgenes.h: Added function for handling splices. Made sure nbins > 0. * plotgenes.c, plotgenes.h: Added function Plotgenes_fetch_points. Renamed some functions. 2009-03-18 twu * gmap_setup.pl.in: Gives files on command line to fa_coords and gmap_process, which can then add linefeed if necessary to lines. * gmap_process.pl.in: Allowed program to read from either stdin or files on command line. In the latter case, it adds linefeed if necessary to lines. * fa_coords.pl.in: Re-indented program. Allowed program to read from either stdin or files on command line. * iit_fetch.c: Implemented handling of PDL files. Added -s flag to specify sample number. * stage3.c: Trimming using a binomial test on end exons * gdiag.c, genome.c, genome.h, get-genome.c, gsnap-to-iit.c, gsnap.c, indexdb.c, indexdb.h, oligo-count.c, snpindex.c: Modified programs to take a snp_root argument to -V * gmap.c: Added "Processed" message to stderr at end of batch run * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.pmaptoo.am: Updated Makefiles * pair.c, pair.h: Added function Pair_fracidentity_simple * pbinom.c, pbinom.h: Initial import into CVS 2009-03-17 twu * gsnap.c: Considering too many paths as a failure type for the --nofails and --failsonly flags 2009-03-10 twu * stage1.c: Added variable needed in debugging * plotgenes.c, plotgenes.h: Renamed functions relating to fetching * iit_fetch.c: Removed code relating to printing * iit-read.c: Fixed issues for bigendian machines and for fileio access * datadir.c, datadir.h, gmap.c: Added extra functionality to show available databases and map files * iit_fetch.c: Initial import into CVS. Copied from iit_plot.c * blackboard.c, changepoint.c, compress.c, diag.c, dynprog.c, genome-write.c, genome.c, get-genome.c, gmap.c, gmapindex.c, gregion.c, iit-read.c, iit-write.c, indexdb.c, indexdb_hr.c, intpool.c, oligo.c, oligoindex.c, oligoindex.h, pair.c, reader.c, sequence.c, smooth.c, stage1.c, stage2.c, stage3.c, translation.c: Removed unused variables based on SGI compiler warnings * iit-read.c: Fixed reading of labels and annotations using fileio on bigendian machines. * bigendian.c, bigendian.h: Added command for reading uint using fileio 2009-03-09 twu * stage3.c: Fixed bug where gap was left at 3' end before extending the end. * stage1hr.c: Fixed counting of mismatches on revcomp sequences * indexdb_hr.c: Made heapsize an int, rather than unsigned int, in all procedures * indexdb.c: Moved variable declarations above debugging statement to satisfy SGI compiler. * gsnap.c: Changed variable names involving -q flag to "part_" * get-genome.c, iit_get.c: Printing divstring only if ndivs > 1 * iit-read.h: Added ability to retrieve divstring from universal coordinates. * iit-read.c: Added ability to retrieve divstring from universal coordinates. Fixed bug occurring during reading annotatinos using fileio. * iit-write.c: Fixed bug relating to use of null annotlist to indicate altstrain IIT. 2009-03-06 twu * pair.c, pair.h, stage3.c: Fixed bug where -P and -Q flags were printing C-to-N on antisense cDNAs. 2009-02-20 twu * gmap_setup.pl.in: Added FILE_ENDINGS variable * get-genome.c: Removed debugging flag * sequence.c: Improved handling of blank lines * indexdb.c, snpindex.c: Changed offsets and positions to occur at modulo 0 intervals based on chrpos, not universal position. * iit_get.c: Added feature to print results from tally types of IITs * iit-read.c: Fixed bug in re-fetching matches based on index * gsnap.c: Cleared flags for batch and novelsplicing * types.h: Removed an extraneous open brace * stage3hr.c, stage3hr.h: Calculating splice site model score at print time for all splice sites. * stage1hr.c: Providing sense information for donor and acceptor substrings. Testing if duplicate matches are possible due to minlevel and eliminating them. 2009-02-05 twu * stage3hr.c, stage3hr.h: Distinguishing between splice objects that require copying of substrings and those that do not. * stage1hr.c: Incorporated splice site probabilities into finding splice sites by distance. * stage1hr.c: Initial implementation of finding splice pairs by distance * gsnap.c: Retrieving and printing known splicesite information at print time. * iit-read.c, iit-read.h: Added function IIT_get_typed_with_divno * stage3hr.c, stage3hr.h: Providing chroffset information to Substring_T object. Retrieving and printing known splicesite information at print time. * stage1hr.c: Providing chroffset information to Substring_T object * stage1hr.c, stage1hr.h: Implemented faster method for applying known splice sites * gsnap.c: Implemented faster method for applying known splice sites 2009-02-04 twu * stage1hr.c, stage1hr.h: Fixed bug when allvalidp5 or allvalidp3 is false in paired end reads. Implemented Stage1_retrieve_splicesites. * resulthr.c, resulthr.h: Renamed paired_translocation as paired_as_singles * iit-read.c: Fixed bug in evaluating nexactmatches * get-genome.c: Made retrieval of map information work with universal coordinates. * stage3hr.c: Fixed bug where second read of paired_as_singles was not being printed * gsnap.c: Renamed paired_translocation to paired_as_singles * genome_hr.c: Now requiring query to match either reference or alternate allele at SNPs. Otherwise, it counts as a mismatch. 2009-02-03 twu * get-genome.c: Added feature to print snp information * gdiag.c, gsnap-to-iit.c, iit_plot.c: Using new interface to Genome_new * stage3hr.c: Eliminating novel splice site when it duplicates a known splice site * stage1hr.c: Fixed bug where plus multiple mismatches are dropped when minus batches are all empty. Added flexibility to floor_xfirst and floor_xlast to allow for indels adjacent to end 12-mers. Changed condition endpoint for indels at ends. Using genome_hr procedure to count mismatches for indels. Finding all shortdistance splices with known splice sites first, before finding novel splice sites. * snpindex.c: Writing revised version of genome. Skipping cases where snp type is inconsistent with reference genome. Taking snps_iit as a command-line argument. * sequence.c, sequence.h: Added Sequence_print_two function for snps * gsnap.c: Using genomealt instead of snps_iit * gmap.c: Switched -v and -V flags. Using new interface to Genome_new. * genome_hr.c: Corrected calculation of mismatches_right. Corrected offset and now subtracting number of leading zeroes. Using clz_table instead of log_table. Improved debugging statements. 2009-02-02 twu * genome_hr.c, genome_hr.h, stage1hr.c, stage1hr.h: Using genomealt instead of snps_iit * genome.c, genome.h: Added ability to read Genome_T object as alternate or snp only versions. * gdiag.c, oligo-count.c: Using new interface to Indexdb_new_genome * gmapindex.c, pmapindex.c: Removed altstrain code * indexdb.c, indexdb.h: Storing positions only at 0 mod 3. * gsnap.c: Made batch loading the default for multiple input sequences. Testing for both new names and old names of reference offsets and positions files. Made flag for splicing refer to novel splicing. * gmap.c: Made batch loading the default for multiple input sequences. Testing for both new names and old names of reference offsets and positions files. * get-genome.c: Added debugging statement * genome_hr.c: Fixed retrieval of intervals from snps_iit file, which are 1-based. * stage1hr.c, stage1hr.h: Implemented snp differences for splicing and exact matches. Allowing identification of novel splicing in addition to known splice sites. * stage3hr.c: Implemented reporting of snp differences for indels. * snpindex.c: Fixed bug in using chromosomal position instead of universal position. Using parameterized suffix for reference offsets and positions files. 2009-01-30 twu * snpindex.c: Initial import into CVS 2009-01-29 twu * genome_hr.c: In Genome_mismatches_left and Genome_mismatches_right, adding a 'sentinel' mismatch position to list if haven't reached max_mismatches. * stage1hr.c: Implemented tolerance and reporting of snp differences for novel splice sites. 2009-01-28 twu * stage3hr.c, stage3hr.h: Added ability to print number of SNP differences separately. Thie feature not yet implemented for indels though. * stage1hr.c, stage1hr.h: Added ability to tolerate known SNPs and count differences at those sites separately. Thie feature not yet implemented for novel splices though. * segmentpool.c, segmentpool.h: Changed name of chrlow to chroffset * iit-read.c: Fixed computation of divint_crosstable * genome_hr.c, genome_hr.h, gsnap.c: Added ability to tolerate known SNPs and count differences at those sites separately. * gsnap-to-iit.c: Increased buffer sizes * get-genome.c: Made get-genome work on map files * plotgenes.c: Edited comments * gsnap.c: Provided user with the ability to set parameters for size of middle and end insertions and deletions. 2009-01-22 twu * stage1hr.c: Added steps to remove duplicate paired-end results * stage1hr.c: Fixed memory leak * gsnap.c: Increased default maxpaths from 20 to 100. Added -e flag to --help output. Providing max_mismatches parameter to paired-end procedure. * stage3hr.h: Added function Stage3_remove_old. * stage3hr.c: Revised definition of paired-end length to go from beginning-of-read to beginning-of-read. Added function Stage3_remove_old. * stage1hr.c, stage1hr.h: Passing max_mismatches parameter for paired reads * indexdb_hr.c: Fixed bug where heapify was performed after binary_search used up all available diagonals in a batch. 2009-01-21 twu * gmap_setup.pl.in: Fixed bug in escaping a variable * pagesize.m4: Made comment line clearer * builtin.m4: Initial import into CVS. * Makefile.am: Added gmap_reassemble * fa_coords.pl.in: Made -S flag the default. Added -C flag to look explicitly for chromosomal information. * md_coords.pl.in: Added check for unmapped contigs * gmap_setup.pl.in: Maded -S flag the default behavior. Added -C and -O flags. Added clean procedure when making coords.genome. * stage3hr.c, stage3hr.h: Including label as part of Substring_T * stage1hr.h: Added procedures for finding splices against known splicesites iit. * stage1hr.c: Added procedures for finding splices against known splicesites iit. Corrected computation of distances on inversions. * indexdb.c: Cleaned code to ensure gsnap finds the right offsets file * iit-write.c: Added check for a null typestring * iit_dump.c: Fixed debugging output * iit-read.h: Added procedures to search based on divint and to get a crosstable of divints. * iit-read.c: Fixed IIT_debug. Added procedures to search based on divint and to get a crosstable of divints. * gsnap.c: Added flags for maxmismatches, splicing penalties, and splicing iit. Added flags for failsonly and nofails in output. * gregion.c: Added abort if genomicend < genomicstart * gmapindex.c: Eliminated reading of strain information and assignment to contigtypelist. Increased size of chrpos string from 100 to 8192. * gmap.c: Reformatted output for --help 2009-01-15 twu * stage1hr.c: Created user-specified parameters for splicing probabilities and length. * stage1hr.c: Fixed bug in printing coordinates of splicing results on minus strand 2009-01-14 twu * gsnap.c: Added flags for excluding failed alignments, or limiting to those 2009-01-13 twu * stage1hr.c: Added additional check to prevent straddling across chromosomes * indexdb_hr.c, indexdb_hr.h, stage1hr.c: Implemented more efficient way of ignoring extensions past beginning of genome. 2009-01-08 twu * stage1hr.c: Hacks put in to exclude diagonals that are less than querylength * stage1hr.c: Fixed issues with wrong indel_pos chosen in middle insertions, and not checking up to specified number of indels. 2008-12-24 twu * indexdbdef.h: Reverted to version 1.2 * indexdb.c: Reverted to version 1.121 * indexdb.c, indexdbdef.h: Attempt to use a compressed indexdb file 2008-12-22 twu * stage1hr.c: Reading floor 2 during find_segments_multiple_mm. Returning min_mismatches_seen from find_onemiss_matches. * indexdb_hr.c: Put check for size of compoundpos outside of loop. * stage1hr.c: Added bounds on location of mismatch in onemiss search 2008-12-21 twu * stage1hr.c: Reverted back to version 1.106 that has hanging compoundpos positions for exact and onemiss matches. * stage1hr.c: Version of stage 1 with hooks for disallowing compoundpos positions that hang over ends. However, this appears to add 40% to number of instructions. * stage1hr.c: Setting pointers->compoundpos to NULL after it becomes empty, to prevent further computation on it. * indexdb_hr.c, indexdb_hr.h: Added function Compoundpos_intersect * stage1hr.c: Eliminated compoundpos positions in creating segments from multiple mismatches. Delayed sorting of segments until needed for middle insertions and deletions. Setting floor to zero in cases where poly-AT is present. For end indels, computing oligomer_start and oligomer_end based on results of actual mismatches found. 2008-12-20 twu * stage1hr.c: Fixed bug in debugging statement * gmapindex.c: Added more compiler checks to hide alternate strain code * Makefile.util.am: Added program all-orfs * Makefile.dna.am, Makefile.gsnaptoo.am: Removed chrsubset.c from gsnap sources 2008-12-19 twu * stage3hr.c, stage3hr.h: Using left instead of genomicpos5 for creating Stage3_T objects. * stage1hr.c: Using left instead of genomicpos5 for creating Stage3_T objects. Consolidated code for plus and minus segments. Changed parameter list for find_segments_multiple_mm to prepare for finding hits within that procedure. * stage1hr.c: Clarified calculations of floors 2008-12-17 twu * stage1hr.c: Using init and search routines for Compoundpos_T objects * separator.h: Changed coordinate separator from "--" to ".." * intlist.c, intlist.h: Added function Intlist_sort_ascending() * indexdb_hr.c, indexdb_hr.h: Implemented init and search routines for Compoundpos_T objects * iit-write.c, iit_store.c: Added monitoring output * stage1hr.c: Clarified processing of pointers in search for onemiss matches. * stage1hr.c: Allowing spanning 12-mers for exact and onemiss searches to go in either forward or reverse direction, and picking the optimal direction. * stage1hr.c: Allowing compoundpos positions to be used for boosting, by merging them during search for exact matches. * stage1.c: Fixed a bug where the querypos of sentinel was set incorrectly. Now using querylength, not -1. Added a check to prevent gregions with negative values for genomicstart. * indexdb_hr.c, indexdb_hr.h: Removed partner_diagonals from Compoundpos_T object and removed reduce function. * stage1hr.c: Fixed potential problem with sentinel. The querypos part of sentinel now set to querylength, not -1, to guarantee it stops the loop. Introduced Pointers_T object to simplify exact and onemiss code. 2008-12-16 twu * stage1hr.c: Introduction of Compoundpos_T object for speeding up computation in exact and onemiss algorithms * intlist.c, intlist.h: Added Intlist_insert_second() function * indexdb_hr.c, indexdb_hr.h: Introduction of Compoundpos_T object and operations 2008-12-15 twu * intlist.c: Made cell_ascending() and cell_descending() static. * genome_hr.c, genome_hr.h: Created Genome_count_mismatches_limit. Also added code for a oneloop version of Genome_count_mismatches. * gsnap.c: Removed chrsubset feature * stage3hr.c, stage3hr.h: Clarified that Substring_new_donor and Substring_new_acceptor should receive forward query sequence. * stage1hr.c: Removed querylength from call to select_positions_for_exact(). * stage1hr.h: Removed Chrsubset_T object. * stage1hr.c: Using new call to Genome_count_mismatches_limit. Replaced uses of queryseq with queryuc_ptr and queryrc. Introduced query_lastpos to replace multiple calculations of (querylength - INDEX1PART). Removed Chrsubset_T object. 2008-12-14 twu * stage1hr.c: Fixed onemiss algorithm so it handles short reads less than 2*INDEX1PART in length. Changed occurrences of oligobase to INDEX1PART. Removed oligobase and querylength from Stage1_T object. * genome_hr.c, genome_hr.h: Made Genome_count_mismatches more efficient, by using pointers and stepping through query and genome blocks sequentially. 2008-12-13 twu * stage1hr.c: Implemented new method for identifying single mismatches, similar to that for finding exact matches. * result.h: Added a new failure type for short sequences * pmapindex.c: Changed default index1interval from 3 to 6 * oligo.c: Added a comment. * oligo-count.c: Using revised interface to indexdb.c. * indexdb_hr.c, indexdb_hr.h: Removed addition of a diagterm for lookups involving a left or right shift. * indexdb.c, indexdb.h: Changed some function names. Added function to determine if inplace reading is possible. Added parameter to require sampling of 3 in indexdb. * gmap.c: Using revised interface to indexdb.c. Added check and message for sequences shorter than INDEX1PART. * gdiag.c: Using revised interface to indexdb.c * block.c: Using revised function names in indexdb.c * segmentpool.c, segmentpool.h: Removed break5 and break3 from Segmentpool_T object. * stage1hr.c: Removed break5 and break3 from Segmentpool_T object * stage1.c: Providing correct adjustment to diagonals for the minus strand, by adding the length of the oligomer. 2008-12-12 twu * stage3hr.c, stage3hr.h: Added function to compare Stage3_T objects by genomic location * gsnap.c: Added flag to sort results by genomic location * stage1hr.c: No longer saving segments during check for single mismatches. Checking and saving substitution hits within each heap merge. * gsnap.c: Added user flag for setting indel penalty * stage1hr.c, stage1hr.h: Made indel_penalty a parameter adjustable by the user. 2008-12-11 twu * stage1hr.c: Moved around code for special cases that prevent searching for end indels at beginning or end of the sequence. * gsnap.c: Added information about whether inplace reading of indexdb is possible. Added information to version command. * segmentpool.c, segmentpool.h: Added floor, floor_xfirst, and floor_xlast fields to the Segment_T object. * stage1hr.c: Removed separate lists of segments by floor. Keeping only a single list of plus segments and of minus segments, with floor information stored in the Segment_T object. * stage1hr.h: Providing information about whether inplace reading of diagonals is possible. * stage1hr.c: Delayed addition of diagterm until after search for exact matches. Allowing reads of diagonals from indexdb to be inplace when possible * types.h: Added check for size of unsigned long long as an 8-byte word * stage1hr.c: Using 64-bit words, if available, to speed up comparison of batches in heap merge. * stage1hr.c: Replaced calls to List_head, List_next, Intlist_head, and Intlist_next with primitives. 2008-12-10 twu * Makefile.pmaptoo.am: Revised source files * Makefile.gsnaptoo.am: Added gsnap-to-iit program. Added segmentpool. * Makefile.gmaponly.am: Added chrom.c to iit utilities * Makefile.dna.am: Removed test programs for Compress_T procedures * Makefile.dna.am: Added test programs for Compress_T procedures. Added segmentpool. * segmentpool.c, segmentpool.h: Initial import into CVS * gsnap.c, stage1hr.c, stage1hr.h: Added segmentpool * stage1hr.c: Enforcing diagonals to be within chromosomal bounds. Removed unused code. * genome.c: Fixed check for chromosome bounds * genome_hr.c, genome_hr.h: Removed checks for crossing of chromosome boundaries. Relying upon calling procedures to enforce this. 2008-12-08 twu * gsnap.c: Added flags for minlevel and maxlevel. Cleaned up unused flags. * genome_hr.c, genome_hr.h: Made functions return maximum number of mismatches if they cross a chromosome bound. 2008-12-05 twu * stage1hr.c: On end indels, checking to see if indel_pos is non-positive. Passing chromosome_iit to Genome_mismatches_left and Genome_mismatches_right. * gsnap.c: Added statement at end of batch processing to indicate number of queries processed. 2008-12-03 twu * subseq.c: Added U and l flags * stage1hr.c: For middle indels, putting indel at leftmost genomic position. Fixed filtering criteria for end indels. Counting mismatches and left and right to identify candidates for end indels. * stage1.c: Added debugging statements * gdiag.c, gsnap-to-iit.c: Using new interface to Genome_fill_buffer * gmap.c: Fixed genomiclength for user-provided genomic sequence. Stopped trimming of sequence. * diag.c: Loosened criteria for MAX_DIAGONALS and MIN_SCORE. 2008-11-26 twu * genome_hr.c: Made Genome_mismatches_left and Genome_mismatches_right fill mismatch_positions entries 0..max_mismatches. * stage1hr.c: Implemented new algorithms for middle insertions and deletions, using Genome_mismatches_left and Genome_mismatches_right. 2008-11-25 twu * stage1hr.c: Using new interface to Genome_count_mismatches * genome_hr.c, genome_hr.h: Added functions Genome_mismatches_left and Genome_mismatches_right. Added builtin bit-vector functions. * genome_hr.c, genome_hr.h: Allowed specification of pos5 and pos3 in Genome_count_mismatches 2008-11-24 twu * genome_hr.h: Using new Compress_T object. * genome_hr.c: Using new Compress_T object. Removed unused code. * stage1hr.c: Using new Compress_T object * stage3hr.c: Fixed memory leak * compress.c, compress.h: Introduced Compress_T object * genome_hr.c, genome_hr.h: Initial entry into CVS * gsnap.c: Added flag for handling circular-end reads * stage3hr.c, stage3hr.h: Making a single invertp work on paired-end and circular-end reads * stage1hr.c: Using direct comparison against compressed genome to count mismatches * genome.c, genome.h: Added function Genome_blocks. Made Genome_fill_buffer return nunknowns. * compress.c, compress.h: Added functions Compress_new and Compress_shift 2008-11-20 twu * sequence.c, sequence.h: For circular-end reads, keeping reverse complement of queryseq2, but swapping queryseq1 and queryseq2. * stage1hr.h: Placed local exon-exon mappings after multiple substitutions and indels in the hierarchy of levels. * stage2.c: Commented out unused procedure * stage3.c: Added debugging statement * stage3hr.c, stage3hr.h: Enabled printing of circular-end reads 2008-11-14 twu * stage1hr.c: Allowing mismatches with splicing 2008-11-12 twu * gsnap.c, stage1hr.h: Removed unused parameters * stage1hr.c: Using new single-end read algorithms for paired-end reads. Fixed problems with query sequences that contain non-ACGT characters. * stage3hr.c: Fixed problems with printing inverted sequence for paired-end reads 2008-11-11 twu * gmap_reassemble.pl.in: Initial entry into CVS * stage3hr.c: Fixed bug in Stage3_remove_duplicates * stage1hr.c: Revised splicing parameters. Fixed calculation of maxfloor. 2008-11-10 twu * stage3hr.c: Favoring substitutions over equivalent indels in removing repeats. * stage1hr.c: Treating max_middle_insertions and max_middle_deletions separately in solving middle indels. Removed scores from compute_end_indels. Not resetting min_mismatches after single_mm, because of effect of poly_at oligos. * gsnap.c, stage1hr.h: Allowing separate parameters for middle and end insertions and deletions. * stage3hr.c: Added check and warning messages if observed mismatches is different from the number expected * stage1hr.c: Introduced floor system for computing indels. Defined calculation of middle and end indels more clearly, with separate parameters for middle and end insertions and deletions. 2008-11-06 twu * stage1hr.c: Made fixes for splicing to work * indexdb_hr.h: Removed obsolete functions * indexdb_hr.c: Fixed masking of left shifts * indexdb.c: Commented out warning message for multiple index files * gsnap.c: Partially implemented minlevel and maxlevel controls for Stage1. Removed references to Stage3chimera_T objects * resulthr.c, resulthr.h: Removed references to Stage3chimera_T objects * stage3hr.h: Implemented new structure for Stage3 objects: single reads may have one or more substrings. * stage3hr.c: Implemented new structure for Stage3 objects: single reads may have one or more substrings. Modified print procedure for indels to allow for mismatches. * stage1hr.h: Removed chimerap variable since Stage3 single reads are all of the same type now. * stage1hr.c: Fixed polyat assessment at ends of query. Storing first and last diagonals and computing mismatches on both. Changed ptr->indels to be consistently positive for insertions and negative for deletions. Using new Stage3 objects. Solving middle indels with mismatches. Using minlevel and maxlevel to control computing behavior on different alignment types. 2008-11-04 twu * stage1hr.h: Made max_insertions and max_deletions parameters. Added minlevel and maxlevel. * stage1hr.c: Cleaned up procedures for single mismatches and multiple mismatches. Added oligobase to minus diagonals to prevent negative coordinates. Made max_insertions and max_deletions parameters. Added minlevel and maxlevel. 2008-10-28 twu * md_coords.pl.in: Revised instructions to user 2008-10-24 twu * stage3.c: In comparing paths_fwd and paths_rev, using just number of matches * stage2.c: Also performing stage2 if there is a sufficient value for ncoverage * stage1.c: Removed matchsize and matchinterval from Stage1_T object, and allowing option in scan_ends of iterating on different matchsizes. In removal of repeated oligomers, now also removing neighboring oligomers. Now filtering gregions by support. * reader.c: Added fields so Reader_reset_ends resets correctly * gregion.c, gregion.h: Added function to filter by support * gmap.c: Fixed error message for -z flag * diag.c, diag.h: Returning ncovered from Diag_update_coverage * block.c, block.h: Removed high-resolution option 2008-10-23 twu * stage3.c: Handling case where gap is at beginning of path. Trimming end exons until a canonical intron is reached. * stage1.c: Identifying repeated oligos at the outset * pair.c: Made counting of ambiguous matches more uniform * gsnap-to-iit.c: Added information about unique positions. Added ability to halt at a given position. * gregion.c: Modified print statement 2008-10-10 twu * pair.c: Made N's in query sequence align as mismatches in GMAP. * gmapindex.c: Removing "chr" from chrsubset file * stage1hr.c: Tightened criteria for finding exon-exon junctions. Not reading 10- or 11-mers at ends if the 12-mer is invalid. * stage3hr.c: Made macros for text constants * match.c, match.h: Added function Match_print * gsnap.c: Changed default of trim flag to be false * gmap.c: Added jobdiv capability to GMAP 2008-10-02 twu * blackboard.c: Simplified the fix for the hang for input done with no inputs 2008-10-01 twu * blackboard.c: Fixed hang that occurs when no input was ever received, which happens with the jobdiv option when the input has fewer sequences than the first batch modulus. 2008-09-26 twu * iit_get.c: Allowing retrieval of labels that contain colons, by checking first to see if the first part of the label is a divstring. * iit-read.c, iit-read.h: Added function to determine divint without reading entire IIT. 2008-09-24 twu * stage3.h: Added PRE_ENDS as a debugging endpoint * stage3.c: Modified solutions at ends. First, we decide between distal and medial, with distal penalized for non-canonical introns. Then, we simply extend the ends without peelback and permitting an initial gap. * stage2.c: Introducing a minimum pct_coverage * oligoindex.c, oligoindex.h: Allowed suffnconsecutive to be a different value in each level of resolution. * match.c, match.h: Moved function Match_get_coords to gregion.c * gregion.h: Added fields for weight and support. * gregion.c: Added fields for weight and support. Duplicate gregions are now resolved in favor of the gregion with the greatest weight, or if equal, the greatest support. * gmap.c: Increased extraband at end from 3 to 6 * dynprog.c: Allowing a gap to start the alignment of end5 and end3. Introducing a parameter init_jump_penalty_p to control this. * diag.c: Replaced 0 with 0U in some cases * stage1.c: Using weights on matches and on gregions to focus on genomic regions with most specificity. 2008-09-19 twu * stage1.c: Added penalty for intron length in find_best_path to reduce excessively large regions. If segments are used, then clearing gregions and starting over. 2008-09-16 twu * stage1hr.c: Fixed bug with false positives on middle indel. Fixed bug with combinations of insertions and deletions in find_segments_multiple_mm. 2008-09-15 twu * gmap.c: Allowing multiple paths for alignment against user-provided segment. Explicitly recomputing goodness over all stage3 objects. Allowing user to specify direction of introns. * stage2.c: Giving points for indexsize-equivalent number of matches if it starts a new chain. * stage1hr.c: Fixed problem with insertions in first 12-mer. Now treating as a mismatch, as we did for insertions in the last 12-mer. * oligoindex.h: Removed debug_graphic_p from argument list * oligoindex.c: Fixed memory leak * md5-compute.c: Added ability to handle multiple input files * diag.c, diag.h, diagdef.h: Computing scores for each diagonal and requiring a minimum score 2008-09-09 twu * stage1hr.c: Fixed bug in exact match to end of chromosome, resulting in negative coordinates of the next chromosome. * stage3.h: Added function for recomputing goodness * stage3.c: Made widebandp true on all single gap solutions. Extending 5' and 3' ends, rather than comparing distal with medial, when defect rate is high. Recomputing goodness using just matches if best hit is poor. 2008-09-08 twu * diag.c, diag.h: Moved some functions from oligoindex.c to diag.c * oligoindex.c, oligoindex.h: Implemented different mapping resolutions by using multiple oligoindices. Using a separate lookback for each resolution. * stage2.c, stage2.h: Implemented different mapping resolutions by using multiple oligoindices. 2008-09-04 twu * configure.ac: Added check for stat64 * acinclude.m4: Including config/acx_mmap_fixed.m4, config/acx_mmap_variable.m4, and config/struct-stat64.m4. * VERSION: Updated version * README: Augmented instructions for new gmap_setup flags and made mention of GSNAP. * dynprog.c, dynprog.h: New functions added for dealing with an internal gap * indexdb.c: Fixed problem in reading offsets and positions file based on interval of 6. * gmap.c: Made default canonical mode to be 1 * stage3.c: Reverted to revision 1.300 with newer code kept for stage3debug. * stage2.c: Reverted to revision 1.221 with newer code kept for converting oligomers to nucleotides * smooth.h: Removed stage2_indexsize * smooth.c: Reverted to revision 1.41, plus removal of stage2_indexsize * oligoindex.h: Reverted to revision 1.47, plus most recent wobble masking and code for multiple oligoindices * oligoindex.c: Reverted to revision 1.108, plus most recent wobble masking and code for multiple oligoindices * diagpool.c: Removed initialization for bestscore and prev fields * diagdef.h: Removed score, bestscore, and prev fields * diag.h: Reverted to revision 1.5 with some functions moved from oligoindex.c. * diag.c: Reverted to revision 1.7 with some functions moved from oligoindex.c. * stage3.h: Calling stage 2 directly * stage3.c: More attempts to rearrange steps * stage2.c, stage2.h: Bypasses former stage 2 and returns best path of diagonals, converted to nucleotides * smooth.c: Changed function for finding internal shorts * oligoindex.c, oligoindex.h: Changed Oligoindex_get_mappings to return a list of diagonals * iit-read.h: Added comments to explain arguments * gmap.c: Having stage2 return a path * diagpool.c: Added initialization for bestscore and prev * diagdef.h: Added fields for bestscore and prev * diag.c, diag.h: Added functions Diag_compare_querystart and Diag_best_path 2008-08-16 twu * diag.c, diag.h, gmap.c, oligoindex.c, oligoindex.h, stage2.c, stage2.h: Implementation of oligoindex step at multiple resolutions 2008-08-15 twu * stage2.c: Rearranged procedures in preparation for multiple oligoindices. * oligoindex.c, oligoindex.h: Moved various functions from oligoindex.c to diag.c. Added various variables to Oligoindex_T struct. Rearranged procedures in preparation for multiple oligoindices. * diag.c, diag.h: Moved various functions from oligoindex.c to diag.c * stage2.h: Added a version of stage 2 that can be called from within stage 3. * stage2.c: Using active hits, instead of minactive and maxactive bounds. Added hooks for relying upon splice site scores. Made conversion to nucleotides handle arbitrary masks. Added penalty for diffdistance not a multiple of 3. Added a version of stage 2 that can be called from within stage 3. * stage1hr.c: Exiting if a single polyat 12-mer found, to prevent false indels from being found in find_segments_multiple_mm. * oligoindex.h: Computing active hits around each diagonal, instead of minactive and maxactive bounds. * oligoindex.c: Added wobble masking. Computing dominance by using scores, based on number of diagonals overlapping each querypos. * indexdb_hr.c: Added masking for all left shifts * indexdb.c: Fixed problem where highest resolution indexdb was not being used * gmap.c: Using new interface to Oligoindex_set_inquery * diag.c, diag.h, diagdef.h: Added score to Diag_T object * block.c: Added error message 2008-08-11 twu * oligoindex.c, oligoindex.h: Passing character strings to procedures, rather than Sequence_T objects. 2008-08-10 twu * gmap.c: Made changes to debug requests from stage3 * stage3.c: Rearranging steps to improve cross-species performance. Work still in progress. 2008-08-08 twu * stage1hr.c: Removed old code * stage1.c: Made heap and segment algorithm work for PMAP * binarray.c, binarray.h: Removed binarray source code * sequence.c: Redefined trim_end for PMAP to exclude the terminal stop codon added * pmapindex.c: Including index1interval in filename for PMAP databases * matchpool.c: Removed old code that referred to positions, not diagonals * match.c: Simplified a procedure * indexdbdef.h: For PMAP, allowed index1interval to be determined by available databases * indexdb_hr.c, indexdb_hr.h: Moved Indexdb_read_no_subst command to indexdb.c * indexdb.c, indexdb.h: Moved Indexdb_read_no_subst command here. Including index1interval into filename for PMAP databases. * gmap.c: Changed variable name from samplingp to lowidentityp * block.c: Bypassing oligo.c and calling Indexdb commands directly 2008-08-06 twu * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.pmaptoo.am, stage1.c, stage1.h: Removed binarray 2008-08-05 twu * binarray.c, binarray.h, stage1.c: Transitioning away from bins and toward segments. Intermediate code contains both sets of functions. 2008-08-01 twu * block.c, block.h, gregion.c, gregion.h, matchpool.c, matchpool.h, stage1.c: Just before change to using diagonals, with directives indicating changes 2008-07-31 twu * gsnap.c: Changed batch specification so it runs from 0 to n-1. * stage1hr.c: Changed hierarchy of results to be exact, sub:1, local splicing, half introns, sub:2, sub:3, sub:4, indels, distant splicing. Increased speed for computing splice ends. Limiting nmismatches for each splice end, so not checking nmismatches for splicing after that. * gsnap.c: Reduced default maxpaths to 20 and maxchimerapaths to 2 2008-07-30 twu * stage1hr.c: Improved identification of repetitive oligos * sequence.c: Better handling of FASTA files that end with blank lines 2008-07-29 twu * stage1hr.c, stage1hr.h: Implemented different sizes for insertions and deletions * stage3hr.c, stage3hr.h: Added function Stage3_remove_duplicates * stage1hr.c: Made 12-mer mod 3 strategy work for multiple mismatches, indels, and exon-exon junctions. * stage1hr.c: Removed special variables for -2, -1, querypos+1, and querypos+2. Removed middle_indel_p. 2008-07-28 twu * stage1hr.c: Made paired reads use new 12-mer strategy for exact and 1-sub * stage1hr.h: Changed variable name to expected_pairlength * datadir.c: Improved error message when genome db not found * indexdb_hr.c, indexdb_hr.h, intlist.c, intlist.h, stage1hr.c: Implemented faster version of exact and 1-sub using 12-mers 2008-07-26 twu * indexdb_hr.c: Removed oligo_hr.h and oligo_hr.c. Added code for reading left and right subst of 1 and 2 nts. * oligo_hr.c, oligo_hr.h: Removed oligo_hr.h and oligo_hr.c * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.pmaptoo.am, block.c, indexdb.c, indexdb.h, stage1hr.c: Removed oligo_hr.h and oligo_hr.c. * indexdb_hr.h: Initial import into CVS 2008-07-18 twu * stage3hr.c: Fixed handling of trimming for inverted hits. Fixed handling of hits that have negative genomic coordinates. * stage1hr.c: Fixed handling of trimming at ends * pair.c: Changed output to show "genome" instead of "chr" * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.pmaptoo.am, diagnostic.c, diagnostic.h, gmap.c, result.c, result.h, stage1.c, stage1.h: Added Diagnostic_T to hold information * chimera.c, chimera.h, get-genome.c, iit_plot.c, match.c, match.h, stage3.c: Using new interface to Genome_get_segment * genome.c, genome.h: Printing out-of-bounds characters on all cases where coordinates exceed chromosomal boundaries. 2008-07-07 twu * stage1hr.c: Added comment * stage1.c: Added high-resolution sampling * oligo.c, oligo.h: Removed burden of leftreadshift to caller * indexdb.c, indexdb.h: Added function to provide indexing interval * block.c, block.h: Added high-resolution behavior to Block_T object * gmap.c: Added hybrid behavior for finding canonical introns: low reward for high-identity sequences and high reward otherwise. * stage1.h: Removed obsolete functions * stage1.c: Renamed variables * pair.c, pair.h, stage3.c: Printing separate runtimes for stage2 diagonalization and alignment * stage2.h: Computing separate runtimes for stage2 diagonalization and alignment. * stage2.c: Reinstating limitation on maximum number of active hits. Computing separate runtimes for stage2 diagonalization and alignment. * stage1.c, stage1.h: Reporting whether sampling was used * gmap.c: Using smaller stage 2 indexsize when stage 1 sampling is done * plotgenes.c, plotgenes.h: Added ability to handle values * pdldata.c: Using Access_mmap function * gdiag.c, gsnap-to-iit.c: Using new interface to Genome_fill_buffer * subseq.c: Added initial '>' to header * stage3.c: Using new interface to IIT_print * stage1.c: Removed references to Matchpair_T * pmapindex.c: Removed -l as an input flag * oligo.c, oligo.h: Added code for identifying repetitive oligos * match.c, match.h: Added code for dealing with pairs of matches * matchpair.c, matchpair.h: Removed Matchpair_T code * indexdb.h: Restoring previous definition of sufficient support * iit_update.c: Using new interface to IIT_read * iit_plot.c: Handling values, in addition to counts and genes * gregion.c, gregion.h: Added fields to Gregion_T * gmap.c: Interpreting optarg as strings, not integers * get-genome.c: Removed -F and -R flags. Using -R flag for relative coordinates. * block.h: Separated interfaces for GMAP and PMAP * block.c: Added hook for removing repetitive oligos * binarray.c: Taking all boxes in final step. Reduced debugging output. * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.pmaptoo.am: Added binarray.c and .h and removed matchpair.c and .h * matchpair.c: Added code for bins * stage1.c: Added two levels of ntopboxes 2008-07-03 twu * binarray.c, binarray.h, stage1.c: Implemented working version of binarray algorithm * Makefile.util.am, revcomp.c, seqlength.c, subseq.c: Added utility programs for internal use * binarray.c, binarray.h: Initial import into CVS 2008-07-01 twu * stage1.c, stage1.h: Initial implementation of bins 2008-06-30 twu * stage3.c: Added ability to print relative coordinates * stage1hr.c: Improved handling of heaps. Added code for handling out-of-bounds conditions. * sequence.c, sequence.h: Added command for printing revcomp of sequence * interval.c: Added debugging statements * indexdb_hr.c: Replaced separate variables for heapsize and delta into a single header. Added code for doing all reads, then doing all writes. * indexdb.c: Added debugging statements * iitdef.h: Storing separate mmap pointers for parts of IIT * iit-read.c, iit-read.h: Added ability to print relative coordinates * gmap.c: Removed -R flag * gsnap.c: Added ability to handle input sequence in batches * genome.c, genome.h: Changed out-of-bounds symbol to be '*'. 2008-06-25 twu * gmap.c: Made low reward for canonical sequences to be the default * get-genome.c: Fixed calculation of genomiclength * iit-read.h: Removed unused function. * iit-read.c: Now doing memory mapping of pointers rather than reading all of them. Fixed bug in reporting second chromosomal coordinate. Fixed bug in sorting segments by coordinate. 2008-05-20 twu * indexdb_hr.c: Made process_heap inline. Removed delta from Batch_T. 2008-05-19 twu * indexdb_hr.c: Various code introduced to improve speed of heapify operation 2008-05-09 twu * access.c, access.h: Fixed mmap calls with offset so offset is on a page boundary * stage3hr.c, stage3hr.h: Added new functions for filtering and sorting chimeras. Fixed calls of scrambled exons. * stage1hr.c: Major efficiency improvements in heapify and other heap functions for merging diagonals * indexdb_hr.c: Major efficiency improvements in heapify and other heap functions for merging batches * stage1hr.c: Changed filtering methodology for exon-exon junctions * indexdb_hr.c: Using pointers to memory-mapped positions file, and adding shift-plus-diagterm as heap builds the final array of positions. 2008-05-07 twu * indexdb_hr.c: Restored previous version * indexdb_hr.c: Attempt to reduce D2 cache miss rate, but actually increases it by 10x. 2008-05-06 twu * stage3hr.c: Using correct type for Stage3chimera_t objects * stage1hr.c: Set chimerap flag correctly * indexdb_hr.c: Faster counting of entries in cases where duplicates are not allowed * indexdb.c: Minor syntactic changes * gsnap.c: Turned off reading of labels for map iit files 2008-05-05 twu * gmapindex.c, pmapindex.c: Providing chromosome_iit to procedures for writing offset and position files * stage3hr.c, stage3hr.h: Values for chrnum are pre-computed rather than computed here * stage1hr.c: Using new interfaces to Genome_fill_buffer and Stage3_new routines * indexdb.c, indexdb.h: No longer storing oligomers at ends of chromosomes * iit-read.c, iit-read.h, iitdef.h: Providing specific fields for memory mapping of labels and annotations. Reading all pointers for labels and annotations. * genome.c, genome.h: Trimming correctly at chromosome boundaries. Returning chrnum. * access.h: Added function to mmap at a particular offset. * access.c: Added function to mmap at a particular offset. Added check for struct stat64. * stage1hr.c: Searching for indels only if substitution fails * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h: Added trimming of mismatches at ends of substitutions 2008-04-25 twu * stage3hr.c, stage3hr.h: Printing information about paired result type and about structural variations in spliced reads. * stage3.c: Removed include of maxent.h * stage1hr.c, stage1hr.h: Added hierarchy of paired result types. Checking for cross repetitiveness. * sequence.c: Improved debugging statements * resulthr.c, resulthr.h: Storing information about paired result type * iit_plot.c, plotgenes.c, plotgenes.h: Fixed handling of new IIT map format * pair.c: Changed output format for IIT-readable files (-f 7) * list.c, list.h: Added function of List_to_array that reports list length * iit-read.c: Fixed handling of flanking intervals * gsnap.c: Adding information about paired result type and providing information about max number of paired paths. * Makefile.gsnaptoo.am: Using tables for IITs. Removed iit_update. * Makefile.dna.am: Using tables for IIT. Removing gdiag and iit_update. 2008-04-24 twu * iit_get.c: Fixed bug in handling queries from stdin 2008-04-22 twu * stage3hr.c: Slight improvement in efficiency in eliminating duplicates or dominated paired end solutions. * dynprog.c: Reduced mismatch penalty for low quality sequences. Equalizing extension penalty for single gaps, regardless of sequence quality. * maxent.c: Added debugging statements * stage3hr.c: Fixed bugs in eliminating duplicate or dominated paired-end results * iit-read.c: Fixed memory leak for entire IIT structure * stage3.c: In dual break, peeling pairs first. * stage3.c: Improved handling of dual breaks by scanning genomic segment 2008-04-21 twu * iit_store.c: Fixed bug in handling intervals without divs * iit-write.c: Added error message if total_nintervals is zero. * iit-read.c: Modified output for IIT_dump * fa.iittest, iit_get.out.ok: Modified IIT input/output for new interval format * stage3hr.c, stage3hr.h: Added code for printing half introns. Now storing chrnum when Stage3_T objects are computed. Using chrnum to determine whether two paired ends are connectable. * stage1hr.c: Using scores to determine whether indel beats substitution. Added code for finding half introns. Now storing chrnum when Stage3_T objects are computed. * indexdb_hr.c: Added code, not currently used, for using doubles to find longer oligomers. 2008-04-15 twu * stage1hr.c, stage1hr.h: Increased MAX_INDELS, and using it instead of hard-coded 3 * plotdata.c, segmentpos.c, stage3hr.c: Using new interface to IIT_label * plotgenes.c, plotgenes.h, stage3.c: Using new interface to IIT_get and IIT_label * table.c, table.h: Added functions Table_string_compare and Table_string_hash * pmapindex.c: Using new interface to IIT_read * match.c, pair.c: Using new interface to Chrnum_to_string * indexdb.c: Using IIT_total_nintervals * indexdbdef.h: Moved definition of Indexdb_T to a separate file * iitdef.h: Added fields for whether labels were read, and for offsets to various parts of the iit file. * iit_store.c: Using new version for reporting intervals * iit_dump.c, iit_plot.c: Using new interface to IIT_read * iit_get.c: Using new interface to IIT_get and IIT_read. Added ability to center annotations at a given column. * iit-write.c: Fixed bugs for divs with no intervals * iit-print.c, iit-print.h: Moved IIT_print procedures back to iit-read.c. * iit-read.c, iit-read.h: Fixed bug in handling divs with no intervals. Allowing memory mapping of labels and intervals and their pointers (in addition to annotations). Moved IIT_print procedures back to this file. * gsnap.c: Providing flag for user to specify consecutive matches, to control speed * gsnap-to-iit.c: Removed flag for old GSNAP version output format * gmapindex.c: Using tables to provide information to IIT_write * get-genome.c, gmap.c: Using new interface to IIT_get and IIT_read * chrnum.c, chrnum.h, chrsubset.c, gdiag.c, genomepage.c, genomeplot.c: Using new interface to IIT_label * genome-write.c: Using new interface to IIT_get 2008-04-10 twu * gregion.c, match.c, matchpool.c: Made IIT_get_one pass additional parameter 2008-04-01 twu * stage1hr.c: Various methods to improve speed, including separate processing for plus and minus strands, use of threshold_noligomers and a user-specified threshold_score for finding segments for multiple mismatches. * stage1hr.c: Removed old code based on fixed (nonrecursive) oligosize * stage1hr.h: Changed variable names * stage1hr.c: Using new variable names for paired-end lengths. Generalized mask for oligosize. * gsnap.c: Removed -a flag and replaced it with -S flag. Changed flags for paired-end lengths. 2008-03-31 twu * chrnum.c, chrom.c, chrom.h, chrsubset.c, segmentpos.c: Using new interface to IIT routines with divs. * get-genome.c: Moved Chrom_string_from_position function to iit-print.c * stage3hr.h: Changed variable names for paired-end lengths. * stage3hr.c: Using new interface to IIT routines wiht divs. Changed variable names for paired-end lengths. * stage1hr.c: Made indel alignments extend inward from ends as far as possible. * stage1hr.c: Added new routine for computing indels without using dynamic programming matrix. Maximizes matches from left to right. 2008-03-27 twu * iit-print.c, iit-print.h, iit-read.c, iit-read.h, iit-write.c, iit-write.h, iit_get.c, iit_store.c, iitdef.h: Introduced version 3 of IIT format, to handle multiple divs. 2008-03-20 twu * Makefile.dna.am, Makefile.gsnaptoo.am: Removed block_hr and blockdef files * pmapindex.c: Removed both uppercase and lowercase flags, and added -l flag to make the distinction * stage3hr.c: Changed order of output so type of match comes before genomic location * stage1hr.c: Handling short reads with lowercase characters. Using Oligo_hr functions rather than Block_T functions. * sequence.c, sequence.h: Added functions to handle short reads with lowercase characters * oligo_hr.c, oligo_hr.h: Moved leftreadshift step out of oligo_hr functions * oligo-count.c: Using new interface to Block_new * indexdb_hr.c: Removed checking for duplicates * indexdb.c, indexdb.h: Added ability to mask lowercase characters in genome * gsnap.c: Made program work for query sequences with lower case * gmapindex.c: Removed uppercase and lowercase flags and added -l flag. Making ".masked" indexdb files for masked genomes (where lowercase nts not indexed). * genome.c, genome.h: Changed name of variable * block.c, block_hr.c, block_hr.h, blockdef.h: Restored definition of Block_T to block.c 2008-03-06 twu * gsnap.c: Using new interfaces to Stage1 procedures * stage1hr.c: Deleted debugging statements that give a seg fault * stage1hr.c, stage1hr.h: Generalized procedures to use arbitrary oligosize * stage1.c: Using new interface to Block_new * block.c, block.h, block_hr.c, blockdef.h, oligo.c, oligo.h, oligo_hr.c, oligo_hr.h: Generalized procedures to handle arbitrary oligosize * indexdb_hr.c: Fixed bugs in adding wildcard nucleotides * indexdb.c: Fixed bug in recognizing index file at interval 6 * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am: Added new source files * stage3hr.c: Generalized print procedures to handle arbitrarily long reads * stage1hr.c, stage1hr.h: Added recursive procedures for paired end reads * stage1.c: Using original GMAP calls to Block_T procedures * oligo.c, oligo.h, oligo_hr.c, oligo_hr.h: Moved GSNAP-specific procedures to a separate file * intlist.c, intlist.h: Added function Intlist_ascending_by_key * indexdb_hr.c: Moved GSNAP-specific procedures to a separate file. * indexdb.h: Using "id" as file suffix for offsets and positions files. * indexdb.c: Moved definition of Indexdb_T object to a separate file. Separated GSNAP-specific procedures to a separate file. Using "id" as file suffix for offsets and positions files. * gmapindex.c: Removed -e flag for specifying subindexing * block_hr.c, block_hr.h: Made separate file for GSNAP-specific procedures * blockdef.h: Put Block_T definition into a separate file * block.h: Removed Block_T procedures specific to GSNAP * block.c: Put Block_T definition into a separate file. Removed GSNAP parameters for GMAP calls to Block_T procedures. 2008-03-04 twu * stage1hr.c: Implemented recursive method for finding exact matches. Binary search not yet added. 2008-03-03 twu * Makefile.am, cvs2cl.pl: Made maintainer Perl machine-independent * fa_coords.pl.in, gmap_process.pl.in, gmap_setup.pl.in, md_coords.pl.in: Made different make commands for gmapdb_highres and gmapdb_lowres * Makefile.dna.am, Makefile.gmaponly.am, Makefile.gsnaptoo.am: Customized each Makefile.am for its specific task 2008-02-29 twu * gmapindex.c, iit-read.c, segmentpos.c: Using new interface to obtain strings from Chrom_T objects * chrom.c, chrom.h: Restricted criteria for considering initial part of chromosome string as numeric. Now storing initial string directly. * gsnap.c: Using new interface to print commands * stage3hr.c, stage3hr.h: Changed output to be more uniform, in a 1-column format 2008-02-28 twu * list.c: Added include of string.h * iit_plot.c: Made program able to print counts * iit-read.c: Added more informative error messages when offset appears incorrect relative to filesize. Removed output of type in print_record. * gsnap-to-iit.c: Handles new GSNAP output format. Handles remapping to genome. * get-genome.c: Made program work correctly on chromosomally tagged IIT map files * genomepage.c, genomepage.h: Removed sequence as a parameter * pair.c, pair.h, stage3.c: Modified output of exon map * plotgenes.c, plotgenes.h: Added function for printing counts * Makefile.dna.am, Makefile.gsnaptoo.am, blackboard.c, blackboard.h, gmap.c, gsnap.c, params.c, params.h, reqpost.c, reqpost.h: Removed Params_T object 2008-02-26 twu * gsnap-to-iit.c: Handling new version of gsnap output (after remapping). * gsnap-to-iit.c: Added -b flag to specify blocksize. Made default blocksize 10000. 2008-02-14 twu * iit_plot.c, plotgenes.c, plotgenes.h: Fixed printing of genes in ascii format 2008-02-08 twu * plotgenes.c, plotgenes.h: Added binning by pixel. Removed allgenesp for plot_counts. 2008-02-07 twu * gsnap-to-iit.c, plotgenes.c: Modified count format for IITs to store information in batches * plotgenes.c: Added printing of alternate counts. Fixed problem for calls to IIT_get_typed. * gsnap-to-iit.c: Initial import into CVS 2008-02-06 twu * iit_plot.c: Increased top margin. Added -V flag for handing count data. * plotgenes.c, plotgenes.h: Added function for plotting count data. Handling signs for both versions 1 and 2 of IIT files. * iit-read.h: Added interface for IIT_version() * iit-read.c: Added abort statement for negative coordinates * sequence.c: Added functions for skipping sequences * indexdb.c: Commented out some information output to stderr * iit_get.c: If iit file not found, try adding ".iit" suffix * stage3hr.c: Printing distances for spliced reads only if distance value is nonzero * stage1hr.c: Fixed calculation of distances in spliced reads 2008-02-05 twu * Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.pmaptoo.am: Added compiler commands for iit_plot * iit_plot.c: Taken from mapplot.c in gdp. * genomepage.c, genomepage.h: Extracted commands from gdata-write in gdp. * plotgenes.c, plotgenes.h: Incorporated changes from gdp. Improved plotting capabilities. * list.c, list.h: Incorporated changes from gdp. Added List_from_string. * color.c: Incorporated changes from gdp. Removed yellow. 2008-01-30 twu * gsnap.c: Limited reporting of exon-exon paths. Added -E flag to turn off finding of exon-exon solutions. * genome.c, genome.h: Made Genome_fill_buffer return a false value if it goes into negative genome coordinates. * stage1hr.c: Skipping cases that result in negative genomic coordinates. Skipping cases of finding first indels when alignment doesn't extend to the end. * stage3hr.c, stage3hr.h: Made fixes for handling exon-exon junctions * stage1hr.c: Fixed problems in handling various combinations of sense/antisense and plus/minus strands for exon-exon junctions. 2008-01-29 twu * gmap.c: Made finding canonical introns the default. Made -X flag take an argument. 2008-01-17 twu * stage1hr.c, stage3hr.c, stage3hr.h: Improved algorithm for finding and ranking chimeras 2008-01-15 twu * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Added output in IIT exon map format * stage1hr.c, stage3hr.c, stage3hr.h: Added printing of number of mismatches for chimeras 2008-01-14 twu * dynprog.c: Added type cast for memset. * stage1hr.c: Reduced max mismatches to 4. Penalized mismatches further in finding breakpoints for chimeras. * stage3hr.c: Reporting breakpoint coordinates for chimeras * stage1hr.c: Increased penalty for mismatches to help find correct breakpoint for chimeras 2008-01-12 twu * Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.pmaptoo.am, stage1hr.c, stage3hr.c, stage3hr.h: Added probabilistic calculations of splice sites 2008-01-11 twu * gsnap.c, stage1hr.c, stage1hr.h, stage3hr.c, stage3hr.h: Implemented code for identifying chimeras * resulthr.c, resulthr.h: Added a new type for chimeras 2008-01-09 twu * stage1hr.c: Fixed typo in variable name * resulthr.c, resulthr.h, stage3hr.c, stage3hr.h: Added the ability to report paired-end cases that fail to co-localize * gsnap.c: Added the ability to report paired-end cases that fail to co-localize * gmap.c: Cleaned up some code * gsnap.c, stage1hr.c, stage1hr.h: Added -o flag to specify optimum length * gsnap.c: Added -I flag for specifying inversion of second read of paired end read * sequence.c, sequence.h: Added procedure for printing revcomp of a short read * stage3hr.c, stage3hr.h: Provided options for printing second read either in original direction or as reverse complement. * stage1hr.c: Fixed various memory leaks 2008-01-08 twu * gsnap.c: Added flag to print all solutions, either for single read or for paired end read. * stage3hr.c, stage3hr.h: Added procedures for sorting results of single read mappings * stage1hr.c, stage1hr.h: Added ability to print all solutions in single read * stage3hr.c, stage3hr.h: Added sorting of results by closeness to optimal distance * gsnap.c: Removed unused variables. Removed instant printing feature. * stage1hr.c, stage1hr.h: Removed instant printing feature * resulthr.c, resulthr.h: Generalized Result_T object so it can print either single or paired end results * sequence.c, sequence.h: Implemented procedure for reading short reads, either single or paired ends. * request.c, request.h: Enabled storage of paired reads in Request_T object * stage3hr.c, stage3hr.h: Implemented routines for storing and printing paired ends * stage1hr.c: Implemented separate strategy for handling reads with poly-A or poly-T 12-mers. In such cases, need to test 12-mers exhaustively. 2008-01-07 twu * stage1hr.c, stage1hr.h: Initial implementation of mapping for paired reads. For consistency, changed indel to be same rank as sub:2 for single reads. Generalized separator used in printing results. 2008-01-04 twu * stage1hr.c: Separated single read strategy into separate components * sequence.c: Fixed a memory leak. * stage3hr.c, stage3hr.h: Added a stage3 procedure specific for GSNAP * sequence.c, sequence.h: Added a read procedure that converts input to uppercase * gsnap.c, resulthr.c, resulthr.h: Made GSNAP algorithm return results rather than printing them * Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.pmaptoo.am: Removed gregion.c and added stage3hr.c to GSNAP build * stage1hr.c, stage1hr.h: Made algorithm return results rather than printing them. Fixed a bug in handling cases with mismatches on both ends. 2007-12-19 twu * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Added -4 flag for printing alignments per exon * gsnap.c: Removed unused code * stage1hr.c: Removed unused header files and objects * stage1.c, stage1.h: Added function Stage1_size() * resulthr.c, resulthr.h: Added specialized Result_T for GSNAP * reqpost.h: Added conditional include of resulthr.h for GSNAP * params.c, params.h: Removed obsolete fields * matchpair.c, matchpair.h: Removed obsolete functions * iit-read.c: Removed warning message about not finding a file * stage3.h: Made maponly mode work with Gregion_T objects. * stage3.c: Fixed bug where genomicuc_ptr was NULL. Made maponly mode work with Gregion_T objects. * gregion.c, gregion.h: Added fields to Gregion_T for maponly mode. * gmap.c: Restored old maponlyp code. Added error message if pthreads fails on operating system. * genuncompress.c: Added flag to print one character per line * blackboard.c, blackboard.h: Added function to see if blackboard is done * Makefile.gmaponly.am, Makefile.gsnaptoo.am, Makefile.pmaptoo.am: Added commands for GSNAP 2007-12-07 twu * pair.c: Fixed bug with trim_end, now an exclusive coordinate rather than an inclusive one. * cvs2cl.pl: Added changelog program to CVS * gmap.c: Changed calls to Stage1_compute to match new interface * stage1hr.h: Removing unused parameters * stage1hr.c: Corrected positions of 12-mers for sequences shorter than 36 nt. Reduced final threshold score to 12. Checking for repetitive sequence. * stage1.c, stage1.h: Separated stage 1 low-resolution procedure from high-resolution procedure. * block.c, block.h, indexdb.c, indexdb.h, oligo.c, oligo.h: Added procedure for counting number of genomic positions for a given oligomer * gsnap.c: Now calling Stage1hr_compute directly. Removed some unused code. * gmap.c: Restored maponly mode 2007-12-06 twu * stage1hr.c: Initial attempt to generalized procedure to handle oligomers shorter than 36, using initial testing of 3 12-mers. 2007-12-02 twu * stage1hr.c: Fixed bugs in computation and printing of middle indels. Fixed bug when best_querypos (in terms of npositions) was -1. 2007-12-01 twu * stage1hr.c: Added strategy of using most specific oligomer to drive search for exact matches. * stage1hr.c: Added keep_score parameter to find_segments. * indexdb.c: Made heapify faster. Hard-coded left_nts and right_nts to be 1 in read_shifted. * genome.c: In Genome_fill_buffer, checking for negative starting coordinate, and filling with N's if necessary. * stage1hr.c: Limited dynamic programming to just the non-matching oligomer, whenever possible. 2007-11-30 twu * stage1hr.c: Added a triplet matching step with binary search to find exact matches. Fixed a bug in find_segments in handling the last diagonal. * stage1hr.c: Changed output format to show substitutions, insertions, and deletions. Made speed improvements in heap algorithm. 2007-11-29 twu * gsnap.c: Simplified code for handling short reads. Stopped usage of oligoindex. * stage1hr.c: Implemented version that handles indels. Some speed improvements in reporting exact matches when found. 2007-11-28 twu * stage1hr.c: Removed unused code * stage1hr.c, stage1hr.h: Working version implemented for 36-mers, allowing for substitutions * stage1.h: Taking queryseq as an argument for Stage1_compute (needed for gsnap). * stage1.c: Using new interface to Block_process_oligo * Makefile.am: Makefile.am now generated by bootstrap from other files * stage2.c: Added debugging statements * sequence.c, sequence.h: Added procedure Sequence_print_oneline * rbtree.c, rbtree.h, rbtree.t.c: Initial import into CVS * result.c, result.h: Added procedure Result_blank * params.c, params.h: Removed truncstep * oligoindex.c: Added correct calculation of badoligos * oligo.c, oligo.h: Providing diagterm information to lookups from indexdb * indexdb.c, indexdb.h: Changed high-resolution indexdb to be subclassified by adjacent nucleotides, rather than by phase. * gregion.c, gregion.h: Initial import into CVS * gsnap.c: Adding separate main program for gsnap. * block.h: Added function Block_skipto. Giving diagterm information to Oligo_lookup. * block.c: Added function Block_skipto. Revised coordinates assigned to last_querypos. Giving diagterm information to Oligo_lookup. * Makefile.gmaponly.am, Makefile.pmaptoo.am: Added hooks for gsnap * fa_coords.pl.in: Improved handling of cases where chromosome is not parsed * gmap_setup.pl.in: Added -H flag to generate high-resolution gmap dbs. 2007-11-26 twu * iit_store.c: Fixed bug in handling GFF files 2007-11-14 twu * indexdb.c, indexdb.h: Implemented precise positioning by organizing composite positions according to phase 2007-11-13 twu * result.c, result.h: Remove stage 1 diagnostic information * matchpair.c, matchpair.h: Making matchpair generate gregion as output from stage 1 * gmap.c: Using new interface to stage 1. Removed maponly output. * Makefile.gmaponly.am, Makefile.pmaptoo.am, stage1hr.c, stage1hr.h: Moved high-resolution stage 1 algorithm to a different file * stage1.c, stage1.h: Eliminated diagnostic fields. Made interface for low-resolution version compatible with high-resolution version. 2007-11-03 twu * stage3.c, stage3.h: Removed matchpairend and Stage3_direct procedure * stage1.c, stage1.h: Reverting back to 2007-09-28 version * pmapindex.c: Changed order of arguments in a function call * params.c, params.h: Added slots for truncstep and chromosomal transitions. * list.c, list.h: Added functions List_insert and List_reinsert. * indexdb.c, indexdb.h: Added function Indexdb_shiftedp. For high-resolution indexdbs, added code to merge batches using either a queue or a heap. * iit-read.c, iit-read.h: Added function IIT_transitions_subset. * gmapindex.c: Added -e flag to specify high-resolution genomic indices * chrsubset.c, chrsubset.h: Added function Chrsubset_transitions. Added assumption to Chrsubset_includep. * chrnum.c, chrnum.h: Added function Chrnum_print_position * block.h: Added function Block_donep. * block.c: Improved debugging output. Added function Block_donep. * access.h: Added function to report if file exists. * access.c: Improved error messages. Added function to report if file exists. 2007-10-16 twu * stage1.c: Refined high-resolution algorithm 2007-10-11 twu * orderstat.c: Included appropriate header files for memcpy 2007-10-08 twu * reader.c: Made reader go all the way to the ends of the sequence * sequence.c: Fixed computation of trimlength * indexdb.c, indexdb.h: Implemented read and write procedures for new genomic index format (trading off position resolution for adjacent nucleotide contents). 2007-10-07 twu * stage1.c: Implemented mapping at ends * stage1.c: Completed initial mapping from middle outward 2007-10-06 twu * stage1.c: Added computation of best subpaths 2007-10-03 twu * stage1.c: Implemented high-resolution mapping, and arbitrarily long matches for the middle of the sequence outward. 2007-09-30 twu * stage1.c: Attempt to use diagonals to find genomic position 2007-09-29 twu * genome.c, genome.h: Added Genome_totallength function * stage1.c, stage1.h: Added procedure to match doubles of truncated indexdb entries 2007-09-28 twu * gmap_setup.pl.in: In -S mode (treating each contig as a chromosome), turning off sorting of chromosomes and contigs. * gmapindex.c: Added -S flag to turn off sorting of chromosomes and contigs * table.c, table.h, tableint.c, tableint.h: Added ability to return keys sorted by timeindex * stage1.c, trial.c, trial.h: Changes made to scan query sequence from middle outward * VERSION: Updated version 2007-09-27 twu * gmap.c: Fixed bug for -f 9 and -E output when no paths were found 2007-09-26 twu * VERSION: Updated version * index.html: Revised features for 2007-09-26 version * gmap_update.pl.in: Made new IIT file permissions the same as the old permissions * gmap_update.pl.in: Made new IIT file permissions the same as the old permissions * iit-read.c: Added error messages to various conditions in IIT_read 2007-09-25 twu * sequence.c: Fixed reading of sequences with multiple PC line feeds 2007-09-20 twu * stage1.c: Kept code that depended on USE_MATCHPOOL and removed alternate (old) code * block.c, block.h: Put save variables inside Block_T object 2007-09-19 twu * VERSION: Updated version number * MAINTAINER: Added reminder to do cvs tag * iit-read.c, iit-read.h, iit-write.c: Moved compute_flanking procedure from iit-read.c to iit-write.c * Makefile.am, configure.ac, gmap_update.pl.in: Added gmap_update program * Makefile.am: Added compile instructions for iit_update * iit-write.c: Made stringlen of type off_t (to handle annotations of length greater than can be handled by int). Added check to make sure stringlen is non-zero. * iit-read.c: Made stringlen of type off_t (to handle annotations of length greater than can be handled by int) * archive.html, index.html: Made changes for 2007-09-20 release 2007-09-18 twu * Makefile.gmaponly.am, Makefile.pmaptoo.am, iit-read.c, iit-read.h, iit-write.c, iit-write.h, iit_update.c: Implemented iit_update program * iit_store.c: Added -v flag to specify desired version 2007-09-17 twu * oligoindex.c, stage2.c: Changed R output for diagonal graphics 2007-09-12 twu * gmap.c: Added a check to make sure we don't push NULL for Stage3_T object. * dynprog.c: Fixed bug in Dynprog_dual_break; need to compute matrix scores only to the minimum of length1 and length2. 2007-09-11 twu * dynprog.c: Fixed problem where Dynprog_dual_break was exiting unnecessarily; need to be concerned only about shorter distance. * stage3.c: Added cDNA direction to debugging statements * iit_get.c, stage3.c: Added sign argument for getting flanking entries * pair.c: Added provision in PMAP to limit coverage to 100% (could exceed previously because of implicit stop codon added at end of query sequence). * iit-read.c, iit-read.h: Added a sign argument for getting flanking entries * get-genome.c: Added flags for accessing from map files entries of a particular direction or tag * stage1.c: Performing filtering based on clustersize only if too many entries and at least one cluster is large. 2007-09-04 twu * stage1.c: Removed filtering based on too many matching pairs 2007-08-30 twu * gbuffer.c, gbuffer.h, gmap.c: Removed unused code and parameters from Gbuffer_T * gmap.c: Allocating memory for genomicseg only as needed 2007-08-28 twu * blackboard.c, blackboard.h, gmap.c, sequence.c, sequence.h: Added ability to read input from multiple sequence files * oligoindex.h: Changed calls to reset oligoindex * oligoindex.c: Fixed hang that resulted when no oligomer positions were found. Eliminated an extra call to Oligoindex_set_inquery. * stage2.c: Changed call to Oligoindex to reset after tally * stage1.c: Modified debugging output * match.c, mem.c: Enhanced debugging output * stage2.c, stage2.h: Returned to previous algorithm for finding shifted canonical dinucleotides, but now allocating memory dynamically. * gbuffer.c, gbuffer.h: Removed pre-allocated memory for finding shifted dinucleotides * stage2.c: Attempt to conserve memory used in finding shifted canonical dinucleotides. However, results in speed penalty. 2007-08-26 twu * gbuffer.c, gbuffer.h: Removed unused matchscores variable and unnecessary memory allocation. 2007-08-24 twu * gmap_uncompress.pl.in: Added a missing space in the output 2007-08-23 twu * gmap_uncompress.pl.in: Added coordinates output (with flag '-f 9') 2007-08-22 twu * pair.c: Fixed potential divide-by-zero bug 2007-08-20 twu * gmap_setup.pl.in: Added a .SUFFIXES: command at top to prevent unexpected behaviors 2007-08-18 twu * stage2.c: Added step to recover when all scores at a querypos are negative, by continuing from grand result. 2007-08-16 twu * pair.c, pair.h, stage2.c, stage2.h, stage3.c: Computing defect rate in middle of stage 3, instead of in stage 2 2007-08-15 twu * oligoindex.c: Restored amino acid alphabet to 20 from 18. * oligoindex.c: Fixed typo in variable name * stage2.c: Inactivated limit on number of active hits * Makefile.gmaponly.am, Makefile.pmaptoo.am: Added orderstat.c and orderstat.h to code * orderstat.c, orderstat.h: Modified procedures to compute order statistics in place and for both doubles and ints. * oligoindex.c: Computing overabundance based on upper percentile of non-zero counts * doublelist.h: Added Id info to header * gmap.c: Fixed memory leak when user segment is provided * orderstat.c, orderstat.h: Added orderstat to CVS * oligoindex.c, oligoindex.h: Trial to eliminate limit on maxoligohits * stage2.c: Improved output for graphical debugging * oligoindex.c: Improved debugging output 2007-08-13 twu * stage2.c: Fixed problem with debugging output * stage1.c: Added pruning by path sizes * matchpair.c, matchpair.h: Added a procedure for finding path size of a given matchpair 2007-07-16 twu * Makefile.gmaponly.am, Makefile.pmaptoo.am: Created two specialized Makefile.am files * Makefile.am: Preparing for iit and genome libraries * bootstrap, bootstrap.gmaponly, bootstrap.pmaptoo: Created separate bootstrap routines for gmap and gmap-plus-pmap * VERSION: Updated version number * iit-read.c: Computing alphas and betas for iit_dump * iit-read.c: Computing alphas and betas only when needed for flanking * gmapindex.c, iit-read.c, iit-read.h, iit-write.c, iit-write.h, iit_get.c, iit_store.c, iitdef.h: Added fields for annotation in IITs * indexdb.c: Added monitoring information 2007-06-25 twu * genome-write.c, segmentpos.c: For version 2 IITs and later, getting sign directly from IIT, rather than from annotation. * get-genome.c, plotgenes.c: Providing sortp parameter to IIT_get * iit_store.c: Added -v flag to print IIT version * iit_get.c: Added -U flag to indicate unsigned results * genome.c: Added comment * gmapindex.c: No longer writing segment length in contig IITs * iit-write.c: Writing alphas and betas for correct calculation of flanking intervals. * iit-read.c, iit-read.h: Using alphas and betas for correct calculation of flanking intervals. Added functions IIT_types, IIT_get_all, and IIT_get_all_typed. * interval.h: Added interface for Interval_sign * iitdef.h: Added space for alphas and betas, needed for correct calculation of flanking intervals 2007-06-22 twu * dynprog.h: Defined UNKNOWNJUMP to be used for temporary gapholders during stage 3 calculations. * dynprog.c: Returning NULL on all failures, without gapholders (which are now inserted by calling procedures in stage 3). Allowing 5' and 3' extensions to work to maxlength allowed. 2007-06-21 twu * iitdef.h: Added version to IIT_T * interval.c: Storing sign for each interval * iit-read.c, iit-read.h, iit-write.c, iit-write.h: Introduced version 2 format, which stores sign for each interval. Not using annotation anymore to represent sign. Added function IIT_find_multiple. * pairpool.c: Improved debugging statements * gdiag.c, get-genome.c, gmap.c, iit-read.c, iit-read.h, iit_get.c, interval.c, interval.h, plotgenes.c, segmentpos.c, stage3.c: Added ability to sort intervals by coordinates in IIT_get routines * mem.c: In comments, showing how TRAP should be defined * stage3.c: Whenever dynprog procedure returns NULL, make sure to put back peeled pairs and insert a gapholder. Fixes a bug in BQ672778 against hg18. Jumps in gapholders now calculated only in certain procedures. 2007-06-07 twu * stage3.c: Removed abort commands on peels that run into gaps * dynprog.c: Expanded on comment 2007-06-04 twu * VERSION, index.html: Updated version * dynprog.c: Removed insertion of gapholder for a single gap that is too long to solve. 2007-06-02 twu * stage1.c: Added debugging statement to signal end of stage 1 * dynprog.c: Eliminated allocation of temporary Dynprog_T objects * pair.c: Now printing query_skip in -A and -S output 2007-05-29 twu * dynprog.c: Lowered gap penalties for single gaps. Fixed bug in solving dynamic programming for lower-case input sequences. * stage3.c: Added procedures for cleaning non-matches at ends of alignment, which are always called. * stage3.c: Removing all nonmatches at 5' and 3' ends 2007-05-25 twu * VERSION: Updated version * index.html: Made changes to reflect 2007-05-25 version * pair.c, pair.h, stage3.c: Added coverage and identity information to GFF3 output * archive.html, index.html: Made changes to reflect 2007-05-25 version 2007-05-24 twu * configure.ac: Checking both fixed and variable mapping for mmap * fa_coords.pl.in: Fixed problem in parsing lines containing the word "chromosome" * stage3.c: Fixed bug in solving dual breaks * pair.c: Fixed PSL output so query and target gaps are computed directly from the block starts and lengths. * gmap.c: Added flag -j for showing dual breaks * dynprog.c: Fixed bug where solution of dual break exceeded minimum gap 2007-05-15 twu * stage3.h: Added do_final_p parameter to Stage3_compute * stage3.c: Incorporating procedure to trim bad middle exons * stage1.c: Performing salvage if total number of matches is relatively low * smooth.c: Added to exon length in smoothing for short exons * pair.c: Added test code to print information about extra exons * intron.c: Removing call to abort. * dynprog.c: Added code to bridge dual break with rewards for canonical introns. Tweaked some parameters, including less penalty for gap extensions. 2007-04-26 twu * mem.c: Added error messages for memory allocation problems * gmap.c: Added -X flag for heavily favoring canonical and semi-canonical introns 2007-04-23 twu * gmap.c: Made strict translation the default again * indexdb.c: Added "U" to integers in bit operations * genome.c: Using two arrays instead of one for translate. * compress.c: Using two arrays instead of one for translate. Added various abort checks. * translation.c: Removed unnecessary checks of extraexonp * pair.c: Fixed Pair_dump_one so it handles extraexonp flag * pairpool.c: Fixed bug in assigning extraexonp * pair.c: Changed add_intronlengths slightly * acx_mmap_variable.m4: Moved AC_DEFINE out of macro, to be called explicitly in configure.ac * acx_mmap_fixed.m4: Added macro for testing mmap with MAP_FIXED * gmap.c: Made frameshift-tolerant translation the default * pair.c: Changed output of CDS in gff3 mode to produce an in-frame protein sequence * translation.h: Added strictp for PMAP. * translation.c: Added strictp for PMAP. Handling extraexonp items in alignment. * stage3.c: Giving extraexonp information to pairpool procedures for gapalign items * pair.h: Added procedure for computing fractional error. * pair.c: Added provisions for handling extraexonp flag. Added procedure for computing fractional error. * pairpool.c, pairpool.h: Added provisions for handling extraexonp flag * pairdef.h: Added flag for extra cDNA exon * comp.h: Added comp for extra cDNA exon * stage3.h: Added strictp for PMAP. * stage3.c: Added procedures for trimming internal exons with poor matches, and for finding extra exons in a dual break. Added strictp for PMAP. * dynprog.c, dynprog.h: Added procedures for finding extra exons in a dual break * compress.c: Provided more informative error message * oligoindex.c: Handled an arithmetic error caused by divide by zero * gmap.c: Added flag -H for handling trimming middle exons and reporting of dual breaks. Removed flag -j. Allowed strictp to be used in PMAP. 2007-04-17 twu * align.test.ok, map.test.ok: Made test output match current output * acx_mmap_variable.m4, configure.ac: Added check for mmap using MAP_VARIABLE (because AIX fails on MAP_FIXED) * gmap.c: Fixed global variables not used in PMAP * stage2.c: Fixed check for negative scores to work for PMAP 2007-04-16 twu * stage1.c: Placing bound on number of samples taken over query sequence * stage2.c: For very long sequences, pruning based on clear coverage * oligoindex.c, oligoindex.h: Added computation of clear coverage (percent of query sequence covered by relatively few diagonals). * matchpair.c: Added debugging statements 2007-04-06 twu * stage2.c: Added restriction on distance for grand lookback. Added check on nactive for scoring at querypos. * stage2.c: Added nactive as a filter in stage 2 2007-04-02 twu * stage2.c: Added comment about a way to restrict debugging output * iit-read.c: Added start/end information to endpoints in dumping counts 2007-03-22 yunli * modules: *** empty log message *** * modules: *** empty log message *** * modules: *** empty log message *** 2007-03-08 twu * stage2.c: Quitting if totalpositions is zero * gmap.c: Enabled table output (-f 9) for relative alignment mode (-w). 2007-03-03 twu * stage2.c: Fixed bug which led to the partial fill problem in filling oligomers 2007-03-02 twu * Makefile.am: Added pthread_libs for iit utilities 2007-03-01 twu * gdiag.c: Added printing of centromere regions. Printing marginals more efficiently. * Makefile.am: Added chrnum and chrsubset files to gdiag * iit-read.c, iit-read.h: Made IIT_transitions function return signs 2007-02-28 twu * gdiag.c: Added flag for ignoring main diagonal. Fixed problem with printing revcomp diagonals. Added code for computing different types of patterns. 2007-02-21 twu * gdiag.c: Added hooks for user to enter chromosomal subsets * complement.h: Added a character code string that doesn't convert to uppercase, for gdiag. 2007-02-20 twu * gdiag.c: Added ability to use map iit files. Skipping over masked regions in determining lookback. * gdiag.c: Fixed bug in retrieving last part of sequence from gmapdb. Providing flag to ignore lowercase (e.g., masked) characters in query. * gdiag.c: Added ability for user to provide genomic segment * Makefile.am: Added iit-write source files for gdiag * gdiag.c: Fixed bug where genomestart could be less than genomeend in a diagonal. Made separate procedures for updating forward and revcomp diagonals. * indexdb.c, indexdb.h: Added procedure IIT_read_inplace for gdiag. * iit-write.h: Added procedure IIT_new to allow creation and use of iit in the same program. * iit-write.c: Added procedure IIT_new to allow creation and use of iit in the same program. Simplified code for Node_fwrite. * iit-read.c, iit-read.h: Added procedure IIT_transitions 2007-02-19 twu * gdiag.c: Added a ring structure to increase speed 2007-02-18 twu * genome.c, genome.h: Added procedures for gdiag * gdiag.c: Made speed improvements by not storing full 24-mers, but rather storing results of previous 12-mers * gdiag.c: Added calculation of diagonals, ability to read query from gmapdb, and storage of intervals. 2007-02-17 twu * Makefile.am, gdiag.c: Added program gdiag 2007-02-12 twu * gmap.c: Increased parameter for maxoligohits * stage3.c: Lowered parameter for intronlen * stage2.h: Removed unused function * stage2.c: Changed distance penalty to consider both gendistance (now linearly, instead of logarithmically) and querydistance (quadratically). Using both maxnconsecutive and pct_coverage to decide whether to continue with stage 2. * stage1.c: Reduced parameter for number of trials * pair.c: Fixed calculation of coverage for PMAP * oligoindex.h: Moved parameters here * oligoindex.c: Implemented algorithm for PMAP. Allowing a diagonal to dominate only if it is completely consecutive. 2007-02-09 twu * iit-read.c, iit-read.h: Added function to dump labels * gmap.c: Fixed bugs with map iit files: bad test for distinguishing between universal map files and chromosomal map files, and incorrectly checking map tags against chromosomal iit. * oligoindex.c, oligoindex.h: Added computation of percent coverage by diagonals 2007-02-08 twu * access.c: Added a debugging statement * gmap.c: Fixed floating point error when trimoligos is zero * gmap.c, oligoindex.c, oligoindex.h, stage2.c, stage2.h: Added graphical debugging output for stage 2 * smooth.c: Distinguishing use of genomejump and queryjump lengths in pre-single-gap smoothing versus post-single-gap smoothing. 2007-02-07 twu * gmap.c: Fixed floating exception when sequence has no oligos * stage2.c: Initializing guide in 5' trim region, until first hits are found. * gmap.c: Changed default pruning behavior to be no pruning. * oligoindex.c: Made speed improvements in scanning diagonals. Removed old code for computing maxconsecutive. * oligoindex.h, stage2.c: Changed name of variable * oligoindex.c: Eliminated convex hull algorithm and implemented method based on ordering of diagonals. * diag.c, diag.h: Removed unused procedures * oligoindex.c: Implemented a convex hull algorithm to determine minactive and maxactive bounds. * diag.c, diag.h: Added a procedure to sort diagonals based on closeness to origin 2007-02-06 twu * oligoindex.c, oligoindex.h, stage2.c: Restored computation of maxgoodconsecutive to filter out bad stage1 candidates * stage2.c: Allowing fill of nucleotides to occur even when querypos/lastquerypos or genomepos/lastgenomepos are too close. * oligoindex.c: Added new procedure for determining dominance among diagonals * diag.c, diag.h: Added procedure for sorting by nconsecutive * stage2.c: Using minactive and maxactive to bound current querypos, and active to determine available hits for previous querypos. * oligoindex.c, oligoindex.h: Computing diagonals inside Oligoindex_get_mappings procedure. Implemented simple dominance procedure. * diag.c, diag.h, diagdef.h, diagpool.c, diagpool.h: Added fields for nconsecutive and dominancep * oligoindex.c: Changes in parameters * stage2.c: Changes to debugging output 2007-02-05 twu * oligoindex.c: Speed improvements by inlining calls to Intlist accessors * stage2.h: Removed unused function * oligoindex.h, stage2.c: Using length as a criterion instead of nconsecutive for proceeding to dynamic programming * oligoindex.c: Reduced requirement for nconsecutive in scanning diagonals. Keeping cumulative track of highest and lowest diagonals. Added extra_bounds to diagonal bounds. * Makefile.am, diag.c, diag.h, diagdef.h, diagpool.c, diagpool.h, gmap.c: Adding Diag_T and Diagpool_T objects for scanning diagonals * oligoindex.c, oligoindex.h, stage2.c, stage2.h: Scanning diagonals to set bounds on active oligomers * Makefile.am, gmap.c, intpool.c, intpool.h, oligoindex.c, oligoindex.h, stage2.c, stage2.h: Added Intpool_T object to manage storage for Intlist_T objects * gmap.c: Using new interface to Stage3_compute * stage2.c: In dynamic programming, added a lookback to the grand best querypos and hit * intlist.c, intlistdef.h: Provided exposure to internal structure of Intlist_T 2007-02-04 twu * oligoindex.c, oligoindex.h, stage2.c: Implemented faster algorithm for identifying active stage 2 oligomers. * stage2.h: Removed unused procedures * oligoindex.c, oligoindex.h, stage2.c: Implemented procedures to skip over unused mappings, based on active 2007-02-02 twu * gmap.c, oligoindex.c, oligoindex.h, stage2.c, stage2.h: Implemented new stage 2 procedure. Now using oligoindex at minindexsize and filtering those hits according to a local search. Initial search is based on maxindexsize. Uncovered ends of the alignment receive a looser local search criterion. Increased stage 2 lookback from 60 to 100. * translation.c: Fixed bug where first cDNA amino acid appeared under a cDNA space. * stage1.c: Adding one more trial for long sequences * pair.h, stage3.h: Computing coverage and now trimmed coverage at print time. * pair.c: Computing coverage and now trimmed coverage at print time. Added output line for trimmed coverage. Added trim information in compressed (-Z) output. Adjusting output of trim boundaries based on alignment. * stage3.c: Computing coverage and now trimmed coverage at print time. Increased parameter for minintronlength. * gmap.c: Removed -X (cross-species) flag 2007-02-01 twu * oligoindex.c: Added code for 18-amino-acid alphabet * gmap.c: Made user_stage1p false * stage2.c: Trying to make penalties consistent across different cases 2007-01-31 twu * stage3.c: Initialized variables in Stage3_T object * pair.c: Fixed memory leak in gff exon mode (-f 2) 2007-01-07 twu * stage3.c: If both single and dual gap solutions are canonical, picking solution with best score. 2007-01-06 twu * dynprog.c: Made reward for final canonical intron uniform across defect rates. Boosted reward for final semicanonical intron to match that for canonical intron. 2007-01-05 twu * pair.c: Fixed dinucleotide output in compressed (-Z) format when user-provided genomic segment has lower-case characters. 2007-01-04 twu * stage2.c: Reduced value of EQUAL_DISTANCE, to favor better local alignment over longer global alignment * stage3.c: Counting exons only after gaps filled in * pair.c, pair.h: Added procedure for counting exons after gaps filled in 2007-01-03 twu * dynprog.c: Made one-sided gap behavior true only for single gaps and end gaps * stage3.c: Removed fix_pmap_holes function and all references to it 2006-12-18 twu * index.html: Updated version * VERSION: Updated version * translation.c: Prevented assignment of incomplete last codon on cDNA side in strict mode * stage1.c: Removed unused variables * matchpair.c: Increased EXTRA_SHORTEND * gmap.c: Reduced default trimexonpct. Changed bandwidths for single and gap gaps. * dynprog.c: Added onesidegap behavior, which allows gaps on either genomic or cDNA side, but not both. Added concept of fixeddestp, which is not true for the ends. 2006-12-15 twu * VERSION: Updated version * index.html: Made changes to reflect new version and strict translation as default * gmap.c: Reduced extraband_end * dynprog.c, gmap.c: Reduced extraband_single to prevent gaps from being inserted on both sides * gmap.c, pair.c, pair.h, sequence.c, sequence.h, stage3.c: For PMAP, adding an implicit stop codon at end of sequence if not already present, and distinguishing between computational fulllength and given fulllength. * smooth.c: Changed probability threshold for identifying short exons 2006-12-14 twu * gmap.c: Made strict translation the default, and tolerant translation turned on by -Y flag * stage3.c: Providing pound signs in dual breaks in diagnostic output. Replacing backtranslation characters with 'N' in PMAP output. Removed microexon search from PMAP. Using single gap procedure instead of fix_pmap_holes procedure for PMAP. * pair.c: Counting ambiguous characters as matches in all instances of computing percent identity * indexdb.h: Added variables for 5-aa mers * dynprog.c: Limiting bandwidth in single gap alignment to be dependent on differences in segment lengths * backtranslation.c: Not performing backtranslation if any genomic codon position is blank. * md5.t.c: Removed unused file 2006-12-13 twu * dynprog.c: Reduced width of band in single gaps when lengths are equal * translation.c: Fixed strict translation mode, so it begins as same location as genomic translation. * stage3.c: Removed step of merging adjacent dynamic programming. Using two different smoothing steps. Protected small introns from being solved as single gaps in final intron pass. * smooth.c, smooth.h: Created two separate smoothing procedures, one based on net gap, and one based on size. * dynprog.c: For cDNA gaps, inserting indel pairs only if both gaps are small 2006-12-12 twu * map.test.ok: Added blank line at end * VERSION: Updated version * MAINTAINER: Added reminder to check cvs log to make sure files are all up to date * stage3.c: Removing gaps at 5' and 3' ends after end extensions. Checking for division by zero in trim_bad_exons. * Makefile.am: Simplified list of source files 2006-12-09 twu * archive.html: Updated to reflect 2006-12-08 version 2006-12-08 twu * archive.html: Merged into trunk * defs: Initial import into CVS * Makefile.am, align.test.in, align.test.ok, coords1.test.in, coords1.test.ok, iit_dump.test.in, iit_get.test.in, iit_store.test.in, map.test.in, map.test.ok, setup1.test.in, setup2.test.in: Merged into trunk * VERSION, config.site.gne, index.html, pmap_setup.pl.in, share: Merging into trunk * MAINTAINER: Merging into main trunk * iit.test.in: Combined iit_store, iit_get and iit_dump tests into one script * stage1.c: Increased definition of short sequence (for allowing cluster mode) for PMAP * match.c: Fixed printing of sequences in debugging statements 2006-12-05 twu * stage3.c: Fixed miscount problem with filling in short introns. Increased MININTRONLEN_FINAL significantly. 2006-12-01 twu * stage1.c: Printing chromosome name in debugging statements * match.c, match.h: Added procedure Match_chr 2006-11-30 twu * stage3.c: Allowing and correcting for gaps after gaps * smooth.c: Using difference between genomejump and queryjump to define introns for the purposes of smoothing. * configure.ac: Added check for sigaction * README: Updated README file * md_coords.pl.in: Fixed behavior when user wants only the reference strain * gmap_setup.pl.in: Changed name from raw to fullascii. Changed default for PMAP from 7 to 6. * gmap_process.pl.in: Added check to see that all contigs are processed * stage3.c: Assigning gap pairs after final extensions of 5' and 3' ends * smooth.c: Removed include of unused header file * genome-write.c, gmapindex.c, indexdb.c, indexdb.h, pmapindex.c: Added genome name to monitoring statements * gmap.c: Stopped warning message for -B when flag was not provided 2006-11-28 twu * stage1.c: Revised heuristics for determining maxtotallen and lengths for extensions * gmap.c: Ignoring batch flag if only a single sequence is given * stage1.c: Removed unused code * matchpair.c: Adding extra extension length when continuousp is false * gmap.c: Revised default lengths for single intron length and total genomic length * dynprog.c: Added checks for genomic segment at ends being shorter than query segment * indexdb.h: Using 6-mers with full alphabet in PMAP * indexdb.c: Improved monitoring statements * matchpair.c, matchpair.h: Revised procedures for computing support and extensions. Integrated procedures for filtering of unique and duplicate matchpairs. * oligoindex.c: Returned to 20 amino acids in stage 2 * params.c, params.h, stage1.h: Removed unused variable * stage1.c: Integrated matchpairs into a single list. Revised procedures for extending genomic region based on 12-mers. * stage3.c: Allowed arbitrarily long incursion into previous dynprog during peelback. * stage2.c: Separated fwd_consecutive and rev_consecutive. Made values consistent regardless of indexsize. 2006-11-22 twu * stage1.c: Fixed extensions for PMAP 2006-11-21 twu * indexdb.c: Reversed previous changes to try to make idxpositions file point to end of oligomer for reverse strand matches. * indexdb.c: Made idxpositions file point to end of oligomer for reverse strand matches. Improved debugging output. * stage1.c: Added a binary search routine * indexdb.h, stage1.c: Made changes for PMAP to work with 6-mer pmapdb 2006-11-20 twu * oligoindex.c: Fixed debugging statements for PMAP * pair.c: Revised psl protein output for matches to the negative genome strand * backtranslation.c, backtranslation.h: Made an extern procedure for computing consistent codon for a given amino acid. * translation.c, translation.h: Made get_codon an extern procedure * stage3.c: Added procedure for fixing alignment holes in PMAP. Applying higher standard for accepting dual intron solutions. * stage2.c: Fixing bugs in identifying stage 2 candidates to abort * gmap.c: Setting trim variables appropriately in maponly mode * dynprog.c: In PMAP, rounding up or down to finish codon 2006-11-17 twu * stage3.c: Using intron types to evaluate bad exons at ends. Adding another round of extensions at ends after trimming of bad exons. Restored correction for genomepos at left end skip when filling in introns. * dynprog.c: Assigning intron type for microexons added at ends of alignment * gbuffer.c, gbuffer.h: Removed unused variables * stage2.c: Removed unused variables. Using correct value for maxconsecutive instead of last one. 2006-11-16 twu * stage3.c: Using uppercase string, with U-to-T conversion, to identify mismatches in peelback procedures. * backtranslation.c, translation.c: Using uppercase string, with U-to-T conversion, instead of toupper(). * sequence.c: Using new complement and uppercase strings * pair.c: Using new name for (lowercase) complement string. Including 'U' and 'u' as known bases for computing percent identity. * indexdb.c: Using uppercase string, which also performs U-to-T conversion, instead of toupper(). * genome-write.c, genome.c: Using new name for (lowercase) complement string. * compress.c: Using uppercase string instead of toupper. Compress_get_char() no longer converts characters to uppercase. * dynprog.c: Made U and T a matching pair. Commented out old code dealing with lowercase characters. * complement.h: Added strings for uppercase of complement, and for U-to-T conversion during uppercase * sequence.c: Enabled removal of spaces in read procedure 2006-11-14 twu * dynprog.c: Reduced extension penalties for single gaps * stage3.c: Fixed bug in filling in gaps where leftpair has a genome gap. Increased size of MININTRONLEN to avoid finding introns in single gap regions. 2006-11-13 twu * stage3.h: Added parameter for number of flanking sequences to Stage3_print_map * stage3.c: In 5' and 3' extensions, evaluating continuations before and after a gap if one is found during peeling, and performing microexon search medial to the gap * dynprog.c: Returning null in genome gap if queryjump <= 1 * get-genome.c: Added -u flag for printing flanking intervals * iit-read.c, iit-read.h: Added option to print iit entries in reverse order * indexdb.h: Restored previous parameters * pair.c: Added pointer to pair in debugging output 2006-11-12 twu * stage3.c: Fixed computation of bad end exons. Included short end exons in definition of bad end exons. Finding bad end exons after 5' and 3' extensions. Fixed declaration of sense/antisense when no canonical or semicanonical introns are present. Removing end introns during peelback before 5' and 3' extensions. Removed unused code for trimming alignment at ends. 2006-11-06 twu * gmap.c: Added flags for printing flanking IIT hits and for trimming end exons * stage3.c: Fixed bug in trimming empty alignment * smooth.c: Fixed bug in handling lower-case query sequences 2006-11-02 twu * translation.c: Fixed bug in strict translation * iit-read.h: Added procedures for finding flanking hits. * iit-read.c: Made IIT_get more efficient. Added procedures for finding flanking hits. * iit_get.c: Added -u flag for printing flanking hits 2006-11-01 twu * stage3.c, stage3.h: Allowing trimming of bad exons at ends. Increased peelback at ends. Added iterative cycles of intron finding within smoothing and dual intron cycles. * smooth.c: Relaxing requirements for short exons at ends, because of later trimming of poor exons at ends * pair.c: Adding printing of intron type for debugging * gmap.c: Stopping deletion of global_except_key, because worker threads may still need it. Increasing standards for defining a sequence to be repetitive. Eliminating -U flag for trimming alignments, and adding -k flag for specifying trimming of exons at ends. * except.c: Stopping deletion of global_except_key, because worker threads may still need it * blackboard.c: Letting each thread destroy its own reqpost 2006-10-31 twu * gmap.c: Added -Y flag for performing strict translation of cDNA sequence. Removed worker_assignments variable, and using global blackboard variable instead to handle exceptions. * stage3.c, stage3.h, translation.c, translation.h: Added strictp flag for protein translation * oligoindex.c: Dropped oligospace requirements for PMAP by reducing amino acid alphabet in stage 2 from 20 to 16. * gmapindex.c, indexdb.c, pmapindex.c: Fixed memory allocation for filename * except.c: Fixed location of compiler directive * blackboard.c: Put mutex locks outside of updates to input counter and output counter. This is to be cautious, since only input thread and output thread, respectively, should be affecting these counters. 2006-10-24 twu * stage3.c: Fixed undefine_nucleotides to handle gapholders * oligoindex.c: Using calloc instead of malloc for initializing oligoindex space * gmap.c: Reduced indexsizes in PMAP, so they won't overflow in some machines * backtranslation.c: Fixed usage of translation_start and translation_end 2006-10-20 twu * gmap.c: Printing messages to stderr when no paths are found, in all cases where sequence headers are not printed. * translation.c: Fixed coordinates for translation start and end * stage3.c: Fixed bug with NULL path passed to undefine_nucleotides * pair.c: Changed gff3 procedures to treat translation start and end values as query positions, not alignment indices. 2006-10-16 twu * stage3.c: Making sure that gaps are inserted after smoothing procedure deletes exons * stage2.c: Clarified differences between amino acid indexsize and nucleotide indexsize. Cleaned up code for filling in oligomers. * smooth.c: Reduced definition of a gap between exons * oligop.c: Included possibility of 12-amino acid alphabet for 8-mers. * indexdb.h: Included possibility of 12-amino acid alphabet for 8-mers. Provided compile-time values for file suffixes. * indexdb.c: Included possibility of 12-amino acid alphabet for 8-mers * pmapindex.c: Performing complete build with a single command * gmapindex.c: Using compiler-time value for suffix * gmap.c: Printing value of INDEX1PART in help output for PMAP 2006-10-13 twu * oligoindex.c: Added debugging statements * translation.c: Fixed bug with translating cDNA beyond the genomic stop * stage3.c: Reorganized passes through the alignment. Made peelback routines more robust. * smooth.h: Using stage 2 indexsize in smoothing procedures * smooth.c: Major rewrite of smoothing procedures * dynprog.c: Added another mechanism to prevent microexon from having a gap at either end 2006-10-12 twu * gmap.c: Allowing "-t 0" to mean non-threaded behavior. Using new thread-safe exception handler. * dynprog.c, dynprog.h: Fixed traceback for cDNA gaps * except.c, except.h: Re-implemented thread-safe exception handler to remove memory leaks. Now using exception frames in stack rather than in heap. * stage3.c: Fixed peelback to codon boundaries for PMAP. Relaxed forcep requirement for single gaps. Recognizing cases where prior genome or cDNA gap solution was obtained. * stage3.h: Removed ngap from parameter lists when possible * stage1.c: Initialized a diagnostic variable * pair.c, pair.h: Removed unused code and variables 2006-10-11 twu * except.c, except.h: Implemented thread-safe version of exception handler * gmap.c: Added -j flag to control printing of dual breaks * except.c, except.h: Reformatted exception handling code. Using pointers to frames. * stage3.c, stage3.h: Rewrote peelback routines. More accurate handling of coordinates and checking of coordinates and gaps. * dynprog.c: Advancing query and genome coordinates in cases of skips * smooth.c: Revised trimming at ends to use individual exons, rather than the sum of exon and intron lengths * pairpool.c: Showing pointer to pair in debugging statements * pair.c: Showing queryjump and genomejump in debugging statements * gmap.c: Added -0 flag to inactivate exception handler, and -7 and -8 flags to show results of stage 2 and smoothing, respectively. * except.c, except.h: Added mechanism to inactivate exception handler 2006-10-09 twu * access.c: Fixed compiler warning about reference to void *. * block.c, chimera.c, oligo.c, sequence.c, stage1.c: Removed unused variables * compress.c, dynprog.c, genome-write.c, intron.c: Added necessary header file * genome.c: Fixed compiler warning about mismatched variable types. * gmap.c: Added flag for pruning level. Inactivated conversion of signals to exceptions with diagnostic flag. Removed references to badoligos. * indexdb.c: Added necessary header file. Fixed compiler warning about mismatched variable types. * matchpool.h: Added declarations of external functions * oligoindex.c, oligoindex.h: Computing estimate of maxconsecutive when mappings are obtained * pair.c, pair.h: Added diagnostic information about stage 2 maxconsecutive. * result.c, result.h: Added diagnostic information about initial query check * smooth.c: Handling possible gaps at ends of alignment * stage2.c: Using maxconsecutive estimate from Oligoindex_get_mappings to determine whether to proceed with stage 2. * stage3.c: Added diagnostic information about stage 2 maxconsecutive. Fixed procedure for removing adjacent dynamic programming to remove all gaps, and then to reinsert them later. 2006-10-06 twu * oligoindex.c, oligoindex.h: Added counting of replicate oligos * md_coords.pl.in: Added information about number of contigs in each strain * configure.ac: Removed obsolete tests. Fixed problem in setting share directory. Added maintainer option. * gmap.c: Distinguishing between poor and repetitive sequences. Providing -p flag to control pruning behavior. * result.h: Distinguishing between poor and repetitive sequences * sequence.c: Set skiplength correctly on empty sequences * gmap.c: Added -W flag to force GMAP to compute repetitive or poor sequences * oligoindex.c: Limited definition of badoligo to consider only non-ACGT characters, and not to consider number of hits. * stage3.c: Fixed bug arising from gaps left at ends of alignment * dynprog.c: Disallowing bridges of introns and cDNA insertions that lead to coordinate errors * gmap.c: Changed thread-based exception handling to kill all other threads and to report all worker assignments * stage3.h: Made checking of coordinates occur in diagnostic mode. * stage3.c: Made checking of coordinates occur in diagnostic mode. Fixed case where cDNA gap turned into a single gap after peelback. * stage1.c: Fixed memory leak * smooth.c: Fixed bug resulting from apparent negative exon and negative intron lengths. * oligoindex.c: Restored pruning of sequences with bad oligos. * gmap.c: Added handlers to convert signals into exceptions, to indicate the problematic sequence. Restored pruning of sequences with bad oligos. 2006-10-05 twu * result.c, stage1.c, stage1.h: Added reporting of more diagnostic information * stage2.c: Fixed problems with uninitialized variable * matchpair.c: Fixed problem with uninitialized variable 2006-10-04 twu * gmap.c, pair.c, pair.h, result.c, result.h: Printing diagnostic information upon request * access.c: Using a Stopwatch_T object * stage1.c, stage1.h, stage2.c, stage2.h, stage3.c, stage3.h: Storing diagnostic information * smooth.c: Fixed memory leak * oligoindex.c: Stopped initializing data buffer for Oligoindex_T object * stopwatch.c, stopwatch.h: Created a Stopwatch_T object * stage3.c: Removed unnecessary list reversal * pair.c: Allowing jump in querypos in pair check procedure 2006-10-03 twu * gmap.c: Provide stage 2 information in diagnostic output. Use stage 2 information to prune bad alignments before stage 3. * stage3.c: Provide stage 2 information in diagnostic output. Allow a single open in scoring a single intron compared with dual introns. * stage2.h: Interface provides number of canonical and non-canonical introns * stage2.c: Returned to using gendistance for computing penalties, except for diffdistance in deadp. Fixed bug in tallying unknown types of introns. * sequence.c: Fixed problems with reading control-M characters (PC line feed) in input. * pair.h: Reporting stage 2 information in diagnostic output. * pair.c: Reporting stage 2 information in diagnostic output. Counting indels in computing percent identity for each exon. * dynprog.c: Eliminated extra reward for finding semicanonical introns in final pass 2006-10-02 twu * stage2.c: Need to take abs() when measuring diffdistance. Scoring behavior checked against revision 1.157. Making stage2 information available for diagnostic output. 2006-10-01 twu * gmap.c: Added -8 flag to show results of stage 2 calculation * boyer-moore.c: Revised procedure to handle ambiguous characters for PMAP. * dynprog.h: Added dynprogindex information. * dynprog.c: Added table for performing Boyer-Moore searches of microexons for PMAP. Reduced penalties for extending gaps. Added separate rewards for final pass of finding canonical introns. Added dynprogindex information. * smooth.c: Systematically checking ends for smoothing. Using matches instead of lengths to evaluate exons. Added probabilistic checking for marking middle exons. * stage3.h: Passing stage2p as a parameter to Stage3_compute. * stage3.c: Major changes to algorithm. Added iteration through smoothing, dual intron, and single intron passes. Checking peel back to determine if canonical intron needs to be recomputed. Added final pass to find introns with higher reward. Added dynprogindex information. Using dynprogindex information in peeling leftward and rightward. * stage1.c: New criterion for setting usep to false, namely, if support is less than a certain fraction of the maximum observed support. * pair.h: Pair_check_array now returns a bool. * pair.c: Handling more cases of short gaps as indels. Printing dynprogindex in diagnostic and debugging output. * stage2.c: Reverted to algorithm from revision 1.157. Using diffdistance instead of gendistance. Making sufflookback depend on mapfraction. 2006-09-29 twu * stage2.c: Changes made to scoring algorithm, but not well-motivated. Fixed bugs in predicting cDNA direction. 2006-09-19 twu * stage3.c: Fixed bug when recomputing over adjacent dynamic programming regions at end of sequence * stage2.c: Revised rules for giving credit for query distance, giving none if difference in distance is greater than min intron length. * stage1.c: Doubling genomic region with each iteration, until sufficient support found for a matchpair. * matchpair.c, matchpair.h: Computing and storing fraction of stage 1 support * gbuffer.c, gbuffer.h, gmap.c: Allowed Genome_T object to exceed default length of genomic segment * dynprog.c: Reduced penalties for gap extension, to match reductions in mismatch penalties * Makefile.am: Provided target machine during compilation 2006-09-11 twu * gmap.c: Included build target in version output. Increased oligomer size in PMAP from 3-4 to 4-5. 2006-09-08 twu * stage2.c: Added oligos to output of debugging statements * configure.ac: Using AC_FUNC_FSEEKO to check for fseeko. Added comment line for $Id$. * stage2.c: Added debugging statements for finding shifted canonical introns * stage1.c: Increased trimlength and extension past ends for PMAP * gmap.c: Increased maxextension to 120000 2006-09-01 twu * translation.c: Making sure to assign values to variables when number of alignment pairs is fewer than the minimum * pair.c: Fixed bug in printing CDS of GFF3 format * stage3.c: For PMAP, trimming ends of alignment to codon boundaries * translation.c: Removed check for minimum number of pairs for PMAP * dynprog.c: Changed calls to Pairpool_push. Added dynprogindex information. Reduced penalty for mismatches. * dynprog.h: Changed calls to Pairpool_push. Added dynprogindex information. * stage3.c: Fixed bug where peeling back yielded wrong coordinates. Changed calls to Pairpool_push. Added dynprogindex information. Recomputing regions with adjacent dynamic programming solutions. * matchpair.c, stage2.c: Changed calls to Pairpool_push * smooth.c: Added debugging statements for exon and intron lengths * sequence.c: Fixed bug where return type should be int, not bool. * pairpool.c, pairpool.h: Distinguished between gapholder and gapalign elements. Added dynprogindex to Pairpool_push. * pair.c: Added debugging option for printing dynprogindex * pairdef.h: Added dynprogindex to struct. Reordered fields. * bool.h: Defining bool to be an unsigned char instead of an enumerated type 2006-08-03 twu * fa_coords.pl.in: Added pattern Chr_ seen in some TIGR genomes. Changed variable name from chronlyp to concatenatedp. * oligoindex.c: Added check for query lengths shorter than index size * get-genome.c, iit_get.c: Allowed program to take coordinate requests from stdin * iit-read.c, iit-read.h, iit_dump.c: Added option to dump counts of each segment * gmap.c: Printing calling arguments in gff mode 2006-06-12 twu * gmap_compress.pl.in, gmap_uncompress.pl.in, pair.c: Using bp to denote query length, instead of nt * stage3.c: Turned off gap checking * gmap_compress.pl.in: Putting cDNA length into the Coverage field * gmap_uncompress.pl.in: Getting cDNA length from the Coverage field 2006-05-31 twu * params.c, params.h: Adding maxoligohits as a parameter * oligoindex.c, oligoindex.h: Using maxoligohits parameter, and reducing it for cross-species alignment (to avoid random and misleading matches) * stage2.h: Using maxoligohits parameter * stage2.c: For cross-species alignment, increasing enough_consecutive parameter and not opportunistically increasingly sampling interval * stage1.h: Reduced SINGLEINTRONLENGTH to 100000 * stage1.c: Using maxextension parameter instead of SINGLEINTRONLENGTH directly * gmap.c: Limited crossspecies parameters to maxextension and maxoligohits. 2006-05-25 twu * stage2.c: Introduced detection of semicanonical introns and penalty for these. Removed distpenalty_dead, and introduced distpenalty_noncanonical; motivated by ENST0356720. Decreased distpenalty; motivated by ENST0356222. Introduced procedure for querydist_credit, bounded below by zero. Decreated querydist points when gendistance equals querydistance; motivated by ENST0354988. * gmap.c: Using single intron length as basis for maxextension * stage3.c: Made initial pass of build_pairs_singles work only when genomejump equals queryjump; motivated by ENST0341339. Made acceptable mismatches for dual introns depend again on defect rate. * smooth.c: Removed deletion of longest middle exon in a series of short exons. Motivated by ENST0348697. * stage1.c, stage1.h: Using single intron length to extend genomic segment at ends. Motivated by ENST0358972. * oligoindex.c: Increased thetadiff for trimming repetitive oligos from 2 to 20. Motivated by ENST0357282. * gbuffer.c, gbuffer.h: Added data structures for storing positions of semicanonical dinucleotides * dynprog.c, dynprog.h: Made microexon p-value threshold depend on the defect rate. Increased genomejump needed for single gap penalties to apply. Motivated by ENST0262608. 2006-05-23 twu * stage2.c: Moved preprocessor directive outside of macro (needed for gcc3 compiler). * gmap.c, stage3.c, stage3.h: Changed variable name from extend_mismatch_p to trimalignmentp * changepoint.c: Changed criterion from a differences in theta to a ratio 2006-05-19 twu * stage3.c: Removed trimming of alignments in PMAP * stage1.c: Changed some parameters to increase sensitivity * chrsubset.c, chrsubset.h: Added function Chrsubset_make * translation.c: Fixed assignment of amino acids to genomic sequence in PMAP * stage3.h: Minor formatting change * stage3.c: Printing trimmed query coordinates in path summary. Pruning stage 3 result of coverage is less than MINCOVERAGE. * sequence.h: Added appropriate MAXSEQLEN for PMAP * reader.c, reader.h: Allowing reading in each direction to proceed to the ends of the query sequence * pairpool.c: Setting initial value for aa_g and aa_e * pair.c, pair.h: Printing trimmed query coordinates in path summary * oligoindex.c: Reinstated trimming of query sequence based on changepoint analysis * mem.c: Fixed compiler warning about pointer arithmetic on void *. * matchpair.c: Added comments * gmap.c: Performing trimming of query sequence in more cases. Changed name of "mutation reference" to "reference sequence". * dynprog.c: Removed step function penalty based on codons. Reduced extension penalty to obtain better behavior. * stage2.c: Changed position for starting to compute mismatch gaps. Added trimming at ends for PMAP. * stage1.c: Improved calculation of genome segment length, based on expected exon and intron sizes. In sampling mode, continuing sampling at current position of block pointers. * block.c, block.h: Added procedures for saving and restoring blocks 2006-05-16 twu * Makefile.am, gbuffer.c, gbuffer.h, gmap.c, matchpair.c, matchpair.h, pair.c, pair.h, stage2.c, stage2.h, stage3.c, stage3.h: Created Gbuffer_T object to use as workspace for various calculations 2006-05-15 twu * translation.c: Fixed uninitialized variable * dynprog.c, pair.c: Made cDNA gaps into type SHORTGAP_COMP instead of INDEL_COMP, so they get treated properly by the changepoint analysis * stage3.c: Fixed memory leak * changepoint.c: Changed changepoint parameters slightly 2006-05-14 twu * stage3.c: Added checks to make sure both qgenome lengths are adequately long in dual intron gaps * dynprog.c: Increased penalties for mismatches * gmap.c: Changed 'U' flag to mean no trimming of poor alignments at ends * gmap.c: Changed interfaces to some Stage3_T functions * pair.c, pair.h: Added query length to Coverage line * stage1.c: Fixed bug where maxtrial wasn't set * stage2.c: Removed final assignment of dinucleotide positions * stage3.h: Changed some interfaces to Pair_T functions * stage3.c: Added some shortcuts for changepoint analysis. Changed some interfaces to Pair_T functions. 2006-05-13 twu * gmap.c: Provided initial values to some variables * oligoindex.c: Reduced MAXHITS parameter from 200 to 20 * stage1.c: Limiting trials for same-species alignment. Limiting salvage algorithm to short sequences and cross-species alignment. * stage2.c: Implemented faster method for finding shifted canonical introns * stage2.c: Saving mappings for each indexsize, and going back to best one. Introduced idea of sufficient and minimum map fraction, and aborting if minimum map fraction not satisfied. 2006-05-12 twu * gmap.c, stage3.c, stage3.h: Added option to print output in IIT FASTA map format * pair.c, pair.h: Removed parameter from Pair_print_iit_map * pair.c, pair.h: Removed old code. Added a procedure for printing an IIT map. * sequence.c: Removed printing of '>' from Sequence_print_header * iit-read.c: Fixed bug in printing results from map iit * stage2.c: Added debugging statements 2006-05-11 twu * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Included filename of user-provided genomic seg as source in gff3 output * iit_dump.c: Included header for getopt_long * README: Added more information about IIT utilities * iit-read.c, iit-read.h: Added annotation-only option to IIT_dump * get-genome.c: Changed program description statement slightly * Makefile.am, iit_dump.c, iit_get.c, iit_store.c: Added long options and documentation for the IIT utilities * iit_store.c: Added support for quotation marks in gff3 features * chrnum.c, chrnum.h, chrsubset.c: Using new Chrnum_to_string interface * gmap.c, stage3.c, stage3.h: Added cDNA_match option for gff3 output * pair.c, pair.h: Added cDNA_match option for gff3 output, including Gap attribute. Using new Chrnum_to_string interface. * gmap.c, params.c, params.h, stage3.c, stage3.h: Added procedures for allowing chromosome-tagged IIT map files, in addition to strand-tagged IIT map files. * iit-read.c, iit-read.h: Added functions for retrieving multiple types and for getting label when access mode is fileio. * iit_get.c: Allowing user to specify multiple types * iit_store.c: Modified gff3 parsing to assign only one tag for each row. Using feature column as a source for labels. * pair.c, pair.h: Added routines for output in GFF3 format * Makefile.am: Added trimming of alignment based on changepoint analysis * stage2.c: Fixed bug in scanning for reverse canonical intron * backtranslation.c, pairdef.h, pairpool.c, translation.c: Introduced phase * gmap.c: Added flags for gff3 output * stage3.c, stage3.h: Added procedure for trimming pairs. Added gap when bounds don't make sense for dual intron gaps. Introduced gff3 format and phase. * changepoint.c, changepoint.h: Initial import into CVS 2006-05-10 twu * stage2.c: Added debugging statements for the result of stage 2 prior to trimming * pair.c, pair.h: Added a function for computing matchscores from an alignment * dynprog.c: Changed various gap penalties, especially at ends of sequence * iit_get.c: Changed atol() to strtoul(), because atol() was truncating numbers above 2^31 in machines with long ints of 4 bytes. 2006-05-08 twu * stage2.c: Changed condition for re-computing dead links from an "or" to an "and" on both directions. Added trimming of ends, based on consecutive matches. 2006-05-07 twu * stage2.c: Cleaned up procedure for finding introns in PMAP, which can be shifted. Cleaned up counts of canonical and total introns. * stage3.c: Fixed problems with shortcut for existing introns and with coordinates for dual genome pairs * oligoindex.c: Added debugging statement * stage2.c: Reworking of stage 2 scoring to make it more robust for low-identity sequences. Includes identification of possible canonical sites by shifting boundaries. 2006-05-06 twu * stage3.c, stage3.h: Using dynamic programming paths computed for dual intron gaps * gmap.c, stage2.c, stage2.h: Computing indexsize adaptively * smooth.c, smooth.h: Removed indexsize from smoothing procedures * params.c, params.h: Added minindexsize and maxindexsize to params * oligoindex.c, oligoindex.h: Changed PMAP indexsize to be in aa. Calculating mapfraction. * pair.c: Keeping ambiguous character and comp in PMAP alignments * intron.c, intron.h: Added function to return string for printing intron type * gmap.c, oligoindex.c, oligoindex.h: Put indexsize parameters inside of Oligoindex_T object 2006-05-05 twu * md_coords.pl.in: Improved handling of alternate strains 2006-05-04 twu * iit_store.c: Implemented parsing of gff format * gmap.c: Incremented stuttercycles for PMAP * indexdb.c: In monitoring commands, printing positions with commas * matchpair.c, matchpair.h, stage1.c: Using maxintronlen instead of querylen as criterion for removing hits before clustering * stage2.c: Checking two possible query positions for intron in PMAP * dynprog.c, dynprog.h: Removed obsolete parameters for computing genome gaps * stage3.c: Fixed boundaries for check of dual introns * fa_coords.pl.in: Improved monitoring messages to indicate when coordinates are parsed and when they are concatenated. * md_coords.pl.in: Fixed bug in handling alternate strains 2006-05-03 twu * md5-compute.c, oligo-count.c: Using new version of Sequence_read 2006-05-02 twu * stage2.c: Removed statement that does not apply to PMAP * matchpair.c: Fixed computation of support for PMAP. Added debugging statements * match.c: Fixed genomic segment retrieved for debugging * iit-read.c: Minor editing changes * datadir.c: Improved error message when genome directory isn't found * compress.c: Removing spaces from reading of uncompressed sequence * stage1.c: Increased matchpairs allowed. Fixed position adjustment for reverse strand matches on PMAP. * indexdb.c: Shifted positions for .prxpositions down by one. 2006-04-21 twu * gmap_setup.pl.in: Fixed bugs in printing of instructions * fa_coords.pl.in: Augmented patterns allowed for specifying chromosomal location of contigs * Makefile.am, chrsubset.c, chrsubset.h, get-genome.c: Added ability to print all chromosomal subsets from get-genome * datadir.c: Improved error message * README: Added information about the -q flag. Added additional forms for specifying chromosomal location of contigs. 2006-04-18 twu * gmap_setup.pl.in: Added the -q and -Q flags for specifying indexing intervals 2006-04-07 twu * gmap_setup.pl.in: Fixed bugs with new install statements * gmap_setup.pl.in: Added comment about editing .chrsubset file. Creating genome.maps directory. * stage3.c: Turned off CHECK * README: Added comment about editing .chrsubset file * gmap_compress.pl.in: Changed program to handle intron lengths in exon summary * stage2.c, stage2.h: Introduced limit on individual intron lengths * stage1.c, stage1.h: Changed variable name from maxintronlen to maxtotallen * gmap.c: Added separate flag for limiting individual intron lengths * pair.c: Added intronlengths to exon summary 2006-04-06 twu * sequence.h: Increased maximum sequence length to be 1000000. 2006-04-04 twu * stage3.c: Building singles if a short exon is deleted during smoothing * smooth.c: Improved debugging statements 2006-03-24 twu * gmap_setup.pl.in: Printing a copy of the install procedure to a file 2006-03-21 twu * match.c: Match_npairings returns an int * md_coords.pl.in: Passing back maxwidth as a result. * gmap.c: Made changes for compatibility with PMAP. * stage3.c, stage3.h: Giving maxpeelback information to dynamic programming routine, so it can use single gap penalties for long intron gaps. Made changes for compatibility with PMAP. * smooth.c, smooth.h: Changed smoothing routine to be based on net intron lengths. Sequences of small exons are removed if they yield a net intron length of approximately zero. * dynprog.c, dynprog.h: Disallowing intron or cDNA gaps to be placed at the edge of the segment, which caused an error to occur in the check_gaps routine. Using single gap penalties for long intron gaps. 2006-03-17 twu * sequence.c: Added handler for cases where requested subsequence start and end are beyond the bounds of the sequence * gmap.c, stage1.c, stage1.h: Added concept of maxtrial, to be used for chimera (subsequence) problems * stage3.c: Added an exception handle for errors in checking gaps * dynprog.c: Disallowed intron or cDNA gaps to be inserted at ends of the subsequence, which results in an unexpected gap. 2006-03-06 twu * gmap.c: Providing maponlyp information to Sequence_read, to turn skiplength warning message on or off. * sequence.h: Set MAXSEQLEN to be 200000 * pair.c, stage3.c: Revision of procedures to handle sequences with skiplength * stage1.c: Expanded maxintronlen to include skiplength * sequence.c, sequence.h: Addition of skiplength. Rewriting of code for reading sequences to handle skipping of middle correctly. 2006-03-05 twu * gmap.c: Reworking of maponlyp case to generate a Stage3_T object * stage3.c, stage3.h: Implementedq Stage3_direct function for maponlyp case. Cleaned up merge function for combining two Stage3_T objects. * stage1.c, stage1.h: Cleaned up various procedures in stage 1 computation. Simplified function identify_matches. Eliminating extensions for maponlyp case. * matchpair.c, matchpair.h: Added function for making a path from a matchpair object * matchpool.c: Simplified code for handling positions on reverse genomic strands. * match.c, match.h: Added function for printing the oligomer for a match. Simplified code for handling positions on reverse genomic strands. * oligoindex.c: Turned off code for changepoint analysis for trimming ends * pair.c, pair.h: Modified printing of path summary for maponlyp * result.c, result.h: Removed Stage1_T objects from Result_T * genome.c: Added debugging statements 2006-03-04 twu * block.c, oligo.c, oligo.h: Fixed problem where oligomers read from left side need to be shifted down to low 12-mer. This corrects problem with match coordinates being off by 4. 2006-03-02 twu * gmap.c: Revised code for computing chimeras * chimera.c, chimera.h: Made Chimera_T object created only when completely specified * stage3.c: Added a step to allow for subseq_offset, if present * sequence.c, sequence.h: Added subseq_offset to Sequence_T * dynprog.c, dynprog.h: Restored one gap behavior on ends. Using cdna_direction information on single gaps. * stage3.c: Forcing single gaps to be solved. Adding cdna_direction information for single gaps. Fixed problem with short indels being inserted backward. * oligoindex.c, oligoindex.h: Implemented new scheme for detecting repetitive sequence on ends, based on changepoint analysis * smooth.c: Fixed memory leak. * translation.c: Added check so we won't go beyond ends. Assigned variables when npairs is too few. 2006-02-27 twu * stage3.c, stage3.h: Minor bug fixes 2006-02-26 twu * match.c, match.h, matchdef.h, matchpool.c, stage1.c: Keeping track of number of pairings for each match, and placing a limit on the number of matchpairs generated for each match with a "promiscuous" variable 2006-02-25 twu * stage2.c: Made behavior similar for sequence and reverse complement, including bug fix and using diffdistance rather than querydistance 2006-02-24 twu * pairpool.c, pairpool.h: Added procedure for counting result of bounding operation * pair.c, pair.h: Counting amino acids directly for protein PSL output. Fixed problem in coordinates output where chrstring was NULL. * dynprog.c: Increased penalty for gaps in single alignments and made them uniform across sequence quality * smooth.c, smooth.h: Rewrite of code to use arrays instead of lists. Reduced definition of short exon. Now deleting consecutive strings of short exons. * translation.c: Noting large insertions and deletions of amino acids, even if not a multiple of 3 2006-02-23 twu * chimera.c, chimera.h, gmap.c, stage3def.h: Moved various functions back to stage3.c * stage3.c, stage3.h: Performing substitution of gaps only for final cDNA direction * oligoindex.c, oligoindex.h: Turned off trimming of sequence for reference sequences and for protein sequences * intron.c, intron.h: Using cdna_direction information in assigning Intron_type * dynprog.c, pairpool.c, pairpool.h, stage2.c: Passing in gapp as a parameter to Pairpool_push * translation.c: Fixed bug with marking backwards cDNAs relative to reference sequence * translation.c: Fixed minor bugs in new implementation * Makefile.am: Rewrite of code for determining mutations and for printing the results. Removed mutation.c and mutation.h. * mutation.c, mutation.h, pair.c, pair.h, translation.c: Rewrite of code for determining mutations and for printing the results 2006-02-21 twu * stage3.c: Moved some chimera functions from stage3.c to chimera.c. Set acceptable_mismatches for microexons to be 2. * Makefile.am, chimera.c, chimera.h, stage3.h, stage3def.h: Moved some chimera functions from stage3.c to chimera.c * dynprog.c: Increased probability standard for finding microexons 2006-02-20 twu * translation.c: Fixed bug where cDNA translation was incomplete * stage3.c: Fixed bug in substitution for gaps when ngap is not 3 * stage3.c, stage3.h: Complete rewrite of stage 3 to use gap pairs * translation.c: Increased parameter for ignoring amino acid mismatches at ends of query sequence * smooth.c, smooth.h: Made changes to handle new gap pairs * pair.c: No longer assigning coordinates for query sequence and genomic segment within gaps * matchpair.c, matchpair.h: Limiting 12-mer hits that are considered in clustering method to those that have a neighboring hit within the query length * dynprog.c, dynprog.h: Inserting a single gap pair for introns and cDNA insertions instead of filling in nucleotides * stage1.c: Reduced extension of genomic segment when cluster mode is required * gmap.c: Put output to stderr when path not found in compressed output * intron.c, intron.h: Moved Intron_type function here * pairpool.c, pairpool.h: Added explicit functios for handling gap pairs * pairdef.h: Added fields for queryjump and genomejump, to be used for gaps 2006-02-08 twu * translation.c: Set minimum number of pairs required for a translation 2006-02-07 twu * gmap.c: Now checking for existence of -g or -d flag before proceeding * stage3.c: Fixed problem when solving an intron and unable to peel back anything. 2006-02-06 twu * dynprog.c: Fixed problem with extending 5' and 3' ends with assumption of no gap. Added extra efficiency based on this assumption. 2006-01-19 twu * README: Enhanced usage statement for gmap_setup * gmap_setup.pl.in: Cleaned up flags. Added messages after each make procedure. Enhanced usage statement. * gmap_process.pl.in: Removed code for a separate strain file * gmap_process.pl.in: Added provision for a separate strain file, but commented out code * md_coords.pl.in: Fixed problem when MD file has fewer than 6 lines. Put output into an array for printing out in one batch. Improved handling of strains. * fa_coords.pl.in: Put output into an array for printing out in one batch. * Makefile.am, pmap_setup.pl.in: Removed pmap_setup program * stage3.c: Added procedure to fix short gaps * gmapindex.c: Added ability to read reference strain from coords file * gmap.c: Added provision for different stage 2 index size for PMAP 2006-01-18 twu * pair.c: Fixed problem with protein PSL coordinates 2005-12-15 twu * backtranslation.c, backtranslation.h: Fixed problems in backtranslation when genomic segment has lower case characters * gmap.c, stage3.c, stage3.h: Preserved diagnostic info in PMAP through backtranslation * pair.c: Changed printing of cDNA on ambiguous comps to be lower case if appropriate * dynprog.c: Changed ends from 1 gap to no gaps. Changed open/extend penalties at ends (which may be irrelevant now). * matchpool.c, stage1.c: Fixed problems with genomic position in reverse complement matches in PMAP. * translation.c: Fixed problems with ends of cDNA and genomic translation for PMAP. Set margin to zero for computing amino acid changes. * iit-read.c: Commented out abort 2005-12-14 twu * sequence.c: Fixed uninitialized heap 2005-12-13 twu * gmap.c, stage2.c, stage2.h: Added pruning before stage 2 based on number of potentially consecutive hits and short paths * oligoindex.c, oligoindex.h: Added computation of potentially consecutive hits in the query * stage1.c: Added filtering of matchlist based on support * matchpair.c, matchpair.h: Added storage of support and usep in Matchpair_T object 2005-12-09 twu * gmap.c, stage2.c: Removed code for finding PMAP unaligned access error * gmap.c, stage2.c: Added code for finding PMAP unaligned access error * backtranslation.c, oligoindex.c: Removed code for checking assertions * backtranslation.c, oligoindex.c: Added code for checking assertions 2005-12-08 twu * pair.c: Streamlined determination of amino acid coordinates in alignment output * indexdb.c: Fixed bug in handling offsets in alternative strains in PMAP * dynprog.c: Reformulated assignment of pointers in two-dimensional array 2005-12-06 twu * translation.c: Formatting change * stage1.c: Turned on use of matchpool. Fixed problem where list was not reset to NULL. * pair.c: Changed dir:unknown to dir:indet * oligoindex.c: Fixed uninitialized variable in GMAP * matchpool.c: Improved debugging statements * matchpair.c: Increased standard for stage 1 support * oligoindex.c: Made code compatible with both GMAP and PMAP * backtranslation.c, dynprog.c: Reduced memory allocation for two-dimensional array into a one-dimensional array * matchpool.c, pairpool.c: Removed initial creation of chunks * oligoindex.c: Fixed bug in PMAP where stop codon in the genomic sequence created a value that exceeded oligospace * pair.c, pair.h: Added a way for the thread worker id to be printed with the result. Removed ambiguous comp characters from gmap. * gmap.c, reqpost.c, reqpost.h, result.c, result.h, stage3.c, stage3.h: Added a way for the thread worker id to be printed with the result * matchpool.c: Added commands for saving and restoring pointers, so memory can be re-used * match.c, match.h, stage1.c: Added compiler conditions for using matchpool method. * genome.c: Fixed messages to user * chrsubset.c: Changed format of output * translation.c: Fixed bug in translating backward cDNAs. Extended translation all the way to the end. 2005-12-04 twu * Makefile.am, gmap.c, matchpair.c, matchpair.h, matchpairdef.h, matchpairpool.c, matchpairpool.h, stage1.c, stage1.h: Removed special memory allocation routines for matchpairs * Makefile.am, gmap.c, match.c, match.h, matchpair.c, matchpair.h, matchpairdef.h, matchpairpool.c, matchpairpool.h, matchpool.c, matchpool.h, stage1.c, stage1.h: Added special memory allocation routines for matches and matchpairs * iit-read.c: Added an exception handler * pair.c: Commented out unused procedure * genome.c: Added include of except.h 2005-12-02 twu * gmap.c: Fixed memory leak * translation.c: Added separate routine for printing list of mutations. Fixed problem where number of cDNA nucleotides in codon is 4 or 5. * stage2.c: Clarified different code for gmap and pmap * stage1.c: Added checking routine for Stage1 object * access.c, mem.c: Augmented debugging statements * sequence.c: Fixed case where first sequence of FASTA file has no header, but subsequent sequences do. * nr-x.c: Initial import into CVS * pair.c: Added printing of aapos to all positions in "f -9" mode * mutation.c: Simplified logic of merge functions 2005-11-29 twu * match.h: Provided interface for new functions * gmap.c: Fixed bug due to switched parameters * stage3.c: Added comment * config.site: Added information about defaults * README: Added information about Cygwin and defaults * stage1.c: Added include of match.h 2005-11-23 twu * acinclude.m4, configure.ac, fopen.m4: Added commands to check for 'b' or 't' flag to fopen * pmap.c: Removed obsolete file * Makefile.am, access.c, chrsubset.c, datadir.c, fopen.h, genome-write.c, genomeplot.c, gmap.c, gmapindex.c, iit-read.c, iit-write.c, iit_store.c, indexdb.c, oligo-count.c, pdldata.c, pmapindex.c: All calls to fopen now generalized to handle systems that allow or disallow the 'b' or 't' flag * VERSION: Updated version 2005-11-22 twu * Makefile.am: Removed coords1.test, which is now performed by setup1.test and setup2.test * setup1.test.in, setup2.test.in: Added prerequisite of fa_coords program for setup tests * README: Made instructions for raw genome build match changes in gmap_setup * gmap_setup.pl.in: Changed name of make command * gmap_setup.pl.in: Clarified comments * gmap.c: Made npaths output correct when user provides a segment * match.c, matchdef.h, stage1.c: Storing reciprocal of nentries to avoid repeating this calculation multiple times later * setup1.test.in, setup2.test.in: Made changes in test to match changes in program * align.test.ok, map.test.ok: Made change in output from Mutations to Amino acid changes * Makefile.am: Made change in name of coords file * README: Made instructions consistent with changes in programs * fa_coords.pl.in: Changed a flag. Output now going to stdout rather than stderr. * gmap_setup.pl.in: Now making the call to fa_coords or md_coords within the Makefile * matchpair.c: Turned off debugging * match.c, match.h, matchdef.h: Storing number of entries for each match * indexdb.c: Moved one type of debug macro into its own category * stage1.c: Weighted dangling computation according to number of entries for each match * translation.c: Fixed bug where pointer went past beyond sequence 2005-11-19 twu * chrsubset.c, gmap.c: Added printing of chrsubset information. Consolidated printing of npaths information into a single function. * backtranslation.c: Using the two aamarkers. Allowing matches to codons even for frameshifts. * mutation.c: Allowed merging of adjacent insertions * translation.c: Made PMAP assignment of genomic amino acids conform to GMAP code for assignment of cDNA amino acids * translation.c: Added further translation of cDNA beyond genomic stop codon, if possible * translation.c: Streamlined code for amino acids to cDNA sequence * translation.c: Overhaul of method for assigning amino acids to cDNA sequence, now based on separate marking and assignment of codons. * pair.c, pairdef.h, pairpool.c: Created separate aamarkers for genomic and cDNA sequence * gmap.c, params.c, params.h, stage3.c, stage3.h, translation.c, translation.h: Added flag for specifying maximum number of amino acid changes to show * stage1.c: Fixed memory leak * matchpair.c: Fixed read of uninitialized heap when bestsize == 0 * matchpair.c, matchpair.h: Removed storage of support value * gmap.c, matchpair.c, matchpair.h, stage1.c: Moved sequence pruning procedures from gmap.c to matchpair.c * stage1.c: Fixed bug which caused loop to continue unnecessarily 2005-11-18 twu * gmap.c, result.c, stage1.h: Added complete option for freeing Stage 1 objects * stage1.c: Introduced idea of stepping through trials to identify poor genomic matches * matchpair.c, matchpair.h: Introduced method for salvaging individual 12-mer hits * gmap.c, stage1.c, stage1.h: Simplified call to Stage1_matchlist * stage1.c: Cleaning up parameters in preparation for cycling through stage 1 * indexdb.c: Added forward/backward to pre-loading messages for pmap * translation.c: Skipping mutation calls on non-standard amino acids * backtranslation.c: Fixed bug when trying to backtranslate non-standard amino acids 2005-11-17 twu * gmap_setup.pl.in: Added intermediate commands to Makefile 2005-11-11 twu * backtranslation.c: Improved matching of genomic codon to cdna codon. * translation.c: Added debugging statement * pair.c: Restored printing of genomic sequence for ambiguous matches in pmap 2005-11-10 twu * genome-write.c: Added read of linefeed after FASTA entry in raw genome files. Improved speed of writing blocks of zeros or X's. * gmapindex.c: Fixed bug in skip_sequence for raw genome files * get-genome.c: Implemented printing of raw genome files * gmap.c, stage3.c, stage3.h: Moved final translation and backtranslation steps into print procedures * Makefile.am, backtranslation.c, backtranslation.h, translation.c, translation.h: Moved nucleotide consistency procedures for pmap into backtranslation.c * pair.c: Removed consistency conversion. Now being done by backtranslation procedures. Removed meaning of AMBIGUOUS_COMP for compressed output of pmap. * dynprog.c: Added actual coordinates to debugging statements * translation.h: Made backtranslation procedure more rigorous. * translation.c: Made backtranslation procedure more rigorous. Added debugging statements. 2005-11-09 twu * get-genome.c: Changed -r flag to also indicate use of the uncompressed genome file * get-genome.c, sequence.c, sequence.h: Added uncompressed raw format for printing genome segment * genome-write.c, genome-write.h, gmapindex.c: Added uncompressed raw format for genome file * pair.c: Reformulated printing of protein-based PSL output * intlist.c: Added include of stdio.h * chimera.c: Removed include of nmath.h * gmap.c: Allowed coordinate output for pmap. Changed flag to -f 9. 2005-11-05 twu * gmap_compress.pl.in: Allowed handling of PMAP output * gmap_uncompress.pl.in: Fixed bug in printing last line of alignment 2005-11-02 twu * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Allowed introns to be printed in exon mode * matchpair.c: Imposed the requirement that minsize be 2 or more away from bestsize 2005-10-31 twu * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Added ability to print exons using genomic sequence 2005-10-28 twu * indexdb.c: Using lseek instead of fseek/fseeko for writing a positions file on disk * access.c, access.h: Added a function for opening a file as read/write 2005-10-27 twu * VERSION: Updated version * Makefile.am: Restored setup2.test * setup2.test.in: Made test use new gmap_setup script * setup1.test.in: Removed install step * gmap_setup.pl.in: Fixed bug in clean statement * configure.ac: Added check for fseeko * gmap.c: Added information about various type sizes to -V flag * compress.c, genome-write.c, indexdb.c: Using fseeko if available 2005-10-26 twu * gmap_setup.pl.in: Fixed bug where -W flag was in the wrong branch 2005-10-25 twu * pair.c: Removed extraneous linefeed in compressed output * VERSION: Updated version number * pair.c: Fixed psl output * README: Clarified use of ./configure flags. Added instructions for the -C flag in fa_coords. * gmap_setup.pl.in: Restored -W flag for writing directly to file * gmap_setup.pl.in: Added instructions for clean to Makefile * fa_coords.pl.in: Added -C flag to make each sequence a separate chromosome * pair.c, pair.h, stage3.c: Added printing of cDNA direction in compressed output * bigendian.h, mem.h: Added include of config.h. 2005-10-21 twu * VERSION: Updated version * README: Added instructions for running make after gmap_setup * MAINTAINER: Added reminder to check for DEBUG mode * pair.c, pair.h, stage3.c, stage3.h: Restored printing of strain information * pdldata.c: Fixed typo * oligo-count.c: Using new interface to indexdb * gmap.c: Added error message if user tries to use strain information and file is not found * gmap.c: Restored printing of strain information. Added conversion to upper case for altstrain sequence. * genome.c, indexdb.c: Added printing of number of bytes * access.h: Added MAX32BIT * access.c: Added debugging statements * Makefile.am: Added needed files 2005-10-19 twu * configure.ac: Added warning message if mmap not available * fa_coords.pl.in: Added ability to read from stdin * setup1.test.in: Added install command * access.c, access.h: Made Access_filesize an external routine * genuncompress.c, pdldata.c: Using routines from access.c * Makefile.am: Added access.c and access.h to programs with IIT_T object * chrsubset.c: Added include of config.h * genome-write.c, genomeplot.c, get-genome.c, iit_dump.c, iit_get.c, pmapindex.c, segmentpos.c: Changed calls to IIT_free and IIT_annotation * gmapindex.c: Removing free of accsegmentpos_table, which fails on some computers * gmap.c: Reading user-provided genomic segment and reference sequence before FASTA query * iit-write.c, iit-write.h: Made write version of IIT_free static and renamed it. * iit-read.h: Changed interface to IIT_annotation. * iit-read.c: Added FILEIO mode for reading IIT_T objects. Changed interface to IIT_annotation. * iitdef.h: Made mutex part of IIT_T object. Added offset to IIT_T object for FILEIO mode. * indexdb.c: Made mutexes part of Indexdb_T object. Changed calls to IIT_annotation. * genome.c: Made mutex part of Genome_T object * access.h: Added flag for randomp. Added function for read/write mmap. * access.c: Moved file size determination to a separate function 2005-10-14 twu * gmap.c: Moved reading of input sequences to beginning * indexdb.c: Minor fixes * access.h: Returning length and time for Access_immediate * access.c: Returning length and time for Access_immediate. Forcing read of pages during pre-load. * datadir.c, gmap.c: Removed unused variables * genome.c, stage3.c: Added necessary include file * result.c: Addressed compiler warning * pair.c: Fixed faulty print statement in pslformat_nt * indexdb.c: Added necessary include file. Removed unnecessary variables. * dynprog.c: Applied type conversion for char to access array * Makefile.am: Added access.c and access.h * blackboard.c, blackboard.h, gmap.c: Added nextchar to Blackboard_T object * gmap.c: Now reading first sequence in main thread, and using existence of a second sequence to determine whether to start threads and to pre-read offsets file for GMAP. Conditioning some flags based on existence of mmap and threading support. * datadir.h: Removed unnecessary include * intlist.c: Minor fix to resolve gcc compiler warning * access.c, access.h, genome.c, indexdb.c: Standardized file access routines and moved them to access.c * genomeplot.c, plotdata.c, plotdata.h: Fixed ASCII printing of universal coordinates when a range is selected * matchpair.c: Fixed calculation of genome length for segment * sequence.c: Fixed Sequence_read_unlimited to handle sequences without a header line. 2005-10-12 twu * gmap_setup.pl.in: Changed program to generate a Makefile * fa_coords.pl.in, md_coords.pl.in: Deleted comment about gmap_setup running time * gmap_process.pl.in: Initial import into CVS * Makefile.am: Added instructions for gmap_process * setup1.test.in: Modified setup test for new interface to utility programs * Makefile.am: Modified setup test to put binary files in tests directory * MAINTAINER: Minor note to self * Makefile.am: Made FULLDIST work for gmap sources * gmap.c: Made separate flags for batch for offsets and batch for positions file. Simplified input thread. * indexdb.h: Made separate flags for batch for offsets and batch for positions file * indexdb.c: Added memory mapping for offsets files under PMAP. Made separate flags for batch for offsets and batch for positions file. * oligoindex.c: Removed stop codon from oligomers in stage 2 * Makefile.am: Moved beta code for GMAP into a separate program * stage2.c: Moved PMAP conditionals out of debugging statements 2005-10-11 twu * Makefile.am: Removed conditional distribution of files * translation.c: Including comp.h header * gmap.c, pmapindex.c: Changed PMAP indexing interval to be based on amino acids. * oligop.c: Removed STOP from amino acid alphabet. * gmapindex.c: Generating chrsubset file at same time as chromosome file * indexdb.h: Removed STOP from amino acid alphabet. Changed PMAP interval to be based on amino acids. * indexdb.c: Simplified conversion of oligomer to amino acid index for PMAP. Removed STOP from amino acid alphabet. Computing each protein frame separately. * configure.ac: Added large file support with AC_SYS_LARGEFILE. Removed setup test number 2. Added gmap_process. * acinclude.m4: Removed macros for O_LARGEFILE * open-flags.m4: Removed file open-flags.m4 2005-10-10 twu * acinclude.m4, open-flags.m4: Added check for O_LARGEFILE in open 2005-10-07 twu * gmap_setup.pl.in: Restored -W flag and improved it 2005-10-06 twu * VERSION: Updated version * configure.ac: Added hook for pmap_setup.pl * README: Added explanation of full, uncompressed genome, and of batch modes * gmap_setup.pl.in: Added checks to make sure desired files are built. Added printing of commands to stdout. * pmap_setup.pl.in: Added checks to make sure desired files are built * gmap_compress.pl.in, gmap_uncompress.pl.in: Altered format of compressed output to indicate ambiguous matches * pair.c: Altered format of compressed output to indicate ambiguous matches * genome.c: Fixed batch loading of full genomes greater than 2 gigabytes * gmap.c: Modified message about batch mode and multiple threads mode * stage2.c: Parameterized alignment characters and defined them centrally in comp.h. Restored previous intron penalties based on length. * pair.c: Parameterized alignment characters and defined them centrally in comp.h. Now printing ambiguous nucleotide matches. * dynprog.c: Parameterized alignment characters and defined them centrally in comp.h. Added separate table for consistent nucleotide pairs. * Makefile.am, comp.h, pairpool.c, stage3.c, translation.c: Parameterized alignment characters and defined them centrally in comp.h * gmap.c: Changed batch mode to be of two types: pre-loading of indices only, and pre-loading of both indices and genome. 2005-10-05 twu * gmap.c: Clarified various user messages * indexdb.c: Added an explicit check for a nonsensical offsets file * pair.c: Made margin width determined dynamically in printing the alignments 2005-10-04 twu * dynprog.c: Removed reverse intron possibilities from PMAP * gmapindex.c: Restored monitoring output for logging contigs * indexdb.c: Added fwd/rev to monitoring commands for indexing offsets and position files * compress.c: Added monitoring commands for compressing and uncompressing files * gmap_setup.pl.in: Clarified behavior and instructions for building a full (uncompressed) genome file * fa_coords.pl.in: Abbreviated monitoring output, with a parameter that controls which contigs to ignore * Makefile.am: Added make instructions for pmap_setup * pmap_setup.pl.in: Initial import into CVS 2005-10-01 twu * gmap.c: Performing translation of query sequence and genomic segment to upper case. Turned off stage 1 for user-provided genomic segment in PMAP. Provided -G flag for specifying full genome, if it exists. * genome.c: Turned warning into error, if user wishes to use a full genome and none exists * dynprog.c: Allowed intron gap parameter to be arbitrarily large * pair.c, stage2.c, translation.c: Fixed handling of user-provided genomic segment with lower case characters for PMAP * stage1.c: Improved debugging statement * oligoindex.c: Minor formatting change * mem.c: Enhanced trap features * boyer-moore.c: Removed assertions * boyer-moore.c, dynprog.c, dynprog.h, stage3.c, stage3.h: Made stage 3 use upper case for query sequence and genomic segment when needed, but original sequences for building alignment * oligoindex.c, oligoindex.h, stage2.c, stage2.h: Made stage 2 use upper case for query sequence and genomic segment for oligomer chaining, but original sequences for building alignment * oligo.c, oligop.c, stage1.c, stage1.h: Made stage 1 assume upper case query sequence * pair.c: Removed call to toupper * complement.h, sequence.c, sequence.h: Provided utilities for making uppercase and alias versions of sequences * compress.c: Added toupper as reason for including ctype.h 2005-09-30 twu * plotdata.c: Revised autoscale function * stage2.c: For PMAP, fixed bug where C terminus of query sequence was not aligned. Eliminated computation of reverse intron direction for PMAP. * oligoindex.c: Modified comments * gmap.c: Removed Sequence_trim for PMAP, and reduced stage 2 indexsize. * pair.c: Changed psl output to reflect definition of a block to be a region without indels or gaps, instead of an exon 2005-09-22 twu * oligoindex.c: Make amino acid index for stage 2 (with 21 amino acids) distinct from that of stage 1 (with 16) * indexdb.c, indexdb.h, oligop.c: Compressing 21 amino acids into 16 to allow offsets of amino acid 7-mers to fit into less than 2 GB 2005-09-21 twu * stage1.c: Parameterized size of oligomers for PMAP * gmap.c, indexdb.h: Parameterized interval for stage 1 when user provides a genomic segment * pmapindex.c: Parameterized size of oligomers * matchpair.c: Turned off debugging * indexdb.c, indexdb.h: Introduced indexing of 7-mers by PMAP * VERSION: Updated version * gmap_setup.pl.in: Commented out -W flag for forcing write to file. Added option -G for making an uncompressed version of the genome (.genome file). * fa_coords.pl.in: Allowed both chr and Chr in parsing for chromosomal mapping * config.site: Clarified possible choices for LDFLAGS * matchpair.c: Penalizing clusters spread out in repetitive genomic regions * pdlimage.c: Made images in color * gmapindex.c: Commented out monitoring statement about logging contigs * stage1.c: Fixed a bug involving subtraction of two unsigned ints into a signed int, occurring for chromosomes greater than 2^31 in length. 2005-09-19 twu * stage2.c: Fixed bug when stage 2 fails * pair.c: Fixed assessment of unknown bases for PMAP queries * matchpair.c: Fixed computation of stretch for PMAP protein queries * indexdb.c: Removed debugging flag * iit_get.c: Added termination message and flushing output when input coming from stdin * gmap.c: Added debugging messages 2005-09-16 twu * Makefile.am, pdlimage.c: Initial addition of pdlimage to CVS. 2005-09-08 twu * iit-read.c, iit-read.h, stage3.c: Added option to print levels of map results * intlist.c, intlist.h: Added command for Intlist_to_string * gmap.c: Modified directory printing to go to a given file pointer. Added information about default directory to print_version command. * datadir.c, datadir.h, get-genome.c: Modified directory printing to go to a given file pointer * genomeplot.c, plotdata.c, plotdata.h: Changed format of positions file. Changed title for summary genome plots. 2005-09-07 twu * get-genome.c: Added ability to print levels of map contents. Fixed bug in interpreting an entire chromosome. 2005-09-03 twu * genomeplot.c, pdldata.c, pdldata.h, plotdata.c, plotdata.h: Generalized variable for transform and added reciprocal * genomeplot.c, plotdata.c, plotdata.h: Added option to autoscale * genomeplot.c, pdldata.c, pdldata.h, plotdata.c, plotdata.h: Added options for computing summary of multiple samples 2005-09-02 twu * genomeplot.c, plotdata.c, plotdata.h: Added functions for printing a threshold line, and for printing output in ascii format. * pdldata.c: Now removing line feeds from annotations. If no annotations are available, using sample numbers. 2005-08-29 twu * plotgenes.c, plotgenes.h: Improved display of genes * genomeplot.c: Made changes so PDL file is read only when necessary. Added extra room for showing genes. 2005-08-26 twu * genomeplot.c, plotdata.c, plotdata.h: Printing accession header only if one sample per page. Reduced default number of genomes per page to 12. * genomeplot.c, pdldata.c, pdldata.h, plotdata.c: Added ability to read sample identifiers from a separate file for PDL input * genomeplot.c: Added ability to plot a single page 2005-08-24 twu * gmap.c, pair.c, pair.h, stage3.c, stage3.h: For PMAP, allowed PSL output in both nucleotide coordinates and protein coordinates 2005-08-23 twu * Makefile.am, genomeplot.c, plotgenes.c, plotgenes.h: Added ability to plot genes 2005-08-19 twu * gmap.c, stage3.c, stage3.h: Added option for printing coordinates 2005-08-18 twu * plotdata.c, plotdata.h: Added options for printing dots and overlapping samples * pair.c, pair.h: Added option for printing coordinates. Trying to fix PSL output for PMAP. * genomeplot.c: Added option for printing dots and overlapping samples * color.c, color.h: Added color brewer palette * plotdata.c: Prevented printing of empty strings 2005-08-16 twu * plotdata.c, plotdata.h: Fixed bug when only a subset of genes is selected. Added commands for gif output. * get-genome.c, gmap.c: Showing available map files when valid one is not entered * datadir.c, datadir.h: Added function to list directory contents * genomeplot.c: Allowed user to specify a list of samples to plot * intlist.c, intlist.h: Added function Intlist_from_string * stage3.c: Fixed mapping to account for cDNA direction 2005-08-10 twu * Makefile.am, genomeplot.c, pdldata.c, pdldata.h, plotdata.c, plotdata.h: Allowed genomeplot to read PDL files 2005-08-07 twu * iit-read.c: Improved debugging statements * gmap.c, stage3.c, stage3.h: Added option to map by exons * pair.c, pair.h: Added function to retrieve exon bounds 2005-08-04 twu * Makefile.am, gmap.c: Merged pmap main code into gmap.c * sequence.c, sequence.h: Added functionality for pmap chimeras * stage3.c, stage3.h: Changed function to take queryntlength instead of queryseq. Made function work with both gmap and pmap. * chimera.c, chimera.h: Changed functions to take queryntlength instead of queryseq * pair.c: Made PSL format for proteins print protein coordinates * chimera.c, chimera.h, gmap.c: Changed chimera algorithm to potentially search both sides of an incomplete alignment 2005-08-02 gcavet * modules: put back to original state * modules: added dev module 2005-08-02 twu * stage3.c: Increased size of merge length for chimeric exon-exon junctions * sequence.c: Restored trimming of subsequences 2005-08-01 twu * stage3.c, stage3.h: Changed chimeric margin detection to work on both ends * stage1.c: Added debugging statements * chimera.c, chimera.h, gmap.c: Changed chimeric search to work on both ends that fail to align * sequence.c: Turned trimming off for subsequences * pair.c, pair.h: Added indel penalties at appropriate end for chimeric path scores * Makefile.am, get-genome.c: Allowed user to look up information in map iit files * chimera.c: Tested code for checking if breakpoint is outside the alignment 2005-07-29 twu * datum.c, datum.h, genomeplot.c, plotdata.c, plotdata.h: Allowed colors to be specified in input file * chrsubset.c, chrsubset.h, genomeplot.c, plotdata.c: Implemented user-selected genomic range 2005-07-28 twu * plotdata.c: Allowed program to handle NaNQs * genomeplot.c, plotdata.c, plotdata.h: Added log and signed cube root functions * genomeplot.c, plotdata.c, plotdata.h: Added ability to print genome on a single line 2005-07-27 twu * genomeplot.c: Added ability to handle multiple samples * plotdata.c, plotdata.h: Added ability to detect and read header lines. Made code for starting and ending pages extern. * genomeplot.c, plotdata.c, plotdata.h: Implemented printing of circular genome * pair.c: Corrected query coordinates of chimera in compressed mode * pairpool.c: Fixed problem where a gap was left at the 5' end of a bounded transfer. 2005-07-26 twu * datum.c, datum.h, genomeplot.c, plotdata.c, plotdata.h: Added ability to read specified colors for each line * datum.c, datum.h, genomeplot.c, plotdata.c, plotdata.h: Allowed printing of segments between chromosomes 2005-07-25 twu * pmap.c, stage3.c, stage3.h: Allowed chimeric pieces to be merged over longer length if ends have strong splice sites * stage1.c: Restored reader overlap for longer sequences * gmap.c, iit-read.c, iit-read.h: Added chromosomal positions to map information * chrnum.c, chrnum.h: Added function to get offset for a chrnum * Makefile.am: Added chrsegment.h to sources for genomeplot 2005-07-23 twu * gmap.c, pmap.c, stage3.c, stage3.h: Allowed two parts of chimera to merge if close on the genome 2005-07-21 twu * stage3.c, stage3.h, translation.c, translation.h: Clarified code specific to PMAP and GMAP * sequence.c: Changed sequence header for PMAP to refer to amino acids * pair.c, pair.h: Added ability to print inferred nucleotide sequence for PMAP * oligop.c: Clarified meaning of INDEX1PART to be number of amino acids * pmapindex.c: Clarified meaning of INDEX1PART to be number of nucleotides * oligo-count.c: Using new interface for Reader_new * indexdb.c, indexdb.h: Clarified meaning of INDEX1PART to be number of nucleotides for PMAP. * pmap.c: Removed -q flag for specifying stage 1 interval, and removed -T flag for truncating sequence at full-length protein. Specified -Q flag to be printing of inferred nucleotide sequence. * gmap.c: Removed -q flag * Makefile.am: Added beta source files for pmap * stage1.c: Introduced min intron length. Clarified meaning of INDEX1PART to be number of amino acids. Added debugging statements. * reader.c, reader.h: Allowed crossover of start pointer and end pointer so that middle oligomers will be read. Should help in mapping of short sequences. * translation.c, translation.h: Moved combinatorial testing of codons to translation step * stage3.h: Performing protein translation only when necessary. * stage3.c: Considering only forward intron directions for pmap. Performing protein translation only when necessary. * stage2.c: Considering only forward intron directions for pmap * sequence.c: Changed header line for pmap * pair.c: Made further changes to accommodate plus sign in alignment * pair.c: Introduced plus sign in alignment * oligoindex.c: Improved efficiency of analyzing genomic segment, by storing indices for each frame * genome.c: Added debugging statements * dynprog.c, dynprog.h: Changed combinatorial instantiation of codons to a single instantiation * Makefile.am, params.c, params.h, pmap.c: Gave pmap the same overall behavior as gmap, including multi-threading and flag options 2005-07-19 twu * Makefile.am, block.c, block.h, dynprog.c, dynprog.h, gmap.c, indexdb.c, indexdb.h, oligoindex.c, oligop.c, oligop.h, pair.c, pmap.c, pmapindex.c, sequence.c, sequence.h, stage1.c, stage1.h, stage2.c, stage2.h, stage3.c, stage3.h, translation.c, translation.h: Introduced pmap and pmapindex 2005-07-15 twu * get-genome.c: Added range format to allow negative lengths * genome.c: Added exception when requested length exceeds allocated buffer length * except.c: Added printing of exception message * chimera.c: Fixed problem when donor or acceptor length exceeded allocated buffer length * Makefile.am: Fixed handling of non-distributed source code * align.test.ok: Changed genomic coordinate to match new computation of coordinates in gaps * VERSION: Updated version number 2005-07-13 twu * dynprog.c: Made genomic positions on left and right ends of gap constant, to avoid problems in stage 3 computations * memchk.c: Made procedures thread-safe * stage3.c, stage3.h: Fixed genomic positions on left and right ends of gap. Removing gaps at 5' end, possibly introduced by smoothing. * mem.c, mem.h: Improved memory trap procedures * matchpair.c: Added check before freeing some possibly null structures * genome.c: Removed duplicate FREE of filename * gmap.c: Fixed genomic positions on left and right ends of gap. Fixed bug when chimera was not reset to NULL. * pair.c, pair.h: Fixed genomic positions on left and right ends of gap 2005-07-12 twu * stage3.c: Fixed bugs in computing dual introns, dealing with previously computed gaps, and returning coordinates for empty peelbacks. * stage1.c: Increased parameters for maximum number of matching pairs considered * pairpool.c: Enhanced debugging output * pair.c, pair.h: Added procedure for printing a single pair * mutation.c: Changed unnamed unions to named unions 2005-07-08 twu * stage3.c: Added extra check to make sure pairs is non-empty * gmap.c: Initialized chimera to be NULL * oligoindex.c: Fixed bug caused by writing to a random location when indexsize < 8. * mem.c: Improved trap code * memchk.c: Changed types to be consistent with regular version of memory manager * memchk.c: Added checking implementation of memory manager * stage3.c: Fixed a segmentation fault bug. * stage2.c: Changed distpenalty to ignore query distance and max_intronlength, and simplified computation. These values were probably not affecting previous computation anyway. * mutation.c: Fixed problem caused by removal of unnamed union * iitdef.h: Included header file for off_t type. * gmap.c: Changed maxpeelback for cross-species mode back to previous value * VERSION: Updated version * configure.ac: Added check for caddr_t type. Added check for madvise flags. * gmap.c: Removed unnecessary variables and arguments. Changed variable type of nworkers. * oligoindex.h, pairpool.c, pairpool.h, stopwatch.c, stopwatch.h: Added formal void argument * compress.c, genome.c, genome.h, matchpair.c, oligoindex.c, stage2.c: Removed unnecessary variables * block.c, boyer-moore.c, dynprog.c, dynprog.h, matchpair.h, oligo.c, oligo.h, stage1.c, stage1.h: Removed unnecessary arguments * sequence.c, sequence.h: Added formal void argument. Changed some variable types. * indexdb.c, match.c, segmentpos.c: Changed print statement * pair.c: Added static specification to some functions * iit-read.c, iitdef.h: Changed some variable types * indexdb.c: Increased interval of monitoring output from 1 million nt to 10 million nt * gmap_uncompress.pl.in: Fixed bug in argument list * bigendian.c, boyer-moore.c, chrom.c, chrsubset.c, chrsubset.h, compress.c, datadir.c, dynprog.c, except.c, genome-write.c, genome.c, get-genome.c, gmap.c, gmapindex.c, iit-read.c, iit-write.c, iit_dump.c, iit_get.c, iit_store.c, indexdb.c, interval.h, intlist.c, list.c, match.c, matchpair.c, md5-compute.c, md5.c, mutation.c, oligo-count.c, oligo.c, oligoindex.c, pair.c, pairpool.c, params.h, reqpost.c, segmentpos.c, segmentpos.h, sequence.c, smooth.c, stage1.c, stage2.c, stage3.c, translation.c, uintlist.c: Made changes to satisfy pedantic gcc compiler warnings and to comply with ANSI C * acinclude.m4: Added autoconf macro for madvise flags * MAINTAINER: Added comment about strict compiler checking * madvise-flags.m4: Initial import into CVS * gmap.c: Changed parameters to prevent segmentation fault in cross-species mode * gmap.c, stage3.c, stage3.h: Added psl output format * stage1.c: Increased matchpairs allowed at pre-unique stage * match.c, match.h: Trivial formatting change 2005-07-07 twu * gmapindex.c: Removed some unused variables * get-genome.c: Changed usage statement for coordinate interval * datadir.c: Added error message when genome subdirectory is not readable * chrnum.c, chrnum.h: Added Chrnum_length command, needed for psl output format * pair.c, pair.h: Added psl output format 2005-06-23 twu * VERSION: Updated version for release * stage2.c: Increased cross-species penalty for intron length * gmap.c: Added other constraints on using oligo depth. Reporting failure type. Separated out beta source files from gmap. * result.c, result.h: Added failure type * chrsubset.c, chrsubset.h, plotdata.c: Added checks if chrsubset is NULL. * genomeplot.c: Added getopt to genomeplot. Added mode for printing segments. * Makefile.am: Added getopt to genomeplot. Separated out beta source files from gmap. 2005-06-21 twu * genomeplot.c, plotdata.c, plotdata.h: Fixed coloring of raw data, depending on whether segmentation is performed. * Makefile.am: Moved chrsegment functionality to genomeplot * gmap.c: Giving crossspecies flag to Stage 2 * genomeplot.c: Getting segment breakpoints back in three separate lists * chrsegment.c, chrsegment.h: Added re-checking of segment breakpoints * intlist.c, intlist.h: Added Intlist_delete function * stage2.c, stage2.h: Implemented different intron penalties for crossspecies mode * stage1.c: Restored full functionality for crossspecies mode 2005-06-17 twu * stage1.c: Added check for too many matchpairs before applying Matchpair_filter_unique 2005-06-16 twu * chrsegment.c, chrsegment.h: Using chromosomal positions in calculations * genomeplot.c, plotdata.c, plotdata.h: Modified calls to Plotdata_values and Plotdata_chrpositions * genomeplot.c, iit-read.c, iit-read.h: Added function IIT_length * plotdata.c: Storing chrpositions and values as individual arrays * genomeplot.c: Using a tree structure to store segment results. * chrsegment.c, chrsegment.h: Using a tree structure to store segment results. Added check for single breakpoint in addition to double breakpoints. * chrsegment.c, chrsegment.h, genomeplot.c: Implemented recursive segmentation, generating a list of segments * iit-read.c: Fixed problem with memory fault 2005-06-15 twu * Makefile.am, chrsegment.c, chrsegment.h, genomeplot.c, plotdata.c, plotdata.h: Merged chrsegment functionality into genomeplot * genomeplot.c: Fixed some memory leaks * datum.c, datum.h: Added Datum_T object for use by Plotdata_T * Makefile.am: Added program chrsegment and added Datum_T object to genomeplot * chrsegment.c, nr-x.h: Added program chrsegment * plotdata.c, plotdata.h: Now storing data as sorted within each chromosome * chrsubset.c, chrsubset.h: Added function to compute and retrieve old indices 2005-06-14 twu * Makefile.am, chrsubset.c, chrsubset.h, color.c, color.h, doublelist.c, doublelist.h, genomeplot.c, plotdata.c, plotdata.h: Added program genomeplot * uintlist.c: Fixed typo * iit-read.c: Skipping freeing of memory, since it sometimes gives a memory fault. * Makefile.am, chimera.c, maxent.c, maxent.h, splice-site.c, splice-site.h: Changed splice site predictor from scoring matrix to maxent method 2005-06-10 twu * indexdb.c: Added error message when user-provided genomic segment is invalid 2005-06-03 twu * chimera.c, chimera.h: Added detection of exon-exon boundary for chimeras in both forward and reverse directions * gmap.c, pair.c, pair.h, stage3.c, stage3.h: Added output of cDNA direction of exon-exon boundary for chimeras * dynprog.c, dynprog.h, gmap.c, stage3.c: Restored previous behavior for finding microexons. Changed meaning of end_microexons_p to be an allowance for longer introns at the ends. * chimera.c: Improved debugging output 2005-06-01 twu * stage3.c, stage3.h: Added utilities for new chimera functions. * gmap.c: Added stage 3 calls for truncating full length. Using Chimera_T objects and new chimera functions. * stage1.c, stage1.h: Using ends only for cross-species mode in stage 1 * result.c, result.h: Created Chimera_T object. * pair.c, pair.h: Added utility programs for chimera evaluation. * chimera.c, chimera.h: Added search for exon-exon boundaries in chimeras. Created Chimera_T object. * Makefile.am, splice-site.c, splice-site.h: Added splice site calculations to chimera evaluation. 2005-05-25 twu * gmap.c: Moved translate calls up to gmap.c. Added hook for -T flag for truncating full-length sequence. * stage3.c, stage3.h: Using function Pairpool_transfer_bounded. Moved translate calls up to gmap.c. * pairpool.c, pairpool.h: Added function Pairpool_transfer_bounded. 2005-05-20 twu * VERSION: Revised version * stage3.c, stage3.h: Turned off default microexon finding at ends. Cleaned up margin function for identifying chimeras. * pair.c: Changed computation of matchscores * oligoindex.c: Changed definition of oligodepth. * gmap.c: Added -U flag to turn on microexons at ends. Changed code for chimeras, and changed meaning of -x flag. * chrsubset.c: Added check on freeing object. * chimera.c: Fixed debugging statement * Makefile.am: Added beta testing flag. 2005-05-10 twu * Makefile.am: Added compiler instructions for pthreads to various programs * VERSION: Modified version number. * README: Added information about -E feature of fa_coords and gmap_setup, and information about editing coords.txt. * MAINTAINER: Added reminder to modify VERSION. * gmap_setup.pl.in: Removed reverse complement procedures here; now being done by gmapindex. Allowed specification of a command. * fa_coords.pl.in: Introduced chromosome NA for headers that cannot be parsed. Allowed specification of a command. Improved handling of Celera genomes. * genome.c, indexdb.c: Put mutexes around read procedures for the combination of multi-threading and non-memory mapped reading of file. * gmap.c: Fixed bug from uninitialized querysubseq. 2005-05-09 twu * pair.c, pair.h, result.c, result.h, stage3.c, stage3.h: Allowed printing of range of chimera breakpoints * interval.c, interval.h: Changed interface to some functions * iit-read.c, iit-write.c: Fixed bug in debug version of dump. Changed calls to Interval_T functions. * gmapindex.c: Changed count_sequence() to read a line at a time * genome-write.c: Properly handling contigs marked as reverse complement. * gmap.c: Using fscore threshold to determine statistical significance. Reporting equivalent positions for breakpoint. * chimera.c, chimera.h: Using fscore threshold to determine statistical significance 2005-05-06 twu * gmap_setup.pl.in: Handling other NCBI cases where version numbers are missing * genome-write.c, indexdb.c: Minor changes in monitoring output * VERSION: Updated version number * README: Added explanation of output ordering with multiple threads * coords1.test.ok: Changed to add new comment line in coords.txt * README: Minor textual change * gmap_setup.pl.in: Added -q flag for specifying indexing interval. Allowed comment lines to be in coords.txt. * md_coords.pl.in: Improved messages to user. * fa_coords.pl.in: Added handling of unmapped contigs for Ensembl genomes. Improved messages to user. Added check for possible conversions of alternate chromosomes to alternate strains. * gmap_uncompress.pl.in: Fixed bug due to old code that referred to the -R flag * gmap.c: Enhanced result to show number of matches, mismatches, and indels in alternative to chimera. Introduced maxpaths of 0 to indicate output of both paths of chimera if present, otherwise one path. * pair.c, pair.h, sequence.c, sequence.h, stage3.c, stage3.h: Removed references to ntrimmed * result.c, result.h: Enhanced result to show number of matches, mismatches, and indels in alternative to chimera * gmap.c: Remove check for badoligos. Modified logic for computing chimeras. Made calls to initialization and termination routines for Dynprog_T. * chimera.c: Fixed memory leak * pair.c: Removed printing of ntrimmed nucleotides * stage3.c, stage3.h: Added functions for reporting matches, mismatches, indels, and margin of a Stage3_T object * translation.c: Added initial values for translation_start and translation_end * stage2.c: Removed computation of stage2 support. Simplified loop conditions. * oligoindex.c, oligoindex.h: Removed computation of stage2 support * dynprog.c, dynprog.h: Replaced functions with arrays for computing pairdistances and jump penalties * oligoindex.c, oligoindex.h: Changed memory allocation scheme, by setting ALLOCSIZE == MAXHITS. Assigning blocks in ascending order of available slots. Computing trim_start and trim_end. Reporting support for stage 2. * gmap.c: Changed calls to Sequence_read(). Using oligomer-based method for trimming query sequence. * md5-compute.c, oligo-count.c: Changed calls to Sequence_read() * sequence.c, sequence.h: Removed poly-A and poly-T detection in favor of oligomer-based trimming at ends. 2005-05-05 twu * stage2.c, stage2.h: Added check for stage 2 support. * stage1.c: Restored terminal sampling for short sequences. Fixed potential bug with subtracting unsigned ints. Enhanced debugging messages. * md5-compute.c, oligo-count.c, sequence.c, sequence.h: Modified functions to report next char in input. * matchpair.c, matchpair.h: Added reporting of stage1 support and stage1 stretch. * gmap.c: Added checks for bad input sequences based on oligo depth, bad oligos, stage1 support, and stage2 support. Moved message about batch mode earlier, if evidence of a second sequence is present. * gmap.c: Chopping chimeras at breakpoint, and providing a flag to allow overlaps at the breakpoint. * stage3.c, stage3.h: Simplified interface to Stage3_copy. * pair.c, pair.h: Removed coverage correction for genomic gaps. Added way to turn off merge_gaps during copying of pairs. * stage2.c: Made changes in individual instructions to improve speed * oligoindex.c: Added overabundant field * chimera.c: Speeded up computation * gmap.c: Using explicit step for marking oligos in the query. Terminating attempt at mapping if oligo depth exceeds 2. Fixed memory leak. * stage2.c, stage2.h: The variable badsequencep is now fed into Stage2_compute. * stage1.c: Killed terminal sampling for short sequences. Reduced values for maxentries. Both done to improve speed. * oligoindex.c, oligoindex.h: Added an explicit step for marking oligos in the query, which needs to be done only once for each query sequence. 2005-05-04 twu * chimera.h: Added computation of margin. * chimera.c: Added computation of margin. Improved debugging output. * gmap.c: Fixed bug where bestfrom == bestto. Added check for sufficient margin at ends before finding chimera. * gmap_compress.pl.in: Changed compression routine to handle chimera information * chrsubset.c: Fixed bug where stdin was closed if .chrsubset file didn't exist * stage3.h: Added function to compute matchscores for chimera detection. * stage3.c: Changed calls to Sequence_T functions. Added function to compute matchscores for chimera detection. * stage2.c: Performing Stage 2 from trim start to trim end, instead of entire sequence. Changed calls to Sequence_T functions. * stage1.c: Changed calls to Sequence_T and Reader_T functions * sequence.c, sequence.h: Cleaned up interface. Added ability to print trimmed part of sequence. * Makefile.am, chimera.c, chimera.h, gmap.c, nmath.c, nmath.h, pair.c, pair.h: Added chimera detection based on Chow test * md5-compute.c: Changed call to Sequence_T function. Using full sequence now for MD5 computation. * matchpair.c: Removed call to Sequence_T function * oligoindex.c: Changed calls to Sequence_T functions * oligo-count.c: Changed call to Reader_new * get-genome.c: Changed call to Sequence_print * reader.c, reader.h: Storing querystart and queryend in Reader_T object * block.c, block.h: Removed unnecessary field 2005-05-03 twu * gmap.c, gmapindex.c, indexdb.c, indexdb.h: Allowed indexing interval of 12-mers to be specified at run time * configure.ac: Added check for madvise function * README: Added Ensembl format as a recognized coordinate format * md_coords.pl.in: Improved prompt for alternate chromosomes * genome.c, iit-read.c, indexdb.c: Put compiler flags around madvise * datadir.c: Deleted line that was causing problems when the GMAPDB environment variable was set 2005-05-01 twu * fa_coords.pl.in: Further fixed coordinates * fa_coords.pl.in: Removed addition of 1 to coordinates. Added parsing for Ensembl format. * gmap_setup.pl.in: Testing accessions with and without version numbers * md_coords.pl.in: Making -U and -A flags standard. Can exclude unmapped contigs and alternate chromosomes with chrsubsets. * md_coords.pl.in: Fixed case where direction eq "0". * oligoindex.c: Modified memory allocation scheme to have a fixed block of memory that expands when necessary. * iit_get.c: Added -A back to allowed flags. * chrsubset.c: Added debug statements * VERSION: Updated version 2005-04-20 twu * sequence.c: Kept poly-A and poly-T limits when specifying subsequences. * pair.c: Added an exception handler. Removed minor bug where first pair was handled twice. * gmapindex.c: Allowed compress and uncompress routines to take a filename as an argument. Added wraplength option for uncompress. * gmap.c: Fixed bug in specifying wrong sequence length for computing chimeras. Removed limit on number of paths for finding chimeras. Added exception handler. * except.c: Modified behavior of exception handler * genuncompress.c: Fixed problem if positions were greater than allowed for signed ints. * compress.c, compress.h: Added wraplength option to Compress_uncompress. 2005-04-19 twu * sequence.c, stage1.c: Added checks for null before freeing memory. * gmap.c: Made IIT_get return an array of ints, rather than an Intlist, to reduce repeated small memory allocations. Placed a limit on npaths for finding chimeras. * get-genome.c, iit-read.c, iit-read.h, iit_get.c, segmentpos.c, stage3.c: Made IIT_get return an array of ints, rather than an Intlist, to reduce repeated small memory allocations. * mem.c: Added debugging statements. 2005-04-18 twu * dynprog.c: Added memory allocation routines in cases where problem size exceeds maxlength of Dynprog_T. Removed unused code for affine gap penalties. 2005-04-12 vivekr * cvswrappers: Added binary extensions 2005-03-11 twu * gmap_setup.pl.in, md_coords.pl.in: Allowed for contigs to be reverse complement * fa_coords.pl.in: Removed unused functions * gmap.c: Moved dump functions to get-genome * segmentpos.c: Fixed bug when alternate strain contig exists but reference is to reference strain * get-genome.c, iit-read.c, iit-read.h: Changed output of dump functions * get-genome.c: Moved dump functions to get-genome * README: Added instructions for specifying reverse coordinates * VERSION: Changed version number 2005-03-09 twu * gmapindex.c, iit-read.c: Now storing information about reverse complementing of contigs * match.c, pair.c, pair.h, segmentpos.c, segmentpos.h, stage3.c: Limited printing of contigs to those that are relevant for a given strain. * get-genome.c, gmap.c: Fixed bug when using the -R release flag. 2005-03-08 twu * get-genome.c: Changed default behavior to print just the reference strain. Added a flag to print all strains. 2005-03-04 twu * chrsubset.c: Fixed minor memory leak * VERSION: Updated version * README: Added explanation of chromosome subsets * chrsubset.c: Changed Chrsubset_T object to be NULL when a blank list is read in .chrsubset file. * gmap.c: Incorporated chrsubset. Fixed printing of option flags. * gmap_setup.pl.in: Added creation of chrsubset file * whats_on: Changed directories where genomic maps are located * Makefile.am, chrsubset.c, chrsubset.h, params.c, params.h, stage1.c, stage1.h: Added capability to search on chromosome subsets * separator.h: Changed separator back to dashes * iit-read.c: Changed format of dumping typestrings for .altstrain.type file. * gmapindex.c: Added writing of .altstrain.type file. * stage1.c: Removed unused code. Using stage1size instead of INDEX1PART in some places. * gmap.c: Added error message. * datadir.c: Removed unused error message. 2005-03-03 twu * stage1.c: Introduced idea of dangling matches at ends, and using it to determine when to sample further at each end, and when to sample from the middle. * separator.h: Changed separator from dashes to dots. 2005-03-02 twu * stage1.c: Fixed a bug in find_3prime_matches. Changed sampling to avoid terminal sampling, and to redo sampling just before nskip is zero. This is done to avoid long computation times with terminal sampling on long cDNAs. 2005-03-01 twu * matchpair.c, matchpair.h: Added a boundmethod type. * stage1.c: Added code for finding matches using triplets, but not using it. Removing terminal sampling, and performing a redo of last sampling instead. 2005-02-19 twu * params.c, params.h: Removed maxintronlen from the params structure. * gmap.c: Increased default maxintronlen to 1.2M, and provided a flag to allow user to change this value. 2005-02-18 twu * configure.ac, perl.m4: Changed name of macro * configure.ac: Added check for Perl with needed modules. Added warning messages to bottom of configure script. * config.site: Added option for user to specify a value for PERL * acinclude.m4: Added check for Perl with needed modules * perl.m4: Added check for Perl with appropriate modules * VERSION: Set version number * COPYING, config.site: Changed wording slightly * README: Removed optional comment after make check 2005-02-17 twu * datadir.c, gmap_setup.pl.in: Allowed subdirectory to be present in the -d flag * config.site: Fixed advice on installing in build directory * README: Fixed some textual errors 2005-02-16 twu * gmap_setup.pl.in: Modified instruction text * md_coords.pl.in: Added guessing of columns * genome.c, genuncompress.c, iit-read.c, indexdb.c: Added type cast to avoid compiler warnings for munmap. * configure.ac: Removed capitalization * VERSION: Updated version * configure.ac: Capitalized message when compilation of pthreads fails * Makefile.am: Added subdirectories * iit_get.out.ok, iittest.iit.ok: Added okay files for IIT programs * AUTHORS: Minor text change * gmap_setup.pl.in: Changed usage statement * acx_pthread.m4: Updated macro to latest version * configure.ac: Added tests for IIT programs. Changed call to ACX_PTHREAD. * config.site.gne: Changed name from genomedir to gmapdb * config.site: Added lines for PTHREAD_CFLAGS and PTHREAD_LIBS * MAINTAINER: Added instructions for building .ok files for tests * align.test.in, coords1.test.in, map.test.in, setup1.test.in, setup2.test.in: Added ${srcdir} where necessary to make distcheck happy * Makefile.am, fa.iittest, iit.test.in, iit_dump.test.in, iit_get.test.in, iit_store.test.in: Added tests for IIT programs * gmap.c: Changed ENABLE_PTHREADS to HAVE_PTHREAD. Added reporting of features to version command. * blackboard.c, reqpost.c: Changed ENABLE_PTHREADS to HAVE_PTHREAD * iit_store.c: Changed flags and calling convention * Makefile.am: Removed ENABLE_PTHREADS and POPT_LIBS. * acinclude.m4: Changed name of file * README: Completed instructions * COPYING: Completed license terms * acx-pthread.m4, acx_pthread.m4: Changed name of file * acinclude.m4, acx-pthread.m4, config, expand.m4, mmap-flags.m4, pagesize.m4: Put m4 macros into separate files * configure.ac: Commented out code for AC_PROG_LIBTOOL. Added some compiler checks. * gmap_setup.pl.in: Removed IO::Dir. Changed behavior if -I flag not given. Added -9 for debugging behavior. * fa_coords.pl.in, md_coords.pl.in: Removed IO::Dir * iit-read.h, iit-write.h: Fixed compiler complaint about double typedef for IIT_T * iit-read.c: Fixed one-off problem with IIT_totallength. * genome-write.c: Fixed montoring statements. * gmap.c: Put pthreads information in version text. * gmapindex.c: Fixed problem in comparing an int (255) with EOF (-1) on some machines. 2005-02-15 twu * Makefile.am, align.test.in, align.test.ok, coords1.test.in, coords1.test.ok, map.test.in, map.test.ok, setup.genomecomp.ok, setup.idxpositions.ok, setup1.test.in, setup2.test.in, ss.chr17test: Expanded test suite * Makefile.am, ss.cdna, ss.chr17test, ss.her2: Initial addition to CVS repository. * gmap_setup.pl.in, md_coords.pl.in: Moved functionality to separate md_coords program * Makefile.am: Added fa_coords program * fa_coords.pl.in: Added file to CVS repository. * block.c, block.h, compress.c, dynprog.c, dynprog.h, genome-write.c, iit-read.c, iit-write.c, indexdb.c, interval.c, intron.c, match.c, match.h, matchpair.c, matchpair.h, md5.c, md5.h, md5.t.c, oligo.c, oligo.h, pair.h, pairpool.c, pairpool.h, reader.c, request.c, result.h, segmentpos.c, segmentpos.h, smooth.c, smooth.h, stage1.c, stage3.c, stopwatch.c, translation.h: Cleaned up included headers * table.c, table.h, tableint.c, tableint.h: Clarified meaning of unsigned type. * reqpost.h: Using Blackboard_T in interface. * oligo-count.c: Fixed call to Block_new. * listdef.h: Added a define for T. * iitdef.h: Moved typedef to iit-read.h and iit-write.h. * iit_get.c: Removed popt library calls. * iit-read.h, iit-write.h: Moved include of iitdef.h to .c files. * get-genome.c: Using SEPARATOR now instead of DASH. * datadir.c, datadir.h: Formatting changes. * gmap.c, oligoindex.c, oligoindex.h, params.c, params.h, stage2.c, stage2.h: Moved get_mappings command to be in oligoindex.c. Moved indexsize to be stored in Params_T. * complement.c, complement.h, genome.c, pair.c, sequence.c, translation.c: Changed complement table to be a macro. * chrom.c, chrom.h: Clarified meaning of unsigned type. * blackboard.h: Added comments about include of reqpost.h. * Makefile.am: Cleaned up source files needed for each binary. * shortoligomer.h: Removed file. Definition needed only by oligoindex.c. 2005-02-14 twu * bigendian.h, genuncompress.c, iit-write.c, littleendian.h: Conditionally include littleendian.h. * iit-read.h: Added function to compute total length. * iit-read.c: Conditionally include littleendian.h. Added function to compute total length. * indexdb.h: Allow user to force building of positions file in file. * indexdb.c: Conditionally include littleendian.h. Allow user to force building of positions file in file. * genome-write.c: Added explanation of file format. * genome.c: Changed type from unsigned int to UINT4. Conditionally include littleendian.h. * compress.c, compress.h: Added ability to create genome file in memory, if enough is available. Changed type from unsigned int to UINT4. * Makefile.am, genome-write.c, genome-write.h, gmapindex.c: Moved procedures for writing genome file to a new file. Added ability to create genome file in memory, if enough is available. 2005-02-10 jmurray * cvswrappers: Added binary extensions 2005-02-10 twu * iit_get.c: Added include for strings.h to handle rindex. * bigendian.h, genome.c, genuncompress.c, indexdb.c, sequence.c: Added includes for stddef.h to handle size_t * genome.c, genuncompress.c, iit-read.c, indexdb.c: Added check for HAVE_SYS_STAT_H * gmap.c, gmapindex.c, oligo-count.c: Removed include of sys/stat.h * iit-read.c: Commented out include of sys/param.h * genome.c, indexdb.c: Commented out include of errno.h * except.c: Removed code for mailing error messages to developer. * genome.c, genuncompress.c, gmapindex.c, iit-read.c, iit_store.c, indexdb.c, md5-compute.c, stopwatch.c: Added checks for HAVE_UNISTD_H and HAVE_FCNTL_H. * blackboard.c, compress.c, datadir.c, genome.c, genuncompress.c, gmap.c, gmapindex.c, iit-read.c, iit_store.c, indexdb.c, oligo-count.c, reqpost.c, stopwatch.c: Added check for HAVE_SYS_TYPES_H * genome.c, genomicpos.c, iit-write.c, indexdb.c, match.c, md5.c, oligoindex.c, pair.c, sequence.c: Created separate macros for handling absence of memcpy and memmove. * genome.c, genomicpos.c, iit-write.c, indexdb.c, match.c, md5.c, oligoindex.c, pair.c, sequence.c: Included macros for handling computers without memcpy or memmove. * datadir.c: Included macros for handling computers without dirent.h. 2005-02-08 twu * chimera.c, translation.c: Fixed rcsid lines * Makefile.am, uinttable.c, uinttable.h: Removed files uinttable.c and uinttable.h * bigendian.c: Added ending quotation mark to rcsid. * bigendian.h, chimera.h, scores.h, separator.h: Added Id comment to beginning of header files. 2005-02-07 twu * assert.c, assert.h, bigendian.c, bigendian.h, blackboard.c, blackboard.h, block.c, block.h, boyer-moore.c, chimera.c, chrnum.c, chrnum.h, chrom.c, chrom.h, complement.c, complement.h, compress.c, datadir.h, dynprog.c, dynprog.h, except.c, except.h, genome.c, genome.h, genomicpos.c, genomicpos.h, get-genome.c, gmap.c, gmapindex.c, iit-read.c, iit-read.h, iit-write.c, iit-write.h, iit_dump.c, iit_get.c, iit_store.c, indexdb.c, indexdb.h, interval.c, interval.h, intlist.c, intlist.h, intron.c, intron.h, list.c, list.h, match.c, match.h, matchpair.c, matchpair.h, md5-compute.c, md5.c, md5.h, mem.c, mem.h, mutation.c, mutation.h, oligo-count.c, oligo.c, oligo.h, oligoindex.c, oligoindex.h, pair.c, pair.h, pairpool.c, pairpool.h, params.c, params.h, reader.c, reader.h, reqpost.c, reqpost.h, request.c, request.h, result.c, result.h, segmentpos.c, segmentpos.h, sequence.c, sequence.h, smooth.c, smooth.h, stage1.c, stage1.h, stage2.c, stage2.h, stage3.c, stage3.h, stopwatch.c, stopwatch.h, table.c, table.h, tableint.c, tableint.h, translation.c, translation.h, uintlist.c, uintlist.h, uinttable.c, uinttable.h: Moved HAVE_CONFIG_H from .h file to .c file. * datadir.c: Added check to see if closedir succeeded. * Makefile.am: Augmented list of bin programs. * get-genome.c: Changing variable names to genomesubdir, fileroot, and dbversion. * gmap.c: Added -g flag. Changing variable names to genomesubdir, fileroot, and dbversion. * params.c, params.h: Made dbversion a static variable. * match.c, pair.c, pair.h, stage3.c, stage3.h: Changing variable names to genomesubdir, fileroot, and dbversion. * genome.c, genome.h, indexdb.c, indexdb.h: Changing variable names to genomesubdir and fileroot. * datadir.c, datadir.h: Now searching subdirectory to find name of fileroot, which can be different from subdirectory name. * pair.c: Removed unnecessary math.h header. Added initialization of donor and acceptor arrays. * getopt.c: Removed internationalization code. * gmap.c: Removed unnecessary math.h header. Changed location of map directory for each genome. * matchpair.c, oligoindex.c, segmentpos.c, smooth.c, stage3.c: Removed unnecessary math.h header. * indexdb.c, indexdb.h: Allowed user to build positions file directly to disk, if sufficient memory is unavailable. * mem.c, mem.h: Added procedures for allocating memory without throwing an exception. * gmapindex.c: Changed flags. Allowed user to build positions file directly to disk, if sufficient memory is unavailable. * chrom.c: Eliminated printing of initial zero on non-numeric chromosomes. 2005-02-03 twu * gmap_setup.pl.in: Removed -R flag, and symbolic links. Fixed problems with parsing unmapped contigs in seq_contig.md files. * gmapindex.c: Added debugging statements. 2005-01-28 twu * config.site: Added warning about non-absolute paths. * README: Added comments about downloading a genome database. * Makefile.am: Added extra commands for "make distcheck" to be happy. Removed genome example. * MAINTAINER: Added comment about --enable-fulldist 2005-01-27 twu * Makefile.am, config.site, configure.ac, datadir.c: Changed GENOMEDIR to GMAPDB. 2005-01-26 twu * ss.AA005326, ss.cdna: Changed name of example cDNA sequence. 2005-01-25 twu * MAINTAINER: Added recommended steps for creating a distribution. * Makefile.am, chrnum.c, chrnum.h, chrom.c, chrom.h, genome.c, genome.h, get-genome.c, gmap.c, gmapindex.c, match.c, match.h, matchdef.h, matchpair.c, pair.c, pair.h, segmentpos.c, segmentpos.h, stage1.c, stage3.c, stage3.h: Made changes to allow chromosome names to be arbitrarily long * gmap_setup.pl.in: Removed restriction on chromosome name length. Stripped spaces from beginning and end of input. Added step to create initial genomedir. 2005-01-24 twu * config.site: Changed defaults in config.site. * getopt.c, getopt.h, getopt1.c: Added gnu getopt_long function * ss.AA005326, tests: Added test sequence. * Makefile.am: Created Makefile.am in util subdirectory * gmap_setup.pl.in: Fixed bug due to missing quotation mark * configure.ac: Removed dependence upon popt library * Makefile.am, get-genome.c, gmap.c: Added gnu getopt_long procedure * README: Changed prerequisites. Improved formatting. * gmap_setup.pl.in: Added procedures for handling UCSC genomes. * iit_store.c: Using Tableint_T instead of Table_T for types. * Makefile.am: Removed some unnecessary source files. * configure.ac: Added ACX_EXPAND, turned off popt, and fixed problem when no threads compilation is possible. * config.site.gne: Added comments for profiling and making .third file. * acinclude.m4: Added macro for ACX_EXPAND. * README: Added mention of examples and make check. * Makefile.am: Added extra dist files for examples. * oligoindex.c: Created a union type to make clear the possible storage of either a position or a pointer to an array positions. * datadir.c: Removed unused function. * gmapindex.c, table.c, table.h, tableint.c, tableint.h, uinttable.c, uinttable.h: Added an end value to avoid problems when table length is 0. * Makefile.am, tableint.c, tableint.h, uinttable.c, uinttable.h: Made specific table types. * gmap.c: Removed duplicate getopt line. * iit_get.c: Fixed compilation bug when popt not available. * gmapindex.c: Used specific table types and keys/values functions. * table.c, table.h: Made functions Table_keys and Table_values * gmap_uncompress.pl.in: Using BINDIR for substitution. * Makefile.am: Removed Makefile.am 2005-01-23 twu * gmap_setup.pl.in: Major changes made to provide both interactive and command-line use. 2005-01-22 twu * configure.ac: Allowed hyphens to be in the version number * MAINTAINER, bootstrap, config.site, config.site.gne: Added local config.site to CVS directory * MAINTAINER: Added notes for maintainer * README: Simplifying the installation instructions * configure.ac: Made configuration easier by adding VERSION and config.site files. Removed MAPDIR. Added Perl scripts. * VERSION, config.site: Made configuration easier by adding VERSION and config.site files. * gmap_compress.pl.in, gmap_uncompress.pl.in: Changed file from .pl version to .pl.in version. * Makefile.am: Moved Perl scripts to util subdirectory. * datadir.c, datadir.h, gmap.c: Moved map files to a subdirectory in genome directory. * gmapsetup.pl.in: Moved file to util subdirectory. * whats_on: Changed location of map files to be inside genome directories. * gmap_compress.pl, gmap_uncompress.pl: Changing scripts from .pl to .pl.in version * Makefile.am, README, compress.c, configure.ac, datadir.c, genome.c, get-genome.c, gmap.c, gmap_compress.pl, gmap_compress.pl.in, gmap_setup.pl.in, gmapsetup.pl.in, iit-read.c, indexdb.c, segmentpos.c: Renamed program from snap to gmap * snap.c, snap_compress.pl, snap_uncompress.pl, snapbuild.pl.in, snapindex.c: Renamed program from snap to gmap * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Better handling of MD5 info and aa lines. * gmap_uncompress.pl, gmap_uncompress.pl.in, snap_uncompress.pl: Handling arbitrary flags in compression. * mutation.c, mutation.h, pair.c, pair.h, pairdef.h, translation.c: Added refquerypos to print nucleotide position of mutations. * get-genome.c: Fixed problem with empty header for reference sequence when specific strain is requested. 2005-01-19 twu * translation.c: Fixed problem with printing of an AA in an intron. * mutation.c: Consolidated point mutations near a segmental mutation. 2005-01-06 twu * translation.c: Fixed detection of deletion mutations where aapos was advancing in a gap. * mutation.c, mutation.h, translation.c: Fixed cases where a single-position mutation was reported next to a segmental mutation. * stage3.c: Added debugging statements for relative alignment. * translation.c: Allowed lower case letters to translate appropriately to a codon. 2004-12-21 twu * stage3.c: Performing microexon search for all defect rates. Adjusted acceptable mismatches for low-quality sequences. * translation.c: Increased IGNORE_MARGIN to deal with nucleotide coordinates. * stage3.c: Changed criteria for performing microexon search. 2004-12-20 twu * translation.c, translation.h: Fixed detection of large deletions relative to reference sequence. Fixed printing of cDNA aa in a gap. * stage3.c: Changed criterion for starting microexon search to add mismatches and indels. Fixed detection of large deletions relative to reference sequence. * gmap.c, snap.c: Set chimera threshold to 0 for default. Reduced band from 10 to 7. * dynprog.c: Reduced pvalue thresholds for microexons. 2004-12-19 twu * gmap.c, snap.c: Turned on chimera functionality. Increased dynamic programming band from 7 to 10. * stage1.c: Changed function for maxintronlen. * smooth.c: Increased SHORTMIDEXON_LEN from 40 to 80. * dynprog.c: Removed definition for INFINITY, which wasn't being used. 2004-12-18 twu * stage2.c: Created define parameter SAMPLE_INTERVAL. * gmap.c, snap.c: Change maxintronlen to be maxintronlen_bound, and compute new maxintronlen depending on current query length. Increased size of extraband_single and extraband_paired. * params.c, params.h, stage1.c, stage1.h: Change maxintronlen to be maxintronlen_bound, and compute new maxintronlen depending on current query length. * dynprog.c: Changed compute_scores_affine to have parameter list compatible with compute_scores (with codon penalty). * stage3.c: Subtracting points for non-canonical introns in determining direction. Doing middle introns of sequence before doing 3' and 5' ends. * dynprog.c: Increased pvalue thresholds. 2004-12-13 twu * gmap.c, pair.c, pair.h, snap.c, stage3.h: Added function for printing cDNA exons. * stage3.c: Fixed problem where we shouldn't perform single-gap dynamic programming because unable to peel forward and peel back. * translation.c: Created separate mutation types for substitution, insertion, and deletion. Allowed filling in of last amino acid. * mutation.c, mutation.h: Created separate mutation types for substitution, insertion, and deletion. 2004-12-10 twu * stage3.c: Changed calls to Translate module. * translation.c: Simplified code for computing protein bounds. Handled the case where full length is specified, but no full length protein exists. * mutation.c, mutation.h: Added procedures for handling multiple insertions and deletions. 2004-12-09 twu * translation.c, translation.h: Changed algorithm for translate_est_forward and translate_est_backward. 2004-12-08 twu * translation.c, translation.h: Changed algorithms for translate_est_forward and translation_est_backward. Added printing of nucleotide differences. * gmap.c, snap.c, stage3.c, stage3.h: Added options for printing either genomic or cDNA version of protein. * pair.c, pair.h: Added function Pair_dump_aapos. * mutation.c, mutation.h: Added functions for retrieving amino acids from mutation. * dynprog.c: Added slight penalty against gaps next to an intron. 2004-12-06 twu * Makefile.am, mutation.c, mutation.h, stage3.c, translation.c, translation.h: Simplified computation of translations and mutations. * pair.c, pair.h, pairdef.h, pairpool.c: Now printing both genomic and cDNA proteins. 2004-12-02 twu * stage3.h: Removed unused chimera code. * stage3.c: Removed unused chimera code. Changed criteria for finding microexons at end; now performed only when extension is poor and sequence quality is high. * dynprog.h, gmap.c, snap.c: Allowed user option to extend alignment past last match. * dynprog.c: Fixed bug in adding gap to replace dashes. * pairpool.c: Added debugging statement for creation of pairs. * smooth.c: Added check for negative exon length. 2004-11-30 twu * dynprog.c, dynprog.h: Added symbols for an intron if applicable to a large horizontal jump. Increased maximum microexon size. * stage3.c: Added peel_back and peel_forward to 5' and 3' ends before doing search for microexons. 2004-11-23 twu * scores.h, stage3.c: Added credit for dual half-canonical introns. * stage1.c, stage1.h: Removed unused code. * dynprog.c: Added parameters for PVALUE for microexon and end exon searches. 2004-11-18 twu * result.h: Changed interface for Result_new to match implementation. * Makefile.am: Added scores.h to Makefile.am. 2004-11-15 twu * stage3.c, stage3.h: Commented out code for extending pairs in a chimera. * gmap.c, snap.c: Fixed problem in rearranging best two paths for chimera. * pair.c: Stopped printing of the terminal amino acid '*'. * genome.c, indexdb.c: Added printing of a dot every 10000 pages. 2004-10-12 twu * gmap.c, snap.c: For chimeras that extend too long, now chopping off the extra part. * stage3.c, stage3.h: Added procedure for doing a bounded copy of a Stage 3 object. * pairpool.c, pairpool.h: Added procedure for doing a bounded copy of a path. 2004-10-07 twu * Makefile.am, chimera.c, chimera.h, gmap.c, snap.c: Changed procedure for chimeras to find best pair and to order the chimeras according to query sequence. * scores.h: Moved scores for determining goodness into a separate file. * stage3.c, stage3.h: Added procedure for copying a Stage3 object. * result.c, result.h: Changed chimera information to be a position, rather than a boolean. * dynprog.c: Added code for allowing right angles, but not using at present. * pairpool.c: Changed print statement to work only in debug mode. * pair.c, pair.h: Added procedure for computing scores along a path. 2004-10-01 twu * gmap.c, match.c, pair.c, pair.h, sequence.c, sequence.h, snap.c, stage3.c, stage3.h: Added MD5 checksum for compressed output. * stage1.c: Added notation about using position for revcomp matches in IITs. * iit-read.c: Changed debugging statements to print unsigned ints. 2004-09-27 twu * stage3.c: Fixed problem when peeling an extra pair if it's a gap. 2004-09-09 twu * stage3.c: Restored behavior of crossing just one short exon for dual genome gap. * stage3.c: Peeled back one more matching pair. For dual intron gap, now skipping multiple short exons and keeping the longest one. * gmap.c, snap.c: Increased maxpeelback from 10 to 11. * pairpool.c, pairpool.h: Added command Pairpool_transfer_copy, although not currently used. * pair.c, pair.h: Added command Pair_check_list. * dynprog.c: Added end reward for bridging a cDNA gap. * md5-compute.c: Changed behavior from a single sequence to a FASTA file of multip[le sequences. * Makefile.am: Added object file for md5-compute. 2004-09-02 twu * stage3.c: Fixed floating exception bug when middle_exonlength is non-positive. * stage2.c: Fixed problem of reading uninitialized value. 2004-08-30 twu * dynprog.c: Added check for non-positive span. 2004-07-28 twu * stage2.c: Changed some penalties. Using bad sequence information to increase lookback. * oligoindex.c, oligoindex.h: Added check for bad sequences (with several non-ACGTN characters). * dynprog.c: Added check for zero span. 2004-06-25 twu * gmap.c, snap.c: Added flag to search only reference strain. * stage2.c: Increased definition of ENOUGH_CONSECUTIVE. Added penalties for deadp. * stage3.c: Penalizing noncanonical introns in comparing across different paths. * segmentpos.c: Changed output of contig length. * pair.c, pair.h: Reporting number of noncanonical introns. Allowing goodness to be reported during debugging. 2004-06-23 jtang * cvswrappers: Added binary extensions 2004-06-20 twu * stage2.c: Simplified decision making for mismatch gaps. Increased penalties on gendistance and querydistance. 2004-06-16 twu * whats_on: Added get_sequences function. * gmap_uncompress.pl, gmap_uncompress.pl.in, snap_uncompress.pl: Implemented code to interpret new compression scheme. * stage2.c: Changed penalty functions into macros for speed. Made some other changes to improve speed. * dynprog.c: Fixed bug involving uninitialized variable. 2004-06-15 twu * stage2.c: Penalizing intron length per 2000 nt instead of 1000. * stage3.c: Using goodness scores to decide between single and dual introns. Searching for microexons only when sequence quality is medium to high. * dynprog.c, dynprog.h: Reporting nopens and nindels from Dynprog_genome_gap. 2004-06-13 twu * stage3.c: Added evaluation of middle exon length in deciding between single and dual introns. * stage2.c: Reduced size of INTRON_DEFN. Further penalized large query distances. * stage1.c: Increased length of additional ends of genome segment. * oligoindex.c: Improved debugging statements. * dynprog.c, dynprog.h: Allowing up to 1 mismatch on either side for microexon search. Reporting position of exonhead in Dynprog_genome_gap for use in traversing dual genome gap. 2004-06-10 twu * stage2.c: Added procedure to determine maximum intron length at a given querypos, and based penalties to be linear with that. * smooth.c: Added check for nullness of intronlengths. * dynprog.c: Added probabilistic check on microexon length for a given genomic span. 2004-06-09 twu * pair.c, pair.h, stage3.c: Keeping track of semicanonical introns and scoring them to decide on strand. * smooth.c: Made decision about deleting end exons based on probability. 2004-06-08 twu * get-genome.c: Fixed a bug in determining whether a query is a range. * stage3.c: Added debugging statement for microexons. * dynprog.c: Added minimum length for introns when looking for microexons. 2004-06-07 twu * stage2.c: Changed penalties to be more consistent on mismatches between different conditions, including deadp. For deadp, now requiring that abs(gendistance - querydistance) or querydistance be less than INTRON_DEFN. * smooth.c: Increased threshold on ends to be 20. * pair.c: For determining fracidentity (and selecting between forward and reverse strands), now counting semicanonical introns as canonical. * stage2.c: For deadp, increased lookback. * gmap.c, snap.c: Increased maxintronlen from 1 million bp to 2 million bp. Motivated by HER4 (NM_005235). * gmap.c, snap.c: Increased nullgap from 80 to 600. * stage2.c: Modified stage 2 scoring for mismatch alignments. Invoked deadp when fwd or rev score is zero. 2004-06-04 twu * translation.c: Further fixed the bug involving uninitialized heap (translation_start/translation_end extending beyond sequence boundaries). * stage2.c, stage2.h: Rewrote code into separate procedure. Increased gendistance penalty. Changed penalties when querypos is dead. * gmap.c, snap.c: Created separate parameters for extraband_end and extraband_paired. Renamed maxlookback to nullgap. Created nsufflookback parameter. Removed repetition of stage 2. * params.c, params.h, stage3.c, stage3.h: Created separate parameters for extraband_end and extraband_paired. Renamed maxlookback to nullgap. Created nsufflookback parameter. * dynprog.h: Created separate parameters for extraband_end and extraband_paired. * dynprog.c: Created separate parameters for extraband_end and extraband_paired. Extending last nucleotide at ends if possible. Removing gaps at ends. * translation.c: Fixed a bug involving reading/writing of uninitialized heap. 2004-06-02 twu * stage3.c: Doubled intron space required for a paired gap solution to be attempted. * dynprog.c: Implemented gap penalties that are non-affine, with extensions being the same within a codon. * translation.c: Fixed bug where codon was assigned improperly at a cDNA gap. * dynprog.c, dynprog.h, stage3.c: Added a conservative search for microexons at the 5' and 3' ends. * smooth.c: Increased pruning of ends from 8 back to 16. * stage2.c, stage2.h: Added Stage2_pathlength function. * gmap.c, snap.c: ncreased maxpeelback from 8 to 10 and allowed program to redo stage2 with increased suflookback if cDNA not covered. * stage3.h: Changed MININTRONLEN from 9 to 6 and moved definition into .c file. * stage3.c: Made search for microexon dependent on number of mismatches. * dynprog.c, dynprog.h: Made Dynprog_genome_gap return number of matches and mismatches. 2004-05-27 twu * dynprog.c, dynprog.h, stage3.c: Made microexon search work in reverse direction. Fixed memory leak. * boyer-moore.h: Added RCS Id. * boyer-moore.c: Removed debugging statement. Added RCS Id. * Makefile.am, boyer-moore.c, boyer-moore.h, dynprog.c, dynprog.h, stage3.c: Added procedure for finding microexons. Works for forward direction only. 2004-05-26 twu * stage3.c: Increased goodness score for canonical intron when deciding between forward and reverse directions. * sequence.c: Fixed read procedure to handle PC line feeds. * dynprog.c: Changed end extension to allow one gap and to proceed if number of matches is greater than or equal to number of mismatches. * gmap.c, snap.c, stage3.c, stage3.h, translation.c, translation.h: Added option for assuming a full-length sequence. * pair.c: Changed printing of protein coordinates to correspond to first amino acid on each line. * gmap.c, snap.c: Added ability to print protein sequence. Fixed some flags. * translation.c, translation.h: Fixed calculation of translation coordinates. * pair.c, pair.h, stage3.c, stage3.h: Added printing of protein coordinates. * indexdb.c: Revised monitoring statement. * dynprog.c: Revised extensions of 5' and 3' ends to use best score with no gap, even if negative. This extends ends when there is one match and one mismatch. 2004-05-14 vivekr * cvswrappers: Added binary extensions 2004-05-06 twu * compress.c, gmap.c, indexdb.c, pair.c, snap.c, stage3.c, stage3.h, translation.c, translation.h: Made improvements to relative translation routines. 2004-05-05 twu * Makefile.am, compress.c, compress.h, gmapindex.c, indexdb.c, snapindex.c: Moved compress and uncompress routines to a new file. 2004-04-23 twu * translation.c: Fixed frameshift-tolerant protein computation for cases where cDNA deletion is 3 or more nt. 2004-04-22 twu * gmap.c, snap.c, stage3.c, stage3.h, translation.c, translation.h: Added feature for fixing frameshifts in reference-based protein computation and made it the default. * stage3.c, translation.c, translation.h: Changed internal data format for calculating translations. * translation.c: Fixed array bounds bug in translating from reference. * whats_on: Added flag for showing original headers. * gmap.c, pair.c, pair.h, pairdef.h, pairpool.c, params.c, params.h, snap.c, stage3.c, stage3.h, translation.c, translation.h: Added protein calculation for ESTs based on a reference mRNA. 2004-04-19 twu * gmap.c, pair.c, pair.h, params.c, params.h, snap.c, stage3.c, stage3.h, translation.c, translation.h: Changes to allow calculation of mutation effect given a specific mutation 2004-04-18 twu * genome.c, genome.h: Fixed code for patching strains. * genomicpos.c: Cleaned up code for adding commas. * stage1.c: Changed variable name from stutter to stutterdist. * gmap.c, snap.c: Added internal flag to control strain searching feature. 2004-04-17 twu * whats_on: Added ability to print align.iit files, rather than map.iit files. * gmap_uncompress.pl, gmap_uncompress.pl.in, snap_uncompress.pl: Added inversion mode. * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Added code to skip protein sequence lines. 2004-03-30 twu * Makefile.am, gmap.c, snap.c: Added routines for printing protein sequence. * iit-read.c, iit-read.h: Added procedure for listing all types. * stage3.c, stage3.h: Fixed memory leak and bug when stage3 result is NULL. * translation.c, translation.h: Added routines for printing peptide sequence. * get-genome.c: Allowed user to select a particular strain to align against. * pair.c, pair.h: Added routine for printing peptide. Clarified code for handling inversions on minus strand. Fixed bug in compression for '#' character. 2004-02-24 twu * stage3.c: Added special cases for single mismatch and single cDNA insertion. * stage1.c: Defined maximum on finding match pairs, to eliminate slow response on nonsense sequences, such as poly-G. 2004-02-23 twu * stage3.c: In pass 3, force single gap to be crossed even if finalscore is negative, to complete alignment. 2004-02-19 twu * stage3.c, stage3.h: Removed unused variable minendtrigger. * gmap.c, params.c, params.h, snap.c: Removed global user-specified parameters from Params_T. * gmap.c, snap.c: Removed fraction_threshold parameter. Changed default chimera_threshold to 0.50. * params.c, params.h: Removed fraction_threshold parameter. * gmap.c, snap.c: Made chimera threshold definable by user, and set default to 0.70. * stage3.c: Re-defined criterion for a gap to be when queryjump <= 0 and genomejump <= 0, which holds true after single gaps are filled. Prevented filling in a genome gap when its alignment score is negative. * smooth.c, smooth.h: Re-defined criterion for a gap to be when queryjump <= 0 and genomejump <= 0, which holds true after single gaps are filled. * matchpair.c, matchpair.h: Made size bound a fraction of the best, rather than subtraction. * stage1.c: Increased maxentries parameters. Made size bound a fraction of the best, rather than subtraction. * gmap.c, snap.c: Removed calls to Stage1_matchpairlist. Now performing sampling by default. * smooth.c: Reduced size definition of short intron. Made intron definition depend only on genome distance, which now includes single gaps that weren't filled in in stage 3. * stage2.c: Made a macro for query distance penalty. * stage3.c: Fixed problem with peeled is NULL. Added decision to not fill in single gap if the score is negative, and to restore peeled pairs in that case. 2004-02-18 twu * smooth.c: Fixed memory leak. * stage3.c: Fixed bug where program would skip over a pair after gappairs was added. 2004-02-17 twu * stage3.c: Made peel_back and peel_forward end at a non-gap, by backtracking from peeled. * stage3.c: Increased reward for canonical introns from 5 to 8. 2004-02-16 twu * stage3.c: Fixed bugs in peel_back and peel_forward. Fixed bug in computing goodness scores. 2004-02-15 twu * smooth.c, smooth.h, stage3.c: Giving information about number of short exons found in smoothing to stage 3 to help improve speed. * stage3.c: Removed occurrences of indexsize. Cleaned up procedure for finding middle exons in dual intron procedure. * smooth.c, smooth.h: Rewrote smoothing procedure to be a cleaner procedure. Analyzing both ends to prune short exons. * pair.c, pair.h: Added Pair_debug_alignment procedure. * smooth.c, smooth.h, stage2.c, stage3.c: Changed stage 2 to produce a nucleotide-based path, rather than 8-mer path. Changed smoothing and stage 3 accordingly. Made all intron distance penalties equal in stage 2. 2004-02-14 twu * dynprog.c, dynprog.h, stage3.c: Rearranged stage 3 to solve dual introns before other introns and large gaps. Performing smoothing iteratively with dual introns. * stage2.c: Replaced calculations of gendistance_penalty with macros. * smooth.c: Increased minexonlen for smoothing, because smoothing has been made iterative. * pair.c: Using memcpy commands instead of copying individual fields. Added diagnostic printing of short exons. * Makefile.am, smooth.c, smooth.h, stage3.c: Added files smooth.c and smooth.h and moved Smooth_path there * matchpair.c: Fixed memory leak. * gmap.c, snap.c, stage2.c, stage2.h, stage3.c, stage3.h: Changed stage 2 and stage 3 algorithms to interleave in the following order: dynamic programming on single gaps, then smoothing, then dynamic programming on ends and large gaps. Allows dual intron algorithm to work even when middle exon has small mismatches or gaps. * pair.c: Fixed merge_one_gap to handle user-selected ngap != 3. * dynprog.c, dynprog.h: Moved definitions of defect rate boundaries to header file. 2004-02-13 twu * stage2.c: Subtracting (querydistance+7)/8 on mismatches to penalize once per 8-mer. Subtracting 1 for each intron to reduce number of introns, especially when a/1000 + b/1000 < (a+b)/1000. * stage2.c: Added separate intron penalties for consistent, unknown, and inconsistent introns. Increased lengths of short middle exons marked for dual genome gap. * stage2.h, stage3.c: Added intron length to goodness score. * stage2.c: Implemented two parallel computations in Stage 2 under forward and reverse assumptions. Removed firstregion and lastregion computations from smoothing. 2004-02-12 twu * gmap.c, snap.c: Removed universalp flag (-U). * iit_get.c: Added annotation only mode (-A). * whats_on: Simplified code greatly. * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Removed space before first token. Fixed bug in reporting genomic exon length rather than cDNA exon length. 2004-02-11 twu * dynprog.c, dynprog.h, stage3.c: Added computation of nonintronlen for goodness ranking. * stage2.c: Introduced Link_T to hold dynamic programming data. * stage2.c: Modified smoothing to have keep, delete, and mark options. * stage2.c, stage2.h, stage3.c: Added category for introns of unknown direction. * gmap.c, snap.c: Made default for chimerasearchp false again. Added an automatic mode for chimera search if coverage is less than 50%. * gmap.c, snap.c: Made chimera search the default. * stage2.c: Added counts of forward, reverse, and non-canonical introns to the dynamic programming procedure, and used consistency in computing scores. 2004-02-10 twu * stage3.c: Added debugging macros. * stage2.c: Added intron penalty only for noncanonical introns. * stage1.c: Added debugging statements. * matchpair.c: Reduced MAXCANDIDATES from 30 to 10. * dynprog.c, pair.c, pairdef.h: Added '~' character for non-canonical gaps converted to insertions, to avoid penalizing them as non-intron gaps. * gmap.c, iit-read.c, iit-read.h, snap.c, stage3.c, stage3.h: Changed map output to include strand if both strands are requested. * dynprog.c: Restored horizontal or vertical jump of 1 next to intron. * datadir.c: Changed error message. * stage2.c: Add penalty for number of non-canonical introns. Accumulate best score for introns, even if negative, and use that if no other score exceeds 0. 2004-02-09 twu * iit-read.h: Added name to IIT structure. * gmap.c, pair.c, pair.h, params.c, params.h, snap.c, stage3.h: Added compression feature. * stage3.c: Added compression feature. Added debug mode to show output from stage 2. * gmapindex.c, snapindex.c: Added optional name to IIT structure. * get-genome.c, iit-read.c, iit_dump.c, iit_get.c, iitdef.h: Added optional name to IIT structure. 2004-02-07 twu * dynprog.c: Advanced counter within gaps to the next position. * pair.c, pair.h, pairdef.h, pairpool.c: Added the shortexonp field for pairs. * stage2.c: For smoothing of short exons, marking positions as short, rather than deleting them. Increased length threshold for short exons, because we now have a mechanism for handling them well. * gmap.c, snap.c: Added a dynprogM for handling short exons. * stage3.c, stage3.h: Removed special procedure for dual genome gaps. Instead comparing a single genome gap with two half genome gaps for short exons. * dynprog.c: Removed special procedure for dual genome gaps. Instead, for short exons, comparing a single genome gap with two half genome gaps. 2004-02-06 twu * dynprog.c: Passing pointers to revsequence and revoffset from stage3 to dynprog procedures where appropriate. Added preliminary code for dual genome gap. * dynprog.h, stage3.c: Passing pointers to revsequence and revoffset from stage3 to dynprog procedures where appropriate. * get-genome.c, gmap.c, pair.c, pair.h, params.c, params.h, sequence.c, sequence.h, snap.c, stage3.c, stage3.h: Added option for specifying wrap length. * dynprog.c: Fixed problem with sequence being short by 1 nt in conversion of gap to insertion. * dynprog.c: Convert short non-canonical introns into insertions. * dynprog.c: Removed reverse_sequence and creation of reverse sequence. Now using a boolean to determine whether to use negative indices. * Makefile.am, README, configure.ac, datadir.c, datadir.h, gmap.c, params.c, params.h, snap.c, stage3.c, stage3.h: Changed references to "bounds" to "map". * ddsgap2_compress.pl: Made much faster. * get-genome.c: Fixed get-genome for reverse complement. Added debugging statements. * dynprog.c: Added specific constraints on whether to allow gaps adjacent to the intron, depending on sequence quality. 2004-02-03 twu * dynprog.c, dynprog.h: Removed conservative option. Added comments to explain rationale behing scoring scheme. * gmap.c, params.c, params.h, snap.c, stage3.c, stage3.h: Removed conservative option. * stage3.c: Removed peelback on sequence ends. Continued peelback through small gaps and mismatches. Included comp of '-' in pruning of gaps at end. * iit-read.c: Added debugging code. * genome.c: Fixed faulty reasoning when patch has expansion or contraction. * dynprog.c: Raised penalties on paired gap alignment to prevent gap-match-gap being preferred to two mismatches. Added checks to bridging across introns to prevent genomic insertion or more than one cDNA insertion. 2004-02-02 twu * pairdef.h: Revised comment about definition of gapp. * pair.c: Removed comment. * pair.c: Removed comment. * dynprog.c: Fixed debugging statements for pairs pushed on horizontal or vertical moves. * gmap.c, pair.c, pair.h, snap.c, stage3.c, stage3.h: Added printing of bounds information as a separate section. 2004-02-01 twu * Makefile.am: Added uintlist.c and uintlist.h to source lists where necessary. * gmapindex.c, snapindex.c: Made contig intervals inclusive. * iit_get.c: Changed isnumber to isnumberp to avoid conflict on some Unix machines. * iit_get.c: Handle case where strlen of annotation is 0. Add carriage return after annotation if necessary. If one numeric argument given, try as a label, then as a number. * iit-read.c: Handle case where strlen of annotation is 0. * genome.c, get-genome.c: Reverted to previous IIT format, where we don't store lengths explicitly. For sequences, can determine actual length from annotation strlen. * iit-read.c, iit-read.h, iit-write.c, iit-write.h, iit_store.c, interval.c, interval.h: Reverted to previous format, where we don't store lengths explicitly. * iit_dump.c: Added warning if IIT_read fails. * gmapindex.c, snapindex.c: Reverted to previous format, where we don't store lengths explicitly. For FASTA files, count sequence length and store as annotation in contig_iit. * stage3.c: Added Pair_check procedure. 2004-01-31 twu * dynprog.c: Fixed problem with dynamic programming not going back to beginning. Fixed bridging across cDNA gaps. * datadir.c, datadir.h: Created two data directories, one for genome files and one for bounds files. * pair.c, pair.h: Added Pair_check function. * Makefile.am, configure.ac, gmap.c, snap.c: Created two data directories, one for genome files and one for batch files. 2004-01-28 twu * dynprog.c: Reduced mismatch and gap penalties at ends to extend ends more completely. 2004-01-27 twu * stage1.c: Increased length of very small sequences from 30 to 40. 2004-01-26 twu * gmap.c, snap.c, stage1.h: Changed criterion for good alignment on short sequences to be based on coverage rather than percent identity. * stage1.c: Sampling exhaustively on short sequences. * stage2.c: Removed tiebreaker based on genomic distance. Ignoring gendistance penalty if no better score can be found, which allows program to find distant 5' exons. * pair.c, pairpool.c, stage3.c: Restored large gap and '#' character when queryjump exceeds maxlookback. * match.c: Fixed bug where accessions were looked up on chromosomal coordinates instead of universal coordinates. * Makefile.am, datadir.c, datadir.h, snapconfig.c: Removed snapconfig and run-time configuration of SNAP, which doesn't work on statically built binaries. 2004-01-24 twu * gmap.c, snap.c: Updated print_usage statement for non-popt systems. * snapconfig.c: Added a usage statement. * iit_dump.c: Added a debug flag. * iit-write.c: Writing out elements of structs individually, instead of depending on an fwrite of the struct. * iit-read.c, iit-read.h: Fixed problem with Bigendian reads of iit files. Added IIT_debug function. * Makefile.am: Provided different dist and nodist instructions depending on FULLDIST. 2004-01-23 twu * stage1.c: Set maxentries during sampling to be 10 times that of scanning. Set stage1size for short sequences to be 12-mers for < 40 nt, and 18-mers for 40-80 nt. * pair.c, pair.h: Removed '#' is a character in alignment. * dynprog.c, dynprog.h, stage3.c: Treated cDNA gaps (extra cDNA material) in a way analogous to genome gaps. * pairpool.c: Removed '#' is a character in alignment. * get-genome.c: Changed name of function from isnumber to isnumberp to avoid name conflict with some systems (like MacOSX) that define isnumber in ctype.h. 2004-01-21 twu * stage3.c: Fixed bug where dynamic programming of ends wouldn't go all the way to the end of the genomic segment. * dynprog.c: Fixed debug statement. * Makefile.am: Added file matchdef.h * dynprog.c, dynprog.h, gmap.c, pair.c, pair.h, params.c, params.h, snap.c, stage3.c, stage3.h: Added parameter for length of intron gap shown. * stage1.c: Added a second maxentries parameter to prevent slowness on long repeated inputs, like CA...CA. 2004-01-20 twu * stage3.c: Allowed cDNA direction to be indeterminate. * matchpair.c, stage1.c: Fixed clustering to work with minsize of 1. * dynprog.c: Reduced points for match, which improves some alignments. 2004-01-17 twu * gmap.c, params.c, params.h, snap.c, stage1.c, stage1.h: Removed nsamples as a global parameter. * Makefile.am, bootstrap, configure.ac: Added libtool and --enable-static-linking feature. * gmap.c, snap.c: Implemented incremental clustering based on progressively smaller sampling intervals. Added ability to print alignment continuously. * matchpair.c, matchpair.h, stage1.c: Implemented incremental clustering based on progressively smaller sampling intervals. * match.c, matchdef.h: Moved structure definition to matchdef.h * block.c, block.h, reader.c, reader.h: Added ability to reset ends of block. 2004-01-16 twu * stage3.c, stage3.h: Added printing of number of unknowns and of gap openings in cDNA and genome. * params.c, params.h: Added parameter for continuous output of alignment. * pair.c, pair.h: Added output of number of unknowns. Added procedure for continuous output of alignment. * dynprog.c: Created different penalties for gaps in single and paired gaps. 2004-01-14 twu * configure.ac: Added feature for static linking. * params.c, params.h: Using two parameters for stutter: stuttercycles and stutterhits. * gmap.c, snap.c: Performing sampling only when necessary. Using popt help when available. * stage1.c, stage1.h: Performing sampling only when necessary. Limiting size and changing parameters for bestlist. * matchpair.c, matchpair.h: Eliminated unused code in filtering procedure. * indexdb.c: Fixed fread_int to be fread_uint. * iit-read.c: Added abort statement when more than one interval retrieved by IIT_get_one. * get-genome.c: Fixed bug with accessing chromosome_iit after being freed. Using popt help when available. * oligo.c, oligo.h: Added Oligo_skip function. * block.c, block.h: Removed maxtries and added Block_skip. 2004-01-14 desany * loginfo: Added Yan to e-mail notifications. * loginfo: Finally figured out where to put the quote (I think). * loginfo: e-mail command tweak * loginfo: e-mail command tweak * loginfo: e-mail command tweak * loginfo: e-mail command tweak * loginfo: Tweaking the e-mail command. * loginfo: Sending log messages to desany when cgh module updates are committed. 2004-01-13 twu * gmap.c, snap.c, stage1.c: Changed strategy to use clusters of matches, after first pair found. * gmapindex.c, snapindex.c: Eliminated check for genome database in compression mode. * stage2.c: Changed distance penalty to 1 point per 1000 nt. * pair.c, pair.h, stage3.c: Keeping separate track of query indels and target indels. * genome.c, genome.h, get-genome.c: Implemented check for gbufferlen when shifting old sequence. * separator.h: Added file for separator information. 2004-01-09 twu * Makefile.am, get-genome.c: Changed program to use chromosome_iit and contig_iit, rather than text files. * genome.c: Fixed bug from call to madvise on NULL region. * iit-read.c, iit-read.h: Added function IIT_read_linear. * gmapindex.c, snapindex.c: Storing length in interval of contig_iit, rather than in annotation. * stage1.c: Changed paired algorithm to use sum of reciprocals of number of hits. * get-genome.c: Removed unnecessary decompression functions (now in genome.c). * gmap.c, snap.c: Fixed bug where fraction_threshold was declared as int rather than double. * stage1.c: Revised algorithm to count number of query hits on 5' and 3' ends. * Makefile.am, datadir.c, datadir.h, get-genome.c, gmap.c, snap.c, snapconfig.c: Moved datadir functions to a separate file. * gmapindex.c, snapindex.c: Changed format of text files .chromosome and .contig. 2004-01-08 twu * genome.c, genome.h, get-genome.c, gmap.c, iit-write.c, iit-write.h, snap.c: Allowed genomic patches to be longer or shorter than their endpoints. * gmapindex.c, snapindex.c: Allowed intervals to have length that is different from their endpoints. Changed format for fasta file input to snapindex. * iit_store.c, interval.c, interval.h, segmentpos.c, segmentpos.h: Allowed intervals to have length that is different from their endpoints. * iit-read.c: Added carriage returns to annotations, if absent. 2004-01-07 twu * gmap.c, params.c, params.h, snap.c: Made fraction_threshold a parameter. * stage2.c: Changed calculation of penalty for large genome distances to be done only when necessary. * snapconfig.c: Changed feedback message. * genome.c, indexdb.c: Improved warning messages when memory mapping fails. 2004-01-05 twu * snapdir.c: Changed name of snapdir to snapconfig. * gmap.c, match.c, match.h, params.c, params.h, result.c, result.h, snap.c: Restored alignment using stage 1 only. * stage1.c, stage1.h: Moved decision of stage1size and maxentries to here. * genome.c: Added warning message of memory mapping of genome fails. * genome.c: Restored batch memory mapping of genome. * stage1.c: Greatly increased MAXENTRIES parameter. * gmap.c, params.c, params.h, snap.c: Made stage1size dependent upon sequence length, with short sequences getting stage1size of 12. * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl, whats_on: Generalized parse for coordinate separator. * get-genome.c: Restored -- as coordinate separator. 2003-12-20 twu * gmap.c, sequence.c, sequence.h, snap.c, stage3.c, stage3.h: New approach to chimeras, involving a subsequence and new stage1 procedure. * stage2.c: Added distance penalty for long introns. * Makefile.am, pair.c, segmentpos.c: Included separator.h 2003-12-19 twu * pair.c, segmentpos.c, segmentpos.h: Removed unnecessary parameters in Segmentpos_print_accessions. * get-genome.c: Change in coordinate separator from -- to .. 2003-12-17 twu * gmap.c, match.c, match.h, matchpair.c, matchpair.h, snap.c, stage1.c, stage1.h: Changed procedures for finding chimeras to try singlelist of the appropriate side. * pair.c, segmentpos.c: Changing coordinate output from -- to .. * stage3.c, stage3.h: Changed procedures for finding chimeras to try singlelist of the appropriate side. Fixed bug in computing chimeric goodness. * dynprog.c, dynprog.h: Provided separate parameters for ends, removed multiplicative reward, and changed all score calculations to be integers. 2003-12-16 twu * matchpair.c, stage1.c, stage1.h: Fixed bug with position calculations on large chromosomes (> 2 Gig). * gmap.c, matchpair.c, matchpair.h, snap.c, stage1.c, stage1.h: Based algorithm for finding extensions on 12-mers. * chrnum.c, chrnum.h: Added function for computing chromosomal string and position from genomic position. 2003-12-15 twu * gmap.c, matchpair.c, matchpair.h, params.c, params.h, snap.c: Made extension linear depending on query length. * stage1.c, stage1.h: Made cluster list depend on size of largest cluster. 2003-12-14 twu * stage2.c: Added a minimum exon length for ends during smoothing. * stage1.c, stage1.h: Added a last-resort procedure for trying all matches found in stage 1. Enhanced debugging statements. * gmap.c, snap.c: Added a last-resort procedure for trying all matches found in stage 1. * oligoindex.c, shortoligomer.h: Returned to old method for store_positions, because it appears to be faster. * genome.c, genome.h, get-genome.c: Enhanced debugging statements. * matchpair.c: Added assertions about strands and relative position of matches. * stage2.c: Returned to old method for store_positions. Fixed smoothing for a single exon. 2003-12-13 twu * oligoindex.c, shortoligomer.h, types.h: Further attempt to increase speed of store_positions. * gmap.c, snap.c: Fixed memory leak when stage3array is recomputed. * oligoindex.c, oligoindex.h, stage2.c: Increasing speed of store_positions by reducing number of calls to calloc. * gmap.c, matchpair.c, matchpair.h, params.c, params.h, snap.c, stage1.c, stage1.h: Changed cluster algorithm to rank clusters based on size and process the top ones based on sum of sizes. * genome.c: Added check for enddiscard being 0. * stage2.c: Did an in-lining of intron_score. * gmap.c, params.c, params.h, snap.c, stage1.c, stage1.h, stage3.c, stage3.h: Added new cluster algorithm for stage 1, used when paired algorithm fails to produce an alignment with high identity. 2003-12-12 twu * gmap.c, snap.c: Added ability to modify binary file to include default genome directory. * snapconfig.c, snapdir.c: Initial import into CVS. 2003-12-10 twu * gmapindex.c, indexdb.c, indexdb.h, snapindex.c: Added ability to generate idxoffsets and idxpositions files from compressed genome. * gmap.c, snap.c: Changed the uncompressed flag from -G to -g. * gmapindex.c, snapindex.c: Implemented direct writing of compressed genome file. * iit_store.c: Fixed bug where non-copied string is entered into table. * iit_get.c: Improved error message. * iit_dump.c: Added function for showing all types. * table.c: Added debugging statements. * gmap.c, params.c, params.h, snap.c: For user-provided segments, skipping stage 1 (although can be specified by the user), to achieve increased speed. * sequence.c, sequence.h: Restored function Sequence_revcomp. 2003-12-04 twu * stage1.c: Restored cluster algorithm for short sequences. * gmap.c, snap.c: Generalized definition of chimera, and reduced percentage to 80%. 2003-12-03 twu * Makefile.am, iit-read.c, iit-read.h, iit_get.c: Augmented iit_get to handle types and file input. * gmap.c, intlist.c, intlist.h, sequence.c, sequence.h, snap.c: Allowed user-specified genomic segment to have arbitrary length. * gmap.c, snap.c: Restored -U flag for reporting in universal coordinates. * iit-read.c: Fixed bug in IIT_dump_formatted. * Makefile.am, md5-compute.c: Added program md5-compute. 2003-12-02 twu * gmap.c, params.c, params.h, snap.c: Added message to user when FASTA file is run without batch mode. 2003-11-29 twu * oligo.c: Changed debug statements. * reader.c: Cleaned up pointer calculation. * sequence.h: Removed Sequence_revcomp, which is not used. * sequence.c: Revised comments. * stage2.c: In-lined gap_score. 2003-11-28 twu * indexdb.c: More bug fixes for bigendian machines on user-provided segments. * indexdb.c: Fixed a problem with bigendian machines for user-provided segments. * gmap.c, snap.c: Added releasestring in attempt to find version file. * genome.c, genome.h: Added option for replacing X's with N's. * get-genome.c: Added option for replacing X's with N's. Fixed bug when closing a null file pointer. * iit_store.c: Append .iit to given filename, instead of replacing existing suffix. 2003-11-26 twu * gmapindex.c, snapindex.c: Removed -U flag. * gmapindex.c, indexdb.c, indexdb.h, snapindex.c: Reverted back to using uncompressed genome for making idxoffsets and idxpositions. * gmap.c, snap.c: Changed flag for uncompressed genome from -G to -U. * gmapindex.c, indexdb.c, indexdb.h, snapindex.c: Attempt to build idxoffsets and idxpositions from genomecomp, but has problems. * genome.c: Added automated switching between compressed and uncompressed genome, if the requested one cannot be found. * iit_store.c: Keeping last carriage return of annotation. * iit_get.c: If iit file cannot be found, try appending .iit. * gmapindex.c, snapindex.c: Finding labels in IIT directly instead of converting to a table. * iit-read.c, iit-read.h, iit-write.c, iitdef.h: Changed IIT format to store alphabetic order of labels, so that labels can be found by binary search. * genome.c, genome.h, gmap.c, pair.c, pair.h, params.c, params.h, snap.c, stage3.c, stage3.h: Added popt handling of options. Renamed various program options. * iit-read.c, iit-read.h, iit_get.c: Added ability to search IITs by label. * get-genome.c: Changed usage statement for popt autohelp. * Makefile.am: Changed name of variable to POPT_LIBS. * acinclude.m4, configure.ac: Added AC_DEFINE for HAVE_LIBPOPT. Set various defines to have value 1. 2003-11-25 twu * gmapindex.c, iit-read.c, iit-read.h, iit-write.c, iit-write.h, iit_get.c, iit_store.c, iitdef.h, match.c, segmentpos.c, snapindex.c: Change made to format of IIT file. Now allowing each interval to be labeled. * indexdb.c: Fix made for the case where an oligomer earlier than TT...TT is the last one and points to totalcounts. * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Added notation for chimeric sequences. * acinclude.m4: Added check for MAP_FAILED. Added sys/types.h when checking for pthreads (needed for Sun compiler). * assert.h, bigendian.h, blackboard.h, block.h, chrnum.h, complement.h, dynprog.h, except.h, genome.h, genomicpos.h, iit-read.h, iit-write.c, iit-write.h, iit_dump.c, iit_get.c, iit_store.c, indexdb.h, interval.h, intlist.h, intron.h, list.h, match.h, matchpair.h, md5.h, mem.h, oligo.h, oligoindex.h, pair.h, pairpool.h, params.h, reader.h, reqpost.h, request.h, result.h, segmentpos.h, sequence.h, stage1.h, stage2.h, stage3.h, stopwatch.h, table.h, uintlist.h: Included config.h in all header files, to catch redefinition of const, which is needed for the Sun compiler. * stage3.c: Commented out code that is never reached. * genome.c, indexdb.c: Modified messages to stderr for batch mode. * blackboard.c, gmap.c, reqpost.c, snap.c: Added sys/types.h to handle pthread_t, needed by Sun compiler. * assert.c: Kept only the header file definition of assert, due to problem with Sun compiler. * iit-read.c, table.c: For functions passed as arguments, added pointer and parentheses around parameter list. * stage2.c: Changed some exon length parameters. 2003-11-20 twu * gmap.c, snap.c, stage3.c, stage3.h: Added additional check for chimeras, based on top two hits. * bigendian.c, indexdb.c: Moved masking to the logical or statements to address a bug on MacOSX. 2003-11-18 twu * gmap.c, snap.c: Made directory searching process more flexible, by looking for version file at toplevel and subdirectory of datadir. * genome.c, indexdb.c: Fixed calls to mmap and munmap when mmap fails. Moved stopwatch start before madvise command. * bigendian.c, genome.c, indexdb.c: Added masks to chars when converting to an int or unsigned int, due to problem observed on DEC Alpha. * genome.c, indexdb.c: Corrected conversion of littleendian to bigendian numbers. Added lseek and read procedures when mmap is not present or fails. * bigendian.c: Corrected conversion of littleendian to bigendian numbers. * Makefile.am: Generate ChangeLog only when CVS directory present. * Makefile.am: Used LDADD instructions to call libraries instead of LDFLAGS. (Required for program to load on SGI.) Moved SCRIPTS under FULLDIST. * configure.ac: Renamed POPT_LDFLAGS to POPT_LIBS. * bootstrap: Added --copy flag to automake. * Makefile.am: Added dist-hook to make ChangeLog up to date. * config: Removed secondary config files generated by automake. * gmapindex.c, snapindex.c: Fixed bug where X's were not being filled in, because variable declared as int, rather than unsigned int. * block.c, block.h: Removed obsolete function. * acinclude.m4: Moved to top-level directory. 2003-11-17 twu * ChangeLog: Removed from repository. Can be generated as needed. * bootstrap: Added --add-missing flag. * README: Added message about config.site. * bootstrap: Initial import into CVS. Added because autoreconf doesn't work with a config subdirectory. * configure.ac: Made toplevel configure.ac work with a config subdirectory. * gmap.c, snap.c, stage1.c, stage1.h: Changed algorithm to declare chimera only after alignment is done, and to use salvaged matches in that case. * stage3.c, stage3.h: Stored genomicstart and genomicend as part of Stage3_T structure. * ddsgap2_compress.pl: Initial import into CVS. * whats_on: Moved to subdirectory. * compile, config.guess, config.sub, depcomp: Removed secondary config files (generated by automake). * Makefile.am: Adding top-level Makefile.am * install-sh, missing, mkinstalldirs, sim4_compress.pl, sim4_uncompress.pl, snap_compress.pl, snap_uncompress.pl, snapbuild.pl.in, spidey_compress.pl: Moved to subdirectory. * assert.c, assert.h, bigendian.c, bigendian.h, blackboard.c, blackboard.h, block.c, block.h, bool.h, chrnum.c, chrnum.h, complement.c, complement.h, dynprog.c, dynprog.h, except.c, except.h, genome.c, genome.h, genomicpos.c, genomicpos.h, genuncompress.c, get-genome.c, iit-read.c, iit-read.h, iit-write.c, iit-write.h, iit_dump.c, iit_get.c, iit_store.c, iitdef.h, indexdb.c, indexdb.h, interval.c, interval.h, intlist.c, intlist.h, intron.c, intron.h, list.c, list.h, listdef.h, match.c, match.h, matchpair.c, matchpair.h, md5.c, md5.h, md5.t.c, mem.c, mem.h, oligo-count.c, oligo.c, oligo.h, oligoindex.c, oligoindex.h, pair.c, pair.h, pairdef.h, pairpool.c, pairpool.h, params.c, params.h, reader.c, reader.h, reqpost.c, reqpost.h, request.c, request.h, result.c, result.h, segmentpos.c, segmentpos.h, sequence.c, sequence.h, shortoligomer.h, snap.c, snapindex.c, stage1.c, stage1.h, stage2.c, stage2.h, stage3.c, stage3.h, stopwatch.c, stopwatch.h, table.c, table.h, types.h, uintlist.c, uintlist.h: Moved source files to subdirectory. * iit-read.c, iit-read.h: Added function IIT_get_typed. * indexdb.c: Removed debugging message. * gmap.c, snap.c, stage3.c, stage3.h: Improved determination of when an alternate strain applies, based on the aligned genomic segment. Added strain type to sorting of results. * stage1.c: Bypassing the cluster algorithm. * gmap.c, snap.c: Added ability to determine datadir from environment variable or configuration file. * get-genome.c: Added popt processing of command-line options. * genome.c: Added bigendian conversions for compressed genome, which is memory mapped. * Makefile.am, configure.ac: Added check for popt library. 2003-11-15 twu * gmapindex.c, snapindex.c: Fixed pointer bug. * stage2.c, stage2.h: Removed directional check on stage 2 smoothing. Introduced separate length criterion for first long exon. * stage3.c, stage3.h: Implemented checks and procedures for chimeric sequences. Removed directional check on stage 2 smoothing. * gmap.c, pair.c, pair.h, result.c, result.h, snap.c, stage1.c, stage1.h: Implemented checks and procedures for chimeric sequences. * genome.c: Changed debug statements from stderr to stdout. * stage1.c: Changed identify_matches to assume the absence of duplicates. * stage2.c: Changed criterion for short first and last exon during smoothing to be half of the corresponding region. * stage3.c: Fixed debugging statements. 2003-11-14 twu * gmap.c, snap.c, stage3.c, stage3.h: Fixed bug where a strain was falsely reported due to duplicate stage 3 objects and deletion of the one for the reference. * sequence.c: Reduced poly-A tail left from 7 to 1. * pair.c: Made print procedure backward compatible with old altstrain_iits. * gmap.c, gmapindex.c, pair.c, params.c, params.h, snap.c, snapindex.c: Made changes to include name of reference strain. * gmap.c, snap.c: Fixed typo in comment. * iit-read.c: Fixed memory leak when altstrain_iit doesn't exist. * Makefile.am: Integrated get-genome into snap code. * get-genome.c, sequence.c, sequence.h: Major rewrite of get-genome, to integrate it into existing snap code. * genome.c, genome.h, gmap.c, snap.c: Handled case where more than one patch from a given strain is applicable to a given genomic segment. * intlist.c: Added check for null list in Intlist_to_array. * indexdb.c: Changed idxpositions to eliminate duplicates during writing and to skip bad values during reading. * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Revised program to parse strain info. * stage1.c: Added some comments. * Makefile.am, block.c, block.h, oligo-count.c, oligo.c, oligo.h: Revised oligo-count to use the new code. 2003-11-13 twu * Makefile.am: Added build for get-genome. * get-genome.c: Major cleaning of code. Added ability to read from compressed genome files. * oligo-count.c: Initial import into CVS. Dated 2003-07-16. * genome.c, genome.h, genomicpos.c, genomicpos.h, gmap.c, matchpair.c, matchpair.h, pair.c, pair.h, snap.c, stage3.c, stage3.h: Added ability to align to multiple strains. * stage1.c: Cleaned up some bugs on handling stutter. Implemented check for duplicates in idxpositions. * gmapindex.c, indexdb.c, indexdb.h, snapindex.c: Changed strategy for idxoffsets and idxpositions for strains. Now storing the union of all strains. * Makefile.am, gmap_setup.pl.in, gmapsetup.pl.in, snapbuild.pl.in: Fixed procedure for making snapbuild. * Makefile.am: Added procedure for making snapbuild script. * configure.ac: Added feature for enabling full distribution. 2003-11-12 twu * snapbuild.pl: Changed file from snapbuild.pl to snapbuild.pl.in. * Makefile.am, configure.ac, params.h: Cleaned up specification of data directory and version file. * params.c: Added provisions for reading altstrain IIT. * gmap.c, snap.c: Cleaned up specification of data directory and version file. Added provisions for reading altstrain IIT. * gmapindex.c, snapindex.c: Fixed problem with slashes in alternate strain name. * stage1.c: Cleaned up code for stage1.c. Fixed memory leak for paired algorithm. Added chromosomal constraint for cluster algorithm. * Makefile.am, gmap.c, gmap_setup.pl.in, gmapindex.c, gmapsetup.pl.in, iit-read.c, iit-read.h, iit-write.c, iit-write.h, iit_dump.c, iit_get.c, iit_store.c, iitdef.h, indexdb.c, indexdb.h, interval.c, interval.h, segmentpos.c, segmentpos.h, snap.c, snapbuild.pl, snapbuild.pl.in, snapindex.c: Changes made to introduce types into IITs, and to build SNAP databases with alternate strain information. * match.c, match.h, stage1.c: Changes to stage 1 algorithm: (1) choice of 5' or 3' advancement based on number of hits, (2) stutter based on positions with hits, (3) computed fraction of paired hits on each end. 2003-11-11 twu * gmap_setup.pl.in, gmapsetup.pl.in, snapbuild.pl, snapbuild.pl.in: Initial import into CVS. * Makefile.am: Added object files for bigendian. * iit-read.c: Added header file for bigendian.h * bigendian.c, indexdb.c: Fixed problem in bigendian conversion. * sequence.c: Fixed problem in handling sequence files without headers. 2003-11-10 twu * iit-read.c: Changed most elements of IIT_T to be fread, rather than mmapped. Added code for program to work on bigendian architectures. * indexdb.c: Changed offsets file to be fread, rather than mmapped. Added code for program to work on bigendian architectures. * iitdef.h: Added comments. * Makefile.am, bigendian.c, bigendian.h, configure.ac, genuncompress.c, gmapindex.c, iit-write.c, snapindex.c: Added code for program to work on bigendian architectures. 2003-11-08 twu * acinclude.m4, configure.ac: Made VERSION automatically equal the current date. * Makefile.am: Removed reference to iit_convert. * genome.c: Turned off batch loading of genome. * gmap.c, sequence.c, snap.c: Rest of header printed in output. Exceptional file terminations handled better. * gmap.c, params.c, params.h, snap.c, stage1.c, stage1.h: Added cluster algorithm for short query sequences. * Makefile.am, block.c, block.h, longoligomer.c, longoligomer.h, match.c, match.h, matchpair.c, matchpair.h, oligo.c, oligo.h: Removed longoligomers. * genome.c: Fixed print statement for batch mode. 2003-11-07 twu * gmap.c, snap.c: Restored dump_segs functionality. * gmapindex.c, snapindex.c: Changed name of table from chroffset to chrlength. * iit-read.c, iit-read.h: Added function IIT_dump_formatted. 2003-10-27 twu * iit_get.c, iit_store.c: Removed carriage return at end of annotation. * Makefile.am, iit-read.c, iit-read.h, iit_dump.c: Added a program for dumping IIT files. * gmapindex.c, snapindex.c: Added better comments. * whats_on: Fixed program to use new IIT file format. * table.c: Removed assertion checks for key being non-zero, which doesn't work for a chromosome of 0. * INSTALL: Copied generic installation instructions. * COPYING: Created copyright notice. 2003-10-25 twu * iit-write.c: Made Node_make static. 2003-10-24 twu * indexdb.c: Fixed format of batch statement. * gmapindex.c, iit-read.c, iit-write.c, iit_get.c, match.c, segmentpos.c, snapindex.c: Changed annotations in .iit files to have '\0' characters at the ends, so they can be used in the file, without copying. * interval.c: Added comment about sorting procedures. * iit_get.c, iit_store.c: Changed program to use the IIT implementation in this directory. * iit-read.c: Added madvise command. * genome.c, indexdb.c: Changed reporting of touching pages under batch mode. * Makefile.am: Added iit_store and iit_get. 2003-10-23 twu * genome.c, indexdb.c: Revised touching of pages for batch mode. * assert.h, blackboard.h, block.h, bool.h, chrnum.h, complement.h, dynprog.h, except.h, genome.h, genomicpos.h, iit-read.h, iit-write.h, iitdef.h, indexdb.h, interval.h, intlist.h, intron.h, list.h, listdef.h, longoligomer.h, match.h, matchpair.h, md5.h, mem.h, oligo.h, oligoindex.h, pair.h, pairdef.h, pairpool.h, params.h, reader.h, reqpost.h, request.h, result.h, segmentpos.h, sequence.h, shortoligomer.h, stage1.h, stage2.h, stage3.h, stopwatch.h, table.h, types.h, uintlist.h: Added RCS Id string to header files. * gmap.c, snap.c: Removed call to strdup. * gmapindex.c, snapindex.c: Removed printing of superaccessions for NCBI genomes. * segmentpos.c: Removed unused procedures based on Berkeley DB. * chrnum.c: Fixed problem with numeric-alpha ordering of chromosomes. XU now follows X and precedes Y. * acinclude.m4, genome.c, indexdb.c: Added macros to check for pagesize determination. * config.h.in: Removed derived file. * configure.ac: Cleaned up unnecessary autoconf macros. * acinclude.m4, config.h.in, genome.c, genuncompress.c, iit-read.c, indexdb.c: Improved autoconf checks and header files for mmap. * gmapindex.c, snapindex.c: Fixed problem with freeing memory. * segmentpos.c: Fixed small error with printing accession bounds. * chrnum.c, gmap.c, gmapindex.c, iit-read.c, iit-read.h, iit-write.c, iit-write.h, segmentpos.c, snap.c, snapindex.c: Fixed memory leaks. * Makefile.am, acinclude.m4, block.h, chrnum.c, chrnum.h, config.h.in, configure.ac, database.c, database.h, genomicpos.c, genomicpos.h, get-genome.c, gmap.c, gmapindex.c, iit-read.c, iit-read.h, iit-write.c, iit-write.h, interval.c, interval.h, match.c, match.h, offset.c, offset.h, offsetdb.c, offsetdb.h, oligo.c, oligo.h, pair.c, pair.h, params.c, params.h, segmentpos.c, segmentpos.h, sequence.c, snap.c, snapindex.c, stage1.c, stage1.h, stage3.c, stage3.h, table.c, table.h: Eliminated dependence upon Berkeley DB. 2003-10-22 twu * table.c, table.h: Initial import into CVS. * acinclude.m4, config.h.in, configure.ac, genome.c, genuncompress.c, iit-read.c, indexdb.c: Added checks for various mmap flags. * iitdef.h: Restructed IIT_T commands. 2003-10-21 twu * Makefile.am, gmap.c, iit-read.c, iit-read.h, iit-write.c, iit-write.h, interval-read.c, interval-read.h, interval.c, interval.h, pair.c, snap.c: Restructured Interval_T and IIT_T implementations so they don't depend on BerkeleyDB, and added ability to write IITs. * acinclude.m4, database.c: Added provision for BerkeleyDB version 4.1. * iit_store.c: Changed format of input file to have only intervals on the header line. * iit_get.c: Changed program to use new IIT format. * iit_store.c: Fixed problem with annotlist being reversed. * iit_store.c: Changed format of iit file to include annotations. * sequence.c: Corrected type for return value of fgetc. * oligo.c: Corrected type for return value of Reader_getc. * stage1.h: Removed db.h as an included header. * acinclude.m4: Added -rpath flag during linking of Berkeley DB. 2003-10-20 twu * Makefile.in, configure: Removing from CVS. * Makefile.in, configure: Result of autoreconf. * Makefile.am: Added header files to SOURCES. * configure.ac: Added no-dependencies option. * iit-read.c: Removed MAP_VARIABLE from mmap call, because not recognized by Linux. * sequence.c: Renamed variable strlen to avoid compiler error on Linux. * Makefile.in: Added various auxiliary files. * sequence.c: Renamed variable strlen to avoid compiler error on Linux. * Makefile.in, compile, config.guess, config.sub, depcomp: Initial import into CVS. * Makefile.in, configure, install-sh: Initial import into CVS. * missing, mkinstalldirs: Provided updated version. * Makefile.am, genome.c, genomicpos.c, iit-read.c, iit-read.h, indexdb.c, intlist.c, intlist.h, match.c, md5.c, mem.c, offset.c, offsetdb.c, oligoindex.c, pair.c, segmentpos.c, segmentpos.h, uintlist.c, uintlist.h: Addressed compiler warnings from gcc. 2003-10-19 twu * Makefile.am, acinclude.m4, blackboard.c, configure.ac, gmap.c, reqpost.c, snap.c: Allowed pthreads to be enabled or disabled. * assert.c, block.c, chrnum.c, complement.c, database.c, dynprog.c, except.c, genome.c, genomicpos.c, genuncompress.c, get-genome.c, gmap.c, gmapindex.c, iit-read.c, indexdb.c, interval-read.c, intron.c, list.c, longoligomer.c, match.c, matchpair.c, md5.c, offset.c, offsetdb.c, oligo.c, oligoindex.c, pair.c, pairpool.c, params.c, reader.c, reqpost.c, request.c, result.c, segmentpos.c, sequence.c, snap.c, snapindex.c, stage1.c, stage2.c, stage3.c, stopwatch.c: Added RCS Id string correctly * assert.c: Added RCS Id string correctly * assert.c, block.c, chrnum.c, complement.c, database.c, dynprog.c, except.c, genome.c, genomicpos.c, genuncompress.c, get-genome.c, gmap.c, gmapindex.c, iit-read.c, indexdb.c, interval-read.c, intron.c, list.c, longoligomer.c, match.c, matchpair.c, md5.c, offset.c, offsetdb.c, oligo.c, oligoindex.c, pair.c, pairpool.c, params.c, reader.c, reqpost.c, request.c, result.c, segmentpos.c, sequence.c, snap.c, snapindex.c, stage1.c, stage2.c, stage3.c, stopwatch.c: Added rcsid strings. 2003-10-18 twu * blackboard.c, block.c, complement.c, database.c, dynprog.c, except.c, iit-read.c, interval-read.c, intron.c, list.c, matchpair.c, md5.c, mem.c, mem.h, oligo.c, oligoindex.c, pair.c, pairpool.c, params.c, reader.c, reqpost.c, request.c, result.c, sequence.c, stage2.c, stopwatch.c: Rearranged header includes. * blackboard.c, mem.c: Rearranged header includes. * longoligomer.h: Defined T for both cases of HAVE_64_BIT. * longoligomer.c: Added conditional compiling based on HAVE_64_BIT. * offset.h: Added necessary header file stdio.h. * types.h: Added compiler directives from config.h. * configure.ac: Initial changes to configure.scan to make autoconf and automake work for the cc compiler. * Makefile: Removed Makefile from CVS, because it is now generated from Makefile.am by automake, and then from Makefile.in by configure. * AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, NEWS, README, acinclude.m4, config, config.h.in, missing, mkinstalldirs: Added files for autoconf and automake to work. * configure.ac: Initial configure.ac from configure.scan produced by autoscan. 2003-10-17 twu * gencompress.c, gmapindex.c, snapindex.c: Moved gencompress function inside snapindex (previously in gencompress.c). * segmentpos.c: Changed type of relstart and relend to int, due to problems with long. 2003-10-16 twu * dynprog.c: Removed splice-site.c. * commafmt.c, commafmt.h, genomicpos.c, genomicpos.h, match.c, pair.c, segmentpos.c: Moved commafmt command to genomicpos.c. * types.h: Defined UINT8 only if HAVE_64_BIT is defined. * splice-site.c, splice-site.h: Removed splice-site.c from CVS. * readcirc.c, readcirc.h: Removing readcirc from CVS. * radixsort.c, radixsort.h: Removing radixsort from CVS. * boyer-moore.c, boyer-moore.h: Removed Boyer-Moore procedures from CVS. * longoligomer.h: Introduced constants and procedures for Longoligomer_T on 32-bit systems. * gmapindex.c, snapindex.c: Changed output type of write_genome_file. * indexdb.c, indexdb.h: Introduced Storedoligomer_T. * iit-read.c: Added type cast from void * to char *. * oligo.c, oligo.h: Created 32-bit versions of procedures. * match.c: Removed functions Match_print() and oligo_nt(). * stage1.c: Removed mask from Block_T. Removed function Match_print(). * block.c, block.h: Removed mask from Block_T. * longoligomer.c: Added object Longoligomer_T for 32-bit systems. 2003-10-13 twu * Makefile, chrnum.c, database.c, gencompress.c, genome.c, genome.h, genuncompress.c, stage1.c: Changed unsigned int to more descriptive types. * genomicpos.c, genomicpos.h, longoligomer.h, shortoligomer.h: Added new types. * chrnum.c, chrnum.h, gmap.c, gmapindex.c, match.c, match.h, offset.c, offset.h, pair.c, pair.h, segmentpos.c, segmentpos.h, snap.c, snapindex.c, stage1.c, stage3.c, stage3.h: Changed unsigned int to more descriptive types. * offsetdb.c, offsetdb.h: Added type for Chrnum_T. Removed function Offset_position_to_chr. * oligoindex.c, stage1.c, stage2.c: Changed unsigned long and unsigned int to more descriptive types. * add-chrpos-to-endpoints.c: Removed file used for prototyping. * rsort-check.c, rsort-test.c: Removed utility files for radixsort. * sequence.c: Removed code for computing CRC32 checksum. * sample-oligos.c: Removed sample-oligos.c, which was used for prototyping. * Makefile: Removed cksum-fa * prb.c, prb.h: Removed prb.c and prb.h, which implemented red-black trees. * block.c, block.h, indexdb.c, indexdb.h, match.c, match.h, oligo.c, oligo.h, oligoindex.c, oligoindex.h: Changed unsigned long and unsigned int to more informative types. * cksum.c: Removed cksum.c, which is now computed in sequence.c * cksum-fa.c: Removed cksum-fa.c, which was a utility program. * cell.c, cell.h: Removed Cell_T, which was designed for the HashDB storage scheme for genomic oligomers. * pair.c, pair.h, sequence.c, sequence.h, stage3.c: Added provision for correcting coverage in the presence of genomic gaps at the ends. * chrnum.c: Fixed a bug in printing output. 2003-10-09 twu * stage3.c, stage3.h: Added reward for spliced cDNAs based on number of exons, if it's greater than 2. Also, added flag for conservative behavior for splice site prediction, by reducing the reward for canonical splice sites. Note, however, that such behavior causes SNAP to perform poorly in the presence of sequence errors. * dynprog.c, dynprog.h, gmap.c, params.c, params.h, snap.c: Added flag for conservative behavior for splice site prediction, by reducing the reward for canonical splice sites. Note, however, that such behavior causes SNAP to perform poorly in the presence of sequence errors. 2003-10-07 twu * iit-read.c: Adapt to new format of bounds database contents. * pair.c: Makes correct call to IIT_get when coordinates are in reverse order. 2003-08-20 twu * Makefile, gmap.c, iit-read.c, iit.c, iit.h, interval-read.c, interval.c, interval.h, pair.h, params.h, snap.c, stage3.h: Changed filenames from iit.c and interval.c to iit-read.c and interval-read.c * whats_on: Generalized procedure for identifying FASTA files containing ESTs. * sequence.c: Fixed conversion of char to unsigned char. * Makefile, bounds.c, bounds.h, gmap.c, iit-read.c, iit-read.h, iit.c, iit.h, interval-read.c, interval-read.h, interval.c, interval.h, pair.c, pair.h, params.c, params.h, snap.c, stage3.c, stage3.h: Changed calls to iit to open the files just once. * bounds.c, bounds.h: Adding bounds.c file to compute bounds. 2003-08-19 twu * Makefile, database.c, database.h, iit-read.c, iit.c: Added ability to use a gene bounds iit file. * interval-read.c, interval-read.h, interval.c, interval.h: Revised version from berkeleydb CVS repository. * gmap.c, pair.c, pair.h, params.c, params.h, snap.c, stage3.c, stage3.h: Added capability to use a gene bounds iit file. 2003-08-18 twu * iit-read.h, iit.h: Initial import into CVS. * iit_get.c: Compare only to query length. * get-genome.c: Fixes procedure isrange to make a copy of the string. 2003-07-07 twu * whats_on: Changed behavior to not die if directory isn't found. * chrnum.c, chrnum.h, segmentpos.c: Fixed sorting and printing for chromosomes like 2L. * stage3.h: Removed Stage3_goodness as an external procedure. * stage3.c: Changed goodness within a given chromosomal segment to include canonical introns, but goodness between chromosomal segments to exclude this. * stage2.c: Increased MAXHITS from 20 to 1000. Previous value was too low and led to splicing errors. * get-genome.c: Changed program to try segment first as a chromosome, then as a contig. * offsetdb.c: Improved output statements to print beginning and ending of chromosomes. 2003-06-19 twu * dynprog.c: Changed penalties. Made reward for extension multiplicative. * Makefile, gmap.c, gmap_compress.pl, gmap_compress.pl.in, gmap_uncompress.pl, gmap_uncompress.pl.in, md5.c, md5.h, md5.t.c, params.c, params.h, sequence.c, sequence.h, snap.c, snap_compress.pl, snap_uncompress.pl, types.h: Added MD5 calculations. * stage3.c: Added debugging statements for finalscore. * cksum-fa.c: Added comments. 2003-06-17 twu * Makefile: Rearranged lines. * gmap.c, snap.c: Fixed calculation of indexdb to occur only once for user-provided segment. * sequence.c, sequence.h: Added computation for crc32. 2003-06-13 twu * dynprog.c: Changed reward for partial match to be zero. * stage3.c: Fixed bug where pairs_fwd or pairs_rev might be NULL. 2003-06-03 twu * stage2.c, stage2.h: Created separate paths for forward and revcomp directions after smoothing. Added back intron score during calculations. * stage3.c: Separated calculations of forward and revcomp paths. * gmap.c, snap.c: Increased size of maxlookback. * pair.c, pair.h: Added calculation of number of canonical exons. * dynprog.c: Setting finalscore as a return value. * stage3.c: Added number of canonical exons to goodness criterion. Added "Stage 3" to debug statements. 2003-05-27 twu * gmap.c, snap.c, stage2.c, stage2.h, stage3.c, stage3.h: Moved alignment of different cDNA direction from stage 2 to stage 3. * pair.c, pair.h: Changed Pair_fracidentity to work on a list, rather than an array. 2003-05-23 twu * stage3.c: Changed goodness function to ignore number of canonical introns. * gmap.c, snap.c: Added parameter for sufflookback, potentially different from maxlookback, but found that setting maxlookback >> sufflookback led to long, poor alignments, so set maxlookback = sufflookback. * params.c, params.h, stage2.c, stage2.h: Added separate parameter for sufflookback, to be used in stage 2, and possibly different from maxlookback, used in stage 3. 2003-05-04 twu * genome.c, genuncompress.c, iit-read.c, iit.c, indexdb.c: Removed MAP_VARIABLE from mmap command, because it is not available in Linux. * hash-test.c, hashdb-read.c, hashdb-read.h, hashdb-write.c, hashdb-write.h, hashdb.c, hashdb.h: Removed hashdb files, which have been replaced by indexdb. * whats_on: Added error message. * Makefile: Removed old Makefile commands. * gmapindex.c, snapgenerate.c, snapindex.c: Moved functions from snapgenerate.c to snapindex.c, so only snapindex is needed to create SNAP genome files. * genuncompress.c: Initial import into CVS. 2003-05-01 twu * stage2.c: Added check for MAXHITS in stage 2, to prevent slowness problems from repetitive cDNAs in repetitive genomic segments (such as AA704019). * stage1.c: Added debugging statement. * gmap_uncompress.pl, gmap_uncompress.pl.in, snap_uncompress.pl: Fixed problem where gpos was not handled correctly for the minus strand. * chrnum.c: Fixed problem where signed chromosomes were being printed incorrectly. 2003-04-29 twu * whats_on: Fixed problem where genomic coordinates were in the order of largest, then smallest (reverse strand). 2003-04-27 twu * stage3.c: Removed queryoffset. * stage2.c, stage2.h: Removed queryoffset. Made sampling interval variable. Added bounding of a querypos to a single hit if its top score exceeds its second highest score. * gmap.c, snap.c: Changed lookback and extramaterial_paired. * sequence.c: Changed trimming to leave non-poly-A/T oligomers. * chrnum.c, database.c, get-genome.c, segmentpos.c: Changed interpretation of chromosome numbers to allow all single letters and all numbers. * offsetdb.c: Extra blank line. 2003-04-17 twu * Makefile, accpos.c: Removed file accpos.c, which isn't being used anymore. 2003-04-16 twu * genome.c, sequence.c, sequence.h: Removed offset as a parameter for Sequence_genomic_new. * mem.c: Removed upper limit check on allocating memory. * pair.h: Removed queryoffset from print routines. * pair.c: Removed queryoffset from print routines. Fixed calculation of genomic distances for Crick strand. 2003-04-15 rkh * config, cvswrappers: *** empty log message *** 2003-04-10 rkh * config: *** empty log message *** 2003-04-09 rkh * config: *** empty log message *** 2003-04-07 twu * dynprog.c: Reduced rewards for canonical introns. * pair.c: Added conversion to uppercase. * mem.c: Added check for unexpectedly large allocations. 2003-04-02 twu * stage3.c: Made separate procedures for 3' and 5' ends. Turned off Boyer-Moore extension at ends. Added checks to prevent dynamic programming past end of sequence. * params.c: Removed freeing of version. * pairpool.c: Added additional debugging checks. * pair.c: Improved output for user-provided segments. * gmap.c, indexdb.c, indexdb.h, match.c, matchpair.c, matchpair.h, offset.c, sequence.c, sequence.h, snap.c: Now performing stage 1 on user-provided segments. This eliminates poor alignments when the user-provided segment is longer than stage 1 would have provided. * segmentpos.c: Added limit to number of accessions reported. * request.c, request.h: Changed from name from genomicseg to usersegment. * stage1.c: Removed offset from call to Block_T procedures. * genome.c: Renamed some procedures. * dynprog.c: Increased penalties for mismatch. * chrnum.c: Allowed chromosome 0. * block.c, block.h: Removed offset from list of parameters. * blackboard.c, blackboard.h: Changed from name from genomicseg to usersegment. 2003-03-27 twu * gmap_compress.pl, gmap_compress.pl.in, gmap_uncompress.pl, gmap_uncompress.pl.in, pair.c, snap_compress.pl, snap_uncompress.pl, stage3.c: Changed alignment output for dual breaks. 2003-03-25 twu * dynprog.c: Created an inline procedure and scheme for scoring canonical and alternate introns. Increased penalties for mismatches. * intron.c, intron.h: Moved most functions to other files, to increase speed. * pair.c, pair.h, pairdef.h, pairpool.c, stage3.c: Added field to Pair_T object to denote a gap. * sequence.c: Fixed bug that caused large amounts of memory to be allocated. * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Introduced a better error statement. * stage2.c: Changed sampling to start at -1 after the first 8-mer missed, and then go back by the Nyquest rate. * stage3.c: Introduced peelback for single gaps. 2003-03-21 twu * genome.c, gmap.c, pair.c, pair.h, sequence.c, sequence.h, snap.c, stage3.c: Fixed algorithm to handle poly-T starts as well as poly-A ends. Added extra information to Sequence_T structure and output procedures to handle this correctly. * gmap.c, snap.c: Fixed problems with Stage3_T objects that were not assigned to NULL. Added flushing of output for debugging. * dynprog.c: Fixed dynamic programming on ends so the genomic segment won't stick out. 2003-03-20 twu * spidey_compress.pl: Modified routine to look for spaces of at least 10, instead of 20. * dynprog.c: Added a separate reward for canonical introns, depending on the defect rate. * list.c, list.h: Added a command for setting the head of a list. * pair.c: Fixed counting of indels. * pairpool.c: Created new debugging commands. * gmap.c, snap.c: Added trimming of first or last exon in stage 2 if the defect rate is high enough and the exons are too long. Increased lookback from 60 to 90. * stage3.c: Modified peelback to go past nonconsecutive hits, stopping only at an intron. * stage2.c, stage2.h: Added trimming of first or last exon if the defect rate is high enough and the exons are too long. 2003-03-16 twu * stage2.c: Added hooks for making smooth_path depend on defect_rate, but this appears to be a bad idea. * pair.c: Improved consistency check to work when cdna_direction is initially zero. * dynprog.c, dynprog.h, stage3.c: Changed effect of defect rate to be on mismatches and gaps, rather than intron scores. 2003-03-15 twu * gmap.c, pair.c, pair.h, snap.c, stage2.c, stage2.h, stage3.c, stage3.h: Added check for consistency of intron directions, and ability to back track to stage 2 with forced cdna_directions if the stage 3 result is inconsistent. * dynprog.c, dynprog.h, pair.c, pair.h, stage2.c, stage2.h, stage3.c: Added estimation of defect_rate in stage 2, and used it to change parameters in dynamic programming and extension of ends. 2003-03-13 twu * stage3.c: Changed limitation on Boyer-Moore search to be a certain number of hits. This compensates for the fact that smaller oligomers will occur more frequently than longer ones, and that longer ones are more statistically significant. 2003-03-12 twu * stage3.c, stage3.h: Limited length of Boyer-Moore search at ends. Changed name of minendsearch to minendtrigger. * gmap.c, params.c, params.h, snap.c: Changed name of minendsearch to minendtrigger. 2003-03-11 twu * dynprog.c: Extended the search range of bridge_gap, so that it finds introns even at the bounds of the dynamic programming. * gmap.c, params.c, params.h, snap.c, stage3.c, stage3.h: Added parameter for minendsearch. * dynprog.c: Fixed safety check in intron_score for reading off end of segment. * stage3.c: Rearranged computation of stage 3, such that middle is computed first, then cDNA direction is recomputed, then 5' and 3' ends are computed. * pair.c, pair.h: Added function for computing cDNA direction from list of pairs. * dynprog.c: Adjusted various dynamic programming scores. Fixed coordinates in gap. Added check for very short introns. * stage3.c: Discrimination between paired gap dynamic programming at ends and in middle. * dynprog.c, dynprog.h: Major rewrite of dynamic programming procedures. Changed from Gotoh algorithm to pure banded procedure. Reversing sequences when necessary, so all computations are symmetric. * sim4_compress.pl, spidey_compress.pl: Added output of the number of exons. * stage3.c: Added check for genomejump being zero or negative, which would give rise to a position beyond the genomic segment. * pair.c: Added check for zero denominator. * boyer-moore.c: Added check for sequence to consist entirely of valid nucleotides. 2003-03-09 twu * spidey_compress.pl: Added printing of exon lengths, intron lengths, and dinucleotides, to match new output of snap_compress.pl. Fixed problems with parsing Spidey output. * sim4_compress.pl: Added printing of exon lengths, intron lengths, and dinucleotides, to match new output of snap_compress.pl. * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Fixed problem when reverse intron is GT-AG. * gmap_uncompress.pl, gmap_uncompress.pl.in, snap_uncompress.pl: Fixed bug that occurs when snap was called with -N, without printing intron lengths. * stage1.c: Fixed a memory leak from not freeing Stage1_T object. * block.c: Fixed bug which caused a memory leak because we were overwriting a previous querypos. * oligo.c: Fixed debug message. 2003-03-07 twu * gmap.c, snap.c: Reduced stage1size for short query sequences (< 60 bp). * match.c, match.h, stage1.c, stage1.h: Fixed Match_print to print the correct oligo. * get-genome.c: Changed header to contain the version number. * gmap_uncompress.pl, gmap_uncompress.pl.in, snap_uncompress.pl: Added exon lengths to compressed output. * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Added exon lengths to compressed output. Removed printing of dinucleotides for canonical introns. 2003-03-06 twu * stage3.c: Cleaned up code extensively. Added Boyer-Moore searches on both ends of cDNA. * dynprog.c, dynprog.h: Cleaned up code by making separate procedures for single gap in middle, and 5' and 3' ends. * pair.c, pair.h: Added procedure for dumping a list of pairs. * boyer-moore.c: Removed debugging statements. 2003-03-05 twu * Makefile, boyer-moore.c, boyer-moore.h: Addition of Boyer-Moore string search. * stage3.c: Consolidated peelback code. Beginning to insert Boyer-Moore code. * stage2.c: Fixed bug where index was -1. * block.c, block.h, oligo.c, oligo.h, stage1.c: Fixed code to use stage1size instead of INDEX1PART in certain places. * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Fixed code to handle genomic accession when genomic sequence is provided by the user. * gmap.c, pair.c, sequence.c, sequence.h, snap.c: Fixed code to print out genomic accession when genomic sequence is provided by the user. * match.c: Fixed code to print just forward oligo. 2003-03-03 twu * intron.c, pair.c: Changed '===...===' to represent a non-canonical intron. * dynprog.c: Reduced reward to semi-canonical introns to be slightly less than that for canonical introns. * stage3.c: Changed output of large gaps from '=========' to '###...###'. * gmap_uncompress.pl, gmap_uncompress.pl.in, snap_uncompress.pl: Made changes to accommodate enhancements to SNAP, namely use of '#' for large gaps and switch of intronends and intronlengths info. * gmap_compress.pl, gmap_compress.pl.in, snap_compress.pl: Initial import into CVS. * gmap_uncompress.pl, gmap_uncompress.pl.in, snap_uncompress.pl: Initial import into CVS. 2003-03-02 twu * Makefile, dynprog.c, intron.c, intron.h, pair.c, splice-site.c: Removed use of splice site matrices and added identification of semi-canonical dinucleotides. 2003-03-01 twu * gmap.c, params.c, params.h, snap.c, stage3.c, stage3.h: Changed extramaterial at the end and for paired to be parameters. * get-genome.c: Changed program to check only first four letters of genomic name. 2003-02-11 twu * pair.c, pair.h, stage3.c: Adjusted goodness score of alignment by number of canonical introns. * dynprog.c, dynprog.h, gmap.c, params.c, params.h, snap.c, stage3.c, stage3.h: Parameterized band size in dynamic programming and increased bands for cross-species alignment. * gmap.c, oligoindex.c, oligoindex.h, params.c, params.h, snap.c, stage2.c, stage3.c, stage3.h: Parameterized INDEXSIZE and made it different for cross-species alignment. * stage2.c: Added smooth_path step in stage 2 to remove short spurious exon hits. 2003-02-03 twu * params.c, params.h: Replaced dbroot with version. * gmap.c, snap.c: Added reporting of version to program. 2003-01-28 twu * stage3.c: Fixed problem where a base pair was missed on the 5' end. * stage2.c: Fixed problems where genomic matches can overlap. * pair.c: Fixed problems in computing exon endpoints. 2003-01-22 twu * stage3.c: Reverted back to old method of building pairs in the middle. * pair.c: Added post-processing check for a gap at the end of the alignment. * oligoindex.c: Added check for poly-T. 2003-01-03 twu * stage3.c: Made some changes to eliminate large gaps at the 3' end. * gmap.c, snap.c: Improved handling of case where user provides both cDNA and genomic files. * stage3.c: Fixed bug when no pairs are found. * sequence.c: Fixed bug in failing to initialize. 2002-12-30 twu * params.c, params.h: Added parameter for fwdonlyp. * pairpool.c: Fixed small memory leak. * params.h: Changed genomeinvert from a bool to an int. * pair.c: Fixed bug where pointer was advanced before freeing it. 2002-12-11 twu * gmap.c, snap.c: Fixed problem where complement table was not initialized early enough. 2002-12-10 twu * gmap.c, sequence.c, sequence.h, snap.c: Improved procedure for trimming poly-A tails. * pair.c: Increased space for positions from 12 to 14. * complement.h: Removed extraneous semicolon. * stage2.c: Fixed problem where no matching 8-mers are found. 2002-12-04 twu * gmapindex.c, snapindex.c: Write accession names to .aux file, even if they do not start with NT_ or GA_. * gmap.c, snap.c: Added routines for adding signs to chromosomes, inverting the genome, printing intron lengths, and trimming poly-A tails. * pair.c, pair.h, params.c, params.h, stage3.c, stage3.h: Added routines for adding signs to chromosomes, inverting the genome, and printing intron lengths. * sequence.c, sequence.h: Added routines for trimming poly-A tails. * chrnum.c, chrnum.h, match.c: Added routines for adding signs to chromosomes. * Makefile, complement.c, complement.h, genome.c: Added files for handling complements. 2002-11-26 twu * match.c, pair.c: Changed printing of FWD/REV to +/-. Added printing of intron lengths. * gmap.c, pair.c, pair.h, params.c, params.h, snap.c, stage3.c, stage3.h: Added ability to print genome first in alignment. 2002-11-25 twu * gmap.c, snap.c: Added iteration code for cross-species alignments. * Makefile, matchpair.c, matchpair.h: Added an object Matchpair_T to hold pairs of Match_T objects. * segmentpos.c: Added a check against freeing a null value. * result.c, result.h: Created a Stage1_T object that can hold state, for resuming stage 1 calculations later. * pair.c, stage3.c: Changed definition of coverage to be based on length of query sequence that aligns. * dynprog.c: Changed allocation procedures for Matrix_T and Directions_T. Provided hooks for doing band-limited memory clearing, but this won't work with the Gotoh P1 and Q1 matrices. * stage2.c: Added a seenone check to protect against long stretches of N's in the genome. * stage1.c, stage1.h: Created a Stage1_T object that can hold state, for resuming stage 1 calculations later. Stage1_T contains a list of Matchpair_T objects, and some procedures have been moved to matchpair.c. * params.c, params.h: Added parameters for crossspecies and changed name of maxextend to maxstutter. 2002-11-20 twu * dynprog.c, dynprog.h, stage3.c: When calling dynprog, now passing pointers to subsequence rather than copying subsequences. * block.c, block.h: Simplified procedure for processing oligos by Block_T object. * params.c, params.h: Added parameters for stage1size and maxlookback. * pair.c, pair.h, stage3.c, stage3.h: Added counts for unknowns and reporting of coverage. * oligoindex.c: Increased size of memory blocks from 10 to 50. * oligoindex.c: Replaced realloc function with explicit calls to calloc and free, because Third Degree reported occasional errors with realloc. * gmap.c, indexdb.c, indexdb.h, oligo.c, oligo.h, snap.c, stage1.c, stage1.h: Major change to stage 1 procedure to work on either 24-mers or 18-mers. * mem.c: Added blank line. * match.c, match.h: Added procedure for Match_copy and simplified Match_new. * genome.c: Inlined procedure fill_buffer. * genome.c: Simplified routine for fill_buffer. 2002-11-15 twu * indexdb.c, indexdb.h: Added code for ignoring poly A hits. Added procedure for reading 12-mer positions. * pair.c: Removed debugging statement. * block.c, match.c, match.h, oligo.c, stage1.c, stage1.h: Parameterized stage1size. 2002-11-12 twu * pair.c, pair.h: Distinguished between mismatches and indels. Fixed cases where gaps need to be merged (e.g., affy.HGU95A.34233_i_at, which created ===...======...=== when an 8-mer fell into a gap and was then aligned to either end of the gap by dynamic programming. * params.c, params.h: Added flag for low stringency. * stage3.c, stage3.h: Changed definition of LARGEQUERYGAP to be maxlookback. Distinguished between mismatches and indels. * gmap.c, snap.c: Changed definition of LARGEQUERYGAP to be maxlookback. Added flag for lowstringency (12-mers). * dynprog.c, dynprog.h, stage2.c: Changed definition of LARGEQUERYGAP to be maxlookback. * result.c: Improved check on whether to free array in result. 2002-11-11 twu * params.c, params.h, stage2.c, stage2.h: Made maxlookback a parameter. * gmap.c, snap.c: Introduced heap memory for each thread for dynamic programming. Made maxlookback a parameter. * stage3.c, stage3.h: Introduced heap memory for each thread for dynamic programming. Restricted peelback for consecutive positions. * dynprog.c, dynprog.h: Introduced heap memory for each thread for dynamic programming. 2002-11-09 twu * dynprog.c: Changed dynamic programming procedure to be banded. * stage2.c, stage3.c: Revised stage 2 procedure to jump every INDEXSIZE, keep track of consecutive matches, and have a maximum lookback. Changed stage 3 procedure accordingly, including increasing peelback to INDEXSIZE. * gmap.c, snap.c: Changed default behavior to be ordered output. * genome.c: Revmoed pre-loading for genome, and used madvise(MADV_DONTNEED) instead. 2002-11-07 twu * dynprog.c: Added a zero gap penalty on the ends. Changed mismatch penalty to be less than a match penalty, and reduced intron reward accordingly. * stage3.c: Added a peelback on the 5' end, because it's just like half of a paired gap alignment. * gmap.c, snap.c: Removed hack used for debugging. * stage2.c: Introduced concept of a maximum lookback, and will now go beyond the previous limit if no hit has been found. * genome.c: Changed genome to be pre-paged when user specifies it. * indexdb.c: Changed type of i from int to size_t. 2002-11-06 twu * pair.c, pair.h, stage3.c: Changed pairs in stage 3 object to be allocated as a separate block, so they can be output at a later time. * blackboard.c, blackboard.h, gmap.c, reqpost.c, reqpost.h, request.c, request.h, result.c, result.h, snap.c: Updated multithreading system to handle ordered output with better throughput by adding an output queue. * genome.c, indexdb.c, pair.c: Added header for string.h to eliminate compiler warnings about strlen type. * pairpool.c: Increased chunk size from 10000 to 20000. * stage2.c: Added debugging comments to generate a graph. * stage3.c: In-lined calls to List_T and Pair_T accessor functions. * pair.c, stage1.c: In-lined calls to List_T accessor functions. * list.c, list.h: Added function to return value of the last element of a list. 2002-11-05 twu * pairpool.c, pairpool.h: Removed calls to realloc(), because they do not preserve pointer values. Replaced with allocation of chunks of memory as needed. * dynprog.c, stage2.c: Changed two-dimensional matrices to be one-dimensional with pointer. * blackboard.h, gmap.c, snap.c: Made minor tweaks to blackboard object, primarily alterating ninputs and noutputs outside the lock, and changing signal of end of output to be a null result. * reqpost.c, reqpost.h: Added orderedp flag to send only appropriate signals. * blackboard.c: Made minor tweaks to blackboard object, primarily alterating ninputs and noutputs outside the lock. 2002-11-04 twu * dynprog.c, list.c, listdef.h, pairpool.c, pairpool.h, stage2.c, stage3.c: Added a pool of List_T cells for each thread to reduce heap contention. * Makefile, blackboard.c, dynprog.c, dynprog.h, genome.c, genome.h, gmap.c, pair.c, pairdef.h, pairpool.c, pairpool.h, reqpost.c, reqpost.h, request.c, request.h, sequence.c, sequence.h, snap.c, stage2.c, stage2.h, stage3.c, stage3.h: Provided each worker thread with separate sources of heap memory for genomic sequence and for Pair_T objects. Intended to reduce heap contention. * stage2.c: Created define for MAXLOOKBACK. * stage1.c, stage1.h: Changed constants to be based on those in indexdb.h. * indexdb.c, indexdb.h: Changed stage 1 lookup to be based on 12-mers, rather than 8-mers. 2002-11-03 twu * indexdb.c: Implemented binary search on third 8-mer. * gmap.c, snap.c: Allowed user to specify full path of database in the -d flag. * Makefile: Added stopwatch to Makefile. * indexdb.c: Changed preloading of indexdb to touch each page effectively, not by using memcpy(), which fails to load in pages. * sequence.c: Added check for first call to fgetc(input) being EOF. 2002-11-01 twu * pair.c: Changed print routine to work properly on user-supplied genomic segments. * genome.c, indexdb.c: Changed pre-load to use fread/fopen/fwrite, rather than memcpy, which fails to load the pages into memory. * Makefile, block.c, block.h, gmap.c, gmapindex.c, oligo.c, oligo.h, params.c, params.h, snap.c, snapindex.c, stage1.c, stage1.h: Changed stage 1 database to use index table of 8-mers, rather than a hash table of 24-mers. * stopwatch.c, stopwatch.h: Added stopwatch function to program. * genome.c, genome.h: Added batch mode by using mmap/memcpy, but this appears to fail on a clustered file system. * indexdb.c, indexdb.h: Implemented Indexdb_T as a substitute for Hashdb_T. 2002-10-31 twu * stage2.c: Changed stage 2 procedure to consider both forward and reverse complement introns in one pass. Fixed a small bug in intron_score to require position >= 2. 2002-10-29 twu * stage2.c, stage3.c: Replaced calls to Sequence_char with direct array access. * Makefile, blackboard.h, genome.c, genome.h, gmap.c, hashdb-read.c, match.c, offset.c, oligoindex.c, pair.c, reqpost.c, reqpost.h, segmentpos.c, snap.c, stage2.c, stage3.c: Made various fixes for compiler warnings. * stage3.c: Separated procedures for middle single gap and end single gap. Decreased size of single gap dynamic programming procedure for 5' and 3' ends to have genomejump = 2*queryjump. * gmap.c, snap.c: Increased default extension to 30000 nt. * dynprog.c: Prevented horizontal jumps on 3' end of splice site. Adjusted score parameters. * dynprog.c, oligoindex.h, stage2.c: Changed oligomer size in stage 2 from 10 to 8, and adjusted dynamic programming parameters accordingly. Prevented genomic gap at the 5' edge of an intron. Made initial cdna_direction test more robust. * gmap.c, snap.c: Fixed calls to SNAP that don't involve any sequence (the -C and -L flags). * stage3.c: Reduced minimum intron size from 10 to 9. * stage1.c: Substituted the constant HASHSIZE for 24. 2002-10-28 twu * dynprog.c: Increased reward for intron. A score of 10 fails to identify a canonical intron with a gap. * pair.c: Fixed misreporting of query start coordinate. * gmap.c, snap.c: Fixed small memory leak. * Makefile, dynprog.c, splice-site.c, splice-site.h: Added splice site calculations to find best intron. * dynprog.c, dynprog.h, stage2.c, stage2.h, stage3.c, stage3.h: Improved stage 2 dynamic programming procedure to consider introns (only for consecutive query positions), to compute gap penalty based on difference of genomejump and queryjump, and to consider cDNA directions separately. * gmap.c, snap.c: Improved handling of arguments for database search and for alignment to genomic segment. * stage1.c, stage1.h: Fixed stage 1 to consider Watson and Crick strands separately. * gmap.c, params.c, params.h, snap.c, stage1.c, stage1.h: Made extension in stage 1 a user-definable parameter. 2002-10-27 twu * blackboard.c, blackboard.h, gmap.c, pair.c, request.c, request.h, sequence.c, sequence.h, snap.c: Provided ability to align cDNA against user-provided genomic segment. * dynprog.c: Gave credit to half introns. 2002-10-26 twu * genome.c, genome.h, gmap.c, oligoindex.c, oligoindex.h, snap.c, stage1.c, stage1.h, stage2.c, stage2.h, stage3.c, stage3.h: Changed genomicseg to be of type Sequence_T. * block.c: Changed debug flag. * Makefile, gmap.c, request.c, request.h, sequence.c, sequence.h, snap.c, stage1.c, stage1.h, stage2.c, stage2.h, stage3.c, stage3.h: Renamed Queryseq_T to Sequence_T. * queryseq.c, queryseq.h: Renamed Queryseq_T to Sequence_T, to allow genomic sequences to be represented this way. * pair.c, pair.h, stage3.c, stage3.h: Simplified argument lists of some functions. * params.c, params.h, result.c, result.h: Allowed first-order approximation using stage1 results. * stage2.c: Increased extension on left and right to find small terminal exons. * stage1.c, stage1.h: Fixed assessment of whether getpair succeeded or failed. * gmap.c, match.c, match.h, snap.c: Added first-order approximation, to use just stage1 results. * block.c, block.h, oligo.c: Fixed bugs in Block_next_to_stoppos when the query sequence has many non-ACGT characters. 2002-10-25 twu * Makefile, gmap.c, snap.c: Made compressed genome the default. * hashdb-read.c, hashdb-write.c: Reverted to old hashtable format, which contains only two arrays. 2002-10-24 twu * dynprog.c, dynprog.h, gmap.c, pair.c, pair.h, params.c, params.h, snap.c, stage3.c, stage3.h: Added diagnostic mode to print out asterisks instead of vertical bars where dynamic programming was done. * genome.c, genome.h: Added ability to read compressed genomes. * Makefile, gencompress.c: Added compression routine for genomes. * blackboard.c, blackboard.h, gmap.c, reqpost.c, reqpost.h, snap.c: Added anyorder behavior to blackboard, and made it default. 2002-10-23 twu * stage2.c: Removed code for memory freeing of positions, which is now performed by Oligoindex_T. * oligoindex.c: Changed type of positions from void ** to unsigned int **, to make code clearer and more robust. 2002-10-22 twu * gmap.c, pair.c, pair.h, params.c, params.h, snap.c, stage3.c, stage3.h: Added option to print universal genomic coordinates. * genome.c, hashdb-read.c: Changed mmap to from MAP_PRIVATE to MAP_SHARED. * genome.c, genome.h, gmap.c, params.c, params.h, snap.c, stage2.c, stage2.h: Changed Genome_T to be memory-mapped, rather than using fopen, which is needed for multithreading. * stage1.c: Fixed bug where salvage procedure fails to find anything. * mem.c: Enhanced mem.c to give actual location of failure. * gmap.c, oligoindex.c, oligoindex.h, snap.c, stage2.c, stage2.h: Changed algorithm for stage 2 to allocate genomic positions dynamically in Oligoindex_T. To limit number of positions stored, we prescan the queryseq to see what oligomers are relevant. * stage2.c: Reverted back to previous Stage 2 strategy where we stored genomic sequence in oligoindex and scanned query sequence. * oligoindex.c, oligoindex.h: Simplified routines greatly. * stage2.c: Changed stage 2 strategy to index the query sequence rather than the genomic sequence. This should result in some speed up. * reader.c, reader.h, stage1.c: Made Reader_new function depend on sequence rather than Queryseq_T object. * list.c, list.h: Added function List_index. * oligoindex.c, oligoindex.h: Hard-coded interval, rather than passing it in. * gmap.c, pair.c, snap.c: Added flag to avoid showing contig coordinates. * params.c, params.h: Added Params_T object. * Makefile, blackboard.c, blackboard.h, gmap.c, reqpost.c, reqpost.h, request.c, request.h, result.c, result.h, snap.c: Major change to make program multithreaded. Introduced Blackboard_T, new Reqpost_T, and new Result_T objects. * stage3.h: Added header file. * stage2.c, stage2.h: Cleaned up procedures. Passed in querylength via queryseq. * stage1.c, stage1.h: Cleaned up procedures. Made hashinterval a constant. * queryseq.c, sequence.c: Removed macro for DEBUG2. * oligoindex.c, oligoindex.h: Allowed offsets for oligoindex to be created separately (for individual worker threads.) * block.c: Changed name from Result_T to Match_T. 2002-10-21 twu * block.c, match.c, match.h, stage1.c, stage1.h, stage2.c, stage2.h: Changed name of Result_T to Match_T. * result.c, result.h: Renamed Result_T to Match_T. * stage3.c: Turned off debug statements. * queryseq.c, sequence.c: Fixed small memory leak. * Makefile, align.c, align.h, gmap.c, snap.c, stage2.c, stage2.h, stage3.c, stage3.h: Created Stage 3 and moved part of Stage 2 commands there. 2002-10-20 twu * Makefile, align.c, align.h, gmap.c, queryseq.c, queryseq.h, reader.c, reader.h, sequence.c, sequence.h, snap.c, stage1.c, stage1.h, stage2.c, stage2.h: Added a separate Queryseq_T object, and moved some functions from Reader to Querypos. * pair.c: Removed bottom ruler. * block.c, block.h, gmap.c, snap.c, stage1.c, stage1.h: Removed multithreading from stage 1 (hash table reads). * dynprog.c: Made maximize_entry inline to speed up dynamic programming. * stage2.c: Added another 24 (hashsize) to extensions. Without this, for some reason, we miss the ends. * Makefile, dynprog.c, penalties.c, penalties.h: Removed Penalties_T object in order to increase speed. * stage2.c: Changed extension to be based on remaining distance from end. * gmap.c, snap.c: Eliminated parameters maxentries and indexsize. * oligoindex.c, oligoindex.h: Made changes to improve speed, by eliminating unnecessary arrays. * stage2.c, stage2.h: Made changes to improve speed, including making build_pairs_middle iterative and using the fill_oligo function where possible. * align.c: Changed Pair_T object to reflect the actual case of the query sequence. 2002-10-19 twu * oligoindex.c: Simplified construction of Oligoindex_T object. * Makefile, align.c, align.h, gmap.c, oligoindex.c, oligoindex.h, snap.c, stage2.c, stage2.h: Made indexsize a hardcoded parameter. Allocated space for Oligoindex once at beginning of program. * align.c, stage2.c: Using Pair_T object instead of Result_T object throughout stage 2. * stage1.c: Fixed memory leak. * align.c, align.h, stage2.c: Major change to improve stage 2 efficiency. Using arrays instead of lists for the dynamic programming alignment. * oligoindex.c: Changed debug statements from fprintf to printf. * offset.c, offset.h: Added back to repository. 2002-10-18 twu * stage1.c, stage2.c: Allowed alignments even if we can't find a matching pair on the 5' and 3' ends. * oligoindex.c: Changed debug statements. * align.c: Removed debug statement. * Makefile: Added rule for counting lines of code. 2002-10-17 twu * Makefile, gmap.c, segmentpos.c, segmentpos.h, snap.c, snapgenerate.c: Generated dump procedure to work on either the text offset file or the offset BerkeleyDB. Added accession length to the output. * match.c, match.h, result.c, result.h: Cleaned up unused or obsolete procedures. * hashdb-read.c: Made hashindex memory mapped again. Added madvise() commands to help with memory mapping. * stage1.c: Changed algorithm for stage 1 to extend for 2 hash intervals past the first connectable pair of hits. * block.c, block.h: Added ability to stop block at a certain position. 2002-10-15 twu * dynprog.c, dynprog.h, stage1.c, stage2.c: Added counts of matches and mismatches on dynamic programming of single gaps, and used this to exclude dynamic programming results on 5' and 3' ends. * gmap.c, snap.c, stage2.c, stage2.h: Increased EXTENSION from 90 to 1000. Included check for genomicpos2 against chromosomal length. * hashdb-read.c, hashdb-write.c: Reading hashindex into memory instead of memory mapping it. * dynprog.c: Cosmetic changes to debug macro. * align.c: Cleaned out unused code. * gmap.c, snap.c: Added flag for specifying maxentries (in stage 2). * stage2.c: Fixed one-off error on requesting dynamic programming of 5' end. * hashdb-write.h: Added log file. * gmapindex.c, snapindex.c: Fixed minor bug relating to log file. * hashdb-write.c: Added file pointer for a log file. * gmapindex.c, snapindex.c: Raised default maxentries value from 5 to 20. Added file pointer for a log file. * hashdb-write.c: Commented out monitoring statements. * hashdb.c: Developed new hash function to give the same hash value for an oligo and its reverse complement. This should improve page access for the hash lookup. * stage2.c: Improved debugging statement. * gmap.c, snap.c: Removed effect of maxentries in stage 2, which was causing some alignments to be short. * align.c: Changed debug statements from fprintf to printf. 2002-10-14 twu * hashdb-read.c: Fixed problem in binary search where we subtracted 1U from 0U. * dynprog.c: Allowed dynamic programming to identify introns even if lowercase. * database.c: Reformatting. * hashdb-read.c: Fixed bug where function was returning NULL prematurely. * gmapindex.c, snapindex.c: Made second pass read only on auxfile. * Makefile, block.h, database.c, database.h, gmap.c, gmapindex.c, match.c, oligo.h, request.h, result.c, snap.c, snapindex.c, stage1.h: Removed traces of PureDB package. * Makefile, cell.c, cell.h, gmapindex.c, snapindex.c: Changed snapindex program to a two-pass process. The first pass saves the .aux file, and the second pass creates the hash table. This simplifies the Cell_T object greatly. 2002-10-13 twu * cell.c, cell.h, gmapindex.c, hashdb-write.c, snapindex.c: Sorting cell entries by hashvalue then by oligo. * hashdb-read.c: Fixed minor bug in binary search routine. 2002-10-11 twu * Makefile, block.c, hashdb-read.c, hashdb-write.c: Changed structure of hashdb to have three tables: oligo_offset, oligos, and positions. * hashdb-write.c: Checking totalsize of contents and setting file size initially to that. * hashdb-read.c: Memory mapping hash contents now. * snapgenerate.c: Fixed memory leaks. * gmap.c, snap.c: Fixed memory leak from failure to free Offset_T object. * gmap.c, snap.c: Fixed bug where datadir was freed. * hashdb-read.c: Fixed bug where memory mapped offsets were freed. * dynprog.c: Fixed bug where cL+1 or cL+2 exceeded length2L. * oligo.c: Revised procedures to handle lowercase letters in the query sequence. * hashdb-read.c: Fixed bug where nentries wasn't being set. * Makefile: Divided hashdb into separate read and write files. * block.c, block.h, gmap.c, oligo.c, oligo.h, request.c, request.h, snap.c: Changing from PureDB to our own Hashdb_T. * stage1.c, stage1.h: Changing from PureDB to our own Hashdb_T. Also fixed bug where results3 was not being initialized to NULL. * gmapindex.c, snapindex.c: Divided hashdb file into a separate read and write file. * snapgenerate.c: Using Offset_T object now, after we have written the chromosome file. * hashdb-write.c: Fixed bug causing unaligned access errors, by splitting header into two 4-byte unsigned ints. * hashdb-read.c: Fixed bug where length = 0. Also fixed bug causing unaligned access errors, by splitting header into two 4-byte unsigned ints. 2002-10-10 twu * hashdb-read.c, hashdb-read.h, hashdb-write.c, hashdb-write.h, hashdb.c, hashdb.h: Split Hashdb functions into separate read and write files. * hashdb.c, hashdb.h: Provided option to switch between unsigned long and unsigned int for hashoffset_t. * hashdb.c, hashdb.h: Changed offsets to be memory-mapped rather than read by file. * Makefile, gmapindex.c, hashdb.c, hashdb.h, snapindex.c: Changing hash database to our own format. * gmapindex.c, snapindex.c: Fixed bug where last oligo would not get stored. * pair.c, segmentpos.c: Added missing header file for commafmt. * Makefile: Revised object files needed for snapindex and snapgenerate. * Makefile, accpos.c, add-chrpos-to-endpoints.c, block.c, block.h, cell.c, database.c, database.h, gmap.c, gmapindex.c, match.c, match.h, offsetdb.c, offsetdb.h, result.c, result.h, segmentpos.c, segmentpos.h, snap.c, snapgenerate.c, snapindex.c, stage1.c, stage1.h: Changed offset reads from a database to a structure read from a flat file. * get-genome.c: Added -U flag to generate unmasked sequences. 2002-10-09 twu * offset.c, offset.h: Renamed files from offset.* to offsetdb.h * gmap.c, snap.c: Implemented print_details. * stage1.c, stage1.h: Implemented print_details. Fixed problem where dominated bounds were not being eliminated. * stage2.c: Increased the peelback to identify introns. Added debugging statements. * align.c: Fixed greediness for finding introns. Removed gap penalty and reward for intron. Instead, implemented a tie breaker for scores based on genomic distance. Increased the peelback to identify introns. * align.c, block.c, gmap.c, match.c, match.h, result.c, result.h, snap.c, stage1.c, stage1.h, stage2.c: Changed stage 1 of algorithm to find bounds using 5' and 3' hits. 2002-10-08 twu * Makefile, pair.c, pair.h, stage2.c: Changed goodness to be differences of matches and mismatches. 2002-10-07 twu * dynprog.c: Changed recursive functions of traceback and scoreback to be iterative. * gmap.c, snap.c, stage2.c: Added check for large query gaps and avoided doing dynamic programming on those. Also added check for allpaths being NULL from stage 2. * align.c: Toggled DEBUG. * Makefile, gmap.c, snap.c, stage2.c, stage2.h: Added ability to print alignment summaries only. * pair.c: Ignored N's in computing percent identity. * Makefile, pair.c, pair.h, stage2.c: Added number of exons to calculations and output. * gmap.c, snap.c, stage2.c, stage2.h: Made alignment procedure the default. Now sorting paths based on the goodness of the alignment. * pair.c, pair.h, stage2.c: Removed npairs from some parameter lists. * pair.c, pair.h, stage2.c, stage2.h: Added calculation for goodness, based on percent identity. * gmap.c, match.c, pair.c, pair.h, result.c, segmentpos.c, segmentpos.h, snap.c, stage2.c, stage2.h: Now printing endpoints based on alignments, if available. * list.c: Fixed bug in List_last. * list.c, list.h: Added a List_last procedure. * Makefile, gmap.c, match.c, match.h, result.c, result.h, snap.c, stage1.c, stage1.h, stage2.c, stage2.h: Created a Stage2_T object and reorganized calculations, in preparation for using the alignments to rank the results. * Makefile, gmap.c, snap.c: Added parameter for maxaligns, the maximum number of alignments to print. * dynprog.c: Fixed read of unallocated hash. * align.c: Fixed read of uninitialized variable. * align.c, dynprog.c, pair.c, pair.h, stage2.c: Added ability to recognize introns in revcomp direction, and to print correct indices for Crick strand matches. * match.c, result.c: Simplified use of zerobasedp. * gmap.c, snap.c, stage1.c, stage1.h, stage2.c, stage2.h: Changed variable names to distinguish between hashsize and indexsize. 2002-10-06 twu * dynprog.c, genome.c, stage2.c: Fixed errors with the sequence and genomic indices. * stage1.c: Removed list reversal to match new scheme for doing stage 1 dynamic programming. * align.c, pair.c: Enhanced debugging information. * align.c: Revised code to make sure that we don't pick unwanted paths after the first. We set the usedp flags and recompute dynamic programming on subsequent rounds to avoid using those results. This should affect only stage 1, because maxpaths equals 1 on stage2. * align.c: Removed gappenalty for stage 1 computation. This was causing problems with multiple paths for HER2. * pair.c, pair.h, stage2.c: Added procedure for summary of exons. * gmap.c, snap.c: Made printout slightly better. * match.c, result.c: Fixed miscount on number of matches. * pair.c: No change. * genome.c, genome.h: Added modules to retrieve genome sequences. * dynprog.c: Minor restructuring of procedures. * dynprog.c: Fixed coordinates in gap. Changed gap output for non-introns. * pair.c: Added printing of rulers in alignments. * stage2.c: Fixed memory leaks. * dynprog.c: Fixed major problem in paired gap assessments. Need to subtract, not add, the entry in the right matrix. * stage2.c: Changed criteria for single and paired gaps, based on a minimum intron length. Created special case for the 3' end. * penalties.c: Changed middle gap penalties to have bigger opening and smaller extend penalties. * dynprog.c, dynprog.h: Changed concepts from short and long gaps to single and paired gaps. * stage2.c: Added peelback procedure to help identify correct intron. Otherwise, the greedy oligo matching procedure can mask the intron boundaries. * dynprog.c: Fixed bug for traceback on longgap, where we didn't start from the lower right cell. * align.c, stage2.c: Increased size of stage 2 oligos from 8 to 10. 2002-10-05 twu * align.c, gmap.c, oligoindex.c, oligoindex.h, snap.c, stage2.c, stage2.h: Added ability to limit maxentries in stage 2. * dynprog.c: Changed alignment character for dynamic programming to help with debugging. * dynprog.c, stage2.c: Implemented dynamic programming across long gaps. * dynprog.c: Reordered priorities in traceback to be (1) continue in same direction, (2) diagonal, (3) vertical, and (4) horizontal. * dynprog.c, dynprog.h, penalties.c, penalties.h, stage2.c: Cleaned up dynamic programming code for the three cases of FIVE, MIDDLE, and THREE. Added stub for dynamic programming of long gaps. * pair.c, pair.h, stage2.c: Made improvements to the alignment output. * gmap.c, match.c, pair.c, pair.h, result.c, snap.c, stage2.c: Added improvements to the alignment output. * stage2.c: Added code to handle the 5' end properly. * penalties.c: Changed some values for the penalty parameters. * dynprog.c: Changed opening penalties to not include the extension. Added special procedures for 5' and 3' ends of sequence, essentially implementing part of Smith-Waterman on each end. Added special cases in traceback for 5' and 3' ends, but may not be necessary in light of the other changes. 2002-10-04 twu * stage2.c: Added querypos and genomepos to the Pair object. Reorganized various functions. * pair.c, pair.h: Added querypos and genomepos to the Pair object. * reader.h: Added another option to cDNAEnd_T. * align.c: Fixed the precise bounds around an intron. * Makefile, dynprog.c, dynprog.h, penalties.c, penalties.h: Added penalties object. Provided ability to specify different penalties for left, middle, and right part of sequence. * stage2.c: Moved printing procedure to another file. Fixed small bug that caused us to miss printing a base. * pair.c, pair.h: Removed printing of loci names from alignment. * Makefile, align.c, dynprog.c, dynprog.h, pair.c, stage2.c: Added dynamic programming routine to take care of small gaps. * Makefile, align.c, align.h, gmap.c, match.c, match.h, matrix.c, matrix.h, oligoindex.c, oligoindex.h, pair.c, pair.h, path.c, path.h, penalties.c, penalties.h, reader.c, reader.h, result.c, result.h, snap.c, stage1.c, stage1.h, stage2.c, stage2.h: Major change to algorithm to have two stages: one using hash table (24-mers) and another using an index table (8-mers). Still need to incorporate a dynamic programming step for gaps in the final alignment. 2002-10-02 twu * whats_on: Changed program to work with new data directory for alignment results. * gmap.c, snap.c: Fixed problem where intronlen == 0. Now requiring intronlen > 0. Added extra carriage return when zero paths found. 2002-09-28 twu * Makefile: Reduced number of object files used in SNAP. * get-genome.c: Fixed use of fscanf to match the .chromosome and .contig file format. * path.c: Simplified call to Path_compute to eliminate scoremat. 2002-09-27 twu * path.h: Simplified call to Path_compute to eliminate scoremat. * penalties.c, penalties.h: Added procedure to create a default penalties object. * match.c, result.c: Added line for number of matches. * gmap.c, snap.c: Fixed bug where resultlist was uninitialized. Allowed resultstring of 0. Simplified call to Path_compute. * whats_on: Added -R flag for release number. 2002-09-25 twu * intlist.c, intlist.h, scoremat.c, scoremat.h: No longer need Intlist_T or Scoremat_T. * Makefile, gmap.c, path.c, path.h, snap.c: Removing Sequence_T. Using char * instead to represent sequences. * reader.c, reader.h: Added Reader_pointer function. * penalties.c: Using CALLOC/FREE macros. * gmap.c, snap.c: Inadvertent commit. Adding routines to perform nucleotide-level dynamic programming. * ring.c, ring.h: Removed Ring_T. Apparently not used by other seqalign files. * path.c, path.h: Premature commit. Adding routines to analyze only submatrices. * intlist.c, matrix.c, scoremat.c: Using CALLOC/FREE macros. * Makefile: Adding files from seqalign. * intlist.c, intlist.h: Added files from seqalign to do nucleotide-level dynamic programming. * get-genome.c: Added flag for release string. Changed type of positions from long to unsigned int. * offset.c, offset.h, offsetdb.c, offsetdb.h: Added datadir to Offset_read_file. * match.c, match.h, result.c, result.h: Added Result_path command. * gmapindex.c, snapgenerate.c, snapindex.c: Simplified strcpy/strcat calls to sprintf. * matrix.c, matrix.h, penalties.c, penalties.h, ring.c, ring.h, scoremat.c, scoremat.h: Added to program for doing nucleotide-level dynamic program. Taken from seqalign. * path.c: Inadvertent commit. Still editing. * path.c, path.h: Added to program for doing nucleotide-level dynamic program. Taken from seqalign. 2002-09-24 twu * gmapindex.c, segmentpos.c, segmentpos.h, snapindex.c: Added superaccessions to accsegmentpos_db. 2002-09-23 twu * radixsort.c: Fixed syntax error when monitoring is turned off. * Makefile, radixsort.c: Added monitoring routine for radix sort. 2002-09-19 twu * snapgenerate.c: Removed debug line. * gmapindex.c, snapindex.c: Added option for using lowercase characters. 2002-09-18 twu * Makefile, snapgenerate.c: Added program snapgenerate, to create text .chromosome, .contig, and .chromosome files. * gmapindex.c, snapindex.c: Clarified the variable auxfile. * gmapindex.c, snapindex.c: Clarified the variable dbroot. 2002-09-17 twu * oligo.c: Made comment to explain Third Degree warning. * Makefile, block.c, block.h, gmap.c, match.c, match.h, reqpost.c, reqpost.h, result.c, result.h, snap.c: Made changes to sample query sequence at a test interval and perform dynamic programming. 2002-09-16 twu * endpoints.c, endpoints.h: Removed from source. 2002-09-13 twu * block.c: Changed debug flag. * Makefile: Changed C compiler flags. * gmap.c, snap.c: Changed default directory to be in /usr/seqdb2_nb. 2002-08-30 twu * endpoints.c, gmap.c, match.c, match.h, result.c, result.h, snap.c: Made changes to facilitate garbage collection, including adding a matchedp flag to results, and putting singleton results into an endpoint. * block.c: Changed debug messages. * endpoints.c, endpoints.h: Changed print routine. Added code for query length. * gmap.c, snap.c: Added consolidation of endpoints, and ranking of those to generate a single result. * block.c, match.c, oligo.c, result.c, segmentpos.c: Added debug macros. * endpoints.c, endpoints.h: Added commands for sorting endpoints and testing for adjacency. * reader.c: Fixed test when startptr == endptr. * gmap.c, snap.c: Implemented divide-and-conquer strategy on query sequence. 2002-08-28 twu * gmapindex.c, snapindex.c: Turned off printing of subaccession messages. 2002-08-22 twu * gmapindex.c, snapindex.c: Added timing statistics. * block.c, oligo.c: Fixed coordinate calculations. May need to check. * gmapindex.c, snapindex.c: Added dump function. * radixsort.c, radixsort.h: Changed accessor function to get a character rather than a pointer. Fixed algorithm for case where byte equals strlen. * cell.c, cell.h: Changed accessor function to get a character rather than a pointer. * Makefile, rsort-check.c, rsort-test.c: Added a test and check routine for radixsort. * Makefile, gmapindex.c, snapindex.c: Removed unnecessary files for snapindex. * Makefile, block.c, block.h, endpoints.c, endpoints.h, gmap.c, match.c, match.h, offset.c, offsetdb.c, oligo.c, oligo.h, readcirc.c, reader.c, reader.h, request.h, result.c, result.h, snap.c: Major change to implement divide-and-conquer strategy. 2002-08-21 twu * read.c, read.h: Changed name of file from read.c to readcirc.c * block.c, block.h, endpoints.c: Partial changes to implement divide-and-conquer strategy. * gmapindex.c, snapindex.c: Improved diagnostic messages. * Makefile, gmapindex.c, offset.c, offsetdb.c, radixsort.c, radixsort.h, read.c, readcirc.c, segmentpos.c, snapindex.c: Fixed minor compiler warnings. * cell.c: Using pointers rather than lists to store multiple positions for an oligo. Fixed quicksort compare function accordingly. * gmapindex.c, snapindex.c: Using pointers rather than lists to store multiple positions for an oligo. * radixsort.c: Added small speed hacks. * Makefile: Added quicksort as an option. * Makefile, cell.c, cell.h, gmapindex.c, radixsort.c, radixsort.h, snapindex.c: Added radix sort as a replacement for quicksort. 2002-08-20 twu * oligo.c: Fixed key_size for partial bytes. * gmapindex.c, snapindex.c: Changed location of oligo file to be in dbenv directory, not a subdirectory. 2002-08-15 twu * Makefile, block.c, block.h, gmap.c, gmapindex.c, oligo.c, oligo.h, request.c, request.h, snap-withenv.c, snap.c, snapindex.c: Made changes to accommodate sizes less than 32-mers. * gmap.c, match.c, match.h, offset.c, offset.h, offsetdb.c, offsetdb.h, result.c, result.h, snap.c: Added ability to read chromosome information from file, but not done by default right now. 2002-08-11 twu * Makefile, block.c, block.h, dpentry.c, dpentry.h, endpoints.c, endpoints.h, gmap.c, match.c, match.h, result.c, result.h, snap.c: Changed algorithm to work inward from both ends and find a single match. * Makefile, gmapindex.c, snapindex.c: Fixed program to handle cases where interval is less than size. 2002-07-19 twu * segmentpos.c: Changed type of querylen. * whats_on: Changed suffix for db filenames. * iit-read.c, iit.c, interval-read.c, interval-read.h, interval.c, interval.h: Changed binary storage format to be a single file. * get-genome.c: Changed input format to accept a single string. 2002-07-13 twu * iit_get.c: Added ability to query symbolic db. * iit_get.c: Fixed bugs in the algorithm. * iit_get.c: Allowed user to specify a single point, rather than an interval. * iit_store.c: Added an output message when Berkeley DB file is done. 2002-07-12 twu * iit_get.c, iit_store.c: Integrated interval tree into db_load/retrieve_endpoints. * Makefile, basic.h, iit-read.c, iit.c, interval-read.c, interval-read.h, interval.c, interval.h: Rewrote interval tree to handle interval queries and to write tree to and read tree from files. 2002-07-11 twu * basic.h, iit-read.c, iit.c: Added code for integer interval trees from Edelsbrunner's alpha shapes. * get-genome.c: Added ability to convert a single coordinate. * prb.c: Fixed minor typos. * prb.c, prb.h: Revised format and separated interface from implementation. * prb.c, prb.h: Added routines for red-black trees with parent pointers from libavl 2.0 * dpentry.c: Changed criterion to consider query coverage. * endpoints.c: Fixed problem with negative relative positions. 2002-07-10 twu * endpoints.c, endpoints.h, gmap.c, snap.c: Revised output format of SNAP. Coordinates are now given for each accession. * gmap.c, offset.c, offset.h, offsetdb.c, offsetdb.h, snap.c: Revised chromosome dump procedure to print lengths as well as offsets. * Makefile, add-chrpos-to-endpoints.c: Added program for adding chromosomal position to endpoints. 2002-07-09 twu * whats_on: Modified program to work with new version of SNAP. * dpentry.c, gmap.c, match.c, match.h, result.c, result.h, snap.c: Restored nleads as a criterion in dynamic programming. Added features to help with debugging. * Makefile, get-genome.c: Freed get-genome from using BerkeleyDB databases, which are too slow to open. 2002-07-08 twu * get-genome.c: Added ability to report coordinates. * iit_get.c: Added check for zero matches. * whats_on: Preliminary changes (inadvertent checkin). * Makefile, get-genome.c: Created get-genome program. * accpos.c: Added offset for chromosomes. * accpos.c, database.c, database.h, gmap.c, gmapindex.c, snap.c, snapindex.c: Changed location of data files. 2002-07-07 twu * iit_get.c: Fixed bug with testing dumpp. 2002-07-06 twu * endpoints.c, endpoints.h, match.c, result.c: Added check for boomerang paths, where the genomic length is 0. * whats_on: Added whats_on from ../snap. * spidey_compress.pl: Added meta-level compression. 2002-07-05 twu * spidey_compress.pl: Added spidey_compress.pl from ../snap. * iit_get.c: Added dump utility. * iit_get.c, iit_store.c: Added programs for storing and retrieving records based on endpoints. 2002-07-04 twu * sim4_uncompress.pl: Added retrieval function for get-genome. * sim4_compress.pl, sim4_uncompress.pl: Added further compression by counting repeated tokens. * sim4_compress.pl, sim4_uncompress.pl, util: Added sim4 compression/uncompression routines from snap CVS archive. * dpentry.c, match.c, result.c: Changed from using slopes (quotients) to intron measurements (differences). 2002-07-03 twu * endpoints.c, gmap.c, snap.c: Changed output slightly, e.g., en-dash for number ranges. * Makefile, accpos.c: Created program accpos, for finding genomic position of accessions. * segmentpos.c, segmentpos.h: Added procedure for finding partially matching accessions. * gmapindex.c, snapindex.c: Made creation of aux-only database faster. * gmap.c, snap.c: Fixed small bug in error message. * segmentpos.c, segmentpos.h: Made Segmentpos_print extern. * database.c: Changed accsegmentpos_db from hash to B-tree. * database.c, database.h, gmap.c, gmapindex.c, snap.c, snapindex.c: Merged two database procedures. * segmentpos.c, segmentpos.h: Added procedure for reading from accsegmentpos_db. * Makefile, cell.c, cell.h, database.c, database.h, endpoints.c, endpoints.h, gmap.c, gmapindex.c, segmentpos.c, segmentpos.h, snap.c, snapindex.c: Added another database, from accession name to segmentpos, and renamed databases. * Makefile, block.c, block.h, gmap.c, snap.c: Added specification for minimum separation between leads. 2002-07-02 twu * Makefile: Removed segmentpos dump flag from db.test * endpoints.c, endpoints.h, gmap.c, snap.c: Changed to 1-based coordinates as default. * gmapindex.c, snapindex.c: Removed segment dump, because it can be performed by snap. * gmap.c, snap.c: Added several command-line options. * segmentpos.c, segmentpos.h: Enhanced dump procedure to report absolute genomic positions. * match.c, match.h, result.c, result.h: Storing signed genome_coverage into dpentry and checking for impossible slopes (< 0.9). * offset.c, offset.h, offsetdb.c, offsetdb.h: Added dump procedure. * endpoints.c: Added printing of subaccessions for Celera genome. Added commas to output of positions. Changed dominated function to look for any overlap instead of complete coverage. * Makefile, dpentry.c, dpentry.h: Changed comparison function to use slopes. * chrnum.c: Added check for uninitialized chromosome. 2002-07-01 twu * block.h, buffer-thread-attempt.c, buffer-thread-attempt.h, buffer.c, buffer.h, dbentry.c, dbentry.h, entry.c, entry.h, hits.c, hits.h, oligo.c, sort.c, sort.h, table.c, table.h: Removed unused files. * Makefile, block.c, block.h, database.c, database.h, endpoints.c, endpoints.h, gmap.c, gmapindex.c, hash-oligos.c, hit.c, hit.h, match.c, match.h, oligo.c, oligo.h, request.c, request.h, result.c, result.h, scan.c, scan.h, segmentpos.c, snap.c, snapindex.c: Changed oligo_db from BerkeleyDB to PureDB. Created object for endpoints. Removed unused files. 2002-06-30 twu * gmap.c, segmentpos.c, segmentpos.h, snap.c: Added genomic position to the output. 2002-06-29 twu * gmap.c, match.c, result.c, snap.c: Fixed memory leaks. * block.c, block.h, dpentry.c, dpentry.h, gmap.c, match.c, match.h, request.c, request.h, result.c, result.h, snap.c: Added minimum spanning tree. Version appears to work well. * Makefile, block.c, block.h, dpentry.c, dpentry.h, gmap.c, match.c, match.h, request.c, request.h, result.c, result.h, snap.c: Early version of dynamic programming that stores H best paths at each hit. 2002-06-28 twu * gmap.c, match.c, match.h, result.c, result.h, segmentpos.c, snap.c: Added simple dynamic programming and best pair techniques. * Makefile, block.c, block.h, database.c, database.h, gmap.c, gmapindex.c, match.c, match.h, oligo.c, oligo.h, reqpost.c, request.c, request.h, result.c, result.h, snap.c, snapindex.c: Implemented working version of snap that uses multiple oligo_dbs with requests and strings results together from 5' and 3' ends. * commafmt.c, commafmt.h: Added source code for adding commas to numbers. 2002-06-25 twu * Makefile: Added specification of directory for dbenv. * database.c, gmapindex.c, snapindex.c: Added provisions for transactions, to try to speed up build of database. 2002-05-29 twu * gmapindex.c, snapindex.c: Allowed the user to specify a directory for the BerkeleyDB environment. 2002-05-28 twu * Makefile, gmapindex.c, segmentpos.c, snapindex.c: Added specification of segmentfile as flag -g. * Makefile, database.c, database.h, gmapindex.c, snapindex.c: Removed genome_db and delta_db from snapindex. * Makefile, gmapindex.c, segmentpos.c, segmentpos.h, snapindex.c: Added ability to dump segments (in order) from segmentpos_db * Makefile: Changed flags for C compiler. * segmentpos.c: Added check to get previous segment only in some cases. 2002-05-22 twu * Makefile, gmap.c, oligo.c, oligo.h, read.c, read.h, readcirc.c, readcirc.h, scan.c, scan.h, segmentpos.c, segmentpos.h, snap.c: Working version of snap using a scan of genomic and delta information. * Makefile, cell.c, cell.h, database.c, database.h, gmap.c, gmapindex.c, hit.c, hit.h, offset.c, offset.h, offsetdb.c, offsetdb.h, oligo.c, oligo.h, scan.c, scan.h, snap.c, snapindex.c, table.c, table.h: Made changes to store delta position of genomic oligos and to store oligos of query sequence. 2002-05-08 twu * Makefile, database.c, database.h, gmap.c, gmapindex.c, hash-oligos.c, snap.c, snapindex.c: Consolidated sample-oligos and hash-oligos into snapindex. Specified oligo dbtype by using Berkeley DB constants. 2002-05-03 twu * Makefile, cell.c, cell.h, database.c, database.h, hit.c, read.c, readcirc.c, sample-oligos.c: Separated database commands for oligos from the other database (aux). 2002-04-26 twu * Makefile, gmap.c, hit.c, oligo.c, read.c, readcirc.c, snap.c: Removed environment. Began implementation of dynamic programming. * Makefile, chrnum.c, chrnum.h, database.c, database.h, gmap.c, hash-oligos.c, hit.c, hit.h, offset.c, offset.h, offsetdb.c, offsetdb.h, oligo.c, oligo.h, read.c, read.h, readcirc.c, readcirc.h, snap.c: Re-implementation of SNAP using new database created by hash-oligos. 2002-04-24 twu * segmentpos.c, segmentpos.h: Handled problems with chromosome string to integer conversions. * hash-oligos.c: Handled problems with chromosome string to integer conversions. Rearranged calls to db->open so that each db is opened only once. * Makefile, btree.c, btree.h, hash-oligos.c, hash.c, hash.h, oligo.c, oligo.h: Consolidated code into fewer files. * Makefile: Changed CFLAGS to optimize speed. * cell.h: Matched up .h file with .c file. * Makefile, genomicpos.c, genomicpos.h, hash-oligos.c, segmentpos.c, segmentpos.h: Now storing genomic locations as global positions, which require keeping track of chromosomal offsets. * Makefile, btree.c, btree.h, cell.c, cell.h, entry.c, entry.h, genomicpos.c, genomicpos.h, hash-oligos.c, sample-oligos.c: Major change to allow B-trees, to avoid storing adjacent oligos, to store genomic positions, and to write oligos in binary format. 2002-04-22 twu * Makefile, assert.c, assert.h, block.c, block.h, bool.h, buffer-thread-attempt.c, buffer-thread-attempt.h, buffer.c, buffer.h, cksum-fa.c, cksum.c, dbentry.c, dbentry.h, entry.c, entry.h, except.c, except.h, gmap.c, hash-oligos.c, hash-test.c, hash.c, hash.h, hits.c, hits.h, list.c, list.h, match.c, match.h, mem.c, mem.h, oligo.c, oligo.h, read.c, read.h, readcirc.c, readcirc.h, reqpost.c, reqpost.h, request.c, request.h, result.c, result.h, sample-oligos.c, snap-withenv.c, snap.c, sort.c, sort.h, src: Initial import into CVS. 2000-05-09 paf * config, cvswrappers, loginfo, modules: initial checkin * CVSROOT, checkoutlist, commitinfo, editinfo, notify, rcsinfo, taginfo, verifymsg: initial checkin * branches, tags, trunk: Standard project directories initialized by cvs2svn. gmap-2015-12-31/COPYING0000644002622600023770000000325012567632010011021 00000000000000Copyright (c) 2005-2011 Genentech, Inc. All rights reserved. The Developer of this software is Thomas D. Wu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Package"), to use, copy, and distribute copies of the Package, without modifications, provided that the above copyright notice and this permission notice are included in all copies or substantial portions of the Package. Distribution of this Package as part of a commercial software product requires prior arrangement with the Developer. Permission is also hereby granted, free of charge, to any person obtaining a copy of this Package, to modify your copy or copies of the Package or any portion of it, provided that you use the modified Package only within your corporation or organization. Distribution of a modified version of this Package requires prior arrangement with the Developer. Genome databases, map files, and other result files produced as output from software in this Package do not automatically fall under the copyright of this Package, but belong to whoever generated them, and may be distributed freely. IN NO EVENT SHALL GENENTECH, INC. BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR OTHER LIABILITY, INCLUDING LOST PROFITS, ARISING FROM THE USE OF THIS SOFTWARE. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. GENENTECH, INC. HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. gmap-2015-12-31/VERSION0000644002622600023770000000001212654517022011031 000000000000002015-12-31gmap-2015-12-31/README0000644002622600023770000017673312567632064010700 00000000000000 0. Availability ============ The source code for this package is available from http://research-pub.gene.com/gmap. License terms are provided in the COPYING file. 1. Building and installing GMAP and GSNAP ========================================== Prerequisites: a Unix system (including Cygwin on Windows), a C compiler, and Perl Step 1: Set your site-specific variables by editing the file config.site. In particular, you should set appropriate values for "prefix" and probably for "with_gmapdb", as explained in that file. If you are compiling this package on a Macintosh, you may need to edit CFLAGS to be CFLAGS = '-O3 -m64' since Macintosh machines will make only 32-bit executables by default. Step 2: Build, test, and install the programs, by running the following GNU commands ./configure make make check (optional) make install Note 1: Instead of editing the config.site file in step 1, you may type everything on the command line for the ./configure script in step 2, like this ./configure --prefix=/your/usr/local/path --with-gmapdb=/path/to/gmapdb If you omit --with-gmapdb, it defaults to ${prefix}/share. If you omit --prefix, it defaults to /usr/local. Note that on the command line, it is "with-gmapdb" with a hyphen, but in a config.site file, it is "with_gmapdb" with an underscore. Note 2: If you want to keep your version of config.site or have multiple versions, you can save the file to a different filename, and then refer to it like this ./configure CONFIG_SITE= Note 3: GSNAP is designed for short reads of a limited length, and uses a configure variable called MAX_READLENGTH (default 300) as a guide to the maximum read length. You may set this variable by providing it to configure like this ./configure MAX_READLENGTH= or by defining it in your config.site file (or in the file provided to configure as the value of CONFIG_SITE). Or you may set the value of MAX_READLENGTH as an environment variable before calling ./configure. If you do not set MAX_READLENGTH, it will have the default value shown when you run "./configure --help". Note that MAX_READLENGTH applies only to GSNAP. GMAP, on the other hand, can process queries up to 1 million bp. Also, starting with version 2014-08-20, if your C compiler can handle stack-based memory allocation using the alloca() function, GSNAP ignores MAX_READLENGTH, and can handle reads longer than that value. Note 4: GSNAP can read from gzip-compressed FASTA or FASTQ input files. This feature requires the zlib library to be present (available from http://www.zlib.net). The configure program will detect the availability of zlib automatically. However, to disable this feature, you can add "--disable-zlib" to the ./configure command or edit your config.site file to have the command "disable_zlib". Note 5: GSNAP can read from bzip2-compressed FASTA or FASTQ input files. This feature requires the bzlib library to be present. The configure program will detect the availability of bzlib automatically. However, to disable this feature, you can add "--disable-bzlib" to the ./configure command or edit your config.site file to have the command "disable_bzlib". 2. Possible issues during compilation ====================================== Recent versions of GMAP and GSNAP use certain techniques to achieve increased speed. One of these techniques is special SIMD (single-instruction, multiple data) instructions that can perform some computations in parallel. There are various levels of SIMD instructions, and we use those from the SSE2 and SSE4.1 instruction sets. Most computers built within the last 10 years should support SSE2 at least. However, you may run into the following issues: Compiler issue 1. If you compile the code successfully, but when you run the program, you see something that says "Illegal instruction", then you must be running GMAP or GSNAP on a different computer than the one where you compiled it. You may be using a computer cluster with a variety of different computer models. Each time you start GMAP or GSNAP, the program tests to see if the computer can run the same set of SSE2 or SSE4.1 instructions as were available when the programs were compiled. (The programs also check for if the popcnt instructions work, but popcnt is so widely implemented that they generally do not cause any problems.) In that case, you may need to compile your program for the lowest common denominator by by providing --disable-avx, --disable-sse4.1, or --disable-sse2 to ./configure as necessary. Alternatively, your computer cluster may have the ability to detect the capabilities of each computer when it receives a job. Then, you may want to create different compiled versions of GMAP and GSNAP, and call the appropriate binary for that particular job. You will have to work with your system administrator if you want to accomplish this. Compiler issue 2. The most recent versions of GSNAP (starting with 2013-10-01) build a suffix array to help with speed. If your computer does not have sufficient RAM, it is possible that the gmap_build step fails after printing something like this: SACA_K called with n = 3095693984, K = 5, level 0 If this happens, you either need to find a computer with more RAM, or you can build a genome without a suffix array, by providing --no-sarray to gmap_build. The GSNAP program will still work with the resulting genome index, but it won't achieve optimal speed. GMAP does not use the suffix array at all. Also, large genomes of over 4 billion bp also will not create or use a suffix array. 3. Downloading a pre-built GMAP/GSNAP database =============================================== A GMAP/GSNAP "database" is a set of genomic index files, representing the genome in a hash table format. You can use the gmap_build program to build your own database (as described below), but you can started quickly by downloading a pre-built GMAP/GSNAP database from the same place you obtained the GMAP program (see above for URL). Place the database in the GMAPDB directory you specified in the config.site file when you built the gmap program. You should include a subdirectory for each GMAP database; for example, if you downloaded a database called , your directory structure should look like this /path/to/gmapdb// /path/to/gmapdb//.chromosome /path/to/gmapdb//.chromosome.iit ... /path/to/gmapdb//.version Note that the GMAP database format has changed with the 2013-10-01 release to add a suffix array and other new file formats. However, GMAP and GSNAP are both backwards and forwards compatible, meaning that new source code will work with older genome indices and that old source code will work with newer genome indices. Mixing up the two, though, will result in slower running speed. To achieve optimal speed, you should use both the latest source code and rebuild your genome indices with the latest gmap_build program. You can tell if your database has the most recent format if it has files of the type .sarray, .ref12153bitpackptrs, and .ref12153bitpackcomp. Note that the hg19 database provided on the Web site lacks the suffix array, although GMAP and GSNAP will work fine, albeit more slowly. The suffix array for hg19 requires 15 GB of disk space. If you want the suffix array, you will have to build it yourself, as discussed in the next section. 4. Setting up to build a GMAP/GSNAP database (one chromosome per FASTA entry) ============================================================================== You can also build your own genomic database, using the gmap_build program provided with this package. (Note: the gmap_setup method from older versions is no longer provided or supported.) Previous versions limited the total sequence length in your database to 2^32 = 4,294,967,296 (about 4 billion) bp. However, starting with version 2013-04-01, a total "genome" may now contain up to 2^64 bp. However, each individual chromosome is still limited to 2^32 bp. The utility programs below will automatically recognize when a genome is larger than 2^32 bp and build the index files accordingly. Below I use the "genome" and "chromosome", but the input sequences can be anything you wish to align to, including transcripts or small fragments. You will need to start with a set of FASTA files containing either entire chromosomes or contigs that represent pieces of chromosomes. For example, for the human genome, you can retrieve all of the FASTA files under the ftp directory at ftp://hgdownload.cse.ucsc.edu/goldenPath/hg19/chromosomes/ If your FASTA entries each contain a single chromosome, and the accession for each chromosome is the chromosome number/letter, you can simply run this command gmap_build -d [-k ] which will build and install the GMAP index files in your default GMAPDB location. You can see the full usage of gmap_build by doing "gmap_build --help", but here are some useful flags. If your FASTA files are compressed using gzip, you can add the flag "-g" to gmap_build. You can control the k-mer size for the genomic index with the -k flag, which can range from 12 to 15. The default value for -k is 15, but this requires your machine to have 4 GB of RAM to build the indices. If you do not have 4 GB of RAM, then you will need to reduce the value of -k or find another machine. Here are the RAM requirements for building various indices: k-mer of 12: 64 MB k-mer of 13: 256 MB k-mer of 14: 1 GB k-mer of 15: 4 GB These are the RAM requirements for building indices, but not to run the GMAP/GSNAP programs once the indices are built, because the genomic indices are compressed. For example, the genomic index for a k-mer of 15 gives a gammaptrs file of 64 MB and an offsetscomp file of about 350 MB, much smaller than the 4 GB that would otherwise be required. Therefore, you may want to build your genomic index on a computer with sufficient RAM, and distribute that index to be used by computers with less RAM. The amount of compression can be controlled using the -b or --basesize parameter to gmap_build. By default, the value for k-mer size is 15, and the value for basesize is 12. If you select a different value for k-mer size, then basesize is made by default to be equal to that k-mer size. If you want to build your genomic databases with more than one k-mer size, you can re-run gmap_build with different values of -k. This will overwrite only the identical files from the previous runs. You can then choose the k-mer size at run-time by using the -k flag for either GMAP or GSNAP. Finally, you can provide information to gmap_build that certain chromosomes are circular, with the -c or --circular flag. The value for these flags is a list of chromosomes, separated by commas. The gmap_build program will then allow GSNAP and GMAP to align reads across the ends of the chromosome. For example, the mitochondrial genome in human beings is circular. 5. Setting up to build a GMAP/GSNAP database (more complex cases) ================================================================== If you are indexing a genome, where each chromosome is contained in a separate FASTA entry, or a set of contigs, where the contigs are independent of each other, then you can just skip to section 6. Otherwise, if you have more complicated needs, you may need to add options to gmap_build. Note that the term ... above indicates that multiple files can be listed. The files can be in any order, and the contigs can be in any order within these files. By default, the gmap_build process will sort the contigs and chromosomes into their appropriate "chrom" order. For the human genome, this order is 1, 2, ..., 10, 11, ..., 22, X, Y, M, followed by all other chromosomes in numeric/alphabetical order. If you don't want this sort, provide the "-s none" flag to gmap_build. Other sort options besides "none" and "chrom" are "alpha" and "numeric-alpha". You can type "gmap_build --help" to see the full set of options. We discuss some specific situations below. 5a. Contigs are mapped to chromosomes ====================================== If your FASTA entries consist of contigs, each of which has a mapping to a chromosomal region in the header, you may add the -C (or --contigs-are-mapped) flag to gmap_build, like this gmap_build -d -C ... Then gmap_build will try to parse a chromosomal region from each header. The program knows how to parse the following patterns: chr=1:217281..257582 [may insert spaces around '=', or omit '=' character] chr=1 [may insert spaces around '=', or omit '=' character] chromosome 1 [NCBI .mfa format] chromosome:NCBI35:22:1:49554710:1 [Ensembl format] /chromosome=2 [Celera format] /chromosome=2 /alignment=(88840247-88864134) /orientation=rev [Celera format] chr1:217281..257582 chr1 [may insert spaces after 'chr'] If only the chromosome is specified, without coordinates, the program will assign its own chromosomal coordinates by concatenating the contigs within each chromosome. If gmap_build cannot figure out the chromosome, it will assign it to chromosome "NA". 5b. Using an MD file ===================== Another possibility is that your FASTA entries consist of contigs that mapped to chromosomes, where the mapping information is in an external file. Genomes from NCBI typically include an ".md" file (like seq_contig.md) that specifies the chromosomal coordinates for each contig. To use this information, provide the -M (or --mdfile) flag to gmap_build like this gmap_build -d -M ... The program will then try to parse the mdfile (which often changes formats) and verify with you which columns contain the contig names and chromosomal coordinates. 5c. Compressed FASTA files or files requiring processing ========================================================= If your genome files are compressed using gzip, you can simply add the flag "-g" to gmap_build. But if your genome files require some other type of processing, you may need to write a small script that pipes the sequences in FASTA format to gmap_build. You can tell gmap_build about your script with the -E (or --fasta-pipe) flag, like this gmap_build -d -E 'gunzip -c chr*.gz' gmap_build -d -E 'cat *.fa | ./add-chromosomal-info.pl' You can think of the command as a Unix pipe for processing each FASTA file before it is read by gmap_build. 6. Running GMAP ================ To see the full set of options, type "gmap --help". The following are some common examples of usage. For more examples, see the document available at http://www.gene.com/share/gmap/paper/demo-slides.pdf For each of the examples below, we assume that you have installed a genome database called in your GMAPDB directory. (If your database is located elsewhere, you can specify the -D flag to gmap or set the environment variable GMAPDB to point to that directory.) * Mapping only: To map one or more cDNAs in a FASTA file onto a genome, run GMAP as follows: gmap -d * Mapping and alignment: If you want to map the cDNAs to a genome, and show the full alignment, provide the -A flag: gmap -d -A * Alignment only: To align one or more cDNAs in a FASTA file onto a given genomic segment (also in a FASTA file), use the -g flag instead of the -d flag: gmap -g -A * Batch mode: If you have a large number of cDNAs to run, and you have sufficient RAM to run in batch mode, add the "-B 3", "-B 4", or "-B 5" option. Details for these options are provided by running "gmap --help". gmap -d -B 5 -A * Multithreaded mode: If your machine has several processors, you can make batch mode run even faster by specifying multiple threads with the -t flag: gmap -d -B 5 -A -t Note that with multiple threads, the output results will appear in random order, depending on which thread finishes its computation first. If you wish your output to be in the same order as the input cDNA file, add the '-O' (letter O, not the number 0) flag to get ordered output. Guidelines: The -t flag specifies the number of computational threads. In addition, if your machine supports threads, GMAP also uses one thread for reading the input query sequences, and one thread for printing the output results. Therefore, the total number of threads will be 2 plus the number you specify. The program will work optimally if it uses one thread per available processor. If you specify too many threads, you can cause your computer to thrash and slow down. Note that other programs running on your computer also need processors. * Compressed output: If you want to store the alignment results in a compressed format, use the -Z flag. You can uncompress the results by using the gmap_uncompress.pl program: gmap -d -Z > x cat x | gmap_uncompress Note that gmap is written for small genomes (less than 2^32 bp in total length). With large genomes, there is an equivalent program called gmapl, which you should run instead of gmap. The gmapl program is equivalent to gmap, and is based on the same source code, but is compiled to use 64-bit index files instead of 32-bit files. The gmap and gmapl programs will detect whether the genomes are the correct size, and will exit if you try to run them on the wrong-sized genomes. 7. Building map files ====================== This package includes an implementation of interval index trees (IITs), which permits efficient lookup of interval information. The gmap program also allows you (with its -m flag) to look up pre-mapped annotation information that overlaps your query cDNA sequence. These interval index trees (or map files) are built using the iit_store program included in this package. To build a map file, do the following: Step 1: Put your map information for a given genome into a map file with the following FASTA-like format: >label coords optional_tag optional_annotation (which may be zero, one, or multiple lines) For example, the label may be an EST accession, with the coords representing its genomic position. Labels may be duplicated if necessary. The coords should be of the form chr:position chr:startposition..endposition The term "chr:position" is equivalent to "chr:position..position". If you want to indicate that the interval is on the minus strand or reverse direction, then may be less than . Tags are very general and can be used for a variety of purposes. For example, you could Step 2: Run iit_store on this map file as follows cat | iit_store -o The program will create a file called .iit. Now you can retrieve this information with iit_get iit_get .iit where has the format "chr:position" or "chr:startposition..endposition". The iit_get program has other capabilities, including the ability to retrieve information by label, like this: iit_get .iit