<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>About</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<STYLE type=text/css>P {
	FONT-SIZE: 10pt; FONT-FAMILY: arial, helvetica, geneva
}
TABLE {
	FONT-SIZE: 10pt; FONT-FAMILY: arial, helvetica, geneva
}
TD {
	FONT-SIZE: 10pt; FONT-FAMILY: arial, helvetica, geneva
}
TH {
	FONT-SIZE: 10pt; FONT-FAMILY: arial, helvetica, geneva
}
PRE {
	FONT-SIZE: 10pt; FONT-FAMILY: "Courier New", Courier, mono
}
H2 {
	FONT-WEIGHT: bold; FONT-SIZE: 18pt; LINE-HEIGHT: 14px; FONT-FAMILY: arial, helvetica, geneva
}
CODE {
	FONT-SIZE: 10pt; FONT-FAMILY: "Courier New", Courier, mono
}
SUP {
	FONT-SIZE: 10px; FONT-FAMILY: arial,helvetica,geneva
}
H3 {
	FONT-WEIGHT: bold; FONT-SIZE: 14pt; FONT-FAMILY: arial, helvetica, geneva
}
LI {
	FONT-SIZE: 10pt; FONT-FAMILY: arial, helvetica, geneva
}
H1 {
	FONT-WEIGHT: bold; FONT-SIZE: 28px; FONT-FAMILY: arial, helvetica, geneva
}
BODY {
	MARGIN-TOP: 5mm; FONT-SIZE: 10pt; MARGIN-LEFT: 3mm; FONT-FAMILY: arial, helvetica, geneva
}
</STYLE>

<META content="MSHTML 6.00.2462.0" name=GENERATOR></HEAD>
<BODY lang=EN-US vLink=purple link=blue>
<TABLE cellSpacing=5 cellPadding=2 width="100%" border=0>
  <TBODY>
  <TR>
    <TD vAlign=top align=left bgColor=#0080c0 colSpan=2><B><FONT 
      color=#ffffff>About This Content</FONT></B></TD></TR>
  <TR>
    <TD>
      <P>7th June, 2002</P>
      <H3>License</H3>
      <P>Eclipse.org makes available all content in this plug-in "Content". 
      Unless otherwise indicated below, the Content is provided to you under the 
      terms and conditions of the <A 
      href="http://www.eclipse.org/legal/cpl-v10.html">Common Public License 
      Version 1.0</A> "CPL". For purposes of the CPL, "Program" will mean the 
      Content.</P>
      <H3>Contributions</H3>
      <P>If this Content is licensed to you under the terms and conditions of 
      the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or 
      otherwise made available to Eclipse.org, members of Eclipse.org and/or the 
      host of Eclipse.org web site, by you that relate to such Content are 
      provided under the terms and conditions of the CPL and can be made 
      available to others under the terms of the CPL.</P>
      <P>If this Content is licensed to you under license terms and conditions 
      other than the CPL "Other License", any modifications, enhancements and/or 
      other code and/or documentation "Modifications" uploaded, submitted, or 
      otherwise made available to Eclipse.org, members of Eclipse.org and/or the 
      host of Eclipse.org, by you that relate to such Content are provided under 
      terms and conditions of the Other License and can be made available to 
      others under the terms of the Other License. In addition, with regard to 
      Modifications for which you are the copyright holder, you are also 
      providing the Modifications under the terms and conditions of the CPL and 
      such Modifications can be made available to others under the terms of the 
      CPL.</P></TD></TR></TBODY></TABLE></BODY></HTML>
