@Override
	protected void read(InputBuffer b) throws IOException, ParsingException {
		int first = b.get(0) & 0xFF;
		byte[] varInt;

		if (first < 0xfd) {
			varInt = new byte[] { (byte) first };
		} else {
			varInt = b.get(1, 1 << first - 0xfc);
		}

		// Add a zero prefix to get a length of 8.
		byte[] tmp = new byte[8];

		for (int i = 0; i < tmp.length; i++) {
			int index = i + varInt.length - tmp.length;

			if (index >= 0) {
				tmp[i] = varInt[index];
			}
		}

		n = Util.getLong(tmp);
	}