<html>

   <head>
      <title>Google Web Toolkit ${project.version}</title>
      <style>
         body {
            background-color: white;
            color: black;
            font-family: Arial, sans-serif;
            font-size: 10pt;
            margin: 20px;
            overflow: hidden;
         }

         #title {
            font-size: 14pt;
            font-weight: bold;
         }

         #title a {
            text-decoration: none;
         }

         #version {
            font-size: 8pt;
            font-weight: bold;
            text-align: right;
         }
         
         #intro {
            margin: 10px 0px 10px 0px ;
         }
         
         #attribs {
         }
         
      </style>
   </head>

   <body>
      <table align="center">
         <tr>
            <td id="title"><a href="http://code.google.com/webtoolkit/">Google Web Toolkit</a></td>
         </tr>
         <tr>
            <td id="version">Version ${project.version}</td>
         </tr>
      </table>

      <hr/>

      <div id="intro">
         Copyright &copy; 2006 <a href="http://www.google.com/">Google Inc.</a>
         All rights reserved.  
         All other product, service names, brands, or trademarks, are the property of their respective owners.
      </div>

      <div id="attribs">
         This product includes software developed by
         <ul>
            <li>
                The <a href="http://www.apache.org/">Apache Software Foundation</a>
                <ul>
                    <li><a href="http://tomcat.apache.org/">Tomcat</a> (with modifications)</li>
                    <li><a href="http://xerces.apache.org/">Xerces</a></li>
                    <li><a href="http://tapestry.apache.org/">Tapestry</a></li>
                </ul
            </li>
            <li>
                The <a href="http://www.eclipse.org/">Eclipse Foundation</a>
                <ul>
                    <li><a href="http://www.eclipse.org/jdt/">Java Development Tools</a></li>
                    <li><a href="http://www.eclipse.org/swt/">Standard Widget Toolkit</a> (with modifications)</li>
                </ul
            </li>
            <li>
                The <a href="http://www.mozilla.org/">Mozilla Foundation</a>
                <ul>
                    <li><a href="http://www.mozilla.org/releases/mozilla1.7.12/">Mozilla 1.7.12</a></li>
                    <li><a href="http://www.mozilla.org/rhino/">Rhino</a> (with modifications)</li>
                </ul
            </li>
            <li>The <a href="http://www.webkit.org/">WebKit Open Source Project</a></li>
            <li>The <a href="http://www.w3.org/">W3C consortium</a></li>
            <li>The <a href="http://www.saxproject.org/">SAX project</a></li>
         </ul>
         
         Source files and licenses for the modifications mentioned above are part of this distribution and can be found with their class files inside the included jars, as detailed <a href="http://code.google.com/webtoolkit/terms-${project.version}.html#licenses">here</a>.

      </div>
      
   </body>

</html>
