public class org.bouncycastle.cms.CMSAuthenticatedDataParser extends org.bouncycastle.cms.CMSContentInfoParser
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.cms.CMSAuthenticatedDataParser
  super_class: org.bouncycastle.cms.CMSContentInfoParser
{
  org.bouncycastle.cms.RecipientInformationStore recipientInfoStore;
    descriptor: Lorg/bouncycastle/cms/RecipientInformationStore;
    flags: (0x0000) 

  org.bouncycastle.asn1.cms.AuthenticatedDataParser authData;
    descriptor: Lorg/bouncycastle/asn1/cms/AuthenticatedDataParser;
    flags: (0x0000) 

  private org.bouncycastle.asn1.x509.AlgorithmIdentifier macAlg;
    descriptor: Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
    flags: (0x0002) ACC_PRIVATE

  private byte[] mac;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private org.bouncycastle.asn1.cms.AttributeTable authAttrs;
    descriptor: Lorg/bouncycastle/asn1/cms/AttributeTable;
    flags: (0x0002) ACC_PRIVATE

  private org.bouncycastle.asn1.ASN1Set authAttrSet;
    descriptor: Lorg/bouncycastle/asn1/ASN1Set;
    flags: (0x0002) ACC_PRIVATE

  private org.bouncycastle.asn1.cms.AttributeTable unauthAttrs;
    descriptor: Lorg/bouncycastle/asn1/cms/AttributeTable;
    flags: (0x0002) ACC_PRIVATE

  private boolean authAttrNotRead;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean unauthAttrNotRead;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private org.bouncycastle.cms.OriginatorInformation originatorInfo;
    descriptor: Lorg/bouncycastle/cms/OriginatorInformation;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
        start local 1 // byte[] envelopedData
         0: .line 83
            aload 0 /* this */
            new java.io.ByteArrayInputStream
            dup
            aload 1 /* envelopedData */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            invokespecial org.bouncycastle.cms.CMSAuthenticatedDataParser.<init>:(Ljava/io/InputStream;)V
         1: .line 84
            return
        end local 1 // byte[] envelopedData
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/bouncycastle/cms/CMSAuthenticatedDataParser;
            0    2     1  envelopedData  [B
    Exceptions:
      throws org.bouncycastle.cms.CMSException, java.io.IOException
    MethodParameters:
               Name  Flags
      envelopedData  

  public void <init>(byte[], org.bouncycastle.operator.DigestCalculatorProvider);
    descriptor: ([BLorg/bouncycastle/operator/DigestCalculatorProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
        start local 1 // byte[] envelopedData
        start local 2 // org.bouncycastle.operator.DigestCalculatorProvider digestCalculatorProvider
         0: .line 91
            aload 0 /* this */
            new java.io.ByteArrayInputStream
            dup
            aload 1 /* envelopedData */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            aload 2 /* digestCalculatorProvider */
            invokespecial org.bouncycastle.cms.CMSAuthenticatedDataParser.<init>:(Ljava/io/InputStream;Lorg/bouncycastle/operator/DigestCalculatorProvider;)V
         1: .line 92
            return
        end local 2 // org.bouncycastle.operator.DigestCalculatorProvider digestCalculatorProvider
        end local 1 // byte[] envelopedData
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    2     0                      this  Lorg/bouncycastle/cms/CMSAuthenticatedDataParser;
            0    2     1             envelopedData  [B
            0    2     2  digestCalculatorProvider  Lorg/bouncycastle/operator/DigestCalculatorProvider;
    Exceptions:
      throws org.bouncycastle.cms.CMSException, java.io.IOException
    MethodParameters:
                          Name  Flags
      envelopedData             
      digestCalculatorProvider  

  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.cms.CMSAuthenticatedDataParser this
        start local 1 // java.io.InputStream envelopedData
         0: .line 98
            aload 0 /* this */
            aload 1 /* envelopedData */
            aconst_null
            invokespecial org.bouncycastle.cms.CMSAuthenticatedDataParser.<init>:(Ljava/io/InputStream;Lorg/bouncycastle/operator/DigestCalculatorProvider;)V
         1: .line 99
            return
        end local 1 // java.io.InputStream envelopedData
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/bouncycastle/cms/CMSAuthenticatedDataParser;
            0    2     1  envelopedData  Ljava/io/InputStream;
    Exceptions:
      throws org.bouncycastle.cms.CMSException, java.io.IOException
    MethodParameters:
               Name  Flags
      envelopedData  

  public void <init>(java.io.InputStream, org.bouncycastle.operator.DigestCalculatorProvider);
    descriptor: (Ljava/io/InputStream;Lorg/bouncycastle/operator/DigestCalculatorProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
        start local 1 // java.io.InputStream envelopedData
        start local 2 // org.bouncycastle.operator.DigestCalculatorProvider digestCalculatorProvider
         0: .line 106
            aload 0 /* this */
            aload 1 /* envelopedData */
            invokespecial org.bouncycastle.cms.CMSContentInfoParser.<init>:(Ljava/io/InputStream;)V
         1: .line 108
            aload 0 /* this */
            iconst_1
            putfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authAttrNotRead:Z
         2: .line 109
            aload 0 /* this */
            new org.bouncycastle.asn1.cms.AuthenticatedDataParser
            dup
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser._contentInfo:Lorg/bouncycastle/asn1/cms/ContentInfoParser;
            bipush 16
            invokevirtual org.bouncycastle.asn1.cms.ContentInfoParser.getContent:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
            checkcast org.bouncycastle.asn1.ASN1SequenceParser
            invokespecial org.bouncycastle.asn1.cms.AuthenticatedDataParser.<init>:(Lorg/bouncycastle/asn1/ASN1SequenceParser;)V
            putfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authData:Lorg/bouncycastle/asn1/cms/AuthenticatedDataParser;
         3: .line 114
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authData:Lorg/bouncycastle/asn1/cms/AuthenticatedDataParser;
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedDataParser.getOriginatorInfo:()Lorg/bouncycastle/asn1/cms/OriginatorInfo;
            astore 3 /* info */
        start local 3 // org.bouncycastle.asn1.cms.OriginatorInfo info
         4: .line 116
            aload 3 /* info */
            ifnull 6
         5: .line 118
            aload 0 /* this */
            new org.bouncycastle.cms.OriginatorInformation
            dup
            aload 3 /* info */
            invokespecial org.bouncycastle.cms.OriginatorInformation.<init>:(Lorg/bouncycastle/asn1/cms/OriginatorInfo;)V
            putfield org.bouncycastle.cms.CMSAuthenticatedDataParser.originatorInfo:Lorg/bouncycastle/cms/OriginatorInformation;
         6: .line 123
      StackMap locals: org.bouncycastle.cms.CMSAuthenticatedDataParser java.io.InputStream org.bouncycastle.operator.DigestCalculatorProvider org.bouncycastle.asn1.cms.OriginatorInfo
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authData:Lorg/bouncycastle/asn1/cms/AuthenticatedDataParser;
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedDataParser.getRecipientInfos:()Lorg/bouncycastle/asn1/ASN1SetParser;
            invokeinterface org.bouncycastle.asn1.ASN1SetParser.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
            invokestatic org.bouncycastle.asn1.ASN1Set.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Set;
            astore 4 /* recipientInfos */
        start local 4 // org.bouncycastle.asn1.ASN1Set recipientInfos
         7: .line 125
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authData:Lorg/bouncycastle/asn1/cms/AuthenticatedDataParser;
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedDataParser.getMacAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            putfield org.bouncycastle.cms.CMSAuthenticatedDataParser.macAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
         8: .line 130
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authData:Lorg/bouncycastle/asn1/cms/AuthenticatedDataParser;
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedDataParser.getDigestAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            astore 5 /* digestAlgorithm */
        start local 5 // org.bouncycastle.asn1.x509.AlgorithmIdentifier digestAlgorithm
         9: .line 132
            aload 5 /* digestAlgorithm */
            ifnull 21
        10: .line 134
            aload 2 /* digestCalculatorProvider */
            ifnonnull 12
        11: .line 136
            new org.bouncycastle.cms.CMSException
            dup
            ldc "a digest calculator provider is required if authenticated attributes are present"
            invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 142
      StackMap locals: org.bouncycastle.asn1.ASN1Set org.bouncycastle.asn1.x509.AlgorithmIdentifier
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authData:Lorg/bouncycastle/asn1/cms/AuthenticatedDataParser;
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedDataParser.getEncapsulatedContentInfo:()Lorg/bouncycastle/asn1/cms/ContentInfoParser;
            astore 6 /* data */
        start local 6 // org.bouncycastle.asn1.cms.ContentInfoParser data
        13: .line 143
            new org.bouncycastle.cms.CMSProcessableInputStream
            dup
        14: .line 144
            aload 6 /* data */
            iconst_4
            invokevirtual org.bouncycastle.asn1.cms.ContentInfoParser.getContent:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
            checkcast org.bouncycastle.asn1.ASN1OctetStringParser
            invokeinterface org.bouncycastle.asn1.ASN1OctetStringParser.getOctetStream:()Ljava/io/InputStream;
        15: .line 143
            invokespecial org.bouncycastle.cms.CMSProcessableInputStream.<init>:(Ljava/io/InputStream;)V
            astore 7 /* readable */
        start local 7 // org.bouncycastle.cms.CMSReadable readable
        16: .line 148
            new org.bouncycastle.cms.CMSEnvelopedHelper$CMSDigestAuthenticatedSecureReadable
            dup
            aload 2 /* digestCalculatorProvider */
            aload 5 /* digestAlgorithm */
            invokeinterface org.bouncycastle.operator.DigestCalculatorProvider.get:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Lorg/bouncycastle/operator/DigestCalculator;
            aload 7 /* readable */
            invokespecial org.bouncycastle.cms.CMSEnvelopedHelper$CMSDigestAuthenticatedSecureReadable.<init>:(Lorg/bouncycastle/operator/DigestCalculator;Lorg/bouncycastle/cms/CMSReadable;)V
            astore 8 /* secureReadable */
        start local 8 // org.bouncycastle.cms.CMSSecureReadable secureReadable
        17: .line 150
            aload 0 /* this */
            aload 4 /* recipientInfos */
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.macAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            aload 8 /* secureReadable */
            new org.bouncycastle.cms.CMSAuthenticatedDataParser$1
            dup
            aload 0 /* this */
            invokespecial org.bouncycastle.cms.CMSAuthenticatedDataParser$1.<init>:(Lorg/bouncycastle/cms/CMSAuthenticatedDataParser;)V
            invokestatic org.bouncycastle.cms.CMSEnvelopedHelper.buildRecipientInformationStore:(Lorg/bouncycastle/asn1/ASN1Set;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/cms/CMSSecureReadable;Lorg/bouncycastle/cms/AuthAttributesProvider;)Lorg/bouncycastle/cms/RecipientInformationStore;
            putfield org.bouncycastle.cms.CMSAuthenticatedDataParser.recipientInfoStore:Lorg/bouncycastle/cms/RecipientInformationStore;
        end local 8 // org.bouncycastle.cms.CMSSecureReadable secureReadable
        18: .line 164
            goto 27
        19: .line 165
      StackMap locals: org.bouncycastle.cms.CMSAuthenticatedDataParser java.io.InputStream org.bouncycastle.operator.DigestCalculatorProvider org.bouncycastle.asn1.cms.OriginatorInfo org.bouncycastle.asn1.ASN1Set org.bouncycastle.asn1.x509.AlgorithmIdentifier org.bouncycastle.asn1.cms.ContentInfoParser org.bouncycastle.cms.CMSReadable
      StackMap stack: org.bouncycastle.operator.OperatorCreationException
            astore 8 /* e */
        start local 8 // org.bouncycastle.operator.OperatorCreationException e
        20: .line 167
            new org.bouncycastle.cms.CMSException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unable to create digest calculator: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* e */
            invokevirtual org.bouncycastle.operator.OperatorCreationException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 8 /* e */
            invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 8 // org.bouncycastle.operator.OperatorCreationException e
        end local 7 // org.bouncycastle.cms.CMSReadable readable
        end local 6 // org.bouncycastle.asn1.cms.ContentInfoParser data
        21: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authData:Lorg/bouncycastle/asn1/cms/AuthenticatedDataParser;
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedDataParser.getEncapsulatedContentInfo:()Lorg/bouncycastle/asn1/cms/ContentInfoParser;
            astore 6 /* data */
        start local 6 // org.bouncycastle.asn1.cms.ContentInfoParser data
        22: .line 176
            new org.bouncycastle.cms.CMSProcessableInputStream
            dup
        23: .line 177
            aload 6 /* data */
            iconst_4
            invokevirtual org.bouncycastle.asn1.cms.ContentInfoParser.getContent:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
            checkcast org.bouncycastle.asn1.ASN1OctetStringParser
            invokeinterface org.bouncycastle.asn1.ASN1OctetStringParser.getOctetStream:()Ljava/io/InputStream;
        24: .line 176
            invokespecial org.bouncycastle.cms.CMSProcessableInputStream.<init>:(Ljava/io/InputStream;)V
            astore 7 /* readable */
        start local 7 // org.bouncycastle.cms.CMSReadable readable
        25: .line 179
            new org.bouncycastle.cms.CMSEnvelopedHelper$CMSAuthenticatedSecureReadable
            dup
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.macAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            aload 7 /* readable */
            invokespecial org.bouncycastle.cms.CMSEnvelopedHelper$CMSAuthenticatedSecureReadable.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/cms/CMSReadable;)V
            astore 8 /* secureReadable */
        start local 8 // org.bouncycastle.cms.CMSSecureReadable secureReadable
        26: .line 181
            aload 0 /* this */
            aload 4 /* recipientInfos */
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.macAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            aload 8 /* secureReadable */
            invokestatic org.bouncycastle.cms.CMSEnvelopedHelper.buildRecipientInformationStore:(Lorg/bouncycastle/asn1/ASN1Set;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/cms/CMSSecureReadable;)Lorg/bouncycastle/cms/RecipientInformationStore;
            putfield org.bouncycastle.cms.CMSAuthenticatedDataParser.recipientInfoStore:Lorg/bouncycastle/cms/RecipientInformationStore;
        end local 8 // org.bouncycastle.cms.CMSSecureReadable secureReadable
        end local 7 // org.bouncycastle.cms.CMSReadable readable
        end local 6 // org.bouncycastle.asn1.cms.ContentInfoParser data
        27: .line 185
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.bouncycastle.asn1.x509.AlgorithmIdentifier digestAlgorithm
        end local 4 // org.bouncycastle.asn1.ASN1Set recipientInfos
        end local 3 // org.bouncycastle.asn1.cms.OriginatorInfo info
        end local 2 // org.bouncycastle.operator.DigestCalculatorProvider digestCalculatorProvider
        end local 1 // java.io.InputStream envelopedData
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   28     0                      this  Lorg/bouncycastle/cms/CMSAuthenticatedDataParser;
            0   28     1             envelopedData  Ljava/io/InputStream;
            0   28     2  digestCalculatorProvider  Lorg/bouncycastle/operator/DigestCalculatorProvider;
            4   28     3                      info  Lorg/bouncycastle/asn1/cms/OriginatorInfo;
            7   28     4            recipientInfos  Lorg/bouncycastle/asn1/ASN1Set;
            9   28     5           digestAlgorithm  Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
           13   21     6                      data  Lorg/bouncycastle/asn1/cms/ContentInfoParser;
           16   21     7                  readable  Lorg/bouncycastle/cms/CMSReadable;
           17   18     8            secureReadable  Lorg/bouncycastle/cms/CMSSecureReadable;
           20   21     8                         e  Lorg/bouncycastle/operator/OperatorCreationException;
           22   27     6                      data  Lorg/bouncycastle/asn1/cms/ContentInfoParser;
           25   27     7                  readable  Lorg/bouncycastle/cms/CMSReadable;
           26   27     8            secureReadable  Lorg/bouncycastle/cms/CMSSecureReadable;
      Exception table:
        from    to  target  type
          16    18      19  Class org.bouncycastle.operator.OperatorCreationException
    Exceptions:
      throws org.bouncycastle.cms.CMSException, java.io.IOException
    MethodParameters:
                          Name  Flags
      envelopedData             
      digestCalculatorProvider  

  public org.bouncycastle.cms.OriginatorInformation getOriginatorInfo();
    descriptor: ()Lorg/bouncycastle/cms/OriginatorInformation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
         0: .line 194
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.originatorInfo:Lorg/bouncycastle/cms/OriginatorInformation;
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedDataParser;

  public org.bouncycastle.asn1.x509.AlgorithmIdentifier getMacAlgorithm();
    descriptor: ()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
         0: .line 204
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.macAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedDataParser;

  public java.lang.String getMacAlgOID();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
         0: .line 212
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.macAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedDataParser;

  public byte[] getMacAlgParams();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
         0: .line 223
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.macAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokevirtual org.bouncycastle.cms.CMSAuthenticatedDataParser.encodeObj:(Lorg/bouncycastle/asn1/ASN1Encodable;)[B
         1: areturn
         2: .line 225
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 227
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "exception getting encryption parameters "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Exception e
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedDataParser;
            3    4     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception

  public org.bouncycastle.cms.RecipientInformationStore getRecipientInfos();
    descriptor: ()Lorg/bouncycastle/cms/RecipientInformationStore;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
         0: .line 236
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.recipientInfoStore:Lorg/bouncycastle/cms/RecipientInformationStore;
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedDataParser;

  public byte[] getMac();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
         0: .line 242
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.mac:[B
            ifnonnull 3
         1: .line 244
            aload 0 /* this */
            invokevirtual org.bouncycastle.cms.CMSAuthenticatedDataParser.getAuthAttrs:()Lorg/bouncycastle/asn1/cms/AttributeTable;
            pop
         2: .line 245
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authData:Lorg/bouncycastle/asn1/cms/AuthenticatedDataParser;
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedDataParser.getMac:()Lorg/bouncycastle/asn1/ASN1OctetString;
            invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
            putfield org.bouncycastle.cms.CMSAuthenticatedDataParser.mac:[B
         3: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.mac:[B
            invokestatic org.bouncycastle.util.Arrays.clone:([B)[B
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedDataParser;
    Exceptions:
      throws java.io.IOException

  private org.bouncycastle.asn1.ASN1Set getAuthAttrSet();
    descriptor: ()Lorg/bouncycastle/asn1/ASN1Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
         0: .line 253
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authAttrs:Lorg/bouncycastle/asn1/cms/AttributeTable;
            ifnonnull 5
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authAttrNotRead:Z
            ifeq 5
         1: .line 255
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authData:Lorg/bouncycastle/asn1/cms/AuthenticatedDataParser;
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedDataParser.getAuthAttrs:()Lorg/bouncycastle/asn1/ASN1SetParser;
            astore 1 /* set */
        start local 1 // org.bouncycastle.asn1.ASN1SetParser set
         2: .line 257
            aload 1 /* set */
            ifnull 4
         3: .line 259
            aload 0 /* this */
            aload 1 /* set */
            invokeinterface org.bouncycastle.asn1.ASN1SetParser.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
            checkcast org.bouncycastle.asn1.ASN1Set
            putfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authAttrSet:Lorg/bouncycastle/asn1/ASN1Set;
         4: .line 262
      StackMap locals: org.bouncycastle.asn1.ASN1SetParser
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authAttrNotRead:Z
        end local 1 // org.bouncycastle.asn1.ASN1SetParser set
         5: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authAttrSet:Lorg/bouncycastle/asn1/ASN1Set;
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedDataParser;
            2    5     1   set  Lorg/bouncycastle/asn1/ASN1SetParser;
    Exceptions:
      throws java.io.IOException

  public org.bouncycastle.asn1.cms.AttributeTable getAuthAttrs();
    descriptor: ()Lorg/bouncycastle/asn1/cms/AttributeTable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
         0: .line 276
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authAttrs:Lorg/bouncycastle/asn1/cms/AttributeTable;
            ifnonnull 4
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authAttrNotRead:Z
            ifeq 4
         1: .line 278
            aload 0 /* this */
            invokevirtual org.bouncycastle.cms.CMSAuthenticatedDataParser.getAuthAttrSet:()Lorg/bouncycastle/asn1/ASN1Set;
            astore 1 /* set */
        start local 1 // org.bouncycastle.asn1.ASN1Set set
         2: .line 280
            aload 1 /* set */
            ifnull 4
         3: .line 282
            aload 0 /* this */
            new org.bouncycastle.asn1.cms.AttributeTable
            dup
            aload 1 /* set */
            invokespecial org.bouncycastle.asn1.cms.AttributeTable.<init>:(Lorg/bouncycastle/asn1/ASN1Set;)V
            putfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authAttrs:Lorg/bouncycastle/asn1/cms/AttributeTable;
        end local 1 // org.bouncycastle.asn1.ASN1Set set
         4: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authAttrs:Lorg/bouncycastle/asn1/cms/AttributeTable;
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedDataParser;
            2    4     1   set  Lorg/bouncycastle/asn1/ASN1Set;
    Exceptions:
      throws java.io.IOException

  public org.bouncycastle.asn1.cms.AttributeTable getUnauthAttrs();
    descriptor: ()Lorg/bouncycastle/asn1/cms/AttributeTable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
         0: .line 297
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.unauthAttrs:Lorg/bouncycastle/asn1/cms/AttributeTable;
            ifnonnull 11
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.unauthAttrNotRead:Z
            ifeq 11
         1: .line 299
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authData:Lorg/bouncycastle/asn1/cms/AuthenticatedDataParser;
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedDataParser.getUnauthAttrs:()Lorg/bouncycastle/asn1/ASN1SetParser;
            astore 1 /* set */
        start local 1 // org.bouncycastle.asn1.ASN1SetParser set
         2: .line 301
            aload 0 /* this */
            iconst_0
            putfield org.bouncycastle.cms.CMSAuthenticatedDataParser.unauthAttrNotRead:Z
         3: .line 303
            aload 1 /* set */
            ifnull 11
         4: .line 305
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            astore 2 /* v */
        start local 2 // org.bouncycastle.asn1.ASN1EncodableVector v
         5: .line 308
            goto 8
        start local 3 // org.bouncycastle.asn1.ASN1Encodable o
         6: .line 310
      StackMap locals: org.bouncycastle.asn1.ASN1SetParser org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.asn1.ASN1Encodable
      StackMap stack:
            aload 3 /* o */
            checkcast org.bouncycastle.asn1.ASN1SequenceParser
            astore 4 /* seq */
        start local 4 // org.bouncycastle.asn1.ASN1SequenceParser seq
         7: .line 312
            aload 2 /* v */
            aload 4 /* seq */
            invokeinterface org.bouncycastle.asn1.ASN1SequenceParser.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
        end local 4 // org.bouncycastle.asn1.ASN1SequenceParser seq
        end local 3 // org.bouncycastle.asn1.ASN1Encodable o
         8: .line 308
      StackMap locals:
      StackMap stack:
            aload 1 /* set */
            invokeinterface org.bouncycastle.asn1.ASN1SetParser.readObject:()Lorg/bouncycastle/asn1/ASN1Encodable;
            dup
            astore 3 /* o */
        start local 3 // org.bouncycastle.asn1.ASN1Encodable o
         9: ifnonnull 6
        10: .line 315
            aload 0 /* this */
            new org.bouncycastle.asn1.cms.AttributeTable
            dup
            new org.bouncycastle.asn1.DERSet
            dup
            aload 2 /* v */
            invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
            invokespecial org.bouncycastle.asn1.cms.AttributeTable.<init>:(Lorg/bouncycastle/asn1/ASN1Set;)V
            putfield org.bouncycastle.cms.CMSAuthenticatedDataParser.unauthAttrs:Lorg/bouncycastle/asn1/cms/AttributeTable;
        end local 3 // org.bouncycastle.asn1.ASN1Encodable o
        end local 2 // org.bouncycastle.asn1.ASN1EncodableVector v
        end local 1 // org.bouncycastle.asn1.ASN1SetParser set
        11: .line 319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.unauthAttrs:Lorg/bouncycastle/asn1/cms/AttributeTable;
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedDataParser;
            2   11     1   set  Lorg/bouncycastle/asn1/ASN1SetParser;
            5   11     2     v  Lorg/bouncycastle/asn1/ASN1EncodableVector;
            6    8     3     o  Lorg/bouncycastle/asn1/ASN1Encodable;
            9   11     3     o  Lorg/bouncycastle/asn1/ASN1Encodable;
            7    8     4   seq  Lorg/bouncycastle/asn1/ASN1SequenceParser;
    Exceptions:
      throws java.io.IOException

  private byte[] encodeObj(org.bouncycastle.asn1.ASN1Encodable);
    descriptor: (Lorg/bouncycastle/asn1/ASN1Encodable;)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
        start local 1 // org.bouncycastle.asn1.ASN1Encodable obj
         0: .line 326
            aload 1 /* obj */
            ifnull 2
         1: .line 328
            aload 1 /* obj */
            invokeinterface org.bouncycastle.asn1.ASN1Encodable.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
            invokevirtual org.bouncycastle.asn1.ASN1Primitive.getEncoded:()[B
            areturn
         2: .line 331
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.bouncycastle.asn1.ASN1Encodable obj
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedDataParser;
            0    3     1   obj  Lorg/bouncycastle/asn1/ASN1Encodable;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  public byte[] getContentDigest();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
         0: .line 341
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authAttrs:Lorg/bouncycastle/asn1/cms/AttributeTable;
            ifnull 2
         1: .line 343
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedDataParser.authAttrs:Lorg/bouncycastle/asn1/cms/AttributeTable;
            getstatic org.bouncycastle.asn1.cms.CMSAttributes.messageDigest:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.cms.AttributeTable.get:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/cms/Attribute;
            invokevirtual org.bouncycastle.asn1.cms.Attribute.getAttrValues:()Lorg/bouncycastle/asn1/ASN1Set;
            iconst_0
            invokevirtual org.bouncycastle.asn1.ASN1Set.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
            invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
            areturn
         2: .line 346
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedDataParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedDataParser;
}
SourceFile: "CMSAuthenticatedDataParser.java"
NestMembers:
  org.bouncycastle.cms.CMSAuthenticatedDataParser$1
InnerClasses:
  org.bouncycastle.cms.CMSAuthenticatedDataParser$1
  CMSAuthenticatedSecureReadable = org.bouncycastle.cms.CMSEnvelopedHelper$CMSAuthenticatedSecureReadable of org.bouncycastle.cms.CMSEnvelopedHelper
  CMSDigestAuthenticatedSecureReadable = org.bouncycastle.cms.CMSEnvelopedHelper$CMSDigestAuthenticatedSecureReadable of org.bouncycastle.cms.CMSEnvelopedHelper