package androidx.datastore.preferences.protobuf;

import androidx.media3.exoplayer.analytics.AnalyticsListener;
import androidx.media3.extractor.ts.PsExtractor;
import java.nio.charset.Charset;
import java.util.Arrays;

/* JADX INFO: loaded from: classes.dex */
public final class r0 extends c0 {

    /* JADX INFO: renamed from: c, reason: collision with root package name */
    public final /* synthetic */ int f11443c;

    public /* synthetic */ r0(int i6) {
        this.f11443c = i6;
    }

    public static int g(long j4, byte[] bArr, int i6, int i7) {
        if (i7 == 0) {
            c0 c0Var = t0.f11444a;
            if (i6 > -12) {
                return -1;
            }
            return i6;
        }
        if (i7 == 1) {
            return t0.c(i6, q0.g(j4, bArr));
        }
        if (i7 == 2) {
            return t0.d(i6, q0.g(j4, bArr), q0.g(j4 + 1, bArr));
        }
        throw new AssertionError();
    }

    /* JADX WARN: Removed duplicated region for block: B:20:0x0049  */
    @Override // androidx.datastore.preferences.protobuf.c0
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    public final String a(byte[] bArr, int i6, int i7) throws C1034x {
        switch (this.f11443c) {
            case 0:
                if ((i6 | i7 | ((bArr.length - i6) - i7)) < 0) {
                    throw new ArrayIndexOutOfBoundsException(String.format("buffer length=%d, index=%d, size=%d", Integer.valueOf(bArr.length), Integer.valueOf(i6), Integer.valueOf(i7)));
                }
                int i8 = i6 + i7;
                char[] cArr = new char[i7];
                int i9 = 0;
                while (i6 < i8) {
                    byte b5 = bArr[i6];
                    if (b5 < 0) {
                        while (i6 < i8) {
                            int i10 = i6 + 1;
                            byte b6 = bArr[i6];
                            if (b6 >= 0) {
                                int i11 = i9 + 1;
                                cArr[i9] = (char) b6;
                                while (i10 < i8) {
                                    byte b7 = bArr[i10];
                                    if (b7 >= 0) {
                                        i10++;
                                        cArr[i11] = (char) b7;
                                        i11++;
                                    } else {
                                        i9 = i11;
                                        i6 = i10;
                                    }
                                }
                                i9 = i11;
                                i6 = i10;
                            } else if (b6 < -32) {
                                if (i10 >= i8) {
                                    throw C1034x.a();
                                }
                                i6 += 2;
                                byte b8 = bArr[i10];
                                int i12 = i9 + 1;
                                if (b6 < -62 || c0.d(b8)) {
                                    throw C1034x.a();
                                }
                                cArr[i9] = (char) ((b8 & 63) | ((b6 & 31) << 6));
                                i9 = i12;
                            } else {
                                if (b6 >= -16) {
                                    if (i10 >= i8 - 2) {
                                        throw C1034x.a();
                                    }
                                    byte b9 = bArr[i10];
                                    int i13 = i6 + 3;
                                    byte b10 = bArr[i6 + 2];
                                    i6 += 4;
                                    byte b11 = bArr[i13];
                                    int i14 = i9 + 1;
                                    if (!c0.d(b9)) {
                                        if ((((b9 + 112) + (b6 << 28)) >> 30) == 0 && !c0.d(b10) && !c0.d(b11)) {
                                            int i15 = ((b9 & 63) << 12) | ((b6 & 7) << 18) | ((b10 & 63) << 6) | (b11 & 63);
                                            cArr[i9] = (char) ((i15 >>> 10) + 55232);
                                            cArr[i14] = (char) ((i15 & AnalyticsListener.EVENT_DRM_KEYS_LOADED) + 56320);
                                            i9 += 2;
                                        }
                                    }
                                    throw C1034x.a();
                                }
                                if (i10 >= i8 - 1) {
                                    throw C1034x.a();
                                }
                                int i16 = i6 + 2;
                                byte b12 = bArr[i10];
                                i6 += 3;
                                byte b13 = bArr[i16];
                                int i17 = i9 + 1;
                                if (c0.d(b12) || ((b6 == -32 && b12 < -96) || ((b6 == -19 && b12 >= -96) || c0.d(b13)))) {
                                    throw C1034x.a();
                                }
                                cArr[i9] = (char) (((b12 & 63) << 6) | ((b6 & 15) << 12) | (b13 & 63));
                                i9 = i17;
                            }
                        }
                        return new String(cArr, 0, i9);
                    }
                    i6++;
                    cArr[i9] = (char) b5;
                    i9++;
                }
                while (i6 < i8) {
                }
                return new String(cArr, 0, i9);
            default:
                Charset charset = AbstractC1032v.f11445a;
                String str = new String(bArr, i6, i7, charset);
                if (str.contains("�") && !Arrays.equals(str.getBytes(charset), Arrays.copyOfRange(bArr, i6, i7 + i6))) {
                    throw C1034x.a();
                }
                return str;
        }
    }

    @Override // androidx.datastore.preferences.protobuf.c0
    public final int b(String str, byte[] bArr, int i6, int i7) {
        int i8;
        int i9;
        char cCharAt;
        long j4;
        char c6;
        long j6;
        long j7;
        char c7;
        int i10;
        char cCharAt2;
        switch (this.f11443c) {
            case 0:
                int length = str.length();
                int i11 = i7 + i6;
                int i12 = 0;
                while (i12 < length && (i9 = i12 + i6) < i11 && (cCharAt = str.charAt(i12)) < 128) {
                    bArr[i9] = (byte) cCharAt;
                    i12++;
                }
                if (i12 == length) {
                    return i6 + length;
                }
                int i13 = i6 + i12;
                while (i12 < length) {
                    char cCharAt3 = str.charAt(i12);
                    if (cCharAt3 < 128 && i13 < i11) {
                        bArr[i13] = (byte) cCharAt3;
                        i13++;
                    } else if (cCharAt3 < 2048 && i13 <= i11 - 2) {
                        int i14 = i13 + 1;
                        bArr[i13] = (byte) ((cCharAt3 >>> 6) | 960);
                        i13 += 2;
                        bArr[i14] = (byte) ((cCharAt3 & '?') | 128);
                    } else {
                        if ((cCharAt3 >= 55296 && 57343 >= cCharAt3) || i13 > i11 - 3) {
                            if (i13 > i11 - 4) {
                                if (55296 <= cCharAt3 && cCharAt3 <= 57343 && ((i8 = i12 + 1) == str.length() || !Character.isSurrogatePair(cCharAt3, str.charAt(i8)))) {
                                    throw new s0(i12, length);
                                }
                                throw new ArrayIndexOutOfBoundsException("Failed writing " + cCharAt3 + " at index " + i13);
                            }
                            int i15 = i12 + 1;
                            if (i15 != str.length()) {
                                char cCharAt4 = str.charAt(i15);
                                if (Character.isSurrogatePair(cCharAt3, cCharAt4)) {
                                    int codePoint = Character.toCodePoint(cCharAt3, cCharAt4);
                                    bArr[i13] = (byte) ((codePoint >>> 18) | PsExtractor.VIDEO_STREAM_MASK);
                                    bArr[i13 + 1] = (byte) (((codePoint >>> 12) & 63) | 128);
                                    int i16 = i13 + 3;
                                    bArr[i13 + 2] = (byte) (((codePoint >>> 6) & 63) | 128);
                                    i13 += 4;
                                    bArr[i16] = (byte) ((codePoint & 63) | 128);
                                    i12 = i15;
                                } else {
                                    i12 = i15;
                                }
                            }
                            throw new s0(i12 - 1, length);
                        }
                        bArr[i13] = (byte) ((cCharAt3 >>> '\f') | 480);
                        int i17 = i13 + 2;
                        bArr[i13 + 1] = (byte) (((cCharAt3 >>> 6) & 63) | 128);
                        i13 += 3;
                        bArr[i17] = (byte) ((cCharAt3 & '?') | 128);
                    }
                    i12++;
                }
                return i13;
            default:
                long j8 = i6;
                long j9 = ((long) i7) + j8;
                int length2 = str.length();
                if (length2 > i7 || bArr.length - i7 < i6) {
                    throw new ArrayIndexOutOfBoundsException("Failed writing " + str.charAt(length2 - 1) + " at index " + (i6 + i7));
                }
                int i18 = 0;
                while (true) {
                    j4 = 1;
                    c6 = 128;
                    if (i18 < length2 && (cCharAt2 = str.charAt(i18)) < 128) {
                        q0.k(bArr, j8, (byte) cCharAt2);
                        i18++;
                        j8 = 1 + j8;
                    }
                }
                if (i18 == length2) {
                    return (int) j8;
                }
                while (i18 < length2) {
                    char cCharAt5 = str.charAt(i18);
                    if (cCharAt5 < c6 && j8 < j9) {
                        q0.k(bArr, j8, (byte) cCharAt5);
                        c7 = c6;
                        j6 = j4;
                        j7 = j8 + j4;
                    } else if (cCharAt5 >= 2048 || j8 > j9 - 2) {
                        j6 = j4;
                        if ((cCharAt5 >= 55296 && 57343 >= cCharAt5) || j8 > j9 - 3) {
                            long j10 = j8;
                            if (j10 > j9 - 4) {
                                if (55296 <= cCharAt5 && cCharAt5 <= 57343 && ((i10 = i18 + 1) == length2 || !Character.isSurrogatePair(cCharAt5, str.charAt(i10)))) {
                                    throw new s0(i18, length2);
                                }
                                throw new ArrayIndexOutOfBoundsException("Failed writing " + cCharAt5 + " at index " + j10);
                            }
                            int i19 = i18 + 1;
                            if (i19 != length2) {
                                char cCharAt6 = str.charAt(i19);
                                if (Character.isSurrogatePair(cCharAt5, cCharAt6)) {
                                    int codePoint2 = Character.toCodePoint(cCharAt5, cCharAt6);
                                    q0.k(bArr, j10, (byte) ((codePoint2 >>> 18) | PsExtractor.VIDEO_STREAM_MASK));
                                    c7 = 128;
                                    q0.k(bArr, j10 + j6, (byte) (((codePoint2 >>> 12) & 63) | 128));
                                    q0.k(bArr, j10 + 2, (byte) (((codePoint2 >>> 6) & 63) | 128));
                                    q0.k(bArr, j10 + 3, (byte) ((codePoint2 & 63) | 128));
                                    j7 = j10 + 4;
                                    i18 = i19;
                                } else {
                                    i18 = i19;
                                }
                            }
                            throw new s0(i18 - 1, length2);
                        }
                        q0.k(bArr, j8, (byte) ((cCharAt5 >>> '\f') | 480));
                        long j11 = j8;
                        q0.k(bArr, j8 + j6, (byte) (((cCharAt5 >>> 6) & 63) | 128));
                        j7 = j11 + 3;
                        q0.k(bArr, j11 + 2, (byte) ((cCharAt5 & '?') | 128));
                        c7 = 128;
                    } else {
                        j6 = j4;
                        q0.k(bArr, j8, (byte) ((cCharAt5 >>> 6) | 960));
                        q0.k(bArr, j8 + j6, (byte) ((cCharAt5 & '?') | c6));
                        j7 = j8 + 2;
                        c7 = c6;
                    }
                    i18++;
                    c6 = c7;
                    j8 = j7;
                    j4 = j6;
                }
                return (int) j8;
        }
    }

    /* JADX WARN: Code restructure failed: missing block: B:75:0x00fa, code lost:
    
        return -1;
     */
    @Override // androidx.datastore.preferences.protobuf.c0
    /*
        Code decompiled incorrectly, please refer to instructions dump.
    */
    public final int e(byte[] bArr, int i6, int i7) {
        int i8;
        long j4;
        int i9 = i6;
        switch (this.f11443c) {
            case 0:
                break;
            default:
                if ((i9 | i7 | (bArr.length - i7)) < 0) {
                    throw new ArrayIndexOutOfBoundsException(String.format("Array length=%d, index=%d, limit=%d", Integer.valueOf(bArr.length), Integer.valueOf(i9), Integer.valueOf(i7)));
                }
                long j6 = i9;
                int i10 = (int) (((long) i7) - j6);
                long j7 = 1;
                if (i10 < 16) {
                    i8 = 0;
                } else {
                    int i11 = 8 - (((int) j6) & 7);
                    long j8 = j6;
                    i8 = 0;
                    while (true) {
                        if (i8 < i11) {
                            long j9 = j8 + 1;
                            if (q0.g(j8, bArr) >= 0) {
                                i8++;
                                j8 = j9;
                            }
                        } else {
                            while (true) {
                                int i12 = i8 + 8;
                                if (i12 <= i10) {
                                    if ((q0.f11436c.h(q0.f11439f + j8, bArr) & (-9187201950435737472L)) == 0) {
                                        j8 += 8;
                                        i8 = i12;
                                    }
                                }
                            }
                            while (true) {
                                if (i8 < i10) {
                                    long j10 = j8 + 1;
                                    if (q0.g(j8, bArr) >= 0) {
                                        i8++;
                                        j8 = j10;
                                    }
                                } else {
                                    i8 = i10;
                                }
                            }
                        }
                    }
                }
                int i13 = i10 - i8;
                long j11 = j6 + ((long) i8);
                while (true) {
                    byte bG = 0;
                    while (true) {
                        if (i13 > 0) {
                            long j12 = j11 + j7;
                            bG = q0.g(j11, bArr);
                            if (bG >= 0) {
                                i13--;
                                j11 = j12;
                            } else {
                                j11 = j12;
                            }
                        }
                    }
                    if (i13 == 0) {
                        return 0;
                    }
                    int i14 = i13 - 1;
                    if (bG >= -32) {
                        if (bG >= -16) {
                            j4 = j7;
                            if (i14 < 3) {
                                return g(j11, bArr, bG, i14);
                            }
                            i13 -= 4;
                            long j13 = j11 + j4;
                            byte bG2 = q0.g(j11, bArr);
                            if (bG2 <= -65) {
                                if ((((bG2 + 112) + (bG << 28)) >> 30) == 0) {
                                    long j14 = 2 + j11;
                                    if (q0.g(j13, bArr) <= -65) {
                                        j11 += 3;
                                        if (q0.g(j14, bArr) <= -65) {
                                            j7 = j4;
                                        }
                                    }
                                }
                            }
                        } else {
                            if (i14 < 2) {
                                return g(j11, bArr, bG, i14);
                            }
                            i13 -= 3;
                            j4 = j7;
                            long j15 = j11 + j4;
                            byte bG3 = q0.g(j11, bArr);
                            if (bG3 <= -65 && ((bG != -32 || bG3 >= -96) && (bG != -19 || bG3 < -96))) {
                                j11 += 2;
                                if (q0.g(j15, bArr) <= -65) {
                                    j7 = j4;
                                }
                            }
                        }
                    } else {
                        if (i14 == 0) {
                            return bG;
                        }
                        i13 -= 2;
                        if (bG >= -62) {
                            long j16 = j11 + j7;
                            if (q0.g(j11, bArr) <= -65) {
                                j4 = j7;
                                j11 = j16;
                                j7 = j4;
                            }
                        }
                    }
                    break;
                }
                break;
        }
        while (i9 < i7 && bArr[i9] >= 0) {
            i9++;
        }
        if (i9 < i7) {
            while (i9 < i7) {
                int i15 = i9 + 1;
                byte b5 = bArr[i9];
                if (b5 < 0) {
                    if (b5 < -32) {
                        if (i15 >= i7) {
                            return b5;
                        }
                        if (b5 >= -62) {
                            i9 += 2;
                            if (bArr[i15] > -65) {
                            }
                        }
                        return -1;
                    }
                    if (b5 < -16) {
                        if (i15 >= i7 - 1) {
                            return t0.a(bArr, i15, i7);
                        }
                        int i16 = i9 + 2;
                        byte b6 = bArr[i15];
                        if (b6 <= -65 && ((b5 != -32 || b6 >= -96) && (b5 != -19 || b6 < -96))) {
                            i9 += 3;
                            if (bArr[i16] > -65) {
                            }
                        }
                        return -1;
                    }
                    if (i15 >= i7 - 2) {
                        return t0.a(bArr, i15, i7);
                    }
                    int i17 = i9 + 2;
                    byte b7 = bArr[i15];
                    if (b7 <= -65) {
                        if ((((b7 + 112) + (b5 << 28)) >> 30) == 0) {
                            int i18 = i9 + 3;
                            if (bArr[i17] <= -65) {
                                i9 += 4;
                                if (bArr[i18] > -65) {
                                }
                            }
                        }
                    }
                    return -1;
                }
                i9 = i15;
            }
        }
        return 0;
    }
}
