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