package com.google.zxing.qrcode.decoder; import com.google.zxing.qrcode.decoder.Version; /* loaded from: classes.dex */ final class DataBlock { private final int a; private final byte[] b; private DataBlock(int i, byte[] bArr) { this.a = i; this.b = bArr; } static DataBlock[] a(byte[] bArr, Version version, ErrorCorrectionLevel errorCorrectionLevel) { if (bArr.length != version.d()) { throw new IllegalArgumentException(); } Version.ECBlocks a = version.a(errorCorrectionLevel); Version.ECB[] a2 = a.a(); int i = 0; for (Version.ECB ecb : a2) { i += ecb.a(); } DataBlock[] dataBlockArr = new DataBlock[i]; int length = a2.length; int i2 = 0; int i3 = 0; while (i2 < length) { Version.ECB ecb2 = a2[i2]; int i4 = i3; int i5 = 0; while (i5 < ecb2.a()) { int b = ecb2.b(); dataBlockArr[i4] = new DataBlock(b, new byte[a.b() + b]); i5++; i4++; } i2++; i3 = i4; } int length2 = dataBlockArr[0].b.length; int length3 = dataBlockArr.length - 1; while (length3 >= 0 && dataBlockArr[length3].b.length != length2) { length3--; } int i6 = length3 + 1; int b2 = length2 - a.b(); int i7 = 0; int i8 = 0; while (i7 < b2) { int i9 = i8; int i10 = 0; while (i10 < i3) { dataBlockArr[i10].b[i7] = bArr[i9]; i10++; i9++; } i7++; i8 = i9; } int i11 = i6; while (i11 < i3) { dataBlockArr[i11].b[b2] = bArr[i8]; i11++; i8++; } int length4 = dataBlockArr[0].b.length; while (b2 < length4) { int i12 = i8; int i13 = 0; while (i13 < i3) { dataBlockArr[i13].b[i13 < i6 ? b2 : b2 + 1] = bArr[i12]; i13++; i12++; } b2++; i8 = i12; } return dataBlockArr; } int b() { return this.a; } byte[] a() { return this.b; } }