package g2;

import java.io.IOException;
import java.io.OutputStream;
import java.util.Enumeration;

/* JADX INFO: compiled from: ASN1OutputStream.java */
/* JADX INFO: loaded from: classes.dex */
public class q {

    /* JADX INFO: renamed from: a, reason: collision with root package name */
    private OutputStream f4734a;

    public q(OutputStream outputStream) {
        this.f4734a = outputStream;
    }

    public static q a(OutputStream outputStream) {
        return new q(outputStream);
    }

    public static q b(OutputStream outputStream, String str) {
        return str.equals("DER") ? new x0(outputStream) : str.equals("DL") ? new l1(outputStream) : new q(outputStream);
    }

    void c() throws IOException {
    }

    x0 d() {
        return new x0(this.f4734a);
    }

    q e() {
        return new l1(this.f4734a);
    }

    final void f(int i3) throws IOException {
        this.f4734a.write(i3);
    }

    final void g(byte[] bArr, int i3, int i4) throws IOException {
        this.f4734a.write(bArr, i3, i4);
    }

    final void h(Enumeration enumeration) throws IOException {
        while (enumeration.hasMoreElements()) {
            u(((d) enumeration.nextElement()).c(), true);
        }
    }

    final void i(d[] dVarArr) throws IOException {
        for (d dVar : dVarArr) {
            u(dVar.c(), true);
        }
    }

    final void j(boolean z2, int i3, byte b3) throws IOException {
        if (z2) {
            f(i3);
        }
        r(1);
        f(b3);
    }

    final void k(boolean z2, int i3, byte b3, byte[] bArr) throws IOException {
        if (z2) {
            f(i3);
        }
        r(bArr.length + 1);
        f(b3);
        g(bArr, 0, bArr.length);
    }

    final void l(boolean z2, int i3, byte b3, byte[] bArr, int i4, int i5, byte b4) throws IOException {
        if (z2) {
            f(i3);
        }
        r(i5 + 2);
        f(b3);
        g(bArr, i4, i5);
        f(b4);
    }

    final void m(boolean z2, int i3, int i4, byte[] bArr) throws IOException {
        v(z2, i3, i4);
        r(bArr.length);
        g(bArr, 0, bArr.length);
    }

    final void n(boolean z2, int i3, byte[] bArr) throws IOException {
        if (z2) {
            f(i3);
        }
        r(bArr.length);
        g(bArr, 0, bArr.length);
    }

    final void o(boolean z2, int i3, int i4, byte[] bArr) throws IOException {
        v(z2, i3, i4);
        f(128);
        g(bArr, 0, bArr.length);
        f(0);
        f(0);
    }

    final void p(boolean z2, int i3, Enumeration enumeration) throws IOException {
        if (z2) {
            f(i3);
        }
        f(128);
        h(enumeration);
        f(0);
        f(0);
    }

    final void q(boolean z2, int i3, d[] dVarArr) throws IOException {
        if (z2) {
            f(i3);
        }
        f(128);
        i(dVarArr);
        f(0);
        f(0);
    }

    final void r(int i3) throws IOException {
        if (i3 <= 127) {
            f((byte) i3);
            return;
        }
        int i4 = i3;
        int i5 = 1;
        while (true) {
            i4 >>>= 8;
            if (i4 == 0) {
                break;
            } else {
                i5++;
            }
        }
        f((byte) (i5 | 128));
        for (int i6 = (i5 - 1) * 8; i6 >= 0; i6 -= 8) {
            f((byte) (i3 >> i6));
        }
    }

    public void s(d dVar) throws IOException {
        if (dVar == null) {
            throw new IOException("null object detected");
        }
        u(dVar.c(), true);
        c();
    }

    public void t(s sVar) throws IOException {
        if (sVar == null) {
            throw new IOException("null object detected");
        }
        u(sVar, true);
        c();
    }

    void u(s sVar, boolean z2) throws IOException {
        sVar.i(this, z2);
    }

    final void v(boolean z2, int i3, int i4) throws IOException {
        if (z2) {
            if (i4 < 31) {
                f(i3 | i4);
                return;
            }
            f(31 | i3);
            if (i4 < 128) {
                f(i4);
                return;
            }
            byte[] bArr = new byte[5];
            int i5 = 4;
            bArr[4] = (byte) (i4 & 127);
            do {
                i4 >>= 7;
                i5--;
                bArr[i5] = (byte) ((i4 & 127) | 128);
            } while (i4 > 127);
            g(bArr, i5, 5 - i5);
        }
    }
}
