public class org.bouncycastle.asn1.ASN1StreamParser
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.asn1.ASN1StreamParser
  super_class: java.lang.Object
{
  private final java.io.InputStream _in;
    descriptor: Ljava/io/InputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int _limit;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final byte[][] tmpBuffers;
    descriptor: [[B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.asn1.ASN1StreamParser this
        start local 1 // java.io.InputStream in
         0: .line 19
            aload 0 /* this */
            aload 1 /* in */
            aload 1 /* in */
            invokestatic org.bouncycastle.asn1.StreamUtil.findLimit:(Ljava/io/InputStream;)I
            invokespecial org.bouncycastle.asn1.ASN1StreamParser.<init>:(Ljava/io/InputStream;I)V
         1: .line 20
            return
        end local 1 // java.io.InputStream in
        end local 0 // org.bouncycastle.asn1.ASN1StreamParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/asn1/ASN1StreamParser;
            0    2     1    in  Ljava/io/InputStream;
    MethodParameters:
      Name  Flags
      in    

  public void <init>(java.io.InputStream, int);
    descriptor: (Ljava/io/InputStream;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bouncycastle.asn1.ASN1StreamParser this
        start local 1 // java.io.InputStream in
        start local 2 // int limit
         0: .line 22
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 26
            aload 0 /* this */
            aload 1 /* in */
            putfield org.bouncycastle.asn1.ASN1StreamParser._in:Ljava/io/InputStream;
         2: .line 27
            aload 0 /* this */
            iload 2 /* limit */
            putfield org.bouncycastle.asn1.ASN1StreamParser._limit:I
         3: .line 29
            aload 0 /* this */
            bipush 11
            anewarray byte[]
            putfield org.bouncycastle.asn1.ASN1StreamParser.tmpBuffers:[[B
         4: .line 30
            return
        end local 2 // int limit
        end local 1 // java.io.InputStream in
        end local 0 // org.bouncycastle.asn1.ASN1StreamParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/bouncycastle/asn1/ASN1StreamParser;
            0    5     1     in  Ljava/io/InputStream;
            0    5     2  limit  I
    MethodParameters:
       Name  Flags
      in     
      limit  

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.asn1.ASN1StreamParser this
        start local 1 // byte[] encoding
         0: .line 35
            aload 0 /* this */
            new java.io.ByteArrayInputStream
            dup
            aload 1 /* encoding */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            aload 1 /* encoding */
            arraylength
            invokespecial org.bouncycastle.asn1.ASN1StreamParser.<init>:(Ljava/io/InputStream;I)V
         1: .line 36
            return
        end local 1 // byte[] encoding
        end local 0 // org.bouncycastle.asn1.ASN1StreamParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/bouncycastle/asn1/ASN1StreamParser;
            0    2     1  encoding  [B
    MethodParameters:
          Name  Flags
      encoding  

  org.bouncycastle.asn1.ASN1Encodable readIndef(int);
    descriptor: (I)Lorg/bouncycastle/asn1/ASN1Encodable;
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.bouncycastle.asn1.ASN1StreamParser this
        start local 1 // int tagValue
         0: .line 43
            iload 1 /* tagValue */
            lookupswitch { // 4
                    4: 2
                    8: 1
                   16: 3
                   17: 4
              default: 5
          }
         1: .line 46
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.DERExternalParser
            dup
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.DERExternalParser.<init>:(Lorg/bouncycastle/asn1/ASN1StreamParser;)V
            areturn
         2: .line 48
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.BEROctetStringParser
            dup
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.BEROctetStringParser.<init>:(Lorg/bouncycastle/asn1/ASN1StreamParser;)V
            areturn
         3: .line 50
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.BERSequenceParser
            dup
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.BERSequenceParser.<init>:(Lorg/bouncycastle/asn1/ASN1StreamParser;)V
            areturn
         4: .line 52
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.BERSetParser
            dup
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.BERSetParser.<init>:(Lorg/bouncycastle/asn1/ASN1StreamParser;)V
            areturn
         5: .line 54
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.ASN1Exception
            dup
            new java.lang.StringBuilder
            dup
            ldc "unknown BER object encountered: 0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* tagValue */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.bouncycastle.asn1.ASN1Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int tagValue
        end local 0 // org.bouncycastle.asn1.ASN1StreamParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/bouncycastle/asn1/ASN1StreamParser;
            0    6     1  tagValue  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      tagValue  

  org.bouncycastle.asn1.ASN1Encodable readImplicit(boolean, int);
    descriptor: (ZI)Lorg/bouncycastle/asn1/ASN1Encodable;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.bouncycastle.asn1.ASN1StreamParser this
        start local 1 // boolean constructed
        start local 2 // int tag
         0: .line 60
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1StreamParser._in:Ljava/io/InputStream;
            instanceof org.bouncycastle.asn1.IndefiniteLengthInputStream
            ifeq 4
         1: .line 62
            iload 1 /* constructed */
            ifne 3
         2: .line 64
            new java.io.IOException
            dup
            ldc "indefinite-length primitive encoding encountered"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* tag */
            invokevirtual org.bouncycastle.asn1.ASN1StreamParser.readIndef:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
            areturn
         4: .line 70
      StackMap locals:
      StackMap stack:
            iload 1 /* constructed */
            ifeq 10
         5: .line 72
            iload 2 /* tag */
            lookupswitch { // 3
                    4: 8
                   16: 7
                   17: 6
              default: 9
          }
         6: .line 75
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.DERSetParser
            dup
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.DERSetParser.<init>:(Lorg/bouncycastle/asn1/ASN1StreamParser;)V
            areturn
         7: .line 77
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.DERSequenceParser
            dup
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.DERSequenceParser.<init>:(Lorg/bouncycastle/asn1/ASN1StreamParser;)V
            areturn
         8: .line 79
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.BEROctetStringParser
            dup
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.BEROctetStringParser.<init>:(Lorg/bouncycastle/asn1/ASN1StreamParser;)V
            areturn
         9: .line 81
      StackMap locals:
      StackMap stack:
            goto 14
        10: .line 84
      StackMap locals:
      StackMap stack:
            iload 2 /* tag */
            lookupswitch { // 3
                    4: 13
                   16: 12
                   17: 11
              default: 14
          }
        11: .line 87
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.ASN1Exception
            dup
            ldc "sequences must use constructed encoding (see X.690 8.9.1/8.10.1)"
            invokespecial org.bouncycastle.asn1.ASN1Exception.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 89
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.ASN1Exception
            dup
            ldc "sets must use constructed encoding (see X.690 8.11.1/8.12.1)"
            invokespecial org.bouncycastle.asn1.ASN1Exception.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 91
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.DEROctetStringParser
            dup
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1StreamParser._in:Ljava/io/InputStream;
            checkcast org.bouncycastle.asn1.DefiniteLengthInputStream
            invokespecial org.bouncycastle.asn1.DEROctetStringParser.<init>:(Lorg/bouncycastle/asn1/DefiniteLengthInputStream;)V
            areturn
        14: .line 95
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.ASN1Exception
            dup
            ldc "implicit tagging not implemented"
            invokespecial org.bouncycastle.asn1.ASN1Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // int tag
        end local 1 // boolean constructed
        end local 0 // org.bouncycastle.asn1.ASN1StreamParser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/bouncycastle/asn1/ASN1StreamParser;
            0   15     1  constructed  Z
            0   15     2          tag  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      constructed  
      tag          

  org.bouncycastle.asn1.ASN1Primitive readTaggedObject(boolean, int);
    descriptor: (ZI)Lorg/bouncycastle/asn1/ASN1Primitive;
    flags: (0x0000) 
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.bouncycastle.asn1.ASN1StreamParser this
        start local 1 // boolean constructed
        start local 2 // int tag
         0: .line 100
            iload 1 /* constructed */
            ifne 3
         1: .line 103
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1StreamParser._in:Ljava/io/InputStream;
            checkcast org.bouncycastle.asn1.DefiniteLengthInputStream
            astore 3 /* defIn */
        start local 3 // org.bouncycastle.asn1.DefiniteLengthInputStream defIn
         2: .line 104
            new org.bouncycastle.asn1.DERTaggedObject
            dup
            iconst_0
            iload 2 /* tag */
            new org.bouncycastle.asn1.DEROctetString
            dup
            aload 3 /* defIn */
            invokevirtual org.bouncycastle.asn1.DefiniteLengthInputStream.toByteArray:()[B
            invokespecial org.bouncycastle.asn1.DEROctetString.<init>:([B)V
            invokespecial org.bouncycastle.asn1.DERTaggedObject.<init>:(ZILorg/bouncycastle/asn1/ASN1Encodable;)V
            areturn
        end local 3 // org.bouncycastle.asn1.DefiniteLengthInputStream defIn
         3: .line 107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.asn1.ASN1StreamParser.readVector:()Lorg/bouncycastle/asn1/ASN1EncodableVector;
            astore 3 /* v */
        start local 3 // org.bouncycastle.asn1.ASN1EncodableVector v
         4: .line 109
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1StreamParser._in:Ljava/io/InputStream;
            instanceof org.bouncycastle.asn1.IndefiniteLengthInputStream
            ifeq 9
         5: .line 111
            aload 3 /* v */
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.size:()I
            iconst_1
            if_icmpne 7
         6: .line 112
            new org.bouncycastle.asn1.BERTaggedObject
            dup
            iconst_1
            iload 2 /* tag */
            aload 3 /* v */
            iconst_0
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.get:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
            invokespecial org.bouncycastle.asn1.BERTaggedObject.<init>:(ZILorg/bouncycastle/asn1/ASN1Encodable;)V
            goto 8
         7: .line 113
      StackMap locals: org.bouncycastle.asn1.ASN1EncodableVector
      StackMap stack:
            new org.bouncycastle.asn1.BERTaggedObject
            dup
            iconst_0
            iload 2 /* tag */
            aload 3 /* v */
            invokestatic org.bouncycastle.asn1.BERFactory.createSequence:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)Lorg/bouncycastle/asn1/BERSequence;
            invokespecial org.bouncycastle.asn1.BERTaggedObject.<init>:(ZILorg/bouncycastle/asn1/ASN1Encodable;)V
         8: .line 111
      StackMap locals:
      StackMap stack: org.bouncycastle.asn1.BERTaggedObject
            areturn
         9: .line 116
      StackMap locals:
      StackMap stack:
            aload 3 /* v */
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.size:()I
            iconst_1
            if_icmpne 11
        10: .line 117
            new org.bouncycastle.asn1.DERTaggedObject
            dup
            iconst_1
            iload 2 /* tag */
            aload 3 /* v */
            iconst_0
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.get:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
            invokespecial org.bouncycastle.asn1.DERTaggedObject.<init>:(ZILorg/bouncycastle/asn1/ASN1Encodable;)V
            goto 12
        11: .line 118
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.DERTaggedObject
            dup
            iconst_0
            iload 2 /* tag */
            aload 3 /* v */
            invokestatic org.bouncycastle.asn1.DERFactory.createSequence:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)Lorg/bouncycastle/asn1/ASN1Sequence;
            invokespecial org.bouncycastle.asn1.DERTaggedObject.<init>:(ZILorg/bouncycastle/asn1/ASN1Encodable;)V
        12: .line 116
      StackMap locals:
      StackMap stack: org.bouncycastle.asn1.DERTaggedObject
            areturn
        end local 3 // org.bouncycastle.asn1.ASN1EncodableVector v
        end local 2 // int tag
        end local 1 // boolean constructed
        end local 0 // org.bouncycastle.asn1.ASN1StreamParser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lorg/bouncycastle/asn1/ASN1StreamParser;
            0   13     1  constructed  Z
            0   13     2          tag  I
            2    3     3        defIn  Lorg/bouncycastle/asn1/DefiniteLengthInputStream;
            4   13     3            v  Lorg/bouncycastle/asn1/ASN1EncodableVector;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      constructed  
      tag          

  public org.bouncycastle.asn1.ASN1Encodable readObject();
    descriptor: ()Lorg/bouncycastle/asn1/ASN1Encodable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=1
        start local 0 // org.bouncycastle.asn1.ASN1StreamParser this
         0: .line 124
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1StreamParser._in:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.read:()I
            istore 1 /* tag */
        start local 1 // int tag
         1: .line 125
            iload 1 /* tag */
            iconst_m1
            if_icmpne 3
         2: .line 127
            aconst_null
            areturn
         3: .line 133
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.bouncycastle.asn1.ASN1StreamParser.set00Check:(Z)V
         4: .line 138
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1StreamParser._in:Ljava/io/InputStream;
            iload 1 /* tag */
            invokestatic org.bouncycastle.asn1.ASN1InputStream.readTagNumber:(Ljava/io/InputStream;I)I
            istore 2 /* tagNo */
        start local 2 // int tagNo
         5: .line 140
            iload 1 /* tag */
            bipush 32
            iand
            ifeq 6
            iconst_1
            goto 7
      StackMap locals: int
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 3 /* isConstructed */
        start local 3 // boolean isConstructed
         8: .line 145
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1StreamParser._in:Ljava/io/InputStream;
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1StreamParser._limit:I
            invokestatic org.bouncycastle.asn1.ASN1InputStream.readLength:(Ljava/io/InputStream;I)I
            istore 4 /* length */
        start local 4 // int length
         9: .line 147
            iload 4 /* length */
            ifge 19
        10: .line 149
            iload 3 /* isConstructed */
            ifne 12
        11: .line 151
            new java.io.IOException
            dup
            ldc "indefinite-length primitive encoding encountered"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 154
      StackMap locals: int int
      StackMap stack:
            new org.bouncycastle.asn1.IndefiniteLengthInputStream
            dup
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1StreamParser._in:Ljava/io/InputStream;
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1StreamParser._limit:I
            invokespecial org.bouncycastle.asn1.IndefiniteLengthInputStream.<init>:(Ljava/io/InputStream;I)V
            astore 5 /* indIn */
        start local 5 // org.bouncycastle.asn1.IndefiniteLengthInputStream indIn
        13: .line 155
            new org.bouncycastle.asn1.ASN1StreamParser
            dup
            aload 5 /* indIn */
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1StreamParser._limit:I
            invokespecial org.bouncycastle.asn1.ASN1StreamParser.<init>:(Ljava/io/InputStream;I)V
            astore 6 /* sp */
        start local 6 // org.bouncycastle.asn1.ASN1StreamParser sp
        14: .line 157
            iload 1 /* tag */
            bipush 64
            iand
            ifeq 16
        15: .line 159
            new org.bouncycastle.asn1.BERApplicationSpecificParser
            dup
            iload 2 /* tagNo */
            aload 6 /* sp */
            invokespecial org.bouncycastle.asn1.BERApplicationSpecificParser.<init>:(ILorg/bouncycastle/asn1/ASN1StreamParser;)V
            areturn
        16: .line 162
      StackMap locals: org.bouncycastle.asn1.IndefiniteLengthInputStream org.bouncycastle.asn1.ASN1StreamParser
      StackMap stack:
            iload 1 /* tag */
            sipush 128
            iand
            ifeq 18
        17: .line 164
            new org.bouncycastle.asn1.BERTaggedObjectParser
            dup
            iconst_1
            iload 2 /* tagNo */
            aload 6 /* sp */
            invokespecial org.bouncycastle.asn1.BERTaggedObjectParser.<init>:(ZILorg/bouncycastle/asn1/ASN1StreamParser;)V
            areturn
        18: .line 167
      StackMap locals:
      StackMap stack:
            aload 6 /* sp */
            iload 2 /* tagNo */
            invokevirtual org.bouncycastle.asn1.ASN1StreamParser.readIndef:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
            areturn
        end local 6 // org.bouncycastle.asn1.ASN1StreamParser sp
        end local 5 // org.bouncycastle.asn1.IndefiniteLengthInputStream indIn
        19: .line 171
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.DefiniteLengthInputStream
            dup
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1StreamParser._in:Ljava/io/InputStream;
            iload 4 /* length */
            invokespecial org.bouncycastle.asn1.DefiniteLengthInputStream.<init>:(Ljava/io/InputStream;I)V
            astore 5 /* defIn */
        start local 5 // org.bouncycastle.asn1.DefiniteLengthInputStream defIn
        20: .line 173
            iload 1 /* tag */
            bipush 64
            iand
            ifeq 22
        21: .line 175
            new org.bouncycastle.asn1.DLApplicationSpecific
            dup
            iload 3 /* isConstructed */
            iload 2 /* tagNo */
            aload 5 /* defIn */
            invokevirtual org.bouncycastle.asn1.DefiniteLengthInputStream.toByteArray:()[B
            invokespecial org.bouncycastle.asn1.DLApplicationSpecific.<init>:(ZI[B)V
            areturn
        22: .line 178
      StackMap locals: org.bouncycastle.asn1.DefiniteLengthInputStream
      StackMap stack:
            iload 1 /* tag */
            sipush 128
            iand
            ifeq 24
        23: .line 180
            new org.bouncycastle.asn1.BERTaggedObjectParser
            dup
            iload 3 /* isConstructed */
            iload 2 /* tagNo */
            new org.bouncycastle.asn1.ASN1StreamParser
            dup
            aload 5 /* defIn */
            invokespecial org.bouncycastle.asn1.ASN1StreamParser.<init>:(Ljava/io/InputStream;)V
            invokespecial org.bouncycastle.asn1.BERTaggedObjectParser.<init>:(ZILorg/bouncycastle/asn1/ASN1StreamParser;)V
            areturn
        24: .line 183
      StackMap locals:
      StackMap stack:
            iload 3 /* isConstructed */
            ifeq 31
        25: .line 186
            iload 2 /* tagNo */
            lookupswitch { // 4
                    4: 26
                    8: 29
                   16: 27
                   17: 28
              default: 30
          }
        26: .line 192
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.BEROctetStringParser
            dup
            new org.bouncycastle.asn1.ASN1StreamParser
            dup
            aload 5 /* defIn */
            invokespecial org.bouncycastle.asn1.ASN1StreamParser.<init>:(Ljava/io/InputStream;)V
            invokespecial org.bouncycastle.asn1.BEROctetStringParser.<init>:(Lorg/bouncycastle/asn1/ASN1StreamParser;)V
            areturn
        27: .line 194
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.DERSequenceParser
            dup
            new org.bouncycastle.asn1.ASN1StreamParser
            dup
            aload 5 /* defIn */
            invokespecial org.bouncycastle.asn1.ASN1StreamParser.<init>:(Ljava/io/InputStream;)V
            invokespecial org.bouncycastle.asn1.DERSequenceParser.<init>:(Lorg/bouncycastle/asn1/ASN1StreamParser;)V
            areturn
        28: .line 196
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.DERSetParser
            dup
            new org.bouncycastle.asn1.ASN1StreamParser
            dup
            aload 5 /* defIn */
            invokespecial org.bouncycastle.asn1.ASN1StreamParser.<init>:(Ljava/io/InputStream;)V
            invokespecial org.bouncycastle.asn1.DERSetParser.<init>:(Lorg/bouncycastle/asn1/ASN1StreamParser;)V
            areturn
        29: .line 198
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.DERExternalParser
            dup
            new org.bouncycastle.asn1.ASN1StreamParser
            dup
            aload 5 /* defIn */
            invokespecial org.bouncycastle.asn1.ASN1StreamParser.<init>:(Ljava/io/InputStream;)V
            invokespecial org.bouncycastle.asn1.DERExternalParser.<init>:(Lorg/bouncycastle/asn1/ASN1StreamParser;)V
            areturn
        30: .line 200
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unknown tag "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* tagNo */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " encountered"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 205
      StackMap locals:
      StackMap stack:
            iload 2 /* tagNo */
            tableswitch { // 4 - 4
                    4: 32
              default: 33
          }
        32: .line 208
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.DEROctetStringParser
            dup
            aload 5 /* defIn */
            invokespecial org.bouncycastle.asn1.DEROctetStringParser.<init>:(Lorg/bouncycastle/asn1/DefiniteLengthInputStream;)V
            areturn
        33: .line 213
      StackMap locals:
      StackMap stack:
            iload 2 /* tagNo */
            aload 5 /* defIn */
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1StreamParser.tmpBuffers:[[B
            invokestatic org.bouncycastle.asn1.ASN1InputStream.createPrimitiveDERObject:(ILorg/bouncycastle/asn1/DefiniteLengthInputStream;[[B)Lorg/bouncycastle/asn1/ASN1Primitive;
        34: areturn
        35: .line 215
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 6 /* e */
        start local 6 // java.lang.IllegalArgumentException e
        36: .line 217
            new org.bouncycastle.asn1.ASN1Exception
            dup
            ldc "corrupted stream detected"
            aload 6 /* e */
            invokespecial org.bouncycastle.asn1.ASN1Exception.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.IllegalArgumentException e
        end local 5 // org.bouncycastle.asn1.DefiniteLengthInputStream defIn
        end local 4 // int length
        end local 3 // boolean isConstructed
        end local 2 // int tagNo
        end local 1 // int tag
        end local 0 // org.bouncycastle.asn1.ASN1StreamParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   37     0           this  Lorg/bouncycastle/asn1/ASN1StreamParser;
            1   37     1            tag  I
            5   37     2          tagNo  I
            8   37     3  isConstructed  Z
            9   37     4         length  I
           13   19     5          indIn  Lorg/bouncycastle/asn1/IndefiniteLengthInputStream;
           14   19     6             sp  Lorg/bouncycastle/asn1/ASN1StreamParser;
           20   37     5          defIn  Lorg/bouncycastle/asn1/DefiniteLengthInputStream;
           36   37     6              e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
          33    34      35  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.io.IOException

  private void set00Check(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.asn1.ASN1StreamParser this
        start local 1 // boolean enabled
         0: .line 224
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1StreamParser._in:Ljava/io/InputStream;
            instanceof org.bouncycastle.asn1.IndefiniteLengthInputStream
            ifeq 2
         1: .line 226
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1StreamParser._in:Ljava/io/InputStream;
            checkcast org.bouncycastle.asn1.IndefiniteLengthInputStream
            iload 1 /* enabled */
            invokevirtual org.bouncycastle.asn1.IndefiniteLengthInputStream.setEofOn00:(Z)V
         2: .line 228
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean enabled
        end local 0 // org.bouncycastle.asn1.ASN1StreamParser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/bouncycastle/asn1/ASN1StreamParser;
            0    3     1  enabled  Z
    MethodParameters:
         Name  Flags
      enabled  

  org.bouncycastle.asn1.ASN1EncodableVector readVector();
    descriptor: ()Lorg/bouncycastle/asn1/ASN1EncodableVector;
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.bouncycastle.asn1.ASN1StreamParser this
         0: .line 232
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            astore 1 /* v */
        start local 1 // org.bouncycastle.asn1.ASN1EncodableVector v
         1: .line 235
            goto 6
        start local 2 // org.bouncycastle.asn1.ASN1Encodable obj
         2: .line 237
      StackMap locals: org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.asn1.ASN1Encodable
      StackMap stack:
            aload 2 /* obj */
            instanceof org.bouncycastle.asn1.InMemoryRepresentable
            ifeq 5
         3: .line 239
            aload 1 /* v */
            aload 2 /* obj */
            checkcast org.bouncycastle.asn1.InMemoryRepresentable
            invokeinterface org.bouncycastle.asn1.InMemoryRepresentable.getLoadedObject:()Lorg/bouncycastle/asn1/ASN1Primitive;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
         4: .line 240
            goto 6
         5: .line 243
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            aload 2 /* obj */
            invokeinterface org.bouncycastle.asn1.ASN1Encodable.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
        end local 2 // org.bouncycastle.asn1.ASN1Encodable obj
         6: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bouncycastle.asn1.ASN1StreamParser.readObject:()Lorg/bouncycastle/asn1/ASN1Encodable;
            dup
            astore 2 /* obj */
        start local 2 // org.bouncycastle.asn1.ASN1Encodable obj
         7: ifnonnull 2
         8: .line 247
            aload 1 /* v */
            areturn
        end local 2 // org.bouncycastle.asn1.ASN1Encodable obj
        end local 1 // org.bouncycastle.asn1.ASN1EncodableVector v
        end local 0 // org.bouncycastle.asn1.ASN1StreamParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/bouncycastle/asn1/ASN1StreamParser;
            1    9     1     v  Lorg/bouncycastle/asn1/ASN1EncodableVector;
            2    6     2   obj  Lorg/bouncycastle/asn1/ASN1Encodable;
            7    9     2   obj  Lorg/bouncycastle/asn1/ASN1Encodable;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "ASN1StreamParser.java"