###############################################################################
# Copyright (c) 2006, 2009 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
swt_copyright=/*******************************************************************************\n \
 * Copyright (c) 2000, %END_YEAR IBM Corporation and others. All rights reserved.\n \
 * The contents of this file are made available under the terms\n \
 * of the GNU Lesser General Public License (LGPL) Version 2.1 that\n \
 * accompanies this distribution (lgpl-v21.txt).  The LGPL is also\n \
 * available at http://www.gnu.org/licenses/lgpl.html.  If the version\n \
 * of the LGPL at http://www.gnu.org is different to the version of\n \
 * the LGPL accompanying this distribution and there is any conflict\n \
 * between the two license versions, the terms of the LGPL accompanying\n \
 * this distribution shall govern.\n \
 * \n \
 * Contributors:\n \
 *     IBM Corporation - initial API and implementation\n \
 *******************************************************************************/\n
 
