public class org.bouncycastle.mime.encoding.Base64InputStream extends java.io.InputStream
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.mime.encoding.Base64InputStream
  super_class: java.io.InputStream
{
  private static final byte[] decodingTable;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  java.io.InputStream in;
    descriptor: Ljava/io/InputStream;
    flags: (0x0000) 

  int[] outBuf;
    descriptor: [I
    flags: (0x0000) 

  int bufPtr;
    descriptor: I
    flags: (0x0000) 

  boolean isEndOfStream;
    descriptor: Z
    flags: (0x0000) 

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 20
            sipush 128
            newarray 8
            putstatic org.bouncycastle.mime.encoding.Base64InputStream.decodingTable:[B
         1: .line 22
            bipush 65
            istore 0 /* i */
        start local 0 // int i
         2: goto 5
         3: .line 24
      StackMap locals: int
      StackMap stack:
            getstatic org.bouncycastle.mime.encoding.Base64InputStream.decodingTable:[B
            iload 0 /* i */
            iload 0 /* i */
            bipush 65
            isub
            i2b
            bastore
         4: .line 22
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 0 /* i */
            bipush 90
            if_icmple 3
        end local 0 // int i
         6: .line 27
            bipush 97
            istore 0 /* i */
        start local 0 // int i
         7: goto 10
         8: .line 29
      StackMap locals:
      StackMap stack:
            getstatic org.bouncycastle.mime.encoding.Base64InputStream.decodingTable:[B
            iload 0 /* i */
            iload 0 /* i */
            bipush 97
            isub
            bipush 26
            iadd
            i2b
            bastore
         9: .line 27
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 0 /* i */
            bipush 122
            if_icmple 8
        end local 0 // int i
        11: .line 32
            bipush 48
            istore 0 /* i */
        start local 0 // int i
        12: goto 15
        13: .line 34
      StackMap locals:
      StackMap stack:
            getstatic org.bouncycastle.mime.encoding.Base64InputStream.decodingTable:[B
            iload 0 /* i */
            iload 0 /* i */
            bipush 48
            isub
            bipush 52
            iadd
            i2b
            bastore
        14: .line 32
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 0 /* i */
            bipush 57
            if_icmple 13
        end local 0 // int i
        16: .line 37
            getstatic org.bouncycastle.mime.encoding.Base64InputStream.decodingTable:[B
            bipush 43
            bipush 62
            bastore
        17: .line 38
            getstatic org.bouncycastle.mime.encoding.Base64InputStream.decodingTable:[B
            bipush 47
            bipush 63
            bastore
        18: .line 39
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            2    6     0     i  I
            7   11     0     i  I
           12   16     0     i  I

  private int decode(int, int, int, int, int[]);
    descriptor: (IIII[I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=6
        start local 0 // org.bouncycastle.mime.encoding.Base64InputStream this
        start local 1 // int in0
        start local 2 // int in1
        start local 3 // int in2
        start local 4 // int in3
        start local 5 // int[] out
         0: .line 56
            iload 4 /* in3 */
            ifge 2
         1: .line 58
            new java.io.EOFException
            dup
            ldc "unexpected end of file in armored stream."
            invokespecial java.io.EOFException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 61
      StackMap locals:
      StackMap stack:
            iload 3 /* in2 */
            bipush 61
            if_icmpne 7
         3: .line 63
            getstatic org.bouncycastle.mime.encoding.Base64InputStream.decodingTable:[B
            iload 1 /* in0 */
            baload
            sipush 255
            iand
            istore 6 /* b1 */
        start local 6 // int b1
         4: .line 64
            getstatic org.bouncycastle.mime.encoding.Base64InputStream.decodingTable:[B
            iload 2 /* in1 */
            baload
            sipush 255
            iand
            istore 7 /* b2 */
        start local 7 // int b2
         5: .line 66
            aload 5 /* out */
            iconst_2
            iload 6 /* b1 */
            iconst_2
            ishl
            iload 7 /* b2 */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            iastore
         6: .line 68
            iconst_2
            ireturn
        end local 7 // int b2
        end local 6 // int b1
         7: .line 70
      StackMap locals:
      StackMap stack:
            iload 4 /* in3 */
            bipush 61
            if_icmpne 14
         8: .line 72
            getstatic org.bouncycastle.mime.encoding.Base64InputStream.decodingTable:[B
            iload 1 /* in0 */
            baload
            istore 6 /* b1 */
        start local 6 // int b1
         9: .line 73
            getstatic org.bouncycastle.mime.encoding.Base64InputStream.decodingTable:[B
            iload 2 /* in1 */
            baload
            istore 7 /* b2 */
        start local 7 // int b2
        10: .line 74
            getstatic org.bouncycastle.mime.encoding.Base64InputStream.decodingTable:[B
            iload 3 /* in2 */
            baload
            istore 8 /* b3 */
        start local 8 // int b3
        11: .line 76
            aload 5 /* out */
            iconst_1
            iload 6 /* b1 */
            iconst_2
            ishl
            iload 7 /* b2 */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            iastore
        12: .line 77
            aload 5 /* out */
            iconst_2
            iload 7 /* b2 */
            iconst_4
            ishl
            iload 8 /* b3 */
            iconst_2
            ishr
            ior
            sipush 255
            iand
            iastore
        13: .line 79
            iconst_1
            ireturn
        end local 8 // int b3
        end local 7 // int b2
        end local 6 // int b1
        14: .line 83
      StackMap locals:
      StackMap stack:
            getstatic org.bouncycastle.mime.encoding.Base64InputStream.decodingTable:[B
            iload 1 /* in0 */
            baload
            istore 6 /* b1 */
        start local 6 // int b1
        15: .line 84
            getstatic org.bouncycastle.mime.encoding.Base64InputStream.decodingTable:[B
            iload 2 /* in1 */
            baload
            istore 7 /* b2 */
        start local 7 // int b2
        16: .line 85
            getstatic org.bouncycastle.mime.encoding.Base64InputStream.decodingTable:[B
            iload 3 /* in2 */
            baload
            istore 8 /* b3 */
        start local 8 // int b3
        17: .line 86
            getstatic org.bouncycastle.mime.encoding.Base64InputStream.decodingTable:[B
            iload 4 /* in3 */
            baload
            istore 9 /* b4 */
        start local 9 // int b4
        18: .line 88
            aload 5 /* out */
            iconst_0
            iload 6 /* b1 */
            iconst_2
            ishl
            iload 7 /* b2 */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            iastore
        19: .line 89
            aload 5 /* out */
            iconst_1
            iload 7 /* b2 */
            iconst_4
            ishl
            iload 8 /* b3 */
            iconst_2
            ishr
            ior
            sipush 255
            iand
            iastore
        20: .line 90
            aload 5 /* out */
            iconst_2
            iload 8 /* b3 */
            bipush 6
            ishl
            iload 9 /* b4 */
            ior
            sipush 255
            iand
            iastore
        21: .line 92
            iconst_0
            ireturn
        end local 9 // int b4
        end local 8 // int b3
        end local 7 // int b2
        end local 6 // int b1
        end local 5 // int[] out
        end local 4 // int in3
        end local 3 // int in2
        end local 2 // int in1
        end local 1 // int in0
        end local 0 // org.bouncycastle.mime.encoding.Base64InputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Lorg/bouncycastle/mime/encoding/Base64InputStream;
            0   22     1   in0  I
            0   22     2   in1  I
            0   22     3   in2  I
            0   22     4   in3  I
            0   22     5   out  [I
            4    7     6    b1  I
            9   14     6    b1  I
           15   22     6    b1  I
            5    7     7    b2  I
           10   14     7    b2  I
           16   22     7    b2  I
           11   14     8    b3  I
           17   22     8    b3  I
           18   22     9    b4  I
    Exceptions:
      throws java.io.EOFException
    MethodParameters:
      Name  Flags
      in0   
      in1   
      in2   
      in3   
      out   

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.mime.encoding.Base64InputStream this
        start local 1 // java.io.InputStream in
         0: .line 107
            aload 0 /* this */
            invokespecial java.io.InputStream.<init>:()V
         1: .line 97
            aload 0 /* this */
            iconst_3
            newarray 10
            putfield org.bouncycastle.mime.encoding.Base64InputStream.outBuf:[I
         2: .line 98
            aload 0 /* this */
            iconst_3
            putfield org.bouncycastle.mime.encoding.Base64InputStream.bufPtr:I
         3: .line 110
            aload 0 /* this */
            aload 1 /* in */
            putfield org.bouncycastle.mime.encoding.Base64InputStream.in:Ljava/io/InputStream;
         4: .line 111
            return
        end local 1 // java.io.InputStream in
        end local 0 // org.bouncycastle.mime.encoding.Base64InputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/bouncycastle/mime/encoding/Base64InputStream;
            0    5     1    in  Ljava/io/InputStream;
    MethodParameters:
      Name  Flags
      in    

  public int available();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.mime.encoding.Base64InputStream this
         0: .line 116
            aload 0 /* this */
            getfield org.bouncycastle.mime.encoding.Base64InputStream.in:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.available:()I
            ireturn
        end local 0 // org.bouncycastle.mime.encoding.Base64InputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/mime/encoding/Base64InputStream;
    Exceptions:
      throws java.io.IOException

  private int readIgnoreSpace();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.bouncycastle.mime.encoding.Base64InputStream this
         0: .line 122
            aload 0 /* this */
            getfield org.bouncycastle.mime.encoding.Base64InputStream.in:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.read:()I
            istore 1 /* c */
        start local 1 // int c
         1: .line 124
            goto 3
         2: .line 126
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.mime.encoding.Base64InputStream.in:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.read:()I
            istore 1 /* c */
         3: .line 124
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            bipush 32
            if_icmpeq 2
            iload 1 /* c */
            bipush 9
            if_icmpeq 2
         4: .line 129
            iload 1 /* c */
            ireturn
        end local 1 // int c
        end local 0 // org.bouncycastle.mime.encoding.Base64InputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/bouncycastle/mime/encoding/Base64InputStream;
            1    5     1     c  I
    Exceptions:
      throws java.io.IOException

  public int read();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // org.bouncycastle.mime.encoding.Base64InputStream this
         0: .line 137
            aload 0 /* this */
            getfield org.bouncycastle.mime.encoding.Base64InputStream.bufPtr:I
            iconst_2
            if_icmple 17
         1: .line 139
            aload 0 /* this */
            invokevirtual org.bouncycastle.mime.encoding.Base64InputStream.readIgnoreSpace:()I
            istore 1 /* c */
        start local 1 // int c
         2: .line 141
            iload 1 /* c */
            bipush 13
            if_icmpeq 3
            iload 1 /* c */
            bipush 10
            if_icmpne 12
         3: .line 143
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.mime.encoding.Base64InputStream.readIgnoreSpace:()I
            istore 1 /* c */
         4: .line 145
            goto 6
         5: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.mime.encoding.Base64InputStream.readIgnoreSpace:()I
            istore 1 /* c */
         6: .line 145
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            bipush 10
            if_icmpeq 5
            iload 1 /* c */
            bipush 13
            if_icmpeq 5
         7: .line 150
            iload 1 /* c */
            ifge 10
         8: .line 152
            aload 0 /* this */
            iconst_1
            putfield org.bouncycastle.mime.encoding.Base64InputStream.isEndOfStream:Z
         9: .line 153
            iconst_m1
            ireturn
        10: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* c */
            aload 0 /* this */
            invokevirtual org.bouncycastle.mime.encoding.Base64InputStream.readIgnoreSpace:()I
            aload 0 /* this */
            invokevirtual org.bouncycastle.mime.encoding.Base64InputStream.readIgnoreSpace:()I
            aload 0 /* this */
            invokevirtual org.bouncycastle.mime.encoding.Base64InputStream.readIgnoreSpace:()I
            aload 0 /* this */
            getfield org.bouncycastle.mime.encoding.Base64InputStream.outBuf:[I
            invokevirtual org.bouncycastle.mime.encoding.Base64InputStream.decode:(IIII[I)I
            putfield org.bouncycastle.mime.encoding.Base64InputStream.bufPtr:I
        11: .line 157
            goto 17
        12: .line 160
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            iflt 15
        13: .line 162
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* c */
            aload 0 /* this */
            invokevirtual org.bouncycastle.mime.encoding.Base64InputStream.readIgnoreSpace:()I
            aload 0 /* this */
            invokevirtual org.bouncycastle.mime.encoding.Base64InputStream.readIgnoreSpace:()I
            aload 0 /* this */
            invokevirtual org.bouncycastle.mime.encoding.Base64InputStream.readIgnoreSpace:()I
            aload 0 /* this */
            getfield org.bouncycastle.mime.encoding.Base64InputStream.outBuf:[I
            invokevirtual org.bouncycastle.mime.encoding.Base64InputStream.decode:(IIII[I)I
            putfield org.bouncycastle.mime.encoding.Base64InputStream.bufPtr:I
        14: .line 163
            goto 17
        15: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.bouncycastle.mime.encoding.Base64InputStream.isEndOfStream:Z
        16: .line 167
            iconst_m1
            ireturn
        end local 1 // int c
        17: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.mime.encoding.Base64InputStream.outBuf:[I
            aload 0 /* this */
            dup
            getfield org.bouncycastle.mime.encoding.Base64InputStream.bufPtr:I
            dup_x1
            iconst_1
            iadd
            putfield org.bouncycastle.mime.encoding.Base64InputStream.bufPtr:I
            iaload
            istore 1 /* c */
        start local 1 // int c
        18: .line 174
            iload 1 /* c */
            ireturn
        end local 1 // int c
        end local 0 // org.bouncycastle.mime.encoding.Base64InputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lorg/bouncycastle/mime/encoding/Base64InputStream;
            2   17     1     c  I
           18   19     1     c  I
    Exceptions:
      throws java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.mime.encoding.Base64InputStream this
         0: .line 180
            aload 0 /* this */
            getfield org.bouncycastle.mime.encoding.Base64InputStream.in:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
         1: .line 181
            return
        end local 0 // org.bouncycastle.mime.encoding.Base64InputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/mime/encoding/Base64InputStream;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "Base64InputStream.java"