Google Web Toolkit @GWT_VERSION@
Copyright (c) Google, Inc. 2008.  All rights reserved.
Visit Google Code (http://code.google.com/webtoolkit/).

This product includes software developed by:
 - The Apache Software Foundation (http://www.apache.org/).
   - Tomcat (http://tomcat.apache.org/) with modifications
   - Tapestry (http://tapestry.apache.org/)
 - The Eclipse Foundation (http://www.eclipse.org/).
   - Java Development Tools (http://www.eclipse.org/jdt/)
   - Standard Widget Toolkit (http://www.eclipse.org/swt/) with modifications
 - The JFreeChart project (http://www.jfree.org/jfreechart/)
 - The Mozilla Foundation (http://www.mozilla.org/).
   - Mozilla 1.7.12 (http://www.mozilla.org/releases/mozilla1.7.12/)
   - Rhino (http://www.mozilla.org/rhino/) with modifications
 - The OpenQA Project (http://openqa.org/)
   - Selenium-RC (http://selenium-rc.openqa.org/)
 - The WebKit Open Source Project (http://www.webkit.org)

For source availability and license information see COPYING.
