what-the-bank/sources/o/grP.java

168 lines
5.9 KiB
Java

package o;
import com.google.common.primitives.UnsignedBytes;
import java.io.IOException;
import java.io.OutputStream;
import net.sf.scuba.smartcards.ISO7816;
import net.sf.scuba.smartcards.ISOFileInfo;
import org.jmrtd.lds.CVCAFile;
/* loaded from: classes6.dex */
public final class grP implements grQ {
private byte[] d = {65, CVCAFile.CAR_TAG, 67, ISO7816.INS_REHABILITATE_CHV, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, ISOFileInfo.FCP_BYTE, 99, ISOFileInfo.FMD_BYTE, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, ISOFileInfo.FCI_BYTE, ISO7816.INS_MANAGE_CHANNEL, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, ISO7816.INS_DECREASE, 49, ISO7816.INS_INCREASE, 51, ISO7816.INS_DECREASE_STAMPED, 53, 54, 55, 56, 57, 43, 47};
private byte e = 61;
private byte[] a = new byte[128];
private static boolean d(char c) {
return c == '\n' || c == '\r' || c == '\t' || c == ' ';
}
public grP() {
int i = 0;
int i2 = 0;
while (true) {
byte[] bArr = this.a;
if (i2 >= bArr.length) {
break;
}
bArr[i2] = -1;
i2++;
}
while (true) {
byte[] bArr2 = this.d;
if (i >= bArr2.length) {
return;
}
this.a[bArr2[i]] = (byte) i;
i++;
}
}
@Override // o.grQ
public final int e(byte[] bArr, int i, int i2, OutputStream outputStream) throws IOException {
int i3;
int i4 = i2 % 3;
int i5 = i2 - i4;
int i6 = i;
while (true) {
i3 = i + i5;
if (i6 >= i3) {
break;
}
int i7 = bArr[i6] & UnsignedBytes.MAX_VALUE;
int i8 = bArr[i6 + 1] & UnsignedBytes.MAX_VALUE;
byte b = bArr[i6 + 2];
outputStream.write(this.d[(i7 >>> 2) & 63]);
outputStream.write(this.d[((i7 << 4) | (i8 >>> 4)) & 63]);
outputStream.write(this.d[((i8 << 2) | ((b & UnsignedBytes.MAX_VALUE) >>> 6)) & 63]);
outputStream.write(this.d[b & 63]);
i6 += 3;
}
if (i4 == 1) {
int i9 = bArr[i3] & UnsignedBytes.MAX_VALUE;
outputStream.write(this.d[(i9 >>> 2) & 63]);
outputStream.write(this.d[(i9 << 4) & 63]);
outputStream.write(this.e);
outputStream.write(this.e);
} else if (i4 == 2) {
int i10 = bArr[i3] & UnsignedBytes.MAX_VALUE;
int i11 = bArr[i3 + 1] & UnsignedBytes.MAX_VALUE;
outputStream.write(this.d[(i10 >>> 2) & 63]);
outputStream.write(this.d[((i10 << 4) | (i11 >>> 4)) & 63]);
outputStream.write(this.d[(i11 << 2) & 63]);
outputStream.write(this.e);
}
return ((i5 / 3) << 2) + (i4 == 0 ? 0 : 4);
}
@Override // o.grQ
public final int e(String str, OutputStream outputStream) throws IOException {
int length = str.length();
while (length > 0 && d(str.charAt(length - 1))) {
length--;
}
int i = length - 4;
int i2 = 0;
int i3 = 0;
while (i3 < i && d(str.charAt(i3))) {
i3++;
}
while (i3 < i) {
byte b = this.a[str.charAt(i3)];
do {
i3++;
if (i3 >= i) {
break;
}
} while (d(str.charAt(i3)));
byte b2 = this.a[str.charAt(i3)];
do {
i3++;
if (i3 >= i) {
break;
}
} while (d(str.charAt(i3)));
byte b3 = this.a[str.charAt(i3)];
do {
i3++;
if (i3 >= i) {
break;
}
} while (d(str.charAt(i3)));
byte b4 = this.a[str.charAt(i3)];
if ((b | b2 | b3 | b4) < 0) {
throw new IOException("invalid characters encountered in base64 data");
}
outputStream.write((b << 2) | (b2 >> 4));
outputStream.write((b2 << 4) | (b3 >> 2));
outputStream.write((b3 << 6) | b4);
i2 += 3;
do {
i3++;
if (i3 < i) {
}
} while (d(str.charAt(i3)));
}
char charAt = str.charAt(i);
char charAt2 = str.charAt(length - 3);
char charAt3 = str.charAt(length - 2);
int i4 = 1;
char charAt4 = str.charAt(length - 1);
byte b5 = this.e;
if (charAt3 == b5) {
byte[] bArr = this.a;
byte b6 = bArr[charAt];
byte b7 = bArr[charAt2];
if ((b6 | b7) < 0) {
throw new IOException("invalid characters encountered at end of base64 data");
}
outputStream.write((b7 >> 4) | (b6 << 2));
} else if (charAt4 == b5) {
byte[] bArr2 = this.a;
byte b8 = bArr2[charAt];
byte b9 = bArr2[charAt2];
byte b10 = bArr2[charAt3];
if ((b8 | b9 | b10) < 0) {
throw new IOException("invalid characters encountered at end of base64 data");
}
outputStream.write((b8 << 2) | (b9 >> 4));
outputStream.write((b10 >> 2) | (b9 << 4));
i4 = 2;
} else {
byte[] bArr3 = this.a;
byte b11 = bArr3[charAt];
byte b12 = bArr3[charAt2];
byte b13 = bArr3[charAt3];
byte b14 = bArr3[charAt4];
if ((b11 | b12 | b13 | b14) < 0) {
throw new IOException("invalid characters encountered at end of base64 data");
}
outputStream.write((b11 << 2) | (b12 >> 4));
outputStream.write((b12 << 4) | (b13 >> 2));
outputStream.write(b14 | (b13 << 6));
i4 = 3;
}
return i2 + i4;
}
}