aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetWeb
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2008-03-01 20:39:39 -0600
committerErik Schnetter <schnetter@cct.lsu.edu>2008-03-01 20:39:39 -0600
commit3aa1ea2c8a579a1ac0fe325f99baaedcc19e1f4f (patch)
treeb4148f16361b8c0e3a771a92a49381611f21f09e /Carpet/CarpetWeb
parentf5cb6bdc3e995f3e2c6542c43ce194ce789e29de (diff)
CarpetWeb: Update web pages
Remove darcs binaries. Add news item about new development version and new server location. Add instructions for using git. Add logo. Update makefile to publish to carpetcode.dyndns.org as well.
Diffstat (limited to 'Carpet/CarpetWeb')
-rw-r--r--Carpet/CarpetWeb/Makefile1
-rw-r--r--Carpet/CarpetWeb/binaries/darcs-1.0.6-darwin-G4.gzbin1622217 -> 0 bytes
-rw-r--r--Carpet/CarpetWeb/binaries/darcs-1.0.6-static-linux-i386.gzbin2433818 -> 0 bytes
-rw-r--r--Carpet/CarpetWeb/contributors.html2
-rw-r--r--Carpet/CarpetWeb/design-walkthrough.html2
-rw-r--r--Carpet/CarpetWeb/doc/darcs-1.0.6.pdfbin442008 -> 0 bytes
-rw-r--r--Carpet/CarpetWeb/feature-requests.html2
-rw-r--r--Carpet/CarpetWeb/get-carpet-darcs.html271
-rw-r--r--Carpet/CarpetWeb/get-carpet.html328
-rw-r--r--Carpet/CarpetWeb/humour.html4
-rw-r--r--Carpet/CarpetWeb/index.html147
-rw-r--r--Carpet/CarpetWeb/logo/600px-Sierpinski_carpet_6.pngbin0 -> 318653 bytes
-rw-r--r--Carpet/CarpetWeb/logo/Sierpinski.fig450
-rw-r--r--Carpet/CarpetWeb/logo/Sierpinski.pdfbin0 -> 3859 bytes
-rwxr-xr-xCarpet/CarpetWeb/logo/Sierpinski.pl99
-rw-r--r--Carpet/CarpetWeb/logo/Sierpinski.pngbin0 -> 4470 bytes
-rw-r--r--Carpet/CarpetWeb/olds.html27
-rw-r--r--Carpet/CarpetWeb/publications.html2
-rw-r--r--[-rwxr-xr-x]Carpet/CarpetWeb/scripts/darcs00
-rw-r--r--Carpet/CarpetWeb/status-reports.html2
-rw-r--r--Carpet/CarpetWeb/version-3.html2
-rw-r--r--Carpet/CarpetWeb/version-4.html220
-rw-r--r--Carpet/CarpetWeb/visualisation-tools.html2
-rw-r--r--Carpet/CarpetWeb/work-with-darcs.html2
24 files changed, 1234 insertions, 329 deletions
diff --git a/Carpet/CarpetWeb/Makefile b/Carpet/CarpetWeb/Makefile
index 0cd3f01e1..9084ecc97 100644
--- a/Carpet/CarpetWeb/Makefile
+++ b/Carpet/CarpetWeb/Makefile
@@ -2,5 +2,6 @@ all:
sync:
rsync -a -v -z --exclude .DS_Store --exclude "*~" --exclude doxygen --exclude Makefile --delete --delete-excluded -e ssh --rsync-path=/home/schnette/bin/rsync ./ carpet@www.carpetcode.org:www.carpetcode.org/htdocs
+ rsync -a -v -z --exclude .DS_Store --exclude "*~" --exclude doxygen --exclude Makefile --delete --delete-excluded ./ carpet@carpetcode.dyndns.org:www.carpetcode.org/htdocs
.PSEUDO: all sync
diff --git a/Carpet/CarpetWeb/binaries/darcs-1.0.6-darwin-G4.gz b/Carpet/CarpetWeb/binaries/darcs-1.0.6-darwin-G4.gz
deleted file mode 100644
index 26a058412..000000000
--- a/Carpet/CarpetWeb/binaries/darcs-1.0.6-darwin-G4.gz
+++ /dev/null
Binary files differ
diff --git a/Carpet/CarpetWeb/binaries/darcs-1.0.6-static-linux-i386.gz b/Carpet/CarpetWeb/binaries/darcs-1.0.6-static-linux-i386.gz
deleted file mode 100644
index 5c927fe82..000000000
--- a/Carpet/CarpetWeb/binaries/darcs-1.0.6-static-linux-i386.gz
+++ /dev/null
Binary files differ
diff --git a/Carpet/CarpetWeb/contributors.html b/Carpet/CarpetWeb/contributors.html
index 0c5227fdd..6ebfb5934 100644
--- a/Carpet/CarpetWeb/contributors.html
+++ b/Carpet/CarpetWeb/contributors.html
@@ -59,7 +59,7 @@
</p>
<hr />
- <address><a href="mailto:schnetter@uni-tuebingen.de">Erik Schnetter</a></address>
+ <address><a href="mailto:schnetter@cct.lsu.edu">Erik Schnetter</a></address>
<!-- Created: Thu Aug 17 2006 -->
<!-- hhmts start -->
Last modified: Sun Dec 09 2007
diff --git a/Carpet/CarpetWeb/design-walkthrough.html b/Carpet/CarpetWeb/design-walkthrough.html
index 50d8be0f5..e453e8238 100644
--- a/Carpet/CarpetWeb/design-walkthrough.html
+++ b/Carpet/CarpetWeb/design-walkthrough.html
@@ -133,7 +133,7 @@ href="talk-2004-12-13/schedule.tex">latex source</a>).</p>
</p>
<hr />
-<address><a href="mailto:schnetter@uni-tuebingen.de">Erik Schnetter</a></address>
+<address><a href="mailto:schnetter@cct.lsu.edu">Erik Schnetter</a></address>
<!-- hhmts start -->
Last modified: Wed Jan 24 2007
<!-- hhmts end -->
diff --git a/Carpet/CarpetWeb/doc/darcs-1.0.6.pdf b/Carpet/CarpetWeb/doc/darcs-1.0.6.pdf
deleted file mode 100644
index cec729e5e..000000000
--- a/Carpet/CarpetWeb/doc/darcs-1.0.6.pdf
+++ /dev/null
Binary files differ
diff --git a/Carpet/CarpetWeb/feature-requests.html b/Carpet/CarpetWeb/feature-requests.html
index 7ddd89659..606eee0bc 100644
--- a/Carpet/CarpetWeb/feature-requests.html
+++ b/Carpet/CarpetWeb/feature-requests.html
@@ -73,7 +73,7 @@
width="88" /></a>
</p>
- <address><a href="mailto:schnetter@uni-tuebingen.de">Erik Schnetter</a></address>
+ <address><a href="mailto:schnetter@cct.lsu.edu">Erik Schnetter</a></address>
<p>
<!-- Created: Thu Aug 14 20:16:15 CEST 2003 -->
<!-- hhmts start -->
diff --git a/Carpet/CarpetWeb/get-carpet-darcs.html b/Carpet/CarpetWeb/get-carpet-darcs.html
deleted file mode 100644
index f68f1a181..000000000
--- a/Carpet/CarpetWeb/get-carpet-darcs.html
+++ /dev/null
@@ -1,271 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-15"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
- <title>Download Carpet</title>
- </head>
-
- <body>
- <h1>Download Carpet</h1>
-
-
-
- <h2>Available Versions</h2>
-
- <p>Carpet is distributed under the <a
- href="http://www.gnu.org/licenses/licenses.html">GNU General
- Public License (GPL)</a>. It might be released under the GNU
- Lesser General Public License (LGPL) in the future, to match the
- distribution terms of Cactus.</p>
-
- <p>There are currently three different versions of Carpet
- available:</p>
-
- <ul>
- <li>Version 1, the old stable version (via CVS)</li>
- <li>Version 2, the second stable version (via darcs; CVS and svn
- mirrors planned)</li>
- <li>Version 3, the upcoming third stable version (via darcs; CVS
- and svn mirrors planned)</li>
- <li>Development version (via darcs)</li>
- </ul>
-
- <p>Version 1 has been unchanged for quite some time. There are no
- plans to make any further changes to this version unless a
- catastrophic error is detected.</p>
-
- <p>Version 2 is the current stable version. We do not plan to
- make further changes to this version unless a serious error is
- detected.</p>
-
- <p>Version 3 is the upcoming next stable version. This version
- will probably be released in a few week. After its release, we
- will only correct errors, so that its users have a stable
- platform to rely on. We recommend this version for the casual
- user and for production runs.</p>
-
- <p>The development version will always see changes, some of which
- might surprise you. You should not use it without keeping close
- contact to the developers.</p>
-
-
-
- <h2>Getting Carpet</h2>
-
- <p>Carpet is a driver for Cactus. It works as a part of Cactus,
- and you will need to have the developers' version of Cactus
- installed before you can use Carpet. Please look at the <a
- href="http://www.cactuscode.org/">Cactus web pages</a> for an
- introduction to Cactus and for installation instructions.</p>
-
- <p>Carpet consists of several arrangements, each living in a
- directory. The arrangement <code>Carpet</code> contains the basic
- driver part that everybody needs. The arrangement
- <code>CarpetExtra</code> contains useful add-ons and some example
- code. Development of new thorns happens in the
- <code>CarpetDev</code> arrangement, which means that the code in
- there is not to be trusted. And finally, there is a graveyard
- arrangement <code>CarpetAttic</code> of things that only used to
- be useful and are now in a state of decay.</p>
-
- <h3>Version 1 (outdated)</h3>
-
- <p>Version 1 of Carpet is available via anonymous <a
- href="http://www.cvshome.org/">CVS</a>:</p>
-<pre> cd Cactus/arrangements
- cvs -d :pserver:cvs_anon@cvs.carpetcode.org:/home/cvs/carpet login
- cvs -d :pserver:cvs_anon@cvs.carpetcode.org:/home/cvs/carpet checkout Carpet
- cvs -d :pserver:cvs_anon@cvs.carpetcode.org:/home/cvs/carpet checkout CarpetExtra
- cvs -d :pserver:cvs_anon@cvs.carpetcode.org:/home/cvs/carpet checkout CarpetDev</pre>
- <p>The password for anonymous CVS access is <code>anon</code>.
- Instructions for dealing with CVS are available everywhere on the
- web, e.g. also on the <a href="http://www.cactuscode.org/">Cactus
- pages</a>.</p>
-
- <h3>Version 2 (outdated)</h3>
-
- <p>Version 2 of Carpet is available via anonymous <a
- href="http://www.darcs.net/">darcs</a>:</p>
-<pre> cd Cactus
- darcs get http://www.carpetcode.org/~darcs/carpet-stable-2/
- cd arrangements
- ln -s ../carpet-stable-2/Carpet* .</pre>
- <p>(Don't miss the dot after the <code>Carpet*</code> in the last
- line.) Instructions for using darcs are
- given <a href="#darcs">below</a>. You can also have a look at
- the <a
- href="http://www.carpetcode.org/~darcs/carpet-stable-2/">version 2
- source tree</a> in your web browser.</p>
-
- <h3>Version 3</h3>
-
- <p>Version 3 of Carpet is available via anonymous <a
- href="http://www.darcs.net/">darcs</a>:</p>
-<pre> cd Cactus
- darcs get http://www.carpetcode.org/~darcs/carpet-stable-3/
- cd arrangements
- ln -s ../carpet-stable-3/Carpet* .</pre>
- <p>(Don't miss the dot after the <code>Carpet*</code> in the last
- line.) Instructions for using darcs are
- given <a href="#darcs">below</a>. You can also have a look at
- the <a
- href="http://www.carpetcode.org/~darcs/carpet-stable-3/">version 3
- source tree</a> in your web browser.</p>
-
- <h3>Development Version</h3>
-
- <p>The development version of Carpet is available via
- anonymous <a href="http://www.darcs.net/">darcs</a>:</p>
-<pre> cd Cactus
- darcs get http://www.carpetcode.org/~darcs/carpet/
- cd arrangements
- ln -s ../carpet/Carpet* .</pre>
- <p>(Don't miss the dot after the <code>Carpet*</code> in the last
- line.) Instructions for using darcs are
- given <a href="#darcs">below</a>. You can also have a look at
- the <a href="http://www.carpetcode.org/~darcs/carpet/">development
- source tree</a> in your web browser.</p>
-
- <p>You can also obtain the darcs repository using <tt>wget</tt>
- instead of <tt>darcs</tt>. For this, use the command</p>
-<pre> wget -r -nH -np --cut-dirs=1 -R "index.html*" http://www.carpetcode.org/\~darcs/carpet/</pre>
- <p>This copies the darcs repository into a subdirectory
- called <tt>carpet</tt>, in much the same way as the <tt>darcs
- get</tt> command above would. That is, you also end up with a
- fully functional local repository.</p>
-
- <h3>Write Access</h3>
-
- <p>Write access to Carpet is via ssh. Once you have an account,
- you get e.g. the development version via</p>
-<pre> cd Cactus
- darcs get darcs@cvs.carpetcode.org:/home/darcs/carpet
- cd arrangements
- ln -s ../carpet/Carpet* .</pre>
- <p>(Don't miss the dot after the <code>Carpet*</code> in the last
- line.) Instructions for using darcs are
- given <a href="#darcs">below</a>.</p>
-
- <p>You can also obtain the darcs repository using <tt>rsync</tt>
- instead of <tt>darcs</tt>. For this, use the command</p>
-<pre> rsync -Paz darcs@cvs.carpetcode.org:carpet .</pre>
- <p>This copies the darcs repository into a subdirectory
- called <tt>carpet</tt>, in much the same way as the <tt>darcs
- get</tt> command above would. That is, you also end up with a
- fully functional local repository.</p>
-
- <p>We thank
- the <a href="http://www.tat.physik.uni-tuebingen.de/">Institut für
- Astronomie und Astrophysik</a> of the Universität Tübingen for
- hosting the CVS and darcs servers.</p>
-
-
-
- <hr />
-
- <h2 id="darcs">Using Darcs</h2>
-
- <p>Carpet is managed in a <a href="http://darcs.net/">darcs</a>
- repository instead of a CVS repository. Darcs has a number of
- advantages over CVS for us developers, such as:</p>
-
- <ul>
- <li>You have a local copy of the repository, and can therefore
- work offline</li>
- <li>You can decide which changes you want to import and export,
- so that you can omit dangerous changes, or keep changes to
- yourself until you are ready to publish them</li>
- <li>You can undo most changes</li>
- <li>You can easily rename files and directories</li>
- <li>Darcs does not need its own server, which makes it both more
- convenient and more secure</li>
- </ul>
-
- <p>and then some more, as described in the <a
- href="http://darcs.net/manual/">darcs manual</a>.</p>
-
- <p>Another prime source of information about darcs is
- the <a href="http://darcs.net/DarcsWiki">darcs wiki</a>,
- especially
- its <a href="http://darcs.net/DarcsWiki/GettingStarted">Getting
- Started</a> pages, and the
- <a
- href="http://darcs.net/DarcsWiki/FrequentlyAskedQuestions">Frequently
- Asked Questions</a>.</p>
-
- <p>If darcs is not already installed on your system, you need to
- do so. This is described on the <a href="http://darcs.net/">darcs
- home page</a>, and some links to binaries are given in the darcs
- wiki. If you have problems installing or using darcs in general,
- then you should ask on the darcs mailing list, which I (Erik
- Schnetter) read regularly.</p>
-
- <h3>Convenient SSH key management</h3>
-
- <p>Ssh has two mechanisms for authentication, typing a password,
- or using ssh keys. When you use ssh keys, your private key is
- (<em>should</em>) usually be protected by a password. That means
- that you have to type this password every time you log into a
- different machine. Some people protect their private ssh key with
- an empty password --- this way, they don't have to type a
- password, but this is not very secure. If somebody is able to
- copy the private ssh key, they have access to your remote
- accounts. In this way, intruders can hop from one machine to the
- next. (This is not just a theoretical risk.)</p>
-
- <p>Ssh-agent is a convenient way to make things safe yet
- convenient. It is an agent that starts automatically when you log
- in, and asks you for your ssh key password. It remembers this
- password in memory, and whenever you use ssh to log into a remote
- account, ssh contacts the ssh-agent for the password to the key.
- If that password works, you don't have to type anything.</p>
-
- <p>I use the following lines in my <code>.bash_profile</code> to
- make this happen:</p>
- <pre>keychain id_dsa
-test -f $HOME/.keychain/$(hostname)-sh &amp;&amp; source $HOME/.keychain/$(hostname)-sh > /dev/null
-</pre>
- <p>Keychain starts the ssh-agent. Keychain can also handle gpg
- key passwords for your encrypted and/or signed emails.</p>
-
-
- <h3>Updating the Repository from the Master</h3>
-
- <p>At some time you will want to update your version of Carpet and
- incorporate some changes from the main Carpet repository. You do
- this with the command</p>
-<pre>cd Cactus/carpet-stable-2
-darcs pull</pre>
- <p>which will look for new changes, and then ask you which of these
- you want to obtain. Normally, you will want all changes.</p>
-
- <h3>Working with Darcs</h3>
-
- <p>We also have some instructions on how to <a
- href="work-with-darcs.html">develop Carpet with darcs</a>.</p>
-
-
-
- <hr />
-
- <p>Go back to the <a href=".">Carpet home page</a>.</p>
-
- <hr />
-
- <p>
- <a href="http://validator.w3.org/check?uri=referer"><img
- src="http://www.w3.org/Icons/valid-xhtml10"
- alt="Valid XHTML 1.0!" height="31" width="88" /></a>
- </p>
-
- <hr />
- <address><a href="mailto:schnetter@uni-tuebingen.de">Erik Schnetter</a></address>
-<!-- Created: Tue Sep 28 16:52:20 CEST 2004 -->
-<!-- hhmts start -->
-Last modified: Sun Feb 04 2007
-<!-- hhmts end -->
- </body>
-</html>
diff --git a/Carpet/CarpetWeb/get-carpet.html b/Carpet/CarpetWeb/get-carpet.html
new file mode 100644
index 000000000..9dd981446
--- /dev/null
+++ b/Carpet/CarpetWeb/get-carpet.html
@@ -0,0 +1,328 @@
+<?xml version="1.0" encoding="ISO-8859-15"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
+ <title>Obtaining Carpet</title>
+ </head>
+
+ <body>
+ <h1>Obtaining Carpet</h1>
+
+
+
+ <h2>Available Versions</h2>
+
+ <p>Carpet is distributed under the <a
+ href="http://www.gnu.org/licenses/licenses.html">GNU General
+ Public License (GPL)</a>. It might be released under the GNU
+ Lesser General Public License (LGPL) in the future, to match the
+ distribution terms of Cactus.</p>
+
+ <p>There are currently three stable versions of Carpet available,
+ plus the current development version. Versions 1 and 2 have been
+ unchanged for quite some time, and should be considered outdated.
+ There are no plans to make any further changes to these
+ versions.</p>
+
+ <p>Version 3 is the current stable version. There are no plans to
+ make further changes to this version unless a serious error is
+ detected. We recommend this version for the casual users and for
+ production runs.</p>
+
+ <p>The development version will always see changes, some of which
+ might surprise you. You should not use it without keeping in
+ close contact with the developers.</p>
+
+
+
+ <h2>Downloading the Code</h2>
+
+ <p>Carpet is a driver for Cactus. It works as a part of Cactus,
+ and you will need to have the developers' version of Cactus
+ installed before you can use Carpet. Please look at the <a
+ href="http://www.cactuscode.org/">Cactus web pages</a> for an
+ introduction to Cactus and for installation instructions.</p>
+
+ <p>Carpet consists of several arrangements, each living in a
+ directory. The arrangement <code>Carpet</code> contains the basic
+ driver part that everybody needs. The arrangement
+ <code>CarpetExtra</code> contains useful add-ons and some example
+ code. Development of experimental thorns happens in the
+ <code>CarpetDev</code> arrangement, which means that the code in
+ there is not to be trusted. And finally, there is a graveyard
+ arrangement <code>CarpetAttic</code> of things that only used to
+ be useful and are now in a state of decay.</p>
+
+ <h3>Version 1 (outdated)</h3>
+
+ <p>Version 1 of Carpet is available via anonymous <a
+ href="http://www.cvshome.org/">CVS</a>:</p>
+<pre> cd Cactus/arrangements
+ cvs -d :pserver:cvs_anon@cvs.carpetcode.org:/home/cvs/carpet login
+ cvs -d :pserver:cvs_anon@cvs.carpetcode.org:/home/cvs/carpet checkout Carpet
+ cvs -d :pserver:cvs_anon@cvs.carpetcode.org:/home/cvs/carpet checkout CarpetExtra
+ cvs -d :pserver:cvs_anon@cvs.carpetcode.org:/home/cvs/carpet checkout CarpetDev</pre>
+ <p>The password for anonymous CVS access is <code>anon</code>.
+ Instructions for dealing with CVS are available everywhere on the
+ web, e.g. also on the <a href="http://www.cactuscode.org/">Cactus
+ pages</a>.</p>
+
+ <h3>Version 2 (outdated)</h3>
+
+ <p>Version 2 of Carpet is available via anonymous <a
+ href="http://www.darcs.net/">darcs</a>:</p>
+<pre> cd Cactus
+ darcs get http://www.carpetcode.org/~darcs/carpet-stable-2/
+ cd arrangements
+ ln -s ../carpet-stable-2/Carpet* .</pre>
+ <p>(Don't miss the dot after the <code>Carpet*</code> in the last
+ line.) Instructions for using darcs are
+ given <a href="#darcs">below</a>. You can also have a look at
+ the <a
+ href="http://www.carpetcode.org/~darcs/carpet-stable-2/">version 2
+ source tree</a> in your web browser.</p>
+
+ <h3>Version 3 (current stable version)</h3>
+
+ <p>Version 3 of Carpet is available via anonymous <a
+ href="http://www.darcs.net/">darcs</a>:</p>
+<pre> cd Cactus
+ darcs get http://www.carpetcode.org/~darcs/carpet-stable-3/
+ cd arrangements
+ ln -s ../carpet-stable-3/Carpet* .</pre>
+ <p>(Don't miss the dot after the <code>Carpet*</code> in the last
+ line.) Instructions for using darcs are
+ given <a href="#darcs">below</a>. You can also have a look at
+ the <a
+ href="http://www.carpetcode.org/~darcs/carpet-stable-3/">version 3
+ source tree</a> in your web browser.</p>
+
+ <p>You can also obtain the darcs repository using <tt>wget</tt>
+ instead of <tt>darcs</tt>. For this, use the command</p>
+<pre> wget -r -nH -np --cut-dirs=1 -R "index.html*" http://www.carpetcode.org/\~darcs/carpet-stable-3/</pre>
+ <p>This copies the darcs repository into a subdirectory
+ called <tt>carpet-stable-3</tt>, in much the same way as
+ the <tt>darcs get</tt> command above would. That is, you also end
+ up with a fully functional local repository.</p>
+
+ <h3>Development Version</h3>
+
+ <p>The development version of Carpet is available via
+ <a href="http://git.or.cz/">git</a>:</p>
+<pre> cd Cactus
+ git clone -o carpet git://carpetcode.dyndns.org/carpet.git
+ cd arrangements
+ ln -s ../carpet/Carpet* .</pre>
+ <p>(Don't miss the dot after the <code>Carpet*</code> in the last
+ line.) Instructions for using git are
+ given <a href="#git">below</a>.</p>
+<!-- This doesn't work yet
+ You can also have a look at
+ the <a href="http://carpetcode.dyndns.org/~carpet/git/">development
+ source tree</a> in your web browser.</p>
+-->
+
+<!-- Should we also allow download via wget? -->
+
+
+
+ <h2>Write Access</h2>
+
+ <h3>Darcs Repositories</h3>
+
+ <p>Write access to Carpet darcs repositories is handled via ssh.
+ Once you have an account set up, you obtain e.g. the third stable
+ version with</p>
+<pre> cd Cactus
+ darcs get darcs@cvs.carpetcode.org:/home/darcs/carpet-stable-3
+ cd arrangements
+ ln -s ../carpet-stable-3/Carpet* .</pre>
+ <p>(Don't miss the dot after the <code>Carpet*</code> in the last
+ line.) Further instructions for using darcs are
+ given <a href="#darcs">below</a>.</p>
+
+ <p>You can also obtain the darcs repository using <tt>rsync</tt>
+ instead of <tt>darcs</tt>. For this, use the command</p>
+<pre> rsync -Paz darcs@cvs.carpetcode.org:carpet-stable-3 .</pre>
+ <p>This copies the darcs repository into a subdirectory
+ called <tt>carpet-stable-3</tt>, in much the same way as
+ the <tt>darcs get</tt> command above would. That is, you also end
+ up with a fully functional local repository.</p>
+
+ <p>We thank
+ the <a href="http://www.tat.physik.cct.lsu.edu/">Institut für
+ Astronomie und Astrophysik</a> of the Universität Tübingen for
+ hosting the CVS and darcs servers.</p>
+
+ <h3>Git Repository</3>
+
+ <p>Write access to Carpet git repositories is also handled via
+ ssh. Once you have an account set up, you obtain e.g. the
+ development version with</p>
+<pre> cd Cactus
+ git clone carpetgit@carpetcode.dyndns.org:carpet.git
+ cd arrangements
+ ln -s ../carpet/Carpet* .</pre>
+ <p>(Don't miss the dot after the <code>Carpet*</code> in the last
+ line.) Further instructions for using darcs are
+ given <a href="#darcs">below</a>.</p>
+
+<!-- rsync access is not yet set up
+ <p>You can also obtain the darcs repository using <tt>rsync</tt>
+ instead of <tt>darcs</tt>. For this, use the command</p>
+<pre> rsync -Paz darcs@cvs.carpetcode.org:carpet-stable-3 .</pre>
+ <p>This copies the darcs repository into a subdirectory
+ called <tt>carpet-stable-3</tt>, in much the same way as
+ the <tt>darcs get</tt> command above would. That is, you also end
+ up with a fully functional local repository.</p>
+-->
+
+ <p>The Carpet git server is a courtesy
+ of <a href="http://proteus.as.arizona.edu/~cott">Christian
+ D. Ott</a>.</p>
+
+
+
+ <hr />
+
+ <h2>Modern Version Control Systems</h2>
+
+ <p>Carpet is managed in <a href="http://darcs.net/">darcs</a> and
+ <a href="http://git.or.cz/">git</a> repositories instead of a CVS
+ repository. Darcs and git have a number of advantages over CVS
+ for developers, such as:</p>
+
+ <ul>
+ <li>You have a local copy of the repository, and can therefore
+ work offline</li>
+ <li>You can decide which changes you want to import and export,
+ so that you can omit dangerous changes, or keep changes to
+ yourself until you are ready to publish them</li>
+ <li>You can undo all changes</li>
+ <li>You can easily rename files and directories</li>
+ <li>You can work in a decentralised manner, which suits large
+ collaborations which may want to avoid a central point of
+ control</li>
+ </ul>
+
+ <p>and then some more, as described in
+ the <a href="http://darcs.net/manual/">darcs manual</a> and
+ the <a href="http://git.or.cz/">git web pages</a>.</p>
+
+
+
+ <h2 id="darcs">Using Darcs</h2>
+
+ <p>The foremost source of information about darcs is
+ the <a href="http://darcs.net/DarcsWiki">darcs wiki</a>,
+ especially
+ its <a href="http://darcs.net/DarcsWiki/GettingStarted">Getting
+ Started</a> pages, and the
+ <a
+ href="http://darcs.net/DarcsWiki/FrequentlyAskedQuestions">Frequently
+ Asked Questions</a>.</p>
+
+ <p>If darcs is not already installed on your system, you need to
+ do so yourself. This is described on
+ the <a href="http://darcs.net/">darcs home page</a>, and some
+ links to binaries are given in the darcs wiki.</p>
+
+ <h3>Updating the Repository from the Master Repository</h3>
+
+ <p>At some time you will want to update your version of Carpet and
+ incorporate some changes from the main Carpet repository. You do
+ this with the command</p>
+<pre>cd Cactus/carpet-stable-3
+darcs pull</pre>
+ <p>which will look for new changes, and then ask you which of these
+ you want to obtain. Normally, you will want all changes.</p>
+
+ <h3>Working with Darcs</h3>
+
+ <p>We have some instructions on how
+ to <a href="work-with-darcs.html">develop Carpet with
+ darcs</a>.</p>
+
+
+
+ <h2 id="git">Using Git</h2>
+
+ <p>The <a href="http://git.or.cz/">git web site</a> contains
+ introductions and documentation for git. The Linux kernel
+ developers also maintain
+ a <a href="http://www.kernel.org/pub/software/scm/git/docs/tutorial.html">tutorial</a for
+ git. Git should be available for all modern operating systems.
+ It is also not difficult to install manually.</p>
+
+ <p>Git comes with a convenient graphical user interface
+ called <code>git-gui</code>. It allows you to update your code
+ from the master, commit local changes, compare branches, or push
+ local changes back to the master repository.</p>
+
+ <h3>Updating the Repository from the Master Repository</h3>
+
+ <p>At some time you will want to update your version of Carpet and
+ incorporate some changes from the main Carpet repository. If you
+ are not using the graphical user interface, then you do this with
+ the command</p>
+<pre>cd Cactus/carpet
+git pull</pre>
+ <p>which will download and merge the current version. Git will
+ refuse to overwrite any conflicting local changes that you may
+ have.</p>
+
+
+
+ <h2>Convenient SSH Key Management</h3>
+
+ <p>SSH has two mechanisms for authentication, typing a password,
+ or using ssh keys. When you use ssh keys, your private key is
+ (<em>should</em>) be protected by a password. That means that you
+ have to type this password every time you log into a different
+ machine. Some people protect their private ssh key with an empty
+ password --- in this way, they don't have to type a password, but
+ this is not very secure. If somebody is able to copy the private
+ ssh key, they have access to your remote accounts. Intruders can
+ use this hop from one machine to the next. Please do not use
+ empty passwords on your ssh keys.</p>
+
+ <p>SSH-agent is a convenient way to make things safe. It is an
+ agent that starts automatically when you log in, and asks you for
+ your ssh key password once. It remembers this password in memory,
+ and whenever you use ssh to log into a remote account, ssh
+ contacts the ssh-agent for the password to the key. If this
+ password is accepted, you don't have to type anything.</p>
+
+ <p>I use the following lines in my <code>.bash_profile</code> to
+ make this happen:</p>
+ <pre>keychain id_dsa
+test -f $HOME/.keychain/$(hostname)-sh &amp;&amp; source $HOME/.keychain/$(hostname)-sh > /dev/null
+</pre>
+ <p>Keychain starts the ssh-agent. Keychain can also handle gpg
+ key passwords for your encrypted and/or signed emails.</p>
+
+
+
+ <hr />
+
+ <p>Go back to the <a href=".">Carpet home page</a>.</p>
+
+ <hr />
+
+ <p>
+ <a href="http://validator.w3.org/check?uri=referer"><img
+ src="http://www.w3.org/Icons/valid-xhtml10"
+ alt="Valid XHTML 1.0!" height="31" width="88" /></a>
+ </p>
+
+ <hr />
+ <address><a href="mailto:schnetter@cct.lsu.edu">Erik Schnetter</a></address>
+<!-- Created: Tue Sep 28 16:52:20 CEST 2004 -->
+<!-- hhmts start -->
+Last modified: Sat Mar 01 2008
+<!-- hhmts end -->
+ </body>
+</html>
diff --git a/Carpet/CarpetWeb/humour.html b/Carpet/CarpetWeb/humour.html
index e137cc4df..779df81c5 100644
--- a/Carpet/CarpetWeb/humour.html
+++ b/Carpet/CarpetWeb/humour.html
@@ -89,11 +89,11 @@
width="88" /></a>
</p>
- <address><a href="mailto:schnetter@uni-tuebingen.de">Erik Schnetter</a></address>
+ <address><a href="mailto:schnetter@cct.lsu.edu">Erik Schnetter</a></address>
<p>
<!-- Created: Mon Sep 03 2007 -->
<!-- hhmts start -->
-Last modified: Mon Sep 03 2007
+Last modified: Sat Mar 01 2008
<!-- hhmts end -->
</p>
diff --git a/Carpet/CarpetWeb/index.html b/Carpet/CarpetWeb/index.html
index 0bd69952c..b2252f2b2 100644
--- a/Carpet/CarpetWeb/index.html
+++ b/Carpet/CarpetWeb/index.html
@@ -26,22 +26,24 @@
<a href="doc/scheduling.pdf">Scheduling</a>&nbsp;(PDF,&nbsp;120&nbsp;kB)<br />
<a href="humour.html">Other Carpets</a></p>
-<p><b>Mailing lists</b><br />
+<p><b>Mailing Lists</b><br />
<a href="http://lists.carpetcode.org/listinfo/developers/">Subscribe</a><br />
-<a href="http://lists.carpetcode.org/archives/developers/">Archive</a><br />
+<a href="http://lists.carpetcode.org/archives/developers/">List&nbsp;Archive</a><br />
<a href="http://lists.carpetcode.org/listinfo/carpet-cvs/">CVS&nbsp;messages</a><br />
-<a href="http://lists.carpetcode.org/listinfo/carpet-darcs/">darcs&nbsp;messages</a></p>
+<a href="http://lists.carpetcode.org/listinfo/carpet-darcs/">darcs/git&nbsp;messages</a></p>
<p><b>Development</b><br />
-<a href="status-reports.html">Status&nbsp;reports</a><br />
-<a href="get-carpet-darcs.html">Download</a><br />
-<a href="http://bugs.carpetcode.org/">Bugzilla</a><br />
-<a href="feature-requests.html">Missing&nbsp;features</a><br />
+<a href="get-carpet.html">Download</a><br />
+<a href="http://bugs.carpetcode.org/">Bug&nbsp;Reports</a><br />
<a href="contributors.html">Contributors</a></p>
+<!-- These are outdated
+<a href="feature-requests.html">Missing&nbsp;features</a><br />
+<a href="status-reports.html">Status&nbsp;reports</a><br />
+-->
<p><b>Visualisation</b><br />
<a href="visualisation-tools.html">Tools</a><br />
-<a href="https://mailserv.aei.mpg.de/mailman/listinfo/visualization/">Mailing&nbsp;list</a></p>
+<a href="https://mailserv.aei.mpg.de/mailman/listinfo/visualization/">Mailing&nbsp;List</a></p>
<p><b>Results</b><br />
<a href="publications.html">Publications</a></p>
@@ -58,11 +60,11 @@
<p><b>Carpet Users</b><br />
<a href="http://numrel.aei.mpg.de/">AEI&nbsp;Potsdam</a><br />
<a href="http://www.as.arizona.edu/">University&nbsp;of&nbsp;Arizona</a><br />
-<a href="http://www.astro.auth.gr/Science-Subjects/Gravity.html">AUTH</a><br />
+<!-- <a href="http://www.astro.auth.gr/Science-Subjects/Gravity.html">AUTH</a><br /> -->
<a href="http://ww2.tpi.uni-jena.de/gravity/">Jena</a><br />
<a href="http://www.kisti.re.kr/english/">KISTI</a><br />
<a href="http://www.cct.lsu.edu/">LSU</a><br />
-<a href="http://www.mpa-garching.mpg.de/hydro/index.shtml">MPA&nbsp;Garching</a><br />
+<!-- <a href="http://www.mpa-garching.mpg.de/hydro/index.shtml">MPA&nbsp;Garching</a><br /> -->
<a href="http://www.fis.unipr.it/numrel/">Parma</a><br />
<a href="http://www.gravity.psu.edu/numrel/">Penn&nbsp;State</a><br />
<a href="http://astrophysics.rit.edu/">RIT</a><br />
@@ -81,17 +83,18 @@
</td>
<td valign="top">
- <p>Carpet is a mesh refinement driver
- for <a href="http://www.cactuscode.org/">Cactus</a>. Cactus is a
- framework for solving time-dependent partial differential
- equations on uniform grids, and Carpet is an extension of Cactus
- that makes mesh refinement possible. Carpet was originally written
- in 2001
- by <a
- href="http://www.cct.lsu.edu/~eschnett/">Erik
- Schnetter</a> at
- the <a href="http://www.tat.physik.uni-tuebingen.de/">TAT</a>
- (Theoretische Astrophysik Tübingen) and later brought into
+ <p>Carpet is an adaptive mesh refinement driver for
+ the <a href="http://www.cactuscode.org/">Cactus Framework</a>.
+ Cactus is a software framework for solving time-dependent partial
+ differential equations on block-structured grids, and Carpet acts
+ as <i>driver layer</i> providing adaptive mesh refinement,
+ multi-patch capability, as well as parallelisation and efficient
+ I/O.</p>
+
+ </p>Carpet was created in 2001
+ by <a href="http://www.cct.lsu.edu/~eschnett/">Erik Schnetter</a>
+ at the <a href="http://www.tat.physik.uni-tuebingen.de/">TAT</a>
+ (Theoretische Astrophysik Tübingen) and subsequently brought into
production use by Erik Schnetter, Scott Hawley, and Ian Hawke at
the <a href="http://www.aei.mpg.de/">AEI</a> (Max-Planck-Institut
für Gravitationsphysik, Albert-Einstein-Institut). Carpet is
@@ -99,14 +102,87 @@
the <a href="http://www.cct.lsu.edu/">CCT</a> (Center for
Computation &amp; Technology)
at <a href="http://www.lsu.edu/">LSU</a>. These pages describe
- Carpet
- and its current development.</p>
+ Carpet and its current development.</p>
<hr />
<h2>News</h2>
<table><tr><td valign="top">
+ <p><b>March 1, 2008:</b> Carpet has a logo! This logo is
+ a <a href="http://en.wikipedia.org/wiki/Sierpinski_carpet">Sierpiński
+ carpet</a>, which is a fractal pattern with
+ a <a href="http://en.wikipedia.org/wiki/Hausdorff_dimension">Hausdorff
+ dimension</a> of 1.89279.</p>
+ </td><td valign="top">
+ <p><a href="logo/Sierpinski.pdf"><img src="logo/Sierpinski.png"
+ width="100" alt="Carpet logo (a Sierpiński
+ carpet)"/></a></p>
+ </td></tr></table>
+
+ <p><b>March 1, 2008:</b> We have improved the development version
+ of Carpet significantly:<br /></p>
+ <ul>
+ <li><p>The data structures and algorithms storing and handling
+ the communication schedule are much more efficient on large
+ numbers (several hundred or more) processors. This makes Carpet
+ scale to more than 8,000 cores.</p></li>
+
+ <li><p>The interface for defining and making dynamic changes to
+ grid hierarchies is simpler, and buffer zones are handled in a
+ cleaner manner. This makes it easier to write user code which
+ defines or updates the grid hierarchy, and reduces the chance of
+ inconsistencies therein.</p></li>
+
+ <li></p>During checkpointing and recovery, the grid structure is
+ saved and restored by default. This avoids accidental changes
+ upon recovery.</p></li>
+
+ <li></p>The efficiency of I/O has been increased, especially for
+ HDF5 based binary I/O. It is possible to combine several
+ variables into one file to reduce the number of output
+ files.</p></li>
+
+ <li></p>A new thorn LoopControl offers iterators over grid
+ points, implemented as C-style macros. These iterators allow
+ additional important loop-level optimisations, such
+ as <a href="http://en.wikipedia.org/wiki/Loop_tiling">loop
+ tiling</a> or
+ <a href="http://www.openmp.org/">OpenMP</a> parallelisation.
+ Efficient cache handling and hybrid communication models have a
+ large potential for performance improvements on current and
+ future architectures.</p></li>
+ </ul>
+ <p>More details can be found <a href="version-4.html">here</a>.
+ These improvements are largely due
+ to <a href="http://www.cct.lsu.edu/~eschnett/">Erik Schnetter</a>
+ (LSU),
+ <a href="http://www.aei.mpg.de/~tradke/">Thomas Radke</a> (AEI), and
+ <a href="http://proteus.as.arizona.edu/~cott">Christian D. Ott</a>
+ (UA). Special thanks go to Christian Reisswig and Luca
+ Baiotti.</p>
+
+ <p><b>March 1, 2008:</b> The development version of Carpet is now
+ maintained using <a href="http://git.or.cz/">git</a> instead
+ of <a href="http://www.darcs.net/">darcs</a>. Git offers a very
+ similar set of features to darcs, most importantly supporting
+ decentralised development. Git has a much larger user community
+ than darcs, and we hope that this makes it easier to use.
+ The <a href="get-carpet.html">download instructions</a> contain
+ details on using git to obtain Carpet, and point to further
+ information. (The darcs repository for the development version
+ will not see any further changes.)</p>
+
+ <p><b>March 1, 2008:</b> The repository for the development
+ version of Carpet moved today to
+ a <a href="http://carpetcode.dyndns.org/">new server</a>. The
+ stable versions of Carpet continue to be served from the old
+ server for the time being. We plan to move all of carpetcode.org
+ to this new server in the future. The new server is a courtesy
+ of <a href="http://proteus.as.arizona.edu/~cott">Christian
+ D. Ott</a>.</p>
+
+ <table><tr><td valign="top">
<p><b>January 14, 2008:</b> Carpet's communication
infrastructure has been improved significantly, making Carpet
scale to at least 4,000 processors, including mesh refinement.
@@ -261,27 +337,6 @@
Carpet driver, which will be fully integrated and supported in
Cactus and optimised for numerical relativity.</p>
- <p><b>February 26, 2007:</b> The thorn <tt>LSUPETSc</tt>
- implements a generic elliptic solver for Carpet's multi-patch
- infrastructure, based
- on <a
- href="http://www-unix.mcs.anl.gov/petsc/petsc-as/">PETSc</a>.
- It assumes touching (not overlapping) patches, and uses
- inter-patch interface conditions very similar to those developed
- by <a href="http://arxiv.org/abs/gr-qc/0510016">Harald
- Pfeiffer</a>. <tt>LSUPETSc</tt> can solve "arbitrary" systems
- of coupled, non-linear elliptic equations. It does not support
- mesh refinement.</p>
-
- <p><b>January 12, 2007:</b> In order to be able to restructure
- some of Carpet's internals without disturbing ongoing production
- simulations, we have created an <i>experimental version</i>.
- The main goals of this experimental version are to improve its
- performance on many (&gt;100) processors and to re-arrange some
- internal details to simplify future development. Few new
- features are planned, but some of the changes may be
- incompatible.</p>
-
<p><a href="olds.html"><b>Old News...</b></a></p>
<hr />
@@ -522,11 +577,11 @@
-->
</p>
- <address><a href="mailto:schnetter@uni-tuebingen.de">Erik Schnetter</a></address>
+ <address><a href="mailto:schnetter@cct.lsu.edu">Erik Schnetter</a></address>
<p>
<!-- Created: Tue Aug 12 12:12:08 CEST 2003 -->
<!-- hhmts start -->
-Last modified: Mon Jan 14 2008
+Last modified: Sat Mar 01 2008
<!-- hhmts end -->
</p>
diff --git a/Carpet/CarpetWeb/logo/600px-Sierpinski_carpet_6.png b/Carpet/CarpetWeb/logo/600px-Sierpinski_carpet_6.png
new file mode 100644
index 000000000..5753a8a81
--- /dev/null
+++ b/Carpet/CarpetWeb/logo/600px-Sierpinski_carpet_6.png
Binary files differ
diff --git a/Carpet/CarpetWeb/logo/Sierpinski.fig b/Carpet/CarpetWeb/logo/Sierpinski.fig
new file mode 100644
index 000000000..eeed402bc
--- /dev/null
+++ b/Carpet/CarpetWeb/logo/Sierpinski.fig
@@ -0,0 +1,450 @@
+#FIG 3.2 Produced for xfig version 3.2.5
+Landscape
+Center
+Inches
+Letter
+100.00
+Single
+-2
+1200 2
+0 32 #c0c0c0
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+ 0 0 2700 0 2700 2700 0 2700 0 0
+2 2 0 1 4 4 50 -1 20 0.000 0 0 -1 0 0 5
+ 900 900 1800 900 1800 1800 900 1800 900 900
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 0 1340 2700 1340 2700 1360 0 1360 0 1340
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1340 0 1360 0 1360 2700 1340 2700 1340 0
+2 2 0 1 2 2 50 -1 20 0.000 0 0 -1 0 0 5
+ 300 300 600 300 600 600 300 600 300 300
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 0 440 900 440 900 460 0 460 0 440
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 440 0 460 0 460 900 440 900 440 0
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 100 100 200 100 200 200 100 200 100 100
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 0 140 300 140 300 160 0 160 0 140
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 140 0 160 0 160 300 140 300 140 0
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 100 400 200 400 200 500 100 500 100 400
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 0 440 300 440 300 460 0 460 0 440
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 140 300 160 300 160 600 140 600 140 300
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 100 700 200 700 200 800 100 800 100 700
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 0 740 300 740 300 760 0 760 0 740
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 140 600 160 600 160 900 140 900 140 600
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 400 100 500 100 500 200 400 200 400 100
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 300 140 600 140 600 160 300 160 300 140
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 440 0 460 0 460 300 440 300 440 0
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 400 700 500 700 500 800 400 800 400 700
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 300 740 600 740 600 760 300 760 300 740
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 440 600 460 600 460 900 440 900 440 600
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 700 100 800 100 800 200 700 200 700 100
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 600 140 900 140 900 160 600 160 600 140
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 740 0 760 0 760 300 740 300 740 0
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 700 400 800 400 800 500 700 500 700 400
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 600 440 900 440 900 460 600 460 600 440
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 740 300 760 300 760 600 740 600 740 300
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 700 700 800 700 800 800 700 800 700 700
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 600 740 900 740 900 760 600 760 600 740
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 740 600 760 600 760 900 740 900 740 600
+2 2 0 1 2 2 50 -1 20 0.000 0 0 -1 0 0 5
+ 300 1200 600 1200 600 1500 300 1500 300 1200
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 0 1340 900 1340 900 1360 0 1360 0 1340
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 440 900 460 900 460 1800 440 1800 440 900
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 100 1000 200 1000 200 1100 100 1100 100 1000
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 0 1040 300 1040 300 1060 0 1060 0 1040
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 140 900 160 900 160 1200 140 1200 140 900
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 100 1300 200 1300 200 1400 100 1400 100 1300
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 0 1340 300 1340 300 1360 0 1360 0 1340
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 140 1200 160 1200 160 1500 140 1500 140 1200
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 100 1600 200 1600 200 1700 100 1700 100 1600
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 0 1640 300 1640 300 1660 0 1660 0 1640
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 140 1500 160 1500 160 1800 140 1800 140 1500
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 400 1000 500 1000 500 1100 400 1100 400 1000
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 300 1040 600 1040 600 1060 300 1060 300 1040
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 440 900 460 900 460 1200 440 1200 440 900
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 400 1600 500 1600 500 1700 400 1700 400 1600
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 300 1640 600 1640 600 1660 300 1660 300 1640
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 440 1500 460 1500 460 1800 440 1800 440 1500
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 700 1000 800 1000 800 1100 700 1100 700 1000
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 600 1040 900 1040 900 1060 600 1060 600 1040
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 740 900 760 900 760 1200 740 1200 740 900
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 700 1300 800 1300 800 1400 700 1400 700 1300
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 600 1340 900 1340 900 1360 600 1360 600 1340
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 740 1200 760 1200 760 1500 740 1500 740 1200
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 700 1600 800 1600 800 1700 700 1700 700 1600
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 600 1640 900 1640 900 1660 600 1660 600 1640
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 740 1500 760 1500 760 1800 740 1800 740 1500
+2 2 0 1 2 2 50 -1 20 0.000 0 0 -1 0 0 5
+ 300 2100 600 2100 600 2400 300 2400 300 2100
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 0 2240 900 2240 900 2260 0 2260 0 2240
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 440 1800 460 1800 460 2700 440 2700 440 1800
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 100 1900 200 1900 200 2000 100 2000 100 1900
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 0 1940 300 1940 300 1960 0 1960 0 1940
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 140 1800 160 1800 160 2100 140 2100 140 1800
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 100 2200 200 2200 200 2300 100 2300 100 2200
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 0 2240 300 2240 300 2260 0 2260 0 2240
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 140 2100 160 2100 160 2400 140 2400 140 2100
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 100 2500 200 2500 200 2600 100 2600 100 2500
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 0 2540 300 2540 300 2560 0 2560 0 2540
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 140 2400 160 2400 160 2700 140 2700 140 2400
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 400 1900 500 1900 500 2000 400 2000 400 1900
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 300 1940 600 1940 600 1960 300 1960 300 1940
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 440 1800 460 1800 460 2100 440 2100 440 1800
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 400 2500 500 2500 500 2600 400 2600 400 2500
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 300 2540 600 2540 600 2560 300 2560 300 2540
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 440 2400 460 2400 460 2700 440 2700 440 2400
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 700 1900 800 1900 800 2000 700 2000 700 1900
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 600 1940 900 1940 900 1960 600 1960 600 1940
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 740 1800 760 1800 760 2100 740 2100 740 1800
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 700 2200 800 2200 800 2300 700 2300 700 2200
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 600 2240 900 2240 900 2260 600 2260 600 2240
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 740 2100 760 2100 760 2400 740 2400 740 2100
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 700 2500 800 2500 800 2600 700 2600 700 2500
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 600 2540 900 2540 900 2560 600 2560 600 2540
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 740 2400 760 2400 760 2700 740 2700 740 2400
+2 2 0 1 2 2 50 -1 20 0.000 0 0 -1 0 0 5
+ 1200 300 1500 300 1500 600 1200 600 1200 300
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 900 440 1800 440 1800 460 900 460 900 440
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1340 0 1360 0 1360 900 1340 900 1340 0
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1000 100 1100 100 1100 200 1000 200 1000 100
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 900 140 1200 140 1200 160 900 160 900 140
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1040 0 1060 0 1060 300 1040 300 1040 0
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1000 400 1100 400 1100 500 1000 500 1000 400
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 900 440 1200 440 1200 460 900 460 900 440
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1040 300 1060 300 1060 600 1040 600 1040 300
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1000 700 1100 700 1100 800 1000 800 1000 700
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 900 740 1200 740 1200 760 900 760 900 740
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1040 600 1060 600 1060 900 1040 900 1040 600
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1300 100 1400 100 1400 200 1300 200 1300 100
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1200 140 1500 140 1500 160 1200 160 1200 140
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1340 0 1360 0 1360 300 1340 300 1340 0
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1300 700 1400 700 1400 800 1300 800 1300 700
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1200 740 1500 740 1500 760 1200 760 1200 740
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1340 600 1360 600 1360 900 1340 900 1340 600
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1600 100 1700 100 1700 200 1600 200 1600 100
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1500 140 1800 140 1800 160 1500 160 1500 140
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1640 0 1660 0 1660 300 1640 300 1640 0
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1600 400 1700 400 1700 500 1600 500 1600 400
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1500 440 1800 440 1800 460 1500 460 1500 440
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1640 300 1660 300 1660 600 1640 600 1640 300
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1600 700 1700 700 1700 800 1600 800 1600 700
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1500 740 1800 740 1800 760 1500 760 1500 740
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1640 600 1660 600 1660 900 1640 900 1640 600
+2 2 0 1 2 2 50 -1 20 0.000 0 0 -1 0 0 5
+ 1200 2100 1500 2100 1500 2400 1200 2400 1200 2100
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 900 2240 1800 2240 1800 2260 900 2260 900 2240
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1340 1800 1360 1800 1360 2700 1340 2700 1340 1800
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1000 1900 1100 1900 1100 2000 1000 2000 1000 1900
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 900 1940 1200 1940 1200 1960 900 1960 900 1940
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1040 1800 1060 1800 1060 2100 1040 2100 1040 1800
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1000 2200 1100 2200 1100 2300 1000 2300 1000 2200
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 900 2240 1200 2240 1200 2260 900 2260 900 2240
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1040 2100 1060 2100 1060 2400 1040 2400 1040 2100
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1000 2500 1100 2500 1100 2600 1000 2600 1000 2500
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 900 2540 1200 2540 1200 2560 900 2560 900 2540
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1040 2400 1060 2400 1060 2700 1040 2700 1040 2400
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1300 1900 1400 1900 1400 2000 1300 2000 1300 1900
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1200 1940 1500 1940 1500 1960 1200 1960 1200 1940
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1340 1800 1360 1800 1360 2100 1340 2100 1340 1800
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1300 2500 1400 2500 1400 2600 1300 2600 1300 2500
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1200 2540 1500 2540 1500 2560 1200 2560 1200 2540
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1340 2400 1360 2400 1360 2700 1340 2700 1340 2400
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1600 1900 1700 1900 1700 2000 1600 2000 1600 1900
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1500 1940 1800 1940 1800 1960 1500 1960 1500 1940
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1640 1800 1660 1800 1660 2100 1640 2100 1640 1800
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1600 2200 1700 2200 1700 2300 1600 2300 1600 2200
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1500 2240 1800 2240 1800 2260 1500 2260 1500 2240
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1640 2100 1660 2100 1660 2400 1640 2400 1640 2100
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1600 2500 1700 2500 1700 2600 1600 2600 1600 2500
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1500 2540 1800 2540 1800 2560 1500 2560 1500 2540
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1640 2400 1660 2400 1660 2700 1640 2700 1640 2400
+2 2 0 1 2 2 50 -1 20 0.000 0 0 -1 0 0 5
+ 2100 300 2400 300 2400 600 2100 600 2100 300
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1800 440 2700 440 2700 460 1800 460 1800 440
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2240 0 2260 0 2260 900 2240 900 2240 0
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1900 100 2000 100 2000 200 1900 200 1900 100
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1800 140 2100 140 2100 160 1800 160 1800 140
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1940 0 1960 0 1960 300 1940 300 1940 0
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1900 400 2000 400 2000 500 1900 500 1900 400
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1800 440 2100 440 2100 460 1800 460 1800 440
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1940 300 1960 300 1960 600 1940 600 1940 300
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1900 700 2000 700 2000 800 1900 800 1900 700
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1800 740 2100 740 2100 760 1800 760 1800 740
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1940 600 1960 600 1960 900 1940 900 1940 600
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 2200 100 2300 100 2300 200 2200 200 2200 100
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2100 140 2400 140 2400 160 2100 160 2100 140
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2240 0 2260 0 2260 300 2240 300 2240 0
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 2200 700 2300 700 2300 800 2200 800 2200 700
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2100 740 2400 740 2400 760 2100 760 2100 740
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2240 600 2260 600 2260 900 2240 900 2240 600
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 2500 100 2600 100 2600 200 2500 200 2500 100
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2400 140 2700 140 2700 160 2400 160 2400 140
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2540 0 2560 0 2560 300 2540 300 2540 0
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 2500 400 2600 400 2600 500 2500 500 2500 400
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2400 440 2700 440 2700 460 2400 460 2400 440
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2540 300 2560 300 2560 600 2540 600 2540 300
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 2500 700 2600 700 2600 800 2500 800 2500 700
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2400 740 2700 740 2700 760 2400 760 2400 740
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2540 600 2560 600 2560 900 2540 900 2540 600
+2 2 0 1 2 2 50 -1 20 0.000 0 0 -1 0 0 5
+ 2100 1200 2400 1200 2400 1500 2100 1500 2100 1200
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1800 1340 2700 1340 2700 1360 1800 1360 1800 1340
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2240 900 2260 900 2260 1800 2240 1800 2240 900
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1900 1000 2000 1000 2000 1100 1900 1100 1900 1000
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1800 1040 2100 1040 2100 1060 1800 1060 1800 1040
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1940 900 1960 900 1960 1200 1940 1200 1940 900
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1900 1300 2000 1300 2000 1400 1900 1400 1900 1300
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1800 1340 2100 1340 2100 1360 1800 1360 1800 1340
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1940 1200 1960 1200 1960 1500 1940 1500 1940 1200
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1900 1600 2000 1600 2000 1700 1900 1700 1900 1600
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1800 1640 2100 1640 2100 1660 1800 1660 1800 1640
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1940 1500 1960 1500 1960 1800 1940 1800 1940 1500
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 2200 1000 2300 1000 2300 1100 2200 1100 2200 1000
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2100 1040 2400 1040 2400 1060 2100 1060 2100 1040
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2240 900 2260 900 2260 1200 2240 1200 2240 900
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 2200 1600 2300 1600 2300 1700 2200 1700 2200 1600
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2100 1640 2400 1640 2400 1660 2100 1660 2100 1640
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2240 1500 2260 1500 2260 1800 2240 1800 2240 1500
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 2500 1000 2600 1000 2600 1100 2500 1100 2500 1000
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2400 1040 2700 1040 2700 1060 2400 1060 2400 1040
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2540 900 2560 900 2560 1200 2540 1200 2540 900
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 2500 1300 2600 1300 2600 1400 2500 1400 2500 1300
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2400 1340 2700 1340 2700 1360 2400 1360 2400 1340
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2540 1200 2560 1200 2560 1500 2540 1500 2540 1200
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 2500 1600 2600 1600 2600 1700 2500 1700 2500 1600
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2400 1640 2700 1640 2700 1660 2400 1660 2400 1640
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2540 1500 2560 1500 2560 1800 2540 1800 2540 1500
+2 2 0 1 2 2 50 -1 20 0.000 0 0 -1 0 0 5
+ 2100 2100 2400 2100 2400 2400 2100 2400 2100 2100
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1800 2240 2700 2240 2700 2260 1800 2260 1800 2240
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2240 1800 2260 1800 2260 2700 2240 2700 2240 1800
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1900 1900 2000 1900 2000 2000 1900 2000 1900 1900
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1800 1940 2100 1940 2100 1960 1800 1960 1800 1940
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1940 1800 1960 1800 1960 2100 1940 2100 1940 1800
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1900 2200 2000 2200 2000 2300 1900 2300 1900 2200
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1800 2240 2100 2240 2100 2260 1800 2260 1800 2240
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1940 2100 1960 2100 1960 2400 1940 2400 1940 2100
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 1900 2500 2000 2500 2000 2600 1900 2600 1900 2500
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1800 2540 2100 2540 2100 2560 1800 2560 1800 2540
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 1940 2400 1960 2400 1960 2700 1940 2700 1940 2400
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 2200 1900 2300 1900 2300 2000 2200 2000 2200 1900
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2100 1940 2400 1940 2400 1960 2100 1960 2100 1940
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2240 1800 2260 1800 2260 2100 2240 2100 2240 1800
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 2200 2500 2300 2500 2300 2600 2200 2600 2200 2500
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2100 2540 2400 2540 2400 2560 2100 2560 2100 2540
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2240 2400 2260 2400 2260 2700 2240 2700 2240 2400
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 2500 1900 2600 1900 2600 2000 2500 2000 2500 1900
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2400 1940 2700 1940 2700 1960 2400 1960 2400 1940
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2540 1800 2560 1800 2560 2100 2540 2100 2540 1800
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 2500 2200 2600 2200 2600 2300 2500 2300 2500 2200
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2400 2240 2700 2240 2700 2260 2400 2260 2400 2240
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2540 2100 2560 2100 2560 2400 2540 2400 2540 2100
+2 2 0 1 1 1 50 -1 20 0.000 0 0 -1 0 0 5
+ 2500 2500 2600 2500 2600 2600 2500 2600 2500 2500
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2400 2540 2700 2540 2700 2560 2400 2560 2400 2540
+2 2 0 1 32 32 100 -1 20 0.000 0 0 -1 0 0 5
+ 2540 2400 2560 2400 2560 2700 2540 2700 2540 2400
diff --git a/Carpet/CarpetWeb/logo/Sierpinski.pdf b/Carpet/CarpetWeb/logo/Sierpinski.pdf
new file mode 100644
index 000000000..83f022c14
--- /dev/null
+++ b/Carpet/CarpetWeb/logo/Sierpinski.pdf
Binary files differ
diff --git a/Carpet/CarpetWeb/logo/Sierpinski.pl b/Carpet/CarpetWeb/logo/Sierpinski.pl
new file mode 100755
index 000000000..b2970aa1d
--- /dev/null
+++ b/Carpet/CarpetWeb/logo/Sierpinski.pl
@@ -0,0 +1,99 @@
+#! /usr/bin/perl -w
+
+use strict;
+
+sub draw ($$$$);
+
+my $levels = 3;
+my $xpos = 0;
+my $ypos = 0;
+my $size = 100 * 3**$levels;
+
+my $linewidth = 10;
+my $linecolour = 32;
+
+# 1=green, 2=blue, 4=red, 5=magenta
+my @colours = (4, 2, 1, 5);
+
+my $x1 = $xpos;
+my $y1 = $ypos;
+my $x2 = $xpos + $size;
+my $y2 = $ypos + $size;
+
+print <<EOF;
+\#FIG 3.2 Produced for xfig version 3.2.5
+Landscape
+Center
+Inches
+Letter
+100.00
+Single
+-2
+1200 2
+0 32 \#c0c0c0
+2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
+ $x1 $y1 $x2 $y1 $x2 $y2 $x1 $y2 $x1 $y1
+EOF
+
+draw 0, $xpos, $ypos, $size;
+exit 0;
+
+
+
+sub draw ($$$$)
+{
+ my ($level, $xpos, $ypos, $size) = @_;
+
+ # coloured square
+ {
+ my $x1 = $xpos + $size/3;
+ my $y1 = $ypos + $size/3;
+ my $x2 = $xpos + 2*$size/3;
+ my $y2 = $ypos + 2*$size/3;
+ my $c = $colours[$level];
+
+ print <<EOF;
+2 2 0 1 $c $c 50 -1 20 0.000 0 0 -1 0 0 5
+ $x1 $y1 $x2 $y1 $x2 $y2 $x1 $y2 $x1 $y1
+EOF
+ }
+
+ # horizontal grey line
+ {
+ my $x1 = $xpos;
+ my $y1 = $ypos + $size/2 - $linewidth;
+ my $x2 = $xpos + $size;
+ my $y2 = $ypos + $size/2 + $linewidth;
+ my $linecolour = 32;
+
+ print <<EOF;
+2 2 0 1 $linecolour $linecolour 100 -1 20 0.000 0 0 -1 0 0 5
+ $x1 $y1 $x2 $y1 $x2 $y2 $x1 $y2 $x1 $y1
+EOF
+ }
+
+ # vertical grey line
+ {
+ my $x1 = $xpos + $size/2 - $linewidth;
+ my $y1 = $ypos;
+ my $x2 = $xpos + $size/2 + $linewidth;
+ my $y2 = $ypos + $size;
+ my $linecolour = 32;
+
+ print <<EOF;
+2 2 0 1 $linecolour $linecolour 100 -1 20 0.000 0 0 -1 0 0 5
+ $x1 $y1 $x2 $y1 $x2 $y2 $x1 $y2 $x1 $y1
+EOF
+ }
+
+ # recur
+ if ($level+1 < $levels) {
+ for my $i (0, 1, 2) {
+ for my $j (0, 1, 2) {
+ if (! ($i==1 && $j==1)) {
+ draw $level+1, $xpos+$i*$size/3, $ypos+$j*$size/3, $size/3;
+ }
+ }
+ }
+ }
+}
diff --git a/Carpet/CarpetWeb/logo/Sierpinski.png b/Carpet/CarpetWeb/logo/Sierpinski.png
new file mode 100644
index 000000000..3651a21f7
--- /dev/null
+++ b/Carpet/CarpetWeb/logo/Sierpinski.png
Binary files differ
diff --git a/Carpet/CarpetWeb/olds.html b/Carpet/CarpetWeb/olds.html
index 220498bae..8bd58f747 100644
--- a/Carpet/CarpetWeb/olds.html
+++ b/Carpet/CarpetWeb/olds.html
@@ -14,6 +14,29 @@
<p><a href="index.html"><b>New News...</b></a></p>
+ <p><b>February 26, 2007:</b> The thorn <tt>LSUPETSc</tt>
+ implements a generic elliptic solver for Carpet's multi-patch
+ infrastructure, based
+ on <a
+ href="http://www-unix.mcs.anl.gov/petsc/petsc-as/">PETSc</a>.
+ It assumes touching (not overlapping) patches, and uses
+ inter-patch interface conditions very similar to those developed
+ by <a href="http://arxiv.org/abs/gr-qc/0510016">Harald
+ Pfeiffer</a>. <tt>LSUPETSc</tt> can solve "arbitrary" systems
+ of coupled, non-linear elliptic equations. It does not support
+ mesh refinement.</p>
+
+ <p><b>January 12, 2007:</b> In order to be able to restructure
+ some of Carpet's internals without disturbing ongoing production
+ simulations, we have created an <i>experimental version</i>.
+ The main goals of this experimental version are to improve its
+ performance on many (&gt;100) processors and to re-arrange some
+ internal details to simplify future development. Few new
+ features are planned, but some of the changes may be
+ incompatible.</p>
+
+ <hr />
+
<p><b>December 15, 2006:</b>
The <a href="http://numrel.aei.mpg.de/">AEI</a> hosted a small
workshop to improve the performance of the AEI/LSU CCATIE code
@@ -179,11 +202,11 @@
width="88" /></a>
</p>
- <address><a href="mailto:schnetter@uni-tuebingen.de">Erik Schnetter</a></address>
+ <address><a href="mailto:schnetter@cct.lsu.edu">Erik Schnetter</a></address>
<p>
<!-- Created: Tue Aug 12 12:12:08 CEST 2003 -->
<!-- hhmts start -->
-Last modified: Mon Jan 14 2008
+Last modified: Sat Mar 01 2008
<!-- hhmts end -->
</p>
diff --git a/Carpet/CarpetWeb/publications.html b/Carpet/CarpetWeb/publications.html
index 954dfa46c..630d28b33 100644
--- a/Carpet/CarpetWeb/publications.html
+++ b/Carpet/CarpetWeb/publications.html
@@ -830,7 +830,7 @@ PhD thesis, SISSA, 2006.
width="88" /></a>
</p>
- <address><a href="mailto:schnetter@uni-tuebingen.de">Erik Schnetter</a></address>
+ <address><a href="mailto:schnetter@cct.lsu.edu">Erik Schnetter</a></address>
<p>
<!-- Created: Sun Feb 26 2006 -->
<!-- hhmts start -->
diff --git a/Carpet/CarpetWeb/scripts/darcs0 b/Carpet/CarpetWeb/scripts/darcs0
index 82ee739d4..82ee739d4 100755..100644
--- a/Carpet/CarpetWeb/scripts/darcs0
+++ b/Carpet/CarpetWeb/scripts/darcs0
diff --git a/Carpet/CarpetWeb/status-reports.html b/Carpet/CarpetWeb/status-reports.html
index 3feb1d6f7..8d60a7e5a 100644
--- a/Carpet/CarpetWeb/status-reports.html
+++ b/Carpet/CarpetWeb/status-reports.html
@@ -72,7 +72,7 @@
</p>
<hr />
- <address><a href="mailto:schnetter@uni-tuebingen.de">Erik Schnetter</a></address>
+ <address><a href="mailto:schnetter@cct.lsu.edu">Erik Schnetter</a></address>
<!-- Created: Tue Sep 28 16:52:20 CEST 2004 -->
<!-- hhmts start -->
Last modified: Wed Jan 24 2007
diff --git a/Carpet/CarpetWeb/version-3.html b/Carpet/CarpetWeb/version-3.html
index 83405540b..d9e4fe9d8 100644
--- a/Carpet/CarpetWeb/version-3.html
+++ b/Carpet/CarpetWeb/version-3.html
@@ -141,7 +141,7 @@
</p>
<hr />
- <address><a href="mailto:schnetter@uni-tuebingen.de">Erik Schnetter</a></address>
+ <address><a href="mailto:schnetter@cct.lsu.edu">Erik Schnetter</a></address>
<!-- Created: Wed Sep 27 2006 -->
<!-- hhmts start -->
Last modified: Wed Jan 24 2007
diff --git a/Carpet/CarpetWeb/version-4.html b/Carpet/CarpetWeb/version-4.html
new file mode 100644
index 000000000..97e21c741
--- /dev/null
+++ b/Carpet/CarpetWeb/version-4.html
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="ISO-8859-15"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
+ <title>Carpet Version 4</title>
+ </head>
+
+ <body>
+ <h1>Carpet Version 4</h1>
+
+ <p>Version 4 will be the next release of Carpet, which is still
+ under development. This page describes the current state of the
+ development version and lists the changes from Version 3.</p>
+
+ <p>Main contributors to this version were, so far,
+ <a href="http://www.cct.lsu.edu/~eschnett/">Erik Schnetter</a>
+ (LSU),
+ <a href="http://www.aei.mpg.de/~tradke/">Thomas Radke</a> (AEI), and
+ <a href="http://proteus.as.arizona.edu/~cott">Christian D. Ott</a>
+ (UA). Special thanks go to Luca Baiotti, Denis Pollney, Christian
+ Reisswig, Jian Tao, and also to
+ the <a href="http://www.cct.lsu.edu/numerical/">CCT numerical
+ relativity group</a>, the <a href="http://numrel.aei.mpg.de/">AEI
+ numerical relativity group</a>, and
+ the <a href="http://www.cct.lsu.edu/~gallen/XiRelWeb/XiRel.html">XiRel
+ collaboration</a>.</p>
+
+
+
+ <h2>Major changes</h2>
+
+ <ul>
+ <li><p>The data structures and algorithms storing and handling
+ the communication schedule are much more efficient on large
+ numbers (several hundred or more) processors. This makes Carpet
+ scale to more than 8,000 cores.</p></li>
+
+ <li><p>The interface for defining and making dynamic changes to
+ grid hierarchies is simpler, and buffer zones are handled in a
+ cleaner manner. This makes it easier to write user code which
+ defines or updates the grid hierarchy, and reduces the chance of
+ inconsistencies therein.</p></li>
+
+ <li></p>During checkpointing and recovery, the grid structure is
+ saved and restored by default. This avoids accidental changes
+ upon recovery.</p></li>
+
+ <li></p>The efficiency of I/O has been increased, especially for
+ HDF5 based binary I/O. It is possible to combine several
+ variables into one file to reduce the number of output
+ files.</p></li>
+
+ <li></p>A new thorn LoopControl offers iterators over grid
+ points, implemented as C-style macros. These iterators allow
+ additional important loop-level optimisations, such
+ as <a href="http://en.wikipedia.org/wiki/Loop_tiling">loop
+ tiling</a> or
+ <a href="http://www.openmp.org/">OpenMP</a> parallelisation.
+ Efficient cache handling and hybrid communication models have a
+ large potential for performance improvements on current and
+ future architectures.</p></li>
+ </ul>
+
+
+
+ <h2>Changes in Detail</h2>
+
+ <h3>Initial Data</h3>
+
+ <ul>
+ <li><p>The parameter <code>Carpet::enable_all_storabe</code> is
+ off by default, reducing memory usage. This can uncover hidden
+ errors in schedule.ccl files. You can use poisoning
+ (<code>Carpet::poison_new_timelevels = yes</code>) to find these
+ problems.</p></li>
+
+ <li><p>The parameter <code>Carpet::regrid_in_level_mode</code>
+ is on by default. This balances the load more efficiently
+ between processors, especially for multi-patch
+ simulations.</p></li>
+
+ <li><p>Carpet requires thorn InitBase. This allows Carpet to
+ check whether its handling of initial data is consistent with
+ other thorns, assuming that the other thorns also use InitBase.
+ A new parameter <code>Carpet::init_fill_timelevels</code>
+ instructs Carpet to initialise all past time levels by making
+ copies of the current time level, very similar to
+ what <code>MoL::initial_data_is_crap</code> does.</p></li>
+
+ <li><p>Buffer zones are specified differently. Buffer zones are
+ enabled by setting <code>use_buffer_zones</code>, and outer
+ buffer zones are now the default. (Outer buffer zones are added
+ to the outside of the refined levels, instead of taking away
+ grid points from the interior of the refined levels.) The
+ necessary number of buffer zones is calculated automatically if
+ thorn MoL is used for time evolution.</p></li>
+
+ <li><p>There are new schedule
+ bins <code>CCTK_PREREGRIDINITIAL</code>
+ and <code>CCTK_POSTREGRIDINITIAL</code>, called before and after
+ regridding during initial data setup, respectively. As a rule
+ of thumb, routines scheduled in <code>CCTK_BASEGRID</code> must
+ also be scheduled in both <code>CCTK_POSTREGRID</code>
+ and <code>CCTK_POSTREGRIDINITIAL</code>. You can use poisoning
+ (see above) to catch errors in your schedule.ccl files.</p></li>
+ </ul>
+
+ <h3>Grid Structure</h3>
+
+ <ul>
+ <li><p>Thorn CarpetRegrid2 stores its state in grid variables
+ instead of in parameters. This makes it easier to modify the
+ grid hierarchy from other thorns, and is automatically
+ consistent upon checkpointing and recovery. It also simplifies
+ outputting the grid structure to files. These state variables
+ can be modified at any time, but their values are only
+ significant during regridding.</p></li>
+
+ <li><p>There is a new
+ parameter <code>CarpetRegrid2::symmetry_rotating180</code>,
+ which forces the generated grid structure to have the correct
+ symmetry for a 180 degree rotational symmetry about
+ the <code>z</code> axis. (It is unfortunate that errors in the
+ symmetry of the grid structure do not lead to errors but are
+ currently silently ignored. You can use poisoning -- see above
+ -- to catch errors in the grid structure.) A
+ parameter <code>CarpetRegrid2::symmetry_rotating90</code> is
+ planned, but not yet implemented.</p></li>
+
+ <li><p>Checkpointing saves and restores the grid structure by
+ default.</p></li>
+ </ul>
+
+ <h3>I/O</h3>
+
+ <ul>
+ <li><p>All Carpet I/O thorns support the new
+ parameter <code>one_file_per_group</code>, which combines all
+ variables from a variable group into a single file. This
+ reduces the number of output files.</p></li>
+ </ul>
+
+ <h3><Communication, Mesh Refinement</h3>
+
+ <ul>
+ <li><p>The algorithm determining the communication schedule is
+ new and much more fussy. It will detect all (one hopes)
+ inconsistencies in the grid structure. (Note that this does
+ unfortunately not include errors regarding the outer or symmetry
+ boundaries.)</p></li>
+
+ <li><p>The communication schedule is stored in a compressed
+ (sparse) form. This is necessary since the communication
+ schedule between N processors has N<sup>2</sup> entries, which
+ cannot be handled efficiently in full.</p></li>
+
+ <li><p>The prolongation operators have been rewritten. Time
+ interpolation is now handled separately, reducing the number of
+ operators.</p></li>
+
+ <li><p>Some unused CarpetLib parameters have been removed, some
+ new CarpetLib parameters have been introduced. The default
+ settings should be reasonable.</p></li>
+ </ul>
+
+ <h3>New Thorns</h3>
+
+ <ul>
+ <li><p>Carpet uses the new
+ thorn <code>CactusBase/InitBase</code>. Update from the Cactus
+ CVS repository to obtain this thorn.</p></li>
+
+ <li><p>A new thorn <code>Carpet/CarpetMask</code> can be used to
+ exclude certain regions, such as e.g. the interior of black
+ holes, from global reduction operations. This allows meaningful
+ norms of constraints
+ when <a href="http://arxiv.org/abs/0707.3101">Turduckened</a>
+ initial data are used.</p></li>
+
+ <li><p>Carpet offers a new thorn <code>Carpet/LoopControl</code>
+ providing iterators over grid points. These iterators are
+ implemented as C-style macros which can replace <code>for</code>
+ or <code>do</code> loops over grid functions. LoopControl
+ provides loop tiling for increased cache efficiency, and OpenMP
+ parallelisation to reduce parallelisation overhead on multi-core
+ machines.</p></li>
+ </ul>
+
+
+ <hr />
+
+ <p>Go back to the <a href=".">Carpet home page</a>.</p>
+
+ <hr />
+
+ <p>
+ <a href="http://www.xemacs.org/About/created.html"><img
+ src="cbxSmall.jpg" alt="Created with XEmacs!" height="36"
+ width="100" /></a>
+
+ <a href="http://www.anybrowser.org/campaign/"><img
+ src="logoab8.png" alt="Best Viewed With Any Browser" height="31"
+ width="88" /></a>
+
+ <a href="http://validator.w3.org/check?uri=referer"><img
+ src="http://www.w3.org/Icons/valid-xhtml10"
+ alt="Valid XHTML 1.0!" height="31" width="88" /></a>
+ </p>
+
+ <hr />
+ <address><a href="mailto:schnetter@cct.lsu.edu">Erik Schnetter</a></address>
+<!-- Created: Sat Mar 01 2008 -->
+<!-- hhmts start -->
+Last modified: Sat Mar 01 2008
+<!-- hhmts end -->
+ </body>
+</html>
diff --git a/Carpet/CarpetWeb/visualisation-tools.html b/Carpet/CarpetWeb/visualisation-tools.html
index 4a6058bf9..8dbe93d43 100644
--- a/Carpet/CarpetWeb/visualisation-tools.html
+++ b/Carpet/CarpetWeb/visualisation-tools.html
@@ -75,7 +75,7 @@
width="88" /></a>
</p>
- <address><a href="mailto:schnetter@uni-tuebingen.de">Erik Schnetter</a></address>
+ <address><a href="mailto:schnetter@cct.lsu.edu">Erik Schnetter</a></address>
<p>
<!-- Created: Thu Aug 11 2006 -->
<!-- hhmts start -->
diff --git a/Carpet/CarpetWeb/work-with-darcs.html b/Carpet/CarpetWeb/work-with-darcs.html
index fa750c5a6..679d69177 100644
--- a/Carpet/CarpetWeb/work-with-darcs.html
+++ b/Carpet/CarpetWeb/work-with-darcs.html
@@ -162,7 +162,7 @@
</p>
<hr />
- <address><a href="mailto:schnetter@uni-tuebingen.de">Erik Schnetter</a></address>
+ <address><a href="mailto:schnetter@cct.lsu.edu">Erik Schnetter</a></address>
<!-- Created: Tue Sep 28 16:52:20 CEST 2004 -->
<!-- hhmts start -->
Last modified: Wed Jan 24 2007