package com.google.zxing.datamatrix.decoder;

import com.google.android.gms.internal.ads.dg;
import com.google.zxing.FormatException;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashSet;
import tb.c;
import tb.d;

/* JADX INFO: loaded from: classes.dex */
public abstract class a {

    /* JADX INFO: renamed from: b, reason: collision with root package name */
    public static final char[] f24372b;

    /* JADX INFO: renamed from: d, reason: collision with root package name */
    public static final char[] f24374d;

    /* JADX INFO: renamed from: a, reason: collision with root package name */
    public static final char[] f24371a = {'*', '*', '*', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};

    /* JADX INFO: renamed from: c, reason: collision with root package name */
    public static final char[] f24373c = {'*', '*', '*', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};

    /* JADX INFO: renamed from: e, reason: collision with root package name */
    public static final char[] f24375e = {'`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '{', '|', '}', '~', 127};

    static {
        char[] cArr = {'!', '\"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_'};
        f24372b = cArr;
        f24374d = cArr;
    }

    /* JADX WARN: Can't fix incorrect switch cases order, some code will duplicate */
    /* JADX WARN: Code restructure failed: missing block: B:31:0x0080, code lost:
    
        throw com.google.zxing.FormatException.a();
     */
    /* JADX WARN: Removed duplicated region for block: B:319:0x00c7 A[SYNTHETIC] */
    /* JADX WARN: Removed duplicated region for block: B:43:0x00c9 A[LOOP:1: B:6:0x0035->B:43:0x00c9, LOOP_END] */
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    public static c a(byte[] bArr) {
        int iB;
        char c6;
        char c10;
        boolean z10;
        int iB2;
        boolean z11;
        int iB3;
        DecodedBitStreamParser$Mode decodedBitStreamParser$Mode;
        dg dgVar = new dg(bArr, 3);
        d dVar = new d(100);
        boolean z12 = false;
        StringBuilder sb = new StringBuilder(0);
        int i10 = 1;
        ArrayList arrayList = new ArrayList(1);
        DecodedBitStreamParser$Mode decodedBitStreamParser$Mode2 = DecodedBitStreamParser$Mode.f24363b;
        HashSet hashSet = new HashSet();
        boolean z13 = false;
        DecodedBitStreamParser$Mode decodedBitStreamParser$Mode3 = decodedBitStreamParser$Mode2;
        while (true) {
            DecodedBitStreamParser$Mode decodedBitStreamParser$Mode4 = DecodedBitStreamParser$Mode.f24362a;
            int i11 = 254;
            int i12 = 8;
            if (decodedBitStreamParser$Mode3 == decodedBitStreamParser$Mode2) {
                boolean z14 = z12;
                while (true) {
                    int iB4 = dgVar.b(i12);
                    if (iB4 == 0) {
                        throw FormatException.a();
                    }
                    if (iB4 <= 128) {
                        if (z14) {
                            iB4 += 128;
                        }
                        dVar.a((char) (iB4 - i10));
                        decodedBitStreamParser$Mode = decodedBitStreamParser$Mode2;
                    } else if (iB4 == 129) {
                        decodedBitStreamParser$Mode = decodedBitStreamParser$Mode4;
                    } else {
                        if (iB4 > 229) {
                            switch (iB4) {
                                case 230:
                                    decodedBitStreamParser$Mode = DecodedBitStreamParser$Mode.f24364c;
                                    break;
                                case 231:
                                    decodedBitStreamParser$Mode = DecodedBitStreamParser$Mode.f24368g;
                                    break;
                                case 232:
                                    hashSet.add(Integer.valueOf(dVar.toString().length()));
                                    dVar.a((char) 29);
                                    if (dgVar.a() <= 0) {
                                        decodedBitStreamParser$Mode = decodedBitStreamParser$Mode2;
                                    } else {
                                        i12 = 8;
                                        i10 = 1;
                                        i11 = 254;
                                    }
                                    break;
                                case 233:
                                case 234:
                                    break;
                                case 235:
                                    z14 = true;
                                    if (dgVar.a() <= 0) {
                                    }
                                    break;
                                case 236:
                                    ((StringBuilder) dVar.f33020b).append("[)>\u001e05\u001d");
                                    sb.insert(0, "\u001e\u0004");
                                    if (dgVar.a() <= 0) {
                                    }
                                    break;
                                case 237:
                                    ((StringBuilder) dVar.f33020b).append("[)>\u001e06\u001d");
                                    sb.insert(0, "\u001e\u0004");
                                    if (dgVar.a() <= 0) {
                                    }
                                    break;
                                case 238:
                                    decodedBitStreamParser$Mode = DecodedBitStreamParser$Mode.f24366e;
                                    break;
                                case 239:
                                    decodedBitStreamParser$Mode = DecodedBitStreamParser$Mode.f24365d;
                                    break;
                                case 240:
                                    decodedBitStreamParser$Mode = DecodedBitStreamParser$Mode.f24367f;
                                    break;
                                case 241:
                                    decodedBitStreamParser$Mode = DecodedBitStreamParser$Mode.f24369h;
                                    break;
                                default:
                                    if (iB4 != i11 || dgVar.a() != 0) {
                                    }
                                    break;
                            }
                        } else {
                            int i13 = iB4 - 130;
                            if (i13 < 10) {
                                dVar.a('0');
                            }
                            ((StringBuilder) dVar.f33020b).append(String.valueOf(i13));
                        }
                        if (dgVar.a() <= 0) {
                        }
                    }
                }
                decodedBitStreamParser$Mode3 = decodedBitStreamParser$Mode;
            } else {
                switch (decodedBitStreamParser$Mode3.ordinal()) {
                    case 2:
                        int[] iArr = new int[3];
                        boolean z15 = false;
                        int i14 = 0;
                        while (dgVar.a() != 8 && (iB = dgVar.b(8)) != 254) {
                            b(iB, dgVar.b(8), iArr);
                            int i15 = 0;
                            for (int i16 = 3; i15 < i16; i16 = 3) {
                                int i17 = iArr[i15];
                                if (i14 != 0) {
                                    if (i14 != 1) {
                                        if (i14 == 2) {
                                            if (i17 < 27) {
                                                char c11 = f24372b[i17];
                                                if (z15) {
                                                    dVar.a((char) (c11 + 128));
                                                    z10 = false;
                                                } else {
                                                    dVar.a(c11);
                                                    z10 = z15;
                                                }
                                                z15 = z10;
                                                c6 = 30;
                                            } else if (i17 != 27) {
                                                c6 = 30;
                                                if (i17 != 30) {
                                                    throw FormatException.a();
                                                }
                                                z15 = true;
                                            } else {
                                                c6 = 30;
                                                hashSet.add(Integer.valueOf(dVar.toString().length()));
                                                c10 = 29;
                                                dVar.a((char) 29);
                                            }
                                            c10 = 29;
                                        } else {
                                            if (i14 != 3) {
                                                throw FormatException.a();
                                            }
                                            if (z15) {
                                                dVar.a((char) (i17 + 224));
                                                z15 = false;
                                            } else {
                                                dVar.a((char) (i17 + 96));
                                            }
                                            i14 = 0;
                                        }
                                    } else if (z15) {
                                        dVar.a((char) (i17 + 128));
                                        z15 = false;
                                    } else {
                                        dVar.a((char) i17);
                                    }
                                    i14 = 0;
                                } else if (i17 < i16) {
                                    i14 = i17 + 1;
                                } else {
                                    if (i17 >= 40) {
                                        throw FormatException.a();
                                    }
                                    char c12 = f24371a[i17];
                                    if (z15) {
                                        dVar.a((char) (c12 + 128));
                                        z15 = false;
                                    } else {
                                        dVar.a(c12);
                                    }
                                }
                                i15++;
                            }
                            if (dgVar.a() <= 0) {
                                decodedBitStreamParser$Mode3 = decodedBitStreamParser$Mode2;
                                break;
                            }
                        }
                        decodedBitStreamParser$Mode3 = decodedBitStreamParser$Mode2;
                        break;
                    case 3:
                        int i18 = 3;
                        int[] iArr2 = new int[3];
                        boolean z16 = false;
                        int i19 = 0;
                        while (dgVar.a() != 8 && (iB2 = dgVar.b(8)) != 254) {
                            b(iB2, dgVar.b(8), iArr2);
                            int i20 = i19;
                            int i21 = 0;
                            while (i21 < i18) {
                                int i22 = iArr2[i21];
                                if (i20 != 0) {
                                    if (i20 != 1) {
                                        if (i20 != 2) {
                                            if (i20 != 3) {
                                                throw FormatException.a();
                                            }
                                            if (i22 >= 32) {
                                                throw FormatException.a();
                                            }
                                            char c13 = f24375e[i22];
                                            if (z16) {
                                                dVar.a((char) (c13 + 128));
                                                z16 = false;
                                            } else {
                                                dVar.a(c13);
                                            }
                                        } else if (i22 < 27) {
                                            char c14 = f24374d[i22];
                                            if (z16) {
                                                dVar.a((char) (c14 + 128));
                                                z11 = false;
                                                z16 = z11;
                                            } else {
                                                dVar.a(c14);
                                                z11 = z16;
                                                z16 = z11;
                                            }
                                        } else if (i22 == 27) {
                                            hashSet.add(Integer.valueOf(dVar.toString().length()));
                                            dVar.a((char) 29);
                                            z11 = z16;
                                            z16 = z11;
                                        } else {
                                            if (i22 != 30) {
                                                throw FormatException.a();
                                            }
                                            z11 = true;
                                            z16 = z11;
                                        }
                                        i20 = 0;
                                    } else if (z16) {
                                        dVar.a((char) (i22 + 128));
                                        z16 = false;
                                        i20 = 0;
                                    } else {
                                        dVar.a((char) i22);
                                        i20 = 0;
                                    }
                                } else if (i22 < i18) {
                                    i20 = i22 + 1;
                                } else {
                                    if (i22 >= 40) {
                                        throw FormatException.a();
                                    }
                                    char c15 = f24373c[i22];
                                    if (z16) {
                                        dVar.a((char) (c15 + 128));
                                        z16 = false;
                                    } else {
                                        dVar.a(c15);
                                    }
                                }
                                i21++;
                                i18 = 3;
                            }
                            if (dgVar.a() <= 0) {
                                decodedBitStreamParser$Mode3 = decodedBitStreamParser$Mode2;
                            } else {
                                i19 = i20;
                                i18 = 3;
                            }
                            break;
                        }
                        decodedBitStreamParser$Mode3 = decodedBitStreamParser$Mode2;
                        break;
                    case 4:
                        int i23 = 3;
                        int[] iArr3 = new int[3];
                        while (dgVar.a() != 8 && (iB3 = dgVar.b(8)) != 254) {
                            b(iB3, dgVar.b(8), iArr3);
                            int i24 = 0;
                            while (i24 < i23) {
                                int i25 = iArr3[i24];
                                if (i25 == 0) {
                                    dVar.a('\r');
                                } else if (i25 == 1) {
                                    dVar.a('*');
                                } else if (i25 == 2) {
                                    dVar.a('>');
                                } else if (i25 == i23) {
                                    dVar.a(' ');
                                } else if (i25 < 14) {
                                    dVar.a((char) (i25 + 44));
                                } else {
                                    if (i25 >= 40) {
                                        throw FormatException.a();
                                    }
                                    dVar.a((char) (i25 + 51));
                                }
                                i24++;
                                i23 = 3;
                            }
                            if (dgVar.a() <= 0) {
                                decodedBitStreamParser$Mode3 = decodedBitStreamParser$Mode2;
                            } else {
                                i23 = 3;
                            }
                            break;
                        }
                        decodedBitStreamParser$Mode3 = decodedBitStreamParser$Mode2;
                        break;
                    case 5:
                        while (true) {
                            if (dgVar.a() > 16) {
                                int i26 = 4;
                                int i27 = 0;
                                while (true) {
                                    if (i27 < i26) {
                                        int iB5 = dgVar.b(6);
                                        if (iB5 == 31) {
                                            int i28 = 8 - dgVar.f10393d;
                                            if (i28 != 8) {
                                                dgVar.b(i28);
                                            }
                                        } else {
                                            if ((iB5 & 32) == 0) {
                                                iB5 |= 64;
                                            }
                                            dVar.a((char) iB5);
                                            i27++;
                                            i26 = 4;
                                        }
                                    } else if (dgVar.a() <= 0) {
                                    }
                                }
                            }
                        }
                        decodedBitStreamParser$Mode3 = decodedBitStreamParser$Mode2;
                        break;
                    case 6:
                        int i29 = dgVar.f10392c;
                        int i30 = 8;
                        int i31 = i29 + 2;
                        int iC = c(dgVar.b(8), i29 + 1);
                        if (iC == 0) {
                            iC = dgVar.a() / 8;
                        } else if (iC >= 250) {
                            iC = ((iC - 249) * 250) + c(dgVar.b(8), i31);
                            i31 = i29 + 3;
                        }
                        if (iC < 0) {
                            throw FormatException.a();
                        }
                        byte[] bArr2 = new byte[iC];
                        int i32 = 0;
                        while (i32 < iC) {
                            if (dgVar.a() < i30) {
                                throw FormatException.a();
                            }
                            bArr2[i32] = (byte) c(dgVar.b(i30), i31);
                            i32++;
                            i31++;
                            i30 = 8;
                        }
                        arrayList.add(bArr2);
                        ((StringBuilder) dVar.f33020b).append(new String(bArr2, StandardCharsets.ISO_8859_1));
                        decodedBitStreamParser$Mode3 = decodedBitStreamParser$Mode2;
                        break;
                        break;
                    case 7:
                        if (dgVar.a() < 8) {
                            throw FormatException.a();
                        }
                        int iB6 = dgVar.b(8);
                        if (iB6 <= 127) {
                            dVar.b(iB6 - 1);
                        }
                        z13 = true;
                        decodedBitStreamParser$Mode3 = decodedBitStreamParser$Mode2;
                        break;
                        break;
                    default:
                        throw FormatException.a();
                }
            }
            if (decodedBitStreamParser$Mode3 != decodedBitStreamParser$Mode4 && dgVar.a() > 0) {
                z12 = false;
                i10 = 1;
            }
        }
        if (sb.length() > 0) {
            dVar.e();
            ((StringBuilder) dVar.f33021c).append((CharSequence) sb);
        }
        return new c(bArr, dVar.toString(), arrayList.isEmpty() ? null : arrayList, null, -1, -1, z13 ? (hashSet.contains(0) || hashSet.contains(4)) ? 5 : (hashSet.contains(1) || hashSet.contains(5)) ? 6 : 4 : (hashSet.contains(0) || hashSet.contains(4)) ? 2 : (hashSet.contains(1) || hashSet.contains(5)) ? 3 : 1);
    }

    public static void b(int i10, int i11, int[] iArr) {
        int i12 = ((i10 << 8) + i11) - 1;
        int i13 = i12 / 1600;
        iArr[0] = i13;
        int i14 = i12 - (i13 * 1600);
        int i15 = i14 / 40;
        iArr[1] = i15;
        iArr[2] = i14 - (i15 * 40);
    }

    public static int c(int i10, int i11) {
        int i12 = i10 - (((i11 * 149) % 255) + 1);
        return i12 >= 0 ? i12 : i12 + 256;
    }
}
