/*******************************************************************************
 * Copyright (c) 2005, 2009 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 * IBM - Initial API and implementation
 *******************************************************************************/
package org.eclipse.team.internal.ccvs.ssh2;

import org.eclipse.osgi.util.NLS;

public class CVSSSH2Messages extends NLS {
	private static final String BUNDLE_NAME = "org.eclipse.team.internal.ccvs.ssh2.messages";//$NON-NLS-1$

	public static String JSchSession_3;

	public static String JSchSession_4;

	public static String JSchSession_5;
	public static String CVSSSH2ServerConnection_open;
	public static String CVSSSH2PreferencePage_18;
	public static String CVSSSH2PreferencePage_19;
	public static String CVSSSH2PreferencePage_20;
	public static String CVSSSH2PreferencePage_21;
	public static String CVSSSH2PreferencePage_23;
	public static String CVSSSH2PreferencePage_24;
	public static String CVSSSH2PreferencePage_25;
	public static String CVSSSH2PreferencePage_26;
	public static String CVSSSH2PreferencePage_27;
	public static String CVSSSH2PreferencePage_30;
	public static String CVSSSH2PreferencePage_31;
	public static String CVSSSH2PreferencePage_32;
	public static String CVSSSH2PreferencePage_33;
	public static String CVSSSH2PreferencePage_34;
	public static String CVSSSH2PreferencePage_35;
	public static String CVSSSH2PreferencePage_36;
	public static String CVSSSH2PreferencePage_39;
	public static String CVSSSH2PreferencePage_41;
	public static String CVSSSH2PreferencePage_42;
	public static String CVSSSH2PreferencePage_43;
	public static String CVSSSH2PreferencePage_44;
	public static String CVSSSH2PreferencePage_45;
	public static String CVSSSH2PreferencePage_47;
	public static String CVSSSH2PreferencePage_48;
	public static String CVSSSH2PreferencePage_49;
	public static String CVSSSH2PreferencePage_50;
	public static String CVSSSH2PreferencePage_53;
	public static String CVSSSH2PreferencePage_55;
	public static String CVSSSH2PreferencePage_57;
	public static String CVSSSH2PreferencePage_59;
	public static String CVSSSH2PreferencePage_99;
	public static String CVSSSH2PreferencePage_100;
	public static String CVSSSH2PreferencePage_104;
	public static String CVSSSH2PreferencePage_105;
	public static String CVSSSH2PreferencePage_106;
	public static String CVSSSH2PreferencePage_107;
	public static String CVSSSH2PreferencePage_108;
	public static String CVSSSH2PreferencePage_109;
	public static String CVSSSH2PreferencePage_110;
	public static String CVSSSH2PreferencePage_111;
	public static String CVSSSH2ServerConnection_3;
	public static String CVSSSH2ServerConnection_0;
	public static String CVSSSH2ServerConnection_1;
	public static String CVSSSH2ServerConnection_4;
	public static String CVSSSH2PreferencePage_information;
	public static String CVSSSH2PreferencePage_error;
	public static String CVSSSH2PreferencePage_confirmation;
	public static String CVSSSH2PreferencePage_question;
	public static String CVSSSH2PreferencePage_125;
	public static String CVSSSH2PreferencePage_126;
	public static String CVSSSH2PreferencePage_127;
	public static String CVSSSH2PreferencePage_128;
	public static String CVSSSH2PreferencePage_129;
	public static String CVSSSH2PreferencePage_130;
	public static String CVSSSH2PreferencePage_131;
	public static String CVSSSH2PreferencePage_132;
	public static String CVSSSH2PreferencePage_133;
	public static String CVSSSH2PreferencePage_134;
	public static String CVSSSH2PreferencePage_135;
	public static String CVSSSH2PreferencePage_136;
	public static String CVSSSH2PreferencePage_138;
	public static String CVSSSH2PreferencePage_139;
	static {
		// load message values from bundle file
		NLS.initializeMessages(BUNDLE_NAME, CVSSSH2Messages.class);
	}
}