From 15d81601c4801114caefa366240805d9c25583af Mon Sep 17 00:00:00 2001 From: profiteroles Date: Sun, 9 Jun 2019 23:53:11 -0700 Subject: [PATCH] 0.7.12.5 --- README.md | 2 +- Yuba.php | 38 +- bin/parallel | 11892 +++++++++++++++++++++++++++++++++++++++++ bin/sox | Bin 0 -> 3190788 bytes filetypes.php | 19 +- functions.pashua.php | 2 +- version.txt | 2 +- web/rtc.php | 56 +- 8 files changed, 11996 insertions(+), 15 deletions(-) create mode 100755 bin/parallel create mode 100755 bin/sox diff --git a/README.md b/README.md index 1a16a8c..cc9b4d6 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ **Yuba** generates a web-browsable SQLite database from an HFS+ filesystem. Its client application gathers forensic-quality data about a locally attached disk, properly interpreting bundles, reading Spotlight data, Finder flags, labels, and other contextual information. It can generate hashes, thumbnails, and gather 3rd party metadata with exiftool and mediainfo. Yuba's filesystem catalogues are comprehensive, lightweight, optimized for massive (1 million+) trees, and reflect incremental changes to contents and metadata. A server-side PHP script is provided, which allows familiar, Finder-style browsing of a catalogue. -* **⇩ [Download Yuba 0.7.12.3](http://www.profiteroles.org/downloads/Yuba_0.7.12.3.zip)** +* **⇩ [Download Yuba 0.7.12.5](http://www.profiteroles.org/downloads/Yuba_0.7.12.5.zip)** ## Features diff --git a/Yuba.php b/Yuba.php index 9b8d572..bfe8713 100755 --- a/Yuba.php +++ b/Yuba.php @@ -84,6 +84,7 @@ $bin_ffmpeg = __DIR__."/bin/ffmpeg"; $bin_qlthumb = __DIR__."/bin/ql-thumbnail"; $bin_qltool = __DIR__."/bin/qltool"; $bin_magick = __DIR__."/bin/magick"; +$bin_sox = __DIR__."/bin/sox"; $bin_pngcrush = __DIR__."/bin/pngcrush"; $bin_vips = "vipsthumbnail"; @@ -535,6 +536,19 @@ $dbo->exec($stmt); $wopt_currstep++; +// Directory Previews +////////////////////////////////////////// + +echo ProgressBar::start(count($fx),"Searching for directory previews (".stepString().")"); + +foreach ($fx as $array) { + $fid = $array[0]; + $pathname = $array[1]; + if (in_array(basename($pathname),$p['p_files'])) { + $dpreview[dirname($pathname)] = $fid; + } + } + // Thumbnails ////////////////////////////////////////// @@ -566,7 +580,7 @@ if ($p['thumbs']) { echo ProgressBar::next("Thumb file found for ".shortlabel($pathname)); continue; } elseif ($dbp->query("SELECT EXISTS(SELECT 1 FROM thumbs WHERE fid='".$fid."')")->fetch()[0]) { - // if no thumb file, then poll database + // if no thumb file, then poll database for prior attempt echo ProgressBar::next("Thumb record found for ".shortlabel($pathname)); continue; } else { @@ -586,16 +600,19 @@ if ($p['thumbs']) { $tmp_path = escapeshellarg("/tmp/".basename($pathname).".png"); // qlmanage workaround $fmt['sips'] = $tfile; + $fmt['sox'] = $tpfile; $fmt['ffmpeg'] = $tfile; $fmt['ql-thumbnail'] = $tfile; $fmt['qltool'] = $tpfile; $fmt['qlmanage'] = $tpfile; $fmt['vips'] = $tfile; + $cmd['sox'] = $bin_sox." ".$shellpath." -n trim 00:10 00:30 spectrogram -o - | ".$bin_magick." convert - -crop 800x515+58+30 -scale 515x515! +dither -colors 16 ".$tpfile; $cmd['sips'] = "sips -s format jpeg -s formatOptions 80 --resampleHeightWidthMax ".$p['thumb_size']." ".$shellpath." --out ".$tfile; $cmd['ffmpeg'] = $bin_ffmpeg." -ss $(( $(".$bin_mediainfo." --Inform='Video;%Duration%' ".$shellpath." | cut -d'.' -f1) / 10000 )) -i ".$shellpath." -vframes 1 -filter:v scale='400:-1' -q:v 3 ".$tfile; $cmd['ql-thumbnail'] = $bin_qlthumb." ".$shellpath." ".$tfile." public.jpeg ".$p['thumb_size']." ".$p['thumb_size']." .8"; - $cmd['qltool'] = $bin_qltool." di ".$shellpath." ".$p['thumb_size']." ".$p['thumb_size']." | base64 --decode | ".$bin_magick." convert - -resize 50% -strip -trim +repage -define png:compression-level=9 ".$tpfile; + //$cmd['qltool'] = $bin_qltool." di ".$shellpath." ".$p['thumb_size']." ".$p['thumb_size']." | base64 --decode | ".$bin_magick." convert - -scale 50% -strip -trim +repage -define png:compression-level=9 ".$tpfile; + $cmd['qltool'] = $bin_qltool." di ".$shellpath." ".$p['thumb_size']." ".$p['thumb_size']." | base64 --decode | ".$bin_magick." convert - -scale 50% -strip -define png:compression-level=9 ".$tpfile; // qltool thumbs are double size with half the pixels // repage crops thumbs to edge (match sips/ffmpeg thumbs) $cmd['qlmanage'] = "qlmanage -ti -f ".floor($p['thumb_size']/128)." -o /tmp/ ".$shellpath."; mv ".$tmp_path." ".$tpfile; @@ -605,6 +622,8 @@ if ($p['thumbs']) { $external_tool = "sips"; } elseif (in_array($ext, $p['t_files']['ffmpeg'])) { $external_tool = "ffmpeg"; + } elseif (in_array($ext, $p['t_files']['sox'])) { + $external_tool = "sox"; } else { $external_tool = null; } @@ -1069,7 +1088,22 @@ foreach ($files as $splFileInfo) { $stmt->BindValue(":thumb_filename",null); } + } elseif ($type == "dir") { + + if (is_array($dpreview) && $dpreview[$pathname]) { + $fetch_thumb = $dbp->query("SELECT * FROM thumbs WHERE fid='".$dpreview[$pathname]."'")->fetch(); + if (@$fetch_thumb['relative_path']) { + $stmt->BindValue(":thumb_filename",$fetch_thumb['relative_path']); + $stmt->BindValue(":thumb_width",$fetch_thumb['width']); + $stmt->BindValue(":thumb_height",$fetch_thumb['height']); + $stmt->BindValue(":thumb_tool",$fetch_thumb['tool']); + } else { + $stmt->BindValue(":thumb_filename",null); + } + } + } + // ------------------------------------------------ // diff --git a/bin/parallel b/bin/parallel new file mode 100755 index 0000000..2f96b4b --- /dev/null +++ b/bin/parallel @@ -0,0 +1,11892 @@ +#!/opt/local/bin/perl + +# Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014,2015,2016, +# 2017,2018 Ole Tange and Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see +# or write to the Free Software Foundation, Inc., 51 Franklin St, +# Fifth Floor, Boston, MA 02110-1301 USA + +# open3 used in Job::start +use IPC::Open3; +# &WNOHANG used in reaper +use POSIX qw(:sys_wait_h setsid ceil :errno_h); +# gensym used in Job::start +use Symbol qw(gensym); +# tempfile used in Job::start +use File::Temp qw(tempfile tempdir); +# mkpath used in openresultsfile +use File::Path; +# GetOptions used in get_options_from_array +use Getopt::Long; +# Used to ensure code quality +use strict; +use File::Basename; + +save_stdin_stdout_stderr(); +save_original_signal_handler(); +parse_options(); +::debug("init", "Open file descriptors: ", join(" ",keys %Global::fd), "\n"); +my $number_of_args; +if($Global::max_number_of_args) { + $number_of_args = $Global::max_number_of_args; +} elsif ($opt::X or $opt::m or $opt::xargs) { + $number_of_args = undef; +} else { + $number_of_args = 1; +} + +my @command = @ARGV; +my @input_source_fh; +if($opt::pipepart) { + if($opt::tee) { + @input_source_fh = map { open_or_exit($_) } @opt::a; + # Remove the first: It will be the file piped. + shift @input_source_fh; + if(not @input_source_fh and not $opt::pipe) { + @input_source_fh = (*STDIN); + } + } else { + # -a is used for data - not for command line args + @input_source_fh = map { open_or_exit($_) } "/dev/null"; + } +} else { + @input_source_fh = map { open_or_exit($_) } @opt::a; + if(not @input_source_fh and not $opt::pipe) { + @input_source_fh = (*STDIN); + } +} +if($opt::sqlmaster) { + # Create SQL table to hold joblog + output + $Global::sql->create_table($#input_source_fh+1); + if($opt::sqlworker) { + # Start a real --sqlworker in the background later + $Global::start_sqlworker = 1; + $opt::sqlworker = undef; + } +} + +if($opt::skip_first_line) { + # Skip the first line for the first file handle + my $fh = $input_source_fh[0]; + <$fh>; +} + +set_input_source_header(); + +if($opt::filter_hosts and (@opt::sshlogin or @opt::sshloginfile)) { + # Parallel check all hosts are up. Remove hosts that are down + filter_hosts(); +} + +if($opt::nonall or $opt::onall) { + onall(\@input_source_fh,@command); + wait_and_exit(min(undef_as_zero($Global::exitstatus),254)); +} + +$Global::JobQueue = JobQueue->new( + \@command,\@input_source_fh,$Global::ContextReplace, + $number_of_args,\@Global::transfer_files,\@Global::ret_files); + +if($opt::pipepart) { + pipepart_setup(); +} elsif($opt::pipe and $opt::tee) { + pipe_tee_setup(); +} + +if($opt::eta or $opt::bar or $opt::shuf or $Global::halt_pct) { + # Count the number of jobs or shuffle all jobs + # before starting any. + # Must be done after ungetting any --pipepart jobs. + $Global::JobQueue->total_jobs(); +} +# Compute $Global::max_jobs_running +# Must be done after ungetting any --pipepart jobs. +max_jobs_running(); + +init_run_jobs(); +my $sem; +if($Global::semaphore) { + $sem = acquire_semaphore(); +} +$SIG{TERM} = \&start_no_new_jobs; +start_more_jobs(); +if($opt::tee) { + # All jobs must be running in parallel for --tee + $Global::start_no_new_jobs = 1; +} elsif($opt::pipe and not $opt::pipepart) { + spreadstdin(); +} +::debug("init", "Start draining\n"); +drain_job_queue(); +::debug("init", "Done draining\n"); +reaper(); +::debug("init", "Done reaping\n"); +if($Global::semaphore) { + $sem->release(); +} +cleanup(); +::debug("init", "Halt\n"); +halt(); + +sub set_input_source_header { + if($opt::header and not $opt::pipe) { + # split with colsep or \t + # $header force $colsep = \t if undef? + my $delimiter = defined $opt::colsep ? $opt::colsep : "\t"; + # regexp for {= + my $left = "\Q$Global::parensleft\E"; + my $l = $Global::parensleft; + # regexp for =} + my $right = "\Q$Global::parensright\E"; + my $r = $Global::parensright; + my $id = 1; + for my $fh (@input_source_fh) { + my $line = <$fh>; + chomp($line); + ::debug("init", "Delimiter: '$delimiter'"); + for my $s (split /$delimiter/o, $line) { + ::debug("init", "Colname: '$s'"); + # Replace {colname} with {2} + for(@command,@Global::ret_files,@Global::transfer_files, + $opt::tagstring, $opt::workdir, $opt::results, $opt::retries) { + # Skip if undefined + $_ or next; + s:\{$s(|/|//|\.|/\.)\}:\{$id$1\}:g; + # {=header1 ... =} => {=1 ... =} + s:$left $s (.*?) $right:$l$id$1$r:gx; + } + $Global::input_source_header{$id} = $s; + $id++; + } + } + } else { + my $id = 1; + for my $fh (@input_source_fh) { + $Global::input_source_header{$id} = $id; + $id++; + } + } +} + +sub max_jobs_running { + # Compute $Global::max_jobs_running as the max number of jobs + # running on each sshlogin. + # Returns: + # $Global::max_jobs_running + if(not $Global::max_jobs_running) { + + for my $sshlogin (values %Global::host) { + $sshlogin->max_jobs_running(); + } + } + return $Global::max_jobs_running; +} + +sub halt { + # Compute exit value, + # wait for children to complete + # and exit + if($opt::halt and $Global::halt_when ne "never") { + if(not defined $Global::halt_exitstatus) { + if($Global::halt_pct) { + $Global::halt_exitstatus = + ::ceil($Global::total_failed / $Global::total_started * 100); + } elsif($Global::halt_count) { + $Global::halt_exitstatus = + ::min(undef_as_zero($Global::total_failed),101); + } + } + wait_and_exit($Global::halt_exitstatus); + } else { + wait_and_exit(min(undef_as_zero($Global::exitstatus),101)); + } +} + +sub __PIPE_MODE__ {} + +sub pipepart_setup { + # Compute the blocksize + # Generate the commands to extract the blocks + # Push the commands on queue + # Changes: + # @Global::cat_prepends + # $Global::JobQueue + if($opt::tee) { + # Prepend each command with + # < file + my $cat_string = "< ".::shell_quote_scalar($opt::a[0]); + for(1..$Global::JobQueue->total_jobs()) { + push @Global::cat_appends, $cat_string; + push @Global::cat_prepends, ""; + } + } else { + if(not $opt::blocksize) { + # --blocksize with 10 jobs per jobslot + $opt::blocksize = -10; + } + if($opt::roundrobin) { + # --blocksize with 1 job per jobslot + $opt::blocksize = -1; + } + if($opt::blocksize < 0) { + my $size = 0; + # Compute size of -a + for(@opt::a) { + if(-f $_) { + $size += -s $_; + } elsif(-b $_) { + $size += size_of_block_dev($_); + } else { + ::error("$_ is neither a file nor a block device"); + wait_and_exit(255); + } + } + # Run in total $job_slots*(- $blocksize) jobs + # Set --blocksize = size / no of proc / (- $blocksize) + $Global::dummy_jobs = 1; + $Global::blocksize = 1 + + int($size / max_jobs_running() / -$opt::blocksize); + } + @Global::cat_prepends = map { pipe_part_files($_) } @opt::a; + # Unget the empty arg as many times as there are parts + $Global::JobQueue->{'commandlinequeue'}{'arg_queue'}->unget( + map { [Arg->new("\0")] } @Global::cat_prepends + ); + } +} + +sub pipe_tee_setup { + # Create temporary fifos + # Run 'tee fifo1 fifo2 fifo3 ... fifoN' in the background + # This will spread the input to fifos + # Generate commands that reads from fifo1..N: + # cat fifo | user_command + # Changes: + # @Global::cat_prepends + my @fifos; + for(1..$Global::JobQueue->total_jobs()) { + push @fifos, tmpfifo(); + } + # cat foo | tee fifo1 fifo2 fifo3 fifo4 fifo5 > /dev/null + if(not fork()){ + # Let tee inherit our stdin + # and redirect stdout to null + open STDOUT, ">","/dev/null"; + exec "tee",@fifos; + } + # For each fifo + # (rm fifo1; grep 1) < fifo1 + # (rm fifo2; grep 2) < fifo2 + # (rm fifo3; grep 3) < fifo3 + # Remove the tmpfifo as soon as it is open + @Global::cat_prepends = map { "(rm $_;" } @fifos; + @Global::cat_appends = map { ") < $_" } @fifos; +} + +sub pipe_part_files { + # Given the bigfile + # find header and split positions + # make commands that 'cat's the partial file + # Input: + # $file = the file to read + # Returns: + # @commands that will cat_partial each part + my ($file) = @_; + my $buf = ""; + if(not -f $file and not -b $file) { + ::error("$file is not a seekable file."); + ::wait_and_exit(255); + } + my $header = find_header(\$buf,open_or_exit($file)); + # find positions + my @pos = find_split_positions($file,$Global::blocksize,length $header); + # Make @cat_prepends + my @cat_prepends = (); + for(my $i=0; $i<$#pos; $i++) { + push(@cat_prepends, + cat_partial($file, 0, length($header), $pos[$i], $pos[$i+1])); + } + return @cat_prepends; +} + +sub find_header { + # Compute the header based on $opt::header + # Input: + # $buf_ref = reference to read-in buffer + # $fh = filehandle to read from + # Uses: + # $opt::header + # $Global::blocksize + # Returns: + # $header string + my ($buf_ref, $fh) = @_; + my $header = ""; + if($opt::header) { + if($opt::header eq ":") { $opt::header = "(.*\n)"; } + # Number = number of lines + $opt::header =~ s/^(\d+)$/"(.*\n)"x$1/e; + while(read($fh,substr($$buf_ref,length $$buf_ref,0),$Global::blocksize)) { + if($$buf_ref=~s/^($opt::header)//) { + $header = $1; + last; + } + } + } + return $header; +} + +sub find_split_positions { + # Find positions in bigfile where recend is followed by recstart + # Input: + # $file = the file to read + # $block = (minimal) --block-size of each chunk + # $headerlen = length of header to be skipped + # Uses: + # $opt::recstart + # $opt::recend + # Returns: + # @positions of block start/end + my($file, $block, $headerlen) = @_; + my $size = -s $file; + if(-b $file) { + # $file is a blockdevice + $size = size_of_block_dev($file); + } + $block = int $block; + # The optimal dd blocksize for mint, redhat, solaris, openbsd = 2^17..2^20 + # The optimal dd blocksize for freebsd = 2^15..2^17 + my $dd_block_size = 131072; # 2^17 + my @pos; + my ($recstart,$recend) = recstartrecend(); + my $recendrecstart = $recend.$recstart; + my $fh = ::open_or_exit($file); + push(@pos,$headerlen); + for(my $pos = $block+$headerlen; $pos < $size; $pos += $block) { + my $buf; + if($recendrecstart eq "") { + # records ends anywhere + push(@pos,$pos); + } else { + # Seek the the block start + seek($fh, $pos, 0) || die; + while(read($fh,substr($buf,length $buf,0),$dd_block_size)) { + if($opt::regexp) { + # If match /$recend$recstart/ => Record position + if($buf =~ /^(.*$recend)$recstart/os) { + # Start looking for next record _after_ this match + $pos += length($1); + push(@pos,$pos); + last; + } + } else { + # If match $recend$recstart => Record position + # TODO optimize to only look at the appended + # $dd_block_size + len $recendrecstart + # TODO increase $dd_block_size to optimize for longer records + my $i = index64(\$buf,$recendrecstart); + if($i != -1) { + # Start looking for next record _after_ this match + $pos += $i + length($recend); + push(@pos,$pos); + last; + } + } + } + } + } + if($pos[$#pos] != $size) { + # Last splitpoint was not at end of the file: add it + push(@pos,$size); + } + close $fh; + return @pos; +} + +sub cat_partial { + # Efficient command to copy from byte X to byte Y + # Input: + # $file = the file to read + # ($start, $end, [$start2, $end2, ...]) = start byte, end byte + # Returns: + # Efficient command to copy $start..$end, $start2..$end2, ... to stdout + my($file, @start_end) = @_; + my($start, $i); + # Convert (start,end) to (start,len) + my @start_len = map { + if(++$i % 2) { $start = $_; } else { $_-$start } + } @start_end; + # This can read 7 GB/s using a single core + my $script = spacefree + (0, + q{ + while(@ARGV) { + sysseek(STDIN,shift,0) || die; + $left = shift; + while($read = + sysread(STDIN,$buf, $left > 131072 ? 131072 : $left)){ + $left -= $read; + syswrite(STDOUT,$buf); + } + } + }); + return "<". shell_quote_scalar($file) . + " perl -e '$script' @start_len |"; +} + +sub spreadstdin { + # read a record + # Spawn a job and print the record to it. + # Uses: + # $Global::blocksize + # STDIN + # $opt::r + # $Global::max_lines + # $Global::max_number_of_args + # $opt::regexp + # $Global::start_no_new_jobs + # $opt::roundrobin + # %Global::running + # Returns: N/A + + if($opt::tee) { + # Spawn all jobs + # read a record + # Write record to all jobs + if(not $Global::JobQueue->empty()) { + ::error("--tee requres --jobs to be higher. Try --jobs 0."); + } + } + + my $buf = ""; + my ($recstart,$recend) = recstartrecend(); + my $recendrecstart = $recend.$recstart; + my $chunk_number = 1; + my $one_time_through; + my $two_gb = 2**31-1; + my $blocksize = $Global::blocksize; + my $in = *STDIN; + my $header = find_header(\$buf,$in); + while(1) { + my $anything_written = 0; + my $buflen = length $buf; + my $readsize = ($buflen < $blocksize) ? $blocksize-$buflen : $blocksize; + # If $buf < $blocksize, append so it is $blocksize long after reading. + # Otherwise append a full $blocksize + if(not read($in,substr($buf,$buflen,0),$readsize)) { + # End-of-file + $chunk_number != 1 and last; + # Force the while-loop once if everything was read by header reading + $one_time_through++ and last; + } + if($opt::r) { + # Remove empty lines + $buf =~ s/^\s*\n//gm; + if(length $buf == 0) { + next; + } + } + if($Global::max_lines and not $Global::max_number_of_args) { + # Read n-line records + my $n_lines = $buf =~ tr/\n/\n/; + my $last_newline_pos = rindex64(\$buf,"\n"); + # Go backwards until there are full n-line records + while($n_lines % $Global::max_lines) { + $n_lines--; + $last_newline_pos = rindex64(\$buf,"\n",$last_newline_pos-1); + } + # Chop at $last_newline_pos as that is where n-line record ends + $anything_written += + write_record_to_pipe($chunk_number++,\$header,\$buf, + $recstart,$recend,$last_newline_pos+1); + shorten(\$buf,$last_newline_pos+1); + } elsif($opt::regexp) { + if($Global::max_number_of_args) { + # -N => (start..*?end){n} + # -L -N => (start..*?end){n*l} + my $read_n_lines = -1+ + $Global::max_number_of_args * ($Global::max_lines || 1); + # (?!negative lookahead) is needed to avoid backtracking + # See: https://unix.stackexchange.com/questions/439356/ + while($buf =~ /# From start up till recend + ^((?:(?!$recend$recstart).)*?$recend + # Then n-1 times recstart.*recend + (?:$recstart(?:(?!$recend$recstart).)*?$recend){$read_n_lines}) + # Followed by recstart + (?=$recstart)/osx) { + $anything_written += + write_record_to_pipe($chunk_number++,\$header,\$buf, + $recstart,$recend,length $1); + shorten(\$buf,length $1); + } + } else { + eof($in) and last; + # Find the last recend-recstart in $buf + if($buf =~ /^(.*$recend)$recstart.*?$/os) { + $anything_written += + write_record_to_pipe($chunk_number++,\$header,\$buf, + $recstart,$recend,length $1); + shorten(\$buf,length $1); + } + } + } elsif($opt::csv) { + # Read a full CSV record + # even number of " + end of line + my $last_newline_pos = length $buf; + do { + # find last EOL + $last_newline_pos = rindex64(\$buf,"\n",$last_newline_pos-1); + # While uneven " + } while((substr($buf,0,$last_newline_pos) =~ y/"/"/)%2 + and $last_newline_pos >= 0); + # Chop at $last_newline_pos as that is where CSV record ends + $anything_written += + write_record_to_pipe($chunk_number++,\$header,\$buf, + $recstart,$recend,$last_newline_pos+1); + shorten(\$buf,$last_newline_pos+1); + } else { + if($Global::max_number_of_args) { + # -N => (start..*?end){n} + my $i = 0; + my $read_n_lines = + $Global::max_number_of_args * ($Global::max_lines || 1); + while(($i = nindex(\$buf,$recendrecstart,$read_n_lines)) != -1) { + $i += length $recend; # find the actual splitting location + $anything_written += + write_record_to_pipe($chunk_number++,\$header,\$buf, + $recstart,$recend,$i); + shorten(\$buf,$i); + } + } else { + eof($in) and last; + # Find the last recend+recstart in $buf + my $i = rindex64(\$buf,$recendrecstart); + if($i != -1) { + $i += length $recend; # find the actual splitting location + $anything_written += + write_record_to_pipe($chunk_number++,\$header,\$buf, + $recstart,$recend,$i); + shorten(\$buf,$i); + } + } + } + if(not $anything_written + and not eof($in) + and not $Global::no_autoexpand_block) { + # Nothing was written - maybe the block size < record size? + # Increase blocksize exponentially up to 2GB-1 (2GB causes problems) + if($blocksize < $two_gb) { + my $old_blocksize = $blocksize; + $blocksize = ::min(ceil($blocksize * 1.3 + 1), $two_gb); + ::warning("A record was longer than $old_blocksize. " . + "Increasing to --blocksize $blocksize."); + } + } + } + ::debug("init", "Done reading input\n"); + + # If there is anything left in the buffer write it + write_record_to_pipe($chunk_number++, \$header, \$buf, $recstart, + $recend, length $buf); + + if($opt::retries) { + $Global::no_more_input = 1; + # We need to start no more jobs: At most we need to retry some + # of the already running. + my @running = values %Global::running; + # Stop any virgins. + for my $job (@running) { + if(defined $job and $job->virgin()) { + close $job->fh(0,"w"); + } + } + # Wait for running jobs to be done + my $sleep =1; + while($Global::total_running > 0) { + $sleep = ::reap_usleep($sleep); + } + } + $Global::start_no_new_jobs ||= 1; + if($opt::roundrobin) { + # Flush blocks to roundrobin procs + my $sleep = 1; + while(%Global::running) { + my $something_written = 0; + for my $job (values %Global::running) { + if($job->block_length()) { + $something_written += $job->non_blocking_write(); + } else { + close $job->fh(0,"w"); + } + } + if($something_written) { + $sleep = $sleep/2+0.001; + } + $sleep = ::reap_usleep($sleep); + } + } +} + +sub recstartrecend { + # Uses: + # $opt::recstart + # $opt::recend + # Returns: + # $recstart,$recend with default values and regexp conversion + my($recstart,$recend); + if(defined($opt::recstart) and defined($opt::recend)) { + # If both --recstart and --recend is given then both must match + $recstart = $opt::recstart; + $recend = $opt::recend; + } elsif(defined($opt::recstart)) { + # If --recstart is given it must match start of record + $recstart = $opt::recstart; + $recend = ""; + } elsif(defined($opt::recend)) { + # If --recend is given then it must match end of record + $recstart = ""; + $recend = $opt::recend; + } + + if($opt::regexp) { + # If $recstart/$recend contains '|' this should only apply to the regexp + $recstart = "(?:".$recstart.")"; + $recend = "(?:".$recend.")"; + } else { + # $recstart/$recend = printf strings (\n) + $recstart =~ s/\\([0rnt\'\"\\])/"qq|\\$1|"/gee; + $recend =~ s/\\([0rnt\'\"\\])/"qq|\\$1|"/gee; + } + return ($recstart,$recend); +} + +sub nindex { + # See if string is in buffer N times + # Returns: + # the position where the Nth copy is found + my ($buf_ref, $str, $n) = @_; + my $i = 0; + for(1..$n) { + $i = index64($buf_ref,$str,$i+1); + if($i == -1) { last } + } + return $i; +} + +{ + my @robin_queue; + my $sleep = 1; + + sub round_robin_write { + # Input: + # $header_ref = ref to $header string + # $block_ref = ref to $block to be written + # $recstart = record start string + # $recend = record end string + # $endpos = end position of $block + # Uses: + # %Global::running + # Returns: + # $something_written = amount of bytes written + my ($header_ref,$buffer_ref,$recstart,$recend,$endpos) = @_; + my $written = 0; + my $block_passed = 0; + while(not $block_passed) { + # Continue flushing existing buffers + # until one is empty and a new block is passed + if(@robin_queue) { + # Rotate queue once so new blocks get a fair chance + # to be given to another block + push @robin_queue, shift @robin_queue; + } else { + # Make a queue to spread the blocks evenly + push @robin_queue, (sort { $a->seq() <=> $b->seq() } + values %Global::running); + } + if($opt::keeporder) { + for my $job (@robin_queue) { + if($job->block_length() > 0) { + $written += $job->non_blocking_write(); + } else { + $job->set_block($header_ref,$buffer_ref,$endpos,$recstart,$recend); + $block_passed = 1; + $job->set_virgin(0); + $written += $job->non_blocking_write(); + last; + } + } + } else { + do { + $written = 0; + for my $job (@robin_queue) { + if($job->block_length() > 0) { + $written += $job->non_blocking_write(); + } else { + $job->set_block($header_ref,$buffer_ref, + $endpos,$recstart,$recend); + $block_passed = 1; + $job->set_virgin(0); + $written += $job->non_blocking_write(); + last; + } + } + if($written) { + $sleep = $sleep/1.5+0.001; + } + } while($written and not $block_passed); + } + $sleep = ::reap_usleep($sleep); + } + return $written; + } +} + +sub index64 { + # Do index on strings > 2GB. + # index in Perl < v5.22 does not work for > 2GB + # Input: + # as index except STR which must be passed as a reference + # Output: + # as index + my $ref = shift; + my $match = shift; + my $pos = shift || 0; + my $block_size = 2**31-1; + my $strlen = length($$ref); + # No point in doing extra work if we don't need to. + if($strlen < $block_size or $] > 5.022) { + return index($$ref, $match, $pos); + } + + my $matchlen = length($match); + my $ret; + my $offset = $pos; + while($offset < $strlen) { + $ret = index( + substr($$ref, $offset, $block_size), + $match, $pos-$offset); + if($ret != -1) { + return $ret + $offset; + } + $offset += ($block_size - $matchlen - 1); + } + return -1; +} + +sub rindex64 { + # Do rindex on strings > 2GB. + # rindex in Perl < v5.22 does not work for > 2GB + # Input: + # as rindex except STR which must be passed as a reference + # Output: + # as rindex + my $ref = shift; + my $match = shift; + my $pos = shift; + my $block_size = 2**31-1; + my $strlen = length($$ref); + # Default: search from end + $pos = defined $pos ? $pos : $strlen; + # No point in doing extra work if we don't need to. + if($strlen < $block_size) { + return rindex($$ref, $match, $pos); + } + + my $matchlen = length($match); + my $ret; + my $offset = $pos - $block_size + $matchlen; + if($offset < 0) { + # The offset is less than a $block_size + # Set the $offset to 0 and + # Adjust block_size accordingly + $block_size = $block_size + $offset; + $offset = 0; + } + while($offset >= 0) { + $ret = rindex( + substr($$ref, $offset, $block_size), + $match); + if($ret != -1) { + return $ret + $offset; + } + $offset -= ($block_size - $matchlen - 1); + } + return -1; +} + +sub shorten { + # Do: substr($buf,0,$i) = ""; + # Some Perl versions do not support $i > 2GB, so do this in 2GB chunks + # Input: + # $buf_ref = \$buf + # $i = position to shorten to + # Returns: N/A + my ($buf_ref, $i) = @_; + my $two_gb = 2**31-1; + while($i > $two_gb) { + substr($$buf_ref,0,$two_gb) = ""; + $i -= $two_gb; + } + substr($$buf_ref,0,$i) = ""; +} + +sub write_record_to_pipe { + # Fork then + # Write record from pos 0 .. $endpos to pipe + # Input: + # $chunk_number = sequence number - to see if already run + # $header_ref = reference to header string to prepend + # $buffer_ref = reference to record to write + # $recstart = start string of record + # $recend = end string of record + # $endpos = position in $buffer_ref where record ends + # Uses: + # $Global::job_already_run + # $opt::roundrobin + # @Global::virgin_jobs + # Returns: + # Number of chunks written (0 or 1) + my ($chunk_number,$header_ref,$buffer_ref,$recstart,$recend,$endpos) = @_; + if($endpos == 0) { return 0; } + if(vec($Global::job_already_run,$chunk_number,1)) { return 1; } + if($opt::roundrobin) { + # Write the block to one of the already running jobs + return round_robin_write($header_ref,$buffer_ref,$recstart,$recend,$endpos); + } + # If no virgin found, backoff + my $sleep = 0.0001; # 0.01 ms - better performance on highend + while(not @Global::virgin_jobs) { + ::debug("pipe", "No virgin jobs"); + $sleep = ::reap_usleep($sleep); + # Jobs may not be started because of loadavg + # or too little time between each ssh login + # or retrying failed jobs. + start_more_jobs(); + } + my $job = shift @Global::virgin_jobs; + # Job is no longer virgin + $job->set_virgin(0); + + if($opt::retries) { + # Copy $buffer[0..$endpos] to $job->{'block'} + # Remove rec_sep + # Run $job->add_transfersize + $job->set_block($header_ref,$buffer_ref,$endpos,$recstart,$recend); + if(fork()) { + # Skip + } else { + $job->write($job->block_ref()); + close $job->fh(0,"w"); + exit(0); + } + } else { + # We ignore the removed rec_sep which is technically wrong. + $job->add_transfersize($endpos + length $$header_ref); + if(fork()) { + # Skip + } else { + # Chop of at $endpos as we do not know how many rec_sep will + # be removed. + substr($$buffer_ref,$endpos,length $$buffer_ref) = ""; + # Remove rec_sep + if($opt::remove_rec_sep) { + Job::remove_rec_sep($buffer_ref,$recstart,$recend); + } + $job->write($header_ref); + $job->write($buffer_ref); + close $job->fh(0,"w"); + exit(0); + } + } + close $job->fh(0,"w"); + return 1; +} + + +sub __SEM_MODE__ {} + + +sub acquire_semaphore { + # Acquires semaphore. If needed: spawns to the background + # Uses: + # @Global::host + # Returns: + # The semaphore to be released when jobs is complete + $Global::host{':'} = SSHLogin->new(":"); + my $sem = Semaphore->new($Semaphore::name,$Global::host{':'}->max_jobs_running()); + $sem->acquire(); + if($Semaphore::fg) { + # skip + } else { + if(fork()) { + exit(0); + } else { + # If run in the background, the PID will change + $sem->pid_change(); + } + } + return $sem; +} + + +sub __PARSE_OPTIONS__ {} + + +sub options_hash { + # Returns: + # %hash = the GetOptions config + return + ("debug|D=s" => \$opt::D, + "xargs" => \$opt::xargs, + "m" => \$opt::m, + "X" => \$opt::X, + "v" => \@opt::v, + "sql=s" => \$opt::retired, + "sqlmaster=s" => \$opt::sqlmaster, + "sqlworker=s" => \$opt::sqlworker, + "sqlandworker=s" => \$opt::sqlandworker, + "joblog|jl=s" => \$opt::joblog, + "results|result|res=s" => \$opt::results, + "resume" => \$opt::resume, + "resume-failed|resumefailed" => \$opt::resume_failed, + "retry-failed|retryfailed" => \$opt::retry_failed, + "silent" => \$opt::silent, + "keep-order|keeporder|k" => \$opt::keeporder, + "no-keep-order|nokeeporder|nok|no-k" => \$opt::nokeeporder, + "group" => \$opt::group, + "g" => \$opt::retired, + "ungroup|u" => \$opt::ungroup, + "linebuffer|linebuffered|line-buffer|line-buffered|lb" => \$opt::linebuffer, + "tmux" => \$opt::tmux, + "tmuxpane" => \$opt::tmuxpane, + "null|0" => \$opt::null, + "quote|q" => \$opt::q, + # Replacement strings + "parens=s" => \$opt::parens, + "rpl=s" => \@opt::rpl, + "plus" => \$opt::plus, + "I=s" => \$opt::I, + "extensionreplace|er=s" => \$opt::U, + "U=s" => \$opt::retired, + "basenamereplace|bnr=s" => \$opt::basenamereplace, + "dirnamereplace|dnr=s" => \$opt::dirnamereplace, + "basenameextensionreplace|bner=s" => \$opt::basenameextensionreplace, + "seqreplace=s" => \$opt::seqreplace, + "slotreplace=s" => \$opt::slotreplace, + "jobs|j=s" => \$opt::jobs, + "delay=s" => \$opt::delay, + "sshdelay=f" => \$opt::sshdelay, + "load=s" => \$opt::load, + "noswap" => \$opt::noswap, + "max-line-length-allowed" => \$opt::max_line_length_allowed, + "number-of-cpus" => \$opt::number_of_cpus, + "number-of-cores" => \$opt::number_of_cores, + "use-cpus-instead-of-cores" => \$opt::use_cpus_instead_of_cores, + "shellquote|shell_quote|shell-quote" => \$opt::shellquote, + "nice=i" => \$opt::nice, + "tag" => \$opt::tag, + "tagstring|tag-string=s" => \$opt::tagstring, + "onall" => \$opt::onall, + "nonall" => \$opt::nonall, + "filter-hosts|filterhosts|filter-host" => \$opt::filter_hosts, + "sshlogin|S=s" => \@opt::sshlogin, + "sshloginfile|slf=s" => \@opt::sshloginfile, + "controlmaster|M" => \$opt::controlmaster, + "ssh=s" => \$opt::ssh, + "transfer-file|transferfile|transfer-files|transferfiles|tf=s" + => \@opt::transfer_files, + "return=s" => \@opt::return, + "trc=s" => \@opt::trc, + "transfer" => \$opt::transfer, + "cleanup" => \$opt::cleanup, + "basefile|bf=s" => \@opt::basefile, + "B=s" => \$opt::retired, + "ctrlc|ctrl-c" => \$opt::retired, + "noctrlc|no-ctrlc|no-ctrl-c" => \$opt::retired, + "workdir|work-dir|wd=s" => \$opt::workdir, + "W=s" => \$opt::retired, + "rsync-opts|rsyncopts=s" => \$opt::rsync_opts, + "tmpdir|tempdir=s" => \$opt::tmpdir, + "use-compress-program|compress-program=s" => \$opt::compress_program, + "use-decompress-program|decompress-program=s" => \$opt::decompress_program, + "compress" => \$opt::compress, + "tty" => \$opt::tty, + "T" => \$opt::retired, + "H=i" => \$opt::retired, + "dry-run|dryrun|dr" => \$opt::dryrun, + "progress" => \$opt::progress, + "eta" => \$opt::eta, + "bar" => \$opt::bar, + "shuf" => \$opt::shuf, + "arg-sep|argsep=s" => \$opt::arg_sep, + "arg-file-sep|argfilesep=s" => \$opt::arg_file_sep, + "trim=s" => \$opt::trim, + "env=s" => \@opt::env, + "recordenv|record-env" => \$opt::record_env, + "session" => \$opt::session, + "plain" => \$opt::plain, + "profile|J=s" => \@opt::profile, + "pipe|spreadstdin" => \$opt::pipe, + "robin|round-robin|roundrobin" => \$opt::roundrobin, + "recstart=s" => \$opt::recstart, + "recend=s" => \$opt::recend, + "regexp|regex" => \$opt::regexp, + "remove-rec-sep|removerecsep|rrs" => \$opt::remove_rec_sep, + "files|output-as-files|outputasfiles" => \$opt::files, + "block|block-size|blocksize=s" => \$opt::blocksize, + "tollef" => \$opt::tollef, + "gnu" => \$opt::gnu, + "link|xapply" => \$opt::link, + "linkinputsource|xapplyinputsource=i" => \@opt::linkinputsource, + "bibtex|citation" => \$opt::citation, + "wc|willcite|will-cite|nn|nonotice|no-notice" => \$opt::willcite, + # Termination and retries + "halt-on-error|halt=s" => \$opt::halt, + "limit=s" => \$opt::limit, + "memfree=s" => \$opt::memfree, + "retries=s" => \$opt::retries, + "timeout=s" => \$opt::timeout, + "termseq|term-seq=s" => \$opt::termseq, + # xargs-compatibility - implemented, man, testsuite + "max-procs|P=s" => \$opt::jobs, + "delimiter|d=s" => \$opt::d, + "max-chars|s=i" => \$opt::max_chars, + "arg-file|a=s" => \@opt::a, + "no-run-if-empty|r" => \$opt::r, + "replace|i:s" => \$opt::i, + "E=s" => \$opt::eof, + "eof|e:s" => \$opt::eof, + "max-args|maxargs|n=i" => \$opt::max_args, + "max-replace-args|N=i" => \$opt::max_replace_args, + "colsep|col-sep|C=s" => \$opt::colsep, + "csv"=> \$opt::csv, + "help|h" => \$opt::help, + "L=f" => \$opt::L, + "max-lines|l:f" => \$opt::max_lines, + "interactive|p" => \$opt::interactive, + "verbose|t" => \$opt::verbose, + "version|V" => \$opt::version, + "minversion|min-version=i" => \$opt::minversion, + "show-limits|showlimits" => \$opt::show_limits, + "exit|x" => \$opt::x, + # Semaphore + "semaphore" => \$opt::semaphore, + "semaphoretimeout|st=i" => \$opt::semaphoretimeout, + "semaphorename|id=s" => \$opt::semaphorename, + "fg" => \$opt::fg, + "bg" => \$opt::bg, + "wait" => \$opt::wait, + # Shebang #!/opt/local/bin/parallel --shebang + "shebang|hashbang" => \$opt::shebang, + "internal-pipe-means-argfiles" => \$opt::internal_pipe_means_argfiles, + "Y" => \$opt::retired, + "skip-first-line" => \$opt::skip_first_line, + "bug" => \$opt::bug, + "header=s" => \$opt::header, + "cat" => \$opt::cat, + "fifo" => \$opt::fifo, + "pipepart|pipe-part" => \$opt::pipepart, + "tee" => \$opt::tee, + "hgrp|hostgrp|hostgroup|hostgroups" => \$opt::hostgroups, + "embed" => \$opt::embed, + ); +} + +sub get_options_from_array { + # Run GetOptions on @array + # Input: + # $array_ref = ref to @ARGV to parse + # @keep_only = Keep only these options + # Uses: + # @ARGV + # Returns: + # true if parsing worked + # false if parsing failed + # @$array_ref is changed + my ($array_ref, @keep_only) = @_; + if(not @$array_ref) { + # Empty array: No need to look more at that + return 1; + } + # A bit of shuffling of @ARGV needed as GetOptionsFromArray is not + # supported everywhere + my @save_argv; + my $this_is_ARGV = (\@::ARGV == $array_ref); + if(not $this_is_ARGV) { + @save_argv = @::ARGV; + @::ARGV = @{$array_ref}; + } + # If @keep_only set: Ignore all values except @keep_only + my %options = options_hash(); + if(@keep_only) { + my (%keep,@dummy); + @keep{@keep_only} = @keep_only; + for my $k (grep { not $keep{$_} } keys %options) { + # Store the value of the option in @dummy + $options{$k} = \@dummy; + } + } + my $retval = GetOptions(%options); + if(not $this_is_ARGV) { + @{$array_ref} = @::ARGV; + @::ARGV = @save_argv; + } + return $retval; +} + +sub parse_options { + # Returns: N/A + init_globals(); + my @argv_before = @ARGV; + @ARGV = read_options(); + + if(defined $opt::citation) { + citation(\@argv_before,\@ARGV); + wait_and_exit(0); + } + # no-* overrides * + if($opt::nokeeporder) { $opt::keeporder = undef; } + + if(@opt::v) { $Global::verbose = $#opt::v+1; } # Convert -v -v to v=2 + if($opt::bug) { ::die_bug("test-bug"); } + $Global::debug = $opt::D; + $Global::shell = $ENV{'PARALLEL_SHELL'} || parent_shell($$) + || $ENV{'SHELL'} || "/bin/sh"; + if(not -x $Global::shell and not which($Global::shell)) { + ::error("Shell '$Global::shell' not found."); + wait_and_exit(255); + } + ::debug("init","Global::shell $Global::shell\n"); + $Global::cshell = $Global::shell =~ m:(/[-a-z]*)?csh:; + if(defined $opt::X) { $Global::ContextReplace = 1; } + if(defined $opt::silent) { $Global::verbose = 0; } + if(defined $opt::null) { $/ = "\0"; } + if(defined $opt::d) { $/ = unquote_printf($opt::d) } + if(defined $opt::tagstring) { + $opt::tagstring = unquote_printf($opt::tagstring); + } + if(defined $opt::interactive) { $Global::interactive = $opt::interactive; } + if(defined $opt::q) { $Global::quoting = 1; } + if(defined $opt::r) { $Global::ignore_empty = 1; } + if(defined $opt::verbose) { $Global::stderr_verbose = 1; } + parse_replacement_string_options(); + if(defined $opt::eof) { $Global::end_of_file_string = $opt::eof; } + if(defined $opt::max_args) { + $Global::max_number_of_args = $opt::max_args; + } + if(defined $opt::timeout) { + $Global::timeoutq = TimeoutQueue->new($opt::timeout); + } + if(defined $opt::tmpdir) { $ENV{'TMPDIR'} = $opt::tmpdir; } + $ENV{'PARALLEL_RSYNC_OPTS'} = $opt::rsync_opts || + $ENV{'PARALLEL_RSYNC_OPTS'} || '-rlDzR'; + $opt::nice ||= 0; + if(defined $opt::help) { usage(); exit(0); } + if(defined $opt::embed) { embed(); exit(0); } + if(defined $opt::sqlandworker) { + $opt::sqlmaster = $opt::sqlworker = $opt::sqlandworker; + } + if(defined $opt::tmuxpane) { $opt::tmux = $opt::tmuxpane; } + if(defined $opt::colsep) { $Global::trim = 'lr'; } + if(defined $opt::csv) { + $Global::use{"Text::CSV"} ||= eval "use Text::CSV; 1;"; + $opt::colsep = defined $opt::colsep ? $opt::colsep : ","; + my $csv_setting = { binary => 1, sep_char => $opt::colsep }; + my $sep = $csv_setting->{sep_char}; + $Global::csv = Text::CSV->new($csv_setting) + or die "Cannot use CSV: ".Text::CSV->error_diag (); + } + if(defined $opt::header) { + $opt::colsep = defined $opt::colsep ? $opt::colsep : "\t"; + } + if(defined $opt::trim) { $Global::trim = $opt::trim; } + if(defined $opt::arg_sep) { $Global::arg_sep = $opt::arg_sep; } + if(defined $opt::arg_file_sep) { + $Global::arg_file_sep = $opt::arg_file_sep; + } + if(defined $opt::number_of_cpus) { + print SSHLogin::no_of_cpus(),"\n"; wait_and_exit(0); + } + if(defined $opt::number_of_cores) { + print SSHLogin::no_of_cores(),"\n"; wait_and_exit(0); + } + if(defined $opt::max_line_length_allowed) { + print Limits::Command::real_max_length(),"\n"; wait_and_exit(0); + } + if(defined $opt::version) { version(); wait_and_exit(0); } + if(defined $opt::record_env) { record_env(); wait_and_exit(0); } + if(defined $opt::show_limits) { show_limits(); } + if(@opt::sshlogin) { @Global::sshlogin = @opt::sshlogin; } + if(@opt::sshloginfile) { read_sshloginfiles(@opt::sshloginfile); } + if(@opt::return) { push @Global::ret_files, @opt::return; } + if($opt::transfer) { + push @Global::transfer_files, $opt::i || $opt::I || "{}"; + } + push @Global::transfer_files, @opt::transfer_files; + if(not defined $opt::recstart and + not defined $opt::recend) { $opt::recend = "\n"; } + $Global::blocksize = multiply_binary_prefix($opt::blocksize || "1M"); + if($Global::blocksize > 2**31-1 and not $opt::pipepart) { + warning("--blocksize >= 2G causes problems. Using 2G-1."); + $Global::blocksize = 2**31-1; + } + if($^O eq "cygwin" and + ($opt::pipe or $opt::pipepart or $opt::roundrobin) + and $Global::blocksize > 65535) { + warning("--blocksize >= 64K causes problems on Cygwin."); + } + $opt::memfree = multiply_binary_prefix($opt::memfree); + check_invalid_option_combinations(); + if((defined $opt::fifo or defined $opt::cat) + and not $opt::pipepart) { + $opt::pipe = 1; + } + if(defined $opt::minversion) { + print $Global::version,"\n"; + if($Global::version < $opt::minversion) { + wait_and_exit(255); + } else { + wait_and_exit(0); + } + } + if(not defined $opt::delay) { + # Set --delay to --sshdelay if not set + $opt::delay = $opt::sshdelay; + } + $opt::delay = multiply_time_units($opt::delay); + if($opt::compress_program) { + $opt::compress = 1; + $opt::decompress_program ||= $opt::compress_program." -dc"; + } + + if(defined $opt::results) { + # Is the output a dir or CSV-file? + if($opt::results =~ /\.csv$/i) { + # CSV with , as separator + $Global::csvsep = ","; + $Global::membuffer ||= 1; + } elsif($opt::results =~ /\.tsv$/i) { + # CSV with TAB as separator + $Global::csvsep = "\t"; + $Global::membuffer ||= 1; + } + } + if($opt::compress) { + my ($compress, $decompress) = find_compression_program(); + $opt::compress_program ||= $compress; + $opt::decompress_program ||= $decompress; + if(($opt::results and not $Global::csvsep) or $opt::files) { + # No need for decompressing + $opt::decompress_program = "cat >/dev/null"; + } + } + if(defined $opt::dryrun) { + # Force grouping due to bug #51039: --dry-run --timeout 3600 -u breaks + $opt::ungroup = 0; + $opt::group = 1; + } + if(defined $opt::nonall) { + # Append a dummy empty argument if there are no arguments + # on the command line to avoid reading from STDIN. + # arg_sep = random 50 char + # \0 => nothing (not the empty string) + $Global::arg_sep = join "", + map { (0..9,"a".."z","A".."Z")[rand(62)] } (1..50); + push @ARGV, $Global::arg_sep, "\0"; + } + if(defined $opt::tee) { + if(not defined $opt::jobs) { + $opt::jobs = 0; + } + } + if(defined $opt::tty) { + # Defaults for --tty: -j1 -u + # Can be overridden with -jXXX -g + if(not defined $opt::jobs) { + $opt::jobs = 1; + } + if(not defined $opt::group) { + $opt::ungroup = 1; + } + } + if(@opt::trc) { + push @Global::ret_files, @opt::trc; + if(not @Global::transfer_files) { + # Defaults to --transferfile {} + push @Global::transfer_files, $opt::i || $opt::I || "{}"; + } + $opt::cleanup = 1; + } + if(defined $opt::max_lines) { + if($opt::max_lines eq "-0") { + # -l -0 (swallowed -0) + $opt::max_lines = 1; + $opt::null = 1; + $/ = "\0"; + } elsif ($opt::max_lines == 0) { + # If not given (or if 0 is given) => 1 + $opt::max_lines = 1; + } + $Global::max_lines = $opt::max_lines; + if(not $opt::pipe) { + # --pipe -L means length of record - not max_number_of_args + $Global::max_number_of_args ||= $Global::max_lines; + } + } + + # Read more than one arg at a time (-L, -N) + if(defined $opt::L) { + $Global::max_lines = $opt::L; + if(not $opt::pipe) { + # --pipe -L means length of record - not max_number_of_args + $Global::max_number_of_args ||= $Global::max_lines; + } + } + if(defined $opt::max_replace_args) { + $Global::max_number_of_args = $opt::max_replace_args; + $Global::ContextReplace = 1; + } + if((defined $opt::L or defined $opt::max_replace_args) + and + not ($opt::xargs or $opt::m)) { + $Global::ContextReplace = 1; + } + if(defined $opt::tag and not defined $opt::tagstring) { + # Default = {} + $opt::tagstring = $Global::parensleft.$Global::parensright; + } + if(grep /^$Global::arg_sep\+?$|^$Global::arg_file_sep\+?$/o, @ARGV) { + # Deal with ::: :::+ :::: and ::::+ + @ARGV = read_args_from_command_line(); + } + parse_semaphore(); + + if(defined $opt::eta) { $opt::progress = $opt::eta; } + if(defined $opt::bar) { $opt::progress = $opt::bar; } + citation_notice(); + + parse_halt(); + parse_sshlogin(); + + if(remote_hosts() and ($opt::X or $opt::m or $opt::xargs)) { + # As we do not know the max line length on the remote machine + # long commands generated by xargs may fail + # If $opt::max_replace_args is set, it is probably safe + ::warning("Using -X or -m with --sshlogin may fail."); + } + + if(not defined $opt::jobs) { $opt::jobs = "100%"; } + open_joblog(); + open_csv(); + if($opt::sqlmaster or $opt::sqlworker) { + $Global::sql = SQL->new($opt::sqlmaster || $opt::sqlworker); + } + if($opt::sqlworker) { $Global::membuffer ||= 1; } +} + +sub check_invalid_option_combinations { + if(defined $opt::timeout and + $opt::timeout !~ /^\d+(\.\d+)?%?$|^(\d+(\.\d+)?[dhms])+$/i) { + ::error("--timeout must be seconds or percentage."); + wait_and_exit(255); + } + if(defined $opt::fifo and defined $opt::cat) { + ::error("--fifo cannot be combined with --cat."); + ::wait_and_exit(255); + } + if(defined $opt::retries and defined $opt::roundrobin) { + ::error("--retries cannot be combined with --roundrobin."); + ::wait_and_exit(255); + } + if(defined $opt::pipepart and + (defined $opt::L or defined $opt::max_lines + or defined $opt::max_replace_args)) { + ::error("--pipepart is incompatible with --max-replace-args, ". + "--max-lines, and -L."); + wait_and_exit(255); + } + if(defined $opt::group and $opt::ungroup) { + ::error("--group cannot be combined with --ungroup."); + ::wait_and_exit(255); + } + if(defined $opt::group and $opt::linebuffer) { + ::error("--group cannot be combined with --line-buffer."); + ::wait_and_exit(255); + } + if(defined $opt::ungroup and $opt::linebuffer) { + ::error("--ungroup cannot be combined with --line-buffer."); + ::wait_and_exit(255); + } + if(defined $opt::tollef and not $opt::gnu) { + ::error("--tollef has been retired.", + "Remove --tollef or use --gnu to override --tollef."); + ::wait_and_exit(255); + } + if(defined $opt::retired) { + ::error("-g has been retired. Use --group.", + "-B has been retired. Use --bf.", + "-T has been retired. Use --tty.", + "-U has been retired. Use --er.", + "-W has been retired. Use --wd.", + "-Y has been retired. Use --shebang.", + "-H has been retired. Use --halt.", + "--sql has been retired. Use --sqlmaster.", + "--ctrlc has been retired.", + "--noctrlc has been retired."); + ::wait_and_exit(255); + } +} + +sub init_globals { + # Defaults: + $Global::version = 20180622; + $Global::progname = 'parallel'; + $Global::infinity = 2**31; + $Global::debug = 0; + $Global::verbose = 0; + $Global::quoting = 0; + $Global::total_completed = 0; + # Read only table with default --rpl values + %Global::replace = + ( + '{}' => '', + '{#}' => '1 $_=$job->seq()', + '{%}' => '1 $_=$job->slot()', + '{/}' => 's:.*/::', + '{//}' => + ('$Global::use{"File::Basename"} ||= eval "use File::Basename; 1;"; '. + '$_ = dirname($_);'), + '{/.}' => 's:.*/::; s:\.[^/.]+$::;', + '{.}' => 's:\.[^/.]+$::', + ); + %Global::plus = + ( + # {} = {+/}/{/} + # = {.}.{+.} = {+/}/{/.}.{+.} + # = {..}.{+..} = {+/}/{/..}.{+..} + # = {...}.{+...} = {+/}/{/...}.{+...} + '{+/}' => 's:/[^/]*$::', + '{+.}' => 's:.*\.::', + '{+..}' => 's:.*\.([^.]*\.):$1:', + '{+...}' => 's:.*\.([^.]*\.[^.]*\.):$1:', + '{..}' => 's:\.[^/.]+$::; s:\.[^/.]+$::', + '{...}' => 's:\.[^/.]+$::; s:\.[^/.]+$::; s:\.[^/.]+$::', + '{/..}' => 's:.*/::; s:\.[^/.]+$::; s:\.[^/.]+$::', + '{/...}' => 's:.*/::; s:\.[^/.]+$::; s:\.[^/.]+$::; s:\.[^/.]+$::', + '{choose_k}' => 'for $t (2..$#arg){ if($arg[$t-1] ge $arg[$t]) { skip() } }', + # {##} = number of jobs + '{##}' => '$_=total_jobs()', + # Bash ${a:-myval} + '{:-([^}]+?)}' => '$_ ||= $$1', + # Bash ${a:2} + '{:(\d+?)}' => 'substr($_,0,$$1) = ""', + # Bash ${a:2:3} + '{:(\d+?):(\d+?)}' => '$_ = substr($_,$$1,$$2);', + # Bash ${a#bc} + '{#([^#}][^}]*?)}' => 's/^$$1//;', + # Bash ${a%def} + '{%([^}]+?)}' => 's/$$1$//;', + # Bash ${a/def/ghi} ${a/def/} + '{/([^}]+?)/([^}]*?)}' => 's/$$1/$$2/;', + # Bash ${a^a} + '{^([^}]+?)}' => 's/^($$1)/uc($1)/e;', + # Bash ${a^^a} + '{^^([^}]+?)}' => 's/($$1)/uc($1)/eg;', + # Bash ${a,A} + '{,([^}]+?)}' => 's/^($$1)/lc($1)/e;', + # Bash ${a,,A} + '{,,([^}]+?)}' => 's/($$1)/lc($1)/eg;', + ); + # Modifiable copy of %Global::replace + %Global::rpl = %Global::replace; + $/ = "\n"; + $Global::ignore_empty = 0; + $Global::interactive = 0; + $Global::stderr_verbose = 0; + $Global::default_simultaneous_sshlogins = 9; + $Global::exitstatus = 0; + $Global::arg_sep = ":::"; + $Global::arg_file_sep = "::::"; + $Global::trim = 'n'; + $Global::max_jobs_running = 0; + $Global::job_already_run = ''; + # LC_ALL workaround for multibyte chars containing special shell chars + $ENV{'LC_ALL'} = 'C'; + $ENV{'TMPDIR'} ||= "/tmp"; + if(not $ENV{HOME}) { + # $ENV{HOME} is sometimes not set if called from PHP + ::warning("\$HOME not set. Using /tmp."); + $ENV{HOME} = "/tmp"; + } + # no warnings to allow for undefined $XDG_* + no warnings 'uninitialized'; + # $xdg_config_home is needed to make env_parallel.fish stop complaining + my $xdg_config_home = $ENV{'XDG_CONFIG_HOME'}; + # config_dirs = $PARALLEL_HOME, $XDG_CONFIG_HOME/parallel, + # $(each XDG_CONFIG_DIRS)/parallel, $HOME/.parallel + # Keep only dirs that exist + @Global::config_dirs = + (grep { -d $_ } + $ENV{'PARALLEL_HOME'}, + (map { "$_/parallel" } + $xdg_config_home, + split /:/, $ENV{'XDG_CONFIG_DIRS'}), + $ENV{'HOME'} . "/.parallel"); + # Use first dir as config dir + $Global::config_dir = $Global::config_dirs[0] || + $ENV{'HOME'} . "/.parallel"; + # cache_dirs = $PARALLEL_HOME, $XDG_CACHE_HOME/parallel, + # Keep only dirs that exist + @Global::cache_dirs = + (grep { -d $_ } + $ENV{'PARALLEL_HOME'}, $ENV{'XDG_CACHE_HOME'}."/parallel"); + $Global::cache_dir = $Global::cache_dirs[0] || + $ENV{'HOME'} . "/.parallel"; +} + +sub parse_halt { + # $opt::halt flavours + # Uses: + # $opt::halt + # $Global::halt_when + # $Global::halt_fail + # $Global::halt_success + # $Global::halt_pct + # $Global::halt_count + if(defined $opt::halt) { + my %halt_expansion = ( + "0" => "never", + "1" => "soon,fail=1", + "2" => "now,fail=1", + "-1" => "soon,success=1", + "-2" => "now,success=1", + ); + # Expand -2,-1,0,1,2 into long form + $opt::halt = $halt_expansion{$opt::halt} || $opt::halt; + # --halt 5% == --halt soon,fail=5% + $opt::halt =~ s/^(\d+)%$/soon,fail=$1%/; + # Split: soon,fail=5% + my ($when,$fail_success,$pct_count) = split /[,=]/, $opt::halt; + if(not grep { $when eq $_ } qw(never soon now)) { + ::error("--halt must have 'never', 'soon', or 'now'."); + ::wait_and_exit(255); + } + $Global::halt_when = $when; + if($when ne "never") { + if($fail_success eq "fail") { + $Global::halt_fail = 1; + } elsif($fail_success eq "success") { + $Global::halt_success = 1; + } elsif($fail_success eq "done") { + $Global::halt_done = 1; + } else { + ::error("--halt $when must be followed by ,success or ,fail."); + ::wait_and_exit(255); + } + if($pct_count =~ /^(\d+)%$/) { + $Global::halt_pct = $1/100; + } elsif($pct_count =~ /^(\d+)$/) { + $Global::halt_count = $1; + } else { + ::error("--halt $when,$fail_success ". + "must be followed by ,number or ,percent%."); + ::wait_and_exit(255); + } + } + } +} + +sub parse_replacement_string_options { + # Deal with --rpl + # Uses: + # %Global::rpl + # $Global::parensleft + # $Global::parensright + # $opt::parens + # $Global::parensleft + # $Global::parensright + # $opt::plus + # %Global::plus + # $opt::I + # $opt::U + # $opt::i + # $opt::basenamereplace + # $opt::dirnamereplace + # $opt::seqreplace + # $opt::slotreplace + # $opt::basenameextensionreplace + + sub rpl { + # Modify %Global::rpl + # Replace $old with $new + my ($old,$new) = @_; + if($old ne $new) { + $Global::rpl{$new} = $Global::rpl{$old}; + delete $Global::rpl{$old}; + } + } + my $parens = "{==}"; + if(defined $opt::parens) { $parens = $opt::parens; } + my $parenslen = 0.5*length $parens; + $Global::parensleft = substr($parens,0,$parenslen); + $Global::parensright = substr($parens,$parenslen); + if(defined $opt::plus) { %Global::rpl = (%Global::plus,%Global::rpl); } + if(defined $opt::I) { rpl('{}',$opt::I); } + if(defined $opt::i and $opt::i) { rpl('{}',$opt::i); } + if(defined $opt::U) { rpl('{.}',$opt::U); } + if(defined $opt::basenamereplace) { rpl('{/}',$opt::basenamereplace); } + if(defined $opt::dirnamereplace) { rpl('{//}',$opt::dirnamereplace); } + if(defined $opt::seqreplace) { rpl('{#}',$opt::seqreplace); } + if(defined $opt::slotreplace) { rpl('{%}',$opt::slotreplace); } + if(defined $opt::basenameextensionreplace) { + rpl('{/.}',$opt::basenameextensionreplace); + } + for(@opt::rpl) { + # Create $Global::rpl entries for --rpl options + # E.g: "{..} s:\.[^.]+$:;s:\.[^.]+$:;" + my ($shorthand,$long) = split/ /,$_,2; + $Global::rpl{$shorthand} = $long; + } +} + +sub parse_semaphore { + # Semaphore defaults + # Must be done before computing number of processes and max_line_length + # because when running as a semaphore GNU Parallel does not read args + # Uses: + # $opt::semaphore + # $Global::semaphore + # $opt::semaphoretimeout + # $Semaphore::timeout + # $opt::semaphorename + # $Semaphore::name + # $opt::fg + # $Semaphore::fg + # $opt::wait + # $Semaphore::wait + # $opt::bg + # @opt::a + # @Global::unget_argv + # $Global::default_simultaneous_sshlogins + # $opt::jobs + # $Global::interactive + $Global::semaphore ||= ($0 =~ m:(^|/)sem$:); # called as 'sem' + if(defined $opt::semaphore) { $Global::semaphore = 1; } + if(defined $opt::semaphoretimeout) { $Global::semaphore = 1; } + if(defined $opt::semaphorename) { $Global::semaphore = 1; } + if(defined $opt::fg and not $opt::tmux and not $opt::tmuxpane) { + $Global::semaphore = 1; + } + if(defined $opt::bg) { $Global::semaphore = 1; } + if(defined $opt::wait and not $opt::sqlmaster) { + $Global::semaphore = 1; @ARGV = "true"; + } + if($Global::semaphore) { + if(@opt::a) { + # A semaphore does not take input from neither stdin nor file + ::error("A semaphore does not take input from neither stdin nor a file\n"); + ::wait_and_exit(255); + } + @opt::a = ("/dev/null"); + # Append a dummy empty argument + # \0 => nothing (not the empty string) + push(@Global::unget_argv, [Arg->new("\0")]); + $Semaphore::timeout = $opt::semaphoretimeout || 0; + if(defined $opt::semaphorename) { + $Semaphore::name = $opt::semaphorename; + } else { + local $/ = "\n"; + $Semaphore::name = `tty`; + chomp $Semaphore::name; + } + $Semaphore::fg = $opt::fg; + $Semaphore::wait = $opt::wait; + $Global::default_simultaneous_sshlogins = 1; + if(not defined $opt::jobs) { + $opt::jobs = 1; + } + if($Global::interactive and $opt::bg) { + ::error("Jobs running in the ". + "background cannot be interactive."); + ::wait_and_exit(255); + } + } +} + +sub record_env { + # Record current %ENV-keys in $PARALLEL_HOME/ignored_vars + # Returns: N/A + my $ignore_filename = $Global::config_dir . "/ignored_vars"; + if(open(my $vars_fh, ">", $ignore_filename)) { + print $vars_fh map { $_,"\n" } keys %ENV; + } else { + ::error("Cannot write to $ignore_filename."); + ::wait_and_exit(255); + } +} + +sub open_joblog { + # Open joblog as specified by --joblog + # Uses: + # $opt::resume + # $opt::resume_failed + # $opt::joblog + # $opt::results + # $Global::job_already_run + # %Global::fd + my $append = 0; + if(($opt::resume or $opt::resume_failed) + and + not ($opt::joblog or $opt::results)) { + ::error("--resume and --resume-failed require --joblog or --results."); + ::wait_and_exit(255); + } + if(defined $opt::joblog and $opt::joblog =~ s/^\+//) { + # --joblog +filename = append to filename + $append = 1; + } + if($opt::joblog + and + ($opt::sqlmaster + or + not $opt::sqlworker)) { + # Do not log if --sqlworker + if($opt::resume || $opt::resume_failed || $opt::retry_failed) { + if(open(my $joblog_fh, "<", $opt::joblog)) { + # Read the joblog + # If there is a header: Open as append later + $append = <$joblog_fh>; + my $joblog_regexp; + if($opt::retry_failed) { + # Make a regexp that only matches commands with exit+signal=0 + # 4 host 1360490623.067 3.445 1023 1222 0 0 command + $joblog_regexp='^(\d+)(?:\t[^\t]+){5}\t0\t0\t'; + my @group; + { + local $/ = "\n"; + while(<$joblog_fh>) { + if(/$joblog_regexp/o) { + # This is 30% faster than set_job_already_run($1); + vec($Global::job_already_run,($1||0),1) = 1; + $Global::total_completed++; + $group[$1-1] = "true"; + } elsif(/(\d+)\s+\S+(\s+[-0-9.]+){6}\s+(.*)$/) { + # Grab out the command + $group[$1-1] = $3; + } else { + chomp; + ::error("Format of '$opt::joblog' is wrong: $_"); + ::wait_and_exit(255); + } + } + } + if(@group) { + my ($outfh,$name) = ::tmpfile(SUFFIX => ".arg"); + unlink($name); + # Put args into argfile + if(grep /\0/, @group) { + # force --null to deal with \n in commandlines + ::warning("Command lines contain newline. Forcing --null."); + $opt::null = 1; + $/ = "\0"; + } + # Replace \0 with '\n' as used in print_joblog() + print $outfh map { s/\0/\n/g; $_,$/ } @group; + seek $outfh, 0, 0; + exit_if_disk_full(); + # Set filehandle to -a + @opt::a = ($outfh); + } + # Remove $command (so -a is run) + @ARGV = (); + } + if($opt::resume || $opt::resume_failed) { + if($opt::resume_failed) { + # Make a regexp that only matches commands with exit+signal=0 + # 4 host 1360490623.067 3.445 1023 1222 0 0 command + $joblog_regexp='^(\d+)(?:\t[^\t]+){5}\t0\t0\t'; + } else { + # Just match the job number + $joblog_regexp='^(\d+)'; + } + while(<$joblog_fh>) { + if(/$joblog_regexp/o) { + # This is 30% faster than set_job_already_run($1); + vec($Global::job_already_run,($1||0),1) = 1; + $Global::total_completed++; + } elsif(not /\d+\s+[^\s]+\s+([-0-9.]+\s+){6}/) { + ::error("Format of '$opt::joblog' is wrong: $_"); + ::wait_and_exit(255); + } + } + } + close $joblog_fh; + } + } + if($opt::dryrun) { + # Do not write to joblog in a dry-run + if(not open($Global::joblog, ">", "/dev/null")) { + ::error("Cannot write to --joblog $opt::joblog."); + ::wait_and_exit(255); + } + } elsif($append) { + # Append to joblog + if(not open($Global::joblog, ">>", $opt::joblog)) { + ::error("Cannot append to --joblog $opt::joblog."); + ::wait_and_exit(255); + } + } else { + if($opt::joblog eq "-") { + # Use STDOUT as joblog + $Global::joblog = $Global::fd{1}; + } elsif(not open($Global::joblog, ">", $opt::joblog)) { + # Overwrite the joblog + ::error("Cannot write to --joblog $opt::joblog."); + ::wait_and_exit(255); + } + print $Global::joblog + join("\t", "Seq", "Host", "Starttime", "JobRuntime", + "Send", "Receive", "Exitval", "Signal", "Command" + ). "\n"; + } + } +} + +sub open_csv { + if($opt::results) { + # Output as CSV/TSV + if($opt::results eq "-.csv" + or + $opt::results eq "-.tsv") { + # Output as CSV/TSV on stdout + open $Global::csv_fh, ">&", "STDOUT" or + ::die_bug("Can't dup STDOUT in csv: $!"); + # Do not print any other output to STDOUT + # by forcing all other output to /dev/null + open my $fd, ">", "/dev/null" or + ::die_bug("Can't >/dev/null in csv: $!"); + $Global::fd{1} = $fd; + $Global::fd{2} = $fd; + } elsif($Global::csvsep) { + if(not open($Global::csv_fh,">",$opt::results)) { + ::error("Cannot open results file `$opt::results': ". + "$!."); + wait_and_exit(255); + } + } + } +} + +sub find_compression_program { + # Find a fast compression program + # Returns: + # $compress_program = compress program with options + # $decompress_program = decompress program with options + + # Search for these. Sorted by speed on 128 core + + # seq 120000000|shuf > 1gb & + # apt-get update + # apt install make g++ htop + # wget -O - pi.dk/3 | bash + # apt install zstd clzip liblz4-tool lzop pigz pxz gzip plzip pbzip2 lzma xz-utils lzip bzip2 lbzip2 lrzip pixz + # git clone https://github.com/facebook/zstd.git + # (cd zstd/contrib/pzstd; make -j; cp pzstd /usr/local/bin) + # echo 'lrzip -L $((-$1))' >/usr/local/bin/lrz + # chmod +x /usr/local/bin/lrz + # wait + # onethread="zstd clzip lz4 lzop gzip lzma xz bzip2" + # multithread="pzstd pigz pxz plzip pbzip2 lzip lbzip2 lrz pixz" + # parallel --shuf -j1 --joblog jl-m --arg-sep , parallel --compress-program \'{3}" "-{2}\' cat ::: 1gb '>'/dev/null , 1 2 3 , {1..3} , $multithread + # parallel --shuf -j50% --delay 1 --joblog jl-s --arg-sep , parallel --compress-program \'{3}" "-{2}\' cat ::: 1gb '>'/dev/null , 1 2 3 , {1..3} , $onethread + # sort -nk4 jl-? + + # 1-core: + # 2-cores: pzstd zstd lz4 lzop pigz gzip lbzip2 pbzip2 lrz bzip2 lzma pxz plzip xz lzip clzip + # 4-cores: + # 8-cores: pzstd lz4 zstd pigz lzop lbzip2 pbzip2 gzip lzip lrz plzip pxz bzip2 lzma xz clzip + # 16-cores: pzstd lz4 pigz lzop lbzip2 pbzip2 plzip lzip lrz pxz gzip lzma xz bzip2 + # 32-cores: pzstd lbzip2 pbzip2 zstd pigz lz4 lzop plzip lzip lrz gzip pxz lzma bzip2 xz clzip + # 64-cores: pzstd lbzip2 pbzip2 pigz zstd pixz lz4 plzip lzop lzip lrz gzip pxz lzma bzip2 xz clzip + # 128-core: pzstd lbzip2 pbzip2 zstd pixz lz4 pigz lzop plzip lzip gzip lrz pxz bzip2 lzma xz clzip + + my @prg = qw(pzstd lbzip2 pbzip2 zstd pixz lz4 pigz lzop plzip lzip gzip + lrz pxz bzip2 lzma xz clzip); + for my $p (@prg) { + if(which($p)) { + return ("$p -c -1","$p -dc"); + } + } + # Fall back to cat + return ("cat","cat"); +} + +sub read_options { + # Read options from command line, profile and $PARALLEL + # Uses: + # $opt::shebang_wrap + # $opt::shebang + # @ARGV + # $opt::plain + # @opt::profile + # $ENV{'HOME'} + # $ENV{'PARALLEL'} + # Returns: + # @ARGV_no_opt = @ARGV without --options + + # This must be done first as this may exec myself + if(defined $ARGV[0] and ($ARGV[0] =~ /^--shebang/ or + $ARGV[0] =~ /^--shebang-?wrap/ or + $ARGV[0] =~ /^--hashbang/)) { + # Program is called from #! line in script + # remove --shebang-wrap if it is set + $opt::shebang_wrap = ($ARGV[0] =~ s/^--shebang-?wrap *//); + # remove --shebang if it is set + $opt::shebang = ($ARGV[0] =~ s/^--shebang *//); + # remove --hashbang if it is set + $opt::shebang .= ($ARGV[0] =~ s/^--hashbang *//); + if($opt::shebang) { + my $argfile = shell_quote_scalar(pop @ARGV); + # exec myself to split $ARGV[0] into separate fields + exec "$0 --skip-first-line -a $argfile @ARGV"; + } + if($opt::shebang_wrap) { + my @options; + my @parser; + if ($^O eq 'freebsd') { + # FreeBSD's #! puts different values in @ARGV than Linux' does. + my @nooptions = @ARGV; + get_options_from_array(\@nooptions); + while($#ARGV > $#nooptions) { + push @options, shift @ARGV; + } + while(@ARGV and $ARGV[0] ne ":::") { + push @parser, shift @ARGV; + } + if(@ARGV and $ARGV[0] eq ":::") { + shift @ARGV; + } + } else { + @options = shift @ARGV; + } + my $script = shell_quote_scalar(shift @ARGV); + # exec myself to split $ARGV[0] into separate fields + exec "$0 --internal-pipe-means-argfiles @options @parser $script ". + "::: @ARGV"; + } + } + if($ARGV[0] =~ / --shebang(-?wrap)? /) { + ::warning("--shebang and --shebang-wrap must be the first argument.\n"); + } + + Getopt::Long::Configure("bundling","require_order"); + my @ARGV_copy = @ARGV; + my @ARGV_orig = @ARGV; + # Check if there is a --profile to set @opt::profile + get_options_from_array(\@ARGV_copy,"profile|J=s","plain") || die_usage(); + my @ARGV_profile = (); + my @ARGV_env = (); + if(not $opt::plain) { + # Add options from $PARALLEL_HOME/config and other profiles + my @config_profiles = ( + "/etc/parallel/config", + (map { "$_/config" } @Global::config_dirs), + $ENV{'HOME'}."/.parallelrc"); + my @profiles = @config_profiles; + if(@opt::profile) { + # --profile overrides default profiles + @profiles = (); + for my $profile (@opt::profile) { + # Look for the $profile in . and @Global::config_dirs + push @profiles, grep { -r $_ } + map { "$_/$profile" } ".", @Global::config_dirs; + } + } + for my $profile (@profiles) { + if(-r $profile) { + local $/ = "\n"; + open (my $in_fh, "<", $profile) || + ::die_bug("read-profile: $profile"); + while(<$in_fh>) { + /^\s*\#/ and next; + chomp; + push @ARGV_profile, shell_words($_); + } + close $in_fh; + } else { + if(grep /^$profile$/, @config_profiles) { + # config file is not required to exist + } else { + ::error("$profile not readable."); + wait_and_exit(255); + } + } + } + # Add options from shell variable $PARALLEL + if($ENV{'PARALLEL'}) { + @ARGV_env = shell_words($ENV{'PARALLEL'}); + } + } + Getopt::Long::Configure("bundling","require_order"); + get_options_from_array(\@ARGV_profile) || die_usage(); + get_options_from_array(\@ARGV_env) || die_usage(); + get_options_from_array(\@ARGV) || die_usage(); + # What were the options given on the command line? + # Used to start --sqlworker + my $ai = arrayindex(\@ARGV_orig, \@ARGV); + @Global::options_in_argv = @ARGV_orig[0..$ai-1]; + # Prepend non-options to @ARGV (such as commands like 'nice') + unshift @ARGV, @ARGV_profile, @ARGV_env; + return @ARGV; +} + +sub arrayindex { + # Similar to Perl's index function, but for arrays + # Input: + # $arr_ref1 = ref to @array1 to search in + # $arr_ref2 = ref to @array2 to search for + my ($arr_ref1,$arr_ref2) = @_; + my $array1_as_string = join "", map { "\0".$_ } @$arr_ref1; + my $array2_as_string = join "", map { "\0".$_ } @$arr_ref2; + my $i = index($array1_as_string,$array2_as_string,0); + if($i == -1) { return -1 } + my @before = split /\0/, substr($array1_as_string,0,$i); + return $#before; +} + +sub read_args_from_command_line { + # Arguments given on the command line after: + # ::: ($Global::arg_sep) + # :::: ($Global::arg_file_sep) + # :::+ ($Global::arg_sep with --link) + # ::::+ ($Global::arg_file_sep with --link) + # Removes the arguments from @ARGV and: + # - puts filenames into -a + # - puts arguments into files and add the files to -a + # - adds --linkinputsource with 0/1 for each -a depending on :::+/::::+ + # Input: + # @::ARGV = command option ::: arg arg arg :::: argfiles + # Uses: + # $Global::arg_sep + # $Global::arg_file_sep + # $opt::internal_pipe_means_argfiles + # $opt::pipe + # @opt::a + # Returns: + # @argv_no_argsep = @::ARGV without ::: and :::: and following args + my @new_argv = (); + for(my $arg = shift @ARGV; @ARGV; $arg = shift @ARGV) { + if($arg eq $Global::arg_sep + or + $arg eq $Global::arg_sep."+" + or + $arg eq $Global::arg_file_sep + or + $arg eq $Global::arg_file_sep."+") { + my $group_sep = $arg; # This group of arguments is args or argfiles + my @group; + while(defined ($arg = shift @ARGV)) { + if($arg eq $Global::arg_sep + or + $arg eq $Global::arg_sep."+" + or + $arg eq $Global::arg_file_sep + or + $arg eq $Global::arg_file_sep."+") { + # exit while loop if finding new separator + last; + } else { + # If not hitting ::: :::+ :::: or ::::+ + # Append it to the group + push @group, $arg; + } + } + my $is_linked = ($group_sep =~ /\+$/) ? 1 : 0; + my $is_file = ($group_sep eq $Global::arg_file_sep + or + $group_sep eq $Global::arg_file_sep."+"); + if($is_file) { + # :::: / ::::+ + push @opt::linkinputsource, map { $is_linked } @group; + } else { + # ::: / :::+ + push @opt::linkinputsource, $is_linked; + } + if($is_file + or ($opt::internal_pipe_means_argfiles and $opt::pipe) + ) { + # Group of file names on the command line. + # Append args into -a + push @opt::a, @group; + } else { + # Group of arguments on the command line. + # Put them into a file. + # Create argfile + my ($outfh,$name) = ::tmpfile(SUFFIX => ".arg"); + unlink($name); + # Put args into argfile + print $outfh map { $_,$/ } @group; + seek $outfh, 0, 0; + exit_if_disk_full(); + # Append filehandle to -a + push @opt::a, $outfh; + } + if(defined($arg)) { + # $arg is ::: :::+ :::: or ::::+ + # so there is another group + redo; + } else { + # $arg is undef -> @ARGV empty + last; + } + } + push @new_argv, $arg; + } + # Output: @ARGV = command to run with options + return @new_argv; +} + +sub cleanup { + # Returns: N/A + unlink keys %Global::unlink; + map { rmdir $_ } keys %Global::unlink; + if(@opt::basefile and $opt::cleanup) { cleanup_basefile(); } + for(keys %Global::sshmaster) { + # If 'ssh -M's are running: kill them + kill "TERM", $_; + } +} + + +sub __QUOTING_ARGUMENTS_FOR_SHELL__ {} + + +sub shell_quote { + # Input: + # @strings = strings to be quoted + # Output: + # @shell_quoted_strings = string quoted with \ as needed by the shell + return wantarray ? + (map { shell_quote_scalar($_) } @_) + : (join" ",map { shell_quote_scalar($_) } @_); +} + +sub shell_quote_scalar_rc { + # Quote for the rc-shell + my $a = $_[0]; + if(defined $a) { + if(($a =~ s/'/''/g) + + + ($a =~ s/[\n\002-\011\013-\032\\\#\?\`\(\)\{\}\[\]\^\*\<\=\>\~\|\; \"\!\$\&\'\202-\377]+/'$&'/go)) { + # A string was replaced + # No need to test for "" or \0 + } elsif($a eq "") { + $a = "''"; + } elsif($a eq "\0") { + $a = ""; + } + } + return $a; +} + +sub shell_quote_scalar_csh { + # Quote for (t)csh + my $a = $_[0]; + if(defined $a) { + # $a =~ s/([\002-\011\013-\032\\\#\?\`\(\)\{\}\[\]\^\*\>\<\~\|\; \"\!\$\&\'\202-\377])/\\$1/g; + # This is 1% faster than the above + if(($a =~ s/[\002-\011\013-\032\\\#\?\`\(\)\{\}\[\]\^\*\<\=\>\~\|\; \"\!\$\&\'\202-\377]/\\$&/go) + + + # quote newline in csh as \\\n + ($a =~ s/[\n]/"\\\n"/go)) { + # A string was replaced + # No need to test for "" or \0 + } elsif($a eq "") { + $a = "''"; + } elsif($a eq "\0") { + $a = ""; + } + } + return $a; +} + +sub shell_quote_scalar_default { + # Quote for other shells + my $a = $_[0]; + if(defined $a) { + # zsh wants '=' quoted + # Solaris sh wants ^ quoted. + # $a =~ s/([\002-\011\013-\032\\\#\?\`\(\)\{\}\[\]\^\*\>\<\~\|\; \"\!\$\&\'\202-\377])/\\$1/g; + # This is 1% faster than the above + if(($a =~ s/[\002-\011\013-\032\\\#\?\`\(\)\{\}\[\]\^\*\<\=\>\~\|\; \"\!\$\&\'\202-\377]/\\$&/go) + + + # quote newline as '\n' + ($a =~ s/[\n]/'\n'/go)) { + # A string was replaced + # No need to test for "" or \0 + } elsif($a eq "") { + $a = "''"; + } elsif($a eq "\0") { + $a = ""; + } + } + return $a; +} + +sub shell_quote_scalar { + # Quote the string so the shell will not expand any special chars + # Inputs: + # $string = string to be quoted + # Returns: + # $shell_quoted = string quoted as needed by the shell + + # Speed optimization: Choose the correct shell_quote_scalar_* + # and call that directly from now on + no warnings 'redefine'; + if($Global::cshell) { + # (t)csh + *shell_quote_scalar = \&shell_quote_scalar_csh; + } elsif($Global::shell =~ m:(^|/)rc$:) { + # rc-shell + *shell_quote_scalar = \&shell_quote_scalar_rc; + } else { + # other shells + *shell_quote_scalar = \&shell_quote_scalar_default; + } + # The sub is now redefined. Call it + return shell_quote_scalar(@_); +} + +sub shell_quote_file { + # Quote the string so shell will not expand any special chars + # and prepend ./ if needed + # Input: + # $filename = filename to be shell quoted + # Returns: + # $quoted_filename = filename quoted with \ and ./ if needed + my $a = shell_quote_scalar(shift); + if(defined $a) { + if($a =~ m:^/: or $a =~ m:^\./:) { + # /abs/path or ./rel/path => skip + } else { + # rel/path => ./rel/path + $a = "./".$a; + } + } + return $a; +} + +sub shell_words { + # Input: + # $string = shell line + # Returns: + # @shell_words = $string split into words as shell would do + $Global::use{"Text::ParseWords"} ||= eval "use Text::ParseWords; 1;"; + return Text::ParseWords::shellwords(@_); +} + +sub perl_quote_scalar { + # Quote the string so perl's eval will not expand any special chars + # Inputs: + # $string = string to be quoted + # Returns: + # $perl_quoted = string quoted with \ as needed by perl's eval + my $a = $_[0]; + if(defined $a) { + $a =~ s/[\\\"\$\@]/\\$&/go; + } + return $a; +} + +sub unquote_printf { + # Convert \t \n \r \000 \0 + $_ = shift; + s/\\t/\t/g; + s/\\n/\n/g; + s/\\r/\r/g; + s/\\(\d\d\d)/eval 'sprintf "\\'.$1.'"'/ge; + s/\\(\d)/eval 'sprintf "\\'.$1.'"'/ge; + return $_; +} + + +sub __FILEHANDLES__ {} + + +sub save_stdin_stdout_stderr { + # Remember the original STDIN, STDOUT and STDERR + # and file descriptors opened by the shell (e.g. 3>/tmp/foo) + # Uses: + # %Global::fd + # $Global::original_stderr + # $Global::original_stdin + # Returns: N/A + + # TODO Disabled until we have an open3 that will take n filehandles + # for my $fdno (1..61) { + # # /dev/fd/62 and above are used by bash for <(cmd) + # # Find file descriptors that are already opened (by the shell) + # Only focus on stdout+stderr for now + for my $fdno (1..2) { + my $fh; + # 2-argument-open is used to be compatible with old perl 5.8.0 + # bug #43570: Perl 5.8.0 creates 61 files + if(open($fh,">&=$fdno")) { + $Global::fd{$fdno}=$fh; + } + } + open $Global::original_stderr, ">&", "STDERR" or + ::die_bug("Can't dup STDERR: $!"); + open $Global::status_fd, ">&", "STDERR" or + ::die_bug("Can't dup STDERR: $!"); + open $Global::original_stdin, "<&", "STDIN" or + ::die_bug("Can't dup STDIN: $!"); +} + +sub enough_file_handles { + # Check that we have enough filehandles available for starting + # another job + # Uses: + # $opt::ungroup + # %Global::fd + # Returns: + # 1 if ungrouped (thus not needing extra filehandles) + # 0 if too few filehandles + # 1 if enough filehandles + if(not $opt::ungroup) { + my %fh; + my $enough_filehandles = 1; + # perl uses 7 filehandles for something? + # open3 uses 2 extra filehandles temporarily + # We need a filehandle for each redirected file descriptor + # (normally just STDOUT and STDERR) + for my $i (1..(7+2+keys %Global::fd)) { + $enough_filehandles &&= open($fh{$i}, "<", "/dev/null"); + } + for (values %fh) { close $_; } + return $enough_filehandles; + } else { + # Ungrouped does not need extra file handles + return 1; + } +} + +sub open_or_exit { + # Open a file name or exit if the file cannot be opened + # Inputs: + # $file = filehandle or filename to open + # Uses: + # $Global::original_stdin + # Returns: + # $fh = file handle to read-opened file + my $file = shift; + if($file eq "-") { + return ($Global::original_stdin || *STDIN); + } + if(ref $file eq "GLOB") { + # This is an open filehandle + return $file; + } + my $fh = gensym; + if(not open($fh, "<", $file)) { + ::error("Cannot open input file `$file': No such file or directory."); + wait_and_exit(255); + } + return $fh; +} + +sub set_fh_blocking { + # Set filehandle as blocking + # Inputs: + # $fh = filehandle to be blocking + # Returns: + # N/A + my $fh = shift; + $Global::use{"Fcntl"} ||= eval "use Fcntl qw(:DEFAULT :flock); 1;"; + my $flags; + # Get the current flags on the filehandle + fcntl($fh, &F_GETFL, $flags) || die $!; + # Remove non-blocking from the flags + $flags &= ~&O_NONBLOCK; + # Set the flags on the filehandle + fcntl($fh, &F_SETFL, $flags) || die $!; +} + +sub set_fh_non_blocking { + # Set filehandle as non-blocking + # Inputs: + # $fh = filehandle to be blocking + # Returns: + # N/A + my $fh = shift; + $Global::use{"Fcntl"} ||= eval "use Fcntl qw(:DEFAULT :flock); 1;"; + my $flags; + # Get the current flags on the filehandle + fcntl($fh, &F_GETFL, $flags) || die $!; + # Add non-blocking to the flags + $flags |= &O_NONBLOCK; + # Set the flags on the filehandle + fcntl($fh, &F_SETFL, $flags) || die $!; +} + + +sub __RUNNING_THE_JOBS_AND_PRINTING_PROGRESS__ {} + + +# Variable structure: +# +# $Global::running{$pid} = Pointer to Job-object +# @Global::virgin_jobs = Pointer to Job-object that have received no input +# $Global::host{$sshlogin} = Pointer to SSHLogin-object +# $Global::total_running = total number of running jobs +# $Global::total_started = total jobs started +# $Global::max_procs_file = filename if --jobs is given a filename +# $Global::JobQueue = JobQueue object for the queue of jobs +# $Global::timeoutq = queue of times where jobs timeout +# $Global::newest_job = Job object of the most recent job started +# $Global::newest_starttime = timestamp of $Global::newest_job +# @Global::sshlogin +# $Global::minimal_command_line_length = minimum length supported by all sshlogins +# $Global::start_no_new_jobs = should more jobs be started? +# $Global::original_stderr = file handle for STDERR when the program started +# $Global::total_started = total number of jobs started +# $Global::joblog = filehandle of joblog +# $Global::debug = Is debugging on? +# $Global::exitstatus = status code of GNU Parallel +# $Global::quoting = quote the command to run + +sub init_run_jobs { + # Set Global variables and progress signal handlers + # Do the copying of basefiles + # Returns: N/A + $Global::total_running = 0; + $Global::total_started = 0; + $SIG{USR1} = \&list_running_jobs; + $SIG{USR2} = \&toggle_progress; + if(@opt::basefile) { setup_basefile(); } +} + +{ + my $last_time; + my %last_mtime; + my $max_procs_file_last_mod; + + sub changed_procs_file { + # If --jobs is a file and it is modfied: + # Force recomputing of max_jobs_running for each $sshlogin + # Uses: + # $Global::max_procs_file + # %Global::host + # Returns: N/A + if($Global::max_procs_file) { + # --jobs filename + my $mtime = (stat($Global::max_procs_file))[9]; + $max_procs_file_last_mod ||= 0; + if($mtime > $max_procs_file_last_mod) { + # file changed: Force re-computing max_jobs_running + $max_procs_file_last_mod = $mtime; + for my $sshlogin (values %Global::host) { + $sshlogin->set_max_jobs_running(undef); + } + } + } + } + + sub changed_sshloginfile { + # If --slf is changed: + # reload --slf + # filter_hosts + # setup_basefile + # Uses: + # @opt::sshloginfile + # @Global::sshlogin + # %Global::host + # $opt::filter_hosts + # Returns: N/A + if(@opt::sshloginfile) { + # Is --sshloginfile changed? + for my $slf (@opt::sshloginfile) { + my $actual_file = expand_slf_shorthand($slf); + my $mtime = (stat($actual_file))[9]; + $last_mtime{$actual_file} ||= $mtime; + if($mtime - $last_mtime{$actual_file} > 1) { + ::debug("run","--sshloginfile $actual_file changed. reload\n"); + $last_mtime{$actual_file} = $mtime; + # Reload $slf + # Empty sshlogins + @Global::sshlogin = (); + for (values %Global::host) { + # Don't start new jobs on any host + # except the ones added back later + $_->set_max_jobs_running(0); + } + # This will set max_jobs_running on the SSHlogins + read_sshloginfile($actual_file); + parse_sshlogin(); + $opt::filter_hosts and filter_hosts(); + setup_basefile(); + } + } + } + } + + sub start_more_jobs { + # Run start_another_job() but only if: + # * not $Global::start_no_new_jobs set + # * not JobQueue is empty + # * not load on server is too high + # * not server swapping + # * not too short time since last remote login + # Uses: + # %Global::host + # $Global::start_no_new_jobs + # $Global::JobQueue + # $opt::pipe + # $opt::load + # $opt::noswap + # $opt::delay + # $Global::newest_starttime + # Returns: + # $jobs_started = number of jobs started + my $jobs_started = 0; + my $jobs_started_this_round = 0; + if($Global::start_no_new_jobs) { + return $jobs_started; + } + if(time - ($last_time||0) > 1) { + # At most do this every second + $last_time = time; + changed_procs_file(); + changed_sshloginfile(); + } + do { + $jobs_started_this_round = 0; + # This will start 1 job on each --sshlogin (if possible) + # thus distribute the jobs on the --sshlogins round robin + for my $sshlogin (values %Global::host) { + if($Global::JobQueue->empty() and not $opt::pipe) { + # No more jobs in the queue + last; + } + debug("run", "Running jobs before on ", $sshlogin->string(), ": ", + $sshlogin->jobs_running(), "\n"); + if ($sshlogin->jobs_running() < $sshlogin->max_jobs_running()) { + if($opt::delay + and + $opt::delay > ::now() - $Global::newest_starttime) { + # It has been too short since last start + next; + } + if($opt::load and $sshlogin->loadavg_too_high()) { + # The load is too high or unknown + next; + } + if($opt::noswap and $sshlogin->swapping()) { + # The server is swapping + next; + } + if($opt::limit and $sshlogin->limit()) { + # Over limit + next; + } + if($opt::memfree and $sshlogin->memfree() < $opt::memfree) { + # The server has not enough mem free + ::debug("mem", "Not starting job: not enough mem\n"); + next; + } + if($sshlogin->too_fast_remote_login()) { + # It has been too short since + next; + } + debug("run", $sshlogin->string(), + " has ", $sshlogin->jobs_running(), + " out of ", $sshlogin->max_jobs_running(), + " jobs running. Start another.\n"); + if(start_another_job($sshlogin) == 0) { + # No more jobs to start on this $sshlogin + debug("run","No jobs started on ", + $sshlogin->string(), "\n"); + next; + } + $sshlogin->inc_jobs_running(); + $sshlogin->set_last_login_at(::now()); + $jobs_started++; + $jobs_started_this_round++; + } + debug("run","Running jobs after on ", $sshlogin->string(), ": ", + $sshlogin->jobs_running(), " of ", + $sshlogin->max_jobs_running(), "\n"); + } + } while($jobs_started_this_round); + + return $jobs_started; + } +} + +{ + my $no_more_file_handles_warned; + + sub start_another_job { + # If there are enough filehandles + # and JobQueue not empty + # and not $job is in joblog + # Then grab a job from Global::JobQueue, + # start it at sshlogin + # mark it as virgin_job + # Inputs: + # $sshlogin = the SSHLogin to start the job on + # Uses: + # $Global::JobQueue + # $opt::pipe + # $opt::results + # $opt::resume + # @Global::virgin_jobs + # Returns: + # 1 if another jobs was started + # 0 otherwise + my $sshlogin = shift; + # Do we have enough file handles to start another job? + if(enough_file_handles()) { + if($Global::JobQueue->empty() and not $opt::pipe) { + # No more commands to run + debug("start", "Not starting: JobQueue empty\n"); + return 0; + } else { + my $job; + # Skip jobs already in job log + # Skip jobs already in results + do { + $job = get_job_with_sshlogin($sshlogin); + if(not defined $job) { + # No command available for that sshlogin + debug("start", "Not starting: no jobs available for ", + $sshlogin->string(), "\n"); + return 0; + } + if($job->is_already_in_joblog()) { + $job->free_slot(); + } + } while ($job->is_already_in_joblog() + or + ($opt::results and $opt::resume and $job->is_already_in_results())); + debug("start", "Command to run on '", $job->sshlogin()->string(), "': '", + $job->replaced(),"'\n"); + if($job->start()) { + if($opt::pipe) { + if($job->virgin()) { + push(@Global::virgin_jobs,$job); + } else { + # Block already set: This is a retry + if(fork()) { + ::debug("pipe","\n\nWriting ",length ${$job->block_ref()}, + " to ", $job->seq(),"\n"); + close $job->fh(0,"w"); + } else { + $job->write($job->block_ref()); + close $job->fh(0,"w"); + exit(0); + } + } + } + debug("start", "Started as seq ", $job->seq(), + " pid:", $job->pid(), "\n"); + return 1; + } else { + # Not enough processes to run the job. + # Put it back on the queue. + $Global::JobQueue->unget($job); + # Count down the number of jobs to run for this SSHLogin. + my $max = $sshlogin->max_jobs_running(); + if($max > 1) { $max--; } else { + my @arg; + for my $record (@{$job->{'commandline'}->{'arg_list'}}) { + push @arg, map { $_->orig() } @$record; + } + ::error("No more processes: cannot run a single job. Something is wrong at @arg."); + ::wait_and_exit(255); + } + $sshlogin->set_max_jobs_running($max); + # Sleep up to 300 ms to give other processes time to die + ::usleep(rand()*300); + ::warning("No more processes: ". + "Decreasing number of running jobs to $max.", + "Raising ulimit -u or /etc/security/limits.conf may help."); + return 0; + } + } + } else { + # No more file handles + $no_more_file_handles_warned++ or + ::warning("No more file handles. ", + "Raising ulimit -n or /etc/security/limits.conf may help."); + debug("start", "No more file handles. "); + return 0; + } + } +} + +sub init_progress { + # Uses: + # $opt::bar + # Returns: + # list of computers for progress output + $|=1; + if($opt::bar) { + return("",""); + } + my %progress = progress(); + return ("\nComputers / CPU cores / Max jobs to run\n", + $progress{'workerlist'}); +} + +sub drain_job_queue { + # Uses: + # $opt::progress + # $Global::total_running + # $Global::max_jobs_running + # %Global::running + # $Global::JobQueue + # %Global::host + # $Global::start_no_new_jobs + # Returns: N/A + if($opt::progress) { + ::status_no_nl(init_progress()); + } + my $last_header = ""; + my $sleep = 0.2; + do { + while($Global::total_running > 0) { + debug($Global::total_running, "==", scalar + keys %Global::running," slots: ", $Global::max_jobs_running); + if($opt::pipe) { + # When using --pipe sometimes file handles are not closed properly + for my $job (values %Global::running) { + close $job->fh(0,"w"); + } + } + if($opt::progress) { + my %progress = progress(); + if($last_header ne $progress{'header'}) { + ::status("", $progress{'header'}); + $last_header = $progress{'header'}; + } + ::status_no_nl("\r",$progress{'status'}); + } + if($Global::total_running < $Global::max_jobs_running + and not $Global::JobQueue->empty()) { + # These jobs may not be started because of loadavg + # or too little time between each ssh login. + if(start_more_jobs() > 0) { + # Exponential back-on if jobs were started + $sleep = $sleep/2+0.001; + } + } + # Exponential back-off sleeping + $sleep = ::reap_usleep($sleep); + } + if(not $Global::JobQueue->empty()) { + # These jobs may not be started: + # * because there the --filter-hosts has removed all + if(not %Global::host) { + ::error("There are no hosts left to run on."); + ::wait_and_exit(255); + } + # * because of loadavg + # * because of too little time between each ssh login. + start_more_jobs(); + $sleep = ::reap_usleep($sleep); + if($Global::max_jobs_running == 0) { + ::warning("There are no job slots available. Increase --jobs."); + } + } + while($opt::sqlmaster and not $Global::sql->finished()) { + # SQL master + $sleep = ::reap_usleep($sleep); + if($Global::start_sqlworker) { + # Start an SQL worker as we are now sure there is work to do + $Global::start_sqlworker = 0; + if(my $pid = fork()) { + $Global::unkilled_sqlworker = $pid; + } else { + # Replace --sql/--sqlandworker with --sqlworker + my @ARGV = map { s/^--sql(andworker)?$/--sqlworker/; $_ } @Global::options_in_argv; + # exec the --sqlworker + exec($0,::shell_quote(@ARGV),@command); + } + } + } + } while ($Global::total_running > 0 + or + not $Global::start_no_new_jobs and not $Global::JobQueue->empty() + or + $opt::sqlmaster and not $Global::sql->finished()); + if($opt::progress) { + my %progress = progress(); + ::status("\r".$progress{'status'}); + } +} + +sub toggle_progress { + # Turn on/off progress view + # Uses: + # $opt::progress + # Returns: N/A + $opt::progress = not $opt::progress; + if($opt::progress) { + ::status_no_nl(init_progress()); + } +} + +sub progress { + # Uses: + # $opt::bar + # $opt::eta + # %Global::host + # $Global::total_started + # Returns: + # $workerlist = list of workers + # $header = that will fit on the screen + # $status = message that will fit on the screen + if($opt::bar) { + return ("workerlist" => "", "header" => "", "status" => bar()); + } + my $eta = ""; + my ($status,$header)=("",""); + if($opt::eta) { + my($total, $completed, $left, $pctcomplete, $avgtime, $this_eta) = + compute_eta(); + $eta = sprintf("ETA: %ds Left: %d AVG: %.2fs ", + $this_eta, $left, $avgtime); + } + my $termcols = terminal_columns(); + my @workers = sort keys %Global::host; + my %sshlogin = map { $_ eq ":" ? ($_ => "local") : ($_ => $_) } @workers; + my $workerno = 1; + my %workerno = map { ($_=>$workerno++) } @workers; + my $workerlist = ""; + for my $w (@workers) { + $workerlist .= + $workerno{$w}.":".$sshlogin{$w} ." / ". + ($Global::host{$w}->ncpus() || "-")." / ". + $Global::host{$w}->max_jobs_running()."\n"; + } + $status = "x"x($termcols+1); + # Select an output format that will fit on a single line + if(length $status > $termcols) { + # sshlogin1:XX/XX/XX%/XX.Xs sshlogin2:XX/XX/XX%/XX.Xs sshlogin3:XX/XX/XX%/XX.Xs + $header = "Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete"; + $status = $eta . + join(" ",map + { + if($Global::total_started) { + my $completed = ($Global::host{$_}->jobs_completed()||0); + my $running = $Global::host{$_}->jobs_running(); + my $time = $completed ? (time-$^T)/($completed) : "0"; + sprintf("%s:%d/%d/%d%%/%.1fs ", + $sshlogin{$_}, $running, $completed, + ($running+$completed)*100 + / $Global::total_started, $time); + } + } @workers); + } + if(length $status > $termcols) { + # 1:XX/XX/XX%/XX.Xs 2:XX/XX/XX%/XX.Xs 3:XX/XX/XX%/XX.Xs 4:XX/XX/XX%/XX.Xs + $header = "Computer:jobs running/jobs completed/%of started jobs"; + $status = $eta . + join(" ",map + { + if($Global::total_started) { + my $completed = ($Global::host{$_}->jobs_completed()||0); + my $running = $Global::host{$_}->jobs_running(); + my $time = $completed ? (time-$^T)/($completed) : "0"; + sprintf("%s:%d/%d/%d%%/%.1fs ", + $workerno{$_}, $running, $completed, + ($running+$completed)*100 + / $Global::total_started, $time); + } + } @workers); + } + if(length $status > $termcols) { + # sshlogin1:XX/XX/XX% sshlogin2:XX/XX/XX% sshlogin3:XX/XX/XX% + $header = "Computer:jobs running/jobs completed/%of started jobs"; + $status = $eta . + join(" ",map + { + if($Global::total_started) { + sprintf("%s:%d/%d/%d%%", + $sshlogin{$_}, + $Global::host{$_}->jobs_running(), + ($Global::host{$_}->jobs_completed()||0), + ($Global::host{$_}->jobs_running()+ + ($Global::host{$_}->jobs_completed()||0))*100 + / $Global::total_started) + } + } + @workers); + } + if(length $status > $termcols) { + # 1:XX/XX/XX% 2:XX/XX/XX% 3:XX/XX/XX% 4:XX/XX/XX% 5:XX/XX/XX% 6:XX/XX/XX% + $header = "Computer:jobs running/jobs completed/%of started jobs"; + $status = $eta . + join(" ",map + { + if($Global::total_started) { + sprintf("%s:%d/%d/%d%%", + $workerno{$_}, + $Global::host{$_}->jobs_running(), + ($Global::host{$_}->jobs_completed()||0), + ($Global::host{$_}->jobs_running()+ + ($Global::host{$_}->jobs_completed()||0))*100 + / $Global::total_started) + } + } + @workers); + } + if(length $status > $termcols) { + # sshlogin1:XX/XX/XX% sshlogin2:XX/XX/XX% sshlogin3:XX/XX sshlogin4:XX/XX + $header = "Computer:jobs running/jobs completed"; + $status = $eta . + join(" ",map + { sprintf("%s:%d/%d", + $sshlogin{$_}, $Global::host{$_}->jobs_running(), + ($Global::host{$_}->jobs_completed()||0)) } + @workers); + } + if(length $status > $termcols) { + # sshlogin1:XX/XX sshlogin2:XX/XX sshlogin3:XX/XX sshlogin4:XX/XX + $header = "Computer:jobs running/jobs completed"; + $status = $eta . + join(" ",map + { sprintf("%s:%d/%d", + $sshlogin{$_}, $Global::host{$_}->jobs_running(), + ($Global::host{$_}->jobs_completed()||0)) } + @workers); + } + if(length $status > $termcols) { + # 1:XX/XX 2:XX/XX 3:XX/XX 4:XX/XX 5:XX/XX 6:XX/XX + $header = "Computer:jobs running/jobs completed"; + $status = $eta . + join(" ",map + { sprintf("%s:%d/%d", + $workerno{$_}, $Global::host{$_}->jobs_running(), + ($Global::host{$_}->jobs_completed()||0)) } + @workers); + } + if(length $status > $termcols) { + # sshlogin1:XX sshlogin2:XX sshlogin3:XX sshlogin4:XX sshlogin5:XX + $header = "Computer:jobs completed"; + $status = $eta . + join(" ",map + { sprintf("%s:%d", + $sshlogin{$_}, + ($Global::host{$_}->jobs_completed()||0)) } + @workers); + } + if(length $status > $termcols) { + # 1:XX 2:XX 3:XX 4:XX 5:XX 6:XX + $header = "Computer:jobs completed"; + $status = $eta . + join(" ",map + { sprintf("%s:%d", + $workerno{$_}, + ($Global::host{$_}->jobs_completed()||0)) } + @workers); + } + return ("workerlist" => $workerlist, "header" => $header, "status" => $status); +} + +{ + + my ($total, $first_completed, $smoothed_avg_time, $last_eta); + + sub compute_eta { + # Calculate important numbers for ETA + # Returns: + # $total = number of jobs in total + # $completed = number of jobs completed + # $left = number of jobs left + # $pctcomplete = percent of jobs completed + # $avgtime = averaged time + # $eta = smoothed eta + $total = $Global::JobQueue->total_jobs(); + my $completed = $Global::total_completed; + my $left = $total - $completed; + if(not $completed) { + return($total, $completed, $left, 0, 0, 0); + } + my $pctcomplete = $completed / $total; + $first_completed ||= time; + my $timepassed = (time - $first_completed); + my $avgtime = $timepassed / $completed; + $smoothed_avg_time ||= $avgtime; + # Smooth the eta so it does not jump wildly + $smoothed_avg_time = (1 - $pctcomplete) * $smoothed_avg_time + + $pctcomplete * $avgtime; + my $eta = int($left * $smoothed_avg_time); + if($eta*0.90 < $last_eta and $last_eta < $eta) { + # Eta jumped less that 10% up: Keep the last eta instead + $eta = $last_eta; + } else { + $last_eta = $eta; + } + return($total, $completed, $left, $pctcomplete, $avgtime, $eta); + } +} + +{ + my ($rev,$reset); + + sub bar { + # Return: + # $status = bar with eta, completed jobs, arg and pct + $rev ||= "\033[7m"; + $reset ||= "\033[0m"; + my($total, $completed, $left, $pctcomplete, $avgtime, $eta) = + compute_eta(); + my $arg = $Global::newest_job ? + $Global::newest_job->{'commandline'}-> + replace_placeholders(["\257<\257>"],0,0) : ""; + # These chars mess up display in the terminal + $arg =~ tr/[\011-\016\033\302-\365]//d; + my $eta_dhms = ::seconds_to_time_units($eta); + my $bar_text = + sprintf("%d%% %d:%d=%s %s", + $pctcomplete*100, $completed, $left, $eta_dhms, $arg); + my $terminal_width = terminal_columns(); + my $s = sprintf("%-${terminal_width}s", + substr($bar_text." "x$terminal_width, + 0,$terminal_width)); + my $width = int($terminal_width * $pctcomplete); + substr($s,$width,0) = $reset; + my $zenity = sprintf("%-${terminal_width}s", + substr("# $eta sec $arg", + 0,$terminal_width)); + $s = "\r" . $zenity . "\r" . $pctcomplete*100 . # Prefix with zenity header + "\r" . $rev . $s . $reset; + return $s; + } +} + +{ + my ($columns,$last_column_time); + + sub terminal_columns { + # Get the number of columns of the terminal. + # Only update once per second. + # Returns: + # number of columns of the screen + if(not $columns or $last_column_time < time) { + $last_column_time = time; + $columns = $ENV{'COLUMNS'}; + if(not $columns) { + my $stty = ::qqx("stty -a get()) { + if($sshlogin->in_hostgroups($job->hostgroups())) { + # Found a job to be run on a hostgroup of this + # $sshlogin + last; + } else { + # This job was not in the hostgroups of $sshlogin + push @other_hostgroup_jobs, $job; + } + } + $Global::JobQueue->unget(@other_hostgroup_jobs); + if(not defined $job) { + # No more jobs + return undef; + } + } else { + $job = $Global::JobQueue->get(); + if(not defined $job) { + # No more jobs + ::debug("start", "No more jobs: JobQueue empty\n"); + return undef; + } + } + + my $clean_command = $job->replaced(); + if($clean_command =~ /^\s*$/) { + # Do not run empty lines + if(not $Global::JobQueue->empty()) { + return get_job_with_sshlogin($sshlogin); + } else { + return undef; + } + } + $job->set_sshlogin($sshlogin); + if($opt::retries and $clean_command and + $job->failed_here()) { + # This command with these args failed for this sshlogin + my ($no_of_failed_sshlogins,$min_failures) = $job->min_failed(); + # Only look at the Global::host that have > 0 jobslots + if($no_of_failed_sshlogins == + grep { $_->max_jobs_running() > 0 } values %Global::host + and $job->failed_here() == $min_failures) { + # It failed the same or more times on another host: + # run it on this host + } else { + # If it failed fewer times on another host: + # Find another job to run + my $nextjob; + if(not $Global::JobQueue->empty()) { + # This can potentially recurse for all args + no warnings 'recursion'; + $nextjob = get_job_with_sshlogin($sshlogin); + } + # Push the command back on the queue + $Global::JobQueue->unget($job); + return $nextjob; + } + } + return $job; +} + + +sub __REMOTE_SSH__ {} + + +sub read_sshloginfiles { + # Read a list of --slf's + # Input: + # @files = files or symbolic file names to read + # Returns: N/A + for my $s (@_) { + read_sshloginfile(expand_slf_shorthand($s)); + } +} + +sub expand_slf_shorthand { + # Expand --slf shorthand into a read file name + # Input: + # $file = file or symbolic file name to read + # Returns: + # $file = actual file name to read + my $file = shift; + if($file eq "-") { + # skip: It is stdin + } elsif($file eq "..") { + $file = $Global::config_dir."/sshloginfile"; + } elsif($file eq ".") { + $file = "/etc/parallel/sshloginfile"; + } elsif(not -r $file) { + for(@Global::config_dirs) { + if(not -r $_."/".$file) { + # Try prepending $PARALLEL_HOME + ::error("Cannot open $file."); + ::wait_and_exit(255); + } else { + $file = $_."/".$file; + last; + } + } + } + return $file; +} + +sub read_sshloginfile { + # Read sshloginfile into @Global::sshlogin + # Input: + # $file = file to read + # Uses: + # @Global::sshlogin + # Returns: N/A + local $/ = "\n"; + my $file = shift; + my $close = 1; + my $in_fh; + ::debug("init","--slf ",$file); + if($file eq "-") { + $in_fh = *STDIN; + $close = 0; + } else { + if(not open($in_fh, "<", $file)) { + # Try the filename + ::error("Cannot open $file."); + ::wait_and_exit(255); + } + } + while(<$in_fh>) { + chomp; + /^\s*#/ and next; + /^\s*$/ and next; + push @Global::sshlogin, $_; + } + if($close) { + close $in_fh; + } +} + +sub parse_sshlogin { + # Parse @Global::sshlogin into %Global::host. + # Keep only hosts that are in one of the given ssh hostgroups. + # Uses: + # @Global::sshlogin + # $Global::minimal_command_line_length + # %Global::host + # $opt::transfer + # @opt::return + # $opt::cleanup + # @opt::basefile + # @opt::trc + # Returns: N/A + my @login; + if(not @Global::sshlogin) { @Global::sshlogin = (":"); } + for my $sshlogin (@Global::sshlogin) { + # Split up -S sshlogin,sshlogin + for my $s (split /,|\n/, $sshlogin) { + if ($s eq ".." or $s eq "-") { + # This may add to @Global::sshlogin - possibly bug + read_sshloginfile(expand_slf_shorthand($s)); + } else { + $s =~ s/\s*$//; + push (@login, $s); + } + } + } + $Global::minimal_command_line_length = 8_000_000; + my @allowed_hostgroups; + for my $ncpu_sshlogin_string (::uniq(@login)) { + my $sshlogin = SSHLogin->new($ncpu_sshlogin_string); + my $sshlogin_string = $sshlogin->string(); + if($sshlogin_string eq "") { + # This is an ssh group: -S @webservers + push @allowed_hostgroups, $sshlogin->hostgroups(); + next; + } + if($Global::host{$sshlogin_string}) { + # This sshlogin has already been added: + # It is probably a host that has come back + # Set the max_jobs_running back to the original + debug("run","Already seen $sshlogin_string\n"); + if($sshlogin->{'ncpus'}) { + # If ncpus set by '#/' of the sshlogin, overwrite it: + $Global::host{$sshlogin_string}->set_ncpus($sshlogin->ncpus()); + } + $Global::host{$sshlogin_string}->set_max_jobs_running(undef); + next; + } + $sshlogin->set_maxlength(Limits::Command::max_length()); + + $Global::minimal_command_line_length = + ::min($Global::minimal_command_line_length, $sshlogin->maxlength()); + $Global::host{$sshlogin_string} = $sshlogin; + } + if(@allowed_hostgroups) { + # Remove hosts that are not in these groups + while (my ($string, $sshlogin) = each %Global::host) { + if(not $sshlogin->in_hostgroups(@allowed_hostgroups)) { + delete $Global::host{$string}; + } + } + } + + # debug("start", "sshlogin: ", my_dump(%Global::host),"\n"); + if(@Global::transfer_files or @opt::return or $opt::cleanup or @opt::basefile) { + if(not remote_hosts()) { + # There are no remote hosts + if(@opt::trc) { + ::warning("--trc ignored as there are no remote --sshlogin."); + } elsif (defined $opt::transfer) { + ::warning("--transfer ignored as there are no remote --sshlogin."); + } elsif (@opt::transfer_files) { + ::warning("--transferfile ignored as there are no remote --sshlogin."); + } elsif (@opt::return) { + ::warning("--return ignored as there are no remote --sshlogin."); + } elsif (defined $opt::cleanup) { + ::warning("--cleanup ignored as there are no remote --sshlogin."); + } elsif (@opt::basefile) { + ::warning("--basefile ignored as there are no remote --sshlogin."); + } + } + } +} + +sub remote_hosts { + # Return sshlogins that are not ':' + # Uses: + # %Global::host + # Returns: + # list of sshlogins with ':' removed + return grep !/^:$/, keys %Global::host; +} + +sub setup_basefile { + # Transfer basefiles to each $sshlogin + # This needs to be done before first jobs on $sshlogin is run + # Uses: + # %Global::host + # @opt::basefile + # Returns: N/A + my @cmd; + my $rsync_destdir; + my $workdir; + for my $sshlogin (values %Global::host) { + if($sshlogin->string() eq ":") { next } + for my $file (@opt::basefile) { + if($file !~ m:^/: and $opt::workdir eq "...") { + ::error("Work dir '...' will not work with relative basefiles."); + ::wait_and_exit(255); + } + if(not $workdir) { + my $dummycmdline = CommandLine->new(1,["true"],{},0,0,[],[],{},{},{}); + my $dummyjob = Job->new($dummycmdline); + $workdir = $dummyjob->workdir(); + } + push @cmd, $sshlogin->rsync_transfer_cmd($file,$workdir); + } + } + debug("init", "basesetup: @cmd\n"); + my ($exitstatus,$stdout_ref,$stderr_ref) = + run_parallel((join "\n",@cmd),"-j0","--retries",5); + if($exitstatus) { + my @stdout = @$stdout_ref; + my @stderr = @$stderr_ref; + ::error("Copying of --basefile failed: @stdout@stderr"); + ::wait_and_exit(255); + } +} + +sub cleanup_basefile { + # Remove the basefiles transferred + # Uses: + # %Global::host + # @opt::basefile + # Returns: N/A + my @cmd; + my $workdir; + if(not $workdir) { + my $dummycmdline = CommandLine->new(1,"true",0,0,0,0,0,{},{},{}); + my $dummyjob = Job->new($dummycmdline); + $workdir = $dummyjob->workdir(); + } + for my $sshlogin (values %Global::host) { + if($sshlogin->string() eq ":") { next } + for my $file (@opt::basefile) { + push @cmd, $sshlogin->cleanup_cmd($file,$workdir); + } + } + debug("init", "basecleanup: @cmd\n"); + my ($exitstatus,$stdout_ref,$stderr_ref) = + run_parallel(join("\n",@cmd),"-j0","--retries",5); + if($exitstatus) { + my @stdout = @$stdout_ref; + my @stderr = @$stderr_ref; + ::error("Cleanup of --basefile failed: @stdout@stderr"); + ::wait_and_exit(255); + } +} + +sub run_parallel { + my ($stdin,@args) = @_; + my $cmd = join "",map { " $_ & " } split /\n/, $stdin; + print $Global::original_stderr ` $cmd wait` ; + return 0 +} + +sub _run_parallel { + # Run GNU Parallel + # This should ideally just fork an internal copy + # and not start it through a shell + # Input: + # $stdin = data to provide on stdin for GNU Parallel + # @args = command line arguments + # Returns: + # $exitstatus = exitcode of GNU Parallel run + # \@stdout = standard output + # \@stderr = standard error + my ($stdin,@args) = @_; + my ($exitstatus,@stdout,@stderr); + my ($stdin_fh,$stdout_fh)=(gensym(),gensym()); + my ($stderr_fh, $stderrname) = ::tmpfile(SUFFIX => ".par"); + unlink $stderrname; + + my $pid = ::open3($stdin_fh,$stdout_fh,$stderr_fh, + $0,qw(--plain --shell /bin/sh --will-cite), @args); + if(my $writerpid = fork()) { + close $stdin_fh; + @stdout = <$stdout_fh>; + # Now stdout is closed: + # These pids should be dead or die very soon + while(kill 0, $writerpid) { ::usleep(1); } + die; +# reap $writerpid; +# while(kill 0, $pid) { ::usleep(1); } +# reap $writerpid; + $exitstatus = $?; + seek $stderr_fh, 0, 0; + @stderr = <$stderr_fh>; + close $stdout_fh; + close $stderr_fh; + } else { + close $stdout_fh; + close $stderr_fh; + print $stdin_fh $stdin; + close $stdin_fh; + exit(0); + } + return ($exitstatus,\@stdout,\@stderr); +} + +sub filter_hosts { + # Remove down --sshlogins from active duty. + # Find ncpus, ncores, maxlen, time-to-login for each host. + # Uses: + # %Global::host + # $Global::minimal_command_line_length + # $opt::use_cpus_instead_of_cores + # Returns: N/A + + my ($ncores_ref, $ncpus_ref, $time_to_login_ref, $maxlen_ref, + $echo_ref, $down_hosts_ref) = + parse_host_filtering(parallelized_host_filtering()); + + delete @Global::host{@$down_hosts_ref}; + @$down_hosts_ref and ::warning("Removed @$down_hosts_ref."); + + $Global::minimal_command_line_length = 8_000_000; + while (my ($sshlogin, $obj) = each %Global::host) { + if($sshlogin eq ":") { next } + $ncpus_ref->{$sshlogin} or + ::die_bug("ncpus missing: ".$obj->serverlogin()); + $ncores_ref->{$sshlogin} or + ::die_bug("ncores missing: ".$obj->serverlogin()); + $time_to_login_ref->{$sshlogin} or + ::die_bug("time_to_login missing: ".$obj->serverlogin()); + $maxlen_ref->{$sshlogin} or + ::die_bug("maxlen missing: ".$obj->serverlogin()); + if($opt::use_cpus_instead_of_cores) { + $obj->set_ncpus($ncpus_ref->{$sshlogin}); + } else { + $obj->set_ncpus($ncores_ref->{$sshlogin}); + } + $obj->set_time_to_login($time_to_login_ref->{$sshlogin}); + $obj->set_maxlength($maxlen_ref->{$sshlogin}); + $Global::minimal_command_line_length = + ::min($Global::minimal_command_line_length, + int($maxlen_ref->{$sshlogin}/2)); + ::debug("init", "Timing from -S:$sshlogin ", + " ncpus:",$ncpus_ref->{$sshlogin}, + " ncores:", $ncores_ref->{$sshlogin}, + " time_to_login:", $time_to_login_ref->{$sshlogin}, + " maxlen:", $maxlen_ref->{$sshlogin}, + " min_max_len:", $Global::minimal_command_line_length,"\n"); + } +} + +sub parse_host_filtering { + # Input: + # @lines = output from parallelized_host_filtering() + # Returns: + # \%ncores = number of cores of {host} + # \%ncpus = number of cpus of {host} + # \%time_to_login = time_to_login on {host} + # \%maxlen = max command len on {host} + # \%echo = echo received from {host} + # \@down_hosts = list of hosts with no answer + local $/ = "\n"; + my (%ncores, %ncpus, %time_to_login, %maxlen, %echo, @down_hosts); + for (@_) { + ::debug("init",$_); + chomp; + my @col = split /\t/, $_; + if($col[0] =~ /^parallel: Warning:/) { + # Timed out job: Ignore it + next; + } elsif(defined $col[6]) { + # This is a line from --joblog + # seq host time spent sent received exit signal command + # 2 : 1372607672.654 0.675 0 0 0 0 eval true\ m\;ssh\ m\ parallel\ --number-of-cores + if($col[0] eq "Seq" and $col[1] eq "Host" and + $col[2] eq "Starttime") { + # Header => skip + next; + } + # Get server from: eval true server\; + $col[8] =~ /eval true..([^;]+).;/ or + ::die_bug("col8 does not contain host: $col[8]"); + my $host = $1; + $host =~ tr/\\//d; + $Global::host{$host} or next; + if($col[6] eq "255" or $col[6] eq "-1" or $col[6] eq "1") { + # exit == 255 or exit == timeout (-1): ssh failed/timedout + # exit == 1: lsh failed + # Remove sshlogin + ::debug("init", "--filtered $host\n"); + push(@down_hosts, $host); + } elsif($col[6] eq "127") { + # signal == 127: parallel not installed remote + # Set ncpus and ncores = 1 + ::warning("Could not figure out ". + "number of cpus on $host. Using 1."); + $ncores{$host} = 1; + $ncpus{$host} = 1; + $maxlen{$host} = Limits::Command::max_length(); + } elsif($col[0] =~ /^\d+$/ and $Global::host{$host}) { + # Remember how log it took to log in + # 2 : 1372607672.654 0.675 0 0 0 0 eval true\ m\;ssh\ m\ echo + $time_to_login{$host} = ::min($time_to_login{$host},$col[3]); + } else { + ::die_bug("host check unmatched long jobline: $_"); + } + } elsif($Global::host{$col[0]}) { + # This output from --number-of-cores, --number-of-cpus, + # --max-line-length-allowed + # ncores: server 8 + # ncpus: server 2 + # maxlen: server 131071 + if(/parallel: Warning: Cannot figure out number of/) { + next; + } + if(not $ncores{$col[0]}) { + $ncores{$col[0]} = $col[1]; + } elsif(not $ncpus{$col[0]}) { + $ncpus{$col[0]} = $col[1]; + } elsif(not $maxlen{$col[0]}) { + $maxlen{$col[0]} = $col[1]; + } elsif(not $echo{$col[0]}) { + $echo{$col[0]} = $col[1]; + } elsif(m/perl: warning:|LANGUAGE =|LC_ALL =|LANG =|are supported and installed/) { + # Skip these: + # perl: warning: Setting locale failed. + # perl: warning: Please check that your locale settings: + # LANGUAGE = (unset), + # LC_ALL = (unset), + # LANG = "en_US.UTF-8" + # are supported and installed on your system. + # perl: warning: Falling back to the standard locale ("C"). + } else { + ::die_bug("host check too many col0: $_"); + } + } else { + ::die_bug("host check unmatched short jobline ($col[0]): $_"); + } + } + @down_hosts = uniq(@down_hosts); + return(\%ncores, \%ncpus, \%time_to_login, \%maxlen, \%echo, \@down_hosts); +} + +sub parallelized_host_filtering { + # Uses: + # %Global::host + # Returns: + # text entries with: + # * joblog line + # * hostname \t number of cores + # * hostname \t number of cpus + # * hostname \t max-line-length-allowed + # * hostname \t empty + + sub sshwrapped { + # Wrap with ssh and --env + my $sshlogin = shift; + my $command = shift; + my $commandline = CommandLine->new(1,[$command],{},0,0,[],[],{},{},{}); + my $job = Job->new($commandline); + $job->set_sshlogin($sshlogin); + $job->wrapped(); + return($job->{'wrapped'}); + } + + my(@cores, @cpus, @maxline, @echo); + while (my ($host, $sshlogin) = each %Global::host) { + if($host eq ":") { next } + # The 'true' is used to get the $host out later + push(@cores, $host."\t"."true $host; ". + sshwrapped($sshlogin,"parallel --number-of-cores")."\n\0"); + push(@cpus, $host."\t"."true $host; ". + sshwrapped($sshlogin,"parallel --number-of-cpus")."\n\0"); + push(@maxline, $host."\t"."true $host; ". + sshwrapped($sshlogin,"parallel --max-line-length-allowed")."\n\0"); + # 'echo' is used to get the fastest possible ssh login time + my $sshcmd = "true $host; exec " .$sshlogin->sshcommand()." ". + $sshlogin->serverlogin(); + push(@echo, $host."\t".$sshcmd." -- echo\n\0"); + } + + # --timeout 10: Setting up an SSH connection and running a simple + # command should never take > 10 sec. + # --delay 0.1: If multiple sshlogins use the same proxy the delay + # will make it less likely to overload the ssh daemon. + # --retries 3: If the ssh daemon is overloaded, try 3 times + my $cmd = + "$0 -j0 --timeout 10 --joblog - --plain --delay 0.1 --retries 3 ". + "--tag --tagstring '{1}' -0 --colsep '\t' -k eval '{2}' && true "; + $cmd = $Global::shell." -c ".::shell_quote_scalar($cmd); + ::debug("init", $cmd, "\n"); + my @out; + my $prepend = ""; + + my ($host_fh,$in,$err); + open3($in, $host_fh, $err, $cmd) || ::die_bug("parallel host check: $cmd"); + if(not fork()) { + # Give the commands to run to the $cmd + close $host_fh; + print $in @cores, @cpus, @maxline, @echo; + close $in; + exit(); + } + close $in; + for(<$host_fh>) { + if(/\'$/) { + # if last char = ' then append next line + # This may be due to quoting of \n in environment var + $prepend .= $_; + next; + } + $_ = $prepend . $_; + $prepend = ""; + push @out, $_; + } + close $host_fh; + return @out; +} + +sub onall { + # Runs @command on all hosts. + # Uses parallel to run @command on each host. + # --jobs = number of hosts to run on simultaneously. + # For each host a parallel command with the args will be running. + # Uses: + # $Global::quoting + # @opt::basefile + # $opt::jobs + # $opt::linebuffer + # $opt::ungroup + # $opt::group + # $opt::keeporder + # $opt::D + # $opt::plain + # $opt::max_chars + # $opt::linebuffer + # $opt::files + # $opt::colsep + # $opt::timeout + # $opt::plain + # $opt::retries + # $opt::max_chars + # $opt::arg_sep + # $opt::arg_file_sep + # @opt::v + # @opt::env + # %Global::host + # $Global::exitstatus + # $Global::debug + # $Global::joblog + # $opt::joblog + # $opt::tag + # $opt::tee + # Input: + # @command = command to run on all hosts + # Returns: N/A + sub tmp_joblog { + # Input: + # $joblog = filename of joblog - undef if none + # Returns: + # $tmpfile = temp file for joblog - undef if none + my $joblog = shift; + if(not defined $joblog) { + return undef; + } + my ($fh, $tmpfile) = ::tmpfile(SUFFIX => ".log"); + close $fh; + return $tmpfile; + } + my ($input_source_fh_ref,@command) = @_; + if($Global::quoting) { + @command = shell_quote(@command); + } + + # Copy all @input_source_fh (-a and :::) into tempfiles + my @argfiles = (); + for my $fh (@$input_source_fh_ref) { + my ($outfh, $name) = ::tmpfile(SUFFIX => ".all", UNLINK => not $opt::D); + print $outfh (<$fh>); + close $outfh; + push @argfiles, $name; + } + if(@opt::basefile) { setup_basefile(); } + # for each sshlogin do: + # parallel -S $sshlogin $command :::: @argfiles + # + # Pass some of the options to the sub-parallels, not all of them as + # -P should only go to the first, and -S should not be copied at all. + my $options = + join(" ", + ((defined $opt::D) ? "-D $opt::D" : ""), + ((defined $opt::group) ? "-g" : ""), + ((defined $opt::jobs) ? "-P $opt::jobs" : ""), + ((defined $opt::keeporder) ? "--keeporder" : ""), + ((defined $opt::linebuffer) ? "--linebuffer" : ""), + ((defined $opt::max_chars) ? "--max-chars ".$opt::max_chars : ""), + ((defined $opt::plain) ? "--plain" : ""), + ((defined $opt::ungroup) ? "-u" : ""), + ((defined $opt::tee) ? "--tee" : ""), + ); + my $suboptions = + join(" ", + ((defined $opt::D) ? "-D $opt::D" : ""), + ((defined $opt::arg_file_sep) ? "--arg-file-sep ".$opt::arg_file_sep : ""), + ((defined $opt::arg_sep) ? "--arg-sep ".$opt::arg_sep : ""), + ((defined $opt::colsep) ? "--colsep ".shell_quote($opt::colsep) : ""), + ((defined $opt::files) ? "--files" : ""), + ((defined $opt::group) ? "-g" : ""), + ((defined $opt::cleanup) ? "--cleanup" : ""), + ((defined $opt::keeporder) ? "--keeporder" : ""), + ((defined $opt::linebuffer) ? "--linebuffer" : ""), + ((defined $opt::max_chars) ? "--max-chars ".$opt::max_chars : ""), + ((defined $opt::plain) ? "--plain" : ""), + ((defined $opt::retries) ? "--retries ".$opt::retries : ""), + ((defined $opt::timeout) ? "--timeout ".$opt::timeout : ""), + ((defined $opt::ungroup) ? "-u" : ""), + ((defined $opt::tee) ? "--tee" : ""), + ((defined $opt::workdir) ? "--wd ".::shell_quote_scalar($opt::workdir) : ""), + (@Global::transfer_files ? map { "--tf ".::shell_quote_scalar($_) } + @Global::transfer_files : ""), + (@Global::ret_files ? map { "--return ".::shell_quote_scalar($_) } + @Global::ret_files : ""), + (@opt::env ? map { "--env ".::shell_quote_scalar($_) } @opt::env : ""), + (map { "-v" } @opt::v), + ); + ::debug("init", "| $0 $options\n"); + open(my $parallel_fh, "|-", "$0 --will-cite -j0 $options") || + ::die_bug("This does not run GNU Parallel: $0 $options"); + my @joblogs; + for my $host (sort keys %Global::host) { + my $sshlogin = $Global::host{$host}; + my $joblog = tmp_joblog($opt::joblog); + if($joblog) { + push @joblogs, $joblog; + $joblog = "--joblog $joblog"; + } + my $quad = $opt::arg_file_sep || "::::"; + ::debug("init", "$0 $suboptions -j1 $joblog ", + ((defined $opt::tag) ? + "--tagstring ".shell_quote_scalar($sshlogin->string()) : ""), + " -S ", shell_quote_scalar($sshlogin->string())," ", + join(" ",shell_quote(@command))," $quad @argfiles\n"); + print $parallel_fh "$0 $suboptions -j1 $joblog ", + ((defined $opt::tag) ? + "--tagstring ".shell_quote_scalar($sshlogin->string()) : ""), + " -S ", shell_quote_scalar($sshlogin->string())," ", + join(" ",shell_quote(@command))," $quad @argfiles\n"; + } + close $parallel_fh; + $Global::exitstatus = $? >> 8; + debug("init", "--onall exitvalue ", $?); + if(@opt::basefile and $opt::cleanup) { cleanup_basefile(); } + $Global::debug or unlink(@argfiles); + my %seen; + for my $joblog (@joblogs) { + # Append to $joblog + open(my $fh, "<", $joblog) || ::die_bug("Cannot open tmp joblog $joblog"); + # Skip first line (header); + <$fh>; + print $Global::joblog (<$fh>); + close $fh; + unlink($joblog); + } +} + + +sub __SIGNAL_HANDLING__ {} + + +sub sigtstp { + # Send TSTP signal (Ctrl-Z) to all children process groups + # Uses: + # %SIG + # Returns: N/A + signal_children("TSTP"); +} + +sub sigpipe { + # Send SIGPIPE signal to all children process groups + # Uses: + # %SIG + # Returns: N/A + signal_children("PIPE"); +} + +sub signal_children { + # Send signal to all children process groups + # and GNU Parallel itself + # Uses: + # %SIG + # Returns: N/A + my $signal = shift; + debug("run", "Sending $signal "); + kill $signal, map { -$_ } keys %Global::running; + # Use default signal handler for GNU Parallel itself + $SIG{$signal} = undef; + kill $signal, $$; +} + +sub save_original_signal_handler { + # Remember the original signal handler + # Uses: + # %Global::original_sig + # Returns: N/A + $SIG{INT} = sub { + if($opt::tmux) { ::qqx("tmux kill-session -t p$$"); } + wait_and_exit(255); + }; + $SIG{TERM} = sub { + if($opt::tmux) { ::qqx("tmux kill-session -t p$$"); } + wait_and_exit(255); + }; + %Global::original_sig = %SIG; + $SIG{TERM} = sub {}; # Dummy until jobs really start + $SIG{ALRM} = 'IGNORE'; + # Allow Ctrl-Z to suspend and `fg` to continue + $SIG{TSTP} = \&sigtstp; + $SIG{PIPE} = \&sigpipe; + $SIG{CONT} = sub { + # Set $SIG{TSTP} again (it is undef'ed in sigtstp() ) + $SIG{TSTP} = \&sigtstp; + # Send continue signal to all children process groups + kill "CONT", map { -$_ } keys %Global::running; + }; +} + +sub list_running_jobs { + # Print running jobs on tty + # Uses: + # %Global::running + # Returns: N/A + for my $job (values %Global::running) { + ::status("$Global::progname: ".$job->replaced()); + } +} + +sub start_no_new_jobs { + # Start no more jobs + # Uses: + # %Global::original_sig + # %Global::unlink + # $Global::start_no_new_jobs + # Returns: N/A + $SIG{TERM} = $Global::original_sig{TERM}; + unlink keys %Global::unlink; + ::status + ("$Global::progname: SIGTERM received. No new jobs will be started.", + "$Global::progname: Waiting for these ".(keys %Global::running). + " jobs to finish. Send SIGTERM again to stop now."); + list_running_jobs(); + $Global::start_no_new_jobs ||= 1; +} + +sub reaper { + # A job finished. + # Print the output. + # Start another job + # Uses: + # %Global::sshmaster + # %Global::running + # $opt::timeout + # $Global::timeoutq + # $opt::halt + # $opt::keeporder + # $Global::total_running + # Returns: + # @pids_reaped = PIDs of children finished + my $stiff; + my @pids_reaped; + my $children_reaped = 0; + debug("run", "Reaper "); + # For efficiency surround with BEGIN/COMMIT when using $opt::sqlmaster + $opt::sqlmaster and $Global::sql->run("BEGIN;"); + while (($stiff = waitpid(-1, &WNOHANG)) > 0) { + # $stiff = pid of dead process + if(wantarray) { + push(@pids_reaped,$stiff); + } else { + $children_reaped++; + } + if($Global::sshmaster{$stiff}) { + # This is one of the ssh -M: ignore + next; + } + my $job = $Global::running{$stiff}; + + # '-a <(seq 10)' will give us a pid not in %Global::running + $job or next; + delete $Global::running{$stiff}; + $Global::total_running--; + if($job->{'commandline'}{'skip'}) { + # $job->skip() was called + $job->set_exitstatus(-2); + $job->set_exitsignal(0); + } else { + $job->set_exitstatus($? >> 8); + $job->set_exitsignal($? & 127); + } + + debug("run", "seq ",$job->seq()," died (", $job->exitstatus(), ")"); + $job->set_endtime(::now()); + my $sshlogin = $job->sshlogin(); + $sshlogin->dec_jobs_running(); + if($job->should_be_retried()) { + $job->free_ressources(); + } else { + # The job is done + $sshlogin->inc_jobs_completed(); + # Free the jobslot + $job->free_slot(); + if($opt::timeout and not $job->exitstatus()) { + # Update average runtime for timeout only for successful jobs + $Global::timeoutq->update_median_runtime($job->runtime()); + } + if($opt::keeporder) { + $job->print_earlier_jobs(); + } else { + $job->print(); + } + if($job->should_we_halt() eq "now") { + # Kill children + ::kill_sleep_seq($job->pid()); + ::killall(); + ::wait_and_exit($Global::halt_exitstatus); + } + } + $job->cleanup(); + start_more_jobs(); + if($opt::progress) { + my %progress = progress(); + ::status_no_nl("\r",$progress{'status'}); + } + } + $opt::sqlmaster and $Global::sql->run("COMMIT;"); + debug("run", "done "); + return wantarray ? @pids_reaped : $children_reaped; +} + + +sub __USAGE__ {} + + +sub killall { + # Kill all jobs by killing their process groups + + $Global::start_no_new_jobs ||= 1; + $Global::killall ||= 1; + kill_sleep_seq(keys %Global::running); +} + +sub kill_sleep_seq { + # Send jobs TERM,TERM,KILL to processgroups + # Input: + # @pids = list of pids that are also processgroups + # Convert pids to process groups ($processgroup = -$pid) + my @pgrps = map { -$_ } @_; + my @term_seq = split/,/,$opt::termseq; + if(not @term_seq) { + @term_seq = ("TERM",200,"TERM",100,"TERM",50,"KILL",25); + } + while(@term_seq) { + @pgrps = kill_sleep(shift @term_seq, shift @term_seq, @pgrps); + } +} + +sub kill_sleep { + my ($signal, $sleep_max, @pids) = @_; + ::debug("kill","kill_sleep $signal ",(join " ",sort @pids),"\n"); + kill $signal, @pids; + my $sleepsum = 0; + my $sleep = 0.001; + my @dead; + + while(@pids and $sleepsum < $sleep_max) { + if($Global::killall) { + # Killall => don't run reaper + my $stiff; + while (($stiff = waitpid(-1, &WNOHANG)) > 0) { + # remove $stiff from @pids + @pids = grep { $_ != $stiff } @pids; + $sleep = $sleep/2+0.001; + } + } elsif(@dead = reaper()) { + # Remove reaped pids + for my $stiff (@dead) { + @pids = grep { $_ != $stiff } @pids; + } + $sleep = $sleep/2+0.001; + } + @pids = grep { kill( 0, $_) } @pids; + $sleep *= 1.1; + ::usleep($sleep); + $sleepsum += $sleep; + # Remove dead children + @pids = grep { kill( 0, $_) } @pids; + } + return @pids; +} + +sub wait_and_exit { + # If we do not wait, we sometimes get segfault + # Returns: N/A + my $error = shift; + unlink keys %Global::unlink; + if($error) { + # Kill all jobs without printing + killall(); + } + for (keys %Global::unkilled_children) { + # Kill any (non-jobs) children + kill 9, $_; + waitpid($_,0); + delete $Global::unkilled_children{$_}; + } + if($Global::unkilled_sqlworker) { + waitpid($Global::unkilled_sqlworker,0); + } + exit($error); +} + +sub die_usage { + # Returns: N/A + usage(); + wait_and_exit(255); +} + +sub usage { + # Returns: N/A + print join + ("\n", + "Usage:", + "", + "$Global::progname [options] [command [arguments]] < list_of_arguments", + "$Global::progname [options] [command [arguments]] (::: arguments|:::: argfile(s))...", + "cat ... | $Global::progname --pipe [options] [command [arguments]]", + "", + "-j n Run n jobs in parallel", + "-k Keep same order", + "-X Multiple arguments with context replace", + "--colsep regexp Split input on regexp for positional replacements", + "{} {.} {/} {/.} {#} {%} {= perl code =} Replacement strings", + "{3} {3.} {3/} {3/.} {=3 perl code =} Positional replacement strings", + "With --plus: {} = {+/}/{/} = {.}.{+.} = {+/}/{/.}.{+.} = {..}.{+..} =", + " {+/}/{/..}.{+..} = {...}.{+...} = {+/}/{/...}.{+...}", + "", + "-S sshlogin Example: foo\@server.example.com", + "--slf .. Use ~/.parallel/sshloginfile as the list of sshlogins", + "--trc {}.bar Shorthand for --transfer --return {}.bar --cleanup", + "--onall Run the given command with argument on all sshlogins", + "--nonall Run the given command with no arguments on all sshlogins", + "", + "--pipe Split stdin (standard input) to multiple jobs.", + "--recend str Record end separator for --pipe.", + "--recstart str Record start separator for --pipe.", + "", + "See 'man $Global::progname' for details", + "", + "Academic tradition requires you to cite works you base your article on.", + "If you use programs that use GNU Parallel to process data for an article in a", + "scientific publication, please cite:", + "", + " O. Tange (2018): GNU Parallel 2018, Mar 2018, ISBN 9781387509881,", + " DOI https://doi.org/10.5281/zenodo.1146014", + "", + "This helps funding further development; AND IT WON'T COST YOU A CENT.", + "If you pay 10000 EUR you should feel free to use GNU Parallel without citing.", + "", + "",); +} + +sub citation_notice { + # if --will-cite or --plain: do nothing + # if stderr redirected: do nothing + # if $PARALLEL_HOME/will-cite: do nothing + # else: print citation notice to stderr + if($opt::willcite + or + $opt::plain + or + not -t $Global::original_stderr + or + grep { -e "$_/will-cite" } @Global::config_dirs) { + # skip + } else { + ::status + ("Academic tradition requires you to cite works you base your article on.", + "If you use programs that use GNU Parallel to process data for an article in a", + "scientific publication, please cite:", + "", + " O. Tange (2018): GNU Parallel 2018, Mar 2018, ISBN 9781387509881,", + " DOI https://doi.org/10.5281/zenodo.1146014", + "", + "This helps funding further development; AND IT WON'T COST YOU A CENT.", + "If you pay 10000 EUR you should feel free to use GNU Parallel without citing.", + "", + "More about funding GNU Parallel and the citation notice:", + "https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice", + "", + "To silence this citation notice: run 'parallel --citation' once.", + "" + ); + } +} + +sub status { + my @w = @_; + my $fh = $Global::status_fd || *STDERR; + print $fh map { ($_, "\n") } @w; + flush $fh; +} + +sub status_no_nl { + my @w = @_; + my $fh = $Global::status_fd || *STDERR; + print $fh @w; + flush $fh; +} + +sub warning { + my @w = @_; + my $prog = $Global::progname || "parallel"; + status_no_nl(map { ($prog, ": Warning: ", $_, "\n"); } @w); +} + +sub error { + my @w = @_; + my $prog = $Global::progname || "parallel"; + status(map { ($prog.": Error: ". $_); } @w); +} + +sub die_bug { + my $bugid = shift; + print STDERR + ("$Global::progname: This should not happen. You have found a bug.\n", + "Please contact and follow\n", + "https://www.gnu.org/software/parallel/man.html#REPORTING-BUGS\n", + "\n", + "Include this in the report:\n", + "* The version number: $Global::version\n", + "* The bugid: $bugid\n", + "* The command line being run\n", + "* The files being read (put the files on a webserver if they are big)\n", + "\n", + "If you get the error on smaller/fewer files, please include those instead.\n"); + ::wait_and_exit(255); +} + +sub version { + # Returns: N/A + print join("\n", + "GNU $Global::progname $Global::version", + "Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018", + "Ole Tange and Free Software Foundation, Inc.", + "License GPLv3+: GNU GPL version 3 or later ", + "This is free software: you are free to change and redistribute it.", + "GNU $Global::progname comes with no warranty.", + "", + "Web site: http://www.gnu.org/software/${Global::progname}\n", + "When using programs that use GNU Parallel to process data for publication", + "please cite as described in 'parallel --citation'.\n", + ); +} + +sub citation { + # Returns: N/A + my ($all_argv_ref,$argv_options_removed_ref) = @_; + my $all_argv = "@$all_argv_ref"; + my $no_opts = "@$argv_options_removed_ref"; + $all_argv=~s/--citation//; + if($all_argv ne $no_opts) { + ::warning("--citation ignores all other options and arguments."); + ::status(""); + } + + ::status( + "Academic tradition requires you to cite works you base your article on.", + "If you use programs that use GNU Parallel to process data for an article in a", + "scientific publication, please cite:", + "", + "\@book{tange_ole_2018_1146014,", + " author = {Tange, Ole},", + " title = {GNU Parallel 2018},", + " publisher = {Ole Tange},", + " month = Mar,", + " year = 2018,", + " ISBN = {9781387509881},", + " doi = {10.5281/zenodo.1146014},", + " url = {https://doi.org/10.5281/zenodo.1146014}", + "}", + "", + "(Feel free to use \\nocite{tange_ole_2018_1146014})", + "", + "This helps funding further development; AND IT WON'T COST YOU A CENT.", + "If you pay 10000 EUR you should feel free to use GNU Parallel without citing.", + "", + "More about funding GNU Parallel and the citation notice:", + "https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice", + "", + "If you send a copy of your published article to tange\@gnu.org, it will be", + "mentioned in the release notes of next version of GNU Parallel.", + "" + ); + while(not grep { -e "$_/will-cite" } @Global::config_dirs) { + print "\nType: 'will cite' and press enter.\n> "; + my $input = ; + if(not defined $input) { + exit(255); + } + if($input =~ /will cite/i) { + mkdir $Global::config_dir; + if(open (my $fh, ">", $Global::config_dir."/will-cite")) { + close $fh; + ::status( + "", + "Thank you for your support. It is much appreciated. The citation", + "notice is now silenced.", + ""); + } else { + ::status( + "", + "Thank you for your support. It is much appreciated. The citation", + "cannot permanently be silenced. Use '--will-cite' instead.", + "", + "If you use '--will-cite' in scripts to be run by others you are making", + "it harder for others to see the citation notice. The development of", + "GNU parallel is indirectly financed through citations, so if users", + "do not know they should cite then you are making it harder to finance", + "development. However, if you pay 10000 EUR, you should feel free to", + "use '--will-cite' in scripts.", + ""); + last; + } + } + } +} + +sub show_limits { + # Returns: N/A + print("Maximal size of command: ",Limits::Command::real_max_length(),"\n", + "Maximal used size of command: ",Limits::Command::max_length(),"\n", + "\n", + "Execution of will continue now, and it will try to read its input\n", + "and run commands; if this is not what you wanted to happen, please\n", + "press CTRL-D or CTRL-C\n"); +} + +sub embed { + # Give an embeddable version of GNU Parallel + # Tested with: bash, zsh, ksh, ash, dash, sh + my $randomstring = "cut-here-".join"", + map { (0..9,"a".."z","A".."Z")[rand(62)] } (1..20); + if(not -f $0 or not -r $0) { + ::error("--embed only works if parallel is a readable file"); + exit(255); + } + if(open(my $fh, "<", $0)) { + # Read the source from $0 + my @source = <$fh>; + my $user = $ENV{LOGNAME} || $ENV{USERNAME} || $ENV{USER}; + my @env_parallel_source = (); + my $shell = $Global::shell; + $shell =~ s:.*/::; + for(which("env_parallel.$shell")) { + -r $_ or next; + # Read the source of env_parallel.shellname + open(my $env_parallel_source_fh, $_) || die; + @env_parallel_source = <$env_parallel_source_fh>; + close $env_parallel_source_fh; + last; + } + print "#!$Global::shell + +# Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014,2015,2016, +# 2017,2018 $user, Ole Tange and Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see +# or write to the Free Software Foundation, Inc., 51 Franklin St, +# Fifth Floor, Boston, MA 02110-1301 USA +"; + + print q! +# Embedded GNU Parallel created with --embed +parallel() { + # Start GNU Parallel without leaving temporary files + # + # Not all shells support 'perl <(cat ...)' + # This is a complex way of doing: + # perl <(cat <<'cut-here' + # [...] + # ) "$@" + # and also avoiding: + # [1]+ Done cat + + # Make a temporary fifo that perl can read from + _fifo_with_parallel_source=`perl -e 'use POSIX qw(mkfifo); + do { + $f = "/tmp/parallel-".join"", + map { (0..9,"a".."z","A".."Z")[rand(62)] } (1..5); + } while(-e $f); + mkfifo($f,0600); + print $f;'` + # Put source code into temporary file + # so it is easy to copy to the fifo + _file_with_parallel_source=`mktemp`; +!, + "cat <<'$randomstring' > \$_file_with_parallel_source\n", + @source, + $randomstring,"\n", + q! + # Copy the source code from the file to the fifo + # and remove the file and fifo ASAP + # 'sh -c' is needed to avoid + # [1]+ Done cat + sh -c "(rm $_file_with_parallel_source; cat >$_fifo_with_parallel_source; rm $_fifo_with_parallel_source) < $_file_with_parallel_source &" + + # Read the source from the fifo + perl $_fifo_with_parallel_source "$@" +} +!, + @env_parallel_source, + q! + +# This will call the functions above +parallel -k echo ::: Put your code here +env_parallel --session +env_parallel -k echo ::: Put your code here +parset p,y,c,h -k echo ::: Put your code here +echo $p $y $c $h +!; + } else { + ::error("Cannot open $0"); + exit(255); + } + ::status("Redirect the output to a file and add your changes at the end:", + " $0 --embed > new_script"); +} + +sub __GENERIC_COMMON_FUNCTION__ {} + + +sub mkdir_or_die { + # If dir is not executable: die + my $dir = shift; + # The eval is needed to catch exception from mkdir + eval { File::Path::mkpath($dir); }; + if(not -x $dir) { + ::error("Cannot change into non-executable dir $dir: $!"); + ::wait_and_exit(255); + } +} + +sub tmpfile { + # Create tempfile as $TMPDIR/parXXXXX + # Returns: + # $filehandle = opened file handle + # $filename = file name created + my($filehandle,$filename) = + ::tempfile(DIR=>$ENV{'TMPDIR'}, TEMPLATE => 'parXXXXX', @_); + if(wantarray) { + return($filehandle,$filename); + } else { + # Separate unlink due to NFS dealing badly with File::Temp + unlink $filename; + return $filehandle; + } +} + +sub tmpname { + # Select a name that does not exist + # Do not create the file as it may be used for creating a socket (by tmux) + # Remember the name in $Global::unlink to avoid hitting the same name twice + my $name = shift; + my($tmpname); + if(not -w $ENV{'TMPDIR'}) { + if(not -e $ENV{'TMPDIR'}) { + ::error("Tmpdir '$ENV{'TMPDIR'}' does not exist.","Try 'mkdir $ENV{'TMPDIR'}'"); + } else { + ::error("Tmpdir '$ENV{'TMPDIR'}' is not writable.","Try 'chmod +w $ENV{'TMPDIR'}'"); + } + ::wait_and_exit(255); + } + do { + $tmpname = $ENV{'TMPDIR'}."/".$name. + join"", map { (0..9,"a".."z","A".."Z")[rand(62)] } (1..5); + } while(-e $tmpname or $Global::unlink{$tmpname}++); + return $tmpname; +} + +sub tmpfifo { + # Find an unused name and mkfifo on it + use POSIX qw(mkfifo); + my $tmpfifo = tmpname("fif",@_); + mkfifo($tmpfifo,0600); + return $tmpfifo; +} + +sub rm { + # Remove file and remove it from %Global::unlink + # Uses: + # %Global::unlink + delete @Global::unlink{@_}; + unlink @_; +} + +sub size_of_block_dev { + # Like -s but for block devices + # Input: + # $blockdev = file name of block device + # Returns: + # $size = in bytes, undef if error + my $blockdev = shift; + if(open(my $fh, "<", $blockdev)) { + seek($fh,0,2) || ::die_bug("cannot seek $blockdev"); + my $size = tell($fh); + close $fh; + return $size; + } else { + ::error("cannot open $blockdev"); + wait_and_exit(255); + } +} + +sub qqx { + # Like qx but with clean environment (except for @keep) + # and STDERR ignored + # This is needed if the environment contains functions + # that /bin/sh does not understand + my $PATH = $ENV{'PATH'}; + my %env; + # ssh with ssh-agent needs PATH SSH_AUTH_SOCK SSH_AGENT_PID + # ssh with Kerberos needs KRB5CCNAME + # tmux needs LC_CTYPE + my @keep = qw(PATH SSH_AUTH_SOCK SSH_AGENT_PID KRB5CCNAME LC_CTYPE); + @env{@keep} = @ENV{@keep}; + local %ENV; + %ENV = %env; + if($Global::debug) { + return qx{ @_ && true }; + } else { + return qx{ ( @_ ) 2>/dev/null }; + } +} + +sub uniq { + # Remove duplicates and return unique values + return keys %{{ map { $_ => 1 } @_ }}; +} + +sub min { + # Returns: + # Minimum value of array + my $min; + for (@_) { + # Skip undefs + defined $_ or next; + defined $min or do { $min = $_; next; }; # Set $_ to the first non-undef + $min = ($min < $_) ? $min : $_; + } + return $min; +} + +sub max { + # Returns: + # Maximum value of array + my $max; + for (@_) { + # Skip undefs + defined $_ or next; + defined $max or do { $max = $_; next; }; # Set $_ to the first non-undef + $max = ($max > $_) ? $max : $_; + } + return $max; +} + +sub sum { + # Returns: + # Sum of values of array + my @args = @_; + my $sum = 0; + for (@args) { + # Skip undefs + $_ and do { $sum += $_; } + } + return $sum; +} + +sub undef_as_zero { + my $a = shift; + return $a ? $a : 0; +} + +sub undef_as_empty { + my $a = shift; + return $a ? $a : ""; +} + +sub undef_if_empty { + if(defined($_[0]) and $_[0] eq "") { + return undef; + } + return $_[0]; +} + +sub multiply_binary_prefix { + # Evalualte numbers with binary prefix + # Ki=2^10, Mi=2^20, Gi=2^30, Ti=2^40, Pi=2^50, Ei=2^70, Zi=2^80, Yi=2^80 + # ki=2^10, mi=2^20, gi=2^30, ti=2^40, pi=2^50, ei=2^70, zi=2^80, yi=2^80 + # K =2^10, M =2^20, G =2^30, T =2^40, P =2^50, E =2^70, Z =2^80, Y =2^80 + # k =10^3, m =10^6, g =10^9, t=10^12, p=10^15, e=10^18, z=10^21, y=10^24 + # 13G = 13*1024*1024*1024 = 13958643712 + # Input: + # $s = string with prefixes + # Returns: + # $value = int with prefixes multiplied + my @v = @_; + for(@v) { + defined $_ or next; + s/ki/*1024/gi; + s/mi/*1024*1024/gi; + s/gi/*1024*1024*1024/gi; + s/ti/*1024*1024*1024*1024/gi; + s/pi/*1024*1024*1024*1024*1024/gi; + s/ei/*1024*1024*1024*1024*1024*1024/gi; + s/zi/*1024*1024*1024*1024*1024*1024*1024/gi; + s/yi/*1024*1024*1024*1024*1024*1024*1024*1024/gi; + s/xi/*1024*1024*1024*1024*1024*1024*1024*1024*1024/gi; + + s/K/*1024/g; + s/M/*1024*1024/g; + s/G/*1024*1024*1024/g; + s/T/*1024*1024*1024*1024/g; + s/P/*1024*1024*1024*1024*1024/g; + s/E/*1024*1024*1024*1024*1024*1024/g; + s/Z/*1024*1024*1024*1024*1024*1024*1024/g; + s/Y/*1024*1024*1024*1024*1024*1024*1024*1024/g; + s/X/*1024*1024*1024*1024*1024*1024*1024*1024*1024/g; + + s/k/*1000/g; + s/m/*1000*1000/g; + s/g/*1000*1000*1000/g; + s/t/*1000*1000*1000*1000/g; + s/p/*1000*1000*1000*1000*1000/g; + s/e/*1000*1000*1000*1000*1000*1000/g; + s/z/*1000*1000*1000*1000*1000*1000*1000/g; + s/y/*1000*1000*1000*1000*1000*1000*1000*1000/g; + s/x/*1000*1000*1000*1000*1000*1000*1000*1000*1000/g; + + $_ = eval $_; + } + return wantarray ? @v : $v[0]; +} + +sub multiply_time_units { + # Evalualte numbers with time units + # s=1, m=60, h=3600, d=86400 + # Input: + # $s = string time units + # Returns: + # $value = int in seconds + my @v = @_; + for(@v) { + defined $_ or next; + if(/[dhms]/i) { + s/s/*1+/gi; + s/m/*60+/gi; + s/h/*3600+/gi; + s/d/*86400+/gi; + $_ = eval $_."0"; + } + } + return wantarray ? @v : $v[0]; +} + +sub seconds_to_time_units { + # Convert seconds into ??d??h??m??s + # s=1, m=60, h=3600, d=86400 + # Input: + # $s = int in seconds + # Returns: + # $str = string time units + my $s = shift; + my $str; + my $d = int($s/86400); + $s -= $d * 86400; + my $h = int($s/3600); + $s -= $h * 3600; + my $m = int($s/60); + $s -= $m * 60; + if($d) { + $str = sprintf("%dd%02dh%02dm%02ds",$d,$h,$m,$s); + } elsif($h) { + $str = sprintf("%dh%02dm%02ds",$h,$m,$s); + } elsif($m) { + $str = sprintf("%dm%02ds",$m,$s); + } else { + $str = sprintf("%ds",$s); + } + return $str; +} + +{ + my ($disk_full_fh, $b8193, $error_printed); + sub exit_if_disk_full { + # Checks if $TMPDIR is full by writing 8kb to a tmpfile + # If the disk is full: Exit immediately. + # Returns: + # N/A + if(not $disk_full_fh) { + $disk_full_fh = ::tmpfile(SUFFIX => ".df"); + $b8193 = "x"x8193; + } + # Linux does not discover if a disk is full if writing <= 8192 + # Tested on: + # bfs btrfs cramfs ext2 ext3 ext4 ext4dev jffs2 jfs minix msdos + # ntfs reiserfs tmpfs ubifs vfat xfs + # TODO this should be tested on different OS similar to this: + # + # doit() { + # sudo mount /dev/ram0 /mnt/loop; sudo chmod 1777 /mnt/loop + # seq 100000 | parallel --tmpdir /mnt/loop/ true & + # seq 6900000 > /mnt/loop/i && echo seq OK + # seq 6980868 > /mnt/loop/i + # seq 10000 > /mnt/loop/ii + # sleep 3 + # sudo umount /mnt/loop/ || sudo umount -l /mnt/loop/ + # echo >&2 + # } + print $disk_full_fh $b8193; + if(not $disk_full_fh + or + tell $disk_full_fh != 8193) { + # On raspbian the disk can be full except for 10 chars. + if(not $error_printed) { + ::error("Output is incomplete.", + "Cannot append to buffer file in $ENV{'TMPDIR'}.", + "Is the disk full?", + "Change \$TMPDIR with --tmpdir or use --compress."); + $error_printed = 1; + } + ::wait_and_exit(255); + } + truncate $disk_full_fh, 0; + seek($disk_full_fh, 0, 0) || die; + } +} + +sub spacefree { + # Remove comments and spaces + # Inputs: + # $spaces = keep 1 space? + # $s = string to remove spaces from + # Returns: + # $s = with spaces removed + my $spaces = shift; + my $s = shift; + $s =~ s/#.*//mg; + if(1 == $spaces) { + $s =~ s/\s+/ /mg; + } elsif(2 == $spaces) { + # Keep newlines + $s =~ s/\n\n+/\n/sg; + $s =~ s/[ \t]+/ /mg; + } else { + $s =~ s/\s//mg; + } + return $s; +} + +{ + my $hostname; + sub hostname { + local $/ = "\n"; + if(not $hostname) { + $hostname = `hostname`; + chomp($hostname); + $hostname ||= "nohostname"; + } + return $hostname; + } +} + +sub which { + # Input: + # @programs = programs to find the path to + # Returns: + # @full_path = full paths to @programs. Nothing if not found + my @which; + ::debug("which", "@_ in $ENV{'PATH'}\n"); + for my $prg (@_) { + push(@which, grep { not -d $_ and -x $_ } + map { $_."/".$prg } split(":",$ENV{'PATH'})); + if($prg =~ m:/:) { + # Including path + push(@which, grep { not -d $_ and -x $_ } $prg); + } + } + return @which; +} + +{ + my ($regexp,$shell,%fakename); + + sub parent_shell { + # Input: + # $pid = pid to see if (grand)*parent is a shell + # Returns: + # $shellpath = path to shell - undef if no shell found + my $pid = shift; + ::debug("init","Parent of $pid\n"); + if(not $regexp) { + # All shells known to mankind + # + # ash bash csh dash fdsh fish fizsh ksh ksh93 mksh pdksh + # posh rbash rc rush rzsh sash sh static-sh tcsh yash zsh + + my @shells = (qw(ash bash bsd-csh csh dash fdsh fish fizsh + ksh ksh93 lksh mksh pdksh posh rbash rc rush rzsh sash sh + static-sh tcsh yash zsh -sh -csh -bash), + '-sh (sh)' # sh on FreeBSD + ); + # Can be formatted as: + # [sh] -sh sh busybox sh -sh (sh) + # /bin/sh /sbin/sh /opt/csw/sh + # But not: foo.sh sshd crash flush pdflush scosh fsflush ssh + $shell = "(?:".join("|",map { "\Q$_\E" } @shells).")"; + $regexp = '^((\[)(-?)('. $shell. ')(\])|(|\S+/|busybox )'. + '(-?)('. $shell. '))( *$| [^(])'; + %fakename = ( + # sh disguises itself as -sh (sh) on FreeBSD + "-sh (sh)" => ["sh"], + # csh and tcsh disguise themselves as -sh/-csh + # E.g.: ssh -tt csh@lo 'ps aux;true' |egrep ^csh + # but sh also disguise itself as -sh + # (When?) + "-sh" => ["sh"], + "-csh" => ["tcsh", "csh"], + # ash disguises itself as -ash + "-ash" => ["ash", "dash", "sh"], + # dash disguises itself as -dash + "-dash" => ["dash", "ash", "sh"], + # bash disguises itself as -bash + "-bash" => ["bash", "sh"], + # ksh disguises itself as -ash + "-ksh" => ["ksh", "sh"], + # zsh disguises itself as -zsh + "-zsh" => ["zsh", "sh"], + ); + } + # if -sh or -csh try readlink /proc/$$/exe + my ($children_of_ref, $parent_of_ref, $name_of_ref) = pid_table(); + my $shellpath; + my $testpid = $pid; + while($testpid) { + if($name_of_ref->{$testpid} =~ /$regexp/o) { + my $shellname = $4 || $8; + my $dash = $3 || $7; + if($shellname eq "sh" and $dash) { + # -sh => csh or sh + if($shellpath = readlink "/proc/$testpid/exe") { + ::debug("init","procpath $shellpath\n"); + if($shellpath =~ m:/$shell$:o) { + ::debug("init", "proc which ".$shellpath." => "); + return $shellpath; + } + } + } + ::debug("init", "which ".$shellname." => "); + $shellpath = (which($shellname,@{$fakename{$shellname}}))[0]; + ::debug("init", "shell path $shellpath\n"); + $shellpath and last; + } + if($testpid == $parent_of_ref->{$testpid}) { + # In Solaris zones, the PPID of the zsched process is itself + last; + } + $testpid = $parent_of_ref->{$testpid}; + } + return $shellpath; + } +} + +{ + my %pid_parentpid_cmd; + + sub pid_table { + # Returns: + # %children_of = { pid -> children of pid } + # %parent_of = { pid -> pid of parent } + # %name_of = { pid -> commandname } + + if(not %pid_parentpid_cmd) { + # Filter for SysV-style `ps` + my $sysv = q( ps -ef | perl -ane '1..1 and /^(.*)CO?MM?A?N?D/ and $s=length $1;). + q(s/^.{$s}//; print "@F[1,2] $_"' ); + # Crazy msys: ' is not accepted on the cmd line, but " are treated as ' + my $msys = q( ps -ef | perl -ane "1..1 and /^(.*)CO?MM?A?N?D/ and $s=length $1;). + q(s/^.{$s}//; print qq{@F[1,2] $_}" ); + # BSD-style `ps` + my $bsd = q(ps -o pid,ppid,command -ax); + %pid_parentpid_cmd = + ( + 'aix' => $sysv, + 'android' => $sysv, + 'cygwin' => $sysv, + 'darwin' => $bsd, + 'dec_osf' => $sysv, + 'dragonfly' => $bsd, + 'freebsd' => $bsd, + 'gnu' => $sysv, + 'hpux' => $sysv, + 'linux' => $sysv, + 'mirbsd' => $bsd, + 'msys' => $msys, + 'MSWin32' => $sysv, + 'netbsd' => $bsd, + 'nto' => $sysv, + 'openbsd' => $bsd, + 'solaris' => $sysv, + 'svr5' => $sysv, + 'syllable' => "echo ps not supported", + ); + } + $pid_parentpid_cmd{$^O} or ::die_bug("pid_parentpid_cmd for $^O missing"); + + my (@pidtable,%parent_of,%children_of,%name_of); + # Table with pid -> children of pid + @pidtable = `$pid_parentpid_cmd{$^O}`; + my $p=$$; + for (@pidtable) { + # must match: 24436 21224 busybox ash + # must match: 24436 21224 <> + # must match: 24436 21224 <> + # or: perl -e 'while($0=" "){}' + if(/^\s*(\S+)\s+(\S+)\s+(\S+.*)/ + or + /^\s*(\S+)\s+(\S+)\s+()$/) { + $parent_of{$1} = $2; + push @{$children_of{$2}}, $1; + $name_of{$1} = $3; + } else { + ::die_bug("pidtable format: $_"); + } + } + return(\%children_of, \%parent_of, \%name_of); + } +} + +sub now { + # Returns time since epoch as in seconds with 3 decimals + # Uses: + # @Global::use + # Returns: + # $time = time now with millisecond accuracy + if(not $Global::use{"Time::HiRes"}) { + if(eval "use Time::HiRes qw ( time );") { + eval "sub TimeHiRestime { return Time::HiRes::time };"; + } else { + eval "sub TimeHiRestime { return time() };"; + } + $Global::use{"Time::HiRes"} = 1; + } + + return (int(TimeHiRestime()*1000))/1000; +} + +sub usleep { + # Sleep this many milliseconds. + # Input: + # $ms = milliseconds to sleep + my $ms = shift; + ::debug("timing",int($ms),"ms "); + select(undef, undef, undef, $ms/1000); +} + +sub reap_usleep { + # Reap dead children. + # If no dead children: Sleep specified amount with exponential backoff + # Input: + # $ms = milliseconds to sleep + # Returns: + # $ms/2+0.001 if children reaped + # $ms*1.1 if no children reaped + my $ms = shift; + if(reaper()) { + if(not $Global::total_completed % 100) { + if($opt::timeout) { + # Force cleaning the timeout queue for every 1000 jobs + # Fixes potential memleak + $Global::timeoutq->process_timeouts(); + } + } + # Sleep exponentially shorter (1/2^n) if a job finished + return $ms/2+0.001; + } else { + if($opt::timeout) { + $Global::timeoutq->process_timeouts(); + } + if($opt::memfree) { + kill_youngster_if_not_enough_mem(); + } + if($opt::limit) { + kill_youngest_if_over_limit(); + } + if($ms > 0.002) { + # When a child dies, wake up from sleep (or select(,,,)) + $SIG{CHLD} = sub { kill "ALRM", $$ }; + usleep($ms); + # --compress needs $SIG{CHLD} unset + $SIG{CHLD} = 'DEFAULT'; + } + exit_if_disk_full(); + if($opt::linebuffer) { + my $something_printed = 0; + if($opt::keeporder) { + for my $job (values %Global::running) { + $something_printed += $job->print_earlier_jobs(); + } + } else { + for my $job (values %Global::running) { + $something_printed += $job->print(); + } + } + if($something_printed) { + $ms = $ms/2+0.001; + } + } + # Sleep exponentially longer (1.1^n) if a job did not finish, + # though at most 1000 ms. + return (($ms < 1000) ? ($ms * 1.1) : ($ms)); + } +} + +sub kill_youngest_if_over_limit { + # Check each $sshlogin we are over limit + # If over limit: kill off the youngest child + # Put the child back in the queue. + # Uses: + # %Global::running + my %jobs_of; + my @sshlogins; + + for my $job (values %Global::running) { + if(not $jobs_of{$job->sshlogin()}) { + push @sshlogins, $job->sshlogin(); + } + push @{$jobs_of{$job->sshlogin()}}, $job; + } + for my $sshlogin (@sshlogins) { + for my $job (sort { $b->seq() <=> $a->seq() } @{$jobs_of{$sshlogin}}) { + if($sshlogin->limit() == 2) { + $job->kill(); + last; + } + } + } +} + +sub kill_youngster_if_not_enough_mem { + # Check each $sshlogin if there is enough mem. + # If less than 50% enough free mem: kill off the youngest child + # Put the child back in the queue. + # Uses: + # %Global::running + my %jobs_of; + my @sshlogins; + + for my $job (values %Global::running) { + if(not $jobs_of{$job->sshlogin()}) { + push @sshlogins, $job->sshlogin(); + } + push @{$jobs_of{$job->sshlogin()}}, $job; + } + for my $sshlogin (@sshlogins) { + for my $job (sort { $b->seq() <=> $a->seq() } @{$jobs_of{$sshlogin}}) { + if($sshlogin->memfree() < $opt::memfree * 0.5) { + ::debug("mem","\n",map { $_->seq()." " } + (sort { $b->seq() <=> $a->seq() } + @{$jobs_of{$sshlogin}})); + ::debug("mem","\n", $job->seq(), "killed ", + $sshlogin->memfree()," < ",$opt::memfree * 0.5); + $job->kill(); + $sshlogin->memfree_recompute(); + } else { + last; + } + } + ::debug("mem","Free mem OK ", + $sshlogin->memfree()," > ",$opt::memfree * 0.5); + } +} + + +sub __DEBUGGING__ {} + + +sub debug { + # Uses: + # $Global::debug + # %Global::fd + # Returns: N/A + $Global::debug or return; + @_ = grep { defined $_ ? $_ : "" } @_; + if($Global::debug eq "all" or $Global::debug eq $_[0]) { + if($Global::fd{1}) { + # Original stdout was saved + my $stdout = $Global::fd{1}; + print $stdout @_[1..$#_]; + } else { + print @_[1..$#_]; + } + } +} + +sub my_memory_usage { + # Returns: + # memory usage if found + # 0 otherwise + use strict; + use FileHandle; + + local $/ = "\n"; + my $pid = $$; + if(-e "/proc/$pid/stat") { + my $fh = FileHandle->new("; + chomp $data; + $fh->close; + + my @procinfo = split(/\s+/,$data); + + return undef_as_zero($procinfo[22]); + } else { + return 0; + } +} + +sub my_size { + # Returns: + # $size = size of object if Devel::Size is installed + # -1 otherwise + my @size_this = (@_); + eval "use Devel::Size qw(size total_size)"; + if ($@) { + return -1; + } else { + return total_size(@_); + } +} + +sub my_dump { + # Returns: + # ascii expression of object if Data::Dump(er) is installed + # error code otherwise + my @dump_this = (@_); + eval "use Data::Dump qw(dump);"; + if ($@) { + # Data::Dump not installed + eval "use Data::Dumper;"; + if ($@) { + my $err = "Neither Data::Dump nor Data::Dumper is installed\n". + "Not dumping output\n"; + ::status($err); + return $err; + } else { + return Dumper(@dump_this); + } + } else { + # Create a dummy Data::Dump:dump as Hans Schou sometimes has + # it undefined + eval "sub Data::Dump:dump {}"; + eval "use Data::Dump qw(dump);"; + return (Data::Dump::dump(@dump_this)); + } +} + +sub my_croak { + eval "use Carp; 1"; + $Carp::Verbose = 1; + croak(@_); +} + +sub my_carp { + eval "use Carp; 1"; + $Carp::Verbose = 1; + carp(@_); +} + + +sub __OBJECT_ORIENTED_PARTS__ {} + + +package SSHLogin; + +sub new { + my $class = shift; + my $sshlogin_string = shift; + my $ncpus; + my %hostgroups; + # SSHLogins can have these formats: + # @grp+grp/ncpu//usr/bin/ssh user@server + # ncpu//usr/bin/ssh user@server + # /usr/bin/ssh user@server + # user@server + # ncpu/user@server + # @grp+grp/user@server + if($sshlogin_string =~ s:^\@([^/]+)/?::) { + # Look for SSHLogin hostgroups + %hostgroups = map { $_ => 1 } split(/\+/, $1); + } + # An SSHLogin is always in the hostgroup of its "numcpu/host" + $hostgroups{$sshlogin_string} = 1; + if ($sshlogin_string =~ s:^(\d+)/::) { + # Override default autodetected ncpus unless missing + $ncpus = $1; + } + my $string = $sshlogin_string; + # An SSHLogin is always in the hostgroup of its $string-name + $hostgroups{$string} = 1; + @Global::hostgroups{keys %hostgroups} = values %hostgroups; + my @unget = (); + my $no_slash_string = $string; + $no_slash_string =~ s/[^-a-z0-9:]/_/gi; + return bless { + 'string' => $string, + 'jobs_running' => 0, + 'jobs_completed' => 0, + 'maxlength' => undef, + 'max_jobs_running' => undef, + 'orig_max_jobs_running' => undef, + 'ncpus' => $ncpus, + 'hostgroups' => \%hostgroups, + 'sshcommand' => undef, + 'serverlogin' => undef, + 'control_path_dir' => undef, + 'control_path' => undef, + 'time_to_login' => undef, + 'last_login_at' => undef, + 'loadavg_file' => $Global::cache_dir . "/tmp/sshlogin/" . + $no_slash_string . "/loadavg", + 'loadavg' => undef, + 'last_loadavg_update' => 0, + 'swap_activity_file' => $Global::cache_dir . "/tmp/sshlogin/" . + $no_slash_string . "/swap_activity", + 'swap_activity' => undef, + }, ref($class) || $class; +} + +sub DESTROY { + my $self = shift; + # Remove temporary files if they are created. + ::rm($self->{'loadavg_file'}); + ::rm($self->{'swap_activity_file'}); +} + +sub string { + my $self = shift; + return $self->{'string'}; +} + +sub jobs_running { + my $self = shift; + return ($self->{'jobs_running'} || "0"); +} + +sub inc_jobs_running { + my $self = shift; + $self->{'jobs_running'}++; +} + +sub dec_jobs_running { + my $self = shift; + $self->{'jobs_running'}--; +} + +sub set_maxlength { + my $self = shift; + $self->{'maxlength'} = shift; +} + +sub maxlength { + my $self = shift; + return $self->{'maxlength'}; +} + +sub jobs_completed { + my $self = shift; + return $self->{'jobs_completed'}; +} + +sub in_hostgroups { + # Input: + # @hostgroups = the hostgroups to look for + # Returns: + # true if intersection of @hostgroups and the hostgroups of this + # SSHLogin is non-empty + my $self = shift; + return grep { defined $self->{'hostgroups'}{$_} } @_; +} + +sub hostgroups { + my $self = shift; + return keys %{$self->{'hostgroups'}}; +} + +sub inc_jobs_completed { + my $self = shift; + $self->{'jobs_completed'}++; + $Global::total_completed++; +} + +sub set_max_jobs_running { + my $self = shift; + if(defined $self->{'max_jobs_running'}) { + $Global::max_jobs_running -= $self->{'max_jobs_running'}; + } + $self->{'max_jobs_running'} = shift; + if(defined $self->{'max_jobs_running'}) { + # max_jobs_running could be resat if -j is a changed file + $Global::max_jobs_running += $self->{'max_jobs_running'}; + } + # Initialize orig to the first non-zero value that comes around + $self->{'orig_max_jobs_running'} ||= $self->{'max_jobs_running'}; +} + +sub memfree { + # Returns: + # $memfree in bytes + my $self = shift; + $self->memfree_recompute(); + return (not defined $self->{'memfree'} or $self->{'memfree'}) +} + +sub memfree_recompute { + my $self = shift; + my $script = memfreescript(); + + # TODO add sshlogin and backgrounding + # Run the script twice if it gives 0 (typically intermittent error) + $self->{'memfree'} = ::qqx($script) || ::qqx($script); + if(not $self->{'memfree'}) { + ::die_bug("Less than 1 byte free"); + } + #::debug("mem","New free:",$self->{'memfree'}," "); +} + +{ + my $script; + + sub memfreescript { + # Returns: + # shellscript for giving available memory in bytes + if(not $script) { + my %script_of = ( + # /proc/meminfo + # MemFree: 7012 kB + # Buffers: 19876 kB + # Cached: 431192 kB + # SwapCached: 0 kB + "linux" => + q[ print 1024 * qx{ ]. + q[ awk '/^((Swap)?Cached|MemFree|Buffers):/ ]. + q[ { sum += \$2} END { print sum }' ]. + q[ /proc/meminfo } ], + # $ vmstat 1 1 + # procs memory page faults cpu + # r b w avm free re at pi po fr de sr in sy cs us sy id + # 1 0 0 242793 389737 5 1 0 0 0 0 0 107 978 60 1 1 99 + "hpux" => + q[ print (((reverse `vmstat 1 1`)[0] ]. + q[ =~ /(?:\d+\D+){4}(\d+)/)[0]*1024) ], + # $ vmstat 1 2 + # kthr memory page disk faults cpu + # r b w swap free re mf pi po fr de sr s3 s4 -- -- in sy cs us sy id + # 0 0 0 6496720 5170320 68 260 8 2 1 0 0 -0 3 0 0 309 1371 255 1 2 97 + # 0 0 0 6434088 5072656 7 15 8 0 0 0 0 0 261 0 0 1889 1899 3222 0 8 92 + # + # The second free value is correct + "solaris" => + q[ print (((reverse `vmstat 1 2`)[0] ]. + q[ =~ /(?:\d+\D+){4}(\d+)/)[0]*1024) ], + "freebsd" => q{ + for(qx{/sbin/sysctl -a}) { + if (/^([^:]+):\s+(.+)\s*$/s) { + $sysctl->{$1} = $2; + } + } + print $sysctl->{"hw.pagesize"} * + ($sysctl->{"vm.stats.vm.v_cache_count"} + + $sysctl->{"vm.stats.vm.v_inactive_count"} + + $sysctl->{"vm.stats.vm.v_free_count"}); + }, + # Mach Virtual Memory Statistics: (page size of 4096 bytes) + # Pages free: 198061. + # Pages active: 159701. + # Pages inactive: 47378. + # Pages speculative: 29707. + # Pages wired down: 89231. + # "Translation faults": 928901425. + # Pages copy-on-write: 156988239. + # Pages zero filled: 271267894. + # Pages reactivated: 48895. + # Pageins: 1798068. + # Pageouts: 257. + # Object cache: 6603 hits of 1713223 lookups (0% hit rate) + 'darwin' => + q[ $vm = `vm_stat`; + print (($vm =~ /page size of (\d+)/)[0] * + (($vm =~ /Pages free:\s+(\d+)/)[0] + + ($vm =~ /Pages inactive:\s+(\d+)/)[0])); + ], + ); + my $perlscript = ""; + # Make a perl script that detects the OS ($^O) and runs + # the appropriate command + for my $os (keys %script_of) { + $perlscript .= 'if($^O eq "'.$os.'") { '.$script_of{$os}.'}'; + } + $perlscript =~ s/[\t\n ]+/ /g; + $script = "perl -e " . ::shell_quote_scalar($perlscript); + } + return $script; + } +} + +sub limit { + # Returns: + # 0 = Below limit. Start another job. + # 1 = Over limit. Start no jobs. + # 2 = Kill youngest job + my $self = shift; + + if(not defined $self->{'limitscript'}) { + my %limitscripts = + ("io" => q! + io() { + limit=$1; + io_file=$2; + # Do the measurement in the background + (tmp=$(tempfile); + LANG=C iostat -x 1 2 > $tmp; + mv $tmp $io_file) & + perl -e '-e $ARGV[0] or exit(1); + for(reverse <>) { + /Device:/ and last; + /(\S+)$/ and $max = $max > $1 ? $max : $1; } + exit ($max < '$limit')' $io_file; + }; + export -f io; + io %s %s + !, + "mem" => q! + mem() { + limit=$1; + awk '/^((Swap)?Cached|MemFree|Buffers):/{ sum += $2} + END { + if (sum*1024 < '$limit'/2) { exit 2; } + else { exit (sum*1024 < '$limit') } + }' /proc/meminfo; + }; + export -f mem; + mem %s; + !, + "load" => q! + load() { + limit=$1; + ps ax -o state,command | + grep -E '^[DOR].[^[]' | + wc -l | + perl -ne 'exit ('$limit' < $_)'; + }; + export -f load; + load %s; + !, + ); + my ($cmd,@args) = split /\s+/,$opt::limit; + if($limitscripts{$cmd}) { + my $tmpfile = ::tmpname("parlmt"); + ++$Global::unlink{$tmpfile}; + $self->{'limitscript'} = + ::spacefree(1, sprintf($limitscripts{$cmd}, + ::multiply_binary_prefix(@args),$tmpfile)); + } else { + $self->{'limitscript'} = $opt::limit; + } + } + + my %env = %ENV; + local %ENV = %env; + $ENV{'SSHLOGIN'} = $self->string(); + system($Global::shell,"-c",$self->{'limitscript'}); + ::debug("limit","limit `".$self->{'limitscript'}."` result ".($?>>8)."\n"); + return $?>>8; +} + + +sub swapping { + my $self = shift; + my $swapping = $self->swap_activity(); + return (not defined $swapping or $swapping) +} + +sub swap_activity { + # If the currently known swap activity is too old: + # Recompute a new one in the background + # Returns: + # last swap activity computed + my $self = shift; + # Should we update the swap_activity file? + my $update_swap_activity_file = 0; + if(-r $self->{'swap_activity_file'}) { + open(my $swap_fh, "<", $self->{'swap_activity_file'}) || ::die_bug("swap_activity_file-r"); + my $swap_out = <$swap_fh>; + close $swap_fh; + if($swap_out =~ /^(\d+)$/) { + $self->{'swap_activity'} = $1; + ::debug("swap", "New swap_activity: ", $self->{'swap_activity'}); + } + ::debug("swap", "Last update: ", $self->{'last_swap_activity_update'}); + if(time - $self->{'last_swap_activity_update'} > 10) { + # last swap activity update was started 10 seconds ago + ::debug("swap", "Older than 10 sec: ", $self->{'swap_activity_file'}); + $update_swap_activity_file = 1; + } + } else { + ::debug("swap", "No swap_activity file: ", $self->{'swap_activity_file'}); + $self->{'swap_activity'} = undef; + $update_swap_activity_file = 1; + } + if($update_swap_activity_file) { + ::debug("swap", "Updating swap_activity file ", $self->{'swap_activity_file'}); + $self->{'last_swap_activity_update'} = time; + my $dir = ::dirname($self->{'swap_activity_file'}); + -d $dir or eval { File::Path::mkpath($dir); }; + my $swap_activity; + $swap_activity = swapactivityscript(); + if($self->{'string'} ne ":") { + $swap_activity = $self->sshcommand() . " " . $self->serverlogin() . " " . + ::shell_quote_scalar($swap_activity); + } + # Run swap_activity measuring. + # As the command can take long to run if run remote + # save it to a tmp file before moving it to the correct file + my $file = $self->{'swap_activity_file'}; + my ($dummy_fh, $tmpfile) = ::tmpfile(SUFFIX => ".swp"); + ::debug("swap", "\n", $swap_activity, "\n"); + ::qqx("($swap_activity > $tmpfile && mv $tmpfile $file || rm $tmpfile &)"); + } + return $self->{'swap_activity'}; +} + +{ + my $script; + + sub swapactivityscript { + # Returns: + # shellscript for detecting swap activity + # + # arguments for vmstat are OS dependant + # swap_in and swap_out are in different columns depending on OS + # + if(not $script) { + my %vmstat = ( + # linux: $7*$8 + # $ vmstat 1 2 + # procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- + # r b swpd free buff cache si so bi bo in cs us sy id wa + # 5 0 51208 1701096 198012 18857888 0 0 37 153 28 19 56 11 33 1 + # 3 0 51208 1701288 198012 18857972 0 0 0 0 3638 10412 15 3 82 0 + 'linux' => ['vmstat 1 2 | tail -n1', '$7*$8'], + + # solaris: $6*$7 + # $ vmstat -S 1 2 + # kthr memory page disk faults cpu + # r b w swap free si so pi po fr de sr s3 s4 -- -- in sy cs us sy id + # 0 0 0 4628952 3208408 0 0 3 1 1 0 0 -0 2 0 0 263 613 246 1 2 97 + # 0 0 0 4552504 3166360 0 0 0 0 0 0 0 0 0 0 0 246 213 240 1 1 98 + 'solaris' => ['vmstat -S 1 2 | tail -1', '$6*$7'], + + # darwin (macosx): $21*$22 + # $ vm_stat -c 2 1 + # Mach Virtual Memory Statistics: (page size of 4096 bytes) + # free active specul inactive throttle wired prgable faults copy 0fill reactive purged file-backed anonymous cmprssed cmprssor dcomprs comprs pageins pageout swapins swapouts + # 346306 829050 74871 606027 0 240231 90367 544858K 62343596 270837K 14178 415070 570102 939846 356 370 116 922 4019813 4 0 0 + # 345740 830383 74875 606031 0 239234 90369 2696 359 553 0 0 570110 941179 356 370 0 0 0 0 0 0 + 'darwin' => ['vm_stat -c 2 1 | tail -n1', '$21*$22'], + + # ultrix: $12*$13 + # $ vmstat -S 1 2 + # procs faults cpu memory page disk + # r b w in sy cs us sy id avm fre si so pi po fr de sr s0 + # 1 0 0 4 23 2 3 0 97 7743 217k 0 0 0 0 0 0 0 0 + # 1 0 0 6 40 8 0 1 99 7743 217k 0 0 3 0 0 0 0 0 + 'ultrix' => ['vmstat -S 1 2 | tail -1', '$12*$13'], + + # aix: $6*$7 + # $ vmstat 1 2 + # System configuration: lcpu=1 mem=2048MB + # + # kthr memory page faults cpu + # ----- ----------- ------------------------ ------------ ----------- + # r b avm fre re pi po fr sr cy in sy cs us sy id wa + # 0 0 333933 241803 0 0 0 0 0 0 10 143 90 0 0 99 0 + # 0 0 334125 241569 0 0 0 0 0 0 37 5368 184 0 9 86 5 + 'aix' => ['vmstat 1 2 | tail -n1', '$6*$7'], + + # freebsd: $8*$9 + # $ vmstat -H 1 2 + # procs memory page disks faults cpu + # r b w avm fre flt re pi po fr sr ad0 ad1 in sy cs us sy id + # 1 0 0 596716 19560 32 0 0 0 33 8 0 0 11 220 277 0 0 99 + # 0 0 0 596716 19560 2 0 0 0 0 0 0 0 11 144 263 0 1 99 + 'freebsd' => ['vmstat -H 1 2 | tail -n1', '$8*$9'], + + # mirbsd: $8*$9 + # $ vmstat 1 2 + # procs memory page disks traps cpu + # r b w avm fre flt re pi po fr sr wd0 cd0 int sys cs us sy id + # 0 0 0 25776 164968 34 0 0 0 0 0 0 0 230 259 38 4 0 96 + # 0 0 0 25776 164968 24 0 0 0 0 0 0 0 237 275 37 0 0 100 + 'mirbsd' => ['vmstat 1 2 | tail -n1', '$8*$9'], + + # netbsd: $7*$8 + # $ vmstat 1 2 + # procs memory page disks faults cpu + # r b avm fre flt re pi po fr sr w0 w1 in sy cs us sy id + # 0 0 138452 6012 54 0 0 0 1 2 3 0 4 100 23 0 0 100 + # 0 0 138456 6008 1 0 0 0 0 0 0 0 7 26 19 0 0 100 + 'netbsd' => ['vmstat 1 2 | tail -n1', '$7*$8'], + + # openbsd: $8*$9 + # $ vmstat 1 2 + # procs memory page disks traps cpu + # r b w avm fre flt re pi po fr sr wd0 wd1 int sys cs us sy id + # 0 0 0 76596 109944 73 0 0 0 0 0 0 1 5 259 22 0 1 99 + # 0 0 0 76604 109936 24 0 0 0 0 0 0 0 7 114 20 0 1 99 + 'openbsd' => ['vmstat 1 2 | tail -n1', '$8*$9'], + + # hpux: $8*$9 + # $ vmstat 1 2 + # procs memory page faults cpu + # r b w avm free re at pi po fr de sr in sy cs us sy id + # 1 0 0 247211 216476 4 1 0 0 0 0 0 102 73005 54 6 11 83 + # 1 0 0 247211 216421 43 9 0 0 0 0 0 144 1675 96 25269512791222387000 25269512791222387000 105 + 'hpux' => ['vmstat 1 2 | tail -n1', '$8*$9'], + + # dec_osf (tru64): $11*$12 + # $ vmstat 1 2 + # Virtual Memory Statistics: (pagesize = 8192) + # procs memory pages intr cpu + # r w u act free wire fault cow zero react pin pout in sy cs us sy id + # 3 181 36 51K 1895 8696 348M 59M 122M 259 79M 0 5 218 302 4 1 94 + # 3 181 36 51K 1893 8696 3 15 21 0 28 0 4 81 321 1 1 98 + 'dec_osf' => ['vmstat 1 2 | tail -n1', '$11*$12'], + + # gnu (hurd): $7*$8 + # $ vmstat -k 1 2 + # (pagesize: 4, size: 512288, swap size: 894972) + # free actv inact wired zeroed react pgins pgouts pfaults cowpfs hrat caobj cache swfree + # 371940 30844 89228 20276 298348 0 48192 19016 756105 99808 98% 876 20628 894972 + # 371940 30844 89228 20276 +0 +0 +0 +0 +42 +2 98% 876 20628 894972 + 'gnu' => ['vmstat -k 1 2 | tail -n1', '$7*$8'], + + # -nto (qnx has no swap) + #-irix + #-svr5 (scosysv) + ); + my $perlscript = ""; + # Make a perl script that detects the OS ($^O) and runs + # the appropriate vmstat command + for my $os (keys %vmstat) { + $vmstat{$os}[1] =~ s/\$/\\\\\\\$/g; # $ => \\\$ + $perlscript .= 'if($^O eq "'.$os.'") { print `'.$vmstat{$os}[0].' | awk "{print ' . + $vmstat{$os}[1] . '}"` }'; + } + $script = "perl -e " . ::shell_quote_scalar($perlscript); + } + return $script; + } +} + +sub too_fast_remote_login { + my $self = shift; + if($self->{'last_login_at'} and $self->{'time_to_login'}) { + # sshd normally allows 10 simultaneous logins + # A login takes time_to_login + # So time_to_login/5 should be safe + # If now <= last_login + time_to_login/5: Then it is too soon. + my $too_fast = (::now() <= $self->{'last_login_at'} + + $self->{'time_to_login'}/5); + ::debug("run", "Too fast? $too_fast "); + return $too_fast; + } else { + # No logins so far (or time_to_login not computed): it is not too fast + return 0; + } +} + +sub last_login_at { + my $self = shift; + return $self->{'last_login_at'}; +} + +sub set_last_login_at { + my $self = shift; + $self->{'last_login_at'} = shift; +} + +sub loadavg_too_high { + my $self = shift; + my $loadavg = $self->loadavg(); + return (not defined $loadavg or + $loadavg > $self->max_loadavg()); +} + +{ + my $cmd; + sub loadavg_cmd { + if(not $cmd) { + # aix => "ps -ae -o state,command" # state wrong + # bsd => "ps ax -o state,command" + # sysv => "ps -ef -o s -o comm" + # cygwin => perl -ne 'close STDERR; /Name/ and print"\n"; \ + # /(Name|Pid|Ppid|State):\s+(\S+)/ and print "$2\t";' /proc/*/status | + # awk '{print $2,$1}' + # dec_osf => bsd + # dragonfly => bsd + # freebsd => bsd + # gnu => bsd + # hpux => ps -el|awk '{print $2,$14,$15}' + # irix => ps -ef -o state -o comm + # linux => bsd + # minix => ps el|awk '{print \$1,\$11}' + # mirbsd => bsd + # netbsd => bsd + # openbsd => bsd + # solaris => sysv + # svr5 => sysv + # ultrix => ps -ax | awk '{print $3,$5}' + # unixware => ps -el|awk '{print $2,$14,$15}' + my $ps = ::spacefree(1,q{ + $sysv="ps -ef -o s -o comm"; + $sysv2="ps -ef -o state -o comm"; + $bsd="ps ax -o state,command"; + # Treat threads as processes + $bsd2="ps axH -o state,command"; + $psel="ps -el|awk '{ print \$2,\$14,\$15 }'"; + $cygwin=q{ perl -ne 'close STDERR; /Name/ and print"\n"; + /(Name|Pid|Ppid|State):\s+(\S+)/ and print "$2\t";' /proc/*/status | + awk '{print $2,$1}' }; + $dummy="echo S COMMAND;echo R dummy"; + %ps=( + # TODO Find better code for AIX + 'aix' => "uptime", + 'cygwin' => $cygwin, + 'darwin' => $bsd, + 'dec_osf' => $sysv2, + 'dragonfly' => $bsd, + 'freebsd' => $bsd2, + 'gnu' => $bsd, + 'hpux' => $psel, + 'irix' => $sysv2, + 'linux' => $bsd2, + 'minix' => "ps el|awk '{print \$1,\$11}'", + 'mirbsd' => $bsd, + 'msys' => $cygwin, + 'MSWin32' => $sysv, + 'netbsd' => $bsd, + 'nto' => $dummy, + 'openbsd' => $bsd, + 'solaris' => $sysv, + 'svr5' => $psel, + 'ultrix' => "ps -ax | awk '{print \$3,\$5}'", + ); + print `$ps{$^O}`; + }); + # The command is too long for csh, so base64_wrap the command + $cmd = Job::base64_wrap($ps); + } + return $cmd; + } +} + + +sub loadavg { + # If the currently know loadavg is too old: + # Recompute a new one in the background + # The load average is computed as the number of processes waiting for disk + # or CPU right now. So it is the server load this instant and not averaged over + # several minutes. This is needed so GNU Parallel will at most start one job + # that will push the load over the limit. + # + # Returns: + # $last_loadavg = last load average computed (undef if none) + my $self = shift; + # Should we update the loadavg file? + my $update_loadavg_file = 0; + if(open(my $load_fh, "<", $self->{'loadavg_file'})) { + local $/; # $/ = undef => slurp whole file + my $load_out = <$load_fh>; + close $load_fh; + if($load_out =~ /\S/) { + # Content can be empty if ~/ is on NFS + # due to reading being non-atomic. + # + # Count lines starting with D,O,R but command does not start with [ + my $load =()= ($load_out=~/(^\s?[DOR]\S* +(?=[^\[])\S)/gm); + if($load > 0) { + # load is overestimated by 1 + $self->{'loadavg'} = $load - 1; + ::debug("load", "New loadavg: ", $self->{'loadavg'},"\n"); + } elsif ($load_out=~/average: (\d+.\d+)/) { + # AIX does not support instant load average + # 04:11AM up 21 days, 12:55, 1 user, load average: 1.85, 1.57, 1.55 + $self->{'loadavg'} = $1; + } else { + ::die_bug("loadavg_invalid_content: " . + $self->{'loadavg_file'} . "\n$load_out"); + } + } + $update_loadavg_file = 1; + } else { + ::debug("load", "No loadavg file: ", $self->{'loadavg_file'}); + $self->{'loadavg'} = undef; + $update_loadavg_file = 1; + } + if($update_loadavg_file) { + ::debug("load", "Updating loadavg file", $self->{'loadavg_file'}, "\n"); + $self->{'last_loadavg_update'} = time; + my $dir = ::dirname($self->{'swap_activity_file'}); + -d $dir or eval { File::Path::mkpath($dir); }; + -w $dir or ::die_bug("Cannot write to $dir"); + my $cmd = ""; + if($self->{'string'} ne ":") { + $cmd = $self->sshcommand() . " " . $self->serverlogin() . " " . + ::shell_quote_scalar(loadavg_cmd()); + } else { + $cmd .= loadavg_cmd(); + } + # As the command can take long to run if run remote + # save it to a tmp file before moving it to the correct file + ::debug("load", "Cmd: ", $cmd,"\n"); + my $file = $self->{'loadavg_file'}; + # tmpfile on same filesystem as $file + my $tmpfile = $file.$$; + ::qqx("($cmd > $tmpfile && mv $tmpfile $file || rm $tmpfile & )"); + } + return $self->{'loadavg'}; +} + +sub max_loadavg { + my $self = shift; + # If --load is a file it might be changed + if($Global::max_load_file) { + my $mtime = (stat($Global::max_load_file))[9]; + if($mtime > $Global::max_load_file_last_mod) { + $Global::max_load_file_last_mod = $mtime; + for my $sshlogin (values %Global::host) { + $sshlogin->set_max_loadavg(undef); + } + } + } + if(not defined $self->{'max_loadavg'}) { + $self->{'max_loadavg'} = + $self->compute_max_loadavg($opt::load); + } + ::debug("load", "max_loadavg: ", $self->string(), " ", $self->{'max_loadavg'}); + return $self->{'max_loadavg'}; +} + +sub set_max_loadavg { + my $self = shift; + $self->{'max_loadavg'} = shift; +} + +sub compute_max_loadavg { + # Parse the max loadaverage that the user asked for using --load + # Returns: + # max loadaverage + my $self = shift; + my $loadspec = shift; + my $load; + if(defined $loadspec) { + if($loadspec =~ /^\+(\d+)$/) { + # E.g. --load +2 + my $j = $1; + $load = + $self->ncpus() + $j; + } elsif ($loadspec =~ /^-(\d+)$/) { + # E.g. --load -2 + my $j = $1; + $load = + $self->ncpus() - $j; + } elsif ($loadspec =~ /^(\d+)\%$/) { + my $j = $1; + $load = + $self->ncpus() * $j / 100; + } elsif ($loadspec =~ /^(\d+(\.\d+)?)$/) { + $load = $1; + } elsif (-f $loadspec) { + $Global::max_load_file = $loadspec; + $Global::max_load_file_last_mod = (stat($Global::max_load_file))[9]; + if(open(my $in_fh, "<", $Global::max_load_file)) { + my $opt_load_file = join("",<$in_fh>); + close $in_fh; + $load = $self->compute_max_loadavg($opt_load_file); + } else { + ::error("Cannot open $loadspec."); + ::wait_and_exit(255); + } + } else { + ::error("Parsing of --load failed."); + ::die_usage(); + } + if($load < 0.01) { + $load = 0.01; + } + } + return $load; +} + +sub time_to_login { + my $self = shift; + return $self->{'time_to_login'}; +} + +sub set_time_to_login { + my $self = shift; + $self->{'time_to_login'} = shift; +} + +sub max_jobs_running { + my $self = shift; + if(not defined $self->{'max_jobs_running'}) { + my $nproc = $self->compute_number_of_processes($opt::jobs); + $self->set_max_jobs_running($nproc); + } + return $self->{'max_jobs_running'}; +} + +sub orig_max_jobs_running { + my $self = shift; + return $self->{'orig_max_jobs_running'}; +} + +sub compute_number_of_processes { + # Number of processes wanted and limited by system resources + # Returns: + # Number of processes + my $self = shift; + my $opt_P = shift; + my $wanted_processes = $self->user_requested_processes($opt_P); + if(not defined $wanted_processes) { + $wanted_processes = $Global::default_simultaneous_sshlogins; + } + ::debug("load", "Wanted procs: $wanted_processes\n"); + my $system_limit = + $self->processes_available_by_system_limit($wanted_processes); + ::debug("load", "Limited to procs: $system_limit\n"); + return $system_limit; +} + +{ + my @children; + my $max_system_proc_reached; + my $more_filehandles; + my %fh; + my $tmpfhname; + my $count_jobs_already_read; + my @jobs; + my $job; + my @args; + my $arg; + + sub reserve_filehandles { + # Reserves filehandle + my $n = shift; + for (1..$n) { + $more_filehandles &&= open($fh{$tmpfhname++}, "<", "/dev/null"); + } + } + + sub reserve_process { + # Spawn a dummy process + my $child; + if($child = fork()) { + push @children, $child; + $Global::unkilled_children{$child} = 1; + } elsif(defined $child) { + # This is the child + # The child takes one process slot + # It will be killed later + $SIG{'TERM'} = $Global::original_sig{'TERM'}; + if($^O eq "cygwin" or $^O eq "msys") { + # The exec does not work on Cygwin + sleep 10101010; + } else { + # 'exec sleep' takes less RAM than sleeping in perl + exec 'sleep', 10101; + } + exit(0); + } else { + # Failed to spawn + $max_system_proc_reached = 1; + } + } + + sub get_args_or_jobs { + # Get an arg or a job (depending on mode) + if($Global::semaphore or ($opt::pipe and not $opt::tee)) { + # Skip: No need to get args + return 1; + } elsif(defined $opt::retries and $count_jobs_already_read) { + # For retries we may need to run all jobs on this sshlogin + # so include the already read jobs for this sshlogin + $count_jobs_already_read--; + return 1; + } else { + if($opt::X or $opt::m) { + # The arguments may have to be re-spread over several jobslots + # So pessimistically only read one arg per jobslot + # instead of a full commandline + if($Global::JobQueue->{'commandlinequeue'}->{'arg_queue'}->empty()) { + if($Global::JobQueue->empty()) { + return 0; + } else { + $job = $Global::JobQueue->get(); + push(@jobs, $job); + return 1; + } + } else { + $arg = $Global::JobQueue->{'commandlinequeue'}->{'arg_queue'}->get(); + push(@args, $arg); + return 1; + } + } else { + # If there are no more command lines, then we have a process + # per command line, so no need to go further + if($Global::JobQueue->empty()) { + return 0; + } else { + $job = $Global::JobQueue->get(); + push(@jobs, $job); + return 1; + } + } + } + } + + sub cleanup { + # Cleanup: Close the files + for (values %fh) { close $_ } + # Cleanup: Kill the children + for my $pid (@children) { + kill 9, $pid; + waitpid($pid,0); + delete $Global::unkilled_children{$pid}; + } + # Cleanup: Unget the command_lines or the @args + $Global::JobQueue->{'commandlinequeue'}->{'arg_queue'}->unget(@args); + @args = (); + $Global::JobQueue->unget(@jobs); + @jobs = (); + } + + sub processes_available_by_system_limit { + # If the wanted number of processes is bigger than the system limits: + # Limit them to the system limits + # Limits are: File handles, number of input lines, processes, + # and taking > 1 second to spawn 10 extra processes + # Returns: + # Number of processes + my $self = shift; + my $wanted_processes = shift; + my $system_limit = 0; + my $slow_spawning_warning_printed = 0; + my $time = time; + $more_filehandles = 1; + $tmpfhname = "TmpFhNamE"; + + # perl uses 7 filehandles for something? + # parallel uses 1 for memory_usage + # parallel uses 4 for ? + reserve_filehandles(12); + # Two processes for load avg and ? + reserve_process(); + reserve_process(); + + # For --retries count also jobs already run + $count_jobs_already_read = $Global::JobQueue->next_seq(); + my $wait_time_for_getting_args = 0; + my $start_time = time; + while(1) { + $system_limit >= $wanted_processes and last; + not $more_filehandles and last; + $max_system_proc_reached and last; + + my $before_getting_arg = time; + if(!$Global::dummy_jobs) { + get_args_or_jobs() or last; + } + $wait_time_for_getting_args += time - $before_getting_arg; + $system_limit++; + + # Every simultaneous process uses 2 filehandles to write to + # and 2 filehandles to read from + reserve_filehandles(4); + + # System process limit + reserve_process(); + + my $forktime = time - $time - $wait_time_for_getting_args; + ::debug("run", "Time to fork $system_limit procs: $wait_time_for_getting_args ", + $forktime, + " (processes so far: ", $system_limit,")\n"); + if($system_limit > 10 and + $forktime > 1 and + $forktime > $system_limit * 0.01 + and not $slow_spawning_warning_printed) { + # It took more than 0.01 second to fork a processes on avg. + # Give the user a warning. He can press Ctrl-C if this + # sucks. + ::warning("Starting $system_limit processes took > $forktime sec.", + "Consider adjusting -j. Press CTRL-C to stop."); + $slow_spawning_warning_printed = 1; + } + } + cleanup(); + + if($system_limit < $wanted_processes) { + # The system_limit is less than the wanted_processes + if($system_limit < 1 and not $Global::JobQueue->empty()) { + ::warning("Cannot spawn any jobs. ". + "Raising ulimit -u or 'nproc' in /etc/security/limits.conf", + "or /proc/sys/kernel/pid_max may help."); + ::wait_and_exit(255); + } + if(not $more_filehandles) { + ::warning("Only enough file handles to run ". + $system_limit. " jobs in parallel.", + "Running 'parallel -j0 -N $system_limit --pipe parallel -j0' or", + "raising 'ulimit -n' or 'nofile' in /etc/security/limits.conf", + "or /proc/sys/fs/file-max may help."); + } + if($max_system_proc_reached) { + ::warning("Only enough available processes to run ". + $system_limit. " jobs in parallel.", + "Raising ulimit -u or /etc/security/limits.conf ", + "or /proc/sys/kernel/pid_max may help."); + } + } + if($] == 5.008008 and $system_limit > 1000) { + # https://savannah.gnu.org/bugs/?36942 + $system_limit = 1000; + } + if($Global::JobQueue->empty()) { + $system_limit ||= 1; + } + if($self->string() ne ":" and + $system_limit > $Global::default_simultaneous_sshlogins) { + $system_limit = + $self->simultaneous_sshlogin_limit($system_limit); + } + return $system_limit; + } +} + +sub simultaneous_sshlogin_limit { + # Test by logging in wanted number of times simultaneously + # Returns: + # min($wanted_processes,$working_simultaneous_ssh_logins-1) + my $self = shift; + my $wanted_processes = shift; + if($self->{'time_to_login'}) { + return $wanted_processes; + } + + # Try twice because it guesses wrong sometimes + # Choose the minimal + my $ssh_limit = + ::min($self->simultaneous_sshlogin($wanted_processes), + $self->simultaneous_sshlogin($wanted_processes)); + if($ssh_limit < $wanted_processes) { + my $serverlogin = $self->serverlogin(); + ::warning("ssh to $serverlogin only allows ". + "for $ssh_limit simultaneous logins.", + "You may raise this by changing ". + "/etc/ssh/sshd_config:MaxStartups and MaxSessions on $serverlogin.", + "You can also try --sshdelay 0.1", + "Using only ".($ssh_limit-1)." connections ". + "to avoid race conditions."); + # Race condition can cause problem if using all sshs. + if($ssh_limit > 1) { $ssh_limit -= 1; } + } + return $ssh_limit; +} + +sub simultaneous_sshlogin { + # Using $sshlogin try to see if we can do $wanted_processes + # simultaneous logins + # (ssh host echo simultaneouslogin & ssh host echo simultaneouslogin & ...)|grep simul|wc -l + # Returns: + # Number of succesful logins + local $/ = "\n"; + my $self = shift; + my $wanted_processes = shift; + my $sshcmd = $self->sshcommand(); + my $serverlogin = $self->serverlogin(); + my $sshdelay = $opt::sshdelay ? "sleep $opt::sshdelay;" : ""; + # TODO sh -c wrapper to work for csh + my $cmd = "$sshdelay$sshcmd $serverlogin -- echo simultaneouslogin &1 &"x$wanted_processes; + ::debug("init", "Trying $wanted_processes logins at $serverlogin\n"); + open (my $simul_fh, "-|", "($cmd)|grep simultaneouslogin | wc -l") or + ::die_bug("simultaneouslogin"); + my $ssh_limit = <$simul_fh>; + close $simul_fh; + chomp $ssh_limit; + return $ssh_limit; +} + +sub set_ncpus { + my $self = shift; + $self->{'ncpus'} = shift; +} + +sub user_requested_processes { + # Parse the number of processes that the user asked for using -j + # Returns: + # the number of processes to run on this sshlogin + my $self = shift; + my $opt_P = shift; + my $processes; + if(defined $opt_P) { + if($opt_P =~ /^\+(\d+)$/) { + # E.g. -P +2 + my $j = $1; + $processes = + $self->ncpus() + $j; + } elsif ($opt_P =~ /^-(\d+)$/) { + # E.g. -P -2 + my $j = $1; + $processes = + $self->ncpus() - $j; + } elsif ($opt_P =~ /^(\d+(\.\d+)?)\%$/) { + # E.g. -P 10.5% + my $j = $1; + $processes = + $self->ncpus() * $j / 100; + } elsif ($opt_P =~ /^(\d+)$/) { + $processes = $1; + if($processes == 0) { + # -P 0 = infinity (or at least close) + $processes = $Global::infinity; + } + } elsif (-f $opt_P) { + $Global::max_procs_file = $opt_P; + if(open(my $in_fh, "<", $Global::max_procs_file)) { + my $opt_P_file = join("",<$in_fh>); + close $in_fh; + $processes = $self->user_requested_processes($opt_P_file); + } else { + ::error("Cannot open $opt_P."); + ::wait_and_exit(255); + } + } else { + ::error("Parsing of --jobs/-j/--max-procs/-P failed."); + ::die_usage(); + } + $processes = ::ceil($processes); + } + return $processes; +} + +sub ncpus { + local $/ = "\n"; + my $self = shift; + if(not defined $self->{'ncpus'}) { + my $sshcmd = $self->sshcommand(); + my $serverlogin = $self->serverlogin(); + if($serverlogin eq ":") { + if($opt::use_cpus_instead_of_cores) { + $self->{'ncpus'} = no_of_cpus(); + } else { + $self->{'ncpus'} = no_of_cores(); + } + } else { + my $ncpu; + if($opt::use_cpus_instead_of_cores) { + $ncpu = ::qqx("echo|$sshcmd $serverlogin -- parallel --number-of-cpus"); + } else { + ::debug("init",qq(echo|$sshcmd $serverlogin -- parallel --number-of-cores\n)); + $ncpu = ::qqx("echo|$sshcmd $serverlogin -- parallel --number-of-cores"); + } + chomp $ncpu; + if($ncpu =~ /^\s*[0-9]+\s*$/s) { + $self->{'ncpus'} = $ncpu; + } else { + ::warning("Could not figure out ". + "number of cpus on $serverlogin ($ncpu). Using 1."); + $self->{'ncpus'} = 1; + } + } + } + return $self->{'ncpus'}; +} + +sub no_of_cpus { + # Returns: + # Number of physical CPUs + local $/ = "\n"; # If delimiter is set, then $/ will be wrong + my $no_of_cpus; + if ($^O eq 'linux') { + $no_of_cpus = no_of_cpus_gnu_linux() || no_of_cores_gnu_linux(); + } elsif ($^O eq 'freebsd') { + $no_of_cpus = no_of_cpus_freebsd(); + } elsif ($^O eq 'netbsd') { + $no_of_cpus = no_of_cpus_netbsd(); + } elsif ($^O eq 'openbsd') { + $no_of_cpus = no_of_cpus_openbsd(); + } elsif ($^O eq 'gnu') { + $no_of_cpus = no_of_cpus_hurd(); + } elsif ($^O eq 'darwin') { + $no_of_cpus = no_of_cpus_darwin(); + } elsif ($^O eq 'solaris') { + $no_of_cpus = no_of_cpus_solaris() || nproc(); + } elsif ($^O eq 'aix') { + $no_of_cpus = no_of_cpus_aix(); + } elsif ($^O eq 'hpux') { + $no_of_cpus = no_of_cpus_hpux(); + } elsif ($^O eq 'nto') { + $no_of_cpus = no_of_cpus_qnx(); + } elsif ($^O eq 'svr5') { + $no_of_cpus = no_of_cpus_openserver(); + } elsif ($^O eq 'irix') { + $no_of_cpus = no_of_cpus_irix(); + } elsif ($^O eq 'dec_osf') { + $no_of_cpus = no_of_cpus_tru64(); + } else { + $no_of_cpus = (no_of_cpus_gnu_linux() + || no_of_cpus_freebsd() + || no_of_cpus_netbsd() + || no_of_cpus_openbsd() + || no_of_cpus_hurd() + || no_of_cpus_darwin() + || no_of_cpus_solaris() + || no_of_cpus_aix() + || no_of_cpus_hpux() + || no_of_cpus_qnx() + || no_of_cpus_openserver() + || no_of_cpus_irix() + || no_of_cpus_tru64() + # Number of cores is better than no guess for #CPUs + || nproc() + ); + } + if($no_of_cpus) { + chomp $no_of_cpus; + return $no_of_cpus; + } else { + ::warning("Cannot figure out number of cpus. Using 1."); + return 1; + } +} + +sub no_of_cores { + # Returns: + # Number of CPU cores + local $/ = "\n"; # If delimiter is set, then $/ will be wrong + my $no_of_cores; + if ($^O eq 'linux') { + $no_of_cores = no_of_cores_gnu_linux(); + } elsif ($^O eq 'freebsd') { + $no_of_cores = no_of_cores_freebsd(); + } elsif ($^O eq 'netbsd') { + $no_of_cores = no_of_cores_netbsd(); + } elsif ($^O eq 'openbsd') { + $no_of_cores = no_of_cores_openbsd(); + } elsif ($^O eq 'gnu') { + $no_of_cores = no_of_cores_hurd(); + } elsif ($^O eq 'darwin') { + $no_of_cores = no_of_cores_darwin(); + } elsif ($^O eq 'solaris') { + $no_of_cores = no_of_cores_solaris() || nproc(); + } elsif ($^O eq 'aix') { + $no_of_cores = no_of_cores_aix(); + } elsif ($^O eq 'hpux') { + $no_of_cores = no_of_cores_hpux(); + } elsif ($^O eq 'nto') { + $no_of_cores = no_of_cores_qnx(); + } elsif ($^O eq 'svr5') { + $no_of_cores = no_of_cores_openserver(); + } elsif ($^O eq 'irix') { + $no_of_cores = no_of_cores_irix(); + } elsif ($^O eq 'dec_osf') { + $no_of_cores = no_of_cores_tru64(); + } else { + $no_of_cores = (no_of_cores_gnu_linux() + || no_of_cores_freebsd() + || no_of_cores_netbsd() + || no_of_cores_openbsd() + || no_of_cores_hurd() + || no_of_cores_darwin() + || no_of_cores_solaris() + || no_of_cores_aix() + || no_of_cores_hpux() + || no_of_cores_qnx() + || no_of_cores_openserver() + || no_of_cores_irix() + || no_of_cores_tru64() + || nproc() + ); + } + if($no_of_cores) { + chomp $no_of_cores; + return $no_of_cores; + } else { + ::warning("Cannot figure out number of CPU cores. Using 1."); + return 1; + } +} + +sub nproc { + # Returns: + # Number of cores using `nproc` + my $no_of_cores = ::qqx("nproc"); + return $no_of_cores; +} + +sub no_of_cpus_gnu_linux { + # Returns: + # Number of physical CPUs on GNU/Linux + # undef if not GNU/Linux + my $no_of_cpus; + my $no_of_cores; + my $no_of_active_cores; + if(-e "/proc/cpuinfo") { + $no_of_cpus = 0; + $no_of_cores = 0; + my %seen; + if(open(my $in_fh, "<", "/proc/cpuinfo")) { + while(<$in_fh>) { + if(/^physical id.*[:](.*)/ and not $seen{$1}++) { + $no_of_cpus++; + } + /^processor.*[:]/i and $no_of_cores++; + } + close $in_fh; + } + } + if(-e "/proc/self/status") { + # if 'taskset' is used to limit number of cores + if(open(my $in_fh, "<", "/proc/self/status")) { + while(<$in_fh>) { + if(/^Cpus_allowed:\s*(\S+)/) { + my $a = $1; + $a =~ tr/,//d; + $no_of_active_cores = unpack ("%32b*", pack ("H*",$a)); + } + } + close $in_fh; + } + } + return (::min($no_of_cpus || $no_of_cores,$no_of_active_cores)); +} + +sub no_of_cores_gnu_linux { + # Returns: + # Number of CPU cores on GNU/Linux + # undef if not GNU/Linux + my $no_of_cores; + my $no_of_active_cores; + if(-e "/proc/cpuinfo") { + $no_of_cores = 0; + open(my $in_fh, "<", "/proc/cpuinfo") || return undef; + while(<$in_fh>) { + /^processor.*[:]/i and $no_of_cores++; + } + close $in_fh; + } + if(-e "/proc/self/status") { + # if 'taskset' is used to limit number of cores + if(open(my $in_fh, "<", "/proc/self/status")) { + while(<$in_fh>) { + if(/^Cpus_allowed:\s*(\S+)/) { + my $a = $1; + $a =~ tr/,//d; + $no_of_active_cores = unpack ("%32b*", pack ("H*",$a)); + } + } + close $in_fh; + } + } + return (::min($no_of_cores,$no_of_active_cores)); +} + +sub no_of_cpus_freebsd { + # Returns: + # Number of physical CPUs on FreeBSD + # undef if not FreeBSD + local $/ = "\n"; + my $no_of_cpus = + (::qqx(qq{ sysctl -a dev.cpu | grep \%parent | awk '{ print \$2 }' | uniq | wc -l | awk '{ print \$1 }' }) + or + ::qqx(qq{ sysctl hw.ncpu | awk '{ print \$2 }' })); + chomp $no_of_cpus; + return $no_of_cpus; +} + +sub no_of_cores_freebsd { + # Returns: + # Number of CPU cores on FreeBSD + # undef if not FreeBSD + local $/ = "\n"; + my $no_of_cores = + (::qqx(qq{ sysctl hw.ncpu | awk '{ print \$2 }' }) + or + ::qqx(qq{ sysctl -a dev.cpu | grep \%parent | awk '{ print \$2 }' | uniq | wc -l | awk '{ print \$1 }' })); + chomp $no_of_cores; + return $no_of_cores; +} + +sub no_of_cpus_netbsd { + # Returns: + # Number of physical CPUs on NetBSD + # undef if not NetBSD + local $/ = "\n"; + my $no_of_cpus = ::qqx("sysctl -n hw.ncpu"); + chomp $no_of_cpus; + return $no_of_cpus; +} + +sub no_of_cores_netbsd { + # Returns: + # Number of CPU cores on NetBSD + # undef if not NetBSD + local $/ = "\n"; + my $no_of_cores = ::qqx("sysctl -n hw.ncpu"); + chomp $no_of_cores; + return $no_of_cores; +} + +sub no_of_cpus_openbsd { + # Returns: + # Number of physical CPUs on OpenBSD + # undef if not OpenBSD + local $/ = "\n"; + my $no_of_cpus = ::qqx('sysctl -n hw.ncpu'); + chomp $no_of_cpus; + return $no_of_cpus; +} + +sub no_of_cores_openbsd { + # Returns: + # Number of CPU cores on OpenBSD + # undef if not OpenBSD + local $/ = "\n"; + my $no_of_cores = ::qqx('sysctl -n hw.ncpu'); + chomp $no_of_cores; + return $no_of_cores; +} + +sub no_of_cpus_hurd { + # Returns: + # Number of physical CPUs on HURD + # undef if not HURD + local $/ = "\n"; + my $no_of_cpus = ::qqx("nproc"); + chomp $no_of_cpus; + return $no_of_cpus; +} + +sub no_of_cores_hurd { + # Returns: + # Number of physical CPUs on HURD + # undef if not HURD + local $/ = "\n"; + my $no_of_cores = ::qqx("nproc"); + chomp $no_of_cores; + return $no_of_cores; +} + +sub no_of_cpus_darwin { + # Returns: + # Number of physical CPUs on MacOSX Darwin + # undef if not MacOSX Darwin + my $no_of_cpus = + (::qqx('sysctl -n hw.physicalcpu') + or + ::qqx(qq{ sysctl -a hw | grep [^a-z]physicalcpu[^a-z] | awk '{ print \$2 }' })); + return $no_of_cpus; +} + +sub no_of_cores_darwin { + # Returns: + # Number of CPU cores on Mac Darwin + # undef if not Mac Darwin + my $no_of_cores = + (::qqx('sysctl -n hw.logicalcpu') + or + ::qqx(qq{ sysctl -a hw | grep [^a-z]logicalcpu[^a-z] | awk '{ print \$2 }' })); + return $no_of_cores; +} + +sub no_of_cpus_solaris { + # Returns: + # Number of physical CPUs on Solaris + # undef if not Solaris + if(-x "/usr/sbin/psrinfo") { + my @psrinfo = ::qqx("/usr/sbin/psrinfo"); + if($#psrinfo >= 0) { + return $#psrinfo +1; + } + } + if(-x "/usr/sbin/prtconf") { + my @prtconf = ::qqx("/usr/sbin/prtconf | grep cpu..instance"); + if($#prtconf >= 0) { + return $#prtconf +1; + } + } + if(-x "/usr/sbin/prtconf") { + my @prtconf = ::qqx("/usr/sbin/prtconf | grep cpu..instance"); + if($#prtconf >= 0) { + return $#prtconf +1; + } + } + return undef; +} + +sub no_of_cores_solaris { + # Returns: + # Number of CPU cores on Solaris + # undef if not Solaris + if(-x "/usr/sbin/psrinfo") { + my @psrinfo = ::qqx("/usr/sbin/psrinfo"); + if($#psrinfo >= 0) { + return $#psrinfo +1; + } + } + if(-x "/usr/sbin/prtconf") { + my @prtconf = ::qqx("/usr/sbin/prtconf | grep cpu..instance"); + if($#prtconf >= 0) { + return $#prtconf +1; + } + } + return undef; +} + +sub no_of_cpus_aix { + # Returns: + # Number of physical CPUs on AIX + # undef if not AIX + local $/ = "\n"; + my $no_of_cpus = 0; + if(-x "/usr/sbin/lscfg") { + open(my $in_fh, "-|", "/usr/sbin/lscfg -vs |grep proc | wc -l|tr -d ' '") + || return undef; + $no_of_cpus = <$in_fh>; + chomp ($no_of_cpus); + close $in_fh; + } + return $no_of_cpus; +} + +sub no_of_cores_aix { + # Returns: + # Number of CPU cores on AIX + # undef if not AIX + my $no_of_cores; + if(-x "/usr/bin/vmstat") { + open(my $in_fh, "-|", "/usr/bin/vmstat 1 1") || return undef; + while(<$in_fh>) { + /lcpu=([0-9]*) / and $no_of_cores = $1; + } + close $in_fh; + } + return $no_of_cores; +} + +sub no_of_cpus_hpux { + # Returns: + # Number of physical CPUs on HP-UX + # undef if not HP-UX + my $no_of_cpus = + ::qqx(qq{ /usr/bin/mpsched -s 2>&1 | grep 'Locality Domain Count' | awk '{ print \$4 }'}); + return $no_of_cpus; +} + +sub no_of_cores_hpux { + # Returns: + # Number of CPU cores on HP-UX + # undef if not HP-UX + my $no_of_cores = + ::qqx(qq{ /usr/bin/mpsched -s 2>&1 | perl -ne '/Processor Count\\D+(\\d+)/ and print "\$1\n"'}); + return $no_of_cores; +} + +sub no_of_cpus_qnx { + # Returns: + # Number of physical CPUs on QNX + # undef if not QNX + # BUG: It is not known how to calculate this. + my $no_of_cpus = 0; + return $no_of_cpus; +} + +sub no_of_cores_qnx { + # Returns: + # Number of CPU cores on QNX + # undef if not QNX + # BUG: It is not known how to calculate this. + my $no_of_cores = 0; + return $no_of_cores; +} + +sub no_of_cpus_openserver { + # Returns: + # Number of physical CPUs on SCO OpenServer + # undef if not SCO OpenServer + my $no_of_cpus = 0; + if(-x "/usr/sbin/psrinfo") { + my @psrinfo = ::qqx("/usr/sbin/psrinfo"); + if($#psrinfo >= 0) { + return $#psrinfo +1; + } + } + return $no_of_cpus; +} + +sub no_of_cores_openserver { + # Returns: + # Number of CPU cores on SCO OpenServer + # undef if not SCO OpenServer + my $no_of_cores = 0; + if(-x "/usr/sbin/psrinfo") { + my @psrinfo = ::qqx("/usr/sbin/psrinfo"); + if($#psrinfo >= 0) { + return $#psrinfo +1; + } + } + return $no_of_cores; +} + +sub no_of_cpus_irix { + # Returns: + # Number of physical CPUs on IRIX + # undef if not IRIX + my $no_of_cpus = ::qqx(qq{ hinv | grep HZ | grep Processor | awk '{print \$1}' }); + return $no_of_cpus; +} + +sub no_of_cores_irix { + # Returns: + # Number of CPU cores on IRIX + # undef if not IRIX + my $no_of_cores = ::qqx(qq{ hinv | grep HZ | grep Processor | awk '{print \$1}' }); + return $no_of_cores; +} + +sub no_of_cpus_tru64 { + # Returns: + # Number of physical CPUs on Tru64 + # undef if not Tru64 + my $no_of_cpus = ::qqx("sizer -pr"); + return $no_of_cpus; +} + +sub no_of_cores_tru64 { + # Returns: + # Number of CPU cores on Tru64 + # undef if not Tru64 + my $no_of_cores = ::qqx("sizer -pr"); + return $no_of_cores; +} + +sub sshcommand { + my $self = shift; + if (not defined $self->{'sshcommand'}) { + $self->sshcommand_of_sshlogin(); + } + return $self->{'sshcommand'}; +} + +sub serverlogin { + my $self = shift; + if (not defined $self->{'serverlogin'}) { + $self->sshcommand_of_sshlogin(); + } + return $self->{'serverlogin'}; +} + +sub sshcommand_of_sshlogin { + # 'server' -> ('ssh -S /tmp/parallel-ssh-RANDOM/host-','server') + # 'user@server' -> ('ssh','user@server') + # 'myssh user@server' -> ('myssh','user@server') + # 'myssh -l user server' -> ('myssh -l user','server') + # '/usr/bin/myssh -l user server' -> ('/usr/bin/myssh -l user','server') + # Returns: + # sshcommand - defaults to 'ssh' + # login@host + my $self = shift; + my ($sshcmd, $serverlogin); + # If $opt::ssh is unset, use $PARALLEL_SSH or 'ssh' + $opt::ssh ||= $ENV{'PARALLEL_SSH'} || "ssh"; + if($self->{'string'} =~ /(.+) (\S+)$/) { + # Own ssh command + $sshcmd = $1; $serverlogin = $2; + } else { + # Normal ssh + if($opt::controlmaster) { + # Use control_path to make ssh faster + my $control_path = $self->control_path_dir()."/ssh-%r@%h:%p"; + $sshcmd = $opt::ssh." -S ".$control_path; + $serverlogin = $self->{'string'}; + if(not $self->{'control_path'}{$control_path}++) { + # Master is not running for this control_path + # Start it + my $pid = fork(); + if($pid) { + $Global::sshmaster{$pid} ||= 1; + } else { + $SIG{'TERM'} = undef; + # Ignore the 'foo' being printed + open(STDOUT,">","/dev/null"); + # STDERR >/dev/null to ignore + open(STDERR,">","/dev/null"); + open(STDIN,"<","/dev/null"); + # Run a sleep that outputs data, so it will discover + # if the ssh connection closes. + my $sleep = ::shell_quote_scalar + ('$|=1;while(1){sleep 1;print "foo\n"}'); + my @master = ($opt::ssh, "-MTS", + $control_path, $serverlogin, "--", "perl", "-e", + $sleep); + exec(@master); + } + } + } else { + $sshcmd = $opt::ssh; $serverlogin = $self->{'string'}; + } + } + + if($serverlogin =~ s/(\S+)\@(\S+)/$2/) { + # convert user@server to '-l user server' + # because lsh does not support user@server + $sshcmd = $sshcmd." -l ".$1; + } + + $self->{'sshcommand'} = $sshcmd; + $self->{'serverlogin'} = $serverlogin; +} + +sub control_path_dir { + # Returns: + # path to directory + my $self = shift; + if(not defined $self->{'control_path_dir'}) { + $self->{'control_path_dir'} = + # Use $ENV{'TMPDIR'} as that is typically not + # NFS mounted + File::Temp::tempdir($ENV{'TMPDIR'} + . "/control_path_dir-XXXX", + CLEANUP => 1); + } + return $self->{'control_path_dir'}; +} + +sub rsync_transfer_cmd { + # Command to run to transfer a file + # Input: + # $file = filename of file to transfer + # $workdir = destination dir + # Returns: + # $cmd = rsync command to run to transfer $file ("" if unreadable) + my $self = shift; + my $file = shift; + my $workdir = shift; + if(not -r $file) { + ::warning($file. " is not readable and will not be transferred."); + return "true"; + } + my $rsync_destdir; + my $relpath = ($file !~ m:^/:) || ($file =~ m:/\./:); # Is the path relative or /./? + if($relpath) { + $rsync_destdir = ::shell_quote_file($workdir); + } else { + # rsync /foo/bar / + $rsync_destdir = "/"; + } + $file = ::shell_quote_file($file); + my $sshcmd = $self->sshcommand(); + my $rsync_opts = $ENV{'PARALLEL_RSYNC_OPTS'}. + " -e".::shell_quote_scalar($sshcmd); + my $serverlogin = $self->serverlogin(); + # Make dir if it does not exist + return "$sshcmd $serverlogin -- mkdir -p $rsync_destdir && " . + rsync()." $rsync_opts $file $serverlogin:$rsync_destdir"; +} + +sub cleanup_cmd { + # Command to run to remove the remote file + # Input: + # $file = filename to remove + # $workdir = destination dir + # Returns: + # $cmd = ssh command to run to remove $file and empty parent dirs + my $self = shift; + my $file = shift; + my $workdir = shift; + my $f = $file; + if($f =~ m:/\./:) { + # foo/bar/./baz/quux => workdir/baz/quux + # /foo/bar/./baz/quux => workdir/baz/quux + $f =~ s:.*/\./:$workdir/:; + } elsif($f =~ m:^[^/]:) { + # foo/bar => workdir/foo/bar + $f = $workdir."/".$f; + } + my @subdirs = split m:/:, ::dirname($f); + my @rmdir; + my $dir = ""; + for(@subdirs) { + $dir .= $_."/"; + unshift @rmdir, ::shell_quote_file($dir); + } + my $rmdir = @rmdir ? "sh -c ".::shell_quote_scalar("rmdir @rmdir 2>/dev/null;") : ""; + if(defined $opt::workdir and $opt::workdir eq "...") { + $rmdir .= ::shell_quote_scalar("rm -rf " . ::shell_quote_file($workdir).';'); + } + + $f = ::shell_quote_file($f); + my $sshcmd = $self->sshcommand(); + my $serverlogin = $self->serverlogin(); + return "$sshcmd $serverlogin -- ".::shell_quote_scalar("rm -f $f; $rmdir"); +} + +{ + my $rsync; + + sub rsync { + # rsync 3.1.x uses protocol 31 which is unsupported by 2.5.7. + # If the version >= 3.1.0: downgrade to protocol 30 + if(not $rsync) { + my @out = `rsync --version`; + for (@out) { + if(/version (\d+.\d+)(.\d+)?/) { + if($1 >= 3.1) { + # Version 3.1.0 or later: Downgrade to protocol 30 + $rsync = "rsync --protocol 30"; + } else { + $rsync = "rsync"; + } + } + } + $rsync or ::die_bug("Cannot figure out version of rsync: @out"); + } + return $rsync; + } +} + + +package JobQueue; + +sub new { + my $class = shift; + my $commandref = shift; + my $read_from = shift; + my $context_replace = shift; + my $max_number_of_args = shift; + my $transfer_files = shift; + my $return_files = shift; + my $commandlinequeue = CommandLineQueue->new + ($commandref, $read_from, $context_replace, $max_number_of_args, + $transfer_files, $return_files); + my @unget = (); + return bless { + 'unget' => \@unget, + 'commandlinequeue' => $commandlinequeue, + 'this_job_no' => 0, + 'total_jobs' => undef, + }, ref($class) || $class; +} + +sub get { + my $self = shift; + + $self->{'this_job_no'}++; + if(@{$self->{'unget'}}) { + return shift @{$self->{'unget'}}; + } else { + my $commandline = $self->{'commandlinequeue'}->get(); + if(defined $commandline) { + return Job->new($commandline); + } else { + $self->{'this_job_no'}--; + return undef; + } + } +} + +sub unget { + my $self = shift; + unshift @{$self->{'unget'}}, @_; + $self->{'this_job_no'} -= @_; +} + +sub empty { + my $self = shift; + my $empty = (not @{$self->{'unget'}}) + && $self->{'commandlinequeue'}->empty(); + ::debug("run", "JobQueue->empty $empty "); + return $empty; +} + +sub total_jobs { + my $self = shift; + if(not defined $self->{'total_jobs'}) { + if($opt::pipe and not $opt::tee) { + ::error("--pipe is incompatible with --eta/--bar/--shuf"); + ::wait_and_exit(255); + } + if($opt::sqlworker) { + $self->{'total_jobs'} = $Global::sql->total_jobs(); + } else { + my $record; + my @arg_records; + my $record_queue = $self->{'commandlinequeue'}{'arg_queue'}; + my $start = time; + while($record = $record_queue->get()) { + push @arg_records, $record; + if(time - $start > 10) { + ::warning("Reading ".scalar(@arg_records). + " arguments took longer than 10 seconds."); + $opt::eta && ::warning("Consider removing --eta."); + $opt::bar && ::warning("Consider removing --bar."); + $opt::shuf && ::warning("Consider removing --shuf."); + last; + } + } + while($record = $record_queue->get()) { + push @arg_records, $record; + } + if($opt::shuf) { + my $i = @arg_records; + while (--$i) { + my $j = int rand($i+1); + @arg_records[$i,$j] = @arg_records[$j,$i]; + } + } + $record_queue->unget(@arg_records); + $self->{'total_jobs'} = + ::ceil((1+$#arg_records+$self->{'this_job_no'}) + / ::max($Global::max_number_of_args,1)); + ::debug("init","Total jobs: ".$self->{'total_jobs'}. + " (".(1+$#arg_records)."+".$self->{'this_job_no'}.")\n"); + } + } + return $self->{'total_jobs'}; +} + +sub flush_total_jobs { + # Unset total_jobs to force recomputing + my $self = shift; + $self->{'total_jobs'} = undef; +} + +sub next_seq { + my $self = shift; + + return $self->{'commandlinequeue'}->seq(); +} + +sub quote_args { + my $self = shift; + return $self->{'commandlinequeue'}->quote_args(); +} + + +package Job; + +sub new { + my $class = shift; + my $commandlineref = shift; + return bless { + 'commandline' => $commandlineref, # CommandLine object + 'workdir' => undef, # --workdir + # filehandle for stdin (used for --pipe) + # filename for writing stdout to (used for --files) + # remaining data not sent to stdin (used for --pipe) + # tmpfiles to cleanup when job is done + 'unlink' => [], + # amount of data sent via stdin (used for --pipe) + 'transfersize' => 0, # size of files using --transfer + 'returnsize' => 0, # size of files using --return + 'pid' => undef, + # hash of { SSHLogins => number of times the command failed there } + 'failed' => undef, + 'sshlogin' => undef, + # The commandline wrapped with rsync and ssh + 'sshlogin_wrap' => undef, + 'exitstatus' => undef, + 'exitsignal' => undef, + # Timestamp for timeout if any + 'timeout' => undef, + 'virgin' => 1, + # Output used for SQL and CSV-output + 'output' => { 1 => [], 2 => [] }, + 'halfline' => { 1 => [], 2 => [] }, + }, ref($class) || $class; +} + +sub replaced { + my $self = shift; + $self->{'commandline'} or ::die_bug("commandline empty"); + return $self->{'commandline'}->replaced(); +} + +sub seq { + my $self = shift; + return $self->{'commandline'}->seq(); +} + +sub set_seq { + my $self = shift; + return $self->{'commandline'}->set_seq(shift); +} + +sub slot { + my $self = shift; + return $self->{'commandline'}->slot(); +} + +sub free_slot { + my $self = shift; + push @Global::slots, $self->slot(); +} + +{ + my($cattail); + + sub cattail { + # Returns: + # $cattail = perl program for: + # cattail "decompress program" writerpid [file_to_decompress or stdin] [file_to_unlink] + if(not $cattail) { + $cattail = q{ + # cat followed by tail (possibly with rm as soon at the file is opened) + # If $writerpid dead: finish after this round + use Fcntl; + $|=1; + + my ($comfile, $cmd, $writerpid, $read_file, $unlink_file) = @ARGV; + if($read_file) { + open(IN,"<",$read_file) || die("cattail: Cannot open $read_file"); + } else { + *IN = *STDIN; + } + while(! -s $comfile) { + # Writer has not opened the buffer file, so we cannot remove it yet + $sleep = ($sleep < 30) ? ($sleep * 1.001 + 0.01) : ($sleep); + usleep($sleep); + } + # The writer and we have both opened the file, so it is safe to unlink it + unlink $unlink_file; + unlink $comfile; + + my $first_round = 1; + my $flags; + fcntl(IN, F_GETFL, $flags) || die $!; # Get the current flags on the filehandle + $flags |= O_NONBLOCK; # Add non-blocking to the flags + fcntl(IN, F_SETFL, $flags) || die $!; # Set the flags on the filehandle + + while(1) { + # clear EOF + seek(IN,0,1); + my $writer_running = kill 0, $writerpid; + $read = sysread(IN,$buf,131072); + if($read) { + if($first_round) { + # Only start the command if there any input to process + $first_round = 0; + open(OUT,"|-",$cmd) || die("cattail: Cannot run $cmd"); + } + + # Blocking print + while($buf) { + my $bytes_written = syswrite(OUT,$buf); + # syswrite may be interrupted by SIGHUP + substr($buf,0,$bytes_written) = ""; + } + # Something printed: Wait less next time + $sleep /= 2; + } else { + if(eof(IN) and not $writer_running) { + # Writer dead: There will never be sent more to the decompressor + close OUT; + exit; + } + # TODO This could probably be done more efficiently using select(2) + # Nothing read: Wait longer before next read + # Up to 100 milliseconds + $sleep = ($sleep < 100) ? ($sleep * 1.001 + 0.01) : ($sleep); + usleep($sleep); + } + } + + sub usleep { + # Sleep this many milliseconds. + my $secs = shift; + select(undef, undef, undef, $secs/1000); + } + }; + $cattail =~ s/#.*//mg; + $cattail =~ s/\s+/ /g; + } + return $cattail; + } +} + +sub openoutputfiles { + # Open files for STDOUT and STDERR + # Set file handles in $self->fh + my $self = shift; + my ($outfhw, $errfhw, $outname, $errname); + + if($opt::linebuffer and not + ($opt::keeporder or $opt::files or $opt::results or + $opt::compress or $opt::compress_program or + $opt::decompress_program)) { + # Do not save to files: Use non-blocking pipe + my ($outfhr, $errfhr); + pipe($outfhr, $outfhw) || die; + pipe($errfhr, $errfhw) || die; + $self->set_fh(1,'w',$outfhw); + $self->set_fh(2,'w',$errfhw); + $self->set_fh(1,'r',$outfhr); + $self->set_fh(2,'r',$errfhr); + # Make it possible to read non-blocking from the pipe + for my $fdno (1,2) { + ::set_fh_non_blocking($self->fh($fdno,'r')); + } + # Return immediately because we do not need setting filenames + return; + } elsif($opt::results and not $Global::csvsep) { + my $out = $self->{'commandline'}->results_out(); + my $seqname; + if($out eq $opt::results or $out =~ m:/$:) { + # $opt::results = simple string or ending in / + # => $out is a dir/ + # prefix/name1/val1/name2/val2/seq + $seqname = $out."seq"; + # prefix/name1/val1/name2/val2/stdout + $outname = $out."stdout"; + # prefix/name1/val1/name2/val2/stderr + $errname = $out."stderr"; + } else { + # $opt::results = replacement string not ending in / + # => $out is a file + $outname = $out; + $errname = "$out.err"; + $seqname = "$out.seq"; + } + my $seqfhw; + if(not open($seqfhw, "+>", $seqname)) { + ::error("Cannot write to `$seqname'."); + ::wait_and_exit(255); + } + print $seqfhw $self->seq(); + close $seqfhw; + if(not open($outfhw, "+>", $outname)) { + ::error("Cannot write to `$outname'."); + ::wait_and_exit(255); + } + if(not open($errfhw, "+>", $errname)) { + ::error("Cannot write to `$errname'."); + ::wait_and_exit(255); + } + $self->set_fh(1,"unlink",""); + $self->set_fh(2,"unlink",""); + if($opt::sqlworker) { + # Save the filenames in SQL table + $Global::sql->update("SET Stdout = ?, Stderr = ? ". + "WHERE Seq = ". $self->seq(), + $outname, $errname); + } + } elsif(not $opt::ungroup) { + # To group we create temporary files for STDOUT and STDERR + # To avoid the cleanup unlink the files immediately (but keep them open) + if($opt::files) { + ($outfhw, $outname) = ::tmpfile(SUFFIX => ".par"); + ($errfhw, $errname) = ::tmpfile(SUFFIX => ".par"); + # --files => only remove stderr + $self->set_fh(1,"unlink",""); + $self->set_fh(2,"unlink",$errname); + } else { + ($outfhw, $outname) = ::tmpfile(SUFFIX => ".par"); + ($errfhw, $errname) = ::tmpfile(SUFFIX => ".par"); + $self->set_fh(1,"unlink",$outname); + $self->set_fh(2,"unlink",$errname); + } + } else { + # --ungroup + open($outfhw,">&",$Global::fd{1}) || die; + open($errfhw,">&",$Global::fd{2}) || die; + # File name must be empty as it will otherwise be printed + $outname = ""; + $errname = ""; + $self->set_fh(1,"unlink",$outname); + $self->set_fh(2,"unlink",$errname); + } + # Set writing FD + $self->set_fh(1,'w',$outfhw); + $self->set_fh(2,'w',$errfhw); + $self->set_fh(1,'name',$outname); + $self->set_fh(2,'name',$errname); + if($opt::compress) { + $self->filter_through_compress(); + } elsif(not $opt::ungroup) { + $self->grouped(); + } + if($opt::linebuffer) { + # Make it possible to read non-blocking from + # the buffer files + # Used for --linebuffer with -k, --files, --res, --compress* + for my $fdno (1,2) { + ::set_fh_non_blocking($self->fh($fdno,'r')); + } + } +} + +sub print_verbose_dryrun { + # If -v set: print command to stdout (possibly buffered) + # This must be done before starting the command + my $self = shift; + if($Global::verbose or $opt::dryrun) { + my $fh = $self->fh(1,"w"); + if($Global::verbose <= 1) { + print $fh $self->replaced(),"\n"; + } else { + # Verbose level > 1: Print the rsync and stuff + print $fh $self->wrapped(),"\n"; + } + } + if($opt::sqlworker) { + $Global::sql->update("SET Command = ? WHERE Seq = ".$self->seq(), + $self->replaced()); + } +} + +sub add_rm { + # Files to remove when job is done + my $self = shift; + push @{$self->{'unlink'}}, @_; +} + +sub get_rm { + # Files to remove when job is done + my $self = shift; + return @{$self->{'unlink'}}; +} + +sub cleanup { + # Remove files when job is done + my $self = shift; + unlink $self->get_rm(); + delete @Global::unlink{$self->get_rm()}; +} + +sub grouped { + my $self = shift; + # Set reading FD if using --group (--ungroup does not need) + for my $fdno (1,2) { + # Re-open the file for reading + # so fdw can be closed seperately + # and fdr can be seeked seperately (for --line-buffer) + open(my $fdr,"<", $self->fh($fdno,'name')) || + ::die_bug("fdr: Cannot open ".$self->fh($fdno,'name')); + $self->set_fh($fdno,'r',$fdr); + # Unlink if required + $Global::debug or ::rm($self->fh($fdno,"unlink")); + } +} + +sub empty_input_wrapper { + # If no input: exit(0) + # If some input: Pass input as input to command on STDIN + # This avoids starting the command if there is no input. + # Input: + # $command = command to pipe data to + # Returns: + # $wrapped_command = the wrapped command + my $command = shift; + my $script = + ::spacefree(0,q{ + if(sysread(STDIN, $buf, 1)) { + open($fh, "|-", @ARGV) || die; + syswrite($fh, $buf); + # Align up to 128k block + if($read = sysread(STDIN, $buf, 131071)) { + syswrite($fh, $buf); + } + while($read = sysread(STDIN, $buf, 131072)) { + syswrite($fh, $buf); + } + close $fh; + exit ($?&127 ? 128+($?&127) : 1+$?>>8) + } + }); + ::debug("run",'Empty wrap: perl -e '.::shell_quote_scalar($script)."\n"); + if($Global::cshell + and + length $command > 499) { + # csh does not like words longer than 1000 (499 quoted) + # $command = "perl -e '".base64_zip_eval()."' ". + # join" ",string_zip_base64( + # 'exec "'.::perl_quote_scalar($command).'"'); + return 'perl -e '.::shell_quote_scalar($script)." ". + base64_wrap("exec \"$Global::shell\",'-c',\"". + ::perl_quote_scalar($command).'"'); + } else { + return 'perl -e '.::shell_quote_scalar($script)." ". + $Global::shell." -c ".::shell_quote_scalar($command); + } +} + +sub filter_through_compress { + my $self = shift; + # Send stdout to stdin for $opt::compress_program(1) + # Send stderr to stdin for $opt::compress_program(2) + # cattail get pid: $pid = $self->fh($fdno,'rpid'); + my $cattail = cattail(); + + for my $fdno (1,2) { + # Make a communication file. + my ($fh, $comfile) = ::tmpfile(SUFFIX => ".pac"); + close $fh; + # Compressor: (echo > $comfile; compress pipe) > output + # When the echo is written to $comfile, + # it is known that output file is opened, + # thus output file can then be removed by the decompressor. + my $wpid = open(my $fdw,"|-", "(echo > $comfile; ". + empty_input_wrapper($opt::compress_program).") >". + $self->fh($fdno,'name')) || die $?; + $self->set_fh($fdno,'w',$fdw); + $self->set_fh($fdno,'wpid',$wpid); + # Decompressor: open output; -s $comfile > 0: rm $comfile output; + # decompress output > stdout + my $rpid = open(my $fdr, "-|", "perl", "-e", $cattail, $comfile, + $opt::decompress_program, $wpid, + $self->fh($fdno,'name'),$self->fh($fdno,'unlink')) + || die $?; + $self->set_fh($fdno,'r',$fdr); + $self->set_fh($fdno,'rpid',$rpid); + } +} + + + +sub set_fh { + # Set file handle + my ($self, $fd_no, $key, $fh) = @_; + $self->{'fd'}{$fd_no,$key} = $fh; +} + +sub fh { + # Get file handle + my ($self, $fd_no, $key) = @_; + return $self->{'fd'}{$fd_no,$key}; +} + +sub write { + my $self = shift; + my $remaining_ref = shift; + my $stdin_fh = $self->fh(0,"w"); + + my $len = length $$remaining_ref; + # syswrite may not write all in one go, + # so make sure everything is written. + my $written; + + # If writing is to a closed pipe: + # Do not call signal handler, but let nothing be written + local $SIG{PIPE} = undef; + while($written = syswrite($stdin_fh,$$remaining_ref)){ + substr($$remaining_ref,0,$written) = ""; + } +} + +sub set_block { + # Copy stdin buffer from $block_ref up to $endpos + # Prepend with $header_ref if virgin (i.e. not --roundrobin) + # Remove $recstart and $recend if needed + # Input: + # $header_ref = ref to $header to prepend + # $buffer_ref = ref to $buffer containing the block + # $endpos = length of $block to pass on + # $recstart = --recstart regexp + # $recend = --recend regexp + # Returns: + # N/A + my $self = shift; + my ($header_ref,$buffer_ref,$endpos,$recstart,$recend) = @_; + $self->{'block'} = ($self->virgin() ? $$header_ref : ""). + substr($$buffer_ref,0,$endpos); + if($opt::remove_rec_sep) { + remove_rec_sep(\$self->{'block'},$recstart,$recend); + } + $self->{'block_length'} = length $self->{'block'}; + $self->{'block_pos'} = 0; + $self->add_transfersize($self->{'block_length'}); +} + +sub block_ref { + my $self = shift; + return \$self->{'block'}; +} + + +sub block_length { + my $self = shift; + return $self->{'block_length'}; +} + +sub remove_rec_sep { + my ($block_ref,$recstart,$recend) = @_; + # Remove record separator + $$block_ref =~ s/$recend$recstart//gos; + $$block_ref =~ s/^$recstart//os; + $$block_ref =~ s/$recend$//os; +} + +sub non_blocking_write { + my $self = shift; + my $something_written = 0; + use POSIX qw(:errno_h); + + my $in = $self->fh(0,"w"); + my $rv = syswrite($in, + substr($self->{'block'},$self->{'block_pos'})); + if (!defined($rv) && $! == EAGAIN) { + # would block - but would have written + $something_written = 0; + # avoid triggering auto expanding block + $Global::no_autoexpand_block ||= 1; + } elsif ($self->{'block_pos'}+$rv != $self->{'block_length'}) { + # incomplete write + # Remove the written part + $self->{'block_pos'} += $rv; + $something_written = $rv; + } else { + # successfully wrote everything + # Empty block to free memory + my $a = ""; + $self->set_block(\$a,\$a,0,"",""); + $something_written = $rv; + } + ::debug("pipe", "Non-block: ", $something_written); + return $something_written; +} + + +sub virgin { + my $self = shift; + return $self->{'virgin'}; +} + +sub set_virgin { + my $self = shift; + $self->{'virgin'} = shift; +} + +sub pid { + my $self = shift; + return $self->{'pid'}; +} + +sub set_pid { + my $self = shift; + $self->{'pid'} = shift; +} + +sub starttime { + # Returns: + # UNIX-timestamp this job started + my $self = shift; + return sprintf("%.3f",$self->{'starttime'}); +} + +sub set_starttime { + my $self = shift; + my $starttime = shift || ::now(); + $self->{'starttime'} = $starttime; + $opt::sqlworker and + $Global::sql->update("SET Starttime = ? WHERE Seq = ".$self->seq(), + $starttime); +} + +sub runtime { + # Returns: + # Run time in seconds with 3 decimals + my $self = shift; + return sprintf("%.3f", + int(($self->endtime() - $self->starttime())*1000)/1000); +} + +sub endtime { + # Returns: + # UNIX-timestamp this job ended + # 0 if not ended yet + my $self = shift; + return ($self->{'endtime'} || 0); +} + +sub set_endtime { + my $self = shift; + my $endtime = shift; + $self->{'endtime'} = $endtime; + $opt::sqlworker and + $Global::sql->update("SET JobRuntime = ? WHERE Seq = ".$self->seq(), + $self->runtime()); +} + +sub is_timedout { + # Is the job timedout? + # Input: + # $delta_time = time that the job may run + # Returns: + # True or false + my $self = shift; + my $delta_time = shift; + return time > $self->{'starttime'} + $delta_time; +} + +sub kill { + my $self = shift; + $self->set_exitstatus(-1); + ::kill_sleep_seq($self->pid()); +} + +sub failed { + # return number of times failed for this $sshlogin + # Input: + # $sshlogin + # Returns: + # Number of times failed for $sshlogin + my $self = shift; + my $sshlogin = shift; + return $self->{'failed'}{$sshlogin}; +} + +sub failed_here { + # return number of times failed for the current $sshlogin + # Returns: + # Number of times failed for this sshlogin + my $self = shift; + return $self->{'failed'}{$self->sshlogin()}; +} + +sub add_failed { + # increase the number of times failed for this $sshlogin + my $self = shift; + my $sshlogin = shift; + $self->{'failed'}{$sshlogin}++; +} + +sub add_failed_here { + # increase the number of times failed for the current $sshlogin + my $self = shift; + $self->{'failed'}{$self->sshlogin()}++; +} + +sub reset_failed { + # increase the number of times failed for this $sshlogin + my $self = shift; + my $sshlogin = shift; + delete $self->{'failed'}{$sshlogin}; +} + +sub reset_failed_here { + # increase the number of times failed for this $sshlogin + my $self = shift; + delete $self->{'failed'}{$self->sshlogin()}; +} + +sub min_failed { + # Returns: + # the number of sshlogins this command has failed on + # the minimal number of times this command has failed + my $self = shift; + my $min_failures = + ::min(map { $self->{'failed'}{$_} } keys %{$self->{'failed'}}); + my $number_of_sshlogins_failed_on = scalar keys %{$self->{'failed'}}; + return ($number_of_sshlogins_failed_on,$min_failures); +} + +sub total_failed { + # Returns: + # $total_failures = the number of times this command has failed + my $self = shift; + my $total_failures = 0; + for (values %{$self->{'failed'}}) { + $total_failures += $_; + } + return $total_failures; +} + +{ + my $script; + + sub postpone_exit_and_cleanup { + # Command to remove files and dirs (given as args) without + # affecting the exit value in $?/$status. + if(not $script) { + $script = "perl -e '". + ::spacefree(0,q{ + $bash=shift; + $csh=shift; + for(@ARGV){ + unlink; + rmdir; + } + if($bash=~s/h//) { + exit $bash; + } + exit $csh; + }). + "' ".'"$?h" "$status" '; + } + return $script + } +} + +{ + my $script; + + sub fifo_wrap { + # Script to create a fifo, run a command on the fifo + # while copying STDIN to the fifo, and finally + # remove the fifo and return the exit code of the command. + if(not $script) { + # {} == $PARALLEL_TMP for --fifo + # To make it csh compatible a wrapper needs to: + # * mkfifo + # * spawn $command & + # * cat > fifo + # * waitpid to get the exit code from $command + # * be less than 1000 chars long + $script = "perl -e '". + (::spacefree + (0, q{ + ($s,$c,$f) = @ARGV; + # mkfifo $PARALLEL_TMP + system "mkfifo", $f; + # spawn $shell -c $command & + $pid = fork || exec $s, "-c", $c; + open($o,">",$f) || die $!; + # cat > $PARALLEL_TMP + while(sysread(STDIN,$buf,131072)){ + syswrite $o, $buf; + } + close $o; + # waitpid to get the exit code from $command + waitpid $pid,0; + # Cleanup + unlink $f; + exit $?/256; + }))."'"; + } + return $script; + } +} + +sub wrapped { + # Wrap command with: + # * --shellquote + # * --nice + # * --cat + # * --fifo + # * --sshlogin + # * --pipepart (@Global::cat_prepends) + # * --tee (@Global::cat_prepends) + # * --pipe + # * --tmux + # The ordering of the wrapping is important: + # * --nice/--cat/--fifo should be done on the remote machine + # * --pipepart/--pipe should be done on the local machine inside --tmux + # Uses: + # $opt::shellquote + # $opt::nice + # $Global::shell + # $opt::cat + # $opt::fifo + # @Global::cat_prepends + # $opt::pipe + # $opt::tmux + # Returns: + # $self->{'wrapped'} = the command wrapped with the above + my $self = shift; + if(not defined $self->{'wrapped'}) { + my $command = $self->replaced(); + # Bug in Bash and Ksh when running multiline aliases + # This will force them to run correctly, but will fail in + # tcsh so we do not do it. + # $command .= "\n\n"; + if($opt::shellquote) { + # Prepend /bin/echo (echo no-/bin is wrong in csh) + # and quote twice + $command = "/bin/echo " . + ::shell_quote_scalar(::shell_quote_scalar($command)); + } + if($ENV{'PARALLEL_ENV'}) { + if(-e $ENV{'PARALLEL_ENV'}) { + # This is a file/fifo: Replace envvar with content of file + open(my $parallel_env, "<", $ENV{'PARALLEL_ENV'}) || + ::die_bug("Cannot read parallel_env from $ENV{'PARALLEL_ENV'}"); + local $/; + $ENV{'PARALLEL_ENV'} = <$parallel_env>; + close $parallel_env; + } + # If $PARALLEL_ENV set, put that in front of the command + # Used for env_parallel.* + # Map \001 to \n to make it easer to quote \n in $PARALLEL_ENV + $ENV{'PARALLEL_ENV'} =~ s/\001/\n/g; + if($Global::shell =~ /zsh/) { + # The extra 'eval' will make aliases work, too + $command = $ENV{'PARALLEL_ENV'}."\n". + "eval ".::shell_quote_scalar($command); + } else { + $command = $ENV{'PARALLEL_ENV'}."\n".$command; + } + } + if($opt::cat) { + # In '--cat' and '--fifo' {} == $PARALLEL_TMP. + # This is to make it possible to compute $PARALLEL_TMP on + # the fly when running remotely. + # $ENV{PARALLEL_TMP} is set in the remote wrapper before + # the command is run. + # + # Prepend 'cat > $PARALLEL_TMP;' + # Append 'unlink $PARALLEL_TMP without affecting $?' + $command = + 'cat > $PARALLEL_TMP;'. + $command.";". postpone_exit_and_cleanup(). + '$PARALLEL_TMP'; + } elsif($opt::fifo) { + # Prepend fifo-wrapper. In essence: + # mkfifo {} + # ( $command ) & + # # $command must read {}, otherwise this 'cat' will block + # cat > {}; + # wait; rm {} + # without affecting $? + $command = fifo_wrap(). " ". + $Global::shell. " ". + ::shell_quote_scalar($command). + ' $PARALLEL_TMP'. + ';'; + } + # Wrap with ssh + tranferring of files + $command = $self->sshlogin_wrap($command); + if(@Global::cat_prepends) { + # --pipepart: prepend: + # < /tmp/foo perl -e 'while(@ARGV) { + # sysseek(STDIN,shift,0) || die; $left = shift; + # while($read = sysread(STDIN,$buf, ($left > 131072 ? 131072 : $left))){ + # $left -= $read; syswrite(STDOUT,$buf); + # } + # }' 0 0 0 11 | + # + # --pipepart --tee: prepend: + # < dash-a-file + # + # --pipe --tee: wrap: + # (rm fifo; ... ) < fifo + $command = (shift @Global::cat_prepends). "($command)". + (shift @Global::cat_appends); + } elsif($opt::pipe) { + # Wrap with EOF-detector to avoid starting $command if EOF. + $command = empty_input_wrapper($command); + } + if($opt::tmux) { + # Wrap command with 'tmux' + $command = $self->tmux_wrap($command); + } + if($Global::cshell + and + length $command > 499) { + # csh does not like words longer than 1000 (499 quoted) + # $command = "perl -e '".base64_zip_eval()."' ". + # join" ",string_zip_base64( + # 'exec "'.::perl_quote_scalar($command).'"'); + $command = base64_wrap("exec \"$Global::shell\",'-c',\"". + ::perl_quote_scalar($command).'"'); + } + $self->{'wrapped'} = $command; + } + return $self->{'wrapped'}; +} + +sub set_sshlogin { + my $self = shift; + my $sshlogin = shift; + $self->{'sshlogin'} = $sshlogin; + delete $self->{'sshlogin_wrap'}; # If sshlogin is changed the wrap is wrong + delete $self->{'wrapped'}; + + if($opt::sqlworker) { + # Identify worker as --sqlworker often runs on different machines + my $host = $sshlogin->string(); + if($host eq ":") { + $host = ::hostname(); + } + $Global::sql->update("SET Host = ? WHERE Seq = ".$self->seq(), $host); + } +} + +sub sshlogin { + my $self = shift; + return $self->{'sshlogin'}; +} + +sub string_base64 { + # Base64 encode strings into 1000 byte blocks. + # 1000 bytes is the largest word size csh supports + # Input: + # @strings = to be encoded + # Returns: + # @base64 = 1000 byte block + $Global::use{"MIME::Base64"} ||= eval "use MIME::Base64; 1;"; + my @base64 = unpack("(A1000)*",encode_base64((join"",@_),"")); + return @base64; +} + +sub string_zip_base64 { + # Pipe string through 'bzip2 -9' and base64 encode it into 1000 + # byte blocks. + # 1000 bytes is the largest word size csh supports + # Zipping will make exporting big environments work, too + # Input: + # @strings = to be encoded + # Returns: + # @base64 = 1000 byte block + my($zipin_fh, $zipout_fh,@base64); + ::open3($zipin_fh,$zipout_fh,">&STDERR","bzip2 -9"); + if(fork) { + close $zipin_fh; + $Global::use{"MIME::Base64"} ||= eval "use MIME::Base64; 1;"; + # Split base64 encoded into 1000 byte blocks + @base64 = unpack("(A1000)*",encode_base64((join"",<$zipout_fh>),"")); + close $zipout_fh; + } else { + close $zipout_fh; + print $zipin_fh @_; + close $zipin_fh; + exit; + } + ::debug("base64","Orig:@_\nAs bzip2 base64:@base64\n"); + return @base64; +} + +sub base64_zip_eval { + # Script that: + # * reads base64 strings from @ARGV + # * decodes them + # * pipes through 'bzip2 -dc' + # * evals the result + # Reverse of string_zip_base64 + eval + # Will be wrapped in ' so single quote is forbidden + # Returns: + # $script = 1-liner for perl -e + my $script = ::spacefree(0,q{ + @GNU_Parallel = split /_/, "use_IPC::Open3;_use_MIME::Base64"; + eval"@GNU_Parallel"; + $chld = $SIG{CHLD}; + $SIG{CHLD} = "IGNORE"; + # Search for bzip2. Not found => use default path + my $zip = (grep { -x $_ } "/usr/local/bin/bzip2")[0] || "bzip2"; + # $in = stdin on $zip, $out = stdout from $zip + # Forget my() to save chars for csh + # my($in, $out,$eval); + open3($in,$out,">&STDERR",$zip,"-dc"); + if(my $perlpid = fork) { + close $in; + $eval = join "", <$out>; + close $out; + } else { + close $out; + # Pipe decoded base64 into 'bzip2 -dc' + print $in (decode_base64(join"",@ARGV)); + close $in; + exit; + } + wait; + $SIG{CHLD} = $chld; + eval $eval; + }); + ::debug("base64",$script,"\n"); + return $script; +} + +sub base64_wrap { + # base64 encode Perl code + # Split it into chunks of < 1000 bytes + # Prepend it with a decoder that eval's it + # Input: + # $eval_string = Perl code to run + # Returns: + # $shell_command = shell command that runs $eval_string + my $eval_string = shift; + return + "perl -e ". + ::shell_quote_scalar(base64_zip_eval())." ". + join" ",::shell_quote(string_zip_base64($eval_string)); +} + +sub base64_eval { + # Script that: + # * reads base64 strings from @ARGV + # * decodes them + # * evals the result + # Reverse of string_base64 + eval + # Will be wrapped in ' so single quote is forbidden. + # Spaces are stripped so spaces cannot be significant. + # The funny 'use IPC::Open3'-syntax is to avoid spaces and + # to make it clear that this is a GNU Parallel command + # when looking at the process table. + # Returns: + # $script = 1-liner for perl -e + my $script = ::spacefree(0,q{ + @GNU_Parallel=("use","IPC::Open3;","use","MIME::Base64"); + eval "@GNU_Parallel"; + my $eval = decode_base64(join"",@ARGV); + eval $eval; + }); + ::debug("base64",$script,"\n"); + return $script; +} + +sub sshlogin_wrap { + # Wrap the command with the commands needed to run remotely + # Input: + # $command = command to run + # Returns: + # $self->{'sshlogin_wrap'} = command wrapped with ssh+transfer commands + sub monitor_parent_sshd_script { + # This script is to solve the problem of + # * not mixing STDERR and STDOUT + # * terminating with ctrl-c + # If its parent is ssh: all good + # If its parent is init(1): ssh died, so kill children + my $monitor_parent_sshd_script; + + if(not $monitor_parent_sshd_script) { + $monitor_parent_sshd_script = + # This will be packed in ', so only use " + ::spacefree(0,'$shell = "'.($ENV{'PARALLEL_SHELL'} || '$ENV{SHELL}').'";'. + '$tmpdir = "'.::perl_quote_scalar($ENV{'TMPDIR'}).'";'. + '$nice = '.$opt::nice.';'. + q{ + # Set $PARALLEL_TMP to a non-existent file name in $TMPDIR + do { + $ENV{PARALLEL_TMP} = $tmpdir."/par". + join"", map { (0..9,"a".."z","A".."Z")[rand(62)] } (1..5); + } while(-e $ENV{PARALLEL_TMP}); + $SIG{CHLD} = sub { $done = 1; }; + $pid = fork; + unless($pid) { + # Make own process group to be able to kill HUP it later + eval { setpgrp }; + eval { setpriority(0,0,$nice) }; + exec $shell, "-c", ($bashfunc."@ARGV"); + die "exec: $!\n"; + } + do { + # Parent is not init (ppid=1), so sshd is alive + # Exponential sleep up to 1 sec + $s = $s < 1 ? 0.001 + $s * 1.03 : $s; + select(undef, undef, undef, $s); + } until ($done || getppid == 1); + # Kill HUP the process group if job not done + kill(SIGHUP, -${pid}) unless $done; + wait; + exit ($?&127 ? 128+($?&127) : 1+$?>>8) + }); + } + return $monitor_parent_sshd_script; + } + + sub vars_to_export { + # Uses: + # @opt::env + my @vars = ("parallel_bash_environment"); + for my $varstring (@opt::env) { + # Split up --env VAR1,VAR2 + push @vars, split /,/, $varstring; + } + for (@vars) { + if(-r $_ and not -d) { + # Read as environment definition bug #44041 + # TODO parse this + my $fh = ::open_or_exit($_); + $Global::envdef = join("",<$fh>); + close $fh; + } + } + if(grep { /^_$/ } @vars) { + local $/ = "\n"; + # --env _ + # Include all vars that are not in a clean environment + if(open(my $vars_fh, "<", $Global::config_dir . "/ignored_vars")) { + my @ignore = <$vars_fh>; + chomp @ignore; + my %ignore; + @ignore{@ignore} = @ignore; + close $vars_fh; + push @vars, grep { not defined $ignore{$_} } keys %ENV; + @vars = grep { not /^_$/ } @vars; + } else { + ::error("Run '$Global::progname --record-env' ". + "in a clean environment first."); + ::wait_and_exit(255); + } + } + # Duplicate vars as BASH functions to include post-shellshock functions (v1+v2) + # So --env myfunc should look for BASH_FUNC_myfunc() and BASH_FUNC_myfunc%% + push(@vars, "PARALLEL_PID", "PARALLEL_SEQ", + map { ("BASH_FUNC_$_()", "BASH_FUNC_$_%%") } @vars); + # Keep only defined variables + return grep { defined($ENV{$_}) } @vars; + } + + sub env_as_eval { + # Returns: + # $eval = '$ENV{"..."}=...; ...' + my @vars = vars_to_export(); + my $csh_friendly = not grep { /\n/ } @ENV{@vars}; + my @bash_functions = grep { substr($ENV{$_},0,4) eq "() {" } @vars; + my @non_functions = (grep { !/PARALLEL_ENV/ } + grep { substr($ENV{$_},0,4) ne "() {" } @vars); + + # eval of @envset will set %ENV + my $envset = join"", map { + '$ENV{"'.::perl_quote_scalar($_).'"}="'. + ::perl_quote_scalar($ENV{$_}).'";'; } @non_functions; + + # running @bashfunc on the command line, will set the functions + my @bashfunc = map { + my $v=$_; + s/BASH_FUNC_(.*)(\(\)|%%)/$1/; + "$_$ENV{$v};export -f $_ >/dev/null;" } @bash_functions; + # eval $bashfuncset will set $bashfunc + my $bashfuncset; + if(@bashfunc) { + # Functions are not supported for all shells + if($Global::shell !~ m:(bash|rbash|zsh|rzsh|dash|ksh):) { + ::warning("Shell functions may not be supported in $Global::shell."); + } + $bashfuncset = + '@bash_functions=qw('."@bash_functions".");". + ::spacefree(1,'$shell="'.($ENV{'PARALLEL_SHELL'} || '$ENV{SHELL}').'";'.q{ + if($shell=~/csh/) { + print STDERR "CSH/TCSH DO NOT SUPPORT newlines IN VARIABLES/FUNCTIONS. Unset @bash_functions\n"; + exec "false"; + } + }). + "\n".'$bashfunc = "'.::perl_quote_scalar("@bashfunc").'";'; + } else { + $bashfuncset = '$bashfunc = "";' + } + if($ENV{"parallel_bash_environment"}) { + $bashfuncset .= '$bashfunc .= "eval\ \"\$parallel_bash_environment\"\;";'; + } + ::debug("base64",$envset,$bashfuncset,"\n"); + return $csh_friendly,$envset,$bashfuncset; + } + + my $self = shift; + my $command = shift; + # TODO test that *sh -c 'parallel --env' use *sh + if(not defined $self->{'sshlogin_wrap'}) { + my $sshlogin = $self->sshlogin(); + my $serverlogin = $sshlogin->serverlogin(); + my $quoted_remote_command; + $ENV{'PARALLEL_SEQ'} = $self->seq(); + $ENV{'PARALLEL_PID'} = $$; + if($serverlogin eq ":") { + if($opt::workdir) { + # Create workdir if needed. Then cd to it. + my $wd = $self->workdir(); + if($opt::workdir eq "." or $opt::workdir eq "...") { + # If $wd does not start with '/': Prepend $HOME + $wd =~ s:^([^/]):$ENV{'HOME'}/$1:; + } + ::mkdir_or_die($wd); + $command = "cd ".::shell_quote_scalar($wd)." || exit 255; ".$command; + } + if(@opt::env) { + # Prepend with environment setter, which sets functions in zsh + my ($csh_friendly,$envset,$bashfuncset) = env_as_eval(); + my $perl_code = $envset.$bashfuncset. + '@ARGV="'.::perl_quote_scalar($command).'";'. + "exec\"$Global::shell\",\"-c\",\(\$bashfunc.\"\@ARGV\"\)\;die\"exec:\$\!\\n\"\;"; + if(length $perl_code > 999 + or + not $csh_friendly + or + $command =~ /\n/) { + # csh does not deal well with > 1000 chars in one word + # csh does not deal well with $ENV with \n + $self->{'sshlogin_wrap'} = base64_wrap($perl_code); + } else { + $self->{'sshlogin_wrap'} = "perl -e ".::shell_quote_scalar($perl_code); + } + } else { + $self->{'sshlogin_wrap'} = $command; + } + } else { + my $pwd = ""; + if($opt::workdir) { + # Create remote workdir if needed. Then cd to it. + my $wd = $self->workdir(); + $pwd = qq{system("mkdir","-p","--","$wd"); chdir "$wd" ||}. + qq{print(STDERR "parallel: Cannot chdir to $wd\\n") && exit 255;}; + } + my ($csh_friendly,$envset,$bashfuncset) = env_as_eval(); + my $remote_command = $pwd.$envset.$bashfuncset. + '@ARGV="'.::perl_quote_scalar($command).'";'. + monitor_parent_sshd_script(); + $quoted_remote_command = "perl -e ". + ::shell_quote_scalar($remote_command); + my $dq_remote_command = + ::shell_quote_scalar($quoted_remote_command); + if(length $dq_remote_command > 999 + or + not $csh_friendly + or + $command =~ /\n/) { + # csh does not deal well with > 1000 chars in one word + # csh does not deal well with $ENV with \n + $quoted_remote_command = + "perl -e ". + ::shell_quote_scalar(::shell_quote_scalar(base64_zip_eval()))." ". + join" ",::shell_quote(::shell_quote(string_zip_base64($remote_command))); + } else { + $quoted_remote_command = $dq_remote_command; + } + + my $sshcmd = $sshlogin->sshcommand(); + my ($pre,$post,$cleanup)=("","",""); + # --transfer + $pre .= $self->sshtransfer(); + # --return + $post .= $self->sshreturn(); + # --cleanup + $post .= $self->sshcleanup(); + if($post) { + # We need to save the exit status of the job + $post = '_EXIT_status=$?; ' . $post . ' exit $_EXIT_status;'; + } + $self->{'sshlogin_wrap'} = + ($pre + . "$sshcmd $serverlogin -- exec " + . $quoted_remote_command + . ";" + . $post); + } + } + return $self->{'sshlogin_wrap'}; +} + +sub transfer { + # Files to transfer + # Non-quoted and with {...} substituted + # Returns: + # @transfer - File names of files to transfer + my $self = shift; + + my $transfersize = 0; + my @transfer = $self->{'commandline'}-> + replace_placeholders($self->{'commandline'}{'transfer_files'},0,0); + for(@transfer) { + # filesize + if(-e $_) { + $transfersize += (stat($_))[7]; + } + } + $self->add_transfersize($transfersize); + return @transfer; +} + +sub transfersize { + my $self = shift; + return $self->{'transfersize'}; +} + +sub add_transfersize { + my $self = shift; + my $transfersize = shift; + $self->{'transfersize'} += $transfersize; + $opt::sqlworker and + $Global::sql->update("SET Send = ? WHERE Seq = ".$self->seq(), + $self->{'transfersize'}); +} + +sub sshtransfer { + # Returns for each transfer file: + # rsync $file remote:$workdir + my $self = shift; + my @pre; + my $sshlogin = $self->sshlogin(); + my $workdir = $self->workdir(); + for my $file ($self->transfer()) { + push @pre, $sshlogin->rsync_transfer_cmd($file,$workdir).";"; + } + return join("",@pre); +} + +sub return { + # Files to return + # Non-quoted and with {...} substituted + # Returns: + # @non_quoted_filenames + my $self = shift; + return $self->{'commandline'}-> + replace_placeholders($self->{'commandline'}{'return_files'},0,0); +} + +sub returnsize { + # This is called after the job has finished + # Returns: + # $number_of_bytes transferred in return + my $self = shift; + for my $file ($self->return()) { + if(-e $file) { + $self->{'returnsize'} += (stat($file))[7]; + } + } + return $self->{'returnsize'}; +} + +sub add_returnsize { + my $self = shift; + my $returnsize = shift; + $self->{'returnsize'} += $returnsize; + $opt::sqlworker and + $Global::sql->update("SET Receive = ? WHERE Seq = ".$self->seq(), + $self->{'returnsize'}); +} + +sub sshreturn { + # Returns for each return-file: + # rsync remote:$workdir/$file . + my $self = shift; + my $sshlogin = $self->sshlogin(); + my $sshcmd = $sshlogin->sshcommand(); + my $serverlogin = $sshlogin->serverlogin(); + my $rsync_opts = $ENV{'PARALLEL_RSYNC_OPTS'}. + " -e".::shell_quote_scalar($sshcmd); + my $pre = ""; + for my $file ($self->return()) { + $file =~ s:^\./::g; # Remove ./ if any + my $relpath = ($file !~ m:^/:) || ($file =~ m:/\./:); # Is the path relative or /./? + my $cd = ""; + my $wd = ""; + if($relpath) { + # rsync -avR /foo/./bar/baz.c remote:/tmp/ + # == (on old systems) + # rsync -avR --rsync-path="cd /foo; rsync" remote:bar/baz.c /tmp/ + $wd = ::shell_quote_file($self->workdir()."/"); + } + # Only load File::Basename if actually needed + $Global::use{"File::Basename"} ||= eval "use File::Basename; 1;"; + # dir/./file means relative to dir, so remove dir on remote + $file =~ m:(.*)/\./:; + my $basedir = $1 ? ::shell_quote_file($1."/") : ""; + my $nobasedir = $file; + $nobasedir =~ s:.*/\./::; + $cd = ::shell_quote_file(::dirname($nobasedir)); + my $rsync_cd = '--rsync-path='.::shell_quote_scalar("cd $wd$cd; rsync"); + my $basename = + ::shell_quote_scalar(::shell_quote_file(::basename($file))); + # --return + # mkdir -p /home/tange/dir/subdir/; + # rsync (--protocol 30) -rlDzR + # --rsync-path="cd /home/tange/dir/subdir/; rsync" + # server:file.gz /home/tange/dir/subdir/ + $pre .= "mkdir -p $basedir$cd && ". $sshlogin->rsync(). + " $rsync_cd $rsync_opts $serverlogin:". + $basename . " ".$basedir.$cd.";"; + } + return $pre; +} + +sub sshcleanup { + # Return the sshcommand needed to remove the file + # Returns: + # ssh command needed to remove files from sshlogin + my $self = shift; + my $sshlogin = $self->sshlogin(); + my $sshcmd = $sshlogin->sshcommand(); + my $serverlogin = $sshlogin->serverlogin(); + my $workdir = $self->workdir(); + my $cleancmd = ""; + + for my $file ($self->remote_cleanup()) { + my @subworkdirs = parentdirs_of($file); + $cleancmd .= $sshlogin->cleanup_cmd($file,$workdir).";"; + } + if(defined $opt::workdir and $opt::workdir eq "...") { + $cleancmd .= "$sshcmd $serverlogin -- rm -rf " . ::shell_quote_scalar($workdir).';'; + } + return $cleancmd; +} + +sub remote_cleanup { + # Returns: + # Files to remove at cleanup + my $self = shift; + if($opt::cleanup) { + my @transfer = $self->transfer(); + my @return = $self->return(); + return (@transfer,@return); + } else { + return (); + } +} + +sub workdir { + # Returns: + # the workdir on a remote machine + my $self = shift; + if(not defined $self->{'workdir'}) { + my $workdir; + if(defined $opt::workdir) { + if($opt::workdir eq ".") { + # . means current dir + my $home = $ENV{'HOME'}; + eval 'use Cwd'; + my $cwd = cwd(); + $workdir = $cwd; + if($home) { + # If homedir exists: remove the homedir from + # workdir if cwd starts with homedir + # E.g. /home/foo/my/dir => my/dir + # E.g. /tmp/my/dir => /tmp/my/dir + my ($home_dev, $home_ino) = (stat($home))[0,1]; + my $parent = ""; + my @dir_parts = split(m:/:,$cwd); + my $part; + while(defined ($part = shift @dir_parts)) { + $part eq "" and next; + $parent .= "/".$part; + my ($parent_dev, $parent_ino) = (stat($parent))[0,1]; + if($parent_dev == $home_dev and $parent_ino == $home_ino) { + # dev and ino is the same: We found the homedir. + $workdir = join("/",@dir_parts); + last; + } + } + } + if($workdir eq "") { + $workdir = "."; + } + } elsif($opt::workdir eq "...") { + $workdir = ".parallel/tmp/" . ::hostname() . "-" . $$ + . "-" . $self->seq(); + } else { + $workdir = $self->{'commandline'}-> + replace_placeholders([$opt::workdir],0,0); + #$workdir = $opt::workdir; + # Rsync treats /./ special. We dont want that + $workdir =~ s:/\./:/:g; # Remove /./ + $workdir =~ s:(.)/+$:$1:; # Remove ending / if any + $workdir =~ s:^\./::g; # Remove starting ./ if any + } + } else { + $workdir = "."; + } + $self->{'workdir'} = ::shell_quote_scalar($workdir); + } + return $self->{'workdir'}; +} + +sub parentdirs_of { + # Return: + # all parentdirs except . of this dir or file - sorted desc by length + my $d = shift; + my @parents = (); + while($d =~ s:/[^/]+$::) { + if($d ne ".") { + push @parents, $d; + } + } + return @parents; +} + +sub start { + # Setup STDOUT and STDERR for a job and start it. + # Returns: + # job-object or undef if job not to run + + sub open3_setpgrp_internal { + # Run open3+setpgrp followed by the command + # Input: + # $stdin_fh = Filehandle to use as STDIN + # $stdout_fh = Filehandle to use as STDOUT + # $stderr_fh = Filehandle to use as STDERR + # $command = Command to run + # Returns: + # $pid = Process group of job started + my ($stdin_fh,$stdout_fh,$stderr_fh,$command) = @_; + my $pid; + local (*OUT,*ERR); + open OUT, '>&', $stdout_fh or ::die_bug("Can't dup STDOUT: $!"); + open ERR, '>&', $stderr_fh or ::die_bug("Can't dup STDERR: $!"); + # The eval is needed to catch exception from open3 + eval { + if(not $pid = ::open3($stdin_fh, ">&OUT", ">&ERR", "-")) { + # Each child gets its own process group to make it safe to killall + eval{ setpgrp(0,0) }; + eval{ setpriority(0,0,$opt::nice) }; + exec($Global::shell,"-c",$command) + || ::die_bug("open3-$stdin_fh $command"); + } + }; + return $pid; + } + + sub open3_setpgrp_external { + # Run open3 on $command wrapped with a perl script doing setpgrp + # Works on systems that do not support open3(,,,"-") + # Input: + # $stdin_fh = Filehandle to use as STDIN + # $stdout_fh = Filehandle to use as STDOUT + # $stderr_fh = Filehandle to use as STDERR + # $command = Command to run + # Returns: + # $pid = Process group of job started + my ($stdin_fh,$stdout_fh,$stderr_fh,$command) = @_; + local (*OUT,*ERR); + open OUT, '>&', $stdout_fh or ::die_bug("Can't dup STDOUT: $!"); + open ERR, '>&', $stderr_fh or ::die_bug("Can't dup STDERR: $!"); + + my $pid; + my @setpgrp_wrap = + ('perl','-e', + "eval\{setpgrp\}\;eval\{setpriority\(0,0,$opt::nice\)\}\;". + "exec '$Global::shell', '-c', \@ARGV"); + # The eval is needed to catch exception from open3 + eval { + $pid = ::open3($stdin_fh, ">&OUT", ">&ERR", @setpgrp_wrap, $command) + || ::die_bug("open3-$stdin_fh"); + 1; + }; + return $pid; + } + + sub open3_setpgrp { + # Select and run open3_setpgrp_internal/open3_setpgrp_external + no warnings 'redefine'; + my ($outfh,$name) = ::tmpfile(SUFFIX => ".tst"); + # Test to see if open3(x,x,x,"-") is fully supported + # Can an exported bash function be called via open3? + my $script = 'if($pid=::open3($i,$o,$e,"-")) { wait; } '. + 'else { exec("bash","-c","testfun && true"); }'; + my $bash = + ::shell_quote_scalar_default( + "testfun() { rm $name; }; export -f testfun; ". + "perl -MIPC::Open3 -e ". + ::shell_quote_scalar_default($script) + ); + # Redirect STDERR temporarily, + # so errors on MacOS X are ignored. + open my $saveerr, ">&STDERR"; + open STDERR, '>', "/dev/null"; + # Run the test + ::debug("init",qq{bash -c $bash 2>/dev/null}); + qx{ bash -c $bash 2>/dev/null }; + open STDERR, ">&", $saveerr; + + if(-e $name) { + # Does not support open3(x,x,x,"-") + # or does not have bash: + # Use (slow) external version + unlink($name); + *open3_setpgrp = \&open3_setpgrp_external; + ::debug("init","open3_setpgrp_external chosen\n"); + } else { + # Supports open3(x,x,x,"-") + # This is 0.5 ms faster to run + *open3_setpgrp = \&open3_setpgrp_internal; + ::debug("init","open3_setpgrp_internal chosen\n"); + } + # The sub is now redefined. Call it + return open3_setpgrp(@_); + } + + my $job = shift; + # Get the shell command to be executed (possibly with ssh infront). + my $command = $job->wrapped(); + my $pid; + + if($Global::interactive or $Global::stderr_verbose) { + $job->interactive_start(); + } + # Must be run after $job->interactive_start(): + # $job->interactive_start() may call $job->skip() + if($job->{'commandline'}{'skip'}) { + # $job->skip() was called + $command = "true"; + } + $job->openoutputfiles(); + $job->print_verbose_dryrun(); + # Call slot to store the slot value + $job->slot(); + my($stdout_fh,$stderr_fh) = ($job->fh(1,"w"),$job->fh(2,"w")); + if($opt::dryrun or $opt::sqlmaster) { $command = "true"; } + $ENV{'PARALLEL_SEQ'} = $job->seq(); + $ENV{'PARALLEL_PID'} = $$; + $ENV{'PARALLEL_TMP'} = ::tmpname("par"); + $job->add_rm($ENV{'PARALLEL_TMP'}); + ::debug("run", $Global::total_running, " processes . Starting (", + $job->seq(), "): $command\n"); + if($opt::pipe) { + my ($stdin_fh) = ::gensym(); + $pid = open3_setpgrp($stdin_fh,$stdout_fh,$stderr_fh,$command); + if($opt::roundrobin and not $opt::keeporder) { + # --keep-order will make sure the order will be reproducible + ::set_fh_non_blocking($stdin_fh); + } + $job->set_fh(0,"w",$stdin_fh); + if($opt::tee) { $job->set_virgin(0); } + } elsif ($opt::tty and -c "/dev/tty" and + open(my $devtty_fh, "<", "/dev/tty")) { + # Give /dev/tty to the command if no one else is using it + # The eval is needed to catch exception from open3 + local (*IN,*OUT,*ERR); + open OUT, '>&', $stdout_fh or ::die_bug("Can't dup STDOUT: $!"); + open ERR, '>&', $stderr_fh or ::die_bug("Can't dup STDERR: $!"); + *IN = $devtty_fh; + # The eval is needed to catch exception from open3 + my @wrap = ('perl','-e', + "eval\{setpriority\(0,0,$opt::nice\)\}\;". + "exec '$Global::shell', '-c', \@ARGV"); + eval { + $pid = ::open3("<&IN", ">&OUT", ">&ERR", @wrap, $command) + || ::die_bug("open3-/dev/tty"); + 1; + }; + close $devtty_fh; + $job->set_virgin(0); + } else { + $pid = open3_setpgrp(::gensym(),$stdout_fh,$stderr_fh,$command); + $job->set_virgin(0); + } + if($pid) { + # A job was started + $Global::total_running++; + $Global::total_started++; + $job->set_pid($pid); + $job->set_starttime(); + $Global::running{$job->pid()} = $job; + if($opt::timeout) { + $Global::timeoutq->insert($job); + } + $Global::newest_job = $job; + $Global::newest_starttime = ::now(); + return $job; + } else { + # No more processes + ::debug("run", "Cannot spawn more jobs.\n"); + return undef; + } +} + +sub interactive_start { + my $self = shift; + my $command = $self->wrapped(); + if($Global::interactive) { + ::status_no_nl("$command ?..."); + open(my $tty_fh, "<", "/dev/tty") || ::die_bug("interactive-tty"); + my $answer = <$tty_fh>; + close $tty_fh; + my $run_yes = ($answer =~ /^\s*y/i); + if (not $run_yes) { + $self->{'commandline'}->skip(); + } + } else { + print $Global::original_stderr "$command\n"; + } +} + +{ + my $tmuxsocket; + + sub tmux_wrap { + # Wrap command with tmux for session pPID + # Input: + # $actual_command = the actual command being run (incl ssh wrap) + my $self = shift; + my $actual_command = shift; + # Temporary file name. Used for fifo to communicate exit val + my $tmpfifo = ::tmpname("tmx"); + $self->add_rm($tmpfifo); + + if(length($tmpfifo) >=100) { + ::error("tmux does not support sockets with path > 100."); + ::wait_and_exit(255); + } + if($opt::tmuxpane) { + # Move the command into a pane in window 0 + $actual_command = $ENV{'PARALLEL_TMUX'}.' joinp -t :0 ; '. + $ENV{'PARALLEL_TMUX'}.' select-layout -t :0 tiled ; '. + $actual_command; + } + my $visual_command = $self->replaced(); + my $title = $visual_command; + if($visual_command =~ /\0/) { + ::error("Command line contains NUL. tmux is confused by NUL."); + ::wait_and_exit(255); + } + # ; causes problems + # ascii 194-245 annoys tmux + $title =~ tr/[\011-\016;\302-\365]/ /s; + $title = ::shell_quote_scalar($title); + + my $l_act = length($actual_command); + my $l_tit = length($title); + my $l_fifo = length($tmpfifo); + # The line to run contains a 118 chars extra code + the title 2x + my $l_tot = 2 * $l_tit + $l_act + $l_fifo; + + my $quoted_space75 = ::shell_quote_scalar(" ")x75; + while($l_tit < 1000 and + ( + (890 < $l_tot and $l_tot < 1350) + or + (9250 < $l_tot and $l_tot < 9800) + )) { + # tmux blocks for certain lengths: + # 900 < title + command < 1200 + # 9250 < title + command < 9800 + # but only if title < 1000, so expand the title with 75 spaces + # The measured lengths are: + # 996 < (title + whole command) < 1127 + # 9331 < (title + whole command) < 9636 + $title .= $quoted_space75; + $l_tit = length($title); + $l_tot = 2 * $l_tit + $l_act + $l_fifo; + } + + my $tmux; + $ENV{'PARALLEL_TMUX'} ||= "tmux"; + if(not $tmuxsocket) { + $tmuxsocket = ::tmpname("tms"); + if($opt::fg) { + if(not fork) { + # Run tmux in the foreground + # Wait for the socket to appear + while (not -e $tmuxsocket) { } + `$ENV{'PARALLEL_TMUX'} -S $tmuxsocket attach`; + exit; + } + } + ::status("See output with: $ENV{'PARALLEL_TMUX'} -S $tmuxsocket attach"); + } + $tmux = "sh -c '". + $ENV{'PARALLEL_TMUX'}." -S $tmuxsocket new-session -s p$$ -d \"sleep .2\" >/dev/null 2>&1';" . + $ENV{'PARALLEL_TMUX'}." -S $tmuxsocket new-window -t p$$ -n $title"; + + ::debug("tmux", "title len:", $l_tit, " act ", $l_act, " max ", + $Limits::Command::line_max_len, " tot ", + $l_tot, "\n"); + + return "mkfifo $tmpfifo && $tmux ". + # Run in tmux + ::shell_quote_scalar + ( + "(".$actual_command.');'. + # The triple print is needed - otherwise the testsuite fails + q[ perl -e 'while($t++<3){ print $ARGV[0],"\n" }' $?h/$status >> ].$tmpfifo."&". + "echo $title; echo \007Job finished at: `date`;sleep 10" + ). + # Run outside tmux + # Read a / separated line: 0h/2 for csh, 2/0 for bash. + # If csh the first will be 0h, so use the second as exit value. + # Otherwise just use the first value as exit value. + q{; exec perl -e '$/="/";$_=<>;$c=<>;unlink $ARGV; /(\d+)h/ and exit($1);exit$c' }.$tmpfifo; + } +} + +sub is_already_in_results { + # Do we already have results for this job? + # Returns: + # $job_already_run = bool whether there is output for this or not + my $job = $_[0]; + my $out = $job->{'commandline'}->results_out(); + ::debug("run", "Test ${out}stdout", -e "${out}stdout", "\n"); + return(-e $out."stdout" or -f $out); +} + +sub is_already_in_joblog { + my $job = shift; + return vec($Global::job_already_run,$job->seq(),1); +} + +sub set_job_in_joblog { + my $job = shift; + vec($Global::job_already_run,$job->seq(),1) = 1; +} + +sub should_be_retried { + # Should this job be retried? + # Returns + # 0 - do not retry + # 1 - job queued for retry + my $self = shift; + if (not $opt::retries) { + return 0; + } + if(not $self->exitstatus() and not $self->exitsignal()) { + # Completed with success. If there is a recorded failure: forget it + $self->reset_failed_here(); + return 0; + } else { + # The job failed. Should it be retried? + $self->add_failed_here(); + my $retries = $self->{'commandline'}-> + replace_placeholders([$opt::retries],0,0); + if($self->total_failed() == $retries) { + # This has been retried enough + return 0; + } else { + # This command should be retried + $self->set_endtime(undef); + $self->reset_exitstatus(); + $Global::JobQueue->unget($self); + ::debug("run", "Retry ", $self->seq(), "\n"); + return 1; + } + } +} + +{ + my (%print_later,$job_seq_to_print); + + sub print_earlier_jobs { + # Print jobs whose output is postponed due to --keep-order + # Returns: N/A + my $job = shift; + $print_later{$job->seq()} = $job; + $job_seq_to_print ||= 1; + my $returnsize = 0; + ::debug("run", "Looking for: $job_seq_to_print ", + "This: ", $job->seq(), "\n"); + for(;vec($Global::job_already_run,$job_seq_to_print,1); + $job_seq_to_print++) {} + while(my $j = $print_later{$job_seq_to_print}) { + $returnsize += $j->print(); + if($j->endtime()) { + # Job finished - look at the next + delete $print_later{$job_seq_to_print}; + $job_seq_to_print++; + next; + } else { + # Job not finished yet - look at it again next round + last; + } + } + return $returnsize; + } +} + +sub print { + # Print the output of the jobs + # Returns: N/A + + my $self = shift; + ::debug("print", ">>joboutput ", $self->replaced(), "\n"); + if($opt::dryrun) { + # Nothing was printed to this job: + # cleanup tmp files if --files was set + ::rm($self->fh(1,"name")); + } + if($opt::pipe and $self->virgin() and not $opt::tee) { + # Skip --joblog, --dryrun, --verbose + } else { + if($opt::ungroup) { + # NULL returnsize = 0 returnsize + $self->returnsize() or $self->add_returnsize(0); + if($Global::joblog and defined $self->{'exitstatus'}) { + # Add to joblog when finished + $self->print_joblog(); + # Printing is only relevant for grouped/--line-buffer output. + $opt::ungroup and return; + } + } + + # Check for disk full + ::exit_if_disk_full(); + } + + my $returnsize = $self->returnsize(); + for my $fdno (sort { $a <=> $b } keys %Global::fd) { + # Sort by file descriptor numerically: 1,2,3,..,9,10,11 + $fdno == 0 and next; + my $out_fd = $Global::fd{$fdno}; + my $in_fh = $self->fh($fdno,"r"); + if(not $in_fh) { + if(not $Job::file_descriptor_warning_printed{$fdno}++) { + # ::warning("File descriptor $fdno not defined\n"); + } + next; + } + ::debug("print", "File descriptor $fdno (", $self->fh($fdno,"name"), "):\n"); + if($opt::linebuffer) { + # Line buffered print out + $self->print_linebuffer($fdno,$in_fh,$out_fd); + } elsif($opt::files) { + $self->print_files($fdno,$in_fh,$out_fd); + } elsif($opt::tag or defined $opt::tagstring) { + $self->print_tag($fdno,$in_fh,$out_fd); + } else { + $self->print_normal($fdno,$in_fh,$out_fd); + } + flush $out_fd; + } + ::debug("print", "<{'exitstatus'} + and not ($self->virgin() and $opt::pipe)) { + if($Global::joblog and not $opt::sqlworker) { + # Add to joblog when finished + $self->print_joblog(); + } + if($opt::sqlworker and not $opt::results) { + $Global::sql->output($self); + } + if($Global::csvsep) { + # Add output to CSV when finished + $self->print_csv(); + } + } + return $returnsize - $self->returnsize(); +} + +{ + my $header_printed; + + sub print_csv { + my $self = shift; + my $cmd; + if($Global::verbose <= 1) { + $cmd = $self->replaced(); + } else { + # Verbose level > 1: Print the rsync and stuff + $cmd = "@command"; + } + my $record_ref = $self->{'commandline'}{'arg_list_flat_orig'}; + + if(not $header_printed) { + # Variable headers + # Normal => V1..Vn + # --header : => first value from column + my @V; + if($opt::header) { + my $i = 1; + @V = (map { $Global::input_source_header{$i++} } + @$record_ref[1..$#$record_ref]); + } else { + my $V = "V1"; + @V = (map { $V++ } @$record_ref[1..$#$record_ref]); + } + print $Global::csv_fh + (map { $$_ } + combine_ref("Seq", "Host", "Starttime", "JobRuntime", + "Send", "Receive", "Exitval", "Signal", "Command", + @V, + "Stdout","Stderr" + )),"\n"; + $header_printed++; + } + # Memory optimization: Overwrite with the joined output + $self->{'output'}{1} = join("", @{$self->{'output'}{1}}); + $self->{'output'}{2} = join("", @{$self->{'output'}{2}}); + print $Global::csv_fh + (map { $$_ } + combine_ref + ($self->seq(), + $self->sshlogin()->string(), + $self->starttime(), sprintf("%0.3f",$self->runtime()), + $self->transfersize(), $self->returnsize(), + $self->exitstatus(), $self->exitsignal(), \$cmd, + \@$record_ref[1..$#$record_ref], + \$self->{'output'}{1}, + \$self->{'output'}{2})),"\n"; + } +} + +sub combine_ref { + # Inspired by Text::CSV_PP::_combine (by Makamaka Hannyaharamitu) + my @part = @_; + my $sep = $Global::csvsep; + my $quot = '"'; + my @out = (); + + my $must_be_quoted; + for my $column (@part) { + # Memory optimization: Content transferred as reference + if(ref $column ne "SCALAR") { + # Convert all columns to scalar references + my $v = $column; + $column = \$v; + } + if(not defined $$column) { + $$column = ''; + next; + } + + $must_be_quoted = 0; + + if($$column =~ s/$quot/$quot$quot/go){ + # Replace " => "" + $must_be_quoted ||=1; + } + if($$column =~ /[\s\Q$sep\E]/o){ + # Put quotes around if the column contains , + $must_be_quoted ||=1; + } + + $Global::use{"bytes"} ||= eval "use bytes; 1;"; + if ($$column =~ /\0/) { + # Contains \0 => put quotes around + $must_be_quoted ||=1; + } + if($must_be_quoted){ + push @out, \$sep, \$quot, $column, \$quot; + } else { + push @out, \$sep, $column; + } + } + # Pop off a $sep + shift @out; + return @out; +} + +sub print_files { + # Print the name of the file containing stdout on stdout + # Uses: + # $opt::pipe + # $opt::group = Print when job is done + # $opt::linebuffer = Print ASAP + # Returns: N/A + my $self = shift; + my ($fdno,$in_fh,$out_fd) = @_; + + # If the job is dead: close printing fh. Needed for --compress + close $self->fh($fdno,"w"); + if($? and $opt::compress) { + ::error($opt::compress_program." failed."); + $self->set_exitstatus(255); + } + if($opt::compress) { + # Kill the decompressor which will not be needed + CORE::kill "TERM", $self->fh($fdno,"rpid"); + } + close $in_fh; + + if($opt::pipe and $self->virgin()) { + # Nothing was printed to this job: + # cleanup unused tmp files because --files was set + for my $fdno (1,2) { + ::rm($self->fh($fdno,"name")); + ::rm($self->fh($fdno,"unlink")); + } + } elsif($fdno == 1 and $self->fh($fdno,"name")) { + print $out_fd $self->tag(),$self->fh($fdno,"name"),"\n"; + if($Global::membuffer) { + push @{$self->{'output'}{$fdno}}, + $self->tag(), $self->fh($fdno,"name"); + } + $self->add_returnsize(-s $self->fh($fdno,"name")); + # Mark as printed - do not print again + $self->set_fh($fdno,"name",undef); + } +} + +sub print_linebuffer { + my $self = shift; + my ($fdno,$in_fh,$out_fd) = @_; + if(defined $self->{'exitstatus'}) { + # If the job is dead: close printing fh. Needed for --compress + close $self->fh($fdno,"w"); + if($? and $opt::compress) { + ::error($opt::compress_program." failed."); + $self->set_exitstatus(255); + } + if($opt::compress) { + # Blocked reading in final round + for my $fdno (1,2) { + ::set_fh_blocking($self->fh($fdno,'r')); + } + } + } + if(not $self->virgin()) { + if($opt::files or ($opt::results and not $Global::csvsep)) { + # Print filename + if($fdno == 1 and not $self->fh($fdno,"printed")) { + print $out_fd $self->tag(),$self->fh($fdno,"name"),"\n"; + if($Global::membuffer) { + push(@{$self->{'output'}{$fdno}}, $self->tag(), + $self->fh($fdno,"name")); + } + $self->set_fh($fdno,"printed",1); + } + # No need for reading $in_fh, as it is from "cat >/dev/null" + } else { + # Read halflines and print full lines + my $outputlength = 0; + my $halfline_ref = $self->{'halfline'}{$fdno}; + my ($buf,$i,$rv); + while($rv = sysread($in_fh, $buf, 131072)) { + $outputlength += $rv; + # Treat both \n and \r as line end + $i = (rindex($buf,"\n")+1) || (rindex($buf,"\r")+1); + if($i) { + # One or more complete lines were found + if($opt::tag or defined $opt::tagstring) { + # Replace ^ with $tag within the full line + my $tag = $self->tag(); + substr($buf,0,$i-1) =~ s/(?<=[\n\r])/$tag/gm; + # The length changed, so find the new ending pos + $i = (rindex($buf,"\n")+1) || (rindex($buf,"\r")+1); + unshift @$halfline_ref, $tag; + } + # Print the partial line (halfline) and the last half + print $out_fd @$halfline_ref, substr($buf,0,$i); + # Buffer in memory for SQL and CSV-output + if($Global::membuffer) { + push(@{$self->{'output'}{$fdno}}, + @$halfline_ref, substr($buf,0,$i)); + } + # Remove the printed part by keeping the unprinted part + @$halfline_ref = (substr($buf,$i)); + } else { + # No newline, so append to the halfline + push @$halfline_ref, $buf; + } + } + $self->add_returnsize($outputlength); + } + if(defined $self->{'exitstatus'}) { + if($opt::files or ($opt::results and not $Global::csvsep)) { + $self->add_returnsize(-s $self->fh($fdno,"name")); + } else { + # If the job is dead: print the remaining partial line + # read remaining + my $halfline_ref = $self->{'halfline'}{$fdno}; + if(grep /./, @$halfline_ref) { + $self->add_returnsize(length join("",@$halfline_ref)); + if($opt::tag or defined $opt::tagstring) { + # Prepend $tag the the remaining half line + unshift @$halfline_ref, $self->tag(); + } + # Print the partial line (halfline) + print $out_fd @{$self->{'halfline'}{$fdno}}; + # Buffer in memory for SQL and CSV-output + if($Global::membuffer) { + push(@{$self->{'output'}{$fdno}}, @$halfline_ref); + } + @$halfline_ref = (); + } + } + if($self->fh($fdno,"rpid") and + CORE::kill 0, $self->fh($fdno,"rpid")) { + # decompress still running + } else { + # decompress done: close fh + close $in_fh; + if($? and $opt::compress) { + ::error($opt::decompress_program." failed."); + $self->set_exitstatus(255); + } + } + } + } +} + +sub print_tag { + return print_normal(@_); +} + +sub free_ressources() { + my $self = shift; + if(not $opt::ungroup) { + for my $fdno (sort { $a <=> $b } keys %Global::fd) { + close $self->fh($fdno,"w"); + close $self->fh($fdno,"r"); + } + } +} + +sub print_normal { + my $self = shift; + my ($fdno,$in_fh,$out_fd) = @_; + my $buf; + close $self->fh($fdno,"w"); + if($? and $opt::compress) { + ::error($opt::compress_program." failed."); + $self->set_exitstatus(255); + } + if(not $self->virgin()) { + seek $in_fh, 0, 0; + # $in_fh is now ready for reading at position 0 + my $outputlength = 0; + my @output; + + if($opt::tag or $opt::tagstring) { + # Read line by line + local $/ = "\n"; + my $tag = $self->tag(); + while(<$in_fh>) { + print $out_fd $tag,$_; + $outputlength += length $_; + if($Global::membuffer) { + push @{$self->{'output'}{$fdno}}, $tag, $_; + } + } + } else { + while(sysread($in_fh,$buf,131072)) { + print $out_fd $buf; + $outputlength += length $buf; + if($Global::membuffer) { + push @{$self->{'output'}{$fdno}}, $buf; + } + } + } + if($fdno == 1) { + $self->add_returnsize($outputlength); + } + close $in_fh; + if($? and $opt::compress) { + ::error($opt::decompress_program." failed."); + $self->set_exitstatus(255); + } + } +} + +sub print_joblog { + my $self = shift; + my $cmd; + if($Global::verbose <= 1) { + $cmd = $self->replaced(); + } else { + # Verbose level > 1: Print the rsync and stuff + $cmd = "@command"; + } + # Newlines make it hard to parse the joblog + $cmd =~ s/\n/\0/g; + print $Global::joblog + join("\t", $self->seq(), $self->sshlogin()->string(), + $self->starttime(), sprintf("%10.3f",$self->runtime()), + $self->transfersize(), $self->returnsize(), + $self->exitstatus(), $self->exitsignal(), $cmd + ). "\n"; + flush $Global::joblog; + $self->set_job_in_joblog(); +} + +sub tag { + my $self = shift; + if(not defined $self->{'tag'}) { + if($opt::tag or defined $opt::tagstring) { + $self->{'tag'} = $self->{'commandline'}-> + replace_placeholders([$opt::tagstring],0,0)."\t"; + } else { + $self->{'tag'} = ""; + } + } + return $self->{'tag'}; +} + +sub hostgroups { + my $self = shift; + if(not defined $self->{'hostgroups'}) { + $self->{'hostgroups'} = + $self->{'commandline'}->{'arg_list'}[0][0]->{'hostgroups'}; + } + return @{$self->{'hostgroups'}}; +} + +sub exitstatus { + my $self = shift; + return $self->{'exitstatus'}; +} + +sub set_exitstatus { + my $self = shift; + my $exitstatus = shift; + if($exitstatus) { + # Overwrite status if non-zero + $self->{'exitstatus'} = $exitstatus; + } else { + # Set status but do not overwrite + # Status may have been set by --timeout + $self->{'exitstatus'} ||= $exitstatus; + } + $opt::sqlworker and + $Global::sql->update("SET Exitval = ? WHERE Seq = ".$self->seq(), + $exitstatus); +} + +sub reset_exitstatus { + my $self = shift; + undef $self->{'exitstatus'}; +} + +sub exitsignal { + my $self = shift; + return $self->{'exitsignal'}; +} + +sub set_exitsignal { + my $self = shift; + my $exitsignal = shift; + $self->{'exitsignal'} = $exitsignal; + $opt::sqlworker and + $Global::sql->update("SET _Signal = ? WHERE Seq = ".$self->seq(), + $exitsignal); +} + +{ + my $status_printed; + my $total_jobs; + + sub should_we_halt { + # Should we halt? Immediately? Gracefully? + # Returns: N/A + my $job = shift; + my $limit; + if($job->exitstatus() or $job->exitsignal()) { + # Job failed + $Global::exitstatus++; + $Global::total_failed++; + if($Global::halt_fail) { + ::status("$Global::progname: This job failed:", + $job->replaced()); + $limit = $Global::total_failed; + } + } elsif($Global::halt_success) { + ::status("$Global::progname: This job succeeded:", + $job->replaced()); + $limit = $Global::total_completed - $Global::total_failed; + } + if($Global::halt_done) { + ::status("$Global::progname: This job finished:", + $job->replaced()); + $limit = $Global::total_completed; + } + if(not defined $limit) { + return "" + } + # --halt # => 1..100 (number of jobs failed, 101 means > 100) + # --halt % => 1..100 (pct of jobs failed) + if($Global::halt_pct and not $Global::halt_count) { + $total_jobs ||= $Global::JobQueue->total_jobs(); + # From the pct compute the number of jobs that must fail/succeed + $Global::halt_count = $total_jobs * $Global::halt_pct; + } + if($limit >= $Global::halt_count) { + # At least N jobs have failed/succeded/completed + # or at least N% have failed/succeded/completed + # So we should prepare for exit + if($Global::halt_fail or $Global::halt_done) { + # Set exit status + if(not defined $Global::halt_exitstatus) { + if($Global::halt_pct) { + # --halt now,fail=X% or soon,fail=X% + # --halt now,done=X% or soon,done=X% + $Global::halt_exitstatus = + ::ceil($Global::total_failed / $total_jobs * 100); + } elsif($Global::halt_count) { + # --halt now,fail=X or soon,fail=X + # --halt now,done=X or soon,done=X + $Global::halt_exitstatus = + ::min($Global::total_failed,101); + } + if($Global::halt_count and $Global::halt_count == 1) { + # --halt now,fail=1 or soon,fail=1 + # --halt now,done=1 or soon,done=1 + # Emulate Bash's +128 if there is a signal + $Global::halt_exitstatus = + ($job->exitstatus() + or + $job->exitsignal() ? $job->exitsignal() + 128 : 0); + } + } + ::debug("halt","Pct: ",$Global::halt_pct, + " count: ",$Global::halt_count, + " status: ",$Global::halt_exitstatus,"\n"); + } elsif($Global::halt_success) { + $Global::halt_exitstatus = 0; + } + if($Global::halt_when eq "soon" + and + (scalar(keys %Global::running) > 0 + or + $Global::max_jobs_running == 1)) { + ::status + ("$Global::progname: Starting no more jobs. ". + "Waiting for ". (keys %Global::running). + " jobs to finish."); + $Global::start_no_new_jobs ||= 1; + } + return($Global::halt_when); + } + return ""; + } +} + + +package CommandLine; + +sub new { + my $class = shift; + my $seq = shift; + my $commandref = shift; + $commandref || die; + my $arg_queue = shift; + my $context_replace = shift; + my $max_number_of_args = shift; # for -N and normal (-n1) + my $transfer_files = shift; + my $return_files = shift; + my $replacecount_ref = shift; + my $len_ref = shift; + my %replacecount = %$replacecount_ref; + my %len = %$len_ref; + for (keys %$replacecount_ref) { + # Total length of this replacement string {} replaced with all args + $len{$_} = 0; + } + return bless { + 'command' => $commandref, + 'seq' => $seq, + 'len' => \%len, + 'arg_list' => [], + 'arg_list_flat' => [], + 'arg_list_flat_orig' => [undef], + 'arg_queue' => $arg_queue, + 'max_number_of_args' => $max_number_of_args, + 'replacecount' => \%replacecount, + 'context_replace' => $context_replace, + 'transfer_files' => $transfer_files, + 'return_files' => $return_files, + 'replaced' => undef, + }, ref($class) || $class; +} + +sub seq { + my $self = shift; + return $self->{'seq'}; +} + +sub set_seq { + my $self = shift; + $self->{'seq'} = shift; +} + +sub slot { + # Find the number of a free job slot and return it + # Uses: + # @Global::slots - list with free jobslots + # Returns: + # $jobslot = number of jobslot + my $self = shift; + if(not $self->{'slot'}) { + if(not @Global::slots) { + # $max_slot_number will typically be $Global::max_jobs_running + push @Global::slots, ++$Global::max_slot_number; + } + $self->{'slot'} = shift @Global::slots; + } + return $self->{'slot'}; +} + +{ + my $already_spread; + + sub populate { + # Add arguments from arg_queue until the number of arguments or + # max line length is reached + # Uses: + # $Global::minimal_command_line_length + # $opt::cat + # $opt::fifo + # $Global::JobQueue + # $opt::m + # $opt::X + # $Global::max_jobs_running + # Returns: N/A + my $self = shift; + my $next_arg; + my $max_len = $Global::minimal_command_line_length + || Limits::Command::max_length(); + + if($opt::cat or $opt::fifo) { + # Get the empty arg added by --pipepart (if any) + $Global::JobQueue->{'commandlinequeue'}->{'arg_queue'}->get(); + # $PARALLEL_TMP will point to a tempfile that will be used as {} + $Global::JobQueue->{'commandlinequeue'}->{'arg_queue'}-> + unget([Arg->new('$PARALLEL_TMP')]); + } + while (not $self->{'arg_queue'}->empty()) { + $next_arg = $self->{'arg_queue'}->get(); + if(not defined $next_arg) { + next; + } + $self->push($next_arg); + if($self->len() >= $max_len) { + # Command length is now > max_length + # If there are arguments: remove the last + # If there are no arguments: Error + # TODO stuff about -x opt_x + if($self->number_of_args() > 1) { + # There is something to work on + $self->{'arg_queue'}->unget($self->pop()); + last; + } else { + my $args = join(" ", map { $_->orig() } @$next_arg); + ::error("Command line too long (". + $self->len(). " >= ". + $max_len. + ") at input ". + $self->{'arg_queue'}->arg_number(). + ": ". + ((length $args > 50) ? + (substr($args,0,50))."..." : + $args)); + $self->{'arg_queue'}->unget($self->pop()); + ::wait_and_exit(255); + } + } + + if(defined $self->{'max_number_of_args'}) { + if($self->number_of_args() >= $self->{'max_number_of_args'}) { + last; + } + } + } + if(($opt::m or $opt::X) and not $already_spread + and $self->{'arg_queue'}->empty() and $Global::max_jobs_running) { + # -m or -X and EOF => Spread the arguments over all jobslots + # (unless they are already spread) + $already_spread ||= 1; + if($self->number_of_args() > 1) { + $self->{'max_number_of_args'} = + ::ceil($self->number_of_args()/$Global::max_jobs_running); + $Global::JobQueue->{'commandlinequeue'}->{'max_number_of_args'} = + $self->{'max_number_of_args'}; + $self->{'arg_queue'}->unget($self->pop_all()); + while($self->number_of_args() < $self->{'max_number_of_args'}) { + $self->push($self->{'arg_queue'}->get()); + } + } + $Global::JobQueue->flush_total_jobs(); + } + + if($opt::sqlmaster) { + # Insert the V1..Vn for this $seq in SQL table instead of generating one + $Global::sql->insert_records($self->seq(), $self->{'command'}, + $self->{'arg_list_flat_orig'}); + } + } +} + +sub push { + # Add one or more records as arguments + # Returns: N/A + my $self = shift; + my $record = shift; + push @{$self->{'arg_list_flat_orig'}}, map { $_->orig() } @$record; + push @{$self->{'arg_list_flat'}}, @$record; + push @{$self->{'arg_list'}}, $record; + # Make @arg available for {= =} + *Arg::arg = $self->{'arg_list_flat_orig'}; + + my $quote_arg = $Global::noquote ? 0 : not $Global::quoting; + for my $perlexpr (keys %{$self->{'replacecount'}}) { + if($perlexpr =~ /^(\d+) /) { + # Positional + defined($record->[$1-1]) or next; + $self->{'len'}{$perlexpr} += + length $record->[$1-1]->replace($perlexpr,$quote_arg,$self); + } else { + for my $arg (@$record) { + if(defined $arg) { + $self->{'len'}{$perlexpr} += + length $arg->replace($perlexpr,$quote_arg,$self); + } + } + } + } +} + +sub pop { + # Remove last argument + # Returns: + # the last record + my $self = shift; + my $record = pop @{$self->{'arg_list'}}; + # pop off arguments from @$record + splice @{$self->{'arg_list_flat_orig'}}, -($#$record+1), $#$record+1; + splice @{$self->{'arg_list_flat'}}, -($#$record+1), $#$record+1; + my $quote_arg = $Global::noquote ? 0 : not $Global::quoting; + for my $perlexpr (keys %{$self->{'replacecount'}}) { + if($perlexpr =~ /^(\d+) /) { + # Positional + defined($record->[$1-1]) or next; + $self->{'len'}{$perlexpr} -= + length $record->[$1-1]->replace($perlexpr,$quote_arg,$self); + } else { + for my $arg (@$record) { + if(defined $arg) { + $self->{'len'}{$perlexpr} -= + length $arg->replace($perlexpr,$quote_arg,$self); + } + } + } + } + return $record; +} + +sub pop_all { + # Remove all arguments and zeros the length of replacement perlexpr + # Returns: + # all records + my $self = shift; + my @popped = @{$self->{'arg_list'}}; + for my $perlexpr (keys %{$self->{'replacecount'}}) { + $self->{'len'}{$perlexpr} = 0; + } + $self->{'arg_list'} = []; + $self->{'arg_list_flat_orig'} = [undef]; + $self->{'arg_list_flat'} = []; + return @popped; +} + +sub number_of_args { + # The number of records + # Returns: + # number of records + my $self = shift; + # This is really the number of records + return $#{$self->{'arg_list'}}+1; +} + +sub number_of_recargs { + # The number of args in records + # Returns: + # number of args records + my $self = shift; + my $sum = 0; + my $nrec = scalar @{$self->{'arg_list'}}; + if($nrec) { + $sum = $nrec * (scalar @{$self->{'arg_list'}[0]}); + } + return $sum; +} + +sub args_as_string { + # Returns: + # all unmodified arguments joined with ' ' (similar to {}) + my $self = shift; + return (join " ", map { $_->orig() } + map { @$_ } @{$self->{'arg_list'}}); +} + +sub results_out { + sub max_file_name_length { + # Figure out the max length of a subdir + # TODO and the max total length + # Ext4 = 255,130816 + # Uses: + # $Global::max_file_length is set + # Returns: + # $Global::max_file_length + my $testdir = shift; + + my $upper = 8_000_000; + # Dir length of 8 chars is supported everywhere + my $len = 8; + my $dir = "x"x$len; + do { + rmdir($testdir."/".$dir); + $len *= 16; + $dir = "x"x$len; + } while ($len < $upper and mkdir $testdir."/".$dir); + # Then search for the actual max length between $len/16 and $len + my $min = $len/16; + my $max = $len; + while($max-$min > 5) { + # If we are within 5 chars of the exact value: + # it is not worth the extra time to find the exact value + my $test = int(($min+$max)/2); + $dir = "x"x$test; + if(mkdir $testdir."/".$dir) { + rmdir($testdir."/".$dir); + $min = $test; + } else { + $max = $test; + } + } + $Global::max_file_length = $min; + return $min; + } + + my $self = shift; + my $out = $self->replace_placeholders([$opt::results],0,0); + if($out eq $opt::results) { + # $opt::results simple string: Append args_as_dirname + my $args_as_dirname = $self->args_as_dirname(); + # Output in: prefix/name1/val1/name2/val2/stdout + $out = $opt::results."/".$args_as_dirname; + if(-d $out or eval{ File::Path::mkpath($out); }) { + # OK + } else { + # mkpath failed: Argument probably too long. + # Set $Global::max_file_length, which will keep the individual + # dir names shorter than the max length + max_file_name_length($opt::results); + $args_as_dirname = $self->args_as_dirname(); + # prefix/name1/val1/name2/val2/ + $out = $opt::results."/".$args_as_dirname; + File::Path::mkpath($out); + } + $out .="/"; + } else { + if($out =~ m:/$:) { + # / = dir + if(-d $out or eval{ File::Path::mkpath($out); }) { + # OK + } else { + ::error("Cannot make dir '$out'."); + ::wait_and_exit(255); + } + } else { + $out =~ m:(.*)/:; + File::Path::mkpath($1); + } + } + return $out; +} + +sub args_as_dirname { + # Returns: + # all unmodified arguments joined with '/' (similar to {}) + # \t \0 \\ and / are quoted as: \t \0 \\ \_ + # If $Global::max_file_length: Keep subdirs < $Global::max_file_length + my $self = shift; + my @res = (); + + for my $rec_ref (@{$self->{'arg_list'}}) { + # If headers are used, sort by them. + # Otherwise keep the order from the command line. + my @header_indexes_sorted = header_indexes_sorted($#$rec_ref+1); + for my $n (@header_indexes_sorted) { + CORE::push(@res, + $Global::input_source_header{$n}, + map { my $s = $_; + # \t \0 \\ and / are quoted as: \t \0 \\ \_ + $s =~ s/\\/\\\\/g; + $s =~ s/\t/\\t/g; + $s =~ s/\0/\\0/g; + $s =~ s:/:\\_:g; + if($Global::max_file_length) { + # Keep each subdir shorter than the longest + # allowed file name + $s = substr($s,0,$Global::max_file_length); + } + $s; } + $rec_ref->[$n-1]->orig()); + } + } + return join "/", @res; +} + +sub header_indexes_sorted { + # Sort headers first by number then by name. + # E.g.: 1a 1b 11a 11b + # Returns: + # Indexes of %Global::input_source_header sorted + my $max_col = shift; + + no warnings 'numeric'; + for my $col (1 .. $max_col) { + # Make sure the header is defined. If it is not: use column number + if(not defined $Global::input_source_header{$col}) { + $Global::input_source_header{$col} = $col; + } + } + my @header_indexes_sorted = sort { + # Sort headers numerically then asciibetically + $Global::input_source_header{$a} <=> $Global::input_source_header{$b} + or + $Global::input_source_header{$a} cmp $Global::input_source_header{$b} + } 1 .. $max_col; + return @header_indexes_sorted; +} + +sub len { + # Uses: + # $opt::shellquote + # The length of the command line with args substituted + my $self = shift; + my $len = 0; + # Add length of the original command with no args + # Length of command w/ all replacement args removed + $len += $self->{'len'}{'noncontext'} + @{$self->{'command'}} -1; + ::debug("length", "noncontext + command: $len\n"); + my $recargs = $self->number_of_recargs(); + if($self->{'context_replace'}) { + # Context is duplicated for each arg + $len += $recargs * $self->{'len'}{'context'}; + for my $replstring (keys %{$self->{'replacecount'}}) { + # If the replacements string is more than once: mulitply its length + $len += $self->{'len'}{$replstring} * + $self->{'replacecount'}{$replstring}; + ::debug("length", $replstring, " ", $self->{'len'}{$replstring}, "*", + $self->{'replacecount'}{$replstring}, "\n"); + } + # echo 11 22 33 44 55 66 77 88 99 1010 + # echo 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 + # 5 + ctxgrp*arg + ::debug("length", "Ctxgrp: ", $self->{'len'}{'contextgroups'}, + " Groups: ", $self->{'len'}{'noncontextgroups'}, "\n"); + # Add space between context groups + $len += ($recargs-1) * ($self->{'len'}{'contextgroups'}); + } else { + # Each replacement string may occur several times + # Add the length for each time + $len += 1*$self->{'len'}{'context'}; + ::debug("length", "context+noncontext + command: $len\n"); + for my $replstring (keys %{$self->{'replacecount'}}) { + # (space between regargs + length of replacement) + # * number this replacement is used + $len += ($recargs -1 + $self->{'len'}{$replstring}) * + $self->{'replacecount'}{$replstring}; + } + } + if($Global::quoting) { + # Pessimistic length if -q is set + # Worse than worst case: every char needs to be quoted with \ + $len *= 2; + } + if($opt::shellquote) { + # Pessimistic length if --shellquote is set + # Worse than worst case: every char needs to be quoted with \ twice + $len *= 4; + } + # If we are using --env, add the prefix for that, too. + $len += 0; + return $len; +} + +sub replaced { + # Uses: + # $Global::noquote + # $Global::quoting + # Returns: + # $replaced = command with place holders replaced and prepended + my $self = shift; + if(not defined $self->{'replaced'}) { + # Don't quote arguments if the input is the full command line + my $quote_arg = $Global::noquote ? 0 : not $Global::quoting; + # or if ($opt::cat or $opt::pipe) as they use $PARALLEL_TMP + $quote_arg = ($opt::cat || $opt::fifo) ? 0 : $quote_arg; + $self->{'replaced'} = $self-> + replace_placeholders($self->{'command'},$Global::quoting, + $quote_arg); + my $len = length $self->{'replaced'}; + if ($len != $self->len()) { + ::debug("length", $len, " != ", $self->len(), + " ", $self->{'replaced'}, "\n"); + } else { + ::debug("length", $len, " == ", $self->len(), + " ", $self->{'replaced'}, "\n"); + } + } + return $self->{'replaced'}; +} + +{ + my @target; + my $context_replace; + my $perl_expressions_as_re; + my @arg; + my %words_with_rpl_strings; + + sub fish_out_words_with_rpl_strings { + if(not $words_with_rpl_strings{$context_replace,@target}) { + my %word; + for (@target) { + my $tt = $_; + ::debug("replace", "Target: $tt"); + # Command line template: + # a{1}b{}c{}d + # becomes: + # a{=1 $_=$_ =}b{= $_=$_ =}c{= $_=$_ =}d + # becomes: + # a\257<1 $_=$_ \257>b\257< $_=$_ \257>c\257< $_=$_ \257>d + # Input A B C (no context) becomes: + # A B C => aAbA B CcA B Cd + # Input A B C (context -X) becomes: + # A B C => aAbAcAd aAbBcBd aAbCcCd + if($context_replace) { + while($tt =~ s/([^\s\257]* # before {= + (?: + \257< # {= + (?: (?! \257[<>]). )* # The perl expression + \257> # =} + [^\s\257]* # after =} + )+)/ /xs) { + # $1 = pre \257< perlexpr \257> post + $word{"$1"} ||= 1; + } + } else { + while($tt =~ s/( \257<(?: (?! \257[<>]). )*\257> )//xs) { + # $1 = \257< perlexpr \257> + $word{$1} ||= 1; + } + } + } + @{$words_with_rpl_strings{$context_replace,@target}} = keys %word + } + return @{$words_with_rpl_strings{$context_replace,@target}}; + } + + sub replace_placeholders { + # Replace foo{}bar with fooargbar + # Uses: + # @Arg::arg = arguments as strings to be use in {= =} + # Input: + # $targetref = command as shell words + # $quote = should everything be quoted? + # $quote_arg = should replaced arguments be quoted? + # Returns: + # @target with placeholders replaced + my $self = shift; + my $targetref = shift; + my $quote = shift; + my $quote_arg = shift; + my %replace; + # -X = context replace (fish_out_words_with_rpl_strings) + $context_replace = $self->{'context_replace'}; + @target = @$targetref; + ::debug("replace", "Replace @target\n"); + if(not @target) { + # @target is empty: Return empty array + return @target; + } + # Make it possible to use $arg[2] in {= =} + *Arg::arg = $self->{'arg_list_flat_orig'}; + # Flat list: + # $self->{'arg_list'} = [ [Arg11, Arg12], [Arg21, Arg22], [Arg31, Arg32] ] + # $self->{'arg_list_flat'} = [ Arg11, Arg12, Arg21, Arg22, Arg31, Arg32 ] + if(not @{$self->{'arg_list_flat'}}) { + @{$self->{'arg_list_flat'}} = Arg->new(""); + } + my $argref = $self->{'arg_list_flat'}; + # Number of arguments - used for positional arguments + my $n = $#$argref+1; + + # $self is actually a CommandLine-object, + # but it looks nice to be able to say {= $job->slot() =} + my $job = $self; + $perl_expressions_as_re = + join("|", map {s/^-?\d+//; "\Q$_\E"} keys %{$self->{'replacecount'}}); + # Fish out the words that have replacement strings in them + for my $word (fish_out_words_with_rpl_strings()) { + # word = AB \257< perlexpr \257> CD \257< perlexpr \257> EF + ::debug("replace", "Replacing in $word\n"); + my $normal_replace; + + # for each arg: + # replace replacement strings with replacement in the word value + # push to replace word value + for my $arg (@$argref) { + my $val = $word; + # Replace {= perl expr =} with value for each arg + $val =~ s{\257<(-?\d+)?($perl_expressions_as_re)\257>} + { + if($1) { + # Positional replace + # Find the relevant arg and replace it + ($argref->[$1 > 0 ? $1-1 : $n+$1] ? # If defined: replace + $argref->[$1 > 0 ? $1-1 : $n+$1]-> + replace($2,$quote_arg,$self) + : ""); + } else { + # Normal replace + $normal_replace ||= 1; + ($arg ? $arg->replace($2,$quote_arg,$self) : ""); + } + }gxe; + if($quote) { + CORE::push(@{$replace{::shell_quote_scalar($word)}}, + ::shell_quote_scalar($val)); + } else { + CORE::push(@{$replace{$word}}, $val); + } + # No normal replacements => only run once + $normal_replace or last; + } + } + *Arg::arg = []; + if($quote) { + @target = ::shell_quote(@target); + } + if(%replace) { + # Substitute the replace strings with the replacement values + # Must be sorted by length if a short word is a substring of a long word + my $regexp = join('|', map { my $s = $_; $s =~ s/(\W)/\\$1/g; $s } + sort { length $b <=> length $a } keys %replace); + for(@target) { + s/($regexp)/join(" ",@{$replace{$1}})/ge; + } + } + if($Global::escape_string_present) { + # Command line contains \257: Unescape it \257\256 => \257 + # If a replacement resulted in \257\256 + # it will have been escaped into \\\257\\\\256 + # and will not be matched below + for(@target) { + s/\257\256/\257/g; + } + if($opt::q) { + # \257 will be quoted too much + for(@target) { + s/\\\257\\\256/\\\257/g; + } + } + } + ::debug("replace", "Return @target\n"); + return wantarray ? @target : "@target"; + } +} + +sub skip { + # Skip this job + my $self = shift; + $self->{'skip'} = 1; +} + + +package CommandLineQueue; + +sub new { + my $class = shift; + my $commandref = shift; + my $read_from = shift; + my $context_replace = shift || 0; + my $max_number_of_args = shift; + my $transfer_files = shift; + my $return_files = shift; + my @unget = (); + my ($count,$posrpl,$perlexpr); + my ($replacecount_ref, $len_ref); + my @command = @$commandref; + my $dummy = ''; + my $seq = 1; + # Replace replacement strings with {= perl expr =} + # '{=' 'perlexpr' '=}' => '{= perlexpr =}' + @command = merge_rpl_parts(@command); + + # Protect matching inside {= perl expr =} + # by replacing {= and =} with \257< and \257> + # in options that can contain replacement strings: + # @command, --transferfile, --return, + # --tagstring, --workdir, --results + for(@command, @$transfer_files, @$return_files, + $opt::tagstring, $opt::workdir, $opt::results, $opt::retries) { + # Skip if undefined + $_ or next; + # Escape \257 => \257\256 + $Global::escape_string_present += s/\257/\257\256/g; + # Needs to match rightmost left parens (Perl defaults to leftmost) + # to deal with: {={==} and {={==}=} + # Replace {= -> \257< and =} -> \257> + # + # Complex way to do: + # s/{=(.*)=}/\257<$1\257>/g + # which would not work + s[\Q$Global::parensleft\E # Match {= + # Match . unless the next string is {= or =} + # needed to force matching the shortest {= =} + ((?:(?! \Q$Global::parensleft\E|\Q$Global::parensright\E ).)*?) + \Q$Global::parensright\E ] # Match =} + {\257<$1\257>}gx; + for my $rpl (sort { length $b <=> length $a } keys %Global::rpl) { + # Replace long --rpl's before short ones, as a short may be a + # substring of a long: + # --rpl '% s/a/b/' --rpl '%% s/b/a/' + # + # Replace the shorthand string (--rpl) + # with the {= perl expr =} + # + # Avoid searching for shorthand strings inside existing {= perl expr =} + # + # Replace $$1 in {= perl expr =} with groupings in shorthand string + # + # --rpl '{/(\.\S+)/(\.\S+)} s/$$1/$$2/g;' + # echo {/.tar/.gz} ::: UU.tar.gz + my ($prefix,$grp_regexp,$postfix) = + $rpl =~ /^( [^(]* ) # Prefix - e.g. {%% + ( \(.*\) )? # Group capture regexp - e.g (.*) + ( [^)]* )$ # Postfix - e.g } + /xs; + $grp_regexp ||= ''; + my $rplval = $Global::rpl{$rpl}; + while(s{( (?: ^|\257> ) (?: (?! \257[<>])(?:.|\n) )*? ) + # Don't replace after \257 unless \257> + \Q$prefix\E $grp_regexp \Q$postfix\E} + { + # The start remains the same + my $unchanged = $1; + # Dummy entry to start at 1. + my @grp = (1); + # $2 = first ()-group in $grp_regexp + # Put $2 in $grp[1], Put $3 in $grp[2] + # so first ()-group in $grp_regexp is $grp[1]; + for(my $i = 2; defined $grp[$#grp]; $i++) { + push @grp, eval '$'.$i; + } + my $rv = $rplval; + # replace $$1 with $_pAr_gRp1, $$2 with $_pAr_gRp2 + # in the code to be executed + $rv =~ s/\$\$ (\d+)/\$_pAr_gRp$1/gx; + # prepend with $_pAr_gRp1 = perlquote($1), + my $set_args = ""; + for(my $i = 1;defined $grp[$i]; $i++) { + $set_args .= "\$_pAr_gRp$i = \"" . + ::perl_quote_scalar($grp[$i]) . "\";"; + } + $unchanged . "\257<" . $set_args . $rv . "\257>" + }gxes) { + } + # Do the same for the positional replacement strings + $posrpl = $rpl; + if($posrpl =~ s/^\{//) { + # Only do this if the shorthand start with { + $prefix=~s/^\{//; + # Don't replace after \257 unless \257> + while(s{( (?: ^|\257> ) (?: (?! \257[<>]). )*? ) + \{(-?\d+) \s* \Q$prefix\E $grp_regexp \Q$postfix\E} + { + # The start remains the same + my $unchanged = $1; + my $position = $2; + # Dummy entry to start at 1. + my @grp = (1); + # $3 = first ()-group in $grp_regexp + # Put $3 in $grp[1], Put $4 in $grp[2] + # so first ()-group in $grp_regexp is $grp[1]; + for(my $i = 3; defined $grp[$#grp]; $i++) { + push @grp, eval '$'.$i; + } + my $rv = $rplval; + # replace $$1 with $_pAr_gRp1, $$2 with $_pAr_gRp2 + # in the code to be executed + $rv =~ s/\$\$ (\d+)/\$_pAr_gRp$1/gx; + # prepend with $_pAr_gRp1 = perlquote($1), + my $set_args = ""; + for(my $i = 1;defined $grp[$i]; $i++) { + $set_args .= "\$_pAr_gRp$i = \"" . + ::perl_quote_scalar($grp[$i]) . "\";"; + } + $unchanged . "\257<" . $position . $set_args . $rv . "\257>" + }gxes) { + } + } + } + } + + # Add {} if no replacement strings in @command + ($replacecount_ref, $len_ref, @command) = + replacement_counts_and_lengths($transfer_files,$return_files,@command); + if("@command" =~ /^[^ \t\n=]*\257append()) { + $seq = $Global::sql->max_seq() + 1; + } + + return bless { + 'unget' => \@unget, + 'command' => \@command, + 'replacecount' => $replacecount_ref, + 'arg_queue' => RecordQueue->new($read_from,$opt::colsep), + 'context_replace' => $context_replace, + 'len' => $len_ref, + 'max_number_of_args' => $max_number_of_args, + 'size' => undef, + 'transfer_files' => $transfer_files, + 'return_files' => $return_files, + 'seq' => $seq, + }, ref($class) || $class; +} + +sub merge_rpl_parts { + # '{=' 'perlexpr' '=}' => '{= perlexpr =}' + # Input: + # @in = the @command as given by the user + # Uses: + # $Global::parensleft + # $Global::parensright + # Returns: + # @command with parts merged to keep {= and =} as one + my @in = @_; + my @out; + my $l = quotemeta($Global::parensleft); + my $r = quotemeta($Global::parensright); + + while(@in) { + my $s = shift @in; + $_ = $s; + # Remove matching (right most) parens + while(s/(.*)$l.*?$r/$1/o) {} + if(/$l/o) { + # Missing right parens + while(@in) { + $s .= " ".shift @in; + $_ = $s; + while(s/(.*)$l.*?$r/$1/o) {} + if(not /$l/o) { + last; + } + } + } + push @out, $s; + } + return @out; +} + +sub replacement_counts_and_lengths { + # Count the number of different replacement strings. + # Find the lengths of context for context groups and non-context + # groups. + # If no {} found in @command: add it to @command + # + # Input: + # \@transfer_files = array of filenames to transfer + # \@return_files = array of filenames to return + # @command = command template + # Output: + # \%replacecount, \%len, @command + my $transfer_files = shift; + my $return_files = shift; + my @command = @_; + my (%replacecount,%len); + my $sum = 0; + while($sum == 0) { + # Count how many times each replacement string is used + my @cmd = @command; + my $contextlen = 0; + my $noncontextlen = 0; + my $contextgroups = 0; + for my $c (@cmd) { + while($c =~ s/ \257<( (?: (?! \257[<>]). )*?)\257> /\000/xs) { + # %replacecount = { "perlexpr" => number of times seen } + # e.g { "s/a/b/" => 2 } + $replacecount{$1}++; + $sum++; + } + # Measure the length of the context around the {= perl expr =} + # Use that {=...=} has been replaced with \000 above + # So there is no need to deal with \257< + while($c =~ s/ (\S*\000\S*) //xs) { + my $w = $1; + $w =~ tr/\000//d; # Remove all \000's + $contextlen += length($w); + $contextgroups++; + } + # All {= perl expr =} have been removed: The rest is non-context + $noncontextlen += length $c; + } + for(@$transfer_files, @$return_files, + $opt::tagstring, $opt::workdir, $opt::results, $opt::retries) { + # Options that can contain replacement strings + $_ or next; + my $t = $_; + while($t =~ s/ \257<( (?: (?! \257[<>]). )* )\257> //xs) { + # %replacecount = { "perlexpr" => number of times seen } + # e.g { "$_++" => 2 } + # But for tagstring we just need to mark it as seen + $replacecount{$1} ||= 1; + } + } + if($opt::bar) { + # If the command does not contain {} force it to be computed + # as it is being used by --bar + $replacecount{""} ||= 1; + } + + $len{'context'} = 0+$contextlen; + $len{'noncontext'} = $noncontextlen; + $len{'contextgroups'} = $contextgroups; + $len{'noncontextgroups'} = @cmd-$contextgroups; + ::debug("length", "@command Context: ", $len{'context'}, + " Non: ", $len{'noncontext'}, " Ctxgrp: ", $len{'contextgroups'}, + " NonCtxGrp: ", $len{'noncontextgroups'}, "\n"); + if($sum == 0) { + if(not @command) { + # Default command = {} + @command = ("\257<\257>"); + } elsif(($opt::pipe or $opt::pipepart) + and not $opt::fifo and not $opt::cat) { + # With --pipe / --pipe-part you can have no replacement + last; + } else { + # Append {} to the command if there are no {...}'s and no {=...=} + push @command, ("\257<\257>"); + } + } + } + return(\%replacecount,\%len,@command); +} + +sub get { + my $self = shift; + if(@{$self->{'unget'}}) { + my $cmd_line = shift @{$self->{'unget'}}; + return ($cmd_line); + } else { + if($opt::sqlworker) { + # Get the sequence number from the SQL table + $self->set_seq($SQL::next_seq); + # Get the command from the SQL table + $self->{'command'} = $SQL::command_ref; + my @command; + # Recompute replace counts based on the read command + ($self->{'replacecount'}, + $self->{'len'}, @command) = + replacement_counts_and_lengths($self->{'transfer_files'}, + $self->{'return_files'}, + @$SQL::command_ref); + if("@command" =~ /^[^ \t\n=]*\257new($self->seq(), + $self->{'command'}, + $self->{'arg_queue'}, + $self->{'context_replace'}, + $self->{'max_number_of_args'}, + $self->{'transfer_files'}, + $self->{'return_files'}, + $self->{'replacecount'}, + $self->{'len'}, + ); + $cmd_line->populate(); + ::debug("init","cmd_line->number_of_args ", + $cmd_line->number_of_args(), "\n"); + if(not $Global::no_more_input and ($opt::pipe or $opt::pipepart)) { + if($cmd_line->replaced() eq "") { + # Empty command - pipe requires a command + ::error("--pipe/--pipepart must have a command to pipe into ". + "(e.g. 'cat')."); + ::wait_and_exit(255); + } + } else { + if($cmd_line->number_of_args() == 0) { + # We did not get more args - maybe at EOF string? + return undef; + } elsif($cmd_line->replaced() eq "") { + # Empty command - get the next instead + return $self->get(); + } + } + $self->set_seq($self->seq()+1); + return $cmd_line; + } +} + +sub unget { + my $self = shift; + unshift @{$self->{'unget'}}, @_; +} + +sub empty { + my $self = shift; + my $empty = (not @{$self->{'unget'}}) && $self->{'arg_queue'}->empty(); + ::debug("run", "CommandLineQueue->empty $empty"); + return $empty; +} + +sub seq { + my $self = shift; + return $self->{'seq'}; +} + +sub set_seq { + my $self = shift; + $self->{'seq'} = shift; +} + +sub quote_args { + my $self = shift; + # If there is not command emulate |bash + return $self->{'command'}; +} + + +package Limits::Command; + +# Maximal command line length (for -m and -X) +sub max_length { + # Find the max_length of a command line and cache it + # Returns: + # number of chars on the longest command line allowed + if(not $Limits::Command::line_max_len) { + # Disk cache of max command line length + my $len_cache = $Global::cache_dir . "/tmp/sshlogin/" . ::hostname() . + "/linelen"; + my $cached_limit; + if(-e $len_cache) { + open(my $fh, "<", $len_cache) || ::die_bug("Cannot read $len_cache"); + $cached_limit = <$fh>; + close $fh; + } else { + $cached_limit = real_max_length(); + # If $HOME is write protected: Do not fail + my $dir = ::dirname($len_cache); + -d $dir or eval { File::Path::mkpath($dir); }; + open(my $fh, ">", $len_cache); + print $fh $cached_limit; + close $fh; + } + $Limits::Command::line_max_len = tmux_length($cached_limit); + if($opt::max_chars) { + if($opt::max_chars <= $cached_limit) { + $Limits::Command::line_max_len = $opt::max_chars; + } else { + ::warning("Value for -s option should be < $cached_limit."); + } + } + } + return int($Limits::Command::line_max_len); +} + +sub real_max_length { + # Find the max_length of a command line + # Returns: + # The maximal command line length + # Use an upper bound of 8 MB if the shell allows for infinite long lengths + my $upper = 8_000_000; + my $len = 8; + do { + if($len > $upper) { return $len }; + $len *= 16; + } while (is_acceptable_command_line_length($len)); + # Then search for the actual max length between 0 and upper bound + return binary_find_max_length(int($len/16),$len); +} + +sub binary_find_max_length { + # Given a lower and upper bound find the max_length of a command line + # Returns: + # number of chars on the longest command line allowed + my ($lower, $upper) = (@_); + if($lower == $upper or $lower == $upper-1) { return $lower; } + my $middle = int (($upper-$lower)/2 + $lower); + ::debug("init", "Maxlen: $lower,$upper,$middle : "); + if (is_acceptable_command_line_length($middle)) { + return binary_find_max_length($middle,$upper); + } else { + return binary_find_max_length($lower,$middle); + } +} + +sub is_acceptable_command_line_length { + # Test if a command line of this length can run + # in the current environment + # Returns: + # 0 if the command line length is too long + # 1 otherwise + my $len = shift; + if($ENV{PARALLEL_ENV}) { + $len += length $ENV{PARALLEL_ENV} + (-s $ENV{PARALLEL_ENV})*2; + } + ::qqx("true "."x"x$len); + ::debug("init", "$len=$? "); + return not $?; +} + +sub tmux_length { + # If $opt::tmux set, find the limit for tmux + # tmux 1.8 has a 2kB limit + # tmux 1.9 has a 16kB limit + # tmux 2.0 has a 16kB limit + # tmux 2.1 has a 16kB limit + # tmux 2.2 has a 16kB limit + # Input: + # $len = maximal command line length + # Returns: + # $tmux_len = maximal length runable in tmux + local $/ = "\n"; + my $len = shift; + if($opt::tmux) { + $ENV{'PARALLEL_TMUX'} ||= "tmux"; + if(not ::which($ENV{'PARALLEL_TMUX'})) { + ::error($ENV{'PARALLEL_TMUX'}." not found in \$PATH."); + ::wait_and_exit(255); + } + my @out; + for my $l (1, 2020, 16320, 100000, $len) { + my $tmpfile = ::tmpname("tms"); + my $tmuxcmd = $ENV{'PARALLEL_TMUX'}. + " -S $tmpfile new-session -d -n echo $l". + ("x"x$l). " && echo $l; rm -f $tmpfile"; + push @out, ::qqx($tmuxcmd); + ::rm($tmpfile); + } + ::debug("tmux","tmux-out ",@out); + chomp @out; + # The arguments is given 3 times on the command line + # and the wrapping is around 30 chars + # (29 for tmux1.9, 33 for tmux1.8) + my $tmux_len = ::max(@out); + $len = ::min($len,int($tmux_len/4-33)); + ::debug("tmux","tmux-length ",$len); + } + return $len; +} + + +package RecordQueue; + +sub new { + my $class = shift; + my $fhs = shift; + my $colsep = shift; + my @unget = (); + my $arg_sub_queue; + if($opt::sqlworker) { + # Open SQL table + $arg_sub_queue = SQLRecordQueue->new(); + } elsif(defined $colsep) { + # Open one file with colsep or CSV + $arg_sub_queue = RecordColQueue->new($fhs); + } else { + # Open one or more files if multiple -a + $arg_sub_queue = MultifileQueue->new($fhs); + } + return bless { + 'unget' => \@unget, + 'arg_number' => 0, + 'arg_sub_queue' => $arg_sub_queue, + }, ref($class) || $class; +} + +sub get { + # Returns: + # reference to array of Arg-objects + my $self = shift; + if(@{$self->{'unget'}}) { + $self->{'arg_number'}++; + # Flush cached computed replacements in Arg-objects + # To fix: parallel --bar echo {%} ::: a b c ::: d e f + my $ret = shift @{$self->{'unget'}}; + if($ret) { + map { $_->flush_cache() } @$ret; + } + return $ret; + } + my $ret = $self->{'arg_sub_queue'}->get(); + if($ret) { + if(grep { index($_->orig(),"\0") > 0 } @$ret) { + # Allow for \0 in position 0 because GNU Parallel uses "\0" + # to mean no-string + ::warning("a NUL character occurred in the input.", + "It cannot be passed through in the argument list.", + "Did you mean to use the --null option?"); + } + if(defined $Global::max_number_of_args + and $Global::max_number_of_args == 0) { + ::debug("run", "Read 1 but return 0 args\n"); + # \0 => nothing (not the empty string) + map { $_->set_orig("\0"); } @$ret; + } + # Flush cached computed replacements in Arg-objects + # To fix: parallel --bar echo {%} ::: a b c ::: d e f + map { $_->flush_cache() } @$ret; + } + return $ret; +} + +sub unget { + my $self = shift; + ::debug("run", "RecordQueue-unget '@_'\n"); + $self->{'arg_number'} -= @_; + unshift @{$self->{'unget'}}, @_; +} + +sub empty { + my $self = shift; + my $empty = not @{$self->{'unget'}}; + $empty &&= $self->{'arg_sub_queue'}->empty(); + ::debug("run", "RecordQueue->empty $empty"); + return $empty; +} + +sub arg_number { + my $self = shift; + return $self->{'arg_number'}; +} + + +package RecordColQueue; + +sub new { + my $class = shift; + my $fhs = shift; + my @unget = (); + my $arg_sub_queue = MultifileQueue->new($fhs); + return bless { + 'unget' => \@unget, + 'arg_sub_queue' => $arg_sub_queue, + }, ref($class) || $class; +} + +sub get { + # Returns: + # reference to array of Arg-objects + my $self = shift; + if(@{$self->{'unget'}}) { + return shift @{$self->{'unget'}}; + } + my $unget_ref = $self->{'unget'}; + if($self->{'arg_sub_queue'}->empty()) { + return undef; + } + my $in_record = $self->{'arg_sub_queue'}->get(); + if(defined $in_record) { + my @out_record = (); + for my $arg (@$in_record) { + ::debug("run", "RecordColQueue::arg $arg\n"); + my $line = $arg->orig(); + ::debug("run", "line='$line'\n"); + if($line ne "") { + if($opt::csv) { + # Parse CSV + chomp $line; + if(not $Global::csv->parse($line)) { + die "CSV has unexpected format: ^$line^"; + } + for($Global::csv->fields()) { + push @out_record, Arg->new($_); + } + } else { + for my $s (split /$opt::colsep/o, $line, -1) { + push @out_record, Arg->new($s); + } + } + } else { + push @out_record, Arg->new(""); + } + } + return \@out_record; + } else { + return undef; + } +} + +sub unget { + my $self = shift; + ::debug("run", "RecordColQueue-unget '@_'\n"); + unshift @{$self->{'unget'}}, @_; +} + +sub empty { + my $self = shift; + my $empty = (not @{$self->{'unget'}} and + $self->{'arg_sub_queue'}->empty()); + ::debug("run", "RecordColQueue->empty $empty"); + return $empty; +} + + +package SQLRecordQueue; + +sub new { + my $class = shift; + my @unget = (); + return bless { + 'unget' => \@unget, + }, ref($class) || $class; +} + +sub get { + # Returns: + # reference to array of Arg-objects + my $self = shift; + if(@{$self->{'unget'}}) { + return shift @{$self->{'unget'}}; + } + return $Global::sql->get_record(); +} + +sub unget { + my $self = shift; + ::debug("run", "SQLRecordQueue-unget '@_'\n"); + unshift @{$self->{'unget'}}, @_; +} + +sub empty { + my $self = shift; + if(@{$self->{'unget'}}) { return 0; } + my $get = $self->get(); + if(defined $get) { + $self->unget($get); + } + my $empty = not $get; + ::debug("run", "SQLRecordQueue->empty $empty"); + return $empty; +} + + +package MultifileQueue; + +@Global::unget_argv=(); + +sub new { + my $class = shift; + my $fhs = shift; + for my $fh (@$fhs) { + if(-t $fh and -t ($Global::status_fd || *STDERR)) { + ::warning("Input is read from the terminal. You either know what you", + "are doing (in which case: YOU ARE AWESOME!) or you forgot", + "::: or :::: or to pipe data into parallel. If so", + "consider going through the tutorial: man parallel_tutorial", + "Press CTRL-D to exit."); + } + } + return bless { + 'unget' => \@Global::unget_argv, + 'fhs' => $fhs, + 'arg_matrix' => undef, + }, ref($class) || $class; +} + +sub get { + my $self = shift; + if($opt::link) { + return $self->link_get(); + } else { + return $self->nest_get(); + } +} + +sub unget { + my $self = shift; + ::debug("run", "MultifileQueue-unget '@_'\n"); + unshift @{$self->{'unget'}}, @_; +} + +sub empty { + my $self = shift; + my $empty = (not @Global::unget_argv + and not @{$self->{'unget'}}); + for my $fh (@{$self->{'fhs'}}) { + $empty &&= eof($fh); + } + ::debug("run", "MultifileQueue->empty $empty "); + return $empty; +} + +sub link_get { + my $self = shift; + if(@{$self->{'unget'}}) { + return shift @{$self->{'unget'}}; + } + my @record = (); + my $prepend; + my $empty = 1; + for my $fh (@{$self->{'fhs'}}) { + my $arg = read_arg_from_fh($fh); + if(defined $arg) { + # Record $arg for recycling at end of file + push @{$self->{'arg_matrix'}{$fh}}, $arg; + push @record, $arg; + $empty = 0; + } else { + ::debug("run", "EOA "); + # End of file: Recycle arguments + push @{$self->{'arg_matrix'}{$fh}}, shift @{$self->{'arg_matrix'}{$fh}}; + # return last @{$args->{'args'}{$fh}}; + push @record, @{$self->{'arg_matrix'}{$fh}}[-1]; + } + } + if($empty) { + return undef; + } else { + return \@record; + } +} + +sub nest_get { + my $self = shift; + if(@{$self->{'unget'}}) { + return shift @{$self->{'unget'}}; + } + my @record = (); + my $prepend; + my $empty = 1; + my $no_of_inputsources = $#{$self->{'fhs'}} + 1; + if(not $self->{'arg_matrix'}) { + # Initialize @arg_matrix with one arg from each file + # read one line from each file + my @first_arg_set; + my $all_empty = 1; + for (my $fhno = 0; $fhno < $no_of_inputsources ; $fhno++) { + my $arg = read_arg_from_fh($self->{'fhs'}[$fhno]); + if(defined $arg) { + $all_empty = 0; + } + $self->{'arg_matrix'}[$fhno][0] = $arg || Arg->new(""); + push @first_arg_set, $self->{'arg_matrix'}[$fhno][0]; + } + if($all_empty) { + # All filehandles were at eof or eof-string + return undef; + } + return [@first_arg_set]; + } + + # Treat the case with one input source special. For multiple + # input sources we need to remember all previously read values to + # generate all combinations. But for one input source we can + # forget the value after first use. + if($no_of_inputsources == 1) { + my $arg = read_arg_from_fh($self->{'fhs'}[0]); + if(defined($arg)) { + return [$arg]; + } + return undef; + } + for (my $fhno = $no_of_inputsources - 1; $fhno >= 0; $fhno--) { + if(eof($self->{'fhs'}[$fhno])) { + next; + } else { + # read one + my $arg = read_arg_from_fh($self->{'fhs'}[$fhno]); + defined($arg) || next; # If we just read an EOF string: Treat this as EOF + my $len = $#{$self->{'arg_matrix'}[$fhno]} + 1; + $self->{'arg_matrix'}[$fhno][$len] = $arg; + # make all new combinations + my @combarg = (); + for (my $fhn = 0; $fhn < $no_of_inputsources; $fhn++) { + push(@combarg, [0, $#{$self->{'arg_matrix'}[$fhn]}], + # Is input source --link'ed to the next? + $opt::linkinputsource[$fhn+1]); + } + # Find only combinations with this new entry + $combarg[2*$fhno] = [$len,$len]; + # map combinations + # [ 1, 3, 7 ], [ 2, 4, 1 ] + # => + # [ m[0][1], m[1][3], m[2][7] ], [ m[0][2], m[1][4], m[2][1] ] + my @mapped; + for my $c (expand_combinations(@combarg)) { + my @a; + for my $n (0 .. $no_of_inputsources - 1 ) { + push @a, $self->{'arg_matrix'}[$n][$$c[$n]]; + } + push @mapped, \@a; + } + # append the mapped to the ungotten arguments + push @{$self->{'unget'}}, @mapped; + # get the first + if(@mapped) { + return shift @{$self->{'unget'}}; + } + } + } + # all are eof or at EOF string; return from the unget queue + return shift @{$self->{'unget'}}; +} + +sub read_arg_from_fh { + # Read one Arg from filehandle + # Returns: + # Arg-object with one read line + # undef if end of file + my $fh = shift; + my $prepend; + my $arg; + my $half_record = 0; + do {{ + # This makes 10% faster + if(not defined ($arg = <$fh>)) { + if(defined $prepend) { + return Arg->new($prepend); + } else { + return undef; + } + } + if($opt::csv) { + # We need to read a full CSV line. + if(($arg =~ y/"/"/) % 2 ) { + # The number of " on the line is uneven: + # If we were in a half_record => we have a full record now + # If we were ouside a half_record => we are in a half record now + $half_record = not $half_record; + } + if($half_record) { + # CSV half-record with quoting: + # col1,"col2 2""x3"" board newline <-this one + # cont",col3 + $prepend .= $arg; + redo; + } else { + # Now we have a full CSV record + } + } + # Remove delimiter + chomp $arg; + if($Global::end_of_file_string and + $arg eq $Global::end_of_file_string) { + # Ignore the rest of input file + close $fh; + ::debug("run", "EOF-string ($arg) met\n"); + if(defined $prepend) { + return Arg->new($prepend); + } else { + return undef; + } + } + if(defined $prepend) { + $arg = $prepend.$arg; # For line continuation + undef $prepend; + } + if($Global::ignore_empty) { + if($arg =~ /^\s*$/) { + redo; # Try the next line + } + } + if($Global::max_lines) { + if($arg =~ /\s$/) { + # Trailing space => continued on next line + $prepend = $arg; + redo; + } + } + }} while (1 == 0); # Dummy loop {{}} for redo + if(defined $arg) { + return Arg->new($arg); + } else { + ::die_bug("multiread arg undefined"); + } +} + +sub expand_combinations { + # Input: + # ([xmin,xmax], [ymin,ymax], ...) + # Returns: ([x,y,...],[x,y,...]) + # where xmin <= x <= xmax and ymin <= y <= ymax + my $minmax_ref = shift; + my $link = shift; # This is linked to the next input source + my $xmin = $$minmax_ref[0]; + my $xmax = $$minmax_ref[1]; + my @p; + if(@_) { + my @rest = expand_combinations(@_); + if($link) { + # Linked to next col with --link/:::+/::::+ + # TODO BUG does not wrap values if not same number of vals + push(@p, map { [$$_[0], @$_] } + grep { $xmin <= $$_[0] and $$_[0] <= $xmax } @rest); + } else { + # If there are more columns: Compute those recursively + for(my $x = $xmin; $x <= $xmax; $x++) { + push @p, map { [$x, @$_] } @rest; + } + } + } else { + for(my $x = $xmin; $x <= $xmax; $x++) { + push @p, [$x]; + } + } + return @p; +} + + +package Arg; + +sub new { + my $class = shift; + my $orig = shift; + my @hostgroups; + if($opt::hostgroups) { + if($orig =~ s:@(.+)::) { + # We found hostgroups on the arg + @hostgroups = split(/\+/, $1); + if(not grep { defined $Global::hostgroups{$_} } @hostgroups) { + # This hostgroup is not defined using -S + # Add it + ::warning("Adding hostgroups: @hostgroups"); + # Add sshlogin + for(grep { not defined $Global::hostgroups{$_} } @hostgroups) { + my $sshlogin = SSHLogin->new($_); + my $sshlogin_string = $sshlogin->string(); + $Global::host{$sshlogin_string} = $sshlogin; + $Global::hostgroups{$sshlogin_string} = 1; + } + } + } else { + # No hostgroup on the arg => any hostgroup + @hostgroups = (keys %Global::hostgroups); + } + } + return bless { + 'orig' => $orig, + 'hostgroups' => \@hostgroups, + }, ref($class) || $class; +} + +sub Q { + # Q alias for ::shell_quote_scalar + # Run shell_quote_scalar once to set the reference to the sub + my $a = ::shell_quote_scalar(@_); + *Q = \&::shell_quote_scalar; + return $a; +} + +sub pQ { + # pQ alias for ::perl_quote_scalar + *pQ = \&::perl_quote_scalar; + return pQ(@_); +} + +sub total_jobs { + return $Global::JobQueue->total_jobs(); +} + +{ + my %perleval; + my $job; + sub skip { + # shorthand for $job->skip(); + $job->skip(); + } + sub slot { + # shorthand for $job->slot(); + $job->slot(); + } + sub seq { + # shorthand for $job->seq(); + $job->seq(); + } + + sub replace { + # Calculates the corresponding value for a given perl expression + # Returns: + # The calculated string (quoted if asked for) + my $self = shift; + my $perlexpr = shift; # E.g. $_=$_ or s/.gz// + my $quote = (shift) ? 1 : 0; # should the string be quoted? + # This is actually a CommandLine-object, + # but it looks nice to be able to say {= $job->slot() =} + $job = shift; + $perlexpr =~ s/^(-?\d+)? *//; # Positional replace treated as normal replace + if(not $self->{'cache'}{$perlexpr}) { + # Only compute the value once + # Use $_ as the variable to change + local $_; + if($Global::trim eq "n") { + $_ = $self->{'orig'}; + } else { + # Trim the input + $_ = trim_of($self->{'orig'}); + } + ::debug("replace", "eval ", $perlexpr, " ", $_, "\n"); + if(not $perleval{$perlexpr}) { + # Make an anonymous function of the $perlexpr + # And more importantly: Compile it only once + if($perleval{$perlexpr} = + eval('sub { no strict; no warnings; my $job = shift; '. + $perlexpr.' }')) { + # All is good + } else { + # The eval failed. Maybe $perlexpr is invalid perl? + ::error("Cannot use $perlexpr: $@"); + ::wait_and_exit(255); + } + } + # Execute the function + $perleval{$perlexpr}->($job); + $self->{'cache'}{$perlexpr} = $_; + } + # Return the value quoted if needed + return($quote ? ::shell_quote_scalar($self->{'cache'}{$perlexpr}) + : $self->{'cache'}{$perlexpr}); + } +} + +sub flush_cache { + # Flush cache of computed values + my $self = shift; + $self->{'cache'} = undef; +} + +sub orig { + my $self = shift; + return $self->{'orig'}; +} + +sub set_orig { + my $self = shift; + $self->{'orig'} = shift; +} + +sub trim_of { + # Removes white space as specifed by --trim: + # n = nothing + # l = start + # r = end + # lr|rl = both + # Returns: + # string with white space removed as needed + my @strings = map { defined $_ ? $_ : "" } (@_); + my $arg; + if($Global::trim eq "n") { + # skip + } elsif($Global::trim eq "l") { + for my $arg (@strings) { $arg =~ s/^\s+//; } + } elsif($Global::trim eq "r") { + for my $arg (@strings) { $arg =~ s/\s+$//; } + } elsif($Global::trim eq "rl" or $Global::trim eq "lr") { + for my $arg (@strings) { $arg =~ s/^\s+//; $arg =~ s/\s+$//; } + } else { + ::error("--trim must be one of: r l rl lr."); + ::wait_and_exit(255); + } + return wantarray ? @strings : "@strings"; +} + + +package TimeoutQueue; + +sub new { + my $class = shift; + my $delta_time = shift; + my ($pct); + if($delta_time =~ /(\d+(\.\d+)?)%/) { + # Timeout in percent + $pct = $1/100; + $delta_time = 1_000_000; + } + $delta_time = ::multiply_time_units($delta_time); + + return bless { + 'queue' => [], + 'delta_time' => $delta_time, + 'pct' => $pct, + 'remedian_idx' => 0, + 'remedian_arr' => [], + 'remedian' => undef, + }, ref($class) || $class; +} + +sub delta_time { + my $self = shift; + return $self->{'delta_time'}; +} + +sub set_delta_time { + my $self = shift; + $self->{'delta_time'} = shift; +} + +sub remedian { + my $self = shift; + return $self->{'remedian'}; +} + +sub set_remedian { + # Set median of the last 999^3 (=997002999) values using Remedian + # + # Rousseeuw, Peter J., and Gilbert W. Bassett Jr. "The remedian: A + # robust averaging method for large data sets." Journal of the + # American Statistical Association 85.409 (1990): 97-104. + my $self = shift; + my $val = shift; + my $i = $self->{'remedian_idx'}++; + my $rref = $self->{'remedian_arr'}; + $rref->[0][$i%999] = $val; + $rref->[1][$i/999%999] = (sort @{$rref->[0]})[$#{$rref->[0]}/2]; + $rref->[2][$i/999/999%999] = (sort @{$rref->[1]})[$#{$rref->[1]}/2]; + $self->{'remedian'} = (sort @{$rref->[2]})[$#{$rref->[2]}/2]; +} + +sub update_median_runtime { + # Update delta_time based on runtime of finished job if timeout is + # a percentage + my $self = shift; + my $runtime = shift; + if($self->{'pct'}) { + $self->set_remedian($runtime); + $self->{'delta_time'} = $self->{'pct'} * $self->remedian(); + ::debug("run", "Timeout: $self->{'delta_time'}s "); + } +} + +sub process_timeouts { + # Check if there was a timeout + my $self = shift; + # $self->{'queue'} is sorted by start time + while (@{$self->{'queue'}}) { + my $job = $self->{'queue'}[0]; + if($job->endtime()) { + # Job already finished. No need to timeout the job + # This could be because of --keep-order + shift @{$self->{'queue'}}; + } elsif($job->is_timedout($self->{'delta_time'})) { + # Need to shift off queue before kill + # because kill calls usleep that calls process_timeouts + shift @{$self->{'queue'}}; + ::warning("This job was killed because it timed out:", + $job->replaced()); + $job->kill(); + } else { + # Because they are sorted by start time the rest are later + last; + } + } +} + +sub insert { + my $self = shift; + my $in = shift; + push @{$self->{'queue'}}, $in; +} + + +package SQL; + +sub new { + my $class = shift; + my $dburl = shift; + $Global::use{"DBI"} ||= eval "use DBI; 1;"; + # +DBURL = append to this DBURL + my $append = $dburl=~s/^\+//; + my %options = parse_dburl(get_alias($dburl)); + my %driveralias = ("sqlite" => "SQLite", + "sqlite3" => "SQLite", + "pg" => "Pg", + "postgres" => "Pg", + "postgresql" => "Pg", + "csv" => "CSV", + "oracle" => "Oracle", + "ora" => "Oracle"); + my $driver = $driveralias{$options{'databasedriver'}} || + $options{'databasedriver'}; + my $database = $options{'database'}; + my $host = $options{'host'} ? ";host=".$options{'host'} : ""; + my $port = $options{'port'} ? ";port=".$options{'port'} : ""; + my $dsn = "DBI:$driver:dbname=$database$host$port"; + my $userid = $options{'user'}; + my $password = $options{'password'};; + my $dbh = DBI->connect($dsn, $userid, $password, + { RaiseError => 1, AutoInactiveDestroy => 1 }) + or die $DBI::errstr; + $dbh->{'PrintWarn'} = $Global::debug || 0; + $dbh->{'PrintError'} = $Global::debug || 0; + $dbh->{'RaiseError'} = 1; + $dbh->{'ShowErrorStatement'} = 1; + $dbh->{'HandleError'} = sub {}; + + if(not defined $options{'table'}) { + ::error("The DBURL ($dburl) must contain a table."); + ::wait_and_exit(255); + } + + return bless { + 'dbh' => $dbh, + 'driver' => $driver, + 'max_number_of_args' => undef, + 'table' => $options{'table'}, + 'append' => $append, + }, ref($class) || $class; +} + +sub get_alias { + my $alias = shift; + $alias =~ s/^(sql:)*//; # Accept aliases prepended with sql: + if ($alias !~ /^:/) { + return $alias; + } + + # Find the alias + my $path; + if (-l $0) { + ($path) = readlink($0) =~ m|^(.*)/|; + } else { + ($path) = $0 =~ m|^(.*)/|; + } + + my @deprecated = ("$ENV{HOME}/.dburl.aliases", + "$path/dburl.aliases", "$path/dburl.aliases.dist"); + for (@deprecated) { + if(-r $_) { + ::warning("$_ is deprecated. ". + "Use .sql/aliases instead (read man sql)."); + } + } + my @urlalias=(); + check_permissions("$ENV{HOME}/.sql/aliases"); + check_permissions("$ENV{HOME}/.dburl.aliases"); + my @search = ("$ENV{HOME}/.sql/aliases", + "$ENV{HOME}/.dburl.aliases", "/etc/sql/aliases", + "$path/dburl.aliases", "$path/dburl.aliases.dist"); + for my $alias_file (@search) { + # local $/ needed if -0 set + local $/ = "\n"; + if(-r $alias_file) { + open(my $in, "<", $alias_file) || die; + push @urlalias, <$in>; + close $in; + } + } + my ($alias_part,$rest) = $alias=~/(:\w*)(.*)/; + # If we saw this before: we have an alias loop + if(grep {$_ eq $alias_part } @Private::seen_aliases) { + ::error("$alias_part is a cyclic alias."); + exit -1; + } else { + push @Private::seen_aliases, $alias_part; + } + + my $dburl; + for (@urlalias) { + /^$alias_part\s+(\S+.*)/ and do { $dburl = $1; last; } + } + + if($dburl) { + return get_alias($dburl.$rest); + } else { + ::error("$alias is not defined in @search"); + exit(-1); + } +} + +sub check_permissions { + my $file = shift; + + if(-e $file) { + if(not -o $file) { + my $username = (getpwuid($<))[0]; + ::warning("$file should be owned by $username: ". + "chown $username $file"); + } + my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, + $atime,$mtime,$ctime,$blksize,$blocks) = stat($file); + if($mode & 077) { + my $username = (getpwuid($<))[0]; + ::warning("$file should be only be readable by $username: ". + "chmod 600 $file"); + } + } +} + +sub parse_dburl { + my $url = shift; + my %options = (); + # sql:mysql://[[user][:password]@][host][:port]/[database[/table][?query]] + + if($url=~m!(?:sql:)? # You can prefix with 'sql:' + ((?:oracle|ora|mysql|pg|postgres|postgresql)(?:s|ssl|)| + (?:sqlite|sqlite2|sqlite3|csv)):// # Databasedriver ($1) + (?: + ([^:@/][^:@]*|) # Username ($2) + (?: + :([^@]*) # Password ($3) + )? + @)? + ([^:/]*)? # Hostname ($4) + (?: + : + ([^/]*)? # Port ($5) + )? + (?: + / + ([^/?]*)? # Database ($6) + )? + (?: + / + ([^?]*)? # Table ($7) + )? + (?: + \? + (.*)? # Query ($8) + )? + !ix) { + $options{databasedriver} = ::undef_if_empty(lc(uri_unescape($1))); + $options{user} = ::undef_if_empty(uri_unescape($2)); + $options{password} = ::undef_if_empty(uri_unescape($3)); + $options{host} = ::undef_if_empty(uri_unescape($4)); + $options{port} = ::undef_if_empty(uri_unescape($5)); + $options{database} = ::undef_if_empty(uri_unescape($6)); + $options{table} = ::undef_if_empty(uri_unescape($7)); + $options{query} = ::undef_if_empty(uri_unescape($8)); + ::debug("sql", "dburl $url\n"); + ::debug("sql", "databasedriver ", $options{databasedriver}, + " user ", $options{user}, + " password ", $options{password}, " host ", $options{host}, + " port ", $options{port}, " database ", $options{database}, + " table ", $options{table}, " query ", $options{query}, "\n"); + } else { + ::error("$url is not a valid DBURL"); + exit 255; + } + return %options; +} + +sub uri_unescape { + # Copied from http://cpansearch.perl.org/src/GAAS/URI-1.55/URI/Escape.pm + # to avoid depending on URI::Escape + # This section is (C) Gisle Aas. + # Note from RFC1630: "Sequences which start with a percent sign + # but are not followed by two hexadecimal characters are reserved + # for future extension" + my $str = shift; + if (@_ && wantarray) { + # not executed for the common case of a single argument + my @str = ($str, @_); # need to copy + foreach (@str) { + s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg; + } + return @str; + } + $str =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg if defined $str; + $str; +} + +sub run { + my $self = shift; + my $stmt = shift; + if($self->{'driver'} eq "CSV") { + $stmt=~ s/;$//; + if($stmt eq "BEGIN" or + $stmt eq "COMMIT") { + return undef; + } + } + my @retval; + my $dbh = $self->{'dbh'}; + ::debug("sql","$opt::sqlmaster$opt::sqlworker run $stmt\n"); + # Execute with the rest of the args - if any + my $rv; + my $sth; + my $lockretry = 0; + while($lockretry < 10) { + $sth = $dbh->prepare($stmt); + if($sth + and + eval { $rv = $sth->execute(@_) }) { + last; + } else { + if($@ =~ /no such table|Table .* doesn.t exist|relation ".*" does not exist/ + or + $DBI::errstr =~ /no such table|Table .* doesn.t exist|relation ".*" does not exist/) { + # This is fine: + # It is just a worker that reported back too late - + # another worker had finished the job first + # and the table was then dropped + $rv = $sth = 0; + last; + } + if($DBI::errstr =~ /locked/) { + ::debug("sql", "Lock retry: $lockretry"); + $lockretry++; + ::usleep(rand()*300); + } elsif(not $sth) { + # Try again + $lockretry++; + } else { + ::error($DBI::errstr); + ::wait_and_exit(255); + } + } + } + if($lockretry >= 10) { + ::die_bug("retry > 10: $DBI::errstr"); + } + if($rv < 0 and $DBI::errstr){ + ::error($DBI::errstr); + ::wait_and_exit(255); + } + return $sth; +} + +sub get { + my $self = shift; + my $sth = $self->run(@_); + my @retval; + # If $sth = 0 it means the table was dropped by another process + while($sth) { + my @row = $sth->fetchrow_array(); + @row or last; + push @retval, \@row; + } + return \@retval; +} + +sub table { + my $self = shift; + return $self->{'table'}; +} + +sub append { + my $self = shift; + return $self->{'append'}; +} + +sub update { + my $self = shift; + my $stmt = shift; + my $table = $self->table(); + $self->run("UPDATE $table $stmt",@_); +} + +sub output { + my $self = shift; + my $commandline = shift; + + $self->update("SET Stdout = ?, Stderr = ? WHERE Seq = ". + $commandline->seq(), + join("",@{$commandline->{'output'}{1}}), + join("",@{$commandline->{'output'}{2}})); +} + +sub max_number_of_args { + # Maximal number of args for this table + my $self = shift; + if(not $self->{'max_number_of_args'}) { + # Read the number of args from the SQL table + my $table = $self->table(); + my $v = $self->get("SELECT * FROM $table LIMIT 1;"); + my @reserved_columns = qw(Seq Host Starttime JobRuntime Send + Receive Exitval _Signal Command Stdout Stderr); + if(not $v) { + ::error("$table contains no records"); + } + # Count the number of Vx columns + $self->{'max_number_of_args'} = $#{$v->[0]} - $#reserved_columns; + } + return $self->{'max_number_of_args'}; +} + +sub set_max_number_of_args { + my $self = shift; + $self->{'max_number_of_args'} = shift; +} + +sub create_table { + my $self = shift; + if($self->append()) { return; } + my $max_number_of_args = shift; + $self->set_max_number_of_args($max_number_of_args); + my $table = $self->table(); + $self->run(qq(DROP TABLE IF EXISTS $table;)); + # BIGINT and TEXT are not supported in these databases or are too small + my %vartype = ( + "Oracle" => { "BIGINT" => "NUMBER(19,0)", + "TEXT" => "CLOB", }, + "mysql" => { "TEXT" => "LONGTEXT", }, + "CSV" => { "BIGINT" => "INT", + "FLOAT" => "REAL", }, + ); + my $BIGINT = $vartype{$self->{'driver'}}{"BIGINT"} || "BIGINT"; + my $TEXT = $vartype{$self->{'driver'}}{"TEXT"} || "TEXT"; + my $FLOAT = $vartype{$self->{'driver'}}{"FLOAT"} || "FLOAT(44)"; + my $v_def = join "", map { "V$_ $TEXT," } (1..$self->max_number_of_args()); + $self->run(qq{CREATE TABLE $table + (Seq $BIGINT, + Host $TEXT, + Starttime $FLOAT, + JobRuntime $FLOAT, + Send $BIGINT, + Receive $BIGINT, + Exitval $BIGINT, + _Signal $BIGINT, + Command $TEXT,}. + $v_def. + qq{Stdout $TEXT, + Stderr $TEXT);}); +} + +sub insert_records { + my $self = shift; + my $seq = shift; + my $command_ref = shift; + my $record_ref = shift; + my $table = $self->table(); + # For SQL encode the command with \257 space as split points + my $command = join("\257 ",@$command_ref); + my $v_cols = join ",", map { "V$_" } (1..$self->max_number_of_args()); + # Two extra value due to $seq, Exitval, Send + my $v_vals = join ",", map { "?" } (1..$self->max_number_of_args()+4); + $self->run("INSERT INTO $table (Seq,Command,Exitval,Send,$v_cols) ". + "VALUES ($v_vals);", $seq, $command, -1000, + 0, @$record_ref[1..$#$record_ref]); +} + +sub get_record { + my $self = shift; + my @retval; + my $table = $self->table(); + my $v_cols = join ",", map { "V$_" } (1..$self->max_number_of_args()); + my $v = $self->get("SELECT Seq, Command, $v_cols FROM $table ". + "WHERE Exitval = -1000 ORDER BY Seq LIMIT 1;"); + if($v->[0]) { + my $val_ref = $v->[0]; + # Mark record as taken + my $seq = shift @$val_ref; + # Save the sequence number to use when running the job + $SQL::next_seq = $seq; + $self->update("SET Exitval = ? WHERE Seq = ".$seq, -1220); + my @command = split /\257 /, shift @$val_ref; + $SQL::command_ref = \@command; + for (@$val_ref) { + push @retval, Arg->new($_); + } + } + if(@retval) { + return \@retval; + } else { + return undef; + } +} + +sub total_jobs { + my $self = shift; + my $table = $self->table(); + my $v = $self->get("SELECT count(*) FROM $table;"); + if($v->[0]) { + return $v->[0]->[0]; + } else { + ::die_bug("SQL::total_jobs"); + } +} + +sub max_seq { + my $self = shift; + my $table = $self->table(); + my $v = $self->get("SELECT max(Seq) FROM $table;"); + if($v->[0]) { + return $v->[0]->[0]; + } else { + ::die_bug("SQL::max_seq"); + } +} + +sub finished { + # Check if there are any jobs left in the SQL table that do not + # have a "real" exitval + my $self = shift; + if($opt::wait or $Global::start_sqlworker) { + my $table = $self->table(); + my $rv = $self->get("select Seq,Exitval from $table ". + "where Exitval <= -1000 limit 1"); + return not $rv->[0]; + } else { + return 1; + } +} + +package Semaphore; + +# This package provides a counting semaphore +# +# If a process dies without releasing the semaphore the next process +# that needs that entry will clean up dead semaphores +# +# The semaphores are stored in $PARALLEL_HOME/semaphores/id- Each +# file in $PARALLEL_HOME/semaphores/id-/ is the process ID of the +# process holding the entry. If the process dies, the entry can be +# taken by another process. + +sub new { + my $class = shift; + my $id = shift; + my $count = shift; + $id =~ s/([^-_a-z0-9])/unpack("H*",$1)/ige; # Convert non-word chars to hex + $id = "id-".$id; # To distinguish it from a process id + my $parallel_locks = $Global::cache_dir . "/semaphores"; + -d $parallel_locks or ::mkdir_or_die($parallel_locks); + my $lockdir = "$parallel_locks/$id"; + + my $lockfile = $lockdir.".lock"; + if($count < 1) { ::die_bug("semaphore-count: $count"); } + return bless { + 'lockfile' => $lockfile, + 'lockfh' => Symbol::gensym(), + 'lockdir' => $lockdir, + 'id' => $id, + 'idfile' => $lockdir."/".$id, + 'pid' => $$, + 'pidfile' => $lockdir."/".$$.'@'.::hostname(), + 'count' => $count + 1 # nlinks returns a link for the 'id-' as well + }, ref($class) || $class; +} + +sub remove_dead_locks { + my $self = shift; + my $lockdir = $self->{'lockdir'}; + + for my $d (glob "$lockdir/*") { + $d =~ m:$lockdir/([0-9]+)\@([-\._a-z0-9]+)$:o or next; + my ($pid, $host) = ($1, $2); + if($host eq ::hostname()) { + if(kill 0, $pid) { + ::debug("sem", "Alive: $pid $d\n"); + } else { + ::debug("sem", "Dead: $d\n"); + ::rm($d); + } + } + } +} + +sub acquire { + my $self = shift; + my $sleep = 1; # 1 ms + my $start_time = time; + while(1) { + # Can we get a lock? + $self->atomic_link_if_count_less_than() and last; + $self->remove_dead_locks(); + # Retry slower and slower up to 1 second + $sleep = ($sleep < 1000) ? ($sleep * 1.1) : ($sleep); + # Random to avoid every sleeping job waking up at the same time + ::usleep(rand()*$sleep); + if($opt::semaphoretimeout) { + if($opt::semaphoretimeout > 0 + and + time - $start_time > $opt::semaphoretimeout) { + # Timeout: Take the semaphore anyway + ::warning("Semaphore timed out. Stealing the semaphore."); + if(not -e $self->{'idfile'}) { + open (my $fh, ">", $self->{'idfile'}) or + ::die_bug("timeout_write_idfile: $self->{'idfile'}"); + close $fh; + } + link $self->{'idfile'}, $self->{'pidfile'}; + last; + } + if($opt::semaphoretimeout < 0 + and + time - $start_time > -$opt::semaphoretimeout) { + # Timeout: Exit + ::warning("Semaphore timed out. Exiting."); + exit(1); + last; + } + } + } + ::debug("sem", "acquired $self->{'pid'}\n"); +} + +sub release { + my $self = shift; + ::rm($self->{'pidfile'}); + if($self->nlinks() == 1) { + # This is the last link, so atomic cleanup + $self->lock(); + if($self->nlinks() == 1) { + ::rm($self->{'idfile'}); + rmdir $self->{'lockdir'}; + } + $self->unlock(); + } + ::debug("run", "released $self->{'pid'}\n"); +} + +sub pid_change { + # This should do what release()+acquire() would do without having + # to re-acquire the semaphore + my $self = shift; + + my $old_pidfile = $self->{'pidfile'}; + $self->{'pid'} = $$; + $self->{'pidfile'} = $self->{'lockdir'}."/".$$.'@'.::hostname(); + my $retval = link $self->{'idfile'}, $self->{'pidfile'}; + ::debug("sem","link($self->{'idfile'},$self->{'pidfile'})=$retval\n"); + ::rm($old_pidfile); +} + +sub atomic_link_if_count_less_than { + # Link $file1 to $file2 if nlinks to $file1 < $count + my $self = shift; + my $retval = 0; + $self->lock(); + my $nlinks = $self->nlinks(); + ::debug("sem","$nlinks<$self->{'count'} "); + if($nlinks < $self->{'count'}) { + -d $self->{'lockdir'} or ::mkdir_or_die($self->{'lockdir'}); + if(not -e $self->{'idfile'}) { + open (my $fh, ">", $self->{'idfile'}) or + ::die_bug("write_idfile: $self->{'idfile'}"); + close $fh; + } + $retval = link $self->{'idfile'}, $self->{'pidfile'}; + ::debug("sem","link($self->{'idfile'},$self->{'pidfile'})=$retval\n"); + } + $self->unlock(); + ::debug("sem", "atomic $retval"); + return $retval; +} + +sub nlinks { + my $self = shift; + if(-e $self->{'idfile'}) { + return (stat(_))[3]; + } else { + return 0; + } +} + +sub lock { + my $self = shift; + my $sleep = 100; # 100 ms + my $total_sleep = 0; + $Global::use{"Fcntl"} ||= eval "use Fcntl qw(:DEFAULT :flock); 1;"; + my $locked = 0; + while(not $locked) { + if(tell($self->{'lockfh'}) == -1) { + # File not open + open($self->{'lockfh'}, ">", $self->{'lockfile'}) + or ::debug("run", "Cannot open $self->{'lockfile'}"); + } + if($self->{'lockfh'}) { + # File is open + chmod 0666, $self->{'lockfile'}; # assuming you want it a+rw + if(flock($self->{'lockfh'}, LOCK_EX()|LOCK_NB())) { + # The file is locked: No need to retry + $locked = 1; + last; + } else { + if ($! =~ m/Function not implemented/) { + ::warning("flock: $!", + "Will wait for a random while."); + ::usleep(rand(5000)); + # File cannot be locked: No need to retry + $locked = 2; + last; + } + } + } + # Locking failed in first round + # Sleep and try again + $sleep = ($sleep < 1000) ? ($sleep * 1.1) : ($sleep); + # Random to avoid every sleeping job waking up at the same time + ::usleep(rand()*$sleep); + $total_sleep += $sleep; + if($opt::semaphoretimeout) { + if($opt::semaphoretimeout > 0 + and + $total_sleep/1000 > $opt::semaphoretimeout) { + # Timeout: Take the semaphore anyway + ::warning("Semaphore timed out. Taking the semaphore."); + $locked = 3; + last; + } + if($opt::semaphoretimeout < 0 + and + $total_sleep/1000 > -$opt::semaphoretimeout) { + # Timeout: Exit + ::warning("Semaphore timed out. Exiting."); + $locked = 4; + last; + } + } else { + if($total_sleep/1000 > 30) { + ::warning("Semaphore stuck for 30 seconds. ". + "Consider using --semaphoretimeout."); + } + } + } + ::debug("run", "locked $self->{'lockfile'}"); +} + +sub unlock { + my $self = shift; + ::rm($self->{'lockfile'}); + close $self->{'lockfh'}; + ::debug("run", "unlocked\n"); +} + +# Keep perl -w happy + +$opt::x = $Semaphore::timeout = $Semaphore::wait = +$Job::file_descriptor_warning_printed = $Global::envdef = @Arg::arg = +$Global::max_slot_number = $opt::session; diff --git a/bin/sox b/bin/sox new file mode 100755 index 0000000000000000000000000000000000000000..1d060bad967facd1a266f81b3bc99774afcfb620 GIT binary patch literal 3190788 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⪼>YLneC7I5?2uH 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

WM>r%yz6#_6^PrT8k)4Kp5DP|g$0i8+%TGo^ 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

Ou!4}75N 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

e77&2bB3 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

  • OZ4 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�ZHO73j_TBB744H+=ConP`6B4&b?U6a3P!MW0 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 PrUDF#P(v;J`K%KyH$`NL`;LH@yB&0TCX|y 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

    R!cFt)^Y-bA$WG3mKu`LWjE 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 Velezl#6i4kYn-d){kd>%>kN z+i*41J4oYxGJH}8xR;9~ouyrfxf|(4?U5clMtT-mr}S92gL3m&W>X$5?(t34`TDy+ ze;3}CSjyUX&bt{u_DM4+j38mY(yEf`eEnUZzYCiaI3%-=M@oB~TmOuU?r}!D9}&OW z5CAL`Z!5=71cKC0b+||zkLBhOSC8XyvUw~_>|x9#wUs>Vd9XC_z5LAF;rn?FoU{Nf zB0xjE&i4=|)ZFM*-G)$ap?Gy$C1O$`9-sTXIA0RVy@UcunCvAK%8hSIN%GxiCg*$7 zjOYF{av#rF;!Aa55~66t$;%2~stc14MI%n0A7ADsJbdxcK%tC_BMN0)3?j;m3BJre zJ$LwKg)cWD{GY*>uD3h{P$=WW5QQ>693sk$8eiWPsw}a17>Ge4mcN;P$>O z84ToFGu1&314N0jmb8q;S4x-m5TxE^DAWJsN00yx__&C|5W_{v6X5TLi6q@mi*=dEAIor-(+kd=j~p{BZ6c{L^h#05#q2{N^X% zxHt;>e&VFu;WOVQ?=%20_bQoTaem@{ z)pbyG+Vk$!M#4_RpC5Lq7SRq~@dV@7ZUThB1Rz1Ho%+-icc z-kbUDb*|j0<`)5Cw*>h&9?b-ok8*zZoOpod_j~d5^Sd}dd4elPn&08ppV|KYr_lu- zPD887(tn(@hbb(N^r_i{uFK<`)DZ?Z73J?sJe;01`>flOvgRdl2`1y08vR0{d))bt z--A_m4NVRgH>2`4#>kcG+a~5G5IaEc0tkAi+&@z>41Qle%{PB(#t*j{GZd;jraL9< zPMWSfrMgnV05#Pq{zYl%D=~HW_U~r(&*93Pz~|n;N>Z(}QuCd>@Y;_BmhbSA1?e z!hLI91&i4BpdO4zv%=LusllV+fOUn5zbieM>qOf4N@?)-^5aJb-^@A<22(_UhWee= zzf~d(LNWJw3mhJjbzmg;G#tpdNbppk#eN-lxOgvV#%E6%-T1~7e{RcQL)n+khLRS4 znsp6Y{&DRnc?l1H&iRdpKOR~r6moF}T8|&2h(exTJPQ1odEDsWn-%_C_iGP-{0IRl zIEXP&f`T|j6ml_cfAHt}W7CZ<3my5_nHW&A%9oh|x!P`C3Ie6mk$s5cl}tgL#C%~m zTp$W@PX`TeWH?zPOyUrC0Ws^xaQu7bF{6ZEW*y1LU@m&mk02fkQ3w*$l70A4;M0+E zECe;OLb>_7Apc#lyZ~lMSdmA{p%JS}iH)Jt^#93_Y6BQ-aphSUE z3>HeF8_d9fJ2fiHi-JYhZo&FOty`$NvXf+CPbNd65{e3%S{@sfLZBo>G})ac&8}%0 z7D!`=DNfcjIg@VlEFpy@#?AltyYKTlbFOP=A@<+@=l|sM$<8_V+jZU7_kKV3xsNRm z?0{bW*Jye0*G&=|kf76&tk-#~ZEJQvd(@Ew9Wz zS=z@8*b)rlk1sORczoRD`vR2{=g(UE^|Lp>GW|~^Uwsap#Mgh|f_Zev_l-{{@#Vvn zXzM>gzCS+wmDxvLBZ)NcH$LUhp?71AWOvx1a}K>bx=0e6Lsx!pTbtiZt<-;C_4BlE zC)8DM4j0tUeVjd%$f8vH9NG_#sY2B}y4|anCHIqqv8i)xHfMI2E!iBOuWI?7^QH=3 z3HgoAnFAX8+}%%(H)rG1Ae&hJ^SDgTRC(fB=dv}&YdmrAOG;ikeGM>W0(pB?U zEx*scVf_3?=g<**e;Rtk7fOnu4&nSRe0E%2a&cIuKRX{W-xi*k8#*3!o0}_+P08)A zgJb<+e@!MoH)oxS`=?a6GIDYM%)oWjnUO0mg<4!NvFjzFKAfrF)Z#r&Ix0S{#yLA) zQ(rkWHY!hXTJ}VraMiK|{x?P=+duub^|`r*M>4WL`IcdxEZ!=cXJKHT%AU}EEjnlw z&-0hvEa|`<3&`IW?eVJRhtu@9{BSTX%C9c3=IcLR)9RJizE0$yd9ltTP2F?r%YBLY zsZI~OYyI*+8d@cq(tuZXDJ7}=8v9_kh0G@`zQOhi^I*dtVg(Aci}ozOyu=E{p2d4!9NM!wy|;z>k9z4X(FizXF^X4XH2wHsOqe*!DD8!K%w z&y*6M7gpHo)$51P;~ABx-_(eHQ>LB>{i;oMZiFWbVVkqF&1ruQhUkmfA?uZvpH`H| zkKkd_i1#sd7D%wD+&_0kSjtD(HsKlV&QwqPPUnU0(bW1~&P&AuQ>OkpwY|;RO|Rlu zBV=!(Y<#ISJB%|`N{1Jqs1B4@L-@xyG+K%zYpoCXa!*hnQtM~b=MHwlMabSpuQD)5 zjrA>NzfCjhQG=5c$LF1YS+2AnpT&9Q8&jS%rVr!RXMR=_AJ=>VB^7_J#d(-seMSP4 zb8>wa(yyw|Og~beOR@S~iq&V_Me4JtQgVGZ`n>x3qSt3yX-C9L?Jli!doA_(1nC#8 z&(Zc~ifM0Nt$x+zB~~7T`aA?deGxlkjU94T1=i>8aq6?Ne|7$n>$8wOtv(Cs$Lwe8b8_OS&%dg&pI4u&)xHu9N~~KR!M^!O zH5-XlvyoUe!(C9#{4_XIyxVV#6Whb2s+BNaxP*#TjVFVyvV`6-=qh<*yGpA@yX#E5 zy}ZV%QQ2R=dikt6N%B#3YLH*ez^UIZm#@9a(=4Q^LjQj z)bhuJ{(^w#SULV|b2=chWj{LiKqN@AXY+;^73(2k|4=O-FH{9(D(u=Yl!+$&PbTSv z@m+O#XGGIO(XUA9pRJPd^*~KOZ~hq$Mfc(LZ9JRC5X0B7&6&HPa{lS{ht>N1Wkf%3 zJ{vPPR$3yp$P+PIwfPw1NcOH#K28Zql6@X^OD%>egY@ zt-}Tg?Tj_%!?^>-;s>VGkF_~mATuc1oEgDftm^rpR=)lqB6Hb{`qX;N@Lo#wyp%iC z2_G!C;WkF|$0k?8_^~=q-u%ocnKJbODaMPgou5U%C!HHUkMHW_8@{@28h+}`ho_y5 zH$bwp?mGOSniwjK7)OM(T~Lm{60)FC%=JKK)(uyfC?qyqd+(g}d-K z(`vjj`2w?z^CvHS0*=MfWSoqcKkedG6qf3;i&ApP{(1z%9y&Qh?ji_-hR~?4j2A_{ z54D;I{HA1`V=l{-*WYy^{?<*7SSQ;+XmJe*#)0 zt))U*U0zyu#nQSzp4Q*S)9Ru{eZ3kk{3qU6piYiT=DTQDY@Fy@azWG<4}N1Bex|QwV))9d z`Pq0g(&YIJPGOe0!Z*~r?A7Gi;4u49JVop}9bV;6BbDkz{{)F5wU3$9F8Gr$(dK-C z`evMUje&?Mfe3pwd3JMt6}_9CD`!uExOMoftugw4o2Zd# znD!&=OBv_tDS6XKs3~4LIY{zxo4a*}W`0!@waE3sMs@C?hhdC-!8#S`6vTSO#H!z( zam>|1Po}L}3-bGZLD`j~z2=g$|IR)5+>=sKK6G7CSc!nOE|nJ4CpE=9l|*2H^Z;;k1?N_D*r z0noL>7sv6&dWKAX!4!77=Ci$~hr!9dwi!>m>&{pnFehjQuBs^^b(ywRT?W{Cdu z2!C=NBeU?6DwrzT%8v`1^N=I`k=KXZ$(%#4gb?`;O@3R;k=#)PKzoGu>zP4MuVGKm z5$}Ga>_AWW<12{aKY#rfMjg%d1V;D2n?7m>26hCHp&o^XZ=#Pt>#-P3GHT_wQ6W%A z(c};e-g$hidp|GRae4PjbBWV=on`l!OCC;~TWv1WUfQ#a?%uwaBzbQ@mj!u;Pv+0- zPc=Um%tpiP$y;NRGxFA&OCxWCxis>6&1HJDzjGR{Y>7{g=DY7QEda`B_Y^M#nuT4) z5lLLUcm$WJJ3q->^JvY;2cDOn;XCF#y$?K(1|N7%kCfjSdfW7%hyQhFa`afnzw11j ziG9}@rl4Bn2LDo4Ig(1e0<;=bQ}$&Q-Lf!!3r_nV(&O`jn1$Tuz` z-zP{c&(Lt=f8p?t<>)|wc_USOL22VYwfih0gPjl|9UE{1`}p}g&9uz zhf3@FL!TQKpqP6%hY20zF^2@;!W|i3b(~{v?k!OIyGkvax zq^|Bodu!IBp!>9<-51FvFlMC``dvG@=-%@8m^c)s?|%HXbyyhl{9L{rxG*`wr8dG3 z5Fumcvj|p~nbVhAKlilU{@ZZV)E%s)HFeLcFJDE{-d@S23>}>xjPp$M8wefA4@&5? zT#5&!Fgq--{xi){JT{t~b05SS0J3vxa&{6Tbl3>He_V5Rt`4$OwI4=YkM4lBzTI>4 za=62BG3NPHq2W&`x-|=4=-B5jD~`P`)4IKB*}N$}3}ZyII9q5qAA#+-ueAj++DG3t z?e5~si1Acv{j|p1UTgm+ZPXSQQ74r@3x&-i18IG@dOg$Zy!FZupI3O3k>yIT=Zp#1Tlzt*n^*61j?r@-Xc0+hk? z`0dzF0Eu>G-)?+)*b^zq6P^!x@>W2eSMaLj;d$Y96x=`_Qo@7z@#IzW!U?y`+H8pO zixP9?JkLy3Jha*r7*NVjb^3PAreX8Wc>1s!wy`FGg)U|I~foYrn)sLbPj_;8VjGb`$raqeic6G#`sAorWAksg*1azFOh)LGtB zUFLm>Lc<$5L@G@GhMhh)+v#%)RWeCE=1pgj>fPRS7MIJs=`1dDoX(a%L!Am24BW;w zv5pZerG4QwV^~DHU|;BRgLQd!Dud4dFbCIY?>M?Fyne>XSYCwPE_YUT8{M%W;w-cC zb*z3kKlbM9xO{lE%^d8x(zj>fwUm$e{hf4c!hASm>_l6cwjO1y#3>F8(Vz1<@Gg^g z%$%5CxiUFk!5OIyw;EUcXTmwTk`df7;=Z^Ud7F>of|Vo>&)X5K{CfN`eJoOP-O@s= zrKgWEfnY(%D^E?_QiP+p0H~#eay7s}XhyNl^Elb@U#e?5{`w0!p1?OkK)PR8TJyU|H+F2mZ4SK@1XoAc?-4yHHEXTE(G1iE;Y!+i$~!rWd7SQwi zlGPiEhWTao8(0w_a*$S=6=WNW5*uxd655dge&TAmU4R;J(vQZh@Mu2$C@j;T-i8Q3 zv+d&a=2U^JrpUzx#NK8x1lk6Dbz0K8)IHzjkzIW%tcrk^UBK&6SvxI4Fq#(p4X><9Ac2da(D-k3cL1w}1x zheCgMpLvM~jk9O<88NFrmSFWyp&5AvR_D_fqe57OZ(tW4?_ZV-zXJQuk?hY2f873; zxqlK& zud=< z+>Ft&@%e{Q`>%Zk_CK@Q{%AH|o&D{Wl7#-My1o3vUj_EBslAkKpV(ej+Wta}iIZ(_ zo6)%KF%jEpCSq~hoB0@Q|NY;V?PKc`jc6}1CgcAeJ6hx*1=E(>W}?Vo!1x9h$HE1l z{h}GKbNDurUo;cL_MiOvH>_GC`KFl|&ow5_SCH%MJ|tX0t}NV$6iWG^T<$ zRQ@Flp++*Te>Kb8Ivs-T}%0v0rxxK;B<$h>vXUCW(?9}t6mt@%!YDk zU69U)PRB2@(eM8IMt|iChXtia7GB(RdTQzE3|P2e)w$M2c%#r5CUZK>bk|YOOqp4D z?pwbV!}#(To+h(7HN)W48J&pkuNN)S?R6z`YAq787hGYXGA1*1=5rbO?7nwpOF8q9 z9K(2L;F}n|zx1+a#mM4bcEnl0yz#NI%`RpZtsjOHsdd0sPr`S=J@+RG+0H^71G?uu zj#&<4Tzm&-NP$6qbWVanmc0C%eGhZ0aQwfu&Xa5LHLgcL-0E~xx z#RC9*)R4>d8}xD3y_Pk8FsL@HH@J^{%}#9><`>MuH)KocdVXED1oUgms{UU_6zdOdPBGO}M7;@~XC}*=^IMabSu%`Ciq(t(+eBFkfQ1~8;BM30m)rJxRD6i$n zufUxzaYbC>@59TNKb-3rHVNNuc|eAf-sjb+VO*j~w3}&&HtgTx`CHx^k>=;`T{eF| zfR~@YJT|779Y=Ep>#-D4kt^!KT-hZ9e~*fvp-)6a_!;sCjzmGjL;zlZ#@4 zA|I~n${)uclM$B@5N&&wzs z9Kle1(`K;uK<0uRdnMQ#pjVdPSvHT4Ap2Rr*9Dv-7ziB2s2v^tA@2M$7V-uMP^7!% zKx(;xhw%ZaVG;GdKDaJRACUX1n{PC2&`0p|cnPVX4SMeyv_U6zhkX?~KKx5{MQqjv z2XA=jI>nsVZn$3MZ({JC^dWR^w#ps?Zrs?u_~P_PYWYkAL2*T;nS=KH2#)(X)W#Mb zFW4R`|2@i6TRwd#f*+OLKF|3`CO15QrWd36nRvw4*j%`8Eli!szxly$b7cFbjB`Dv z4;$Ce(OE|f8E4f!=BKa{Kg~{8xA`e_nx9p-8o#ca`IGN5@ft>;UdHLV!Md3rr|TMX zXH(9bl$)L1?$6K1Ft)JHD&ct=dG0wg=(8&3vyPg$Pc+x_bqZWU4)(S43Tp&)sTEH! zYlW^zoSO>tHSH;e8azCtevq4N;fTG!M%~<&<>*cvV z_VCTlDmq}lHM5^}p1C~tgmu4<4zN|m{A|H~US2gjGiJLVMSB?-#RzGj3y)#xZy0a~SV&mLUF%OqRUD z6+mkuYmCu4)xN`JI}%7&AYo>q4ZG>N3X8ZDxVTd*$xmA!Nn+YS11YMQuUb z(~i2|G0OSS5%gVV*5h}8yfO1pc50X%rB?X83vRrT8%LICiS4AzjAwGgBh=HcZuvJ~ z3O%#=H#IxgV>-IgSjkzph?#a)*&<}XqMk7i&3ISB{H!|51nHW^A6rH_HC}+tczkv2rgc=1Rq~{D z44Y|1cX(Ht#Vl{adS!%u<$pk9W}8ZrLC=c`AVua0(|lW1?47L^p(FK1NMqR`q`Au% zE{sJtcliQsg6Lk6^C0%DuSNnK&IMhD_YI?^pMb}v8J}an z(Q(k_eka>=;F)*}4rMq6ohr(<>pFqYL3FnVt@A;b)1)&;fe*1v4CfS-SgaRW%VLar zyX{jBa?z;G$x$bN3>oWxgZdO1Uvyxm_EK(3T@&8f8%uF|9FCuY@V~A4M|<{+Fdz8m zUJaXLg#>Fu9j1lxo-;GAsQzUR5jQa)8Xzx9v;ktMemC7o*jWrDayKK;S>^_7^{CF= zgJ7Nob8ziHzigCK#7Nt$HXXjrBsm%;Ngd4+q`!FM@5exULjCd$V|;N4RTFxn9ccm| zbPnd>fV1j6-l5Lor*lI$bCO#6k8cIu{;qT3#`vD6V?0+CJD;z&WA|vX&(pzO-j(s3pAJ%NYJhRX^p>E zMtg$S+vNU6N2kEVkt9*hJMbkj?VS9$w_1eMDB>4_OdE&_a|G7zZL zpU(;5gq+q^1a1}*^%M%4sxQ{B)pk#iqEcXkVF> zV5MqbuO-l3Nr42_WI}f*rBbQSJxPHCQMD2JR#J+UV((1~B#N!2Rz4S`sMN~sK_I18 z?o0|K=%yD8uU2je5>#sCcY;8#rdF;_O2u;vYUTHm0tp$cjrsjaDOQU8el3C4Bn1+5 z(~a-d${!{rSgG0rwFG)FDUhI=Tr1ZmrBbQSBT0dhL@iuahgXCKAujdUPL)+|h|frk zUhR+i$sdiBHP0;?ZoL|g55yL9W9{FpZY=EXT!!V1@;!DvgDWMe_1$#BBeXWh3{Qg` zY{?wQ87XFQ#hjZLRPZO;9IRWJz^TUyX3b+SY7r7>!J3D0D3(!+{1ht#VHu-3kRUc8 zl{2iUeL*T%y6{B_sTB8~VeS@iN|*EYOxvT0Y@rHkrtf`+a?F&*=>aJbdsJ5CHH>f{$<)S*AprLLT&#rcrqdLt>*>>S#{BU;R zqB@+QV?qh=6tgQE)d^K9W>+h!!wCXwtGjk-qdL(_;dW_b{BU;VqB@+QWKHDkDo1si z6*{(H;bQzii<1Hg+9fdaYAqHkJW(g8)?#79OHiq`SlFlzBS#`uA-a8Vsd(5)sySmdZquu?UwTZ|tF>lW341l1AlW341l?*v{=K9GJ-47z-d{@~ zEL+s9S^{#fQes`BI+aR&uvSqWNU%a}l@bdZ)hSkr#lpt;fv|2-9VkgRyCi`vxftJV z#W@J_bSk&kE=h0_iWLu={L9s)BpMD&7d3^$(nWQ+@?5+d;OWeDhnFYk_Hq>?_cGrZ zNG;`ce^)ccwftAUEDVhUU9p7;+l;V1#NVEg8)A4Yy4XdPQjlgPe>9O$nf<;pG5<+6CssT*+$chr zsXz$!E}5X%suIodL0?GBA2|sZpm4saA|woVC@P^oH*{NIi(P681cjZcHb(=|L|&5{ zq9=BB4ftxt{2MGd8jz*60;T&64BF2Za z=V($PANu%wDnrHiaAK_r4EbMpvIU82BiP@O*+-Opvjp^fSQyD61)7TO%$R?y^y73RMM$jl7>Z@8kPyZ4sDx-iZ@)9@6D{TKE7i24MZEp%(L_Q>U-vT*^N-o@u4v4d{q9!9 z$Lx1cG?CDL_xR#t{xSP~OBE8@@7}0{SW$jXO(9m4@tR6fDckO=8S{@7WgKWwYf;84 zH%UUa_(Ed-F%;j4#*Cp@t%{GK_+B)T5XJX=@iG4xiu+X|A&T!uCB%yIny62#DF0AR zJ64n*h$a#i#QbCSdoUU^X1}$n_?Z13i6#=-?-5^o%s*y796jTMkBrya*W(Q^ zKFw+_WP6(nINPm&GtmkyyD|mNYRp!7yvB7Ndj$ty(BP*t+(p~?3JvE{7$( z)nVF44V#^(kW+g#V|K<_h@8HNPa45)OeB0a0LOg> z_a6p{G(f_>;@(peCA?+=iR_mWnG6YTaqqN52`ASmfr%WH5;+N;!^OSR6D8D|2PSez zOaz|0ihHLfN@%Dt50j9{KymMD6BD85pybJ7&?}KXsYdb0p!pV#l*cI(NQYBYDILn; z)Kl~4j8pQT0I{A(?mOotOuDINNAE-Lv?#O|E7O6gDzr=XfY zXQ7h+MC^W}mJSN*?h{d0u#hO%m8T_7)|I{!QCB!Wm25Q;W}M1O>5v(xrJ6ryrjq|e zm~q-Fr9(Y9bJhGgd6oPpQde$O(xD!lvr2L%Vs}n&rF1BVQ&q)3+bMZY!06e~7|uLORsL z%q<1~TJ6rdvRkVwTcu)Nt3_E?o|Y0}UFka!b;Zm<1zXToW^SqYo4KXnKM`hT4l1NW zJ8LTCI70Px71yr2C~rDE|ABXRVN!$QmgTdj3%Jd_eN7 zl^`WNC?!JAwVLN6lIKM1`>2!%#jlq<$FXnuG90FdLsCn{(Me}=W9#%m{J}>D^Y($L zIYN^U4!!qwyKw|wx^$*_?p;F3?HI}(cpto{j*b&&-x@V_=Qb#a6rDIy%u`)S!CVutXn zVKo&IhK}T&<90ten|F@XeHWW|Gd8a|?+hL0y`$4l%eEhj?d`aQV^5@TY^%L+Yzwp2 zu_InMHrHM_Hb+uf>g#W;({a0hYfRJ8Z5q{DnvHaK#3;-BRIE{!*JzYG!*bBE(oe#+ z?q4^#tEB{_zaGimU4AMycX#`@Hh1^bp1XS@x%-x%ip|}<_I6z4&qa`LuO0dJNOpF{ zk#DIT`Ibm3-|_XgMp^COTBCfgcB6bRVwC&+RIE|HU!zghM3Dc`Pr@R9pmyXBL~{3_ zpNh@hTL0GO?vdJa_edmnkNTXV(>kL&Q{Q)d zsQgajf^)Xlci)cneSAC%2k}x4-e!6o{$ih;o1fB+?fvP|?v)Hu_CAHmD0fsw;iowm zC3m4o!k%IqJ;)ZRm{{e9ZAhlV2Mgl}Hcu$N8b;wpw{fB{NcjU{6dt-8i&B%Wj8*1g z?PdJONzePtcYU^x9Y0F7?EaFl#K8)4uWCw9P z@PL2V@q*NlffV6zSCZ-IupM;eBV>|D?(fUV~y#xZrX8JpN_0VVT18U;hN3 zGno4h?{fwLF8{+UNgwcOwW)kDlFFwqLn?>f9;Q-a22)xpZ?>tN8%gCIOl3_Zm0jbe z^7E5Tj$Hga{uP^}UtNk+J{d`cGY4Iluh~?-7fI!Bnab&rR0hUPmsRqoT=!e4KF^q`>*n8J z|7gD9Z!Y3-_1J%Dj+wp@j+jy1V18CzV}1&Y_|s5g-Nr6W++ZUu{?Z<~jl4RG87f?g zzc>t@4tPGtl)^7I_IV!oO5;+qcNdTRb{^w-@C@F7r0X1WS^gmkzD>UyS2lh4BK^x_ z=~Kn(^!Z>A9^S_w*X>9Y!S83JuI@#kuDJ+|y{(tx=PbNynK8f27O!rl*cFd`2!F5c z&1|3+{O8HYw60>H%$&hYu{6ni-Lr5O9dPVEe(>qaObH?iv*K?1=yrPC&86GSxZ5z@ zX2jh_=++o_J3_Z>Ns41-+Bo()j6<6x#j*O@IQBY> zLz^bWv3a#|>~$E2HcyIU?PTNF>o5+PB*n2dwsGur7>CS~;#fX5j=c`!_)IHpZQ0s5 zybjAHKC60~hbT-&LS~DKO~zg~nu$5nsKhQI)UZnkHS7{X4ZDO;!!9AzuuBLv>=Hr^ zyTnVz-ZYuaETfRS#4L$B*ISafOAIyc5<`u<#8BfdG1RzA3^nc&Lyfz{P~$G~Qn*hc zGs`ICE-_2uex1NwVyJPK7;4-lh8lN?p~hWesBxDVYTPA;8h448!hIUKTSg&wiCGeN zE^8*$cZs3KU1F$lml$f?C59SziJ`__VyJPK7;4-lUJCa{GP8_A?h>;k?p%CM;w~}N zxJwK*?h-?dyTnlAE-}=&OAIyc5<`u<#7p5mgUl?Wkh{bzi94SuBypD*YTPA;8h44I z#$95lahDis+$Dw@cZs3KUE-y1pGjtxQOI3lmc*S;VUoB@3^nc&Lyfz{P~$E!)VNCw zHSQ8ajl0B9<1X=1xSvjDmQl!EVwS|6kIRy{OAIyc5<`u<#8BfdG1RzA3^nc&Lyfz{ zP~$G~Qn=3|Gs`ICE-_2u&L^Eo+$Dw@cZs3KU1F$lml$f?C59SziJ`__VyJPKcq!ax zlbK}{a+jDTapxoHB<>PJjl0B9<1R7OxJwK*?h-?dyTnlAE-}=&OS}~BXOWp@6mplC zC2{|Xz+GafahDis+$Dw@cZs3KU1F$lml$f?C59SziI>9tY;w1ZLhcf?1n%k1q{=P< z)SycMHRuvR4Y~wSgDwHopi2NX=n_B;x&%vsejb@wMj>>GSrYW6Nzf&L8gvPu23-QE zL6-n(&?SHxbP1paT>_{f5A#{mZ67=Os&?SHxbP1paT>_{_{^nPn70mzX6%zb6U0 z1W_{< zmtZN-uOu_eD183AzMOgDwHopi2NX=n_B;x&%;zE&_{_{< zmjG(eC4d@q37`gD0;oZk0BX=BSPJw{k(p%_LYJ5&LEn%BT>_{ z4-sK);pDETa&*#4HK=wj}5hKn=PC zP=hW3)SycMHRuvR4Y~wSgDwHopi8h6=wBf-%P52{F-w9zm;_w{s6m$iYS1Ns8gvPu z23-QEL6-n(&?SHxbP1LWy|WXiFc6!?6mplaC2`-8#9d;jahDis+$Dw@cZs3KU1F$l zml$f?C59Sz36{crsmI-73b{+zlDO|m;w~}NxJwK*?h-?dyTnlAE-}=&OAIyc5<`u< z1WV!G?Qyr5Lhcf_B<_2XxJwK*?h-?dyTnlAE-}=&OAIyc5<`u<#8Bfd!BV&{_qbb3 zA$JK|68BOPcZs3KU1F$lml$f?C59SziJ`__VyJPK7;4-lSPJ)*9(Ri={H?&c`F)Vby$ztrusOoENU`F3-0o*F)djlXS9 zvCS#)oIf1QXU@F~BJt!--;sqVjAYIwjK`z}s$yER#A5P{$9PQIyDFxI5R1v9h2t?v zw<@MZ9*a4-DkjTPRZLsJVljCnX)vC#vYf+T3Hp- zR@GR{DY2OLC{+WwVJdtab6LLVK_qr{Z(H6R?uauR7nxE}|3d1c1rlycom)&TJ`E9Y zFy1wE=*M;W&v6uG?6gOGj+Lc`-yPsj>+_j8Blf_@zKmnsSZ2Jm{V=>nR$ECDa=mKHq@Xt$6S^lfX<#XXc&t-^*EaN zcmMrVAgIe+jAMhl2r!e|%p*#1GVwDwxwWnB+|(JI_}A5$^Kf&+i(==O{(Rr56F$Eb zCw{)uu-?)Ff$?rz~xINdg_;y8{Qa$UK>P0W5?!?Cr z>yTG^A`D% zv<_x+M@=mMpx+BdPT@hnPd#*M-QzFw;MT(Qg>Z5|@T3RGORHFFbo$-aON^d2FGiX9 ztk+&X0v%?;ZG-XXDKPAu0sDQ(vv7^{_+xduPu1<4|HtTd0d=cG>4I(#!^wSUyQf#}`mqyJm5@oY2dr(xq>>pdH+j$>uoIQBY}GsPIXI*!%X z#G^=&|ANpUP6E5}}ka(t$h zx>XKZ!?Iu&>RBw=)A^$9eRURXQL&=!b$HlpC3b&|TB(YLT|zi$Okw5P>rht-p@v;T zs9~27YS<-&8g>bxhF#(%W4DLRT1KHQC1y$7{ljJ}xl0T+?h-?dyTnlAE-}=&OAIyc z5<`u<#8Bfd@lv=?VUuDRh1?}(N!+h9W7}|}mfvPb3^nc&Lyfz{P~$E!)VNCwHSQ8a zjl0B9<1X=1xKAT@%P8b7F-zj^A2wTA-zA0`cZs3KU1F$lml$f?C59SziJ`__VyJPK zcq!Z)$=xyvxl7EFxci6AR&tjZYTPA;8h44I#$95lahDis+$Dw@cZs3KUE-y1pF!@H zQOI3lmc-pZY_^iS#8BfdG1RzA3^nc&Lyfz{P~$E!)VNCwHSQ8Gh5Jl$w~RvW60;=k z{$aC~+$Dw@cZs3KU1F$lml$f?C59SziJ`__VyJPKcq!aZCwI#z~JSrT{uu-QuP5<`u<#8Bfd zG1RzA3^nc&Lyfz{P~$E!)VNE$6z;Rh-7*TfOU#nE`-ja|a+ert+$Dw@cZs3KU1F$l zml$f?C59SziJ`__;-zpui`*@vkh{bziThXn@BAHWoyp6z5<`u<#8Bfd@lv>-P42dy zh1{ijm%!Z~Hd|TQrAnw(cBv9-m0hZYT4k3ip;p-?fLdjj0BX=BfEsiOmID1eLbr@U z=n}Ie=u4SEC3Fd(23-QEL6-n(&?SHxbP1paT>_{_{< zmjG(eC4d@q37`gD0;oZk0BX=BSPJxcWM&zK&?RO`&{rlwmjG(eC4d@q37`gD0;oZk z0BX=BfEsiOpaxxnr9f{YGs`H1E-_1jepeE737`gD0;oZk0BX=BfEsiOpaxw6s6m$i zYS1NE3iO3!W*LRhC1y#`?@59#0o0&N05#|mKn=PCP=hW3)SycMHRuvR4Y~wNfu12V z%P52{F-wAeZxVC~paxw6s6m$iYS1Ns8gvPu23-QEL6-n(&?Q(3^ky=%j6&!Vvn1%N zlb}lgHRuvR4Y~wSgDwHopi2NX=n_B;x&%;zF2PcuFCsI`D1_{pi2NX=n_B;x&%;zE&_{_{Z%%?P0o0&N05#|mKn=PCP=hW3)SycM zHRuvR4Y~wNf&N7@vy4LM60;=e14+;&fEsiOpaxw6s6m$iYS1Ns8gvPu23-QEL6=}D z&~GI(%P52{F-wBJEeW~=P=hW3)SycMHRuvR4Y~wSgDwHopi2NX=n^ai`d7%zG76zf z%#xrFCP9|~YS1Ns8gvPu23-QEL6-n(&?SHxbP1paU4kV;@9e~>4a8_Ya%3m_qInwj}O*lDJC@HSQ8ajl0B9<1R7O zxJwK*?h-?dyTnlAF2Pc``-jb1Od)p(TN3wD5_gHA#$95lahDis+$Dw@cZs3KU1F$l zml$f?C0Gh~|FBt$Dda9;OX9vSiMzy5<1R7OxJwK*?h-?dyTnlAE-}=&OAIyc5-f$g zf7qRe~XzUoNYXu$jPzsgH5egk!Wx8qR}H7E#bgfYlVck^oYf+K62JtJs~bVVsWbv zowbw`;?g4)cQP^)&#x_2332HWi(7s0tS!X}ap@6@TYdDbtu+a8=@E-tefX@cr3rEA z5sO>X@w4y1@w01j2B?2{>>`|i*XEp(UpE&Q#r^e;x$sV}%#HDQ&+e`#AS$)u^|!RfZn(%{iP@hF;6M_*YiuAHQvs`5=|K z-YWAvoZO#%DLCcxJR}NHb(QCR+EZ9R0iR7Qm-f_7?;PGa$oOC;zwri>gLzlGe*=`M zo&l#Y0Cn=_Z|Wg?vyKAlw>##y`s~jYux;L)om(u`JLV#{k(QxOsTEa61D}F(RP&~e zUu;j@T^e=we*`W*ZV@d}vyrX$(C>+iE+J~pZ5CtaGmS4s2IHGqQ!=-wT;*{Q- zox)FHB6qzz2A6^SI^JEhy@r!}3oumD$-UPVs!#6a;k-Dx_YHqtSGUrf*Slo6sm&Q_ zTi_gRTj;cmwK?fy8K-3=<7C}tCtYfGvb$0}?PJdKOAeg`#{s8(bLx(Troc43pFjC5 zkk9DO)b|}9>QC=LX6tetJ8T*GOWgGQ%QP50y(86=J?52;_7UXwD)(%(Oc30gX>Hlj zoX?ip($3@$c{grbIv?DWaE$CI{?Gl8+Z~Uy%fvzI_R!w+j&diAQNABVAz7ER1zlFd zE)&(|SUirP%S=g^cYj3CWkx*Rn(T6OJdU6X=g^6EIewdr+oR8Px`xud4#Tb@FS zsh;$U^VvYA?))7J$m7)Np6;8Wk&_)PqfVO;PI@q(9(>r=-Ikqg`IeoTeEVpdb2mdG zjh&`3?an@#@>AVuQ~gd6j?2opWdC%?t!^>&UuQbq~|+IXk}p2Ugyc? ze7cv_>t^?x47vbk@x#u$np@L*n)5Ag+hzG_m%#sJXt~S%z8A#vEwx?dOuHnX-s9E4 zJ>{i97^-j!f~Quz2Y(r6E&MXA1DSkFsVzVE3OaR1oE+s1?U}Q$7RN@F0oQ3eST#Wz#XIkDz(Xr;lC#MCyztbKZHfK68-%Xs%;4 zn!dRyzrmzGYSU+N>`$8;d;WNO6uQUGQ*U!nD$~c9$=q=SN4cJkzrcA6?qg-NXDqMB z=9?6|PNiRedhGaZ<=5eI1OCIC4X^2@T41g8SfYI*_RJo826rR(ARPZy=riJUQ1sD! zJG9CkeP)aXU&()7f3gUN#_zq|c0I5;iWrJndoOyG4XBO-og3~z9ji+%rGlA4J4Oo~ zz3w91l$o=@<>LsIDRjWQeS=$%o*LmcxVO&mE*|<_UR-di5%iwS#qBtqo{Ugl7NLW? z@C(6t^dlyrE{^ar`RSLL2vgC1K(mb*Iy&o`%#S%Cy}#>1+#sR4+(url##O3tIsW3v zc{<>5e8x)k@W}a{IL*8-^f(J1n0ijmwK?m47uR_c!#hx(k<0e9@p-sJiV(po4p>tw z{+S{SF#6yd2b{yshBpK<-AwB$2F}bGw4XO9W}L!IIONyS*;&Wrqbk#)m73wh2B8xp zzmU3?-#Tb4P>_Er3a_g*UyaJhGop=3tz8rf4HtF|=FPR2NjjI$WW8lpI`O~m1^Z!x zkEhMkRSw|#O$_=)4bX&pXlD~{M8Z(c4Ch`*osA)e@xW&u$jX_vxLT@dTk;KUORGmc zECMJLZ@U?_BVL{}x#2;Uk9@R{ZVpw-2eo$4rt~0+>n^)h3!l@P4 zTeax`QjEuQ@7*Wg2w6_oRpx%9{aM9yF8X=!{QGgCT4u z;D2`D!*D^3`3tHL_18Z;(7)0Q`d54qUB~&CvnwF@GauJ9>R-rpDfcZR^;{#4{iHl)kfrZgd%2IcvO#N&4J+!7U5Pib&VxmR= zB+;Uq>YD26+)*^3Xv**b0otcI-$jF?$C`oev=5aLgGu9qqPetiGyL*KMAW8VgH6j{ z;;3vw(q}>XmrjuMW60seq@(?FkIg(WdH?E!rK5#%zj}hCLwH^JPem0jg%2uwtU5(o zT6z#}7vZ9rJwK8056PI4G6fSbW4}6sWA8I2exrGGyb#wG!&C&dCB-S`iimvNF~!K1 zaWnF=$pxCRW$2%rql|JN!n0{)dVz>*Ap-4IzKbFAjrCidM$a$fY{}%duwtQw@$|9h zu`_{M5~>cVqF}0>ptttOQ)k@I*NKE@_)PCCkx3y2mPKT1h1*Ay^WkgkVXTObCVt2VtFEG=sL7@&60pHQFK}7@o03Og57yoB4lD zh9=)DJ~f&wAsC)oM=X0fEqi*u`4$>y47rWhptrDN(7(ZGCa`%ilPlWJ#Y|L?@OYgI z=2*6uI|BCCH%~^Wn?^6BNls4lzQ8`6a)&!<;r999~ef$U2ArNJ%K z`&V3F3sYSc*cfYQeHH6+XD%@&KK~M!cq7EZ#P5WYd&?($xJW2}p}T6w*l{jBrWa#X zXR%$?>CWbYmBz*MXCZd#UaU0cmZfv@O5>x8jlkjp2<){2`{CrC>MYEbU^iQu)62^nU=1W! zZ<90Ys4IRCH%zH5-<&R)3#U1~IvVRK8w=q=B@$!xR>xXuWi7R=z*sGJu5(g}v_CKOaL0M|t3P z5VI>&J%4~DTKr4h*VlQtzHmB^Cr)jQ`tp2E8w&_gKd}`7@2=SwNpJ)kUAG5R|PV+W?G9CMem25M&x7fgUH=h zWH+4LV;}cK<~pn$yUb@Gr`wG7S)s`6AGoVep*dmRmc>{NhefeY+P>KR>#4qTZ-2U* zL^hZjmF<34dg(>Q)Qay=T5GzSWni_{7|X=xxr@;PG5=cy>4$o^eHO{ zR@pzF2W3yQ%Fd&*Yw-n31Hmg$BVK_TL4g_#3)E=YWr13+by%Ba zA;O9_m&aYFA8EL(hR>pYZeq4acV`#cb?2ZEOG5G=ElyTdCcR2 z4Qv^m^uF@BbmAkj5^6@Ozy)_>MLg*(qy0C2=gd)z@HvvZ?Mx zE`@~(Jz*RxRDY0;m8!oCM@98*is}QEst@4dj+5S&PjBm4j^};j7MTA;levkFR8;jT zNvglVkd>;xH>SE7kyxt}fRo-Fsy|FS zJX-_z^ESV1F7BLc$= zFJY*2+$iA>T0dx|TumvLTPb~Cgp^KS$|i4L&K@Vtj=5M$@uH*To=y|~@-|cR(d|Bs z0SCs-PZtlQ=Ae+VI~&CPpgRNM^6k6ow>a&)pxM(m^)eEB$&MXxcV{!5x+Xf6m@dO_ z8pdNj1VIANxz9i?qlHcNX~c8C3pacFTw6Z-oSjWP?QTF^TczF0ox#gNjRBlTx_6Luh z9DL*Xq>cNo^vF5185}VR$JUiHlf_;b{6$}}z}#4YcXBxibEcEHt)?Pfih$LFli$~l{(ET7X z4&NK-o8L&EwuSiu^P)7eyclp1Q4~g51aDK7uNl$v0dK z^)vap%*EIl)kVW*a+{eu%y~!u*xNtj&3Cc9hKWu)YX24tHj&MCOo3g51zPtV_(`oW zBMTOa{`7Di$^(F5Opip(elN@sCSP$=@0Soc-{I!^S-di>PukhTyen=xz6@iM`cdO& zn$@V^$rzh^ei&=V<9!wzfjmEoi=V?{_+e@#}sWlXTRBT*t6k!tthCootx)mEVr|@G)D&?7)?moQP3dQ+G}IE%-u|oeHn9FhJH7t&F1T=G*iOAlW< zPc6Y_x~W=%y~TA=kUZUFp|jm$Ey3RDeyf&X=ed7bOR)F2&9wxZ=bl+huuI%A)X8yk znsI-w1_LzonwG^Mxjz~&Y;kWr2%AW|;^ktJ`#CkThkJ^9SuMd{>&~hr*bMjO*VbT! zH@Z*P5^R?HqgsN!-CbHsu(RFkYYBF~`<_~YUFfE23HDysMT0tSsaWV1YYBFR`z-|H z%NSwpZ7<;kjCK}*pe$UB9shT7F^KI&JzAm?#%o50ponlM?X8pD4}?b{H%w zI^J+Jy1#+UakKin?#^0*o$fwVOR(Q_yK4z{miviXf}QLBQ7ysdy1!FPus?E#@rYww zgEYDSR71L`lK zyU4ef_?8t)UVG_c4C{jecaoP{e|jIgsa(fC7z?8djukQZ-+5DZABP9^_B|u)+0W0r z3SHwq+cnNZ*SOE?8uyiZ&?95Kj=lX^jNj|gOP+@rd2Bw8_54NAt}=u65W~4$DEr&l zSMGo;D6zvTaRqMhv||VJhpqbyFjv}&8OBz(9{I$a&)jgLchO6!J27VAk72mMMEcW%3?2&SxF)sYe*E3UULR)IYG;oGxv3*LlfcHnKT))Wi+viBC1R_FbN{gK>Wbcks{5^863Z#0>5X2*8AMGp^lD z3%z+_uEQvl>Y^2prOj+9o5C^Bzt4h&2R*{!*kK>;Fr1CgGYD6)51x>pu?pv{=z z`?DeP?N;PuXyN|k{hkSs>+SZr;8yoakOkz;#r-F>InNu{=iM_N!NbBr`{qocg%2sW z0mU}=OR&KLYTL0Hvu2C~7Ivq50_|WBOr`kxV76yjx<}UTa;x1GYB%3%cNwnTH~ZQd zgY?wIPj-7|8IkY_gV?faB_cgiI;!8w9@gV>Gu6Z z7OXi>wK-TSXdl47+m1fG%W*4iwuD92))y8VquYS5+r~h*f%&k9eayXaS$d<3} zHwdxLAx~R#eUnXr8pI=TypYy1()NC5GTu=MUoLx_ZBY2&lnn~20xnDTavLsp*=7cB zAYd?FfFF`6wM)nthZC(ty{bE`A7qV^kw;FDT-U{3N zskO~raB@#t;Bo6=Ed;#5TkRW1FM4krm0*-3?(T>15+tJ01Xu#WQpo^Zdgy|sEceTg zjbWKMy$5YEx^T2#`@(gwecn3QRS3Kmvk5l%r{#{aymhB{r&jR!B$meD$|uw7HqZ+2N z<=LRR4b8`by{&G~E=xZvtMRo@8l!%57S#9)tHwicavyx3rv@6cp<-#8T|OGZ@)4}b zXWBz9pAUu3P=wBV+{Km7?ObqjFJ8wD1}#-9O_R!Bvy(b@S5^JhdDw~na9s~=3OHkC zW{#Cj57I&?H@5Ji{_gCrf}D@dXP1f9LO3o<|4PpJ=RaX`{@pW>^SsUZU%<(I^u1xu z$GkoMSv+Ffk-FpWkTS|wi9aa+8UIyKuyAb8+40!%E33G;DKhP1(8PG->J8rt>JKq9T%vv@b-FAS79=SvKMG50tHW!3pvF!fh z-jn>r;(c)Q&5XG`XAAp};bochzSq>1FNcFMxe3IYm|Afr{~`|F=H{aqub%8f_1WLX zJ@;7e-CyQL90oeajGoLQ@IKRn?9aW-r$*iBUj?n?{`qX&YADtVK5mNj!09N~TzW*i z@-tk!|Aq}wMoS}MpWjCf1rqj!?eNgD^pIR}etEr-&_)UWWhG35Q1{Ee1c2nSF^tJx z1EW=cM2c+!iR+iOuMa0bPx^oDeMqc~|2My{XrBMb&(D&cCz%ICtiK<@3t;yUSia$$ zKenr(Sc}GtU>DleLDbm+v^2Xg$m#qHR>)8lccJTP=4G)o8SlKCT8$8R$(R9h&zq9H z0MCyWIws2Hsh-}%Xm}aYyxiF9&R}u{K1k?*BQ~DBfPpO*h)eEP6mTpxmmX*Li)TVt zpjKoG^ZycSk9c8z*Mih~hc8pwg1Z2F#1_2RSD#5Od1g_=~e6sV=jAoZHO8_c88&{X?($ zuIle+Z73myV3Nv3cn4d@`oRNv?!XA^y;#KkB?erZ;8IsConl8IhtQfIa{mnOJ@0dZ}Ug-Ta3QT0Xc6l}K zz1-a!EMAdq4a37H_oM^V7>e<-Hgck-#q`kY%nQ>`U5?^rv@wxA} z#G~5)RwEsZN}fL#jX-pMg85{V-#$4l!zdOduc+B_k;N9D;SkfXhw0y_7M>*8nz4<$ zeZsXu(*hLkwVHEneV4bkz8#A59ut1M){f?Bo9Bj=Hn`=v^2=8ho_0TXs%fv#lwsD~ zg2h@o54!yrXW4zz+rrS>UA&y(IWzRre&}xop|Kk&T=%;ghQhS%Y3Neo3LkP3a43~e zp&89FHOcdD-(K8*hUsyvJ^u=FZJK7JY1;E!pn>NQw&z%Vinix3U|cFS&Df#gzsNL7 z(}lMqxQ#a4Wv*w~rWuIQb-$wirysgh^*@hL!La{%Kf_42S3jqY9KCgB`I@XZp7VS8+zU z)}+?(3%rlR{WT7kyCSFHIGBxLQ(-u(#6&Gu3}=-%+9kV&A+VTdCXowr=4}%kcE*#L z%uEyWN{rDHBCf`iq!+b)jr&u)ONV(SSD4@khi_v9gX!L&`vnaAFs~f+=9SaApBdA= zFPqs=2gI(w!_IfigQAM*9%jVt8=A3q7k0$V4wFkx@UknLoo6xETgkq`%(je740pQS z7ck;7a*rAXAlI8_KF(ghaKTBT+{dikF&MCNnrY;E(@cuT<~(o4*=e=Fk7-wTSeV22f&<@@-$j5jGA#H6&qLRFZ*6KlB;Hh@X#+GJyK zQaXSj8(^VDMz!l5Rl8BDF^2ep9Yb{beRaR-Vj%`^HM6s|J;Eob zaI5Wo^V!aD$iP#FLJu>R@Qz~g`()1->7#SUpn}KBh7gE^UTPZ;gSYUR%PS89{*ubq|{CAkgA_aOjHg~NJ zZmw zym6IRINLkT(5k9{v1dR{e&!-uB@zZ$E6;?0$o|#negtoP#q9`a>DlGjdXvTBg$ZM< zPuucZiajgAhzmuw1$zqkHX;i8wxDQcw|V7q8Y8yyK|?Uo!tM%lkHL`{d2PX1YQP>) znCfD|!-Q#zcjg>hPH$4yTYi)E8^FVYEvbj_guV%@6r(Ae2*#O9FW$4UQ{ydI{K3$T z>rPwTClJXx!zqm&_GYr@iNP~`a~l!!)2NuO)nfQIj7<;uz=$!=2PxC8vf>8ZN3A&6 z!ZZeW2M~=VAJI-*RQ?5u3`TmG(q#wDNDq&+qK_Lf?5r<$*vS;0@^ZizYY&6>H6rWx z9mh`Od4MB!z5fL7Z}#7BP11jy{pmG4e~7)0u?P$D9D?OLjunqj;!VC|#7%{Zb0`Cc zg4bFP@{S=;3*1w1_A-{>>-&mF>)RY`LC6l{AVkcwhxy_(-xzRBVwWIXrttdzxE4DW z`0$DEwevw7o>_IcD02JUK^x*(gz!D_NH+c4nXDzvD80{Jf&($HK+^l1es>a@OFtOK zr|FWdIfa=BjN4&^FXi?g$Ma#nin_xbWazus(}nNzVMqa`rhgwIq1$bg>}xN66app? z@Sy$yJWJzI1i>ipv)3@kgtQ;fjG;5Fcy`k>_p8Xkewg{&fMP=+Uu;vt01 zG9n+(7!wZ$CLXjVUI(q2da*Rg&H`;|56;7k*f&z%&uH}XiqaD`8Snh^{zk0bn(}Uq zi-r0q23zzG`b8hl7g3KcLlorvhO1HZ(XI!@b{~p9N*ap(zj8s?s}OsT;vTy@pz91< znD?Jq*I8F*ZEv10T9v&@dGV!z6ohdrjX7!yt{hi}1V8dD4BBwb)DB)TcN@ zROak+A;X}e826x}n1l<{AG*pgT#cWgHl)b|3~fa@7*rH8G!RpO=|XY%Z3=SozK-#}Mp-$D!b>qL0v4shdyUmre$S&J>66(Ep`*F^1c{|sEm zsSo!f2O zj+HgQTTh7CGg|)9pWD1?nh zZ@_7s^1K5)-Cevq{{)tQmF3y9FoOuU80dJW6-uOSk;Jxa;Hjq?04=sHe$W~b$sXM5htIOUn^!Q+(Y$*317&-X2g zm1kPBV!ZMnU^8xc_ADukS3FBT3|X+`r;W%H-ah{hN{CdRxgN@6Ncvw>*NqI~vaSEJ zDYGVdSFo0M#d2tUK?RTRU=BXMV+Zs9uy-W@F|F}cn~f5sVY4jo|3-?NX~REYo-(+99U2c(Bj(= zE|TYL=iE!Q75r+U^gIpYAABxgDr~{RCNsXjz!e{;*#!=i4CRXNUv3W%6?4Iq*B<4dcb_(D5?OA;b?H<10D%xJ>gTZYtto$RGzA zc97C8Q+UD-knA!=HuPYndYN`5b2EWmS$i;bM+fOxx)8W^zH&fKzZVc06q$fn`;veT zF#(m!Ru0JadjXL#n+b@uF9~QE6VMFY%Kav5UA`9(Y1T|YtbIv9RT%eBIG5Ar<5L({ z`uOApWds&*n-+czDOr~th1&Q6OhYXP0e@4!t+V`p?B*4w(9915&I0 z@ySrV`d7T448O0zLt1X|ELS2XcO{Q(@T*taP^d)s$sB%tW2!UN2HrKW3=U^vi_3Kl zrfJvVZg48o6P_k*JHv)it{gXnq?{>i9^g%YuUCuCLOY7Uu%MNaBb-jm?`JRF!N3D=twTbi0hFR`si2hMq69Pa!A>gS#ejuWRk=t^B&mQ-eJVgWPTe-MJ@gN=!U&)Pg7Y2Qb0GCqLkA2M$42GlJdVf_>_} zG!jA~tXmqw9V2+k{`#qpc2EkS$03)^Kb|*M`n?k(ge2pU*IXM1_iswQ9b3Ne8{l_J zJ?l@Uej0l(R9Nr~sA0U2?wOWWkz`DUKglvL-TG!f4%Y_kt3OIABNoj zXicz~GI2GeBFXxdJkK(32kQb8S5r(fvxv%uHA;@cyc{6}D=5A64j{oUo3UF8Pn)QP zFx;~5<>HNbb1)&j5sbjtGaJqVxg`h1LZRQ2F-K)cBTi)^!m~lyFi^ziYxzINMDgOA zVh?0&q28T8g025^5k?etJ~mf_vBAfrEH)AN0}5!t$Sv!htS)mXDe0S(fSqR+rUbex z^jS9q#Q*0lmU)x7ZXdj)) zItEWiO)`lshL(eHCRAW{(3jw;_|}cI`rrh*61-f6tMhOA541gOsZb^zjqLC>OU6sd zLYTbt##JZCtuP%HxHyV}GdL8Ts}&Rrk3gt5mbmIPcFQ1pvP5STo5v4wONAFkfDdRm zScK3zjKg5(AXh8cErW+%(;I>@=VqCL8%?YZMTejT|4=~8dqBAU0@=fNoZx8-hz&YR z+5qwl)q1Hj*9O_=AF`_go0U*fQV5HCERsRJ!u=j?s9M>*+`5=Q&ItzDUZw$ zxUEbcw}L&hp_{>G92@u}*l>FUqf}b3XDU1YByg`mS%!lajEQg{jr9A*Frve|P3nOu z+%*N2GF}K%qoNbE$F72dKgn=Oi}GZybM=t>98DQE<}JYc0fu?k0c{P+Mo-#o?^-trZ>ngG#hACypMRlEeLypXC`x( z&3IXD2#EYNNe;JEfKKF=8Jnl=|BM+O@HQtrLAz!8Kf{9e zj}?Q;T=K+c&^NKqpkAhCG|Ym!#cq{)501aV)a9AR#e%Q1z^<9rlmfpvJm97W8gL_l zLVI!OgC{l?WOzf1t?U%+Y2pxtLv$1{JXfZ|1?3>mWcU^q)N+CoyjlUikq0+<;8(26 z&f!>DH_)MjamXcyoJ%|>W2eV(Mk58<#GIWlyTeW==z}-fNphWb#8;$+*$uE@5`$H%{%9!**`VJK4OD6z?qbCbyBOLf=P)WAD-gUyLMryRzhaE1 z@fiyZ2Jq5BLSuwC2P8L!mj~o&^5CS|c?@n;P;VU)ti(mfPRNIF$mvJS>8Q&zJX)sL z0k5dV5d!Wmz-rxiIXq|*Gju|kkADtjvxJ1>MkK>Fh56-_}fttAT zuDJ%87>7>{^DoBAGhXOP{E+zYNtB5hrVSQBge-!7$fC+62o9C7W-zU=2%gWl6Stjc}-LHCI2Qw@Kcp1B&gIRk0 zKfBfWfm@hr$hwAY41>TY7{QVqBEr`=`*yZy!7Yb`%E9`d7lRSGhz$uKKiGeb29oIi z<{Nu(%gsE|?93CLZUi$AmwU`9mcL`Z&xKP%<~ZCe=D7Js z7LSmza69TQj+F{_ymWkED{%-InottcWqRl}ggH@@)8LQU&|@a)fdl+iml^O4(2X{y z;oKO&19up{lmYsoLS-0Hy!3o9ga=CsdaUuX2B3+cU^Zj}Fv8F@I1Lw?5gBDLk;dV! zR{nWRxPR9#EH+36VZ73deFo{qq08N%;T`y8whsiw%*x#iV)Fzrr!W1x!QymHDw|8~ z50Vbfm_E!@--0-AI5p@n1a{)&b#*G}Q}VicL^U9)5m8NuYD!cyqE;koWujIksyR_> z5LHOj+C;S=YCWPhAZjC`HX&*=qFNHQB~h)2+J>m@h-yt#TcX+%l_shqQJskDLR43x zb|z|9qIM&yJ5hTQ)q|+LiQ1Q_{fRn|sDp{>Mbu$L9YNGlMD-@>7^03N>I9Q7?ol8_PQRfpifT)Xz8c5V7L|sbMMQrDMqG}LTi>Nw8)g!6_QH_XdLR3?tnh~`kQ7aR*DpAde zT7#%UqShv=1ySn}wE9apmtqWUALS*<k&MV1 z5scMx?|z7`AexRS2GI&crx5K$grD{EzJw?g(OX385fva>ibxm6x%Bynsvw$ys0kuG z0_^RGXapi057YZ2`U4Rjg!aadLZ-VQT8YRO(H=xC5#fVjdILna5Y<5R0+AV_Pl)g) zh_?U+`E&|VWkfl!!Q$NvQ3fLXW_mjQzT}OcG)YfFGzrlyM0lV(Jq}SQqDVxi5gkKx z4bfgiGDIPWauBUXgs)Cd4@4wHG#61bM81fu5sg9A5s?=nPel0TZSP@-x+204iKjav znun+zqNRwMA=-k-0?~d%RT1Gai*yr2ml0_px`(I`4%B+f5Pd|Hi3mTA;GK`?DI#rH z?4&0kDvt=i1nylMkrYu2MB#`!B07x71JO=I_}2dPjfiF-T8?Njq5wqe5Y0lg8xejj z()$FWQHb!ISUP@6()%VN{FagT6GX0v-XgL`gl`B*w?d=^3()jNh|CZP5!FFd5m5_7 z28d`xd_=tw<-#vX-XjoYBASdS6_G!pM~K!Sibu2)(IrG-h@ufm5S>7D3(%xkt?EMi25Sxi^v;MH$+nrIU!nr$Qsc)M3#tl zAgYHb43Rk^e8Etc)vxIjR;={mi`8j4s6Gy%MevU^Z-#kL^lw% zMsyyLGolDY9*B-28jolA?602xgBG%EDDNkgNkMMVmJvofR?q zel#O3KnfAsqXGmH_GjcN4ivtSfRe?cp*Zj*jglct2-DJ;(|t8Vgy#R>?XeuPm~y69 z(5lM=-G3$D$-}3Na2n?5GjgcNqqjA#EWRP=>-dou3R*M;t%icyr{I?X3Lg@2CmL%F z_l|Mr9XHVMw}&dgxLBzPTpPG9a6{mxz%7B>0^0&R0(Sy-2gV2Gp}=E-rvc9g#)ZsQ z;3L2>z;}RO0T%&R;!#v9;2ywJfHwl;uevXYyv~iJSQB%mM4EO?M_8eq39x^M3%yxy0;_q->A*0%m(M;GB)Pjt9Kt_{c zqiPTAbcWZ0{6j{sHK3>z*jpOVf}*;#p{TPq6m`M@URCExQFFUf)TBNX)!d7sZjGj> zVX#$zo85{8o#7jTz*68WV9dKa@Jir#U|iPV@Hg(a>Ya5<00=d$h!$tvKQn%9`f!3dAEeTn?NO7Lf*xY zcN3^&8RQ)+*$eV6Y)DZwRI(KEE`_{XLM79V;0E$8gi5yLDjB?#5Tu!cbdpR${FwO? zI~Jf5jtNk3Pa36y2Sxwr=TGjj!3vpph&{UTNu*IA75c2SUZ1|fdO`)K_EzGyXYY>J zwK+KIflWV2727s-1hxiRi8c$|2is;P7ufENr0w?I?q>J4ild$8zPWZ`(^KsHYc;m7 zA?swntf8y@{_(@@>+CpfUvoqik)MA*QE-Yck*G&=v`2U79{r(z3BDqldNJLYev1uq>tVTpHXVI$+YDODvt2x1-}d=o9or_&jBIr;IoSHt z+iN?ln~B}XD#Pp|dT+6NyE4k|uJtv$xcF;!D<>U#I zL|d$zi*63+B&z+iCy}T}bF@cy=pOx{e+&o1!*DTtj0fYxcrkuV2c`$ph3Ug|VtO&% zkbH4Qz=pH4N9)-(}MG4mrmR&KW&-r%*} z@qJs*Z7u)!T))D-Q8%m4iJslLTlD;zp4J67ouY=+(~AT~Yy)PIU}p<%Y{9J!_(8uI z#yJS<9E52NVMjw8Q4m)I#2E!~w}muVLt1PgO=lr(wva|!NUJTR8PjeHd5D3$oP#_? zLf)bwk5Q1FtQf6XlET{D#f3U$E!V zxk>U#FSd^gt<49n{HeePBcDCTg7Tnr`AM}f1#6Vc* zAWUlr`y9j(4RJ+6oKX;Wd+{6bTXC8=U7RU?FU}CZ6F(Qf5X;2R#IMA!#i`<#^k?a3 zI$N4ef02HnbEG-+2k8eoOPWQ0l76B;NO=_@ zvQv{RFJL;GEzatD#$-*68cI}CiOiL#x)PZxQF$dYQKE86R8fg4 zDUq2HRZyZaERAK!o2Ah#O<-vvOXFA?&(biKhO^|w(omMj+YUkbgQXEHjbv#S&}^U? zKr?~n0?h;R1DXRg8E6WS56~o_X+YC~e1WC{b?)4yi>qs=PTjh7@7}emo13F!hYmFD z;NarYv7?idvvdFc0|xZ%+ppi?!9#`&95`rD&z`+{xx4r1(Ytq_J{}&Pp7-x3BqSz2 zcyQ-VeEhw8cke!VlAN59^7QG$he=6~A3u6@@nT%u<;#~Y#l}jd7cQJXfAi*z8@F%Y zx^?yHl`Ge;U%U1hC>!VtP!7-spe&$IKp%mMfC_Bk&QcmnZ&`Z7(mEwtt3(@=XuT4xQX=lXCY)TOM5~o( zs}hAM(RL-;rbOgtHw9&*5^YhU%}TUT1qG;}#VTl#3i4M$VimMN1jO3iYzx>Kus7gfz|nvc0pS6W0Wkrw0T%);23!uf8gM<} zX29)$I|26s?gu0WJPddo@FXBb2us?r<}MPr!R3|oN{;Prsi7YjmX=bmzrmhKO%p3 zermo&!H9z01*ruVg(C{r7M?0hD9kQ2E3zu`DDo{@TXd=@p(wk^tk|m9qu952X>myL z;o|7x8^y`R8O4Rg26A(G6S=Ltt9+n*oZJu2j;w^!BcbyB@?&t4L<(m};^7pD49=5e z!HE)z@|)u~({HNZB){=~qy0wu4fPx3*U!(>uZN$TUnf6jKLOl}e!Es8iH#YAqE2XGeVC^oSRnw{(Y-Bs82Mv4m43LO4%i0w+q!NOcLQ z*ueemtyOH0|Mu1@egOFGtyTQM@Y`Ff_yOg&w^s23)o*XD;s?0j-de>EyuZD*iXX6l zdutU31b%yK6$c=GdutU3EPi`y6$eOudutU3bbfnl6$g-hduycwIKN!0bl~TgYn2Wt z{c^3+fv8`uRXRZR%e6`ewtl%*>44cU*D4)o`{i1t1AxC=t90P-mur;{Nd9uI(t*rh zu2nj~`OCFR2S$InR_TE2FV`v^sQu+ybuUP%d%;QF3u@|KFjMz}kh&Lq)V-jk?gcA# zFUYEU!ByQ0%IaP)R`-Iax)(gvy`Zb^1zS}YbW~lyQFXyc)deC|7i3gjfKhe9N7V%$ zRTtD$T|iTH!A{i$I#n0MR9yg5b-_*51vXlV9F)jWi8?5elM*>Ak&6;_R3cX;>ZC-S zm8gpnbyXraCF-U`-Id6lr5-HxWT_WR9xQpX)SIO~EcIonA4~mN8o<&(mIkpjn57{s z;e`^sOoA6p@RA8$Ai>Kcc(VjAmEeUHysUy3S@04IUQofyDR^-OFRkFc5xhf!_eJpT z2;MWnJ12O*WbRzJlz|sC@G=Ho%)m<=c%cI?Z{S4^yiI{ODe#sB-mt*i6L@n1Z&l!p z3cRg>H#P7U2j1Yo+ZlK>18;5Mjg1tRp0f0WrDT>Kv-F6ihb$$rl*rNpmhQ8Zz|uXI z?y_`;rFfQZE72__x~W7rl<2w=T~nf~N_0huE-TR`CAz3YaY}SSiOwrgtP)9;NY&|T zRi~#_oeo!Z`diiMW>u$`Rh`aOb^2P>?E+P|2UOjTP<8u3)#-j!r}tIePEd9GK;6@g z>Yh$i_jIYcr$f~}-KXy9Jatc3s(U(8-P7&ro=#Wyc7eLL1Jpg;t?ub;bx+r;dpcg} z_TVqqD&1E6+Yn5(){&KC-ZPQ<_Rk#^jDp2V*?l0FW-Cq9XTBY04 zzg(+yyZe`Gm2Q*&a;?(s^Ixu2y6yhUwMw`1f4P=>4M1s06}QuWdutW9?|*x16>m5A z?X6Y3z2UdFR`GU--`-lq+b@25YZY%7`R%P$yglW&w^s3Xp5NYD#oLE|dutVMclzzE zRlL3Gx3^aDcC6ptTE*MHetT;bZ&&;6tyR1|uFN_>?hc>r$f26>2J!H_LR78>wHQ9y zQI6MvH8A_zl6H%8ikm!y69{P%_GtXU`kO3+5f+ zU577f@cGsFZQ!pO+*nTolOtd=3S5}-WZ>ExzF-w2r*fq{DUTA!G${D42CXeN2rcJT z(W@F&N7{sHD|Dp#P<=pc3%WX9)x0W(mJ=J$+CoiA6MP7WUy@6rFu6um1Ij=LzFcI$ z{^@~E3rxSd`09(|K}z|2?pnF>^=ehujn%!5TiVxI;j2*{fSnZz1R$CrSvteF#7xEm zQ+*vk-`AlNDxCq2n9_`DHf02WUD&*MyG8)Q2Eiu?K8HmK2*M9yDUg_!3PZhQCM(_J zEsyzR=>)o7X|Ufrt@6gcN$nzL9yox`4+uI_oa<%!83^_FzL*684vH&r+He`FmwD_?7o%cXjIN4=`JzW0MR z;nQ-AmUp|=?C6Bd8rudxwU3!w%=34Mt+iw5vvR9?+-Y%q(g)q3PFEWq7@b~aQ@@Ap z&(6%#T~_&xXs~ZZW*xWjLxI6d9&&)D}WhrDaie|kg_U${dSF`Tb(oXqz zvk|GPFYmF#CQh0{QFeNXyL{~GNR67F*!q6oQ&G2JCVksy*Os;(9NEc$pCYQ<)XAfu zRu!6&x-|1W!2_a-o~NUZkLA<4YdiZi500SOq_9#ZVf{&2b82v{b05cCyDCX}HqE>5 z(s!bS?S1(H2VaR^RNNRDANyXkHaf-7Xv-zZQva#uqJ(!M-Dh_$l{@rWRO~{$+;58jH_w0L2fk@{YAw^plpeh*FA^fBKZgIC|q!}s3;&8rg_IK+JBIVd-V7~`+@ zZ2sXpiQl(ZRo=?sJ+aX8U)O=6dq&h)__ha6`thzCl)PLtiBw3QtkHXURodglo-J`gGwG=-(_*$))uYqvwa__io-Zk|_PG^!_fbjunvn$a=v!5K zJgVmRS`s*XP_m0aD(Snw^-Y^@FC<;t203`W%n->!%I!H9yI3@&;dPVCkfXpqin3vTWuiYnq7v$*6ZRRRp1OH03*FNP-+d(h;$FeD z3-&dZ6%+Gkx$i}&cb8p6z4%;80&#a(?;)CteOi(Dgl;_YolfCm-Hm7;T5qf-jrR9@ zmY0I0u6L|Tg9vSsP+bbr>-=k?_gXlD*n5riAn{TmV_#vo!Y(_s(Ou~09wszM`ct$C z>b)HI>Y-k^_XCA`imsDE+($cxV!V{R=3^pxd!C|sXngns)YF4TUP3)Jpm`XvZ(k=L z^}>CX_)?J4JVyZyGW3e6ChEn7^?0ZkuF)?-_g=laeL(l(7V}=AKGb1G9MR`H??D+F za_=rN=huiQ=8hLhxrDB;BJQZ3T9Ih)_1bn7+RN&7e1kHyVpUT9Qo~P7e`$P%=w;%) zsU(~Ux*6y%H1V_y^;FxnFHtXbznF~r(D`>{#NNN=1Juj(2RuZ*Y(?EWME@dyq)QfI zeg*Yjw|%*|QFH`K=}yThl;R7a$56_QpC2MJs`Xx!l*2jF4~5lU zY$p2SwrfxdwZ;acq%C&NC;AzeM-qGQwKgcF?GqD;c{`&wD81%wen#wbdOsz4n`fk* zQg*gP%D!~CNzC0niIh3&UnTBO*rR9;I|b%T$!1wRVvD65g3W>dEWG zebPQdCux%M^g8_@p170WxK8|go+s&}lh2U!(G%>XXfAe`LE00&ZQN<%Zb*fr#C$S; zKg!U?+e1)Fwd~fRq#~LvKS4}@)c;dMONk10H z37?brG!w63_|iSmq#sDr$C3W$^{fMFPxL}pU$ifw3axc$(9i+ZDoa6%6NlHPK?(=$ ztuF;ByA;@v=!@3{?Gy_4t1Iz;npN*x^4SA72*r7dqz+H~+5yJS^${4ugHO;>nIJJZ>n zqAqVVtje{C7BSzgs6`jTYR_#LEo#@s^j?=EVWI@;eY2s(FGK_KKCQApyF>7;f{V9wEoMZquaKfW;+ zoB(^*^uU&S5gC#zd*;0~Xi+X^QQbNRJ8XVwzirCEmaUSaL?#bTA3h$LAvtB&;gUx6 zymQMpn-563`_jH&#jb@t5~4)nJ4?(a24zUv^r%?tiMNBjFu$&kZs#ZVE(5HC7i2|= z9LHSUl>9V9l0`c$@R{UfKh@%pf4=yseVu)JJD$Fd5}DfiTK1TdAu(Rlr+aLpb}{L; zgGSt{n_=%0J3OeeG)km3{rIdq-ft!T{%_9*OJ~J&wb^oK(3mV4Zjg%FLh+>DGxdqd~b@y!`M?J*!16L<2RL({{5;2Yd@N1 z`dc8PchH`<=F5S(E0Fm=es7J%|Dk8GVf9p6~xwWJnLV^ z#=~R$(<|6?aQ5&mc|v5qrKrF)Z28`1{b@=eP#^=E2x=1z50Cvv*xY8@qluL9U%O2(%-d}IS#18YCB%Q=t`d9BACrIboJ3I}`%CPZ_%zsf$$A3HCyXYKxp}wP{C{H8 zN!AaL{*xv4Ot_Sk2`86{KO}-C)5Sn8{pPGaSN;-u|D`VQq#MuXuO6E}vTlL!FVM`s z!5!AVE?fVNnRJf1Qqn${_;r}}x2XaBo&HM7h^gOaY`?$H^?xS4FdyJ#WIYgqK=kBO1Y{z{rVP12jum&u2$FO9S6 zz!k4V8PMAozTLr=voRgK`$^hx`<0>w`zBNvTCs_!%Thbnmos6-&r#5_GO`m z)){Z@bLXBbHq(!ZY3RFWo^Ex2raU1r9g7Ca-OLh1k5YqXZG3P>l3{gyqyEmlqCJ5T ztMBip=i~e)C1G9Crciz8hcH9_#jacHMU}%pbnA)NgrGE8dg`7JKOZC zygFZUyl~{(`Zo9Ny|xxj+NZHOrszeVPsa@tM78o?d^)h=jHK<9>eJj`?h#FVnIANz z@j6M{BeT!f=(<3Z`ARRV`-X{<5AXEEw|n;%)oZ!^u%wo?KTr2K)6f2`BnBhqhL-MjjtHIidB);GF- zUM$*T%HQv3HCi(7#F(T`>${8YK6^8?D7~2^dgYC)^Q&r#J`9`GICb)^m>mN~-Loyc zCt4A9wnO{GaLL1F7X?DS-6Gq?_Y3MATqRl4>coY5mHk9V7W!mn$c9OduPz^8nBPH^ z;JohRps?za&|ZCwAJ2YWl0J9g@wZ-C_eAMO3Z~l)4415-4vy{raHr^Ui>PzK)mBIv zH7$S9sLwRf^tV+{uHMm4;vt+ni2uk+v})oz@pXH?M7cjUo#r#T3Dbx`&5|?o;PR4j zR!rvUwQRqC#m)~IqUj%cT+Y4pg-urjx+Dk{{ZUnW9>^}#ceApHm0fYs3$&b-_gGm0 z7yLjySow_6Ql9ug0d$s?O}GaQV#>|isQK&hgIT8pu>DcBd*$*~6}~EaG=Pg$?Zzjfp0O}Xf(zG12@Lu}gX# z*=iRNCV0KHL9E?@oio;*cAI49>#{aSYe1T?8u&icmZ|&wXb5IoY2C8x#AVt#4KBVaB789y`MKSQ?rq;M&tme( zx-GYh{aTv#>lfryyKzc=+nFz~6&Z|pIcoLV>)W=@j!5mgZ|G)?z3KiVHm;6y${s9y z^RZX$@vpCL-(Jb8%dU+rPgmE^v;8zPW61hHGL|+RDcsZUnXyS{t7QXb*`Aerp;}qd z^OA;d2oQFf+)UHLQ+#aggI>mByMbd(dN?H4eQwg|f_q3%PK`RbJ!6L4n$q;;YNv6t zK8>H*$Yw>st667WY|Gxe?emWI7kwU|Dc@l6>Bn2{_j|tU^!pRbPWqm;h*>{!=-Fmp z>czjFKP04*{N?IHqUSBM7tcJp&9wc)Y6is{!fR(98k6(sb+TtK^Feu{BY98rXPusA zzJ6cTgcZptw>_Vm{z zz*2`MKIUFW-euR!U;A8Qu=q%gA-%QDcMQJOCv2Y1PN}&;Of^yS_Cp?ydR3!BzlIxI zgzd2MtNwZWbE~m}-GZIRwRFze&$7r}W*zZqdX46%$GYg7Ol-3=Hv4I%`(byoM@`wZ ztYcNXu!~Nk;|9-*>zUodZe2mO_@bhGaZ1g?Imsy|*;g72iaRrG-h+OV$6S*XY^f<@ zS`Df=JhMYFF~ngOhg^2p{gashOwbMbIbyer2AZ8c$H2C#cC22zi3qJb?vIP?smD&l5D@2^#SPO?ZN4JVA4wz>+6u z$rD)d1#L70?KB1LwFNf10y}+y$VlK|%y%rucPh_!sla!w#P3|0-=!+wtvbKEkl(|C z->U)NvoXJqCBJ_w{=l~UAvXM>_Wa?F{E^Ol?@s(NZv1gQ_!B(&KK=QVhwy!e^QU_A zr;X#!@Da?KD)5^nm@`)}cY#2>STKL7AYi3n;Tpk$^#bum!Q3qZzion9p@JE^1XK44 zrW_DVIwY8QR51RyV9ZH@cer3wq+nRIV6ars|AL_RWkJttf^Ihjo$m--5(FI*1@?~x z)=vd(o(o#03Yx#tZklG;BntJW}6*dVK3{f~|6WjD9@Y*i zg`I?j-D?;2u2(pyQQ?Rtg<~xXC$}n`)wamrrYO+9XoX|Zdgr2Tor?Cj6&-djI_^<) zrf*U7z@pfpMVCevT_0T(Kfd_>q~b@@ic@A4r_L=-pI@B0sQ6QG(dQL~Ico~OY|Q@> zl9#(9H*e3Eyn{LUM?dGE%q}?dsWAFOkut>+&L82941Z(?9O6ap)o<6a%-Mo$4_8>WGUz>0)z z9K-#FXbH{f(Vhzr&6M4v9@D@P>V=#JB&Ji*Kk60ZL%pJZ)C++*Qp^LIDeD#Ui}uQT zOpjvxT>6yD4gDhh$R5j22uuSjl45*{Y2)I>ykcBJ*3*x|VXaC0%Jrr4vdbXsscbi9I4W?%Vo|vk>bGnGy-wpMIx#2XjXrk(SsdF zxQte;Pl{KP6yiiV{fc^QTb$n?)f*SjH&UTLDAqBSlX8Bz^FMQ;7;hie@iap>Jwamy zAP8h#kZ1`4=|}0nbYoi4-9KqR;Ej-Cp3y*A->bW4Hz%w#mVOkkVmi?&`Q5=Kp85U3 zMMksUzi&P!t;8O~$KPB^NXsOL>Ir{9;(((LjJXfZ$Zy9R<+P)la=?mp@TWS#2>Fy8 z-AXB%$^vbxSgbqt2U^GX2Mfdny2-Xvp54H_`V9cK( zun{n(2h&&{xB@W#rc?#k9JnTMZD4E?4T14Nq$M!4A<7om5x5huJ8)m%p}=E-rvc9g zUIDxn_y}+e@Eu@GTM=+2HmyBCP66Hs91ENYEQGxD23`%E0BjC<90z;>*a8Z3IWQj< zO$&fcw4knmdqYM|A)_+j3y|4!klA?1EdGGj6*3wLKLmA!jA}zhGojIIK}J0wqsi4M zYEKP{3abf>6EeJHBA7e(C~O;N*q zA^drenQ!Q?pLZa8f9f-kMV0*?>jnw3QPQ3i+Y%HFB?P8{mC1w>Q`AAK-IhrdRZII` zxkXM_Vy`JW60_qPXZC~f1g#yq4xQd>;?xNvTt<%@*{Bg^jETTZDNq*R8(yPZAd6p3NO^&`BE?9Eq$)#7wdVp?0ahNqC0_#H2ExJQeY?EA>(8T83HI8DL zVmMf*NQ&(gx?PF6Vt(Pxl)^qkCr^MX5Lye-*PrP}>HE8BQVx*|Psmy*hx4CskL?7@ zf-6hKFfo2r_KNj^e*cqop;-PHwkhzB(u($&ULo+0+^EWrj<%K-p1J1EVRPrQIf-Yr z|BBT8JRBswROwvXMXezLIQ_vWL5o0!I)~$a(+tsy^A$u3-)aID(v$P#VCN@VsQHJe zWBEy<`4_*48jTzzvdVcUlD~S~YU-`-KQuqle$12gw)Jlxx2@^h+qP(D73aU*2?AY=Y8;g5qLT`719WEsQf)0h7!O@wZ32r5 zH=OMADJo42J6%&L%Igix{nixa1A|+=Srioj=5SKw0cm*DJy>#>!S@zzVU01Inhy6C zwo@mm%hY4)1Es?g^4i0<8z;h791roX@!s-`_$~Q;_;dJs__z3Z{JMf(g871zf|r8I z8g3c^8qpd#8Z9*^Y97&ir`cRL06buHjVkL(Nd3do7LHXKVY^X=L%zVprV} z_3G7sTmN{2*$rJ9nKgdVIK0V{rbC-qH?Ls%(eiGKQ!O{O5?hUK?b*h$ZL4;5+gG(V zwb8fLw$rlL7U|I@4wW72bg*<1IrnfG+0oB+U8m!nZ+FS+TE1KR?nB*|_Bh)!y;n6) z_uh;9#P%)jXE$K(!1IH2hxGK?HuT*v`w^=~rj4S#Lq_M1889wpyv4+2KDm=dO-c0a zJWV>i{mfIdTKb)w({|oDvCI5B3x+JrS`-jiZON%%_hs*wuUy%Bb@G};>soGjzH#m5 zP9eN)QQK$kXuqp)_xZiS`+Fa(dpPIFwXhw>XP@kIy6u@NXXTNvqwmH@rN__ji3_>3 z?#k+Gt8T2lwJCnb-6IK64{jvM9(_qJm(uK6w-=LMZg?$C&v;uc(=BWM$H?r@Ij!=1 z3nE|nm*>+Z}IT z!DfAKHtPq*#e*SiPxnAvk=ukIeL zJ*)K2>z&x=WZ&R^!}_-wpgk~g;O;>a2e%s{9}?%ac&O_zo#B^;&mUns^7F{UqlW%b z!TYlJjL{9oJQ%ZJZ1Zss$ITz#a6Eiz61d4~z(G8+1CT)skaNng$;TwphA-Y1L(Gml-Z!w7huvv=#4G zj9B@2Wsg;tR@tl$TWzss!y3J{bJo6JJ9ORMbsg59T5qvo%?827$s1)GyKRcz)Nu3q z&HODBwmjP69C9qA+SY|z-*4@=?fkaJ+t+L_*gib;dT7fXn|8=|jNEyBXNz6ycNOd! zvirjB`g?-+WbWy)_tf4>`)2NYyw7(3*8Ro%ha8X|5FQjCOgShzwCzygp#g`_9XCa#ERQZb`sS!h*v_!xu>QxwkCi(W?s?|$89_w9h+`32X9u1=aaKEWP~?e7?WloK$D%Z&`$Zp#=AH96xBpzh zxo$B#VzOggBpW4fC3e!~Qkk@6?1I>Y*t+MZoxgOx(uF@RoVlPK*C%doTuz+x#kCh- zTx@wseChV3>X*k}K6_dFiszM`SKeQ-ySn6R;?+9We6B@b)4lF_eaH28*W29)xDkJ& z+RafnkKZi3+40t@TgkWT-S)X1d0QjCTl~iOXYq~h_})2pN9%6)yBqGx?l!nL>E79U zyo62(s}de22=9B}54)dp-|j)cgX<4W6Z<7@Pkfo!Bx!O|L{f2*)5D;Lw;!54>i=l_ zqtr(YA5VCE^6{6)w#nk;i^;lA+@7p@a{oz{rvsmcK7H}De#)4XBPm%atz^?=XJrL4 z`)A^37oKT8@Ay3E`Ss_9FS@^2`Qq-2@~NJw>r)d`E5Gdba`Vf_FU?;Ke6{t}lULPW z4}QJv_0!ii(gvq(O?#47J$+z$Nc!XSs&D$e+4v^$O~tpKZ`Z!P`?g$0_l)HkH!}3z zxxQQUF76#alg^x*8I_rr+2+0P`{VC3-#5 zbFb%W=85uV=AF!YmsdZ3X#SS`gnXj{*8=~7sDkW*riG&lLkk}knih2_3Mh&$`drkk zcvSKB;>2PTxvSh?epY__>NfvLBl`Drb9JKaY}&Q4YT2TBv!;z3HEdA7e!aRD7IkXZ zu2oAYtXUJjD^R^Ud|Uy)?*QMJz|UOZr#8svKA3NgFke35zQ4kK2j=VdXcWGT^X*4^ zls{4QoliFX;44;t{c*3q_35*p{XU$!-_!eVeUI=TUX06mDAGGSd9h6zJj*||%WZhn z^J7?QzT*tT_6x4z+Vj~<-A=Wl<~nA8ecJ~EuG%aal)h=jC&M5?OW01}Q9GP!6&+2Q zXla`XE3Q_f3daUMZ@VCUa#6&G2J_MX-PR#O(;4rhgkUde)Z0qyX4g%%`ZO6oXz7D^ zv>%q}5qhg(k3qPX@Mq#t1)l=G^xV^|va7+LZE+1#_-UhHe9vtkzi-c@EL*f}W!1V( z+ji|896LBUyHF*1COl>PD_31#)!VHh+NJ32xTxPHdgjEx&#B#!4}@JOxzpPWHK!Z+08xhgz)iqCEM^oD<^AY}pJ zO(r=GCnIIW8HxPAApXIh6bMx21E;aKDL73m&yo+`B>*csTcD>cQ6;9Q$^1bEamYH%0n? zet(jp#ZnXZmGMHaP?@FAu`CUzfH*UcwFwp@cBfkTp32s74ZKph@5ZDC-uu(q&4|b~ z=(_ZV`M{9mCgTog*!o2m@*MnQ%k@}wr`FIN&st16{z21u;l&D`>+aVbx#wl;si!~d zb_%*$rQfE94M!hHZ$I;Fo}t^ao7D$xebRLNk#}};&K2<;=btz2x%zJHVLP9Gn* z3XHq2xLtF|_LSxm!`_SLN#vA?(2{od@)55LJtmEpW%0_@YT?jh=p_GDJC4WRdG>*C zTDzrV&ta42uikm${N3jt1?B6s>dqtLK=Q#-doAC+~`k zYBaO&Hh99^<=c+N+Y+SRssQZwK^HyvRliW^uFK4=fkp9d5_!IpY`@JGl+D5wO z)l4h26SZk!QKwN;pXqaFjvG5{q-%E<2ajI;2gzP%rWY1`{G62X;7;6yYd2SJ*tThD z@cf1Q!}jhtbu#kYW$D#hkCX4;mFIrQd6D|=&6#6oV-6kOvvWnD|DrW(w{EU4Y}m}k zwsp&zmCIEWXc+4Caql;{OIK&diQYp;P4S&GD`@#*@w(MpLXL+^B90u~wL7o)OV-Qh zZ!=;q-M;eV(Y*xN`|_GPdA47V-b4Djb?)F)rA8$aO}@TCt$NKH*jcx->eh+w*wb_1 zfN7Iv%o{U)#BlremTha-ZPHkar(;~Tx>@<72SWFqI2|3ee$~e9OO^#Jc=|9t@%+Ub z*IzwLd!JvF{RzugQw&2nFz&Hd16czkY=Kkd0Jj2$ZEmuk-yU!Sz)eBc2d)ixILJ{T z#{rK9JOkt$kkf%D19k`Y1Uv+|Kj1DPyMc59b^v?<_!3|k;Hj&ClR!QJnFxFrFwPU7 z0mFkHZVOOvLBdo_r2;<#913y|$S~l8fTKX-X38nx6006zx#6l4PM9l)P}a{w0t=K)Rw`3~f3;OBsMf!qu7Fz^Au5g^Zj zJOg|J@JiryfVTs01{@4>ImiHDf52i`3@n6(umX4q;4L7xfm{o`3h+tbaKO>PX94dA zc?9G>;GKY9fP4iq12`RUF32K~Uw}UXjt9OEI0g6-;Oii7fs6x=1>6DH1#nm3PJsJ@ z90alta8JNKz*7Ow1D*wVEXWBUM*t56ECg8>WOLv~fNen9gR}x}0k}MHMZo63RRHUN zGz6&)467XKef#`k$7ZiY&=pwv>))rez?CB7?=Xt2>U^3i`%ztocIYs)>nI__W5P1- zha=;d1l2~)Ls@_n0}Fv^meD;Vhma63G7XIDKlIOGFTl|J2~Plt_AtK?do-^E252T! z!RQvYF-h3PP=ZE)xo{yk43aRW8Ow@~AU84y=Dh>O)6mq>H88~WJrbq^3G;-6 zX+*+uK*D?>VIGj=O8m3_|J&}>P2cb4UseAkm8z(8a%!ch<=Q_dIlG%Ty4u6<3ec{^ z$asIJo2E4F3CU`P7IkKCiVBD3*v@q#2_L;PLsTD6*jdRdQ%rxG;R zOC;|d5Wnp~?n#GseD;XF2h)&7`)9LGp?j$Xor3Pg=RcEkyy9sU&a>|&X^HNHVQ&|s zJ@_w1NhR*eMt@XsLK6EvmG(4fr2&4SXfE63^90=q;Vus9y=+oQ`1Ih&ho~1Wu6UNX za~tMP+`;`)loZ}K1rdt(PeIafAC;KH>Ol&6pwUuPvqt9plbh z12vNpA?-^ONqNy+J#vyU&tm=k=OuIA{wy0l6C30}M6s1B1S2?>@y!_=T(2sd;aq`) z_njHUsJI429-_pfLH|9*d(_ID24>HJlUTk7lH(766&deTBXf7AA(|4x^)^St0dTD7 zAMt-X3@!~Qxip|e!Zad7GUSRF?U1;%aT4!>bBy*lAK<*lF&BnnJe*%na{f_b7)acF zsVEi0!1_>TtS78HYy%iJ);b;;Ns_`aytG=UVao7ldG?)Vmg%bf%>1#i*g%6 zJ>K8P^k5la%-E&4^5oVbf0d3`;O`AESEd*q7bcfal&ZqOaQ=!huZm%OEhXl?1{goO zQDiKm@AXIYt2n=4elf4OZoxGR*DiGdBXjK&w{wwk+ZNf7WnAMS<9ZDl*JQ|ehJ|B1 zGl5)QfpI*l09+9m&*|WL6vr&2AEl2=Bc>BEGFMMry$QgKHW9*!?wiKvk>a}yUf=06{v4z#<~tI zt7}q*|N9D4*Vv!GThCw~3U!R^^BuH^sR@Y2P z{_m?_>sm^~y!##I`m=I9qaNvC*%;0g#J@=8)`b+!B$`{#eSN;bwJEnw{kxJ|?{aJ1 zpOLUV18dNK%9kABSE+x*ifR12`Q+UF8}rMh{hvt1vie#4&+8W3#6PQB^v5gZUWw(T z4)N9T{2%a(<%em&_M&cH{sYM=3*r}-09WT?h_@Cnt`~40!Ug#M7x}>alH~xW8agmz z*-8g76hPVdqFyT~8(-8bzkj=LZhXOx1RacwEkck>|Lqz3>Gc13e8Do|=KsCfYf7&6WEO?CR1I%W5xe))I9#PoA{_`80T-KmrJvhhW^H2;6;x$y<(Y8*>& zOz{Oqb9_!}2Yd?n_oqLPFIXmA`CuQzev1A5R}vQ|#`{m>=FaeYjkzD@%B38id&DH~sYqPhIfIaM5Aa16om1IHI`pBKjz z9CH-M8a#7{&r*0^4%a;Of$^E@-#zYpe|*6)r8J3KKmF4*aP|97{j2LwaZFY>FY2bH z%>S=1fs#6hhTsU%<1>*ExNLuSCEV3w##tzilC_KCdIHO?r2Np)e}QnVgmEa!pN$6l zI5MXFXU7|S{=oP+|EivM(5)h=Dj#ldSJ96m{?T(0=SJ1@5!&Ot$(_^Y{FTXHQvxOJ z4I08Ah!WQ;zR;NPxd7KPk-(YY2-hpMfE|G61LJ*a{00iPH(bx)nR;$5(-v@d;EBN7 zfRlmoo;JQf2JamA{Mkkd{{Q==xPGB&xJm7R9UIqiNRafB{)x#)#=fJf|9}&J&2 z{%nAlcE$AnjDPH(=$`YB>G&B^RX%0o%g>bNzt1gncZQ%N;aGxWN*WmAm_HC0$C_kl z1UPm$0?!A=u?6q#_l3rT;}G7{u>i)s;BLSZfN@-T3Tz8*BY^R}0in=1%^&_w zk9F{)bqv~;Q~wn)$#Lp^;)8iSnF?lQlnUjkeg!u87kZ~F82g3o>b z>LK(0cZHVazN`ewN}#L+%1WTD1jTn-wW(`X8y6~lBu;)lmPsu=6PY=RFYxp!YG7xLPn4!T} z->3s31`K3W#)X2(cU>she?N?G96)j)6h$L2P}E`=-|F#ML6NxoCwO)h3C|)Uap%T4 z_uLt0{O$!3_9rCn+!}XI8t+*lap&5M7;VWpF8s!aB4M9YB%X$bwze)*fsT%zp1wZO zV0l9>^z{_9y7)0~aA;tlZ-7L(UBhjEuk*9O;7=ER7671v>)+ zi~t>C07eFe*aV16v@7hO0_zV3-9{_e`>_;Wgz<@Qw zj-vn}+1PEMgBU5m5;J4tuh58fXKZX@QUXgpQ2yV}A0P9_RFHv7#ivs8fqID=)v%3 zXvkW@sEQ_rdN7{CunfSE8=p$r2M1WmwKL9Gz?3f(sRrpE2-w!6#m?lqC4lJ)Fm4lo z=_Lh<Oo` zP(TnmPUxU8v$USJu8uw|0U(iNq9+A~kz=7jd&A;G_b@RV7#cAapeNHZ#*5~#4uCd| z>k5d3R1-#mF|l#LAgT`*kOH*8$n{}-f|QaP)7I4nb0$!T>1(_MVemNX>tp2L7oeen z1*8m1QlCj~iN*i1_bxy3EK8nOonKXDWmdkk>hw&{t8Y&~@4I;{*xdu0nI%h>ED%Dh zSg=NS2RkG-2*gPJZ?K{zBqStQvFSnGtrnmjKm!agz#SL{J|A=cMn*i3lc)mSTaz(F!oG5TX3ADd~d8mPj!SK!e2HZ|=9S z&CSMYHz2bT)>{M-E>n6PqC|MBj|wH#mQfv5p3j(I9kkgN*dSyip{(Nd+2oRFwqn@I z$zVQvq9<&Y+v)s}ahCCwaTv1C_)Pce9!=C-$UlBi>)04O0B27s}Gi-vEq3-$)QZ?}*! z-6=*auW(j%?1mB9Ox#oa!(oTV%3Fi3 zY{8De!`1GvEgeB<&-+{H^%@2{oB4mobcG0~m^Yi>@$YvzX3588>NT+Lti%QJ=q&6k&CgjR)Rc9w>x=2nY@hg7wHcSL7Lz2trpR=~+$3 z@B8Y%xmz!`i{1QweRn&bAvxSJ02?ri)oxB)#lrGySl=zT=0o6^EuiPc9K_u&Hs+e$ z++N=j#Q?mU-`uX2yZv^*TF>VvOUS0tXur+R5<3ZdKOF9I%HEhqCBsvg;3As z65d6;kK$EhgU1~k)+**vqoUHHE%2>E{frIm3K@bt+Z$b5J(f?i1h5LQP!$BM;n4z! z2wfFgD4-g`Rlli~uIi(nZjX>?&?0SMYfwukQ1w-YdX~Ia*s`~}jj#4pMO8=@lt>G& zM)vgHfmwe=?;d?>^pM%_$vQFm!{{-y-xED&7EjT$WdALCn0>D|>q^hv(`DV~nZje| z*;!+UzUKB;L^Q{`4jLGOta8<)4XLx)c)y8NFj3fuyTLVvCe*zOTqn~b|gCOOt|)Y(0$+C zp|5XCdewDz!AtU|oWPyugO`L$pRPW7wc72jA&By>QPEsOI|R@@ZuYzKs?{0->hlO( znIDg8H1tB2gCBJp`X*Iy^|wR+Lw2LlA+d?AIu5ND>ZGefi$z67;A+1=pcZnFFfh2G zw?fyI#&S=;r@sSt;0iqi?$AT<5_$-JLJz4T^pNmqzd>CQTAN|Np}4vzD%H{8krh>p z!%03VPSi!$eOi9no%RN#Qsb)@#aJ0i>_X6EV@;LmBj+kw~qE3j+HwLjViBt-3Ds>j)yEk z&2?)~-*0G7tepj^QPn%eG>tC`cPO66-8iTp_4Lv-nAw!lx?05#`*3Q9-3Hl+D|Zyg z$zxlhN=Li~jw%Yc8X|yXt3F?)H9A#6Q<05kf4N1Yi|Q6#GQ}=|my#*pCoB!+vE2i@ zt7&aF!W{uNaVx==14kv)vs?EYs#R?lqz&c1-$0x7sSkFvZ+3*K$zUnz*#o9Mj(8Ns z;68-c@1fh!Yv?-JLhlKm+ixfuv2*%S`+;;|A|>d@V9*tSgvpxCidvMS~J zalc`$P99KzZdWS*;#m+v?Kg;iQkXOC7cvTW;YZ-zZ?Ny}A-j|~GK1M|>FJw~AliNy zTBRk)pwdL(>#fCa| zTga~VG|<1-UH~1G-Gf#+4PrBZ%2Cmy@@K2T9SR>S&He)kTUGvS^RH-5Tl)=o)cw1O58H*K%@%ApNV~+(%a+O{^2`?%W7G_$ z2fMnT^6!kBv@z{Vc)Z_G1>DzugSFjYeo_<#e!IN@9_VP(2kfe{1a#-z`i@oz%=Cr`{w)@Sz z{oU5)hJJiXKwrx}t^3{e_02U_jRM3R%GL;bNB8s9Vtv28-!7*DA?6Y|%qVaGe47dU zX~D0IxyD&uH(a7mYpuqt3D@S=Wz*~3(@H7Z()km_>NSB>x`BunQ-UO)x!V)$5KS5S z(+W;vKqbhmKXB9PtJ)f3op@!yZfUa_x#nUX)aQJ-bryre;$tYEb?;i)BEFZ;n#XPf z8vlAiOYT|N{9^!{Yn-#7FAUh-{6Xa2m+YxEK5aYUx=g1v6FNK6CfL-&!{Isi?q;@U zhj7o3+3T)vX4~uQ8RKG6;o1Ct&wk~OI@v;HYZWJ(E>^umB)`7ifc+)=bNBnza?f_% z_V$`Ea^7x%Ey8@UCvDBRyDz?N0X!#z)_w8rdUlId=Sio$DZul^+O$$?e-1Q?e2W9+ z%{{I9`dy8lP8{T-Tq&OU7xCpj0(%~8BQ5j@StjA@-mhoZch?<4>;5qJv=t8Laz%ZO zcTuNVRCJ za>TXY^0uFIRv*pR(>JDW{{lN+NBMejaZ_Ts- z|6;vRXjCvkGoW>zlg`A_1w}-E6+xIiD^U2zPxD zlWlPDjvX^E{9;*gvH`hvl67raynTWhQ_h&HM9M2v8PF zrQvyyj3C%r!F04^6}4O5w=n!`Hv<;qjkyPQ2z$p=H9SA{bkK810XR{~f6Up|%{oU=mnPpPy;7cI&ap@`Lx8h#lYR>*Y{kDHrNULu=bPNqx|_5D zBQE~N3^8z=f^e!}alY=bF;;ozX^Ahz4D5|Z9l?--Os?ko;v5J`C^o<=++!nz#pC#O z<;-eH?G&_(=M0f;x1~>|RpAbew^6mR;D=18+9?m-K*}KG(7K(u;QNcYC4@PZ2LXoMvI)@2?zs~21pVh?BriZ(g zT#di=e7$IYP7-U3Dq+DeVAqv!1eRN0{@SnculsUv@2=r*H}E&)n=g0UFW=qXE#Xfa zrXcKzc3<8g2f<&qK)?I)u>JDDlLGtY!{HI{;}^GgU$Qd(l8uhX$KB)O&3y655Pw98 z@%XsiKQ5M=$NByCak<_;#*y-PIJD69Z2pM$>#?3E>J~p*%^{4T)Z?78;n?+nkFgkk zJaFmmh-YE`2%Ht3k@s%Ce1v=|yjX6je?z#XSLEntxjQ_vo_&1eU$@xo9$CCTVr*Ao zR?UxF;M(`}iX8oXaRWCR^SAr?2K(>L7q{1UH;cQediqF?*YFwnh5g?g6Efo*JFc}d zb?J)+vwfcH%ZxS%XSF7Kcg^DG`U`%Ca#`)te-JF@b!fA+1;6KVg}d0Ga^a3z4I!S1 z8%5z7QTRdKfXhp^oVGl>CO`RRcN>%x{=+&Pbm_ro>@!hyQMg!Qe`vZ+SpzqkB#pGJdu$*No zgaIs>q!+G(?^k=&3-SYKd#lE0kmFgfG6`opX28e$J&|XbPv*=g_rS}aL#hc=ubxmU zxVeA0p06M7R&Ba^H(Ndsd{``7c*c;HE8MS#k#*wv0^#=^Dx~*x z(+kOWU$}rPH4u}uYBtx8wKM*DHA&C8I5WRXi;f!v#9FnuUb(+vwB0UmSF_brnUw`d z-JPpnX!@&?Anww5%@i&8D`DrQLHJ_Y(<=M=)TSPlL5;vzWX#XWZzBort@4{=JJ{^_ zJW53~buA?s)yRY0qXu!^*VcaiHa{ytcOcF<#+$B5qj=i5%7~kne3aOXxqgRpwS33i zO|EQuu_m(172pf})$|koU~3fLlySJh0VW(FLG?b!YkSs>#UxyhfsqZGVIOCGHd`}; zEYYW~U1Y&|c8v9H<)?-(W~roW^Qk$$p-7$8t(-s+JIJ0^nTvqNc*96n8e}`qouao7+&V4{89^ZERMR zbD=UkTZ)dBpRox*iY`VDIm&YjUa@lUO_S0U+|2H_6u+f6D~xQ(dUw91S1Vjfg?lzf z+)cq%e)7QcDh#jM0wD73U4<>*Fx#yaW{II3QGS15MQ+0(FRLruR$k-S5U#MYu=THq z(?QpWDXp%GnEZf<(->cI@oL5Qv}2yTdjAY57E(r$yq#TNqrAIzrQocxMUS|c(`ol) zM5v+|Q9VcDf{;ZUPq8@)eR20ruFIN+sl(mMr_PdwC+HgFmPS&_E6_(HnIXr^p1x-6 z67I0F0hg@)k8UVLV!+AP0Pkj2^eBl8Im$C%^88OxN}{dSL9qaqkbm5!u% z*3FjNJ;RgyB(spYp+HnTdr-^n*?w<2uUb?(!Qu;unzdbJfw%XYJuhJFAp_Qb=!frC z`|H_qe@huF>NM^8jxgn}c_qVUEO;J0%br<%KPSQ~?YpHNx0H2K9+>$oi7_0%-(5~IUw3O?-`0;afJGj_acjllYV zB?GKk(>CCty}l>sj(Qs-j1Hc4{j%hF)-OJ97;)-u=2jWY0-r|(iNIsnGP&HG=jqLc zXMJaeX3TCekzgqTw`<{RE7!Wb_bbJ^81>ZCfNS5$^MkkxBamUAsSvFO%Jlh0D zBp5%zH~3-AhLQk$ql_2VzDh)x-DtwB@d{@EjI?LF`g0_)y;E)+p)mNc4bb!*$d*-!UlkNCUzE*Q9A;DUiqkAVvh z`t&%y)NsMTw;2N$9`J4MolDy;82GdpxQzc#i{DG>7YuycG4P>0;G2H_+m7E$`z{!` zVBlp8d?*ijx%5lw1p^lh{4!vmo$S$m-2_bdm!a*SvW?>5Q9IE7TynmPAAAPSvE3)RWE5h!{cgS!tO2-tb zNA`RskW&+~Gda&hChDZjGm*Ue(%X`{tq6Bo4Ut-;Rg;eyTh4LAO*5l8NBN8_cM?a8 zX53g<9bMk4IEgIS&3nwJ&u6RLada<}_n5Uo>#kMKZz8;Fx<_se?}liC_3r~iWDFT| z&x-&tf6t4}F<6Y@a}4tG8bFSR$ZL%;pp99wJU|yS)SPV<3&*^06g|s(&wukB%4X~5 znJ`#oVq8bJ05W!T1Wju}&Tf$g3#Vm>IRp)HE{#1}$kGT|^V1frRIOp_H5k({@gpcw zeXa+~cDVxDy<*H-g=%+Lmb9EPV^+CfOh{TY0xKZEb|XDUp8Cj7%6N|ia;^Y;p$DYy zDf5Gu2@R9 z#U4qc>wLpR|k zp`VPS&`;W!en|t;Z`1i9^K05k|9N0n9ZZ6eIFlhMgQuOCON_K$No6Z;BbAQo@EQ3> zKZR!Sr1ax=8PndtmG%biv^RK33BgywoNqB4*3(|fCS~vpNrPuNab-BT>B)&XDZ1{# z^T%qh=b;7W(~A6z*hx$e@KVnC1ZIr^tdj?yO*qMQ349kZka3pr6}k>CLhlK4zDM&i zjZ8er^0qr)p=%HDV${U*wt|xT_OA1U;VibnlPs6}1p`wIAf&XYHjm*SJkzYN3%9A# za^`)~&NTSC=bz*{7MNpnKCr+iHC!To1u^jH2zwwuUI+XT#0`XfEbz%OEFV(-<=G1c zE*Q9A;DUh*1}+%5VBms*3kEJ2xM1LdfeQvM7`R~If`JPLepNA$eVxFU{howxW(UqS zba(#d=DO=+aD|X=#`<2F=Z*FKdQ8aNZTI|Y9Oc)Bdu`fl%E!~jaq+K7LRrmu zZkhH9?6a4Nng_*sCRxu_Ms1eKLvA_yl;vv6=2uZLaPY5+tVE3VNN?r0+@4(5%;P*s zwTvTLP9XB^IgM7ZVxe5E1vvH&4+WUDDl(EJLRMH+4Ir3gqUk&e{FS91D4%7T!xkGM zj;gWcA!uC7pv@pY4f)DIrxMBtjc3c*c1x>*Dkpx9H^$j&Q|p*MBMMHETDAOExgHBQ zD0rjjja@?Q53&y*`-AM$$NnH&*|9&!o_FjIvd+Uw4P@s1%dorHd$h9}9NC76NS@4z%qbeu(GpDJ>_oXNhIBOxU`S`XX``RHG-_3*bwbb$>4tU><;TS~`i)GK~mvE-aSNP2Fh0X#|B5WqLPt zt8U~GKlw=+DW!6RRiwy~xm?x3nWOcHwqvc*!G5j>k2y3VJt?$5S?`JHPrs*sLl^1a z&`sz&^dl;Cp`SkFhVNXaiJ_m&U+t;(j!OLA%l@&>^R}DpC?d;a%Sz@s@iaq6k_J!f zM`Db7LO*GD+8ek+M}a%-4PL4|eli{s{$;bDEBn?oetbtljfK)U8jC}XpiiS(sCfIE z63%75#C@kQka3prm2ns(WPB$4MLuXT5aHlSmbcvp^Nx>ZKNmx&!7SrqKlipS`A+5@ z=&)IRg9Aj455WYlE40U1f;A6Iu@5RRi&&(fk5b@=H0JW`FAD~agdKWj`SKx+ANcA( z&&bdpR^XJL`8eW-6nJ^|f`JPLE*Q9A;DUh*1}+%5VBms*3kEJ2xM1LdfeQvM7`R~I zf`RV{2C}acaI@c&@XhUk51?wLcKhzYm*?^FmDsqu8$Mo(r5v9nz1#C0&pSS1IwNj& zb30$|W_%W&FNgB!>G@*shfVp2?qap)^Pj8rroJ>wIh^K|y1f5~|AFp5{!bFu!#`{H z|NLkFOu7H6hyU)+TE0K;@&E15{?&4S(bNBjpZ%Brh3@b7eE;BQwb3omuemH-gDp3a zUvrV|x46FK8tW(j2H{7pz8C#RS66@dvtK9dUi=u}=JC1zcXUQ{;{Nd~;@k`WzbEOX!j;O1DFp2vogvW8V*SNnw%4b`D!S%m${jXfs<@JA^xt>G0u=$K_ zvOe#Y_YeE^e{lC2!(n^JPPomVGHi=i${Lp^3|_i%89r~mlwn)E#^t0<{}1u!%1FK5 z^L*~(wpfqw2)pHs+mZa|?rBTP3SKCpT*^83Y~nt48MZ~dNC$x@Fs06O_i;N?hII3* zT*hC5STI$nauF^$_F(#APwd0%(Dq&&-b%XqOqVIMoouH2x+&ei_D`^Ou))Xk))Sf?oehzsElvL*cPxE2q86bSn2*=QeHM zoNxada5KLCg0OR*bS00Imc8V0&fi|P&H2~MwvL~V|Gy`{<%oCNWf_(?F4MU1zt_Mr zh37S}{EyU;b_5QZeB#D1rTydkTVct(Ilc#O;k9yM8DDROB{;Rb;LtwGB}`)&^xL;% zd{~C<3hvWCt9@>C|M<$7v7EGLJf`EfY-Ks+GvM_MNo;QaeohQ?7IMB<_8%ys!MEJ0_-=_|N!o zY-BFU{WbG`;Qs|>g>R)F?aOaU9t#Y)zXle^Txc}>FtCi_uuRKKALVXeoh#!Uo%49f ztKrk*dvKZl3E#^7>%wB4agm48?|~urbFid;$9LN(jx0AketZ{?fhV|3-QI&sVS0-^ zMzMplZk^>h=LUw{&%t7wrq_7B9m5d+`(XLH^4I_f9^ue^OjyqGC+SUiggO1!YHq*M z#n+L?DDK2r+Q)>&@j1O-Bg2eg$-J0*ogScFMha|6IQ~KPZcNDf3U; zk$xG&lKRGc=pRvjblQJ{e|lN2^lJOg;XHA|XM3NM#f%S3*8fi?7a$Dd_FNl+*Yu09 zOt18n@ci)$mt|$_Sl;xqo%Y)phw)FJGw-w=V?4jq4%7a$*Yo$dpS#p!zORheq>p(* z{A0RuTt;@u{WbHx@Z0yl;L7;0Z{@*WV>#wy>Bpis9^b{e^#>;F7ACKZ6YrV-)1SH9 zuc7fV595&&H-;(C<~}V$JO?Ma+rC`lX$(XBWBRf34~4~cSm(JhCl3=xfg$&Eu-M1r zD=-D`Y5(|s4i@2=!sLAU78!RsPtvrKWu&*jko!4UG6r%FT=GM4HHIPn*T52blg?6q z?&sQJU1M1E+fO`RILfoRpDQCUk8Zq28yXjv!sA=TsXzB~?RXBB zl%HpFKUYRz$bAaSbG$lZHgyG_bFgGC$^AKbOnAnZeWL>%XXo3rEx46l##dm9ek}QO zw~zAdYx^ZIp0sg#x6Q&cjnBLwAFxjA%NP}ZI_WL6=6LxN@{F(0ym!k_UDlUN z8V+poq4D$jh0W*f_2_aHHPh+Ul;?AFio%E^`&;0W;@Q6pE&DyUm34S5ABZc;vaMmE^El#ogX8U zxnCJvPw$pFrOy;Q+aIq>^N*Wj;rZ4rW5NK!!Y*$f;8*PWxbgnBa=lQ8`nGa z+n2V1$DcUMj*K~dZX6Dse+Vq;pWyK8!Xl0=OWchwfr~sgZu`_PES4dD$JZD(%OCf} z)bDfFm%f?86nSh~_c)w(SeJ8SE@9GHzI`)(X6jEF=h_$8J_MHZk#sh#dmK(XrmzT; z@Cb`I8b34jr;L|iao&wQdG7ABwjuJ%cwQOHW7E3F;k4s9SSY^AA3rnor;L|iagI6% zL*iZwi}UMqSLP6DTX@EoeWSB)rgQc<96882V0;BOo^uAQ~t=2kw_9{kt1{u0+;=F;~2uW@3trN_{ubeT)~42^!w{vG4b zKC!JY_3@|d->a)X{~6Wec;BPn+j}7Yu)i1bk9z#oS1tXm_f>yxH{9EMDf_S5`zMDU z|M=$n_pVz1q@N6LfA9Q7QW5jdxp{@KU&^2H@|wFve(w#J`SYI6`TO4;-qSJf&;RZJ z^sBer&HEq0)#~&-1V=M*68GiU$y@H$yW`IpH@4se*OnN z{-0|7{1^XpOaJwMwxwVF?RNj?{@s`FS8+%BY%#xhhAwYfM;^Dgr`vvX`1}+%5VBms*3kJT+7|8nBb*FN$viA45{ubBY;rdl}kpo}4 z|0=_Oz2GeW?Pjyx-rn-L0}dkCZSVa^%5t^daf-q1^{vMlZ288)O?f$ne{pwv!yyOj zHQ&*><0C+e)rN1%)JK5$5Wr@A&u4u2A_67wMGL+}Fvj1zn;X6$grkn`_})f+al=#c zpStnG_|+Hb)E(*69qH63>C`jm)G_JQDe2TZ>C`Xj)K%!zHR;sn=+ryu)CK5%qupvu z=>1*~t3S~FX1kScL9co$oq7kIIxC$z3EgkETj|R5{!S0OCei(FyA9_hu+%N*xYYfA zyOlmc@ArFH-Gc51?N+)Zy+7<>$F}ZA?N<9wdVk!*@A~~G{Vq??{j}YN-#-|9&Exkn z?)YpDXNI@$RjgKgK*jGw5aGv$_`u0}bu%NXeS)Gs^#Bp^0NWJiEM?=*=*Eq2E)Ng&sn8 z>X&q(%g}>5F`av8y3lp#!MQ*edPqB3>~Y*A%=a(+nn&D?U3GLfehcJV?feSLi!Oln zd+;87r(c5a^jGkm{tCX+U%_|!EBH=-rP}mY!i+3GGLld3v{43QePty4wjO2#9bF=i zG5E|j&gE!_xldyKV#!H9vYBxb+2ZKG@tbu1b4<;JlE>O)B>x=P2%+SMh9ce%`E{ zA8Cx2{_PD2oPjTR2z|3!8B%V_OTEMM@g)CEpD{${jbF_JXNB?lfKmd5;ug=h%#N8@ z2DB`#FHQngPUCe;J~2w6WU4M}ks=+GCZKSr1lXcQ^$?H=^!9#ke1qGJI6Tceug^w; z1>G?8=C$CdxISQn4apCBM=lmb*rU)->)4S;`mbIc zJcf!Ti0r~n3hwu`JM9fzX>Z_8dxMu06MQ9neGBc%)v8M6)1p)^HEo_&-r#6rn3b!WX?6JBUxrbQf9oA8 zZ?zHQw@F(wQaK^Tu%T6ijY1Vft1N!Nl?jEb)?7g#XZ?`5Khf*(>%^v7lz=c~>RAh| z%nlru`87RT=rMI&%YP>BRL)#u`;J+9bFG8;D$j4Ru1lPpw5q38C)*YpWz`4_Hf8H$ zXI4}q%L-FS&j}&p=S4{EeMz{I$ zRf-?h@rg+L5?<``EpSdO1$8JSIJZ+XXzBd^me;I+?n4msiu^U9HI(qUECqL zpo*j?+Ly=mp=qQc_xR91;$1NCHjGbZH2Mn}|Ed1b?*-Qs<1A7R+`Zs}n0~+L9~&aV zcfa5962AO{9uD9BVGoDSf7HVn2S4uN(BV&dIOFA~J)GNf`p4Pgj<0^hI+n}mA06#A zBd>{aVBjhW(tz2af5Z{NP}Xfq|Jb99+`t%$m6*?9DGd`Phbo2u{hA97*&@ufQzh9- zE~dcPfvjaZK0|t`|4>O*^>Q=QiL{b|OExF&QzjBc!&P=S5M=@wAOWA2u^7Rgg{E>M!@<-?)@<-?)@<-?)@<-?) z@<-?)%pvp;`6KiY{YB^@`iq3oKenE}X*Z;ic;0?jNKC=~o_43bfh+9|+-Yy{l472e z*Mz1fe5Qr4r7XD;b(E^){)2;Y*~lSWp0kl=JISX!GKo||A+mkH+@g$VZWL)e&b&u= z%z2C(J>DaaxvGRAYpbJvTihsOl=Cz;WuC-Vyp*mGrBK*4b)KwLZUwFRTw4bkK47Riq z24r}aS+4kBJtuR6QOQJ2D}K1$7f&Tf8vnsh##`_ne5YT6@AO;no&F5I)1Se2`ZM@W zf2O|lXTp7%q<~TDBRwZxMtXDT6XHcfkT^uD6K_-o6Q5LMzKsd2zz=d(3sodk?+ltq^l zIFdl~^_i0RKKn8$_67(3;3e<}KY>5^3H-rN;17O6AHhfHBjH*vm&n=V&JsTT=^0XP z%1ga@KJ7}F{qr_Ch@4aX-Eq<=m0h10;9{9f9HC8r=R_cGTb|wlh5Sk&r3Yl2EaX}& zMS)WN#Nwxuy%SkoQ2M*(ryF{MKR3RI@y4qEsA}q7!L7Nq&6*?c>2PYvs^hThWep||vZ=q>#ndQ12X`n%OL`a2iqUtfP0`cqe6XLp1j z2kw)IF3mI|a;!dy0Q)?zcCODE6(Ly``N07S#YMA{Aj7&vbn0{JkfiH*(u+4#L_Oc0 zST|br`93REL;+!mOj-l+_F1b%P+w1Hf1v!ZEvGoAr;2FF6`u0{^l$n-{TsSS|Arrg zpM-ugjzT|~Z$dw*FZ2`nA@mZymvGnLp|)ea4P$t!zk^>iPJ(8v`bDPEJSZJnAF#yM z2fot2l%IB|y@4z34cuvO@RH|)uY{o{^>>($@TrxiziW!P(&<4qrN2XDQG&3yS3LpU zb)`ZRrLbGAAc*d(%=BFC_w+?x3W&1G)Mx9ck}0n%1*IvJzx<#nQG3Qpv{K=bYxPQ{ zrYp^sN@9Xi4C_lsrs_TBgEajd3<=LvKIjOo9JPyUUJ6y8^|V#3Ht~|mOYddz)q+t% zwW`!xq#pHm?OCW^9SbOV`oyLguuR}!h@b_cD8)5ut12yC$MTnDW$S>XZmE@cm$Zet zDzARb_oVU;N7KfgYn4@Q9iD~G@&UE-qwuxLt9{i{>qUN~1tGkC58Z}dL)Xa`dQW() zzXJ|PmVRu6+dTOBr{5e_c-UXL@A|u*WQ^oP2a}qD`#tSQblR8jY!m(64aMD~f7|b8 zh@O0Y2*V;iSadVH-xxPz@9%z%tx;_o&+qQHJEnGGuWy(1(i%17_062e*VyvSX7?H| z-7ncK-JXcp*9+zF9XPFR0UEr*eh}FY7}h&k3A#aaejBuN#Lh`YN>$Qbt~d9K`7NJD zTC7-cFfrd=&*05aD$yzcRj96ziUXT>!$4~h3 z4|+I!`-eRoI{#4*XB_;vheL-y>EY1nEA)4>+xg7Nf3PO$YCP4>t|^^mim!67nRf`F zx$3J>hPEp}Ws+iShImx2okd>{N|JO@9S?|bosooK@7vznNKv>(rj_Za!%K6uXHdIJJy;0yeL zFYpJxz#sSmf8YuH2@mr6$)XreA&b!E&g3@oR#Fqn%S$S*#h&q2RLc?0rQ=s`8tr^w5-J?Egh$|(fIcrwzIf4E&!FOD5(Inb^ ze}6k?0(X8^!;GAVoar)nMSqa$nwb6t0Ax}Y*d!@>k!1Ya?Ilj-buBff`|Y%7kk`d( zRa-cPSj3w(cMlYmf!FUD*BQ?l?-|b-?-|b-?hrP*R%%U72IjXa>))nT?{T} zwqA79=M(kN$s)|vT#(APDj(vbj6;XD~VmG=wKU!b3Eo(*)nQMK~ zWdD0MLFE%wGF{yz{z9S+XrggTmB&zd6a8Z!Fs-}*>}wd!@@joi_5n}V7j1Eq%4JPf z#C!^iD&}>pSH{&6Or5STWONNBr%yCm7{O8NDLP@@)=2_bJg+AA;)l}A&TEI<(BO5o zg>1iB8PCdtvD^A%=%`kCmJxtuNB8DhYFbsRyaA3>9(a*PYJCAL&8oB-AGz z;|dzK*LuQgw;_R@eO}hsmd_v1w%|QTYI*zZVS8oj;eq>l=q2U6^)4Y~_;-K*_>y`=)PSVy7h3UUJ&EB9R#63A=^FbM2COkws4H#FvoALlKY@N{eR}a8TttMyT@k0l6F!8dq z^*TwaNvq@6Ok{f2)A{p#_1~^Apm8y=zqx}YF824VxPb=)6;{#+5=_o8ragGM^Gzx& zYnTUodv3P}X0!*lbJp$5rLg|lY=a1aP;qnf?v9?`&bPDq?TLu(dYmqY{MGNl30#k> z2$zD7>v4=7_$V<`9xHl;GR19l1+^Z(ML~ea_4v)qwHNw`MZFy8dVEb61-IVY><%Vr zt34Mhz=|MvCZdGE%3J9ORlx1@gEKS=mNfVzV#r;d$pb}B;~YRV4nFm}>p5}b82zJg z4<2Knlaf$}B5FG4nK82PM_vjN(|M7zl0R}-)`yt~LVuYjK2#sf_>dgIu73+`XU2$b zrZhkac#x!<#@xJgiU-Fa#$5yuZ@8Fnd(eCprtl`InC6@X^J+=Vl4ZqcHvK)=9wWdc zrR{G=O#_uxDI5qzgVg75T4@SXk$pGkj&4@~Qu%CBEs zzgx^1x!v8&wSOBNYm32;he>+uCc$yix5pnu_xm@EZ}=0utz0d-A$FL}5ZRRq#>w%_ zr%z2n-J3W5acq)Lwg!`t#14PxD)bb(3q1utp{G0-dI~)Tt)a(+yMDnD+Vu;Lj*+*< za~qi>FT=0JjZ_T|ES`1zAtKd~a}YKCf^qdm3^D2-vd{FX;XBnY$encR7dozweb)3t zEkjR~8;`t|);RQgy`QiD6i)cZXtj$aY8epb5%l4a2p$LyOy0^T3Lzz*z_8sNs3Zl` zmb6~1pU_7LrQbtmi9XdY9QOkukQz8HL*^U{&JzJo*J2b)sLOH=|!b z^i{t=bC#uFAYA%|TG7=eU9HNB`laO{qTe%4Gd@G#!CS^}#%IQFipls*_!<4e=rse^ z{v|r7t)bBnbm_-lpwFjFdL=75W9HSEg9? z2uJ-w-{(B5U$DQ5p-3YFIMFYl7?bfZQcaNPHO@seZiRN`2032RFOV7MR^to$g<&Pn zppn%HLVHc$_OVE{O0iL;R4Q2M+mA&!(u{fpm|@f7u)=DkU?6O1&+8YIa#RLVM^U47 zJhKm5a8L^)s;e99X=iy)6`&^jceKB1qiEH7H{NCGHq`UQ7p3d>kNo0%qZ`~hp>T1=~R80i<#jj)=AUMKnm-qrM3N`}RVi~8a2 zwAA$rt3khjYN6>D+~T2l^3^ifV;tD(VZ|H$!YcX&rnLjw2Nt^1%B>el*leEa7qmeH z5aB)5dbk=#uR$Z(a7GV7Giap6AEcN)tzjRKC+FZg4EdJ^>uRKyn7;{&Ozkjf44+4exd~8l^*pK>J@!qnB9ibFJNFm?M>4F8)p1MU^q zmiqu^cb9*m^5E{q(P^G_m5NU4_4)H*(ao?g?EPgEig(B>Yjz!32?$B^D1vAVb_q8iX+TA@kielBACz_1S%oCSH2 zOR|25+!FaPa!uB=k$XaanI|%zgzh6Rg)XxWNc|_oLS)k~xJZ)j)GyS|Si`R>Ky?T} zDa>O7b0*hu(6=pl#-%+MznXJF#8Eetbr-Z$DI_+T$aMV7+mv5{t```BhBr(qJn1Z6 zuE_{KsH+*M1!@j!`h_ahDJ}R2{K0$ho&E^E(;vZi`Xl&Ge+1v@kKjA~k@}|fqhD}= z&>TCI@xpWNM}ZD%OJxH2G*0Y4=Q;qvQ}7e~1wX-G@Duz6Kfzz{6Z{1~!C%4?eE{r8 zW-u}p?)%lomOenwR3Fgdo?H1R_4M8w5I6&0;17I(Kkxdp3D6k(9Aj4IHlbl6 zKQjB~Ef!jdZ&Q2j^Cr@aBSuwH`L>L`MSwbm6yYrS$>3UDQ-^wR}QC|y;@uJzgi zcyBAdv0k|`o6&C27xDJ?v2c|o@77ydFrnv+vy88d!(_|&O!ytI;*ag`5hBXoKr{Qk zRzG8JP$VI3)@9NK*+=zz%Z@d}?nn=mW6w zbZreivSM|)On2>B&$b0N^~M^3&2_8?N>OkGklMP!gI?Nf(FgR(VKQZJ(DVUM?G0>I z(Gshz(g(DPtanfRL?2KuFdh!ow1%r}`IkO`9eZrMX~|I^P&@l<+iQ|-g8G0%RjGZz z<0EkF-PwOs^?|*?mL)l>{>MjGH{z)Kr!;TW4C|5KVXhPK0xygG%LVS&29RC!mdUKhdo6e4j{Oe{gvghtR>I~&{DJ#`^TzWML{=q(9U76 zg~G(Wm0sVb4>)6Q01tvieuzGRy?SV;t^Qel<6#~Gr!58#{}X)xs{Uq*@ZtJ^d$a*) zi}w3#$K?VRu%DH5bic&%piJ=8Ce6_i+|bC)UNOjx-Q9l0v~WW#K3MDw+k?#>UEcO) zetnB+%4WHp-OqR>VBAI52qSWTYz1J~i?wHW+}?55+W(G3^#Hf?HHrk9G2@sHaDIEu zK^`z$gtc1VHzB-9WnIcR3TaOwYB`^D1-4NH^CrBLmWL@vsDAaYakN3M$e6~3PNAbdaT$&9ne zKbapQ*QXiN5nAgFwQ5i`>_Phh*d@~$f4)yHQ5bYnc6eC%!tw*CbNpJ} z%lqW=To1nq;Qb!F2jA(B;5+>he5XHx@AOCTo&E^E(;ule{gE*51Bkrlt_OVw;TsVC zb(~%E30!Y*@D%(6f5A`i7yJZ&!B6lP`~-i&NAQ=h=ZnjNFkW&|@1J~UmUg7vl$Uz* zeA<=pu%32Z#rxJF=gmg*s!rSN5yYz?(E{MqfMndMvm`+YUYceOm7?{!cjG{y_aH>H z?4{u{p2>ON$AI+e6fRkoLD`qhGErILuz$>X=YjLH;k)d;8S=7y1@^(yUON~1z78+_ zUSkFWS7@99$nk&}JVAWFr$5q9fh+wOc+;PuuM`vdN|P>E;yi+Vb%3iR>tzLjAY{TG*czUD<>srVS%*k0IGk9jxeUkCR<#6o zSJi!0@m=Dt!N^mtzo^Rs5WmS%4Pq&?pYrq2ZRj<0J!7T^fZ%{>U=A=zXiq( zK-M>QU8}=|aFH9;*!OKemdYi>`r)oYJBHEJ(ap}uSKF?vzg!$qURxD5V`Q7yNxv?qt;@xUIuuo)DJ=#<8&p3gW z@j$5zoFNGdD`|XX67k?V1^4^=>gU~2v+4${xx-BR4&?&s99o5mo7PsVC0||P`OQ*<&hD@Qb3Jv(u4>6OYu2i4 z?Q-TBY<9y;>w2nhYMfn94c1%;Ebv99s#Ei8rs2tY$_Ox5nVr3LMC9ofF{Jkl=<|B% zExoU&#;coZ-gx;_jY)RzMx3~5g!Ax;dlE4&A4bm{HtEmE2ay{>Z;>k^e@5=e^N~v; zuY`|>UP70V-$OUATTi)&>g%btWVh|iJuqaa0%vE$4K&;!xdr6GEm#?y%t)(j_!S;2 zD4&EAz-D=_iJPv1cDu^z>;(t&g}bY5WJM(ZgAJRrNun*-#nSqCiHj~5 zPd+RAZ^cyh3I2ok;5+>he5XHx@AOCTo&E^E(;vZi`Xkk*KN23^uO8m69z3DhBGgy^ zq~Lx}yVKslmG%biv^V%jF~LW|pKN`j=8ZKkD|igPg6H5X_zwL9-=Ux2JMqqhbJ?k5_+b&H{*EjBsOx8DDsHQhvfFPld>Tp)awJaX;_I1}ceFvmg5poinMqE}u zwZ179GpXEswZ3U*M-=xvv%ZPFDHx)k*stQpHQ8}pP`W9WF(e+>H^aWn^XnTdJ3&c` zs-2Hoz-*LB3l8H(>l^-WtFwG|e_k*%1vzVS^^^HuvQfrt;cH|?+IWql(k_SI;A$qBD@ zj_aFx(Y0PeZEvEw*swS1B#>I^)cQtSohJU*sUUQn@|^i<+pg?QcaTgiF`DUWVXCrB z-)9A9^o#pTv_<)`);CfMedP=x9GPTaARjF^gV)%Gk zd0W7_xEd<&>l@0e_02kqDOU>JE*kFrEPmR_$uDYxo@uRwKyuM-m zMI1{4_JfoIs-?AzVSmX*geBEFZFn!&y&skn{5-ioTxnWm=1(&20~hmKMCe`^!YY8fC|>S6g*4TWr>ku5TV#bzzOl zq*a@FkG{{k$EKBOgT(z6SaD;FS6OM*!{gS3{qPmPaLc#9&x(CCf_VFft08i=wF`a) z?~38~?E0pqf_j*vdE5!g{FD}j&nKLDAmKNxZ?L6=sc{_oWPKyl?O`)=ZN(*EevbJ6%!e5I6vynnH?wi67_L1do+KsbX;$cDcHCzT}zo%c*pXvAXXXqj0JoJ!aLJtXl zB6;85-ef<+xo5j^Ksxi{YCps6Jn5tFXO!Rl3?DV#31t*u?rGE{v3OJ*S2W`!ePb4B zvdjAjZ&P`H*i3=nIviaab^OuM^?Dd<1rjIw8IDk-#Id}8+|NMla_7WOE=gHskCsWu zVMKh4{S1$~U}C8sx@lEi@|?Wi4z@WX@1x&BjI?ux{fxFl)a=Ph-tYEgLMwjH$@>;? z6uG-(tu9qze%m%Wo|E@okrm?Vc$^Ys>p+;no{X2N(3)w?hHM&nzip@fw#0#VCs(9)RcSLAl$KT?6<= z+8#;Wj-p=ILCEnox88ayo3*OE-jlNq#B?fpd|(lH?>;?<$YzTAqIvs z$oqVS25?CtvgId8lzBc_-e>9g!hS~H4+lrXenxF$_g!-0zXa5q_8ZEkfq??Sk3=mMx33;LbGJ%)X=KC@vy1n7UQ*2D#->q10MacJ5*e>rYb=PqY zU=nBCGo59)7B2kgeyRP0-$8i(y9kk+%@69L^8IodBWVVKSXvPbOMw4EA}~))Xp~R z$MTYgd;}_w{w-^}y5of}F&+o^P2q?0R#*zX;3T1u3*q;B_(R4;_(R4``ZprgL@(F_ zhALXX^%OeNk^P?j4_ySV&`016eFWYVll4l%$nUZ;Y|87W>D;v+YT|;bdKqMO8Xv)f zlUG8Q-{r|&=;pI{UBW~J)aS4qj%es{EkTu`dP7WtW?g!&fv;A*MEpTt-_3uDz-j`4 zb@0U49*NCrXBK|Sil*C|D8IK;5UDa|Vf957H~0L$BE>%s91~QlwDtx-0mY;1B;rEhW@yY5_5p z{-H3yqO#8FMqWgVgcgAxA#oF8dtgOgrLf@6LbNQhoSi7tF6XB&hD6Pd0m7Qry&F@D z`U+=maC;gBh$BrA2N9NDdw3wB*>Kf?j%vn5obvlgxt=?(@a3f-I+5=nhrDsD(M&3UtDJvvz_BQtck@xUW z$3XOivK10Q4VCJE%>(1!+IS75VuA2q4037maiMoG`SZEb}$&X7Ao_L^Xhli5dskctg)D(&1C){G7a(5tV zf5Ke^kI=05K|b_+2pjG2mt2?i9tKgD_1@Kk(X$e+N{7^X1*GuRyUyw>)tELUtptKXUJkwRP=1 z5U?XE82c;~NH~qPD76J#jMo!xtF%BRunKP(h(_r-1S-f+`$vZCxm1i+pl#0_0~J5K zS08=tXOvf5@3{+Ast5u1-Fd(CfK{8SUd?eDI{NyzGVcSLbmK4wm|1ZCWN^zT&x$Sh=sBopm3vjv8ffh)gsR6Ky8 zUY15R=Ftj|15NYo<{nz$J@2o&)rV@fzeida`|SL|`AB%(`^3X}15Pn`m@I0a_qe~; zK4LFVEC#9v?6?C_=4{;YO!`0T)U5L}FN7`vZ}b6K-=>(XZxhD4xwiK1YkyD5Y;V^b z_xCs-mu)Q@$KD%1%!UPvaNy&NeUDu8+_jTkF1PmBY?4`9C_LUR5T2*Awa=5Kw>?BR zX2g{6R+eU;$K=7j4VWalW(qeiKqbdCEI60fT^x2!*j;0~sK?mGa9<3ZapV}518&T4 z(02CsoJy3q*ZNK96GfEZ1h`Ay*78D(_t}^oP^ywzlywp9DiT z-1FM2j*dj};8s|hrr8y8SI_NIjVe6fj#lFKcJIC{Fbb~PVPuDl*B#hvoYHgXHuM_0 z4t<8+6ISfw-RbH69;fz8K}AH_-)pqgPVuRiRV!7H?PpH_U<1{Dl`PqDu3btui%4*( z&R$Uc&@b+yvaR)Wi>(PIysc0#WPx#)b#861>wTO}?e9TJR7qs5_cWj@3%ok5!F@J% z`p91&PJ8r~e|BXxet<5v*piV#H#}eYmO83<-^Za6AG7jx*~GL40cCp`sC5|GdgbMV zC=P8ewpA{uHd4DlPhf+pAbj`tG@RyHUl4lKq7QRISwCH0mT;c;#*2~ALA~!K z2(RDYO0U!XJ>D{Le-F-5`+Iy;g)Kg1ZPx?PF!p(P$YXpR^F|N`?D^%=_mqEU+@zUl zU&1H*dne}&+;b?a{EUCU3G4ZPwZG>;=CeYqPe zU*Z4TT>m21zr^(~bNy>v{|488_Ak72JqK&r^^Quu;5z4~uqvB)P5W&ePPxE%2HrpX zs=@b1llvG}{a+tmasATu?S%K`K76TvUjys=`ghu|&(Vx^9r5=SefaZ!{ULX+KYHex z_V3q+_ubWTjK(i~-cfn$6ZrgPWRvV`}~xyCRCwy%KcrR(d%`?MXe zk9iKxSC#-wf%Ua;1_$3BcwY&t**d&$g;kip8F;63`vzD$yk7^_Zw}r!!Z*qO^RJHc z(OdoBO#e;*cw_LbFpl$oIK2Pg$SHp(_(mXp<+6*1Upb&I09`O}!N3Ir7Ytl5aKXTP zG4KUB-f_9!R)@x`CRg9%`deIohwE3}1%B73V;p=J;OBcKZlkgD!u~OPEpDdWvuW=) zjoBxhd%PE0plrn5;l=Wa4IjRh(!9LjX6%A(61>FTE!e!V?y`6`sIbJe*evWkA2YJ?BSfV`ddAmeT?7k;heMiJ3XBDWPZ1YgS6l4 zVaKKJ_uH-Z8}xp^ht-Mde$Z~E^Va*r9+s|kKWewGU357W3bY%ydc$_f~v9p9mg&_n3P{U=@MD)bP#QIprB?&XoXjEffH`1W}E{fnE?_gKU|hct7{-NdoiHi;ovUG+5jmo>(r@CjYV_qUxM z%KEkTTG?)myC04)Vf@FPkL-^oQ{5TsmUI#)lX!jP>7$0^A2F33Qa>Qlvg+}an!=Bf zqtb^+c~*Blj+-StjjeY z8vvp0!4OanazI=|Sj{3|VkCz}PfJ^`zx?t`pLB%7q1InMK2|{$T(2J=A2A22N@U?r zgM5mjoGhQz3f45(gB(`HZxFd!TjyBjz+vU=Lu*cMLR=k$#Fo8aeeqr=Anq zX@SQF2?yHXa0Xltq+bGm@DligpTHmd1peSB@CQGkkKiNpkub(H2zSRH0?qXdDL3V% z-r@OplE2|wwvU}?@GbrZ69;7WS~ciJ1gq_p5GVeH|nW%=pNs+YhP^D8OfO6y~dsKsUb zx(0D3NI_SwvPppLDV}g&E&1U?^H7o4tgpLQ0+d+^N){#r*Z3!{j?)4q9Pgs_{Z+AC z>!`E0h+EuG5@-okR`IR!HuUP_Y$P~Pd#jQ#sqz@a+L|h>-fF><$}5!?3<+o&3TS_9 zhP;9DTIC(+YJr@g5{|V^e1J?Ajq&-ZHsb^B@|sEji2>E3Jd6YF0kDx;KXN1zJVh5x z!#JV0>Up$J+VYB^m7lA_%1;v1u~1$$ZCq~XHuM_0PM*+v!q~$zjvPu*ECjm1nievJ zAT#o@w?z^E2;xqUzx>3c|XEaZ_4&{y7I^~>pScQZ_b`8@b;ObvTDPQbsxEtZ5T%9{ zov2DtEUYaT1t~-v*t{ceDo~YJtxVaS)5m!?ei;8nKiUuyzWe=-pYY`$^lqi&$ zE(ehu2CKv%+k=&~To7J~NpPLEeB`x`wW?QZQW?tIJiLj(t2Q#g_LzD|qsr*sD9O8W zdBS&ljHlQWAeWkbUb(8;%tjQanAHhg^|}t)$`-X;&Ff8^QifKPuVc|n%jU!B6~*gF zrTrxiS5YcMEuOfJW;hrc~G*eWmLIvfO3r89_7~?%Y_StEHBU`ZxWT{!Ra-f76WgZ^E@0P*xnf^Qz0X259SqHf|ZJ z?a>6=9dw=MGP*^cX6%uj3nY!4@gDEh1;=3XokZrLlgK=A5=o%qEAr?cmFe=#e}Ceu zKs_Qbl~|$n!^2hRC4OXw~9AoTWi^_lFi!O;hOW=SG^@Up2lg;BQs7&00K0X?a8GO4(!c>o1u zLzPb+6;N%KSU+-TB@VtL3tyvX8tXF&@^WR*TB%V)sk2lqrC!Q%;qn!Pdpm_B$h?9K z=DUU&Sp6Qn2jA(J;5+>me5XHy@APNzo&L=DPJgD_^k>2<^=iImpbozB9%Cbjf$g_= zliN=E#`Kx!R}eo+2Z;)^X*L?QAgRinTHs3oi`KjX(u$PuWmBm&qB#wG`DGDT?XRL9 zZvhE{02Ts8W}6KG5B0UI3VeyC9Kpd?JaskiAL$}=kp2&Sr2j)7>HpA2`akrM{ttbm zze67hm;T_W&s3do_MSHgvF@hbj0zT1F239uq^<=;?t8eoN416Y)? zero{*t5oq(@1GstqF4N&cXaG^?-09K#p{<4d8@PG623I#J@HDmRhSY}FRXbD=qr`y zup~{trr!d8`Ze^HehEHBw`Zsiu{texPpM-ugDnmb+Z_+QBZ_;nm`7iQAFjDqXr4(%4gdj6` z92qif@(!NHMToIKDk&wMzo*@4Z{SLM19#dRyri_?E8%DLnY9m#Dif7r{YY9o)IY?l zDifWbKSKiag=W(wvOgRq!F<6JyuuCPq3M$!)=y7Z2e)a<@s3K7qM}k9G>1!Ge8;%$ zX#xUy=>eJYR9hC~E&UnF)Y1de$kHpyk&C#|^gZX8Zl{$Cc~hpItsHq(*sQl&(Cau> zUJ10|{guNvXrH{Z{Zygq0iR8PCvmE_IxEo54|Pb?bv`{P25?eUE;8-~x{vMWpnqGu zm0JgemS$5~!a6)WgM_B-Y?W8S6SRkJL$9IhG$Zt$@Sx9xKD$0s)#a%^vnegrXO_}( zm^@G$JfGBRNIOzr+L!PRCS@F7v47aBN2GVy)kWT5TrW9&UYklZiRdO#SC(dT`+&`* zg6V?qpJ`}`T9PwbG|EJudFN3qYB^`I`J;(3dlesPmeF*P!nnl3#@A2@v+krb*6&O zOK#j){1<&@LrD1U_d9;Vmw(X1;oCp#;n4YydN||Y$2}Z6{7DaoPJi0Nx&1*r$=B>X z+sTDRr)o0&07^|p?PL)SZ&AaEz@S2t!}Lp3XyO7^j(SSZxHM3@N}2v{ z`9Ao`d>^!=o`k=+&Ut-Enn+qDan{chMc*;$oA7-@_(48!cfVxx;pb)jnQ~{`$Izdp ztlSmGpEz_a<7l-?N*(<5tR=$hH?BwaT$M37CH2bdFC<(Als`XG?9uhH(W>eXw^XTw z0$PCPm}uEH;27QWw%g=4`Dy^RhleL^yKvMa7Fn(Z^>%v6J>w+fA>%0HA>%A!QO02= zqm0MMzZs8_e={CGhW<=y>-Ooj=F2 zTS>&>J>G-&;5+>ie5c=n@APNzo&F5}OMiy{r9V?=`ZHmTE*Rgs!Pu|7J@Os1Xu^hoCZI=^*)+iCiE!?Vm7=u=GOhxD@DligpTHmd z1peSB@CQGkkKiNpk?^O|pOyZ*Mz6wz81MKlyt;~FKZCC9lA_WY@uVWbqfOc?mmNp+HTE$_k4P)OJ@@o) z`aS&{x=8L-;M!imms+a8J7YG_FGT8Wu z@~-OO3(M2Wt5uv3?5H2~XVk%@XdNDddy=3?MZyy;5^>$ZK+uLgqd(i2&{L~q6>Dm$ zN_z#`N1Cb={n=?k>iP)xrY1Y;&w|}E`m_3U-V?NEoMn7v9Hwm@W4Ax-S?n*NNx}*k^%+Oha&V|Sc64^>&(Niz zk-Kva#)NRYa`#x@MoUAcUDOqPueS7O^uDV=>b9eB=+&T0P7_C}hmHc9_ly3lVI%Xz z?{ws39{JrK&OGybJ)C*y_j@?=(f4~e^U)7_IP=jDdpLCdqaMyU_;C-14u8_aq0_hP z&!DyvZoAMRBfr1*q;E2If@Dn@+Kf!bGlYR(((oexp`mv+!>Gus! z^k-w+IGBfm=s73GKDX-td~W=pKWpo24|0wh^k+@#Y}7K23<1UdYzS9Ydb~>ORMu|b z+2T*)?0~b8r@0JOH=RVwN_8!=RAu!uiiE()<^K@bB3f)kwgP%aZauOzVJ)_XNktP` zr5S(B*+NxUZ<3i?Z2RqHzAy4vQRQqUT0)*LNu(Ft=_TVK<0RuD<0#BO<4o~H7dngl zoADU=H{&t#Z^q+C(x0&ykx98JBu#j!BOC>V+5;TA{*2&#o##N;6`oeBL;DJkXp$50 z8F5o|1Xn1v%vz{}F&U)yQR-P?$*xLQvt%cu;gaeVZSVw+a& zbFSwRi*ORipwB_*X|{|u)WBeJW}lu0#wr}&$?nuewl6V9qgd#pUe7jwzXjYFDgw|L zjSrev;Anp)*|ayUmB$Qpg2=ebc+0rVc+0rWc+0r{y7S*B(VrE*!BgQ|{_BwIfi}jv zflnKXO_|p5>RQgu60NLg>K*uoy$qR;djIVBX06coqXwnfNR@`SGys6S&W?n$Z-aVfap(~d-^okKWE$znn9`cjuw00NV)o<_6|37wK7%CJVb zJ))rDd5N)dJc+QDfpTrolL#ZfT`v8beoy~~F4DiDo5&BLpY%`YC-Ou3C44RY7WpAq zi2RW7yXzVsN3*lmf%Rf$42H?8JwWXdYJWC#PJQE;L>AV0>Huj|iVs66^JY{*K9R*%L0>_z>VN;KrRBY@CV*`M)qns5a5 zgMHLNUsmyDYc^nalu+6=Uz($~Cyo6zC)Rx-7P%%46_^Lb2j$f+2w){_~7Nm#CuGL6oHpp{?xFYu!upP&cw`pv7|T_G)6hg zG{+elBM~~0PokJOhZ(O2ecbNw>--YjIzDuWv4QAfRe3yA8^IgVa=DUp3 zkFZ{rj$A8)R=S`@5VTD|z1+IJbQ8fu2FfzI1QWW8bQilu*ePwn!h+Uij=f1lnSnfd z24atJv9f+VJn(QHaM8;fSb3mwU}DO7g;gT+7!GRz_07I|Q!mkCSi)ah{L~A2P zD>SK}dkC9wC0%)ZUzak7A!50~Qn(lTpy4SBb<5zxXJo-*#W&qId{ynq`(EkC^k4cp z{g?hv|E2%af9e19U;00MF8v=qnEnq-O8+N}{hr{(VYC;o_v`s=9QdQX`75^s@g{S3pVjkY4diW^4yC;>|t z#e|gg@$OiyQ&_9~qz;X5&L(`ky6bqavvr_o`s9@(lu$?g)WKP0@g;Dhgq9^Ug^9ns z?(5Mj@FMm!sCj|#L%{dF$a2n!%`-act;M|QcW4-kE6DrIBv1^?B z6&&B<(g@fW?(fM{_PLtf@P3R>b2wz|b1?~gYM=YASsrQc(wycK!`aRTbY+#I`Gt9U zREuo(xh<+<$ci0L>}T4eJ}w6Gu;FqTt|T&1Weqc~V#wL7ZjbrMsflH8-Vm=bjFD+g zB@hKBCXUCefRpHo8XLlz>f>A|83prcB)OU!=QYOHBg-WL6CI5M+cR?O+c z!=`rhz%e4phDYDp8{Y5E9%SruVwe*9oY;iKJ}3L|A~_;M8|uU2aC z7yc2v2jA(J;5+>me5XHy@APN*QtYk5x6+@fFa4P?_Oy~ub8L0QyINh(=f}V|@9PZ? zo`Rp?FZc=mf}h|o_zC`kpWrX}2>uct*}w8q#ci{M{n+-e#kxoKuUI7>+1@lz_OHdf zNU3+UYdrA2(ZuAnF$hVVloONJA<(F!b#Au>^t@olPe;HvfbV9;_h$Ro9Jm13nXT}O zM_nOfaVdJFx8-V*-S*uOS&)F<|@72(^0ZHAOZ z*1N}}2+1k)cjLrFh}t|-1otE&Q?5l$>|aL_681@s#_f5cjZFKorPrzFqBRjcho@Uv z;E0HyM3`#&K<3>Dd>moXz}0TUxt;0X&_((;bQ69O`f07^T<=~^##QJi{5bS8ogXs4 z_Q$Wvo^)dWS|^S`!A$_Gso(x7D+kTIE5`n4hF5ipLzO3PQ*ghh-Dz*&N_zu$+MDr^ zVuG)P-)#Sy0%F$WSyeB%PuJc_r8mBaK8dTKC$gVSK-50pcIECDfjU>sCGIsd&oFEnQC6^ihLQekLW=wd_h$cktb8E%X8(F7;UiR?Jf_tOMUfVeXShmYSXo)J3fvjJv;sCg3uiw2e8)*4gvcl06&h5CD#v& z1B3l*n!&D_A6Jl(9!9ZWw_~Bx(n;Ku7v{&2Nn)299TH8aA4uU!hwYY3kMbs zEF4%kuyA1Ez`}ur178UTvJRQzX1yo=%bVS5&sWh8`%COmSD33}0ms*$bu#RBe|NdQ zy5n2teEgCJ_NXhqF~J9hv6aP?jO3*7=}%4Y-*}lQ_+G7 zHFS@eg*(j4nqKT2Vj+?Au`Bu9_A=O8mB6YzHXy|ihVP-v{wH2ogSQTLEj}nV2ftEe zOgXn0hzbY{lj-M9UciW_I&2yS?u3Mo0xL1z)rPOr=_2;P z=T?aICxbB{J)Ue&s>)RMr27N0EAq;o^l&_2PbzEF-P~R%d=I}PkMKM4h#f)X5j%s( zBlSG?OKAsUzZ9{@ekp$VZQCl}F7HMrq;Ky=#-&3VyUey(*lWEK%rjRbID86!!oTn* z{0o1=zwjsg3xC4D@FV<-e`HVk`OZ_NVWP>Y^HkMJaT-XP7wPZRBYRTnvGuy_N$s&U zU4=^$&_D6Sgwz&v6Hktk^!e*Lf!#_Uz4-$CPW$|U=c&4Br>x?bE}Yfc+gV|DCW-h$ zg9)RRHla=6(W~fF${&4-zD1v+Z_%gdTl6RT7XN$gN!cmT&r0nMZz9nqf*#Tx0ofXYxQR6~I^WWg_G6Q7g9+V?1+V?cA8>1S8u9^jgw z_?ALIrRr*zT?DDVXh2D$qLSexpyEd<&IAa9n)2|)hYC*uDkk!c+#}!UMdTa3NqZ9g zNqZ9g3Bt%F?Q!Hbe?QFaN#FGEhe&R8qVBr9EEH*a6GyXb5(5b-_Twmaxpd;29m6ej zhu)Mc^rqaQH+%_%@GJfwoIR<|s}1qv=Vd<+b{vZP$%w_CbjGR0`+g3jo~3@J9wuk% zXZ(-sNmBuzG#h;~A|OA(vy7|0kV)qkMgFAO=#vqjfZbmZ#EbRyj6Lbu_Vz=|RMI9j zotVnQ)WU~mK9{ZoTlEs z%aZj6!+}q(*j*31`Z0`o4LcqK>=x6n0lVZ~IIwVF;lRRyg#!x*77i>NSU9k7VBx^R zfrSGL2Nn)299TH;qvt@@Ayd$-_r$-t)5pp&rP$rP-RKzA6$W$H*on$O^RT)k?D}@I zJ8W1@!A_KuS67#}e4G0Ej@WBVFR>Wi?l+updV8(BI?_~UtYVBRds3f+8eDo_U+dUU zOh-4@Z&oa2%6N2xT_013I=}U5bAvr8R(CpJm6J+v-U+i@n>#E?livCO$+c{U zWd6G62-iN_URc}rons$i+0av_ipta>$lL8n1z{W@zmT*PvUZByOa%!h7nY(*BRf$6CSa7QQdEHA%bL`= zl*s|484Cw@mfm6)l8N1{@g;riN@9PKb?r}XFJpUBW{5?8nUC@vYs`hZEh!}&nU2aV zsN0dsLG0?ayAz{^)o-I-G-OHyb=KZ?&}nDW1KoM`iMAqZvj1%7 ziMmeOKCUXYbQpGZk7SOKKO&Ms+oOuE^Ki{oolmT@Z<~ii@zCBnkmH})^Kn;;8+lfN6W}6!TP9Kh*xyX}>4-pER&)SP;u_2%k z%1U@ev(n^}N9uk2X&2&uBm1_zN7Q^_HCW2%_8%Ox0IWN2^)^RCTMDUD1*lDxQV~#U zEAOKKnOc&f-Y}IR#+>A@fToFsq3fwK1!POnGemjoJW(ljOQG{bg%W=n)kgs>p3|Vi z7wkU;VH8j?X>X(VX>U_6(%z_6cRdQWvuU~KfY5QF)0VFqxVQ@%J(rM6jhwPl2 z{bzGXj?L_|J4~W)p*!@ZT+ySHJ9-wr1VZ=~Kj&39drDPdhjxeRcT3mLl z`2z0I^HbCNcCr6_#N#F4yW>FWS?X8nVJL{c$IpHOoP(uhuQql1t-Zc=+o2~T0`e0) z%XZ1FjBmVE>Z%C8wJJ94<0n8G5M>TBLLM9yVdMh^$@Phzbmf5LEfK!;lGpLh_WI`7 zPlWUff_bUF(w{DBm-9rwpwt%BpPU1q+)S>TO6aU6W$gGk;;Z>HoYqV0kUtLKlIv^W zz;d4G*C6Gkj0*=A4lEp4IIwVF;lRRyg#!x*77i>NSU9k7VBx^RfrSHKCkL_)nbK#y zC;s&v25hn`+TXriW7&xf=YETY9mWP2yREVRyu0Fz(X#*Kw9)NheR(JQ&lRp~ebkyzZ$Oc zQUIV*C&89&HpV;l+ zKiqHk1&g!#?;rRo1skkn&i|lmyHob$% zdHc2B3f-no)}9s`0-Q8zuuGNJN+=H>IdLLyO3|!Fsi(QBjXZpiqHn$;`xn#4zQ2`9 z$4eobtVYgieZ?p$Up#gytc7-GIVLCTtJ1=nmiBwH--=dQ?>*XdwuMS=dIfk>l|uT? z$9BxV_gg9XqxWIzeXB0+d&RA%&p(fz2_MI`X9Je_axP$a-znaTR?X!|^TbVgRRX8z z0m-5_NMX=!C(|?p^!-)=`E)?hpk}s}>rsH-jEe6m&IE{t$@Z#80R{bg_dcudC1BNG zbz|%(v3hq^DK|xMbE21k*zY|EP0A`>3z0Kd-ZOc>v%H^@Km3ZH_lq}! zuwxTFbErNPV2AXorR$D<@@C&S@@PwUK>PWr>Ggik35Mo*@>u;RBiL8gH@Qq8BDwPs zlT?f6Yve%cS?X8nVR#XJkN?e8tD&h>7u}I0FMD3ywmR8$^p&UKc6$0T&mHp1C|gp0 zO&sWYNVlTO-5npthOTvVF$x0Rk&gpaxjMkwN=M);0ltQqCGQV~16SEn-u1aVKCTE| z54-yDDa(%oRk)5e}$~s!?p|Z{vqk_mK2eL+P`x$=OvyLy$Kh(L& zV#vtEOgoaw_^g?d?aP3|b_$z4a&9@c>_QsZn;qcZtt{?jFm^Z`Wbjdj3V391h9wzh z40tv>MPSh&PqR1MIp%P{-i#x@<6(Q$jy+M0=@vzVA+d&aT!U(VjF z>}kXa=ug8tbxw@Tif1G!$9a1*hsLsuwBJj6GwPni*v!mk_GXGgG&DF!|%x6>}|6p+ish^*#=X&Vs4#F zEcY|^W*FZ-bA`|0Z{!gE22=POIR<3jr}4|)EHD!0=aXh-vPTY)$1KjJY~jE;#ZIp>XNSU9k7VBx^RfrSGL2hMUJ>pF?ddQbe9H+*Ay ze>j~upH0WI?f0w8D^6xx?~j`+>_s>$`M74mk@MNM$IUe#g}=V#Y_*$P9b&QG?f4YB zj&9o?Fo?Lm;e59MZqMsmERR5NxO{tgqtn=ckJ(QHYhb|Vge8t$=1^uCw(0z3e>$3@ zo3WF^OyzE~!$t~>kKtckVmyXX)b{d?%&yj(9cMms+z)H-tDC#aIuQ=C<>1UW&VReP zm0<&RRX}42e#fzJcN|A|Jnj#eH)Op$#o+upazP33#f{D8_KMj_j!5FzI-z2jpW+BL zF!hai9V>^4fX8QJ@-Fx~4J$|_-%SVT3U_KKu$F!>^Pp{7SiBs~`QmH%^(6&0}N9;B;$Op%hlltGI(x4_!|>lY|6f zO-q|l7oJn8+B4-#`BT1>KXOm`Bmb1Yfw@Tih#&du<#T<_G8{zEfOf~T=e@O-a(v#K z4DlYlUqeUmh0ge`f98{$A5^G#tOgjiPzNvS+`&;m)KV$b$^c6cDn$=)ev{c!%mNxf zL)etAC54(N6Id9kB^v^qrKOPU6t4!YmFZD{<4Mq!m;g7LJ&P)ZTEw2>hhu+t$)TJ! zyK~zi`@3pHaHJ|U`PdLoTt}v|wQG*zVB@Z%8Xx_L-bde4AEHO857D#KhrmdEh<|k6 zTNa*0ucPUDC3$!BlS*>R&&4AW1KQ6|POskI6AaCB*~y;8J{eJBnx&SPHmjHJO!N}; z6>}i4KYjJg#!x*77i>NSU9k7VBx^RfrSGL2Nn)299TH8aA4uU z!hwYYKOhcdT_+@Gy{G$!^Od-!zw{H z86#Px2&39F3&>fAj{QZ}a5E8_b?n$DWgSh%47#$;7Ndg5C3Y~8+k4N)iT#%>{c^+` z=7hs}Z+9}VY2O#M{g*#B%A70A!72g6N!x$fLP3YW)%QiQ=F)j@Tr$tGNA_Qw?1mYG zk9fn#0n;v@_qN;GhNogU?~T*mcGxeq9is&~JqUZ*~%-X}rYh4???`FnHwzu|kYthS5|tfn5Fzb7RYYv%TU z2_M=2$ySQOJZt|4q>24sx5v7;NIRPLGwp2nl=e4#O#2%?r~M7T)Bc9PX@BEy-y_v4 zkHWuxjzHB#+KQf=0>;u$OyXtJ(k8SKkaDJcDSyhB@~3<$f6ABgr#vZt z{4@JM=#Wji4FPTFyT&HmMt=PuJ~?;?$VT1g??F64%@FX>x?Jc8zR(#z=WTK2)i$vb9wL#Hd+-h!|yQYS_--YkJx3|Dvc4Xb7aYrIN$>dkQguLxzz-pm21J zEQEs4jrq!`d>mkNze#{H=uO$!AfLQHK>I(PPuUK3lk$7%cR0MvcoBV%|GTjNd%gySlBb@r_Pyw4 zCEf8Dif6DE2bR@fto40N1V8*CD?K?2`A#&4I4iU4N>}_R*#8 zaJoJ-ocL&HWW0&_VAtmk`88mdybA{w4lEp4IIwVF;lRRyg#!x*77i>NSU9k7VBx^R zfrSGL2Y&P%$huAnn)ROeudi8`-W`s|e*WIw-O90Iv;O);2=Iu?)e!0yLYy$*zDfD6%;Z#&IJK*9U1tf)*--irZRDW!;srU{;DW(C~FiZn%c`?pnD~BSf?y{X6*gR#||L&FIg(j3QOz=GBKTX%;;yAmtwRCkNu^MM!H9~AUlbS@}mlCAI8Tdx~xoy(PxgyfPDx`HFz+g-0xtVV)V&e z8EUSuEl)K$lNch;PKc>6GUdKoKQBgSNQ5xq%)polh9-qzE_!vHgKjCBe6aI!j z;cxg8{-#|Ce4 zhu)Mc^rpO_H{}hOlsA5zzt@i5n;yc~5(IAG1#j|)p7?$KnJTQRX+M9D(<}#%RA*{( zmwG4>kG_A4(b91Ko-LTHA5svhara0DJ5&iRC=(<+QWktBO9~}pBzrK=9Xwya{tkBQ zWkQ3t8XdYfa#o~RLILB!sSsV~oNf~V!(Fv6=~e_Lj3`<>22!8*b6VghW5%Z|CpHEK8g~pX%)*ez*nU>!k3%UKK5% zm^?}mlRd>tj{siaD#Q7J%3mp-vaSmaXk)2n0-EAVsSBl=kXEKM0aoF0idjI@aaxk_ zg=!^`qkxJ@dysY_?O)oF@IUQL+P~EMw0~(AUjKf1`T2WRl43uFlFHkLvY6Q!P>#?Y zdQ-0GQOX@X3ts{z{EGk0yBxbmmA2`k6h^Y_Bwe9LV)e=n?Do?ih6QqNMqQV&z~ z)X(_eT(%mTN_Ej4N%FGiRSaKwKU7XSsxJdEP2B-946B$9d75zXEgTp)(AB2f-@Q_8 z*yT{r=~Fbvqu$ei{sUZe!75d!kRH?r` znRV(+$Y&k<^RLhI{WjRsMN9^q)7MUjOw|l;Y%te~bc4bdlayf?cwP4i-3&VXGgO!yP$@TytX1(X@#auE5 z+hH@-_!mBfKjCB68N=VKLx#W6+weDf9sWj4v44pF4Q5~KTTyhmZeL=RM^{sZ@{I0J zg^!Yap!3NOy*`QJ$%qfcI7;S1kNk^s!~vP0eV!|d*PhYa=xg*k$)fl1f2Q;IRNraG z-6XWi-;Du3*#3`?cMtY|{*t#_;ko_aw%PyLrqmT*O@b^(cVqj%X8NS_IlD37cW?jK z>?7fc&HHFdyR+U{6tNu5{;wyHLvIZdjGTFoh%@b_a^Belo^~*LkoGZplJ+rrl=dSyGX`WZO}P_V@B`Weso`Q&GIpNxof#!&2jGU8FnCE#o0K=d~H8odr5 zqVMseujTA!f8CKJFMB>VPwB@oy$n!NcYxghtJ_N@$?{w{Fy}y5n|h%U{aUN0yhs>n z7c%+{bF44%(NSU9k7VBx^RfrSGL2Nn)299TH8aA4uUSHgj;>!i3@?}`8Fdb8uKy5ouS z_trO@h_&Z@JRIBoY0ueuoWG~j_Anf|=77A-)y*{ya&VLiXU}2Qb$g2)iH^PFgddiL zv&A^zFE}!6&qrQ&hnqK7J00D3-~)h%+cjTiZ?7(|aB=z=sGpdU|MstaYlJ`h8}dHOKecKl!x_F_PcE!Q)@ymvwg~ITx05_x{<>fBti& z$@RbDpa1>|VgF*5PU$uMANl>qxbvImm;WgkS+5qn2?`_xSgJ5r~49rJR?|I)II`5E^=2ad`n9*6+x)|{`;(ed}m_mB96r-B!l z;hCQAgCRK2{Z!U5j4`wReP6%#YZdmlXV0WOeOs=dwCAsWD?5$YYFwoK_zVAi#s4RN zucafAu5bV5w|@TY_v`uXKd$F*{^7T2AL{vE&hXPth@q{m=*(4EyUw*0YEOQ`Z``J+ z{TTa|J>TXYw<#~F$Eq{uuJ0PgIT{ppPVc2BqEC92diYd+g{Q3{`On90@l!vAkKL&o z<7aeP_{McU@Y06KxJ$6cdE*|#Ac-%*O8X^Ulx>iHlIyv$e@LBAJEmuFkDp^Ygn#^- z(;_;?dFSrP;Hh>jy!w!`gs!KabKLT$tx5X@xo5A?G1qIoBLzd@c_%!D|Bpzca?Z>0 zT)UOH$SwHaSC;T|{2Uidx^j+=w8j5BbmkYF^QX#w4n}Bx>iHpM2@geoc%QnW=MTBQ zTAmMRNarf#h0;6#T(VRkE#3N@l(&>96#sv<=p#T^r%dd(K($tS6|N6KfxBP z&!uDIvW$5eH>msdzWSoNFL;4@j;Cr*KSf#QutTq&B3L>x)`xMu$@^svLw@D||Jtt? zyutfe9aEX-{p0cbWlqOaWl3F0x!zY_Ql9W6<#|ngd0$z^^(5}-L-hMK_2sEDrEE)m zsWHI({Sy9E|N0-c{x$t-UpzIz!EgWXR!I6#c|Jcr_}jnsU!ddp{pYy<)6wrQ;x4Fv z?Av<&Vtf8-J^%X8nm_bhH2-aT9=?^%=JyWwOMa>^s=LYmk|)`|{qWznq}A`Y+wZ^q z4=ye~?l-3KC1q9G&tKkg8B9TRdV7xxCxLv7L(UsE*YX7pPnYt!kGosVm)@** z?6qY=lkbo0)|%YZ$3@tadw=BH2zRStPY?xs%Lh5w;XyWEItu;l#k{NbRP|je5y~$# z$4}c+a|yaMpP=iH)#Kuu_WW1dQ+-!m|5`mR?%VTUZ_iVEYQ92OzEkqY%X@KX&tGiM z%uW28&7VU4Tg_j)t1d47MDu5EzC@`c2&+l)BI|;bp3KY+)m5+XPf_Rd;Us$^2+h`=h`!mKOaYXYJZO|KGCwe z)t)hbiGp2HC_1Z`Y*J#wpZGd&}4uw%Ze+?REr^iSNSf_6G&|QV<{E*q=_? z#!VLG;Tt#m{qeN-PEUgT)eAOY9}XvdkVb$>Bme$*P)30kMe-j{#}fhG#4XUI=s`lZ zKk$FzIyS)I+VfM$LFl)85*!Z4!=8+XlLAO^B7namU!OTrioJ0`5Er2*Wm0;4Mn@PY z;_t~KxD~-V0T6^-0ZPjq)F(0;kOIiw_#M5_`(Ib|Ci)P)iatc|)E4WCUPd3Hw`!Ml zMX#d|(fjB_=%~~e7pXV#zqxvcnEQ35ud)o+%sWJs+HO-5mV1vYTrWXe`kn&L`V zyG|>u8t9};ZodEVC`ca#sjH`w<6PJ?fs?$+ekO1pWJKozABT+#H^jDPX$X+(m4Quw z(TC_s^dWi_eTbe#AEIy3hv-}CZ}ctoH~Ncjbt#HXO`8NP?#kxTd;xrN`6XZRg? zhToBA_#Jr$ZR8pM+xmKss;Mim922Krz7CU6#!jWv)x&z1%At;X=GF*EIa9vyA>|8y zQoisfsX$Ib6A<~`QF{y98dg=2}?dnePw}*ARlIT_Bmhwlg(YMGw`WE>| z-y-kmTl~~FHZjqId%weRyI!FfY=FDF)A#P=;M-W7wL}!}aE{WT_1jbl{f2B6p!{J*kpky&*u{`1} zjfLQGfIU{+riqUNlv;`{6n-W2fHWeBB%TDkYeoU3=ZfJX((&7E`5mBF6#*4jZ#=!M z5}-(~@BMihe7~<64GrQgH#^kLcO8+Qbca6eNd(8INkXt!CzHWoSX|78KT(YKjNV7z zQy-#7sSnY!)Q5mceTbj_F*RAOoNqol4BY6Q!XOKE*NqExhBj=#CJ}@&i_u~?)P_oD zIa+*Mbw-@G#Uj$3zWTS@&OkY@Z=j^6i45PQlR9r~!*^L#&+ZZntF|0yMjvSG!t16K zjdD*2ygi);%I+2Ig}ll(6j0@>Zdf5_KrUfOl?UV_stURIA{X0i9ceqZF9JJo+ zN9}(Q&FD)o_K4bPG&VNp)hK5D{oNB$0#!17P4JvtoFXfo~m?kBa0Zge!rQ=+1xQ+?YBB zIFLl6VjQHA5&%SD1y*6WpizWyHKOILBvFL+OnaJkHt+ki!_lv_(`nD6*Xhqj?=#*> zy-0mY{mA$=WK5KWz&F=dlxZbPT(R$p{)$@6HafU6-xcD^Nnl`qmRMTs{E=K0j?8iN zFy10~0}0nW_skFHKkiDw+cSI*zax+EJMsv>BaiSq@(8~pkMKM42-?Ua{x=_2itkS@ zD(kaX3i>_aH{-pGKitu(We_{vi5d+$^jY@`quq~V;&j1F6jP^O6}kv5$9FpZa9!GL zJP>7|!MC@yhM*Re6I+Q?W69fQ=h(QnJf3a6TJ@>103c_oTIW}Vt-@` zhvQi31ZcK?PhQRV;7U7^dXxH+dX@T;`j+~V`j+~V`WCfGeT%>KkHzlG`tYxvdZWqV zL8BgGdkd4(kvwTv;>7KA)v&ZI@|4rTqXdnB&s{#okCzmUJ~i(q-n5(b6>rG(hW|_6 zAbd8Ri2%AxyTj(N=cD8Fh&KBJQL7!FQs3Ru;o{8P-GQj}fg^P1?N9jJ`58xhvV7Ra zA99F~5L6)DlR*^Q@az};}yn-La%_VI`3x70Z^wR(wYZI#PJN%Rb=OC9Xc z3w%={(rBpF!`)~({2}r&OQOfo-^f4u8~qMnqu+rM{f?i}96GAkE9|sFidPVUveLa% zE#+qATWu7x$!uw$z|xX1 z&?JoUjK@osTMb$KmS%R!qbc=zSZw6x5m6!6aAM0D&1fH}YrND)QycI)+^vmqlwe#y zj(-*fh=)oi9B!j55Q$}LMj*QtpApx@NFjoPDx172DQLl~lG7XJE&!T4@E}fu9Qwv! zFwLHubPkU=>@^e(ivY@Q=Aezjzk<9)rlgjWB0 zr+MB|h1JWJ7ZppFt2-@ZZZzsAOrdmHXxN=W-7>Y0#h02}0gU35N)FaK1&3rFN2`t# z&YMw9B{8b+nmFg}L`oi&kOtkuZkDn9vczxHP)Y=WWHSnaHLJy?!9A~Dfs@x%F^3|w z!coEa>IFFORBq#+BO9l{_s2xil#Jk#%vzD4gdo=v|d{mJxuGM-JpDDw+>k3?DW zo_Y29IODe~$yQ8FohrAz(uaO&_F{BhO5VdY@xZnr=1aO}^*wwKzay9MJ8}!ZBhTL8Y~gfk36ef=Qtspr zU*h+8fl9zj`gG)Id9^U=K2AJGEZ$o99)%t}yc|(IrPu2f>#*|BUBKgTz1(E{Xpdgl z@{qpl)Z$_6d^*V#gm>q~@&3NdB@g$!mdhD(`ySKCJLOKfq7Nx|^dWqSK7>EfhaiYP z#6KTT^?{Yg&}wegP3P4}J*#1q+BS#Cp^Zpjo<4} zD8zI;h43_br`D-@KZ4F&YZs4lsh_3Fek zl`T+urRye8PO_o*P@@@{PpGwpCH%@n$CKIWeh|L#cnWOfrE{!N01Y%F2-0dmK$lpw z6lCx+#?o)QIcoiBK(6M{ZxE<9a)YlqABjV;?wNal*Tz$-1kk{E%CiS_Ig0{KRV>mo98xbAP&J;CwSm`e=w}0uzOu+rzgRg~W>QBOyVP1{ z5_uX7Trk98+{6mhg(Iq8EP|NSKooo{=)eq>k*_pp03Lh-J)Pd8Bv^wB!4t291LBAf zUU&y5m4nW=BZQXhc*P7ELLKoRwf9vC7mO1=#dwMa43(sdrFKLN!}q5yhiu2d4I^ zq7np2+&}RkgAuBP=thxS8^4n6c;E{}Fiv5LZ6i-ary-4pQpW=%YN$yYNbtSJA@nXa zq#=U7|Bl&3#K3sUMHQl^3N`N9?HJk{xpWC3I4{T;%o(}lXVQpZMynxbY$EWIAK+Pw zQu#ax5?+m`xOu<>RR@6*L7M~Py)EMm+FuWcPS{jy#I!q}$Z@hM^S#D82Sw~*Fc!<( zHgZ8NXtrUs$6}`oigj_6c`^g7)9C^=ITFU$P6S>Aglx;E>h7teN57Jy4DpEW+I%h5RJEB$mN5|BRz|kWtwu(2u;h4mqe*4I6;Rz9_3P>PGmC?|${ro< zCRUw(=8kTeF3<~u*Z^+N(2?NK7k|c6w;3X_7TbnVm%L+`A*Ei>rKM(Xw=jA|!-a`F zQ}5FBjY4Q9I0uFX7(Md0g#ug8_u*&Z^#D9!yX<~_G}+xr`4pXJ|BO6}x; zzH3HT_t188b9r^YIo|J2+x1EBWARu&x%0z0T=Vl|a(=|m|M|CQ3}0gX;VuP$dI>^>b)SUebeeZb!;Gn{Uc2G zGDoRZlDYu*>^07ed)Yry3`xJ`PdEOgU-L`NpMKAuY5vr^UvB=?%Rk%vsTaS}{L$M# z*Zg_>`8blU?H^GGMXwXu6XdElkETA>Oh4$wfwUduH<8lN0xCedr_pAmN)YcOwamO# z_D5bNs@Vj%%c7UiC`j*AwWiDvap|2yh^7)~r;aEg`snvAX*7)lG<8&z3kn3@LARSb zz2e&r5yIF+!dph2aL;ooho-`229HBA>i$j5=CoTpR0oCKEq9axZ5zv~(YCXA}D zVV|!aroaTB2^@mda0_Te8l)TU<*QW`bLTxZ#9XJNi1Q>mZ9z|cGXVI7FTl6LR z7JZ4nMPH(C(U<63+Jop@jJ2X~AFv-qvn|pjse#`e>P%FdPe((&ym%j?TS%3m-q=fn z{h(O^$xf~JcJrWbL3Z!<;o(6l)MM>s*yC}iVi|{2PTnB#dOW$?;eB|J(CTGUUJ`38 zq1bP}`9=#zWWl62KPg}Mlk$Z>DPQ;# zzvq{vCaT=kkCn_3B)X(BmyjPs)XbwqXptJLXaXvwqLtv0^Po=1c;cxAVkrPI4D8fh zi86QraqejZr~Khd${+ru{NYc^AO58L;ZO7<{D^+U|5?7@8Z(W??_yZ^ZSL`b%z@ui z&zRqQbuvQfU#|@1pXT`m_^ok{iqDHh4lC#2q*bXfzbA)Dn-)5G`I1(-b*VLK9xvil zsGS9_u`7BNeMdw(jcun*NxTh(jycUE zETD$rxF)6NhX}z-7|Vy{2;lY%9SIJd-H++A$C6NAfnX2@&hJ zvjDegY6n#Lfg$*%n+bsBGi7}g5Gubv&&W4&k9?ySk#F=S?Md_}?Md_}@0-Xa@0-Xi z{fBTM{fGG9NPgli0VS2Og9sXILaOn=Ar_a!Xucm=f01Bzh3?Rsa)sWMJM@Mx0TX`3 z&->GBLne59lUJ=xg*k@zMAAsbA$}(rxBQl2<)LM}UOB_?afu z9Qxt3x7{nP{qD%Pk&4aq;t3b6_bsP+uQb(o$=Tg|UVK-VY)#QbK1Man7BW4=SWokh z%qsE+q?)U$` zUpWtlFfcNSdAPa0$B>6C3>@w;kL6`dAO4;lGE5~w_dQ2>%;z(C|M~6Ww}V~>>UZ+S z(EGUFFnTAdYsqLq?VN+vbyPZfiEU`C5WQ=-)C;Z50@uSet!e~%xmH5nn?qoQ>E&b# zO(x@#6?zEeW}HEzluE2rLl~jFj%7Lm(I!T4_0HDPqZS$4MIyboNnHVg&*cE(>~1%r z{EqLTEp6p@Cf!7gunUNR^@o5uu~PXe#DeOD&&qA&m9PO5ShDIe2~s4(aHAuI$@?zv z!MyL%?&p1%_d=8{?~T0g@?OdNF7+_)yVTQ9FkY4cx0c&rJ+iz>>SuV@0*9oNRNeEw_?}RXrxK^(XwUFH{El40@5n9ujy%Kf z$TRIyu#i`t(hfIsEN8jQ6HlE9sPONS-)*LbhC2hBsk7LpS&Vwq!YeyV z?WWEOD<W9{MxUZ@(WmHJ^eOrleTu#{aJ~JF-|thbL)kehqfZEt z194DT2}Lh_TDUk`2+OcsybL__RG^j}`~nN$_6!{f4xRDSUm6b%tu<;k>)qSb=uv?9 zW@@cAzzQEtl{9Y%kOIvDtbzUQE-fs@8+3ORAQ~nqCIMAy#kVX{dZiczBtsuiJPIfb zn!pNQn3)lTQ9#8+zL9(68@)(-lKPSMB>I!~B>I!~IC2RAkz3xcp)2p#_&uJK1PM?* z@F1)^x+=@zfu;0(>ZoSH@WlTBZqLvidQ+~@n{tQV@FifvulV1*eb;RbuamhudQ^9~ zV9I~i^|!xvpbUHWlt8QDnr*%=BQoiWobP0Tj7S8tD(Y!>IhYfd|9*Y)M$iUYA$oW5{(ShFqRZhN>P4C{2#-CiGVZds

    L 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

    FnG<%P`4N^M*ELjOAj8gy0V=@6 z9tALnQ&P~KZ3O{`TCTeBQpp?$^avLzP?l679s$QAmx0V?v@IKOwwnctx`8Et^HHhz zFYQry6deqeQ0w5M+Ijg5@sKyTSau}{;Q!cXdJX6gO~@TR7KD{rMnu97r}zC zZ5d8F*;Mrp`iYkzo0fB4b#L z2aYCO)$t}AUP3DoZzkkuiVS@S$U`~E1DgZdMos?Mm!k2H?Sv}+Ic24-0H|QBszQjB z7UrCQfQoorg=Pd~1d2JGr0h}fkQ-6zh#{EHb_21i$q1Lqqz~?kL>L7OHe*TGs?t9w zoq&U%S~=AoK_@rtRvqhd@kpHpG6K%n4G<5$B7)-Pjfb0W0whbXgaLy;)}WMtCqy8V z%+>d)v=zm15<=Pqh8BP*)-w5GHnHDUGTK&BeT_8?YrC3^YdtJc7L>e#KMbHI!-#+e zI6BrL?1eo_4&)I&IZOpf_k$EhnlDI*J&F&xfd81%76HIv!y!K)6x%SYO*HU?a!0@QjC` zaZ}jm0gf0jh1xTZ*rQmg)H`_)1*Fn%NI|kCA!15oTYkF6e0I#^?zNuGdS}fiwaDkq z(Al9ch|Y|BJ#^V9gm|-7bUtCE=qT}4a(TeT8&|^OB@3p|nV&jcivrlV5ldA=vPwbv zRwwu_2~PVGg?B|g0;x+RJb2^Ur-mT6u2XhJy4G@J*)H^U0!H7!w8cCIL0AOIYgDR#1E zDq;sC7Mz`z;0lk~8&}Q(IFB$=C~+7N8CJ?bHl_PoVIi1XT0i~B2~t%*CE(>2zaPO zJvJc=020(u7ELKS^9Vb5ArG=#5(d^Jj1&Tn5|AQ*YeIQ#+PKyMXD~7d=koxU#tVTW zm={Isc(ZFJNUGA?##k6vnFSIT)ERL23UClc-HbF+Ld_NgdF*|109(+D7}lZDm5-#&&fl)1(grbiK8 z&^~)-*Bp7Iu;!yO9oF_J#hJ;K?1>d@G*p5$G8aR{!`r}&D=7l`lrJ!Y(11&B7Z4~x z*C=)CqET}f+{q)YfGcejvlCsOY?5~KGXY$KurxcF3A(gkv0W3&Eesgk$_j<0W|{J> zAqWLHOHcj+mmgB*Jd-?9ja*?>Dh*3I3R%Pz6DN&kEI4K-7Pkl{0pre)As9t(yM`rv z<{VFUzH#<^6gD<^JFopC-mm#{3c~v~uS<+)R&m??qu8Ucw_OoMCx2qqIB3Io7NzhDR-LmV~i(hMIa z=U#vCDF>W!EUz&y8(~9!lmF7CHacMsVEKo}BT5IT;qr%jS)hiq3z+vM4r8~YlARSp7~94p9y^?1O#ET#AmTDglHE( zmtY&s@n+Zkiv8Ux;0pnFVLdKHA}i&6p+2w_$p}94`v7nasTo%ruDKOvSE9`EHVCu# zjJV$;0xs-obB%&99^`$^HL99VFxyNq5k|^0zwg#Z>Y36!odFwSpJh6`BF+tOiWtJ& z9i2J1@%-WoIBW~ zpvTTBo@I~1Hs)lHvg7$ExAxc`<9w89lJ;AR%SqPoj(nb}zslj6TK5O_ejtGd5_lki z2NHN7foHM=d{_0o%l9Jn=RS!4&$R2MRQQ=#f6t5a-Iok1H970R z>f>jVph6l2f?#VK>goaNiwFwMxWFEdzN!mru>f#dr{K$CfW$GQ}ae zif^<>#FSf1lF}XGjU>U9$9EMH-3EqLtmae?6-|LCbFh72mMf7{$KcAW2LVUP!Y-G- zno5Uh;1m0~&YXk}jEE#goOqE2nLBtSSt4g_N)N#Fs_kE6eHD=;3MgNlpKyo0ct#o%%+cW#_KN7W(yyB!I&eri@U1a2`gaAd#jJ za2i;3TROsF?{<9F9=XmUTb_@1h_*LfBUJ@H07>ZO%7L2&tAH?vKS`nCGl8*r$cTJZ zeWb6#%9;;=WCYRldPp~N2}-!7su6okZY!BajZ}~kU3A7SGq~FG2)&H9NfztLa{=cN z1ZW#qX{{c}2n)FA;uO*$au8yu%rLh&J*rR-2xYZ259MKVi2Td;E`w#?(zK~LCFLvj z3W8h7!1KgXmPR|?C4sbUcAVi0FMn+VJP0C@(2M~&oihvoQrm+vc@rwg&oNAUWKSiN zl@_Uy9|Wyg6D4^-$WeB&C5_lCj{}C+ba9l7Z4Vv}DLwHuGbF8pOtoOztw1AuA`Qx{ zJu=b=5__N^8Mdh&Itn2vAZXJ$0N2Oh(SnRQSQl$xn`=HoFA#`5@`1LbvFXg?hQU(% zNb-pBa_o_hj(r|E_=b=(&@e5f*BlcW(|qlb^SK9FloYl#SB^Ss%Y6!Q$Po)gh`n@x z9x>$>Y-DU2O*@%^kJ43plsz&n!(WPh7FYH=$|RvO^pT1yXir0^UQG*9+>A&Jkwyl} zdE_5zH5?aK(&j5IC}RkDK?6BG zzVuK9m(G$B1XoJ~_>3Twr3iK4A@M4$Rb+^qB&`54{z(9OAt<4NE2xgQ)E8+5IrIiU zR8vq6n(}cBxzx#zMkY!g+lVp7%ksk+vtu9c=9Xe~=DtAuY0V?2O9qoouzVqCs61a|K0D^QW8GoI80!+l|L`TgkH@=j zDgSE(;43JXhPSSDVDk~zbQ=UF1c@Md5k)(kB6JFQ808#7=6XyXoj)?gAZu>C2YXT; zsSMwAoli(SZk=MyWsS}w5SRQjN$yGydt~1SDY5e!R#0%H1__%9{oY6vTz+#)n~*Yy zz?FCs$`#7&rHjUXDK|@iH}=RJi7r20uDNZvHoS9`C4u*&wv57c4uLRgX%q^Mad5o1 zIK_*S$GFB<6v|A2+w2&xk1%G0ApQm<&`-EMogqE?;S} znnX@hi#)izHeU9o*?mtN`- zqo_oQ%U23M%P~?UY(!}Wv0o~FS~8JkFllbdlCqG3#u*uDM&%=vicc={XalI2LWM92 zISSr}Qpr~av{j-I**vJ~(cug@D&s4yfb$5cg2f&f5@A~5AwMBC;^FNSo|i1bqy~S5 z#10D~oWmfl4g+vZUK|&yRpatTTl(Hu@JVY8=q+&-!t$0BTJ<%6CooK`7KDs?WDdfr z1h|B}mVT6gwrKchpf;dKNhiW6c#1ox7z{MyqyizNLxg=I#~L$$u}@4q39)KfrF~lvd0$gyFw4x+j4myt+KC!BA zToI)SduZ=HFAkRk1I3T81Q;X>v2sah6^H|%tI$6 z)=)}{JcTv@*R5ZJ2Y}lXJ~ezLEMDQ$1XocPQG_T>m{tv;U7TYU#4ZVAgiDr!K~rfT zCllZnFsraLNK8)&Q*PZ;20sBeSS3mTmoQ|$Tjrtj2*)tz_X5F-H;p~hZW-&=2D~QB zt=jQM)6Rru71Pb2F6N;iED!Kt{MM~8%-!n2NWc}Vc}Q#Qx|Bhwpw0+uZ{^{sWN`&> zL?)gVsd#Z!!3%H&5F`XF8gPxPdR}h(T&=OLhB+V=)FD4y;;NpU^@MHwIbsHIJrW}J zbtIl0;no0$@aG5V?u@H3koALfCcyp-u7cC^2y1`~UIMrv0*p@s8PCwh70eTF8u~T~ zOI#5-tdimk0q%p)^y`P6Nuw0S+x9oz!A zdZ>52ai|^M0%0+oL9-kL&4ZzSM%WBEK1w#hY(O+qmTCUbj{BW&oMVs7E*0+w^}SzS zk@Dx8cTGurUJZNXVTL^0BeT=YD`jR4yj;<=ygl>2kAqQ%#Xe^| z#Kh2h*5h=rhLHUunJoC=_L(^BkpZ1q5W=9tDh{tR#fN+S!KWQh+8+6#$sU;!vJJp} za7L{Rhe86(D^)QhyhtT9GR1qJ*XU;>`k3zz{{#DgA&L6kl+WcyuJXD2 zoy+J?a2f??Q(zRZbL|nn%ElPPUKk(grhi{I(#;!cRjjkydM4^Wp?ISjgG)479Ae}H z&UFpoj$QKiR(-E`RsRX=l6)xvNvZwBpiZyswDwa@tWe>E80Gf)IbV9}`G*!nU9RpKI(*W3ij}%kJhiHqSniFg8O2BWjMjQk zVcGS2y7iwPzH|k19`v6$TxMtAGiGj}|AhVxT2Uyo@P@!vE;<1>whuU=g4LZa=lB`= zPfB>>IwxqvxC`kiS68}AUZXfq?srr@zXOLOaNu+D16{SAyn`!T{&1E4QxtbD)PKtR z*@gN~LrY0rr5h?j!MxRycm)Kwsw=JOKN(_RNW($yatKMs@ZzA5=>N$CDpw_mW7dB% zi^_|b#u-(=FZuZX`Xu$Ac%Dr9PgI#4DJKqID^+o#{B%c(#Hw)KUn!LfFAzDZfh%3u zFVCe*x*W(`E(^GH$R=H=|HM%Z#;IjTzt`pR>%`DEYZfW;LhPb@G0gOhw`WL9;BnlS ze4bkUC#N=uhBqTNv7`UAi=1ZtCv-2Ej=7(^IFG@D8j>Oeo>18sW9uXzaF0^PhW?WT z;<2|<#IvE9Uwn|Vk+nhv2fOpc?c!o!eh^w59Gu2=7WxpBt^ z(D6deiJc}l6kDW4a2JPU>OWzo_y~~f^B8z5G+)rd$m@#zP;;ULG*`}JaKb|y5B;Zc z9)tQUXeGG)%)9rkTg=%Uzqu7*KMXv-TU{LpOn00MLCuXdi0t)G=P@ADL2ye8fsOs^ zXa}h1LRj{{xb?*>)SWPVd+xu^gs^vOPyu@$11JN5_d1UuB^AMxg_{qmDmeY74{ERr zp=U%rqW_dFeft2BA#5FkrZ8ar$L+sa|B3aDsG|reki(*#UQShEZSI;{C$8&o+f!9( zU;QT*(63)d#LWBI{!21d3D^gp^q;6(KKA&IPbJxcXmg?hT$)>l9qji#fOF9Oh$M;kMOG(X%myJ|b zMT8kBW~>=so)=QlD{(nWnNH_?u+2KFqqtUKGW9mZRcW21MhaVHDNE9~35jHAAM+-) zGbc1CK41R{YFaCZNW9cHvcgrPk2Od3M-(zqSfFt%A#I|NAH}ui*}x_Iobwnc5+ZK> zC%%&^uBe!!3b$GRX+Do3;v@>vuugd0p+Fi`Usl|TkZ z89^Xff-8#4uC|EHxJE)M6a6RkR76v@;86}Co>5E9DaZ;{6#=h007Mt)Jfg4C=3(DL zB%^50@Fhy?%Wal!gcyvsE0L*Xyiv|c&ClvTx#3PR{7hi<56A=82H@C4aI2o81%&CL z_AMgQPx%c2Z4K7N__SFO8gN3oE+P-C1$9fn_0E0Z7;N+nR_P1rGqx`^B2qG+ag|ab zoQ%62MavV)XJ@Y-Wj8R(^w1C@l1MW7h7is)?WF$%DLN^x?H0e}=9)NOn1--8vLOWZ zR7&dv5L9as68$F$!ArnTjldy*Q_-sRpD1S94Xla{ZjnZGVL|{P{cP;g@2ieNCr?#d z$s(X8d5>@uBfWYt^aYsUuJVZfQ$X0CuFu1W?oy{Pm?bNmv>ch>f_+Y5NUtp&D^xtF zEoJG}q+)2Hj%N15`@A2dwv79Fb0y0Fj>_~v0gZC1IhP8iwIX)(MH)jbcArcFF5Gg< zVV9{!;*l0A|2N z@yOzFL2y6Q_7N677wVYMN7Uyif|5oM!=Y%*$8~&d5u29$75|k=WqE=@r0ro8zT@Q&)ve3Gn27r|}2# zC_y!zBR%3d90w)TEeJylK_XR%%l-ruqBfPzhu2jN0cumn^v&$$G!B4r4C~Jhlioni|DYTWQV9XWN zDzf&}iH$uAYpw8B6jBd@(+<6+C|9Q#UW<7yLH%o{o=n!F7UC4VyzITGhs4{7OnDiJ zYbY|U6DsX=rUEGvFRZw&6Uv+1qVQzq6pa$ZyRQGl>ZT)i=_@&yw97*o&Lc!mDg>vW z6}ep_#gY)&@~Y*V&8&{X=kXcsSg!INOc&$->~aIwmwuEAd^^s5u949g(5vl55u^@1 z6}YguY6@MYSupgU2;=2mog<#Yt|z#|3P0YHiXb(+uH}`GjrVxt8dOrqpyCZyyr-CA zBE$t+Y9Yc8CzHa=s{~yZANNR*FkKdCB2;co;5BF>;0mjhU@k^Vuea(ZG^=HJhxW;f zH~Xcf&4m8bZd5=fjilMTcf{T_DY#{WbSSXsE%gFM$n2}C=pvQzF6>RwyTa*PK9VU; z=WCQ^>dQK5(Xkp~r89$fCJYyEoW_ec3Jy_o(q;J|sGX7uMiGKHdpk2?5^!`Azz~-& zg@voeMtgx2?`;7{P-lut=GzH+0wYad!^FqlCz2GIPa)m#OVdU^jsRGPK6XFDVJCq1DGERXaGvcFfJ_5fa3yjYiL3i?C|C9NA8qe)AuGq@t{7_S6jMVaD} zTX4l~3AogVN~eMns5wtHM-X6KSZg)UG!%znRhu(5SJS2ikMv3y4QlJ-Wz+*#HmwA7 zr>eQbN&=E9Y{-Qy^GFRgSZoY@daN6xV{#K=rNAPn3s<_xNENA(2PK%0cIUE{)44P+p!o}7A@1fQ_ME`&m&L+OOX;K?=eb&sxBm5sr7H^F}xt?#u{h>ERLlO@MQl zOIQ;cSAbR23BB_O0*)rD5ze71Lk8x1-EKTh8Q}srZjG=EWa6rxp`og;6u@y4m_sAe zv91V&h0waA!bglZ;40q?Zh7iXxEjxC3Z$-`VAVCW=^CQdHR=IgqwUmZW(Ebl5NfcT zryJ9EMecXLv9OOF9C@!9M48K4&=epIGi^=ZM#1 zt#{eesYyg$nLX|cc+$|N{}e8Sz(+=DP8=-7u>j*AOXFFT)16f^Hi>+%=jEM;C*@!Q zGW4I^iGV~%#x?lR42YDiDftw`;=`Rl_7`w0uOX)qHs))?ul^HTa{N)kx=)T$)7d2$d=*{XPT&t8GWBYu^+L!zjJo4;uTe-v!~ErwRmJqPdQz`bN> zIF{6d=Uo`itnWkr=@HbJQg@0`IZlpqwToy|qLGR}B9Im#lmmP7DTFwL6B)VTu2fKQ z*I%$Pla^)Pa8E**_+ZJ-vPk7yr$j(vA&NV#z%Buf`@HUnpNBUQb)SsiN21+JK72n0 z)u!lA@EMsad_M+5c9d861nQ2OCfAwK-$WDY8izKj|1`c&GsJT#Uw`uZPaEHW>IkDD z$FA{vt3J@E?>XOpV!Y#eAFJ=Xp#OCB>SfP}xeQv=eJTy8p%*lIOWmm^{ITWbmj7SX$-Fs#`9@%CLEs+Q!ald8V*@c7sNbt7XgFH>fRJ8 zmx1e1&!_AAPwGEizqPOa6Fh-I96^fY$@?b-jx3S&ckQi{@n)IJ| z%$H&heg0j!o^o}iccn1rrk(1pW8iQE4t!320IXutHQuY>rmMt+etKTNcn4b3e*&Py zhg5(0{!{6v6OMyE!2&0LsOPSjLTeBU;Asugv z{NdJ^GhW{XOaF<;`3uma>QtPQJ0!VvUh4G0WK=!B_ma;;V6F9^EHkA+0gnEFtor>m zoiTF~+1G2QpKjyx+Yu%O;N=x}IY>o3OXXUti@Z3PeV~Ga=y<=Z9*MSuZnuYB(?epY zX7rmVnWbZk_woIw;^U{GQf1~ErN0l8@&4+14Ggst<(K!}FeCzRBrqhJGcMj*me)n{ zd8+iEknhe865ibdc)TJpPm6ZI9%A0xqv`e!kU6_MPK%}P0aGWVtbrgD2uyRbS(csM z7}UF23zux6Ft?OY8%j-JONMPi!e|SYPZ0ke;@}a-_Kdqg2S+p+i`8leqy-3b2a)fe zbb~k{qiM2@lT9m{u)RxXfd=0J z5xh^^F5D=o@n~pTYY=?P9C{_#_#eOpFK?Lc=7&JFFv9m+EO=q0h6FC!TT2Dx#}vuk zMM@VT#moG$^#o$v?~buDH69Xj#X#wjLQS%gEirtHMtasS8(!HPHC*<6WoOOD4kgH| zcjgjwO8WwwxiN9G(nMiscRH~km<$3icjpfRI5*SO120>BY>6SW zZ21IEu)#*0D4|R91VPQ|u)foS5VIriC%}#lm|-3t(WR1tT|oM$xN?Kk`U;h;Lu(1E z7AGD6hY@#e`Z*_O6ksL6g*|(l(Q9|{2w9LhDp#tbK=30ZCO5b^s*)PdL0H@nQDI_WqbypZW12~vw7$I1BWFXt; zgPHEm6cS6h>G+6vm_njhcDx%cAX+JjK%bn4v`(R9ctLARtbZbKH8Ttz8+c=5~cJwX|eP2tvk}J(d??6|Gs? zD7hhEP*UnBd>#v7XCUhqq$H84_@f?`!mtp=*M@{L)O4>N;fRte$s7%8=u3SAkPMqC znhS(94;&o|$b;hI3K#??gs2-u28kj{2peLD%h07P0@6Sv4l<+WNKVm-CiX253G(1e z5UNX%QRT6JoMNaYN27us%R=OX1HhFi(RM-oi7-FRlPj%tXls*&QcIhYe+GrroHuYE zK**la(ab4}BY}X6bkmH{-g3-_6@(T^G7kg@Rg40CR2(d&e-pwbp>8^=d=b3QIf|C= z>a;#fhJf^$G$hh!T@x8Zi?no@Xi`6slR`mC* zno_V9Hbb-91oR!4CdE;3A?F!zA&|T;z|b;?q%wfgD82*|BT@;j5IXS+di=m8pw6q9 zRUmT4g}5s7k%g=}EecdgCLgZ)0-tGta)*U5=Cfm-aD3)QJ!`XF$AQ@kYtr z*GXKyed^k{HGzmtXctV9;w-_}Y*?)km{-(<)ak4}JOAWH9u~J4=;c+ED7d_Z!2F@Zl7fsR zkXw6+w?>$}ArOzfGqdD%!?|pE&-wlnFW?_K1ZEqF=d7z3$WNE^?aZU&#nl9a?YkuJd9@uo z?d#X~cP2HbeB5O0$uc}jsBco_V=39$?d@HkG3?!{4#i6Yb7A5wQ}7UU>>~;-)GA2X zljWU~vUp=k;p3SXs3I^Y=uf0f1eOp|@FKK6fhpLmhJh)vS?f~6#HtBUk+*=W+>nm! zk%2OW2Pu%#+WxR%At2*3rE()UDZ)87B3lnanV~QW#yj0$o(AY`e!T9rdduc&?Xapr zge%{W=nv%ZWXl$=uH*4~rI)?=B?DfXqnHw)`-MF6trC>Jhzv+p zUpP^zz}M`scQ~ag*@Vr8|3QEC#1yoN8Fl77&KAW;gP)U~{ z6+*g!C{A&Y4)gQ?8%{d{8eH{Fo(7yRx43O&LQdw^7ELZ-zafZO9UPe$nh zw4zk948sk$83$?oc!3X^jzJEMG(pb^W^h$7n?8MqH-s5xqzxj9P=JCabub~Qn@YbD%5-;O( zUv#AdaV2~hU%+Id;0mr5DT**L7~>1^gazYT9^mLOsr7_jwAxQN5PpqzWM)rWheW5M|KMLUZeAqN1&44?YpM!BV^iH>ng2Z?oeR|L;U?$#pqy`KX z4~Y7#?Z`o5UeM+dj(CnulprZ^HLgJ7z*@jH5o%y8P%9D$4tPSUxafl5(AR`!KaX&M zS;m)gIl`f92h5yL(NN9~39HdZ{0#{7!*vW_@%r7uN|vV@$z(8^+c6R9QRzQXsOW@7 zpKsPWb~Tnw0J+Gja!azH$uRTi?~2(@0i2Ob`4k4E6@MoJ?!*+703=35&uPcFp6q<1 z?C0G=V%nkEL+u~&&N}vwcuT5RZQfjYb64D@|I|mUxK(uZ3Tyw2HW%qXQPkFdB92o5 z-p<3wMZfX=Clh|2kNysqa6Lin#&Hb-dHZP5ZORo zpscp(Wtz=>d5wA52pjSn{`2*p*cspt-5vf=%0a`XbbuxYUiJ)7hawsdsJd*U zkl8U3OUczN$qKJZ~zBsNd=WER4S;r>raMhVkYZ^+~qn)|LLYve3DNLDR5;mIqt%6 zNxG+e9_T+U#Wm??j=;;8I4EnczaO)!=F0W$UG}CQxpss7M7F6}b6|g(U+ny^Tt4&t zr||i;fA+lmKJTB`?^pk9{l4;T_4}XwzxDgPw>SM?HT~Z<{WqHaTTQ?8{4K7pe&bGl zb&qS=-n#4jrHZy;>>f9nl|KZ*Zuc;1V@;`3L>Z-49Q zPwxJs=l!e8|HF#^Z~4Fe?q~7)@o(XO*iJAd%wUio2fdFvbg@LT^O|EZ@T?UpY<8JkGx1K)nJ%9i7`EUHc zPyhB0z2o%FFW+7L>edIXKJe#0a`kIJ`RM8+zwHmK{@VVhuRe75#jB6{`p;Rt^1u0l z)%Setm#n_^t6sDEq`&uNs~`U5*RTH2=RUsr;opB}^-FKQv-4Ue|Kl~tG{(; z^_|yW`-%Inx%ucZH zdgb3dz5G+(fBHZD`5!rb+vES|>Bs!n|Ig{q{+(Yrz4dvQR$uyxo2$=$;o<7Tf7b`B zzUF`Zkk#LK!H2JY&z;}1di+a2VfBq4v0A<8>wo|1&bR)d)pva6A6b3g_x-We3;*sP zUtRmOm#lvCFT8B^cfREFR$u!ouUP%a2Y%t|3;w?^TAhB*t5)Ci^{-xi-WR-fb?K2W zTfP5_Ubp(j*S>!B^)LDI)&BcGzWT85eth-4zvIs8Q(kdr_4~f#&gzXndS~^ze|cxM z|F7??{_1bsS^eZY?yP=-x{ISnwqN@R|KV5MeD15?{KRvA<{#gF^h1B_TONJW2mkz| z|K@X^{n+YdFMRCp-Feevk3Q>r9((&2{~wRN_m;dzbZ~gT@fBTbv?AvaC=$-Go{kO0D!`pkG{S&uWU-yf*|Me3Oo&Jx1ZTs{M zKmDxJ?|=N+r+?$MAAS0&fBfj_hrH?!oPOOGe#Yr5-u&68pY}&ydHQ`H^Z4nX`tYwj z{mmDB-Rbr3`G(W4{eW*dec88v`{^rR@ZG1c`L+N4^f_;R^XX^()gLebbwN{q#3p_R#93|K%gA=YRh7)eHaRt<|eu zvcG!qe|o%n+wc7ytG6A0;OeP_3PUcLR+YgSME z=4)1e>&IWadg*t3>FS$b@@1>t?boed|DCT}efx7>zxw1Kc>U^kf5exsZvDkCU;V(_ zzkKyCpa1ykgYx0h$5+3xb!YXLKIYEqQ(t&z^-o@RXZ8Jm`OfNZe(#;t$N%u1 z)!YB~JF7qb(|1-p>XwV9atoD{lZN}Y_s_r*Q<2rX@zxvv;Gd7-V zZHFkCS|z(s_=v69`Gr;7Xu)r}>+)ayyYkXS7JPDqJ)gIG zFfWMn=BL+A;4?6VTl&lSpN1LS==D6_rpt03KVv<=X}*PD|F@er>Kx`5z0dHPOPBfL zj9Ywe&|^L@p`JG@|H7jO{^K!;E$H^+*0dwC9j(&nNFz=fQR;kSI*@8kX*ExA8Q(D`KFJQw(Bdo z9{fRjPy8Y0Fg2`-Xa?Wt7GSZhU>m22R&iQb5u<}+k!>+DOc%X_^4w9#!(@!tkH8GANL=_6iC*o7CpD?Yx0B?eu$4M4_mni(MM?D+^P~>4rBZEiiKMGmF6H}QmUIgrOX-ilN@wP@ zWK)gx*ge~BZ0Au+cK?(Ea~j`+4x?({%9ZWZa#ol?sDRje8IoBAIh^nd-3b<{P@R~foC^s&M=9<3}dGPd1 zKE2~q{_|TN&wVwEw|_C07k*g4jao0|8MZ6=w#jSx#;rv>@aHCeWXv{xDtsm)O?34rPmH6qjtmT<**S{ zG0U3{T=t_49mbF>b&7JJzRa3<}W=@Jr`8a{5hBC^32P0CGQFq zOuI^dRW)R&xi$9vS6`|lu&x;n zzHW|Z^(}DcO-n3(+X^}j8W`N537dx2sC=u1_HVV(;*Abgyl#Vwui9eKi+1?%R2L5( z>B0ZLK78)9$F=JnPz_(cQsJktqjM-4Gxe`k!|X@ol)yWrsJu4q`;4QVsGV?<65 z#3vZzcBl!IqkAIU-4wY_X1Hn53u6q;(Nd!~?tkr#TTdAN#}m#sHk%KM=i_*&#dC9_79cc+k%gFSVUe{mKc;PC3J2 zl?x~UGX&eEKvMW1qz-g}qxxVRyfPRcR=VOzs2gVX8G=Wjhu~HD zP^?wBQS-Ts%?u*AsWjy|6QR1iJPa3G-(oQL$na{(5@j(m!wX z-s1y<5ML~B>xWH8{eVb+MCy%((UH*zm=u7n8eV+?3yAXa_|MCO7ZJhT~$3zcIr zAYvR$)W&1U%JG=lFBrei1>?G*GFmx9*YQn0g8EL~DzIyV)6Zlq#G zmozj^N`ujsG-$p}!)cpz3`kJe}XTZNC11}zDV07n9Z1u^+vwTrA zoXmvo*GyDf52AsY*?WF!51He!u)kT@&{ za}siJWLXYc9?ij&$2n+hCPz^(Ig;Gvh>MbANxmHQTjWT-AcyS>In31+2s zehQ>aQDE;(1z4d1?GK4%wF2cY6qx%AVRs2gvI@${|=Z61hqABl1Mso35N@%k$<*1i_&yiws@gBb7Ms}TKB zjM3tGeDW6+4v8A6E&IPq)xKk3vFdzc6-Wh zo`{kaKFX6V7`;?xd#*&5VO1_0n}1nW_3*Lmq*bGA>7kaAe6*gVo6t@2XkjJw=;$cT zDRz^lZS$4>SWl8Z^+}WhH>;%f)w85+trkl4@|9ARZLu_}=XNQ^XP;zr;+PZ=bwM)n zz9vmftCf1(eIfZ}evrP7{v|2Po3XNRO}40CTh_UA2R78ih_xSP%#`!Y*|bmAtaIu> z=F(BdzTF(e2JCZZUv`gV11^tdZ(9U2qu_9MGWOeQHT$Ai&ssg%zy|niVJS5`SVhPl)~9JdTfOrzYae}rEw($$I<&jU zmi?$=?LXD9**|Wx#joobZi3sQ%5aY*yo|rZneQrB-~3 zUTdEGUYkF--j;7Up~r8Ob>I_rcH(ZOMtsJhZoK?m(Te$osX)Y$(O&#=M$dK z;agr7@F{QS^W9$;@+s;|_$Iw&+^^RPp2=2my)kQe_q26<&GJH?f3%oCd%lrxYqy!# z(pH|Dw4JAJ*~x34l=2PT%J`MweSA#u0Zy+E@!SDNxbf6u+@R(J5AAiDH&dMDjd#v- zXNQaY@`_5n?N1fI5q_1sU8~`L=qCTU=QejTzsJkh-{)yYk9fkWCwya<=e%w4OTOFk zHJ^Uq4WHxoj-R~!ft$pA=A|tfd05eRPWZ+7(?2|TW)mOTNuB=0H6y2U&8ewtOY+HR zMK(7yXpwDeQY_G-_aC(Bg-;uraG)&(8R^pPsd{w%wLXpT?Lb40ccgO5PPBQ2A+^yk zqK1qvFAo#ydZs7slFVr5!CquIus40&V?hIKt?0p?KJ6T%x=sj5e4N85{yV8ty_r9uKC_bT{hS zb|{%{ai=sF57K`)oW5syk*VQGT6Sm@4G;98!M}VdYn?xRbP1r1bz^Ap{2)5wFpi9# zjHj|W6G-k5LfOwJ(Y8flq~S7|mVAmJ&y7)J9S}nfT5%L{ata+yOQ3-^NmTVRnWh(} z(%7--}$J(VU8pGIcZxfIQSQy@ zs%f+6RzyDS@S06c1Ljao=ecC8UO@G)3#f0+JZd;RpL%XwK-UTu(%1AwG=I`!TI;oh zx;ZT+J+oz$uDhJP{w}A5Z&r}&-IWw}VHJJYznWfcTtn_l){OxaIUBMwmF#DlaW@DTO$EvG-8he>bf5sDjh zl(eN|^uhi(8T3CvO6!wkZgGm*n4PA9#%E}G*Ry2T`5fsOoTu*XFHn?j1=Y8?NQK&$ zXin=&+NN=tezvTloEBHex_LEeH@ixP>et9et%eRX)zILk>-6K_4Z8L3Cf)sai<7wm7`a9q|+1US}K*ygXcm74Iq~Ekt+>rG&z|5*83b(g}PM=od8Lkx$_0hoB9U3sU z)`YZE6K>Y6A=}v+U9Gk7c83-=_0fjM4sG1E(t-DO9h6zN!SAhYU~SPBL$pbL8wJ?t#hL(A^^a9OL5iAL=)VP$)8gAVw!qyyIIb%f!9j!4xpz^>T_ zINPcd4(4^j3^haaRTyI5PebUZcgFC~oiQ%n2t(c&p;bf|6h7^Ow!vNDf43_V{JLRc zbvKxKbjPu?-C;pJ5K-O(83T+lcBe7gnwwy8p$T3Y_Jr2rp7^U}iW7OJ81csx+fvPN zqrnUp!+T-QgI+N3H%I(sb1WF#8`+0@qo1t>c5b%7r>>Uxx7ZTbHLVb*w8E7yR`?Rt z2ag~2!2(}vG_SCRB-y}Ww++7b?2FXpeQ~gLKOC0#gW^L!sE68O$W2=e8`>XQ<^3_& zasVn<55NWOfl$c@;#32APE5%@T6;7=q;tZ(lK3`*4^X<+x->$_iz_Zjvm1;9s|RDFnkxoHxMJ>QSLE5c!E%`! z;n=34BJB5s3Yrg0Lwv2=<49 z5Y=idq|sxsd*fJ~|1=gk7>DZx<8bNTI7~7hkJZWJk#b@@-n9;f#^_+2DGWxpH^DHp zn}B_a3HWef0xq|kh+%;f5nePACa)(#*)Ie+=^-#Y9)i)$Ct;w+B$UmcgsV3uVV+?q z8pem>ZBZ!Zya+{Q?=WnS34_(HFnE3lL!18LNJtJx^1g6%{2Gq2c9VhB$vD4nG8#Tl z#{T{h=$06P-lY+^@iqd+mXT-|5sAVLk*IkTiA_dPFbar5|3y)FdpQd3t)ekxP&8g; zMZ;=eG;|xHvC1q4=f}rj>CzZzRK=iM^H|(=j)h%fEbKSOqV|3)%=F@*KQs=Tvg7ce zG!Es@;^1sB1tA_&U@f15b){2q;K>xE=*Q!>YdoH&#$$0wJnC=7<8{jf%(qX#{qO|T zEJ;B8nFQ?nn1G`0iE!{rL|Rs&_zoxH!}Ua1HYK8MpCqgeNW!gYNhsf$grRqmpi)mp zSf6Bk@lQryWimQ$NyfIT$*BLHjN3g@MBS5u^7s_&T9yLuV=1D4n1W)>RCxDIMX6sZ zj%KDJV_hm@0X=vV0jv>YSVDzcN%QFrDG7Kqxr;i zWUJD#xiB3wPo|^G<8(~^C+L=eE-VAH#%5q!W(M+>XQ2K542-K0yw5-f?MzJXorzM{ zOe~t1iM~1F_vM*bR+fp7s!Y_q%7mqQ7Rav+;gfHtw#-M&7P$d^(d2le?m3e3y+%^&Gev zf8}7mw&<~Tlf$B~ z9D0!B+$cF*Lgbj8D975Va>y6T(Yr{F^}FSGc0!J?SLC?yK#r+z<@o(mjv<-~OfXQu z-AsX|{tDznfu~*yXpdDuBT|8zDWdM2Dm+So0#>UO7+j)2-!cW>A5$Rrq5^Mkh<@&4 z1^62U%o`PW)g)?FEhXM`P@-QC(c86DV$eV(+HfWI4^?8Iw-Ng8>$FfIT}$+Bbwy2Sph8Jk;qH2>U}vGibsJHa4ipZ@NrjdqoR6ytp2Jia zHbT^dzAAhP5bKRoK^7wV%i$^*N2`!9MTN~tDpaJYa4k!Pa|#uTr>PJ%Lxs+>g+D3~ zb?-tI_AF7M?FtowR;#dJo!EDgs3|w9aB8y(JGKdjxKsGV-J*sp6Z_aN_I*gyvWHc$ zIHtnv6T+#U5M;yMT}2=qlQ9wb;NcqlOXE3SheUvO0LMquzy_%%VKV6I@7 zpi1yY&{EXi-39i7;erW*M8QL`LHo<vvTp>-ln)Y_;)1S<|YOGH;(^+1#PqWu;mBWJlf{lkHe_K{jpXHJPleR(7-VOWCMX zA7ooL{gO?2-b_kcqA5j(wv{}*J4o$=jiicvV=4TGx%8UZNPg!BN}J+jQtbd2=}V_! z(uXdiq$&!K=1dKi%%6r!#UXLh&wnYB&9NM*Th%ma(WMzu((T#OvCs3Qr0$EQMM29Y zqfM(Noqy}4h{%nS#gi?PchpYlQPUo&X7d5bBKU~(qUTAe*^jeQ-h+$Mc@-g&XQ6mK?D-JhLbK89@=IF5C_JAv6v4`r_%Bbd{d zXl8nF3fn$4iB0^V!NR z3z_wa#Vr5sQnu^ca<vW-*)&1JY6azQ2dkI_F&)wVE<1ahe zY-u<9KC_Hj+}_8!SsrA!ROQUO_6RF*I?m>-KFNlwone*H=a}}L3ruI&C3fZ5Wj4aT zniZ5?W3&6;U_%bvV#nEC_NAhhy$X29meoIIYEz%F-bOE(W_cak6!eDu`q#i(Z~efo z`+sJBEgRXq!{3=Q=@;v5^OwzRXkyi4)VbZ!W<1Tf1z$L;C7a?>Iwl^sY01koxIjNsu#QG8@(3|IG!<2g3*{FqiEKVP53msX~5%Ux-F#-a?qIU|b~Ow8eq9tytM zPQ~9XoXVr~r|}C@b9u|`Jl-pHI`5q@gSU>I$*Uq~@x;mb{A<{39vC)EBWO!tGMB{ z)qL=yHGJ5+wcP6OI$qzVkWcSXBr*fV+-t}No*lH2=f-d1lc$$((>0s z{KYoD;oo+?vGYzYx8KG4`Ihpd3A=fZ`Fr^IU1dD!%3eO<{XTB0dw`!BaFE*t9OA0% za$Zz;n6Em2ghw?Ts)Q)4Q_M)Cb#ZzoBtkhhp*1R z%eBtkMAHjiKll}w&8p*pRj>JA z{Wtt);9D*)YT%b&zvHj^f8bR)AGzYfC;n6K3&(`7eAJFcZuRpUuXg{z*@~Y$x$YNF zcKX9*bN=$m2miR9p&FT-QKMyX>J-}{o zlWS0@l_qt#r%4w1t!bU37Nyl`(XJKRHZCKid)>90(~r~P}hjn_tF_4ZY*wIoudpi5mo;*%EkogQp8t3Umuk@U$;;u6_70PH{ zq(n*m814AZNIJ!-$84e?U(o9=gG7&P5VhRnLW{EpQ_2um+N$eD{U5kd+pR;0Qisx+ zLGHA&%`iG$JB;{N57J2=PS$RoRH*Mo;ZMCNd(Q}Zsv1eFM~$LQJ-n&ugEwtI3xq0 zG^=p}O}RXg3X4Oid*&pn9~nyO=3x~6H;mff3a7TaCX@e+2znVDNv9p6sIFZ!1=dGX z`?E1*xGt6=GvcVpX9_*Bjwfx+1X4avAlb=8qBTi0HzS#P_@~fs+f?e&HjU=IO(W@2 zI@xW>pp+Sz^dl^b&JE6{TP8VVtuCjFPvqi!6m+dfNzybGHQG+4gyN~Btv`(}v> zCF6<9$oJMVD)wAXI%k&CVy6{kzk3CJ>9vxo)~=+}?N?FFoK^HkeKifvT1^{2uBIMQ zYv{n^H8gq5TC%;mmO8qxqYfw6k&WYe3faA$cJ?kL{h~rzWLQL&i;AeWbupFX7E}K3 zVw#@1fmXiTK<6VilGc-r6dAOM9$eo<(OxCg_Cg6&Vl%BjyqRVX+(L7AZJ|xQx6-ZR zt<NTZDoQOgyFsG@y2tzB47xor+p&YZ(EL*ob)Pd`G{>PM-K>L>;OIZ7w8j*;#6 zW3)H*I1T-Loaz%!(7JagC^YsYIn^a=(yh5bXGc}g^y&)o9dVItsxDGT&r76Td5PM1R8qH# zmE`1pnI>JhOv{E;(d~0p)YI(><($1jj|W%Ns58}6>2j5PPG6;GgRYV4)HO06R6}=9 z*3eR1r*S8*lQnLT#>pG>mTpq*iJNqtZqbbsw@7qf>GO%()DCyZ{^T7B!(Cc^@-E%O zJu*IZj}iyfQpKrSGIzO81*h-RFP8_Dc;*2$3>LYBvk&Q)>m!D-g|R6FSdeR}qRw8B4<>C2Bq5uYfi?h~a(eWpeApJ`Xj7pi>wgcIr~Z#@bN`V=^Cs#xy@_TuQ^UW(YDmdb!>hAu2xy^>^KR=rnAsRf#AwS?R7mdKsc z62~fA;-`rMEUT%dFZ4Fd-YT(se4X9UXpp%X!EWI@0P@oA^X~I>fHC(+~ zg9=*1uBtV9>1aXUOA9~eYT^E6EtG3(W1*+W^v=~rzsuVArlo`O;W|j2qk}$`I=J7u z4Q6_@L7&-eP(Y-CE&1wscinf^5svXpZwnOrac6fBI9b8-JqS#dzKXY~A zaYh$Q)b(&{kRJ4=>S4%9JtY6r!wRmC19E*_KB|w}U;23J+#XLe+vDz`_PF@1J@(jl zz=G5ch}_o!4xc;VuWd&hOX!H?(vC2G*AeIY7$7vp0N=J6U|O94nwximBD@pcZRiC5 zr=763haog37{YI@A(qt|qS~-C{swf0>9Wqijn44ZGs4(WMhKc`gprqx;M}?kI=gql z$LU>g>`WIZ)w;rgy5f0GSIj)z72Usg#ZJ3!=$G6LTXuI7J)&+%x9X1S$nG#I=`QO0 z?pV~Lhsdb(!2MM{@Zok3d~a_oau>#UHP0BAD~(a2VS*Gl6WC8P!Q0~|SpLfdc8)!9 zA*Clg_w>a1hMpK;X^O>@P4TMO6n!6=BHG9dD+0`Lc(EC-RGZF zUP%7c3r-H^_>^Rhb-Tx;JyeIYmRhkq0MA#qhdT)*BA zW;(Wr7-EZ+N?RN`WQ(egwzy*1U-X~)qi9WkB;D+f{%r=}>5u`KsvLlJhX!EYhXMHA zdmzSy48+Ej1M%qEKxnqMLr)hwSY_G4q|6Q)^>(;#Y>&b~d-yE0$L9)rOlz`7lY;}| z;vI0I!~wbw9pK)<5mP)JF)h~-d50a5`q2@-y`9i~f)nm7b;7jEPUzIk8Ec%J(I&we zaV5?;eBT*g^BughAE}yCyMctY8>f z#gMDcMGl&yES6(O5y#?N91&WC-XPJ-BgAhde0@M77X(}w0_bG}9;LvPXTmcW3_|ws zK?qY0g45nX`0;WON;cW+-`%m%VirXs5kOndqcCM z4>DYQP(8&5?NXqGb?h9#q6aCJ2P{1}a@ zo&m`73V>O9fN*^Q=zb{xnV$o2q{|q*bQ^;oQ^w%y@-eu3atumdkHJ{IK>TnHgfcV` z4RZqFx-Ss9_XDx5c@Pfw2|}4)5EkVGVeG~rXkQjS=5r8w8I8pPm$7&nH5OeKjs+bW zi(!w1pJ_P`2G-+n&vzVVWQ~Ji(Ksx*|1}Z2yM2(ovCU{7@ju6_!^ z?GBT0-f9=AaBetc8^f{bY&aU9 zhofJM$?!E3Ic~Sf7#ThpmeYkR+Bg|2&Q3<3=aaFeSp>9uMqrFf1m=cBV5=$urRyWG z=6D2>9z>wu?+D!P9Er(Jk$4ag2`McS)0aeIe_151T#ZEayGSwain%bBQ5fPLh5GO) zq~?lcq4@oH6z0}O;qdn;T0Efz7)q&}kKqo899v(=i?<-tpKR6_1Y7;t{_p9(&5- z@!(QCK0Ouuj7P0r0(My@AjTyDxt!DL8MLg2g-q!+lclK0F1A%oO~Xn}P|2DcHR?1r6s@ z(D7ahEE@z(;%EI-G?=Agw__?M3{S<6@u^THq~g;w;oFvqIZ>NaajiTRpDTrHdzgyf z?^E$iEe!|s(~xSGh8_-SIOLuNDM-u-h!MF-c^Z7?rD4|kG;G_QhVoNs*jJN=HP6zJ z_$3VkTBPGihjirh5`bU4GBF}G6I!{MIItiS zqt<2O&h|`>%bFnPefOZx&poEc|oN!dCw* z44#yQ$|+)*oh9ytET}EX!qCDj$ae@Acqj`8&Sv4rRk8m4EG(+aLim>~STtqfzE-vv zbF-n_GaE~6veC*p8_{mrVxB`bn#N{hU_>?olClva&ql(mY=kY&#;|qS=)N@@FZO1O zdp{e4FJ`0mx_IwlHXhbx!~L_Ehw(>v##X`|>g6D)OAa!7%{sE3M773p!U0%^YT~h zyO|RAHH6!2qlB-%5~@y06n9nPh=~#x%|%YPj}jHON*uCRV!cc$G7L(LbQ50GLy0>h zl$htMglvow563By9->66$>OzWCA8v|P$mm+nl4;xjuM+xN_@#v!Z}}wi~=QgEL7t5 zQYC(_R6>89$o>`!Pg)}K!P}JRxl0M%G9|w4SK>yw5?hWbk#b7pg3pOWN|^moBBV))rOi}0 z-BN{Dnkux=QK3sa;T!c;7|>B*s6wAEDs<~EyrqfobEd)_nu|G>mSSFxweWrYLxp7sP_j7IRPp(A;SV!~56u?G zBNw@0rEs`YMK(HDWQM1!5HM4Pe)%dinPTFi+%18o^_W>ae|g-@*%PWQ43t*XRv2*3PO@UB{gM_0wUUlV`h8Zigz zy7;@?5P!>?!XMvKp~G$AVg<+Vh<)A_=WPwqWfe6?`6x zb9L(mkNBJ3;!xu{6dAkFNIeZOn4=ZUogE+`0CdpcP_9Ju6nP)>5Xv2 z0`^uc1&$5kIteV_sZc1;e=pV(d=Z3v5YAX&|4|%+K>d^O*MbXzUZ2JHL-0u8^hM15 z64VK#uPV$JJQnnA6mDE_QPBRI@aTe#f_j0?cj4s)WrB}_em{ik7Hknb6&MNs?JLL^ z920yL^!z2htAaeiUcnQA&TnxJf=Plog1v%!f+m64ACW~6#0usKb_uQs-U+mYBexI? z5rhbG1j_`af(pSSL8CzDpZMMj90bD!!Gc6Vu3)L4L~uZGUT{ zK|g^c7$O)Y2oi(|;smJzxnR1WK(IuxT2Lg|EZ8a7D>x)LCO9oPFQ^n$3u*+n1a}1w z1djzz1uq1z1oeWqf_H)sf{%jFf-izb!GF2@?}8tKpMw7~`u{on|9SjB;^+Td{{MXb ze@_4Z@AaF+Yya^-kN^L=ynxJsq50bOD=wb4_pav-hrX|M=qrEYuR7h#$(QnB^R9AF1_a5^Hi;KU#pkS&euOUv+`fg zUEVj785C;D+9b4XQm-}wa}6-yw#C@ z*S3@1*62&iu62}t-!_ztUUreb{^~B}8}^j$@Ltm67z?Smu#eR3L0`$wcz`rG&R%+R z(n<2_!lXzM9g^w?OBLgWN;vvxITwEb( z8CFWa7gb5;+Fg|*7S%|P4Q@*Pi*8F}ZSG0qPTZFU`aP1KzkMRb=0BG%S-g^(s$NSv zX>X;E#_y#a*FH*o`WLB0`X;^j_Cxx0;J5TL^PhCHP>mV4Y{tgKHD_73TCkaeS~2A= z4HnY1HM5zg#a=dPv;5RHtmE6ZY+jfy`|wbYNn_iyWo*$Z#*`k!{C|V#?{;B_!(G|1u0zasd=QEpG$%+P^VpAhdGw;=BnC{iH>~xFsY?5?=eNL`m z$vZBx=PxcX*B+PIlCf3n#_}ty`ORw9Q~w(4?^DBU7hPxFuis#Q+TUWA0&cSztM9P> zkMFW7vsxAqd!Jp~`+zz9e#jQOJ!ZG(KVdqxPnoUxbLN`zf(<$Sk~!$sv5q0H+4DX1 ztf<*r<~h27z1aGW#r=KHp80-cL$`fmtJJ=*+Q6?&b8jQ-rSqNHM*d)yXMeJG#=qGM z#UHl$!Cy9-HLb-%8-{8bmqk)jCiYdUHFr0 zUAXO%uKe5RZoGfz?)=$;k*;nGJF?s%{#-zqod^Igq&y;d)N3G2<@SX=M~-z@mnQysyz56> ze&Ixa{&L;`o*6ult8DD}@4t4uq1vAN6ghCKWJjLq=EP;4oO$9KXWr$6jLQ~Fyefk6 z8xrTE^oUa(@#5p)nM()pv#~Bb*L5&I(8ZOH|LV%quek9RTZZsf(}r^SICnnTVHiK7 z=fM}h^We8H4d?SVd-C!;FCH*y1dqZ<-q39nfB9z=_kQ5b`yTV*Q`h?PAqqdPnBdPX z294%JdIs>@EynQLx-s16av+!O4&uv~jOCLv$MG$}sG>-;9~e)ka6~LPYXCR#AMQK{U5)7Q+|5kKxhxWBLAzaXjhZ z6kfC`p1Ukb;QqOZ{BBYbub!059eh)GJJ(bmWS7Pb%+tB6VFrJumC3*S&E#pHvUt?X zY+iLQhi|Bs^Veq;yy&o!U)rtW{r#r$L)BAx+VE*S_QEv2dT=gRKbgymq&%Kkp2zd; zr}LV<)47lB46ao=ga7U`llR&_lh3r6#f`Vj;-7ov^FN#NIhoDoB{c_)WOyzSvd zoY-Psa&j?ubzQ=ZDwgoxo=f?Zt4sMCzh!*=-DP}E@N&NE*>bKCwSupDw}OYJtP~lX zm3)nA71wIDn(rxC&F8mY!#A#8!#|j;<;mODa_j!BT%uZ3B0mvw@H8u#s5Fkd}@W9|M83-Pn!JXj2T?V&72loMn?_TtI`qB1n zJN6@Kj@9fn`SFxyy_f z)s`EXw=6eWHeO+zIJ3eS;k(iZe!9|_7Q4!Lnsc=gKWnwou*w<(o7Wg2P1YKh&#yHi zd;egxc=LndJz||Pv&ecQ-;(vlcKZ#++(R3TP2L-g%#Su2qhmH14fAX^>dxD2c-Prt ztlziAXw+e=k?Y}BBU|h?!ztf(BW1yM!?53Bg`i!smTqfz?qN8|L^PsT>O&&JW~pN&FEzZ&D}d@-D^ zd@;s0u#l-UEM())7V@-y2B|+IgRJ^FgVbq|QBKUrD8rv*ly(g>iOVeVER%RO&MYJ6 zWR}w}GK;N87Fjzti!^$ZMP4?~Dw`K%mFXX{%DC3qBzb8z+5c-c$)+!T29R;i=X6^!tVKHPD*}p{w2S>Xjee?tSTU>*$T?i9tCCB z_JZ=HNFk{gR7fTtDI_^67M2+ag~hmBSU%bok<$~3$gW34WMAW=axVafi(PkX zxxL+5mROdQA%jaw*qM?NU%Qmd8_Rdl9+r~I?xkhiqSDOED#?JNuITqJ&$ ziv)dkk;opdGVOq?9I9$azVU`I{Z_7b;A=(oLGLcawIO^<_|8 zeMz}pU+%j%kOr$7$ohf}#VN9(oW0gihBa&??#miU*?f&9-{8hl@JeH;R=MHJ*0TvrgAZ?sVuwFR3U3{(zJ=E ztXSnK<%+bBRk1C^^KJ{V@N6mR>s!hqt5z~?SSy+RxRtDL*II6EZ!P62w2{cMZRFPL zHqyOoTX}Jyt<0#^PTI_9C#5aCBtu^>d3V}NEL_@4sYUIjRh|wqExdy~z0pCsH0>x? z)^(I1Yj3d}=`ClUdCS61on+*`P7+(Qvy7b4Sr%pJBIo-vH}^sp332n0Ys-Dar$|?M zme5tEKI$qh+IN!@Y2D;QweIrswC?iK!dG$y`ijFvUx{eYLyoNKA+?M5l+@up#rAnm zIn$+=3_sLMn%47^GV}Z-SFYZYJ)*Z*-svqat^6f;yT5F!+((K`?IXi10wmLb0GaV) z0P|-1%A0k4C9QNn`F?Ca8TX-|O!V(Bi_i9#V{U=q)+R)@$d>riR^U8wB(5GqDMn4G*2 z#`h!#OO*|S`CeYQq)!T$^%fDbW>AFeydELfT0~0TosrVIMwBd`6D2uwMa$6WXvz5~ zS{8MRk=BP}B#%?9TuF_UZI*GeA}LN*y^oW$fOxrkDPBr6O%UI$339b?qU3LpC@n@L z%9Ndna_dc^IMf;<)BT6Y=ea{mp9Lc%k8Qo!4zPGTPQ zQNG`pWt_ahILR74PD*bW$3)9<(x=LJncj1}98VrExi5~Fwgo20yyg?+&4>xoCT)Uj z{AGfawVNnY22GT_%O}c&yA!2&=}EGz(baHj!u=aS*OX&`qN~2>@?Z8d79jLIZbla znl4U#r^}#4(`Cht>GHJ13~}r*L&i*+A-9jskowtY%F>22rBDLbP24t9GQ6EBL+i|v zoC9XbtkhZ5JWGz2o-G5r%ofWTvnBn^Y)QyFM~r53B;&|Aa(vGmnfrN;L^vf&`@zZL z@SQ zzs#epQzS!ZinLpkA}b$ry`n1fCCG2STuGTPEw0U%{lynZgANPi;N%6;=Hvpom206y zcr28{BNoc0JqxA#uL~uQ%Ocquu}I=JEE40zBFS89v7G9+SQac@EHQT%OQ*6+#OSs} zD$iLW#V#$8+(nj3wzf+p`-G*E@7PkY&XFp$nxsmTVX5MmmMTe~Q{@NeWpX28nH1i* zOj^ENCgW-^m$QM(rR4JEGT{Dl*;iqOl?^em>^i>j^b+zPaw3=&9t(Nw?SBu5x)x5_V=@Yp|%5PdDcV4ZLWp&m{ z*r2u2Xw_ON{&=mts`7)J@&7?KE&74;^$#+>%sLs;ZJk6V^Zn4vEG^edVu$rIcItZh z{>*w=mw$sCZ@EE!9=k#EAKf5MIW|fk_l+`p#6~&2Z=>YNxJg>NZIUVRo8;P#O;Y3I zCP{GGEEgj-i|wY(GVS$d`B-<0^bX!4=hkcy_orKAca5#$(toS$ShiK_KiDcqDs2<* z-rMBy!fi6-_BOFDyIpp4-!9$fZkKG=w#x>q9pcw{hZLW+L(W{>Arp%3l-BK;uRnFC z+&HsSRu$MK39WZY`w6?G_K97RC(mwq)_k{|AG2F_AKopivZu*B_cWO{GEF8NNRx4y z_sE2Xdt~a+Ju-LC9$8_rS9V~poQ~fsk9O{rte^KvCD(n@EM}hsZ`&u|f7mC-9QVtw z5&Ok<^L`olcE7B!J0L%Y9gsR34oK9i1G2yFK`9h+Q2c*5C_A1Xlp;2VBxKMbIkWnZ z*gria-`7l+Yy;9|@XB<#_c&cTS3fML`yCd~<%i|S!^6_N>Jd2=a74UQkI3!&M{REd_i}%cFUx<=~Ce zd}sZPjOczw0_L5OmN(9bL+P_pw)*wTbsq=EW z+j%)N_q?3HeqOGWx*)f^U67yWUXb_KFG#l17saysMX5ILqTt3w=~(&_*I&3K-_5%u z%Whnf^wK}dqwYUS-jpAu-pwDSOPR|u!uPVQO}Q-BZ(f!>Wv>W&T#=CZS7hm}D{{T; zRVmi+>$Rn`-WBc3bn$oj{3#Hz+!86J37p02zrouAy5Lp6UA+krpH!qq=Xp=UqIh}!q$ z-JpBYZ|yy~{`{V_t8-tD1mBnX>+Z|em-nS^y$7-~^np~`@IV&4ejugo9!m1yhf-qG zLz(sVp%iy`B(owONr^3wB>DX#Ded%F7DPRkO4}aG@?RcHZI_>AW6aOuvg2pj`{`$C zYCMtCaZjYvt|xN)*C)~+PvuR*Q@-!~RB~o`Ce!LalQKh}$%?(t#39pj+28QFv>yIk zuI+y={j$7}ca2}j@R2X1;Gq|ilI^9`^mr-TlU_=*!!PAhj#uK}?3KJ8^Gb#teI*5Q zzm|EPucg+w*RtdIYiXAEja+K^M*Jtdk=G~R$dLSRC10Djl050HR6X-nHWhp)4conw zlT+SFmvisre&P2L+Wx)#I_s{fnHu z{EKw3`Y2bse3Tx^A2|JtlF9xr+&&RGx|oduI-XThp%S#acX7X0)}7JMm@6_zes zJG4tyc*JByw>eo6wmmD7u4KiWk6E$WDjRmYWW%X0*>EE!8=lO`hF`X4L$<5gnCqGi z*4Eik(KS12_+&@D*z9mh&JJTocDP;Td(oe`PKR|4G;+;>20l697MlaE$vNP#BM0hS z&4H?)a-ghrP84&^iQGOp@g*iFUe3vhJKJ;O?3J9@^D!syp9`~Ha`C;yTo@RW3mxX< zg6sBND0?LrvV6>i`z3NC-8nZ>JLks8=-lWzJ2zxoZWOzmoBzLLZX7C}2gy!(5Y#CT z8bswmp;>uwXGlDD^)&A&fX0P! z$*(Y)3@?mz3k$<)UttWpT^J8D6oF^iB3SKK1bKXmpkD&t?Vei%rFRv<;A=&2!23H4Xr8q*}izCUuIOdEf zjunfFW9z=+IB>f-PGl&7^JPllN0h*oZY6Lzj%ynxm%y3rB^akAu=_&^th2Pj0tYKh z>|lkM!B+5_YQ=Y;tx)TX74p5X!jpW~I9$sb3tCtsD$p7&zOzQ@<<@wTZjG(?t!bx{ zXjZW#@-`}olRZmf{19%Zl;rw$C9&;VNeui{5~Zz5;kZ*NM0uA&xrkCopH>R}Hc?08uOJ}!%0Im#hV zm2&9Rq#PFbmBWLfy0yU|FI(nmd+9Oo#GF4J(hclgs17+VUuQ zvOMHTd34ED0pV3EV4Qme%jhBDO&{@Pz8&8s-R(X72KFn1(6%8 z(56)|_jwgm&s!Cns#k?;)2c}GuL=yWitY2O!ghC6EW272C4Q-jq+-?Z(zY5pwXMb+ z1-?5!t{NhiSHr18)llK5Y8afcI`)>Xj@(9dwC!9SQzNS5?9}SWyRJGKpRA6^pR052 z_8K@>sRlkZtbwvUYM?=U4RoJVgL7#Oj6Yuk^Iq1#s(dxErAAHcYFZO}{A*(Ou$tJG zQWHPytck^!YhvoVnn)~M3w`R;Li3hf8@YciWJ{`rn~Q2;!=73ge!Ujje5{2MmbG!+ zwl?OqsSTfjwNd1|+BmYbHe&YIMwMH&ar$#@gqN^EF$WuLXlKKjeVv|E%~0b6f7pysa*NG|S(Y<7+q(Ap6v`#Yk>C`XJ~z&wJT zj;QjZBSK$0Vp~2ZeB$c@PEDNn?x_=&=^3@2n*?}RERoY3r{6Z&L!Mq+7aOm%j~ z!uGmWsWUcw=ZsBDoUwk7Gge%6#=LjV7+=r@ku_b=&BFy;fEiZtE_gN5h3nY3VCo63 zVf4@i1_pIA z@FLQ{z$pgquQJdjo$DUmHc;=gftkewAL&T4>j+$F3s?*Q%8mkz`GD7U!2diD`V5H4;f93rZiqA75Z=)Z{es=l`8zkR>+gnY zyWNoUM>qWR(hWOu*T=X@_0id_KFW6H`bweoF@IcrbXr;;dG^%D_RIC*_qsl^=WT$c zl^dXb{RX(uxdHsc8sNpa28dYN0PoWpAoOwrJbKjtUGg-);O=G<2%XMOhHpb~Wjj?G%W6U_-7$Nr>!{bY16t`@GpKO|7Mbjn- z?AZiWVw&Lk6y{W{Yyy`9O>p~K6AXLX1f}!2V^d{!xVyRIthYNl2fO3yXm@xoaL37Q z?r=Nnj+KwyQ7E$q!mK@T+SUV=TX-O8=C!1p3{iaC$(v*H~hGDh27P@;gcyw>Z=SwrZ z8{Z6vmNdhpUCq$`LNgS8+6*VMG{?}A%~8j$IWBuPN4#HiSjRTU#wpF=v7$N7?`@8* zmz(3}3zj)N`P}q`yQ3%8xAH`ZKAwn;_r#@Xo~X6T6AAl0apa08^1t##>zpm{UD*~$ zb8La%j%+3uD|yU-G2p0q@(%&m~msud2`X@xkCR;b>+70wNA#dk4Vp~%8kSh=+o zaH#?G~^k^fL@bi39XOJB9d z!yIi;sZ1MmwQqw7o^7zbXB+0QwLyjnZD75)4Q#fzf!paeXnMa5T6}JU=7rj#Vb!*< zLtB(<-xfLgx5cBxwm3MwE#|Cji~f7L?-KJ(p0vf*OzjX{yd5gmZih3C+VS1VcCZR+ zhs`6}p~akbxW2X>0uHvrlPm2I_@W)|W%WWQYcCwC;TuA9bnm@1D-QKidK2A9TRc zPaP0gpd+$X>WF0Lj;PV9BR2Kw2ke zPFT^k6XpbW!pISw&~H{Jc&zG#vU@t=)wxbcd(a7^K6Qe7{?5o)p))o+bcTQP&dArj zGuDN4MyrvXac@>0D=Id(as}K6b|Iyj{?<9M>?j>w@Y{yI_=07hE0G z1vQ3sLHP78*tU$hGdsGV_9?D$cBc!*z3qbaIec)=+6PZ-`ygXOALQ@A9Gbp9C=u&} zViSCjXMqnsZ}7o`Lq0fm*#|40_+XetS9B=U73C^*#Y4xgSk}BN{JL>%wBW8dG^{Iv zrgufbWnHmmdsj3$(G?eOc14d@U2!iJZ*$w$mbwi8W+W5Z6 zMh`4a?SW@od%)&s4+LKAfdx-`;PkIO@G)Oclq%a3u629Dt6@*{_Ueh?-aQc!PDb@a z(9E9jThmxS}_G+nag4z2R}CH*!DjjU&JG#?YMpur1+_n^pZW(#ao{ zn)+jpw?Enk_~TB5KLSVjwnwyK^C_@aBI~E;obUR$$&mM725}|zw3j7bNZm#@;)%O_CeG1K4^WB-0OqpZ+Lv> z0MsrN0LyX#_-GTrzlQ>_wq*c@cI8_lfdMES6M%E012BGO02(X}!1Ij(n6*Cuu4j4d ztpEf)4?u=50T`R7FA7-q#iVL|k;|zs65RXZN&CKN@7EWbL;9ldkiO_Qp)a<7-xpa| z_C@n;eeqp-U+llo7w_-(MWt7L(K16n1m)|8aV7giMNRu${d?^^Un=6cMD za_f&qE&Jn2m;M;gw?96F_ea9;{`fMfKceUHzc#Jxk8a!gI^-0}+KlEb|P+*-n9Y?;nU_VS%t25{O3Q1JQO)AUdZ8!e?V3 zI_(Wa>yv?~e>D&_9|rQB=Rmy5H~=T|4ZuR{0SKu&0Iv1}V9{^@$Myh3_zXa`z5{S^ z@BkzX9e}bE24Lr$0q{y4fS)!DK=7Uccz2w~T^_*qxd))ns{y$1WdPiA55ywNfyh*G zAiC5Uh&9GQd~P}rjXMm)sGb9{f8aoTiXMoXqXwe$l!45@8i@HT24d&tfjGNwAnu$T zh^JQu;?;ffY9O9`8Hn4txF%t-LD*J)5a!k%ggBQ$XzxAHbHRg8ib?(=6Z$lyD14l=r|?_lcojXKuQqTVGTm5%|U3eHwZnB z2O;KC5GLFS!uL;uu=GO^R%8ywvV6f$g*lZPo>Xkw;+a?5=Ttd*NaR?5y3PI`4Aqe#g!QO!($Q2cWR>MLtVO$8(XN2JM z{1DVw8G??RLJ*S{f;mS*u<2X~j$RMJl?NfX_c8>JKQZqtYbfsL55=_-p*T??6x(Wr zBE>NjLmM#X%rg{r9YT@KHx%dkhGI@A+u}lDH7XQmCx&9=>`>S);<>9rk+?Y&rT1{% z$0MO=aV`{BuZ6<@ekdM44@Li9LUAus7<}@C;aJfyIF<>+ysBZas27H=u3^~FI1E`^ zg~7`^49PvhaHC%sN`{4@V;sK?H8Kp_CUC9DnPJQe3`5lwVQ91=3|)4HA@E=rB2R`P z;Zhie++z8N>q@=~L%&a9=#*tJ8sr^}O2q~vYnj2gRb?u4P2IJZK!3f_m7$5etJkIU& zgVF2yV4S%(7{;@~SnzHzGFgP9d-iZ_${&vG#lx91#cvN(4ac22;V9=E4xa|$nA|KJ z``Yq*SDnLAv{yKs`t!KZa0JDKWB9OeO#Ln#bEhzWZVuPETo{gpE5b2neK^K%4@ca- zaP&DE4$rgUsCgwEIqonQ?@>6`y$nasWM&Lw&2#hWs0k^Udcv&R^DK-)C zaE!ncL}08tbL?70U{{9-wCWattGy%8dq4yphDD%nEWe8|EP{VaMc~-v2sq7V-rf8N zWL?H%*77?+n#B`6ZR zA|jC-ABpf0%-0(miIP(y@n}{g*I7YtQ5aMp3Xh6Kp+~7GoUOq8zUom}Stkkw z9itE?Q8?Ww3e}oNA)!qaPIZhz$!<~T?H9$hV0m5;*9nb?Lf1Iv{0)o3p3zbGc|sHl zO^beg`ydw@hn?34&;f(^g_|_D;|xSrK9nxLNqp1i$<_bG^*Q2oY&GaSR?di^0WKG1%i3gVatj_^w+F`uB=~dq50I4~W65;27)=kHO>^ zt^k}EgR&!HaCdYJ7LJcWw<$3wIx_}Gl4B4(pKGTsiNUGmF$iB11IrCD*t{hMZFlk> zdtwlGFa~*##$e7#=0Ki{!SYKnsCg|0D{t|kKTSueqFd6bStO!-*ss~n4LHDcjm6N{0yvHaUJ7VlhRQLTO~ zIya8RsHV(wY!QnKZDR4EeJm_HGxxDuEL!x8MNfa`MD}C;Z@ShtG#mOsRz+s0Vb-WrR~J7RGt zjo&}qAB%SBu_%0u>%*Rm#kjLv8}?!>ez_cr71!Cn+p)-UFBYpF#-i;Lt|R-LIh?O! zQR_X={}_v|Ut;+iJq`(3xpr($=27N}gH?ez%q<*;QkHR;W5qnl(s3ADj=7eV;`sX_ z4mWGWp}9>Q*4K-Jr9&K|o#XJM5eNJF%$ID$HD}%9;MhD4qg%$&CUN|3TO0zs120$B2r|2d%>Ob*sfAcTJvOo8Nq? z%XM>YkRscz866N2+H$vb19EW}A3yZ5NMx z9pcf;n``uT=5@L<7qojk=Ja6SdhvTQ{_*@~O*~fh<9FHu<56W$JbDJlV|FOlm=%&!egez^S_VA z!(ukq3{H-RqAx@mRl|{oP58yQzIoJlyy3`<@5bheNziI&*K2#ADL2c=S2J+}cyL*%{{Oo~0em zGY|G+Jd7Wy`wFjhl{UQ|j}|w1%P- zFmLx&Jodb%#<%gv`#v7)KE%W8BXem#@t(iNqm~784KpyGFB9|GGIQPAtjyue&V1J# z36NaO#mvoI)4a@&%g1$b3osw9AanT&GZ(H%0z!*1Z_koz`j%k6oE5*pQ<8avrMNb4 znFQ=D%k_@SCty(p=0{daKtg5aZdPF~Vl}RPT%GG0*JMs&E#}(QPC%17%n7W^Tvl7= z3fgf!V|%VM?8vo&owx?FGxG^u*={hWPnc&19$!BJlN#_|4Vh=yI061mn4jv-yjBn9 zNH$}BU~{g;>&ZOO76~ZbDgoZDxkhgr=D)UOzFs@#b+%_-We4Uyc1*w)Z|3}U;{CcX zC(?&`pk0|$*p26Rr*>cJ?ZNx^;yHfIYwb;q{>(efP;jv~>tRSefZj-{qJu00&j zoZW;3*d%go#`CUgH3<~UDf-Xb|Zjpt8i4)6^2XC`eli+&_~W-}*s4zHI? zz27s>k?fw!eA0RBa|+i-o}Yj#WZnYWVIgxg7twZP;bLwt;dPdBKbe-wq^*nzA`%02G(k`2LA2MutO@!FJx44BkO|?PUHZF?P`}r0;HCpG-_+F64rYTu+? z$u&~%7Vkx_kvg{%FoIkpRqrGqnj9rocN5T$Y$e%#Vs1E@Po5CRdmPi`I4O3Ya|%f% z&xrj4=9rUxB>O|I8BQjWbEMcK_LIyeSBUjv=E;*e0V(l`o7C>c(s zk;P;aIY`cvpU7*H=`)`hq%5gTgm{upqz?%rL&*d(hoq8?WDhw`ek6CvbMld7{gvO% zCf1}9sY6^yW73LrB0WhU8BF5IC^C`EB=gBK@&nmQ_K?Hm6uCrhkbC3_c}+f&j9+L2 zl9v=AR-`PcOlp$4#E}@JA@LwBNL$j8_z+*xoAf0ENeBri(IlP>B_qigGM-E#)5uIR zhs+}j$YPR8R*=q-uvC8e zhL5b9`NX=J&#ZsTuiXBh_`>$z!vAZ|{_lI9g`0KMPK?_Xxd2p@~3|Z=F;&-R_=O^X%{Lz$W^O=Y~OkD#~ZO% zjBih7J<+tSWqoeSgirOIpFW&hx7g;>j@)KjdIMf(kA+1U!b~U&k9`&vxf^od9t&6N zgR^Ii-b3pDI<$Ik_ag7Kf4-(N@$J=OY20?JSFf5I%Q7P#XV8-SvuVlwmD5R9jYWcTC~c?zf`DcIV}R`Y+F)3XA-vGM}k@PQ$$*FUc#S%^65Wl1VpspRfOG zDtSo4x9G9oVme;WF~jP&*YMnHVbPj+5pUu{e2E_kAb})^gpo)ROA^UYGMtPgNn{Ke zOU9FlWHOmbrjwauHc2KaWC2-3mXK7koUA0P$yyWZSSlOHCKFp&ZX-L$E|O+qFU$QV z4zg6zO&no)jGQ2+$T@Q1uQ#@p`^qPp_}{G2ct?V{X%aXx~(i>h>UIh{ou* zsJYGmZkoo;b5r@=RAzSj(-8$tW!XQKi8fkh?*H1h0n7j4-`~5Qh1;JF{vWUV7uS;w zckAVt^s3%>>oVB7mdR;bzCBPn_Q7{;mo$B4n>03q zUD~@Gc3GblvuzFUE&_Pxt>us@O8&wk7G5c?VJhS*zgA8jA9db0f*`(*ne zU6Fq+Ana+;P7}!4u=;r3pyMwZS7F1aU}<% zP#uR-(_9?}UGQ*NaHqY)yTiR4M$ZUwSW|O|!>-Ar9m0l9cDR>4*Nt6h zhvUmd?H%il>g71Fb%^8HY(pIT_Z#gv)O)gHwJUQRb9`Ft7;s>%qf3Jwj#cB+9aBb} zcl@#U9mfYXUOGN}ZQ<0ULk_3B4GTK8*>B~v@lHjjgcUYU3o5xf9q{#VYUkhHX;`CP zP60VWoHE=_bgIx`wA1%BCp*Qgn&Z^#=whc?lh!)r$+g4DzhSylF8A|Jb<5vzdh*i? zr;;ZvoU_!*;cR1B(0SQ(E9WBXD>`qEuyKxk=Hi^Ql85u5%I%%+W$5J`xi{F^Wk;g( z!{Vcz4`!U~d?jIy^U>LhoiBA=>-_BOcIWlk)18yDpLd>j^R{!gc`uxOmRY!*%96vS z+miw=`TAP93?Ew2<#R(Dmp)ruxE_hSON)nIE?sx`bV-g0c1f6?=(6oalFNsSlU&@} z&T*;VZ?Q||YHM9?CvSHtc;b*tu_NbP%FMm(V(0zBWyvrL*QM98yUyHOz;&pLm1~B! z6X2yy=#p3wYD3XIvp|wv^Zz@ z6u)hpKJwh?;%FfeGNEFk zghnOF?T%ch{_t%1aA}bYn6O5y-fxp>r4C8GeCMRt#am+Vef@)ccRi$cc1&qd0M*x* zz=<@zD>}F~*71F~-Wl9c@_9Ra+{kwVe1kamB$6P`S^o<93{Z6b*EwG2eVzZ6kwoW0 zWg;=p|8rSabgo=N))JjRb&kHe*CH)y|9=b%H{Ro4#f#^J5q-WX-)hrmnWFkszxny5 z&oQ%og zGf4_rU}8B-WhF7|PG|k!h++Nx`VUFs{+T3&tR<@TCV5ZF@ZPS(+JtUbAvK7$t5!dv zcJMKwngfXXK9-CnWaSg@bJg)%(Oh6EAS zt3H2Dvh!Z5RqI-seVm)^s@2U@+OTva9wtyd?Sqc7sYJKG?TdNt)V?esE6F;d^XFcYPR~M; zdM)zvTK|l~JVvQNY=~KB0PB$?i1-oJtmt+u8A>J+^{wjFx@uOv>f>ahS{02qvwu}< z8d0tPrfh*Zlf*uF(17?~%fNsbmYeL{zKl%TH9JBe5Y>NExDSN)6&h zG?u-HYSz-1sMY`yL`IU~L^Z3QClZ}UG_K8h&05W4_6YZ>*1P{)t3`hH_a9-y{ca|L zSSAwHta_i5!n{v*lG#+gXPX76il9Y1=#e?}~i(R&UjdQUBrh}znGZ>?(|l8N?X5lJN)ZyU%C zqPG7Z`thHbJN24>o)a`?{ux0$MhPRTS2b!(sZO=AVvaG@ta>%ZzSXO?UrAK&UUGum z{#(2MUV6Wd2`}E`AK}gYKE#jsno8YPokNLPx5j|#R?PmL%DVn0QLRccNim`RHTyP= zb@lC~-&gCO$AKfS{f}_v{%>*PwkJ`|S~em&js^82Q))n=)`dv|<>odeWp3U>hF1DqUOXS|)x53xv-YL#`X=E+YxzRj7>TgM% zBXv%^N%Z-krJ3Bkw(7`CEQtAdJx5WkwnXitb+wCbt8PU#dyz(_y6V@u;z`tY0mPU1 znaUuRVMJ{+mP{m5NitbN))IY=sP=PzU-!4;`|Iyi{T-p_sNFUZwWD4yh3K_sno6x} ztm!_Dx0T!-v3KFO-TT{q{JZtP(V>0OK5Bn8Ml^2JW+P1`vDEl6w`**fZK~}W zQ>jF?YN=Y)zUxe=o%a*9-Oc}u-mlj-`^BtBeWLytPgH|4l*F3Q*iaIQwrd$iv`vrE z?cqevQ|-!BqMG%(YA>^Y&3d=6?VB<6@A}Go{@3`@`0T~Q;2F+77>jV_3Z|tzTHcXkPGDQ|C@jR;`gui zTl?>0LhEKd+NS;1{<{(z6RJt;6^ONoDlE$oN8(8u5k1bVJC^kz5=PXH!@oh}`>*}2 z_Rv^2>)*tB8aYO;{$t&Lw!QX2ar*{yzqD^!*Z$TZsv|eaOe{%$VnNJ*yK7z1V^q5y zug58R4ZWVNsjixJ+l)8sinc4h#E%4$;bbhCNTw3iY>x8{tgFB8{$ss=j$7L0Z^q_I zwxtlYr`e{ut@qK=9A|4;*Rgbh{1f|{@Atn|etlkQzxERy1KL-$k!naLs!PYJc|4it z54EY*b-&KFs&^65^YuFESXaCKklf zw5{#hR+y;n3dEMEJ#@Q@Xr#j5>s`i{pCYs7` z=S{VRYTZK2dNsz>-m3TJA4Bh7=u`iwHhn(Cl0-6+m}5xmI(~GXRjnFB>R&xi^{P&d zDfO$`>=e07?*8|*etkx#u@7sB_E+_(-vWp?@%^UMy0!-q)jyo5f5#B@v7+Z|n_0hJ za}iNHsJ~Ua-tQneMgEPk^><_P60duV=zTU3wS5ZFeyKL?zbA1dZlN6G3!^&D~UP2Rr?Ndgs9(t{@48ecYnJi^I95nW^LME z8K2q0=l)o(`aFq9+__5UKG zKL0nK9bcdM$9RpsWQ*x~OIWIAjWxZ8&Y#+59%Fi(-g7@uTc06n@7w>Hz5iZ({a)=~ z=eczDOZ&QktRy;KRGY@o7*nbBnZ&F!m32K<<4U!vZ8Wy@S|`W_a`nHf^>4Ik9H@^{ zi26;neH%X-Gh>NrRsE_}ZK3FSs`;2aP?AMeX}|5=neWfC+Dwinaxk zFrvq(=HVtrnzkphR2%8FRJWP6tZyP4h&jHGv95MFN3Q<+KK~1CJ9tgKm)hMt&UBv9 zeyT24;z4Xl1ykw9(#Aw1ma5s4XuBS-ZF-Kj`4PR2#z8F6m{5CYsWzNSlF1^X{ZP$E zh>qv0|GL(%=jr+8@uJsUPBbQUzEZmnCB8)aTbPs~`AK$DUHh&&EJ=lL>bY6BHnrDa zspr`eJzh(-iJqt1K18ptv?jxe>Yho=TD6b=k2?Q)e)O8TM==jq6Eg?F_)DG%r zjb%M%KRHHpF1h)y+xoBj@SoiNyZSVS)UQ)brFl+C<+keGK(-LotEFnz__##=Ae#S1 zoBAl3BoU2Ojh#qSeI!ebBORmW`9tGLQ9rA0oj<TN?{qOnrYmBF}4?4EhAKF*- zmum7O0mPSh5*;gww+Y=hoCJ~}5^LHX!%}Ua{x<7QVO`@~(R-{VTgZN*;z6{niU}{4HB7j%R6D3We25;W*HQgpL~W)qpmCo}RQpP@ zgQ(6EQjp!Isy*jrnGO?WHI-<5tC+EoTWb6Or z+^N_8+EWG2xz)xDCaR-H#w>+fjm-&5G4~ zpY~n%YrF1Oty)?WJ;#z1CS{0uzn-UhhZ2o(^{?90toI1(XUJu8`#+#r=ZSQp{!}}w zz0E$=82ffUx%>Oy|KA;N|LFX$V^Qs=+Ek0i=}e+_o=DWzsYK&gk5N0Qt*?@Me|)W9 z=e_;xtHz4icVk)CSc)VgiH@PEB!#G7bN`K;NnA~(&JAYGUaWf%ZEJ0+>$bN0kVG+81q{TR9VpVRs` z`t-g!?o{7I(ukBHHB6`<)t{Ie4Q(f@qTLCbwq8hdbKYbi1tUv+68j^KWF!E`}BL&|6=}BZK`V`nMyRS)VFI* zn6>Wbw$7o~|JYi;K2J4HbR6n4ZZ*+yqOqimBpOpXm&_y@zq(&-pqkYldahpM>K{+* zSKpjT|GF$%Fr{=C3iPv8Mgf z{%K#;S2~xpCa%PXsI~y2ZJxxIG$J0vi+GbTGMS(ee8= zuJpcof7Pdb(*CK2Dn#|U5!I*~6xE~qaua=DG&4&}Qkd8fJx8_cv9TnHB$Gu%<9P=; zNK~u(`0oFXkH5~L>Aat6RlDoFqW;u={dM1TylLO={qOYc_n1q+#;VR0s%s*dO4OHT zX0opPHj!;akNrQSQ^&>Eeyh(krXop@2|tz^YpQiNQGcqRRp)+UjS#`|IBY z+TT>7S^|iUJujkTskI5!nn;Ed_309#Hc{Uys(Tkv-A9P}_#C-JuK#!Re~nG;(@HXx zs3s3$NotTrrm_l4YZHzvRkP~#B@@XQqUWn#oj11-olo`>ol}mHGlW`yk1_RIuJP5b zdhZQnCQ-lG64h0K*brCKww7gx`Q3Yc|6cWGHnr>VdY;-Rkc=hzywRA}IcpKo_@MUR z(zoCHn6GoF&L65%pYs}T-;S}X|DAsQUONA*PwlR##+AhU+}h8&j;V9x|CrXV+H?%2 zkRURY=sYr&=p3?^sBiTcjc1)VE|C8tI{!kS&YeD_5gAUB$as=$LT#XWHGb8%I)9`S zojd-ZdjCS7&JV3g1rlgNwW@Ak5=%60bV_0o4l1wEF$QF`D{$RfR`g}jfe(AWUL{v#asKkC!x!f>KG)t5T2=y+4D8;HiB z&L#f`e5!r?`Wr@{YdeVgOttxvFfx`5C8|+^PKVro-;LmzRoS$M{{g0V%?9l zHWA2DwQ3na#*mRj?V!gh8q;c*o|*LYFzL7HIQ>Sar)P!`(v?&tDLP4|t16vtCIchttP6sy zxS);*xC;v+yR5Q^0y?O$BBJBUvbexH%etr_>?kg%kmUdUJ?EZVx2kUU1o*hhf491C z>fUqD%X6OdoagO4=alpp(WK_uGMDC|`YE2Gu~c8hPu{_$Ii`MVe3`pjrIUY*e2Q1M zu@SuL$04qxT!UQmTpCYZ4|0i*TuNMe{?UKp{bOF4zeM9A*wsJv?HOD*N6$*r{d2gU z8hwX+_i^p~r`zd~}#dS2g zbbrrxS09asej2z%hi9UG`2M_@=UcgMd9WLoDJGq|9)fe5Xzt4!$ zp2)W@p1)iAXLPB)iFdq%>nFK1*XpkCmj2YkncBY}rGIr-eYx+J=eU2rNS}U|>&Lj3 zxisJ8i|3rQ@0Px#!5Q~Y`kDGCJ?wTa%{iSt@&A|pY5b&1pX1WliI22$(Z@8re7B^< z<0siId9Jb3nM|H%cK%c3m50E2_2Rb(^m_#H#m0T+)^FHX@Yun(KKYBc2amqukb8FL z`s+SA+dpWIUijz#cRu_7JD>gkozMP%@A>Ra@Pp)aGe7o`yng(fAHL;#f8~YzMvD6+ z^QPU~&yYOzQ_=5E1VQq*L)^X6suzBnJCfIj-*Nk%Hz#l<*Wj%J07)3#v;Wq85DeUIU)4VkM7On_p+kZ)c{TJeDj4;~o_^)p54SGu zd*!x2e*VEHefDDO_nbffk?;Mb;}1To?bIFL_x>+;KL06?ee8Lk`qZm-Wj}uBj@&~} z-1A2deqyNWEw8=xLmxVM^YUl9kNwAwK63Q?9)11ccdnlv{l#}bZR*+Y`Q*fJzTu5$ zS6+Sg^zZC_=1X6(d$@Q$4`IbZLj>FU&uXp&%};j|6fPG_-lL5z4KRo z@c#K<{^887ckdqj$~(XK^mqU3$tNtl<#mh0pWMFu)kikYzUOmecV778W6$3EAHUK5 z_1}74_}<_Dm-|Uc6)QnRmAC|F>s9a?88gU%CA`&pvqlNA?E;rSQWy{K1=E+jHrGlTUx^ z+n@OCr+?rR&;6b+y{hS7f9=k;`yc7-{M}D{?1>%kdgG<{yzlH<;dM{D@ZVnZ$(7H1 z?)B#v9zI?C4`1k>ZvMt2v%hiV%`fSkc*%?Y@cwJ>o;~;3@tMJgj(;-qqOm7E;hBei z?dhMs{f!@e+b@Qn$-U$6*0;ay#G_w$>z(g;>u-GX-RC~g`|9i8_Y-gU{4ed=@$Ogs z)ZT^Hj$X6thraftul%#GPQLS}58XchrZ>&*c-;;6eeoy%?ArG}dMa4?(|`W_y?=4r zzOR3I-}(1^^~Ww=`1)O^hX4Na$G^HU_1FhL`sZK1|2Ky|e%l{B_^Hj0|ImZ)|Iar* zbomdz{GpN0zUVFA`1DsEePZF>^-nB5@R`@1yXm7RbHi`weA$n@`eQGD@w;DD{?dEy zTs`}w)|3DJnvdLh^WF!K{P>PL4!r8V;KloAKYY)h-u}wF#wQQH@aOhj+uQ&A&tCUf z@aCO&T>Fx~1IM4a_kW-I^zhD$553@_^Do->{7*ft6@+<$%PC$9hP&pq<_hg-k))=&KMm(G3c<*&Kz zLmzwH=C5A!z7M|l-@NPo_x$`fM*i*7zVMA-_`QeU|8MU5+~t4u(Q|trx^Vy3-~5h= z_x{9lkF31mSx+DS(RV-Lt3OuByypjhYw*I4{PgQyH97E_JMaDayE@O@{=Sc$I{by# zp7`r;ocw_upL^mRKl|_}4qkWvEAM;5xr47bc_b+P?Zk&Ku0P?y`5$=t9Sg4?Y|Vau z<|FyPxbvazmz;gk)Bf4=GoLZI`03~D+5hI|SB5WXpJ>1K34i(Q&pzdaZ-4zwU--c3 z-7k1k_iaD=z#}8CdE|}XKk|vQ;s5y3(=uni_R0Rs&wuAfet+NmhrjpQ9l!UM;ETWW zwo~u^RL}8+|McfAsQe<~};|z$2ge#t;AJSAXzlrr&V?&wb!Mx4r&}@7{dl zzrW@^|E~Q>7vA+JJBHsrzxS&@zc~Be5B}HtR^Hz-x%WT3_x7*<`-mNwjL^N;8#|&G z{&%IG8$G`u`hG?9?fJ;27!9AzsDjO?g3YLc&8ULSsDjO?0>^E|Z(RkOQ3ab(1)EU? zn^6UuQ3d>Lm1{4m0Jd!v@NE$AZ4mHn5b$jf@NE$AZ58mnX%!{@Jiz_KT#s^zng1=< zH@P;r>N7VrH8ra9Ujpd;-}fV5dg1%O@&fn$`_^`F`%^}F zWuN8m#Y%ZD0<1R(x_8j#0Qa{A!Sl`n!z5Ym$BX`pqjQ!^73Y)xy=m^%Sn>a=n1-6+u&Ta|@r==+jpBX@8tg$9MSY{73#UzRg@M z(RXXzb6eeW{rmREdH;CjJHEs6-)Z}uK~qa>d&jn}Cp_uN*L3$h^=VIk#xtMwoNK=? zyzY75-~0T&{u_2?26hb%@4j*GO*h}N@7DddyuVvv2yjH^1erKmV`(_1oV5Z{G3F zcmBe=e(~M^_TRnd-~ZAt{qlSN!~1^a{lEIFzxII-e(2YKc4#Y(|`P5Kl9noe(t~h$)k_{_s{>2KmF7H z`Gr6Gvp@ffFMjb$fBEIFeC2;V_E&%P*I)gczxm%^`})`a_V51g@4xZQZ?11JIp9A~ ze_MNdM`tH!c)}B(^yDW$LU1p8mbhc;+*o_3Y=bGS2ZfwHdxV~m5kt`JqlTg*cN`Uxjv1C-czQg-(*%f$FqN-CRk;yYHK>X(^|NpC zczTCnNl5zT_XVOWuvFLwWF=2y>qh%-q_UB!#8x)*3q-x*$gLYYHsS; zXeF(Ev!iXJr?VOM+SJ`mo}SIN_Ku$B&hC~CP)}VwEzLcxn=L)f?Va6i@ZuhFZM5~Q z(*X6ibt~6K^Lh`}P+fC(Ylp_HyR)Zdqq(iMr@f`KgKsOip~~9UTRVDMI@_7mO)c$h zZA~p5t5+L@6ZvmX0RsBdG~Un_4=-wJ_bIx|+H-g=g4CXG<%RT0n>@dembYY3?BjfXUQK zEiLU}%Mrjv(>kz17%lA`>&@1oo}N~)LYB5oZh*eIXH)$)bhYwEqYb_`cqV}{v zrDqc;dNzdpc0_kmH=r^y3_6v!8YX(6CIQ>i4yklBgL?=-39aqx9h+@TeE|XTo7bU$ zre=__(JGqg=B3aKV!&6Y3aTzqCWP79-rWLcZ)$?NfRVrLXfdj*xe1_pIyM;A)|O2p z6DS($1}~5t1Kz5FE$!W%9c?|*dmzqETBQ1xb%>~~1tf1kDFCr4q_)svPkU!;o1^V@Xq>XiQwE$@k1On1TbB+K+V4JE3#BTOLUtp5PL_Iwn!u}Pi z2Uw5=V`6HxZWw(rjC5v0bPkF%x6^2%XOj-KY&0=)>zzy(VWOFT&}#EW3*@BH7D;F- zx6{9t4pFqm5dvpgHB*i$2)-KTHU!X37O1ePa}%D>1QTTVvGW(4nU0jdqx0 z2O~*g>o&8ag+%e3PMQ^8Z6HjCRk{s3rrU6XG<*fkOl@N$Jss<<%m>Zw>Y#NBk#0D^ zsdxg!3TcWaASQ^OSUJ8w8aNZ84F*`V`$d-;tk|rp^OUfhE5^=fOxc`1D2n4RWYqTBTCX)^auK0O(&prarZ!Fu{%J zPlGbAq;-it1UyP$69k}6*6D?Y9HbH$g+DiSI+EMyV0hM1h&#{^T2u9$v<`^?oWudO zQVeLZv5zf+sTrw+AcglyLsmgpKLU#Z5syzTxK;Y9=l5wq2rf;}4dJGzW79Y};=Q%0 zWfO(F2_;ifLHa#*dQNMs4ykT=u3KgC$PZG)2T3}U}F*;!gOteopcJ| zHce3&vM9c(eS^u>+O}z8PW)>fGnOd`qceLOqmTYdDnVyX_336>t;4%erZM|!HNIGl z>c*~WWjr=81VFb@G?;5biEdvi-O7}7nUz4mL|T3z37vg(A)3{$efImP`{bQ zD9zPeP%jJ(DF^cGBed2UA>Eq$3|(U>QQ@fZ_LEfVGET?~?k0Yn1>E{bHgCGePOa=*C`bzyMQERMA( zrD{l3>%#lTT)=Mk1pyTT$5eo``+|%Y_4ME|i@QyqrTfbF=yOpJTYjS(=Vz1@wBRQ< z$4WJ+k(d&k$s-3Kx?9_s?#u>XR}+E;!=w`@xNp&j31JBMaV|sarc?l*3p$}1d_Zvp84UIAVuFyXa0=$raVrwjs^SK4LKDqQ(UCNlbKnV;F5Q2hi-0 zsz_QD2uKj4w-qN@R4@f!B423;=tGIot|t>nsT+R`f(uWy`)IV8A7Z~TO&AbTI@)oy zMA^iw;0f|XM=4+swGI6~!E;jZ)gS^K|ALj{Yl!NSB7$Mi4Df!0gfBd>TJG@O2Gr(_ zO^5(LX0@PfWW3KY8%jk^16*6nWl~`Sy(__2K@JYF4p?^rg$-~q=^!v1r+D`we9*zjC|3YwU#VSf_Y?0ZqDGviy*p+k1Y!(%= z@Z&iE<0v%>ZeK-?BtV0ZhL&V;SM@JQ0<{Davd7(ej(EBLh72fI;6kseR^_+&$rbR?8Qn_=}YgS^lI0q%D;}&IiXkF7xbO%P7&XiJpN|NR~ zt1V#rDu|}ra?xn@Htx0-a4`8H^h6SLBOSm)kG(B6A@=19I(u6_x_BaQafBMNYV&au zvPYf23iOQy5v-zmI&d|n@a@Best*#7bL%l*MZmQnnNUSNXTnC7hs>7PW9T(&rJh!) z5Zps?=<-#T*4QDF$WRzmQAKp)Xd9oS9O7Is1%+=Q z=REXVLyk-f&!*c5cg>uw6qqtlq*d>;uK*3b4K1&`PfGP7Ooki3>D6+j z6lAm&VuP2?i<30Coc@K!EN0t?%tkxSO@$5f+c{93Xo4`SR)EvLU~8;@U%5kRpf=Dw zwwGH*RN&8dSXWxNw**8=L1t|{%{^F%IS-=$ZpEHT-xKiqqSdgeol5@KuNed{o zpXS(#^XZg}8H-PYDfnCe-PmFiBG12#zNsswKL3iD?Qi`zx}v}J-x!Pj)_*rOfGWx7 z-}>)H=)rw`T?mSXf(d?Ft*gEuE!HOiyl1h#9Jw0%*nmQSsLutfZA@y&CEGo2%H5=N zC=K@row|Y&0d+~Ka5a!z3MNwE(o|@uK7}S4Nv@G{Ku!vM)ei@B-;mUZFQ!#}F7Q>K zlsb+Lv?`sczKMkr;vr_p^1t)?KSF$v@};2sIn2z`AnP*_iL z>9pEVFs1qwxEec@!iMA=Yyh=kgi^!4;OB~dLUBgb|V{VgeySL zscR8mR|7FMr?8HOp-tfvDbsz6_-bTUDRL-ncrDmqg=zS3!;VT85>eF`s3L1C&0Xc(aso|A%{w4|mqOf+-|S6bbmrPP%I z1k=4?v{Ur^E#WJr#k8a}6KPAD=$3#;?PCMU0awFRXr!-He%~m-2<&-$+^1n8r9&w? zc_U{6t_JR#q9CPI-Wm-zXlnH}MR!?7B#6%;gTPp|<4J|h6Ia{kM zCD#^tVagn8oM|c5r{VtF#YBpFm!{uusd}*5Fk${-3#K6_W!7#9i1fM|gw8*Ox}Y!Z zhp1sFz{QGsGD$>Em_jm1eQc?f71Y&TUl;Rnvra9?afWxYrY@W}i8Wrm5?m|})Z|i& zRo|!O!idFvUz6)f)z|0JCX-}AaTC_hlS#~udQc^Pi8)H9o)?#U!@uXU1S60TaU*Cvx(Y-bJC(Z}v)_Map_4DCkk2+>FFA4z5s zCWxS_P3q}xiUYCijX8Pi>uQAF`d9;M3S1(lYAlGWUi1~mTsT-DlRD_rKqVFoOedjN zA2+LhdRKqiXhUB$DAWiMn4GLj;VjK{gJy8mh_#eH0%|?<i( zp1`yk=u-#)XKEdT5po*Hq+uLcP!t18R{*}0(seS4`B-1QEuGXcg|t3uBG)21 zl>n%|7Kjvv+&E|{d_p!1yB?F!8)3$)e(nwWJwdL?T;lhMC1iWWaMX)P&DvTNiZbhm z7XC%NX|j4{s^hDgX${C}%mw#tKu!ZOrA=5}PPm&!<9Um+7@Cux%PCin70~<=gswQ8ZrjSBkAm{Nx72VhCn3_WkL^sTi2By%6=(Is=qzU7gjTBvn3F_+J zs9O$bsX0j_$A248hbji|6LS9)Cy+}GG+E$aaHb#j}zO^da;po#TrxT)iX4O9s3 z>-Dd6xavvn+b)<^eIxWK7Dc)WTW_Z^+6^|cXs%WPPXj{ZSf>L3SA#H2v5^~-QtH}L z5>!|}ky9}tb)v?i5CJs0QW`px0>rmV09!?2qkK#O;vYE4i2tz{*q1w|klQOgKYF{% z=ifhidpWzfypS(tEBUAf`&!Lj%;&O|tWR6^_21@F(w-mYNU}c}t-g29MH2p;$vfp5 z%9IN)t7*x%u$6Ds^%se{>Y?6B9X^lh`l9NZna?gQ_1Rg+)o0arUB@4FKX~YOKK#4ft9-qm||LWk4=jVH@Uk`7-IfAeHtg#kO<*IxF*EX&$E+2HNbe|{rPI>k5@9N9Dx7GK) ztk0KxuQb8n^Z2@zC$0VDd*8kzf->CNAH!E z>|gS|-qqKUeDB{S$0qH)>QSC#-;~dn_wXfgr}rG68$5&SnOx7}s?YDARln*^!mDTh z-q-J+JuLp&!_w17rf;+zqE1Z(f8g$ z75dcA>qxG6K5*stS8C@<>8`oB-uiYD&q?{E{O&aX?pIN5T_i#OpOY|$+eGb=ixt_<>%hk`7;Tq<; ziR)Ib16*TVr?~Fn%5t6Oy2$lPt{>-m6W6=Bex2(NxxT=)&h@Q19Y8OGkAo*P~p&MQ1+*(|v@_ zZqnIfboAGr!Z#i5prc=TY7n&3(KB@Pv(FBKw|yVK0CpYyr=!2y7X*K@lXF{#g5b`* zLGY{l_?6&M&b&Sv1TQ}s1Q+fOf?el=;P(qbFkPYkSJ0W{2l%hyk`i!=YnkhHTn}?S z#-+ZU;(8s|BU~YUTIPC~E2Lkq({XuX$gZMCgdziirGKjYyAP;>D8N@+9 zh>8A0^D_PdWaC+YWpw4T#`Cj*{*vz>pMD>xEB~!NH`2dre>ti*i1#KjhVtsY(Jvv&&S3N(|n=8FvzTK5ez83?Wit2m3_m8EOr-E4jdYt#mQ9Cv5 zLu6A?xyO6&@slk7e`EhWJ$Zci=SPh09^U+o2%q)OE`MUYqWtmrdHQdlUrspXV8gaH ze_p-Lu1|iNALm0r-FNf}{_#IIFE3;-2c`T>P%d671euIoOS8q`M6nX)mx?QM^I>6W zd8HE078deL*~NT0EHCG03bTcLE*K4Gii^voe7RgGE`_t%nM$z~&SaOu>3ld>xR_rG zi%Sca!&y>EEUr|1MZv-1;$nWOQr=qb%*89`t3tQ0YuidWA6Dk`;kmhNVQG6vyXP(z z7q*A_+1dO|C9D*~a-J`8B!CIYva*<0@8_0^rF@2t&Q<2O(qxb=RSM-wkX@KwSqzp| z78Zoaff-~@d3%JonT5jgay}RKE-b8s&XrJh?;{w}GVBX;`I%BaOMe`6F9;S3molJx zy0BDOnhUpB$l#dHE@YQxzJ*ew)5TIHpBv~3#?Kq@+#M<|<&|*qo~e_k&Ws13Iv4t< z{k`R2DZeTjfttz{&=QOU*_BFhFpD-cMySj^>v@k(|nmo4QY zgw1Em8YyTf8AMOu(=Yl7VEsgYM_LRfkayZdjo(xZ} zR9wPD@80rSZ)PuPygSIKSbA_YH`2Q@(7O_Z_K~i)KgjG4_VcY9?(Ej?_28b|qdi9n zQHo3QY5RlgC}EZG_qw2WaJVoM{n;}xJR4L>g~gz_Ob>7`P3b8tuguIar)F0cg3LmY zD?qQMz&u8=$0xHiA7n~g^MOb`a0JeDn&)XG?9B`ff`Xgoj=n7H9bQqgd5TCPnS|*A zbB{sWV!5Diab=-W=nqzw&My^LmqIs10!P7)ntRK%TL!8?cfR7ve72%dF3esIvn#m* zGjP7RvXBdxU@)`Ag@xj381>L*a?ll#T-bN8Qd-Cy3@fXJ8D@1cys%QJ^h1J6#o%(j z9CWFf?aZ@a%ox-Wh|i56LoP<+6N0d>x7?2_;-JTZ8)?8@=^8gDVt5)aqEbnl>pBHP zEEr3(jLMe*Va$OQMnSC3ebir3U1DN~y))Dh9z1kt6jmdCSndj5zCSQn#u?#i$*$l) zp%OPtx~l66Tw7rf0d{z42IMWx>7`yDUdk2VrDrZLdw5BlF3bfBg-V6lcRGI&H(owG zQJ9`y$lH)~`83)q$L*ZXi}#139>GNYJLbaN0mD^SaExje!ffuPE9HuNI~VpX6qfSY zk`?I(o1TTMxGDg4V2P4lqLMX4T|seHq@JBQPo|Net1EEBBb3mz$TdcXx*CLGqUV{R z8_T}p;84CiQz|fFic7)0z{Bv*7NatLgn3*EZ;!?;=*Qr}R&*DSIN$cZJU=EZ!((Hu@Fn7_1))RC@{UD#D%GHK0#6$4*!He4u7 zgW-&6Dz4R_6dZ(K!k~)F=rEp@#kjU1It{ip8u8mwanY0{H$I0;CA1F>Nlm7BxcXGR zeu_%1K>{Fd*Rx9SGim;BjhofE_+{Z1mncM#oM}ojE;v@XjgS?hj5^ zlShvoxa)Y7Jbvo%!LiX};gPXphfj(?1eq{A{lOK2=!G?<(bU z1qP?$#P=>I6T-f7g|6@7FA4qo!bO2J}i zNMb}8`c{#HCtsUE3ab%6PL>EDH!Lv!9Lq)f!u-J8K)8xj4a=98 z_!|v+W?7X%Sea#dm8fuZp@2prCH7pVBFYOh+YwV&LY(QmAnkc;%cbI6DZ3a>NW2%9 zP&@_(2A&rRX_2ZkE24n}M7;~4&mVQPyt2G(dRTujU#TpQ?Ale%mzd7Gj1V1wzN1dt zzU%a{5KyZsaoAYZ9mh@{V7$@c#!jAKwC4b>+#mKuYJ05Qhsf>h(&ccuh}soS=jp$j z|FeY>?7$&Sw2_%!LAx%62kt!s^;AFOk*2L>GqG0aSUnV9)0A+f%3+@$>zjve8D>Z` zGYiFOcyzTQcZdE7zo3G}WmDvR)&yeT)ev^~&9eV{U0>d7)TYE6!A;$MLx%zhto!q0^={PRaqpD=#CfjAb*M5lyjx zyrA)c;IQCUGbXIyyMZXWWv0N+{V7O3AW*jI=W^QE6+%P*}&3q6W!ekk$6}qf}SGfe|4KinH=8%l`WqdCP41eorr0k|~$&I$@sIia0 zloGMW7>xRx8j*RG37zrWysiR|V*ff~_HJm5=VQg7CZ3%*cKGb!W0Q5o!?7iNV@CWE z(-0jMO^eHXs^A?tdHVS1nW`Q)YkJ&B!p8D~ zD-z*O`!+KN*P4{e1$?+hMUm8&t0oHy=Ee3(SbpV!q@7ttX-0U~8iJ8OR=}Lc}RdGS_&2`^?(YYg=%RInN9JX z2>#4Mc6Dc%wXZAJR9MVrvbp6Ml!(Q$znd#BW^h?9nCJqZ({#$*j0eWfB<%w8>p*ys zurl=qBr0o=IYFV4b75tcoD0ha!WVLBnPLe74Knv6a$8fDH*y`(1Zh4i_%+9wbCa#% zFCr%tbCbXO|kCd@v@1FF85lX~F_UbT>Mii$~zKDla-Ig_Tdi0DZ zD*-X?#J|1rbp)A%YB;e>5@wMEHEF1KE z)C7U!T+?DgVvbt)3hpvHq`b1Yh@~?UPMGC98BRz#x{DC;CPei$X;gqw(r5Pie8 zCiPn0PY|cv!QmrEkoi?M?y{Bpy$2nt6QaSZb9~j9KDdLe_&CB%?&08uU`KF$&=rO^ zpi_B|nYV-J`;PE%!XK7+aea8K(G50w*P*eK<{1i|v~leO@-H158$T1LhKsvb&>qWO zuEe3kXU7g64iB9kJA3#vW#p*04~kcKQGm)(tTh{#uBSq|yy719v?7GtOHi2j-xV<8 z%iygfS63IyZ!`1NI>Ml^bP+AuTdg(){SsARi+dVSd2!5}hN8(bmXdrXtz%gq=t58i zij@EXrYl!oW|gm;4YI|c3@a%D3GzcL8o~0)LOHrs^s!6y+(Hy)e!1QPPS@aobCwv_ zJ16I+IalH4w}rjAz@)SIdc>`qpbK$fIv*AeO%yW>sa#N*=V5vU$`$VrW^=`S*_KtD z0F8~D0B1oc$AC5J+anEK858SfiL9Z$b+`+97x0F&m@yNa7OMfTE0GVGcAfLmRD7-C zIsGjv5}dW=)YKAD#wdqdUNFw0I`ebp!QIFF&FS^KdWc_jmCp{zuOIj?lROh7@=3zD$Ev`7}RiB;J z+tX;CZp|vVo7E209)>`mWe=hG~o%!+{_n*8}Hi5^p8CAg^ytN)x{R zA#fZCF2T}j6rmcTHEFMXTbGnx z<1h%cQb4EFmAomt@k6A%2DSO6_Xo~i3Cu$p?3f;z8Oh~G<`;ljfT#tcaxVH<^O5%wt5k-N@@CHL3zv3f-5N?!p!jGXw<>!^%c=2N zr^FMhv8pVZ+JiywEK_Yxi``r-pTlrWyBaY^X*hx9Z&v#x>Q&~9{$Ng__M$|W*D|@a z%%L^e7YEid%WJZpvR?Zd(h^Ho7v+~Gw{6``03wI`yE13C-K}MzOc^H%Vzm^?XP=8a z)6xoUp*YOWl+XxlLBrXA);C(MY{LW~p21v+a6zS;5!jU}xmV8UG5*(;nQ>`O?j$XM zt{_vcf9L%+eS=|PHbgavm%+L+xu{(qo`Ae0$f86y77I%&uu(I=iAN|d!H((GBqW#>RcP9Cdkh)W9xNYnFFqzP)P|hR8W{o_*+0XH>P^8&KF^g!d)t; z%dQS&4MI_}CTcR42vQdWPgf>iZB7cMP^_k%|ISbCu1wZtvlb)X2bOFF*w!0Z9s}hu z!n?YRN|sn0aEl`t%vvPJa!4#v*g_nL_rs)BY%v2{Pv|mtWR-Y`YB@4Gb}YDi^z?~f z?8K3i!Jz|p-4U2Hf?JP-uxrfiGLdC?3G(~VB{2q<_00<7j7#8&5+mX0p;HHs^ImEj z&K5#Y;P@-S=-81Xk*lJrDo*F;z?M0Tows}y(>gpSb$`1n;qKA92>q#+bIXL6!*i z7=uGM!68jlgS_3&x2-bUNsc+VYjk#D?~PQ&pKqnAy*H**b>ifS!$D=WSPt%5iWg!9 z|G|c49n(}tgX5#8?_~VO&jh2VP8|zIj~zT3j4G1A=m=Hm@0&WyjifDRwNRfSnS$i*RqU+5M{Zzf?+OYPm5Po zkDTT31fUo@Z!AqO6lcy0=>uVC&MxuzX#%LE>9DMi>W#NGTakBEuC0|N_kyX%BaS}J z)UpBvRnUeQKR#|*skeR&+s{%PTu%wkaRznff_sZA&J^;LRgDGN>C1{=@L>L~U0!wG z8OXJG^RA)2>aM1@rm)f!t~3xFD9+(oj0w+BB;vF1ES7r)g1FBby@*y(L0IGkn;Oj1 zh)!^t$mvquoQShp@%o(BuzbL-VyBPolt7fnsT?j8Srv8GaR?5!gJUVt4wuKr4vpEEEv0O(`?ox(@qw}`1plLJ^ux!t=cqzZCsF9>M2BVHtDbcR;4%b`Fe=s7HpgO`L zJq_^K;lqb5W&y7RK3x}3l^p2^3eR76*^o>502gt+5)FR-qND5{HVxmKKQ8JZ*n4AI zs_|*7v{EEYv=C`FGcyu@*4wz1BRC)exCf#|l7h%Q(9(Og|1~swwVrrh8azHYaaIw- zNO&;vrU`ltKZ6U8_Xu}+?y8+*H91^xXBa-OxBR@o=nD-Gho#%WJ0g8=nJI-Xr8rz> z*IweeDEM(;T_pWI|p906bdKov=MeIH1cl3bzqeTUyah9YH zojpG8@t3%lyoVc>n8`LsLYNFnJ(xZK3I_-+d>&~yjiS%srQS;8nynG&vnT-b^UV;3$~d@IuYt( zs*D1181UYeopM;rtSp!Y$Ot%Uqx*QZU;+_dcA6p>+KMLiE|#YS`9gU*;LqVS8>rNXmPndJG zloHC96RHS1^dl4W;)a1e`Ua(L+Ni_=SRA;n1a{q2)*Sg$5}I<}lM7KVMN==`(^MqI z%TvDgU^$DOw6ETpERn^w5b*cN2?2&b(p#JJAn7yp4z$UCBKJ;J! zCptbH!1ij8_1Tz}R2u0%3Z)?eWl?CfjS_BNTd&S#wp-vO)43n}RCDFB#EZfOSZ*~C zo%Q1;e1K=!tbM6Y*fa1iSDSKT$1Z7?&+3lpXy^>H5vwr3l+Ez!=De2TU3u?OGFD*o zyUJwZl3JSg49F6rDQ~V{T;eDde*Oj1%z8(S`ttlLuF8P${0ZzOR>FGc_QmWm>WAP& z1M|yq@%xp)3W^Afi>#t0+a!v?u-WEkfjk6JOQw!AW=E_$psWa%C+!ka9yh4)^7=gD zFk0)WSg^N;QNsh9tIzC~1h<@BKG-d1W@6Mg$Fsp9wXES~_02gWi)g98mLXQxS%ZdL zi^S-NFI+8;M%=MhK!_H18!D=1s#z~Cl&4}LH4Cews*sr*_*qj}dYnmP3Q16^nGTVX zQntxeHy2D+MN^^1Ddb5xW@bSh`>V}e&6Z`E4Bjc7QCnOrQd!-H`4XZWKd2(3R0=jIH1#O}iAA0It_>KLnl zqi05gGG5)$W7*Yl*-^@P!wtbItKxDe4&ZZUErT6n*Ize!{B-8-1FY*UmNKi;!E$LP zIKe{W)DTrH&$|rn?b38`?D);M?AaYuF0Hy2pQVMl3J{d03+3SC+}wC@a(ShElnw<& zZi4aUeEt#@>F-f&z~IRE_@Q7P(TC&Z?BU=v>UqElo^I|5P9MRKAoV(sH^eM)Js#BE zOmOq~*?WSU%NH+U^WSv{fAmT&xRebB03l%2Ft>z@efC)PAnuLqOfXCgM3B8$g8#5H zgg^9t`8c6)i5+J|uG-88|gyZ;wQQAmJ&C_Ev>;Nqt(Z?{}GxjUEi{&R#sF-8@!B z{7_qsPaah`NpQ!&O~XUZIc4{|qx*x$B9B$y&Fq1QA53SvS&Sx`IMg<4*~|G-IJPq!8xw;c z8yo9qNz-V`k!PT<697iDxOMK+O?BSo*ye23+J3^E3R}@4($?wuCNg+6nI}! zf>oHVX%!j73*}2w;w`YlNZ*pCAXb)8C<5m=Vp5<2$=77%Ype^T(j`J=@mYapipt1a z%r6obiB5lM3T+Fo>=c3QmB8JTjab>4@V5Qopzbb)*X<{q{@5|C&6Je8Of%ZkU^(3F zt@}e23d{;jRGhd)vfIua^GI60{jOFyUNg5<+q8Fy^H4L}m(tGq+PmjZgwFSk*fyt2)!P@NR(TYJ@o>=oVRwSEzZVB51 z-7K!An#C%FQnHIUX;ujE8-deBnyWR52S{5%QT5Jgv2r_XS`pa1o7rC1K+UT(AcK`k zVS%yE^v+y)(X;pZf!%X~ZTHPfn_}PZ;P8s<0PO&_Z~b9gA7*ne+jH$}P+uB?!VJvV zdmi9*7@}H{W_@6GWyylaO_v`C`wm@3XD9fawP4#95m`{yDf}4G(%eA*73%xWYRJ$` zn5%<8HUujW`2}3MZ0-IQK2emWc;4u=Pa_Jl(>j_kR4Wbme7Ze}LDabS30 zNPaEMLW}k!It<>OQZ{AWah%BXGrl0pD&hzyv2UCsL_EZdoeI5&UnkS!8sjGY z?1*Kr8GnJT#O!kG`vaB5<$-(b!`|CzS<7Pli|0|v7uiZCd=pL-_N^@8h(4ds^#_y? zKkMsf755%8nDS(6=!r(esh&KAr#+0cj7oeb||29zp0XK25?lalva zd0HPcRn(c4@@X1V+ZU>KXFi$6lE)dylv~c+HalB6q6WvccM0ZpeDt2FBd14?AD&_h z;vFoB9H6Ag!IauKgl4sntISv5NwzLzmlY_4D}oh@ixxsm@Ki86Li9-;r}1G=)A`D3 zp5S9#!7`|cIT1txXG$iYo{AUMZ5+Xo+7Go6D0Q4y? zml&~P$RgT#2NxmQ$3_qIo$e3&yN;CiV~e7_AK5=NxDQw8k^M)?yN365m4Rsa$bNQl zm6ut}({`?*!9Hc|-x=MLxqs*I;9&p0u8H}btCRa@;ejvfn}AjA!P`~+JGpaWsP@^_ zzVk?#vgQ0@ff_IMty0+yuI~B%{;rDlANOq+S-NlxDfqU_8IU0lx6SRc9(vV_uusV1 zrhj{X*Clpi<`??5AMx43zN0VGi_6iAQTE&xDl2SmI_)=?^yLmHN0!aXeG}@bT*F7g z%RQMvWo0UtM%l@Sm+a9ijKg~d?b*ia z62h?@Ue;erJfBx&|7@4-DVmst;zva6;w`)Pj4;NCk%$1**=Q)k%uslx(bh138wA>Q zJt{mac(#>^2N5pRJ;$wB^hh|(oitR|DzdD+T~eOnDr@Guxtmce;}Q=;UA@CM;(gCI zeEWK`-(fw$biqR8rU#*yaC$h*4u;vGFgxs+4j!I2e=;EY zbZbT8G6rf?W+vH&Yl7<6XlBx~mGUn|KMAUE)a60ITTRn~+BTC-#CiLM;Ex{gvcR@_ z1;?H;kXK51`HAaG?H;^(G26X}s46u;<&k5I(!d9iOOv5QBqn5p!WfPqmq#<0$LW#H z2JCfM3g*vWCk9{GH*i z{4m5RhvPkdMQ??ut38T^<@3tji`au3VD?(7(s3 zWR*gw8%A?wu_!-Nt*tg|qDg7Fb$MN18><~eZ9e+4YMr(Ds&($6#$>+QwhhcitkhWHJtVkm3_s9Wo z>#esE7#I&K?qtF^L@m$^p=_$dw~YQ)h+YsX$7U-Q`7u7^d#hA%OAYO`9u3{M(>)Kn z=i&RqiE@!0_2)T>B9l8XG6{X=4h&7~1O(ko-nY|IhNA=(aQs3Jg+g{A+H6MNaKZqa zoSf|1=JvYXcYnNTNLDQCG}15$dBsg?Mx!1lChIZ{bZw(DTl2LbKah zfn>vk%fe)cqVos@w=QWM?Qu`v=k6qqUk#GvZ8x zoa}S8zPRaS0~fgatAZVklgza<1c6ACj{bA{&bMq!6qfd5RXTGabIUCQdv*>+<^hzv zenU+lOSHK!{15l{&w-WhX#7p*DjUX4HL_IlO4`-jleJy51cdOf@WE_>@W z@kY?LsF`kO!PE>$1&e7@5_@9GI?W_@=(s5r%}+lc+&%{;6JcTywt_FNN-J>GigwKV z9puJS9O+z*#2TS-WyBCtK#hPD6ZsbDTqacspKCCYUqal?xXsmlH{lF`!MJx2Zf>SL zUts0T{vxy&IJ6E;$9e-BJcDWhvpet8&3@0CEP#^`9$THx2o4S!%7=)eJz{ZubAkz> zgfsJ9+vLg6xsh;u8G%-(Ej-G~N4JWF2VN|{@1HWLyb(bC9#UXFba4FW7@MEmEBO_0 zEJT><>&?k2Bz>)aKx(#|$nGy?PiarN9Fj?N$~hqhXkIAGmuoj;@H4e3L+#=g?#h9HUGl`h?iOjM*8*Zb^B-{EpHEJo}Phikp2*Wd{ z4jmya<2TnT&Gh=5z2fX2JR{6}5W~R|xMi{m(Ck-{DENpSt68Ec+sn^i{-&Jl@A7XMNrPOGD$!mZZ?kH;0VCmjUtnYU@DO~RVb9EZVX-;?q~JH zvQ4p6GBrF{y=N1l>a_HsJ=ObLs<(US-cmmB!~&q6R)Q4zVB1>*d9bSEs6$*xq$-Ql zlYm*Y@xzYnczJe&7#y5>nnv*|m0xBsmtL;G83XwsM`*qq(O@Fl4&65l`>Uoiu<{voIe{5SS2C0) z(2c5QleQO6S}7V<;j0-)>F;aU@O4oot_?5XswRM|qV{dI0`!bX6Rp;hG!+`_NxrSt zV}^ul>RT`)YD@=LdaG80aufKazY!jB^7vs$$3jYmln#)q7Fo3@Xn0+%q8^u)HHog2 znv$=pHO1JZithxS6yGX7wf@1}VR|$(_B|!(Vu0&fIT?z^^yR8c|1^6sZSlf9G zt9P@Ug#%eQxe|*etO%(+VnpVn2B#L#hS-Cz07R49S8o+(xf!(7o|Nk;r#K^z6}aPo zVO`fwRLQdls`ZWtGKx8<1`II;e{O`wp_nW!Wy_a|+0>3(*>%?$lTAr>dmtm5&{vTw zAtq8XUn$*fkj42QxG2-;JnigxEK&wHVF2#n=;R%lU~p)7_l~W3E}0}#9Dq+M&%{Z}Aqk4G!znkj0LM?%;osUyy-F{F zh^d9;+2DwaGYFsm{E%A~w}uD}a_{<iZjF@Pff47_<*HTV=5|jJ3~m=?Y#v(_MzCiTRZp2T7+vbw+gIN z6ARvdm9-L-jvAAzZat^Q;JV_{ht^&me?g$$>;iOc2hF<$ovW_`d>hvCv@GJteJ`^( zxr8>ob7*I8fweKMRDh!!R(CBIQdh^o&v&%g zz1}`YXv4LqBQmhTIFOF>BssWfK{n(v5qIQZ<{!pHlPAf=5hV>a!rhQ6QvIEx2BX2+ z4X$Lj;n9(Hu4?6_#9L-oABFS-0kS#srs{`oshC;pBHs;=jBKxXnL0uc>}bk->?W_^ z`S#3)o#-5K%GADh32}y?cWC0m{6b}UGC=(fCT5EHS=&0lrn~ZF5MJ*NcJ5VJKuNky z-Pr<2GA9ycVdMiigGxqeWeZJk!j3c13MJS^t|kKmUntEIT{S_UD{kBVWPK^Uw*y2l zsa9 z_P7#05G^{$9)mdSKoN_-0GknwCB6n4({`;{WeqQOg=;lwJ2IKRFy!E+>SsqyhP5yZ zU(AX};-iO}Ca2C$DHrKe?!%KZt-UzvjJ*g*i9Ys{`|WYXq`1TvC$j|Z0U&Q%Bb>~@ zY;Brs2w9AsCHUsw%y|f26DpHU&E_~K}2?u7t z22@PZWDzUJDe`WZc-rn#_^WJd;mMUsfZb1DcEoSo&D7M$lrUKL@m;hSTDxMAmjjBUsx1~V)U7!Zyh0I%VGEy{@k!KlwOb9GAJXtNniOH$hmVZjb?gk^ z;|EWV+2PR64MshK;qF0IXMb3E)oGhDNa5Fnljzh^wE0|_{BBqWIc`|_wSz5$-J)j_ zgu=1S>BZdq%-pgk+`$z!6S?Jd@~^%3@me_iXj(P8tuV8=Z?tQ%KX4OV#kE2jhBs+H zU7{M~MO|4AP@y6d1RQL^MtFV%AR2cq%&8MB9aD>i&_w4OSYIu|CBy?EKEfxH(O=xa z`fFV!jNG~0h$|pHzlNR;Z-U|aG52r|M=gLKE0h4)vdWz?3*$t#)Tr`-nr!&=+3Dua z0YO-z@xy)K1WgpI5J^hRL&W*;`q(i9k!gTr!k4>DjjlJaR_+aD8Dq2VeNhW2MSlH2 zY1z`6VivTlhq!Uf7fyeW^&&BQlzCe?HWXJEQzdfnGTTqrBK~A`OL_G}87ElV{;3P{ zV&r9HN;60P?w855Fk4JK`b>-Xz+85t$)Kj{=#83n!_AVTK{I9eu11cPN4l&M$>zDm zG7qBf=)qB~9(sGb9PLF9j)e4Z^krR+M0hB7xq*)|IbDZ57=)3B}S=vUmoVRS2 zBi(25ZnoSUFZ~u@V8SZdf*de6EEuHO4%)q-a5z+?rbyXdKuRvT1K>>z`5ny zLIt%F;70)I(u&Oio0BofnxN&CX?IkUKOi40CRz;C{kT=sNAfG)MFR$mh60_6nyg2~ z!%WG!2y={}1H+Pe!y;vLR8F0yRC_Y8nbN%kKeN`XnHjZ)?%E#FpeEnavQOoWC``V?3ajy`M=^#1C`2W8Q0#`!NT-Q4>&V=`Db$w;%PUQ>lts6W`T zWKLy0xDGgHeH4re_bcZ7(Fn3rtR*eWRU?gUSrND*FULZ0CC36Jkytjc6Q%s@WUW^1 zbI5GOOvOPE6`>Ni6n^lfU@=-c4KA!O$8y@#tDuM})+;!P(oQW>Pp9ILsfqKGoXeJy z7cVn`4P9yP)DLE*$X&5SQ5%tCi8Is?`86>Z6Lm2ds@hw0Oo!;>0x`5u?E*4t!!T0I zOxV<78L~Dug9OL5u`uzJdz^r#yNm#`9%NQ|T}BN$Q_1JN%IZvzz#&dJR#SYTsY}A_ zz9-L+nJg&;N_hhO5_-f)=_p0)dy^8a^_tC!dAky7N&#wX?}f{s9ePY z@5PUj{&#X;j0r+PW{_mjf<*(d`q=mKNQbt~RMC<~40S|x6=EVjPP;^+NMh-ZMwRj} zd#d#}a1~g-@EI3Knu{u0X3f^jcsmI=j)Kv-peJjlo}#)*MC;h@SE zs&DIQ9C(~%Y&v6tVzi$ZO?9MeTP^ATUl4v|3!Eqjv%!S^VwsyaVzL@zqyuiu-aU5W(8;^U$6j<;o@0sqE9_@ypXfntBZ|Gp5gbkz zi1@3uqr>oOpbRIni|k0{RNjC>3eK3)IXWIL@&lHpZss9JZ%K;X|h>{97S zcn54H;z4@5GY$+(rVa!gOq48zrWUQ@xML>7^Aoj%eLlPlA-Xf1BR6&TCz|z{Ib(p} zYMs?9ot>Fu;*ZwcQ#4`&EH0puar_$_c1?8y{bB>Tl787M5{-mpbEXSJ7QfLTSt6=? zF1XKG2NSn@=i}u4N+*+xA#yIf#6}ffY7ryaS?l+yz^!}*VRlyWyh%Tzv*IGHjQ*IC zCn9wc#RaoDLm(O3Y9@f3a*^4iZaUq?%1tfGh-OVsi{VpNoc(M=6XnVz?!0IvFR@Ii zD2ph%((A-^xdhT;TDFPIg*Dj}i$n_hSe7#i_f-4+lE&0vS=5IbW@dEzV*1 zay$&ThwKoz(T?AcMX#s?{cI^3I)Ox`9No`T0YCKxVOMcAfu+WOPI8ph>9IqHt4D>K=Ij(!{hE({S?Qvh zI=(A2wkvbYN}e(wCzHzkrptbv$E2V~ehLp@qitvGXp<@LW2sb!4-ir%;}y0iiJNK? z^i{VZpgZ4k3oA<1pc~~L)%n!$YJM|KxUkdjO;J?benzD!Fdg1>qrw(%QUPLo6P5Pz zdN~~A7a`4uWUrm&9QT65CF73lWWNwk$?oh71V{C=N7-E$cSc?iHX8{G{ekoWw^>+s zOw1_s<2Du!uVYk+N?!~6*zX9VwnrGaee=9~cYiRb7Y;n$xEt~G!NFk9ZY#7pwLBxX zKW#VByPK`TEc=+IJf@;-4QWw{OY)FZsHCFVoR`BSm>pv48o@q<;lT5>#%BPqLCg8{ z=@>(1r$lOnT!)+Y?kVsaxO>P+NE;him6gN&j`58M%%l6{u^L!N2v+FB)G!*Zp=i0d za9MFZD7fHm3TkAE1>Mm6`7+h3EyWQ8Y`x*!x-JlWs_89UPi3dNgGWR?|-ya^(Z?A0>5E{NL!lapaL% zG>@5Rt`=IgS>$pVSMZc2d&bTIt1nZnH9bFs!4cCFk`XQ#aWcGha1F~$VtwM`+VWZ< z3axf=^Nq>(-xfH!9_yyC)AQz`F&7TKN|@6M6dv0O&zgTVh89tSM_bfzN2h>SPiO>M|C*3 zgZbI12;e}FP8p<8?Gdp88FzB3qIUq5X(Cg2lnepTe)J7gwGJK&>?QP>v#900vI$d; zmQqo77BIYx?@!_XEfmqNFv^TITp#W^66PPg-%LwfOm(_f_$mAsEL;PffBRo10^& z8gfip?Q}g7#Z_b4FQit%agjuBhu5xEds?b>7=Y{-opH!e2utXivj~k}J6WWRlTlHyG zuz4h)8RI^4#)_PT$X+&7>F0O-&tJ*C<`AWF?oObLLOFWn0@0&#&$l!eS`gJX9Ai%L z^@Dp3SIUII)sX6X*+@fZ+VMhlZ+oyME*p7-n=Atk72}N6W>MMT7Odu<& zs|vh9cszQQ($;BCFw!UGm4^^+UCGw=%R`vN-^_PP502-zFqvQoD~~yE^NOS7-ENNiaK(*<>Mr*^~UaGMNH5 z^ULw|xj6c7OZnXIoy4`U@W`UX+=|=s>Vk#%g#mtI(tdGZ@aBa}{4T~tBS>f%f^_CeEd0yVuEI8&&Tqt{@UlXRDXUuD*1_Wy2OL?y_wwww!CPY zgCg;QF37{_le%Xm(Cyx0z}TgezbFg6m;Io_vqALLCCYGbk||`bX0<$L@SY#whvfYy z6LcL!sw!A&rh=cyed<$tZ&F)bN8r~{#@<_$61p#e<+L_N?3S{U%R$!xPWp2?l~u~m z!R+eI4C`23KJio63H=_jV;fd1;uA7useL!i8hgM{hX^>sU!xIL-|E!g-Wz5xlE|+6 zTMGKa84AIUOGv=g5uIO@xotjAq%)(edmG*ONh6C5;UrZ2nxW?GiW&A>IK;3m+*&r# z7Om~u$=dO%h}>#yLt~Yl%``fi1nOi%u|+%WVkv|LOZ1vsiSmx_h*A)5w~rT=us?0G z8XlDCt6#;?-fjZ~ssr?bYg*95=t)6z|>jGz=)7i4QiCG1x53A&L7i6dFK z<=hAzaJ9cTN7SfQt;PB-I-bXn)t$9sx12cVQ(fCG)z?K#ceF(5eug#6??dBPaFC?F zituY%X?oEpj4-vd>pn(rq3GYUJfwY5OhZd{yT|;?I;d<>qM~CC*JBV%*mkC?>G@T>0iaUO#`IA*x9(N*wk*&ID-)KmHL)hBn}T*%AW;A z0vrFIh$empRgZi9QlH&MOoDrvy~_o0MytkVSVrCj8nQCRIIdnkb0O%R3wB&s}M0zUw#qbsJ^$VHqfroK#9 z0X-QE?+Icf=YA2;BJdoOn}T+{;;()AQjkz>*^rRak8wo@ddM6#6T{A&@QW+`)qSYc z0ufwkH|o{*p!((o3er~-slMXrJd0I?PGekDfB({#V}q>4;uZ@}S27IwDDVkSpBzc_i^4RC)G#EU_#BgkbVk5e=SaF{r{_Y!c*>GYzCmUWHg~!!> z5*6BR-HeB^p;r9Xv^$!+D8~|;h~2LTjR46s1Obo8pg(1%VLqlLR@}*Xwy(H_6x%LgfAMwOK}7{I2N* z+a7$Sd|@9)5c;e~6Ll^i+_CJFADsR^=do&~DH%gL9#smJLaSIy_@eC(2LaDk&_kzI z5sCc3jl*A@pkIGGflsA0GCQ(3a(rZdWMSm!$gz<#{0>}sWG>peDuOrzDNAd!kvcPT z*K*?F5aSs?p4R%a265C@wv`^WdPD-H`gkaE$R(1_m|_@_Z_UFo^GH+JO&AXi^TFTZ zOFZM|rloMEMsUaI*okn$e)@Xi*x2#0Glx$rNe8BQB~^=qhxaE8-XROViB#yF;jMTe zkgJojq76?`JFmli)3+`~J z5{s*Yl;X6?YAKg{mvg_Q7Q%N*A$GP?=-#xZ!ahW%cVjDzQ)`AqWJ)X!u_a;nB}-Ir zZ&bm&9VdW}sh<^ed#9DLwh9mXo;_-tU8uDEBGypYU^rie1ciAGE`*c9tv!#CcN7-XI(vT6q>@SB3N_eR2_1Q~n6@85Ma zySRu{+;sr|+X9FE?>fzZLFsZ;?z%GzLoV$)R9xV^ux**Ut?kHSb^aH*3$YBvwfa~q z1%e?ChjfR7L+G|P3?bH4#IFi+963wt&bpG@(OFAnTH$B#IE4Tko_QkbkatVzrERBi z-6ROgB7?J+)JzFq0lRAm{@+IA>@kZp(AxW4N!}k47q=bf_Y7v{IUYFAb5@}poS8aAfA%KuIYiOXZKGO&cE_d?zq`aSErntUE5O3|U0Hq} zixnT|hIOaWqTupNM#6_g6B+~#s%>ZNbV%KjHsjI``k!TTsVL>jdD4XtE3nB%vq}`_ z5*Qg+UYgrZRc_nawo%(977IScfelfzk=(qCe$sttWDo=X#+xZO9_vNhOmT9)-0BpT z!X~ZEsrGJ_%&Sbn(7;~K|CCbdXFMFm{hW^4j6!tJv0n;@9Xhc^BxWFXu?}t13pl)( zNKuVEs8c}n^Yx`A*9g1%)wP%9i?e-(>;BA8zXBOwGQN6>MUn%}V$l%3 zO5#|qvYwV*DkrJ(m2_p_lpdFRWm#1rxt4UVC6)Dxu4Kz@XiRuC&>b)dq)C9Z!(y6O zVB9^^!1M#mqghN~zyt<*XdoU4&o$HIPFT}S^T_;ud++mo=ezexa>2~3`NK|1=YHq? z*k_-8_TFdjocr{rKka_^KiqRKz4Vg%{O3RKe)^|>+I`K}e2v43;?!IPgps|lN&=H& z>dR|*rVZq@PjX@U90)*+NF@RwbYl|*4)g5!eX8eS_iX^Xx76Ynjn~CJ5e2hpMR}z2 zac{s?6>oMSlIEPSN4kX|N(0YkhelEzZWIvxS~0k1qS8O6y1M1dM2mE~2Vr-0i(_=p zl^~|xJ2QXg`k7bG+&J^&2>9}dOD?X}n+ zR4)UywGEf040W}3B`S>0n_DoEi~%h`3(eIAU2Vj{@l$OGzfZf`HCH={k6~BC|KW$S zwgyE8w>#o?k!KUH3gQ0U?G7RGwA;Prc2DAC*zMx~$jq)N2N$o0))w3@{=(TNl&&BI z6g;5K;)+MLe*3_5aX;s&pkV~g1X0X{bP+xdLLXWt*Y zN0;IO5sru(jwrWhEyLsF`RueCof&_{>XcXbO{x@+7eKv~wo5lW&p`|ZLCc@#GW=k>XQy(p12)o2@Ng=Y z&-3}E{(K%v_mm`;&gGdKPDAKTq<4%~oS>{=7#D`Y;bXW8W8bI%l*f2>ED96rkV>FdB7$cb#(sA!!ln9#u$P&~RxNMggw_^1F3}^&F%XzL zpfV1Q{K|n!t?!tgp5wVOn2rsq(L}cZ#ZrCwA=b&!X#aF|ezqU^;X;obA~8+Au*)Ne zBmhpFFhOTr2~TBah$1E(I^YzFpGN@K!_TcS4RCDXFnP-!P303Uv4M&c#~`-*?L!4d zLbWVxJ5$O_N1BRVI?`NErXwfJlL=n10|5f_@cuxuUTtyVVcjM$$pkzX^D>N;Q+QFo ztKMq78!r`5Mu~9kv7Db)sdX`ovJQq(-ZLhN94kmSpo&_kEbXQQ2S#9DR@cBxvua7b zLFg@-Jv2KDbv!8GsH$R^=HZZ=q)D2NvJ;74r{H@h zJ6GgOb}S!`dG5T}2b83M5W%A%Vgti>mdP9B(()l}del&@!8kN;0F7BZ`1%xZgTZq# zbhA{cEVv~&_rYB~8ijNAXpHZ4phz>m3KJybc!|o3j*L?L8uE{!Q#r?=i4m1{prSG| z5)BTXL~-o94LaBWDwtb<#sh)1BwjbiDKU<~ytII`%? zfF2jk|A0_7{#Gg7mC3nicy`?_qYP`kg2{ z1QNW#Q+*?_hABS=2SJR!p~JmBDv6*lDuQ|fE3_hUW8gIKQ7W|A@y(ky1cJ4r8wl2x z5hT7po4MhdCl_nfM&w+UQZPGAkSf^idT9jSvKO z*2hPOW)Upl_on!>0`^ruGSob+P!DzJ)F~H5Gxp3`5HM~7r%4XL4Ka>KrT>Y^K-Gpx zv|mG~<2Y8F9Pc_di)z@_6A zJ%I(w=y8vpMdw%XzI_9TX8X$K)o2Ry1PKYm13*ajqy#-+X)KA|HkO5E=j%Bv|H&ay z6~KKL$Er{lz^Hb8@VAo~bI7HdBT~>K2L$SM&~1o%_NcJ70m%Yxd_??|#8ds3)-Xck zb$<3`oiN@9!MZrQiMNij7w{4uZ`O%L-K3r!*j;e_Bs>n?_KgV+{;y!~d<&vwkiWqP z<%V!hDi0GGjR%eNJj3;(mM!|`rmAbAU!fPqq>@bt>X@Vo=TK6;;@ho{z5pgkOgrhE zxH+_fbukVN;8}JDa@tFO9t*#J^Sfp@mvBQ|`2Cw7QAL&BB|I@89mRB^-c9&+uxo8P zfAd>(illaSdV0pmX_KP2=iStJcGej;p^xt3^h`Q{fM(ri{QjtHg2*I%97soNkxK_t z)6A4m(^`amZ$?vVY9b5-tZ#yCwZJI`2LSvFWi*Hvyfe5(CnQ{xgB5#^Q`01K!+!P- z5G`+`KWt94pLtFv_LmI>6Wu_q7sQJ!?v!{hXe0tUlPk=O0e-GRPZ3O~5_S{9Qzt-E zT!mT=h*!J4t6$N$LN2>&}g2^S$dIF+@oQDdie_#WP)QjUbh-;jn zED{Z(%pNX&VcbxYxRXudh9ypwRD1(C50cX)iA;3@B6mSL;4)IZ32PzZZK()VR@{VK z9>Qhwi#?4^un?tE1gP?+!DTJV(1@Wib@Z1gsD~auBAOcl4n-rP)*>gE;WPqR)Nqr+ zp+%|3U|-)UWwCkvWK&+3M@CD~eT2X?0So~F&SpHjSb51)C_*WWMwM-Y)}VF=zaeiI zRxsWsU`F~}W2Qk*6{j<fzCU#;#ayg@pkQaoS{}-Pa@Su9=fpN6=SyFNvVD9rus>&aw%{@r&d!Ow?8tOh1 zDH2jj(ugnaSI8j1NpN)J*66?$Q5eF*@qHQzK9)7QEcuzRd77VSN2R;|_%lq3kqIJ4 z;!z9;kZr@NpI*$YD7REe{nQhn?1WF{@BNmBDh#|B>Sj_x0_y-kC<*e?)%8`Kag%uD zf~x{pB!XDbyVH2=21X1ucICI|HflTxUc^Ip$=OdJE4*>6)P437QY3yVKb}|PDSEV` z9?uA|3%y)<$R`ut5O~619AgJw1a}2~#g4)4uWAQLN(G^r&*#XI12#cX=+vl8 zQdnac4P60yf54&!J2)^j+~IV2pm@pGKD~HPBwFGYyHQr0$arWY+Z{j1j7ZDMjOOtk z+Dx$jv`@+qcv>9}US9{mNESd4*KyMHZd}F=h2Gk5gsbHHwTp0 zx5Vd$?a9LkKJ$xw%oJ&Oit$uSRpNNq`v!bpZARQt9A3N>5GvLWE=jY2Txzao|f=TOqJo>hLi~p zXUN1PlM-|w4rEdkv-2q57tN}a3A278lC3|(z0BIcVp2Do#E1|+!4ltppYMrlMDyP0=Nuxl{nXT!{E6^Y7-cOuPW}#q+TOrUjHif%-No&v+(s#Hw@#*%ZZ1 zaBJN^4pq#}WpH5C=k@CPf+Qurucu0q5-su;&qul&W4L#pfYlW!ufr$pDriBa5C-5; zy@H*I3C}W|TBxn$dx$B?34^2^huRiIJMuwQMtp42fVKQu%p(3c&@m)u_|@UA;C`rC z<;N-1fWvxl4>;y1PC`~t>3xwEgL5J8Z_xSjHn$*pU$$OTJPO(q1hKd7gEJME6__K1 z&ofLL4los4f@?vv0w=?6YL!ow;NU4Gd4m>c^$Kw#ug}T-R5;^u>+ocp3BL}$@%N!U zTgpD?nS9bKf0gHp?bEQsa1|q(0mY)!bp)5=zFYK_jFH)4M3&8cK^KqUI=@Zs|Q#!SQPZAwPWOU9{ATq$CMw0C_Rbggplf8*ww#tHu|BpSnBFlbDEO zON^5Y3fc>6P!rH^ymjbjDWF_MigAbHCXsPhxpmrUoIAG5YIL;@{RDYQh8}T0uB!B# z2M^R()IOwOl`uwle^Q%Usjh8B&j1jBOn7U>1sfV-xY=Ogu7h*NtYuCTB3S2gZJh=6 z_~H?mzy(k=jNhV;3+9<6Nur1N&ykT2(>1AY zNOqF%%{7u}V?&%G_(=vuQ3TXqtAe|r&BveP`E&W%?BvUiLXweaEH_yY_x0+-eo{Qv zpOnPYR&>%#6vGsm@)-iSRR#v$%U%=HN6N6kfr+P6ayJ10vY)WwYp1BPvIK%R7sWxN z@~EL~BhS+@;bm2<;NYT**}35t{4jYl#Pxy*5ZNG}Q-|2H`+CPUtCc0k1-i{po(B%x za|LLc(q~*%7{{PvWeCY3<~;4n9m%?t4PpFi&)L?VLal=sfVp5`1!&u$<=mMFTWZ21 zX5qdP_Zssd+-}U>n6FX;!$41A{`7lOGOH|`+cc?H667pkyyn0OM(RS&H|dm~jm#i( zRJTDqOUa9;qU+TihjS}8UCNJ6=7JiK6Noq@v=Wf5-v)lMU?L6YwW$jRtbv$+f%U;5 zg?a;U@_;TO00%&MGCsX9WF3%4vQdvxDHQ1L)0p8!ef(M9*nWkC$=|GZfR6a=g&iVM zH-`WTWHE3pwCLn0iPwX8JI*e!0~Z>(y`2)S=;%s}cx-j9O{`PD*XaTM?xVH$&}jrU zu^{I0#c=rIQIWR_(s!SBG?exUMoDz-+9ko<-O0Coi)$LIpigMJjBdXqpZ6#nL zSUXFk%?wWK6i}0MAMDMeeZwnz$Dw*-J{ur7!vmEAhAS-zY*IW=5K$VUCM}2^VDWuW zgQE_d!0@{u_A`v|;<_EJ^bf+Ij~RgnZ=&fG#54cQUh*d=&bgvp z0x$l*O$y+=#|a-C(E%|5sOP*0?ZD2}`eoI$h#cq|L1F})OE3#zZbnlzJGXyGojiPn z=u=PyPgSBR@=2iVbU?3c4*SzBr)r~_UT_~~!L^C<(-SiwnRnLoQ-0;gisK*$xz_Tt z;EmRrrx$A6(&8QD1|V$JOkmW*tjC{m`O?I!FU+40Sr}PScxkr^1ukh>ey;66t5v_{ zXBK49I-Z&UhDce07KRMzIt+HF&W0ta;L_10{hx4g3|e`CQbMc|nTr&${!DTu(a2zn zL>fnj_QL;yBZ}%<9wmcjl|BTU1~=K{#PsPD1t$k4Fba=X9D=%g1=K`@jg15+eZ1@} z!0c9W0>`t|&)0=s(uz6IaUUb^fuqw;F#ItBwv!g~2$sNf^toVC>HG@~$&Hu8r9PTa z12%n&yHL~A7GusY`FT=(SQvOx?HuFL;1%p}y+8ITr-OGx&`wb15~PkwPed%tNw&tp zzg@%o$cj_h$Vq?O(A)R5tGF0o({!tcT}9Nx9Waj3UsAQFo`zoE<-8z@`$?(()=7a1Qi9lNDk2*s3E)M+BUuL zDu~Cb;_lq@L#O!%*D>6&-0I}$nDaM`SiuFSbOPnLXG>*?^#~=nC}c!NTj7ub_e3zS z=%N*rr7GJP-HfXk8lJzvO52766?=tg=%`*WBxf`(!s_VFM{92eGaKX-CqlG!bvRl} zoI*F1VFGnhz_QtUR=N zy47i@lyK8G=66`p*+O-;V0aQ^ffK8{B%gN2+AQ|kml-r<(Szxz8 z2vJ-jISp7u2KFh&3u$qkc(=B-1Wp(JLSA|;u~~Q`f(fBb_z_Y5H#fR22%gcVb zZ7aeS7(v$#Sv9=&w&*QH1AYdf%@~L!;oWPBb=60#U87|f(_vgLI^_m^+j;T?RW}j8&@`HLtjBZjM{ZID3%v$ z)!hmhld69S^tg*7C!vUaUXyf&VLZ4GLkb+ zsN?#3q8~pYxPdv*_YS*x`>mx3L?|;MpozW7+qhHz-Th zHaAw^7ZtL_d^m}0V)C#l=6fq*<#Jz z^fntE78CXOO(7OuNH1)3M7j2yKKTi98r|KCLp9{XC0iStz;Ds=MFTZ8&2IIl9%pgojfL@t}qy=M# z!ExN|)rSq=3-j%lNSd(s!H^Y{6f^8_{Nbf-`G$}hJz%W|`lO4y*gwjE2XaQXUI)qx zyr|s`9-x{M%R-<=4XhFG6&|dtnUp47^5EJRJqIuta52-@-#>Tw$XZy&u0tD&Nn(Bd z4Jqg}dMrBcNyLIMuyIdKn*`17~UjPhW(a-CL-xYy&Ab z=04qvBG2RfVFmlH7LBj2;W0sDwo}Y@Iy$#|J<7osbyNbqvxezB5uF25Y%3ZbIuYeJ zminL~@bF#lz+t9Lf1JiQP!8M(hytnP1KC}WW>>ArSN(0v^Aizcj~94kN)`DTv$#bT zUAzp!hhsWe>+7&RUWt;*aGAih(cGo3!;lfGN;n4Lc`FUrH6`p{(091-!ufBE4pQu~ z3PWXARg|mFFSr;?z&2mPiHN&;Ec#ZWS||#_S3@?y2xux!ie0X1#dD)^t^B}5a@|>) zwE}BUm}KH~a#7Q%a7f`h7fEs0T@WIG7g>L~Svp^wLSIDC;TZ{Xdy^tAVb>ZidNx}ndu>w)QinG*r6A2s(2{+N6_77@RMa0i)u+PUz5w!Tp$|7Dg z4)!=~hj5B$O9FO&L4_)(2`rO!Y8S`@5tvlDE_NRypboN_t{t_L+jyyJY)JgCA8HlOZ+BXIknvFuG>R z@h)Uy0n_FwN*CtlTH#IwVX9mOz@}N-kxMaPe7GT}U!`Q>O|wJ6TUa&%-U3&U55;G6 z-9|{|?0s?ml~-M!dl-n9-hQ#H)DDY)X!CrWleZ@VP&i8R__QF7rk1N<(Bnz~11ER` zA}`X%4R6XG%3-kq5P4og~Xvt)A9*U!g|C==&%2C*^VPfR#ug8se!i{TF;= z>Zu)!H&@^zh#XP|>N5m4v-&JkI65!G{sdGs@X{STOj&z#NPwQuko0}J=Q^6)}>H%9nud^l{&=Arc$R)UAmpeP&>np0Pn8(d~HN-Qiz-A zwe>CfU&T)63nI?Q zBDflz2g!ccpSpuEB_Ym$XZCGkV(HU9X`o`rEutPOk6t^@?Q2R8_bF2l5hz}e|L+30>b(7Wk$StTerTHx7O`N$s>6^@B zT?UbZqPzYoXk=AB#w9UchFTL@b>M7~deZ|muuK}ylVD`gUjSi7b68|M!7MQDFGR)M zJ-7kmo+)XD(MvHAjrvgfJ$2H>zh<1KT8)bQIqANgFJ5~fzmPCRR+y8!u z5*|MQ%ax(TaxPbfkET+7X8M5Uc}g0ve1zgUJZ8AK0l>K2Mc5pJmw=va;z%1)!V)4noie767(@VKq1c1)M?>Os?ck zNHJ-uDB(7#Cv4Iab?I!tXQ(mSUS8xbB*7Tg&J&d!LgwkG#U*Tum`5DYZTbc$T{G(O zr;|UoNe6`0$LGFa-FO-N_TW~6kBJa@9tRgHG1_L-tY`I;rML!@D~eBG$`u|DIC=fj zG2Eg+4_A zl4QZ?4$E|Sw^7qW_2{5U^vE$@*2dZKAW7OwvdMdY0S1y{rrp^H1DY56H^%=_&uDfW zcsLC!a(Px%OIR}9-3E|iwg9LUn>XYNz}?>~_URchi=7D|!IHZ(+u6UUoPeh8WUK;C z0!}u)DJ!~@gR%ifSTmZXF?DMJ3j0c2;vgmIJAGktk{r@C?iGIM0el(8=tM4ENG*#8(w6XBE4yke3^-(DP{HxeGa8!O48&9>o{X6?rpsisi6q!f=w6!#hhcnjcq0?&=wbPA?JV ziP->LVxa++s5nVM2~8EfeY8N)dhhxevw5e*EGyp=5Rt?jmsw0?pgWJ?(+tm{q%EB5@K48t=P+k_MeQ9k0VwnnnxG7W!>7f%! zJQng+nxZmcqF~5$j~}{Asc0aH{{97mEg_b_>AgFBu=VO9w?^1}$&SE(pNHB$;)!91Hn zA$8JdaZ-31vgI+4>2`E0*#VVKG8|W*=2zJ8yYG-i$5pJ3jfqLeSWU^!nr0Ig;6E)! zo&PA9;HtLpf2~&e#dQ@6(e53xbPoWy(VkPILKlMFb zwVjm81T3sZjp80O!SP9ln0Rnb@@zzeM?*~qXN@O93Q#<$csyJUW5yGg;E9xyGF+t~ z9!HeC-T-&d7{y=|E-g?IixL-ozX(Rje#O1l1OS$)3_&A;7X0@uku-=Kz%HGzEYkNZ z)Fb>d+8o;%30fKq413QfqFYE;Wu;VHaYyjowfI zHn_9ZmE&^aZ3=X_VdE3$L~y+)9bvO*j(Maf4@;GgkyyYy%C$pvK;vucMchvD1~<63 z@)ihP%@w)dn*IXBJ&-!9E*tSbTzGRnNZ&)@Ow@|um;|CCXZs$C7|`zp^(X=nYE7^( zF`eL%Rn;JOb0X39h|5S$c~tE=#dc+?k^EIAJS*bEI-Ik7%8ZM_#ce2d_yUOEpS8?s z(^1HjUIS{_pr2@=rvzZIVyG(4#=BTd;YdkZ1XAW>id4E_dz>T`I)!6H4mXp#4e*f= zcmhx%i!O+*CuYzKmIwqeGeMRtxb}ghgFt|=l!od zTg*00aeJHm)l{bcOxl}0e&P50(t^U;V z&}Cq?QpFQ|2o9J0#r2}?c1q~s&ue2DaBA4sE>WI5Nl+t^C3zcq3)g`)&qa~#LFtB2 z{OmNZByP%>y9ZT>2D5c7O7;LrQ=#4Lm;3g@4aWOnlPorW`=rXsi2Qz^3=o@n`_=>z zIaFhM&p$2}w;kYQ_>DxK3I&}?5CDzGGa*}@jz7qzd=;AucBsy)$W4zdy*bCEq#*Zt zZJl70z}fyh;NpfPWT4YRfDSU5BbC@SSI>HkLVN;?=1hf#OYe zqvxljX*wV4*RD32pEV7Q#)VC$T@C}0laO4MB?z+n6$qrZvh$*VJWY|NoTY>$&F@>@ zY`F*3h}<X18>_3j6;6d|X zFpx|;o=5D6<$W)J3V?1WHxENJ9&Y@)YOGus2yepex-lE(tlzCJo$M=GO%-Y$8&u^q zKNt!L$1mNB*pw)Fzr0-vQ${fT=EQ`5IGxIsx^O3#XjuWr3vT21mHtpzkXvhy(dx4M zz&c!`4~Bp-m+r~d`B!{T{0G6$kwvl@2HAx<1YKNlKIYA52j6@KVklJRJ)B0z2KLSl9dqEdu~}p1fPy3Qjof0< z>VWbIU$f;v(%OBz$L`X{-C*BP-zjJK#4B=<#p7=u*kfe=D4kD=y2Hg$e1i?vqWB5g z1>6V1k@>*LJoIOd4h-(HMp-JkOvH_7)P9X< zJ(xI{kPxrcQY-vB_6<51=*H_Znn#1UL!O;Uyl4_biT;$sla1N@EVLVPSI$%XIfw4r5&Sp~>n}TM` zg83I*TfkKm%46VRfUi3?E?J?lgU7m1697vWD!nivLGJx_KOSboW#^8|YHFN-wl?Vh z5f4H}aUJWQp+#P5k;;u2N(b9+5-QuGMayQ=a}~zbViLEzq&SPP zwy<5%e>irn_FqMxaXhO$56~@_yljNmT~s~ik%wC!_7OBiTpl{N?2pJprHeX1UX(V4 zL0*8T6`Ee$?l0|#pN}|YY`k|o8_~uEk}-uMdl56-3lLZ=RC=+8ZC8>rPK(!2JdB25 z^8yQoCuH>%)D`lw9J+4A-A5b-tkRPPkisdr+R%4XcvRM`2fj7>xx)DH60nC?Uugp8 z7NFp;-XoWlv_ow0`2iT{-^*s(_9CJqBVS_a(|k3Xf<)e5=f0eJ2#0D8qhH+VbvBHWqW(w|(g z;WV%}G=RrK&%;nQo+?6YBQAvb^nquYAEz>wF3e8!j>x;?GH=4biDf)y$Ak7_xs=Nm z$Ih2=A1+VjX0uRS%r?)6QsakY3F=bJTzX}C?10)NQ}cA34&|8%>umEZGw05g<>7tv zWFq&2(zBy8#aSFkJl`5-Whyr{Q+%bIot&J}v*MtdE==R*Gn>y&=3m{fK4!pRva=UT zbd=b%%`ne}>C%NlK{|*-X?hmEa&z$A)~u^xvHbKLdNE!GO*c839ecTSc#+pN(y%R= z`tl6UaU84UtmF=FEIUakdZo;I4xBFmHk&VwKRc4u>wlZU}cnCF0Y!)%APJDHn4H+%lDmeaWoXgi(p(AF;&;Skz4e(-Xq zvL3L23Y|9XlQSjkzI|~~DlgRB%I5*3`)#*WX2o()At_JgOH8f)&H(7_}4=M{bRjFLyu`lv3RQ^ErIke}cnCYeW7U#;W0RR1;5C;TJso{q}U> zp@S3OzLl=~N-5I5ZUX%t9k*;mXf_ z|Mt&)|7)wOuq6U505RqYJ{)Y!>mxs^CXj)Hhm7DUR-b|LAT>+%Dg}G01?FXjXI!Z? zIaw;XVf^9G$>B-2{T$|8Y86{-!U-ayo)7vcx2;QaOBQ2lKYV;CZ_70wOGS853wyDm zp$0AxzQIk9w@YGJ01OW4EzEyPv!ZN989oxyz2!K_IR(pwcS_;!i`9F3tp2wvQ8#PN zxFtoyZt4=HCa|p8u75YHEMBeArp21|h;lAew z`UV_;kIL-En)XlCs&JT~Ga($Ucn-)ohV@=L1BaMNZ5PoDmd|Zwt8|&g7&xpCd1Yj- zAazJ-s0CUGWWI~vU-p?5dr$xrl)z)eP5NAJ-i^o@@Y_0+tR_G#Ht`F!W?1@>Ykq1W zliXY>@`QNXD(A*=mqeW<^k8B68MbzHh%l09DXQv=s5M?gPn8q)3{9ylU2*W!g*|;8 zR!!BMDBoCifJaz~uC79z9@_cr1~w z7Oh~4!a+lQAJJ>hS2j=&)&psQW6gCntZv};x)+;bS4V$9# zaNHC7Ceca9;iwRYB62IXgBj+FXGsQF5nAQQVu!z4Ylovg)Aco25lG+IRz@!4~ z)WZ6i7$`#w7S#)1uwI2?eh$PNHdu9yohHy)X*h2@I*zG0B)9Ry9wN7Y!4^F$##K}| zk>x6A1qP}{_~*14vpkj`KY0w3z74BONG_VYCoc9C4h+KpAmlhI7-kfE6TPdy+d)_p%Hb7<1Tzbfi;(h>A)ec?5r1gjfW4g^W7 zz!K@C2`+OiZ?5iv=}rbD%IVp%U0sGLB@|-59w@ES`Y&Jh5J|jr+zkIpIe59pNH#Y0 zfsmTNgVr4P9GsBE*6`xPC%pwq)8k~-JnJ7TA(d}V03ei-_*jS}Knln^zXbjK5X>gLc#oj)T71PMI;7xVR+>E#Ymb=eSAn zY)*~e3iFHD5JVoLM!(8InLBq~>oF7kr9h{AKjPLw~A-;<|-HiwK}J z?~`hU`rZ^N1u_XcR?0{gh(utgU}FccqW}OPlcr&S9>P_ulD-H(xP-!zhjc-&;ZBO- z*tDi(I{I~ld@dGDx-2hti-)fUunAV%KQ1*qlYXhk_LID77lmgpw~uuLW5VQ!e=prf zeyaRHKol^$OiXN9MFz$J>j08AgfKdA*xZ|bc6}R^FB>3pO)&1pgE9tiW+s^0kvdwO z$&Qa@!K;$JXvb=t8+A3!p~7!^Bx?e3ru3+^9tjx2EBy4qOrQEE(A{|jHXH@|<*+yV zrb$)>cubs1>*~tLZaBQmg^fh~FIC6;U+V+9fO04`9TV*16;Fc$S2F|Cz?NSxZZ@z) zJqt|%&R!I(1No|Hfj;kpVa4qj4|O1y50WQ`{&$dJUr9T-#u za6GW{b$t&ZRGN>A$+i(l=hjFXwt*7i$)3^Eh`^fcmq<6fRt|tKj$bTd1E~Et*c#iu z4zbh{@UU-wEZBt7W@B}*g8{S-F|vxXJYv>UC8)^=Fe+u>P&93EsdHhCJ-jZjebk;L zD@lq@$iYD!y9QhqG@9fGfDzfSPY{GI_@0UOk`6)-a*QQJgMQ3YMvn(|ql!&Y+C@hp zm&eh4P-X?-hODGk!#XKUOe&I&iF|RNK?2&uxD*akJGfaSsX)+^tU(fYvAPO-(bi~H zi8Adu#_oMW^hKc9j`0e0%+v;ryt6?zWTk6|gR=HtJU!emejB8RQa#=Dyq+>s@q5Q( zK~X<4?NWU^O3m+|U(T66sDj{CvhNG;Y1r%Xj5J-l<>sm#E99~-TZyKb!VK7-v^8q4 zWDo6)EQjcJ9-4I&6cG>_T?L7qYRp1dhA1;Oebls@TxV`AKllUIIhlWYPf@sNTIU2e zXG{VKITk#K@i&ELpfoNdoD3ZhRe%80sPLd2^=Xkns=xF=hf3dtK1AMTv|hXk=;ID9 z?iyQAa-?D4S-Kq~SOaqtGN`T|--nV>2HB4Bx6dLcJ7G=>hP_WJK1Ri+*H@y1n?hp= zsi%1xDShqcS!8_L6;=Nv@$+z5o8`jB3${_+E(w}xUiN@(7|gYFS?5B!+^jD6Uc$j3 zdo(;|u$h92bo4VW&0`-U9U9El8NA!!8V zgqZPTM$tmnZ%3?Z13pVq2^q#WZCct-YHEBWo_rO3kzhK}We3p<^KW>349gCp!Z_F94HgE0T z;C;i)G!~uCPWhJyUJpAMF8y8ysI#6xjFWMO!zZ0hp_ecx zWK(jOB-xaKV*&w2LqU=Xnc);9xgnSUWllh)ZewUX-dMDKG)@xmPJB^s8}fwWkoa_u zA805j9oRU>kkAEjNgmwT#ePc&&S>8ISe8)V42_h5tfx#wF_d^u!fnQPA5VfY<;IQ+ zfFoZV%T5IlsNW4pqduGOtC02kRHx_zggLAn6aO|q1W00QIXy9mmMIaX&7g9hUy1W= zc*NeHXtSy{E2JO*SUs>ChL*1NKvK{suek1qpu8ILJ{0BEP)g@chY-vN6n1n9Wt>;x z2U|d316+uGa|JM;&T~rl7_KG>Bvr`G07|Dzl9(&eycnqwb66+R6mU74XKY@7^KKR9 z^eB_@;bXALc@}4357HQvXH_b>8I3%jw}Ce;AE)MEyAk#nO>ep$CGEQbt$fq{w{M~I zv!MHdEDkCK5@8$yH01KrtZzf&Aqt(-m?z{Rmd1yqhL{9j(9aNnv{vp5lk%jS6BBEx zof;HKlVh5|0?p!arb4wIFE#+{SJG`5Y=pG7)L>R#t7eX zFly=%d;^mvIcx|0>6Vl&nO{D6`oDtL9C+bgGdplN!@#v!rc`2~&NY!pNO7>qM2;0M zBozu?0soH9F?DV{*QzQspeHqOr5Wp&VXCwg8%D|WqZJ4zch*O6$5&(oR_fUBGOKh*smFVGlIr!7Nba+O(n`ZbYdH# zqL*HJ359J&@oGlrPG_2hAPdd`pnQ&wNN+$oosxz`nCclSFcI>eR`7}ttCzh>4 ziRUw(scDI^$7{cMK3%)vyAXHsgc?Nxsg`uNqN(r)v$obW9eslfkrI3xq1GvU(LTRU z8HSp)5x`v~sGbu&%J(GLyfToUcTTpuc7ox7-$uGLaG&f_swDnfG1RoD7_5y_E6 zxE!bT+yc;QPi6Etb8)j{3nRJ&E&x(wnkm(g)aacra<$M2(NpsEk`D46L(wAkB)b2% zD7v^%ThdBV4TRnh?`WsErAqR~E1Jp{{U#I!DmOdKMv$0ZxQ3@wayapY5cXycI0iLE zQ&2;|tIv4ul8q&k=@wsOE?XtZwa+@i(8b_TuvAfx=LaYW&7|l;Xz9lT>Ct(rc*Pn;>=#_GGK!P1E#D(M@IFg}>9e{Ooz?@Q%*Ro_EhY zbFnxxeeRiOP;m*CBdW8MzUU5xDo#!2W0tOMxEt6&rJq1H15hrlZ0^88AkGB>^X696 zSe6ee=}1|o$7Y&~I<)8_ass77zL`1-xA&sJ6Jv4*M63yzj5seqVx16S=WLPZEIY*s zo1mPs7Rf)v?Q-6t9`w?CBE*S5a2y%ORQ@PgePOH6qd~NtZ0?f+F}}^FSxyhjOx4%Y z;RK7H0ceERZ@c)QZ5&ill=HL(y1rkW?OeCD?pTOeA9%m20k8`xSwrrAND?Q#WwpJ7 zY$_e6^Hv`h4*jU$wfY`Huj<9fsqyQ4X?!}`?Oj{A)?qPgxLHAG2HvPTyvOP=YG_zo z9fwgThxUsSWxft~TFX>6@$!@w*I=VVd^1{d(37n81T@?re1TnAtVMFa?V!itlb}}W zV}=LPF+&jutvHJ4Ay#9+3aglHx;j6b5Qw&zbvX?ekaTGTxQMV0ZM7KKiI!|pT@@sh ztSdnM22eTi`HdS`cIsMhH%Eo5$w^Pw1mwL9ZPOtd;(jp=SCLY(NldVFC#PK#yQl07T2B-4LytP z4@{&A9;9T14Co^^GaB+m0FEfg)pY2}K?g;q&5<6M&^TOX&1v9`B)N8PMqlIoPMDs^?(O=9&JOwPH z%hh2CQVccS?hi4L@pZ0Lj_Q}q7;3f3k$#1#HyZIYyPsJ0@5^duBiFwJBo_Li)T z03&>P#yA@qrVzeWfZn`V77)9EE=u+p96PlWNXJWC&kL*V;)+$n913y}{V`R(fHgFL zp_mLa-3`o_Xi<3zA6Mf649wa|sqBhpYV{cxNZGqtVsjKJcXk zadeQL1uUXpq*00#eAtSOZ9-|re&-<_k>AKPyS-a=6ANpwwTSDUQo35a;v%_Mve4xY zxU3JVCX{*nE^f9wR#6tWf}zhq5}zqj%udhbTD* zlM~EydV+$4AbT+7>Fhy5kX_e|9RyU#Nin=waSC&k54asf^DG%&bYzipQ}Rp&q*a*{ zo_Cmx-=K$OVNSsh9i9xv zg#rI!YLO>qbYR-V+VUV5QOec{EQEv@6mP=Y+Vi*cUB+Bc%0;jd0HRIg8qqEa%XjGVuQ7oUu0p!Q( zk1TK%wqTnEije*VjvjbCt8^CP9ydg=pQlgO9J?jwUpM0!1obWuUT9_D)4*PgRjhc;mEF5%_ix(nS!k!mb zhS+&$Fnd$SfB=!eG-hDvaW~PIqDY>BJlZ^wXB_i@IurF{yb)5mC80RnSOcR#4+5$; zYxO(`oSp)BXSE6ju3Zh-zH~rxD4GhdyoTArs3DaQhf%ge&^MJLrEASXQ+pFCK;Hfn za3sC81Fhpl8LZpF6|kG4sl{HkpEI?(2OWzIFeSul6WCWw1mA4}Ue==VQXzsRM#=*b z2Z&sM&7E`HwEVwooH8)pI7s@g52i&kkQN@J3~*EPBika*>MOu5B;% z5wbwk!zJ`U@b<`vYqll4A)L*)IG7f&y-xrQKd^TyyugtHNZxYUkxu6GR@5X~a>os& zbJs`5$FKC6CE;;hj4}auPY9d)I2^5`SaMQJRt~0U73bL9j zIQOnVryVTRrJ2$^w5mdZq`nR0OeFn|o{NS?&}-lvY)|eSQ!7rg_yjrRJt@hYc*?RK zRK+|L-y$vJSFBzX}L(sQESh>rEb_?i)y%uie@_8e2ec>&Z7!o z@ly6$w7cb3P0^WDqz4FB$hu&+{UknYMq@Xxbht7$KK|>Y%X2tA_o!6%DcyW8iDmI< zYlmFy+|b~ls}2pGbk&n5PvZBM#lSOXWz}Pg@m+|?N;?=D_`*?7U#$Wr^TfdOxsFJ( z8P2r{@}BIzg;ttl9O!2wLly(^Oqt{{=(V90RNJ>kgrZMVG&CR3V=CqE$NUO zhu(4Ha!$ur>sP^^%~{C6^DQV7LRb%^Gr;4ZM`m69G=BmMUcTJq@Yd@`mTe3S@t!2S zM7hPtw{`*88n1Czs!La3Hym^i;`(-5yF&dDuENrD6`?DuL73w?fd?D`Uj8m-oI5h8<&WRB4etT4c5 zQSi@~84GkNHJK?w2Y|w=3i?~z+*nvzT7~My+Rg%z*%neZXvV=u;WD-f=jY8@pe`tT zIG&mwzF&^wB%+|0eDUqCZ*FWhO{jq!tTss^6yV7zeXuX%NfArOQeZGq#R;>r4A^*c z0a$aX*$QgJOt1le4G2})IK25LlCtXJplhPI3ABR?8}I@#(BMfyM1v=x)G##ccr4h_ z#d+xPbRd?-m`*Wh#xdBq&TRWh8H`PAapD6PlN zB2aMHx8tNmq)I>?dE)#n+=L4FWR#o7N(7~Vu3kvkE~*96;dDq+9M$l6h=1>{`=2DE z^sGY+NUwCAqN~|kt1inU6Cvh%-ZIET8zW?&!O91+sVd`;3oNG)JB?d!@P#1+8&ySN zV!1=dhjA%@akRpGkfGNNUSI(mfr_qxHt2YkOEVW>Z;&>vy#6ctw%<&~ZOI(k*Tal> zNJp&Dl8hOS%VipSN}Kc4&%w1V77?geES?_ADsvK?x-5>dlj*3aHR)o*#R5$DloSwl zMVqt>9Uv$x+1&w`JBo6^tCY=`E^kmJvkfu(wq7Kq1HjYXRkrX11^3rIb9g9FImwCB zt4++1A?LKAf2nPby#mf1{()csn}r*9td89;H@kvJ_zDYa>#&a#Wx+H6wQ%if6^E`r znFTGMiAF%1ATmaGvaJRYljaVaXi)3*SOD`BE~~Mbj6O^!V*gZEMpjl_bz}&5rHcO( z>EJ`qkNrikG6Gi7%7|l5M~z+rQX{gCQ(#IWq5r^0&W=IVf!i@gfS70UG67(GBgfj% z7qo(r@{OCu-~*p31lKG=5$n&j>eV$XNasQJ^EDuG`?*M8O`6xRmwo{GiV30X^N=1=8D~fbk|Bqs&-w?u zBJklG7^-1GQzm>!*GD}Pm~&NhXVRI7~*VUb8q>jPkDt=290IMa7oC`FR0Sef3?uqh@0idL~ zJeM=RsO5p;N1xO?blm5a{)oY#_(7m4bm?4*WU#NJ*+ey;K7hPON zr#Jg>CB@3X(X0q-Q@wfz*>C&gV`CAZfS!neUZjG-_}7pon-*Ub9etkUJN|Y+i;|Qm zE~*e3i#QhvzW4rqGqnJNN3v%UShpD`Rz{adR7~+@$C92F!m+?%0!a)as3(OqfRRt9 zxcVrhp=i3X5ndNq;UrmCucN}|b;YVdrQJmnX`xk|VZ0~Mk`1o_#0EM?aWq95O`=aW zj~+&}6PzNIYeR@5Cp;Yk>C{4{F*@0}b@}ZmV3*@sO@}2Fhbp5UqLSL?28<7l3ZMjK zk_H;HHG*^qrm9ku-QB}>y`oYgj7$N%v7}H`wQA)k7MLj}C2!HlPo<$@GF)26>7Nrd@ zk1B$LOOyut`s@CEP6QhR^qvK-<#i~V%Hd>Be)zseZODiRK-6!JwzW@0V7;&ZU&n;0 zZUh?Gn7qa9%`32{0Id}EkdHyscQqLrdeF+qeLrE7DbAvfCYojvUB(2O6w3W9CUqqq zU3F+NWwDZt4Cq z4vs5QT}G3WGw1TKQQEYp(x*8wLE5B|u?w(M3ghdk8ef6+(DTiDTAG=LdG=IZu+PsG zXD$@r+zehS3b`DN4u^||@0rrrU@A^*_R<1VIXiLkbULXpn;u=5cW@w;w@{oZfhABL zJUuv+N|>zg0}iSfHmL^DBjvIBO*d5{aHndVD&)?kB8syh8$yu5{z-ka#ANoB zTrpkIc5Y~3EMF{MD5YuuVAkQ1xtaNkS$I+j+a1eJ&lF%0KMOy7=^mhs)6K^` z)FgVmRELZhQ6A5i3K&JIMe9X*^c5H!hpGH?@L_a(c*hOboGh0LUk+z+Tg-&KQDd%s&P^H;buhvKQi{2^bR7;~~BNO)}Jh^jBQS!ZSt@hg2Fh zO-#W|_QmN^8AdBo{TzLD4!cc|St@=GzMJNz>Zf1^+pd%*G!WH@ClT3z-Vg@}NHv0} znL;rYHF>_t8HruOLit>o1V;J@&dtx}rb~G`o0@b*H|8cM@T=yEH8;8Bic4;+=1Oa>wC!e>-0bBw z{KpWV+xWeW-`m@GAg8>O)axrK#LCUGY2rKT)9g(Z31N_^xZgqSiJN3xn2$v8WN&!g zK|WIDdp4%FKCe2=s^^dN+<#y>+&Z06!_0i`bdoaZ$|e@@8H@Kz$4 zx^bq46fQuA;~m28DsrO?cvlf}D31j1RF_t$LQ9fg6h5IO3$MsfJGo8^8+)X^SNX;# zW>PgY$J&Kq?!~ngJi5uNvmPx@2FxJpU`~-yK^f%=?bNC1EYa7Bkf=Ez7ov){Jfln9 zgklp;v=$UzE}tc6cbF+4|qS@^$@tf}S+nGtpYSIr*upWFri zSPIi{Wp!%{1Jv8*7*xB#55%hRxgZ!;{CR4Z7jxs@P4PD_ks?z>BC^S)GWa&ZI!gko zFe527cu_wVr4~pmOz8%S888^Zwg4>fh9^P*{A5voS4l~1dXCN?Pd|}r_S7jBAF0Z- zt}F(+{u(BMFI(aa+!6F0h{QN9WYx;-AO&8i>5*+A68lw)l)vD;B2<2st`JD@hDs)w z{f_GiUNGXmuhGIP_a8Fabd0hPSdA(H$N+jF9TW3~V9to8+~{4nRkK}eWD06!v9V6l z2hp7LN)C{N(sg;r5DEHdi=-lZu5-YWUi2>&$Oe9mtR^tf=JOMgSAOE6^+Bp?%QdAc z!Bm){^wpypENn6+HPIt*%XE1ZA*=yY{(vRd4Vh2VtWnrZX4IaF=?F2Q6n){*QEvo} zE_hfK{1i69W%Sm+-B9)yG;H_CPdX9&AGMnt*YPpiG~Q7PH!c1$)~qYRjU&_{W;Wtq zmoGyLs&-`*4;U*BK1=k+OD`b{{vZ|a8~HvCo7z8g15XtY^Ae{q=~7*!%B}R7on`~C z1`iX(Fs6^-(>Q3&R@b*S8O6;bFf_HWu}eNZtVf6rgRsS*YeheRlF_yqwzn$kCy^11 zkS}qWL^*;J!8F~K$WC1lzA%BE@3^(PNGMQ&>poSO&G~05S{m?CITQb(OuiClOwfh& zU$hVuLnUnk=_HtG7e&23@DM*@WORyORBb@3@>_aKX1tGxQQs-RD@uw4Z95i~rVdr8 zTr|tlG%`L<1mQ1Mp++Rn!?8sC=f=%6Y5Z(d<0IFgDQpQoFb#|7ErSr;n}jsKfsF!j z{l?CjW|6iyi`5~h@|pQ$jK9|5w=6SMxMzW$P4LfIM_+6Dke3gTs7fP} z3RB}7UdiP36wATT(i+ZY-I-|Qs;M3ra*A-I>Kk^Ct>#u2ApzM$R?z{&%vkqo*Q!%tyV6hk2dUso_y_F_%Ww^|uTUh#b&7r4TRXiZXy<|w` zxv71L@dE;?i=yO<_r~yciPsDI&!&9V-q%Z{#g#;{CCP_6Ua8igl;}L7focN$r}$+P zOc(4a;`5a1l+`<_-T;F3(Km`jr2?_zi!|vph%tGbt$BSz1`WC)q*CBWYD;e5na{Nf z1UZ&J6+pQK_Bikd6O9K6lr!_PgC{Mx7w~)7ZSqMR4ei-w7!*0Et6_(ya!fcwST1u{vE=feuuT zBm7&#QyP)&^Fwwbe=IhQMP59eC=U&nA(;>J*2OyN$~jefaz}TURyJJronW|}n1DO) z6BplkbY=I%)H^}&&f-t+(b^k20-^)n%f+F|CNvC}p(nT&^-Nv{5aGYcZG`x548O+^ zPD0#UtkL-}kaf=_K9~ou@0m@4Nhr_YL;mu&CEBm!K)1Pb(er(SQP!6qLlqM_UpK-f zlwS&Rjz&GqBhd)8QRxW2CUQZ}v8HvRz#6k}qvJXC>f%W;cEk_EYK*&M-B3z)e0I)f zj5GKy?4WLVbI#(SZZL(+mg=hS1ZEN)k$E_M&^$1gJe+_nhaF5A#P;b5(Som2TW57L zRjGEz(9g-sa1YE5N;Ug;?YLX1?!`c$)yUeS)A+&)ThCAJ-}4{`R<5DT$%?TKT`|^; zPWlOr*OWPcoE!QpbtH3hy6N1={9(wF+E4{kVF)&X_!GFNp${ow9*f5^kcL<3X^_}B z&>*qN7=zTt@f~;LbK}wJcd*3cdIP7+MrNN}b4i}vtT9GU8O z4BI*)tNSF>vXVxF$fQBvSTZFx6~jS8#|<-TRQyGvV`~Kj5ZGb_)8h_yBRs1NLipI3 zHq3~IDIm%5f(34HR39>a66zyN9g+NQ%VLUFK}_-h74N=Hu`;O$CPC1Ms(`r*y_0yq zn3cb3VFY3m;7^e$sDTkgoV18ReQ8e1Y+f%?ep?shH)KLSw?0vqsl zVubhYfQjrZU@Dbm5Y{ZFGz*?u6Kt>pvv6)0@z>Cm<8FOx$)u z-H!5@z|wdLYGV66OF=ps9<73-w^qI0FLq-4$FjxA zEJ;Q=49Oq~{BX3hw7p5MN%k!dY)f0z-;$Wzd^!)x_NbO>3G5(jhm*%0EN=Ep;3g)% z;=o11RM$a;R|^JIH>MeU3!&4P8bdmgV#tC>BiT8132JahG^SD@78ZaOMl`;XOoZu1nM%nV-t)&Z(d2NYkMRDEqP@IT$hNORwo^Iyv4U&USR^=#sqp z5+mw?LF!|8xy!piXw~U@m7HeNISTXM*e|a>gmK1o082_PxrZt`;bIbAAJ2eXCFdl# z|B#SHB=10`3MkjfB&RAykI=T%0}{#xuEIvaRHg za1jHh;)U5U;8VRxR6xFCUj_Hl;ES*veqIPZu+xJt;ECW12rBsE#tJ^MSA#Fv#lbgr zZSY0Zmi{~yd;$>#U-S9k1EyGlFW{Bn3y3-R0tCbNWHJN5O~Drp%LJdm+rbwMo(5lV zBkt%AUF^BpdT$Kf7A*#1bP>7U|HRome@rxcRIDPu+ zbh)+;9soxMmLwz*%2Sa0yv>*7=aKXONY=hnU~Votc+?DdQI(Enh+ao1Ot|2It;h;t z(-A%)F$Zu(A$qyhZDFgb={6}+yWFQom{t?7JxcVxD56nem>I*42N?JUX8wRP>kBBC z8OPwZ6bf{Ug^N<#!GnirqY4;;m{Xq5nU!<_Cb%s1=dzfOhI!A8)tbJ*5RtsCqi=0% zy>@8tqD8PS$N`6}SDsAzqrG_xB7a0P6hq2yym>NOVE+ODQNCzGnG^iUa`NN#TM3(4 zUhbdU+{QI8uodRn;DGqFpFKp7xsGQXl@)lbWvj7*fLRAwTJKvrka?~Z@cl0K8UBHX zy$YEPPjIyR@P&m=2nv%;kLUa4i@AJ}N(fgXIE)>LJntAnuQJ)?U>p-Tv9%lWBdIYz zD$)GH{sIocWRnqgoImN8Qd=bsoqeSMr4!;5`ev)*?>10{I}cP=-4@ax?)3svQwTnc zpW6rQLfmw)rX@IOCxY4C5?nTN<@}8k@}Ttup4sjxk!Vnvm^aayfHfer61c4?iXcvy zEc5lG(*vs?4%_;c9OLPTT7Fbkuex*02!Tm?mTun*0N~XnjKPK*3V=_lU4 zoVFDFJeB-Bo#a80fh1vg;DvNrFJqj`IOo0;|2>BPhVdW&F>IAzF7s>i?U{_rWEL{5 znP*%}=EzfRnFpQD%_E)v6@KW5b6=pp&-^88(%&rqw0j}*piQFO?RUGDyYJ=iOzVBL z8ntEG?zd;$%`=(Sdt(`Q@9Q%ym%bs>diPs1?#^FiT5kST#%*O<+V8fsxch@GZI^~y zT;c64EqC70;_iKAOI!5b7B}$TmdrpI>5DC`H)q#{b`RE{ZoBs#2!HYEmV3YSv^zWXhL&jh z4Q<^sZ)n*nyrC^BzQIL5kMNh@;I`h|+4A7Movnp(r`sxbW(o_PE?Vqty_0lTB_0G)wT`b(y&Xzk@JKf!@otc5X&X%pc&i2CfPIu{gXUlDbcdw)T zjn4M7U)`Cxb+fbm_Sbi2y1%irHTvdGclMh*GwyC@>%h-+wha7iryKY=)cHSky8FM< znYsJh=)-^PY`Om*JKOI54*K!Coo%;&x6^gs?`*wwzcX|54^YQvI^BcMbhe!R!_M}* ze~9=$>df5vvM#svrmoEGFYj`9-`v%9tG}z|<_La|bhSQsp)2#?<*t@!va7u?-Q{jg zcV)I-?P|I8YFBIbS9WF2R#3Lm)jCk^a(Aj-ZSHbcyIbzc+*$5wJG;`AaT{H&mo|`Z zv&&uD?8*#mceUQ#?#kTX>1sW@+m*Sr*X3^Rq5So(mP^<1`+8UA-pwv||0dG@NmqOH zfv(m&A3$F|(3QFM?OpEnw|BMQ{0`*(&aU=L|Fo;+_CH0PAL(+1k94)Tk0Sgi%6)fN z%Y*Mmd*6dLz88J{-Y$3Vdr{BFkmsMFpZ~0@HM-s9&fZ4a?XI?aAMa|t^?hBLyFZD( z{%iF8Q|SAzceT3T=xV?78(o?1PovFGqui&vS_=0u-uvk9|Jv1d>5scwy8pB*^Wd{x zZs2oWnW&@No$csuiJt0qx1Q>5zw>l=>((2(Gu?l$+ui?r-K}@NsM|gGqVCM4FYk7@ zqwY-MnQnLYE!~-$&vv(;?d{IoKGWS+csstc-R<3@-ELsCyJc$>;1VSndrSo+6T%jGWXwi z#NFIJlDW5g#C2ailDWBeq$Rq3By;KgM_l3Sjcr*i#X5i5b{Qq?Zluz}o zZoEZ$m;vLf?G_^MA?yb4s?g?I?zFkgy}$2TZ-1G~Jb2c*TPMK4dWUlZ?{Jw*FXH<} z*M9aTmpMD;+U}2`o^jW5Y20NB6Rz#-ImA!9_WRQ)d(pYG^Dc91$+h3R>@s(*yO!=7 zE)(5ET{ltJ*SfYlUyI-G2e0h?$p4M5CHhCM?ZH1n``?QAZ*!U3A9OA5Lumiw&RzOA z>i7ZIzV$;${}IH00&RX0efXry-2Ieu_dn&@wtn5YyT6Y3-*l~o-*TDm-$CDg7k&C; z=kENmYklx1&TaiE>is`3j{od3Tc1VSpG8@OXFum$^yet^UtH_JUm*Q2T>FE+bguia zUCW)nM!kQHx%wM~f8#RX>9w8BWHOf?2mkH~@bNk_E%%1A9IDC$1``Id)(c5A9#Sf;Qf6wcz+*w+ztHD<860;<* z_2W;t=-Zxbx&3WVx(6S8vSsT-2tWB`i~E%)-OZMc7CvFQ`NdDQM1TJ&ckgXawcS1b zl)HKUDT0vuLjJ+O%#EVUfdA3`^y5$5!tfr&KbnU}@bG9~Ji-Hy@W3NH@CXk)!UK=+ zz#}~H2oF5M1CQ{)BRud34?MyHkMO`FJn#q)Ji-Hy@W3NH@CXk)!UK=+z#}~H2oF5M z1OMOP0hQW1_d7oU;XXd@S?J?mZ+Q0eUn=#y%feX;-)rHDh1(W>m4)AE;Vlb4YT@@= z_+u9Sq=i3g;V)bGn-<=;@Xsv#a|{2*!Y7=L^NkjMsfBN|aKOSd7LHpuZQ;Cyix#d~ zc-6w27JiF`-(lg$Ec`(W|D}ch*1}(~@ScUgZQ*Au{7)ACg@r8{9mmraevyTdh0j_z zY~hO*p0}`Q;a6IC*}^RgZ&>*C7JjRR-(}(VS@;PHf84^m7Jkyg->~raEc_D-KWpJ% zS@>9sj;GtgFR}2g7WP>_u<#2le3OMe77khX4httNELixeg%t}oEZnp3{TBWc z3qNe(Z3}&3S@`D`{*8rCwCi}@ zXyKPy_%;g%EIec3xP{Xe&Re)>;hKe4Exc*rw^;Zc7JkgaAGGjaTKI1*`~?f|S-3p) zHo>DlT(NH-zGmM(T(j>@3%BdSUHiUn;aAs%Uu)mrXyHGu3vb!?hb{b`y72q#`-d#N zQy2b(egBk&Pt54}p0e=Y74+MmH$P+FJd^nEyIhc z@3Zh$Y#cJLbPP+4tl6>E2rR{hWQ{wQkdY_4{Yg z^85ad*thTRS^M_=t*`V=b^Gy4>h|Nmx}xLp_0^aEOH23hZEKp}_ov&wefcl6Z{MFc z*|(p+x7xR#KVPp8r!C#r@8f;=>LKY1hor9_l797&^nZ9r`ZpYs{y|Iki^6k>3@1i`~TM=>5m&;@bFsSzo#v| zKHh)7(bD&W&*+fyJ%^;9JS2VekoMoTPx_(_pmm@1S+ew*eaeqn`n&h(U&Yd2+b4b8 z(s%Z$ziR1Uy-)cSOaHjh5B3=c8}{q{`;>p5rGIFj^es#Oo2lmTyKU*;wNH84kl?@n zW}ozFO?LlkpY)QY|D2`Q!`F_b|KdLBS1tWl_o@G!r5_gj-ura?e_-LCSoptN$Z_)Q z^84rR<4T7QJgMR5@sDi`)a5H!y3hB(^6{Jq&%&s~>a);UKAs=`48c!Vu=K6Ed^}ft z-FrGHmlKBk5L{`~87+<#%APkZCnYy6j4=;H_M`<-?1Mf-mDKJgoM@!w?MKJ@iZ zSwDQ}<3C{eedy!A)8fC+LJvQl9`T`%{~s)$4}JVkTf7f_{4ZI&4}JV^S^Q@#^zr}I zzMuGp^nUts`}U#F-(&GU^zlO$??WH|4vY7ppNFi)`_RWvSiBECj7(a*4}E;W;@@qd zkN*eu?L!~`ev9{^kN;+i_o0u!W$`}r@!x6jKJ@Y5ZSg+z<2wJ#T6~0!#efooM z(eL(utl^hgc+$d`EnKqjE0)vcTiQCMs$a77vv2K@`>fxym!4^n@2yv1UB@?y@X}i~ z{{DN?@eeNQ_q|=+=Rpzq`T1|x_B%hQ;hQWxZQ;8toV4&4Zm0YEOZM&i@*DQ;=ke3_ z?dj9c*|*0nkAGb2^Ym%AeS7-;i|sq6@9o>qNBwyCee;|C@T`yb_2OBR{JV8c=fU?^ zBCr0@|IOZaz)4b+?KgSJ11K!Hk8mu}IS%j$LW6=!Zt{@_IL;+EdC5%>SK<&|kTA*z z9+DbFT|sdO>Y;#xARa;O1Cdiy#sC}$cmJ+=pQrn(wrc0txli%`+5DPk-%wAz^;Y#; zHM28&fml6nQT*@;IMm_K@wohJXjkeNeva4Wzb*JH@Mk_+{?Qu&o+@F(!+xRhFr z*Yy8A{F@ekFXM;VE8&L?K~O$J;%EMqdCq+D_Y1qiKe70Gr@k7fcIqO3Q$#O3b2z^j z{5F6&|K1b*8y5d~;FnJS=qwxm&z=6Ivxob~13z;5Cl-G%_@UE3JZCt+E&uO(ay8-4 z^{%vY=6`AU(LXv@_+9>-uk$cpP56)W{GbafEc^}q`Cl9|*Pq#F+P8H7-$HizXQTb$ zoE-ip3$^OpJu%wU4Nd}qxnsqyl_jd2P2Q~#v4APwacEkxoVfCpykKB+<3#Cb2+|6wRV#y ze`hY+t*f>3ylHdUZbz-%jWw#j4vhT3Y*P^qpYtA$0&-2i( z&GW$ii*~8>*S1~QinC}Z>xcPuJ-43cx7rnc(vJCbw+oDR=DKbrCx0#DpCb9X@`A3` zOK0xmLBHt#v`2SKznC=h>Ssg0OixR{IP}%?MSt&4KHbtULH~j9C}vdI*|1@IB4P4Jckv*(qza-1CJFXb;KWlJN)RdFHr?EB!{#*IJM{zI7loUu;L5_B*}(uOYMj>yX+0FOZq<_aQSs^Sv&7 z%m@1+E&@AczCKtS`bt?|AJASpc9GV4Fkc@~?|OZZTr1}Y@(|ZH`oG$Ez0P>+K1lRz+27Cud|3&{O{dWV`0e%*EIPePK?ZAhDPXk{Bz6tyg$bLB7 zx{>#(Z%Y491L;S68~XPRJJ<6p=z~r0oU6r|UBR-lE|TR1LtrC&;i_C3tHJ(B!F;~H zqOa#6@U=*@|LyQ6`*XDu^bI49%Js57!msGhFZI!&u4fz-BaSix_!jyZa>Vg{=)+C* zd^Fd>c#V978|e86#*57HMn)WFJ{J13Js*ogpE3>*249u&mT%U_oqkPZ|2AFEIASA? zZp_Pm#(FyEEj^z7n<5_#ybyRD@aw?u0UN+Kfd2$8`&Z!^3*@@K$>^W!ax3_yo1v~@ zgDXEF<1_0>`cu)@ekRxia{NtW{M;Y^c7ZmuP-8cSO4A(dfj4P zW+5NTth7#RT-0-&{F-?{96UGri`(O9EH`o-z9SCyyMiMh+kPnXQQD$M;zT}@70}`~@X8s#L7JcJM!T6_wJa2?IOa22Oi|-rIthm+9*QJxd&;ICl6!hwS-Z}d|9{R)S2)yzO_I;@V|9I=3R{j`o`n2T5 zdq%L<5G+3{7y{$x;D>%wguj z{Y|iH^dEz8&?(JzDgjxw^P5V?td@z_0Q<~ zN1!k5q3fT7J~~I&{}OutMqU3Z^yOo9{U4#PY_97Ww~0?0^Kl9Gmn)5ZhVAY&^e-9h zKQ!#i8}e#~JZWWpeVuE_=j|f)D)8&TyMPY@9|ArC{3-Bx;BSF5fQ#%Zyz2lr25te| z0T==g1@-}%j|lQaz$bvu z0)G!=yqoSR{T%{4A9y$LDd1bcrS=m4jet7?`+;8t{t);MaNWJ7-QmFNfj`6l4whMj&cy(X#F1tfAjM_t^D`wC|KD^ zaByeA#x89|?UU9wsU&$NFz1Ob3alP^RjgYtG*)iI_FkvTQWd0hk zzXEIm&3z&Gh47ddJ}3GZn7kk|F?~^F5BowHSo*c-iDk&d05UOz906lsXsovc`UcRI zw+8lwWOI35nYXf$H?Ft;=1tZO^HyI+&s(ybJon~$8{9(LF@OK*>#d4)#roFidaL4j zW8S#l{+l=ZdgHzsA#c^ErH)YFv!=9T{-(fAOdy-}tqHxf&OVO;IeJ9Sll5n$A0qv7 zH0oP~b1Llvkcm~u#4^_b^xp@D&~v?2pOSbIqH*r!Ys9IjZ{>^S9K!rW7*`d@_4ePq z$xJbCrGxdng~(U>ef{-Cu)4Hk{$|2X^zgdMTyHh#xjra!y;ZU9i1f>`!}V6f`bv!T z)`0v`*IUi8-pWSaxZeJoH(}*W-nicW zujGyO!FBHC>w3Ok;JRYo%=$(?KCi56#Q*E{&CDCu+kf+BuW!st@&(ynQ(&o2@moaCdy(0FOzhj@tHM@TObs&>xZQ=N1RR=kgEQ*k>Ll@wnP2ZR~w*?7m^2R+0XyK(pUo>WPNK(4o>k0`>q6 zw^56%cVjStjWuQ7IG@=kvr~D7OBK}#e=p&!t*-F^ScA5x8g}>YdlT(q5J$Z8fQQe^%y+f-rBerPZNGFo^V}*Cw>?_r)lvt;OF8g zuV?T$;z{5~9>%!`6s7e|p3}5=I4=?W$U{AOs>66fdw$yR1RI#~*m-L3V>}$!i3qGY zjHj%{!}q76Pf33+o*L}=I`r&3{>FA5<|l-`;3;YGFrP^qp2l4Alu>^0{=0amO&+Nn+t@wBK6E7NA<&Gg2l{l9_zeP0zkip^dHfz0Qo6PIyquz~ zE7sdups!EzOvgaNZ4I8v-@tQSMY-_#3bxaEsOLJb!=A76WI3s~$#RD&9`@^hR_CF9 zMdg%T0qi-CP~hZj;juP!DFvW{>~%w1hBW`sTn++_drcXcGV5LXxslk{UV-M zUef<)CY{X(800zLB=ZQW6 z_5pq1v~$H?1@;0x;Ltf@kAOYE^lZ@&0z+UIuzr@<`+;TPj59@F15N~%fK$&9dkmZa zZ1#(O3a|p~1~yI?`v5Qi&OA-@36S~jgX{yRohp7+U@y=E4xJ+Q2-pKmPZs?kFa&l1 z>nDl5AISd8kY}7I_8M>^umqeMi9H5R05(q${S;sY*bQtPFZKao0A&9&j}v;wA1 zX~&Aa3hV`Xz@cNr9szrRDPG_4IgQa_$#}iTINBk3Hil!hL!M>9)98>V22Zm?9*!&8 zRj+@bZwt&1$CY%*!*Mk_H590~;n>YEXbjTARKWT?NtQ-Es&c?;M;qTuW59>y` zLmuWQ=#Yo+!^9o(@OzOrbjZW^QEuyyhx49v$P;57CI@sj@2q3x13Tkk9g8~T;kc?D z@^DJ0ph97Bc4WwJgkSMLpmE5^W%5O!*y8e zkcZD#+940eO=fj0KQ zu+RK5@(m;pu@8FRVV^c2?W@3EAlr9}oVWb*I+w}3^Y?!+4_W&3NpeLu$a! zjE6k_SLTi81`b`?Vm#`KdAFC&yx^fXxJI| zyv704?a}fEZQ9Sga^yOhw6XUYb|3PzE9|^g=zAS@5Bj0YrF{e(?fA`hoJZElI_9xh z5B544f5*NarlW)Mca3%KsFVJX&ck)i=cNXF9*^U5jo$Zk9*&E3(uY0gan#Ac!NWQk z4db!bN&g{xJgk#d*o%1VpKC8Ytn--piC`~y>~*qX@Gw8Dlg(i~_B!eRK#zw!oUa7- zA|894EIl$ZPX+dNJavPI`C*+b{ZRTTcl@zbg2NGanNkBHNk$ z^*Jw-We?wR?q!$ad_H?fgXii1a72o!Q?+ z@DpcD5gsDjnf>*BQ~ZeZC$gQ{Uk&`k@@>LHWIMCJWY2zUrUS z;~@{@X~JH_Q_|w$a~+m-9_l9{VUb~H9_KaIuy49}C$_Pd+SsRlO|SPcyU!!``@6+7AHPju=2c6Z?Mxq`gx#=P@1SJaYYT9|^~q>(joERN=>QFdptB z{&<7Ov5!i&K2n1{=W*;K;g)tD?jv>Ba~{Y0OR0m0@szeQ^5fa}kvja$`C@*` zpD}st?=L0rBac}pOIw>f_I)IRA9=W*xsOzb@!0o~`Zo4Fb3KRIAMjB*F7j;OM-uok z9*&Fqh_|iDW8X*O&+74zhw&t^7xCElk<#aM9_EMpNZGJ6?s<(9@w(5&TWVvU`VD=b zFnQuO_6cq5%{z4dDUd6Mp8a-1-?&|GNBaQu0dOW>ztY|*n)6s2~@K zJ`%!@<6u0jC+Q9bPi0x{^$6E<_4D@i$$H}T8a%J|3(t)4hpE2F6T{DphdimtC*4m=w+j5s zJd-DxOPxP~4F|V=WA9n|F`QKgF?`)1$MJW#!u>|( zX~3TIIQ|Y-eWIO*bvxMKh{sVU>+oa#I4<(|2N*n#x?O{xi^n_A;Bmwg!;d^>-A;$` z*z0z1kUc-FOBLAjJUi-ky$w(4U~^odwtg6Y1V3|JtlRZrJob7URP=F?pF9!l#klM| z&BN_H%#VMBIj)j6F0PXpe&)EyQ=3a3Z;~Dl`B}Gp!_NNZHBSB3$aOPrW1rB*-h5zW z{wZzj6~o>QxpBXpcL4gpVV{ZLe^;JnJKIgiy*&LeqPx4k3H^%-gFlXbg1*}kr( zV}Nzo^XJ7;x05f}d3bIw_Zjib*iX*e#@|m&;m7=PT&%a@Q3j8rPB!4@;wc|(@Hpyr z0zVf|=@^5@5lE%nx}Y*z@^v)a^za9{)IVT%opp7=H{u z#zQ^pZDSaZz21hAJ}#3dhP@bG&q!OJtlOp2?CWYe2@C0?NYzka~?z;UezMfnVa$MJr0 z2tSjD@x;S;?C&R+&$N$=b)W`&J}yU{^v=?G%(@i9UhvrKQsbPFdAxJyE=i#^# z*o%1V^{sUN$UJ4(+woKl9?pA!2}}$-=XGA=06xFv;tkr^XMW#ahsc+-vG*BvAM&(^ z?Yvd!dub=K!+$fH^Vl5aJd%g?t$cyG&h7QBa-qIH$uk{!X~LebPe*-AFS7ISd8vHS zh$r2~dM>TQkJG|z)8$6EsR)(L+!}?Yk#$&H>^{v^4r*wrmE;~;IKXbkUD5{2?e)Agp9<$dG z_T#s)PkVIa_SH7_UegYFsBY(tpzi^u_*^dI{dXgu-vEI$Mmdk<;qzO%(p*;)weuUF zi#q(62a~5gOL&#R<8LbU&3{|tN#JMlu)cX$8$6Es=EKkA zVSd74JoftLT_gROJRDa9dr=2MYn~eh5A(*?r~b8bH?G?CdORji1NI^wdwmOUu=8+S zG3*78y)LC~c)T0UaoKq)@H6uqKoJ{u`ps+X#rF%Gylw15KepE)@oe!Z`n>&jl=68JF>CXauU!Q-fJ4fvTnp=NdlgD1)s_-L^S(nmb zJodU&`MUJy;;F)3)FnGl>2^C0#}&X{@Yw58tqo6oE_wVr^mw=q0}M1U>>U5R#-67} zu21RDMz#;Ov4?H!U535>Q|YfCXpXlG{S16xtOhjw{#~*;kMStykvx2U>)|PM@}#imJdXNSouc!Y&#!l<*mEBLllJ;{m(Ig+vA!j+=RA)3)^PA}T;APAJdXO7 zz>n*L@vsi~_n18P`WC~FJZ63x!+7jSx4uKNa78kE6at-_v^YC4zSSK(99MG~kNx#&?IC+StOKQo#a_f?uWu3jxZceC)Q9od>s#=M9*@Zr!Cu5; z=V{jMJRFz*s5vfseT(5|j*C3Cx#aO4)8pa12O#zhJNuhk%>UljFQk4@t{ZasIo)0} z`!@_ZctN)(kU4%I1Dx`_-}>%A|2pfounbIB5xKIOpsQVvFZOhG zprakXkIeoC;THnEWu<+*+{pd)ep2in(b3NAZ)h257Xkf6M6Pv>++W{fV)u!TcI=OT zPi@-5(vH|SpU6ZrpKLc{e(@vHpU8G*e?It$$v-jwK(^z&v%m6(;zx9~GyCfUFLCDE z!b5cR*Z;2g5$R84JF~w8{KTLsJVdrL$5;QW_z~$(WIOg(en#rW%(pNe;vXOb*^d3O zUH_ZnN1W+sXZDxCFUQw}Cjq+pE59y&MEVoi&g`!bygB|_c=~{BXO3^iZ^VyCeEm7Xi(Fd!SEWvd1+D zedw@vL0^B--o79DGH?d+X~r>Hne#RY1mTPNeml3kJXefEgF1Mqcm4eV?4N8 zR$mr-&g1yrsQ2rUd1|neCq6il*U|X<1NrA_erxC9_eK-g$>aLFi_vsD&vfL+f7KY5 z<9nl}*X%rJfTs$35s&?Qk)_|+d3f%PV9$9R-y8K`xAX8EUWGm9ah$^w2M^;(hw<3Y z;nm;U<6(ZhH^g4VW6w_vKdyJ4pLt$Qhw<1ypBc=s$HUJ*RA4XSiL~EaaUE9wVCP{x z{vXY8g&GgzkKt#Ii@*PB4CArCE(rgu$3uR`6T@DN%l^6`HF)^Ev;KI0(feWC^BR5Z zpDx~MuiEP|{i|*4y`~-V&~!U*1bvUgo~F`n5Xd-)A@p4id;Pc4z8_cyvVEs$&SNyn zdF1-xK9Yimde=VUzooAm#>0IiX&TRqV;}MVX6NDaTZcW5r~78>KGOWVorn8K{0}1@ z$KM|a-m&vc$AmRu&*O3IBk8+#9@fdqOfw#PolN1!^};-}ZU^rfJdS;&2|tsE`$*+| zgU7Lt#PBnD7*8^c$G(qL{yB1f8nEYic6`o1{6Ob1>tq6Z!DHV?N+0Sx%rnL9*?CyEo3Ix=_I)Irt@ChP+(&A#7d-ZT#GhZ@ui$)^$5@>agcLj(sFv)Xp;<2`w*Xj_YqYPhMA1E__b?#qB)YM{2Ma@!0nf ze+fHJo@dx|9>+dXUeeCPeWV6^&g0le>JA>p(;UWQ-$!ao+2dh;N=u8qh{v9vD*P}# zdHz`^o5OhQ`$$-_$HRRjg1v~xzK_(FvGXvV^0MZ*?E6R+e&)EikEFwR?E6UNlX^T{ zpNyvpdoeEiKGHOJ_?&VdDJ`$}!?@=)CU~FH#oO1$?zgc|`-@)htB`vQecnIxLx0xW z(H=qHZ{m!rXxSmss@ka^+;tkI}ht*3VS{- z$9cQ5x}7J_GweB!V;_lpI}i7f6!x6Qv5$CT>^zL8412+2-$zmh5AzeQA^j9Q_I;!Q zKTOZCeWbjm$z$I~s_-KZ*E9E#WEhWqA4%7;=ZAGWTHB1rzK=BE$9P!(xsUi`O&u3UqB)QCQO+ZISZ~Ygnd|cu?fqN658PbezOMM( z)iyAB-qz0TO#eds;C{|IuAp=Uhl zOz|HCQcnz_?*i8Gxf0qtMROi2`{?sLxBTQ`-EM%VSfBQ~UENRbk37@SaWK(XpN?~K zd4D?(>tq6Z9*^VS-K!j6=UEZ)G+@tp9Ov7ngNO0>2O8sY)ou839+;mqn4g189!K4V zA9+|$Sl|4EO&&+xh97wtPhPi&@i^-CA@)2op30$SJdU~zKQkWklqz$_6Ty!>%uimo zhw(V-_7VEHOr8k#w(I9eoo86xo@|cGQMb?2c{pE_Fwmx9=lJI}PV?mRelFf>8+&gX zyVu4(G+VFBW*m`W?}41ovbP(AK6Kc-ps(X|hy6ga-_gqEJXT_Tp68aAJbZo|;3?Lp z{rUAS(EB6LbaY&WJ?C-!-HG@@I}humcahk09>?F+N#MtEGalA$|BD8XqizTAGkF+K zG>pgozJ!0VeO#>DRoL@!Io`J^eM#q85P`A2MX(n<_PX6Lc$go~dvh3%ect^q>+z6> z@g%Sp@r2rWlJS==8JVX7dpn-G!9#x5?b4;vPr*~x;#q*}^>RHPlcx@QJD#Ab^O$uz zg1z7=Y4I?h{x@|V>L(%Iz_4?@&TFjV^W84q-ZplxjeTgLk@tnDjlIXPrwa<-Akd6E zgucsRuP-3&`+;Sk$unBnoX2F8^GF^(zy4k3I=4T+;obIi#rl@Qp0CgNMXb-ODr(Gp zE~@v8%;Vi_#51(FyiZd5r^b`OPjRb@>s9Z+jrX2=;=@Jmg_K3G78Yp;ng|f9b)Ic`C5C zw=3*X{4>@t8by*xT_059vI^>Ne~JPf3f1`ShRHd8nU+c@GRb z*Xz8-9(@1D#haE!uDgS6>|q;wmtn6jjk*dn<0?ZxV<~%FHRvY-OAbGi_unN?UD7@d z#uK-(PiSLrE-^Cy6vJMD+->L?Ph)Z68vs&I44|Kh?}sHo+W)ta&k^fYAHn;to zJms`A9@gP1c#8U9ufz4}dVh?E`&9U<*mEAo{_DLqGEW41&g0mB{omPnxc^pR&v_jC zZ{pzLxYA)f_Wif|x;-B5zuxbS{5baC7=BzA+!wfh(qTOI{Wo~S9uMce0(+4k`@C0Y z*m)R_{|9qip|-y;{uq877uOGY8gt20{-Yib`MLkbuovShYw>XZ_5Q5$nEPfK_JXIR z@i6{$;W2ak+g`=_jd}JK5qrU7&vUuU&ck(Bhdt+UJYUhGBlD!N=RA(*tGbw-htHR{ zxH&F+o_+Y4^UiUF!+7k^m$!sH9zI_Y?D@DH&sWpn;rih^43{*=Wq-aB_?hG4yf=pN z*yr6_+CDDEQ-!@4SE#K+#@}qi6O_zx*?DU4OzRzLzp`V7o zw@~HZUHBIz+I)`68|lyM+=gNDR6FEh9d3fBs56mPXBI+$ep!#3@o=9?V9$9R`)_5O zorm?R0ej9<+tT{}Qh8%L5BJ{~_MFFYzO6ZUIIhMp9{c_qkGIFe{kI8w5s&@%xzQ#% z5BHZmKd=`(_WifKsm{as;=G5j7d-ZPk2kaPFrLz<#a{4)+WKMq5&XE`84r2tbIIdR z(BmOL_umNiBA&7q56`#FEp#4p|Mj;t$5qmJ7=L4Loriknxe0p_k3G-+zIGn2!vyx6 z$Mt;er}LQkX~3TI)K=D>FXksaKy3oFh5*}4cH4F$Mbct&cpn0-b2_69{aq!*3R&NJ-!I>H=RN#kKY8)xf0)H6R#!_M)yLz5>wNAIUy`_bBG zjJ2O*$X9D)pV-D;YGa?ew%&gXd4i#5Jk7Ple+rO#Vg>qcU}H_4pMD<~9B30?(8fM< zjgiNfw6XUYb|3PzF?QZ6^t}$d2mO#Q?IYm7D&OXFl#KE@GI>hpj_!FR59@FQo}yma z>u~Kny+87BpDM><&v_jCZwf!=pFFHr;rRxS<9wUI&*b6$>s?^*IQCy3ekKpc6%OOE z@4w!K_WW@FjbP97<9dI|;Nkv~=jS4GT=xApfuA`p&U<4RkA2>~i|ylLJXP3>afRAG z#rT_Tc!DpP1Ii9RlK|E zJdwu3*N?T^?L1tE#}hxy^S!eKm) z=j$$eJo)nldy!}R`L=2BaQ$#Shj*Lfay(z~GsnewZw%wH&%1Z8eO!#E3VSiGP+LEY zzuAT-xX&Dyou>vrj*I;H^EHg8ti_W*Uk~Wx8uom_UW}`x@o=4lPw70=Ge41GXWZ@3 z{&OZfm#n7|=Zs;2u=?L7RxPxyurkK=psr9aqt7*8GcJRZmQeUd-gdAJXj-!$W~?}G{a%sg{nF8#^i zaeObn4nLEJ=Y;Z~4IaliA%vgF!+7FhJoa-!`7a~qrv`hTXU93*e@o}#df>hj!(Q;% z&k3o)!*$4Wg4ZhX|=@zh~2;<4}V{@-*Sj*I(y1be|_-`|`6u=6k; z|7~+z_WeDEpE>WWKQ+Tnzj=)@_D>h@gf{l(czeAk-;_4?N*jB(VQ*|K{S5%w4>5p# z<~Vy?3G{tH-{D8TkBVHMoX65T`g)mLKJxH+iNRB>Py6$dysP&|p6Tc~m}#s}$MP!jd9s|;+hn=JR9EabfgkfpJXSR@FNfN!@ATQ#$&Hb(bD!jlcxrIK3|Uf_{-XP zIIa-(g2!H$k~Tbzx#TG?r^my250J3XurrTyi~RS0Qq&#F{uc5)Q?5d0|2{h4zsoYX zv-lH-b`Y7!cwFrx_!E1#mG(qeyQ$lWACdk2ZGf0sR6 z(ayvDFom7tb^ZGuwUzBW(=pI+6(b(Uei*E3=izz34to)g{r#R`H9HUYu^Q|-kK_HG zaCJKm_tiS=IgexCNF6+kr{o*?aqO#g_?hd6`6-VvdF=T~;71BzW<23qW<2)uLIOX=!*Ow+_trLf?B|7e9X%fMFrEbVV&3ih ze5pt0VSZSD%7&eB&ui?#{yAFSbbEWfC*NQjd)UU_W!USVlm7aF?1xx}e#U3*an+!o z2rN1L$oEmvoX6TI=aD?Dx21K>^=W_o(OA#EuBKxk@%jdjquxdv*m+o&ny}~V-0}Cc zY8%>lSSL#x8SyykWEp;(59WvQREF``-xn`^${r8vWDI*gF30;lURmcc>p%teg2!Gb z>jn?U#X6Y|<9b~8O5 z^Y`Zo>;;d#-c~}LhhebZ#)h5iY+hrC*E^%-?P}A$zLUM~vA_N{_OfB0v7_+SfaD=g zgudjkPwkcVF>nHq?K?%zBkN=n^H{70d!0=7w6BNh2&l4`u|6GjGTd9|;X3DY*ML2b z$MHT*c^{pJ<6@l*Vb6ISbux1Buuj&7@!0ERxUW4P*2y~TMLhQNWU!ykW9Fv@d%~%8S-_FDNN?|W}>~%6YU}T;u?Cp4(1`qSYIvE@&{S-X*I$1wh zkH@T&P1p+_d!4MEuJbU@tdn)aKDW#`S$9A6{+ zi6K|^(Cwu?b-8ZH(OzQbxL3mfOXscC`u&A}r`U-Tza}!#)voIf@gvfosOCkr<>x<= z@5*@Uw@W+Xw6BXyWd7Oj(nh=`#7FGCLE019&K&2=o5hbvf1)ei1nr1ZZxkM4yLdgs zN1Sk#v?sdaopGJ`5$R8K#alx=;?UK?Lv+O(ys~C%Jv6K0PaGT&nP|q#cD^%bU0-fdrKTdXS|r#sX+P@JB^p?q8$z$B=MSlkwf1D zeR`n1-5~U#!`=mb{Q!IWe(1|U({IN9(yj)a2rL23ar~?037F63e)jQAfxZIlcKH3P zu*-`m6WH zdOz&19kO4({@SHO9_FV49`d{9JvREIKY7BR81v z9eA$Oc!Jk-9{Mk$I?Jw!uv71O6SU`)ybm>1ATg!z1<-6p~Kz< zeZ69D-w%BmX!^}KRNB>m6M-e*ywA`_W90e|&@39|JaRp-ZYSWO-c|n_Mt}4tPi-k# zchq~1`d^11N6&T6=cT%|!Q-g^jg|FvP98ol-YN#q(fwNeXFk1EN9OTi&&TDe|ErD6 z6Tn{ZIO_lEIuHHx`VTwx&iZfgFh9(5Z5WTE{;#jcWAc^z*W81{n4 zQU5m|nWqMO!DFwJwJk>Gsl#6IIO_kFb{^(Ag}vah=g050^DsXl>;;c~T;Yy757&8K zHw-(U!+DKEefByWIrKfyr(dwQ8-zY|*t?*wPqw%3hrSFn{bn4A`VX84ECJ_rem*Ln zIgiOG=aK7&b-M{3>Rt7}w3EKB=ue&$cIsXA-`iQ|VLjnGZ@`}OI9~TPb{Uzc346}7 z%fV9rcRBblm3!v1x$DS0rQO7y^Em2%Y4?$N%CHwa_WEBAbsqY&{`bO8y{rC*1`qSh zx>Oy;W3T^>gYyhpGXzf<;W`gca4Lo!>Uj=5c>mudPLH$K=RxR0 zhrJ8>`my%*{m_>k_8G^Zz5`9aiO`pTAGh}%&3UYiavu5oa$Tk1$=8*m-lk{i>&oQu z&K7&l;;d#F4b-vnWqkW!DFwt^{?7_ znCBGsg2$d8e~O)l`3Ye!ctB=QJ|xW<8u&^3>Dpbuo76CqUmk)!uFj^c9D_ z8~Vm6_VxqN2SC$rCVs!10KJohXXr#b-@MAx-11CAJXN6Cu9y0cS=?rv|EV&cJHEb1 z@ElR^dY#fRo;UiFr}j;GUa5DzPN~C>`QvlV-%kzPW$-xm%^Lhn9>!BQc^to=N*z4> z{Z#30BOcfHdEjTp!{1N!+@ses`n5ymCxByllsw$;ScfC<~wohf`1fhOO-TJAqf;wb~o{%0W0k6YYkod2mZpF8g3 zl{e%$quzBsiQ&g_)1N%y41>qcy$r4^@^Iekuopb`^GSWtk$F9+GQKULTZ9{aeeE9yMvbD9`-&d0pQE_{E%{Gue?PH+nHv#%4z6TLpDE>1qu*Ylm|GzDFBd!MGGW#2V{^J(68Rvhh%;%2# zcoWYN^{(?tX(j!6q(6C5*r|8Df8wpI^YFRm`D7~WIgjIfk~(-8kGG2Slk+&vCqDc* zpNxm+lW-W1{e0rBY9ANRCw+#U{k22J6TmSVC6BpJCE&^PJQ3^#k9{AHJ~J{;750M1em<#gZRcU06W9wL zdw!Zb*?E{Be`m25Joa(?R81bo`6O}h@O+XEUPNej&(Qy59iTyUN9KuP z&v_i@lX$O@d1|m1JofWRZEu~2{yd)y!A`yFd{Q@fm>=$&-agV#!DBz41c&MIm^=~e z1&@9IO^&nkaNbkc3m*IVBt3p)9`6KmT=sq3i$>=0VK3sbpHKV~?L5qL0DHk>&rf`g zorn2JU@v&=<4VredCcduVc6R}pC8peG${M1*)D><$6-&ug7W~-Y#&13<*?VUm-hWY z)2|GDe69FR0Gj=LT;++^N!%r%8Rt}t=Rb9P=6F7CGM_u{x=xJdX28#lge#Np%>H{d^K!Zm(B7pG-0A zjJq8&KjYw-jFN}@9qVutJe)_@`J{P;J}#4|bfqz0j&nt+IxRsoG(BR>?xZhQW@z~E5jhpp&OdjtRGe7oyGx(;Rhw~M|UX06ru88g$nWqYS z!DHWlt9OsglfYi^*v}QoJtOlpU@v&=@igw$dCcdcY1rF6S0B|rwI=(P*)E2Dg2Udt zRoYDfn(ZslcRTEjTcrH}(DVzSuihkny+E^{kE`5wv&8KK%{ZrFJpZZVGsp9Bllk0n z-z?uJ&l&a3^8oxf9{Q8VPYfQ{c>sRo;d7mz2ktj`T;~D!nLLaqFnL_(0S8Zh9vH^s zI1fBvuUGkbz_2s!cF6qX=Ydi3aG&D-(gY9Z(Rm*DmOd_%r}UsPU#|1Ow@2nF!=A_E zIuCqD=b?Xo9)O*C=Xt>3;kfeiz%U-idEhZU9+Ss=+{};TJn(Zn59cd_y%?9{JkS`K zrwV()W8Z(P&yLKKz+Uh;&I7*~nWq7J!DEl7@tn?MJ{L{H-tM{jsP<`7WZyE|RiW>7 z*gfcnzF}`4LEq!Br*}xZL7?duLSOqI@tX)VqUtb$%Xr!QgS72jFM&FrL8Vah(SoJo$NG z7?0yT@GE=0%FhFaopHBA<|jW7jFN}@6!(`VcsP&F^T0HHTqaNHMPt5P=Yf|-<|)IT z$KyH=ysY!kKR*w^PQCLyVDNBU`FUU%kK;V>h8~Z}-W{2z0eit?kEbzH=P{p)reSaQT$%Rx;ZpuLAx)c- zYadAe{)fO>KyPjNJLn4nmjJE;+)A*y!m=&DU?suYYJ%RHf@NR@SRD&Hf{E7^Iav?- z^#x;KX#Z=7J;_MaEO=9YrtP9Lp(0{_~s(k|Xj z(Az_>zNetSk6;M&j)ET|@A{^kD;oHF^a11;SOo&~*QTlxh0AlIMV($}G%lP=~L*h&-E9#^iAmR z$@K#*y@xm-hhCKG?N`meyky` zhn|#p7x6BmOAFIne??2K!+$aKvxs-4=D#8IUET?repfs%U0$T=`*Z!dn*M=Yf1aj) zCD+HAeqqGf<(;qT$L0D9H2o2|zN+ajgFe1nucHZM?&A%^?%gB)tg98sJhzqZ6+7!< z12XOLeR}&8GX3YrU&cDFA@g+Zg|eO&hW^XY4?sU3^xrW2=f_{zeGK|L;a`IOWkWx| z*WJp`+t5D=|1qA7bctsro|RS-oWE5aJ#S6uC+BfW=C(HU+~p25^vi+gEJME#^fwxM z{^hX!p3(EezbM=XJ;&>LvV)ukeI0Rn81L24bG)7>JJh|}pzc{-k_AZ@+;3%E{s#=$Fs)AnRcn ztShb)RhiT^W|&@10ON=0@kWN69p z+jYLuqq^*Gqx+Xn(CrOF_Mg!0<;V2)enYo=$Ley;kW)kUkJJ4thMc^r+XJJ0_$S@o zTtJVnv5+o@V_1=81(X)o?S7>5)mG5$H6y;JAqVDqG340DZ*wi3zhul$bbxNJB)XhF zpv#S?b-9`9a`aDK_7+@JTVMW$x*Yc!@=m(!?WoJKA$z9(E{4A$dpjF;Lr#{^?cwUW z%;!4552|L&zaU?2(dv2UU!vEw>kXN&7aObT>&5d6j?w(Y*Ntpj{ocB*{O@s@#IrAu z_R3i4zqFoUZGAnSbPJKgEd_gH`4`mEtAy_jAo)r=!vC{^$qs_Fo7e}%o>vRsfk65N zJ4yT6&L55MV(?rskNCa^p2rNn@aWOSmxAX_gRgwd==c`AM)GI!)kn#<1o)N#az6ay zMi*ZIp3l!CzSF^TzQGq9Kf3sC1<(H&e2r1^J! zyh->b0oh;W9`U2>-Dk+TL4M%txeLH^36Sws5^0~_FBm?c^VPni%VqFSx>@48<5z-R z$V2p9@lU=d*!Vu=M+8fc3Wh`@UWze)07j2XJO2sr{YbF<6G6k>dv{lf>t)2r*U8~C z;$M4KF#46fJ^7|#quTFl!bg3T8yFO|1)J*#2I~pN8wiqj5I^jC z8|K5{YrsFuE-e98SXj$q{lTPd!M5v*L z@6!WCP7fE1Cc%zz)=v>R_?n=1H{`tpOSj^kizh@5egK&>vb@;(1Nv^3~GL zze_N=Uoid!^r*Mt3nJIwg1uYL_0jyoS6L9eV+0$U2$l~L^o|!yP7sXl6!eiV|5=gC z&kI(j3pRcySY29w9Wgt*)Y7=}n`2w!xfUqzCV5^R`A@%%_4JUS{{ww}m3}C4FV-1h z&3lBGGM}#o<}cn<@>km&`GsS=jV>q9uMfUMfF}Vj1>Op*178QOaIeI%6Yv~h0(=d) z(tYB$2k;``cY%Kdu9}En2s{z^HQ+Sh>i3J^k-)2gKLM5=5PJo+l*w((n4fDjXVkUYq^WzHv4%7A#!=yihPeyX(F$e76GmeolzzKIQX& zyR>V5L(sodkn#EWVXGeq-}XR0A0^a}`aRMvz8^f_7EFL9pZWe(3Hd9b?$Ez#$kY>= zzjq#y_`Dwq#&D>he)&@oACT=$oB+j|;8_RQjeRyn9c(-$e9dPBqhAP?ov(3en8Yrm0p^;D2?RZw4ZnLhw$?TT?j=J6s$yUIJlm%a<$_XI0I(y_kmS{J@E zfY$&Y2QK)i*tZ3q0(=Icc8)OV~f@$2e{Q-yJ}Xw*r6vH^LL8z&{F>|0Ea# z>mc46b@TS0N}MZU{m0m+(*+i8g&Y~@EXGCT^LZb5z60buMcD5v3kzShOR&DAU}-7n zfdPmgdTMN|{~rQb-;y!nUtUWvSz9n(Pq4DSAmbat4`2QH*cRW{fSiwX6Y=-A5Dd2z zECqrMAo-@?hi@M1-sj_WUYUfM-32$o(EZ2U%$ zJf&3R9w=r^8{3M{e4P_bN4wVqD?sv?$n{742jHd5I7_dC_aB1I*@FJUa$byqY{%EF zoBw94%=3$aYXf%&o(8M|e*%0FxWG%&ZUf-Hz;l7$05*W{0oQn0+U*KF9eDREqECQT z1YEMQ8yV$SP^93LG~2kJPt*Vd7C{y4#OGr`gpI^WE?G-SR$3*Iw; z_X6JnuJ>CR$DY8mf%gGt0=G@Y?-1Z=z*~Ud0zL-(1@J@QcGIQ(zQALFUjx1f4=AVS3H3uo;}e2-oS}%;wk+?kEe{^1DW$e zy(^y35zm3>{}3Y%SAJ?nJdqRs_v9Pu2EIF1A!WyEF9SNSRs_fj(Cnm z|0e)X0-g#y1L(?E!-&tr@9E6>quv!??1=AN^nX6^i*4emJg?^~bi_lwE1s$&o&ofK zsS$@OKTRW^nj;?SUGdZ$@mz^GuAa+y;$Q0dX*%Me-W5;ch^J=6VXkNI1?ivX-~hkJ zHP;LEuKw$e{%>p3e~kV)UsXr{)Vum`IQqY%P5<7n^zo;T{;7BMpE~-#)98PrlaHUI zw!HOb$UZpf_>(tMW8Vt0H%a6@Aa8W?q}G0TB4j_ils_-d=b~>4UuhHBSL^s7aP@LI zN0{?juZljrR7S1DhFAK2fs=+9?=c;Ou4b0TJclj@X<3R z?jwQB_d?z}t#w}7Qu^m1u)43D^P0c_=RWEq$aNssQ{x7`{|fqNe?I#2jsEJ6{-}5L zm$vDT=e_7^PUsOR&7@N@8Q*2hP~TFXct*8x&brc;js_?+7%;=Xq+t=7(LaB@xXMtOC>7B6ECA#E}B|eggY@7X4M( zAD-(HJ}*=UCW|cE>aPimxwQt6rYRc z=coC(;o|eBGV#Udgr$zYiTUE^iHpw#%R4;Z$?Yq&x-342DxXg+=GkxAm(1r~KEHHz z-d^P5bG{3;8hn`hFVsrq##pbuCvWgCliTHu&{-F7ydq!9eZrGZWEG#=6}kAluDr8T zd`?$Bzgv8cSo*sp?@vDGd}l7p=bMYqHH*FYe6oBtt@u2#e9pM|+_8KfnV%=;=gf=G z@8X+7q1XEFvdz4$_8qg!nysXEdG8$JdGFmdYv7;h>~wZB`)_9U-v`-$t9z?^OK1Nr zlKrivFY)vS<MlB-DmGN`_S26n0>-li@?4e9w%YMEk`?&&HeI`WN-^qNH|JO4g)n4UD@s+Y$@y~f> z?yVF2za@0>T=s8zj0cB`jB#jD!8bZXqnPx&ZcCC}-rWV1bW%3t-Po?2B2*j{}f zPsOS93ud>n&8b@`la()Z^ieuxqh7UFvTCng8F{P}s-gP%F#R4lBAff{z7*(fo2}`L zgm+8M$XAAr?N`oty0iPLBeS)U-CJh&=Go15{n-OBAu9>WL>2kd7`0?MGqrE9hBlUl^cGaa& z-RgN&7iIOF^JhNObJ{-vyLvX%v#-{q@>g|Xi|kf4Ldo6Py$XKLAm=3aI+<=vcKfic zo#C3d#Wy{Z7X9YIZ-9-QUmdyR-Y2>{fBAF{#*& z&+f_DeNc9*T&n!4d%*R>t{b_k4YZPuMR>%hX9eWC2mhT6($Hmuh8Gid2l4O5(I-TK+B)}M-H)9hC9ZI|7>*}ZFa z@0s2EWw#njCA+gnJl{*yHvvz|ZuJe*Q?vW@>^>vA&&+Q1ZO5~-TYVex-0VIN_eQhF zZIku7&B3#l+vc|Ume}TdA1t!Xsq-(k%@qqbw?25*<6Fln=(n@a7`>m}f6MNF&Ym5= zlVLVj@yu-F$mXDRXY%Yh@2p16&XUuWHCMM9KXafcd1p;pH97<5rF_(-@@8I2r?^xf zYCinzHvO_tTKmKj8LD|wdw`mgEcDjgsku_IsdlO_@~OF1--c52qw0y8A60i$9a1$# ztp~L})ch-7)sLDxwSKsk*3W)kH@i2??zOX9&FQ%89-rMCXSZ5=n`F0|=Ly-Z>XfQm z2W0oe>{j!v*6hC7t>%8O?A{~0_sQ<{fMPx9r{_yFZ`ZpUv(gviq>? zJ~6wa>{jdJ@a#T1yZf^H*zBH^-A88kF4-NcL1g=V%%rHnsbpnIh_ktWW7ThL6+JVs zRo_*|ZMFThXsgS1I(n;>KXvd{+5WKACh@1YQm!hOoL{2KtGZp6nhV#h=EZfB*M{ud zhAKw$Rg@s`BKlQYO9`GH7Dw4H6P?7zv@r5SN!T{^?Y+3t2yRe zsv4l$Gd`tP?bNzm7C+O@c-SBLSIPX8PTi_zsEcb?)fyGQ8lUQ4=~e$qR`DxY{j6#b z^Pv1y|Fo<9N$Hpej$73f^)va^&#HgLuiCRej$73>^|RXdxX#sh8IQ85_NuMg3z-MT zLp%A|AIGiQs`H)FKM3@^cpJr+ogcG3X^ty+;d7q%%444Qjn8I2Kl0)=pYYQ>kLbNGoy;xqh$RenV4e>yHSYyit=xtN~i zN9A1Q$#uo8Ii0wRyx(>R(A#CT)*51~%44gye0fUN3|x?Y5=YN@*B?-M>%SJX8gvZ~SQ zngm(Z8+F|ZS=DZJ{S30IW9oVrvZ~4I+VCjhSM^n02SQ#$MDHrdWyp^}9tZhPkk^FV zeYEhc1$h_9YeSA9t6HqC2O+C{NnH)ds>Z47L&$zh%Fc+#2>%$!pMg9U@&S<7fqXjT z9>}*sUKjH3Ag>2`p<{)AeaPb>ZvgpV$QwegLf#1S1CT!j`2)xsL;mz}!mrM;>iPoY zO+@tWfUM5D>Us{cI`67$7UWNh=&f?R@ToJfx(r}|wL#{#I5%QCe zcY?gYiNd!7LTA@2_PJjfyBuS4Dg z^3#y_g#35N>h*}aK6SG2?=7OY4`lT^MO|k>RX-U{-0kPn9(L%taD`H+7A`2xtl zhkPOARnHdwiy#M(zX3{aHlTSJ61b>$kB0hg?b<$CjCvSAs&zHIVg`Sred^CFx@37O3{QKR{EpyqkUVZl~ zUcO}Vai{p2eAp4E%qdSg?3Bail;;ESPWQ?<=7)R$k7eihM@*w1eA>RXe z5y+1~EeaPb>KMQ#i$bW>qDdevECEm>-uL}9okjF!w06B!bIpm`t^SpIFWS+OKgUs_* z0-5KnXCMdQOCfIy`CZ7{L0<9!i8qAoL*5heILLcJ-VX9UkoSbVKjfnzS0JAc`7p@W zLOvYw9gw-7KLnZk`SXyupT7y2`}zFelK8owF9(_X_Xdz7^tUTy?ypBeJ_+`7A)gHS zE0DRrCXi2s{Yl8&UtfjH{q;l0++UY}P~trU?LP%MhTIGJe8`7Dz5w!Rkh%YT88Y|3 zuR`Yjmq2E{egZQ0zn36$Kl(G|tI^+V$lOm>{2Im;NW2R`{uE>%@*a>| zZ}MeLj-rf$d;#Pb1^7nVQE(H;^Fe+b^8ApeL0$mzpCB&?c{b$Mn|WFP%YIklZT-S4 zlh>h)g1iM~KQm_6A&^5X=;I-mv7j%3JZrZ2-vRlT&;RO$XB*G`;@7YI_BSt1d-ndDTT-V^b8rRLZZo+jdu3K>3fNK!fS8?5l>x;&9k#T*=xGpxX^NlMu zt_zLp0^_>exGpoUD~;>_vG*SEO&!@D@VT-nNk{@|n@zI2q;0ZkOGyZ6yEZMbn`Bua z3CSiAvLxFIwxmchggiF6fB|EgAQaO@F_7tu1y6FNOdQpIY0hjN8&b^X_clWXH zvEMK6`x5!5<2y5F&YYP!b7tnuxubrSKD{b^vMPOgSNddE`pmnWh%=hX}9S@oQHR6VAK)FbL~^@LiaewXk=;D?0Efy)V316LES1g<1}ANW2Y90(^| z3S3IK7`RANXa*b;C(u3e7 zqRq6G*3-tkvi!2FvYfJ$WyNI$WrbzWmNhJ^UiNTVYT1`%&CA-B<(21`XO-uapM<|_ zL3v^Mv*iuTtCv4qo?8B8dGqqN<-Y5o>$R`9yY9OYx>5T^yBogZP;u?zcE!GHp=-6T zwY%1`)LB}yv`%TTG+gQ}^_R9RahB99sZ$ax372?F{3Ysx>I3R8)Q8ksYEAWi^*;4i z>SO9})L*N=R3BC!RUZl5nQ&*|u7tY+)f1`*?nt;Ja8JTLfqN6~4b(`e5x6_yZa9jx zqR-$y(hP1x@4+Rc16)47h6_+K+&=7Z`*8kZ_sP>M|ukmDRt>p zdZn$>T=`N-RUTHVD-D%rl|rRJDOOG@IZBq2ujDCh;feGmJVzeJNpM4Wx)o9Z71K%h zjAc4PHao5H!>=)HFB^ zEe-xSZ(KMo7*{8*W}GvwWn}qHf8VUHKXu8_m&w$xQhdaI;j0v{FPmw0rTB2txSPwZt>f>j6kkV= z4_BgJSC3b=+)O7ykH4={e4-xz>q_yB^!Vp0#XqjcH_+oFe&c`D;}a_3x76d`sT9xK zCGJb^H|`_ukJvCg%Jdxq67b>nua55>__As3E_`d?dpExK;LH8MZO-k;TNAbi{Sx2D z@cj+GPvHABzQ4owMSSbw%Qg_UTX0=l;LE(W#n*%{+tYau-4$Q9owEIKI=;*B-G=XR zd`t2D1uDY+)qlm;jc*RVEATy!Z*5fQ1AGVKyAxkrWk+fFuEO^zRJtF&22{KozBM6u zQ}O)(6}=A?4dJ^Am0gO;22t5^RQ4TIbkV)|kBU}9MbE=XRuvU(gNhz_lqmPtMDrg< z{ZY{kFfbi{0q37}aV8Ao&q5e%W+%cQv^o6#{sKR+4{=u04*rrh_<_NgQ2q@n6Z7Hr zkNtps=_ei^V2xta__=br?6)}*p8&pLeA$093*YDm`S>|OkEnz2!+P9t#KnHOjfZhw z&`f5!XhZprXO8FeSbS^^d5g$fL*63t){(c6ymjO)WMmr{*%n5&fst(?c9F7;jBG0- z+sMea^059nq<;?Tp9A`5zy8^$fA;F1LjAKx|LoR3yY$aa{j)>=Y}Y^A^iNR#Y_0U! zQt7j~(q~hp&&Eoh4V6CYD}4$oeb!a_tgZA}Q|Yt1(q~nr&&o=l6_q}LN}pToc9!2_ zx3laPyRD_S*ljJj#cpTuEp|JLZn4{1c#GXu{w;R93vRL7oqvnn_Pkr{w&&hrw>#$+ zyWQEh*lo|c#ctbwo2&Jix4BxMahto9>9@ICnRc72^{KbHTAy;8yOqhexm(G*&E5K> z+uW^ByiIFG?rmBtCfw$3ef(|i*2mqZwPNgTS}S}J^XiZFKVsJXvHnNQ%|F)vh?)Dx z`X4c$|5*PcX8RxOf8;pf$NC>R#`v-RM~-KHtpAZ?p&#pitABFAN~iNbxnL!4f}dQllJ~?< zE?CLib-TQN}atr7#1<`+*T{C-RW@q-x9GE#Ib9m{cy+kR_p85ea&h&=CYM%UYI1q?ugim$fPLl=UeaSvIX~N!g~d17&B+O3G@KKUV%i`J3hMlz&p5R^A!DXkK`u z`O5Rk{qRf+z$YyTue1>S)A&wC-1+qP&Ye1EbpE1qdS_c_YiCpEPdk6q`Tfp+?fh=% z7M+`RPVD@L&Tn>py>r9P4LZNvxnAcwonPwwLg(i?Kim1YouBIbMCaNizb^Sz$zvst zmON7O%aVsneo^vJ$%7>il-yr(Ur8-EuHF0Qy-V(S^PVMlzj^nP8gJHEa@U)8ExGf} zJD1$?<{e9_zgc}rwNI)&R_#F5kySsb`dHNiRYq3%q{?Ge4#ba)|0Mpg_ychx{Z ziF+ZgM%-D$Cc`vCA48hq9m5NT8iupVCS{t^NAV~YrH#@=d0BZ%c|eI*E>jWhq}8}H zWCHFg%Y-kQ6W(a;;J?!no@oj2Nvi{|wA%1bt112}i2gr)e`RKQOSmasp%;`-6)*d_ z6vtCfI4Rar8Y>yfWc+2|sg|+}v2YtIzFdAEe3=qZ>$PN7lH!x%&B|JY5)gYIT^7F@ zP%+3~Rk%pqLsj*VjEO3WhtidFz=YCJgHVG6c4lHM{ZpOx(Vv-*$fvj`c*($DEu|;Q zSIYx&wQB{M2bu%Msa&1`j4_3HJW&tGT@&gJ?yl2wN^9jSWt6g1*{@ttY8rlrbShp} z{up{}GKJ_q%Nda~W4?H=;gQfnkst6hbvAV-|! zjnpgBM%+^IXrta`F#1shy*i|;Hria}3vf7pBqECU^TW?A@N*0N z+yXzhz|Sr4a|`_30zbFF&n@s{v_P#VsMXu;3Y0`=b?3wHC$>&(_h4eX=M&ZH2&!=a zi08*D)z#-8b~bF&s8!?WUt+8O4;$%u8-19lR;%u8sMdVe*^o=Z_gN{k=6?Xz zxit;7TFo|z?>CmZsx@LO3|?wRxC9+}Zk>q#;Jt0*3Me>@+x-enh)7AS$jIRj5~HLV zIi*^kO7)o-V}6v#SQ?o~K?ng?j}@wVy3R%`W(0YJ2D+#aTl7f+;daJ}X8sl6iJhhJP(5?eP@t3TWB zK1f8nUvs8^@$XT+X8#@12Z?POwNCt0sQf$65n2)2|2)s%K=u8`?>AGcNHer*)cViP z+Gvvh>9?I4F9cfG$x;68%yr&Rd_S?>i_%v2CVtXLZI{5qhxviD$Nld)YIl3t8@79> z(fj}YU$ZEykWp^HgnzpQ{#i4(`%jaL>DvDtXYFF8<3}VBBVzwP7dJ`f&)Hbw{(mOl z5k>Ly==*2tgya5i4PfX<%o6&9!GSNKG5`IM`L8N@tM~*ogQh`#x(w9$fM-{2YWt5* zTmON1CPu^Gsyid;4gX)P(#^|=|G9|X<~pQKWF4Y)+5ZkUlXWaFkFk7gQ%6-;`U?&J zbcu31!?4}W<#?6b7}EdOXjS6pKi-Bv)Bo>x9Br{V(e%bDbwPH@(bQNv|C8q?&WBs!3(Aeb zTqzw>q0Y~6&vtrFiyB|bntP^qnLHUH+K(RFp2l7;ttq_%;U@rQHIHvlq@hWoYJ;znj z`moZISZ$aT*O3V_VN^&X50ivi6&4*v&`M+z2Y(qA6f2&h*(5VUg4w7o_VDUs)t!a4 z+33+o9iyPfTi5X`s;#;+=K-}AxN_F~D-3rJBp8iGx5s2|Z#1X2H>PBmTo(GPtEN|r zw^&^+Cq)7_d&RRO!y|!YbDG0#CADC7RiGuitR@SoCvoeAd=!rJSkux-Ws+$Qd&=kO zPEzwWUyCAGI;B~_LPnA?$!14^@*8Ka=Cu-xi5V7~qlvYH&1_AySX%t0rORPPs;lMA zX>VISNO4+So=%+F_U6=9)^tY)YenXEHz&8gIdf{IRFBE!VWQ5;@eb6UTwg|_o1@)2 znq1aOyr{~5gV4gB>|i2U%6$n&lO@gSs$Y-8UJjdGW-XM%A&WIR&E&CisxKzo)NbLZ zyqKsKcAKZ3kz@Tav8}9btJEW(BW?C5wLnZ*r&bUXRY5Hn6C0&gSUFPo4{>aU-Rwwr zx~y(D^Kw!VK{L7C=q01eW9P`Q7Mb*w)g|pvtc4+R4i*BJYLHCn)^xM86N@KDWY9wOEfM!wGrjaza{62X`fQPjb8|$)Sm7SPMy87t1rM zENvLaXb7ZA<4MS4lIHhD0@7(YTFCmPP2|L<1s%zpEsq0cQ(Brf{QMHM>g^zbG%IA^ zB@73&2v!QnS|A~fm!SSEtQ1PXV@nsb5Qi+b4xHsAKS%foYXKQ-#r&-68{nz&9JFBI zOLej&Xf+EfUz)8>sfSmK)#{O>1tRk0(}EtW+hdJp$dkzAv<$7q{1QyDdZab;C4@`Q z?IN%N38pzTaV?Ngx%mw?j*iLpSI8Q>No{{E{hJ--A z7Ia}C>zXGZF&$ktO%WAv5G^C5f{{R~Nu;1q4_ochry)Ja{q0D$m_$*Zl*lwkQY?qz zNF=5btqCL|Jt8S;RW4P6Mky(aBW!MyN7MdZEoiZ&Xo8%hg{AGK1+=i+X)+7>JPxOs zlB9qA60lgc=FXRp1A-qZJfOv-Frfndxo#Z}1+|biy&+sEVOB7l8j6Ob<4$TpM~0@p z!xD7s{aDPQ^ypwyt8ox2FjcEnc(XbpmDM3#vOS#eP zuv;*t@oxnP+u?smv|$$GY{mbO;dZsmr}K z>QUEB+v+-Le~V`CBsMlucU9>?^X4lKI-IXqsBoE*OtT6U7wuTDB+=Hrik;T&Q##Us z{mO@?4$!LYY3w1zM8iW$22D7kq|gt?6f4a;tE76`YigvZSn+(>QF|`DrhIAB9xvWd z-gc)OX;`-5iwu+9WBbZVOZpk8YC7!$57(C~wlqfy&D^Xcr#WceW+lntXm6yRTNJD^ zZI%qHu_axb0I$|mtRAdp40~fLv<;f>GWa>USrK>FcoX>z7PH4lLzXE{b3L7>;v0(F zWO16)wI;%H+~mZv&S6bXc2jOo1I5|ww8P+`aIxZa+UzNHP>2)5I0;G|y>(`SAr8OC zhUOt_y4{mZmmhS~zK1+C_Loj7exxIHe+*l!Uu96YUpwggUnkLkXHu#AvuU*F z+4d$I*3?GYUO%0#)VI@+24B+Fx1=FwHmXZIxdEkKG(O&zOuMTfVxZ@mm- zvcr{*^=q=7*1X=q6%*X}I#svPv3QHs?66p=B;JZuG#Jyq1J6x^t6*I5~mBgpP_d)BPLU*ikTL}H{9)^%T;13wD5H@Fuz@@ zg4-M*2+e_2HMVC~1y@2rq9^Oo^AN56Acb6&0<-y!OOW1LHHP$ZjkHGTIOuCnXOY?4 zHy*qNh9XT1GG@9G-C z0o7v)-J{oMTQ$_@d^Np3N2_V5C##{<30!t?GPA73mTUC7SC1$ER7sr1&_7+CmjbbR zhjcfcsBWd=r_JtETe8Q95rC;V??}#+hlsk0ZN8h1wIpGfU?|NaWkYV6B7>j?k9&NqDO5>g|+3YdJ zdKTbC=Trm9r7Cp&nJhUO1a!us1`sFGJq|i66*$OlhW$bnUJT{#TAXfm}`tOy)EP z4X=R(Sw%0-e2wDKfLm&$#YE0~%^cIKo8NFH+1xP^;}b+!!!<-$_uZ}a;?=t=1YyS; z+Sn_t0a*>*jRu|0r9(5&$h+;%j94k#(g4(Gc}(uTZ%Dg(Oi8Hqnm3bZy-uB%iw12oqtLTk;V%lQGYmgIc$WGlO3|_bg?4T_4h+j&d%P_PU zrQhj5JD1#RO1A2&ePen?nz5e4X>?N25Cxk&Bjq2!)Vccr-fHomQ<9BzA&e>5e@*G| zr8Z@5zouj)>CKEuCaIIh+R`2)anO2 zSY2+L!%jz@O2Vp3)+ckG{vrd~|I}}_#-lSYdR#V4?p=SYlTbElkTHqzlEe;;T{VDk^wdu zY+Uq~qHXtCA|r=3fO6n!6~#^a@530p4(vDwn{^_snsvXJNtbc6MMaACzX;?KCLKkb zaKGMS{g_!v<8_GMIqU9EjuEzb2|y|3val&I(z*LJ%}e_pz>-m~xtoG7QCx)Q-VbOE zPni$u#bo^+ve~sNXh?_VJ%GI?&Cq+<_aF-BhD3vrRy_bcWi{ywB$|c>lN>vB+=;*q z3}-@a7_YE0a!1>f${vs%*2xD&D9!`ZJAz+C3XKuksZe*Ye$wy&;I1~v%J0ft_IK|rcvqR|i8DD=xTDtheY zn1;OeR>PQ3`CDkvG}QPZOYGnu_=+k{Qr`<*_^pdJJ%>F*MP=4uO2M(hKA<>aD4uGF zUYN>-r$Kw!Q=kj4{*njBq9Mr&Rr zgN0^2BHQtiPtYAnbl?$ayWbe8@HZW4Rqgt;zP5$7*8ZX+9j={B-_})EV7QtgT!b=~PfJ&EYX7+gzl+k_sj2 zis5JMt2U20Ry-~=>=4_Nr3n;gp_7k79n#F-$EJJ-A=SjN{LvVKBhbddSzsn!Y2@1gf4yJ05e>22}rQ?T&Qx@%nV~aSNS)9Mvy-Jeh_(feOy9 zrl9JF9)n7m1M+cfM7{nPbded#kaoRjqEoM+=(*euFv$jgC8pTjzv2nV;q>qvQv4*A zM`>6n#kN59^CnkEQ*0kie9@fhplL5^)59$2N_8H$v0q>a5W`cmNtgZ#wrHaz4L@1w zGPyd@{-?m+d>~Y}vv4NScfWR$ou}Lk$3gAH0t#_ zs)};J+5(hT1v^PhyJF^B_8XZ@7d?eTw3`+`{aN%ZE^HNJx@+*O4rlBTS%~iQEn>pq z#Zu>`)eK3L`9w#`euApv7!7^Uvvx=M-?w&s`Ts3Mbr?id0<&r-%l`$n(O}D%gfGA_ zw1S&W!kk9%Fr8R=-bB7za4lw zdlMhmN}2Y!#@=j*Qa(gU*a|+bvA6qih|~_w8ra29-BZEd1|8=BaQyo?)q6k+Imj@0 zh++7!Jcl&)iXo(42&w-F$9j)43<(Sz<7ZzH!?3{6an9qRB~RF`E}pOX=SpGL;RWdA z-(%T~!-Z{6Xt7oZFO5eeRxDWY9D0I^P>Om|O2NJi(-tSAW3|RgyWRyPe+$-bO3`ph(y2%0w*yIm)$7S?$)O}(0DBUeN#CW%MLC2;?r1X z#nfXt>Jgp+l=!5K6eCUlEiB!!Ds{;7SVzX-Pkw=CH)EPJnby2a1}SRsZ_^#L0&Bv+ zY~jGF6}9KL*rN%;L0&J;XC6ZfrM62M1_TC|bDr4gxc4(`|Nr(4)N3Wuuq>YNj19^U zlhxX1OtkoSEC(?x1)jm_X_~Qxu?}6YgG`&aHdx6+7~OR48O<7V=@}Tuu-$v6Vv;R? z2FP9R;P&gm(BGG#IuO6c5oe<*&th#Dqxmnq4l`ZFMDPQ)>nW*D9NflmvhCTlBtFNj zD5IbO=newKcn5X)ohgPux7TCs8q;5Qn(Jc2z2J`&*Rc}SdA~!|H4W^hKCfh0>^MA* zDPt#>u@hyWS!mnuZc1DG9K}^4m-(E_`Z-%JD!9ykE+*i89$f=+5S`uJ6ls<62cCI_3mSataRi#>~1Pby3r65?@i{B%;(c#$c;hy0pr52=dm8U zgo=i{<9Ao$+^GsxED`e<`u8ymYB0plq4UUVz!1lI z5v_VbUsb7fk7Wh2cRJiQSt4cM04@~(U z6AcO}sk|S7UyV_lV@@4YOvzfId#{3unguEbm}6*KJ>35!k9>e(})!`e`^+Nr%tI65s`L7$YxJ41V=NrHkNG~#6_eAX#3<8@yHcchIEzd>>BtupZ~d^y7s zqg!sg?xDpAC~O*&3(RKdpT`9o>B!5;=*SAia}13Jvy+pzGIagriiCsE2foFeRoyLQ z4loQJ6=KJj7@BzcE3qdL+pv!IcfS{C-u3vkC<9c>8dfbELCU{}<3k~a!P5)_#RBKo z#ItWzP2k&8Zc;qi4PwQ4(jP!}FC+U^{0tQgqEj2d3|BD$UV01NAFJ9|Ho$=kg)kWf zCe}i}&;o&L7={ZN22L?0r^}HX(<0qog*iAT+zShmz{>l8t`-W+x*yNMY=J`=s(yyP zbqxIz9%49`p?4WW-|mM{NKy>NqF1rasc7lbD8PS=QPtdE00yTq3>?M}Y#DCiWL!gR zK^-aBp~vK2{2FSL`7m;XvK~f`n52yjV>R$Lp2k)&V(=70fBr84)dLLuhZ%;qKLY3r z3mo?-$LHbKy$o!G)D|tHUK6h!Jv1Igdsi@?x{_f?U~oM@d&fM+@v{UL{tC|lfxf-` z91`f;C(i@WzU2NsiFkDcaAc$!xaGk#E@FC^5|Un55C z!q6*F9l_6mDFUZ43<~tk=V!k_??!(1cKr>YFH4}0p??j-VBv4LTVln2-Wwi=BUTa@ zL-U4v)@JP94821b`erf=ua}rIi2 zR7Npx^ z8-<~xlcO6EY6B2yqwa5|Q*U0ik76pp@j`2Y(4ERqoz8S)dS=yIe6$=BF*yOXp3AtQ z&=bIoU2~p$%NB!q6_}y#o&csl^GU#P4~BuBPa+otq{+}3iEhejgq*`U z%{zjjZ{*Vo+`RmWh#n?B*~|4x<5n%3;zXx$>r~!_wy|Q?AYT)Zoyla?`2v?RaXCou(-`)2_&*J7 zjKpP}=o|H0z@R|&%x{4RcWIqapmEE_#zg6Fo14Oo$$+A@<3%cJ+?u-)P7rQmGg+qd z`rPvY8-_^O{;|aZ_7zx(QqLP}5FMj|=MRIFJK9fu^XJ>}ZD4rdC%9+#dQg;~YJj(Q4#Smot`kBbN?4rOigOn%O)U7C3cn zj)j+%E;NV3Lr;u}z$PHY;Se{)PTQM7Nn+nj<6D^7Z=NOtA-IL9813woRou)@Bj0wJ z>p9IhUVgg+Z=bNx0n_;+wBjDWzN_BJn$vzsGr z52yK#NsUejJS*527~71sypayPt(CD1_`ZuAuc;pxndLw_v$=k*t%qj=FZfUJrd7hr z=khOcX=(|>fWTmv=ePuMZ=pTS(;RHJILJl!ehx^XJ`4ljGW3mNR2=o*Xx;$_fM_W1 z5=q@GB)AiYw!kPd(kP^b_i~zlzvMi?P(36uA%>xIoX259m5sEu1(v$$ke6NDJJ&fq zFyeWPRg4<7cl|gMJ3(w1XyAJmI`rDV(s8E{pid=FJ&^*jB~wiF}#q;-84-axJRz*svju|e>y zG(5G{+l??rFk$1AHUAw49sgJ-%-$HIKedwoQ=HauKuvMc%2YF*wIxx`=O()GdDO{Z zM*9?++uli++k0q5T55~dZD_r#Me`=DXsfH`J8hbh*KMPP?hNYcX>Wy-LWaG)9sV7t zJ)YdO%#%##I>@1~k;ZnSJHWGcq)_q>JY%g!*hBVxj>BDaW9ak7iSN)6SECkfXowr! z(?~appb|IEyJ$fN_9vku9UynJo=0Z|XQQ*?G*8#Ocg5d##=H6E54Ie-d7(X5;SKozlf6qY!TBp(v?*kQn z5HRR+jy~^U;X*@_Az}--4F5vp!KneCc~5!|<5qQ0yc0bKy6m8Fm6+l#V^HW_jNCaSSurAXQQPlGK}uFGlhH)!YK?M4j2v_NCQAMIXsJmyZ5ToZAO? zVl~*eC3%x6&O%dK!WooL4kmmGn2cc{r|SN%F?6x5T-;JS<)iCpuJ9VJlbv?8G^3UJ zw`Fm~%=a-iZw|478|%}lmaM$iwE`o%xE(^frEwA0{jX9d>h>``V596-ShBRn*$mf> z&)vqi!7ZAYJz)lhcdv^!dS0X(l#?piojUWO4FakRv8gmv1L|>WFgnc=AiFdNmsx=XLoDMGaO{WfS(Q-5FA(& zsJKrZc;=5UF7y3tL&K1`>sU&vnCm29qC zw_bf(-8$LDGf)4o(0^K2(T>)%w>9fdZt36=P=g)z8YF&BQu9{tQb|&V%LV5S7_B;@ zQk`73lvEFmYJ-Bb>RkOydsPQ~8)=LYG>$T*Fdz>ItbC+vmbPK-anOvqAA4Sr!-oxR z(80$TEyIS_xKij;8>^iy=h^_?_X*b6rcQ7XhNf@=!0DWNzaJyip^s4-6SxO6zpi`e z!uu^~nnSuQ;E?XzgjYzmJIq|0iw>NoJ3N%*O#1WNO=z}LbXvaCNz0tl+1s68wP_1a zO=pB$i4)`SxG-tQT;2TxHUv?xkElvS*@-&mRnY1W@D>+l@DvJtqE+GeCrPn2>hmd< zd|2Soz)#U}Cq=XYDbCER!06n86B(Gusq_Q4*@n#s_gFG*{KyF{dG-@D*(uH#07Uzu zUxt3juVfT`NL6LP)1eRHi|l}BCT2R14Rc26hj2Y{Iv_G`>eg0tYp=E~8aJkcZCxoz zvb9SFu6XbqYl{NTGHLDj<@*omDl5{k^yx*0!AlI)>kNIRj4G3zk#gJ0AtmeXJ#G0A zU5?P#wADRnH@5X)O{S@%Z73#`{Q}pcH^bmihQ1L3CouF*e1QccjbH4!(NRxrH?31#%bM64N6?qtHETYCY|fQ(mT>o$lDZ}~WqvJ(OuC}cumf&P8`9NaH42N;G9GV~o4*2GeK~ln8)r0{Wkb^zOG!5b=Df%q zh$F@We=|}L6%7vO7+45J2uuFvfx#yt*E=D8zLA`+3;N(s*bBf&d0!&q*cTPeTLYe7 zF3Mxv35cTE7|0noZ%nacCMoztf7pU_Z|;j++ldU-Jci-v35Dv6)n_RmtSqD%{s9N56g-i@3LQL^9_v{d^3GgeYplF$@LKvg#}R5uIDF5Y2i zDtMTYXN4eSJ}7B2yUo`XyyiK&9FvZ33ukmf+Tk_BmK)k_bZDLh)YAl)O6j)~82IK? zI${F1|B#_)yGVwq(F{55B*O{LuoWf5a{&}+*ZdY=Rs7ED;)1W~PA)0y2*2Q zhQS^$p`+NRV6~;iyG?0>rPX__DTsW*o}BLOB`}+@Zr(gxvB` zi`-2>0NMb_C@?J0JCI{S8XP3ggBb>fyoCOlm<(?LKENnQHo2e}XiKv0>qh63W%{~| z$;^*~L)0sWSzuo=qlSAj85`nJDM%mA>FOwfqZx(;`p59I*T*pELwWURDA0XlLFg_U zm8WRl;Mx>E2&;jPwz>#@b_XzkSVSYQzu1#)l=nr8 zCW&o~l4%uIl`dTW$ahvR{X&~0b-a;l30Aw_rU(*;&!tkug#cNRM z4tQuy#RTU+EQOwsLQlyvj%UGQP95Zv=~C(v(q~Hv^zWp-d@`aFcpO%TIUNr4c%1o} z%rX-X{G6AN;V<-e(`CUMgql8>0hUHEF3ij+E_pRG@HwmQ(_h3a|DdNjV5>c=LsX?~ z`J8rsj=W>Iw7__V{t2LCz`ppx=O!Hd;W!WoYAz=Q0U;)cG~z{JD-CK7A7Txuf5#}z zaqTG&vzu=sXYo!K$}^EMj@Qi;Y|oPvCMzub=wcdgc4oSwc@MRxBIFHhm%KX}hIiJ1 zG>=Q;)4v{Rtd;h=Sg~ij!HVc~o!H1U*gMu@e;(MyY|3O<*I3W^GMCnn7N?<3XVbva zZf1s+z^*h_3me_67Q!IMh+1`yr_mKRa^D5<0*s6_N~z znSnQ6S%!JW_W8KktE@6EYEtcmm%tVvffM=DdnZ|vA+KxwYhWfOKUzXi%N6*q~dp+6! zZRQ(WA6$9IF$`*Oe0?C>Qs}&0v*%#g7J-O5fpG#81v3vgn!ELIN3tyJ$mh^jMiU+A zugQWtMR2DxJ+{^?ax{If39UtXXr`pklk}ww)#bp7=b7fLgJ+;(-aFAiC-?OsY<>bO z87sVwp??cgQjgr(INr0^L;X(x_)*L`%@0f7e@hC&R3M_y5kyze#gS)A;8=Wy1e zOqaWEjoVIrSY_d$9hpu5opxdT)uYpHKHlehH$=A;{uhu=3e6uFs>KY$H<(cDTusA0 zGF30mV1B20a8(O76d*yfG5P{s8gQ4&*YAKy)?SHY;HSFxzT0wrmTWApS8ahxeUf0xC!_lqy2`E{y{LIS` zbNC3%{lTG(o(3-*gyb426h<)&0|G6LZgdc{ z+aZ{3_+5uy9eIOQ#&*KdjOQCGdB!oera`B5On2b*g4tYcM1!UA41<8Yqk`XhM=`s? zVTqmS=?K?;5~Bq21Wpn3ISfPj48zMA`c^Oj4426Ma3nTVFkR@o#c|jMhJXUZl|Za1 z6Kk(dHrmpOS0BB;;(@m6t7Izr%1KK*yJ^Or20X74xSFB51_j4K^A~igSVzq2EK7)rE=T%;&dA8f z@w}Wl)k&5!gV zc!r($4bQegupQpZ>4Ad`eMcCEj!MjT@_b6-FER{XlIQCZU&7E^CNb)3;8ILQ7^auL zfdiN3xLFSJ-kz^9$-WE&IgAK{pQu8SfoJ3RV&D0GM2+L2atRV=iwt0D(Xhr22^`mU=Y z4oB3#8}1IE5#1DdA#zDKh36#y}m!U1jtj(2?l~!=S)0AQqoAF;mHahnFJ! zi2ILLQ?O`v$njWFcl-vJsUuFMG8NpwCI{c(In2>~c0obJ+dUYrMVW}g|3jGyt{FO= ziGsaHrN~nZy{EZILB*j`%*6;avAbf&D><juTs-4#!AL!*%I(Szxn;reo~=v)!gWJ zaSw=2Sr1KghV+E!jO?k4&eEQm(5&x?yD$c2X<}!jjadr6qm4me;k}U7y1bj@H;?kO zQAV&AsOw_m?I~ijsweYFle8?)Vith_wB8K;fbgRi^DQ4}-sq|5 z2SWX_{)JSm$wF5_rn0h>hP03g`uZ`c5TI}cdq?C{X%2{>-&wGzE3+Q(GHOtucYyE# zNby`_?5Zwgp(%dIiV-Q=(+g5|uov?B8B@fmPp?>U%F2$2(-_2yIIZcWiPQ96+%X$D zcktWS**!W|cD8YRc(AlX4nuVeL+>Om=VqxY=~W?Bqq!pL6hZY%Wm`XNC^4HGr7=sq-nS-;X)9{c2^uV_fhnhgoAw*xO_stK^yCa zqM>t8P(+PWejmPA1@{+dLmy}9gZd&p32{cKd)@h{P_S_Q3ex-azxlD`Pz>$7QyuZ@H!B-ZbW;}b~wPX);4xQ_-m@};IR4cSC zu+yw5sDdANB;(Qs_-Rzc&G*VshvD1k;sH@H!8u&)6t={xFiGuwZ+>~5XE!X@INf>((Wnd0R}-@}=`g$&h00^u2s z7B73e{# zS?3HubGo?)WG}gpu>-(E9)bRo$P=$G7i96)bD$EH+P(voi0jMEr=nB7tt`%GzXfIg zDNw6o%J4YkfDg_gyy?yU7Au{b^G}fcBIsJxzo?Ai|5ky!D^3qlf0>Q>d`7#Q$dsnP zPe5G;DKdhz<`_2!EU0H<#{+!t+3hWlQ$lB@&BM}EKk&F({4KPNjH~0{LQPZ*BMh2@ zgDOTEg2#kH?>EtK!AWo8z?Dbi4X(3y8Atl|N+iE{E@x|UNKYd(y@$~TP8<62 zt-uGZ)PlQy(qN^Tjc;|EK3GXKn=|0v$qux027_w2-&;(tKf}P7w?L0g#8|6{sh!tm zSd$zZ46VqbV00wOJ708q2=a#Jy@e(_KUfqr7Am@Fe&7&HN;yLy4(JxmT7QVqz4Mto z6cf!JqUb9UJ-u)UggZ)L(-6!IddharsV-pl!U9A2{2W{;3@-x3>bwZuJ`{`S!l8RaG>140ExV z`G<>`mCg@UBC3r}kL0uh<|nir4I;$5<#6NFb7cf>~=s0 zbFln5mZR4|kL*57;X4DxrHTd&1I^GershA+tia0{E^S)&a?sLsY;VB>24wIg!!RJU zp?19nO&q2vv0lT`=5XpjkS}Y5F45c{&JRO8ADpH-(x84}2O6em95P+?l+Zo(7WO44 zIU+0(;nS#j63%w@*QmM;=cF@&dk&>nGu2v%A=A<^a$+;GfB zoHV~4@1}Jl6tpd-oCxOO5sF-U%cNmNW=G__0tn%Z}o zaL>TRkqQ>5m1C!kRN!?Y=dZJwyuaHYxSMdp63F*t=+6R41KzA+G_J^@kqSIiD#Asa zFVu^1!@Yr972AIHw^=rd6)?}u65*!3qeZ+VM2AQ7#%y$?Rkg@*V{i{nTEu0~Vo5T> z5p2d7g{ttFx;hFo21|SCsK~hLHab!UIskLEnxZl1_i1U`B|O8`Sg-YP*Yv_ z^T0hDLU7VDWQu>GxRNF=m*p`hO}W!#a!Lf2WshJu3~SvLu0UC zDPlU|C5&%%o8g!#Gun+Y3M-W^J|y~=G0E_9hUyAN)NXd6$v(bMD7q}9QM@3GxDC@P zA0(W8*Ri`kK2gyWTaU4kw(m0*CW3)u(S+>zH+3uqVE=L2Ch6LE?iQ@Y`c8zUK>X#6 z^zB5j;zjXbWi2zIorL6$Rm5!8laqr5NWe{KP}S+Qb*$n@!PK~GtkSH-J5A{-3gmOc zZsQnp6EJa}D45^t7^ON!FUIf%xu}4^@HTng&M>%>3%AmgaSHG5ab0u@oYkZiXdkM{ zm!7N`r&!zLx@ET`4JHl>aWwM+En&kXqMJ?+j>Bb&$GEJ}E~aUDMe`x%QKF8IOo2G~ z9}kqUprBctxDAy?jaM+0VXaLYInlctl4+vJ<55n<+(666D|q8?4Pyj%Gw=RFhU#9y z-ct$toM2yK?7&{e^X&&$)!lS;0(XZatpk**I5$Rg(%@VrJ(lSaxzG`K%P^`o$L1;# zbMvHJ-2b>f7roCS0p+Z}m3ku=62O-N@ZObO`l1$zF4CAhv-i(cD%QSqA(xv2yrCus zginEfK!`jo%|%m0Z9lY%v4esU5)3vD@JdTl?Q|+v!P20;tQ~(4%7UvNWXfKFKJEDs z$M^-Rhovm(dh$a%r}|d?k%_Hl7+%BB zx9*RaR#;Dsn}kuBH;E?&80Kj8Bz=f%m?Zj-X5?w3PQEk~TapPtu0RkUVX8jLQRls9QqC@bKno7$bFzJjU?OPT(2{ z^v>mHbsj_C0_3dmkHUUrvVwzGTXH8lF&RVs++@W9hqa+ou+BL!1)|YyD*AzMUP;IH z7x!~wIgb+$tAiF##bk<0zP{3y+AF4F(5#!PM3>XNXVCBXnmSF1?6|OjL3Ru{6Rv5+ zRpEF6^v1NCrPGL=DO~3vUp={r)BNAju!Ps<6eZ>`PP5FDV;o%TyEYDC7%k*r5TMLOO^}ac)0yfQG=Z zK<^=`k-(t9ut4u&t_y1lTz!bwLiJh5O*^MUh}m*c5w&kR3tkeWCp{)M#0?e*G5L@{ z^$1Ab>84{dB62!>ChSw2XNsJT^hXq#n~wM)t|$EeLR`npf_&!Asw5NI9du>0{*?so zoQ;OYYd|w%#jNivM6!Gi0w26X9GM3^;vfMOa+z^WD+e+>t-tYRt?@Y z@ZaDpe#!DrwRxsr3~dmHe=>Nsu!adCGsNtuz+()3fIJ9R_$yU7(y^JdF$l7`b{GWv zQNqoGd)O@INk|2ll$dT~v~$l{6*B%U;|2vcBrq&cEfRJB(O8h~&9nYn>0ZgaRETu( ztbZ-i1)^1jykB5I3b{$7=gT4%B{q>OBXMz8Q&V^uSz(-bD;U1&IXLIDI70x;dKs)8;vR_Ch=6M1`OB zGKIhn&K2Cr(04%Sgh1i0Bw9Nc8w{KbyJ_@1T$zj;r*Zk_gn3E|1}q%A=D|FP_xBb3 z0$~^>aJvj`o~Phm0l8RU$2_#88RHSlA=*1n@zCLUxCcm`uXMDg!Mk+ke3oYYmV!fb z6>L=Gnu1Gn!B*%I+yH5%oOwVE zpOy-pl?>+uUOL<||ODe1XLw+-R*|roby<+J(!bYiR3cBVAblRkLcjVv4-Uc`2Y++^{t9b^=zqm!!?c51@zw8GT3Wp#Axcy28Q2j04&{p%F?YuVv=VU%Ah$Sq(& z5hoCR!#TA8++q=)0Z01*`LYI~h53rvlSX^<#YDnZxO}BUl8ff#V;g8Ur9gN$=W|>4 z<2LYa=Qc1h!aC&GAt`$~#lN4S?-0Yl5n#pPRln=`N=gcy-Ky|qXS`CcPZy3Ubf=jL z7An$K=N2l-^3Zn?q%jR^ZYalZ7vWxRyx=ls5kzkJA~Z?nVm_FY#KnuD!^;;-rD@($ zuq`cj0tB_a^x~z8%i(sX!9U{SQgH4&D?DQxnU;ih#3kp86zaK%h2gyLd_~|@;k>vJ zyx(adFmMKkyCr8Z3-gvRnHxx=ef;RpY>ZaGT7!a%6yAE#=EcZ>EAkk{;V4pgyQn8~f+&E|am-U9n@(R{Gie~H5H6Rbcpg2Lz}8ih?! z3Nw)o3gelA+Lv<);k8=yWQp!44D|y;+~mbf$_crlGfSWloK(h0;gNcB<}&7GAwrZH z#T>j;Fta($zgWlgawxb|hzs;C<7aPxVF(Znj$3I#LNc#s z=-VKfH%ZK1frljKFhjovi$FA9hHPM&Zi-&JOktscudjtR;pTe>ZXv|uc4jVI%6Wa= zngE6csuP=lf(wVo)MYuY#6NshvB|ARLiA8qgChgo3dn9ERX!&VYjZLf}1_h9QU(2`CyPm919rE^)857+9ija1arQ9L?iwiw>+3V`V2; zli87rj;=yU+M7K`0uWaxtmqax!G(F(Hf65YF$@-@FD|$PRUjc166Z+1@ zw-#+&fg5^Eur5Fg)0hHK2yWoK-d&tm-bti2D`fe=7~58G8F>90WgK7_I?8yFH{t2h z3fP3BUrMT|2J zds-(dSgoYePUPn07*1I>uf(}LU0Vr0{O7rBZtxQ;6^nkH)|czxyTH5!!VH65n(=d2 zhGBt$UdYgs|PsQm;E+ixGzI>48uSkL+@0EAwZVAuIqH^HnLm|!(6QC zn%s2|A`4Ajhhr-%d<2%S(@WU34kh@v3XQFA^HFXJE#x@wHYsBV;!tmxkGFDcaJQ7X z7o}+(L_>oFtFSWSGKQMo{fD;E|RILgm~?-&M8G4zE|skq2Av3?`E5Oy%yT0wRf z6A52sWVK%l&N!$AvS@fE8>16eS4<5$Cs~_V00uL%Zv;bi6lW2}r*Dc>Va_Jl_0TN1 zpJd?{?uC7lAq3RO4}lzH6yB%Ou}!e~EZ-uMhWF7J-*7G)aN?-VY!0LG9P2$VtX&p(g`u}t@c0yu3O2)u0l)Tg5xs!b z2Acf9<_PCUIlCXoXv=Gy1(%tzgks^hMf>FzWK{V+9q)BcPRH-Oz;s?$Qyw@U!43FZ zKrEt5XpYpUoC*56{0T6W{U_uTEfCzIa03)GO1L*iYYTlkyCu>%7dg$}motV3Foq15 zURxEsT1)-6a^hG{3MxM4WpyNzL9mhlh z6Bzn(MrsJ}JTTS0Y z&?X3e z$u)fNg@Zu>Ro%|K&t`tT0(}DgTFe~In!-P}w|JW{=B5=)Gk^q8mSp|pV*fS;Z&2gr z)E(g2Mgz8k+bP?lLR_$&8QQm9YdGq;Ln;v1!L|ahacn1sCpZ0s?FxQ6&5U_#Cvz5> z#~eskFWD}P(@KsHED(C7SFraA9PG)061ZNTB_&0J!brUe<7e^>_Cu*C$ zGg{kmJ0pHzGj{5WtGOtdm*tCg>Qz3-gndjytKZ0-TK)2*K*Xb*%~H-5hF*c8t&A`G zjEy^`M%x(O8x-`Ng1Aebk1z}!0pC%fxFVE~O2RRQzT*tNCz+;^M(k1=8F4D2kp9~{ zTXum}+PFtkrsE4S06Nf`LM$13?M2&SL#(X{SM80=rKfkH9oFo|k`0@A>b6Ir{(HFj zxCEW(_}xr2q!XQ?5e+iYi8m2lA0@hcH;5KRi1q@}2~0F_3Pj`NhL}UUF_^J^AH4^| z2{Sk+`%XubOLt538kEUcKS*vQgE4{rGyJTc{SzA&aJSGLMo=$sWbi^Hav?_sFLGp9 zp!bqIU*X1M5#F~4?L#*h&3iQxc|juk7a}r%NaU3y(K5XX6*?g)#f&a-qY!tI8V~8Tv~(dcR9 zF}nSk(=z{zlKGg3hVRAZ#SNbnBnG;3VhB)AT%aW`hzybS=lG-WB1rrudV&(j_>sgtsTxhXrxGaedpNHn*iB?;% zTwvvLftz3uw~bbqY!reA6scbJIiv;$b1G^~=kTjF?e*ih`n0MDEgh4o`#~*J(OG2j zk42_CV)*ZJD29KGZ`ye{%G~;+V6Nn7EOTRzfw@V?(1Yxs;nMamh4{fa-5*bCT=EY! zo+)K7VTK_oxFsFGO>s!!rNyG|=#S7+q||6e!wxHdf!s9XL*}hTN@Ers30x^s-o}_K zDN^32L&xE--s^Xh=H$VMB-J0clP<+tEy%NeDK_>8wPrL=(W z49yBFA9B|tOiN)<#5#M%VJIo}f=zgWrp8YPKBag?DS+l_mQmH{>A^%n%rl z)6Ul;VnF>uimd}Lta*rQ=e=~jFW=pz{Ww()Uvn8Q5|KWQ{8cTq2U(JF@aeq@PpP?A z75p-s$lQ*r*cjuMG@dFmOR$_`36K0TG3~=o3mL@iIa>C`kY>yKz6Z((Uf?pqmzc*W z#^@vZIcj}cT7(@tZjcFceM*28FY9R|9X$O z65gH+)vR|=6*gpp)KQql`6>w9&IdWwOTEHbyxEK#>LXda$YMyvMFwyamGLzK*AUB3 zsmWO1&TRUJGpc`#hRQE@X{c+DDGt2Lt!LcCs39Mt1}88KOk^0E#LzeS9R)v7QpD7D zzl(_Qo_E13J2_<+{Xc}=3B1(Q`S|}#X70v1pdyM(+*({auElEGK}11WBB0{RxZ~QX zSVdbkAPRy@+z`YiiXv_h6%@rKs8!sfqF(nX2neWAQLl>ndrqEDD7N3%|Ig)~nfE-; zNls3Zlg!+iNkOiqHny!W>U3+ee4{d7EiJQ<_qgn8-M=J%;doc;;U&7S`ep}@zBSYF zzcXc`Wn1>hRfA-a`kTM`TT7M{24~l_us&F3syyKq`i_>3OYWynxl%EH%eAb|1FajD z77o#ur>zH;7W!KAWG~9P!J4&P_J?e5w%%A?7$g^0Xj@*8@5TJA;F@o#HD9$jc|~DA z>&6v@A=VQs3cckFRnBboVX#bA6#DBcqxmCCR}}aJ$w2esLfeYM0KF1O-hf3b3;E9Y z@|R{`lT-S8mlpQjeW=X*sg=_9czM?LFQo0+_mB*fR+zJ?)}@8)IqC6(%xf3c0y9d6 zUz)6J%gy)DiOv_Vc1=gFgevi1EB*)+_% zQWr0i2;KDdvcj-40 zMp;Wt2S*>92ARpbC!Cr0#%JN+XNqDh|`PZ4!n{3K>YW7HA%JjA&(uR|E zv8Kq2H!^NpPn*M!d;oq`{`BE)v)?Con&fb%Ngi#zC?^Xi>wDDAV7=H>sqZq%`fyc2 zuemC3WHh}rE1TQwA?A&5=I=3Pzx~A=cKsJjBw1$4=)3Ix&!+Up4_!C+_H4+RJ=A19 zKU6lZbzX&8^m#!JNOF7{H&(u@Uf(AEkU5I^FPnVt70H*k3Cr`w)t}4JC41M&kJ`fIW|{9?-R z*R1l)L(To=hsxagXJ2e^y!D}sUt`Q(>wji~@rreWKS^+Wc5q#3g3+q1Tw_x5t?r)m zx4WG6aF&1BaLM;CH)Sxzl-|_gQcKqV+o|~zm|oI-)eKn$(F_xh9?Wv*WcQ_%s~yU@ zg7xNC=5*~FPPi9*W8ThSUA|gQ>z-UK&y39wV12OKylf?Jiz^B$DzzLk@uW8?y=-h9_@()GuYsp6x#8*&|OFeZ2XM-^-r73G8(9ll2P2ud5&pgY#8T{67WGSM>rr(lJP1u}sTJyg#f8LZiSl_OexVOSYwMC`tey14 z@1-r#tgPCctbEjzUX+#3nlgDYD_@hz$>kzt2buM~yy01vdA>YzmGAw`PPFHnbLZeo z$uSo)k))Tumm&CX^4E{E%s16dTqCoI?>JH>7d~go_`@S5Ro=O1a=(+4cg~Nai)1?f z%B9)!FljY(Bx$+1y@{xyhG?XAQdKhr;f9@3J3E!#_0{>4c-D^d2&0`i3dv$s?rn zr<*dGIYR35TK=;?$WbDj(o3d(Dly6X#FXLVH7S$Dru3JXGP>#*DT7;%F@0zK@`HRn zM?Pj{{sM50e5Z-N_?i5aEv$S?z-Tk%n2(Gvl?>bbo%XRGNj^YmE&NFaGV`sx*_S=YyY1yv_LZNc2mFhVmHhCMtejv<|8i5N zS?PUh?k6j=^5x@9=7YzZoM*D~2U7-3nn(RgR*=x+OY0Wj;mUrU`CMhfZ zyCqeIG8yagmdJIpqd`IBP^09;)&GAoG zj(h-K-rT7hnm@*tS0l_pag;UFyyz0VFV%|2$V&_6BO)9c9vUNWOi9LM-;sK!Ic5eQ zm{|lLW;05%`yZRq|0H{4arVd((||KiJI-8y_sr8yw0;>QTg2LFKAiQ^ax*vivJZJz zhB;BlzK!d3Ii1X2r7>3?vs&d%8n)S5xW0k)>{vNN{10CmEA2^EnmH!lnKJy@l+iEQ zBfpyIXM6RUvGSQ&`2+Ap@z)fvh&`;c~URR9EPBrG38F)`;kIJ7o#$9Zim*&k=$lJ1Y{+y}hJ)h0)rR;v3m9LvJ zej_UvnbLpLl;K-4CGFMMFV1?k_2R5ozslzGwwX`Xt1H(osX2H?Q%}wV<1V2KCYnHa z)5$W`;8s&cx0|Fr=Ki&&46id~ zG&y_ZdQ+xzPPeS}y&&tQJ?s%oS6Uh(w}6maA{s~m^{huZB3jZmn^wzhCR@lGD9y}GG|71$&&dqvP+gc zHN);_JwLt_!%|O{;{}u9zaueog^y><#NILw1@D?l-utFZJ}}|atWPeL z3vMnq(IhdCryrZg&$NELRD#|_Goi)V<4err^3BB8$Z}g>nLw~q9^y(L?@YA!)wf|= zA5F9eST{~GSKQ#kOV-zu?CfeEZIkSEFZXftWipj$xtVX7ygqIXE{%poN&RqIbZxIXSK=ko-sMzb6G>4 z&+=c)%2!S4zhTPYEi(o4Wfs=mSJ?7y6uH1cb}rkR<$PeuG%JIT%zf_@Q^t!;8BRM( z>h7wSh}`8Ec~RQ>?h1Q1ET3nV%R-oMYzS{T%Vd9)m5WW8K6titi~cp}?knwMkCEql z;g!-0r31N+J!U~aPc z0L3~Vw|+3tx0_n8n!kq)J#0`P>pI^a*mqcO`PRMOBdmY>^00huj@&$A?hYL`r2nA( ztp|O3K;J>ulfE=0`P|HQNmeeG(rO-RJ$#kj+jR%@@6&r&|G|UgEBr>7^yja!4;egU zpZ-Hf^cg&GVBbN*jA$4utVsb=Q;59^odzNylzY;n!Gid^*ND!Xsr1Kq*>&E#LbMxMP4wC=vz9@=}L zJD~4~A-#v`MDDr9?$fXLph0~H$XsNi_g`bnH%AQ};r1Oef?V_P!`Ilu1`m@jlhVgD z_i>qOvHu{skipe<@8NR&nycmG>_ZP8m`&(u3EKM%7~JQ;5kvbQt~2}mYFk&r+DC4= zMtW|Q>8=0HoqElG=iXs*)2x42XJuPfuE|R83)B1KvT{OJUY3=kCgH+aCleTP^NT`Nu2{uy-ezt(I?-dD~@vz9z}y*;Gw(7r8sn;8`o#^$|j_9dgpps zszLkql@+w?I$O3mO?+7%F0Qjk*G)DR^M#%^`L~n3b+R-!%$hqVE9Yg6UZ?(#S$)eh z+v|`%S=**x|DTQZuIp`Aw&%VB-G04?nk`y-arS?;eeU%#lgG@2?Ytc~U2n^h?%Tgl zU#&9Vq(oT@p2^CES@}{{##y;2D_gVj{j5x~a!FP$m(prnyAM4$#U3c%FE%27AYWyV zOtJU1o}6MI+J9g6uZyPI{rdLbzn^XZmrk|&3?49eh_>pwsnV)d+4NI0efegt)+x3b zIM&$;rkNddXrCed-E1saC-U*)5@RC%%O^b_QdDRPB{bq2TvW?bth8;)$%*0)pb{RR&nCU^U=sy?441H@2k#tpw+ z?Qh;7CpYiiVE2(B+&;YTkijEd+4Ri1`&cU2W|&-X1G~)HA?5CAvJ6wcJiCx3zIub` z#;lz|)=o1dSU=rh{~x2wduF0Cu8xr5RR*a2v%Sc=d7Ay7A>?*5@!PY>&CJSsvx({u zHlp{?q5bzClntq-k#A13S-xeaT9{Rsla=$b^0BOpq?BD`*pR{QVX~L*Yg!;ff4{-| z%ByTQ+WOb>KG}J}!0fwg*6G)KO~2+_k34m;-QGin^*3u+cE};J-CA$mD6@Vhn}vMy z&yDg@jWz2g+bRtnV%CLe=505bT5@nQYs5S-^CnrFhh}%*yUFf5v`=pt^4F$VAKxTX zT$nZerEI!uLs^wK|BoumOqDpRvM4KCv+{jYy)-~hq7EA1${QSR{_RTs@Mc{!Yst;_ zp>hb4Mam8i@)dadXR}&(?uuitDB?bm-l-C0_1mYFBn z43}i(a-FU9)GbnZ(9mJM!^rZ$iC^^(HYlR#7$^{RS47uTNTM3%caiwdc~8 z->N5|^0i4TZ!@#I*wk(sDz6O7A2Cjrul6(F8$MKD&v^7Udx$(o{>@_xZnKBUhf;p? z*sHhM1F{R1{N~ZOZnLvDR{Z9{4{o!wzcl{l!6mmzZ_14GZ>D+hHuD_zHz^BEV`KTU z1JgI-vzu6NQoZpfWDkaV6YEW4Zp^6j^z{E-y3eQo@6xTF{(rRjr|JK@$d{V8zOK{c zrPKeX$zyMqCVQ7^TlFTIm?_blRB!xAn(~HxJio!3ut;vK;(xtY`>osMJ>2r;M)K;r zT>Rj8IWzv?cG=B;^T-l2zsOXV*}j?GM0(@Bl_}JlNN-wEbf>8hn;RJ!`&iTOu;tq) z@4iDOmS`;18*f3D>FdoDy$SRt(wo@a$Z;auNjZUCBiGX0cd(r5>G|wMGi1X4$JwN& z=#95@rfGt2Zn7rKm|>c5pUDg~7V1r;H?iKd>P@0I-ZGtv-YmTOZZpl7^d{Du#N6n= zbkk(B)OOOQs6*5cHPm7|DFhv=NmJaI7X3n$m3}Gg>=n~?QM;s^*kQr5eY+AgrgFz? zj0<6*TK0-jq3jpZ#>Doz28FaBzr~;!b&fkqc4H*JUUOns>X984!_7TAET(o`OiO|7 z6_Tc)!O z%|WyLmZGMhDYV0q-{ci*LBXy0C9mX{WJ%;VDfk6>IF!c4g<4#QyLzR#SgE-3Q;AD; zuTlP|67^;A%(9vLfh?Ubi)?-(`7x#b$|J?3SPq)2vP_;`mxf7$T(6rO%gj>gyrioy zvkYusn(E3@$)a~m?4VGtN>9awpfTMbC`4OU66w37QCbug>hiU3(!xrmQmx2>n}=kv zrHt)F=39|vmC{W1KR=!=O_HSxvY%S5=9>R9Bo9cHET8YADM(E|)#& zig=wLdBpaLW$A!oIc)Na(PpwhUOTVBZ-@(VsT|m{=KVjH%W*;KmSqxNHkERexgMJ3 z3LAq?W-BsxJ4TIOyR=xXrv+)b^lQ>Fvi%L5vMiNUF4p5_sT!4n#-x~(s%F)c!-8M* zq~n}wJ!q&(ciYuUtsFPT?Q2Pk-#P4(t{-iXZ0L89xq6M#i^W=8EX$-z<+KcQw;3bjvAAK-w-vXcG}=?6wA&MlpNW#WSfv5=}9-1 zK#Kp8Jl1(DCqlUCyHS7{JC+$Po z{@aHQUdOn}m33hUodVgA(k8R+q_@3huN1B)^Gce$=18_csa}jX2&G~wgTzncBZ$?%nE6zpfT=H_8Pom+#>m1B3asY zGKZF^kZ$KUnEq*w+DFopZeo`!vex}=!fm`Q{6f`l@C)Ujt5-}KYqBZ&4X*1X(gjJQ zbU`6%2#ZOBw9vF6Y^-^bP!3B$`$!)2WFI!$W@=Z{P16m-4mHmX+NY&*)KoX?xteV1 ztrxWqWxUxjT|X%##i*2)!p5*Al17wW`PHAQj1=qsBpp-PA_Lo#y|P>`r!7%qEL&70 z+k@QxP?Khxl__IbP?UQ`GgX~4*btXC2lH*GQ@j! zQVd!u<+L&F9LXjr8&1@icC1un>}X0PKbGCbO`4NJJ!+`?(v_(UjZ$}@84+aBWUgsL zEKTq?3gmDiyPYpTu?$^NLsbq9G8V-$(=I{#x+^ovQ4jkzFf0aY-JDZFATu$wbqJswWF8E8erEZfLuH zLm-=(49@LhTk6Xiii@EPQnKFsV!c*%WXyJ)a?&7MUup`eU-VjJAg?;ILwQA6I+@3R z|M;>c%jBdV0_j$ndm+fS>(EXc!%{5UQZS+-T_XpzU`tPixO%*S-@$80Hb|R2*{fwx zXpv<#^@?86>mEsBR7_;&k)bgy#hZH@*Meplg#9gpVpZ z(tq+VwxxgFaw-es$*&yL0@Dw&vBjmZAu87V4slVY(=07&2xJ%xrJ^q*a#9KkwLrE6 zsUZCvm4cR7#>GhXeA5cME)TlC>}!5Q(m^)zxDd*QQMJO!)|^{z3NH#%B~a?Twe|ciHzQ%tX*Gv zGHR4|t{2EqElq3Zwc*7ih(lv*v8LBuPB&AzN8X|-$vb?MDOMwgDEgksr#5?P0?OkS2>rr^qniYpx| zr!G?2^le-WWP9^l{06@%EXV`W!PTmCj|@jL71?g8ZX_KZv5q`i(zJC#i!ZIJaTV~=z|EM4u((#PG>9#J>HN8OdBmIj#F#~YL z1w}H)v}4*>uT*P}phH+pZ)EC9*>%X0tBFvV%yDbWz=t_L}8S1OcG-C&J197{w3rq=Imz^kUgv5#>6#V;*|uUi>yo2& zbEOhCCUTNv%Od*H9brQyHoa1c8*6D}E!@D|n)NTEd?FM6z2EFNdQEOMEQWU4;MuFO{Mo;rhyHcsiv}Eb+T3tf2dg`*M^@=a!TWZIJq`lW8 zEX135vQG!4v>}zf#x%Sdw$$ssbX`yk<;hQ2Fntop1k<6xreTAu5m`yHZo5Q@~{xu!(sjk*Rx~ z&Gdq1bJX<!7cKSdzB^k72k>vzJ4k^{Bkd!=Gf#yU?YS^wUt@MR-X+17_ zrAT(qwB)8T)o5dHBWYHrpebyLw@4ag$S&5a@rFrDT#Or>xV_)roSXX%u_Gs-4Pi^T znUi*i+Xv=^y)l&GQI@1Rl7nh2OE1&gEb1P~faf=bhkK=3v}MvQYN$npnlB?x+>|s1 za>|f4$$?0gPWBA1#p_seWdDz42MCMa)`2XBWR|L)tTj&_jP2-mlsSR!X{tN1WR!#UEi~1DDlh-7P7Czjb4|e zQO@bTqAXaWTlSigu2sLQ9BIml9W=^w>-MRPdYuJf`Ix(ZHCpn=^OeQC5&fC(Hvshnt!muQ} zeIQ}agk<`G>Dr>#K5q2INwXY7iiw$|96R+V>?&2Ii>01)t|#j;%ADBJcA0n}>(u1? z=BHSz$o%D1mRhaq+iqf(qg0FSG+X8QZ7M@XAkV=gsTP^7O4{nlW+_i*s$s#Akt~t5 z85KP{mdC4soCtN5CCp|f-6V~Pq%r0;Z$v7MNM*Y;+k%|F)jWCjV$PL(vk%INMPP?T znX9xze$5ZJv2?1LqGz5r$&f6EGBa~IPPCX5PXeI~>FwgCwJZjOuoy{;eLHT7vmM2> zB+YghsZj7r^|WIo^`c@W+8~jR&R4Cum0fyWCUQWON2RBJ`>2c$zHRD;cKH8$E46={ zCTBKM%Z_E6j%6{T>{t3*Hm<1P*`7>Se$8~{H_CG2EN0@V#LTas{djUu&Zbe_)z{7f zb3QL!>=y$0$?ls(Nj2Fr@|*khnwxZ#s-pkTEnEgD`Z~X@g|bfMEXX+}*`p-~5cV0h~$IZXI{<=2x zBkF%3IcEO3^ZK5-Bmc~eng6;r^{e;j{J)a8sh`{AoA&$Wj{Gw>rvAD%_2YZBekZw~ zEk8E-rhX#7=AW^tpBTtLV^cr8PwW3q?wk6#P2AL9x4%vOb#3Z9v$cL7xo_&{mb+Q~ zz}%64=El@t*QS0HYW+jyzNw#E?q>CmWGgl{^>d#h_kUNC{(NlHY})7H1k06ZvUnT5 z0b7r2{{6U$BV5Pwg&$e{0Ly1CGuNNc`fIR{JIQut+G8!y_*S@rcg6LmG=3nSfRDgF zJ_QH(LL6dwYf(18$MAF<;|FnypT_=6I{&wDh*x6oRgHgxgJ0D}88OWAh21yH`g=nh zZ>8P^Tid7yU>~1^z29kkOrHOH^^G{i58--GjlY)1@k;D&tMNu@n`vK+9bDN?<9p!{ zAB@Y}YrKx@cp~=k9XQ2L;_41s|6Ls5)pDfSOgPsb5{0y_t4ycJjRH#oo@ zo3(ur-T_+!wEkalGd>8H@jtMSr{Wktj#Ku~l zqqs6y^FPY-ajBio&%@hd%hmirxQa*N8lHj^{5WI^s`WNqj6MPV^4bl2% zV-HWm)=-Tvz*W2~_b`oj?4a{=@vgXrhvNjFkDY_H{%yF5pTiMeg{?z0ze`7*pM&?n z0X_mp*u&LBwf-HrhF`!5PO&pw^SgCoeut^|#ua=luHp&U!?W;Iya-RnKjIK?(OKsg z99K0j0 zVHcl^M`0gdpZf%z-h3S64{`ZKjTbi1`E850#=GMEaTTAM`y{P@1@`d$cq(3mr{nK& zhI*;PmH(4&h;Aai#=S+ z^YOp1dxPd*pXcKTab=FiU&-_F7dXQ0Hq!QZ4{823xbm>NH+JT!kHi5UjjcyCeodZ_ zXX7e<0oU=;JpWOxU)WgN<$y|3|ya1FnZ=i?7>gulh%2U@@DCfdFv zQSXGyOVoXE6(51)&ow>@*S=R@ic@Rz?D^8o*lVYrjjNs1FX8|%#a3sH|BNemy-l^f zHM}kM@n3L+UF?)~ddFfH*RhAk-~?ZXt6jAIOkCSU{Vb00$GE(y#(%=WX6kP8x{!H3 zRCd%A9AY`G&f>uq8kb=_v$Lhz!^u`^*^RTfzqNWU_O?;Kiml(NSLAVA+Fa`=cysLk zUi0_FR!{XX?BFx7i!aUdx7GaVxQ?H|DQ?Z{Z>Ra+;1G9ow0$w|iLD(pe;@4Qqi~AP z!POl#|7sllL49wYkDtSCMdKgiI<~f;zwl<*-C6VZ#6BL1on1A4MjqcyJposCS5MF5 z_;H-zRvi3M^S{P!FLlQ)wS84taRtk=evc!(Pagl1#*f4SJ_oydY5c0ZKE4+x_*q=u zTk}88^YKr(@@I{A+e+IP;tDSRMdJtJIz9pW*u&9ZHU9?eR@HNHh+oB4Z;h|OULSR7 zYubZ1$K`!Bz9+8W;W)r&=lOj#|7z^w`*5Zi80(e`+_2Tt%Gajn1R z55W;W16L2w_@y|&cVOp0jYrtS@8bl2kF5ckzuxb(eKouj4)FoFJW%sb$n)_SoDA0Z zjd{MSo`?M*>NjwNzr@Z^jko)~wx^1JhXdRjN4SP7GLV`5zdv^H zNbKWF^86Dt|2AAXQT;fM@H;p>N#m>Y{E_PN_S&8VZ;#!RHNHQN@v*paipDR%A)boM zr)qpI_Hm3;yb8OgX@1iV+MYVz3di^_*g0ME562$-#Q}aCTmRH}D|Yc}9G|c8&VSJMSQn_b$DXI&4~O_zTppwG z^Kk`F#Xg>s*T-+*6n~Z1AFI>rSkd;>E>iczDc%<+<1{`Z&%apxPaNUNxO|DmAHWs- za$X;QmgkSx{L;?a9uGS>!F%D#1kFDbhZEIj=K1&vT)SN3cVQp@8>cwI))&SU3+PJLcAk(?$daG?BU~aj6Ljznm;Yi z#}8xcL5;tTEBFiS*H2j!>h25t-ZB95ndmscspEqMW??vcHdDSk=MtgvGuOTuf_g* z>ihHf2kMt`fLGx1M;dSZGusp13fDi@_+PQ}iTX%fUaTICeSBRWU!w8*aUH*coliBs zBCn5|{z7~3Rye^`>@TG~*jlDO7kl`+ygq&aSC?!4E4YSNV*fLZH~m%H!egIovX#VTCj=#$Dai=Qn`BL+@!(po4KaYQ{J`P9N!|68~zY%+@ z)sNuncj`CueEc;|zSnrC-rAm8n|gbk;Qev+2aO+(Q|#sSf7JL**u#(D5Wkh@|D^d} z;~00|N897Bp*=Xn{c!nb+Jh^246gk`dvJ;$#qO^fe+vir8|>Il_I$o`AKHU=z#;C3 zV>}X9i&}p?4)N_c#S!)zH2(u!X;lA!1Ke$2+S8=*U2ud4W3NTyr{YRG^#ts+SKp2U zydaNv(D(<~!$0CmM~!#utL+K!t~kPjaf(mN^E=TVT<)yC1N(SEULSvmN^V#g(lzeirtzk3)PPPPW$k z=W%@-^->&T`v7f^^E-`ij)R`+y>N_&?KHDJRkqW7xq?^bbbIwG z9PFTOIZ)&Aj_Pf2Z720U*!_e0=sX|)6Q}rk>{K*=PM(irT-{mYpW_I(44{8@(fIGM zhxfq&9)aUsHUFQuwwrnij_@2@-d*Fb;X3|2&&TZsYI~}^Xb-OAJ~;i8#z$ahFZI80 zJWM?$&&Ts{?O=_YtGSr<7vt5~KUCx8L9}PMdPiJ2Ox+)c_(WVgT;pSLjBmjyo{ya) zG`}^^$E$JmNR4+HtnG>Lj@UU$;|E|5pNIo|5sr`6{9ABsg!(ZY;Z|I(Y5ZGU$6Z|7 zgLlH!<7f}A}${xaw>CPF%;&VCQa)CwV@$hUxr6 zyg7F6(fqx!d#`#pPVhglf1k$9r!36=Yt2&6!XbVEJF_*u3|DdSV69)r4t7G#-y8e* zFkHT0a8a!+*vRJ}l3ltNCYR|6%pjc|M+v ztB-2@MO??rv9n0yr9-tnRlGHxiFe2GN1A^yt|aQSu#d0C(Z?E}jonYwFJo)5+FW?W ztlv6r96~{8nBc%T+nD_EeW?ewV}4HT(zc zFW2}0?0lv^1$%frj`1D1vO@Ep%JXr8t_y(Ee`G_}w_c&tbov#usC&z1liL>pOT8?BYGK)j{(Q#&vuqPVp6a{f?S{4-WBj zIL1q`)tUAjsqOLcrZ~lW;%Zs*55WOGGtb9Y;`(~DC(p+VvAd(jm*n}l;V5lSjJLs+ zoix8M_VMvJ#bdEk(fnI*h#$wboi+Y0j&U2V?4t1vj@I^gcvl=?7svRFJbzcMKMAM! zE?nPDx@e*9wUE_rjI)4{$j=eoJzBexaQGGbB<8yF?uft9+&3_=z$1zU-r18)5 z{JqreYpkDP>Yg~oeX(-r?@;q-SJp$PaSWIBfKAWYMOs+o{ulY>9HE0 zmggU*o`>UqsTbw>_*?9rukj6z)AodT4_v-Lln{s#^&)c7^H;;A3N368NlM&n=N z5O+LY=WmVG_zu{?2VfV=^(6Fs}@$9Jh0W9x2p;Ut~EgEzx2-Wyx@X#Qcij?cj-Ylfz^;7lUIKhYJ`AaqackC`xUxv${ zsb}B_FTmjnjlYL0E7jlSaa=x~{#~Wzb5uVELThdnG;g30!`$`_hH8wdCW z?0l(lbMX_ie|q>=oZyYl(72Uq{%*MPm3k14@X6TuTH_btI=&gFt2I6^&;M5a2KMmh zIKUnLMt^;$`P*R+?}x+hHGT}PwyDp@l^@ho@_al82R~~3RqXtvUYW;nW1aq4qwy`V zhyRQdd>F3%todi*2>aOiMdSD2Dt-_8U3?mj zOBx@Ktp@dUT*FUb55J2O{B2&pQR}aNrnaY!E4b3E@dI&!Pr`AF#>Zl}o%&`R;z#m) z{3cFuikG=$k+duqI8w6>>$x5WYOhs)b)zFgcp+kWEh)MK!>z4~Tc-$DH-PVw6~*iqx( z;POuD^0~AJ?|^H#KQ8}4^H0DY9*eDt#&6E+<&|3f@3@# zR}R+rlX*UVAJ=gk4)6y5()PHAX#JgWga_g3p|l4Fcs#a-YkWF(aD?5%H2ywL@DI3p zxW+d)U)$s3U2uvA;p!2Ze=3fSQjgE`@$EP`N8?eRk3Yth(HdWaUEJ{kZBHFRRfjlySp5`^pHhE-Q~W)Sp4NER3w3!C zyaS&3jK=rJ5k4l*$N$3Czcqg{uHgIgeEcHrCm*abW@ZLGF0z&q#uMdJtJ2%nhySB-l(!PBtQVXLe^ z=3*DexjSln1s;i;FVgnZ@isWbRUG5PanMPp_YWN5E3w~M<9Fxvd#Inm)+XwYa&M~s z0Xum8aoRp-GmY0XHNG(}4^r=*d$4*iuHaL0yBZ&d`{7%# ziyy&0UWDT#wf+~_I!fI#LEBe7S-lmmg zG=45l@U_^PsqtCZ#n0!yOXG`i9TzUs_Jnv79OFH3aJSY!2uJu-JmDUVUy|qJAkWA1 zaf08(<$JY$n&;zomuvfa-ly^3;R^19>-gy0vowD+_VG2jXKVaE9O8w!LydoeWBhaO z`!&Ad723Y#co&@F0l4yj=AVS?PpHS>0N;p{7c~A5F2AULE%!_6mAHZ%uhjNbUe>sS zUA$NBS2TVwuH!lm-_`g;oZvfhzo+phvGuqr zJv6>EUWfsq*9*I}sI&Qg6+Y{ogb8n{g|AJ$DSZ?{^ z1#^Bg3a9vr+>XX);_?>ir*m(q{s8yHZMcHFPS*C-@s2p$N$c;A6MQUo_R{#ju#2zH zy|>2i$94Qt?mugMDfV&UdTo#Y7mfG8A>IS02WZ^I&VlMva}Q8ojH`G$_V5!pz^%AG zQ0sq#ecW-1wr}_#jrYWLybt#AQ8>is-~?Zt=MUED-HY4sLTtGj{}flTHC5YFJxJpl z;~L&Q_YjQ_#vVQ;_fUtM}qxq2e-B$XtG~n5yVd2J zwS9HGeeQcS-WU70miu0fpNB(yUGDodJ{!mQh1|0=z67V(zD3(pnXU0nv5WtRolxUL za2211oA1~7_&guqn&;!ka1FnOef(9P|A0=feW2}|iGPnnyf04ih};iq{c~}7j{4f% zbJeqO1wWtrA&oD_{qQf?#oce!_W5{M96zP?2V(1K^+;TORXrBh@lCm7jX#Wi{Ce)! zG`TnaUZ+*9_+lS@#kYq|O>TwSg1aEG?1j(g_*R^xrJk4NPGPUGj{5Kqqiy~gjy zF@8CBo5q*p6gSP#_Edh*_~zKhf50K`W87Xo-?x9y?EG*rPVsTLXMc^4%JUCUPsCFW zRNsu_0qVK9d64>fTpg@V@Mu@P8ixm|+uy0}TRud+Id+Dr_rSvsR`qcBZLj52Pk5n(f<)hRe;R;@n*T>)DnYc7lm#60ltzX7om<@ zfcxQ(u#bPnt+>ZM+CJxWt-mK8iHGA5pM%@*WL!N%>(9j#@FE=JZ*cd&X@1vxb^bNH zGoFcEoZ`RXUUjX11@`cLcp-iXm;bK$EAepL{yv?5fVaoX@qxHTB<@gg^ z8K?Ds#iQ}2bG1DY{u6G#So06XEHl zpzM;{48FGU&rMeHUC3A9IwCuEdnit^3C!TN zubzeb;rZCd3vnxc6FZM-{ZH^n{3QlMwPjXnH0UWi}BwV3C4)?=vVjnNYt@tbKe4zE)Kdt>S68FH%Kh*ecxbl&DA3PenIKoHc=0x*P z!!AA#Pr(y#f+ypiA8Y;FaUDN^=ivxjpJ@IoxF3EW`*;Oz#ckMGto0k8p+B&LLtMd? zPc^?k9*qyh5k3JoFV*}}*u`V;6nrI4@J+bqGOd3PuH#4WJp3HCmTUf-xF24Oef$+} z#lK?bGp*n8-}DFWfkV7IZo_@?=#^UkXdL0waPumSpNCyM0Z+k`ae{BhJwMm_58yhE z@I3qqw!YB(_i;bG0{gfPx8lZUb@`nywf_2eB;FE-xPsg80l1oK{ljtem3kCz{#rc- zyZA~x1>b}dd=KvVjn;nz*YR_B9)1&Bt2KWy?uWm^KK>QA;*QVJAKz;I9(W|)7KgYG zZo@FJT7OGC67P*eJOEdI*8CIjXgmr>cnog-Mf0!3F1`s*!S~<+g<7;=Xvft?{FArKmm)kH+WW2v5Mx zCC#6VU3@#9f*-&Mj&RQgt^W$Hwq`F*@TZpAxcr%CJo1qaRQ z!Fjx$`eZy3kHsOr3b)|^SKDj-*?0ne0>}7e+`WV5zmIEpC7y|Y#3^ohQJ1$@N3Gu- zd-(TwA>IR*J8AyDcsL${16;$)@fo<%S?m7`kH!;mgs0%Lk=egL=O z1-QDQ){pT7{1J}v7r1+O&HowKaEF(5d1vAtIK|uIUK?rsKVlE}#S8IJT;5pokHN$7 z-*AA>$II~~T#*ZX6)ek|ibvx+afIjM=1nyJY3$+;@f6&K6WsEOE`Mz^t=|JDo2&Q0 zJsq`+>$ryJ;X1aq(0mW~!#?(LfLn2hoh`L~gh%2Shd9A)IK|biw7&JKF5d)P#xdUf z|50`)a8u3yANNO#b{$fZ)Im~;rjSZBSt?tmjf5OY3T12+qM;;ZIc3c{vJ|2dBBeUn z%0A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

    3l6UVE7)YTL{o-j>BT1_0{ z8cjr6(&gYmh-o4ck$U|Uj+a&*$Hb<3L|RQ85gQVbmc%C)4T(rgipE!~cxQN3aH5fo zc#Pue>PTE&ji$tzr2n95{dD}KZ0gaB{(g+1Kx_V0^6wo?hAZ_c%0no8HxH1w4 zzuaO4w=_b5 zHadGtBNWi+>@AH@K%=v_G(rK5&fd}p1+-2aNC))e0O(j8Tpo!7V7)jfpsK2dg>g_o zAuWspqs6`=SSJn&DA3l41Eck|(b>!16B?mFTPF^T*4IX7Z?zE$w9(mH8liwjXK!hQ z0vesYr4b5fboQ1;D4=!XKrGph1E6DZurm?|z|gbuprTym#tlaSRaG@CjDrFSX<-}~ zE%p_`I1w-HSwMj{`cXvdYoi~vG(v$k`cX?G6wv5LEsan>qaU?2LIJJgVq(d@ivb;T zu}dQ^2CU~|1yohlu+YT{D5QlhX0*7|1?#w20R`GRE@rg8Hu_Q7dqN`=XrmvsG(rK5 ze$>(k1vL6mOCuD}IxZ${>$@1xF&En&aWP;$7b~Eus)mIwRzM*wbTOmFoi13%#R@3U z)^RbT^|jHD%H9(ip+Fn`sHG7KX!N6&Mkt`sk6Id`fYxy_XoX`zc5E$(!|Ixbc~fwqo|8Lh94epL3J&teD|zT;vAR8`fm(8UTUq=hbKw7Am+>$q3}1=>0; zX0*OG`cc_?LL(GtqaU?2LII6_)Y1qAH2P6XBNWg&E+%d3yBN?h7dwUvc7061o|BbW zRa*x`H!HE27&@90q5`D z73{3)R9I=01V+wXVKFgs?nDe-&A@nVr@|tQ@#;<@j%ef}PT?^|Bo=9mS9lU}L}MJl zMkE$#i~~3kM>O(5TF^#fkw!*$NF33~=nja)B8`mhfJiJNGP(mIv4|K)zFD;!`3k4V z51wexu8u{efW4?Jv8uujhEZ8!G0}UhG?5eI-c+y?l_eHw>_nv#M>I0>f~pdWGW~|NGu|DqEh>@ zAC&@+Mdd?dQ7K?ADod=Yu!CV#mRL*-d((+=j40TN$`Xq-cB0aWBN`cbWp65xSfr7W z7ZOJ_GV%fm=WaI@zVv$BhUPv6#$jA$b#3GH1ynsk7A~Ny|2!)8xa|Kfkt96v9FO48xa|Kfkt8xk&zb=iA6+4UO*%k5j#<- z{n(F6fybiq@>o;~*o(>%t19eZ7?mX!6T{wgVjLq1cA~PxB8{D>bmE9cMqb&QN+cF( zWaNd!5seI>fJiLT$T$dy#3CZ&ARrQph>U}PNGu{U4gw;vh}ek{?T&to2s{=eJ7X~- zU@t~Wtg5hsVT_bmOblbhiLw7E*ol!6i!^p(#EBys83$!=Dv?;Eu@fUs9MQ-)2s9Fl zG%^kXBC&|bI0%TuA|m4;AQFp+jDvtkEFyMdM6KG75rM~IGAM z78Ao5aboO03U*?o#3GHI7;)l=M#e$en@S`WY3#&^6Gt>M4g!tDB8`lLfJiJNG7bVF zv53ex2#CZYBI6(+5{rnP7*VVCV?^Mw7}*|+5dnKKQestw9Smcn#A0F?BTkI{N5M{v zlvt#(6C+L>(a1O`dsB(TB8{CGapH(Z#zCNwSfr705D{J2S@42SF{8#Uq|RZ7*jH~5=Z+y4v$)c~3SfsJ< zx>D$fM*3!89Ac5izT3)PpAn7p%RnQsNF%*6AQFp+^vQroEF#h)10u1ANPi57{qbFW zISuf=@p=r$HyTFAd-;Y#cf42fFr=3?ufVF!2@RdM0z1?&U=lUX=rBM?@tUYGr^#RDvOuAresuhExVgL?swfJ0WD9POznBV|t@B z!(w93f&1e<>XVJ>p~h~HcE@`ybi{YFF+I>ow~pFK-wcSvVxqSrB#yL^ei;ynMH=aq z0g+flq)!G!ViA!Z84!s@MEYYu?2q^A%WKASPWYqi0XEl-5BQRyKjIs`H{{o7)o#LJ z%+zR)9QqW=u~#|F_$X~&qp@bjNQXSCnQ;=5iN=~c!@pOXXiR3jgqn%QWX4QLCK{6& zHzAp5OlItaWTG*-6I*UDq5(M@?pwtf*r9eEyMHy1N_8&>6&PwAaq8@9(V=#ODZ5^T zRJv?rCW0O6h}JQ0&NkvlTE~2OvZS*{RDxlJ>8cTxU`VB-MpS|!m2MhQ`&S5a^07;V zI+bTAe$MAAzR@*1IbR;i?*WxaC2wuzSy92_+iqJ3gW=n5B1OLfr0Mln+L(Fx5}PL3 z$ISc-Wz3YmK&A=h7VxbtY!xrsAeqX9E2E9LQZxb&_T?LORhr)!1s|x}0=@YLohI^o za{d!WWuks$ZtKdV_x(9Qsc%`3bKK17yK=}Ge>qMSW?zTP3rXMw8 z0=q$I)ra7iso06Hsm=6c>&iLaoQv-^6$=;aDTBN^elKNM9kX zCa&&eah^zBP0^rlBqFV*XaRzo9Yp1HE|RVNL@|ba@3HBw3;~R2c)hh4)+a- zNUMnheM2JBk~qXSBqA*-8u_iCI>Ww#92cUv>b|Q5s=TTd{U%rqRTVW_7+M7s(!6U* zs~9crHNiUJRX~BZPJkJ$uZ@A!R+3PltrKLTjZi@AM2ye~1+qHt$<-!XdgwT7z77%lYl0t#uNryDKyJ;6A% zmKH0ZKpQWMH(5d z0g+flWWWYQVi7TpX0vKHoE1(Ng(xcfE1p|d?6dsw^r*tB3hTPgwczROP^d?2O!OWr zP2`2fz3D4S;W$uYk;YC`I&nlJBQK~bu}EVlDpez~h}a1(B@&B>ofuIfv53ex2--+2 zA~FsFBC&|radoX~-_-?9uHMXlX8Mq*Ozn0ylL}HOf`fErW(MW#{h{Pg|^w)q$EF#ih10u1ANPi88#3EwHm({9$Uluq` z!;0zE_IAE-rwdhS32Ga=%c{Ip!X+X5@>XJ9s##3}epFjnMbSGu%gYiGSY_i6aR&+I zZ*wmv2Mch9y?D#X;lBLLL=~+l{EFPH$WO}EpG+)}+}?>4?Y}cpxcLsyVbn!h+<-Ki z4mX3Vn~{h_q;@n&Bte=hw1H}*2)ovqQG<4^Yr!0;s;E$C!5oQ5?eLiD;7CLYjiH)? zLBq=9#50S-3TZWQED1N)CoiwqBByeu5`_h0_18xK=kJd!XYL{s!A#p21t%Xq%c5~6bFbx zq2Y6+)zk?PkcdR2o+gG)OJW$5T?|b`B2rHiL#HJ%3>r;DB2rINFF;UphC!o=NUMoq z5RkkMEs0^!kchOTPJp1|{Q$uyEbQrBcy)QGA0Q8PuOK;6RZ^iaKyoA^g#n_ZI6xE% zyEsQ$O$>w5@E{S1NIgxx06}>SgGLjPRujV@AjQrEO$>vEM5NWkFbGIpO$>vEM5NW! z2@q7ANK0ZEG@6LCq)vc9Q$IlPHHnb`!TivE$gDF-4c%6!ud&-I6gpFmR4oHU=Pb>U zBN3^mspqyRkIva>BGPK=xUCi!I};!}XQPQotEuC*T3lBXowLzIq}4>{3`ku~bk2rE zq}9}MTePX~w!>zK)-x}6hwdDy>Y-3LbmvGz8g7!x7GKV8tXdLpk{S|`h!narG;QiD z6wwS2VE6V3STDA<$zg2gNK?h(IcMFj0clB{*oGz|5vgMgkYevdd5qwudPG`Ho!Hjm zx|$fljV2B-q$PD?8*S>xHa-*Km!xd5BwQ%j z=|*~vRJBqljPx97NWDnk=|?&s#&c=39BDOKJU5F!N|KI?A{}5i(t-6NU7H+6dX6+z z9OAid*MPJn#&bg=5|Kh*MfG}-4v6vGXd=>T>O{I07e_iE#&e^INUMqQ9FV%27|#uf zNUMqQ9FV%27|#ufNUNz6=`c}0(($nikM#B`eyJPVIa1X_p)j^{q#^ZU`%*u)0d-c|hv6i4ok8h_sqIv5htnX-SOWMiY^i)QN3q>c{q_k=Wku z#&(WW^-w5`?Hp-Hz1ZIF$2Oo&Z0AU;sT12ulCFB-q}9X-4oF>1jNpbuq}9~9Zlg^^S`s6;(L^L7dCdb- zw@r-ThD4;*)QN4hsUO?e&DPG);jG~#eM=lDjN2TkDyC5A-#OBddcnTc4|YJEV9$|O zQzzJ!Bs~-bJHT$R1M3C5HaYZ%9BHc9n+1c^izbD7niyxTCdN$Zc_@xZMCxhkMH9+n z%ru&aw3>K53`kywmb4u|E<_!OM5JDudLfANIw43TcBK@8?bLa*8*w>ORbHVm;&P-R z^&)PwA8~*>5tk#arcT5uNvs~331Bzkfb}9yn;iCJjx<#q;;M8ska`iPP)}1Y;y_|t zHJXUD)ni-*B(FnDVq7&OA`z+ACdOh*Vq7(vh(x5Gre4IsdYyjb1! zq(2P>>LFQe&zsmgr|`?8lfC)mY<{#noSw;MJ9)QtalC($rLE>?=gZ0AVug2nZ_g(t zV%uLTBTtiEez}~zHqB)0Gi<23_mFQ`Gb{EpHd)I(j?5~r|DMfH=a^&XX;B66j&_^1 zcyF5}V0%PeXz?yMGd|H~d?MeAIb@7-7Fqqpn%$F=TPx|I=@QHQ?2k#IU$#q5uAb{y z;HNTL;#BB@hEd>lZu^SU`H*fqd@bEJ^xCLG6?**j`i{e3lSgQX97>~7rhr20voR6jXS^^@~dKRHkJlk=c{ zNM`-)t@^F)t9N%Msjn<;`|_10P4Yby%5!WJ9oF6%$qw` z+tkZj+jqByta^>ot~gvA&nJ#vTAlC8Mz}sI_pW_ZIw?lCM@ts8U$UV6lDF2P;x2Km zHo@(qv%~3X)i;O2{aPy=RD0XIX9v22!gDw%JcmaL?{s8h3p`S|z$1ls`Xd!CaA4E~ zcls-bN7$VnOKdgzPTSuFK4SG=pBDVUG+Q2tolec+!0tIbQh29R6T8!?IXqH$r&ANV z)2RvWbZQOk1~90Rfviz`x0h}}?N)C!-0H3L z-j26=CSJ{7y`~_Qq9B!U!Eg7BW3Prf;x~MT_#K}KeoJM7-&2_Y>kLKvU6mp2t(2zo zUMg#Z6`?Oc+WWXy)62Qm2uHGPsS%2#MyQY);X=kqjZh>tLWR@_6;dNq2pS>jY((94 z`er28G_?D6cFrfq(hj*-7eT6&&hvC}`jjr$mUJ%D*mQn5JD2Z^rSylg^Q+nUH9OZE zJkc%ka0?{WxyEmdso=^AJW-qq_fdD zXQTCe$j?S2osGsh8;x@|8s}^@&Z9=7EolutZ?t$s+31JzMnf1{ZGt!31h20MY`6&- z!lnztwu@k~27`*gR*Jx8iokY?z=nztwG`=5OC=7% zLD&Ql*aQ*S1QDVpAU$eAd3zugy_7cr!q5a0ya^_FMMYo}Ovn&6K@c`U1U5kgHbI1_ z2}qBcP)@_73BwmDO&FR0WatGGyrLqo2_|F+n;;0AAOf2p0-GR0)C8nQO%R)wA%kzC z`9n4|K|Y^GM>4^C!33|U2yB808NwzA!X}8oCWyc$h!8aa=}{9zQ`rP8Ne@ksWotIU z1aE=~UQrR)1QRlZO%Q}l5P?k)flUx0Y68-uCg}X9Yy+NCWsMMNXoXAO441sNDzPCh z13iqf*oy0aAN{sa`Qn-`QE^^So6y&*Q8eA+*wA%jRt>{h&oUALehmdd;NNYbK>$Gb!jb1yZjKQzA21;e<0h>KmL;rNJnIL2{$G z}XcWb06qRTcmvSDBq8N>$5{;q~jiM5bqEciO0V1O`^Te6_mO6(Ql?J2e z&#==dE_nk~qETGRF&afN8bu`<#ig7_qbNqBs6?ZvM5Cxgqo@=aMS#dC&6IM6C(W5r zL>i3Zl6#6v-T;+o6qj<0Mp2ALQHe%zDd*8BiqR-4(I_g>C@Rq?Dn&*SATmlb`<%&d z7Z0AIKXjb#q!b&%$1!h!N;HZ~IYy%>Mx&^drlF>R4Off}SBVW*i49jNYPbMV!<)(I zOn#7dXt+p&H@M{9;F32^B{tlp9Am>3W5ZQq!&PF#Rbs9_i(; zyk=q}P5B#Xy3T@`jV|vEHqv~!(X_iX0rdwj-AYMxQu^tH3)^{3hr24nqHxs~ zqyr?8c$&CUBX?qg>)NpyM>5%QT|P>~WWA zNSE2?F0<1`&U!tGS?#laH?*jG7T$&yHP8Cq(4yX1?;BdwI_rN!BL@(q7v{=J&Qaf` zVvA(99a8TX@qPC+1mI^(&egr;K2pvlDAG`oHn9jwX>0El+&h7e_ z&WCifu%%mI*}2&^oe%kK&THvrVLLakuyeDmotrnk5}ybo@(l;mY}( z4qu_xxsu(!43e24VP*%DQr9La$5Q7SmU`EuWWXflyyV}8C4-ujENW6RsY%JECIv=S zpmhK(kitv6038pWj?OO9ld9yVNavf(PR;VMN< z6(DM=>(lEtyV)ggkxO|_wn#CX8KAW)u|+QBJhn(Nwn!zmNF}yNrKm*$bVCA9ob@xi zGJ@mdmzTHlMMx2)Rs$$49V8#_oj5#n7T&NNDblbYDblbcDblbgDblbkDN?yGxoqS^ zDGK$*hpp`MzUkbiXGr%~cQoDK$4TeXw9I=gd3d`f-I!p2=8P5RgCae5MS3pQK`DAJ zh1+?$)JwYctEF4Grt=}cz2;)+*4K7^$!C&Mj`g~wTlm^})Bl=W`!f>N&Sm5IX;Z*> zSWJ8Bxi?eKy_tIM)y6rSspmsFn~8LDWGkP|L^_*^b2d}YhjQ3Vq({xf3gz$uwNG1@ z>Re?r`GHDQ1E29@Gxgk?spsBIJ@;zhoXynpA)U=cI-7}eHdD`s{A?!D*_$|LGjSd@ z6Kjq^Gn*Ah@qBw149(Q&@aE{bR|Ds4j-C(cY!1@d9GtT`dOqZ5bCAyF;GE6DdDI-N z76#4n;ex$*C<$l?zH!C=(sS=Gei}~m3}Ie=$c+JAe8MeHrNy*xx0s%LOL0z%>G_aO ziy@sB!#ORc=R7=0<3{=1<_)9?iR!MtE_O%Ggz$r zAQo*?dG_aOiy@sB!#ORc=Rv>4K9F`Uz4IFBrLDYTdvB2E9%@X4WD2H&-ykLfwn2Or~CUO+5A-a>CG zKHHL~(qdY;TTIWrr8uX>^n6IC#gI;m;hYxJ^C3SihICpC=d>8kBa31BANZKmwXm31 z9J!kr0F}^;mc|sp6UIwPc_!e*~+*=1lw1%D!>9hvYc`e2{t)b^betTQh z%BN+JC$bDC)PZHBtim#0I9?a0W%S%FgAWT>;ZTZmMxUMww~Rg{2hoRA`jQqtD5YhP zPCvmpEu-f{ep&|U^b?%ZGI~Dbk1T_Ud0?4pZ|0OmOQ!7|bIA?PEe~ zAW07_B*`=p1nBcNh(IHmkRddaAoL&+Xebjh4oxKpy-0+}SV&LSDu0|=X7|b2 z^icCTgqOQlXVYUVbu~X-Ob?IGk9OzQ?9=I;j3SjC3J}byKDjwRn;g&Yo=uk1n`OH^ zWwJj%n;lH1$9t3I>B(%qS^=2dntNlUX0(FVQ>39Zt;YP&Dz3Fif;B2h@}jyn4!`Vt zH1|fqGQK5%`Vmdy`D%H%m|440qbCH>$y!-W05SEb z<;WAnI7}T{$&&WUf`%Le(d~GECd^OK-{`%?8M;igp6tWv&=ljzaPCRr>NdL-Dd+_8Z;^>_He}OwRbw*+ue~g{6&oFU(5#e?@jx=@A$ss z`RmLfo~A&p(a_&T40215OM8}4hiHYKjJCRe`j&L zcXDTAetdg=hyn9HI+0nWALZi_DS;NxlDuzc&o->m_fc2RXf@Rf-o%n*6d1f~x?CRKa|9+smMd_1`HR<$>;$h#*$H0r zcL?t*JBHWM?QCcBnrFMZb5M?BsazhUxNPB{By4i~88rzb~~ zz3CZ#tv0I!#?QUQ>}(?i+kKSHteJw8w!z4_kAjB0SxHP}HJLI&q|R=g93S2zW*1i* zeO8ON3`Wmpy| zz^;=z7dcwowH%1jqv_qr-h4KN5ha(sr!~=!^1y&7_Y{{bHKnS|6Q;}6iHvoa2kcE| z2h$ZA`ijRt9trxbn911zhQot{lfyls_~iHu^Rm^0kIZd2K7H^8!Wy%Jqt%12 zo6cVU*b^7!%R`co<$3IpKayaXysD;&^s=zBhkxc6JXVJ4V;2GSZbY6|AuG zqN<-b(rZu=E}C3iu{5RR4l%XZvzZx{4UhrZ1Eih2hTbu4-G^s*M)3_h#oQUzo6ctEN9Q^n zP#OQhZ;zqRb1l%br#@k@92f#lw{Y>4-e)#x8-?@ZLbNd>X~lQ}ca#Zzo>Jsl;G%xI zn&T#nmCyuSm=>@f!at6vDr%ZA!t~G!oZnp{w0F;s_i#t0X`AnWt*$Ci172dMQOsG2YxyJvE#3w49h$v-lueO;xrQ=xJ(>3RxDf z6^78wEuJG2#x%R_P=x1-=&R0Jg{{;omA38E0e+rywu^j=z4Q6zq-eghN0Q-vdH<#4 z?J^nLVwMPz`!N`^iqVpwx3Za-j6*!@;2|y9gDJEZQ;N!;&Trz2Yp3^fIc8R=rFq!| z*OAnGJ$EHIm++M3#ryDUW|e|{T*5s6Y%$aINpp}kJsHFi&6|dWJPns$9V+avniUsR zTrW=VP12%7oB#G|l3$>-bSvR@AJ9AHpe&=)4h}I&M!7iJTv&c}QgTJ=|-Zo(z*eEv&pmX_8#WI2`9~ zS0EW*rZShdhuN@|hJKN{Qaw}gMZ*nWO1cjRN;xzC8P=iXGLx!h>sD!^SEU}|T6k0D zOI14DKri79uzz^II*^Xg1*h|~<@wp<2#Zj z$t?#Q3=3DXl6X7?4QmDqED25TO&&XW0yl4Zo!yw6TXC}^nLO&X8_RWfby|3a&{M+A zsmuUS&&hm$U#5y8nkpn5*(d-KCN z?%J7xGTAsCiiqGciG{e;{Cw}ki$+#x1G`j*+t-<0{L!>sT=q|~>EtFBBBb)L2`>H6 zA~RFsVlqrp#MBz=7-5UdLy?{ld!b4+oLpnh=^lMr;o61Q_$ z_`<++j#}N?J<^ud8l(2-xVbe9E0As+?NZHp;%g?3UTGt! zEt|TLrVZ8+(4A2IH)1g!3Le0dm=%;0jE7b^7xmSghgR#nUQ;D4R>~?NmhGw?NU}q_vW~} z%mK_(CsKYVb0jG3fY z%_SQ_UW%XcRp8N5WGVkp6 zYEOMw>LW`tdJ#nJj&GyYSnbSY3<|LL?IT$$gmF{F^s=bQ2YXnd)HAC>%7H+`R!$-JeJPP?#mX71@6u{_vch5j7VGlV^EmZz zdM5-BOEIv*6O*9yFm;8;^g-S*b+s23aULhH&iA9DSLb_Gx^_%$5lyTOVu@|DH9atg zm0VTY3W*YHTUgG@6jo;4WXl?+Hg>QQ3Nz>xNYW*!aWPV#*_hnjpBmnEb$T5 z0g#l_`J09WJS!=4=&B$Knj^4fY3_7jND+gyH^&F94+a@ezNUkuLk?ChWKj}p!MNbd zwLvPoHDr<@VulC$=UF|oG;d3m;)WS$e!b4JnAO;f!lEg+UepJ}${7aNC7Oq>-#hta zpU#x&cDci{@bL=Ic_z4(unE8%fXtRWU538YH$!#zW-ECHQ8qm#X6;N#Ez{bSO1__F z_4Dj6@a=J%(cStgCSw6u9=l1b0-m@u2 zRtX_IU(h*gmbjYk<4L{T#vfww6cY-JviPg>e{0!3)?iC>Yf5Gul?U6X=nWgf*@{tn z$tZLOF)h>S+fX>$KikKr5K{u?P;b)2T}_nSaz}v&;+6|1hT!SE=Dx zS{(Ao$4>Vq%n5bZhuo)VOj_qMmwFj8^~TwOjLW&M9pFlY5f=ZW5?B`VE8zq^fjge6 zbZ@C_{Fl1vVO{Hq_=*}KgMtl+B0M-r3P>LTg0kD)>BR3+3=6sNzC z;j=uwB&3Uw0=lAvp}V>uDdzXkdd_v4;d;Z%5-(i1sFl|xzY=K)HZgNmb|rHyvZ}F% zkqljgeLnV-YIeT6n0bm^-tin;ulci+`94CrxVGJvIS;Ns`WH^9e=+jt-%A^lPukkl zz0c?QU*uC6`GzLRC3L8X=sm!GfdgCu54ND-KsM+d$hLxmEtDJDUM-D{8Zsq0kV*03 ziW!;U&UkXN%r8v`a;@|}56dq4b<8WUX=;ADn@u-lN->$9o?@*pb-%W{5WF9qob`Cd z&Qi6v<%R-d(Qeufhg)=?K`s~_o7cp z;P^vjEx4<^K~smiV6`)C>D!e(mNNWf*U)5nvchgUS+_{=9@b6p8#1~y=pLpP!_s0_ z18KITfh8EZCe^MdxIfdLZ+IOp;VkH2f91T1kn zeQaC!L`<{+e6U--vIc8#-PdfN;`Y9(v0TW0P^vZ2t0ccZRL%KQycyIPd=2!`*Mu^d z%DaMc_?3V(PRAt-bXUP}mwAQ;U^s$1N$;&w`N>la^NB+d!-HAmAq2cJzkazF4ZV`e zD{=*ikDo4X-jq9}kanKZG?QPBW&M)3916H^ z>7N`rSvs=1eOJ%YqGnc{krDti=t`*!JGNvxpXrJzMoryQfDsV`sXK{P=sv69CPH_m zN?D4m;#xs+=GgFf5Zk1%LN8fe8)}A>Lda_%H3y#Su)OkrX&f&@%J%H~r_AJt%;e>9 zhB=NrIL4{14e!F^aApsaae@V5Ns^Ee4J*C1mRk_hXF8I>^OoILMUJLeXO)K>K?(n9 zO_bF_iJ5Yx-l{vpF6#vzz#&A$jDv{m7>TjC7gVQgY2#XYX**ix7LZGu*ja|h9M+PU zR7x@cR4LjJ40Tv~!ej#jf#Q^;dFVHNn=v~qDUWSTUVAis)m>RAwDTe#Fwd2B zc5RcB)bIBd2Ij1H@7~o~y-@<-WJc$+KGj2_>)y^(! z_c3DhOehbIW!d)}7 z=%=q~;SM#(BW%7^6=yla`$TK9V9Uc))=;u+c7;6E#stZg-juu2m6Gj;LW5%FSRWc1 zn6hg}1nDEy#Mb(g(~KgcyM`%xO1cQ$XeostQCuY;zx#m`N-2wb6z_4J6irUkwb%-k z|A#2Zl-<`5WLCia5M}~elAU&g?l)V$Io=7z1&ug++0D*PnmqdW zjbi`Pqj(b+cbr%k=gw|hyU_w(ft^Bl6AZTYmtNk0_g}C$AO*@=-u_~?kd5>klgIUG zo<1-Z5EXtDws{4bi#KGDA6fn=_C1^}-l8SxmK}_is^yLI#m$2=*_makHzsem@v6y9 zygGq?cXgOl+<5qP=|u>yjVAeq)e2$>X*I>#Q9A|EGJ4VPIPo{2)I9Ap5Q^&3I@meOTzIu84oR9`|!i0>jSaX8(#BD z%YxM@S;v*y?Vc|V_a;|m(do=~G7PC(SI$nZ=Ec8L3yT%yEu~NYu%VQJPO1J zBK6TdfoHltAtgu)vDoc9wDJ@f9&^W;Vsu=^=v80h6oNw*iLTcESFfy(+rEd@MLT;#M_Yu9WC(i=orB%u)GX=GE0lL z;wiG%OAxG&=$MaA!|RwR1!J$IYa-{xl454`%<^cUN=%ogAsO!yonSkfP@3H8x!920 z1(vCXncls{sXmk(RHU(UNLk%lEOF_;_ELFO3Y*v51X(e1XD=(Uau;7VOeUE(eLh}6 zvfqRCO$(9|en`ZyjeU2%!i1M)@B*15DGl>DrbxjWr}E%-SjrSyHra@|sI$5u;M00#ly7s`vlrPNuP=RC z6K$eew0m$*1M9)jQp?d%9NjB+Fh4)Vmc7L+1%Y0GQc>m5X{krHPhYxE^Gf*Mc=YjC znQfe@$kr8H-P&ZiURo;r>vXOL!5i7hwmuw457w1~JKGy1>KU@-NZt=mer>92Uj!$$ zruKMCSMTALTPfMo;dlD(K;~Y!;59yMM$nMMgL~V9KRd#WgcN1{d24>pUKo)i*{Q5U zp)A-U1d=g|bYl+{k-P{ez01b4t{k?G1PG_L4Klcf!FcA@vWX81F0xfy)*|M&G$K{M z%yY1Cezt!VcPlu1^`ozNcrtn2BbOgfvuNBG=xg){LEY>vU89!|kgt<7+SSeUp2~Gi3HEN{S0;C*D=FS1Hc)`J*%p+t#&c%;l8An?lit zM7=Mo6N|-!M6Z?-QgXhKkgAfE*J-QYI8QH7S!sbSA33^eG$W zoz~(B-Yr7^dE49vd>JRD-dBqeTrzmdljWgsd8ZK-z*ckgEPrQFwM#E|qeFEEQHkm6q6r}u3fNiRNyBMEXFiPbjy!i{|b$fltf zc{Q5;6F*&J-;^o7GK1xT-_qw^Cb#R)sKArMub{~1ID4#6Hps~4uX(I{N!u6S9U5X-z5KGEU>gju@rw z!jN7~<(rceY?H;xv#ey;R219mZ{AE-4qXDB;1xry8#cqswGFs-r4B%|ljS{Jo$aGL zyY_+%oMmNKX*D+?pxiYA#a!GcO zdH|-|5##Ds3>@Pbevlsx#k?3VhVcOf8lo$mdSSc7=hzrC&rW0~0-tLy&VV8}U&0tN z+gBPq=SnvS%NQn84rEHFa7{VI4Ur-)N~WD56WkR#{FYQ^sjECerXT1kd5cJsIRB@t7&dOJSPl&h43fpalk!XtQS-P_EZUvleE@ z$Sd2Vu-#;suu0ID*@uo-ZJHhTbeJie+8hW&rEEf%sYP;3ViG@DjU4FovNr!ZC}cRbYGZP@Z3#XL_ke_so+1j;38a_4_Ao6qY>(f#gw4kt55f8JhDlH55sS9}=8duUv7^<0Mt!NUgs)Lk=GplOxQ{+YwfFEW)83uX1k7TwIl_EAOYoZNh{Uj6Vf7FWJP_I@vg53ZI_yjq zdlEUa&kmOZ+~Z+Xv=4`fhvEGRUD3m8kL`Lx_DfYtp2s3c)}Dl&=N%A?^-|TGmb_3F z5A_MV4!Y)H(fYd*aNotRn5oKPNn;w@X; z-RSJx-Ujn!L0wYRS2*Q^ESRt1WhH1q#3LN#`zA7ec?@caSr#b7lp0zQ?uS|Y$~UDtidVTHOX6J=a@%e9gPK++0W7U+jtLEB3XOV7ti!X zU|hm74X7--8DmG5cIJbTCh0&U)0VW5k(av-Mb>D%W-q%VePqG5UxX>%yFl?(603~I zhr832?10htVl!n}na2fQ>U??&w;EVZN)ISNJ}=D&xokTUlA+GiYA;IAIlP9~^tRu9 z(zr;d%0P-2qN|31pb@xMX=Op^cZ2g#ocNLKEG5Xxp|$P0(M1 zfXntEzy}9GVox}7p|NgK(Tn!|E1G0gPQ{v($~7q!Y*H%O8zyeA<@l{qTXddc*Dl*} za&UI5>`+NC9jSjL#q})kjwW9F!w|suv80k=Y0i<+XXyQ0GVjE-b*C&+Q_2!G$qUr; z!8g^#HO&W+!rO{oMy|_^s>@Y#H4|0g%OlDAj^*XmqV1YeR#cOmy=>gIaZY5}-oZ$w z%RG9XcaEW&0@uhSxJD+)xHoX&8YWrANHmd56G=6ZT=!Tlb!ZK$YWduoaP80qH4HrV zM5a)k1gSsHZ`ZMl1S>5$nq+Zht3CM~jLaKOSJ@H6DfW4WgHnVC7L*%nnEqrPVGUNovZKpscADIslz+|rN>BuWl4>e6zhLE zGrP+f4S}CvlIw_;g9{)aleHL2xKw2@Im@t9WiUC*V2!uZ^c;R7s`MOA!gKVboLd{< zTZ7;XL!4ql&KZir*=-+AX$vG6B~MBIm-otTJOk9arHqnLQYFQy#ULQ*X*}At4#b?I zDC`ar%EBbY3%i50n=-e4yc*Loj){^b<;H{syM@lNPe9+ju4V$*Q&$$&PDdn5RT-oV z#p{}e&P9r54zx6#7*fz`n{*6G`$t%I_QwcXWm8!uTUD{k6??vz*Aj6L?@uXpU!p8x zY8H#QDyHxiAxzV%9GZwJ;h{dn$46#x$;4Mb3R6QaO@RcrgnbS~FSL4UF;$pE)3rQ& zqHeVf@6A$HGfj{`X)Lo`l;nFO#zrQ1dr5}JmkIFtEI|~O97!ojl9E`~Ovo$w_J^pp zltq)W-=yp{DJTbp*9Fx{D5*|DQI@2ClPN4?l29e&Ns_5bl2#=NTGJ$GLz1BFOoEiQ zjhhmAmkd=FX}^#bl+Y1FMhHVb>7tbFXgS-iW;vEr`jVx&I~9&|x?jh-*-|TxnA`-2BcaNBCNlty%GAPQKl7Q+`#z_BMEwGh91PMk}tBrhn%ckI#GsR;{h0Q_c+kXbid4U}T%c>mJWxouTeVK6#(NTm-;cpr&N=_c= zDRr>ap;9})&SI6Qip*SkSbwaq-B&z4NXhR94?uv2%G)wU0#%uAH!vn zQ$kNV%_bbX`$KXTJ}_;{47;V%yi^MU$(MV&WX@&m?!U6NDR1)FJ;^*h=g5F+xyTsR zLXRbeIkhX{re30o=+|6?J#!Jhmekw(GL<~A8B#_5f$w4Es0CJ$H7!e7{k3kMR7}9I zmq>>tT-Iz}FA1tVPjGF5nJT@#!2l>JrNMNyvrT5PvcfkAXz(DwSc8D34uaPlTiEc; zMM=imK2GdGR$iB~pIDbNSqeyf$8)cVrh7&7-0M*oa5dHYhO*QnPfaBkGDF&V`bG6v;B#`L6+SKH@>yr|^;O5UsF)i%1ctU#53OH-L+uTGFMFfqy-Q6)$j zMGh&WNRTqzaLEu=f|OC@kTQyd)i%1ftVflwU+37X6QqoyVv9OK$|!P38AXDWQB+LI zC=#TMB0Gb*EGZd`dzE4`3o{Qe>RG{(LN<)mz??s5uU9Y}V_=`l zl4d@SMgohL2UP`#1P9d?1!^gT>o%(+3~Xs(Ubgz$0M~8S?#tn_%>uJgQdA9RZI;-o zR1a;Iz^%Zc&Fy4N-7HmW0ln-OL0BU}GGS0B<3^&Z{|!RsA?n>ZLM^FAdiSf(%drM7 z?elKHFw1ke>TrjK(gy*?9t5;u5YUD}KpO@@u1M69or@OEdPNHb(LzDAP!KH?L<G+fzA{Ygv_oQKd@3^{h(46-iUlB}s%L30IXm3C>?9;o71}_BYkgGA7ANN)kK_ zj3mkV;0r3TpH!lWRiX`U@Ia zfA{o0vW&l;8furs$36+K3~Hrc`Pk5k)GDoC^J;68@L%Lz*Hq=qT!oQYUsylo72~E% zsSP^|3dB> zxOfluH~YSBtv`HeH>*I1i*W|OmSBvGYI|bvT{nE&axR0QeVs{`!DVWhc1hygKTI#L zt>IFM5C31ZuV1E{Yh=-TY}vJQQ^+T`7Mg<7+2Kxp$}F=(`IgmOew{*2vvm2|m8atu zl~R#1CSe&)-Z+xiE&xm4u9+k0ghNI)5H#tX!ghqiGx z*?aThF(jPf&13zGpAeJ3o(HdK@7!0m9VqIT_UOsY$K|DE{jJNHeF$A%$HEVV;Kd-k z5o2FW!CS}si<_%U7gzU=c2DGIc;pj2^8UYX#@Ro} zj*~rrpz7BNF5=_lx|deIg>Vty-K-EXx@A=C66}}pE}`u?ijBNEn!YPzI4ZQ(u+_{%UzCDYUD6GHghTy?3 zzqIk7IkwlTxU@FM&bl1y{;HHGNv?D{;qM{TTwu`hOADcJS8Cd+K^x0EIGMEOqPS}nKN)>VIOW=&=B)NGxm z0}K^So~*VZUPY&DPhC?J`R?GlJn}KXx|pmc5u8;-V0$9(0goYAKOoQ#cswImmqk9O zhH?LXvYnlrjK;%jAHfK(1I-ef19Ut5n75wY&BsF<@-k~gaApm?z(b$@#l=SS%C@^T z4Us#%HCbfhHZ?Di_FVo43KAd?BX^-IrY)_H8$g`M{QUGg<@zK4DvUAS|aoGb{ zvof1RaAp(jfY&|(YrN_exc!lj{A4x4SM2JdGp^JbU$)N zugc63F!&HuU09Y`t0doy8}ekR&be&80M}d;cO-L@iB~2^F{hMQP|Qd0XfP|U@wy1k zluDKG+va$jI@GBtBhFBj;%^oY#bmgZ=s7IpFBXk}_vkImz&1)&hSW5DIB_If{r#?s z{v{oG42IbaW|;o*#lyw!=~RCC6K|Tkv&yRuBSlLM5dUkv4tXxGD+jyH*Jatq7eLn3 zM)u6E$%4(EYjVgA@-u9ExKsShIsc) zXSkM^->;Gv|KwXZ7v(?sni4un&g4@`k6hlI96$WpSMftiis*MB&~Z|b*UjFPy|{-T zYLq=D10p~D=YDWeUyqUrIQkv;r=CwaM!|524@R{g61u2+bM^NP{UZda#rnx}`B=n7 z`3lOB{#v}XZ$Q!y4h|?jqoIp;NtzP@crBB|TJpPK;;L{fO@w@4AHAIBz>-Li;^fwn}_al>VZ>>w+`u-6F zY#FVss2#wFV^Z8ZKW`iFyq>aZ=n?%Hqnz&y#Ia7BL#$@Rt`OtsLl(tt3)o z)D0VtQNTH5SWSKt9fe^x@*V;cX}90(OB(tchLfwfm7XlGO)#GmNI$FH?}K~Ruf&N@CPGxHPKZX5|LIDU8NxrX-RaIhD4+# z(N!7}k(LxYkr<-uL;&eTI)J7De{xkm|6xf_+})hW58unhr*=g7q`~C!*7n^kd_ER$ zfnB{oi|a=x;)r#x{`0Jj25Js*0oGC zb(^-mxpVa{KKZ+YI(60MnY!xoOl#GRx=1QXGObl7nbxWs?cJnKGIhHpWg7K?Jk#2e zM!g`Fq@5?TpU|I*Tx)x8+*^vWx(40a+}>I1E_tSI|K*w1svC8eRMM!sE^O@@cg`WtI{S>frj?_H zUe_?qw61029;YVS8lQq>dB&AlIpbZnHCf+fmS>%=^I)rXS~ZW4II1Hxqa@V z%eJuF2J@74EgSDL2}aydjye92rK@Vl((NzHvUVuKeJbj*Mv-J$qv(EGt$9W}YmH^3 zuPjTq!b6sBg)PgdWri$k6pdQON*T9ImZxhO=}O#dt@9bn(yj1NO4l+&mNj)*-;-!o>{JvA)#Iwn&F2eJ8NVWRNR;*Oe$V2cvVnHlg4yt z4h1x>hvhfVrj1ZY>uQS^%dAMQiM84Y1=_eO7SZ}`3l}@AB7_2MT-0c_5ejJV%U%Z% z3TRx|XtfavXyN*WwXL^+p(s}{8lT*I%Z2F6ljZmRx3#;pwTf~ZG-|E9kZno3TSl9mPRO`(J@;Zp@0_qteT|jvw|j{ zg|^~3kv#Gk9u(Q5=`!t5en3l~j0BI6G`)U6bRwS+@fR(cr$NbldeCo(xi$~PfU-Rs4FG-V|ja|R%KQj_!A*O_Uy@? zi4GrG)C~m8NCa+Jl8H*4N8C=-~5f z^7&=8Q#GzB7Cx@3klbGr)DCJD5|P>=Es=sT#-M0GtB_VxG@K<;R})99EOL!Rq}9an zDj;<=MUN*;6OmREhqy))k(P8hcm!vfh(x4bKZWC^mB%r$sUDG56Gy~`M5HD0$wfmV z(vqU_)hgZ@UKPZ4eY|^vc#Pue>PTE&ji$tzr2n95{dD}KZ0gaB{(g+1Kx_V0^ z6wo?hAZ_c%0no8HxH1w4zuaO4w=_b5HadGtBNWi+>@AH@K%=v_G(rK5&fd}p1+-2aNC))e0O(j8 zTpo!7V7)jfpsK2dg>g_oAuWspqs6`=SSJn&DA3l41Eck|(b>!16B?mFTPF^T*4IX7 zZ?zE$w9(mH8liwjXK!hQ0vesYr4b5fboQ1;D4=!XKrGph1E6DZurm?|z|gbuprTym z#tlaSRaG@CjDrFSX<-}~E%p_`I1w-HSwMj{`cXvdYoi~vG(v$k`cX?G6wv5LEsan> zqaU?2LIJJgVq(d@ivb;Tu}dQ^2CU~|1yohlu+YT{D5QlhX0*7|1?#w20R`GRE@rg8 zHu_Q7dqN`=XrmvsG(rK5e$>(k1vL6mOCuD}IxZ${>$@1xF&En&aWP;$7b~Eus)mIw zRzM*wbTOmFoi13%#R@3U)^RbT^|jHD%H9(ip+Fn`sHG7KX!N6&Mkt`sk6Id`fYxy_ zXoX`zc5E$(!|Ixbc~fwqo|8Lh94epL3J z&teD|zT;vAR8`fm(8UTU zq=hbKw7Am+>$q3}1=>0;X0*OG`cc_?LL(GtqaU?2LII6_)Y1qAH2P6XBNWg&E+%d3 zyBN?h7dwUvc7061o|BbWRa*x`H!HE27&@90Qq>1lmtf3U12dXa_&S7UCqFFZKuK_jq&PEB93U} zB2M8kMkE$#j8}LPaYSPrz(yn%X^aCn5l1xgL0Zs8Vv$BhcSs!3$mkA;#3GH1?tn-v zA~L!IBC&`VN4{CL8~F;S$Pb=q&#sO|rGUMtEU~J>4u(-#VlmNstTd4mM@`9=oi!^qkQZ*8bh>W~IBe9s+w<;qxA~NyY8X0*(Rf$C!J5i|`iA6+4UZ9a!Ozc~g5gQR1d4Wb^F|n_a5gQR1d4Wb^ z5s{G>5Q#-ZMqWT977;s9sr}fGN`c3s^72?z3fPOv600igU>KDp78AqXbYdJM3U;Eh z#3GHIsC43pMn+!Qn@S`WX=LPu#1V}Qpnym$(#SXnh{Pfy;~*dsi-?SafJiJNG7bVF zv544-5$%qCj0ijyBlrS-f9*xUUW}AjRbdCi7%8!s7{-VbWB*aG6C))SY3#&^6Gt>M z4$9tCBC$wgCq|q&qLFbBXe1VCWE=!UViA#X5DN;Rr@g_aEg)abxgdv*?I7VuOA$xsEL-~ zRjVtlF5+Fs>@FLk%MocN}ei>*a7HOnc21H^J zkv`$@IdFfxM}4v}J=ECk(e8M!g^u`cHl_y}>DEyj z>6-zOSWNVGgv60H(k}xdu}CAmG9VI*i1f*TNGu}KBLgC_h)917i2dL2!+onb13T2NWB0EH zQmO9cpaMg!BTk)NEjrY0FlE<^kV==0%tWw59nm`G&Dlo$Nb8s{PnLAnh)OW5FkLmG z5)7$y)QCzjq|!|zYX1shPCj;tP^ani7npl5)u1wUA&*As8d*7b}l=_whImgYMzAJ~E z@t5ONVfJ;nOil)t%1iOtC*bsV#F;2RYQ&1O8-!MU2#%SGo%ovCOi#A1;D>xWa}UMB z1^WugV<|!Huv{S#sU4&eDY()b6fM$MNUMpfJ6W73Qdd(n=o^Vht0|hnBvMxs$MU9n zL|RQ8#RF1T6So{SBqFUQ4*CJ9tBJ#XLn6{@;y~Y!h_oaQ@ePScONvH*>!;4JuOP>T zD6YEiYJn=RYDK>ZRzp=qjTVMh0fjX0n$jvpi+fG5PIwhipsf>NM(b;1Ahnew6lm)N znP?*v&^i$#G(rKbMe~>KAVy-h8d0sxn3kJ-vWJTIlIUi+xWp4y~od3MkM zKwM#EI};c=XobbZ$VC$|^cn->;kd#gjq!k-h$9*~?iM~^L}HOfj=UjpL}MI?rjb~r zF%HE<9MQbmE9cMqW@=Vv)v9RH{Z| z5wR0oN+cE$J29d}ViA#X5VVn4L}VNUL}C%K6%npg4)LJvMO(ta7oC%yp>p&YF3kg zAJrCCQS{Ev^0Guk_5(xsh1e#c{B7>#Q5#X zNN(>$iuT_bDcpPq=rHOcEp9*>O^2J|-XkfFNJMH!1Jksrdw`lNw1H}*2)ovqQG<4^ zYr!0;s;E$C!5oQ5?eLiD;K=`1+Ltv)nImiSW6m`JHr+#C8Zh7(w$G-!XU@$VgMDV z&MJ~q>YTjuX+-Mg^rBsrUZt)(rGs*r?evV%Bk7$X=(UWwi3@Nbxxgz z2t#ywO35pX`K<=>vfn`Dxq@aFlTr#Hh16^yDWw&u*+3*xyMYL)Y50^<=hSH+h~$)3 zq+U+mbm~an4DupIPEKh>>gD83r;g;!pvuW9tw_C`dJP1Udo!qVa!Q?(H-knblcA2} z&7g|plsZzUfk5zn1Az;R{zEAkW!rl)Xj%X0jvy(e5K>6Z29i=*k(v!eBDEWckeWrD zQtF(%8RUjXB&W0@^>XSp5TxhLpvuW9bxz(48j;$S2|0N)s3JL~&dHlWBT_dfZw6H) zr_?!h8VCe;N*&3YL6wtJ>PVdif}Hvd1l}Z$G!RVaIuCTAzMzdXt8GdtgcMSL)mD=0=H!*L%E>8p zPF^`1k-9l~<*Xt(rOv5SZJ|@Y+Q!2W_44VLZr7bs3OR(-?7CA*6)7%~a*cmU7FKm6 zUnEtLoYIQatj@@(zkC9*yL-yJ*5;<38~rAQ%V)7*V13~TRKSIo^zw6lsYGE&(-FS zL}J0U)_NdzTRLdHmM$tcTY5^VM2zjZ)GJczNS&6BoSf2%)U2x#sonlS^7dSb=af39 zPD_{Mx;c4!u5xlpos+lcMx<^|-kz&SPN{S9_S}fn&B@zy70D@ePMwwx>-AeYoLyK; zuSfCIZre^Ng&aa^w(XQsMe4Qf(|+3qsnfPoN}W@uZA&B;NULpw*lpXO_1dZt)Qm1Vrr+(W$J<_&Mx@|k96mkfu*|t+k6{**@ zPx@^eq)yvTDRoYrwk?rZ^sTlHVz+IB)@$3Ma2+m=Y}+6j`k;JnVHlsczQ z+m=Y(oV*2BIXR`y$y;zEQa2}W!Br%u)H!v=ZRq5bI+C~GDkrD3BAMikNL`)01y_-r zQs>lZ+t8`swsD%Ro}r_%HYe%NS%I4EHl-AT38`7XQ%V)7*Vv!;8#_py#-38@oH~tN zBC&*8jUB{pV+XC**hS@LeMl*lh`m`bBK2C6ka{_JJF9c@Hj~#pBC|h2NUzfbozkvKp$XPg=V#p(mr@Ghh16_u zDW!_kYjMx|Ee@nki%ThWPMsDfk!bannLzBeIM8}6PE>A|WJ;+-jO{9~Xo%EnaYE|l z)N65wFr)9@J0NzG_YBWpC0S_UJv+xSTAwLZ{b z&0da?R0|rLSzd*hVy^`%t(#k~4KkWHwK_K^HH7RmLru{HX+-npR_ErVX0)zuy|ze6 zyvfzMIjNDGH@a4|zHXfcNkRJ4P*AN&7RU1jy>p6sxm-`C!+yHlEJk}Cw&UH_`D(UK zaFgw9KY#vowcq~0qfmGE^VP2}^!NG6OAVa-f(x#s{PG+VSq7dzJ29q{XD^KF#k1dx z?d9{|z<2ib{S%X9(EGKw>&0Z(!VQc0a=z#7>$e|1f4+P^%(m<03GVIr@ zDK1cdL*%E+>2f#S51Y|`Ki%SJVu3(!(oUn`t0Lkw(0DsWt6YCOY@Xn7zk7ho_wvSiue!qA#T>bv)>%YI84_{t?d@>Zc zk5|Lln-<~X{QR8uJNsJ2Is0(-XNCOudkcH^@zurE=T8@}hgZYf&zB$1zBZ+3upP<2 zC2k{y7Tb|j8z~&&?x@?cK}(KCW-YcO0yI)M!hKBK-TeD7z8$Sr)5WmdOmBu?={O+8 zjz(i3bDVJg@_Z;*0~+_i(i8$3kJ7c!XznR`bePQ7IBh)N55JQZl} ztNrL^y&5eFf@b@SLS_*H9#S^(5VMJgoEd&{HyO~=RX93YsFCO$XY0e(#U3rM=ezZ4 zJW!03fDwZ^r6`g3#WO0>K$i*3_lMyG-B`v;VSj1hp2M8%m7_f+vr}f)#3Q#HFWEum z9LxMLH0}qtXg{CG+Ko!^4K1^-mN`}J&wG3W4fk3JYZ z?|g@`><8?O4woa@)75(TLDub!jCKeecB7l=)5RP;FT_irFKg7941-}Rp?@6R%uxvv z%vV@w#4#(uojw_Eru+3~zuRvyGQe}lWWKrq&t|dS56kKPcFh>m)nq#@xr>hY%YZ1^ZOcqn;R+8@h z2+eZ3IxJDBE3j=0*sK>UsVx|9M~j&SMG}a&AKwns*=#x%X*|CSTlOs|EQbW8WdOvu8#|>~ z?0~Y^hfdrS@6t+309ECb;#M7_w?I^(`n_ZX3)pn-b=PEY7Y|u`+xfW4USPvcp_- zf~MRQp(f^uGVXqjcG!skJr_=5^S~ZnM z=l2*wmdic*%XVTJA&c|9lYfTKVyq6Ga>@x=oSWUY(|!ty#|o<&w(>PbBALZCm1~hb z8Md0)0`t6P)Pj=5x`AKEW~9Yt{QOy)ghJbl#*Ma3F?OqoOfQ;=)!VmPU;x+u!S>eJ4|SX#q@5v*bNw=Wsh-GwA2);}_A%$>?$4bF?^j@;^=v8A4>q+1?h(ERAxM19=6G=Dd$gW@BPe$7{&ARl>xd<+Nq7!L9=9OPrT zAs^5#pL*rP7TWh0Lntf7VK=S9k?$W3z7j`1)XzLYL6)473-0-ryx6$=eo`@G6R*Z% zx9|J&$SQl>QWRWT;l{5}Pj`pwQ&f;X6>F>`R2EV@?#a=VN$sahYCq-Y4^mlO+EP73 z+&*=@80~g_a|pRFwU8TPbB~q9^8$G{5>LsE#8dK-#5)BUVv~F%agvWD-YJieILQs8 z26CsoQu2}5oe~SN#pu|vD9byeAF+C`Otbh6({Ky@NTH_WhTT*0k;FTN8e(?}H6P2EB;Ye)QS&2uQGA?`}&u+3Lc9T7>i%>iDxvME_oDv%%MPfrFC3ZB8 z#BQ=3O*Lju(}dd4l*Y$AykDkDY={(NHZ+aIZl1?%-<62UbR~+!hD4FrkVuIxQN7v= z3s7C^?c!2zCu=)j>M8g#b=~Fwg>ryG7+}jijbrOQ1#H0=fFzDBsgz=CDg|Jjn6#~` zlu|FH1n+C9L|{zs}bfT*+oYpOs(aZO2a zO$oTB1YA=Bt|2};0KP#~eW3Z%FS1Y89It^$FU3c$Bi$fsdc zA--s#KvV&gSPBZ5pafh61rmy@K#HqCz*QjNDiCO?0DMaY+B9!6@TqQxbfE&>uX{yO zz)C>@6O@3fpg=-#6-aRv2)GIaTm=Fx6@YK4z?^awuq7Q;;I_4^pn$2MfC);#RZt+I zxC*4W3ItpQ0}wCQ1;BS{P(%7-Z54SfdP7cX|{Ja3oG^L*BhCbW}oOXqDnaflhhah|v1;VzrQ?RYB9!*QO6 zPe2JipXcrBdEWRp9_!J==`UUg4@gVK0z6rs6M1ahMYLVT6hhG`2ANR| zG6e*3qZpLZ+$chGqX-nHp_04LLlttxh0_%m$Q2i;r8o&K#jDBa7zZH|#R)~l4Kl?I zGUWtv#SKbnuDH-#ae-WMfxN^8a>WI5#RYQ31!^fyLQC;#3Ohc{6ekoFH^>w>$dnVv z6*nlQx#B`|#RYQ31#-m&a>WI5#RYQ31!^fyLQC;#;w!H%#Nm@KpG3tCGQ|xt$1;+nT>4k zMH>kp7Mi+BBXJqmoer8QlHIdx_K0I`zYuJQcx{q8e}5p5)+Cd z#r2M8j_GSkOQq$^JEf(v#_6`El1dsU+)8Veq-YR|vMQ-&AybsBkcr5nVw1B|$lU&n zg)Ds0VgahzuQr&I}y5SV`LRQdCr=S1H`>ZFk?wbjZ=>D2&<6?%Yjm5L*h$#FnUjUv<{(u#o)DD1OX^B2HI!4RfBLzpG4VIBWMIO5g9ir0pvVYO`tM}D32DqbzD zVXYM!R@-V=YlDU>s|vbmI>44=9#C6?_bq;t7)~*HNpZy$NGPs4DXu#KZ332> zYe|Z$Nx=0a;EEDxX$pL(A!+fNK-|sIEhJ>CfEAtj})ghoJa;oth!g)D8-Tq76_= z3x%t+P`U~Q0|qFK7wWgtf}pCl;$2PPwIXZ!t|suV zCc>_!gkw6cCh#pau|pXhu-UYABb6&x(;v8i7;z_--Io?}DJYR8c^KWx_{3^h$137Z%QyE+n%cvlB_R|jEN zN5YZc)dAksLD`%{+Gm?+rS00iR;s zVv@L7Ov0uq!fr7MN4#4Mc()kBZZQc*ezzF#ZZU-2VhFb^hHb`%#jLxH79#@IfUjY< zn1sz@@PDm|3s1CI?oiupleyAPv2HO*+$<(x(-dL1n1mzVEe5<>3}LsJgd@LO40yK~ z!fr8yTNcCqWW!=MTt$l!0c)Hl7L%}9>@=|$!s;4I_z|X%c{c-=#!v#RTTBu+i%Hlt zMc6GS;fQyO0q+(=*exdE$nO>d-Ytf(TMXfr#ZH?RqanidABqnPvkd%VdL5In<6|9j zFR_T2JAd`sl(~IPv2HO*+$<(x(-dL1n1mzVEe5<>3}LsJgd@LO40yK~!fr8yTNcBP zXrqo%*34oiJX|=b|4&#$!j6v?bN6Gy)2w5eGcmWAdl3tXn|8>^ts&uvcWVIeV==;R z4GBkn^>(G{yJf)BvJ58F4a+dC%rcfZ+|9XVBy5&}V?s?FnIi11Pr{6ww?3d7tq)kQ zOOklZ)GY(N*As-@G7^sbZW-Xco*?X&k#OX1Sq2mHhGoM1J9bQhf!^4uiN;aDtOFpL zhk)Bhf!aXCH!MW7n+O2%GaU%HkrYTMZYEN^1`%*WDUif*Q<37eh(OC&z?-$`YYeVa zaNk?}6u~DKUBc|141Z6z>R?7ZYzaqnI+OaONnGF1iwQ2;GBsRVHvdPwzC3m8jPju;1eD&t|*6L45~#I~8X&H>3GVoYU~~ z@m5`;?CJXinNq(c$hYv}vR$v?Ld876G+d+1S9B3$d2U8$T98ZlRG{79Xx^2-hMSv~AVQndrBRPcZ)O|Zmh92P z8?_BPNaAo(b1eEb=-cUk=v}6h!f3HLoy5K zgnB=NI`HwR%(Ib8rj~$Diq%bDmzpddsWh(i2n{i5#DbQ@()QnpwxoB4PGM8~)q1|0 zqHCIECJ^j)8mgm8*YANS-x?jpWXqnkBgv-U=r^~cUEgHl#0&EO501;`&Yw{wxxI^N zX#o)`XU5Gk*xirdWUH>`LKBx+9U^^!hDK1Oy5G*1y;KjI<4y0bU+6h0DLFdy>c~l7 zmV1t)qpn14mL&OI=G-eU3%D3{Cs9sG{8H^w_a{w;(}z+>U9q%MI6Nc+KA;^J634_J zV0cJ|QR*S6CFCOYI@DswdI3lV4^E3zxI47=hMg%~?iI?DA!+uI?Po7rsU~$WcWjg;Ub;5Qhl7hRl$utBNy%E6yLg;pu*KP{ZZu>%$Cgep?iH zuo`pf`1QBzfHfx!y_mA_uJvw@D!_w6r5kHBcm8^0?{z=KZRSzP#;vSjF4rOQ6Nz# zF{o5i=6CR?)gr)o)*k+u>ll-1VegPVJQYK?c7$sfu0`36;Y_tf7)`9D=F0!olyxOm zt&{nC3)|OdErWq42qIDZYSQkjabb~2DHM-{LfS|u^os;tRkpH6?x<}wMa_$9mWh2k zTE2WSJe`bGYSzL~q3u_GcxPN|DEz=?3EZvcV=M=s-c2%F1@sE|tcU_Z@tT^sh(hz+ zz%!|Q{!!OM0rP@8#yN`4YfBXLp3%1`eSyN$ptuqp;O6ssx_x@h@qW7%r=M5qFzuWU zN6}}BN3;7a9D2*D7R+>~#!je3+o@O47U_N>4oBez7MXE@EP}uRXO=kj2G*D>!6_LQ z+;qYD@$B-S=a*dnieu6U&X)UxI71mFApAp)5>TQ}raL;`9xdQnRO^ZX+Qwj&!!>=A zT89YM9rq{HZ|Z(cvUZhEN89b_2i(XWCvRZoE$8rXqk4Ms^lr2`z-GZwE~cD+8wmHO z7&IsUIk1VJO-7sjYjmJ9lwkx=tppI$d{y7$hg1^*f+l~Vo};&AEtveZfM;d2Y&d|` z-_uxA}%uaXb#2PDmK*5L$|EiXrcIelw@6@K(2+W6jH4(4m)jOArD}xy$C2 zEWAeB8yEpIX7&3AsTb4H3eJhg*hOJV!9HLNVj&emq1H-)OxGCYg%=xS`_Wd6jMUUO zGWG?`o3c3)MhnF{Gj547cJKg===;O&DYg^X?$J5WT`~L*iuZlU;Av_xg({IVnV~&W z*oAwF$%?t1mh{)l(RYY}jXGAl?XaIOr%w?;Q6z{t!Zh^Wq(X(eIgGXw8fdZ(VX-5v z301fm;_8J>L=(ztBlyPHh(n(nt<1Knoq@QambV>H+H*XVu%|n838&3rGQB>a((oAq z`l&uZ$Q|0q9B(MtxDLT*^PAnNYsC@Ikx)B@H%+e1Q(6a=&UO@^+OPP_P4LJVe!EB8 zG3GOqEgIg_IST+qHd>5f7mOPicK&+$AI+4zFxOC?0x-O@ff0_Sd#gu~&}DV0)y9o@ z_tqSW-Is(S)nD6kwQ|0lFHk_;92e`u1m4J-%lXU#)Unvz3A>HwX&t!=EY7b{XtK7k= zuTH3N;bOIbbGMq2a)+xK=^f7VzQ%|LXYOcU zGkmqVVfQ4Hp&2}+V`xJ25cQX%?KkYNaq6+(vXQdmIbg3Ej$zr{pE@)iar~Iv-`%r& z*}-2vH-crx0X*i0Bg{ZFjsUPcBZ%8_PDpH(alKfNzdf~%ePla4 zdvo^n3~l?%hl|%|Y>NY)7)tC>a=!lk{ObMr`Pbp%)0^{u4WEAh_$sgV4@CI<_U#p7 zKR$<6A@%dP8eTt6{12$U(BV;nd^~@1aW=p_XCFSl`x%vCodMPT^*^s3mCsM9D(Mav zS9#m)T1MG_qPRQ)OB$W?<5bXCKT*gU;mhUuaQ^Yj`?ITypULOHFj(0emIh<~XIDon zDC+LJukVkQ=$DJvUw?;6uRnkIe0fx%z$vZp@d>{<|MEBq-e5$%y!avw`|-)YKfieQ z{-_Ot+#fG6Oaz-g(kg*HbW>#!gtY&>cynCItMl`Je))WX-d{Uj?XHj7J4X3}dCU3x z&mS;|^#qB`HV{1Ae3B^I#Xj5=RQ-!jZ$BR!OiLprv1~LvuD3`dnS4C^*YJv?aW%#s z$%B#1$i={XEYh1_uFwM>>FX0MKB6=Jd9e`br^V`w>PHm$`Waon&2WyI`Jt-)$LCAD zpof0pqfA;jt(A$;11+bB#$m;hXi0OG%t%Zrq8jBOXs}>j=565jS8C7?UtSOY@52{l zbpH13fDZcg#TBOqX=#?cSMM+0=G{i%5W~Fw{ORiJ8Jg>>e`7**_5pJ@OujyzUH!Al zUHIQ#{0sC)GPmT?;(#KLOyiI9%U75LeS8G}pBN-49H+mSjJ<2xr8UdLJbOA?zLBp_ zTiIFXg7~n@=ieC@=X4J;eVDFp_O}nRU1CG+L8hze^xMNsT*n`g`s;MDcrcMa`8A=> zbGrq*jOn;$#&le>z|_;s=*KlPrUx{`!b|4n!?9<_#o37() zZtf6c`$1PAF%g^}o5qz%f)qH(pwbs0@)~=u`sXQ#tTz?|#o?kn+-DC)2}fgcGla)zN$pdmM&1s+@DQ zwd0GxB3Y-H`H4g;ORo%+gLV3WGLvtQc+Rt^-iEHKcfjY>+ptCTHZ1FG*x>VmOlS{P z{e)G5Ro!nf;4WsFSJ5^s7Cvgkrk~X$W5}C?A-8DuIQrMsYs;F))?AArDQKQ$owUT2 zqt$>ahN_ZvIJ$Ma$)8oqoFlfVo@S!DHjk>&WodPrQqI+EOKq0E+&o{;*FnoVA?NOS zz!O`{+QaclKs52dI^G=c*e8$KZw~Xx@cpHCx}@mwa!oYACC_)%|LeO9oA%w(!o#De zmeO|Y)feQKHFY>_u*2m;i7+WDH~DP-9sM*<(jM3o;2R}Q^G_!jd)Gde9phmSj*o)F zZZ|y%7I_^1ZhHEt2>gEeXvUuwN4}1_4qch>@peAJA@^Jme$vGYfHK4+G(Bf2O_$#+ z`57MPBG6-dY~>gqrn}oIhjz{~ZmJaUwSXJaC>`!d+dH~=2Y$Ps^Y91COw%B*a?T~o?HDUQmg4zRw{Icm zPsBu@x5P9X6F~^YQz%~bn=)-|M%pPZJ1#6=GkZl|@Zjqc&u3(gvGuqk+B3g3VWP6fT%?mui35z1M|G4*{ss$> z(CyeEkCwgHI z7LB^%>$DxJ(^}u;!AzLuM5IG~9;A=2XcaO#lT zB7R#f^+lS^A4jW)~f)g~~ zelE%*(=UepuGDM`sGO3jx6dv&ZTmO@go`I49${o#78(g>$t^l`t711qL$2eIMJ+SRT3A6E{!X6U*hPBxRZ)-^1!8@{ch$&9y=O5 zz`H{6d8QC6VfF%Su-IA8&3Y$0Ek~rYt!Zqd@5GsG{#mAx^m6hG#GQ`6CH1_)hRU{H z;K~9j0fz!`9Oq9q7LG_Oi5;QKY5KCyEu`bV&hYl)!+9qiq4OyIG5Y%E=D{?`^O$s0 zzGJx^dI# z(KYG|ws1Q+vR8RT%@elpQ4}o+o14cH%sIK5{Tc4K6nso9SYWeW`DR&V1LzmTG1kY* z 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 WPbNQbb#b>pzy}gfcWs~G-~R{g3NktX literal 0 HcmV?d00001 diff --git a/filetypes.php b/filetypes.php index aaba245..d93c9be 100755 --- a/filetypes.php +++ b/filetypes.php @@ -30,8 +30,19 @@ $p['ignore'] = array( ".DS_Store", ".neofinder.abemeda.volinfo.xml" ); +// p_files will act as a directory preview +$p['p_files'] = array( "folder.jpg", + "cover.jpg", + "preview.jpg", + "cover.png", + "folder.png", + "preview.png"); + $p['c_files'] = array( "txt", + "md", + "nfo", "log", + "cue", "csv", "webloc", "svg", @@ -66,8 +77,13 @@ $p['t_files']['sips'] = array( "jpg", "png", "heic" ); +$p['t_files']['sox'] = array( "flac", + "wav", + "aif", + "aiff" ); + // don't make thumbs for these files -$p['t_skip'] = array("emlx","flac"); +$p['t_skip'] = array("emlx"); $p['m_files'] = array( "mkv", "ogg", @@ -171,5 +187,6 @@ foreach ($p['m_files'] as $ext) { $p['m_files'][] = strtoupper($ext); } foreach ($p['t_files']['ffmpeg'] as $ext) { $p['t_files']['ffmpeg'][] = strtoupper($ext); } foreach ($p['t_files']['sips'] as $ext) { $p['t_files']['sips'][] = strtoupper($ext); } foreach ($p['t_skip'] as $ext) { $p['t_skip'][] = strtoupper($ext); } +foreach ($p['p_files'] as $file) { $p['p_files'][] = strtoupper($file); } ?> \ No newline at end of file diff --git a/functions.pashua.php b/functions.pashua.php index 0c1fb72..509aec0 100755 --- a/functions.pashua.php +++ b/functions.pashua.php @@ -195,7 +195,7 @@ function makeWindowString($p, $strings) { contents_label_after.width = 40 profile.type = checkbox - profile.label = Generate system profile + profile.label = Attach system profile profile.default = ".$p['profile']." cb.type = cancelbutton diff --git a/version.txt b/version.txt index 7104410..829033a 100755 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.7.12.4 \ No newline at end of file +0.7.12.5 \ No newline at end of file diff --git a/web/rtc.php b/web/rtc.php index 392ed3a..a6ac629 100644 --- a/web/rtc.php +++ b/web/rtc.php @@ -4,7 +4,7 @@ // Yuba RTC Browser ///////////////////////////////////////////////////////////////// -$browser_version = "0.7.12"; +$browser_version = "0.7.12.5"; require "togggle.php"; require "lib/ref/ref.php"; @@ -24,16 +24,42 @@ $overlay_exts = array("txt","php","inc","sh","md","json","cmd");

    YY2=I5Wv`pb*N2$3 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