public static String longToName(long longName) {
		try {
			if (longName <= 0L || longName >= 0x5b5b57f8a98a5dd1L)
				return "invalid_name";
			if (longName % 37L == 0L)
				return "invalid_name";
			int i = 0;
			char name[] = new char[12];
			while (longName != 0L) {
				long n = longName;
				longName /= 37L;
				name[11 - i++] = VALID_CHARACTERS[(int) (n - longName * 37L)];
			}
			return new String(name, 12 - i, i);
		} catch (RuntimeException runtimeexception) {
			signlink.reporterror("81570, " + longName + ", " + (byte) -99
					+ ", " + runtimeexception.toString());
		}
		throw new RuntimeException();
	}