Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove website from simgrid directory
authorNavarrop <Pierre.Navarro@imag.fr>
Mon, 3 Oct 2011 16:52:14 +0000 (18:52 +0200)
committerNavarrop <Pierre.Navarro@imag.fr>
Mon, 3 Oct 2011 16:52:14 +0000 (18:52 +0200)
38 files changed:
buildtools/Cmake/DefinePackages.cmake
buildtools/Cmake/Distrib.cmake
buildtools/Cmake/GenerateDoc.cmake
doc/webcruft/fish.gif [deleted file]
doc/webcruft/robots.txt [deleted file]
tools/doxygen/doxygen_postprocesser_website.pl [deleted file]
website/Doxyfile_website.in [deleted file]
website/FAQ.doc [deleted file]
website/all.bib [deleted file]
website/contrib.doc [deleted file]
website/documentation.html [deleted file]
website/documentation.php.in [deleted file]
website/download.php.in [deleted file]
website/footer.html [deleted file]
website/header.html [deleted file]
website/history.doc [deleted file]
website/img/tab_a.png [deleted file]
website/img/tab_b.png [deleted file]
website/img/tab_h.png [deleted file]
website/img/tab_s.png [deleted file]
website/img_sources/SIMGRID_Logo_NBsolo.ai [deleted file]
website/img_sources/SIMGRID_Logo_Thumbs_up_ink.svg [deleted file]
website/img_sources/SIMGRID_Logo_color.ai [deleted file]
website/img_sources/UnivNancy2.svg [deleted file]
website/index.php.in [deleted file]
website/logos/ANR.png [deleted file]
website/logos/INRIA.png [deleted file]
website/logos/SIMGRID_Logo_Thumbs_up.png [deleted file]
website/logos/UnivHawaiiManoa.png [deleted file]
website/logos/cnrs.png [deleted file]
website/logos/logo_uhp.png [deleted file]
website/logos/simgrid_logo.png [deleted file]
website/logos/simgrid_logo_small.png [deleted file]
website/people.doc [deleted file]
website/publis.doc [deleted file]
website/stylesheets/simgrid.css [deleted file]
website/stylesheets/simgridsite.css [deleted file]
website/stylesheets/simgridsitetabs.css [deleted file]

index 994ef83..c013dc7 100644 (file)
@@ -552,23 +552,7 @@ file(GLOB_RECURSE examples_to_install_in_doc
 "examples/*README"
 )
 
-set(WEBSITE_SOURCES
-    website/contrib.doc
-    website/FAQ.doc
-    website/history.doc
-       website/people.doc      
-       website/publis.doc  
-       website/all.bib
-       website/Doxyfile_website.in
-       website/footer.html
-       website/index.php.in
-       website/download.php.in
-       website/documentation.php.in
-    
-    tools/doxygen/bibtex2html_table_count.pl
-       doc/webcruft/fish.gif
-       doc/webcruft/robots.txt
-       )
+
     
 set(DOC_SOURCES
        doc/installSimgrid.doc
@@ -863,7 +847,6 @@ set(source_to_pack
        ${CMAKE_SOURCE_FILES}
        ${bin_files}
        ${DOC_SOURCES}
-       ${WEBSITE_SOURCES}
        ${DOC_FIGS}
        ${README_files}
        buildtools/Cmake/simgrid.nsi.in 
index 411f1ff..f322349 100644 (file)
@@ -332,15 +332,6 @@ COMMAND scp src/surf/simgrid.dtd scm.gforge.inria.fr:/home/groups/simgrid/htdocs
 WORKING_DIRECTORY "${CMAKE_HOME_DIRECTORY}"
 )
 
-#doc/index.php doc/webcruft/robots.txt doc/webcruft/fish.gif 
-add_custom_target(sync-gforge-website
-COMMAND chmod g+rw -R website/html
-COMMAND chmod a+rX -R website/html
-COMMAND scp -r website/html/* scm.gforge.inria.fr:/home/groups/simgrid/htdocs/
-WORKING_DIRECTORY "${CMAKE_HOME_DIRECTORY}"
-)
-add_dependencies(sync-gforge-website simgrid_website)
-
 #PIPOL
 add_custom_target(sync-pipol
 COMMAND scp -r Experimental_bindings.sh Experimental.sh  MemCheck.sh pre-simgrid.sh navarro@pipol.inria.fr:~/
index 2a5eed6..1e152f7 100644 (file)
@@ -8,8 +8,6 @@ endif(BIBTEX2HTML)
 
 find_path(FIG2DEV_PATH NAMES fig2dev   PATHS NO_DEFAULT_PATHS)
 find_path(DOXYGEN_PATH NAMES doxygen   PATHS NO_DEFAULT_PATHS)
-find_path(BIBTOOL_PATH NAMES bibtool   PATHS NO_DEFAULT_PATHS)
-find_path(ICONV_PATH   NAMES iconv     PATHS NO_DEFAULT_PATHS)
 
 ### Check whether the bibtex2html that we found is the one that Arnaud requires
 exec_program("${BIBTEX2HTML_PATH}/bibtex2html -version" OUTPUT_VARIABLE OUTPUT_BIBTEX2HTML_VERSION)
@@ -27,7 +25,7 @@ else(${OUTPUT_BIBTEX2HTML_VERSION_2} STREQUAL ${OUTPUT_BIBTEX2HTML_VERSION}) # g
        SET(GOOD_BIBTEX2HTML_VERSION 1)
 endif(${OUTPUT_BIBTEX2HTML_VERSION_2} STREQUAL ${OUTPUT_BIBTEX2HTML_VERSION})
 
-if(DOXYGEN_PATH AND FIG2DEV_PATH AND BIBTOOL_PATH AND BIBTEX2HTML_PATH AND ICONV_PATH AND GOOD_BIBTEX2HTML_VERSION)
+if(DOXYGEN_PATH AND FIG2DEV_PATH AND BIBTEX2HTML_PATH AND GOOD_BIBTEX2HTML_VERSION)
 
        string(REGEX REPLACE ";.*logcategories.doc" "" LISTE_DEUX "${LISTE_DEUX}")
 
@@ -116,7 +114,7 @@ if(DOXYGEN_PATH AND FIG2DEV_PATH AND BIBTOOL_PATH AND BIBTEX2HTML_PATH AND ICONV
                WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/doc/
        )
        
-else(DOXYGEN_PATH AND FIG2DEV_PATH AND BIBTOOL_PATH AND BIBTEX2HTML_PATH AND ICONV_PATH AND GOOD_BIBTEX2HTML_VERSION)
+else(DOXYGEN_PATH AND FIG2DEV_PATH AND BIBTEX2HTML_PATH AND GOOD_BIBTEX2HTML_VERSION)
 
        ADD_CUSTOM_TARGET(simgrid_documentation
                        COMMENT "Generating the SimGrid documentation..."
@@ -135,16 +133,14 @@ else(DOXYGEN_PATH AND FIG2DEV_PATH AND BIBTOOL_PATH AND BIBTEX2HTML_PATH AND ICO
        ADD_CUSTOM_COMMAND(TARGET simgrid_documentation
                        COMMAND ${CMAKE_COMMAND} -E echo "DOXYGEN_PATH          = ${DOXYGEN_PATH}"
                        COMMAND ${CMAKE_COMMAND} -E echo "FIG2DEV_PATH          = ${FIG2DEV_PATH}"
-                       COMMAND ${CMAKE_COMMAND} -E echo "BIBTOOL_PATH          = ${BIBTOOL_PATH}"
                        COMMAND ${CMAKE_COMMAND} -E echo "BIBTEX2HTML_PATH      = ${BIBTEX2HTML_PATH}"
-                       COMMAND ${CMAKE_COMMAND} -E echo "ICONV_PATH            = ${ICONV_PATH}"
                        COMMAND ${CMAKE_COMMAND} -E echo "IN ORDER TO GENERATE THE DOCUMENTATION YOU NEED ALL TOOLS !!!"
                        COMMAND ${CMAKE_COMMAND} -E echo "FAIL TO MAKE SIMGRID DOCUMENTATION see previous messages for details ..."
                        COMMAND false
                        )
 
                
-endif(DOXYGEN_PATH AND FIG2DEV_PATH AND BIBTOOL_PATH AND BIBTEX2HTML_PATH AND ICONV_PATH AND GOOD_BIBTEX2HTML_VERSION)
+endif(DOXYGEN_PATH AND FIG2DEV_PATH AND BIBTEX2HTML_PATH AND GOOD_BIBTEX2HTML_VERSION)
 
 ##############################################################################"
 
@@ -263,51 +259,6 @@ endif(compare_files)
   
 file(REMOVE ${CMAKE_HOME_DIRECTORY}/doc/tmp.curtoc)
 
-#Website
-
-configure_file(${CMAKE_HOME_DIRECTORY}/website/Doxyfile_website.in ${CMAKE_HOME_DIRECTORY}/website/Doxyfile_website @ONLY)
-configure_file(${CMAKE_HOME_DIRECTORY}/website/index.php.in ${CMAKE_HOME_DIRECTORY}/website/html/index.php @ONLY)
-configure_file(${CMAKE_HOME_DIRECTORY}/website/documentation.php.in ${CMAKE_HOME_DIRECTORY}/website/html/documentation.php @ONLY)
-configure_file(${CMAKE_HOME_DIRECTORY}/website/download.php.in ${CMAKE_HOME_DIRECTORY}/website/html/download.php @ONLY)
-
-ADD_CUSTOM_TARGET(simgrid_website
-       COMMENT "Generating the SimGrid Website..."
-       DEPENDS ${WEBSITE_SOURCES} ${CMAKE_HOME_DIRECTORY}/website/all.bib
-       COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/toc_create.pl FAQ.doc contrib.doc history.doc                             
-       COMMAND ${CMAKE_COMMAND} -E echo "XX Doxygen website pass"
-       COMMAND ${DOXYGEN_PATH}/doxygen Doxyfile_website
-               
-       COMMAND ${CMAKE_COMMAND} -E echo "XX Post-processing Doxygen website result"
-       COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/doxygen_postprocesser_website.pl
-
-       COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_HOME_DIRECTORY}/website/stylesheets/ ${CMAKE_HOME_DIRECTORY}/website/html/stylesheets/
-       COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_HOME_DIRECTORY}/website/logos/ ${CMAKE_HOME_DIRECTORY}/website/html/logos/
-       COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_HOME_DIRECTORY}/website/img/ ${CMAKE_HOME_DIRECTORY}/website/html/img/
-       
-       COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_HOME_DIRECTORY}/website/html/index.html
-
-       WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/website/
-)
-
-ADD_CUSTOM_TARGET(bib_files
-       DEPENDS ${CMAKE_HOME_DIRECTORY}/website/all.bib
-       COMMAND ${CMAKE_COMMAND} -E echo "XX Generate publis_core.bib publis_extern.bib publis_intra.bib"
-       COMMAND ${BIBTOOL_PATH}/bibtool -- 'select.by.string={category \"core\"}' -- 'preserve.key.case={on}' -- 'preserve.keys={on}' all.bib -o publis_core.bib
-       COMMAND ${BIBTOOL_PATH}/bibtool -- 'select.by.string={category \"extern\"}' -- 'preserve.key.case={on}' -- 'preserve.keys={on}' all.bib -o publis_extern.bib
-       COMMAND ${BIBTOOL_PATH}/bibtool -- 'select.by.string={category \"intra\"}' -- 'preserve.key.case={on}' -- 'preserve.keys={on}' all.bib -o publis_intra.bib
-
-       COMMAND ${CMAKE_COMMAND} -E echo "XX Generate publis_count.html"
-       COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/bibtex2html_table_count.pl < ${CMAKE_HOME_DIRECTORY}/website/all.bib > ${CMAKE_HOME_DIRECTORY}/website/publis_count.html
-       
-       COMMAND ${CMAKE_COMMAND} -E echo "XX Generate publis_core.html publis_extern.html publis_intra.html"
-       COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/bibtex2html_wrapper.pl publis_core
-       COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/bibtex2html_wrapper.pl publis_extern
-       COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/bibtex2html_wrapper.pl publis_intra
-       WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/website/
-)
-
-add_dependencies(simgrid_website bib_files)
-
 ADD_CUSTOM_TARGET(pdf
     COMMAND ${CMAKE_COMMAND} -E echo "XX First pass simgrid_documentation.pdf"
     COMMAND make clean
diff --git a/doc/webcruft/fish.gif b/doc/webcruft/fish.gif
deleted file mode 100644 (file)
index ea2f6d8..0000000
Binary files a/doc/webcruft/fish.gif and /dev/null differ
diff --git a/doc/webcruft/robots.txt b/doc/webcruft/robots.txt
deleted file mode 100644 (file)
index 7ce4fc9..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-User-agent: *
-Allow: *
diff --git a/tools/doxygen/doxygen_postprocesser_website.pl b/tools/doxygen/doxygen_postprocesser_website.pl
deleted file mode 100755 (executable)
index ee930c6..0000000
+++ /dev/null
@@ -1,470 +0,0 @@
-#! /usr/bin/perl
-
-use strict;
-
-# Add here the pages of the documentation generated by a @page doxygen macro
-my @extra_files = qw(html/faq.html html/history.html html/contrib.html html/people.html
-                     html/publis.html html/publis_core.html html/publis_extern.html html/publis_intra.html);
-
-
-my %debug;
-$debug{'parse'} = 0; # show how we parse the module tree
-$debug{'input'} = 0; # display the resulting tree
-$debug{'handle'}= 0; # Be verbose on the post-processing
-$debug{'rename'}= 0; # do not overwrite the files (allows several debuging runs without rerunning doxygen)
-
-my @allfiles;
-###
-### Get the module definitions
-###
-
-open IN, "html/modules.html" || die "Cannot parse html/modules.html. Did you really run doxygen?\n";
-
-# pass headers
-while (<IN>) {
-  last if /group__SimGrid__API.html/;
-}
-
-# Parse the tree
-my $top;
-my $current;
-my $entry;
-
-# $current->{'label'}="ROOT";
-# push @{$top->{'down'}},$current;
-# print "Push $current '".($current->{'label'})."' as child of $top '".($top->{'label'})."'\n" if $debug{'parse'};
-# $current=$top;
-$top->{'label'}="ROOT";
-print "Create ROOT $top\n" if $debug{'parse'};
-$current=$top;
-
-
-# Read the whole data to postprocess it a bit
-my $in;
-while (<IN>) {
-    $in .= $_;
-}
-$in =~ s/<ul>/\n<ul>\n/sg;
-foreach $_ (split(/\n/,$in)) {
-    next unless length($_);
-    next if ($_ =~ m|^</li>$|);
-    print "  Seen '$_'\n" if $debug{'parse'};
-  if (/<ul>/) {
-    print "DOWN: $current '$current->{'label'}' -> " if $debug{'parse'};
-    $current = $current->{'down'}[scalar @{$current->{'down'}} - 1];
-    print "$current '$current->{'label'}'\n" if $debug{'parse'};
-    next;
-  }
-  if (/<\/ul>/) {
-    $current = $current->{'up'};
-    print "UP to $current '$current->{'label'}'\n" if $debug{'parse'};
-    next;
-  }
-  if (/<p>/) {
-    last;
-  }
-  
-  m|href="([^"]*)">([^<]*)</a>|; #"
-  
-  $entry = {};
-  $entry->{'file'} = $1;  
-  $entry->{'label'} = $2;
-  $entry->{'up'} = $current;
-  push @{$current->{'down'}},$entry;
-  print "Push file:$1 label:'$2' as child of $current '$current->{'label'}'\n" if $debug{'parse'};
-  push @allfiles,"html/$1";
-}
-close IN;
-
-# Check each file for extra information (short name, extra childs)
-sub extra_info {
-  my $current=shift;
-
-  if (defined($current->{'file'})) {
-    open IN, "html/$current->{'file'}";
-    while (<IN>) {
-      if (/DOXYGEN_NAVBAR_LABEL/) {
-        if (/DOXYGEN_NAVBAR_LABEL="([^"]*)"/) {#"
-          print "Extra info from $current->{'file'}: label=$1, not $current->{'label'}\n" if $debug{'parse'};
-          $current->{'label'}=$1;
-        } else {
-          die "Malformated DOXYGEN_NAVBAR_LABEL line in $current->{'file'}";
-        }
-      }
-      if (/DOXYGEN_NAVBAR_CHILD/) {
-        if (/DOXYGEN_NAVBAR_CHILD *"([^"]*)"=([^ ]*)/) {#"
-          $entry = {};
-          $entry->{'label'} = $1;
-          $entry->{'file'} = $2;
-          chomp($entry->{'file'});
-          $entry->{'up'} = $current;
-          push @{$current->{'down'}},$entry;
-          print "Extra info from $current->{'file'}: New child $entry->{'label'}=$entry->{'file'}\n"  if $debug{'parse'};
-        } else {
-          die "Malformated DOXYGEN_NAVBAR_CHILD line in $current->{'file'}";
-        }
-      }
-    }
-  }
-  
-  foreach my $entry (@{$current->{'down'}}) {
-    extra_info($entry);
-  }  
-}
-extra_info($top);
-
-## debug function
-sub display {
-  my $current=shift;
-  my $level=shift;
-  print "  " x $level;
-  print "$current: ".$current->{'label'}." ($current->{'file'})\n";
-  foreach my $entry (@{$current->{'down'}}) {
-    display($entry,$level+1);
-  }
-}
-
-display($top,0) if $debug{'input'};
-
-###
-### Generate the navbar
-###
-
-# the root deserves some special handling
-open IN,"html/modules.html" || die;
-open OUT,">html/modules.new.html" || die;
-my $line;
-while ($line = <IN>) {
-  last if $line =~ /<h1>SimGrid Modules</;
-  print OUT $line;
-}
-
-print OUT "<div class=\"tabs\">\n  <ul class=\"tablist\">\n";
-foreach $current (@{ ${$top->{'down'}}[0]->{'down'} }) {
-  print OUT "   <li><a href=\"$current->{'file'}\"><span>$current->{'label'}</span></a></li>\n";
-}
-print OUT "  </ul></div>\n";
-print OUT $line;
-while (<IN>) {
-  print OUT $_;
-}
-
-close OUT;
-close IN;
-rename("html/modules.new.html","html/modules.html") unless $debug{'rename'};
-
-# the publication pages deserves some special handling too
-my %pub_tabs = ("publis.html"       =>"Reference publications",
-                "publis_core.html"  =>"Other publication about SimGrid",
-                "publis_extern.html"=>"External papers using SimGrid",
-                "publis_intra.html"=>"Internal papers using SimGrid");
-# force ordering
-my @pub_titles = ("publis.html", "publis_core.html", "publis_extern.html", "publis_intra.html");
-sub handle_pub{
-    my $oldname = shift;
-    my $newname = $oldname;
-    $newname =~ s/\.html$/.new.html/;
-#    print "Handle_pub($oldname -> $newname)\n";
-    
-    open IN,"html/$oldname" || die "Cannot open $oldname";
-    open OUT,">html/$newname" || die "Cannot open $newname";
-    my $line;
-# BIG FAT WARNING : THIS HACK IS DEPENDANT OF THE DOXYGEN VERSION AND OUR TEXT (because of the string we are looking for, that is changing with doxygen version, either h1 or div class="title" ... So we're forced to use titles defined in doc files...
-    while ($line = <IN>) {
-       $line =~ s/<h1>/<h1 align="center">/g;
-       last if (($line =~ /Reference publications about SimGrid/) 
-               or ($line =~  /Publications about the SimGrid framework/) 
-               or ($line =~  /Papers that use SimGrid-generated results/) 
-               or ($line =~  /Our own papers that use SimGrid-generated results/));
-       print OUT $line;
-    }
-
-    print OUT "<div class=\"tabs\" align=\"center\">\n<ul class=\"tablist\">\n";
-    foreach my $page (@pub_titles) {
-       print OUT "         <li".($page eq $oldname? " class=\"current\"":"" )."> <a href=\"$page\"><span>".($pub_tabs{$page})."</span></a></li>\n";
-    }
-
-    print OUT "  </ul></div>\n";
-    print OUT $line;
-    while ($line = <IN>) {
-       print OUT $line;
-    }
-    close OUT;
-    close IN;
-    rename("html/$newname","html/$oldname") unless $debug{'rename'};
-}
-map {handle_pub($_)} @pub_titles;
-
-
-# Operate the recursion
-sub handle_page {
-  my $current=shift;
-  my $level=shift;
-
-  print "Handle $current->{'file'} at level $level\n" if $debug{'handle'};
-    
-  # we generate the tabs bottom up begining from where we are in the tree
-  # and display them top down, as it should in a file
-  my @tabs = ();
-  my $found_div_tabs=0;
-  
-  if (defined ($current->{'label'}) and $current->{'label'} ne 'ROOT') {
-#    print "handle $current->{'file'}, at level $level\n";
-    # generate the tabs
-    my $iterator = $current;
-    my $lvl_it=$level;
-    while ($lvl_it >= 0) {
-      my $father = $iterator->{'up'};
-      $tabs[$lvl_it] = "<div class=\"tabs2\">\n<ul class=\"tablist\">\n";
-      foreach my $bro (@{$father->{'down'}}) {
-        $tabs[$lvl_it] .= "  <li".($bro==$iterator?" class=\"current\"":"")."> <a href=\"$bro->{'file'}\"><span>$bro->{'label'}</span></a></li>\n";      
-      }
-      $tabs[$lvl_it] .= "  </ul></div>\n";
-      $iterator = $father;
-      $lvl_it--;
-    }
-    if (defined $current->{'down'}) { # there's some kid. Display them too
-      $tabs[$level+1] = "<div class=\"tabs2\">\n  <ul class=\"tablist\">\n";
-      foreach my $kid (@{$current->{'down'}}) {
-        $tabs[$level+1] .= "  <li> <a href=\"$kid->{'file'}\"><span>$kid->{'label'}</span></a></li>\n";      
-      }
-      $tabs[$level+1] .= "  </ul></div>\n";      
-    }
-    
-    # put them in place
-    open FROM,"html/$current->{'file'}" || die;
-    my $newname="html/$current->{'file'}";
-    $newname =~ s/.html/.handlepage.html/;
-    open TO,">$newname" || die;
-#    print "XXX Deal with html/$current->{'file'}  ->  $newname\n";
-    while (<FROM>) {
-#      print "--Read  $_";
-      # add "current" to the module API granfather page
-      s|<li><a href="modules.html"><span>[^<]*</span></a></li>|<li class="current"><a href="modules.html"><span>Modules&nbsp;API</span></a></li>|;
-#      print "++Write $_";
-         $found_div_tabs=1 if m/div.*class="tabs"/;    
-      print TO "$_";
-      last if ((m|</div>|)&&($found_div_tabs));
-    }
-      
-    print TO "\n<!-- POST-PROCESSED TABS -->\n";
-    foreach (@tabs) {
-#      print "TAB: $_";
-      print TO "$_";
-    }
-    print TO "\n<!-- END OF POST-PROCESSED TABS -->\n";
-      
-    if ($current->{'file'} =~ m/^class/) {
-         while (<FROM>) {
-               last if (m|</div>|);
-         }
-      print TO "$_";   
-    }
-    while (<FROM>) {
-      if (m/POST-PROCESSED TABS/) {
-           while (<FROM>) {
-             last if (m/END OF POST-PROCESSED TABS/);
-           }
-           next;
-      }
-
-      if (m/The documentation for/) {
-           while (<FROM>) {
-             last if (m/<p>/);
-           }
-      }
-      print TO "$_";
-    }
-    close FROM;
-    close TO;
-    rename("$newname","html/$current->{'file'}") unless $debug{'rename'};
-  } 
-  
-  # recurse on childs
-  foreach my $entry (@{$current->{'down'}}) {
-    handle_page($entry,$level+1);
-  }
-}
-
-###
-### Launch the modules navbar reworking
-###
-handle_page($top,-1);# skip roots (we have 2 roots) in level counting
-
-###
-### Add the modules navbar reworking to the modules.html file
-###
-sub add_tabs_to_module_html {
-  my $found_div_tabs=0;
-  my $module_tabs = "<div class=\"tabs2\">\n<ul class=\"tablist\">\n";
-  foreach my $entry (@{$top->{'down'}}) {
-      $module_tabs .= "  <li> <a href=\"$entry->{'file'}\"><span>$entry->{'label'}</span></a></li>\n";
-  }
-  $module_tabs .= "  </ul></div>\n";      
-  
-  my $oldname = "html/modules.html";
-  open FROM,$oldname || die;
-  my $newname=$oldname;
-  $newname =~ s/.html/.handlepage.html/;
-  open TO,">$newname" || die;
-  while (<FROM>) {
-    $found_div_tabs=1 if m/div.*class="tabs"/; 
-       print TO "$_";
-       last if ((m|</div>|)&&($found_div_tabs));
-  }
-  
-  print TO "\n<!-- POST-PROCESSED TABS -->\n";
-  print TO $module_tabs;
-  print TO "\n<!-- END OF POST-PROCESSED TABS -->\n";
-
-  while (<FROM>) {
-       print TO "$_";
-  }  
-  close FROM;
-  close TO;
-  rename($newname, $oldname) unless $debug{'rename'};
-  
-  # die;
-}   
-
-add_tabs_to_module_html;
-
-###
-### Post-processsing common to all pages
-###
-map {push @allfiles,$_} @extra_files;
-print "All files: ".(join(", ",@allfiles))."\n" if $debug{'parse'};
-
-my $tabs;
-
-foreach my $file (@allfiles) {
-    $file =~ s/.html/.handlepage.html/ if $debug{'rename'}; # Take right name if debugging
-       
-    open FROM,"$file" || die;
-    my $outfile = "$file";
-    $outfile =~ s/.(html|php)$/.new.$1/;
-    open TO,">$outfile" || die;
-#    print "POSTPROCESSING $file (tmp=$outfile)\n";
-    while (<FROM>) {
-       
-
-
-         if($tabs){
-                 if($file =~ /^html\/index\..*/){
-                       $_ =~ s/<li class="current">/<li>/g;
-                       $_ =~ s/<li><a href="index.html">/<li class="current"><a href="index.html">/g;
-                 }               
-                 $_ =~ s/<li class="current"><a href="pages.html">/<li><a href="pages.html">/g;
-                 
-                 if($file =~ /^html\/pages\..*/){
-                       $_ =~ s/<li><a href="pages.html">/<li class="current"><a href="pages.html">/g;
-                 }
-         }
-         
-         if($file =~ /^html\/publis.*/){
-                       $_ =~ s/<div class="header">/<div>/g;
-                       $_ =~ s/<div class="headertitle">/<div>/g;
-        }
-       
-         # Add the FAQ PUBLIS PEOPLE HISTORY and CONTRIB to the top navbar.
-      if( $_ =~ /<div.*class="tabs">/){
-       $tabs = 1;
-      }
-      if( $_ =~ /<\/div>/){
-       $tabs = 0;
-      }
-      if( $_ =~ /<\/ul>/ && $tabs){
-               my $tmp_buff="";
-               
-                       # LBO : ugly way to separate doc in 2 separate stuff ...
-                       $tmp_buff .= '      <li><a href="download.php"><span>Download</span></a></li>'."\n";
-                       $tmp_buff .= '      <li><a href="documentation.php"><span>Online documentation</span></a></li>'."\n";
-                       $tmp_buff .= '      <li><a href="publis.html"><span>Publications</span></a></li>'."\n";
-                       $tmp_buff .= '      <li><a href="people.html"><span>People</span></a></li>'."\n";
-                       $tmp_buff .= '      <li><a href="history.html"><span>History</span></a></li>'."\n";
-                       $tmp_buff .= '      <li><a href="contrib.html"><span>Contrib</span></a></li>'."\n";
-                       $tmp_buff .= '      <li><a href="faq.html"><span>FAQ&#160;Page</span></a></li>'."\n";
-               
-               
-               $tmp_buff .= '      <li><a href="http://gforge.inria.fr/projects/simgrid"><span>SimGrid&#160;Forge</span></a></li>'."\n";
-                               
-               
-               $tmp_buff .= $_;
-               $tabs = 0;
-
-             # Rework the navbar and add menu for use.html
-             # Fix the current "button" of buggy Doxygen tabs  
-             if($file =~ /^html\/use.*/
-             || $file =~ /^html\/installSimgrid.*/
-             || $file =~ /^html\/options.*/ 
-             || $file =~ /^html\/bindings.*/
-             || $file =~ /^html\/gtnets.*/
-             || $file =~ /^html\/ns3.*/
-             || $file =~ /^html\/modules.*/
-             || $file =~ /^html\/annotated.*/)
-             {
-                               $tmp_buff .= '      <div class="tabs_group_use">'."\n";
-                               $tmp_buff .= '          <ul class="tablist">'."\n";
-                               $tmp_buff .= '          <li><a href="installSimgrid.html"><span>Install SimGrid</span></a></li>'."\n";
-                               $tmp_buff .= '          <li><a href="modules.html"><span>Modules&#160;API</span></a></li>'."\n";
-                       $tmp_buff .= '          <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>'."\n";
-                               $tmp_buff .= '          <li><a href="options.html"><span>Options & configurations</span></a></li>'."\n";
-                               $tmp_buff .= '          <li><a href="bindings.html"><span>Bindings</span></a></li>'."\n";
-                               $tmp_buff .= '          <li><a href="gtnets.html"><span>GTNets</span></a></li>'."\n";
-                               $tmp_buff .= '          <li><a href="ns3.html"><span>NS3</span></a></li>'."\n";
-                               $tmp_buff .= '          </ul></div>'."\n";
-                               $tmp_buff .= '      </div>'."\n";
-                               
-                               my $filename = $file;
-                       $filename =~ s/html\///g;
-                       $filename =~ s/\.html//g;
-                       $filename =~ s/publis_.*/publis/g;
-                       $tmp_buff =~ s/<li class="current">/<li>/g;
-                       $tmp_buff =~ s/<li><a href="$filename.html">/<li class="current"><a href="$filename.html">/g;
-                       $tmp_buff =~ s/<li><a href="use.html">/<li class="current"><a href="use.html">/g; 
-                               
-             }
-       
-             # Rework the navbar
-             # Fix the current "button" of buggy Doxygen tabs   
-             if($file =~ /^html\/publis.*/ 
-             || $file =~ /^html\/faq.*/
-             || $file =~ /^html\/people.*/ 
-             || $file =~ /^html\/history.*/ 
-             || $file =~ /^html\/contrib.*/
-             || $file =~ /^html\/pages.*/)
-             {
-                     my $filename = $file;
-                     $filename =~ s/html\///g;
-                     $filename =~ s/\.html//g;
-                     $filename =~ s/publis_.*/publis/g;
-                     $tmp_buff =~ s/<li class="current">/<li>/g;
-                     $tmp_buff =~ s/<li><a href="$filename.html">/<li class="current"><a href="$filename.html">/g;     
-             }
-             
-
-             print TO $tmp_buff;             
-             next;
-    }
-       
-      s|<li><a href="index.html"><span>Main&#160;Page</span>|<li><a href="index.php"><span>Home</span>|g;                      
-     s|<span>Main&#160;Page</span>|<span>Home</span>|g;        
-      s|<span>Modules</span>|<span>Modules&#160;API</span>|g;
-      s|<li.*><a href="pages.html"><span>Related&#160;Pages</span></a></li>\n||g;
-      s|<li><a href="modules.html"><span>Modules&#160;API</span></a></li>\n||g;
-      s|<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>\n||g;
-      s|<li class="current"><a href="modules.html"><span>Modules&#160;API</span></a></li>\n||g;
-      s|<li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>\n||g;
-      s|Related Pages<|Documentation&nbsp;Index<|g;
-      s|<div id="navrow|<div align="center" id="navrow|g;
-      s|<div class="headertitle">|<div class="headertitle" align="center">|g;  
-      print TO $_;
-    }
-    close FROM;
-    close TO;
-    rename("$outfile", "$file") unless $debug{'rename'};
-}
-
-
-
diff --git a/website/Doxyfile_website.in b/website/Doxyfile_website.in
deleted file mode 100644 (file)
index 306e62d..0000000
+++ /dev/null
@@ -1,1726 +0,0 @@
-
-#               @WARNING@
-
-# Doxyfile 1.7.4
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project.
-#
-# All text after a hash (#) is considered a comment and will be ignored.
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ").
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all
-# text before the first occurrence of this tag. Doxygen uses libiconv (or the
-# iconv built into libc) for the transcoding. See
-# http://www.gnu.org/software/libiconv for the list of possible encodings.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME           = SimGrid
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER         = 
-
-# Using the PROJECT_BRIEF tag one can provide an optional one line description
-# for a project that appears at the top of each page and should give viewer
-# a quick idea about the purpose of the project. Keep the description short.
-
-PROJECT_BRIEF          = "<i>Scalable simulation of distributed systems</i>"
-
-# With the PROJECT_LOGO tag one can specify an logo or icon that is
-# included in the documentation. The maximum height of the logo should not
-# exceed 55 pixels and the maximum width should not exceed 200 pixels.
-# Doxygen will copy the logo to the output directory.
-
-PROJECT_LOGO           =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       = ./
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS         = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
-# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
-# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
-# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF       =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB  = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES        = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH        = @srcdir@
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH    =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful if your file system
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like regular Qt-style comments
-# (thus requiring an explicit @brief command for a brief description.)
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-# interpret the first line (until the first dot) of a Qt-style
-# comment as the brief description. If set to NO, the comments
-# will behave just like regular Qt-style comments (thus requiring
-# an explicit \brief command for a brief description.)
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE               = 8
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C  = YES
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for
-# Java. For instance, namespaces will be presented as packages, qualified
-# scopes will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA   = NO
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources only. Doxygen will then generate output that is more tailored for
-# Fortran.
-
-OPTIMIZE_FOR_FORTRAN   = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for
-# VHDL.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it
-# parses. With this tag you can assign which parser to use for a given extension.
-# Doxygen has a built-in mapping, but you can override or extend it using this
-# tag. The format is ext=language, where ext is a file extension, and language
-# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
-# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
-# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
-# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
-# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
-
-EXTENSION_MAPPING      =
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also makes the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-
-CPP_CLI_SUPPORT        = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
-# Doxygen will parse them like normal C++ but will assume all classes use public
-# instead of private inheritance when no explicit protection keyword is present.
-
-SIP_SUPPORT            = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate getter
-# and setter methods for a property. Setting this option to YES (the default)
-# will make doxygen replace the get and set methods by a property in the
-# documentation. This will only work if the methods are indeed getting or
-# setting a simple type. If this is not the case, or you want to show the
-# methods anyway, you should set this option to NO.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING            = YES
-
-# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and
-# unions are shown inside the group in which they are included (e.g. using
-# @ingroup) instead of on a separate page (for HTML and Man pages) or
-# section (for LaTeX and RTF).
-
-#INLINE_GROUPED_CLASSES = NO
-
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
-# is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically
-# be useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-# determine which symbols to keep in memory and which to flush to disk.
-# When the cache is full, less often used symbols will be written to disk.
-# For small to medium size projects (<1000 input files) the default value is
-# probably good enough. For larger projects a too small cache size can cause
-# doxygen to be busy swapping symbols to and from disk most of the time
-# causing a significant performance penalty.
-# If the system has enough physical memory increasing the cache will improve the
-# performance by keeping more symbols in memory. Note that the value works on
-# a logarithmic scale so increasing the size by one will roughly double the
-# memory usage. The cache size is given by this formula:
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols
-
-SYMBOL_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL            = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC         = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base
-# name of the file that contains the anonymous namespace. By default
-# anonymous namespaces are hidden.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS     = YES
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES     = YES
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES       = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
-# will list include files with double quotes in the documentation
-# rather than with sharp brackets.
-
-FORCE_LOCAL_INCLUDES   = NO
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS       = NO
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
-# will sort the (brief and detailed) documentation of class members so that
-# constructors and destructors are listed first. If set to NO (the default)
-# the constructors will appear in the respective orders defined by
-# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
-# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
-# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
-# hierarchy of group names into alphabetical order. If set to NO (the default)
-# the group names will appear in their defined order.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
-# do proper type resolution of all parameters of a function it will reject a
-# match between the prototype and the implementation of a member function even
-# if there is only one candidate or it is obvious which candidate to choose
-# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
-# will still accept a match between prototype and implementation in such cases.
-
-STRICT_PROTO_MATCHING  = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or macro consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and macros in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES        = YES
-
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = NO
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
-# This will remove the Files entry from the Quick Index and from the
-# Folder Tree View (if specified). The default is YES.
-
-SHOW_FILES             = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
-# Namespaces page.
-# This will remove the Namespaces entry from the Quick Index
-# and from the Folder Tree View (if specified). The default is YES.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command <command> <input-file>, where <command> is the value of
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
-# provided by doxygen. Whatever the program writes to standard output
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
-# by doxygen. The layout file controls the global structure of the generated
-# output files in an output format independent way. The create the layout file
-# that represents doxygen's defaults, run doxygen with the -l option.
-# You can optionally specify a file name after the option, if omitted
-# DoxygenLayout.xml will be used as the name of the layout file.
-
-LAYOUT_FILE            =
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET                  = YES
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS               = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR      = YES
-
-# The WARN_NO_PARAMDOC option can be enabled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT                  = FAQ.doc \
-                         contrib.doc \
-                         publis.doc \
-                         people.doc \
-                         history.doc \
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-# also the default input encoding. Doxygen uses libiconv (or the iconv built
-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
-# the list of possible encodings.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
-# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
-# *.f90 *.f *.for *.vhd *.vhdl
-
-FILE_PATTERNS          =
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE              = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE                =
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
-# directories that are symbolic links (a Unix file system feature) are excluded
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories. Note that the wildcards are matched
-# against the file with absolute path, so to exclude all test directories
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS        =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH           = ./ 
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS       =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE      = YES
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH             = @top_srcdir@/doc
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-# If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER           =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis.
-# Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match.
-# The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty or if
-# non of the patterns match the file name, INPUT_FILTER is applied.
-
-FILTER_PATTERNS        =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES    = NO
-
-# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
-# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
-# and it is also possible to disable source filtering for a specific pattern
-# using *.ext= (so without naming a filter). This option only has effect when
-# FILTER_SOURCE_FILES is enabled.
-
-FILTER_SOURCE_PATTERNS =
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER         = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code.
-# Otherwise they will link to the documentation.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code
-# will point to the HTML generated by the htags(1) tool instead of doxygen
-# built-in source browser. The htags tool is part of GNU's global source
-# tagging system (see http://www.gnu.org/software/global/global.html). You
-# will need version 4.8.6 or higher.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS       = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX     = NO
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML          = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header. Note that when using a custom header you are responsible
-# for the proper inclusion of any scripts and style sheets that doxygen
-# needs, which is dependent on the configuration options used.
-# It is adviced to generate a default header using "doxygen -w html
-# header.html footer.html stylesheet.css YourConfigFile" and then modify
-# that header. Note that the header is subject to change so you typically
-# have to redo this when upgrading to a newer version of doxygen or when changing the value of configuration settings such as GENERATE_TREEVIEW!
-
-HTML_HEADER            = header.html
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER            = footer.html
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        =
-
-# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the HTML output directory. Note
-# that these files will be copied to the base HTML output directory. Use the
-# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
-# files. In the HTML_STYLESHEET file, use the file name only. Also note that
-# the files will be copied as-is; there are no commands or markers available.
-
-#HTML_EXTRA_FILES       =
-
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
-# Doxygen will adjust the colors in the stylesheet and background images
-# according to this color. Hue is specified as an angle on a colorwheel,
-# see http://en.wikipedia.org/wiki/Hue for more information.
-# For instance the value 0 represents red, 60 is yellow, 120 is green,
-# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
-# The allowed range is 0 to 359.
-
-HTML_COLORSTYLE_HUE    = 220
-
-# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
-# the colors in the HTML output. For a value of 0 the output will use
-# grayscales only. A value of 255 will produce the most vivid colors.
-
-HTML_COLORSTYLE_SAT    = 100
-
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
-# the luminance component of the colors in the HTML output. Values below
-# 100 gradually make the output lighter, whereas values above 100 make
-# the output darker. The value divided by 100 is the actual gamma applied,
-# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
-# and 100 does not change the gamma.
-
-HTML_COLORSTYLE_GAMMA  = 80
-
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting
-# this to NO can help when comparing the output of multiple runs.
-
-HTML_TIMESTAMP         = YES
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded. For this to work a browser that supports
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files
-# will be generated that can be used as input for Apple's Xcode 3
-# integrated development environment, introduced with OSX 10.5 (Leopard).
-# To create a documentation set, doxygen will generate a Makefile in the
-# HTML output directory. Running make will produce the docset in that
-# directory and running "make install" will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
-# it at startup.
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
-# for more information.
-
-GENERATE_DOCSET        = NO
-
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
-# feed. A documentation feed provides an umbrella under which multiple
-# documentation sets from a single provider (such as a company or product suite)
-# can be grouped.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
-# should uniquely identify the documentation set bundle. This should be a
-# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
-# will append .docset to the name.
-
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-
-# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
-# the documentation publisher. This should be a reverse domain-name style
-# string, e.g. com.mycompany.MyDocSet.documentation.
-
-DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
-
-# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
-
-DOCSET_PUBLISHER_NAME  = Publisher
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP      = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE               =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION           =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI           = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
-# is used to encode HtmlHelp index (hhk), content (hhc) and project file
-# content.
-
-CHM_INDEX_ENCODING     =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND             = YES
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
-# that can be used as input for Qt's qhelpgenerator to generate a
-# Qt Compressed Help (.qch) of the generated HTML documentation.
-
-GENERATE_QHP           = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
-# be used to specify the file name of the resulting .qch file.
-# The path specified is relative to the HTML output folder.
-
-QCH_FILE               =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#namespace
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#virtual-folders
-
-QHP_VIRTUAL_FOLDER     = doc
-
-# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
-# add. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#custom-filters
-
-QHP_CUST_FILTER_NAME   =
-
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
-# custom filter to add. For more information please see
-# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
-# Qt Help Project / Custom Filters</a>.
-
-QHP_CUST_FILTER_ATTRS  =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-# project's
-# filter section matches.
-# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
-# Qt Help Project / Filter Attributes</a>.
-
-QHP_SECT_FILTER_ATTRS  =
-
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
-# be used to specify the location of Qt's qhelpgenerator.
-# If non-empty doxygen will try to run qhelpgenerator on the generated
-# .qhp file.
-
-QHG_LOCATION           =
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
-#  will be generated, which together with the HTML files, form an Eclipse help
-# plugin. To install this plugin and make it available under the help contents
-# menu in Eclipse, the contents of the directory containing the HTML and XML
-# files needs to be copied into the plugins directory of eclipse. The name of
-# the directory within the plugins directory should be the same as
-# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
-# the help appears.
-
-GENERATE_ECLIPSEHELP   = NO
-
-# A unique identifier for the eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have
-# this name.
-
-ECLIPSE_DOC_ID         = org.doxygen.Project
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX          = NO
-
-# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
-# (range [0,1..20]) that doxygen will group on one line in the generated HTML
-# documentation. Note that a value of 0 will completely suppress the enum
-# values from appearing in the overview section.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information.
-# If the tag value is set to YES, a side panel will be generated
-# containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
-# Windows users are probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW      = NO
-
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
-# and Class Hierarchy pages using a tree view instead of an ordered list.
-
-USE_INLINE_TREES       = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH         = 250
-
-# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
-# links to external symbols imported via tag files in a separate window.
-
-EXT_LINKS_IN_WINDOW    = NO
-
-# Use this tag to change the font size of Latex formulas included
-# as images in the HTML documentation. The default is 10. Note that
-# when you change the font size after a successful doxygen run you need
-# to manually remove any form_*.png images from the HTML output directory
-# to force them to be regenerated.
-
-FORMULA_FONTSIZE       = 10
-
-# Use the FORMULA_TRANPARENT tag to determine whether or not the images
-# generated for formulas are transparent PNGs. Transparent PNGs are
-# not supported properly for IE 6.0, but are supported on all modern browsers.
-# Note that when changing this option you need to delete any form_*.png files
-# in the HTML output before the changes have effect.
-
-FORMULA_TRANSPARENT    = YES
-
-# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
-# (see http://www.mathjax.org) which uses client side Javascript for the
-# rendering instead of using prerendered bitmaps. Use this if you do not
-# have LaTeX installed or if you want to formulas look prettier in the HTML
-# output. When enabled you also need to install MathJax separately and
-# configure the path to it using the MATHJAX_RELPATH option.
-
-USE_MATHJAX            = NO
-
-# When MathJax is enabled you need to specify the location relative to the
-# HTML output directory using the MATHJAX_RELPATH option. The destination
-# directory should contain the MathJax.js script. For instance, if the mathjax
-# directory is located at the same level as the HTML output directory, then
-# MATHJAX_RELPATH should be ../mathjax. The default value points to the
-# mathjax.org site, so you can quickly see the result without installing
-# MathJax, but it is strongly recommended to install a local copy of MathJax
-# before deployment.
-
-MATHJAX_RELPATH        = http://www.mathjax.org/mathjax
-
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box
-# for the HTML output. The underlying search engine uses javascript
-# and DHTML and should work on any modern browser. Note that when using
-# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
-# (GENERATE_DOCSET) there is already a search function so this one should
-# typically be disabled. For large projects the javascript based search engine
-# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
-
-SEARCHENGINE           = NO
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-# implemented using a PHP enabled web server instead of at the web client
-# using Javascript. Doxygen will generate the search PHP script and index
-# file to put on the web server. The advantage of the server
-# based approach is that it scales better to large projects and allows
-# full text search. The disadvantages are that it is more difficult to setup
-# and does not have live searching capabilities.
-
-SERVER_BASED_SEARCH    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-# Note that when enabling USE_PDFLATEX this option is only used for
-# generating bitmaps for formulas in the HTML output, but not in the
-# Makefile that is written to the output directory.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE             = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES         =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER           =
-
-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
-# the generated latex document. The footer should contain everything after
-# the last chapter. If it is left blank doxygen will generate a
-# standard footer. Notice: only use this tag if you know what you are doing!
-
-#LATEX_FOOTER           =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS         = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX           = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE        = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES     = NO
-
-# If LATEX_SOURCE_CODE is set to YES then doxygen will include
-# source code with syntax highlighting in the LaTeX output.
-# Note that which sources are shown also depends on other settings
-# such as SOURCE_BROWSER.
-
-LATEX_SOURCE_CODE      = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE    =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION          = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML           = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT             = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA             =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD                =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader.
-# This is useful
-# if you want to understand what is going on.
-# On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION        = YES
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF     = YES
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# pointed to by INCLUDE_PATH will be searched when a #include is found.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH           =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS  =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed. To prevent a macro definition from being
-# undefined via #undef or recursively expanded use the := operator
-# instead of the = operator.
-
-PREDEFINED             = DOXYGEN \
-                         DOXYGEN_SKIP_IT \
-                         XBT_PUBLIC= \
-                         XBT_INLINE=
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition that
-# overrules the definition found in the source code.
-
-EXPAND_AS_DEFINED      =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all references to function-like macros
-# that are alone on a line, have an all uppercase name, and do not end with a
-# semicolon, because these will confuse the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-#
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-#
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES               =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE       = simgrid_website.tag
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS        = NO
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-# or super classes. Setting the tag to NO turns the diagrams off. Note that
-# this option also works with HAVE_DOT disabled, but it is recommended to
-# install and use dot, since it yields more powerful graphs.
-
-CLASS_DIAGRAMS         = YES
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH            =
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT               = NO
-
-# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
-# allowed to run in parallel. When set to 0 (the default) doxygen will
-# base this on the number of processors available in the system. You can set it
-# explicitly to a value larger than 0 to get control over the balance
-# between CPU load and processing speed.
-
-DOT_NUM_THREADS        = 0
-
-# By default doxygen will write a font called Helvetica to the output
-# directory and reference it in all dot files that doxygen generates.
-# When you want a differently looking font you can specify the font name
-# using DOT_FONTNAME. You need to make sure dot is able to find the font,
-# which can be done by putting it in a standard location or by setting the
-# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
-# containing the font.
-
-DOT_FONTNAME           = Helvetica
-
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
-# The default size is 10pt.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the output directory to look for the
-# FreeSans.ttf font (which doxygen will put there itself). If you specify a
-# different font using DOT_FONTNAME you can set the path where dot
-# can find it using this tag.
-
-DOT_FONTPATH           =
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH    = YES
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK               = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then
-# doxygen will generate a call dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable call graphs
-# for selected functions only using the \callgraph command.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
-# doxygen will generate a caller dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable caller
-# graphs for selected functions only using the \callergraph command.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will generate a graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
-# then doxygen will show the dependencies a directory has on other directories
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are svg, png, jpg, or gif.
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT       = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH               =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS           =
-
-# The MSCFILE_DIRS tag can be used to specify one or more directories that
-# contain msc files that are included in the documentation (see the
-# \mscfile command).
-
-MSCFILE_DIRS           =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
-# nodes that will be shown in the graph. If the number of nodes in a graph
-# becomes larger than this value, doxygen will truncate the graph, which is
-# visualized by representing a node as a red box. Note that doxygen if the
-# number of direct children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
-# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes
-# that lay further from the root node will be omitted. Note that setting this
-# option to 1 or 2 may greatly reduce the computation time needed for large
-# code bases. Also note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not
-# seem to support this out of the box. Warning: Depending on the platform used,
-# enabling this option may lead to badly anti-aliased labels on the edges of
-# a graph (i.e. they become hard to read).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10)
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS      = NO
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP            = YES
diff --git a/website/FAQ.doc b/website/FAQ.doc
deleted file mode 100644 (file)
index 852ad88..0000000
+++ /dev/null
@@ -1,1088 +0,0 @@
-/*! \page faq Frequently Asked Questions
-
-\htmlinclude .FAQ.doc.toc
-
-\section faq_simgrid I'm new to SimGrid. I have some questions. Where should I start?
-
-You are at the right  place... Having a look to these
-<a href="http://www.loria.fr/~quinson/blog/2010/06/28/Tutorial_at_HPCS/">the slides of the HPCS'10 tutorial</a>
-(or to these <a href="http://graal.ens-lyon.fr/~alegrand/articles/slides_g5k_simul.pdf">ancient
-slides</a>, or to these
-<a href="http://graal.ens-lyon.fr/~alegrand/articles/Simgrid-Introduction.pdf">"obsolete" slides</a>)
-may give you some insights on what SimGrid can help you to do and what
-are its limitations. Then you definitely should read the \ref
-MSG_examples. The \ref GRAS_tut can also help you.
-
-If you are stuck at any point and if this FAQ cannot help you, please drop us a
-mail to the user mailing list: <simgrid-user@lists.gforge.inria.fr>.
-
-\subsection faq_interfaces What is the difference between MSG, SimDag, and GRAS? Do they serve the same purpose?
-
-It depend on how you define "purpose", I guess ;)
-
-They all allow you to build a prototype of application which you can run
-within the simulator afterward. They all share the same simulation kernel,
-which is the core of the SimGrid project. They differ by the way you express
-your application.
-
-With SimDag, you express your code as a collection of interdependent
-parallel tasks. So, in this model, applications can be seen as a DAG of
-tasks. This is the interface of choice for people wanting to port old
-code designed for SimGrid v1 or v2 to the framework current version.
-
-With both GRAS and MSG, your application is seen as a set of communicating
-processes, exchanging data by the way of messages and performing computation
-on their own.
-
-The difference between both is that MSG is somehow easier to use, but GRAS
-is not limited to the simulator. Once you're done writing your GRAS code,
-you can run your code both in the simulator or on a real platform. For this,
-there is two implementations of the GRAS interface, one for simulation, one
-for real execution. So, you just have to relink your code to chose one of
-both world. 
-
-\subsection faq_visualization Visualizing and analyzing the results
-
-It is sometime convenient to "see" how the agents are behaving. If you
-like colors, you can use <tt>tools/MSG_visualization/colorize.pl </tt>
-as a filter to your MSG outputs. It works directly with INFO. Beware,
-INFO() prints on stderr. Do not forget to redirect if you want to
-filter (e.g. with bash): 
-\verbatim 
-./msg_test small_platform.xml small_deployment.xml 2>&1 | ../../tools/MSG_visualization/colorize.pl
-\endverbatim
-
-We also have a more graphical output. Have a look at section \ref options_tracing.
-
-\subsection faq_C Argh! Do I really have to code in C?
-
-Up until now, there is no binding for other languages. If you use C++,
-you should be able to use the SimGrid library as a standard C library
-and everything should work fine (simply <i>link</i> against this
-library; recompiling SimGrid with a C++ compiler won't work and it
-wouldn't help if you could).
-
-In fact, we are currently working on Java bindings of MSG to allow
-all the undergrad students of the world to use this tool. This is a
-little more tricky than I would have expected, but the work is moving
-fast forward [2006/05/13]. More languages are evaluated, but for now,
-we do not feel a real demand for any other language. Please speak up!
-
-\section faq_howto Feature related questions
-
-\subsection faq_MIA "Could you please add (your favorite feature here) to SimGrid?"
-
-Here is the deal. The whole SimGrid project (MSG, SURF, GRAS, ...) is
-meant to be kept as simple and generic as possible. We cannot add
-functions for everybody's needs when these functions can easily be
-built from the ones already in the API. Most of the time, it is
-possible and when it was not possible we always have upgraded the API
-accordingly. When somebody asks us a question like "How to do that?
-Is there a function in the API to simply do this?", we're always glad
-to answer and help. However if we don't need this code for our own
-need, there is no chance we're going to write it... it's your job! :)
-The counterpart to our answers is that once you come up with a neat
-implementation of this feature (task duplication, RPC, thread
-synchronization, ...), you should send it to us and we will be glad to
-add it to the distribution. Thus, other people will take advantage of
-it (and we don't have to answer this question again and again ;).
-
-You'll find in this section a few "Missing In Action" features. Many
-people have asked about it and we have given hints on how to simply do
-it with MSG. Feel free to contribute...
-
-\subsection faq_MIA_MSG MSG features
-
-\subsubsection faq_MIA_examples I want some more complex MSG examples!
-
-Many people have come to ask me a more complex example and each time,
-they have realized afterward that the basics were in the previous three
-examples. 
-
-Of course they have often been needing more complex functions like
-MSG_process_suspend(), MSG_process_resume() and
-MSG_process_isSuspended() (to perform synchronization), or
-MSG_task_Iprobe() and MSG_process_sleep() (to avoid blocking
-receptions), or even MSG_process_create() (to design asynchronous
-communications or computations). But the examples are sufficient to
-start.
-
-We know. We should add some more examples, but not really some more
-complex ones... We should add some examples that illustrate some other
-functionalists (like how to simply encode asynchronous
-communications, RPC, process migrations, thread synchronization, ...)
-and we will do it when we will have a little bit more time. We have
-tried to document the examples so that they are understandable. Tell
-us if something is not clear and once again feel free to participate!
-:)
-
-\subsubsection faq_MIA_taskdup Missing in action: MSG Task duplication/replication
-
-There is no task duplication in MSG. When you create a task, you can
-process it or send it somewhere else. As soon as a process has sent
-this task, he doesn't have this task anymore. It's gone. The receiver
-process has got the task. However, you could decide upon receiving to
-create a "copy" of a task but you have to handle by yourself the
-semantic associated to this "duplication".
-
-As we already told, we prefer keeping the API as simple as
-possible. This kind of feature is rather easy to implement by users
-and the semantic you associate really depends on people. Having a
-*generic* task duplication mechanism is not that trivial (in
-particular because of the data field). That is why I would recommand
-that you write it by yourself even if I can give you advice on how to
-do it.
-
-You have the following functions to get informations about a task:
-MSG_task_get_name(), MSG_task_get_compute_duration(),
-MSG_task_get_remaining_computation(), MSG_task_get_data_size(),
-and MSG_task_get_data().
-
-You could use a dictionary (#xbt_dict_t) of dynars (#xbt_dynar_t). If
-you still don't see how to do it, please come back to us...
-
-\subsubsection faq_MIA_asynchronous I want to do asynchronous communications in MSG
-
-In the past (version <= 3.4), there was no function to perform asynchronous communications. 
-It could easily be implemented by creating new process when needed though. Since version 3.5, 
-we have introduced the following functions:
- - MSG_task_isend()
- - MSG_task_irecv()
- - MSG_comm_test()
- - MSG_comm_wait()
- - MSG_comm_waitall()
- - MSG_comm_waitany()
- - MSG_comm_destroy()
-
-We refer you to the description of these functions for more details on their usage as well 
-as to the exemple section on \ref MSG_ex_asynchronous_communications.
-
-\subsubsection faq_MIA_thread_synchronization I need to synchronize my MSG processes
-
-You obviously cannot use pthread_mutexes of pthread_conds since we handle every 
-scheduling related decision within SimGrid. 
-
-In the past (version <=3.3.4) you could do it by playing with
-MSG_process_suspend() and MSG_process_resume() or with fake communications (using MSG_task_get(),
-MSG_task_put() and MSG_task_Iprobe()).
-
-Since version 3.4, you can use classical synchronization structures. See page \ref XBT_synchro or simply check in
-include/xbt/synchro_core.h.
-
-\subsubsection faq_MIA_host_load Where is the get_host_load function hidden in MSG?
-
-There is no such thing because its semantic wouldn't be really
-clear. Of course, it is something about the amount of host throughput,
-but there is as many definition of "host load" as people asking for
-this function. First, you have to remember that resource availability
-may vary over time, which make any load notion harder to define.
-
-It may be instantaneous value or an average one. Moreover it may be only the
-power of the computer, or may take the background load into account, or may
-even take the currently running tasks into account. In some SURF models,
-communications have an influence on computational power. Should it be taken
-into account too?
-
-First of all, it's near to impossible to predict the load beforehands in the
-simulator since it depends on too much parameters (background load
-variation, bandwidth sharing algorithmic complexity) some of them even being
-not known beforehands (other task starting at the same time). So, getting
-this information is really hard (just like in real life). It's not just that
-we want MSG to be as painful as real life. But as it is in some way
-realistic, we face some of the same problems as we would face in real life.
-
-How would you do it for real? The most common option is to use something
-like NWS that performs active probes. The best solution is probably to do
-the same within MSG, as in next code snippet. It is very close from what you
-would have to do out of the simulator, and thus gives you information that
-you could also get in real settings to not hinder the realism of your
-simulation. 
-
-\verbatim
-double get_host_load() {
-   m_task_t task = MSG_task_create("test", 0.001, 0, NULL);
-   double date = MSG_get_clock();
-
-   MSG_task_execute(task);
-   date = MSG_get_clock() - date;
-   MSG_task_destroy(task);
-   return (0.001/date);
-}
-\endverbatim
-
-Of course, it may not match your personal definition of "host load". In this
-case, please detail what you mean on the mailing list, and we will extend
-this FAQ section to fit your taste if possible.
-
-\subsubsection faq_MIA_communication_time How can I get the *real* communication time?  
-
-Communications are synchronous and thus if you simply get the time
-before and after a communication, you'll only get the transmission
-time and the time spent to really communicate (it will also take into
-account the time spent waiting for the other party to be
-ready). However, getting the *real* communication time is not really
-hard either. The following solution is a good starting point.
-
-\verbatim
-int sender()
-{
-  m_task_t task = MSG_task_create("Task", task_comp_size, task_comm_size, 
-                                  calloc(1,sizeof(double)));
-  *((double*) task->data) = MSG_get_clock();
-  MSG_task_put(task, slaves[i % slaves_count], PORT_22);
-  XBT_INFO("Send completed");
-  return 0;
-}
-int receiver()
-{
-  m_task_t task = NULL;
-  double time1,time2;
-
-  time1 = MSG_get_clock();
-  a = MSG_task_get(&(task), PORT_22);
-  time2 = MSG_get_clock();
-  if(time1<*((double *)task->data))
-     time1 = *((double *) task->data);
-  XBT_INFO("Communication time :  \"%f\" ", time2-time1);
-  free(task->data);
-  MSG_task_destroy(task);
-  return 0;
-}
-\endverbatim
-
-\subsection faq_MIA_SimDag SimDag related questions
-
-\subsubsection faq_SG_comm Implementing communication delays between tasks.
-
-A classic question of SimDag newcomers is about how to express a
-communication delay between tasks. The thing is that in SimDag, both
-computation and communication are seen as tasks.  So, if you want to
-model a data dependency between two DAG tasks t1 and t2, you have to
-create 3 SD_tasks: t1, t2 and c and add dependencies in the following
-way:
-
-\verbatim
-SD_task_dependency_add(NULL, NULL, t1, c);
-SD_task_dependency_add(NULL, NULL, c, t2);
-\endverbatim
-
-This way task t2 cannot start before the termination of communication c
-which in turn cannot start before t1 ends.
-
-When creating task c, you have to associate an amount of data (in bytes)
-corresponding to what has to be sent by t1 to t2.
-
-Finally to schedule the communication task c, you have to build a list
-comprising the workstations on which t1 and t2 are scheduled (w1 and w2
-for example) and build a communication matrix that should look like
-[0;amount ; 0; 0].
-
-\subsubsection faq_SG_DAG How to implement a distributed dynamic scheduler of DAGs.
-
-Distributed is somehow "contagious". If you start making distributed
-decisions, there is no way to handle DAGs directly anymore (unless I
-am missing something). You have to encode your DAGs in term of
-communicating process to make the whole scheduling process
-distributed. Here is an example of how you could do that. Assume T1
-has to be done before T2.
-
-\verbatim
- int your_agent(int argc, char *argv[] {
-   ...
-   T1 = MSG_task_create(...);
-   T2 = MSG_task_create(...);
-   ...
-   while(1) {
-     ...
-     if(cond) MSG_task_execute(T1);
-     ...
-     if((MSG_task_get_remaining_computation(T1)=0.0) && (you_re_in_a_good_mood))
-        MSG_task_execute(T2)
-     else {
-        /* do something else */
-     }
-   }
- }
-\endverbatim
-If you decide that the distributed part is not that much important and that
-DAG is really the level of abstraction you want to work with, then you should
-give a try to \ref SD_API.
-
-\subsection faq_MIA_generic Generic features
-
-\subsubsection faq_more_processes Increasing the amount of simulated processes
-
-Here are a few tricks you can apply if you want to increase the amount
-of processes in your simulations.
-
- - <b>A few thousands of simulated processes</b> (soft tricks)\n
-   SimGrid can use either pthreads library or the UNIX98 contextes. On
-   most systems, the number of pthreads is limited and then your
-   simulation may be limited for a stupid reason. This is especially
-   true with the current linux pthreads, and I cannot get more than
-   2000 simulated processes with pthreads on my box. The UNIX98
-   contexts allow me to raise the limit to 25,000 simulated processes
-   on my laptop.\n\n
-   The <tt>--with-context</tt> option of the <tt>./configure</tt>
-   script allows you to choose between UNIX98 contextes
-   (<tt>--with-context=ucontext</tt>) and the pthread version
-   (<tt>--with-context=pthread</tt>). The default value is ucontext
-   when the script detect a working UNIX98 context implementation. On
-   Windows boxes, the provided value is discarded and an adapted
-   version is picked up.\n\n
-   We experienced some issues with contextes on some rare systems
-   (solaris 8 and lower or old alpha linuxes comes to mind). The main
-   problem is that the configure script detect the contextes as being
-   functional when it's not true. If you happen to use such a system,
-   switch manually to the pthread version, and provide us with a good
-   patch for the configure script so that it is done automatically ;)
-
- - <b>Hundred thousands of simulated processes</b> (hard-core tricks)\n 
-   As explained above, SimGrid can use UNIX98 contextes to represent
-   and handle the simulated processes. Thanks to this, the main
-   limitation to the number of simulated processes becomes the
-   available memory.\n\n
-   Here are some tricks I had to use in order to run a token ring
-   between 25,000 processes on my laptop (1Gb memory, 1.5Gb swap).\n
-   - First of all, make sure your code runs for a few hundreds
-     processes before trying to push the limit. Make sure it's
-     valgrind-clean, ie that valgrind does not report neither memory
-     error nor memory leaks. Indeed, numerous simulated processes
-     result in *fat* simulation hindering debugging.
-   - It was really boring to write 25,000 entries in the deployment
-     file, so I wrote a little script
-     <tt>examples/gras/mutual_exclusion/simple_token/make_deployment.pl</tt>, which you may
-     want to adapt to your case. You could also think about hijacking
-     the SURFXML parser (have look at \ref faq_flexml_bypassing).
-   - The deployment file became quite big, so I had to do what is in
-     the FAQ entry \ref faq_flexml_limit
-   - Each UNIX98 context has its own stack entry. As debugging this is
-     quite hairly, the default value is a bit overestimated so that
-     user don't get into trouble about this. You want to tune this
-     size to increse the number of processes. This is the
-     <tt>STACK_SIZE</tt> define in 
-     <tt>src/xbt/xbt_context_sysv.c</tt>, which is 128kb by default.
-     Reduce this as much as you can, but be warned that if this value
-     is too low, you'll get a segfault. The token ring example, which
-     is quite simple, runs with 40kb stacks.     
-   - You may tweak the logs to reduce the stack size further.  When
-     logging something, we try to build the string to display in a
-     char array on the stack. The size of this array is constant (and
-     equal to XBT_LOG_BUFF_SIZE, defined in include/xbt/log/h). If the
-     string is too large to fit this buffer, we move to a dynamically
-     sized buffer. In which case, we have to traverse one time the log
-     event arguments to compute the size we need for the buffer,
-     malloc it, and traverse the argument list again to do the actual
-     job.\n     
-     The idea here is to move XBT_LOG_BUFF_SIZE to 1, forcing the logs
-     to use a dynamic array each time. This allows us to lower further
-     the stack size at the price of some performance loss...\n
-     This allowed me to run the reduce the stack size to ... 4k. Ie,
-     on my 1Gb laptop, I can run more than 250,000 processes!
-
-\subsubsection faq_MIA_batch_scheduler Is there a native support for batch schedulers in SimGrid?
-
-No, there is no native support for batch schedulers and none is
-planned because this is a very specific need (and doing it in a
-generic way is thus very hard). However some people have implemented
-their own batch schedulers. Vincent Garonne wrote one during his PhD
-and put his code in the contrib directory of our SVN so that other can
-keep working on it. You may find inspiring ideas in it.
-
-\subsubsection faq_MIA_checkpointing I need a checkpointing thing
-
-Actually, it depends on whether you want to checkpoint the simulation, or to
-simulate checkpoints. 
-
-The first one could help if your simulation is a long standing process you
-want to keep running even on hardware issues. It could also help to
-<i>rewind</i> the simulation by jumping sometimes on an old checkpoint to
-cancel recent calculations.\n 
-Unfortunately, such thing will probably never exist in SG. One would have to
-duplicate all data structures because doing a rewind at the simulator level
-is very very hard (not talking about the malloc free operations that might
-have been done in between). Instead, you may be interested in the Libckpt
-library (http://www.cs.utk.edu/~plank/plank/www/libckpt.html). This is the
-checkpointing solution used in the condor project, for example. It makes it
-easy to create checkpoints (at the OS level, creating something like core
-files), and rerunning them on need.
-
-If you want to simulate checkpoints instead, it means that you want the
-state of an executing task (in particular, the progress made towards
-completion) to be saved somewhere.  So if a host (and the task executing on
-it) fails (cf. #MSG_HOST_FAILURE), then the task can be restarted
-from the last checkpoint.\n
-
-Actually, such a thing does not exists in SimGrid either, but it's just
-because we don't think it is fundamental and it may be done in the user code
-at relatively low cost. You could for example use a watcher that
-periodically get the remaining amount of things to do (using
-MSG_task_get_remaining_computation()), or fragment the task in smaller
-subtasks.
-
-\subsection faq_platform Platform building and Dynamic resources
-
-\subsubsection faq_platform_example Where can I find SimGrid platform files?
-
-There is several little examples in the archive, in the examples/msg
-directory. From time to time, we are asked for other files, but we
-don't have much at hand right now. 
-
-You should refer to the Platform Description Archive
-(http://pda.gforge.inria.fr) project to see the other platform file we
-have available, as well as the Simulacrum simulator, meant to generate
-SimGrid platforms using all classical generation algorithms.
-
-\subsubsection faq_platform_alnem How can I automatically map an existing platform?
-
-We are working on a project called ALNeM (Application-Level Network
-Mapper) which goal is to automatically discover the topology of an
-existing network. Its output will be a platform description file
-following the SimGrid syntax, so everybody will get the ability to map
-their own lab network (and contribute them to the catalog project).
-This tool is not ready yet, but it move quite fast forward. Just stay
-tuned.
-
-\subsubsection faq_platform_synthetic Generating synthetic but realistic platforms
-
-The third possibility to get a platform file (after manual or
-automatic mapping of real platforms) is to generate synthetic
-platforms. Getting a realistic result is not a trivial task, and
-moreover, nobody is really able to define what "realistic" means when
-speaking of topology files. You can find some more thoughts on this
-topic in these
-<a href="http://graal.ens-lyon.fr/~alegrand/articles/Simgrid-Introduction.pdf">slides</a>.
-
-If you are looking for an actual tool, there we have a little tool to
-annotate Tiers-generated topologies. This perl-script is in
-<tt>tools/platform_generation/</tt> directory of the SVN. Dinda et Al.
-released a very comparable tool, and called it GridG.
-
-\subsubsection faq_SURF_multicore Modeling multi-core resources 
-
-There is currently no native support for multi-core or SMP machines in
-SimGrid. We are currently working on it, but coming up with the right
-model is very hard: Cores share caches and bus to access memory and
-thus interfere with each others. Memory contention is a crucial
-component of multi-core modeling.
-
-In the meanwhile, some user-level tricks can reveal sufficient for
-you. For example, you may model each core by a CPU and add some very
-high speed links between them. This complicates a bit the user code
-since you have to remember that when you assign something to a (real)
-host, it can be any of the (fake) hosts representing the cores of a
-given machine. For that, you can use the prop tag of the XML files as
-follows. Your code should then look at the ‘machine’ property
-associated with each workstation, and run parallel tasks over all
-cores of the machine.
-
-\verbatim
-  <host id="machine0/core0" power="91500E6">
-    <prop id="machine" value="machine0"/>
-    <prop id="core" value="0"/>
-  </host>
-  <host id="machine0/core1" power="91500E6">
-    <prop id="machine" value="machine0"/>
-    <prop id="core" value="1"/>
-</host>
-
-
-\endverbatim
-
-\subsubsection faq_SURF_dynamic Modeling dynamic resource availability 
-
-A nice feature of SimGrid is that it enables you to seamlessly have
-resources whose availability change over time. When you build a
-platform, you generally declare hosts like that:
-
-\verbatim
-  <host id="host A" power="100.00"/>
-\endverbatim 
-
-If you want the availability of "host A" to change over time, the only
-thing you have to do is change this definition like that:
-
-\verbatim
-  <host id="host A" power="100.00" availability_file="trace_A.txt" state_file="trace_A_failure.txt"/>
-\endverbatim
-
-For hosts, availability files are expressed in fraction of available
-power. Let's have a look at what "trace_A.txt" may look like:
-
-\verbatim
-PERIODICITY 1.0
-0.0 1.0
-11.0 0.5
-20.0 0.9
-\endverbatim
-
-At time 0, our host will deliver 100 flop/s. At time 11.0, it will
-deliver only 50 flop/s until time 20.0 where it will will start
-delivering 90 flop/s. Last at time 21.0 (20.0 plus the periodicity
-1.0), we'll be back to the beginning and it will deliver 100 flop/s.
-
-Now let's look at the state file:
-\verbatim
-PERIODICITY 10.0
-1.0 -1.0
-2.0 1.0
-\endverbatim
-
-A negative value means "off" while a positive one means "on". At time
-1.0, the host is on. At time 1.0, it is turned off and at time 2.0, it
-is turned on again until time 12 (2.0 plus the periodicity 10.0). It
-will be turned on again at time 13.0 until time 23.0, and so on.
-
-Now, let's look how the same kind of thing can be done for network
-links. A usual declaration looks like:
-
-\verbatim
-  <link id="LinkA" bandwidth="10.0" latency="0.2"/>
-\endverbatim
-
-You have at your disposal the following options: bandwidth_file,
-latency_file and state_file. The only difference with hosts is that
-bandwidth_file and latency_file do not express fraction of available
-power but are expressed directly in bytes per seconds and seconds.
-
-\subsubsection faq_platform_multipath How to express multipath routing in platform files?
-
-It is unfortunately impossible to express the fact that there is more
-than one routing path between two given hosts. Let's consider the
-following platform file:
-
-\verbatim
-<route src="A" dst="B">
-   <link:ctn id="1"/>
-</route>
-<route src="B" dst="C">
-  <link:ctn id="2"/>
-</route>
-<route src="A" dst="C">
-  <link:ctn id="3"/>
-</route>
-\endverbatim
-
-Although it is perfectly valid, it does not mean that data traveling
-from A to C can either go directly (using link 3) or through B (using
-links 1 and 2). It simply means that the routing on the graph is not
-trivial, and that data do not following the shortest path in number of
-hops on this graph. Another way to say it is that there is no implicit
-in these routing descriptions. The system will only use the routes you
-declare (such as &lt;route src="A" dst="C"&gt;&lt;link:ctn
-id="3"/&gt;&lt;/route&gt;), without trying to build new routes by aggregating
-the provided ones.
-  
-You are also free to declare platform where the routing is not
-symmetric. For example, add the following to the previous file:
-
-\verbatim
-<route src="C" dst="A">
-  <link:ctn id="2"/>
-  <link:ctn id="1"/>
-</route>
-\endverbatim
-
-This makes sure that data from C to A go through B where data from A
-to C go directly. Don't worry about realism of such settings since
-we've seen ways more weird situation in real settings (in fact, that's
-the realism of very regular platforms which is questionable, but
-that's another story).
-
-\subsubsection faq_flexml_bypassing Bypassing the XML parser with your own C functions
-
-So you want to bypass the XML files parser, uh? Maybe doing some parameter
-sweep experiments on your simulations or so? This is possible, and
-it's not even really difficult (well. Such a brutal idea could be
-harder to implement). Here is how it goes.
-
-For this, you have to first remember that the XML parsing in SimGrid is done
-using a tool called FleXML. Given a DTD, this gives a flex-based parser. If
-you want to bypass the parser, you need to provide some code mimicking what
-it does and replacing it in its interactions with the SURF code. So, let's
-have a look at these interactions.
-
-FleXML parser are close to classical SAX parsers. It means that a
-well-formed SimGrid platform XML file might result in the following
-"events":
-
-  - start "platform_description" with attribute version="2"
-  - start "host" with attributes id="host1" power="1.0"
-  - end "host"
-  - start "host" with attributes id="host2" power="2.0"
-  - end "host"
-  - start "link" with ...
-  - end "link"
-  - start "route" with ...
-  - start "link:ctn" with ...
-  - end "link:ctn"
-  - end "route"
-  - end "platform_description"
-
-The communication from the parser to the SURF code uses two means:
-Attributes get copied into some global variables, and a surf-provided
-function gets called by the parser for each event. For example, the event
-  - start "host" with attributes id="host1" power="1.0"
-
-let the parser do something roughly equivalent to:
-\verbatim
-  strcpy(A_host_id,"host1");
-  A_host_power = 1.0;
-  STag_host();
-\endverbatim
-
-In SURF, we attach callbacks to the different events by initializing the
-pointer functions to some the right surf functions. Since there can be
-more than one callback attached to the same event (if more than one
-model is in use, for example), they are stored in a dynar. Example in
-workstation_ptask_L07.c:
-\verbatim
-  /* Adding callback functions */
-  surf_parse_reset_parser();
-  surfxml_add_callback(STag_surfxml_host_cb_list, &parse_cpu_init);
-  surfxml_add_callback(STag_surfxml_prop_cb_list, &parse_properties);
-  surfxml_add_callback(STag_surfxml_link_cb_list, &parse_link_init);
-  surfxml_add_callback(STag_surfxml_route_cb_list, &parse_route_set_endpoints);
-  surfxml_add_callback(ETag_surfxml_link_c_ctn_cb_list, &parse_route_elem);
-  surfxml_add_callback(ETag_surfxml_route_cb_list, &parse_route_set_route);
-                
-  /* Parse the file */
-  surf_parse_open(file);
-  xbt_assert(!surf_parse(), "Parse error in %s", file);
-  surf_parse_close();
-\endverbatim
-    
-So, to bypass the FleXML parser, you need to write your own version of the
-surf_parse function, which should do the following:
-   - Fill the A_<tag>_<attribute> variables with the wanted values
-   - Call the corresponding STag_<tag>_fun function to simulate tag start
-   - Call the corresponding ETag_<tag>_fun function to simulate tag end
-   - (do the same for the next set of values, and loop)
-
-Then, tell SimGrid that you want to use your own "parser" instead of the stock one:
-\verbatim
-  surf_parse = surf_parse_bypass_environment;
-  MSG_create_environment(NULL);
-  surf_parse = surf_parse_bypass_application;
-  MSG_launch_application(NULL);
-\endverbatim
-
-A set of macros are provided at the end of
-include/surf/surfxml_parse.h to ease the writing of the bypass
-functions. An example of this trick is distributed in the file
-examples/msg/masterslave/masterslave_bypass.c
-
-\section faq_troubleshooting Troubleshooting
-
-\subsection faq_trouble_lib_compil SimGrid compilation and installation problems
-
-\subsubsection faq_trouble_lib_config cmake fails!
-
-We know only one reason for the configure to fail:
-
- - <b>You are using a broken build environment</b>\n
-   If symptom is that the configury magic complains about gcc not being able to build
-   executables, you are probably missing the libc6-dev package. Damn Ubuntu.
-
-If you experience other kind of issue, please get in touch with us. We are
-always interested in improving our portability to new systems.
-
-\subsubsection faq_trouble_distcheck Dude! "ctest" fails on my machine!
-
-Don't assume we never run this target, because we do. Check
-http://cdash.inria.fr/CDash/index.php?project=Simgrid (click on
-previous if there is no result for today: results are produced only by
-11am, French time) and
-https://buildd.debian.org/status/logs.php?pkg=simgrid if you don't believe us. 
-
-If it's failing on your machine in a way not experienced by the
-autobuilders above, please drop us a mail on the mailing list so that
-we can check it out. Make sure to read \ref faq_bugrepport before you
-do so.
-
-\subsection faq_trouble_compil User code compilation problems
-
-\subsubsection faq_trouble_err_logcat "gcc: _simgrid_this_log_category_does_not_exist__??? undeclared (first use in this function)"
-
-This is because you are using the log mecanism, but you didn't created
-any default category in this file. You should refer to \ref XBT_log
-for all the details, but you simply forgot to call one of
-XBT_LOG_NEW_DEFAULT_CATEGORY() or XBT_LOG_NEW_DEFAULT_SUBCATEGORY().
-
-\subsubsection faq_trouble_pthreadstatic "gcc: undefined reference to pthread_key_create"
-
-This indicates that one of the library SimGrid depends on (libpthread
-here) was missing on the linking command line. Dependencies of
-libsimgrid are expressed directly in the dynamic library, so it's
-quite impossible that you see this message when doing dynamic linking. 
-
-If you compile your code statically (and if you use a pthread version
-of SimGrid -- see \ref faq_more_processes), you must absolutely
-specify <tt>-lpthread</tt> on the linker command line. As usual, this should
-come after <tt>-lsimgrid</tt> on this command line.
-
-\subsection faq_trouble_errors Runtime error messages
-
-\subsubsection faq_flexml_limit "surf_parse_lex: Assertion `next limit' failed."
-
-This is because your platform file is too big for the parser. 
-
-Actually, the message comes directly from FleXML, the technology on top of
-which the parser is built. FleXML has the bad idea of fetching the whole
-document in memory before parsing it. And moreover, the memory buffer size
-must be determined at compilation time.
-
-We use a value which seems big enough for our need without bloating the
-simulators footprints. But of course your mileage may vary. In this case,
-just edit src/surf/surfxml.l modify the definition of
-FLEXML_BUFFERSTACKSIZE. E.g.
-
-\verbatim
-#define FLEXML_BUFFERSTACKSIZE 1000000000
-\endverbatim
-
-Then recompile and everything should be fine, provided that your version of
-Flex is recent enough (>= 2.5.31). If not the compilation process should
-warn you.
-
-A while ago, we worked on FleXML to reduce a bit its memory consumption, but
-these issues remain. There is two things we should do:
-
-  - use a dynamic buffer instead of a static one so that the only limit
-    becomes your memory, not a stupid constant fixed at compilation time
-    (maybe not so difficult).
-  - change the parser so that it does not need to get the whole file in
-    memory before parsing
-    (seems quite difficult, but I'm a complete newbe wrt flex stuff).
-
-These are changes to FleXML itself, not SimGrid. But since we kinda hijacked
-the development of FleXML, I can grant you that any patches would be really
-welcome and quickly integrated.
-
-<b>Update:</b> A new version of FleXML (1.7) was released. Most of the work
-was done by William Dowling, who use it in his own work. The good point is
-that it now use a dynamic buffer, and that the memory usage was greatly
-improved. The downside is that William also changed some things internally,
-and it breaks the hack we devised to bypass the parser, as explained in 
-\ref faq_flexml_bypassing. Indeed, this is not a classical usage of the
-parser, and Will didn't imagine that we may have used (and even documented)
-such a crude usage of FleXML. So, we now have to repair the bypassing
-functionality to use the lastest FleXML version and fix the memory usage in
-SimGrid.
-
-\subsubsection faq_trouble_gras_transport GRAS spits networking error messages
-
-Gras, on real platforms, naturally use regular sockets to communicate. They
-are deeply hidden in the gras abstraction, but when things go wrong, you may
-get some weird error messages. Here are some example, with the probable
-reason:
-
- - <b>Transport endpoint is not connected</b>: several processes try to open
-   a server socket on the same port number of the same machine. This is
-   naturally bad and each process should pick its own port number for this.\n
-   Maybe, you just have some processes remaining from a previous experiment 
-   on your machine.\n
-   Killing them may help, but again if you kill -KILL them, you'll have to
-   wait for a while: they didn't close there sockets properly and the system
-   needs a while to notice that this port is free again.
-
- - <b>Socket closed by remote side</b>: if the remote process is not
-   supposed to close the socket at this point, it may be dead.
-   
- - <b>Connection reset by peer</b>: I found this on Internet about this
-   error. I think it's what's happening here, too:\n   
-   <i>This basically means that a network error occurred while the client was
-   receiving data from the server. But what is really happening is that the
-   server actually accepts the connection, processes the request, and sends
-   a reply to the client. However, when the server closes the socket, the
-   client believes that the connection has been terminated abnormally
-   because the socket implementation sends a TCP reset segment telling the
-   client to throw away the data and report an error.\n
-   Sometimes, this problem is caused by not properly closing the
-   input/output streams and the socket connection. Make sure you close the
-   input/output streams and socket connection properly. If everything is
-   closed properly, however, and the problem persists, you can work around
-   it by adding a one-second sleep before closing the streams and the
-   socket. This technique, however, is not reliable and may not work on all
-   systems.</i>\n
-   Since GRAS sockets are closed properly (repeat after me: there is no bug
-   in GRAS), it is either that you are closing your sockets on server side
-   before the client get a chance to read them (use gras_os_sleep() to delay
-   the server), or the server died awfully before the client got the data.
-
-\subsubsection faq_trouble_errors_big_fat_warning I'm told that my XML files are too old.
-
-The format of the XML platform description files is sometimes
-improved. For example, we decided to change the units used in SimGrid
-from MBytes, MFlops and seconds to Bytes, Flops and seconds to ease
-people exchanging small messages. We also reworked the route
-descriptions to allow more compact descriptions.
-
-That is why the XML files are versionned using the 'version' attribute
-of the root tag. Currently, it should read:
-\verbatim
-  <platform version="2">
-\endverbatim
-
-If your files are too old, you can use the simgrid_update_xml.pl
-script which can be found in the tools directory of the archive.
-
-\subsection faq_trouble_valgrind Valgrind-related and other debugger issues
-
-If you don't, you really should use valgrind to debug your code, it's
-almost magic.
-
-\subsubsection faq_trouble_vg_longjmp longjmp madness in valgrind
-
-This is when valgrind starts complaining about longjmp things, just like:
-
-\verbatim ==21434== Conditional jump or move depends on uninitialised value(s)
-==21434==    at 0x420DBE5: longjmp (longjmp.c:33)
-==21434==
-==21434== Use of uninitialised value of size 4
-==21434==    at 0x420DC3A: __longjmp (__longjmp.S:48)
-\endverbatim
-
-This is the sign that you didn't used the exception mecanism well. Most
-probably, you have a <tt>return;</tt> somewhere within a <tt>TRY{}</tt>
-block. This is <b>evil</b>, and you must not do this. Did you read the section
-about \ref XBT_ex??
-
-\subsubsection faq_trouble_vg_libc Valgrind spits tons of errors about backtraces!
-
-It may happen that valgrind, the memory debugger beloved by any decent C
-programmer, spits tons of warnings like the following :
-\verbatim ==8414== Conditional jump or move depends on uninitialised value(s)
-==8414==    at 0x400882D: (within /lib/ld-2.3.6.so)
-==8414==    by 0x414EDE9: (within /lib/tls/i686/cmov/libc-2.3.6.so)
-==8414==    by 0x400B105: (within /lib/ld-2.3.6.so)
-==8414==    by 0x414F937: _dl_open (in /lib/tls/i686/cmov/libc-2.3.6.so)
-==8414==    by 0x4150F4C: (within /lib/tls/i686/cmov/libc-2.3.6.so)
-==8414==    by 0x400B105: (within /lib/ld-2.3.6.so)
-==8414==    by 0x415102D: __libc_dlopen_mode (in /lib/tls/i686/cmov/libc-2.3.6.so)
-==8414==    by 0x412D6B9: backtrace (in /lib/tls/i686/cmov/libc-2.3.6.so)
-==8414==    by 0x8076446: xbt_dictelm_get_ext (dict_elm.c:714)
-==8414==    by 0x80764C1: xbt_dictelm_get (dict_elm.c:732)
-==8414==    by 0x8079010: xbt_cfg_register (config.c:208)
-==8414==    by 0x806821B: MSG_config (msg_config.c:42)
-\endverbatim
-
-This problem is somewhere in the libc when using the backtraces and there is
-very few things we can do ourselves to fix it. Instead, here is how to tell
-valgrind to ignore the error. Add the following to your ~/.valgrind.supp (or
-create this file on need). Make sure to change the obj line according to
-your personnal mileage (change 2.3.6 to the actual version you are using,
-which you can retrieve with a simple "ls /lib/ld*.so").
-
-\verbatim {
-   name: Backtrace madness
-   Memcheck:Cond
-   obj:/lib/ld-2.3.6.so
-   fun:dl_open_worker
-   fun:_dl_open
-   fun:do_dlopen
-   fun:dlerror_run
-   fun:__libc_dlopen_mode
-}\endverbatim
-
-Then, you have to specify valgrind to use this suppression file by passing
-the <tt>--suppressions=$HOME/.valgrind.supp</tt> option on the command line.
-You can also add the following to your ~/.bashrc so that it gets passed
-automatically. Actually, it passes a bit more options to valgrind, and this
-happen to be my personnal settings. Check the valgrind documentation for
-more information.
-
-\verbatim export VALGRIND_OPTS="--leak-check=yes --leak-resolution=high --num-callers=40 --tool=memcheck --suppressions=$HOME/.valgrind.supp" \endverbatim
-
-\subsubsection faq_trouble_backtraces Truncated backtraces
-
-When debugging SimGrid, it's easier to pass the
---disable-compiler-optimization flag to the configure if valgrind or
-gdb get fooled by the optimization done by the compiler. But you
-should remove these flag when everything works before going in
-production (before launching your 1252135 experiments), or everything
-will run only one half of the true SimGrid potential.
-
-\subsection faq_deadlock There is a deadlock in my code!!!
-
-Unfortunately, we cannot debug every code written in SimGrid.  We
-furthermore believe that the framework provides ways enough
-information to debug such informations yourself. If the textual output
-is not enough, Make sure to check the \ref faq_visualization FAQ entry to see
-how to get a graphical one.
-
-Now, if you come up with a really simple example that deadlocks and
-you're absolutely convinced that it should not, you can ask on the
-list. Just be aware that you'll be severely punished if the mistake is
-on your side... We have plenty of FAQ entries to redact and new
-features to implement for the impenitents! ;)
-
-\subsection faq_surf_network_latency I get weird timings when I play with the latencies.
-
-OK, first of all, remember that units should be Bytes, Flops and
-Seconds. If you don't use such units, some SimGrid constants (e.g. the
-SG_TCP_CTE_GAMMA constant used in most network models) won't have the
-right unit and you'll end up with weird results.
-
-Here is what happens with a single transfer of size L on a link
-(bw,lat) when nothing else happens.
-
-\verbatim
-0-----lat--------------------------------------------------t
-|-----|**** real_bw =min(bw,SG_TCP_CTE_GAMMA/(2*lat)) *****|
-\endverbatim
-
-In more complex situations, this min is the solution of a complex
-max-min linear system.  Have a look 
-<a href="http://lists.gforge.inria.fr/pipermail/simgrid-devel/2006-April/thread.html">here</a>
-and read the two threads "Bug in SURF?" and "Surf bug not
-fixed?". You'll have a few other examples of such computations. You
-can also read "A Network Model for Simulation of Grid Application" by
-Henri Casanova and Loris Marchal to have all the details. The fact
-that the real_bw is smaller than bw is easy to understand. The fact
-that real_bw is smaller than SG_TCP_CTE_GAMMA/(2*lat) is due to the
-window-based congestion mechanism of TCP. With TCP, you can't exploit
-your huge network capacity if you don't have a good round-trip-time
-because of the acks...
-
-Anyway, what you get is t=lat + L/min(bw,SG_TCP_CTE_GAMMA/(2*lat)).
-
-  * if I you set (bw,lat)=(100 000 000, 0.00001), you get t =  1.00001 (you fully
-use your link)
-  * if I you set (bw,lat)=(100 000 000, 0.0001),  you get t =  1.0001 (you're on the
-limit)
-  * if I you set (bw,lat)=(100 000 000, 0.001),   you get t = 10.001  (ouch!)
-
-This bound on the effective bandwidth of a flow is not the only thing
-that may make your result be unexpected. For example, two flows
-competing on a saturated link receive an amount of bandwidth inversely
-proportional to their round trip time.
-
-\subsection faq_bugrepport So I've found a bug in SimGrid. How to report it?
-
-We do our best to make sure to hammer away any bugs of SimGrid, but this is
-still an academic project so please be patient if/when you find bugs in it.
-If you do, the best solution is to drop an email either on the simgrid-user
-or the simgrid-devel mailing list and explain us about the issue.  You can
-also decide to open a formal bug report using the
-<a href="https://gforge.inria.fr/tracker/?atid=165&group_id=12&func=browse">relevant
-interface</a>. You need to login on the server to get the ability to submit
-bugs. 
-
-We will do our best to solve any problem repported, but you need to help us
-finding the issue. Just telling "it segfault" isn't enough. Telling "It
-segfaults when running the attached simulator" doesn't really help either.
-You may find the following article interesting to see how to repport
-informative bug repports:
-http://www.chiark.greenend.org.uk/~sgtatham/bugs.html (it is not SimGrid
-specific at all, but it's full of good advices).
-
-\author Arnaud Legrand (arnaud.legrand::imag.fr)
-\author Martin Quinson (martin.quinson::loria.fr)
-
-
-*/
-
-******************************************************************
-*              OLD CRUFT NOT USED ANYMORE                        *
-******************************************************************
-
-
-subsection faq_crosscompile Cross-compiling a Windows DLL of SimGrid from linux
-
-At the moment, we do not distribute Windows pre-compiled version of SimGrid
-because the support for this platform is still experimental. We know that
-some parts of the GRAS environment do not work, and we think that the others
-environments (MSG and SD) have good chances to work, but we didn't test
-ourselves. This section explains how we generate the SimGrid DLL so that you
-can build it for yourself. First of all, you need to have a version more
-recent than 3.1 (ie, a SVN version as time of writting).
-
-In order to cross-compile the package to windows from linux, you need to
-install mingw32 (minimalist gnu win32). On Debian, you can do so by
-installing the packages mingw32 (compiler), mingw32-binutils (linker and
-so), mingw32-runtime.
-
-You can use the VPATH support of configure to compile at the same time for
-linux and windows without dupplicating the source nor cleaning the tree
-between each. Just run bootstrap (if you use the SVN) to run the autotools.
-Then, create a linux and a win directories. Then, type:
-\verbatim  cd linux; ../configure --srcdir=.. <usual configure flags>; make; cd ..
-cd win;  ../configure --srcdir=.. --host=i586-mingw32msvc <flags>; make; cd ..
-\endverbatim
-The trick to VPATH builds is to call configure from another directory,
-passing it an extra --srcdir argument to tell it where all the sources are.
-It will understand you want to use VPATH. Then, the trick to cross-compile
-is simply to add a --host argument specifying the target you want to build
-for. The i586-mingw32msvc string is what you have to pass to use the mingw32
-environment as distributed in Debian.
-
-After that, you can run all make targets from both directories, and test
-easily that what you change for one arch does not break the other one. 
-
-It is possible that this VPATH build thing breaks from time to time in the
-SVN since it's quite fragile, but it's granted to work in any released
-version. If you experience problems, drop us a mail. 
-
-Another possible source of issue is that at the moment, building the
-examples request to use the gras_stub_generator tool, which is a compiled
-program, not a script. In cross-compilation, you need to cross-execute with
-wine for example, which is not really pleasant. We are working on this, but
-in the meanwhile, simply don't build the examples in cross-compilation
-(<tt>cd src</tt> before running make).
-    
-Program (cross-)compiled with mingw32 do request an extra DLL at run-time to be
-usable. For example, if you want to test your build with wine, you should do
-the following to put this library where wine looks for DLLs.
-\verbatim 
-cp /usr/share/doc/mingw32-runtime/mingwm10.dll.gz ~/.wine/c/windows/system/
-gunzip ~/.wine/c/windows/system/mingwm10.dll.gz
-\endverbatim
-
-The DLL is built in src/.libs, and installed in the <i>prefix</i>/bin directory
-when you run make install. 
-
-If you want to use it in a native project on windows, you need to use 
-simgrid.dll and mingwm10.dll. For each DLL, you need to build .def file
-under linux (listing the defined symbols), and convert it into a .lib file
-under windows (specifying this in a way that windows compilers like). To
-generate the def files, run (under linux):
-\verbatim echo "LIBRARY libsimgrid-0.dll" > simgrid.def
-echo EXPORTS >> simgrid.def
-nm libsimgrid-0.dll | grep ' T _' | sed 's/.* T _//' >> simgrid.def
-nm libsimgrid-0.dll | grep ' D _' | sed 's/.* D _//' | sed 's/$/ DATA/' >> simgrid.def
-
-echo "LIBRARY mingwm10.dll" > mingwm10.def
-echo EXPORTS >> mingwm10.def
-nm mingwm10.dll | grep ' T _' | sed 's/.* T _//' >> mingwm10.def
-nm mingwm10.dll | grep ' D _' | sed 's/.* D _//' | sed 's/$/ DATA/' >> mingwm10.def
-\endverbatim
-
-To create the import .lib files, use the <tt>lib</tt> windows tool (from
-MSVC) the following way to produce simgrid.lib and mingwm10.lib
-\verbatim lib /def:simgrid.def
-lib /def:mingwm10.def
-\endverbatim
-
-If you happen to use Borland C Builder, the right command line is the
-following (note that you don't need any file.def to get this working).
-\verbatim implib simgrid.lib libsimgrid-0.dll
-implib mingwm10.lib mingwm10.dll
-\endverbatim
-
-Then, set the following parameters in Visual C++ 2005:
-Linker -> Input -> Additional dependencies = simgrid.lib mingwm10.lib
-
-Just in case you wonder how to generate a DLL from libtool in another
-project, we added -no-undefined to any lib*_la_LDFLAGS variables so that
-libtool accepts to generate a dynamic library under windows. Then, to make
-it true, we pass any dependencies (such as -lws2 under windows or -lpthread
-on need) on the linking line. Passing such deps is a good idea anyway so
-that they get noted in the library itself, avoiding the users to know about
-our dependencies and put them manually on their compilation line. Then we
-added the AC_LIBTOOL_WIN32_DLL macro just before AC_PROG_LIBTOOL in the
-configure.ac. It means that we exported any symbols which need to be.
-Nowadays, functions get automatically exported, so we don't need to load our
-header files with tons of __declspec(dllexport) cruft. We only need to do so
-for data, but there is no public data in SimGrid so we are good.
diff --git a/website/all.bib b/website/all.bib
deleted file mode 100644 (file)
index 786d175..0000000
+++ /dev/null
@@ -1,1255 +0,0 @@
-@inproceedings{clauss:2011:inria-00527150:1,
-  AUTHOR = {Clauss, Pierre-Nicolas and Stillwell, Mark and Genaud, St{\'e}phane and Suter, Fr{\'e}d{\'e}ric and Casanova, Henri and Quinson, Martin},
-  TITLE = {{Single Node On-Line Simulation of MPI Applications with SMPI}},
-  BOOKTITLE = {{International Parallel \& Distributed Processing Symposium}},
-  ORGANIZATION = {IEEE},
-  YEAR = {2011},
-  MONTH = May,
-  ADDRESS = {Anchorange (AK), United States},
-  URL = {http://hal.inria.fr/inria-00527150},
-  category = {core}    
-}
-
-@InProceedings { Schnorr:2011:MAL:1996029.1996037,
-  author = {Schnorr, Lucas Mello and Legrand, Arnaud and Vincent, Jean-Marc},
-  title = {{M}ulti-scale analysis of large distributed computing systems},
-  booktitle = {{P}roceedings of the third international workshop on {L}arge-scale system and application performance},
-  pages = {27--34},
-  year = {2011},
-  series = {LSAP '11},
-  publisher = {ACM},
-  pdf = {http://mescal.imag.fr/membres/arnaud.legrand/articles/2011-lsap-schnorr.pdf},
-  category = {intra}
-}
-
-@InProceedings{forte2011,
-  author = {{R}osa, {C}ristian and {M}erz, {S}tephan and {Q}uinson, {M}artin},
-  title = {{S}imGrid {MC}: {V}erification {S}upport for a {M}ulti-API {S}imulation {P}latform},
-  booktitle = {31th Formal Techniques for Networked and Distributed Systems -- FORTE 2011},
-  pages = {274-288},
-  month = {June},
-  year = {2011},
-  address = {Reykjavik, Iceland},
-  category = {core}    
-}
-
-@InProceedings{avocs,
-  author = {{R}osa, {C}ristian and {M}erz, {S}tephan and {Q}uinson, {M}artin},
-  title = {{A} {S}imple {M}odel of {C}ommunication {APIs} -- {A}pplication to {D}ynamic {P}artial-order {R}eduction},
-  booktitle = {10th International Workshop on Automated Verification of Critical Systems -- AVOCS 2010},
-  pages = {137-151},
-  year = 2010,
-  address = {Dusseldorf, Germany},
-  month = {September},
-  category = {core}
-}
-
-
-@PhdThesis{pedro_phd,
-  author =      {Pedro Velho},
-  title =       {Accurate and Fast Simulations of Large- Scale Distributed Computing Systems},
-  school =      {University Joseph Fourier},
-  year =        {2011},
-  address =     {Grenoble},
-  month =       jun,
-  category = {core}
-}
-       
-@PhdThesis{charrier_phd,
-   author = {Charrier, Ghislain},
-   title = {Scheduling and Dynamic Management of Applications over Grids},
-   school = {École Normale Supérieure de Lyon (ÉNS-Lyon), Laboratoire
-     de l'Informatique du Parallélisme (LIP)},
-   note = {Jury: Françoise Baude, Yves Caniou,  Michel Dayde,
-     Frédéric Desprez, Pierre Kuonen, Olivier Richard},
-   address = {Lyon, France},
-   month = {December},
-   year = {2010},
-   category = {extern}
-}
-       
-@InProceedings { DLG_CCgrid_11,
-  author = {Donassolo, Bruno and Legrand, Arnaud and Geyer, Claudio},
-  title = {{N}on-{C}ooperative {S}cheduling {C}onsidered {H}armful in {C}ollaborative {V}olunteer {C}omputing {E}nvironments},
-  booktitle = {{P}roceedings of the 11th {IEEE} {I}nternational {S}ymposium on {C}luster {C}omputing and the {G}rid ({CCG}rid'11)},
-  year = {2011},
-  month = {may},
-  publisher = {IEEE Computer Society Press},
-  pdf = {http://mescal.imag.fr/membres/arnaud.legrand/articles/2011-ccgrid-donassolo.pdf},
-  category = {intra}
-}
-
-@InProceedings{ cb11:pdp2011,
-  author = "Bogdan Florin Cornea and Julien Bourgeois",
-  title = "Performance Prediction of Distributed Applications Using Block Benchmarking Methods",
-  booktitle = "PDP '11: 19th International Euromicro Conference on Parallel, Distributed and Network-Based Processing",
-  abstract = "An ongoing work is presented for accurately predicting the performance of distributed applications in heterogeneous systems. We are developing dPerf, a tool built using the Rose framework for performing static analysis and an automatic instrumentation on the input source code of programs written in C, C++ or Fortran. The accuracy in predicting program computation time resides in using hardware counters, as well as in applying two block benchmarking techniques that we propose in this paper. The current work makes use of a network simulator in order to calculate the communication time used in our approach. Afterwards, the computation and communication times are being summed up obtaining an estimation of the distributed application execution time. The approach is proven experimentally using NAS Integer Sort benchmark, the communications being simulated with SimGrid.",
-  year = 2011,
-  keywords = "dPerf, performance prediction, block benchmarking, static analysis, trace-based simulation, heterogeneous systems, MPI, P2PSAP",
-  publisher = "IEEE Computer Society",
-  category = {extern}
-}
-
-@article{cds10_jpdc,
-  title = {{On Cluster Resource Allocation for Multiple Parallel Task
-  Graphs}},
-  author = {Casanova, Henri and Desprez, Fr\'ed\'eric and
-                  Suter, Fr{\'e}d{\'e}ric},
-  JOURNAL={Journal of Parallel and Distributed Computing},
-  VOLUME=70,
-  NUMBER=12,
-  PAGES={1193--1203},
-  MONTH = Dec,
-  YEAR=2010,
-  category = {intra}
-}
-@inproceedings{DBLP:conf/3pgcic/QuinsonBS10,
-  author    = {Martin Quinson and
-               Laurent Bobelin and
-               Fr{\'e}d{\'e}ric Suter},
-  title     = {Synthesizing Generic Experimental Environments for Simulation},
-  booktitle = {3PGCIC},
-  year      = {2010},
-  pages     = {222-229},
-  ee        = {http://dx.doi.org/10.1109/3PGCIC.2010.37},
-  bibsource = {DBLP, http://dblp.uni-trier.de},
-  category = {intra}
-}
-@InProceedings{c7,
-  Address = {Perth, Australia},
-  Author = {Caniou, Yves and Charrier, Ghislain and Desprez, Fr\'ed\'eric},
-  Booktitle = {Proceedings of the 9th Australasian Symposium on Parallel and Distributed 
-    Computing (AusPDC 2011)},
-  Editor = {ACM},
-  Month = {January 17-20},
-  Note = {To appear},
-  Pages = {10},
-  Title  = {{Evaluation of Reallocation Heuristics for Moldable Tasks 
-    in Computational Grids}},
-  Year = {2011},
-  category = {extern}
-}
-
-@inproceedings{c6,
-  Address = {Heraklion, Crete, Greece},
-  Author = {Caniou, Yves and Charrier, Ghislain and Desprez Fr\'ed\'eric},
-  Booktitle = {Proceedings of the IEEE International Conference on
-                  Cluster Computing (Cluster 2010)},
-  Month = Sep,
-  Pages = {284--291},
-  Title = {{Analysis of Tasks Reallocation in a Dedicated Grid Environment}},
-  Year = 2010,
-  category = {extern}
- }
-
-
-
-@InProceedings{jedule,
-  author =      {Hunold, Sascha and Hoffmann, Ralf and Suter, Fr\'ed\'eric},
-  title =       {{Jedule: A Tool for Visualizing Schedules of
-                  Parallel Applications}},
-  booktitle = {Proceedings of the 1st International Workshop on
-                  Parallel Software Tools and Tool Infrastructures
-                  (PSTI'10)},
-  year =        2010,
-  address =     {San Diego, CA},
-  pages = {169-178},
-  month =       Sep,
-  category = {core}
-}
-
-@InProceedings{MAGS,
-  author =       {Casanova, Henri and Desprez, Fr\'ed\'eric and Suter, Fr\'ed\'eric},
-  title =        {{Minimizing Stretch and Makespan of Multiple
-                  Parallel Task Graphs via Malleable Allocations}},
-  booktitle = {Proceedings of the 39th International Conference on
-                  Parallel Processing (ICPP'10)},
-  year =         2010,
-  address =      {San Diego, CA},
-  pages  = {71-80},
-  month =        Sep,
-  category = {core}
-}
-
-
-
-@INPROCEEDINGS{Boutamine06,
-AUTHOR = "Boutammine, Salah-Salim and Millot, Daniel and Parrot, Christian",
-TITLE = {"A Runtime Scheduling Method for Dynamic and Heterogeneous
-                  Platforms"},
-BOOKTITLE = "Proceedings of 5th Workshop on Compile and Runtime
-                  Techniques for Parallel Computing",
-ADDRESS = "Colombus, OH",
-YEAR = 2006,
-month = Aug,
-pages = {273-282},
-category = {extern}
-}
-@article{10.1109/ISPDC.2008.56,
-author = {Laurent Bobelin and Traian Muntean},
-title = {Algorithms for Network Topology Discovery using End-to-End Measurements},
-journal ={Parallel and Distributed Computing, International Symposium on},
-volume = {0},
-isbn = {978-0-7695-3472-5},
-year = {2008},
-pages = {267-274},
-doi = {http://doi.ieeecomputersociety.org/10.1109/ISPDC.2008.56},
-publisher = {IEEE Computer Society},
-address = {Los Alamitos, CA, USA},
-category = {intra}
-}
-@INPROCEEDINGS{Boutamine06*2,
-AUTHOR = "Boutammine, Salah-Salim and Millot, Daniel and Parrot,
-                  Christian",
-TITLE = {"An adaptative Scheduling Method for Grid Computing"},
-BOOKTITLE = "Proceedings of the 12th International Euro-Par 
-Conference (Euro-Par 2006)",
-ADDRESS = "Dresden, Germany",
-YEAR = 2006,
-publisher = {Springer},
-series    = {Lecture Notes in Computer Science},
-volume    = {4128},
-pages = {188-197}, 
-month = Aug,
-category = {extern}
-}
-
-@INPROCEEDINGS{Boutamine06*3,
-AUTHOR = "Boutammine, Salah-Salim and Millot, Daniel and Parrot,
-                  Christian",
-TITLE = {"Dynamically Scheduling Divisible Load for Grid 
-Computing"},
-BOOKTITLE = "Proceedings of the 2nd International Conference High 
-Performance Computing and Communications (HPCC 2006)",
-ADDRESS = "Munich, Germany",
-YEAR  = 2006,
-pages = {763-772},
-month = Sep,
-publisher = {Springer},
-series    = {Lecture Notes in Computer Science},
-volume    = 4208,
-category = {extern}
-}
-
-@INPROCEEDINGS{Millot08,
-AUTHOR = "Millot, Daniel and Parrot, Christian",
-TITLE  = {"Contention-Free Scheduling in a Dynamic Context"},
-BOOKTITLE     = "Proceedings of the 14th International Conference on 
-Parallel and Distributed Systems (ICPADS'08)",
-ADDRESS         = "IEEE Computing Society Press ",
-YEAR                 = "2008",
-month = Dec,
-pages = {19-28},
-category = {extern}
-}
-
-@InProceedings{ns-cram,
-  author =       {N'takp{\'e}, Tchimou and Suter,  Fr{\'e}d{\'}eric},
-  title =        {{Concurrent Scheduling of Parallel Task Graphs on
-                  Multi-Clusters Using Constrained Resource
-                  Allocations}},
-  booktitle = {Proceedings of the 10th IEEE International Workshop on
-                  Parallel and Distributed Scientific and Engineering
-                  Computing (PDSEC)},
-  year =         2009,
-  address = {Rome, Italy},
-  month =        May,
-  category = {intra}
-}
-
-@InProceedings{RATS,
-  author =      {Hunold, Sascha and Rauber, Thomas and Suter,
-                  Fr{\'e}d{\'}eric},
-  title =       {{Redistribution Aware Two Step Scheduling for Mixed
-                  Parallel Applications}},
-  booktitle = {Proceedings of the IEEE International Conference on
-                  Cluster Computing (Cluster'08)},
-  year =        2008,
-  pages = {50-58},
-  address =     {Tsukuba, Japan},
-  month =       Sep,
-  category = {extern}
-}
-
-@InProceedings {DCLV_LSAP_10,
-  title = {{Fast and Scalable Simulation of Volunteer Computing Systems
-                  Using SimGrid}},
-  booktitle = {Proceedings of the Workshop on Large-Scale System and Application
-                  Performance (LSAP)},
-  year = {2010},
-  month = Jun,
-  address = {Chicago, IL},
-  author = {Donassolo, Bruno and Casanova, Henri and Legrand, Arnaud
-                  and Velho, Pedro},
-  category = {core}
-} 
-
-
-@InProceedings{biCPA,
-  author =       {Desprez, Fr{\'e}d{\'e}ric and Suter, Fr{\'e}d{\'e}ric},
-  title =        {{A Bi-Criteria Algorithm for Scheduling
-   Parallel Task Graphs on Clusters}},
-  booktitle = {Proceedings of the 10th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid 2010)},
-  year =         2010,
-  address =      {Melbourne, Australia},
-  month =        {May},
-  pages =  {243-252},
-  category = {intra}
-}
-
-@InProceedings{Hunold_ccgrid10,
-  author =       {Hunold},
-  title =        {{Low-Cost Tuning of Two-Step Algorithms for
-                  Scheduling Mixed-Parallel Applications onto
-                  Homogeneous Clusters}},
-  booktitle = {Proceedings of the 10th IEEE/ACM International
-                  Symposium on Cluster, Cloud and Grid Computing
-                  (CCGrid 2010)},
-  year =         2010,
-  address =      {Melbourne, Australia},
-  month =        {May},
-  pages = {253-262},
-  category = {extern}
-}
-
-
-
-@inproceedings{c5,
-  Address = {Sliema, Malta},
-  Author = {Caniou, Yves and Caron, Eddy and Charrier, Ghislain and
-    Desprez, Fr{\'e}d{\'e}ric},
-  Booktitle = {Proceedings of the 3rd International Conference on
-    Advanced Engineering Computing and Applications in Sciences
-    (ADVCOMP'09)},
-  Month = Oct,
-  Pages = {181-186},
-  Title = {{Meta-Scheduling and Task Reallocation in a Grid Environment}},
-  Year = {2009},
-category = {extern}
-}
-
-@InProceedings{beaumont2010ipdps2010_1,
-  title={{On the Importance of Bandwidth Control Mechanisms for
-                  Scheduling on Large Scale Heterogeneous Platforms}},
-  author={Beaumont, Olivier and Rejeb, Hejer},
-  booktitle={Proceedings of the 24th IEEE International Parallel and
-                  Distributed Processing Symposium (IPDPS'10)},
-  year={2010},
-  month = Apr,
-  address = {Atlanta, GO},
-  category = {extern}
-}
-
-
-@InProceedings{beaumont2010ipdps2010_2,
-  title={{Broadcasting on Large Scale Heterogeneous Platforms under
-                  the Bounded Multi-Port Model}},
-  author={Beaumont, Olivier and Eyraud-Dubois, Lionel and Kumar
-                  Agrawal, Shailesh},
-  booktitle={Proceedings of the 24th IEEE International Parallel and
-                  Distributed Processing Symposium (IPDPS'10)},
-  year={2010},
-  month = Apr,
-  address = {Atlanta, GO},
- category = {extern}
-}
-
-
-@InProceedings{beaumont2010line,
-  title={{On-line Allocation of Clients to Multiple Servers on Large
-                  Scale Heterogeneous Systems}},
-  author={Beaumont, Olivier and Eyraud-Dubois, Lionel and Rejeb, Hejer
-                  and Thraves, Christopher},
-  booktitle={Proceedings of the 18th Euromicro International
-                  Conference on Parallel, Distributed and
-                  Network-Based Computing (PDP 2010)},
-  year={2010},
-  address = {Pisa, Italy},
-  month = Feb,
-  pages = {3-10},
- category = {extern}
-}
-
-@InProceedings{beaumont2009allocation,
-  title={{Allocation of Clients to Multiple Servers on Large Scale
-                  Heterogeneous Platforms}},
-  author={Beaumont, Olivier and Eyraud-Dubois, Lionel and Rejeb, Hejer
-                  and Thraves, Christopher},
-  booktitle={Proceedings of the 15th International Conference on Parallel and
-                  Distributed Systems (ICPADS 2009)},
-  pages={142--149},
-  address = {Shenzhen, China},
-  month = Dec,
-  year=2009,
-  category = {extern}
-}
-
-
-
-@inproceedings{Banino-RokkonesBR08,
-  author    = {Banino-Rokkones, Cyril and Beaumont, Olivier and Rejeb,
-                  Hejer},
-  title     = {{Scheduling Techniques for Effective System
-                  Reconfiguration in Distributed Storage Systems}},
-  booktitle = {Proceedings of the 14th International Conference on
-                  Parallel and Distributed Systems (ICPADS 2008)},
-  year      = 2008,
-  address = {Melbourne, Australia},
-  month = Dec,
-  pages     = {80-87},
- category = {extern}
-}
-
-
-
-@ARTICLE{TPDS09,
-  TITLE={{Scheduling Parallel Task Graphs on (Almost) Homogeneous
-                  Multi-cluster Platforms}},
-  AUTHOR={Dutot, Pierre-Fran{\c c}ois and N'takp\'e, Tchimou and
-                  Suter, Fr\'ed\'eric and Casanova, Henri},
-  JOURNAL={IEEE Transactions on Parallel and Distributed Systems},
-  VOLUME=20,
-  NUMBER=7,
-  PAGES={940--952},
-  YEAR=2009,
-  category = {intra}
-}
-
-@article{10.1109/TC.2009.117,
-author = {Benoit, Anne and Marchal, Loris and Pineau,
-                  Jean-Fran{\c c}ois and Robert, Yves and Vivien
-                  Fr\'ed\'eric},
-title = {{Scheduling Concurrent Bag-of-Tasks Applications on  
-Heterogeneous Platforms}},
-journal ={IEEE Transactions on Computers},
-volume = {59},
-issn = {0018-9340},
-year = {2010},
-pages = {202-217},
-doi = {http://doi.ieeecomputersociety.org/10.1109/TC.2009.117},
-publisher = {IEEE Computer Society},
-address = {Los Alamitos, CA, USA},
-category = {extern}
-}
-
-@inproceedings{1476013,
- author = {Righi, Rodrigo da Rosa and Pilla, La\'{e}rcio Lima and
-                  Carissimi, Alexandre and Navaux, Philippe O. A.},
- title = {{Controlling Processes Reassignment in BSP Applications}},
- booktitle = {Proceedings of the 20th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD'08)},
- year = {2008},
- pages = {37-44},
- address = {Campo Grande,Brazil},
- month = Oct,
- category = {extern}
-}
-
-@inproceedings{1582179,
- author = {Righi, Rodrigo da Rosa and Pilla, La\'{e}rcio Lima and
-                  Carissimi, Alexandre and Navaux, Philippe and Heiss,
-                  Hans-Ulrich},
- title = {{MigBSP: A Novel Migration Model for Bulk-Synchronous
-                  Parallel Processes Rescheduling}},
- booktitle = {Proceedings of the 11th IEEE International Conference on High Performance Computing and Communications (HPCC'09)},
- year = {2009},
- pages = {585-590},
- address = {Seoul, Korea},
- month = Jun,
- category = {extern}
-}
-
-@inproceedings{1560782,
- author = {Rosa Righi, Rodrigo and Pilla, La\'{e}rcio Lima and
-                  Carissimi, Alexandre Silva and Navaux, Philippe
-                  O. and Heiss, Hans-Ulrich},
- title = {{Applying Processes Rescheduling over Irregular BSP
-                  Application}},
- booktitle = {Proceedings of the 9th International Conference on
-                  Computational Science (ICCS'09)},
- year = {2009},
- pages = {213--223},
- address = {Baton Rouge, LA},
- publisher = {Springer},
- series    = {Lecture Notes in Computer Science},
- volume    = {5544},
- category = {extern}
-}
-
-@InProceedings{Guermouche_Renard_10,
-  author = {Guermouche, Abdou and Renard, H\'el\`ene},
-  booktitle = {Proceedings of the 19th International Heterogeneity in
-                  Computing Workshop (HCW'09)},
-  title = {{A First Step to the Evaluation of SimGrid in the Context of
-                  a Complex Application}},
-  year  = {2010},
-  address = {Atlanta, GO},
-  month = Apr,
-  category = {extern}
-}
-
-@InProceedings{VL_Simutools_09,
-  title = {{Accuracy Study and Improvement of Network Simulation in
-                  the SimGrid Framework}},
-  booktitle = {Proceedings of the 2nd International Conference on
-                  Simulation Tools and Techniques (SIMUTools'09)},
-  year = {2009},
-  author = {Velho, Pedro and Legrand, Arnaud},
-  address = {Rome, Italy},
-  month = Mar,
-  pdf = {http://mescal.imag.fr/membres/arnaud.legrand/articles/simutools09.pdf},
-  category = {core}
-} 
-
-@InProceedings{simgrid,
-  author =    {Casanova, Henri and Legrand, Arnaud and Quinson, Martin},
-  title =     {{SimGrid: a Generic Framework for Large-Scale Distributed Experiments}},
-  booktitle = {proceedings of the 10th IEEE International Conference on Computer Modeling and Simulation (UKSim)},
-  year =       2008,
-  month =      Apr,
-  address = {Cambridge, UK},
-  category = {core}
-}
-
-@InProceedings{nstools07,
-  title =     {{Speed and Accuracy of Network Simulation in the SimGrid Framework}},
-  author =    {Fujiwara, Kayo  and Casanova, Henri },
-  booktitle = {Proceedings of the First International Workshop on Network Simulation Tools (NSTools)},
-  year =      {2007},
-  address = {Nantes, France},
-  month = Oct,
-  pdf = {http://navet.ics.hawaii.edu/~casanova/homepage/papers/fujiwara_nstool2007.pdf},
-  category = {core}
-}
-
-@MastersThesis{msc_kayo,
-  author =      {Fujiwara, Kayo},
-  title =       {{Cost and Accuracy of Packet-Level vs. Analytical
-                  Network Simulations: An Empirical Study}},
-  school =      {Department of Information and Computer Sciences,
-                  University of Hawai`i at Manoa},
-  year =        {2007},
-  month =       apr,
-  pdf = {http://navet.ics.hawaii.edu/~casanova/homepage/theses/kayo_fujiwara_MS.pdf},
-  category = {core}
-}
-
-@InProceedings{gras-iasted06,
-  title =     {{Gras: A Research & Development Framework for Grid and P2P Infrastructures}},
-  author =    {Quinson, Martin },
-  booktitle = {Proceedings of the 18th IASTED International Conference
-                  on Parallel and Distributed Computing and Systems
-                  (PDCS'06)},
-  year =      {2006},
-  address = {Dallas, TX},
-  month = Nov,
-  pdf = {http://www.loria.fr/~quinson/Research/Publications/2006-PDCS.pdf},
-  note = {Best paper},
-  category = {core}
-}
-
-@InProceedings{hpdc06,
-  title =     {{The SimGrid Project - Simulation and Deployment of
-                  Distributed Applications}},
-  author =    {Legrand, Arnaud and Quinson, Martin and Fujiwara, Kayo
-                  and Casanova, Henri},
-  booktitle = {Proceedings of the IEEE International Symposium on High
-                  Performance Distributed Computing (HPDC-15)},
-  year =      {2006},
-  month = may,
-  address = {Paris, France},
-  pages = {385-386},
-  note = {Poster},
-  pdf = {http://navet.ics.hawaii.edu/~casanova/homepage/papers/simgrid_hpdc06.pdf},
-  category = {core}
-}
-
-@InProceedings{ccgrid03,
-  title =     {{Scheduling Distributed Applications: the SimGrid
-                  Simulation Framework}},
-  author =    {Legrand, Arnaud and Marchal, Loris and Casanova, Henri},
-  booktitle = {Proceedings of the third IEEE International Symposium
-                  on Cluster Computing and the Grid (CCGrid'03)},
-  year =      2003,
-  address = {Tokyo, Japan},
-  month = {May},
-  pages = {138-145},
-  pdf = {http://www-id.imag.fr/Laboratoire/Membres/Legrand_Arnaud/articles/simgrid2_CCgrid03.pdf},
-  category = {core}
-}
-
-@TechReport{RR2002-40,
-  author =      {Casanova, Henri  and Marchal, Loris },
-  title =       {{A Network Model for Simulation of Grid Application}},
-  institution =  {LIP, ENS Lyon, France},
-  year =        {2002},
-  abstract =     {In this work we investigate network models that can be
-    potentially employed in the simulation of scheduling algorithms for
-    distributed computing applications. We seek to develop a model of TCP
-    communication which is both high-level and realistic. Previous research
-    works show that accurate and global modeling of wide-area networks, such
-    as the Internet, faces a number of challenging issues. However, some
-    global models of fairness and bandwidth-sharing exist, and can be link
-    withthe behavior of TCP. Using both previous results and simulation (with
-    NS), we attempt to understand the macroscopic behavior of
-    TCP communications. We then propose a global model of the network for the
-    Grid platform. We perform partial validation of this model in
-    simulation. The model leads to an algorithm for computing
-    bandwidth-sharing. This algorithm can then be implemented as part of Grid
-    application simulations. We provide such an implementation for the
-    SimGrid simulation toolkit.},
-  type =        {Research Report},
-  ps = {ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR2002/RR2002-40.ps.z},
-  number =      {2002-40},
-  category = {core}
-}
-    
-
-@TechReport{RR2002-28,
-  author =      {Legrand, Arnaud and Lerouge, Julien },
-  title =       {MetaSimGrid : Towards Realistic Scheduling Simulation of Distributed Applications},
-  institution =  {LIP, ENS Lyon, France},
-  year =        {2002},
-  abstract =     {Most scheduling problems are already hard on homogeneous
-    platforms, they become quite intractable in an heterogeneous
-    framework such as a metacomputing grid. In the best cases, a
-    guaranteed heuristic can be found, but most of the time, it is
-    not possible. Real experiments or simulations are often
-    involved to test or to compare heuristics. However, on a
-    distributed heterogeneous platform, such experiments are
-    technically difficult to drive, because of the genuine
-    instability of the platform. It is almost impossible to
-    guarantee that a platform which is not dedicated to the
-    experiment, will remain exactly the same between two tests,
-    thereby forbidding any meaningful comparison. Simulations are
-    then used to replace real experiments, so as to ensure the
-    reproducibility of measured data. A key issue is the
-    possibility to run the simulations against a realistic
-    environment. The main idea of trace-based simulation is to
-    record the platform parameters today, and to simulate the
-    algorithms tomorrow, against the recorded data: even though it
-    is not the current load of the platform, it is realistic,
-    because it represents a fair summary of what happened
-    previously. A good example of a trace-based simulation tool is
-    SimGrid, a toolkit providing a set of core abstractions and
-    functionalities that can be used to easily build simulators for
-    specific application domains and/or computing environment
-    topologies. Nevertheless, SimGrid lacks a number of convenient
-    features to craft simulations of a distributed application
-    where scheduling decisions are not taken by a single
-    process. Furthermore, modeling a complex platform by hand is
-    fastidious for a few hosts and is almost impossible for a real
-    grid. This report is a survey on simulation for scheduling
-    evaluation purposes and present MetaSimGrid, a simulator built
-    on top of SimGrid.},
-  type =        {Research Report},
-  ps = {ftp://ftp.ens-lyon.fr/pub/LIP/Rapports/RR/RR2002/RR2002-28.ps.gz},
-  number =      {2002-28},
-  category = {core}
-}
-
-
-       
-@InProceedings{CCGRID.2001,
-author = {Casanova, Henri},
-title = {{Simgrid: A Toolkit for the Simulation of Application Scheduling}},
-booktitle ={Proceedings of the First IEEE International Symposium on Cluster Computing and the Grid (CCGrid'01)},
-year = 2001,
-pages = {430-441},
-  abstract = {Advances in hardware and software technologies have made it
-    possible to deploy parallel applications over increasingly large
-    sets of distributed resources. Consequently, the study of
-    scheduling algorithms for such applications has been an active area
-    of research. Given the nature of most scheduling problems one must
-    resort to simulation to effectively evaluate and compare their
-    efficacy over a wide range of scenarios. It has thus become
-    necessary to simulate those algorithms for increasingly complex
-    distributed, dynamic, heterogeneous environments. In this paper we
-    present SimGrid, a simulation toolkit for the study of scheduling
-    algorithms for distributed application. This paper gives the main
-    concepts and models behind SimGrid, describes its API and
-    highlights current implementation issues. We also give some
-    experimental results and describe work that builds on SimGrid's
-    functionalities.},
-doi = {http://doi.ieeecomputersociety.org/10.1109/CCGRID.2001.923223},
-address = {Brisbane, Australia},
-month = May,
-  category = {core}
-}
-
-    
-@inproceedings{CC09,
-  Address = {Toulouse, France},
-  Author = {Charrier, Ghislain and Caniou, Yves},
-  Booktitle = {Actes des 19\`emes Rencontres francophonnes du Parall{\'e}lisme (RenPar'19)},
-  Month = Sep,
-  Title = {Ordonnancement et r{\'e}allocation de t{\^a}ches sur une grille de calcul},
-  Year = {2009},
-  category = {extern}
-}
-
-@inproceedings{RenparLN09,
-  Address = {Toulouse, France},
-  Author = {Renard, H\'el\`ene },
-  Booktitle = {Actes des 19emes Rencontres francophonnes du
-                  Parall{\'e}lisme (RenPar'19)},
-  Month = Sep,
-  Title = {Comparaisons entre le simulateur SimGrid et une application
-                  r{\'e}elle pour {\'e}valuer les algorithmes
-                  d'{\'e}quilibre de charge et de redistribution de
-                  donn{\'e}es},
-  pdf = {http://www.irit.fr/Toulouse2009/Toulouse2009/papiers/paper10.pdf},
-  Year = {2009},
-  category = {extern}
-}
-
-@inproceedings{1372508,
- author = {Bouabache, Fatiha and Herault, Thomas and Fedak, Gilles and
-                  Cappello, Franck},
- title = {{Hierarchical Replication Techniques to Ensure Checkpoint Storage Reliability in Grid Environment}},
- booktitle = {Proceedings of the Eighth IEEE International Symposium
-                  on Cluster Computing and the Grid (CCGRID'08)},
- year = {2008},
- isbn = {978-0-7695-3156-4},
- pages = {475--483},
- doi = {http://dx.doi.org/10.1109/CCGRID.2008.95},
- address = {Lyon, France},
- month = May,
- category = {extern}
-}
-
-@InProceedings{gallet09,
-  title =     {{Efficient Scheduling of Task Graph Collections on
-                  Heterogeneous Resources}},
-  author =    {Gallet, Matthieu and Marchal, Loris and Vivien,
-                  Fr{\'e}d{\'e}ric },
-  booktitle = {Proceedings of the 23rd IEEE International Parallel and Distributed Processing Symposium (IPDPS'2009)},
-  year =      {2009},
-  address = {Rome, Italy},
-  month = may,
-  category = {extern}
-}
-
-@InProceedings{Kurt09,
-  title =     {{Improving The Scalability of SimGrid Using Dynamic Routing}},
-  author =    {De Munck, Silas and Vanmechelen, Kurt and Broeckhove, Jan},
- booktitle = {Proceedings of the 9th International Conference on
-                  Computational Science (ICCS'09)},
- year = {2009},
- pages = {406-415},
- address = {Baton Rouge, LA},
- publisher = {Springer},
- series    = {Lecture Notes in Computer Science},
- volume    = {5544},
-  category = {extern}
-}
-
-@InProceedings{benoit08,
-  title =     {{Offline and online scheduling of concurrent
-                  bags-of-tasks on heterogeneous platforms}},
-  author =    {Benoit, Anne and Marchal, Loris and Pineau,
-                  Jean-Fran{\,c}ois and Robert, Yves and Vivien,
-                  Fr{\'e}d{\'e}ric},
-  booktitle = {Proceedings of the 10th Workshop on Advances in
-                  Parallel and Distributed Computational Models (APDCM
-                  2008)},
-  year =      {2008},
-  month =  May,
-  address = {Miami, FL},
-  category = {extern}
-}
-
-@InProceedings{Hernandez08,
-  title =     {{Scheduling DAGs on Grids with Copying and Migration}},
-  author =    {Hernandez, Israel and Cole, Murray},
-  booktitle = {Proceedings of the 7th International Conference on
-                  Parallel Processing and Applied Mathematics 2007
-                  (PPAM07)},
-  pages = {1019-1028},
-  year = {2008},
-  address = {Gdansk, Poland},
-  month = Sep,
-  publisher = {Springer},
- series    = {Lecture Notes in Computer Science},
- volume    = {4967},
-  category = {extern}
-}
-
-@InProceedings{Kurt08,
-  title =     {{Scalability of Grid Simulators : An Evaluation}},
-  author =    {Depoorter, wim and De Moor, Nils and Vanmechelen, Kurt
-                  and Broeckhove, Jan},
-  booktitle = {Proceedings of the 14th International Euro-Par
-                  Conference (Euro-Par 2008)},
-  pages = {544-553},
-  year ={2008},
-  publisher = {Springer},
-  address =  {Las Palmas de Gran Canaria, Spain},
-  month = {Aug},
-  series    = {Lecture Notes in Computer Science},
-  volume    = {5168},
-  category = {extern}
-}
-
-@InProceedings{Hunold08,
-  title =     {{Scheduling Dynamic Workflows onto Clusters of Clusters
-                  using Postponing}},
-  author =    {Hunold, Sascha and Rauber, Thomas and Suter,
-                  Fr{\'e}d{\'e}ric },
-  booktitle = {Proceedings of the 3rd International Workshop on Workflow Systems in e-Science (WSES 08)},
-  address= {Lyon, France},
-  month = may,
-  year = {2008},
-  pages = {669-674},
-  category = {extern}
-}
-
-@InProceedings{Heien08,
-  title =     {{Computing Low Latency Batches with Unreliable Workers in Volunteer Computing Environments}},
-  author =    {Heien, Eric  and Fujimoto, Noriyuki and Hagihara, Kenichi },
-  booktitle = {Proceedings of the Workshop on Volunteer Computing and
-                  Desktop Grids (PCGrid 2008)},
-  year = {2008},
-  month = May,
-  address = {Miami, FL},
-  category = {extern}
-}
-
-@InProceedings{Hernandez07,
-  title =     {{Reliable DAG Scheduling with Rewinding and Migration}},
-  author =    {Hernandez, Israel and Cole, Murray},
-  booktitle = {Proceedings of the First International Conference on
-                  Networks for Grid Applications (GridNets07)},
-  year = {2007},
-  address = {Lyon, France},
-  month = Oct,
-  url = {http://portal.acm.org/citation.cfm?id=1386610.1386614},
-  category = {extern}
-}
-
-@InProceedings{Hernandez07*2,
-  title =     {Reactive Grid Scheduling of DAG Applications},
-  author = {Hernandez, Israel and Cole, Murray},
-  booktitle = {Proceedings of the IASTED International Conference on Parallel and Distributed Computing and Networks (PDCN'07)},
-  year = 2007,
-  pages = {90-95},
-  address = {Innsbruck, Austria},
-  month = Feb, 
-  url = {http://www.actapress.com/PaperInfo.aspx?PaperID=29625},
-  category = {extern}
-}
-
-@InProceedings{Hunold07,
-  title =     {{Dynamic Scheduling of Multi-Processor Tasks on Clusters of Clusters}},
-  author =    {Hunold, Sascha and Rauber, Thomas and R\"unger, Gudula},
-  booktitle = {Proceedings of the Sixth International Workshop on Algorithms,
-    Models and Tools for Parallel Computing on Heterogeneous Networks
-    (Heteropar'07)},
-  address = {Austin, TX},
-  month = sep,
-  pages = {507-514},
-  year =  {2007},
-  category = {extern}
-}
-
-@InProceedings{Suter07,
-  title =     {{Scheduling Delta-Critical Tasks in Mixed-Parallel Applications on a National Grid}},
-  author =    {Suter, Fr{\'e}d{\'e}ric },
-  booktitle = {Proceedings of the 8th IEEE/ACM International
-                  Conference on Grid Computing (Grid 2007)},
-  address = {Austin, TX},
-  month = sep,
-  year = {2007},
-  pages = {2-9},
-  category = {extern}
-}
-
-@Article{Berten07,
-  title =     {Brokering strategies in computational grids using stochastic prediction models},
-  author = {Vandy Berten and Bruno Gaujal},
-  journal = {Parallel Computing},
-  volume = 33,
-  number = {4-5},
-  pages = {238-249},
-  year = {2007},
-  url = {http://dev.ulb.ac.be/sched/articles/PARCO.pdf},
-  category = {extern}
-}
-
-@InProceedings{Ferrandiz07,
-  title =     {Managing Scheduling and Replication in the LHC Grid},
-  author = {Thomas Ferrandiz and Vania Marangozova},
-  booktitle = {CoreGrid Workshop on middleware},
-  year = {2007},
-  category = {extern}
-}
-
-@TechReport{Gay06,
-  title =     {Simbatch: an API for simulating and predicting the performance of parallel resources and batch systems.},
-  author =    {Jean-S{\'e}bastien Gay and Yves Caniou},
-  type = {Research Report},
-  number = {6040},
-  institution = {INRIA},
-  month = nov,
-  year = 2006,
-  url = {https://hal.inria.fr/inria-00115880},
-  category = {extern}
-}
-
-@InProceedings{GayRenpar06,
-  title =     {Simbatch : une API pour la simulation et la pr{\'e}diction de performances de syst{\`e}mes batch},
-  author =    {Jean-S{\'e}bastien Gay and Yves Caniou},
-  booktitle = {17{\`e}me Rencontres Francophones du Parall{\'e}lisme, des Architectures et des Syst{\`e}mes, RenPar'17},
-  month = oct,
-  year = 2006,
-  category = {extern}
-}
-
-@InProceedings{Vanderster06,
-  title =     {Metascheduling Multiple Resource Types using the MMKP},
-  author =    {D. Vanderster and N. Dimopoulos and R. Sobie},
-  booktitle = {7th IEEE/ACM International Conference on Grid Computing},
-  address = {Barcelona},
-  month = sep,
-  year = 2006,
-  category = {extern}
-}
-
-@InProceedings{Banino06,
-  title =     {Master-Slave Tasking on Asymmetric Networks},
-  author =    {Cyril Banino-Rokkones and Olivier Beaumont and Lasse Natvig},
-  booktitle = {Proceedings of 12th International Euro-Par Conference, Euro-Par'06},
-  month = aug,
-  year = 2006,
-  pages = {167-176},
-  address = {Dresden, Germany},
-  category = {extern}
-}
-
-@InProceedings{Tchimou06,
-  title =     {Critical Path and Area Based Scheduling of Parallel Task Graphs on Heterogeneous Platforms},
-  author =    {Tchimou N'Takp{\'e} and Fr{\'e}d{\'e}ric Suter},
-  booktitle = {Proceedings of the Twelfth International Conference on Parallel and Distributed Systems (ICPADS)},
-  address = {Minneapolis, MN},
-  month = july,
-  year = 2006,
-  category = {extern}
-}
-
-@InProceedings{Vanderster06*2,
-  title =     {Sensitivity Analysis of Knapsack-based Task Scheduling on the Grid},
-  author =    {D.C. Vanderster and N.J. Dimopoulos},
-  booktitle = {Proceedings of The 20th ACM International Conference on Supercomputing},
-  address = {Cairns, Australia},
-  month = jun,
-  year = 2006,
-  url = {http://portal.acm.org/citation.cfm?id=1183401.1183446&coll=GUIDE&dl=%23url.coll},
-  category = {extern}
-}
-
-@InProceedings{Senger06,
-  title =     {Hierarchical Scheduling of Independent Tasks with Shared Files},
-  author = {H. Senger and F. Silva and W. Nascimento},
-  booktitle = {Proceedings of the Sixth IEEE International Symposium on Cluster Computing and the Grid Workshop (CCGRIDW'06)},
-  address = {Singapore},
-  month = may,
-  year = 2006,
-  url = {http://www.unisantos.br/mestrado/informatica/hermes/File/senger-HierarchicalScheduling-Workshop-TB120.pdf},
-  category = {extern}
-}
-
-@InProceedings{Vanderster06*3,
-  title =     {Evaluation of Knapsack-based Scheduling using the NPACI JOBLOG},
-  author =    {D. Vanderster and N. Dimopoulos and R. Parra-Hernandez and R. Sobie},
-  booktitle = {20th International Symposium on High-Performance Computing in an Advanced Collaborative Environment (HPCS'06)},
-  address = {St. John's, Newfoundland, Canada},
-  month = may,
-  year = 2006,
-  url = {http://doi.ieeecomputersociety.org/10.1109/HPCS.2006.23},
-  category = {extern}
-}
-
-@InProceedings{Ohsaki05,
-  title =     {On Dynamic Resource Management Mechanism using Control Theoretic Approach for Wide-Area Grid Computing},
-  author =    {Hiroyuki Ohsaki and Soushi Watanabe and Makoto Imase},
-  booktitle = {Proceedings of IEEE Conference on Control Applications (CCA 2005)},
-  month = aug,
-  year = 2005,
-  url = {http://www.ispl.jp/~oosaki/papers/Ohsaki05_CCA.pdf},
-  category = {extern}
-}
-
-@InProceedings{Caron05,
-  title =     {Evaluation of Meta-scheduler Architectures and Task Assignment Policies for high Throughput Computing},
-  author =    {Eddy Caron and Vincent Garonne and Andrei Tsaregorodtsev},
-  booktitle = {Proceedings of 4th Internationnal Symposium on Parallel and Distributed Computing Job Scheduling Strategies for Parallel Processing (ISPDC'05)},
-  month = jul,
-  year = 2005,
-  pdf = {http://www.ens-lyon.fr/LIP/Pub/Rapports/RR/RR2005/RR2005-27.pdf},
-  category = {extern}
-}
-
-@InProceedings{Renard05,
-  title =     {Algorithmes de redistribution de donn{\'e}es pour anneaux de processeurs h{\'e}t{\'e}rog{\`e}nes},
-  author =    {H{\'e}l{\'e}ne Renard and Yves Robert and Fr{\'e}d{\'e}ric Vivien},
-  booktitle = {16i{\`e}me Rencontres Francophones du Parall{\'e}lisme des Architectures et des Syst{\`e}mes},
-  address = {Le Croisic, France},
-  month = apr,
-  year = 2005,
-  ps = {http://www.polytech.unice.fr/~hrenard/recherche/Renpar16.ps},
-  category = {extern}
-}
-
-@InProceedings{Caron04,
-  title =     {Deadline Scheduling with Priority for Client-Server Systems on the Grid},
-  author =    {Eddy Caron and P. K. Chouhan and Fr{\'e}d{\'e}ric Desprez},
-  booktitle = {IEEE International Conference On Grid Computing. Super Computing 2004},
-  month = oct,
-  year = 2004,
-  category = {extern}
-}
-
-@InProceedings{Caniou04,
-  title =     {Efficient Scheduling Heuristics for GridRPC Systems},
-  author =    {Yves Caniou and Emmanuel Jeannot},
-  booktitle = {IEEE QoS and Dynamic System workshop (QDS) of International Conference on Parallel and Distributed Systems (ICPADS)},
-  address = {New-Port Beach California, USA},
-  pages = {621-630},
-  month = jul,
-  year = 2004,
-  ps = {http://graal.ens-lyon.fr/~ycaniou/QDS04.ps},
-  category = {extern}
-}
-
-@InProceedings{Santos04,
-  title =     {Exploiting Replication and Data Reuse to Efficiently Schedule Data-intensive Applications on Grids},
-  author =    {E. Santos-Neto and W. Cirne and F. Brasileiro and A. Lima},
-  booktitle = {Proceedings of 10th Job Scheduling Strategies for Parallel Processing},
-  month = jun,
-  year = 2004,
-  pdf = {http://www.lsd.ufcg.edu.br/~elizeu/articles/jsspp.v6.pdf},
-  category = {extern}
-}
-
-@InProceedings{Hernandez04,
-  title =     {Resource Management and Knapsack Formulations on the Grid},
-  author =    {R. Parra-Hernandez and D. Vanderster and N. J. Dimopoulos},
-  booktitle = {Fifth IEEE/ACM International Workshop on Grid Computing (GRID'04)},
-  year = 2004,
-  url = {http://doi.ieeecomputersociety.org/10.1109/GRID.2004.54},
-  category = {extern}
-}
-
-@InProceedings{Ferreto04,
-  title =     {Scheduling BoT Applications in Grids using a Slave Oriented Adaptive Algorithm.},
-  author =    {T. Ferreto and C. A. F. De Rose and C. Northfleet.},
-  booktitle = {Second International Symposium on Parallel and Distributed Processing and Applications (ISPA)},
-  year = {2004},
-  address = {Hong Kong},
-  category = {extern}
-}
-
-@InProceedings{Renard04,
-  title =     {Data redistribution algorithms for heterogeneous processor rings},
-  author =    {H{\'e}l{\'e}ne Renard and Yves Robert and Fr{\'e}d{\'e}ric Vivien},
-  booktitle = {International Conference on High Performance Computing HiPC'2004},
-  year = 2004,
-  pdf = {http://www.polytech.unice.fr/~hrenard/recherche/Hipc.pdf},
-  category = {extern}
-}
-
-@InProceedings{Yao03,
-  title =     {Link-Contention-Aware Genetic Scheduling Using Task Duplication in Grid Environments},
-  author =    {Wensheng Yao and Xiao Xie and Jinyuan You},
-  booktitle = {Grid and Cooperative Computing: Second International Workshop, GCC 2003}, 
-  address = {Shanghai, China}, 
-  month = dec,
-  year = 2003,
-  pdf = {http://www.chinagrid.edu.cn/chinagrid/download/GCC2003/pdf/266.pdf},
-  category = {extern}
-}
-
-@InProceedings{caniou03,
-  title =     {New Dynamic Heuristics in the Client-Agent-Server Model},
-  author =    {Yves Caniou and Emmanuel Jeannot},
-  booktitle = {IEEE 13th Heteregeneous Computing Workshop - HCW'03}, 
-  address = {Nice, France},
-  month = apr,
-  year = 2003,
-  ps = {http://graal.ens-lyon.fr/~ycaniou/HCW03.ps},
-  category = {extern}
-}
-
-@InProceedings{caron03,
-  title =     {A Hierarchical Resource Reservation Algorithm for Network Enabled Servers},
-  author =    {Eddy Caron and Fr{\'e}d{\'e}ric Desprez and Franck Petit and V. Villain},
-  booktitle = {17th International Parallel and Distributed Processing Symposium -- IPDPS'03},
-  address = {Nice - France},
-  month = apr,
-  year =2003,
-  category = {extern}
-}
-
-
-
-
-
-
-
-
-
-@InProceedings{Bertin08,
-  title =     {Toward a Fully Decentralized Algorithm for Multiple Bag-of-tasks Application Scheduling on Grids},
-  author =    {R{\'e}mi Bertin and Arnaud Legrand and Corinne Touati},
-  booktitle = {IEEE/ACM International Conference on Grid Computing (Grid)},
-  address = {Tsukuba, Japan},
-  year = 2008,
-  category = {intra}
-}
-
-@InProceedings{Dubois07,
-  title =     {Assessing the Quality of Automatically Built Network Representations},
-  author =    {Lionel Eyraud-Dubois and Martin Quinson},
-  booktitle = {Seventh IEEE International Symposium on Cluster Computing and the Grid (CCGrid 2007)},
-  month = may,
-  year = 2007,
-  address = {Rio de Janeiro, Brazil},
-  category = {intra}
-}
-
-@InProceedings{Tchimou07,
-  title =     {A Comparison of Scheduling Approaches for Mixed-Parallel Applications on Heterogeneous Platforms},
-  author =    {Tchimou N'takp{\'e} and Fr{\'e}d{\'e}ric Suter and Henri Casanova},
-  booktitle = {6th International Symposium on Parallel and Distributed Computing},
-  address = {Hagenberg, Austria},
-  month = jul,
-  year = 2007,
-  category = {intra}
-}
-
-@InProceedings{Dubois07*2,
-  title =     {A First Step Towards Automatically Building Network Representations},
-  author =    {Lionel Eyraud-Dubois and Arnaud Legrand and Martin Quinson and Fr{\'e}d{\'e}ric Vivien},
-  booktitle = {12th International Euro-Par Conference},
-  month = aug,
-  year = 2007,
-  address = {Rennes, France},
-  category = {intra}
-}
-
-@Article{Beaumont07,
-  title =     {Centralized Versus Distributed Schedulers Multiple Bag-of-Tasks Applications},
-  author =    {Olivier Beaumont and Larry Carter and Jeanne Ferrante and Arnaud Legrand and Loris Marchal and Yves Robert},
-  journal = {IEEE Trans. Parallel Distributed Systems}, 
-  year = 2007,
-  category = {intra}
-}
-
-@InProceedings{Casanova06,
-  title =     {On the Harmfulness of Redundant Batch Requests},
-  author =    {H. Casanova},
-  booktitle = {Proceedings of the IEEE International Symposium on High Performance Distributed Computing (HPDC-15)},
-  address = {Paris, France},
-  month = may,
-  year = 2006,
-  pdf = {http://navet.ics.hawaii.edu/~casanova/homepage/papers/hpdc_2006.pdf},
-  category = {intra}
-}
-
-@InProceedings{Cardinale06,
-  title =     {An evaluation of Job Scheduling Strategies for Divisible Loads on Grid Platforms},
-  author =    {Y. Cardinale and H. Casanova},
-  booktitle = {Proceedings of the High Performance Computing & Simulation Conference (HPC&S'06)},
-  address = {Bonn, Germany},
-  month = may,
-  year = 2006,
-  pdf = {http://navet.ics.hawaii.edu/~casanova/homepage/papers/cardinale_2006.pdf},
-  category = {intra}
-}
-
-@InProceedings{Beaumont06,
-  title =     {Centralized Versus Distributed Schedulers Multiple Bag-of-Tasks Applications},
-  author =    {Olivier Beaumont and Larry Carter and Jeanne Ferrante and Arnaud Legrand and Loris Marchal and Yves Robert},
-  booktitle = {International Parallel and Distributed Processing Symposium IPDPS'2006},
-  year = 2006,
-  category = {intra}
-}
-
-@Article{Kreaseck05,
-  title =     {Interference-Aware Scheduling}, 
-  author =    {B. Kreaseck and L. Carter and H. Casanova and J. Ferrante and S. Nandy},
-  journal = {International Journal of High Performance Computing Applications (IJHPCA)},
-  year = 2005,
-  pdf = {http://navet.ics.hawaii.edu/~casanova/homepage/papers/kreaseck_ijhpca_2005.pdf},
-  category = {intra}
-}
-
-@InProceedings{Suter04,
-  title =     {From Heterogeneous Task Scheduling to Heterogeneous Mixed Data and Task Parallel Scheduling},
-  author =    {F. Suter and V. Boudet and F. Desprez and H. Casanova},
-  booktitle = {Proceedings of Europar, 230--237, (LCNS volume 3149)},
-  year = 2004,
-  month = aug,
-  address = {Pisa, Italy},
-  category = {intra}
-}
-
-@InProceedings{Kreaseck04,
-  title =     {On the Interference of Communication on Computation}, 
-  author =    {B. Kreaseck and L. Carter and H. Casanova and J. Ferrante}, 
-  booktitle = {Proceedings of the workshop on Performance Modeling, Evaluation, and Optimization of Parallel and Distributed Systems},
-  address = {Santa Fe},
-  month = apr,
-  year = 2004,
-  pdf = {http://navet.ics.hawaii.edu/~casanova/homepage/papers/k_pmeo2004.pdf
-},
-  category = {intra}
-}
-
-@InProceedings{Yang03,
-  title =     {RUMR: Robust Scheduling for Divisible Workloads}, 
-  author =    {Y. Yang and H. Casanova},
-  booktitle = {Proceedings of the 12th IEEE Symposium on High Performance and Distributed Computing (HPDC-12)},
-  address = {Seattle},
-  month = jun,
-  year = 2003,
-  pdf = {http://navet.ics.hawaii.edu/~casanova/homepage/papers/yang_hpdc2003.pdf},
-  category = {intra}
-}
-
-@Article{Faerman03,
-  title =     {Resource Allocation Strategies for Guided Parameter Space Searches},
-  author =    {M. Faerman and A. Birnbaum and F. Berman and H. Casanova},
-  booktitle = {International Journal of High Performance Computing Applications (IJHPCA)},
-  volume = 17,
-  number = 4,
-  pages = {383-402},
-  year = {2003},
-  category = {intra}
-}
-
-@InProceedings{Faerman02,
-  title =     {Resource Allocation for Steerable Parallel Parameter Searches},
-  author =    {M. Faerman and A. Birnbaum and H. Casanova and F. Berman},
-  booktitle = {Proceedings of the Grid Computing Workshop},
-  address = {Baltimore},
-  month = nov,
-  year = 2002,
-  pdf = {http://grail.sdsc.edu/projects/vi_itr/grid02.pdf},
-  category = {intra}
-}
-
-@InProceedings{Smallen01,
-  title =     {Applying Scheduling and Tuning to On-line Parallel Tomography },
-  author =    {Shava Smallen and Henri Casanova and Francine Berman},
-  booktitle = {Proceedings of Supercomputing},
-  year = 2001,
-  category = {intra}
-}
-
-@InProceedings{Casanova00,
-  title =     {Heuristics for Scheduling Parameter Sweep applications in Grid environments},
-  author =    {Henri Casanova and Arnaud Legrand and Dmitrii Zagorodnov and Francine Berman},
-  booktitle = {Proceedings of the 9th Heterogeneous Computing workshop (HCW'2000)},
-  year = 2000,
-  pdf = {http://navet.ics.hawaii.edu/~casanova/homepage/papers/hcw00_pst.pdf}
-}
diff --git a/website/contrib.doc b/website/contrib.doc
deleted file mode 100644 (file)
index 4e3c768..0000000
+++ /dev/null
@@ -1,143 +0,0 @@
-/*! \page contrib Contrib section
-
-\htmlinclude .contrib.doc.toc
-
-\section contrib_intro A contrib section ? Why ?
-
-Many people have come to ask us more complex examples than the simple ones
-that are distributed with the main branch of the SimGrid project. We do not
-want to include complex examples in the main branch but we think it is a
-good idea that users share their experience. That is why we have created a
-contrib branch that can be used by people who have a nice piece of work
-using SimGrid and accept to share it. The licence of this code should be
-LGPL if possible. If you can't licence your code with LGPL, just tell us
-about it and we will try to sort out whether it makes sense to publish it
-here.
-
-\section contrib_msg  Projects relying on MSG
-
-\subsection contrib_msg_gridmatrix Grid Matrix
-
-<a href="http://research.nektra.com/Grid_Matrix">Grid Matrix</a> is an
-application that lets you create your grid network and simulate the
-execution of distributed applications from a Graphic User Interface
-(GUI).
-
-  - Features:
-    - Complete design of the network.
-    - Bindings for MSG.
-    - Simulation run within the GUI.
-    - Pause / Stop simulation.
-    - Multiple trace options.
-    - Python output and errors redirected to the GUI.
-    - Grid Nodes change their red intensity to show activity.
-    - Custom activity can be set by Python scripts.
-    - Create graphics from scripts.
-  - Requirements:
-    - Microsoft Visual Studio VS2005 SP1 runtime
-  - Future works:
-    - Support other APIs in SimGrid.
-    - Add a form to set process parameters.
-    - Linux support.
-
-This is contributed by Pablo Yabo, and can be found here:
-http://research.nektra.com/Grid_Matrix
-
-\subsection contrib_msg_simboinc SimBoinc
-
-SimBOINC is a simulator for heterogeneous and volatile desktop grids
-and volunteer computing systems. The goal of this project is to
-provide a simulator by which to test new scheduling strategies in
-BOINC, and other desktop and volunteer systems, in general.
-
-It is contributed by Derrick Kondo and can be found here:
-http://simboinc.gforge.inria.fr/
-
-\subsection contrib_msg_garsim GarSim
-
-GarSim is a simulator of a scheduling meta-system or just of a batch
-system. This code is written in C++ and has many dependencies (with
-python, sqlite, some parts of condor, ...). 
-
-It is maintained by Vincent Garonne (garonne::lal.in2p3.fr), and is
-part of the SimGrid SVN (directory contrib/garSim).
-
-\subsection contrib_msg_simbatch Simbatch
-
-This program simulates the behavior of a batch scheduler managing a
-cluster. 
-
-This program is maintained by Jean-Sebastien Gay
-(Jean-Sebastien.Gay at ens-lyon.fr), and is part of the SimGrid SVN
-(directory contrib/Simbatch).
-
-
-\section contrib_gras Projects relying on GRAS
-
-\subsection contrib_gras_alnem ALNeM: Application Level Network Mapping
-
-This program is an application-level network mapper. It performs
-application level measurements and proposes a few reconstruction
-algorithms. 
-
-This program is maintained by Arnaud Legrand, Martin Quinson and
-Lionel Eyraud, and is part of the SimGrid SVN (directory
-contrib/ALNeM).
-
-
-\section contrib_smpi Projects relying on SMPI
-
-(nothing for now)
-
-\section contrib_surf Projects relying on SURF
-
-(nothing for now)
-
-\section contrib_partners Projects that facilitates SimGrid usability
-
-<a href="http://triva.gforge.inria.fr/">TRIVA</a> is an open-source tool used to analyze traces (in the pajé format) registered during the execution of parallel applications. The tool serves also as a sandbox to the development of new visualization techniques. Some features include:
-  - Temporal integration using dynamic time-intervals
-  - Spatial aggregation through hierarchical traces
-  - Scalable visual analysis with Squarified Treemaps
-  - A Custom Graph Visualization 
-
-SimGrid includes a tracing system capable to generate traces that can be easily visualized using Triva. It is so since version 3.4 (and works seemly since version 3.6). It is very useful when you to understand why and how your simulation behaves, so let's have a look to the vids on <a href="http://triva.gforge.inria.fr/">TRIVA website</a>.  
-
-\section contrib_page_ranking Page ranking
-
-\li If you want to help SimGrid in being well ranked in google with the good keyword, juste copy/paste 
-this code to reference simgrid in your web page :
-
-\verbatim
-<a href="http://simgrid.gforge.inria.fr/" title="Scalable simulation of distributed systems : grid simulator, P2P simulator, MPI simulator">Simgrid</a>
-\endverbatim
-
-The output looks like this : 
-\htmlonly
-<a href="http://simgrid.gforge.inria.fr/" title="Scalable simulation of distributed systems : grid simulator, P2P simulator, MPI simulator">Simgrid</a>
-\endhtmlonly
-
-\li You can also use this logo-embedded version if you want to :
-
-\verbatim
-<a href="http://simgrid.gforge.inria.fr/" title="Scalable simulation of distributed systems : grid simulator, P2P simulator, MPI simulator">
-       <img src="http://simgrid.gforge.inria.fr/logos/SIMGRID_Logo_Thumbs_up.png"
-       alt="Scalable simulation of distributed systems : grid simulator, P2P simulator, MPI simulator" align="center">
-</a>
-\endverbatim
-
-Here is the output of it : 
-\htmlonly
-<a href="http://simgrid.gforge.inria.fr/" title="Scalable simulation of distributed systems : grid simulator, P2P simulator, MPI simulator">
-       <img src="http://simgrid.gforge.inria.fr/logos/SIMGRID_Logo_Thumbs_up.png"
-       alt="Scalable simulation of distributed systems : grid simulator, P2P simulator, MPI simulator" align="center">
-</a>
-\endhtmlonly
-
-*/
-
-\author Arnaud Legrand (arnaud.legrand::imag.fr)
-\author Martin Quinson (martin.quinson::loria.fr)
-
-
-
diff --git a/website/documentation.html b/website/documentation.html
deleted file mode 100644 (file)
index d5d5ab6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-<head>
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-       <link rel="stylesheet" type="text/css" href="stylesheets/simgridsite.css" />
-       <link rel="stylesheet" type="text/css" href="stylesheets/simgridsitetabs.css" />
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-       <title>SimGrid - Online documentation</title>
-       <meta name="keywords" content="Scalable, simulation, distributed systems, grid, peer-to-peer" /> 
-
-</head>
-
-<body>
-<div id="header" align="center">
-<p>
-<img src="logos/simgrid_logo.png"  alt="SimGrid - Scalable simulation of distributed systems, ranging from grids to peer-to-peer systems" />
-</p>
-<h2 class="header"><i class="subtitle">Scalable simulation of distributed systems</i></h2>
-</div>
-<p/>
-<br/> 
- <div id="navrow1" class="tabs" align="center">
-    <ul class="tablist">
-      <li><a href="index.php"><span>Home</span></a></li>
-
-                        <li><a href="https://gforge.inria.fr/frs/?group_id=12"><span>Download</span></a></li>
-
-      <li><a href="documentation.html"><span>Online documentation</span></a></li>
-      <li><a href="publis.html"><span>Publications</span></a></li>
-      <li><a href="people.html"><span>People</span></a></li>
-      <li><a href="history.html"><span>History</span></a></li>
-      <li><a href="contrib.html"><span>Contrib</span></a></li>
-
-      <li><a href="faq.html"><span>FAQ&#160;Page</span></a></li>
-
-      <li><a href="http://gforge.inria.fr/projects/simgrid"><span>SimGrid&#160;Forge</span></a></li>
-    </ul>
-  </div>
-<table width="80%" cellpadding="5" cellspacing="0" border="0" align="center">
-
-<tr><td width="75%" valign="top">
-The documentation for SimGrid is maintained for the latest versions. It contains informations on how to use SimGrid, some tutorial, and its inner component. Here is the list of available documentation version:
-
-<ul>
-<li><a href="./3.6.1/doc/"> Simgrid version 3.6.1</a></li>
-<li><a href="./3.5/doc/"> Simgrid version 3.5</a></li>
-<li><a href="./3.4.1/doc/"> Simgrid version 3.4.1</a></li></ul></tr>
-</table>
-<div id="footer" align="center">
-<p>
- Help: <a href="mailto:siteadmin-help@lists.gforge.inria.fr">siteadmin-help@lists.gforge.inria.fr</a> Webmaster: <a href="mailto:webmaster@gforge.inria.fr">webmaster@gforge.inria.fr</a>
-
-</p>
-<p>
-<ul class="footerlogos">
-       <li><a href="http://www.inria.fr/"><img align="left" src="logos/logo_INRIA.png" alt="INRIA"/></a>       
-       </li>
-       <li><a href="http://gforge.org/"><img src="http://gforge.org/images/pow-gforge.png" alt="Powered By GForge Collaborative Development Environment" border="0"/></a>
-
-       </li>
-       <li><a href="http://creativecommons.org/licenses/LGPL/2.1/"><img alt="CC-GNU LGPL" border="0" src="http://creativecommons.org/images/public/cc-LGPL-a.png" /></a>
-
-       </li>
-
-</ul>
-       
-</p>
-</div>
-</body>
-</html>
diff --git a/website/documentation.php.in b/website/documentation.php.in
deleted file mode 100644 (file)
index a5d569e..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-
-
-function list_files($dir){
-         $arrayDoc = array();
-        $hidden = ".";
-        if (is_dir($dir)) {
-                if ($dh = opendir($dir)) {
-                        echo "<ul>\n";
-                        while (($file = readdir($dh)) !== false) {
-                                if (is_dir($file) && preg_match("/^[0-9]/", $file)){
-                                             $arrayDoc[] = $file;
-                                }                              
-                        }
-                        closedir($dh);                       
-                }
-        }
-        else {
-                echo "No version now.\n";
-        }
-    // Warning : won't work with version numbers upper than 9 !
-    sort($arrayDoc, SORT_STRING);
-    for($i=sizeof($arrayDoc);$i>=0;$i--) 
-    { if ($arrayDoc[$i] != "")
-            {echo "<li><a href=\"" . $dir . "/" . $arrayDoc[$i] . "/doc/\"> Simgrid version " . $arrayDoc[$i] . "</a>.</li>";}
-
-    } 
-        echo "</ul>";
-}
-
-?>
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-<head>
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-       <link rel="stylesheet" type="text/css" href="stylesheets/simgridsite.css" />
-       <link rel="stylesheet" type="text/css" href="stylesheets/simgridsitetabs.css" />
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-       <title>SimGrid - Online documentation</title>
-       <meta name="keywords" content="Scalable, simulation, distributed systems, grid, peer-to-peer" /> 
-
-</head>
-
-<body>
-<div id="header" align="center">
-<p>
-<img src="logos/simgrid_logo.png"  alt="SimGrid - Scalable simulation of distributed systems, ranging from grids to peer-to-peer systems" />
-</p>
-<h2 class="header"><i class="subtitle">Scalable simulation of distributed systems</i></h2>
-</div>
-<p/>
-<br/> 
- <div id="navrow1" class="tabs" align="center">
-    <ul class="tablist">
-      <li><a href="index.php"><span>Home</span></a></li>
-                        <li><a href="download.php"><span>Download</span></a></li>
-      <li><a href="documentation.php"><span>Online documentation</span></a></li>
-      <li><a href="publis.html"><span>Publications</span></a></li>
-      <li><a href="people.html"><span>People</span></a></li>
-      <li><a href="history.html"><span>History</span></a></li>
-      <li><a href="contrib.html"><span>Contrib</span></a></li>
-      <li><a href="faq.html"><span>FAQ&#160;Page</span></a></li>
-
-      <li><a href="http://gforge.inria.fr/projects/simgrid"><span>SimGrid&#160;Forge</span></a></li>
-    </ul>
-  </div>
-<table width="80%" cellpadding="5" cellspacing="0" border="0" align="center">
-
-<tr><td width="75%" valign="top">
-The documentation for SimGrid is maintained for the latest versions. It contains informations on how to use SimGrid, some tutorial, and its inner component. Here is the list of available documentation version:
-<?php list_files("."); ?>
-</tr>
-</table>
-<div id="footer" align="center">
-<p>
-<ul class="footerlogos">                  
-       <li><a href="http://www.inria.fr/"><img align="center" src="logos/INRIA.png" alt="INRIA"/></a>  
-       </li>
-       <li><a href="http://www.cnrs.fr/"><img align="center" src="logos/cnrs.png" alt="CNRS"/></a>     
-       </li>   
-       <li><a href="http://www.uhp-nancy.fr/"><img align="center" src="logos/logo_uhp.png" alt="Université Nancy  Henri Poincarré"/></a>     
-       </li>
-       <li><a href="http://manoa.hawaii.edu/"><img align="center" src="logos/UnivHawaiiManoa.png" alt="Univeristy of Hawaii Manoa"/></a>       
-       </li>
-       <li><a href="http://www.agence-nationale-recherche.fr/"><img align="center" src="logos/ANR.png" alt="ANR"/></a> 
-       </li>
-</ul>  
-</p>
-</div>
-</body>
-</html>
diff --git a/website/download.php.in b/website/download.php.in
deleted file mode 100644 (file)
index d3efe09..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php 
-$domain="gforge.inria.fr";
-$group_name="simgrid";
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-<head>
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-       <link rel="stylesheet" type="text/css" href="stylesheets/simgridsite.css" />
-       <link rel="stylesheet" type="text/css" href="stylesheets/simgridsitetabs.css" />
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-       <title>SimGrid - Scalable simulation of distributed systems, ranging from grids to peer-to-peer systems</title>
-       <meta name="keywords" content="Scalable, simulation, distributed systems, grid, peer-to-peer" /> 
-
-</head>
-
-<body>
-<div id="header" align="center">
-<p>
-<img src="logos/simgrid_logo.png"  alt="SimGrid - Scalable simulation of distributed systems, ranging from grids to peer-to-peer systems" />
-</p>
-<h2 class="header"><i class="subtitle">Scalable simulation of distributed systems</i></h2>
-</div>
-<p/>
-<br/> 
- <div id="navrow1" class="tabs" align="center">
-    <ul class="tablist">
-      <li><a href="index.php"><span>Home</span></a></li>
-                        <li><a href="download.php"><span>Download</span></a></li>
-      <li><a href="documentation.php"><span>Online documentation</span></a></li>
-      <li><a href="publis.html"><span>Publications</span></a></li>
-      <li><a href="people.html"><span>People</span></a></li>
-      <li><a href="history.html"><span>History</span></a></li>
-      <li><a href="contrib.html"><span>Contrib</span></a></li>
-      <li><a href="faq.html"><span>FAQ&#160;Page</span></a></li>
-
-      <li><a href="http://gforge.inria.fr/projects/simgrid"><span>SimGrid&#160;Forge</span></a></li>
-    </ul>
-  </div>
-<table width="80%" cellpadding="5" cellspacing="0" border="0" align="center">
-<td>
-<p>
-Since version 3.6.1, windows installer are provided for amd64 or x86. Linux and Mac users should retrieve the tar.gz files. See release documentation for install informations.
-</p>
-<?php if ($handle=fopen('https://gforge.inria.fr/frs/?group_id=12','r')){
-// Reading the file
-$contents = '';
-$contents = stream_get_contents($handle);
-
-fclose($handle);
-
-// I'm not a php expert at all, so this is an ugly code based on the only method I know : explode !
-$tempArray = array();
-// There is a tag around releases : fieldset 
-$tempArray  = explode('<fieldset>', $contents);
-$secondTempArray = array();
-$secondTempArray  = explode('</fieldset>', $tempArray[1]);
-
-$toPrint = '';
-$toPrint .= $secondTempArray[0];
-
-
-//Replacing bad hrefs ... I don't know why they actually change from the original content once deployed and invoked from ... 
-$toPrint=str_replace('href="shownotes','href="https://gforge.inria.fr/frs/shownotes',$toPrint);
-echo $toPrint; } ?>
-</td>
-</table>
-
-<div id="footer" align="center">
-<p>
-<ul class="footerlogos">                  
-       <li><a href="http://www.inria.fr/"><img align="center" src="logos/INRIA.png" alt="INRIA"/></a>  
-       </li>
-       <li><a href="http://www.cnrs.fr/"><img align="center" src="logos/cnrs.png" alt="CNRS"/></a>     
-       </li>   
-       <li><a href="http://www.uhp-nancy.fr/"><img align="center" src="logos/logo_uhp.png" alt="Université Nancy  Henri Poincarré"/></a>     
-       </li>
-       <li><a href="http://manoa.hawaii.edu/"><img align="center" src="logos/UnivHawaiiManoa.png" alt="Univeristy of Hawaii Manoa"/></a>       
-       </li>
-       <li><a href="http://www.agence-nationale-recherche.fr/"><img align="center" src="logos/ANR.png" alt="ANR"/></a> 
-       </li>
-</ul>  
-</p>
-</div>
-</body>
-</html>
diff --git a/website/footer.html b/website/footer.html
deleted file mode 100644 (file)
index df2e982..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<div id="footer" align="center">
-<p>
-<ul class="footerlogos">                  
-       <li><a href="http://www.inria.fr/"><img align="center" src="logos/INRIA.png" alt="INRIA"/></a>  
-       </li>
-       <li><a href="http://www.cnrs.fr/"><img align="center" src="logos/cnrs.png" alt="CNRS"/></a>     
-       </li>   
-       <li><a href="http://www.uhp-nancy.fr/"><img align="center" src="logos/logo_uhp.png" alt="Université Nancy  Henri Poincarré"/></a>     
-       </li>
-       <li><a href="http://manoa.hawaii.edu/"><img align="center" src="logos/UnivHawaiiManoa.png" alt="Univeristy of Hawaii Manoa"/></a>       
-       </li>
-       <li><a href="http://www.agence-nationale-recherche.fr/"><img align="center" src="logos/ANR.png" alt="ANR"/></a> 
-       </li>
-</ul>  
-</p>
-</div>
-</body>
-</html>
diff --git a/website/header.html b/website/header.html
deleted file mode 100644 (file)
index cc56b39..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-<head>
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-       <link rel="stylesheet" type="text/css" href="stylesheets/simgridsite.css" />
-       <link rel="stylesheet" type="text/css" href="stylesheets/simgridsitetabs.css" />
-       <link rel="stylesheet" type="text/css" href="stylesheets/simgrid.css" />        
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-       <title>SimGrid - Scalable simulation of distributed systems, ranging from grids to peer-to-peer systems</title>
-       <meta name="keywords" content="Scalable, simulation, distributed systems, grid, peer-to-peer" /> 
-
-</head>
-
-<body>
-<div id="header" align="center">
-<p>
-<img src="logos/simgrid_logo.png"  alt="SimGrid - Scalable simulation of distributed systems, ranging from grids to peer-to-peer systems" />
-</p>
-<h2 class="header"><i class="subtitle">Scalable simulation of distributed systems</i></h2>
-</div>
-<p/>
-<br/> 
-
diff --git a/website/history.doc b/website/history.doc
deleted file mode 100644 (file)
index 9278c59..0000000
+++ /dev/null
@@ -1,246 +0,0 @@
-/*! \page history History of SimGrid 
-
-\htmlinclude .history.doc.toc
-
-Many people have asked about the origins of the SimGrid project, about
-the history of its development up to now, and about plans for the future.
-Here it is, in (perhaps excruciating) details.
-
-\section history_sg SimGrid v1
-
-In 1999 Henri Casanova joined the AppLeS research group in the Computer
-Science and Engineering Department at the University of California at San
-Diego, as a post-doc. The AppLeS group, led by Francine Berman, focused
-mostly on the study of practical scheduling algorithms for parallel
-scientific application on heterogeneous, distributed computing platforms.
-Shortly after  Henri joined the group he faced the need to run simulation
-instead of or in addition to merely running real-world experiments.  At
-that time Arnaud Legrand, a 1st year graduate student at Ecole Normale
-Superieure de Lyon, France, spent 2 months in the  summer in the AppLeS
-group as a visiting student. He worked with Henri that summer on a research
-project as part of which he implemented an ad-hoc simulator.
-
-After Arnaud left UCSD, Henri realized that most likely every researcher
-in the AppLeS group would eventually need to run simulations, and that they
-would most likely all end up rewriting the same code at one point or
-another. He took apart the simulator that Arnaud had developed, an packaged
-it as a more generic simulation framework with a simple API, and called it
-SimGrid v1.0 (a.k.a. SG). This version was simple, and in retrospect a bit
-naive.  However, it was surprisingly useful to study "centralized"
-scheduling (e.g., off-line scheduling of a DAG on a heterogeneous set of
-distributed compute nodes).  SimGrid v1.0 was described in "SimGrid: A
-Toolkit for the Simulation of Application Scheduling, by Henri Casanova, in
-Proceedings of CCGrid 2001". Henri became the first user of SimGrid and
-used it for several research projects from then on.
-
-\section history_msg SimGrid v2
-
-By 2001 time Arnaud was engaged in his Ph.D. thesis work and started
-studying "decentralized" scheduling heuristics, that is ones in which
-scheduling decisions are made by more or less autonomous agents that typicaly have only
-partial knowledge of the applications and/or computing platform. Although
-simulating decentralized scheduling with SimGrid v1.0 was actually possible
-(and done by one Ph.D. student at UCSD in fact!), it was extremely cumbersome
-and limited in scope.  So Arnaud built a layer on top of SG, which he
-called MSG (for Meta-SimGrid).  MSG added threads and introduced the
-concept of independently running simulated processes that performed
-computations and communication tasks in possibly asynchronous fashion. MSG
-was described in "MetaSimGrid : Towards realistic scheduling simulation of
-distributed applications, by Arnaud Legrand and Julien Lerouge, LIP
-Research Report". This resulted in the following layered architecture:
-
-\verbatim
-               (user code)
-               -----------
-               | MSG |   |
-               -------   |
-               |    SG   |
-               -----------\endverbatim
-
-With Henri and some of his students using SG and Arnaud using MSG, the
-project started having a (tiny) user base. It was time to be more ambitious
-and to address one of the key limitation of SG: its inability to simulate
-multi-hop network communications realistically. In the Summer 2003 Loris
-Marchal, a 1st year graduate student at Ecole Normale Superieure, came to
-UCSD to work with Henri. During that summer, based on results in the TCP modeling
-literature,  he implemented a macroscopic network model as part of SG. This
-model dramatically increased the level of realism of SimGrid simulations and
-was initially described in: "A Network Model for Simulation of Grid
-Applications, by Loris Marchal and Henri Casanova, LIP research report".  By
-the end of 2003 the work at UCSD and at Ecole Normale was merged in what
-became SimGrid v2, as described in: "Scheduling Distributed Applications:
-the SimGrid Simulation Framework, by Henri Casanova, Arnaud Legrand, and
-Loris Marchal, in Proceedings of CCGrid 2003".
-
-\section history_gras SimGrid v3
-
-SimGrid v2, with its much improved features and capabilities, garnered a
-larger user base and many friends and collaborators of Arnaud and Henri
-started using it for their research. On these friends was Martin Quinson,
-then a Ph.D. student at Ecole Normale Superieure, who was working in the
-area of distributed resource monitoring systems.  As part of his Ph.D.
-Martin attempted to develop a network topology discovery tool and quickly
-found out that it was difficult and required prototyping in simulation.
-Faced with the perspective of first implementing a throw-away prototype in
-simulation and then reimplementing the whole thing for production, Martin
-started working on a framework that would easily compile the same code in
-"simulation mode" or in "real-world mode". He found this ability
-to be invaluable when developing distributed systems and built his framework,
-called GRAS, on top of MSG (for the simulation mode) and on top of the
-socket layer (for the real-world mode). GRAS is described in "GRAS: A
-Research & Development Framework for Grid and P2P Infrastructures, by
-Martin Quinson, in Proceedings of PDCS 2006". This led to the following
-layered software architecture:
-
-\verbatim
-       (user code for either SG, MSG or GRAS)
-       -----------------------------
-       |   |     |    GRAS API     |
-       |   |     -------------------
-       |   |     |GRAS S | |GRAS R |
-       |   |     --------- ---------
-       |   |    MSG      | |sockets|
-       |   --------------| ---------
-       |        SG       |
-       -------------------\endverbatim
-
-At this point, with more users running more complex
-simulations, it became clear that the initial SG
-foundation inherited from SimGrid v1 was too limiting in terms
-of scalability and performance. In 2005 Arnaud took the bull by the horns
-and replaced SG with a new simulation engine called SURF, thus removing the
-SG API. Users reported acceleration factors of up to 3 orders of magnitude
-when going from SG to SURF. Furthermore, SURF is much more extensible than
-SG ever was and has enabled the evolution of simulation models used by SimGrid. 
-Although it made sense at the time to re-implement GRAS on top of
-SURF, it was never accomplished due to the "too many things to do not
-enough time" syndrome. Martin added a layer on top of GRAS called AMOK, to
-implement high-level services needed by many distributed applications, thus
-leading to the new overall layered architecture:
-
-\verbatim
-   (user code for either MSG or GRAS -- using AMOK or not)
-                          -------
-                          | AMOK|
-        -------------------------
-        |     |    GRAS API     |
-        |     -------------------
-        |     |GRAS S | |GRAS R |
-        |     --------- ---------
-        |    MSG      | |sockets|
-        --------------| ---------
-        |   SURF      |
-        ---------------\endverbatim
-
-This architecture culminated in SimGrid v3! One development worth mentioning
-is that of SimDAG, written by Christophe Thiery during an Internship with
-Martin Quinson. Many users indeed had asked functionality similar to what
-the SG API provided in SimGrid v1 and v2, to study centralized scheduling
-without all the power of the MSG API. SimDAG provides an API 
-especially for this purpose and was integrated in SimGrid v3.1, leading
-to the following layered architecture:
-
-\verbatim
- (user code for either SimDag, MSG or GRAS)
-                             -------
-                             | AMOK|
-    --------------------------------
-    |      |     |    GRAS API     |
-    |      |     -------------------
-    |      |     |GRAS SG| |GRAS RL|
-    |      |     --------- ---------
-    |SimDag|    MSG      | |sockets|
-    |--------------------| ---------
-    |        SURF        |
-    ----------------------\endverbatim
-
-SimGrid 3.2, the current publicly available version as this document is
-being written, implements the above architecture and also provides a
-(partial) port to the Windows operating system.
-
-\section history_ongoing Ongoing Work
-
-As the project advances, it becomes increasingly clearer that there is a need
-for an intermediate layer between the base simulation engine, SURF, and higher
-level APIs. In the previously shown software architecture MSG plays the role
-of an intermediate layer between SURF and GRAS, but is itself a high-level API,
-which is not very good design.  Bruno Donassolo, during an internship with
-Arnaud, has developed an intermediate layer called SIMiX, and both GRAS
-and MSG are being rewritten on top of it. 
-
-Another development is that of SMPI, a framework to run unmodified MPI
-applications in either simulation mode or in real-world mode (sort of GRAS
-for MPI). The development of SMPI, by Mark Stillwell who works with Henri,
-is being greatly simplified thanks to the aforementioned SIMiX layer.
-Finally, somewhat unrelated, is the development of Java bindings for the
-MSG API by Malek Cherier who works with Martin.  The current software
-architecture thus looks as follows:
-
-\verbatim
- (user code for either SimDAG, MSG, GRAS, or MPI)
-    ----------------------------------
-    |      |   |jMSG|    |AMOK|      |
-    |      |   -----|    ------      |
-    |SimDag| MSG    | GRAS    | SMPI |     (Note that GRAS and SMPI also run on top of
-    |      ---------------------------     sockets and MPI, not shown on the figure)
-    |      |           SIMiX         |
-    ----------------------------------
-    |              SURF              |
-    ----------------------------------\endverbatim
-
-While the above developments are about adding simulation functionality, a
-large part of the research effort in the SimGrid project relates to
-simulation models. These models are implemented in SURF, and Arnaud has
-refactored SURF to make it more easily extensible so that one can
-experiment with different models, in particular different network models.
-Pedro Velho, who works with Arnaud, is currently experimenting with several
-new network models. Also, Kayo Fujiwara, who works with Henri, has
-interfaced SURF with (a patched version of) the GTNetS packet-level
-simulator.
-
-The current architecture in the CVS tree at the time this document is
-being written is as follows:
-
-\verbatim
-    ----------------------------------
-    |      |   |jMSG|    |AMOK|      |
-    |      |   ------    ------      |
-    |SimDag| MSG    | GRAS    | SMPI |  (Note that GRAS and SMPI also run on top of
-    |      |        |     -------    |   sockets and MPI, not shown on the figure)
-    |      |        |     |SMURF|    |  
-    |      ---------------------------  
-    |      |          SIMiX          |
-    ----------------------------------
-    |         SURF interface         |
-    ----------------------------------
-    |    SURF kernel   |    | GTNetS |
-    | (several models) |    |        |
-    --------------------    ----------\endverbatim
-
-\section history_future Future Directions
-
-The primary short-term future direction is to develop a distributed version of
-SIMiX to increase the scalability of simulations in terms of memory.  This can be done
-using the GRAS "real world" functionality to run SIMiX in a distributed fashion
-across multiple hosts, thus allowing to run simulations that are not
-limited by the amount of memory on a single host. The simulation itself
-would still be centralized and sequential, meaning that a single simulated
-process would run at a time. Bruno Donassolo is currently working on this
-idea, which is currently called SMURF.
-
-Longer-term  plans include:
-
-       \li More development in AMOK
-       \li Component for simulation visualization 
-       \li Model-checking in GRAS
-       \li True parallel simulation
-
-
-One of the constant challenge in this project is its duality: it is a
-useful tool for scientists (hence our efforts on APIs, portability,
-documentation, etc.), but is it also a scientific project in its own right
-(so that we can publish papers).
-
-
-
-*/
\ No newline at end of file
diff --git a/website/img/tab_a.png b/website/img/tab_a.png
deleted file mode 100644 (file)
index 2d99ef2..0000000
Binary files a/website/img/tab_a.png and /dev/null differ
diff --git a/website/img/tab_b.png b/website/img/tab_b.png
deleted file mode 100644 (file)
index b2c3d2b..0000000
Binary files a/website/img/tab_b.png and /dev/null differ
diff --git a/website/img/tab_h.png b/website/img/tab_h.png
deleted file mode 100644 (file)
index c11f48f..0000000
Binary files a/website/img/tab_h.png and /dev/null differ
diff --git a/website/img/tab_s.png b/website/img/tab_s.png
deleted file mode 100644 (file)
index 978943a..0000000
Binary files a/website/img/tab_s.png and /dev/null differ
diff --git a/website/img_sources/SIMGRID_Logo_NBsolo.ai b/website/img_sources/SIMGRID_Logo_NBsolo.ai
deleted file mode 100644 (file)
index 5aa7e6e..0000000
+++ /dev/null
@@ -1,4084 +0,0 @@
-%PDF-1.4\r%âãÏÓ\r
-1 0 obj<</Metadata 1981 0 R/Pages 2 0 R/Type/Catalog>>\rendobj\r2 0 obj<</Count 1/Type/Pages/Kids[5 0 R]>>\rendobj\r5 0 obj<</CropBox[0.0 0.0 935.434 283.465]/Parent 2 0 R/Contents 1975 0 R/BleedBox[0.0 0.0 935.433 283.465]/PieceInfo<</Illustrator 1921 0 R>>/ArtBox[0.0 0.0 935.434 283.465]/Group 1976 0 R/MediaBox[0.0 0.0 935.433 283.465]/Thumb 1980 0 R/TrimBox[0.0 0.0 935.433 283.465]/Resources<</XObject<</Fm0 1947 0 R/Fm1 1960 0 R/Fm2 1972 0 R>>/Properties<</MC0<</Color[32768.0 32768.0 32768.0]/Visible true/Editable true/Dimmed false/Preview true/Printed true/Title(L_  ok)>>>>/ExtGState<</GS0 1935 0 R/GS1 1948 0 R/GS2 1973 0 R>>>>/Type/Page/LastModified(D:20060427145828+02'00')>>\rendobj\r1921 0 obj<</Private 1922 0 R/LastModified(D:20060427145828+02'00')>>\rendobj\r1922 0 obj<</CreatorVersion 12/ContainerVersion 9/RoundtripVersion 12/AIMetaData 1923 0 R/AIPrivateData1 1924 0 R/AIPrivateData2 1925 0 R/AIPrivateData3 1926 0 R/AIPrivateData4 1927 0 R/AIPrivateData5 1928 0 R/AIPrivateData6 1929 0 R/AIPrivateData7 1930 0 R/AIPrivateData8 1931 0 R/NumBlock 8/RoundtripStreamType 1>>\rendobj\r1923 0 obj<</Length 1259>>stream\r
-%!PS-Adobe-3.0 \r%%Creator: Adobe Illustrator(R) 12.0\r%%AI8_CreatorVersion: 12.0.1\r%%For: (Thuerry GARTISER) (LORIA)\r%%Title: (SIMGRID_Logo_NBsolo.ai)\r%%CreationDate: 27/04/06 14:58\r%%BoundingBox: -206 243 802 599\r%%HiResBoundingBox: -206 243.4238 801.4336 598.8887\r%%DocumentProcessColors: Black\r%AI5_FileFormat 8.0\r%AI12_BuildNumber: 205\r%AI3_ColorUsage: Color\r%AI7_ImageSettings: 0\r%%CMYKCustomColor: 0.7 0.16 0.16 0.24 (Azure z2x)\r%%+ 1 1 1 1 ([Registration])\r%%+ 0.2 0 0.2 0.2 (vert inflorescence 3x20)\r%%CMYKProcessColor: 1 1 0 0 (Bleu fonds marins global)\r%%+ 1 0 0 0 (Cyan pur global)\r%%+ 0 0 1 0 (Jaune pur global)\r%%+ 0 0.5 1 0 (Jus global)\r%%+ 0 1 1 0 (Rouge global)\r%%+ 0.8 0 1 0 (Vert global)\r%AI3_Cropmarks: -170 279.4238 765.4336 562.8887\r%AI3_TemplateBox: 298.5 420.3887 298.5 420.3887\r%AI3_TileBox: -257.0835 10.0566 883.916 833.0562\r%AI3_DocumentPreview: None\r%AI5_ArtSize: 935.4331 283.4646\r%AI5_RulerUnits: 1\r%AI9_ColorModel: 2\r%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0\r%AI5_TargetResolution: 800\r%AI5_NumLayers: 1\r%AI9_OpenToView: -1301 1339.8887 0.5 1664 937 18 0 0 8 73 0 0 1 0 1 0 1\r%AI5_OpenViewLayers: 7\r%%PageOrigin:-383 -322.1104\r%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9\r%AI9_Flatten: 1\r%AI12_CMSettings: 00.MS\r%%EndComments\r\rendstream\rendobj\r1924 0 obj<</Length 6490>>stream\r
-%%BoundingBox: -140 300 724 532\r%%HiResBoundingBox: -139.8242 300.5986 723.2188 531.9585\r%AI7_Thumbnail: 128 36 8\r%%BeginData: 6338 Hex Bytes\r%0000330000660000990000CC0033000033330033660033990033CC0033FF\r%0066000066330066660066990066CC0066FF009900009933009966009999\r%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66\r%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333\r%3333663333993333CC3333FF3366003366333366663366993366CC3366FF\r%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99\r%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033\r%6600666600996600CC6600FF6633006633336633666633996633CC6633FF\r%6666006666336666666666996666CC6666FF669900669933669966669999\r%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33\r%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF\r%9933009933339933669933999933CC9933FF996600996633996666996699\r%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33\r%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF\r%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399\r%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933\r%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF\r%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC\r%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699\r%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33\r%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100\r%000011111111220000002200000022222222440000004400000044444444\r%550000005500000055555555770000007700000077777777880000008800\r%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB\r%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF\r%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF\r%524C45FDFCFFFD0BFFAFFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFAF\r%FF5252A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8\r%FD4CFFFD17A8F8F87DFD1EA8FD47FFA8A8FD16FF7D7DFD1EFFA8FD46FFA8\r%A87DFD35FFA8A8FD45FFA8FFA8A8FD0CFFA8FD29FFA8FD05FFA87DA8FD10\r%FF847DFD08FFA87DFD06FFA8A8FD05FFA87DA8FD12FFA8A87DFD09FF5227\r%F8F8F8527DFD05FF7D5227FD05FFA852277DFD0AFFA8522784FD06FFFD04\r%A87DA8A852F827597D527D597D527D52FD05A87D7DF8F8527D597D527D52\r%7DF8277DA884A8A87DF8277DA87EA8A852F827597D52FD047DFD0AFFA8FF\r%A87EFD08FF2727F8525252F827A8FD04FFA8F827FD06FFF827F8A8FD09FF\r%27F8277DFD07FFA8FFA8FFA8A87D2752FD08A87D7DFFAFFFA8FF7D2727FD\r%07A87D2727A8FFFFA8FF7D2727FFA8FFA8AF7D2752A8A8A9A8A8A87D7DFD\r%0AFFA8A87DFD07FF52F827FD04FFA852FD05FF7D2727FD05FFA827F8F8F8\r%FD08FF52F8F8F87DFD06FFA8A8FFFFA8FFA8A852A8A8FFA8FFA8FFA8FF27\r%52A8FFA8FFA8FF527DA8FFA8FFA8FFA8A87D7DFFFFA8FFA8FF52A8FFFFA8\r%FFA8A852A8A8FFA8FFA8FFA87D2752A8FD06FFAFA87D84FD06FFA827F8A8\r%FD0BFF7DF852FD06FFF827F82727FD06FF52F827F82759FD07FFA8FFFFFF\r%A8FFA87DA8FFFFFFA8FFA8FF7D27F8A8FFFFA8A8A87D7DFFA8FFFFFFFD04\r%A87DFFFFFFA8FFA87D7DFFFFFFA8FFA87DA8FFFFFFA8FFA8FF7D27F8A8FD\r%05FFA8FFA8A87DFD06FFA8F827FD0CFF52F827FD05FFA8F8F827F8F852FD\r%04FF7DF8F85252F87DFD06FFA8A8A8FFA8FFA8FF52A8A8FFA8FFA8FFA8A8\r%2852A8FFA8FFA8FF52A8A8FFA8FFA8FFA8FF7D7DFFFFA8FFA8FF52A8A8FF\r%A8FFA8FF52A8A8FFA8FFA8AFA8A82727A8FD08FF7DA8FD06FFA827F8A8FD\r%0BFF7DF852FD05FFA8F8278427F827A8FFFFA8F82752FF27277DFD07FFA8\r%FD06FF7DA8FD05FFA8FFA8FD08FF7DA8FD08FFA87DFD06FF7DA8FD06FF7D\r%A8FD05FFA8A8A87D7DFD06FFA8FFA8A87DFD07FF272727FD0BFF52F852FD\r%05FF7DF8F8FF7DF8F827FFA8F82727FFFF27F87DFD06FFA8A8FD04FFA8FF\r%59A8FD06FFA8A8A8FD05FFA8FF7DA8FD06FFA8FF847DFD04FFA8FF7DA8FD\r%04FFA8FF59A8FD04FFA8FFA8A8537EFD07FFA8FF847DFD07FFA8F827F87D\r%A8FD08FF52F87DFD05FF84F827FFFF5227F8522727F8FFFFFF27277DFD07\r%FFA8FD06FF7DA8FFFFA852A8FFFFA87D7DFD06FF7D84A852A8FD04FFA87D\r%52FD06FF7DA8FD06FF7DA8FD05FFA8FFFF7D7DFD08FFA8A87DFD08FFA827\r%27F82752FD07FF272752FD05FF522727FFFFFF27F8F827F8A8FFFFFF27F8\r%7DFD06FFA8A8FFFFA8FFA8FF52A8A8FF5227F87D5252F8F87DFFFFFFA8FF\r%5252F827277D527D5252F8277DFFA8FFA8FF53A8FFFFA8FFA8FF52A8FD06\r%FFA8FF7D7DFD07FFA8FFA87EFD0AFF7D27F82752FD06FF27F87DFD05FF7D\r%F852FFFFFFA9F827F87DFD04FF27277DFD07FFA8FD06FF7DA8FFA8A8277D\r%A8A87D2827FD05FFA87D7D7D2752A8FFA8A87D5227FD06FF7DA8FD06FF7D\r%A8FD08FF7E7DFD08FFA8A87DFD0CFF52F82759FD05FFF8277DFD05FF5227\r%52FD04FF7DF853FD05FF27F87DFD06FFA8A8FD04FFA8FF52FD08A8FF7D7D\r%FD04FFA8FF527DA8A87D52A8FFA8A8A8FD05FFA8FF7DA8FD04FFA8FF52A8\r%FD06FFA8FF7D7DFD08FFA87D84FD0DFF52F852FD04FFA827F8A8FD05FF52\r%F87DFD05FF7DFD06FF272759FD07FFA8FD06FF7DA8FFA8FFA8FFA8A8A87D\r%7DFD05FFA87D7DA8A8FF7D52A8FFA8FFA8FD06FF7DA8FD06FF7DA8FD08FF\r%A87DFD06FFA8FFA8A87DFD06FF7D7EFD05FF7DF827FD04FFA8F8F87DFD05\r%FF27F852FD0BFFA827F87DFD06FFA8A8FD04FFA8FF52A8A8FFA8FFA8FFA8\r%FF537EFFFFA8FFA8FF5284A8A8A8FF7D52A8FFA8FFA8FFFFFFA8FF7DA8FD\r%04FFA8FF52A8FD04FFA8FFA8FF527DFD09FF7DA8FD06FF27A8FD05FF52F8\r%52FD04FFA827F8FD06FF52F87DFD0CFF27277DFD07FFA8FD06FF7DA8FD08\r%FFA87DFD06FF7DA8FFA8FFFFFF7D7DFD09FF7DA8FD06FF7DA8FD07FF7D27\r%F8A8FD05FFA8FFA8A87DFD05FFA8F852FD04FFA8F8F87DFD04FFA8F827A8\r%FD05FF27F87DFD0CFF27F87DFD06FFA8A8FD04FFA8FF7DA8FD06FFA8FF7D\r%A8FD04FFA8FF7DA8FFFFA8FFA8FF527DFD06FFA8FF7DA8FD04FFA8FF7DA8\r%FD04FFA8FFA87DF852A8FD06FFA8FF847DFD05FFA8F82752A87D7DF82727\r%FD05FF5227F8A8FD05FF27F87DFD0BFFAFF8277DFD07FFA8FD05FFA8527D\r%FD05FFA8FFA85252FD05FFA85252FD07FF7D5252FD05FFA85252FD05FFA8\r%527DFD05FFA87D52A8A8FD08FFA8A87DFD05FFA852F8F8F827F8F827FD05\r%FF27F8F827277DFD04FFF827F852A8FD08FF7DF8F8F87DFD06FFFD04A87D\r%A87D52F827FD0852F8F87DA8A8A87D7DF8F87DA8A8A87DA87DA8F82752A8\r%7DA87D59F8277DA87DA87E52F827527D527D525252A8A8FFA8FD06FFA8FF\r%A87EFD08FFFD047DA8FD06FFA8A8FFA8A8A8FD05FFA8A9A8FD09FFA8A8A8\r%FD09FFA8FFA8FFA8A87D5252FFA8FFFD04A8845252FFFFFFA8A8A85252FF\r%FFFFA8FFA8A8A85252A9A8FFA8A87D5252FFA8FFA8A87D5252FFA8FFA8FF\r%A8FFA8FD0AFFA8A87DFD35FFA8A8FFFFA8FFA8A8A8FFA8FFA8FFFD05A8FF\r%A8FFA8FFA8A8A8FFA8FFFFFFA8FFA8A8A8FFFFFFA8FFA8A8A8FFFFFFA8FF\r%A8A8A8FFA8FFA8FFA8FFA8FD0BFFAF7DA8FD36FFA8FFFFFFA8FFA8FFA8FF\r%FFFFA8FFA8FFA8FFAFFD05FFA8FD07FFA8FFA8FFA8FFFFFFA8FFA8FFA8FF\r%FFFFA8FFA8FFA8FD10FFA8FFA8A87DA87DA87DA87DA87DA87DA87DA87DA8\r%7DA87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA87DA8\r%7DA87DA87DA87DA87DA8FD04FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFFFFFA8\r%FFA8FFA8FFFFFFA8FFFFFFA8FFA8FFA8FFFFFFA8FFA8FFA8FFFFFFA8FFA8\r%FFA8FFFFFFA8FD0EFFA8A87D7E7DA87D7D7DA87D7D7DA87D7D7DA87D7D7D\r%A87D7D7DA87D7D7DA87D7D7DA87D7D7DA87D7D7DA87D7D7DA87D7D7DA87D\r%7E7DA8A8FD48FFFD37A8FFA8FD4AFFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8\r%FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8\r%FFA8FFA8FFA8FFA8FD48FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8\r%FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8\r%FFA8FFA8FFA8FFA8FDFCFFFDFCFFFD4AFFFF\r%%EndData\r\rendstream\rendobj\r1925 0 obj<</Length 65536>>stream\r
-%AI12_CompressedDatax\9cì½ý\92]¹q'ø\ 4÷\1dîþ¡ØîÙéòÁ7 \9dØ\88*\92íѸõ\11\92ì°Ã;ÑA±Ùm\8e\96MÚÖ¼Ñ<ǼØæ/\91      àà ªn\15Û»ÚX÷µÌºyq\90\1fH$2\13  \9c\9fý/¿ùÝW×ß½ÿÃë¯ÜÕv>ýìgÏ>¼~ùñý\87\9f\9f\19zþÅÛ·\9f~üø\ 1 /~ûåÙØ«\8d\1a]ÿ"\7f+\rÿîõ\87\1fß¼\7f÷sþéÊÐ\8f_ãé/~ÿO\9f^\7føðçó__ÿö÷¿øÝ\v\8bo~ýÛ_\\7fI-~ÿæãÛ×Ôæw¿øå_ÿö\17Ï¿ýæý\ fï¿ýÕÍ\8fïß¾¿zùæK¥\82º}þò#5´é¯6ÿW[<\eÿó\90éç\9b÷\9fÞ}÷æÝ\ f7ïÿõçç¯,ýb½;çÍ\9eC)ôû\7f~óÛ×?.\e]yë2µ4WÞ¹HÍóUÎ9Ñ3Ïß¿útûúÝÇß|xÿêõ\8f?>#b>üøóóÍÛ\97¯þx"\8e÷_¿yû\9a\98»}ùñ\9c!\86ë_\18ûíͧ7o¿ûÕ§Û?¼&®í\16\0vßòÓ\7fûãË\1f\88\eàôí/n     ò»×\1f?\12YÔ7Dùì\97ÿð7ÏHÄïo¹\1d\ 1¯\12ýÏDý\7fÖ\9f¿¸þï\9f>¼>ÿwû¯\90Íÿv6òùâ\1f\7fûú\877<<$«ÿZ\7f¤'Î[ýÿô¿/þùõ\87\8fç7ᄃ¾_ÿøêõ»W¯Ïî_íö¥ \1e¹ý9wJÏ\9e¿¸yûúÓùû÷ï¾ûñ|ûòÃ\9bw?\9e\7fxûþ\ f/ß*þ­6{öç\97ïÎ\7fúôa÷+~A\8b/þËËOï^¯~¾
-ÒàÓ\8fÓO\95\80/~ûþÓ\ f¯÷?]eíöïÀQû\8d¥ýáý\9f\88Ì?\92H¿2i#})u\9cS\f2ÎÑÊ8£ýï_ßþé-i\16k\86%\15\bgo·+G\r¦¯Ò\9e\ 6^´(¤«-;¢\7f»ÚB\8cç\9cÝU¡qÊÎ\ 1\ 3]\97^ÿó\9b×ÿòóó¯Þ¿{]\95èúÃÇß½ùï¤\16Å1mæl©\v\1f}¬¿ÿöÓÛ×\1fþöÝ\9b\8fÄ\8c\ 1¨Teúåûï^¿%j[/_¿}É:Ôä-ÿ¿6øýË\ f?¼þH³àýÛO\1fy~æM~"eýæå\9f_\7fè\b~ý§×ï~ÿþï\98Ò¯\8cÛh\14\9c+,°:X1z¢7\9dMf<$X×\10òÿjÏè\a½h÷\98V¿!\8dÿõ\877?¼y÷ó¯\vç¯\9cµWÆl¾Î\88¿þðæ»>!\92Eßø\7fÌ
-Ƽý¯èÿ*ÍÄþÇ\8f¯ß \ f4\11\9fýr\98XÛÕ/\7fGÈ_¼ûîÙû[\8cÄ\8f°\1a4YÞ\91¿}ÿCý­ýÍ¿Ðã\9fþT\19áïßÒ ý\86t\1f}\9e~Å¿äo\7fóö\13ýô×\1fÞ\7fúÓ/Þ}ÿþôE5\93¿ÿðò\155;ÿú\ fÿíõ«\8f_BI_\91q|ó#ÏÌù;\19¹?}yo\7f¿{\ 5î>\9co>|úñ\9fο\7fÿþ-õA*@Êq~ý¯ô\vM¬Ú\12\ 6éõù»7ß\7fÿéÇ×Ôh÷ý/\bÑo^~ü'2¦¯É¤\1c1<ÿ?­\89?|xù\1dþ=\7f÷\9aL\ fuþcÅLÍw¿ÿx\112tüëw\15를½>ß¾ÿøæûÆÜË\ f\1fɺ¾ù¿>]ÆßÿÓ(É\b\\80nî·     õÿ\ 3\b\9f½|ûö\r\8dû\9fþéÍ«\vp¾êÍ\8fx÷?>\8c\9b\f\f­¹õGt\82¯ôï\7f~ÉNÊCÓêÏ·\7fxÿöÍ\8f·ôDû»SÔA\ fwõü5&C'd©M/Þýóë·ïÿô'tÞþ>¿þxæ\19ó=;-\ f\18\1e\8cë÷oÞ}GÆàw\9fÞ|\1c\ 4÷þöOï\7fD?\9d\81\17\84ý\1dü¾s\7fì\829òöå»\97\1fÎ\f?rò\9b×dkáç|÷çw/oy\ 4¿û_\15á7oþ\19s\8cZ44á[2á£\91þê«{¬w<ß¼\e~þk2&oh] /ôúë¯^¿ûêÕ\9b×oÙåùôåi\ 1£õ(\9do¾;ýãé?\9d¾þúë\17üyN\9fgô¹¡Ï5}
-}2}\12}"}\ 2}<}\1c},}\f}6|øqü÷\9c>ÏN/\9e½¸áÏ5}
-}2}\12\7f"}\ 2}<\7f\1c},}\f\7f\17Ûs¦\ 1½<Ç\7fÏøssz~C\9f\14þdú$þDþ\ 4úxþ8þXþ\18þlÏ·gÌÔ³\17üá\1eOôÿê\7f7ü¹æO\91OæO\92O\94O\90\8f\97\8f\93\8fÅçÄÿ\98á³\8d\9f\9b¯ëçô\7f\90¸ó\96M¶ôqÙç\90cNä\99\94|\9do\bís\12Õ×e+¦Øâ\8a/¡Ä\92J.¥\\97\e"\ eü¿(__o×æÚ^»k\7f\1dN×ñ:]Óó×åúúú\868yNrÿúf£\8f¹±7îÆß\84\9bH\9ft\93oÊÍõ\rþ{F"}qó5Óg\88vG,\81½ø,\9d\98ÿB\12¹a\19='±\91\0I\94\86\ 5ëHÐ\10\ 1ÀP\14\1e\9a\e\96ìs\1a9\1aA\1aK\8c¨å\11ö'\1aêÀC\9fX\15 \12׬ \18\92ç¬9¤A¬KÐ)è\16t\fº\ 6\9d\83îA\a¡\8bÐÉrbõ¬2­£[\15ç\85|ä?\12÷F\1fsþÙ·7\1fN\86d¿m\9bÙìæ6¿\85-niË[Ù®IRÏHO^\10öÍ\18c\8d\ 4\13M2Ù\14smnxL\9f\13K_ÛÍ\1ak­³Þ\ 6\eO6ÑH\16{moH\ 1\9e\93.\7fí¨wg\9cuÎy\17\t\89üÄâ®Ý\rëËs\92È×~óÆSøæ½\ fð\95}òÙ\17\7fíoN¤ZÏyr|\1d¶`\82\r.P\9b\10B\f)äPÂ5}nh¤\9eÓ4\82l¶h¢\8d\ e½Drác\8a¤R±Äk\8cx|v¢    ò\82\ 5¸%\93\88Üä\12¡K!Å\84ÿr"ýJ×\89\94\83õý9ÏS\b\8b\8f\15\17ª«Ê\võ\85\ 2C\85¡ÄPc(2T\19Ê|Ãóè9«ô\v\1eº\8d\15\eª\råv'Òoh8t\1cZ\ e=\87¦Cסí7<\1d«Æ¿À¸\93ÖCï¡ùÐ}h¿\878h\ 2`
\93Ì\ 2Ì\ 3Ì\84\e\9e×Ïy>¼`\8d©s\ 2³\ 2ó\ 23\ 3sCg\aæ\af\bæ\bÏ\92\13\9b\87ç<U^°²Õébxº;\9e4:m"[\8b:s
\93\9b6\7f\9e³é!5=Á\1e±]ª\13ɱժ\93)²E«\13\94Nªçl\12ëÄÒ©Å\93ëÄv4´é5N°q\8a]<ÉNm\96é\14Óé%\13\8bµB\16\8dç¼X\ó2\91x\81ð¼4\18^\12°\1c<ãU °ý\8f\1dÛû\8d­<,ü\r\9bõ|bk\1eØ\86Ãvol±\9f³\89¾f£\9cØ\b{6¹\86\v\12Ð3\1a¦k\1a±L£\17i$=\8dª¥\11ÞNDÿ\v\92â3\1aËkR\89L\1a\12IW<é\8d%\1dÚ\88Ç\17$ég4Þפs\99ô/\92.zRMKJº\91\1c^Ðh<#\9d¸&ÅÌ'ÒðHÚîIó-Í\82\8d¤õ\82\86ì\19)Î5io¦Ù\14i^y\9aa\96æÚF\12}AÃú\8c\94ë\9a4<ÓÔ\8c4E=MVK\93v;\91Ø_ÐØ?#\r¼¦i\90i\86G\9aé\9eæ¼¥¹¿Ñм ýxFZzMS%Ó¼\8dd\f<\19\ eK\ 6d£á{A:ô\8c\9aæS>\91­\89ds(\ e'ûC\91/\8dñ\vR´g¤î×4é2MÿHfË\93ù²dÆ6Ò\83\17¤\8cÏhJ\ÓÄÌdð"\19>O\ 6Ð\92!¤Ùÿ5\16e¬`4õH$d1#YNBMVÔlÕD4\ 3±ml_aaacaeag«¥\85­­Ö¶ÚÛjqÕæV««vW,ï©\19ßçÍø\8eæ\97\f°ØßÑ\ 2W\e¬\16xg\83O\98ó\a#¬f¸\19a¶ÁÏ'\e¼´À§\9d\ 1Vó[\8dï³jyÅîºfs³ØÛjk«\9dýO'\88Ê}-\9f\17ò©þ\8cº\1a\1c\e>Wø\ 3+\9cø\13ù\13ø\ 3\96ÜÉ9Ö\ 2è\ 1><\1e\98ó,¡ê"=c͸aí¸f)BG %Ð\93Ⱥ\ 2m\81¾¸\93­ÿ\19(\ e«Î×ÕmãÁyÆJ\ 45\82"\15V&¨SâÑ\f¬T¾R\82\ e0à'hJu\1f\9eWW\89U\rÊVXa\12«\d5b\19±êYV³\8d\15Ðt\15Üx\95º`^>03Ç\89yzÊÌ<\92õ\90½¼ÓbÎ6S¬æ©\9a\84£ø¿b9\aÛ©ÖSí§ZP'Þjµ¢lGObJ«1­æ´\1aÔjR-/\9c\eV\ 5¶«Ïyq½\11ëZxéMlc«\95õ'ÖTËÆÖð\90~Í&÷\ 5/éÏØðÞðR\7fÍ\8b~f\13\9cØ\fGv\v<\7fª®\93j\9eªb\95ª\e¼N±kñ\82\9d\8cçÕmgÇã\86]\90k¶Ûøè\7f©}ØI:±=×\8fo\1f7|ìô1\87ÏÖ?§ñË]\9f½nüãi»J¡e<Ãv.å*m[ÄÏ¿;ýìÛ»~¾ù\91º@:³þâÊÕFóõ\9c    ärѧïkR{\90\1f}8G{E³d|ôø\e=S;4J\8fOWqó¹\93»ü\15Ï!\83\1fô§xEÓÄ\9fÝ\9eÜ{ÛH\1fígsEvÀ\9fM¼ò1\99±\8b»\9ap\ fF~´$\ eÒ$ú»=yü\89\9e¸yÞÂs\r³×\91÷ÍÛ\97ï^ýÇó¯Þ¿ù@1÷ø\8d:²»hûß\1d§\7fw\9c¶f\0H=hª\10tÐa\85È$\r[×Óöý1ÊùìÏoß¼ûîÃëóëwç\97¯Þ¼\86\8a\1eaÔiùwEýwE])ê\7f:qDY\136_s\14i9~Dì\989`¼áPñE\r\12õ©\9fÂEæ¤\83äËN\8fL\98Mé2N\15ì2e§)QÖÓd=IÖSd\91£|Í\8eqnL2c5/FaüI\92b7\9a\10ã\98\1dñzÍ\83%\ eѯG!U\8d       ;Áí\95ó^ݼH3OU5G\14\1e2\91\8brd\8b\fÙ2AFÁÙi\99\1f[eÇöaÙ\9dAÙ©gÅ>WßF¾ÿÝ
-þÿË
->aaNå\8ap\94iyV({ÌÅDbK~0W©t7{ý#?\ 56m¬?\90\ 3NSÅ÷§V?Ö§r&í¯?\ 4\7f\87á©Å\8fÕ§\ f\98\bõ\a
-\14\ 2\83K¿ø\91\9fò\85\94\1fld\9aúS«\1fù©ÍÓ Iwä\9aÓô\1eÂ\87Õ\8f?\95\13\ 4gü?\9eÙ3?\ 3\8a\92\9b\15\10!À¿»Aÿÿ4\0\ fûë÷©âC&ãbUýÛwï^Þ¾þîü\83\80ÎÅ\91®® Ô¿WeåìÜC\9fã\7fn÷ñýsâ\f`\90\ký¤ö©)\91"\1fNõH>±î\8aÖ,ã\8b\9a\93åý\86íÄ«¿áô¬å\14¥\97$mà\ffbw sÎç\9a\9d\ 2Ý6{Î\19ѯÙ=¨\ e\ 2çnOÞïvÑ2'\8dà-\fi\ñ\19öÛiê9\14\8aópB¶q±§V\16>ÄC^+ûV'8W\9cãÝ\1eó\9f¹÷Ã\99ðSý§}Üáãw\9f°ûÄá\93êç$Yú,¹zý\·Ï\8d|úÞösù¼¨ÙüúQ2OÆHr¿~\9c$ù=;\8fA\92ý5á\9fØ\95ÌìN\16N$_sJùF¶Ôy\ fàÄ\19çº\81U7\ 3T£»îveU%í
-ªÊ©\8aùõ zùøѹà¿\7fã\ eï×\8f\8b>§'>hïúÌ
\98ÏQyésâÿ\87Ñ\91½\86Ïý|­\9fSÿsP§ãçaó)fót´\9e¢\8b³\ 1\1dMh\1arËeoJOÍ\9av\8bª6U­ê`Yåc\ 6óª&V\8cìIìl\90Ý¢$\9fÜ,n\91Ý¥\9bfw\9fÉ\1eÔ\vµ¾b\7fa\81Í      \1c"\9d­ÁÒCëöã\96í:î}ÿ¨ï\1dí7\8eú¶Qß4Úo\19µ\r£:Ñ\1f«ï÷ÏJtÙ6Õ\8e[jy·¥¦\ej¼¥ÖöÓ¦\1dµQ¤\ fú\\ fn`í\1d®Ó]\1eWåCé¿`Cðnúû\8eài·)\98û¦`\1d\88q®?ÝrÜa~FC\al\ fì¥\16\99\ai±£\1aÄKqmSÕ"\831ì¬ÊÞ*ï®öáÃæN0%àðC\8eØ\8bÙh-ä=\ e
-øÌì)^Ò\96\ 3(cs¬»3WÆ\84D¿Rܸ\19ìÓ ~¤P­uùpSîÑ&\14£o9á\8cƶ\ 5Çdà\8c\8aDo4\91\860ò²æ5DÌà\85<%Ç,QäH\8f\93´\95¥«\98¼\19\82Æ\8b\9a\7f\9e\97\9e´ßyÒâ\80¬>7çWüI½á~¥é\8bÈ©­\1c{G%\1c\1c\95¥\9bÒêÊ\8cºÍ'I\9fÅæ1w\7fY|åæ)»C©Ù¢ÎátȪåæ\e\8fiµ;\12k\ fùP\97¹\12\93ûzZú®\93×:8­³ÃºwVÉM=5OõÅÎS\1dÝÔî¤\8e.êÞ=-ª   §Ñ;Õ\81o\9eC\1fñÑ1\1dFû/Àóü7t\14ï\1cëÏq\14ñ8{\ 6é¢ÏbǾ}Êø9\r\ 3\84\1f§ü8í÷\93\9fõà´p-Wnä1ò¾#è>\rîâ>ê¾¾×K¬+Ó×ÿv\9e\9aÝNc\86evÜF×mvÞ.®ú9u/î©~Ü\ 3\1eÝnÚÌnÝìÒÍ\ eÝè\ e\8dÎЮ8ê$Ù'v\82ÆáøÜ\94Ý\9c±;µ\94Ý\93\12vG÷ñôP®ºX£cµ*Q\e
\ 6WêX\9f&Rßû£+\7f:Ê<¹Ï'í\ 3ñüÔÆb.UÛù¥=e²\8cJ\1fû9M\80\9fØÑ=¸»âð²°-\ f\18>\e\ fÛ×<t/xø\9eËY\86\e\1eÆk\1eÊ"EP\$Î\ e\ 3\90d;U'\98MTÍál­j±×+vÿúîJEQ\83ÓCz°÷¤½ÍìgFãÙë,©úÊváI_жzÒâ\eo\85~\88\99\Ú@\1e²»"­\1fÜÝ{[]à?{{eÜX#uYsî9\ 6\aöÌ\89áoÎ\ 6\7f\87\ 3}aûû<èÇ\1c\ 3Âõ(j=2\88Z\13\9c\9fÿããû7oÿçÿ@\9dÉî;\8eÖ\elBY\12 1\14\92 Ð\8b|ϳ\89\89 ´ÎýìÛOR\8fUKÐþþÏüõ¿Ð\9fÿ\8d\80ÿBnú/Ïÿø_·ów\fÿûß"\v?õz;À´ãó7\0ÎèöP}þ\9bE\9f\80½c\94¿®;w¬¼8ÅëÃVp¬\17.zâÐe#SmÏ\7f\u}{G×\9fKî÷\95(òñ7èU!k\1f\10\bg\1d*Vée¢L¸\8a\9b!\8d\8bîjó¤\8fL\15\91@+D 1ñ\14\84\91¾¿\ 5ts¤4.\13\94~¶9T(©R¦¥ãl<\11¦@L\11\97®°äK+
-\ 6\1dðxwåh\r©P"\9bb\a\9cÌÎWÖ\84,P#x<Í12\13\ 2Å\84\ 3=S\\94nËU\8a¬<\9eÂØ \84\1e\98z+b\ 1\11ÿF\9a\01
-·áÊ9zÖ\84\80¹\9c\84\85tå6\8a\9aM(5ôTn):B[CSUÉØìU$©\12ÅØL\95\964\8c\82|4J\99¿*4zÄp¸Â´W&¨\15\87+2Ï*\85t\95\92ó\fÍNY\83lr\b\8c\9f¢3Ûä¸cKùM\81\86ß\13\ f\e\89\87p0¿\89\88ݨ\8b\82~E8Ñ\93ªÆ|.\10®¯\12O\86x!\8b\99\89\7fA\14\vIÊcS\9b¼³Êg\8a4\ 2!\9e3ÑNCÈ°LR /h\97i\99®0K\18RFoÉmÒ.\93\860!!*\bæÕ§sA­¦­Ä\1d¸Pö2\14\92(\84üiõ\b\95=\1aüXʹ$ÒxS\a\93æLô\16=Ð|ØDÏÒFúJü\17\8bíå*´hi\12G\anÈ]ªÍì\15D\9b#\92(\8d \9b½='Òx_\15\ 3\973`\9b\9b\9a\91ÿ\90\95=³E\7fÎÔl³M
-´þ@δ~
-læ¢i+õ\99¡\ 1\ eZ®ÚJêT¨7\83ôJPe#N
-òC°\ 3^t\82d\8bv4óBr\15U¡v\14]\13*så\8c´´[\1d\11Öm[*~ghèhñ\ 1Q\ 1\14sËLó\ 3\13Ó\90lKí\123w£\95\ 4ôl.Uzl¸J\96&\a\94Ø\95Mô|fGù$\\86§«#\19\17\92þmmMë+M4F*\93"Ñtö\ 5Ó\87ô58\99©¦ª
-æFI2â´j\10<Ð,®mH#ɽe`Ö\915Ô3T²\14¤\98*ÌÂ\8ed°hiúÉ`\90%K\9eeéhúÊP\12]qK\909I(È\>°Ò-\ fi\99!e \7fa+E-OºÊ\14ù\9dÉÄ\90òÈd&-/4ñPø\9c\93\9a\1d\12(ôÅ\17Òߨ@RV,ì$\f.\1d©Ãîky7ÙÙ\10\85~X\e\v­\84Õ   F\86\83h-\96æB \9b¡\r\f\83H\ 4Ñ?¢\¨\83Ƶ d\\92õòôÌOc\94¨áÛIÈV\ 4[d0-´1#ÙXp\85\89\9aRG#AsÓaýPûÈ\85/d\89\1dYî¶îм8\93!;=Ls
-hÉ8Z«\83L
-\90\1d\8e&RkIãDþd9{\1a\91-t>7$\17iÍ"\17Ñv\81\7fB\9e\9bÒÎì(\9fX\86I\17
-A\ 64\ 6øXÐO²±^\ 4\f\14°\9cÑ?\99±¤\ 6×\93WÆêM®y\859Y\a,4ºHCZö
-\96!\eê
-ÊóÀÕ\11\81\·Í\17µ×uvbƤͩ©ÊQ(ò²´\91ás\ 6Ö\82¯w\91¹}৭!4\11¶Ì\1aͳë¶6v\11\8b±\83÷k²ÚNRýªû\14\89\ 4å©d\18\17\a\9ft«J\1ap?\11\96\fYG"\ 6\92Y¢q\8abh      \ fÍX²Wd£H2N\17¡B\83Ç-C\94%\aV?À2XÜeÓ\16°\883\12À]\8chóÌNÓ[\98D8&è\81\1có\\15wc\8f\1c¤\92'$
-I+\8b\8c\13î¸1\95'2"±à\90\ 1\94Ð\8a½\82ea\9f\9bL\8dUW\88\10ñt\ 5SÎfu!ÈBñr\ f«dT%IõQùĦ-\17\9d\ fA\9c\1eÌu2©Í\aÉ´¦0ÔE\9dP\a®:¿¾.â¼\90¸"\9e\1fµ·\811\92QqY\96\r¬Ó¥°\ e\92 £òæ\13Ûx\87¹$\fÓò\87m\vðFóS9ÞT`dA6\e\eiä¿:^MÈ6w6¢5µ\ar\9d}c9²rÀ'q¾ \87í7(°®\89qÏU7Àd>  \8c\1e|µ[q\9cxí-¢¦Õb\90ª\82\,ÒÅ«ãE\93\93¬í¹\18ÄV®\19Á\80ñÍpT½>\1e\88[\1aß\82ÀS\17hõæ¨e³\ 1 ±\90¬\v4FG\9c\8c-»-ðIJɭ!Ò\82ç\ 2ÇjÓ\96\13C\9dS8â$\ 3\1a\fV©[i\9d0°Ô\85W½gµÂÀ\16,/Á4¦
-Åüð\8búZC2±\99\16\ 6bÊ;\1dAH\8f\ 5\85£9Ñ4²"\86\95½\9eÒ\19\ f-Sh¾,ù½4¨ÄþFæ®É\89ÝDb\7fpý'\86\9aã\80å\8cÖ \18SÒEf\14\8b!&l\84\87ã\9b3C£\13°\80Eõá¨\1d\8f'Ù"Zï+\97°f\18N¬>E\16T,ä¾\10\8c¢\99"<\92\89äÁ¤v¬=â#\14\92$\19{Vj\80üV\872Bi}Öf<\92\11\v­\8cùÌFc/W¶É\86²§q[Û¦XÙ˺@\92i/¨1E´\93²QVx\10#îZ\13\8d!1ð\18\12+ì²\8b\18X4\ 4ãHLè\89\81\fl\18\16\9b\14Ã@\[\96QõPð\ 4\90Ë\12#\12É<|\84Ö\95\18\14¶cCÙ#ÿÆå\82(\r®ÖV½÷\0O\85ã«\82bÖÊ Å\9b&eDy4Xêó"â\837b\88tgd\19\b¾®h\88\12\93\155'D´XE\8eï²\915\1c\1eÎ\ 6\93\82G(J×\85)8k¹O¯ö\0n\ fÌ\0H¢ÐO°\93¼\ 2¼?\ 2ò\1foW\1c5VK\9d¢\ 6\ e\90Ûê"J­qX\81\83\16Z\10Ý\1e©\e´¤qsÊU5t OgEàuÆqÞ¤\r    q(\92\82ÿé\1aY\86\97&êÜ\88í!úc\bõé\16¥\83S\98\17\0\13\9cz\95        \b¢\7f\93zZ\a~FF\ 3QMc\1e)Ô¨|ÒÌ \7f\1fÎ'Ï.á¨x\9a}¤~ì±   I\1e\ e¯\83¥\95è\ 2>0é\ 3\8eâE\8a\v\15\ 2¤ÎIPÃõ\88\85\9b\r³\ eÃFݹ\98¬z#ìªã\96:+a \e\ 5ROÌ,¯<Ol4§ÏpÔN\93\81º­MÙ\15\83ÓcdRadÙÝ\86\15ÆB%àO"\ 3 ã\9a\99\11\16\90\82±=Äf­wõ<b\909OTá\86§»\89³\11]\8d\83\bÖ}2²\82\14\95q\88 sobByÃÝ\7f\92½":3þ \88\96\ÎóÆ©"X\19\97±\88\17X½:¶ÎÔè\10\8b^.â\19\90¹æ\80\1aÀfÄá\83ÙX\17ë-\9b\ 6\ 2§'y\91\8aòëêZ\9fd]pH\a\ 4\84e\b\v½\9a©P\eÒ\ 3\199Z\11\97ú!\ 4ÕµÂ!o\80\99\86eHÇóÀÏ \bG\1d×¼©!K\89\94Y\889:\95\ 4\r/-\82ìhÇH\ 2º­Ýevýá\95V1\90\9en[uñ[°Ênpª^\1a­\rV\ 5ÆÖ\92³;\1a6\90hÉ0\e\ 6&ñB\10VDSåÅѱpç\ 3g\ 4ló¦\1d\82\1e\93\19æt\ 4H^N\1cÄ\84ôÅÛ\15/\97ª\83ñ\b{IkI;i}4\92\9c \9fÎaM \14\9b:\14H\ 4F\1azdî4ô¦µ\83Ã\rX1](81\80Å
-\99DUtà)Hd\ 4d\86Ô!ò\91Õ\80\1af]¨\91'#8-e¶G¤HJf,N<Õ$Ù\85\94\1cÖ^\18¡d;\9a\1d;\17k\ 3çç"Ù(دԲ4\14nùê"47\ 4ümÔ\ 5Göj\92       \9bàt¸\1eßAd\eÎ?\10Ó¬\ 4oOCÐJÀ\1eÚ{¤ji\16\90DʶùÆà\16I.Ô27ì$\8a\14 pãG\91ÁÎ\ 5\84qmh&~.Ö\b+\8b'\85r4(âwR£\8dW
\b6\116\19ýRxMÁYtY'iqåá«ë\99\f\15¹\16[B.ÜÓÏ)©BÑS¡®gÍóàT
-\14y§'Q\ 2\17¬Ì\9a4Fh\82ð´®»"ðPÓ5\86\97@\8dÔf\86.×       ,e0Mpé¢fú]´uÉl©nZ\13,Üa$ª\83\97ù\8cµuÃm¬p¬Ô¦zÎÅ:æ¹X\1dª\8dÅS}\98\9cÕ\85¦çaa<\12gm\16\91»\88°7ø:\17E\10®\8a\8c&BL]dl§      {³E\13?\97jDFLlkL+\19\12D\ 5X\12\90J³IündEÙkÃuË\1aHä(»\0[é«H\ e\95|NK\ 6\82¼e@v\97F\19\8e4\ 3\89§\fÜ\e´E\96>\8a*\ 2<dôéÔÝ¥ø\89#\ 6\90ÄÉ;\ 6Z\89\9b\r"Ä\\11Mü\¬\ eE\12t\88t=u[%\81\84\12n90\12\890\ 6²L\9cvEÖ¶¥ÓÉFÇ\128yÙ\\99L\7f'\1ar0]6    ÿ2,-\1cÅ-õ\80\14ùû\14='}[^\88\82.¬ÐÔÎ{      ²\v\ 6\99%\ 6\1fÄu\89q\1a\96p·õêÀÏå&ÂÖ\88\11ÆÈ\85¬±é&Û@\1eÁ¿Ø&\92\0§æ8'Ù\95[|eØRc4êÇ\ e
\16¹\ e$ö¾¹Äv\ 4©\9e¬jÁ\ 1&\14\a\89=Þ:«ÐPw*Ðm\131<\ 3ö®Ø\9a«)ä¸;òf\ f­LmÏjfìr[A\ e\ 2P\17µ\ZÆ\94\17\97e¯YÏ\³\9d°ÑΪ9Ä&\18&'Ö\ag\86\8c1|P,%-<â\ 4\r7\f|ìi\f[bá$a_\98\88O\ e\96cN\95       ïJ#OhtbTù!î \1aZ¼yä¬\vå²íÉ\ 2%\8fØk7ðþeÚp\80M.\7f\9f5r\ 3:\19ïæLddÜ,ÇíY=ä\8c\9c\1f\19
-\\bbd£\ 3\13Á\16öXZ\ 6¨Äº¥\89=6õCJ¨8È,\92ÀÅrÀ\1eTZ¶M­·¯ë+\ ecªÇ=±¡R 4\1cOF\99ë·µ)\a?\9c\v\96H\ 6\9bQ\1e\99òÐço\86÷n8¥Ñ\82%2£<äØÆÔmÄ\8c\98\ 1.\aÔ!gµ\97\ 5\93\1e\9b     êêÐ<G\ 1)߶bD\87\90á\83ÕGüìD\ 5!\ 6\ 4|\88?¢,½3\1fÊ\1f|Kl\ 3bÉ3\b6ÙOvb\97\11é;Évp\12¼®mj\8d47\8dõ<kÆ\f»R\eÜZvpBËÐpN\89·\8b­ôHzX]~ïk\12\98\81\eçÚyïVf3ý\­p\bÕ.\88÷Ìz\ 2`Kö\1d¸Q6=¬2<\7fä\a¢æi¢d~!Ð\9cZ¸#\eè´¶b\8b_}z$:À½õ²øÙº³X×pe\1e\19\16'{\1eÕ©Gý-Û      \8dØ\91p\89l\8b0Wd:ÃçÅ~\r\80¼Ü5\81pb\ 1©Tq\v\ eü(£\98Æ\88¸i\19 ~71TØßÎì:EÌ8±ÓH\91ñ>9y\fE·btO
-"¤\0Ä5\ fV21\b\17Õ×M\92\87\86\8bhµW\14\1e@\8bëN½\b\10\1aR\15\06!ªË\82Þ \r «gÉ}©\89\1d@£/\1a\10L\8c5\8e\11\9eðÊ\84ÍbÝ\99ôQ\ 2OlOd×½s\83ãÑ&\92\80\8dé,\eÞy&9X¯yW¤É\90ò4uoHióõ¶~@ÉàºF[Ý\18\80\93çt\11ò¥zøìÄ\ 6ɾ£IÍ !©ÑRê\90\ fï\17\91t}\9dYë<\93òS\\8cx\ 4\ 1\85\11IP\9e\19\81\ 6\bq\93DÔä" F\15\99\ 5²êêÕ\93n#33ä\1cq\9e{#ï\83\14ZkK¬¯º\8f­«(«'ÂÙ\80\1cGæT\87Ø     xɨ²ðÍ\87%i¦3G2\1aþL\1c(gÖÕ]i5ÿ·µ-Û   z¾x±£\89\9d\bÞlm\89\14\14L! Ö\r\8d=\19\1a[ò$z<\86e\9b·d{à\85µ\9a\9cN\8bù¡{\fâü!\11µùf\ 4\8c\8cs\96Õ  2À\16\977Ýë\9fÙ¸ÔùJ¥\8a\85&\1f\a]\,\81\98\92ÁjÊì\13N\e9 åe\87a\115(g\9ei"¤P]i\8f\98\13¾RÌrü^\9ck\8b\17×+@ut\8d$/\97§f\90\80V×kl¼c\1dÖf\96±\85¡<dæáb/+\83A\83\90PlMÀ¢<\ 5«       \ 2NµQI\92)ÈzêZ\96\10E\92mEú4\b¹   Û\v\b»s«í YÆ\bNs-@\11z9Í\ 1WQSû\19»Ó´<{¹\88M¸ß°G\f\95Ë\83\94\90¯\81\1a\eIzÏl\ìxoØÒÀ\9a\90Q6\12bßÝä\80&a\16\8b\8b\9cu=Å\96wÐx!W¥\80\8dµEV^r\ 6\8ct\94ÇQ\1f­q¢\80$Â3ãÕS\1dDò\\1dn\99\80a\8fA½f\84¥ìvs¡V\9b\16!Us¬¶\r\95\e\15ê\9a½:²\ 5è×\97(\ 4Ç.\9c\84\80\9a9§û\9f¾*\98I\98Áâ\eYl%\ 2 é÷æ[´´ùZ\8eG6¢E§\9cyÂöÁ&Õ=äD        Ä\e­> $5vÃä)¥\17Ò±'Êq¿ke<¾\8e~]\8dm\93\e'{ÈÛÃRÔk"ö\1c=Z;\10ç Ý´S\ eØä¦\93¢\evp1\9bjä¾]ª\9aay\13ÃO\8a\81\1a\14ö\8aá°k¨\1aÐô¢\mm¯U´\ 2f2´ÀO\94Â\96Á\ 4ÏÜ\l$\9a\ 4ὸ\96Á\12\95pH¦i\84 *A¶:èæ\91h\84Å»sò^\1f\8d\13\9c\8e{mØ&5ðµ*qÒ\82«\9d\94X\v\10¨ÙV 8±p±\ eDl·\17ìÐö:PW+W²éU \9ec\ 6®\ 1ì5 d\13h        HȱêXÓ\9aG\83\14}·]\ 6k\ra@ù\89V\80\1c[S¨þÐ-Rì?\17TV\87n\1f9\97îð6¬^üi\rÞZ\ 4âzåçÄÄÅ#\8fl<¹Ù9õªÐX\13õÙö\9aP2ì\\12\8a\84\b¥u\90æeʽ\1eÔaù#\92PA©éI\1apOª\9cL\8f\9b\90á@\89\19^ã$Ó\ 1u.ØçÀ\1a¬ó\8b¯¡¤(\94\ e\14¹\røë)Wìo\ f<tÖ/¬\ 4Æö\11\af»jCN\87\1fÊ\rÉ[BÁá®Þ\907\12ç\82C\ e,P(4\16\1cÂ\ f=V\1c\1a\94*\1dJ\ eye\9ak\ eaà,²´»¢C¬WÉ"µ³«:<ðÕ\1c]B¸¨;ÄRt(<\84·¼Õò¨±ò0\84Eé!*T÷Å\87!¯ª\ fq\99ê\~\b\83~¬?4ÐñC\ 1¢IvQ\81xäêb\v\10\10Ç£Új\97ÀGÆx³S\ 6\1f1h­8\1dSø<ÚضØåð\11µÕ\0o\97Ä\ f\92¢Ügñ\11\19ÂpLiüm\91Ççp\ 6\ eð>\91O1o s&ÿÀÚåk\ 26âQ 2æòAF4S2\1f:b¹"aÌæó¦;²>»t>ä'\91ì\98Ï'Y÷¢\84\96óä\9cÌ!£\8f"ºCJ\1fDº*¿]N\7f«ûÝû¤þÄÙ£-F(\8bH\11É"ä¿ÆP\9133\84j\17,"ÿ\83¨t\8c\16Y\17H\18ûh\91l>¬î\10.b\9a\1câE\ eôa4\87\80Ñpõö.b\ 4·\8b\90±¬cFøwlTöA#\99\12c÷Q#\86\9fKówac@\19\1dªO\87¸\11î2×\1cí\ 2G¨è\147\96\bÝ\82/1F\8eì(CècèÈâÀÌ\1c\ 3;\97»\a[­JÞù\a!UVG\a\ 1\83ÍiÅ\9d\87\80\92\88ÉE\b~á#à:\ 2\8aùF\1f\ 1v\9d¹\1a\9d\ 4pW±\f^\ 2B\ 3¶U£\9b\80)\8f\83#{?aâæ\11æ óòºó\146©x\e\\ 5\18=\1eø\9d¯\80Pvv\16\8cFË£·\80p\ 1[0{wa«§r\ 6\7f¡N]¿w\18\f×d»¼ó\18\9c¤\1e]\86\89\9bK\95\ 1o\1c-8Å\12d\e\ 2b ¹½%ØDdÍ]iå\18uñ@æÀHº\9e\14\92d\1ej"S\97\7fÏ'Òjj×e\99S\1e)\b\14
-cÆè\ 4ö©\9e¡@Ëä$êä\1d\86j"[ê\ 1k\14§<\89"o\15y`cÆÀ¼Å\86gÏÐÅú\80Ìaá³Cȯ\8a\88\15>'eT»Èûà"\1e®LÛÄUÀn\89aáØ(\81
-Ì!\1fqàÒt\11£\97Ã3¼»$\ 5\87\84¥VÊy×£=\9c Úà\90 Ìö²\80 !\91±.AÓ²\1d\ 4Æ)H®è4
-Üqs©Bà\8d¤pÙa\886Ì_.\12÷õo6ÖzØ       +Ñ\16\94\fs+\12¯'CÐO\12ÕÆ\ 6
-\97²!ßî´\80+Hi\11\8a   \93°\129E\ÓÊ¢#QêcÐcÌZ5¿iv\94¦_\94\8d\98(uY\1cJ\aßÐìù¹X\1fØ\7f\83g\8cûUÈ6¶c\ 1¨å\ 5\ e\1dRTÎA³\13*ÛµÖ_\874rù\87\14\89©â@\9eNÅè\19?\ 3u½`ó\b%\89|\7fJ« ç@\81\1d\83ÒêÿcF\8e\83ýpÓ\ 4\ 6g·æ´ÅÃ<0óh\17A\12ë\1c³«\87 \e\ 6Øut\9a\8dÖý\ 2»\rÞ@Û/@AY˨«79¤\0\87í\82«\9eoh»\ 5f´ËºY\90\87êlÝ+@ºÕgE$[\ 5ØÚm~ÂÄPs\134\9bÎg\12ä$ZÛ(@íx7÷²O@¡oÔ\9d¶¶M\802k=\17\12\f\ eEß$¨õÜJUÝ#Ø\86p¨o\11\f        \93¾C@ó§9®²A\80Ê\98­{3;\86\1ek
-Pô\96üÞ\12 Ë\9fS«5eC\803\14²D©\19Àñ\17ÝmoV Õ²\9d\11\9e\99lÀX¸+F\80ÏLN6\0Ç94I«&\0y\94V_9±ñh\ 3Àu\ 69îæ?§°d\7fZæ?Âjõ uú#¸7®UÚÖÚÏaduò[9V±\9fü5Ú\1dç¾\1d\8a±uîë¡¿qîCMS?v´cCù'\1f\87Ï4BgPüÀ[òu;\15\ f²²%¤\9f°û\86\95§\10Òäk=\0it\ 3Z\94~ò:fúV6çȹÐAHÊ(\8f\13YS=\f\94\9dè3&¦\8d\81}/P¤[Ì\19E¢[ÝR\8dVËË&n.Ur\1cpÍ¡\16\9bÙ,~ ª\98x[\10~\87×m\12\8a\14x\87\95f#)IV\96ëÁ$\14:êö_ʵ0\18,Sl)-yí«\ 5\1f¸¢C\81¼\99\0Aؤ\99YWë\12¸|/Ù&\bÖhS\ f¿u\89%ÃÈ\93Ñ
\99¡\8bõ½\98\9a       Å0Êr\873"4µ°·¤\87\1a±¿\ 1ç\90`ÖIN\ 2çc\90¾Àñ^=\14\88¢(L7>à¦å]¦.õÉw\95\ 2²#ÉÕêG\81±\9dKq(*D\14ì*-\92b)8«í\99\94Ò*\18öL\ª\ 6\841\1aò:\13v|\95ySëüàâ§ÔêÆx\82á2ð¢úXÄë\8fõ\14&ÃR-ÌM¾ï\16A\98 \1dq\8e&y\8b©ºÌ      ñc\90\91\86úàl²VÞ\16_ëX\12\8a6R\93\9cÁ.UJ=`\98ù¸xð\91ÙA\84ÊÕ*Z\10O\ 2@\8e\vQ\91n)z®\97\8b[ßgÃ\84Ãq\1a\9c*Èb     à\89"\9b\16B­ø}[1ðò\83HS\13J\88©±t#/¢k\ 2\12&\9e·ít¥Äa\8f`¹B&h)\1c\979\10\ 6¤\14´ö}æáÒÁçC\194#£íe¿ð8HöØ\9dt¢ù(²A°\83\1a!]\PÒÒ\8eý\8a\9b\a³\ 4-çz%m\87Ã{õìQÖ#²\88)p<2\84\9eõAÖ\ 4Ö\12\87st­FÁ\ fªþ°+\13\1e\8bÊ\96û\19\84\91\8d\8bÇ\1e§äP\8bîM\1f{T¢!Ìǹ      \1d{ÎÛòQ\8a\ 6\89\rÒ3Tîèàã\ 4\0B\ fÔ\aéà£.\10w« r]\a_w\aP¾§\83\8f"÷Ä\9b1:øXÞ\91\8bÑR\18\86\99\1a\r»Ü\a\7ffâÒÁÇég\9c[ñ[\1f|xOÈÁ\94>øº¹å·>ø¨UDù\10ªêÚÑc\89Íq\12lëí¸Ø\140\1d|qÐ\9c\e\8axå²\f\14\1cµÝ\12_S\8e(YÒ±\87\8c°¥\86øRÇ~æââ±7R%\89T=×hÜVf¹r¸È\9ewu#ùT\AJHýÒ\åÃe·\9aâ©7$À^\19Íå\94z\87\a.\82\ f8ñC6\ e»\8bz\10\8bw\81p²0UG@ùB¦\15\ 5lC±3¢;¼7MÏ\85\1d¸¸xôMÍïò®FÞ\9aîcç©Ô3ä:ª\9c¨À­\13!5 W×\97\8f"\14d£b[¥ 9ȯ\ 3¤Çh   ÁÆ\a8[é2<»TøÁÒ\18ÅÁüàùX¨V\ 6²\902\8fC\13ð\81\89\8bGß[©\99!ì(\10á\9c\a\92>dEqä©\9duÌÕÚºØ÷'Q£
-\13\84Dgέ
-\r7Cá\1c\14\97\800L6¸pzK}Wø@¨ÁÁ¡£ÜªÚ¸´×\85î¦z\1c\98\14czõ\9bÁ\11@7\14,Ïl\:ú\1e«)ö\83KÝ¿\91ä\17¯ ®û\19ØnB\81;\8a   5"!T\99|a>Sºµ\f\99Á\ 1L\94\ 2¼*789¦\11\8bã\11Ø\84n§Ô¸ô¦ð£E§\b\92cÖóÁ:«¦\15\ 5³\9a\ 3\95ïÄÄåSßËñfüÁ!R\ru]=KÃáyl\15m\12Í#èÅ=¡\ 2E\9cÇaÀÖËýñ`®·\12Ä¡4\19H°ÝÌ×\12x×SÌ[\8cµmj9f$\ 1Ø\ 3Þº\vÄ{NÕ\ 5¶õdX\85ÆZÍnÆ\1d\89\ 3g\97j\ 4\9f2Jõ®\9f¨\85®õ6\1f\11I\ ez\96\19d\18[\vSMÛMs²A\88\84`ΦI\8f\ fÎ\1a^±|O\8aT\99ºîë ³\9a5tÃ9<.ËAá\12\17Ë»v¾§pÄ\r ·Z\9f\83Äb-u7ý¦\85\ 3_\97\9b\bx¼¸\14ÊðýfÕBú,\aþ78s\92^ô¡\8e \1fYpz@(Õ
-W¾ê@\ f\9dbx\1dT\ 17\1dx\9dì¸\91\b%H\eö\9b¤\82     ù^\14)óÙ\8f48]¨\98F\9fzZ0èe\ 3\95\91AÒì\0Rìæ\14Ï\9e¡\8bÝD£§/
-\97|ÜJg|\ 2        '-\92l½!\80Å\ 6ó\86µÒµÙÌ[Ð(\9diËV\9b\12¸\ eÉw÷Ñ ª\ 5\90\f]\ 3VUÙP\87\13\9a\97]÷#7Î\157/»®\ 5¡^\19×\ 4\86é°Å^\b8³ÓÅ@ëHá\v«\r¸\87jP\ãKW\11\9e)p?øæ\ fZtHå¥Ì$ÕÅ\ e'\19²Ó\93\1a¤Ê5ñ\89bI£å°°êÑË\91Ѷ+æ\84DT   ôraö9\81\r>\87&ÕJ½\e\ 6-[q4Ï¥ÄIÅÜ\8b|Ø>ñ\f\86\89\87\82Q\9cMÐâ[}ÇÄØŶ\ 3þâ\16j\rÁ\86d\80\8a\84Ït ï£\16ÒñÛ\93êe(©£m$Z½ø\84E\87\17\fÅFx\92ýrä>\9dÎq,@µ*\v§5\\17]-UgG¤\1fÚä\93æUö]rÞÕ±\v\99\1c\98\9e¸ÒËF¢\9c#G\9fÈí\92\8b\95\93îª\10\8fàsª\a\87T2»:mñÄ.\14®*)é('\8e ª×ô\12\19,W¸wgt\9d°/Å~hîW'ñjFÚ\ 6Jt\9b\ 4\8b\ ebr8\80\9a\80\9b¹¸ØÃ\90bc¾"Ź¬ì{Ã\a¾ Ã~3\15ükÀ\82^¹ÃCW©ë­øàHIý\1e\1c,   ð;
\14²2\13,\9bÄNgÖb\1dð\ 5§\ 1wÀ8Ñ/>\\11òNÆX¬\90mÆHävÿÅ\9e\8dÇ*Abñ¥ºÚT!¤ª\ 3جÑ\18\ 3Ñ!t JI\ 5Ãà6ãj)¯Î8¼
-è@\fÝl`\92A\aâàE@\9f¡\ 3Q.NR\89B\a¢L \91\15K9f¾¡G\9a±
-`SU\83É\89\87K5\0\18!ºXj\91\87ðÎ
-\80ÔlT*j|Å;ä©1Z  Ã`Ç.!\10\16kͶ\10Æã\1fãî\92\ f\1e\7f$¿\9b\ eK]6ö\85ôú,Ì\1d\8c?Ë75¹ñøÇÜ´nâá\91£\8fLµ­\97TÅP¤b{\93\93¿Î\ e;xY\16q\9c\ eò®]\12Å\87\a\9dé\87GQÏ\8c+\1aø\_hû\ 1\89ï\vp¨8\90\95Í5T\1dªc\8dˤ<®;Â\15oÞµRù\84+\12\99\1e«õóFJp\1c\8ef\8bA\9d¹¹T\11\92Þ\85\89\98ß\8ak\99äð\1508\95Báó?|\84Ï´Û\1a\85:ÓM3¤UÏJÂK¶M
-¬?\0ú(Ó\17[%È>ñ\91¿-¶KÆjb\1e\81H\13WMqWY7iá­\r<&©_(¹çå±Î\ 3\#Zcq~\r\1eÒ­ÀØw@æxÓ\85\1fgbá:à°`\v;¶\=\a\ÁÔ®\1cØRu\1cpÚ¸UÎàÄ1\10å4\1c'EI+&J\8eõ\9e-mÉ~\ 3n²l\aD±3\8959ÃÑÖÅ\9bZ²×\803Äz.pfèb\9fÁluyåë\94rn\92\80Ë\80\v6mêìÁe@ªÝ·êó,äå^F\ 2\81ÁaÀñì\16\91\9a;\9c5ÜÚ9\98\ 5\14Ü{Ý\15\ 5s\18Ù<^Ø
-1À[ØË»Tw!×dÆÛ\157\83\18¢\85òl|µ
-Þ`\82u\14G\8c\92Û\1a]©Û¿m\7f\97·ØV\0È5\19d<±`ö;\1f\8d`ËÚÎ\82Éî\1a\9f÷ë0Þ¸ã\f£\ 6W¡&/á\95µ\9c\1d
-c¹:k¸;\81wga\8c\î{\8eh)iQ\9bÔ\97\9aÙi\82\90\v\905þæ\8d_,TVì"?ÉÄäáÞF­\9eq¹þ«8êÕ6\bí\86\96\9c¶Mír\95zGFá|a¯¯òRÍƧ\eS\ fÑy§\ 3-Û6»\8fÚc;WÄÂÁ¾&P\87Ò¯ Ø±sñàó\9aÇ'ô\91é\96IÀÛ\96|¤>é}{¨xã\82\1f¾9Õ¶Ê\ 66Ǩ§\15\v\1d¡¦0w¨¼í\95%|Ñ+Ú5\9b¿Õ\ 4<Ú5C\10%£Î\1dê5a°ù¨\8a\ 3fz¢u)·\r`°S3Þ{^V#\ fÄ|A\ 65â3J·ò$Ê;pb¢Ý|\84£Ïì\92\87z\92S\80|\11¡ïE¨pgPNÊw\1cl®­\ fl>\0TG.ʽ%`9hè\81Õ\94ëwñ´\1efÅYÂÖ¥^'ÃÂ1\82<嶠|Öç\9aââ)\94Å1Ä\1d\82|/\0æt+)\8fõ¦ãzÎF\83£$5ÛHCµL\ar\v¹\9eé·íìM\96\e\9cm?\96\8c\13\12\v\17ëh\8d9n/â-U7\1c°,õþ;\9eqZ\87mĤòôÚ\Ëõî\19ZÎ{¤\11ù,=\ eÈÅ )÷ZÝã{u\ f"à$\17\fo\9b0íÄ\11^#¡âá«M¹údSÃ\84\v:bÝe'óí\15ÈiVp½i\91\14òý|µ\v\1e\a\97ü¶>ÕCcùÈe\ 69\87&\8a=C\17+\0Jð9[\11Q\rn\8d\9e+ç*\1dT|9Í!àl5\82ã\18\ 6çU³\8f(\1f\ f¶ß9ÅõC\11[i\12¯b\8b\89ït\88¼oæÔ\97®»ü¨Viί\97SØÑ÷\1dY¾oIjÎi¬­¶¬×»\ 5\9c\96hwðíùY\8d?ðÖB®X×X¹ìp³¹¢hç\90\9cT\7fr­{Ê\9dëMÄÓn\8cur@\8a\ f'ë­Õ¸\ 4\91¯Í\88\83Þ:Wcnpm¢\86\90dPQ\94É\8fÛ\1e\91ô>\93\8e\83ï'\90\8bÚà\ 3G\97[\0$vpº\1e%³Í\ 281\ 1i\eê\8e\9d\98\0Ø ­\96rb\ 1b\19\f\80\13\vÀÆÓ÷ª4X\80\98ë¥l\15&\16\0ë\85ÛLk\88âÕXz\ 1\95\93ù\ fCW\86d\vÏÿ4\9e¥\98¹YN\7fÞF ÑH¼\97$\1cËm\8bi(ðá\8c\10æ?Ü÷¶À;\99ÿ\b\8bÚ\85Y.¶«\8dÛ½\14\9c$Âü\87ÍÏ\83Äø\92CT
-µ}L®í%\8f6ÖËW\94éÖesu\9cL\7f oW\99Lü\>ùå~\15ÍàËe\v%ÖrüV«\86È\18±?
-\88tî!)\10ù0@R\9f\v{S|\11´ë\a     \1fD\12V\92\14Z\14ìP\81豬õk\16\11vV«¬ÙÕ¢¹çCßòbá9¦$ê\8eõÌÅrÆg9b\1cë-\82\92\ 3¨g\87Ç,F¬\95tìri\15ql\a\14ÚÑ\ 1¾*\82VqøÇz½\8f\93\0³¦åÔøL\1eß<Óéår.´Ó#\95\18VéO\95ÞIµ\1cжTÌÄÆÅ#\8dó\14\9c\98Äê\1däæiä\9f¹B\19\9b*\92Øä\84=\9f-ÆõxRþ@Qº-µ\9dÑÛ\18\ 2ßþïx\87¨èyå`ØeDNoÓK8­Ö¢o}ß:XÙLñ¶_P\8dÃ=)Vw\80HÏÚÒ ldÇ!i\8a}æf5ä@\1cl]R£¤\82C{\eÆp%.*6ùu\88Ð[')\1d>£&²é%/\b®·ºµ\94Rß ©\1e"\80z\1f/êö­«Ûrý¦O\14@oõr¡Ôî²t½Ï¦ú\90Ϧ[j\9a\8b\9d\19ºÜ»\97Kc±ðlZFÉõ\9c¸ßÒë\8d½È^m\bqlÏØFD6\bõLßÚdW\17E·¥»çðt\912Á¹^õJ9WUx\9bµ]\ e\15å½\ 5¼í¼5×\9eâ\81J\8bVjÁæ\15ì\ 1ÛÞnfc5èHÓpì&[ÝÂj½¨\94ä§\15c|Q~Ng¾\1f³Ç6¨ûÅm¡Z¥\8a$\1fö\8c\90\8dÑ¢\99(~"ghlsô]ÚøVÑ\96N\84ÑÇáF~\8dAh\15£lr\0\a\91`ßÊÙá\ 2ù\89\8dËWs#w\18Å0¼\1aa+õ\ 6É\88Mp=?³åz\8e\r¾\97º\11¼\13\80©¥\19\ 1c\87&\9a^qÌ\19\1c¾{\19×     ·7²àlHá\v\95}\7f³\ 2øwrÒF×P\NǯA\90«\92´OÞ$\8bnxYÃÄÏr=\a^XÞèkâéV\9fäÜí°£ÏÙ(v8|ߪÆýu¸z\ 4îjl/\8e@\ 2\1c÷@Ûá@%R3$êh\87\ 3UH ûñ\16\rcär"´lÎ\841µH2\ eGé9±\ 3\a\93}åÒ\93^;~\1eáÌá\82O>\ 6\ 3\8b(\}c\ 4\9f$m\11\atÐqñ;Ö²¶/f+ß\Æ\9f\9a{bô:\ 5×/N\80o\8c2j>4éµþ\9d\1d}[o\8d\8e\9a=E[9>Ä\17\8b¶¦<[\98®vM?|fvõQ\92Ø\b\98ùZûu^®R\ epbô¶vdq\11Îó¹¹8°Ï\86\19P\8aÇJÃÃ\93\95ïÛðÍ#ÝjU-\9f@\fÍë²5«ÃPÛ|>[\8fÊòñË\16ý:Yÿ¹mjî¯×;¬|ß\ 3\84u\93\e\9c¢m·\9dÎ\9c\128n\82ë\9cóp]"2\v0q9î,3×·á\824\9b\9beæ½6Ü\94¢Þ\16\rpÖ)÷E(\99z?vö}\91H¶nuP³¤\870\92©ùÂ\1c®tIL¶Vì\12%Íè&¹Ò"÷¤áÌÄjô\81\11'\ f\11À­<\87S\1f\19wþÇÆ(\87_¹W8"Ê\89\95\89\8dÕ&ûþ\12"¬TXñ\b\16õ¾<ÍìçÁTãí!HOcT%\83ÁÇ\a¥;Yp \ eÔS£Â^«×f&.\1ef+wèp*,ËY\91úÚ\87Â\19¤^ÚSä¾\13äáJj÷¸Ö}\a¼\aÇë%J\9b\ZHö¨Ý\7f\81\ 3%¦6ô\1aÇ¡\1e\8ds\9c8\17+Æç\7fj\16oÛdÃ\ 4õt\9b¦´4\90C-©\91äWÖ@îÀÏjÈqê\89Ï!\18ß/âÁ\93\1dº+\8d=\87ª­\9a\1aP¶å]Oø\14© Á-]êÂò\95\9a°HHÙåÜä\807±ÖÛ   \82\81±pê\92\8ba\9a z\9f17Ið&&#Ï*ð\99\9f\1f8)ãžøȼÜN0c\89i$!\90Gäc\r\85WFyÛ\ýþêÄçfêfSo3uâö\98ä¡\ 6#\91ºsï%N\98bÇÔ¨\916~îÄ\1f1ñU\8fEr\1d\8e­æí\ 4òÁq\85\ 1k\r\0\96\vD\83þN_ÑSÉ5\9aë-\ e=\8c\11\ 1\85\1f\92\1eK\18°\b\1dµE\99{(\a,|Û£ª&bO¹ëq\01\81Ø^ä[M±¹âØËÖß\ 59ßàÏ;\91\f²eêa\ 4¤ö\88\80R%°÷\91öX\92béth\8b}\ f\13/Ê¢Waòë-\92\16µ5\18+\9b\97ºn~3\ 45B\r\177\90ïè\8cKÙ0\b½Í¡\93\1d&y¨ÁXÙZ/|ïé\80I¾ËC\95\1am\93çNò\11\13_\96\17ª\bJèQÉ\0ã·¹XIÝ\17Ù\1eÃm>ü»|çÑñu0Z\e?õá÷xä\19\85ñ¿­\8f0á       \ 3\1e¥¥·Ù÷\11\8ex¾¯SºÂSO«6\18Î'\90·\18åR8\t\8a60\ 3ò;\7f\17{RiÔ6nêÃíñ¨á\12\18{e­\8f4áI\ 3\1e¥¥·Ù÷á\8f\ 2mòb\1dßùl0WiÄÖ1f~qµï,ÅÁú\1d}aã\16;ôC\9b¹\8f\1d\1eyFaLcëÃOxü\ eO¥E`\ 3ýÜÇÌ\8fò\89â\r¾\19i«¡îí\0ã\10\95hL¦N\8a\86Á÷\91ßùû«êéðä\1aÚÌ}ìðÈ3
-c\1aµ\8f´íñèwy\86iimìÔ\87=âa[$ú\8cÚ%'·9\ e0\8fò\a/s"Ê\ 5"^æ\8d~g\ 3!s«µñS\1f~\8fG\9e©09¶ÒúH\13\9e4àQZz\9b}\1fá\88çûj\v\98ÿ\90úx6\98Ì-Ü\88    \19\ 69«lå6[ýÎöÁU¼C\9b¹\8f\1d\1eyFa<\16­\8f4áI;<\95\16mã§>ü\11\ f¿9Gdê\87ñ\1c`<\16Aæ¾\97±
-b\1fü0\9eAlHkã¦>Ü\1e\8f<Sa2\16­\8f\19ƳÑÒÛìûðG<ò²OME5>\a\18Ó\88Ú".\98\90ùã¶*gý.Kxý­·\99ûØá\91g*Lîën}Ø   \8fÝá©´Ø\86\879âáñ\f5mfs×Û\ 6KUç\90X@öß\8a®ð\v·êïM\9fp>\ f¹Ü¡Í¾\ f¿Ç#Ï(\8cu®õ\91'<yÀ£´h\9b\11\8exê{\ 4C5ľô\ 1\1d\81<\1a\ e1ú">Ë&\81·\ 2^ñc^\8cÃÐêÐÏ\ e\9b>ÆÀ \85\9f°MØ\14 \8fÕ©ÚZ\85¹\9fpĦ/OäþPûÖ\99îÀF,\17þ$;±\93ìH\86«}ôVnîÇí±éc\15è\94XíÇÍØÜ$b¦ÉM¢éýø#6fÚÈ»ùø¼\9cú\10\ 3ÔT\8däBrö9ñÂ\89ú²\8f(/0S\b\93\920´;öµÇ©O6hÍgõ¾ì\ 1§Ýã\14ÚZ»tèkæ³ù\8ar+A\18\0ãÁ\8aòú\95 \ 4ñUçõ÷6\b\1fæãÐfß\87Ùã\91g*Lìkë#Mx\ 6\eÝhÑ6vêÃ\1eñ\8c\8b_=åv¦\8bßM\8b@Lí\ 5¿¦Ë5\93"_GËÕ[L=ø\1d\96ÑpÕWYEwî}Ø=\16Û°4:j\8b\10\ e\17·\87Á\86\89»Ý\81°%íxc³\1e\123\ëê\95¸úU\1c¡z\87¡´ps\ fn\87\85\1f\19@\81·m[\1ff\8fÅ\fX\84\ emqèaÆ¢ï\ 1moÐIúÂÓ\ 1Æ£\0H}§6öL\1c\7f7ÚBzÃ5\9b\1cTµ6ñÐKÜáÒ§$YµÕ±èýàâÏ\11WýþJ(¬ôô6s/é\80Kßà[CY;Ú§\ eU\9b²m\92à°jw6Yø\e¤\9aJ]\17ÆvǾö8õÉ\ 6­6¥÷e\ f\1e§ÐÖÚ\99C_3\9f]\ 2j\17\87\94Ú\ eÈÉ\ 5>UW_­S\13f\0T[9dÕêY0\90<´:v´Ã§Ï5 §\18\86\9eâ\8c/îð  UÚ*\1e:\8aG|õÍ\14²Ôñ\9d\89CQl\ 3Vz½ÓÜL®(¼¾BX\0L\88×¥qhuìh\87O\9fkÀJoï©ÌøÊ\ eß.c´#\:òG|u\8e;Q
-Þ¶Kí­Æ\rXéÅÕ>lB°L\0\85\1eýW@\9dzR70¶\9a;²{|ú\\ 3Vz{OvÆg\a|\8d*må\ e\1d¹#>¾\87H®¼\18ù\1eaLm\9e¸ÎV\fåÀt\9exn7\ fµNì\1e\93<Ô`Lg\9eøí\98:»yâv$·vâ\8e\98ªv\87z±l\96CÝ·\13\90\vúL½û\8fw¯Ð\88k¹\81\0\9c`ë:¶\9aºñ{dú\98\ 2¹.¡÷ãgl~Ä&$µFaî&\1c\91I¶ªF\e¥g\1f\a\18ßt\84C\r\12±ð¢\92K\8bjZV0\97\16ùh\9b]\1fÃw7<£0¾^¬õQ&<¥ãi´\b\95û\98ùiC«ç,m\18\ 2\89\ 1X\ 3\0\94ÚAÚV\r)¿|«¶è®=
-Í$õ)­ÒÜOÚcÓÇ*0J\0Ðú\893¶8bS\9a\86VS?ù\88­^\96'¹»4ä\96G '\86qN½fÆ$sÌGù¹Å\90^6\1a*\8e­\ eýì°éc
-\94ê*í'ÌØÂ\1e[¥I[\rT˶øvÄV'±\9e¨Ý¶a\89\1a\80\88µ\14¥C\84_ÊH\87\fQo\95\ e\1d¥=>}®\ 1eeIêÚm²ødõÿú.B£jl5w\94\8fø4V\8e#\ 3·\13PNàûÆw}\17îæ\eß}Ø6×ø\96VnîÇí±éc]:õ\ f×ÙvìløÎvwe|g[[Í\1dù#¾\1a-o\1aEvï{\84U¿y+\1a\8fVÏz+\1aµvï{kÙ\90ÖæØË\88K\9fª°æ7·~ijn¸\ 6ï»Ñ#m\1aÅ­\97\89¯¶ «S:¼ës\0\7f\997í<ãÂñ¬\1epýʶWÝäÖâÐÃ\88E\1e\11P©§¹z\1fe\8f¥\fX\84\8eÚÂÌ=\98\ 3\16\ e\8b­\82\87½¢\ e\94Dr0Ú¹ì\ 4\ 5£\ 4\fÛEÁ(\91½Õ¡\9f=6y¬\ 1kZ®õ\93fli\87MhÒVvîgæmØ\1f«ým²\11s;\ 1­ì\90Õ\97un²\1d\13%ÍÝ\0²ß\95ZfJ6ɦ~Ü\84M\1ekÀ,ûd©%ìöØÂ\80­ÑÔ[Mý̼\r   \10\99æc\ 2¤\814\ 1\907#\89\a£¿÷\ 4\87Þ4\ 12õàwXä\11\ 1õ\ 4\88ôa÷XÆ\ 4\88С-¦\1eÂ\ 1\vï«dÉý\f\19Ì\ 1Æþ\ 2n¹åü\91d&ùÅîõ÷æ\ap^Ú\87±Í¾\8f´Ç#ÏT\98¤\1c[\1fnÂ3$.\e-Ú&O}ä#\1eÖ_)\9dÂ^ë&\17Ñ\f0>Â\11ål.\ e· M¬o­kß_Õgøµ\1a­M\9eúÈ{<üL\87ñë\8cZ\1f~Âãwx*-½ÍÜÇ\ 1\8fì××\88£j\8cî×7XD,Ãw\ e§úÆg¬gV\93còýU}HÞË!müÜ\89ßcâ\87\1a\8c\15Ô\9d{/aÂ\14FLBMksèä\80©®­R\13\9f\87\11X½]\94¤r\8cÒl¤©³'\ fûH\ÁËn½é«ãÔ϶Ǧ\8fU ì\ 3õ~ì\8cmLö7\9a\86VS?æ\88\8d7Ît\1e\9bî?\8e0\ eV]3\ 65\95àBOæ©\ 4]3)ÒÆÏ\9dø=&y¨ÁØßk½\98m\8fÉt·±QÓÛL\9d\84#&½N\9b\v¼ù\ eo¯¯«ëP\94!\96úG½8\v+\9c\ fõu±EÛ0ä\95\ 4\17     ×ÒíÚÍ}m\13N}²A\83µç¡+{@iG\94\8d´ÖÎÌ]Í\v\ 5\ 5\99õê3\ f@>ämô\ 2C\9cǨgiåÐ\96\ 2ªÊÉía½U\9eûÉ{lú\98\ 2k!qëÇÏØü\88Mi\1aZMý\94#¶ï\ 5c}»u0ãþR\83nº'\94ø,\1f\0m\v'i\93a«'Õã}»vÇ®ö(õÉ\ 6m[BÒ\979à4{\9c\95´Ö,\1fº\9a¹l\16\\93J6\ f%W\ 3\90o5´V÷;4J7º'\92\86j(£û&½ÕÔ\8f\99°Éc\rÈ·Ñö~ò\8cmȲt\9a´\95\9dû\99yS¦\93\14ï¡\9cG\87\aYKmJ5#\9c\88¡6¸FY~o\92\9a£Ö&O}ä=\1eyFaµÔFú(Û\1eO\19´Ji\19Úìû(G<5ü\97íî0\ 4Á\1dVcW_o\eð\92:0º×=&.àú\1aßÛ¸©\ f·Ç#ÏTXÔBHé#Nxâ\98 \11Zz\9b}\1fþ\88\85z@Ñ\f\87\99:\8cS\13pm .^VÌ([bú]}~(ÞÐfß\87Ûã\91g\14VK\89´\ f3á1\ 3\1e¥EÛø©\ f\7fÄÃz\e\8f    Ê\ 1Æ4¦¸OP¦pLPâ5ºc\822\85©\8fpL\1c\ e0¦±õQ&<CJ¢Ñ¢mâÔG¼#AÉù\1dËG\ f\86J\87\ e\94
-\85\9a\r\8fü\88-\rÀIR©ËU\18r6c/Ã÷4<Sa²eÝúH3¢aß»\933´Úus`«é¯Ä\9aq<\8c×aª{\1cXr\1e¿êÕ&Whw½\920¤µ±S\1fv\8fG\9eQ\98\9eĪ}¸        \8fÛÍ\93JKo³ïÃ\1dñHµöÎ\15¾\1daؽö|2\90_6\98å]\11ª+ú\9dM?ïG\85±ÍÜÇÁå\1e`L[ëÃLxÌ\ eO¥E`\ 3ýµdk;â\91yjë{(6~1÷í\ 4ãÝ\87\14ë\v\82Ã\8d']Ò\ 6ø.\93®Þ¹ÕÛL\9d\84=&y¨ÁøÈyïÅL\98LÇÔ¨\916qî$\1e1IékÍV\ 6l«[¯µ¯\ 2ä½w®2²¡\9e,\8bh\84#=Ú\80\ 1L\83¼salµïÆL¸ä©\ 6ô>§sï&ÍÈÒ\80¬\91¤­ìÜÏÌÙa+\81_o4o%À¸ï¶\12t\96´äþ8\95Ú\16ÀØêÐÏ\ eÛn+A+¯{?óÆE\9c6.*MÚj z¿\950b«\9bF±×ä5¦\a`%Ö\89É\ f\8a\0w\ 3K9àà\eÈâ1¶\9aú      {lú\98\ 2å¤\84ö\13fl;ODij­âÜO<b«L\8b\97âܸSÖ\81²Ã%{éNwÞ\9d8?n,\82Ó/c«C?;lúX\ 5zÝáÒ~ü\8cÍï±U\9aZ+?÷ã\8fØ4\ e®UÃy`z\0VbqÙ\818\1aRn°UÙ+@#Yu5Z«©\9fm\8fM\1f«@½ÒµõSflc)g£©µ2s?æ\88í{Ñ-Ñ\ 5¹¡úv\86ò\rf\80T«Àw\87áXpKB(ä\95(\89([kç\ f}ù       §>Ù |\1a}è«\1cp\96\11g£mh7÷5óÙöRô\a\9b{qÃ\0«u       \9a\10\8f\ f\82V:ä;oth\92FÛø¹\13¿Ç$\ f5X­Kh½ä S/\9aéÔ´6S'á\88\89G[ò¶e\8cù\15¦aºä~5è2\92\1f\1e\ 33#9ä¡Í¾\8f´Ç#Ï(¬ÆæÚ\87\99ð\8c!¾Ò¢mòÔG>âá1\95»zàÄi=x\83Y9;#ïÿ\89òÒ\eÜÆ(¿·:í,· \ fmæ>vxä\19\85Õó7Ú\87\9bð¸\1d\9eJ\8b¶ÉS\1fù\88\87·N¤è/\rI\8c\ 1ÆK
-×¹Öw\10ñd
-\12T¦!\83Á+\ 4)]k\13¦>Â\1e\8f<£0þ·õ\91'<C\0Öhémö}Ä#\1eæ³\15᥶E4\80ê\ 6\8fî3Z>f\18ZÅ_;\88ØJÏ[\8bC\ f#\16yD@Y6xZ\1fy\8f%\ fX\84\8eÚÂÌ=\98\ 3\16°ø·§\17§\9f]ÿÂ}ûâÝw¿yùñãë\ fïê÷\9b×?¼y'\90\9f\9f¿øë\ foÞ¾}}þñÓ\87ó\ füç\97§\ 5\8cb.¾VIþIõÊIþ'\18Âöé\84\83ÒF\8eJÿý\9fùë\7f¡?ÿ\e\ 1ÿåìÏ¿<ÿã\7fÝÎß1üï\7fËaÞØám\87H§çoà\îð\8c iüÍ¡'@Þ1\9a_\9fø\1c3N±ãrÚö\87ák\81ë1æíüÛ\93\1eñ6ç¿á'âù_z¯|\ 5Ù\16G\ 2ùÞ\1cS©1r\94~\84ÙX/¤p¦fhG\18ÿkb\85Q\94e\9cÙÁ&¬\0ýáÄwvóa~F碾´¥n\906¶ù)\¥ÔAÜ·ãWS\16Ü\7f´\83       Mü¨á«fGÐ\8csG\8bÝ   F@£\10p\92HÞ_Ý`Anà\1e\ 5£°Q\b\97\1dd©¤°.¸½X\8eú\81»´SÚ\89¥a\1dIJ£Dd\0»ìó\ e4ãTZ¤wF\16â]
-­ú2´wF6Á\98¨¸×\97\116a\9dõ\ 5£\80R½;\ 6I\15æ ½0^¶¾Ìd\a\e0\8bÆ\8c \19ë¤1£h\ 44\8aA5f\84é\98\8c¢QØ\88¹jÌ\81\16{\10\8c\8eÞ(\18Ñ\98Q\bª2+í\1d\ 5³¢Etf\ 4ÍX\95\1aU?\1díÛ;fçj\16«&Ýk\b\15\12ê;¤¿YàTZ\86I'\94¬&ÄjâèÀ\rx\8f¶I!\ 3%{\8cJÇd\89\1e\12   7·w«óÊ4\1d\8dÉÂüýá8ý\1f\12ÊHËJ\83\16\8a\91\96\85Í\19uEõj\14ÌÎJ,æïj\95Z-f\ 2\82\96\96½¶\8c\18º¶\8c´,§åbʬ\16\86»\ai¤å8É\a}¹T,,ݸ×\97\9d\15Z\18¦£)Y\18¿A_.\15ËH\8bêËeÞÏHËÂÞ\80\16¼ÀÓ!\13\89âf¼æ{ü\ 3ο\97·|ßåí¬\fÅÂ\9e\ 6£>Ëu2\16÷É°÷\85ûdÎxs\ 3\88Ð\97¦\1c\9d\8a£yXØ\90»ü\16» á2yL3R\8e\18\8e^À^\10
-Ki\98\12\19\80t\eq\18¯ìLJ½fh\9a÷\ f¬Õ£á¹Ó#\9dlÂ÷\8bùyûÀÒ7â¹ÏÁ\9bñà\8aÏê{\a\19ô+«ú°Õw#\8cl«æ\8dl/|Úí®upµ\
-\19Ùâ=!xo¨\n¥Z\88÷êâ\8f?.\16¹Q,\v'r»k\15\-\96\95\ eGSÀ³*¶ñOúÊ\f¾wø\8f§¥G¹2Ç\v«½=ä#>fN\8eøïô³Fìwy\86vAÂE\82\98\8cÞ0%\ fNÖ^\ ew¹b+a<JC³\\90?jèÁ¥\9fV\9b;]ÿ¡¿§jêHÏj%Y­8÷ùÛ3=\97&\13þöÝ»\97·¯¿;\väl¾<-`ç|Æ\ 1uú¿ÓS2\ax\9au\0\98Úá¯Ì\7f\17\99\80ÿð\89\97¹ç§\9e\14ȸ@\18
-On9j¸\9aP[\9a\80ïpÆîi\1dcìôÔQ\8cÃ_¹NýÚ®\8d\1dcÂm\14xË­^r­_ùõð\ eE²Ñ\18~Ñ8o´zýëU\9då|\ f\99\80\14J{T¿ZÍ\82â\eî\83Å#ú(n¨G]­×¿¤r\97\91
-HiÒg\a\925\89ô\1fþ\16\8f5ânÿb\88{\94<ïP\ 2\f½á{\rmñÆò",Öh«jQ/ºS%À½êuèqY|ûK\86¾¶Û+\ 1Ò¼\83\12´¯B4\ e\88\ eD\939\1a\88Æ\9bÍ\a9Ë{?õQýZ¥!ßTVú¨\882ÄQÎ\8aT@J\93>;\90¼S\82NÜí_\fq\8f\92çC\96`S\83[\1cþ\9b^^ųþ¶þå³,²í\8f\83mè*\80R+Ш)!ýZd¾\18aØ2¡Yÿ`Áu¦1Ѫ¸ô9\15\1eO³úE\ 4+\8f\89سþQ+\1c+6}\89¬\12cõÞÃFënì\e\7f\ 1T=F\82wMü\92ñº\r\f¾ü\11ñ_êw\9dþ±MòzK \ e5<\9dö×Á\18ôQ÷q7êí«Ð\8cûÔ\a\9aý6\12\8d=ôA¼©ÝE¬_«0ô\9b\88J\1f\15IR¿\83\98\15©þ\18÷b\1e\r~'îö/\86¸GÉó³&~ÞT        r\9bï\ 4è\7fÉÐçí¨\ 40>\83\12´¯B4[­Nt²#Ñ£Å#\90\1aKy´ÛNn\evrÖG»\15\1eä¬HõǼ\97ó@òN       :q·\7f1Ä=J\9e\9få\ 2ÔY/~ ³jëû_\aëpô\ 3ý¶ó\ 3Yc\a¿\ 5\1a\16ùkô\ 3\ 5\94>ª_·ÑÕÒI¦\8fÊ\1c¤~å¯ÑÕ\12\90Ò¤Ï\ e$Ï~ Prû\17CÜ£äùY\96 Îzñ\ 3eè}\1eþ:X\87£\1f(Jоº½ß"¤\92~\ fD\8f&°»Zúh7¦\83«¥²j\96·\99åAÎ\8aT@JÓhàWJÐ\89»ý\8b!îQòü,\9f Îzñ\ 3\8d&[Ú\1f\aÛpô\ 3¥°³}M{/\ 6úÌ^\8cü1ø\81\ 2©nU{NgP÷¸ÚÄ\14÷)\89Ç%\7f\8c\1e\97\80\1a1ÛÞã\1aJ5Å\ f\14\1anÿ\ 2¨z\8c\ 4\ f\941ç·¥©¥ï\7f\1d\8cÁÑ\ f\94Qo_ÓÞo\11RI\9d\a¢G\8b×]-}´ÛÎÁÕj\865î¤Lý\ ebV¤úcÜ\8by yö\ 3\87ÑÿË îQòü,%È\9b*Anó\1do\17i\7fÉÐçí¨\ 4ê¨hMwÞ\13­~\8b\90J~Ë@ô\98þè®\96\13)\83«Õ²,y'g\9cðêrV¤úcÞËy yö\ 3\a%øË îQòüÜ| \89ê\anjêÛ\1f\aÛpô\ 2óΠ      d\9358-Æ«Ó"\7f\8d\80Ô8\9a\9d\9f\95G7Ë×7Mµ\aë¡\ 5ôZÿ\1a½,\ 157J^RÕÈ\9d\1d@¡âö/\82°GÉñs\93\802òÑë~Oî\7f\1c\fÂÑõË;ÏO)VOEèÄ1\8a\98\0éÎ\95>Ú2)\83o%Rj\ fV\19¢×.à\86²\82\9aïT\1fíäÎ^ß0òÿï\13ö(9îª\ 1/³öj¼n\a·D@êw4\væw9ÉöU\13âf\97\93ÌcJÒï3éûDú.\8f¾Ë j\ 6.\88\9c\87üé÷§Ë\ 3\1adI:\97-\85\12v\v\19w\¶¯a¿ðj>x\eÙÔ\ 5_@â\ eè£úÕ\8e¾B[Yâ\8e×Nrgö²\11Mvd¶¥
-Ân\81Q¬ú]hj_Ã~\81\11~\92\1d\99\1dûèk¢>ª_í¸&¶tJÞ1ÛI\1e\98½ÈZ!ê-\8dÙ\16\12\97]@Ýâ/ý\1ew6U³*m[ƪM\1d²*m5·ã\12Ð2³i\97\ eN»DPóè\8az       C"hRã{\17eDw\9dÙ\16ú\95]àØÒOvÇlûZöfDø   qdvì£[½\96\82,#³úÍîcÝÞhb6ë4\18\r\8e\80Ô¢4¿Ùï\82ßöÕí\r\8e\84¼y\8c}}\9fÌÍà´çv   \9b]¨®¡\9e\13\833\ 4ê\8f\99\83pÇ;\97ÍWw;\83ÓpÆ\1d\97í«Û\e\1cM<l#\9bc\1fÝàè£úu\e\rN\8b\8e×NòcÕ2Ù\91Ùæ\93º\9dÁ\19-ãÀlûêö\ 6GøIvdv´ÐÝàè£Ýp\ e\ 6§YÕ¼c¶\93ü\ 4\83#Ó{48\9aõÛöî{ûîw\ 6GÝ÷\96ÿÛÔà\fîûØG78-\ 5\90vy\87´\8b8\9a×Ù\1a\r\11Ç#\rÎÀló<ÒÎà\8c\96q`¶}M{\83\8482;ZènpZ¬[FfõÛ¶78Ý\ 4\1f\98½Ô\13\12wl4LF\8fAï<4ý\9awf©Å\ 3ú¬\17³48h¾\e¶f\96Úsc\18\92úP¥%\8f\9eä#½ \81Ã\96~¨ fu\ 4e\1c9ÔoÍïu;\ eѱ?\98$\ 1©i7;\93\94G\8b¤\11OÜñÙÉ}\82\a40ÚBì
-j\16§"Õ¯yg\8e\94Úö¬Ws40:ºÅÝ\1cé£Íg\1d¬\91:øyÇh'W\19}j\r\92[Ô ¹/ÏáÊúÂÿ\9f¯ïJ$±úo\8a§§T%\8dýݶïÒcÍ\rí±ì`õ¹o¦~´\82\97ñͳ\99lSâ³\95±âûúTßhÀGÁö`Ü:çÓ¡µô¡·\93Ï\9dÌpíe\86K7úóÜÍ\f×ï3\9c¬®O8ZL&\f\1a\r«\v@FQàVç2ë1iw!ý¨ÿè1\e¼$UØëB<\0ºT\85è\ 3@ûúæ\80IÃúÝ\93·\1d É\0ázÿí\1e¼»à4Ô\93iWVçoÔW¯\ e\ 5Êm\90\85ÔÛj3\82A©x§\95\8fâÇ\9d\10¬\1cê\1fA\19Æb|n!\88\ 3ÑG¾f¢TZû\96·\a    ©\16ì¿Ý\87i\14\98!ç$põ¨çbQ¬~XºÏ­Âú\8fu\89æ7]\ f*Ã/\11\8f;I\ 4Üv\91Ó\ e\84k\92ÂN\ 3V|\1ei<òѦàðÜD\97\8alo\12nïí®\8a\r§yIQ¦o\ 3#Úå\ 2t\87\92é«ÞmW\89$\1dË\\1cA\fø´\13ì\82Ï#ùGä\v
-\93Ô¢\8e\11öLÛh\93\v\f\81¶ÿf÷ô,\ 5\8bó\ 2\8eß|\vï\17ÅÁj\99¤tz0H2\93\ 6\8b Óm\98B<)C\19Í\v_:¡­Dj#AG\82\ f<-\fà\9e¨^Vl2F\16\ 3«¶&(\ 4¦Öú\9d\89Q\ eÆy;² fgäAíÎH±ö³\83UÒvì\1f\85´\10¥<8°¶°k\vë§Ä\ e\ fÎ|\ eå×Zum\9bO¥ïC6u&üq0#£ú©\1dÙ\8d\98\18\92\91Ù\95<Wôè³\ 3Ù\vSµ2hb^\86\au&\8eý+l¤C\1f\1dé\9dy\9dÍÕà\¬,\90\80ƧõÉ\15lxôñ3RÍ\84\92\7f{\a\9b+qè³\83ÔV\86èn\83:r£Oî8\9c\88S9ÖY=zE[ûv4SwY\85ñ\89\9dà Ê}Ê{\ Ñ^ñ>8\94¬Zú~\ 3qì0ðagVT?Fã3b>Òr¤weë´{Qùo\8et=v\86¶µyà«y¦\ 3cj\1cFÎÔ\86\8c|¨ªì`UUvB9\8a\88>8°»²\94+\8bÚè\1d\9e\9dyí²j§lÚ\1f\91f\8fÉg½\fá\8f\v±ÜÞÑ¥¢\1c\8cÞÊ`¨\8cÆg\9b{0àhA Àöì gűS5¡e\aS\9a\87gWj0\1a´Ñ¨/Í\97ÀF<úì
-v§\97ñÐÔT\8b¡ÄßÞ! \95 Û³\83À\97\1e[<2£Ïî\18\9cèÛ[4\8dv\a\8b2\ 6À
-\820\ 5ĶÜïA\17\99\97±ßÇ{³b|\98\9b°³\80Êô7k\16\8eÈ\8f\ 4®¬ä\84PŦz9
-®Á\ 6\99,$· nîí \9b\8bbN±T£lV\96pe1ÕR\8dl*Q£`W\84Þ­/ã\93\13q*G%b\94c\83\rB[ÉvEÌÜß,ÉË\82Ñ\99õÛÁ:\8d\1c¬¬ØÒÚɤ\e\9fÕßG!­¨_q¹\1a\9aï\17\92»½£Ïû\92\;£±²\9e\ 2\eGb5b;ëyQÒHMÔ¨ÀKSv\8fý~H\17VR\9fñö%ySºÛ    ð¬VjØX\91ë\89ä,,ü_qqJ3`µq½¹(Ô³üû\98éö´
-\aï\8e\19ïÏ\ 5\1d\13Fwg\95FtÇ8®^R`È\1fÙ"ËA¦OÒ?¶z^ÿ\8fÕ\85Áñx>\ 6Ëqê\98Í·5pý\9bÓ!2\1a\ 3aß":¼'\86| #´H\1c-b¶?ì\866ȱç¬C<ª\ 1\9e!\87`tr\8b
-DÄô7§C\14x;Ø\87\81\94U\8ef\91Y¹'ÿò@H¹\8a<\8fñ©°¯n¼×\ 3Ø«õç\92ùò7§£û|{ZzÙ\v_|\15\1d¡<\90µXä6V\8e½Ì\0=|\1f9\15\ 3Î\94×­\86»ª\ 2:SdÅ.úà \ 1³#>Î\80\87b\85ULq_ìñP6c\95õX\ 5
-\7fØ\ fpS\84\f\95\84MS\0V\7f\8e{\1dX&eV        \8dEF`\15\9cß\17Ä?\14Ç,ã\9dE\$"Ð[A\8cÞ\81Pê¿Êºîhzý#\8bñ\107v\9c\ 2c&aá!-ü¨\85?z\8fÛú@¸»\b\8aW\1e£\8e½ÜÌâÔ¦g½´o7ôj\19\9a«¥Ë s>{\9fãÆÈC\81ß*@¼/\90\9b]y½+ïxÒýû\9d\81ËLÀ\1c\1aÞ\9eÖ!Ú}¡ÜCÞäÒë¼Ç;ÝÅì\8bÐ\15bxêþn\ìïÆ/Ï\ 6/ñ-\91ÿÅ=ëx¥Z\ 5Ô?\9exkåÔëí\b\93\8eeæÜ\ f\95ç¿Yô9»¸Nã  qt öR\8c³Á\ 6ê\11\9eÂ/ø2\9bR&0gp\ 1Qí¹\90\19Y\83ôÉo\16½\r\8eëÝ\93\90käÍ\91\f\85\8d8é÷\ 3\1d
-\e\91ÎýuB.\13\8b>_\8eä\98xD½\82\95#5eO\8c_ÈÞ/dï\16Âw\véÏý],ý¸\90~\H?,¤\1f\16Ò\9fû{¬ôãQúq!ý°\90~8J?®¥\9f\16ÒO\véÇ\85ôãBús\7f\17K¿,¤_\16ÒÏ\véç\85ôçþ\1e+ýr\94~YH?/¤\9f\8fÒ/ké\9bmex¶\95åY\99\9e\95í\99{l¨\ 4\1e\16&.\1eíÙ\ 2\14\16&.<ÕÄ\85\85\89\8b\v\82\85\85\89;\12ò8\13ç\166Î/ìÙ
\16FÎÝaåÂÂÊÅ\85E[ÁÂÂÊ=z\0âb\0âb\0Âb\0Âb\0æþ\9ejåÜÂÌù\85I[ÁÜÂÎÍ\ 3\90\16\ 3\90\16\ 3\10\17\ 3\10\17\ 30÷÷hC\17\16\86..\8cÚ
-\16\16\86î©\ 3P\16\ 3P\16\ 3\90\17\ 3\90\17\ 30÷w°uaeëâ®­`aeëfÖÕ:å\85­«äí\fÛ\ 2\94\17¶.?ÕÖå\85­\eq6_i\ 1Ë\v[w$äq¶..l]Zص\15,.l]¼ÃÖå\85­\eyt\vù»Å\0Ìý=ÚÖå\85­\e\91\86Å\0\84Å\0Ìý=ÕÖÅ\85­K\v»¶\82Å\85­\9b\a -\ 6 -\ 6 .\ 6 .\ 6`îïѶ./lÝ\884/\ 6 /\ 6`î勇..l]Zص\15,.lÝ<\0Í2å\95­ÛÙ\9b\95\rZ\19¡¹GEÕ\f
-?4\ 5iõ¡)J[\ 1õéo\16=*¦¸À\14W\98Â
-SX`\9a{TLe\81©¬0å\15¦¼À4÷Ø\15§\15õ\19Ý\ 3+ºI2\1c\0X½êÂñ\86Q\13\94ÛÓ:\14\97\9f\17 \85\83;\80øí\b\8b¼ÉïNÃæéE,\84#¡«¨u\953hú´\88:÷¤ú\9f\84Ô|$u\15â­\ 2ìx$5¯IM?        ©Æ\1cim°\87âÑr$vî¯éÀ\9cüz\1a¹sæhT×pÔÍ\ 5è¡<Ô¨°þ'QX·ÐØ\87BÀUÖl\95·\19uöó¨\9dó\12£Ò>\14/­²L«<Ǩ¶\9fGmS3·ÒÛ\87Â\8bU^æÐãAs?\8fâ9!0jn>ªé\ 2ôPzaÔÜô\93hn\hîC\ eý*\19²\8aÅGÍý<jç@sÔÜ\87¼ßUæ`\15¸\8e\9aûyÔ6=\8b+Í}ÈY\\ 5Ú\87\1e\ f\9aûy\14Ïáݨ¹\82\10,`\ f\85\8b;7A7M>OyGrÃ\8aÜæ\15¬\80\ f\85W;gáó\b\9e\83\87Q\7fw´Å\15Á«xp\15\8eì\\86Ï#¸)ÜHq_øGêÊ\8aäU\ 4uèóè8ÜIô\83å1ëN4\849&VÆ\fx9&Å5Î9æUîÈ\1e\f\ 2\85[àpG$~\8d$\1d\91¤\ 5\92¸@\12\8f\1aI\ fø\16AàN6+y-\ 4¶Ý\81\v\16£â\8f\0¹Å°Ü\95Áv\8b\81ñ\8bAXÁÜbdîJÔºÅØøÅ8¬`n18wæ#Ýjxüb(V0·\1a\9f\ 3*Mr.\ 6(\1dGc\ 1\8a\8b\ 1º+í\16\17\ 3\94\16\83±\82ÅÅ\0Ý\95]\8a\8b\ 1J\8bÁXÁâb\80îL¢ÄÕ\0¥Å`¬`q5@\aT:±\86\84C³kcnA'ê\ 2\16æþ\ e¶mÀãWxÜ
-\91[`\9a{<\18¸\ 1SZa\8a+Lq\81iîñhåFámKé-Å·\92ßܧ"{j\9dKZÔ¹¤/ÏÆÑ\12\87ò[\87RÒú*c\9fcý·<í.\83¹ÏÛ\ 1&ýê*>âÚÁôÙo\16ý\ 1¶?\84 \ 5órú%ë\ 5,ã%3\11
-Ïït°%÷û\apÞKÒ¤VS¹A\8f\a\ e§\ 2õù\18®ä\rέG{Å/-3WÅ×7\870\ 2\98@_ú÷g'ö\rwm´\v8è~\8bí»JäÙ\80¦µA\86·Þ\ 2Ä}¨tF<s\9b\89Ô=/ÏT\8d§!ê\12êÅ\95­rP/ö\19$<\132\ e{\ eµðÍàM˶3¸bxnÓèJW¦Ðø6uØü\95ßÈÇ|6\12/\8dÒ\95Ý:+Û\ eÁþ·\ 3\89\vy~\7f¹\9e\ 5K\ 4d»Ð³ËÎÊèó]ÏZ\8fuðB&úZ÷±\1e\16\1a\89Ý7ЧU}ôû(\90¹\r\99T\17âýª<·\99©Ü±ñH\19\85\f\9dÆ\19©\9dà=>?\8e\81Ât\98½¿"³Úå°\92ËܦÑ%J¦ßw\9axhä®Ü\16ïWù¹ÍLìj\0\1e!O}laû \80(\14uZ\eÚJgë\f\1f\1fï*Ù:¬\83­z£`5â#¹s\eýwù¬NÔ¹\rÐEs\9fòÏM&J÷¬<R\8c\82î©Z9Q{ÛA:ÌÉ\my°ÀK\99Lm\94(Ñ6ùºÓÈ©I(ô\13\rú}\9a\99\b]\bþ\11r\9c×ýÇ.4³zÝ\ e\90\99ݺ   \81@\É~Çåܨ\11&\92jÎÈ(͹QÃxÏ Ím\ eÔ.&Ì#\ 4ª&\85G²Ø&P\85Ã|\84Íï¼\16¶ßÉ7·E\9fUS£ßG·Ea\r\1fV\1a³p'æ\ 6â\8eèóºÄ\8e8æ63\9d3/³×Ò\8dÓcæäLÉè³è\1cP\7f¤b82»ÿ½¹\ f4O\8bY»gs\9bê\90Ôç·¡ç\11~ j!Ã'¸)³Ê\f'd\;YtÏó£j)L\87¬:"\8aAlÆHï¾A#©*ÍÑ\83\98\1a¨\ar\9fæÎm\ e$Nl<ÑQ9(\9fÚ1{¼<ðøô8\ 6\r&ì.HÅp\94Éþ÷æ'\88b-c\90¹\8dø\1ew©÷þ÷\99¾\95Ð\9fà\99\1cÕ°ådÛRPdB\ f)ÙÑAU-T\98\ eñÎñ-¶ÙÚ\91â¹M#«jÚÑk\98\e\88×q\8f®ÏMf2gV\9eæ\9b\1c\14±Vþ\fÕA\19«éøþr¢=¹\83g¢Ã¬^Gí\7f!\8fÝïê\1e\88\86\85©\85¢¹KË÷¿O´-\84ý\ 4gäiëǬL£+Ò|(ñ2Ä\8e«#Ò¹Û7h¾\80Èfå\eÌmF¿l5<ûß\ f\ 4.fÄ\13¼\ fú\97ÓX\8fÕ>}~L\17µ>Å+P\ fDq¨ÙÑï£\97¢°æ1\0îÖ\1eÄ¡\8dàÓ>t\95\1dñÌmfZg~\1e)NE9Ú´§¸4ãp´>Å\96«Ë¢8V¢\99Ûh\1f¼âص\137·©\ e\8cö°íúßÿv p!ø'¸7\v\9dÔû\1d¬Þæ\12úe\b\87,̨\93­OõTÙ{Q\fb\85Fz÷\r\9a«!ª¶r=æ6ê¾Ü§ös\9b\ 3\99\13+Otq\8eêxQî`¦xôqt¬Õ\87Q\14+ÉÌm´\ fÕ´eØ2·\11|÷iýÜf¦u5\ 2Oðw.±\95©o\9c÷[\86\86¤¯êeëS\ 6|H&ë~8\9b÷\91ä¹Mó>DñVÞÈ¡\8dx4÷Ì\80¹ÉLêÌÎÓ\9c\9e\85¥T\9fѵ\13Ѫ\9a\a¯g\1c
-íP\ 6\1a\94ÊÔ&¶»êXç\16ÎÉÔbô¤ïÒþ¹ÍDçBòOð\80\9eºàÌú5ú@-±).N3÷ê\ 5\8d\8d´\13\95ÔÊO\99Û\8c\19Ó»\86lns v1aÆTÃ8ù~u\1aö¡\1eµM²íVf¬\86}{D1¬\\89¹M£j\80Ï+çܦ®½Úöë\7fÿÛD_£ý\89«È(º§dô·Ý\ 2R\89Ò¥Aû^-xs\9bFÏàä\1cüɹÍà\9aÜ58s\9b\9d\8b§\19º§JO\1eßF\eW)Rë¥=¯\fòÜF\89\19Ò^\93ñ\99Z\8c)«»\ 6hn³£²ÑÿD˶\90Û£\12ÍÛΦU\9aÔXµ\89¢\16mäjnÔ\b\1a·8'K3·\19÷%ï\1a¢¹ÍDjcc\90_»$¨û\1d¬I?áf÷#\13\89\1d\8fÞÌ~|BöûÓ\1d\9b\86Oدÿ\8c½<\1d\93v\81O\98îi»k\9bý.\11ÝGç]Ûì\17ì\83ß«;\9f¿\81ýÈäÐÞ \18\15\1dæµÑs¨\8b±}ô\ 6öãS­ß\9f\96»~OØ \7fêvܽ#õ\18©ÜGÝ]Ûä\ fiüO²¯üØTØc¦Úbì\1e½¿üØÌè÷§õ\ 6çSöÏ?cÛñ^Åy\84\îÝÞ_oe? Õ?Ù¦æ\13²\ 3\17\98\9aÕ\8eâSö6\9f\92~\e\97±Ý¦Òc÷o\9f¼çs¯Ú<F4w\92¶^Ü/Ø\15½hÆÿ$Û\9aO\bð\1fc®Gñ=e\7fó)©´a%\eÑ?v\ 3÷iÛ8\17\8dÜc¤s'\81ë%þsõþ§Ú¥|J®ã\ 2\8bµ\18קlV>>\116.u#öGïÆ>y{ë\92\12¹Ü½O¼Zý\1fÐø\9fl?ì   ù\8b§\ 4"cÞï){cOIh\8d+Ýnká    {\80\9f\91ò¿h¹»D>÷Ñw\97'ðÐVÙO²\87õ\84TÎ#â±Q4OÙÇzJZoXÊFôOج{jRþ¢Uþ\12ÑÜGÝ]«üCZýSí0=%\8duÇÐ<e\17éñIËq5\1a±?e«ì©;\f\8f`þÞ\9dºõRü\80fÞq²(àû·¿zÿî7\1fÞ¼ûøæÝ\ f_}UÁ|àhüáô«?á\97\\7f¹ùðéÇ\7fÒ~ÚÑ#\86â\0Ò\97§í|Mÿûû\7f9}:íÎ\17­O\17ñÙ¢¯R&ÑE¬\969\9a­¾úõ\16à\8d#j7\80¿Ù\81CÉ4$|_öØÉ\1dà¡\93w'lï`KQÞ\13eÚ¶¬BJ-Uû##¤þ<-õ9n\8el\1f\9fÙ«àÌ7#3x£¹\f ¦`*\15¸å\\ 4è}\96\96\8eƧ\82m        ÒÖ¸\94Z\aQ\90Y\9f̹¢*ÅI\aÞ\ 4y>_¥\12åù`½\97¦±X\ 1:bì¼äàÙ        êñW×\1f>>\7fóêã\9b÷ï^~øóùç\ 4ú\ 2WNç\14ã\97ç¿úÝGÒ\82\1fÎ_ÜÜ\¿zõéö·ï?¾DÓ/Ïÿ\91\1aþïô?PaP\11\89\ 4\ 43g·P¥c¸Ø4\vØ\90\8a
-°(s\9b±I\80\83t°Â<\93\ eø¢ñ
-vÙHÛÎÈ\16\93W`\ e^\80%¦ÞA\ eùÐÖÑÈ
-Ðk§\13\a?¡tÌU\8eª$6\86(Ò1\ 3ÉÎ\14w®@úS\b¶¹\ e=\ 1·¸\89\18¬\8dQ\983\ 3Í&xí \90x\14hüyIÁO:ö\91¬\92h`\eø´é\18sd!À`T«ÉvË°ÕéÍÃF̼:éh&?\80\97Cüw\8aË\e\9d\82ÞhÛ\\8aN«\Â}bä\97\82G\159yÁÚë&b\94i9qúo.Â`tºÇN\81\8bª¹üú\19\ 1\1a/rÍÈVª\f]\13A2¥Í³\92\84׸ÙðoË\97\15\8fn¬2VÅ7Ñ\99
-\ 6\89\ 2³Uc"ê\8cTï½ßJ\ 5Z\9cج\ 3FnQÞR\ 5\a¼\14¬\ 2é\7fÒA    2«ñÂ\ 6Ó\80ÑH\a$'SÕ+Q,d*\ 5¾\8916SNÀØÈrÖ\88Õ6¡\8d\ 3\8eóÚªË\89hL¹ö\9a³©@êËÛ(@ë¬\f\8e¿òQÛF0SÉ¢q\16²<vødê¦J\16õï½iJ\e\83Ë"Ú\90uáñ\ 2¢¡×¥À\92A\11¹\ 6#\86\95)´22\e\\9a
-TÓA@Â,@k½\f\16É'´\ e\14\7f 1lKÔV\82­Àìë´Åº\93]¨À´¥¾îI·\81\ 6Ùª\85ØÚpÅäòy©D?\9d\82n\10®Ný´mVVuKK@\16#L¬V>,-f\8eéðõUtÿÀm±\84Dµâ\8e\8d\a:Ëq\9aeôTà48w\9a¬\f$\8e \99\10¤[g\9c´u4\0\15ȧ\91*\90B­\\81.lb¾\80,ÕÅÞW_B\80"^\10\9b´×º{È\14\98ì[\aVL\1d\8eC 2\8b7®(\10\ 1G\15W\80Ý­\14\14§\14\90{%þ\ eapu6\0èÔTeçÎKqÿ¤Ci¶:yd"«ÿh\93\11ñòK)*л¤Àäîç-\14'B×9¹õ\95ÛÃoiÂIÕ´\120¥Ð:ðÆ)\98VtikC£JLEwu\ 1Ä+A´\ 3\9dT\ 4¶Õ\abn\9dv`­;/Eð\13\9ar\8a-Ì&}³\19¨¦<ÕУ\82³­\vR©Ë¨èCd\96­AÍ\82ê¹wÂ\1d\81]\88ª½®ºª\ 4ôÑ6ùÖ\ 1"`\8cª¦Î\85ö¼\9a}Ïï\90ª°Ò\1eßb\9d~\96\16\rãÅÓàÌe}Þ\ eÞhÁ¨U`LAÛÆ:è\ 4¤eE\94\97\93\ 3Wͪ´uµ-»^E\91mV\8068%\vG°´\ 3\8av\e¸\1aM\ 6¦¬óWÄ\ 2`i\16\88øz%\1d\90ÿ£"pU\99\12+\ 3cSu.ÑAjz\veV
-LT\13\14¬UdäÁIÛ(n\15d D¥¨Î\1aZ:/\ 3CP}ܤ"À\10:Wkü~\vY-XQ\ 6B\88Ò\81%Ã(Àd³²\8a4\87vPrë@\86Ë\ fSÌúj\98        \18\9cN1\ 3RëóÔªjÑ\fÒáÒñÞ\ 1ï  4a\19Ì\13e«¤I\rïV\82æ0ÓÄÔáR?iPC7ê±Óõ\14\84\89Â\90¹Í%
-»]¹³\17Í\b\88¤Ô\b\17ñh\bJ\v¸6T ³!©\r/ú<Í^í\14ëØ+é `í¨\8cmu¸"×\90\8bXl\r\84  \18ÛÜ\88à¯\12\10\94\0ÒF'msR\1f6ÂêT`)Á¨gìrë $k\87~\ 5\18Ô\8d\19q\85r\1a<ãÖ\81\b0\16\19ÂDóLC\96H\8e\9e\ 2\83®l\11\ÕÇÉ{jr\rY\84\95å­µ\fÄ"Y\81\9cD­@8_µ\83L\ e¢J»Ñ:æ\12h\196\ 2ôI\r\88k\a\85\b7\82,¹º\90\130\95\86,\91òÿ\9d´-Îèò,)\ 2\87´®®Ï%Ö\90Ááý[ÅÏÈ\1cò\9c\9b\19V«Úknm£D¤ Ëd¡67¿Å"ó±\89_è\õ6!\83\16\8bå\£\1e\96\97Î\19hì«Ó\9dM\97\9dÞIÀ\91Ø%[w\8b@E\v\ 3bª¸hA+>\fm+°;>ä\rËóðM²Le~I\96t\9aZB'\16w?\ 1ÇñZ\8eìQ\vîÕ\98I»þát§&.uö\ eý¦~C\96ɤ®\14±àMiîs\13\97+I3\ 50k<â.\91ÓX×4Z }EæñJµ(À\84\ 2\ 6ìSd\ 1ºÍIH\1cà\8do\ 2¦\9e\98Ý\90\10\01\ 5\ 67·ð\1c\8fò\ 63\ 6nÁJ\a1I\80\12
-¤ìØÊ&äóª= \ 1\95@;\91rm^2\91©\90ܸ\83Läd¸\93¡$r"ªç\98S}å\19·õ\9b\0ihxQn©L\16b]þ\91­¬+r\81\ e5ï_t\90\80ºFÐ:\e4f¤.·è$\94¤u!\vr\1f5Ææ÷ì\ 2\88DH]ÒÉ\80¥¢\1dÄjŹmÙR%Ô´\95\83\82>Ic%b¤Ô±Î\bôÄUH4Ñ\f;K\bke\95Â\95\±*V&kÍTEßÜv\12$æS\95?D]\9fß\9a«\13MÓíÒØ\8a\9b.=\b*\919d\ e\ 290\8eU\88\93guQ÷±\85{4M\Í'¸\8c\ 4\15ç.ë\94\8b\9a\9aå`µF[ηu\92&\89\89Ü«³-îÍÃ2\ 1Ý6\9b\80½ú\8bD¸¯1.\89Àù(Ó¨Hä\90«²½\92uÆJp\99ñ&H]\94s®a
-Âí¬.PðFP\99Ø\97¹MÒ§¹¦gk§F¢µ\ç\88Ln\89BI\87\91zx¥K\87uBlÆä\92\85ÎÙTu\8b\13WBjñ\92Ð`\1f¬¯ÔYôP\83S\ 2ú\M\11²\b5öǶiLÒ\12&^}\15ß\9eÏI]\9dìk¼J
-Mr\15 \91Ä\16¦Xó\14à÷T²\88\12õL3V\8b:5lsµ8   QñÔxê«\1a\1d4¢8füªÆ!ÅJ\9a\844OC\16\8aø5\9fA^¸t\80Dh\91\8cFJb¡·\96ø%¢L\1dASÚ\1aG\92\8aQÜMÓ\174âËH²¬H\11 \ 3Åÿ1\98[\9a=2V8Àn\99$ÀS\8dÅ*P­kl\81\f\ 1պƪaÚA\8cFÀêë \ 3£bÕP\ eÀجC̶uàK\91uZå\8d÷\85Ú \198ç4«\96%@\8cÕe\7fuº³í\1d½ÞAÁ\92Ú%_K\19à\f\80\15ÂZú>P\a\9aÖÊÆÕ^}MÜU§¤hÐ`z\84\12\10¬\19m+~|h³\13ÀÆ\823\1aû\12²­h\ eÎ\9bêì\98À7óJ[[ã\1eÓ\9dkò \9c\ 6yB+Î\ e¹ÔÚVý{ÄüIÓ\98º\81@@²\ 5­\ 3õ¹)~\90µ\93\ 4³eÍM´L¬ÞªS}8õ    \80,hä¥ÛWÄB2F×4¤}\85Yc¤eÁ\ 4W!Æ¢K]ÒaD\98§Y\89H«¢ì\14 «¦\8e\8dº
-CÚ7À¯\8f÷        ¼'ÐBKµ\19\84aM^Qö*zR\8e\80H1µ\ eÄaC\ 4-ißCjå\1f~²´\rL\1dö\ fkßmÛ\12\96Í\19M/ä\16q{Ù`ôm¯\fy\ 4q\84vi\e×Ö\9b\1eíý߬½ÛªvK\92\1dö\ 4õ\ eûÆ`\vv\91çÃ¥´¤\v\9bÏØ\18º\91\88Ýj\1fĪ\vY\8dðÛ{FÄ\18#s­oý»\851EQ\7fÅ\9a_ÎÌ\9cy\88Ã\88\11fÓS\99\94\ 1º¥ò¹ÎH{\9bþ\15ó¿m\19ìY\9aL\97½ÿµû\7füÿ35\7f\17\ 1í\7fó·\7fø\12Îþ/\8erÿ\96ÿ?ǹk(\1fîô·\8fñ\EÏl\7f\11¿¾\88û¶5ø|\8e\17\7fÿ.¹~\8aÀ6
-ºü\aoê9ÌRx\8e\93\a\>!-\8f\96\ 2isµÇ\84i\852\96¹÷LèQ\12\17Ê7úìâg\9fÆQ\93Ã\97\ 1a\8a\90­EoÜ\8e7ászôx\95ÿ\86\rÔÞ F\98Ð\84ÔO¬\92µ\1f¡þä\8cã>\1f¿\8bÍ\11ý9\16\19Sg.\8eèC
-m\883º,\93+´÷\85\ 1\9bÚ¼Ùµ¸\8c¯Oò\bÝuÃ×ùÏB\ 3/UÍn÷&{³vë°\13¾\99ãá\bà\99°·\8d/\91Â\1fà³c\ e\87h` Ìåâ±Ðî£új&\97Ãn\1e¡»ÐÑj¡Yâ\7fþÀ\a\1e¥Q\1c~X{ÖÝ;1Þ槳=éz/\96B¯§\8190\rîk\820q\ÏõÓ\7fûi\85\99çÙä¦\8cµ\1a\8fæ\8c¥g±°\8d\ fä×ILÙs\7fÏ8vS\98\1d\12C54³Ì#Ç&ܽð\e÷:!t\87P\fÎÔû\ f4à6ï×1¯pÝ»p\8c\ e\19u¨GfacþÞíUl\8a\11\1dØF5Áy\98eBè\eÁ\9ft\7f\8f:\80éÉá\92\v\7f¿\10Òtóh5{0Ãà\8dõ\9f\ 5s¾ÓH-\1c\96ݾ\ 3}mv§óSn\8c6S?u¡z\0|\86¯\85\16Öiàù \1c®\85RCø(ùø\b0½\8\8b\84p¯¹xg\88ÝHzadn\9eÅR\88\84yΠ  aN\14úÇ\ f¡yaÙn\ 4cl\89\15óa¼ø:_bnT\87©nMÄB0áN\85ÓèjaXÚÏ)¢)ÇÖylC®\98<2\9aÜ\ 5;úm\85sé¿Í#O]^i)\8c>î?\9e7;¬\97\94??{µz\84ß¿ä?Â\ fÂ¥ÛãZþ\84¸\8eU¨>\87G­WÅ'\87|¸&¬«_ÊsX×Ï%T6ãõ¹ÆIèâ5ø:DC\1eKüôaæPò\9e'\9fyl!ìò;<Ϧ,u\f^½GØVØÌv¨VÈzïPS\1d
-Áß·Ò \13÷¤~\95p\8aG¿Zx¿z\15\10¡+\bnOv:õ<\8aÏvÝ\89\ 1ñÊh\17\9aRX\11\86pzÑûT\12LÄg\1dU¼nfêûî\9aøñûàÃí\14\80Q(«\15 ¹m·\91ôø\19:ìN²\ eZ¸Pø$Ý\9bK\ 6á6Ú\1c\86\8b×ä£ô\ 15¹ªÞ;À%ÕBO^r\r}BLMïÙ'æØà\fõ\9a .a:u\v>WÈ2\82æïÍò}Ù|\13#öâ\12\0ÄØ¢\8fVT¹ªä\8b{,\13-5oY\ e:.ág\ 2slgW\82_\12×q\89)4\9fÇ\9b0ßBµk\1f2Äi--÷PH\96¦ø}d\18ò(¸åÝï¢!\9b\18¨&\9di.Üô\aÑS÷\b\1f³^\9e£\ 6\9f\8dÈ÷\92ÕlÂ>Ç[\ 3ßz\80®5û8k\86fj\1e\19ïY\9b±±\1fé\88\vâP LLÀÖ#\ft£  ýè\bác\16\94hÖÝb\1fh`­\8e·áæ]mYV\ 3\8fÑÌ\95ÔЪgì³\ 1×fBl.\9eèØ\82:Úý
-ëjaÎpØæÖ(\)Á\8b;ÌqÿÁß\8f\86Û%\ 1\15tõk\86Y\8b\ e\98µKM`\ 3\e\98éy!6\)fÑ\96g\b\9b°²\81²\89\15h3´Õ\98qóI¼~ü<¯øl\138â¸ÿW\8bÏfÒ\96¡Ã¸{î%ñæÃ\bey\v\99B\v\81þÔìÇy]\1a¸\8f\9e\1d9ÿ¹÷9ò/n¯plÏE÷­·\10Fæ{³çL:8±G\15Ï:\93ò&$ª/\9e3¥.ºäB\95úñðù\93ãÝ,i\ 2Ð\9eáo4á\80\98è\ 2à\ 5ïý:÷r\1f\ 4\ 5üùg×ÌÙÎ\86&këÜj[a-\9e£v£ð\86\18»óîùö:\9e\1c×pxò^:ix\vZ\8a\ 4Î\84¬Ù7í=î\1esÉw\1e\14\1eãâIã\90{\17×\98\8cGÆ Ø\12¤ñ§\83\ 6ýJ\v^jèü~ª\85qj1\ 1\80ƬöU;1\81µÔÀ\f\10\8aáçf[h \86Òa Ïºy\80\ 2ÿépc^\ fÃ\ 2ua  \98M¦c±ú¶õ\98@[lÕ\81¶þ¤\1f~\9c\ 2ÚÌ[¸*?\98\aâ\a\ 3ñ\ 3\9bí\12\8añ3\84MìâÓ\83Ç&Æ·Y\bPZ¸$\94s\ 3³\ 6Øê\91Í\ÙÕ3\87ýÑ\9d½_\1e\18   ßñ#Ä\96p\84i(S\8f°­\81aÍRN\ 3½9\8eÍà\99\96ö²Ò\10W!xr4v\95Þ\89\11ÏF1¼×ÃB°~\90X«{H\18ñ¦|ù\1dL\9cC\9fÌ0²^\10\8fX\89\16ÛÙ\9c\84\&\ 6FXÃ3\85;ñ{=\97ýÔÌ\9eOÎ3`Hý5!ÔT\13b\ 67\81øöëÐÙ\f°hFÆ\vbO8\88!$D¬\fãÞ6\17\17\97ÀX\10\9d«ÎÄ\9a\16\ 2¡m\rÅ\96±Éæ\8a/¸&|ôs\9e-\aÓÕú?µ¸S\î6+À7Ú\96  I\13\91¹¶\8b7m\1cu\8f\18@U[.3l\ 2\8f¸MLßÀ\12è\9b±\92\8c³=\8eÐýWçm\8bѦ\88Öt[¦mñ[m   ýªõVµ\86ºí©\8d\11xt4\84î4\88\97¥Ð!\1ea\19\e\8bJO_0ú|^\10\bì\93¦Õ\15\9eìS{#\a\87·À/4Û\19¯³à\10b[Ý\94ê\84èÒ8ªí\86³c^0\96Þ\ 3í´.pt7O¾â53Î\aû}é÷ÕÂßûÅïbF \1ea\1e\f\84Q\87x\84³o\84·@Þ\10â^\16\ 6\96LK\ fa\e\eW\16\97q\1f\8d\vOÿLXë\f\85I\a\7f\ eüÍ£?¼-¾
-àñÝ\86÷ßgq\8c\8cÓPk>]AÞR±ilK5Æ]#¥\ 5WR.¸R\1e\95\81Ê\10+\ 3\84\1eæ_¼\90*q\15#\ 5¨;ÄIw\9ag«Ä\9d\86\8dôt 0NîËìãçû\13
-W_BtÍ\09}R¼\19Ï\93e¸b\9c±\92Vè[&\9c\85ËËô-®f÷Õb\81\ 5\84yO.°\88S¾÷\80w~
-C>ÆÜ\89\9f5q\\17>C\83\94Ég\81>ýúdÊg.­.\ eÄX\8f6ïif6\10\98Ö_\7f\8cëÙV\19Þ/X»+Öî\8fC8\8a`ǧë\81\9c¦"H\a\97É\95>@û»r\ 3L=\\8cs¥Z\8e&X«bGsKkÜôa\10\f\1a\19ñ Ü÷i\80z\ e®e\b¡»X\94\89\8d~\eÁ\19\1aÝ×#ÆÀ¡¹[5\ e\a3<y:\1d\ 1gÐOàe\84\17:*Ä\93h\11©ýYFM=sóÇ\8eq¡áX
-m\96:î8þI8Ù_|x\10\86îÇ%\84\95\98_¸¥ß\9båëª|G+Î0YÍEjë1zݳé\9bãÒ\ 4©È\99\90[Î.ÖÁcÒÝ÷¼\1aÃ'à\87*¯Æ\1c\ e\r\
-\85{\80    >34\1e\9d=\8bwÅ\Ú\1a¹\ f\b¶_o8»1ãÎ6Ô\aUý-\ f\98çhL^\8dYI(B¨<GÄÖÈ&ò¡ú\8ax8Æ\15Z߯O#O ^áÝáÕºJÆÊ#\9cØ\1aÝ´\8eüëò÷ô\ e\8d\b­@8t¯\1dY\9aL\82\11bÞô\80P¯|í\86.i\83\85\8bër/mÅA\rH\91\8f\80Âh7\ 2\ e1[4ûh;ؼö\8e»®\1fo\8fÅ\97Î%¬Ë"ãeC\88d»U6¿¬\87\16t\83,\1eþ: \1f\r­n\r!Ny+íÜ;'+ï­åY&ÏB\ 4hMï\95×\96óâB%(i\ e]\9d%ÆÆÀLx¶¶\82\ fëÞCn°\83ü¡\16ð¾ïx\a\9a\v·àÌó\9d÷Iñ(pç¶Lµ¥¥#\932ÄÌ\94\1eV¨ô\1e\1d»ç÷á\90ùöûoï·\93â_ü\93;Jv\18\91Ø9ÿ       ±Ç\ 5\\ü2Y^\83ZJ\Km\a¶á\9b\93â\9cëì(\8b:e¼ËuÿßÝùGÔý¾\1dà濧ÙÙS\96S²bOm©)î>Ü´;{8¬\8cH\0\aÐ>ñW÷\8b\ 3¡nÑ´\88¹[\17Ra\17` vK\83ixrÍãïϳU\ ewbX}Rwê\80Í?ÂÒx\87\9b¯\9e£bHiÅ¥\em\16i¥£Ð\81K\1fÃ\8ck\89Ýg:Á\8cÜ\90¯Ï®\bNaü\0.ZG\9b~¿ a­\88^ÑOO\bð\8eUNqÇ©b'laÀaAÛÞ_¢#P\96\1fácÌáuU1¼}\14:@-\è:4.ÔÝѪÛàçò\9d\93jåñ0\r\ e-éòî\89\8au:ç²i\e\\È\95\ 4`úã\8f0#\ 6 ¤oïçùñèð-\12\fÝíU1* L\aZô4?\aͱM¨T,ؽf\1aUö©F\90Û\9eK\9aj¿,ô~Ä\81÷ù¹§âÄ\93Dzb\g[\ 4\¿^\8d\eÖQuè\11°|[\0\7f\13"\8a\f\9c\0{\9f\12ý!L\wÓn£«ûhT4\ 2w¸ÌÔÿM«×O\aª\8b\v¶4\9djGÍ2¡¦¯Ê\19\90°øzx\1c­=$9Ûþ\97a\9bÖÙ©áñ\8eW7üÜ#8.c\86\8dâ\1fnÚÛöÑ\ 1\ 4k\9b\1a©{.àÁ\88¥ø\9c~uÒÙâ\97Ö\aNÏ<9\9d®\85¼$æááZ)\9aX\14z8èÇSÙNìüÛ¿FÏè\96Æ\89Ì#\e>\12.\f¾t\17î\f\r->ò÷EðÖ®_\13\7f÷\97\14ï5\bz\9d\88óØ"cæh Ì]ÚBMI%2 B\88\93Þ\84Á\8ahB\1d\12&\ e¶Ö}:hÂ]ê\17 Ç{\a ðÖ\8ep\8e\87®å¼}Äî\85tq\95\13¹\9aaß×õ4\9a¨\11w9\aÍ{»|aÂj· \ 3ÌF\83õ»^ä\81\88ÄÐOMq©!>\11{¸& L\¸\ 3Tÿ­Q¼Ê\f¢Ä(Z7<ì'Å\b4\998ác;ô.!\88Ï«È\84\ eÆt!îmGî1\92çöóÇϯ\83\ eS2@\16\ e\13â\93âJÌ\ 1ýÓ%Yr\1a\82|\ 3»Þ\84\b\a®X\12D\ 6{\0.\1aX]¿\1f¤:\ 1Dò½\ 3çc\ 4"Ãçͼ3ü\1eqO¹\18ûÕ\85\8cw19É\84\88 \ e+\98\8c»Ös]úf»\81ô4¡\9bÅ.\ 4¿ÇÛ\97û±W\98HKé(\15\7fpw÷'ÅjcA\89©¦sæ¯á9\93\8d\88Ä\8d\v`h¿Wo\19û6a\97\10Nî÷\ e|¨g®1\ 2VBJ\13\13ûÝîbL\ 3ôÞ\90ÍÅ\86}\ 5Ä~˼\83ß\9bÅL4KM\9a\88èuÆâ\9a\81È\ 2[fÉ/\r»¶ñ\82ô\0$\92Õ\8c\19
-M\eZ\b¡ÊïÍrx\v>t_\80fÍ|B\1cÞG\8f\8açH.¨t$¹\10xܺ\ 2l\83ø9'~\ 1æëÒ\11ס      =Bó­Ño\1dà\1eOtd?'\9c\a\17?!\8e ¾Ä\10æ8¹\8b\18P\\18*\ 5\84\1f\841QÂ[öúùu/õ\83ø\89\88\e)' \93 ELÇýñQ¿}Cø\frCH,Êdâ\10Äa[Z«ÐÌÔÀ{\a0A\86Å^        KÈ\eþ¤8ñÐf2X&\ 4P «\10Ò¶\ 3Ó\16±Ø}\10áEo\96  \81\98²û(VÚ{\ føí\8a\92¼gX\98¼\15\8fÓ±rÌ%lXX¾\85·bB\92Ùt\15\95\97bîý«CÁ^Õø*Þ\1aïï?\1dûÚ.É\ 1\98I:\ f{S\96\96ëÉ\11\90\11»6\ 2`óÁß·!Wy!\ fÀÞì\ 3]-?\8c+¾åRÞÉ\bÎ\90O\8a{bÊ\ 1AüKª¦¥\8d\0+¿°é]Ø÷IÐØ\88\94ê¬ôß\93Ëd\81\1fä½\ 3\84¯í\v\17\14\1c\13\83\15\ 5@s\87ã1VY]Uë¿ÎAPj\ 2æwaËúÚ%(n!<íP×}°\9c\81t\v\r«    J9      Á­k\12\fêÊ¢\v3\13\8d\1d\8b)N`\8d`%jGð\148\983QE«³k\0\81Kp$Ï\ 2\84×Î@@vx(\98\89³¢I½Ù7\v/}<uÎÆ\9e\883¤º·Ânæ\8b\9dO0îü±xrD\1e\8c·¹urLs%Å\1cٮ砠     XZÇÔ5¢57ÂçqyaêýnÃÔ»/N=\80Ã<EJü\8bGZª\84@rÅ'c+\81p#LìHÛ\8a\1e8V\89í\ e\80^SÀtØn.\15\a\92>õVtÉ¢´üP¿8j'òn.$¹\1dc\84\96:\8cèÇÅ~.#\8fD¸³Èµ\aÞ\ 2µÐ1å qÞ%\fUØÓü\16\8e\1f\r\19\8ez^üý9çÞÞv)\a\89q&w\99~R¼åWÚ\f\84\9b\18N\89\15JC\bé\9aZrÀ¾·{Æí\ e\91õ\8dîÎÄí\16\81y\v1¿\7f æ¾É¾¶Jü\98\94+i_âSbúrhM¹\90£ód+\bggþ¢<DþìlïÏ\1eáÝê\97\1e°k9\92áBôeþ)ñªTFæsá\9e_ÕV\13Né²vÖ²k\1e\ f\876\1a1?\13\f\8bó\87\1eܳFÿÙQ\19¿Hw\84ÆÚ\r\12$Âä§1\7foà~VxÀ\8e ì[\a¨\feÁ\ 5Âê\93ÒÍ;\89®¦\9a\f¡\9d\b\7f\8fg\9f£\88ñ+\9c\1e_\9eíYùö_ßÅ>Ti\81=.ªÏ\9fÅ/\8a\91\90Ð\95\98eÂ:\10´\9b\9b°3æ7\vWÚOíÆ\r
-\v¨ß8Ä9Álèâ\15´@Ùàé£\84°\ 1Ê\99M\99¯h     µ\99\11q    1¢vÖêÊ\12N
-¿õàZ?_7\8d\16Ð\9eðÒM:f\8a Ý8j \\ 5\8b\8c\ 4a\7fö\1cKüý\ 1¤2Çú§]\eöõ\92\e\bßà\13\90\85\18¤gå¤QTíD\13\8a÷cm:¬M\I,@T«7PÉàs\88\r<£2\84\9aõ÷\8eÑ#ð(¦\0- ÆúIñ¡\88 µÍ\8cì-\17*Wø\11â\ e\81Ä\v\87´Ñ\16¾ä\10\1e4\1f¿½åJçÎ!\ fQ<\fe\99Vj\82e(ÎYeÌ\e×J\15\13éîüý¼\9a¥în\'À\88\94\93¯nXXqxRið)Èd[aȸL"»¬\a$=\9a\1ak\rd\bçü4@ßE!\ 68(RùÑ\ 1ö"\13$\7fï\e2\1e\95\ríÍ\92\87Æ£û¯_}a\88\ 3ãç¬\1aàS:éBÆ\137\985O°N=9Hþ}EÝ(7Î\82Fæé¯8«ß\97Ò\87ÖØ·%Â5V\ 5øl\88â\94\ 3Â1\ fÿ\94pW\91\8c)Sa¶vHj&á\\17\ 1ÜO\8b4ºv8¨zÀD\98gz2J\18\1c0¡2nËa¦jÔ\9cìsþ\81\9f\17\1eáLü¼Wý|2UÿÛû\89\8f0ÓqÝC&¤\96\98ã\16§øï\11äZ\8c\f:@\ eÂÍɹ\82äob\86äf_\9cJÆx²\90ZíÊT9Ù\19'úÿÞ]^#EÉ@%lÃO\8a¡Õ\15¡A\8d
-³/>\e>ôG¶\91ÂV\82Êé\ 3¿÷í\ebh!&\ 4\eE     H\1e\84}ÂÕâ\90=5\90\17Ú\95×áK¯\10jy\1f\ 1×Î\80QàMl´\9d\10ª\93\91w$\9e\tøÔØì\7frr\rEa\8c\90\10\8a¾\8fCØüÞ\83\ fÍ:U\96\1a~\19Î:\ 3\12\87Þí\11öDÖ9²ùä¢8~»0M\8f¸\16nDb\9a\18òÄêP\ 46oá\f\ 3\84:5qÁØËà\8ehZ¿ïC8cK@Y´p^|JLºÁ\84»Á{AÑøg:\96\80Qh\87Çõk\9bMm~}ÿ\89ÿï\ e\ 4\98\96·©\92s\16yñÜ\84\95\18G`\95\9eÿ\b\99bZ\ f¼+É[R\8fÁ\1dQ÷Á\8b\ 3~K\8bO¿Ñ\r[\86Ûàu\96ì\8aÒ!\ 1\90Q¹î\92\9e@\9d\7fï\19\v\91\8bÈ\9b¤á\16Å\12\v1\8a\89\84x7ÞQÄßYÀªSØ2\eeN\95\9dÄÔ        Ú\ e\98z\10趥^\1d^îfl0¤g:¤¥\ 6~($×C\90Þ:ÕICX`uÚ\14fª/îràÄ\10xPåßò\19 ®\94`>\9bP\9bxfR\ 6Ú\14\ 2í\ 5\r\863ûÌפÖ\96\94é5ù,éV~u¬§ë.u\9fn\8c\8c\9aB\8f¯\e3CÐ[\8fÕýÏ\ 6\1dQ\87\10\89(\0{àe\8dè×Y:S\83@£äâ\81Xo[Jð\â\8emK8\85y\7f²§\81Å\94;*0\96Ý´è\96¤½`YH»\12ðÖ\94Ü\14\ 2''d\1e\17Ñ53\10»øq"¢\8a'Û#<PÖ£Û¶¡\18í<ó:\11Ö¼\91Oö*°P\8c\93\r`{\1cÿ­%;Á\19Ñ\85x7\8a'Aʪò\1eM<ÅãÌ5ßu]ϳ;F$·¬¯H1{VÎb\8f\96
-)\ e65§\ fH[0a(ÒmÈÄ\9cañ~`jseJ^EüÊ\93»\bW!\8aÈg¦\b\ 3Ô¦\1a ¬\fi[h\15\8c\ 4Kx\19ÿ\b\88\12ÓJ\93 cKa
-ë­\10º\e:¡        qnÜh\17\11÷˼ 6Âãº\ 2Z\83yéWJÌQÛÛ!*0\ 3mN=;`F¶®\1e\bç\95)Ó`\9f\7f]\9fýB"ÁûëBÀ{WàMÙ@\ 1\95\85\ 1,ÓRð-ãö_²¾Z»P\97¤\ 4þɽ\16b\1aJ\80DÓmÇûjF|\ 5/\ 3àv\86£6\84ã\90\8a+§á\11\13v>#Í\19+\14WÀ8'Zg¾\90E\r\94üjaÅ"ªm üíY°UM¡V|\1a\v^Udä´\1an\80h\08U\13â\9c@Ìðw7ýçb\ 3îÄd\ 3©óK0Êתø\80æ_yL\1e\8aÛ\86¿ß\99ÈtºÃ\8d"\10YáK:I«\82̯\b\ 1\aèÆ·\81mÞêå1ìÈrô\ 6°\19Ï\fÖ{m\98\82G\84D\v溧ïcq\83áºþÁ\9f\ 6igâ\ 1í»vRÆ®~\16aÿÖ\ 5&}ÄUäfÄr6ãÀæ\1aê`§m§ÄÂ\f\836\1aHA¾\1aý\82\8cv¯b\0Ä®7C\ 4r ÇømIQ¦%TKCb]¼\fAÏz3á\9d\8c\8a\96äñXâ\99¬[ül+Ø_ \14ÆlKã¨v\8aq¾\·|AÜZÅ\97%\7fu\9dÁ\ 4\8d\ 5\v\94Êdv\19\0µn¡\1a|@)\ad\v¨ç\ 2]q\fÇ\9b\92\10\94\17\85ç\14\94"¨SÑÂuH1Gà±â\94\9b\ 2f\8c\80,\9d  {AL·\r\86ø»Cx\8e¿N/ëW õ¸ÊL\f/ĺ\14\19\13\v\rV\9br<fÀ;B\88$3»ÈÅ6ï8¤Í³\v\18âÚõyÇñ´\ ey+f\18ú\1cp\12è»Ãʱ\91a\16Fô6\84Äñu\ f\15Åï\9b\ 2ðÝx\0Éàx¼ºH66Y%Û¥#Bù{êú=rÓ ÌrtÔC\v©pйØêÉ·èq±Ñ\ 5]Ë      \14á\8b\99*_aN9çÉïÁ,\89°\881Ík%\94\ 4dÉO\ 34+z8t~ÿÉYM\1fö¡úpP"\87\9bX\14\ 2Iíµ\89ÍíÖÇj\ 5\13\92\7f\9aFû¬\1a\8f¢üö X«\ 60ç'ßÀf[ÇTWcW­Eó\11N\86Ãq/Y«\89Y'»\9dù\82ò7âÏ\9c\9a,b\92\8e@½5\90©¿6²\1d\97\80«Ai\18§\ 1ú\93'ùULH#djÑXÞ0/0gçÑÔ6f.û·áÌ0-hÅ\1c½þÂ\ f¬\0\1e\ 13%tä/·\98E?¤-;Ï\80º\v\8c-\1fÏNä\8b8*\ 4\8d²ÒÔóÉ'\83S5_ù\vä37\12ã¦ü\ 5Â\80Þâ7lÀ1\8dñlã£\8c\84\ eÝíF\87*\ e\16'?ø\ 3¿'úr2zXöM\10\ 2\9dÖH\9cñ½ \8c\85ïÇ\95ajt\0\1a\96)\16Ä¥\14\10óý,Þm'Cõâ(5\87pÇ&5\9eÕFt}#±\7f\8f\98q,$úZ»R\ 3g ´?ÐÀÖ \84\ 6l²Çe\19\18yë$#«ß,ñûûT\1dâÚg©\8d!\ 2Ü\ 2
-+\86Ô¡\ 5$É_\8ej\13
-\b_I\1e_dyÛ\r\92Ù@\ eNÇXôJÔ²\92\r\8bK\96\92î¼W ÒÊI\10\98\17\96æ\11\ f1Ð:\17Õ\vbòa)ë²$]¥\13\98    \935¡nNVHI\b¨
-\8cã­æ\1dvl\-#\1dq\15\18\86\89eF\14Zx¤\80\83r¸I{(\v\fÊíΤ7®\84<\14¥\1f\87es*\87m^YÅ\19ºX\9ct½2\80GÜûP\94 ¯+ùV'e^âÉ\ed*sVSåç1sá'à\ fF«¤Q\95FZ2ŦBl\ 61:\14ϺD¬\aRSTÄh\88/ÊtÅDl\1a­®q\91*å~¥\ fo@À\8d¥s0vì\97ßïN²Ù\84}Z\95\1dx¤ú\ 6t÷X!(Í\16}\81&D\ 6Þ¸8\1eÜcÊ\9dã.µ\17Äkñº(\93\vß\¹pM\80ß\85bæã2\83Íܳ\9b\e*£Â\81\vÕ¬"ÿ\96½L\966øÇÜ×>ªL\96ÂVWe&¬{+4\v\99ñZgKF_;Mjf å{óOâ´¼Ý)\94\ 4\8bËU!å×=·D÷­£f]îpãgY,ÒÅÄ\96c3ä\1cy\8eþ¤\ 3®¢\81\1cºÍ\8ad\91põçÛ\90H@X[RB%uôÉUµÔ    M\17ñr\9e\ 6xÔ9A\ 6Ó«R&!\84'\9flN\ 1b¯ÎðM\87\8b\8a\1d\89°Ó\82V\8b\8f\9cw\8b`\9d[KÙ\84(ݳ\ 1\16Ó\8dÏ\ 6\1f¸á\89B\8eûJícHØ\8d\1d6PFå\10\96J]`_BØiL¹²ü?ãÙÞ\97Ì\16 4ï­Ï\ 4'{o\11¯6õÏ\ 4H\7flG\96ZÂí\19#HùÛϱ\8aØ׳¸\84o\9b@æß+\86\aC4ª"*&Ö\1däæÀ\vâË\vÓÐ@@\ 3c{\ 1¸y»¼\8e·Æ¹\r\1a\97\1cBz¦\v§Å,5¤b\9a\ 6\ 3\80漿A\97ßn\86\8d\13H\8eî\14ü\14§¶ä@Å,6E»\8fSÔ#\97\99Bù4\93\98T\\99\b\15Å)àè\ 2 ±µ\99   uÓKI/RR\9aÓe½Úï\eg\¥áÞÞÄ\ eÌCF0ißDì\93¾f\8c«Ê\ 3<"´\13\ f2\ 2ï\ 4\86hµÊ\852X\901ê¬\11¿Kø·\99\0LÉÝÚIU\86þ\fÚ[ü¾\bC¬6\8fz¢ä1\v\0Mjh:
-ªXbOº¸Ez\90\949\8f\ fÇ\1fåuß\90Çî\ 5+8Q¬Ñd\81\9eJÒù$R\f\8b\14-ºæ\88\Q¶\91ò\9f!ÌÔ\ 6Çù¬"4¬²¯t«3Në\11,ª ®\1aó÷CLV\ 4_9Þ\9a×*wwÖG\19\ 1b\8cßg)ê\9e¾\8fG¹ª\86h`~\8dµ>!\80\96\85'e\80íø\ 2\fC\8aÄÚ~@¦\7f\82Ùl\9däì\17N\95[ë0Ìy\ 2\ 1\rô%W»5\80\10W\8flòèm\96\bäOK£]\14?\ 6¥]\f{¡ÆÑ\8c<&¼«F%EGåV\95ä*\aåÊ\89má(ÄÄ\9c\82T\832FåÛ\95Õiý\8fÔ@û½\14\94=\14èwáåãO`Q+C·'ÒX(§*kÅö«v\81-\8fDÆwMí]\90oC[ñj*$\ 4wÏõ\87:&rw"\9e³Tä&\ f\81­N1XÎÚN\ fx{´\80v½°ÀO\9dJ&NÛ±\81«\129fq@y\ 4(\86{v8¹\fºð®-\16ZÈæÖñ&.Ñ©\82\9eÖ¨V\aë\82\10\90¶n\ eOb\ e¢\ 1Å\8c\90\ 6O¨e\18\93\85:£Nµ?1\ 1\95z³#\90X\0QI\86]çÞ5¯M\ 1Õ\1e\8a¬.\ eÕ/$\9b¥ÍР\84§\15¥Û-q¬¸¦Á\ 6x\etA\94Ý\9f\97è-\83\9bÇïïÄ'Ï\195ä«êª!æV\0Q=\1dìlÎL\94X:A\95èÒ\90ÿ»Ómá\ e\fîo\16±¶\11l.Øy_õÁ0\1eâq®ú©j~\f\8bØ\8b7±_\v5\92\9dö¶¬·%Û/¦¾.\8aDûá Z(\15Õ\19Í\83\b\17\9eÉU\ e\86z\95oðZsdì÷lµ\17ïJÀ\ 3Ý\bÀ^bP´\86\ 6\1dº\b\a?\§V;T0Mä\99§\12*]ô ±MjÂõ\10:ß'D=:k\ e¾\1aï\13K\ 6x
-\161I\1e\89ö+\94z\16H\ 3gL\8aäàh\ 1~Ûà\ 3\87°ÓïëGzG\ 2\1aI\9aì0B_í2gWO\9b¾\1eù{\9eq%tâ\10\82²\8c9N\18ÖÏ      l¼X³k&º¿\100Éç@Nâ{ÈDpy:\ 4Nô|¥v_×%èºÙ.=péìæ¤k-      ÷ùC\9eZHÉ\r\93\ 4r±Î\82»Ã8D)\ 2YB>E\8aÒáÁÈ\8ayY·E,N\12Kû;ØjR@vµ\88D\88Í8¯S\9f/d\ 41Ì`\r¤Ü\98úsÔ\8dÈÀò\9c\96¢\1a±\v\93Mg·Ì$M÷aA³\ 5\9fEÿÏÃÌp_ä½'C\9d50\98>*úÿHú&ÿ©Sbð\9a\1aX\86é¨ç\15*³7\81`{bÐ12­òéX\1c}J\ e\82vX\99\805\92zû=Ã\1cª°/#O\18â$¶`á\8a\f(Ö£m0\b=\8féìï\86\f\9c É\95\81ÑÁ\»âP\89c/
-Úz\ 3×5QGRB5LÒ®\84è\1dfd\b\84«bò/ÓÅý\9bÆB \12ÂR\12Ì\ 1\8b¾\92>\18¼+l¶ùù\12o#u´7Ëê\ e\84!\9aPÕÝè r\121òTw±\8c%Tø\8d¼/\96bnWgÉ\eâEüº\962q6^\8eeauÈNiáï__\98
-ZxçbÑ\8a¦LªA\14\9d¨²þ*\13©\94õÅ!x\ 3\93\15»lÆ ²\80t\94Sã,DZwy\9ct¨,\91\v(5\82\14òé
-«¤Sn)  sf·-\18\14¯\9d×\85\fK\97;=lIf.&]î\fL\e\1cLzHV\ fN\15¨0¦\98\ 6¬ÕÄmÞ¤G\84­\12é\8c2ìºr>¶B-î\8fìÈ
-dlË\9eô(Xl\91t5\80â\1f'\17ÜÌ\16çûò´o¸\8c\9d'²!\11ä@}ܭͬ\13×\a0®$\82\ 2jÙ y\8c¾ª\9eZb¸:ÎJì½\81´§HiÆ\890uaÃgÇ\ 6ÖÔY)0u:¬\86)ʧQ<u³ø®¦8BtqZÑû\94\94\84¯¡MPIÆö/Çý\14\80\88`\89\1fôt\rÝ\82\9bp\87\ 6\12ÂÌ\9aH\89A\85+  Õ\e¨Ú: \95uáf
-i¿\9cuqÁ÷}8.Í\87¸\1a»\ 5ß»»\1ey\84\1e\ 2r\9f\82\96¿\9d*\8c_D6)ÎëùW\9eÖç`_\88\9b\90]c\ f"·sEè\vB\11ß_
\ 4ÐÇ_O\13}\82\e8\ed\80Ö\0\94óR¿\91±+L\8c{AZg\82,®Lf,ø\98\8e       ´\94°{¸\9f\vi\11ô]7 c\9d5gø    ]-\88\97iþ=S vǬú(  ¬ð';(QÃÒ\ 6\vah®¾méøÚ¨\ 5\11¹¼rû'8Í;s\85CHN\99\83\931\92ß²;GE§=£±Þ\7f8iÌi\8f\83g1Ã׫\96å\85i-242\r\ 5\1fØ\ e½+W)\12StÁ&\EÄ\12§ÀY\84Tn²\92|_`<\90s»hM\ e­bn *ô­Á\14c\13Ç   á+n\85¿5£´Ú¡!\b¡Ó\14,ñÜ0ªD\8d8\89\15Ñêß)\17\1daµ_p#L\18Uq)ÅAbAÀÂs\80øÝ<\15KH\17\14ÜÄ*»ä\8bô\85hY[Ê\926£IâÄ\1cu\15Bò8\9c6\18\11\8d\99IÙ¡¡P\16\17Íí\91ruìS/pC\7f\16OI\b{e\19\r0ãYhªKDF\8a\92\81ªî5\13\9bN\18\85Ö\96HQ\ e\90.\9f\84üÅô\18\93ÍÅ\ 3®µ\13_\8dT=\9f\17\18¼\19¸§Øup\ü:k\92\19ºS\94\80êT0~\9eA\æOf¹\18<\1a\\91·IÒ¬¼Å­4£ \19f;W\9e;2·l\ eÝ\17à\1d\83¿ÑÊtz\99ðxV|\ f§\ 2pV\16\7ff¤ÇÕgÆÅ,nÅ¢!>ó\\ 5K<\ 2íôÀ£FÑ®¨±ì\9b\17\1e\9e\ e$\92\18\81\²¢íµâuÚM[jñ\8cü\18\86à+ÈBf¸ÛC\98D\8aDuÝcø=¿\9dI\eº\1fo\ 5ö+¼\ 4R\91\14Ùßä8 Qµ½mð\ 4T\86gBñËh@À\8f¤"\1e\9bTE!fÅ\8e\1dø\ 6\8a\ 3áà[\8auc3êFø=>0b\9aÿÞ±¦Z¶Y¤D§tpÉ"\ 1\1e\97\ 2ï\9aï}±ñ\9b¸óÊtÀå\vâ`ÓôÁAñ)EZå\8eª&!Ü(*\88yd»{°&õ\ 2\8e¿\14øëov\9fRD\ 2e\1d\13\9e£\ 2­ã_\r\88¼Bnäû°±j\90\8b\8a×     ß\9a¸rS1ÉÊ\1a\98¬ÚãF1\840\bg çþ¤\a5²'Väís
-h{Î\b¶s
-zN\93wt8\ e\8b\95,(HÛ§¡\X¯Ü; Ð\98Õ\ 4®\9bebà1*\ 5.\10ßf\båÙçjKS :\99Y\8bnÉed/\9bTÓ*Rö~â\ 3ó\95b}qÔ°\8b\13\b\ 6\965à©Ø&LÔèluV\9eKþV,\rUÏqr \98×58/'ÑÇ
-xê´Ë\8a\ 5\96v͸ÊÆWxo\83M,n7«
-ºHGv\145o Î\8f\11\90\7f¶{J\vm\91ò\97®ý\8f\ 2p|:lB\17s-FÁe\9f\ 6\96¦nRKgh2ìCÑ\ 1/¶·¦=6¥/\97&#\0&\r\eX\9dª-Ë0?}¥ººDêXº\94èygF\ f\95£\a\895\87»u\8e\19\1ar-Qç\ f#±ôë.;\81²2îE#g³\89Á\167C' ø\94«¢£Í\13\8d7·)l\8e2\81\83âT\ 3\9f\97\87ådróæÚ\ 2@\9b0ñÁ)wR1³`Ñ\9f\85¬\96²¤3/1ÿ\16¢³4\ 2v\80fס¸/Ì8
-\9dWUÒ\93Lí)pº\8d¶ÒÂàåk)òÎ\19ì\r \9cThÿºP5Y,\e~\8cÎõ\99\94\^+\84\r\812%\97\87úqX  Êâ\ 2MédÃ7î\85
-º'\ek   ½l\ 4ªGß\0\ e\9e¡ì2ë\95cª}Ù§ÆÄý6©Weù\10lºÒÄR¢µ_\ 6\88$¼[,(llð<}\8a\b«\8c½`RÌ\94Æ\ 2îÈ\10r\b\ 3\99ø"¾Ð^¨$Ôh\88%\e\b³\8dIa¥°\88\1cð\80\8cÅ\9f\10·@-Zßes\97gh\97\99tÚ]Ã\rç¸\9f\1aY\14©01Á\9d\ 3ü  .ãE
\1a¾\r\9do&Ö'ó¸Ì\v3^`Ö\ f±µÙ
\vM\10gW\96Vâ¸<ä\ 5~\1d\\ 3\85\84\ 4{ÏL½\f\10Ù\8d\bX¸}\ 42N¨\86íb(\81\8eÛ¾A¾;ñ\1e;ªVÍ·b7\0ÚG}Ó8:\80Ú2:Q©\8b5§C+\19`V×zm\8cd\19¥'YØçG\ 3ì<¥¤\16n\80y}°\84j\98T*\ 6MM\13Ö¦\ 3\r\10ß-Ým]àé\ 2§ðW\1d\9a3JÆñI­o!
-\fè\f\8cËü\ 5qÔEñu«4Lï/O\1fúKkº\8aÆ\91IÆ°Ö*[w,\12ûdàj=\9bÄHYá¤\1f"è°\89Í\99{á ëY\8cÃ\17nÎwÇ*\16c'Z;`\r~"\10%¼uÔ\8e¸G9\v\87ÃÓNGM\82ô\81c¥øZ\9cÐ\aZÕG§3â\0Ò~Åo\9aÁÃ}ó9Ù\84É\eâ\1aÞï\81ÃOt|\1cÜk=4O·¦ãH|\16\97õ$\92ß#)\ 37ÎP\ 5,KGhR=Ä£o)\11º\88\98¿g\99\aúæ<\18\1fáÀ\81?/X]-*O½\84à«õ¯R¿ªÚܺ³EIf½ZT\82Éûdi\vi`1S/µä\8fA\96P\8f\81Îh\8d\euÌ|8~EÂK-a¦0\0¢a5q\ 6¯+Èë\197´Ó¨ÅZ^ÊålÜìm$ìÈi \89]ô4uydj¹\1ccn9Q\1c\fq·Åk\9fa³~g\86ë½\16]/HeÖúX²º\81\eµ\94
-ìHXõxR\96¢ÛÞü\8eysÀ¼\8e­[CÏ\92\81×\8a\86U\19\7f:n\v° 1àÍ,\9a\99IÿÇ\1c\96*\10z\8a\ 4%NXW\9c\97y¯6¹(j\91\94\90ë3ÎXÉñnÚ7\97m¾HôÜÄj¸U\97é\9d¬:\1aèHä\fóq1©-\10½7»¶       \e¹LÏbîÂû%A9jG¢\84÷\8a;\7fÈ?±Ã\17Î\ 6v[\8a1è]«ïÛã\88\ e|gË\8ev÷¢\e!3\86_íÈáíâ\8b2Ä?p\ 5\878g²\81\93`ÔÒ\0«â\81PÃë¸\1c~§Ð]\9dW\1c]wô!B>¼ØFòÛä\r=Gʺ\88\1dÖå\9bSrá\92ê°\ 4Y\vBaº©é±sêàñýDø\81%8:{\9c\16\19:¿¥Rê\8aeÌë\11\92î{^öcEZ}\9cÖ\bÊÖ»Ök\83ó»nÝ,3¼\9fÑ\0T\9eÐà.Ncx-\rz¹9®Há\v*t50E¼>"\ 2È\8f;Ê \12\98E0\1d\95#:\8b\7f\7fý`b®\ eq:Ú\1erXªçGÈ.Æõ8@\1dàÊâ½D\9dJâ\Çh\0\10_\92%h.\1aá\9e        Ç\ 6\1cm\1f/Ëü\f\91\14\1eR\r\8b_|^À\ak¶Ó³§\9c\¢¸â3¨W\f\83Í\8b\83Ã\92A\aíZ·Ç\98ºJoÿ\94MhG\82\9c!\8c£\9bpÒíqêg\18W>b\13'=ÈRW·:\ 6\10oµDú\85\91\955Ïù\95Sÿ¾ê:P\8aº÷!¬äk¿¦¶\89¦v*\95ÞnMø \ 3ðÌË\98VËIêð¼MêüW6èØäß\9fRFü\86ÀJ.'w6\ 2ö^yÙÔJ\15\11\f\fðØ:\82ÓåðpØvÄu3.è`Eme\7fÖÓ\9e\98\9dÍã¶y¥Í\90\rÅãxö´¤ )\b¦½ÙÆ:ua\91\81S'éÒ6»§3\17\9d®ºqå_4+oI\86|\16§m  P6ßað­Z\8a|Ê°ÒòáÒLAÁ\ 2u53I\9eñò!\14Õ#äéu[\7f\8d¥6}\93"x×2\b¯ü3ðç\8fê\84/s
\e¡(6s\ f°~\b     TéáJþ\1d\84\f<7N½ÚÆòPá\10«¤> ép?|\bM1§\1enËh !ðæ=°£úpÔv®\8eÁ=Ú\9a\11Ö6)7x·\f\ f6R\1aÅ_ä\ 4\f\96©\f!'ø 3Æ¡9\1fh Ë]¸n"\ e\86qOf±\r\ fÛtÈ\eÜÚ\159:\85^Z»Ê\170\ eß\9a\13\81\9e?¤µÐ\9bâ.^ö+\18\9e¤à¿ð\89\9e\9b\95ÎA\9425v
\a¦j\99\97\b\0<\8c\17ü\98\93Á\ 6û5êaL\15\11m\ 6\v¥óªKÁ·ßoº=ÄérB\rH\ 2\88\ 1¤ø\8aJµµÕ¼¹ÉDmd Ä\9cÙ     ,\84QNÌCºÛõû(#õe¶s\9cO_Îê\9f\98tÙ¯ñm\ 6\8aVó1\8a­S³2ΧÜ\f\eÀ\12 \rî;'Ý\90N\a×¹        óº£HÜ¥ôÿ©0\93Më¡)\87\82a\9f \12{w\82Ë&Î'\94Õ«\16\ 6#\90\8b±\8eÖTã~Ë£ÿ\by~¯+\17Ô6ãN´#¶øhpÎ]ÄBíRÁO°Õvm¥þ:/ú\9c²E\96\ ew«q#%Ñ\98ÃeíÌ3M\9e\8dq8\97Î\85Épm;úö\92¯Ñ\89\81øa\ e4ÓÄkË\96["\11\12Î$Ã\8cp~(\1a¤\175Ñ@*¾"¨\10\16:ãuð\90¬Bè\11\ e\81\8a\84Ã\10.\®S\99\11&,\8cÄû\81È\ 6º\14\fº\9c­Õ\13Ü\ 6\80Ç\88«*wíQ?\e2^ãÐ\10\95\9e\91gõBÕ       \ 1\8dÚR\87\16¹¤feDÂ3B¢Ù%Å|Ç5(ú³Ì*\12´\r\1aÓYb\85\90\921U´À-6MãÙ5ÅߣlÓd%\0÷¸Ä\93\v¿_W%\1f#§Ë\_,ËiìzEQ
-\12D\19?Û¬|2\1fÆ»£\94\8a\8b|\7f\89\10n50\89·:(ζ¯hdA\18Ü+fÑ\f\13¶ü\15Ð\95Ù\0ÁËS\91G\13\96\8dïåJ/f»ÐËæ\1a\8ezPx3V:¨ì\8bÉ¡_¨â¬ËAÅ\10\9f       å\90\b~rb\ 1\94\ eæl\bÖnoÒé\9b\94nmÏâPïç¤^\ 24w\81\92¿¸ß÷Ç\ 2\11\12\9aÙ\ 1oþÉÚo;\88&CÇ\11\1eØ\16âTq$\14\13÷\ 6h\ 6-¸[lumÞ`\17\16Vd(\82¤
-d¡Êdµª!\9c`¹-OqÄs\87í\8bL\9eî\9a\ e¿\ 5ôÔ|Ñ!v^¡â^Ìr\18õSn®ÈdêW%Æ\ 2²\1fWÒøhV\8cõ$Dõ,°\ e,'6@Ãàðµw'®*ñ,uÇ^\91Wà­fUL-r\8cô\88ö³èb\1eÔàÉðguð\14
-¶!t\9aº\10
-\12Ø«"nCh\19+\84X;:ÖU31\rê©
-
-YÍ¿\15Ç$Ê\12Ç£\17Í?K¬\ f\9907óÌÓ\0\ 3\91fÁNÖ7$¼j\88aݪ\ e\9d\1còÎÔ\9fð¹\17Õs\17þðªÑ^t$_\94Â\1d|\90\16ö¶.¹:à=µ\82ðÚõ\87\93ÍF\ 6\ fîÐ!Õ\87<ÐC°Î>\91»\1c\17Åùý\14TÑÕ\9fø´ó\82\9fÙM±%«ýä§\ 5þ#\8e\19÷yÅ©\19\99ë¸ùâ8c©U¨\9bñª¡Ußåk\99äI¶Î6\86R\193¸f\0Áæ3³Bb\19\ 5\94! CñÁ\83©g\r°ÀhBå#\17P2ó\1eo\ 3u¡Â7X¶@Ô\1dköYôW\ 4¿ª¬ñÙL\93'µÕ*\15h\8bødÛ`µ\10¸"ÚÙ^/ Ý\ 4\19U¯ \ f»µïg7\1f\aÊ©ßY.\1c\ 5\95\8b^\14\86\1c\ 2Lôc\93\8cËýjÍ\ e"O\98.nEl3Ml\9a\1a\9ch£«"\8c?\8búzã*\82س\1cÓã^¡\ 5Lã~v\14Æáì\äA\ 5ãÐjù*üään!<ÞÀkC§P±\97\ 2à¿_µ8}çð\98*á<\8f\85¤À­u\v\ 1å\ 3ï0\92[!\vT\eö\18Q_ÖA\8eô\96ø\ eí¢Qf¹Ä)_E?qÀ\83w\8cá2ıI^c\r\bHÁ´\a{Ù \11â\8a\11z+ÐÈÁA\988S\85&¿¨è{eóà\8bAÉÚW桪\97\ 6n6W=ËðµÓ½B¸Xáè\90»}m`̳\12¢òn ôDáþ¨\10\ 4£\8ek9Óls祮·c¸±\ fEn\82\15±N\b\e1üCdæV}xȺÐ\95\15õ\ e<\1a\ 1\8bÌf\ 6\ 2ÄDMC\94dÑæ\8b¡_~\82VÃ*k\13B\9aÎ/¥µ­³*\ 6H\8ao@¥\9d²³°\94(}p}(*y½~\82õ+f\1fe\93§îÚ»&f\9fWET7`x},åòiF\97\ eúS>¶/¥±­¨{\11í.\ 1Я>¬;\ f\ e\9dÝ¡d Q\15\1c?\11\80«ú¶Ù4Uæ\8bJÏçª\89\11l¨#'\rë'±"=ïÕ³Ú\87\15a\1aãô\80ëgÇ\85\1fÏÒãw\18Êú\96\8b\bü7là\ 4\8dÜöD\ 3à#HÒ®F:ÅÌ.ÏIgáÃ\v»e\15í[\16ú5³Ñ©8ÐùýÈBà\1d_À(\8aºoé\0£Boõ¤\1fa\17F\13=XRzùèªÀ\91ââ6áPvzºêö\8c~e¦ùÆóÕõ<M*ý\1c°\\8ag¦0N\97\f\98DS<\ 6¬ÐÈ\8dÛ8\ 5ìç\85§\16³+Æ\10\ 5_:_ñK¤²ÏÓ@tË?.\\ 4\83ü2.\84?d0\0ú5\ 6<:J¾F\1a\1dc
-\9b\ 2|O\bÇæJ>ᥱ@Òî\e\ 4!ïá\97|ÿº\15\ 6\14¸X\a
-A\8c)' r`^h\97\91û-ð§½L\ 5|Y$i,ðñ0\84Ê~ñ8X\91\91cÂ-8è\96       6\93pq;\8e¦h`\v¨±å!\98 qèÈí\rÓÒZÝLK+bh\1f\e 'ÿ\8eP\f&2Ôb!À)4­rbgÞ\88ÂKöìà²åI;³ \11[yx3!·øën\9c¶I\vw^\ 4rf\12ù²\99\8eè@\96"·/f\8d\99\14þºÆ\ 6Fb£\8cn\9b°1Gó\ 4E­]ðÑ'^R³\HÌ\89\fº\89r\bѨüæ³^°O\ 2\ 4\1eáî\8cA\13\198\r5@áªt?Í.R¼$ÀÎì\17D\81`ã9\90;äß@t¼\8f8+¥ÇO¡\17Ĥ\15M"ò\98SUê\93"­s"p\16\rP1\99\16Öe%i·¡^\10o$¿{E÷\89
-Ñ1\81\b¬Ì}eâ'!\96L\8c¢¨x\13\1a\10ò\82Þ\9c¹®¬ËN³l®«æ!\ 3þs©0C\12=äDâ\1d\8a~_\1a\ f>R\rÎ%Zî$ðÝ\QOb©f.\aàµ@â8eÕG\1f\17ø\8b²bû>\a\91!\9a­($e=\81#@ð½¹cOºô`½'\8b\18\ 4\82s\8bV#\9f-»Å\0\9e\ 3»ìí®$FýçÙ\12K`%¸Ä\8c©!¡ÂøJ:\bò\85/]\87D;\v\bYV Ç!\89WµXCùÊ\9b_§¸E\ eKÿ\ 5qD¥£"k¨\11>\vʾ]ø¸[\1c\1aérà­\ 4÷n@xB\99[YÌsªslB\12\8bAh\15Õ3K\81«\ eaøc\9c­\ 2\fi«Â\ 5é\14\14RdV\15W`\ e¸F\b\9dE\13°\ e;W\8aÈ\19\eh\99\ 3¹15\rn\12Ýù&ì¢\99Ër¨¬.ÚÞ|ù\ש,\90\82W!Ú5OiÇD\12¾»:B½Î¹\11GÏ20F\ 5=È!\97]SÅIJÐ\8ak\89\ 20£°©ËP\8a/_`éµTÊ:+\8df-\15¡ÎdJ]\87é/_AåeuCð"\98tk\89÷8\a\91\11^\ fâü\12[\98?g\19Ï"\84ìÚ¢\119ÃG­\93Ø        Ò\9cM\fbÆ,ßÑÚ"qÌá\81\ faí£]»Ö\eاÔM\8e|U\13f\11Èfñzï\82$/çgaJÚ>¥§\8b\88DvA\ 6\8có³Ô\88\8cíÃc\âX\88\ 6\ eE\8d\85Í'\9fÝ\89\ 5ÆÉ.bBLA¹Bk;_¥î\18\86ÛY\14RE\85îv\16ef¹\924\1eñ\ 2\81Q\r¬Ò\vbÎx½|Oª¡Æ¼5\e@\ f\19«\94Ù\8bæ@\8b¬òî3MR¨cûìtU0$/¥=;ÈKEÕÐ\84¸ÑÚ\85KXûâ"c\80ÁÖERñ³#<U±dÏ®%\1d¬\85\91ñ\92X- ýx\9dë¯+ø´¶NÍ\1eN\94?°3ûd\1dPº;\9e\83\ f¨2\8eº\8cck\83\84\12VÓ*nâù[(å\16½B|a5U¬kW¶Àj\11|\8c\ 6\80\rYõª*G\93Ê\84\93\14o^\91\9aG!ëÙ·p\1e\86p\81h£    \ eþ¼\8aD\8fwÅÉeü\7fü4t/­\ 2\8fµs{!\0g×A^÷G\8c\ 6²È*[Ì<î\88M&3\82\14üâ¨\98\83SSne)Â]öÈJÀHFyµø\8as«úy»\b)ìZ>DyU·ßÔB"á\89]\89(\99Ò\ ewÑ\¢øo
-½¸ºÇ%ÇìéiöÔÔG¨ïjdWþÓ¥³62Ä\99\fº\ 2\12Ôã÷MÖn\17yî4¶J\91äÁÓ:ë½âõ\ræýÁáê\9dí®\1aÚ¡Û5i\91íÊw·w\rÕ¢Ã\11ÿ\by\9d\9e\951ëUts¨ü\8f©ý\9d\eÁ?×\8bâÂ\9al<úg\11\ 5TU-\93y¨%ë\15\87\9dY\1aò)¨:\8b\8aîùy
-\9cÔ+øï\r°\1aØ@Diz-\13îp\18\9a3#É'J¯ÒËií\9e:gðãÏ\1cå£Ö]zÏÌ¡2Ð\ 3w¢±\81\IØ\b§\89ý>\91\ 4rJFÊ\80veæZ«Øà=r|^0þÎ\89J®õ±¥\13TF8ÆѯÛ\95g0¶
-#µ\80H\85ðt«\82¸Î\9eÔ  sx»\87é\1a\ 1ã\19\vÑt\7f\19\1cãc\ 1\1dé­FIB\88Å\1fÈ\f.\13¢ P\13ìÊ\9c\ 5ðúà@ý\ 3®\85\9aX\8e\15x\95\81¯Ór
-\8fµÐ\80ä\9eÙÚ2\9bOîÒy}mº|\96\8e­Exü\18b³³»\87\95¥GGxÜ×\e\18\18/\ fUg¼w4Õ»¼)    \87Qÿn\88a\8e\8e¦Óxhµ\8d\rDA!t×æ\8a\12(8\9eìQh ]\9e\86AÄX\b\ 3Ù3êµ®\ fçé¨×ÖàQ4*Ò¡\82¾qsT§¤½Çi8*²\8b6\85ÙìeZ\17ä\7f\1c\15¨ÝØ\85Z,U6\92Ý\98Ñ\81r\11´Ò!?N-R\8c\95\9eGR\1föã²Ê\80\99ø\b"#Î<\9f¥\91\7fRئ\91IJØ\95(lÎÛ-E\ 1zyß²7Z\80På>N¼9ÄðÑ·ø\0\9brÖû\12¡U\v\1d2\84½\92Üô\8a7/Õ!kJ\ 5íKU\99®Ò\8cK\1c\9a(\8fÉ\ 6Hÿ[\85¢·\bìHºû:eâ&=\8a©¹ëEUɼÄ>\0ä\8dò8\99B\96\12\9c\180¨ªº®ÎNù@\80þ\8a'\97
-       ;Ü\9e\11\8bÀTúÌ\9aùüB»\9eÕ\19âJ\10©\ 5qQP£\1d\84AW\8dá¦êw\16Y©¬ùà\ 6)ò\v.¾®\ 2Ù\16 /\1d]£oÈZ­d"=;¼û\15Ï\15\86\1f\12m\11\0\9b\90åbúEÏæ\81á,\85k\11$Ñ&oð~¢½yR\87ñKH\81aÝH\ 4õ=Âs\1c\83\7fÙuK\8b®^K¼\9cÀp\ 2Ó~\13u\96½)u]\9eô*{»,&«g\vRI¯{²\9fÒÄ ªcxÍ\ fç\10Ãíå¡8ª 
\14å6Ýz»=[©Î{**ã~}\1dm\Áí®\12·\r\16«ÝT$\ f\0Í\16û\86ñjj\ 5G\rû©\1cô?ÂPb¹\81\16PÂO\8aõÅ\98\ 3dB\14ÁÒ\17[[Î\9dviA&Nì\98\94|Æ©dQüØ\81?\9e\9eåßþµ5cEä Ò"Èú   q@;Üo°\bÈ}®ty\1db[·\ 4*      \7fP®Í\96Tů(Ù®Y\r§Ù¾\1e®í.ºü¥â\1d=\14M\9c[\8e_\16A2+\8bV\84[¿Z\10\86©\ 6³zó\11¼8ÜÌÕK®>\aúªú4\81£õrö\1d\82\17ì\15§Ìæ¸Pò»ÈÚ±7\81£ºÄMùñó|£<xK\97)\96Tæ¼%\11P7ÝR\96ª\0\15º*
-ÕÒ¥\83\9f\\9c\96T7¥\1d\8cfR5\97v\8aÙ&q:·\8bßÆ\13+h¶A3oéV¬\91þú>\ 2Û\ 1   ë,!\90ãwÕè\1a]_\8dRâxÍ\9d¯j¿\0s'Q-ׯÙ\1d_[}]+ÛbÂlÆã\8dñÊ¥Ò\80õ,,CW\ f
-Y\8bqÉ<¯Ahú\81\ 6\8e¥Á\90\96\v7Ôt\95{]:Ójècl\80E`ªB\1cÖ[]ÚÌëy\1f\ 2Î\14+]\fë2\18¢94Vî®òO·\19\96G\b\11\ f°\1a¿\8dzöIضge\0øIA\80©#1bß.MYÖÔOa>¿v\8bÝíª;\86¬¨O\88y¶öS\16\93\99HaÜ\14bÞY\95©}ÍÒ8ÕÄ\95ÑÑ\15ÔiQT#\84\97þ$bªÖ/ß\96\8a\95vd\8ez\ f\10h0áTÁxe!ZÇT\9e[;Ñ´\93ù>\84ç\8c¸72\e`U\8b£l\19Ä_\97!³±\1c÷?t\19^\10ÿ\8aâ½í\80o\9bê\99µ\0L`°\9d*\9cH±í#¤6/\15,\84\eÛ­+\bôþ\15¯ý\9d\93T Ôéø\84øò\ 1ÀNÉ\16\ 5¬¤\a\87¡jµ~\1a©ÄEi\9f\8f\9b\12%\bñ.y1H\ 3¾Ån\ e\9bÞ\7f\7f\11}ÖÃ=¹TÎë\ÿ¬Ò\14Ú\96\12\94ÞÛ®ä÷\ 4¬ßº½\ 5\9bÊLl\93Á']/\15Ùú\95U~\1d\15­\11\95\94ï\13ûqθ\\15ô(nî|BJ½¾Äò|ALe»\86ý\1fBÚ¼%¢\1f¿G\99*0ö£6U|\8c¢2OE¼ÓV%
-=Þª\92ÅÏ[¢z\f\7f}\1cù'-?\1f\ f\8e\98³ªÎ\81ª:\84\15\95\89ë\95ÉlE¦d\9d\93L+\9b3\86_\82\80
-\13\82Ù¸\86\a\1a mVÅ8`=èì\15ÓúsQ        ò\160tö\80\15\9aªøE­\ 1y\97É\13þ\b\8345\8e\e"Ãl
-\v«&\9c°`.:\87º\bµM\98\17½ÖÜPY1È\16\e;FÓ¿\1f\8e¿,«¢\8bê×ZEá¨~\9dnÖ±Á2\11ä\93½f¡\af2\84\9e$\e}½WÌ@íë\11YGXF\93§\e/}+A¶hny<â\ 3k\96\ 5\82¯\97Uð%û¸\ 6)R\ab\1f-44þÞ\19¸ââ@\94Æö\87®\18V\12ʶ'êû·©HMók\ e9°ö2¹\\172Xs\13qv»0!¹©D\13¶%éP9\86*\87g>lÚ\95Tå¹KÕª±ý¢Y³?uÞA\19Ïãr\f"\r.\ f\15\1d\ 5\a8\7fOÜÂÑ+íý\93×!Sd\Hcü¸\87s\a©Qø\10U(\91\15]O\ 1\11#d]Ü6K\17\97w\96\81\1aO¥~A\e\8c7àõ3\bYV\94°ÅȦ*7\8cË»k\f£\9d~\9dÍò\85SÞô~Xq§*\84ö¯\14¥Z[$²Îó*íÛ\171OyÊ·Ùã\1aÐÓ\83õiÄ÷»®\9d+\82ÏuEÜ 3c\f\85_Gû\86ôm¾\12`"\e     ïà\89ÌØA>×\7f\11µAîZ\b¨Zõ÷x\96\8e\12Õ¿È\r\19ññûÌ\9bâë]\ 3åî*Z\9cã\90ø¤Xíº\9e\1d     á\19\1e!%\8d@Ruà,ƨrb\899"\81>¶ÂL\1d7 Èé¸å\vÌ\1a°    \v±\ eû.,[PÊ¥\ 4Öèw0\18±TÃÜ\83ükc3H}¼=e\v\8d\94=\959\1e\8d\12\ 1
\870h\99Ü.T&\9b1¸áü˱N~\a\9f\18+\86Ъ0z¿\9e1\87\8eE\8d\ 6zäRb`à\1eë\82\86d\ 5´\v<¶Ñ-Qà\1a\7f\1a\84\1c"8ÔËáuêQ66\84\82X\19\19cãò¨àº-¨\ 5\15k\ 6\1e${R\16I>\84²]µºk\98ìd=ìKFTVÇ\88ã¬r)\97® m\98\88\1aÖ\17é\9bÌÌß¿ÿ/{ô\92¥þþ¢\f BUö\8f\8f\95ÞX\9eèåTíC¬*\1apß ^E¯\94        §ÌE\98\80.\\10\9eìQ#©Ä\8e\81Ê©é]\82Qú÷àï\9c\8dX&\8b\94F\ 3\8cOKÖYj~9¬\89\17\9ef¼§\§¢ó«\16\80[<\95LâÂ\93\86®^#HÅ7/R\88JQ¡ÀrÅ\91\8c\12W\8a4`\90\ 5èªè\192\v¬\12q¥Fª|ørpZ%.j2ý²ìØ©ÔcÄÏ\88ã\14ż®\82Áå®k\vÒËÐ`Uv,\1fÿ\1a*ÿA¸Úà\17FõÖ-«¡\86YõÁ\ 6Z\86xÆÙaýjl\94ü\84ÎôM=S\17ñ\ 6WÊ`ý0\8c\15¥)\15©6Ù¢Ùuh­ò\96³½\8a\11É\84\9b^\92NâG\ 3бO\17ñcB\12U8q\1aél\8b¼$\8cµ;o-­\1e¯8\e\rd\ 1ÍÚ!LÍWQ»\84`XÉòÔ×\8b\ eÉXv¡Ð\1d\1f\87ó2sç0\97Zä¿þ­\16½Ï¥ªÔw½ùúª®¶\13û´ªÚX\1c\8aQ\1a­r¢ñèì®\7fp7uÅG\0Á+L$\89\80^hn¥j?÷\bw²_Wè
-Æ}9å1;éâM\96\89\90©BÓ\96z\15¹&<Ò¶>Ü×ýð½6-Í~Å\15J\13é~SÑ0ÑüF\1c¦±U\96\a\83\1et\ 6z\99`]îà£È\83\9b
-F!vÈ\1e\1cµÉ7\92x\82å>w\\19Å\võÌ\9al1\eÄ`\0\92d}&\94«übÍnªGÙ#§\98íFVÑ\1do\15ãiÔ¥Ã\916äÒl÷\12\9d\84\1e×2T¡ùä÷\1a\93+âÝý¢^3~VXÕG­5\82W\84Ñ»
\19\85haàÉ\8d\f6°sÅ\10<\ 4\13*
-¯ýN\97\85É`ò\8c+ù¼,\85a-¾GrÕ\13î\9c\87ý\1c\zÑ\ 2\15
\vÝûÿ\aµ!8\15f\90=Ƴ\r¥bçÙx\vd\12*·Ëq±\84Þ<\9a\93¥\83²¾1\13\97\9d\ e\97\ f\98Ñ\bqU\97\96\15Ûmº3ËÅJK\9còFÍË\ 5g3\voúdLÀß\15GÒE§»\84°¼Êõ\9a\14ÆÍtp÷ë/_çp)a­,yv&\89\9e
-²ÔüÁ\93\94o4\9b\955\8b\99VZÖ%dr\93   UÄ61ËÃÔo\14z\9bî\97áçfmÛSoÖ\1eÅQ=\84\85¡zí'ÇÂ\9e\82[÷à³\1e1\8bU\b\87\9c\91\8f\ 261®Ú\aÞ\0#ü<Òjº\84T\12M¸i\9c¹s×\e0"Y\1d(,\ 4bãB
-OW¥ñrÊt÷Ëëlbù:Dµ¼Bç\8b\ 6È\a¼\14ÛB\11Z}ðÅgÏÔ®p;.¡\820\8bø=\8d%[\ 3\8dÃ\81ý(\f(\    À\1a[\rf\9b\88Ëî³\8c\b\ 3WYJ\83Bƽæ[\1en\86z\8c¬U\8e¬       2ÝzB\81í¢¶\11]«\i¤ã¬'\844HÌÊ\9c©*>\90z
-/\97H²ûÀï        \15É*.`¼\99ª\9aÈCòÝ@¥åÚU\99¼Fì7,W\9bVÂh=Ü!\8a4ÅÌ\92ÊJX#å;4´ÂÙ´î0£ñ\9d
-/r\8c!cd\93+Ø¿\0Z½¼Ñ\93LwCUk/.Ç®\18D?\94\96\99ò\91\19-_¥Ëæ\844ë¸*äN\90\179Ãäþ\86^0ÂBh\95ý*|[\9f\95»\88÷àÚ¯K\89\15í´jŲ:VþEäºP\80B\81 \98Ú­*¦\87Ó¢n¹!ºL}\v\ fªR±\a
-\15û\9cô\87\89\ 6,][\1d\10¡\8a\9a\8b\18m?¡Oz}ZÜR/\88\8f>Á|\8dJ*ê;ìdB-rw¤ÿ\81\81-\85r:2_ëÖÚm\87q%]NÅc Ù$ä\13ëeÅÏ\8aâ\80!\ 6þÎ\84\83\18FÒØ×-ó\ f¡x¶KP¶,\91ºUQ·\8a\9c¥¢¾b\bÏJØ\97\ 3SûoK\87¬qtÅ''Ъ]YV&\9e\84\ 3³\82ãÕ@;>£\93\1fÓ.×\97\11\ e&\ 6úXõÄ\18\a\8b Ë\9dT¡§`õ\90Âë\84\85\84\9c\88\98K³°ê\89¬ \´(¹Å\ 6Úä¡Â \89±\9dªv.+èØnR\ 3×\b¦\f媺\ 5õ\86.Ó5RçuH\1c*\19{V±©¶q8\8f\vz<Q\ 6»\8ek\ eNTÔ(n§\9eíüý¹\1dò\19Ö\89÷\9eÔ\0\e\81lW&v×!\94Ö1Çê\90\v·\86\ eTàϯ%7®\ f.\96Í\11þÂ\18A¦ÝTO­È\13¾±srs¾=f\84\13\87\80\94:Q        \93\93\87=\9d)嬮\ eö¢oB\ 6ÛP\96\98íÒA^\ e¥f¿S\ÀæhL£KN\8c\8bÿøDÝ\11-3ªÒÅ\b¡¸Àßî¶\e\8c1\94ü¹BÕø¤ø\10}\13ê1®Z¯·P\85­Î´û³Lá-¤¥\1cкC\18D\ 5íæ\148      rï\1d3@Ç¿ø;û\9bçVOÌÒé´¥N6ºÀý¢µ2É{Ñ\97J6?ϼd\9eÞñ½x\897úÁ\88Ó7\1fpR~UcIéo¯\87\16áy\9etÒº[\85ý¢þ[ä\93ðNT8\96jD[§gÊ&\16ÆVF\9c\r\f¸Û\121Ì×ϯ\v\0\915C,L\8f|ØO\88«J½\83\84E.\0Gm\99pé²ê§Àê$½\84ëá0R­\81\13\ 6B`þ8\1c®\93\9c\r.\86+Ì[íÔO\9cS&\84Ìoè\8cu\87\9ezÇ"\99cîs-Ù!%á·9øÐä0£Ó\18\90jÕä\10A;BuzQ\f\ 4ì\88\7fQL;oÄÉüú¹m@º\12íB²\13}R:ÉëI\85ÑÐ\a\89\84Ç\vÈ6+ç)\12Ñ\93\\93\96j¸N%k¦u\97c\83Çï­\ 3\84$&\95Æ\ 6Mv@\12\0T\89\8c\94¬\ 2\X\90\ 6!Ù¯¨ÈÇ\8cÈÂ\8fíâ\85\16\10«¤\fðÅ\10@\ 5\81þ$Ôä<.\ 2\ e²zX¸³\93håÔ\1fÉ\96ÕÍÊ\bÈ\98ÌNö\86|{\96-ϧ\12ÎMæþÞ¯\97:\1cXGñM±Ã