public class org.bouncycastle.jce.provider.RFC3280CertPathUtilities
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.jce.provider.RFC3280CertPathUtilities
  super_class: java.lang.Object
{
  private static final org.bouncycastle.jce.provider.PKIXCRLUtil CRL_UTIL;
    descriptor: Lorg/bouncycastle/jce/provider/PKIXCRLUtil;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String CERTIFICATE_POLICIES;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String POLICY_MAPPINGS;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String INHIBIT_ANY_POLICY;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String ISSUING_DISTRIBUTION_POINT;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String FRESHEST_CRL;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String DELTA_CRL_INDICATOR;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String POLICY_CONSTRAINTS;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String BASIC_CONSTRAINTS;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String CRL_DISTRIBUTION_POINTS;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String SUBJECT_ALTERNATIVE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String NAME_CONSTRAINTS;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String AUTHORITY_KEY_IDENTIFIER;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String KEY_USAGE;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String CRL_NUMBER;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String ANY_POLICY;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "2.5.29.32.0"

  protected static final int KEY_CERT_SIGN;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  protected static final int CRL_SIGN;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  protected static final java.lang.String[] crlReasons;
    descriptor: [Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 62
            new org.bouncycastle.jce.provider.PKIXCRLUtil
            dup
            invokespecial org.bouncycastle.jce.provider.PKIXCRLUtil.<init>:()V
            putstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CRL_UTIL:Lorg/bouncycastle/jce/provider/PKIXCRLUtil;
         1: .line 379
            getstatic org.bouncycastle.asn1.x509.X509Extensions.CertificatePolicies:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CERTIFICATE_POLICIES:Ljava/lang/String;
         2: .line 381
            getstatic org.bouncycastle.asn1.x509.X509Extensions.PolicyMappings:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.POLICY_MAPPINGS:Ljava/lang/String;
         3: .line 383
            getstatic org.bouncycastle.asn1.x509.X509Extensions.InhibitAnyPolicy:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.INHIBIT_ANY_POLICY:Ljava/lang/String;
         4: .line 385
            getstatic org.bouncycastle.asn1.x509.X509Extensions.IssuingDistributionPoint:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
         5: .line 387
            getstatic org.bouncycastle.asn1.x509.X509Extensions.FreshestCRL:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.FRESHEST_CRL:Ljava/lang/String;
         6: .line 389
            getstatic org.bouncycastle.asn1.x509.X509Extensions.DeltaCRLIndicator:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.DELTA_CRL_INDICATOR:Ljava/lang/String;
         7: .line 391
            getstatic org.bouncycastle.asn1.x509.X509Extensions.PolicyConstraints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.POLICY_CONSTRAINTS:Ljava/lang/String;
         8: .line 393
            getstatic org.bouncycastle.asn1.x509.X509Extensions.BasicConstraints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.BASIC_CONSTRAINTS:Ljava/lang/String;
         9: .line 395
            getstatic org.bouncycastle.asn1.x509.X509Extensions.CRLDistributionPoints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CRL_DISTRIBUTION_POINTS:Ljava/lang/String;
        10: .line 397
            getstatic org.bouncycastle.asn1.x509.X509Extensions.SubjectAlternativeName:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.SUBJECT_ALTERNATIVE_NAME:Ljava/lang/String;
        11: .line 399
            getstatic org.bouncycastle.asn1.x509.X509Extensions.NameConstraints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.NAME_CONSTRAINTS:Ljava/lang/String;
        12: .line 401
            getstatic org.bouncycastle.asn1.x509.X509Extensions.AuthorityKeyIdentifier:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.AUTHORITY_KEY_IDENTIFIER:Ljava/lang/String;
        13: .line 403
            getstatic org.bouncycastle.asn1.x509.X509Extensions.KeyUsage:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.KEY_USAGE:Ljava/lang/String;
        14: .line 405
            getstatic org.bouncycastle.asn1.x509.X509Extensions.CRLNumber:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CRL_NUMBER:Ljava/lang/String;
        15: .line 2282
            bipush 11
            anewarray java.lang.String
            dup
            iconst_0
        16: .line 2283
            ldc "unspecified"
            aastore
            dup
            iconst_1
        17: .line 2284
            ldc "keyCompromise"
            aastore
            dup
            iconst_2
        18: .line 2285
            ldc "cACompromise"
            aastore
            dup
            iconst_3
        19: .line 2286
            ldc "affiliationChanged"
            aastore
            dup
            iconst_4
        20: .line 2287
            ldc "superseded"
            aastore
            dup
            iconst_5
        21: .line 2288
            ldc "cessationOfOperation"
            aastore
            dup
            bipush 6
        22: .line 2289
            ldc "certificateHold"
            aastore
            dup
            bipush 7
        23: .line 2290
            ldc "unknown"
            aastore
            dup
            bipush 8
        24: .line 2291
            ldc "removeFromCRL"
            aastore
            dup
            bipush 9
        25: .line 2292
            ldc "privilegeWithdrawn"
            aastore
            dup
            bipush 10
        26: .line 2293
            ldc "aACompromise"
            aastore
        27: .line 2281
            putstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.crlReasons:[Ljava/lang/String;
        28: .line 2293
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.provider.RFC3280CertPathUtilities this
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.bouncycastle.jce.provider.RFC3280CertPathUtilities this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/jce/provider/RFC3280CertPathUtilities;

  protected static void processCRLB2(org.bouncycastle.asn1.x509.DistributionPoint, java.lang.Object, java.security.cert.X509CRL);
    descriptor: (Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/security/cert/X509CRL;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=9, locals=11, args_size=3
        start local 0 // org.bouncycastle.asn1.x509.DistributionPoint dp
        start local 1 // java.lang.Object cert
        start local 2 // java.security.cert.X509CRL crl
         0: .line 101
            aconst_null
            astore 3 /* idp */
        start local 3 // org.bouncycastle.asn1.x509.IssuingDistributionPoint idp
         1: .line 104
            aload 2 /* crl */
         2: .line 105
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
         3: .line 104
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            astore 3 /* idp */
         4: .line 106
            goto 7
         5: .line 107
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.x509.IssuingDistributionPoint
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
         6: .line 109
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Issuing distribution point extension could not be decoded."
            aload 4 /* e */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception e
         7: .line 113
      StackMap locals:
      StackMap stack:
            aload 3 /* idp */
            ifnull 103
         8: .line 115
            aload 3 /* idp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getDistributionPoint:()Lorg/bouncycastle/asn1/x509/DistributionPointName;
            ifnull 89
         9: .line 118
            aload 3 /* idp */
            invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getDistributionPoint:()Lorg/bouncycastle/asn1/x509/DistributionPointName;
            astore 4 /* dpName */
        start local 4 // org.bouncycastle.asn1.x509.DistributionPointName dpName
        10: .line 119
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* names */
        start local 5 // java.util.List names
        11: .line 121
            aload 4 /* dpName */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getType:()I
            ifne 18
        12: .line 123
            aload 4 /* dpName */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.x509.GeneralNames.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/GeneralNames;
            invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
            astore 6 /* genNames */
        start local 6 // org.bouncycastle.asn1.x509.GeneralName[] genNames
        13: .line 124
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        14: goto 17
        15: .line 126
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.DistributionPointName java.util.List org.bouncycastle.asn1.x509.GeneralName[] int
      StackMap stack:
            aload 5 /* names */
            aload 6 /* genNames */
            iload 7 /* j */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 124
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* j */
            aload 6 /* genNames */
            arraylength
            if_icmplt 15
        end local 7 // int j
        end local 6 // org.bouncycastle.asn1.x509.GeneralName[] genNames
        18: .line 129
      StackMap locals:
      StackMap stack:
            aload 4 /* dpName */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getType:()I
            iconst_1
            if_icmpne 34
        19: .line 131
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            astore 6 /* vec */
        start local 6 // org.bouncycastle.asn1.ASN1EncodableVector vec
        20: .line 135
            aload 2 /* crl */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getIssuerPrincipal:(Ljava/security/cert/X509CRL;)Ljavax/security/auth/x500/X500Principal;
        21: .line 136
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        22: .line 135
            invokestatic org.bouncycastle.asn1.ASN1Sequence.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
        23: .line 134
            invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
        24: .line 136
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
        25: .line 134
            astore 7 /* e */
        start local 7 // java.util.Enumeration e
        26: .line 137
            goto 28
        27: .line 139
      StackMap locals: org.bouncycastle.asn1.ASN1EncodableVector java.util.Enumeration
      StackMap stack:
            aload 6 /* vec */
            aload 7 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.DEREncodable
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
        28: .line 137
      StackMap locals:
      StackMap stack:
            aload 7 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 27
        end local 7 // java.util.Enumeration e
        29: .line 141
            goto 32
        30: .line 142
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.DistributionPointName java.util.List org.bouncycastle.asn1.ASN1EncodableVector
      StackMap stack: java.io.IOException
            astore 7 /* e */
        start local 7 // java.io.IOException e
        31: .line 144
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Could not read CRL issuer."
            aload 7 /* e */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.io.IOException e
        32: .line 146
      StackMap locals:
      StackMap stack:
            aload 6 /* vec */
            aload 4 /* dpName */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
        33: .line 147
            aload 5 /* names */
            new org.bouncycastle.asn1.x509.GeneralName
            dup
            new org.bouncycastle.asn1.DERSequence
            dup
            aload 6 /* vec */
            invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
            invokestatic org.bouncycastle.asn1.x509.X509Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/X509Name;
            invokespecial org.bouncycastle.asn1.x509.GeneralName.<init>:(Lorg/bouncycastle/asn1/x509/X509Name;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.bouncycastle.asn1.ASN1EncodableVector vec
        34: .line 149
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* matches */
        start local 6 // boolean matches
        35: .line 152
            aload 0 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getDistributionPoint:()Lorg/bouncycastle/asn1/x509/DistributionPointName;
            ifnull 75
        36: .line 154
            aload 0 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getDistributionPoint:()Lorg/bouncycastle/asn1/x509/DistributionPointName;
            astore 4 /* dpName */
        37: .line 155
            aconst_null
            astore 7 /* genNames */
        start local 7 // org.bouncycastle.asn1.x509.GeneralName[] genNames
        38: .line 156
            aload 4 /* dpName */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getType:()I
            ifne 40
        39: .line 158
            aload 4 /* dpName */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.x509.GeneralNames.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/GeneralNames;
            invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
            astore 7 /* genNames */
        40: .line 160
      StackMap locals: int org.bouncycastle.asn1.x509.GeneralName[]
      StackMap stack:
            aload 4 /* dpName */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getType:()I
            iconst_1
            if_icmpne 63
        41: .line 162
            aload 0 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getCRLIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
            ifnull 44
        42: .line 164
            aload 0 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getCRLIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
            invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
            astore 7 /* genNames */
        43: .line 165
            goto 52
        44: .line 168
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray org.bouncycastle.asn1.x509.GeneralName
            astore 7 /* genNames */
        45: .line 171
            aload 7 /* genNames */
            iconst_0
            new org.bouncycastle.asn1.x509.GeneralName
            dup
            new org.bouncycastle.asn1.x509.X509Name
            dup
        46: .line 173
            aload 1 /* cert */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getEncodedIssuerPrincipal:(Ljava/lang/Object;)Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        47: .line 172
            invokestatic org.bouncycastle.asn1.ASN1Sequence.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Object;
            checkcast org.bouncycastle.asn1.ASN1Sequence
            invokespecial org.bouncycastle.asn1.x509.X509Name.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
            invokespecial org.bouncycastle.asn1.x509.GeneralName.<init>:(Lorg/bouncycastle/asn1/x509/X509Name;)V
        48: .line 171
            aastore
        49: .line 174
            goto 52
        50: .line 175
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 8 /* e */
        start local 8 // java.io.IOException e
        51: .line 177
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Could not read certificate issuer."
            aload 8 /* e */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.io.IOException e
        52: .line 180
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        53: goto 62
        54: .line 182
      StackMap locals: int
      StackMap stack:
            aload 7 /* genNames */
            iload 8 /* j */
            aaload
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
            invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
            astore 9 /* e */
        start local 9 // java.util.Enumeration e
        55: .line 183
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            astore 10 /* vec */
        start local 10 // org.bouncycastle.asn1.ASN1EncodableVector vec
        56: .line 184
            goto 58
        57: .line 186
      StackMap locals: java.util.Enumeration org.bouncycastle.asn1.ASN1EncodableVector
      StackMap stack:
            aload 10 /* vec */
            aload 9 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.DEREncodable
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
        58: .line 184
      StackMap locals:
      StackMap stack:
            aload 9 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 57
        59: .line 188
            aload 10 /* vec */
            aload 4 /* dpName */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/DEREncodable;)V
        60: .line 189
            aload 7 /* genNames */
            iload 8 /* j */
            new org.bouncycastle.asn1.x509.GeneralName
            dup
            new org.bouncycastle.asn1.x509.X509Name
            dup
            new org.bouncycastle.asn1.DERSequence
            dup
            aload 10 /* vec */
            invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
            invokespecial org.bouncycastle.asn1.x509.X509Name.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
            invokespecial org.bouncycastle.asn1.x509.GeneralName.<init>:(Lorg/bouncycastle/asn1/x509/X509Name;)V
            aastore
        end local 10 // org.bouncycastle.asn1.ASN1EncodableVector vec
        end local 9 // java.util.Enumeration e
        61: .line 180
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        62: iload 8 /* j */
            aload 7 /* genNames */
            arraylength
            if_icmplt 54
        end local 8 // int j
        63: .line 192
      StackMap locals:
      StackMap stack:
            aload 7 /* genNames */
            ifnull 71
        64: .line 194
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        65: goto 70
        66: .line 196
      StackMap locals: int
      StackMap stack:
            aload 5 /* names */
            aload 7 /* genNames */
            iload 8 /* j */
            aaload
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 69
        67: .line 198
            iconst_1
            istore 6 /* matches */
        68: .line 199
            goto 71
        69: .line 194
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        70: iload 8 /* j */
            aload 7 /* genNames */
            arraylength
            if_icmplt 66
        end local 8 // int j
        71: .line 203
      StackMap locals:
      StackMap stack:
            iload 6 /* matches */
            ifne 89
        72: .line 205
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
        73: .line 206
            ldc "No match for certificate CRL issuing distribution point name to cRLIssuer CRL distribution point."
        74: .line 205
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // org.bouncycastle.asn1.x509.GeneralName[] genNames
        75: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getCRLIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
            ifnonnull 77
        76: .line 216
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Either the cRLIssuer or the distributionPoint field must be contained in DistributionPoint."
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        77: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getCRLIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
            invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
            astore 7 /* genNames */
        start local 7 // org.bouncycastle.asn1.x509.GeneralName[] genNames
        78: .line 220
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        79: goto 84
        80: .line 222
      StackMap locals: org.bouncycastle.asn1.x509.GeneralName[] int
      StackMap stack:
            aload 5 /* names */
            aload 7 /* genNames */
            iload 8 /* j */
            aaload
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 83
        81: .line 224
            iconst_1
            istore 6 /* matches */
        82: .line 225
            goto 85
        83: .line 220
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        84: iload 8 /* j */
            aload 7 /* genNames */
            arraylength
            if_icmplt 80
        end local 8 // int j
        85: .line 228
      StackMap locals:
      StackMap stack:
            iload 6 /* matches */
            ifne 89
        86: .line 230
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
        87: .line 231
            ldc "No match for certificate CRL issuing distribution point name to cRLIssuer CRL distribution point."
        88: .line 230
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // org.bouncycastle.asn1.x509.GeneralName[] genNames
        end local 6 // boolean matches
        end local 5 // java.util.List names
        end local 4 // org.bouncycastle.asn1.x509.DistributionPointName dpName
        89: .line 235
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.x509.IssuingDistributionPoint
      StackMap stack:
            aconst_null
            astore 4 /* bc */
        start local 4 // org.bouncycastle.asn1.x509.BasicConstraints bc
        90: .line 238
            aload 1 /* cert */
            checkcast java.security.cert.X509Extension
        91: .line 239
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.BASIC_CONSTRAINTS:Ljava/lang/String;
        92: .line 238
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.x509.BasicConstraints.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/BasicConstraints;
            astore 4 /* bc */
        93: .line 240
            goto 96
        94: .line 241
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.BasicConstraints
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        95: .line 243
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Basic constraints extension could not be decoded."
            aload 5 /* e */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Exception e
        96: .line 246
      StackMap locals:
      StackMap stack:
            aload 1 /* cert */
            instanceof java.security.cert.X509Certificate
            ifeq 101
        97: .line 249
            aload 3 /* idp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.onlyContainsUserCerts:()Z
            ifeq 99
            aload 4 /* bc */
            ifnull 99
            aload 4 /* bc */
            invokevirtual org.bouncycastle.asn1.x509.BasicConstraints.isCA:()Z
            ifeq 99
        98: .line 251
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "CA Cert CRL only contains user certificates."
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        99: .line 255
      StackMap locals:
      StackMap stack:
            aload 3 /* idp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.onlyContainsCACerts:()Z
            ifeq 101
            aload 4 /* bc */
            ifnull 100
            aload 4 /* bc */
            invokevirtual org.bouncycastle.asn1.x509.BasicConstraints.isCA:()Z
            ifne 101
       100: .line 257
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "End CRL only contains CA certificates."
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
       101: .line 262
      StackMap locals:
      StackMap stack:
            aload 3 /* idp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.onlyContainsAttributeCerts:()Z
            ifeq 103
       102: .line 264
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "onlyContainsAttributeCerts boolean is asserted."
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // org.bouncycastle.asn1.x509.BasicConstraints bc
       103: .line 267
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.bouncycastle.asn1.x509.IssuingDistributionPoint idp
        end local 2 // java.security.cert.X509CRL crl
        end local 1 // java.lang.Object cert
        end local 0 // org.bouncycastle.asn1.x509.DistributionPoint dp
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0  104     0        dp  Lorg/bouncycastle/asn1/x509/DistributionPoint;
            0  104     1      cert  Ljava/lang/Object;
            0  104     2       crl  Ljava/security/cert/X509CRL;
            1  104     3       idp  Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            6    7     4         e  Ljava/lang/Exception;
           10   89     4    dpName  Lorg/bouncycastle/asn1/x509/DistributionPointName;
           11   89     5     names  Ljava/util/List;
           13   18     6  genNames  [Lorg/bouncycastle/asn1/x509/GeneralName;
           14   18     7         j  I
           20   34     6       vec  Lorg/bouncycastle/asn1/ASN1EncodableVector;
           26   29     7         e  Ljava/util/Enumeration;
           31   32     7         e  Ljava/io/IOException;
           35   89     6   matches  Z
           38   75     7  genNames  [Lorg/bouncycastle/asn1/x509/GeneralName;
           51   52     8         e  Ljava/io/IOException;
           53   63     8         j  I
           55   61     9         e  Ljava/util/Enumeration;
           56   61    10       vec  Lorg/bouncycastle/asn1/ASN1EncodableVector;
           65   71     8         j  I
           78   89     7  genNames  [Lorg/bouncycastle/asn1/x509/GeneralName;
           79   85     8         j  I
           90  103     4        bc  Lorg/bouncycastle/asn1/x509/BasicConstraints;
           95   96     5         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     4       5  Class java.lang.Exception
          20    29      30  Class java.io.IOException
          45    49      50  Class java.io.IOException
          90    93      94  Class java.lang.Exception
    Exceptions:
      throws org.bouncycastle.jce.provider.AnnotatedException
    MethodParameters:
      Name  Flags
      dp    
      cert  
      crl   

  protected static void processCRLB1(org.bouncycastle.asn1.x509.DistributionPoint, java.lang.Object, java.security.cert.X509CRL);
    descriptor: (Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/security/cert/X509CRL;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // org.bouncycastle.asn1.x509.DistributionPoint dp
        start local 1 // java.lang.Object cert
        start local 2 // java.security.cert.X509CRL crl
         0: .line 288
            aload 2 /* crl */
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            astore 3 /* idp */
        start local 3 // org.bouncycastle.asn1.DERObject idp
         1: .line 289
            iconst_0
            istore 4 /* isIndirect */
        start local 4 // boolean isIndirect
         2: .line 290
            aload 3 /* idp */
            ifnull 5
         3: .line 292
            aload 3 /* idp */
            invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.isIndirectCRL:()Z
            ifeq 5
         4: .line 294
            iconst_1
            istore 4 /* isIndirect */
         5: .line 297
      StackMap locals: org.bouncycastle.asn1.DERObject int
      StackMap stack:
            aload 2 /* crl */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getIssuerPrincipal:(Ljava/security/cert/X509CRL;)Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
            astore 5 /* issuerBytes */
        start local 5 // byte[] issuerBytes
         6: .line 299
            iconst_0
            istore 6 /* matchIssuer */
        start local 6 // boolean matchIssuer
         7: .line 300
            aload 0 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getCRLIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
            ifnull 25
         8: .line 302
            aload 0 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getCRLIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
            invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
            astore 7 /* genNames */
        start local 7 // org.bouncycastle.asn1.x509.GeneralName[] genNames
         9: .line 303
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        10: goto 20
        11: .line 305
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.DERObject int byte[] int org.bouncycastle.asn1.x509.GeneralName[] int
      StackMap stack:
            aload 7 /* genNames */
            iload 8 /* j */
            aaload
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getTagNo:()I
            iconst_4
            if_icmpne 19
        12: .line 309
            aload 7 /* genNames */
            iload 8 /* j */
            aaload
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/DEREncodable;
            invokeinterface org.bouncycastle.asn1.DEREncodable.getDERObject:()Lorg/bouncycastle/asn1/DERObject;
            invokevirtual org.bouncycastle.asn1.DERObject.getEncoded:()[B
            aload 5 /* issuerBytes */
            invokestatic org.bouncycastle.util.Arrays.areEqual:([B[B)Z
            ifeq 19
        13: .line 311
            iconst_1
            istore 6 /* matchIssuer */
        14: .line 313
            goto 19
        15: .line 314
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 9 /* e */
        start local 9 // java.io.IOException e
        16: .line 316
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
        17: .line 317
            ldc "CRL issuer information from distribution point cannot be decoded."
            aload 9 /* e */
        18: .line 316
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.io.IOException e
        19: .line 303
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        20: iload 8 /* j */
            aload 7 /* genNames */
            arraylength
            if_icmplt 11
        end local 8 // int j
        21: .line 321
            iload 6 /* matchIssuer */
            ifeq 23
            iload 4 /* isIndirect */
            ifne 23
        22: .line 323
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Distribution point contains cRLIssuer field but CRL is not indirect."
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 325
      StackMap locals:
      StackMap stack:
            iload 6 /* matchIssuer */
            ifne 30
        24: .line 327
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "CRL issuer of CRL does not match CRL issuer of distribution point."
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // org.bouncycastle.asn1.x509.GeneralName[] genNames
        25: .line 332
      StackMap locals:
      StackMap stack:
            aload 2 /* crl */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getIssuerPrincipal:(Ljava/security/cert/X509CRL;)Ljavax/security/auth/x500/X500Principal;
        26: .line 333
            aload 1 /* cert */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getEncodedIssuerPrincipal:(Ljava/lang/Object;)Ljavax/security/auth/x500/X500Principal;
        27: .line 332
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
        28: .line 333
            ifeq 30
        29: .line 335
            iconst_1
            istore 6 /* matchIssuer */
        30: .line 338
      StackMap locals:
      StackMap stack:
            iload 6 /* matchIssuer */
            ifne 32
        31: .line 340
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Cannot find matching CRL issuer for certificate."
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 342
      StackMap locals:
      StackMap stack:
            return
        end local 6 // boolean matchIssuer
        end local 5 // byte[] issuerBytes
        end local 4 // boolean isIndirect
        end local 3 // org.bouncycastle.asn1.DERObject idp
        end local 2 // java.security.cert.X509CRL crl
        end local 1 // java.lang.Object cert
        end local 0 // org.bouncycastle.asn1.x509.DistributionPoint dp
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   33     0           dp  Lorg/bouncycastle/asn1/x509/DistributionPoint;
            0   33     1         cert  Ljava/lang/Object;
            0   33     2          crl  Ljava/security/cert/X509CRL;
            1   33     3          idp  Lorg/bouncycastle/asn1/DERObject;
            2   33     4   isIndirect  Z
            6   33     5  issuerBytes  [B
            7   33     6  matchIssuer  Z
            9   25     7     genNames  [Lorg/bouncycastle/asn1/x509/GeneralName;
           10   21     8            j  I
           16   19     9            e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          12    14      15  Class java.io.IOException
    Exceptions:
      throws org.bouncycastle.jce.provider.AnnotatedException
    MethodParameters:
      Name  Flags
      dp    
      cert  
      crl   

  protected static org.bouncycastle.jce.provider.ReasonsMask processCRLD(java.security.cert.X509CRL, org.bouncycastle.asn1.x509.DistributionPoint);
    descriptor: (Ljava/security/cert/X509CRL;Lorg/bouncycastle/asn1/x509/DistributionPoint;)Lorg/bouncycastle/jce/provider/ReasonsMask;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.security.cert.X509CRL crl
        start local 1 // org.bouncycastle.asn1.x509.DistributionPoint dp
         0: .line 349
            aconst_null
            astore 2 /* idp */
        start local 2 // org.bouncycastle.asn1.x509.IssuingDistributionPoint idp
         1: .line 352
            aload 0 /* crl */
         2: .line 353
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
         3: .line 352
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            astore 2 /* idp */
         4: .line 354
            goto 7
         5: .line 355
      StackMap locals: java.security.cert.X509CRL org.bouncycastle.asn1.x509.DistributionPoint org.bouncycastle.asn1.x509.IssuingDistributionPoint
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
         6: .line 357
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Issuing distribution point extension could not be decoded."
            aload 3 /* e */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
         7: .line 360
      StackMap locals:
      StackMap stack:
            aload 2 /* idp */
            ifnull 11
            aload 2 /* idp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getOnlySomeReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
            ifnull 11
            aload 1 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
            ifnull 11
         8: .line 362
            new org.bouncycastle.jce.provider.ReasonsMask
            dup
            aload 1 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
            invokevirtual org.bouncycastle.asn1.x509.ReasonFlags.intValue:()I
            invokespecial org.bouncycastle.jce.provider.ReasonsMask.<init>:(I)V
            new org.bouncycastle.jce.provider.ReasonsMask
            dup
            aload 2 /* idp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getOnlySomeReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
         9: .line 363
            invokevirtual org.bouncycastle.asn1.x509.ReasonFlags.intValue:()I
            invokespecial org.bouncycastle.jce.provider.ReasonsMask.<init>:(I)V
        10: .line 362
            invokevirtual org.bouncycastle.jce.provider.ReasonsMask.intersect:(Lorg/bouncycastle/jce/provider/ReasonsMask;)Lorg/bouncycastle/jce/provider/ReasonsMask;
            areturn
        11: .line 366
      StackMap locals:
      StackMap stack:
            aload 2 /* idp */
            ifnull 12
            aload 2 /* idp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getOnlySomeReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
            ifnonnull 14
      StackMap locals:
      StackMap stack:
        12: aload 1 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
            ifnonnull 14
        13: .line 368
            getstatic org.bouncycastle.jce.provider.ReasonsMask.allReasons:Lorg/bouncycastle/jce/provider/ReasonsMask;
            areturn
        14: .line 371
      StackMap locals:
      StackMap stack:
            aload 1 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
            ifnonnull 16
        15: .line 372
            getstatic org.bouncycastle.jce.provider.ReasonsMask.allReasons:Lorg/bouncycastle/jce/provider/ReasonsMask;
            goto 17
        16: .line 373
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.jce.provider.ReasonsMask
            dup
            aload 1 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
            invokevirtual org.bouncycastle.asn1.x509.ReasonFlags.intValue:()I
            invokespecial org.bouncycastle.jce.provider.ReasonsMask.<init>:(I)V
      StackMap locals:
      StackMap stack: org.bouncycastle.jce.provider.ReasonsMask
        17: aload 2 /* idp */
            ifnonnull 19
        18: .line 374
            getstatic org.bouncycastle.jce.provider.ReasonsMask.allReasons:Lorg/bouncycastle/jce/provider/ReasonsMask;
            goto 20
        19: .line 375
      StackMap locals:
      StackMap stack: org.bouncycastle.jce.provider.ReasonsMask
            new org.bouncycastle.jce.provider.ReasonsMask
            dup
            aload 2 /* idp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getOnlySomeReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
            invokevirtual org.bouncycastle.asn1.x509.ReasonFlags.intValue:()I
            invokespecial org.bouncycastle.jce.provider.ReasonsMask.<init>:(I)V
        20: .line 373
      StackMap locals: java.security.cert.X509CRL org.bouncycastle.asn1.x509.DistributionPoint org.bouncycastle.asn1.x509.IssuingDistributionPoint
      StackMap stack: org.bouncycastle.jce.provider.ReasonsMask org.bouncycastle.jce.provider.ReasonsMask
            invokevirtual org.bouncycastle.jce.provider.ReasonsMask.intersect:(Lorg/bouncycastle/jce/provider/ReasonsMask;)Lorg/bouncycastle/jce/provider/ReasonsMask;
        21: .line 371
            areturn
        end local 2 // org.bouncycastle.asn1.x509.IssuingDistributionPoint idp
        end local 1 // org.bouncycastle.asn1.x509.DistributionPoint dp
        end local 0 // java.security.cert.X509CRL crl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0   crl  Ljava/security/cert/X509CRL;
            0   22     1    dp  Lorg/bouncycastle/asn1/x509/DistributionPoint;
            1   22     2   idp  Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            6    7     3     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     4       5  Class java.lang.Exception
    Exceptions:
      throws org.bouncycastle.jce.provider.AnnotatedException
    MethodParameters:
      Name  Flags
      crl   
      dp    

  protected static java.util.Set processCRLF(java.security.cert.X509CRL, java.lang.Object, java.security.cert.X509Certificate, java.security.PublicKey, org.bouncycastle.x509.ExtendedPKIXParameters, java.util.List);
    descriptor: (Ljava/security/cert/X509CRL;Ljava/lang/Object;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/util/List;)Ljava/util/Set;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=16, args_size=6
        start local 0 // java.security.cert.X509CRL crl
        start local 1 // java.lang.Object cert
        start local 2 // java.security.cert.X509Certificate defaultCRLSignCert
        start local 3 // java.security.PublicKey defaultCRLSignKey
        start local 4 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
        start local 5 // java.util.List certPathCerts
         0: .line 447
            new org.bouncycastle.x509.X509CertStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509CertStoreSelector.<init>:()V
            astore 6 /* selector */
        start local 6 // org.bouncycastle.x509.X509CertStoreSelector selector
         1: .line 450
            aload 0 /* crl */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getIssuerPrincipal:(Ljava/security/cert/X509CRL;)Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
            astore 7 /* issuerPrincipal */
        start local 7 // byte[] issuerPrincipal
         2: .line 451
            aload 6 /* selector */
            aload 7 /* issuerPrincipal */
            invokevirtual org.bouncycastle.x509.X509CertStoreSelector.setSubject:([B)V
        end local 7 // byte[] issuerPrincipal
         3: .line 452
            goto 8
         4: .line 453
      StackMap locals: java.security.cert.X509CRL java.lang.Object java.security.cert.X509Certificate java.security.PublicKey org.bouncycastle.x509.ExtendedPKIXParameters java.util.List org.bouncycastle.x509.X509CertStoreSelector
      StackMap stack: java.io.IOException
            astore 7 /* e */
        start local 7 // java.io.IOException e
         5: .line 455
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
         6: .line 456
            ldc "Subject criteria for certificate selector to find issuer certificate for CRL could not be set."
            aload 7 /* e */
         7: .line 455
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.io.IOException e
         8: .line 463
      StackMap locals:
      StackMap stack:
            aload 6 /* selector */
            aload 4 /* paramsPKIX */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getStores:()Ljava/util/List;
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findCertificates:(Lorg/bouncycastle/x509/X509CertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
            astore 7 /* coll */
        start local 7 // java.util.Collection coll
         9: .line 464
            aload 7 /* coll */
            aload 6 /* selector */
            aload 4 /* paramsPKIX */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getAdditionalStores:()Ljava/util/List;
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findCertificates:(Lorg/bouncycastle/x509/X509CertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
            invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
            pop
        10: .line 465
            aload 7 /* coll */
            aload 6 /* selector */
            aload 4 /* paramsPKIX */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getCertStores:()Ljava/util/List;
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findCertificates:(Lorg/bouncycastle/x509/X509CertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
            invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
            pop
        11: .line 466
            goto 14
        end local 7 // java.util.Collection coll
        12: .line 467
      StackMap locals:
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 8 /* e */
        start local 8 // org.bouncycastle.jce.provider.AnnotatedException e
        13: .line 469
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Issuer certificate for CRL cannot be searched."
            aload 8 /* e */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // org.bouncycastle.jce.provider.AnnotatedException e
        start local 7 // java.util.Collection coll
        14: .line 472
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 7 /* coll */
            aload 2 /* defaultCRLSignCert */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        15: .line 474
            aload 7 /* coll */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8 /* cert_it */
        start local 8 // java.util.Iterator cert_it
        16: .line 476
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* validCerts */
        start local 9 // java.util.List validCerts
        17: .line 477
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* validKeys */
        start local 10 // java.util.List validKeys
        18: .line 479
            goto 45
        19: .line 481
      StackMap locals: java.util.Iterator java.util.List java.util.List
      StackMap stack:
            aload 8 /* cert_it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 11 /* signingCert */
        start local 11 // java.security.cert.X509Certificate signingCert
        20: .line 487
            aload 11 /* signingCert */
            aload 2 /* defaultCRLSignCert */
            invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 24
        21: .line 489
            aload 9 /* validCerts */
            aload 11 /* signingCert */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        22: .line 490
            aload 10 /* validKeys */
            aload 3 /* defaultCRLSignKey */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        23: .line 491
            goto 45
        24: .line 495
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            ldc "PKIX"
            getstatic org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME:Ljava/lang/String;
            invokestatic java.security.cert.CertPathBuilder.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertPathBuilder;
            astore 12 /* builder */
        start local 12 // java.security.cert.CertPathBuilder builder
        25: .line 496
            new org.bouncycastle.x509.X509CertStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509CertStoreSelector.<init>:()V
            astore 6 /* selector */
        26: .line 497
            aload 6 /* selector */
            aload 11 /* signingCert */
            invokevirtual org.bouncycastle.x509.X509CertStoreSelector.setCertificate:(Ljava/security/cert/X509Certificate;)V
        27: .line 498
            aload 4 /* paramsPKIX */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.clone:()Ljava/lang/Object;
            checkcast org.bouncycastle.x509.ExtendedPKIXParameters
            astore 13 /* temp */
        start local 13 // org.bouncycastle.x509.ExtendedPKIXParameters temp
        28: .line 499
            aload 13 /* temp */
            aload 6 /* selector */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.setTargetCertConstraints:(Ljava/security/cert/CertSelector;)V
        29: .line 501
            aload 13 /* temp */
            invokestatic org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getInstance:(Ljava/security/cert/PKIXParameters;)Lorg/bouncycastle/x509/ExtendedPKIXParameters;
        30: .line 500
            checkcast org.bouncycastle.x509.ExtendedPKIXBuilderParameters
            astore 14 /* params */
        start local 14 // org.bouncycastle.x509.ExtendedPKIXBuilderParameters params
        31: .line 511
            aload 5 /* certPathCerts */
            aload 11 /* signingCert */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 34
        32: .line 513
            aload 14 /* params */
            iconst_0
            invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.setRevocationEnabled:(Z)V
        33: .line 514
            goto 35
        34: .line 517
      StackMap locals: java.security.cert.CertPathBuilder org.bouncycastle.x509.ExtendedPKIXParameters org.bouncycastle.x509.ExtendedPKIXBuilderParameters
      StackMap stack:
            aload 14 /* params */
            iconst_1
            invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.setRevocationEnabled:(Z)V
        35: .line 519
      StackMap locals:
      StackMap stack:
            aload 12 /* builder */
            aload 14 /* params */
            invokevirtual java.security.cert.CertPathBuilder.build:(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
            invokeinterface java.security.cert.CertPathBuilderResult.getCertPath:()Ljava/security/cert/CertPath;
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 15 /* certs */
        start local 15 // java.util.List certs
        36: .line 520
            aload 9 /* validCerts */
            aload 11 /* signingCert */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        37: .line 521
            aload 10 /* validKeys */
            aload 15 /* certs */
            iconst_0
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getNextWorkingKey:(Ljava/util/List;I)Ljava/security/PublicKey;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // java.util.List certs
        end local 14 // org.bouncycastle.x509.ExtendedPKIXBuilderParameters params
        end local 13 // org.bouncycastle.x509.ExtendedPKIXParameters temp
        end local 12 // java.security.cert.CertPathBuilder builder
        38: .line 522
            goto 45
        39: .line 523
      StackMap locals: java.security.cert.X509CRL java.lang.Object java.security.cert.X509Certificate java.security.PublicKey org.bouncycastle.x509.ExtendedPKIXParameters java.util.List org.bouncycastle.x509.X509CertStoreSelector java.util.Collection java.util.Iterator java.util.List java.util.List java.security.cert.X509Certificate
      StackMap stack: java.security.cert.CertPathBuilderException
            astore 12 /* e */
        start local 12 // java.security.cert.CertPathBuilderException e
        40: .line 525
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Internal error."
            aload 12 /* e */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 12 // java.security.cert.CertPathBuilderException e
        41: .line 527
      StackMap locals:
      StackMap stack: java.security.cert.CertPathValidatorException
            astore 12 /* e */
        start local 12 // java.security.cert.CertPathValidatorException e
        42: .line 529
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Public key of issuer certificate of CRL could not be retrieved."
            aload 12 /* e */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 12 // java.security.cert.CertPathValidatorException e
        43: .line 531
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 12 /* e */
        start local 12 // java.lang.Exception e
        44: .line 533
            new java.lang.RuntimeException
            dup
            aload 12 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // java.lang.Exception e
        end local 11 // java.security.cert.X509Certificate signingCert
        45: .line 479
      StackMap locals:
      StackMap stack:
            aload 8 /* cert_it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        46: .line 537
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 11 /* checkKeys */
        start local 11 // java.util.Set checkKeys
        47: .line 539
            aconst_null
            astore 12 /* lastException */
        start local 12 // org.bouncycastle.jce.provider.AnnotatedException lastException
        48: .line 540
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        49: goto 59
        50: .line 542
      StackMap locals: java.util.Set org.bouncycastle.jce.provider.AnnotatedException int
      StackMap stack:
            aload 9 /* validCerts */
            iload 13 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 14 /* signCert */
        start local 14 // java.security.cert.X509Certificate signCert
        51: .line 543
            aload 14 /* signCert */
            invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
            astore 15 /* keyusage */
        start local 15 // boolean[] keyusage
        52: .line 545
            aload 15 /* keyusage */
            ifnull 57
            aload 15 /* keyusage */
            arraylength
            bipush 7
            if_icmplt 53
            aload 15 /* keyusage */
            bipush 6
            baload
            ifne 57
        53: .line 547
      StackMap locals: java.security.cert.X509Certificate boolean[]
      StackMap stack:
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
        54: .line 548
            ldc "Issuer certificate key usage extension does not permit CRL signing."
        55: .line 547
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            astore 12 /* lastException */
        56: .line 549
            goto 58
        57: .line 552
      StackMap locals:
      StackMap stack:
            aload 11 /* checkKeys */
            aload 10 /* validKeys */
            iload 13 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // boolean[] keyusage
        end local 14 // java.security.cert.X509Certificate signCert
        58: .line 540
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        59: iload 13 /* i */
            aload 9 /* validCerts */
            invokeinterface java.util.List.size:()I
            if_icmplt 50
        end local 13 // int i
        60: .line 556
            aload 11 /* checkKeys */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 62
            aload 12 /* lastException */
            ifnonnull 62
        61: .line 558
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Cannot find a valid issuer certificate."
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        62: .line 560
      StackMap locals:
      StackMap stack:
            aload 11 /* checkKeys */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 64
            aload 12 /* lastException */
            ifnull 64
        63: .line 562
            aload 12 /* lastException */
            athrow
        64: .line 565
      StackMap locals:
      StackMap stack:
            aload 11 /* checkKeys */
            areturn
        end local 12 // org.bouncycastle.jce.provider.AnnotatedException lastException
        end local 11 // java.util.Set checkKeys
        end local 10 // java.util.List validKeys
        end local 9 // java.util.List validCerts
        end local 8 // java.util.Iterator cert_it
        end local 7 // java.util.Collection coll
        end local 6 // org.bouncycastle.x509.X509CertStoreSelector selector
        end local 5 // java.util.List certPathCerts
        end local 4 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
        end local 3 // java.security.PublicKey defaultCRLSignKey
        end local 2 // java.security.cert.X509Certificate defaultCRLSignCert
        end local 1 // java.lang.Object cert
        end local 0 // java.security.cert.X509CRL crl
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   65     0                 crl  Ljava/security/cert/X509CRL;
            0   65     1                cert  Ljava/lang/Object;
            0   65     2  defaultCRLSignCert  Ljava/security/cert/X509Certificate;
            0   65     3   defaultCRLSignKey  Ljava/security/PublicKey;
            0   65     4          paramsPKIX  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
            0   65     5       certPathCerts  Ljava/util/List;
            1   65     6            selector  Lorg/bouncycastle/x509/X509CertStoreSelector;
            2    3     7     issuerPrincipal  [B
            5    8     7                   e  Ljava/io/IOException;
            9   12     7                coll  Ljava/util/Collection;
           14   65     7                coll  Ljava/util/Collection;
           13   14     8                   e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           16   65     8             cert_it  Ljava/util/Iterator;
           17   65     9          validCerts  Ljava/util/List;
           18   65    10           validKeys  Ljava/util/List;
           20   45    11         signingCert  Ljava/security/cert/X509Certificate;
           25   38    12             builder  Ljava/security/cert/CertPathBuilder;
           28   38    13                temp  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
           31   38    14              params  Lorg/bouncycastle/x509/ExtendedPKIXBuilderParameters;
           36   38    15               certs  Ljava/util/List;
           40   41    12                   e  Ljava/security/cert/CertPathBuilderException;
           42   43    12                   e  Ljava/security/cert/CertPathValidatorException;
           44   45    12                   e  Ljava/lang/Exception;
           47   65    11           checkKeys  Ljava/util/Set;
           48   65    12       lastException  Lorg/bouncycastle/jce/provider/AnnotatedException;
           49   60    13                   i  I
           51   58    14            signCert  Ljava/security/cert/X509Certificate;
           52   58    15            keyusage  [Z
      Exception table:
        from    to  target  type
           1     3       4  Class java.io.IOException
           8    11      12  Class org.bouncycastle.jce.provider.AnnotatedException
          24    38      39  Class java.security.cert.CertPathBuilderException
          24    38      41  Class java.security.cert.CertPathValidatorException
          24    38      43  Class java.lang.Exception
    Exceptions:
      throws org.bouncycastle.jce.provider.AnnotatedException
    MethodParameters:
                    Name  Flags
      crl                 
      cert                
      defaultCRLSignCert  
      defaultCRLSignKey   
      paramsPKIX          
      certPathCerts       

  protected static java.security.PublicKey processCRLG(java.security.cert.X509CRL, java.util.Set);
    descriptor: (Ljava/security/cert/X509CRL;Ljava/util/Set;)Ljava/security/PublicKey;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.security.cert.X509CRL crl
        start local 1 // java.util.Set keys
         0: .line 573
            aconst_null
            astore 2 /* lastException */
        start local 2 // java.lang.Exception lastException
         1: .line 574
            aload 1 /* keys */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         2: goto 9
         3: .line 576
      StackMap locals: java.lang.Exception java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.PublicKey
            astore 4 /* key */
        start local 4 // java.security.PublicKey key
         4: .line 579
            aload 0 /* crl */
            aload 4 /* key */
            invokevirtual java.security.cert.X509CRL.verify:(Ljava/security/PublicKey;)V
         5: .line 580
            aload 4 /* key */
         6: areturn
         7: .line 582
      StackMap locals: java.security.cert.X509CRL java.util.Set java.lang.Exception java.util.Iterator java.security.PublicKey
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
         8: .line 584
            aload 5 /* e */
            astore 2 /* lastException */
        end local 5 // java.lang.Exception e
        end local 4 // java.security.PublicKey key
         9: .line 574
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // java.util.Iterator it
        10: .line 587
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Cannot verify CRL."
            aload 2 /* lastException */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Exception lastException
        end local 1 // java.util.Set keys
        end local 0 // java.security.cert.X509CRL crl
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0            crl  Ljava/security/cert/X509CRL;
            0   11     1           keys  Ljava/util/Set;
            1   11     2  lastException  Ljava/lang/Exception;
            2   10     3             it  Ljava/util/Iterator;
            4    9     4            key  Ljava/security/PublicKey;
            8    9     5              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4     6       7  Class java.lang.Exception
    Exceptions:
      throws org.bouncycastle.jce.provider.AnnotatedException
    MethodParameters:
      Name  Flags
      crl   
      keys  

  protected static java.security.cert.X509CRL processCRLH(java.util.Set, java.security.PublicKey);
    descriptor: (Ljava/util/Set;Ljava/security/PublicKey;)Ljava/security/cert/X509CRL;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.util.Set deltacrls
        start local 1 // java.security.PublicKey key
         0: .line 595
            aconst_null
            astore 2 /* lastException */
        start local 2 // java.lang.Exception lastException
         1: .line 597
            aload 0 /* deltacrls */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         2: goto 9
         3: .line 599
      StackMap locals: java.lang.Exception java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.X509CRL
            astore 4 /* crl */
        start local 4 // java.security.cert.X509CRL crl
         4: .line 602
            aload 4 /* crl */
            aload 1 /* key */
            invokevirtual java.security.cert.X509CRL.verify:(Ljava/security/PublicKey;)V
         5: .line 603
            aload 4 /* crl */
         6: areturn
         7: .line 605
      StackMap locals: java.util.Set java.security.PublicKey java.lang.Exception java.util.Iterator java.security.cert.X509CRL
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
         8: .line 607
            aload 5 /* e */
            astore 2 /* lastException */
        end local 5 // java.lang.Exception e
        end local 4 // java.security.cert.X509CRL crl
         9: .line 597
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // java.util.Iterator it
        10: .line 611
            aload 2 /* lastException */
            ifnull 12
        11: .line 613
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Cannot verify delta CRL."
            aload 2 /* lastException */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        12: .line 615
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Exception lastException
        end local 1 // java.security.PublicKey key
        end local 0 // java.util.Set deltacrls
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0      deltacrls  Ljava/util/Set;
            0   13     1            key  Ljava/security/PublicKey;
            1   13     2  lastException  Ljava/lang/Exception;
            2   10     3             it  Ljava/util/Iterator;
            4    9     4            crl  Ljava/security/cert/X509CRL;
            8    9     5              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4     6       7  Class java.lang.Exception
    Exceptions:
      throws org.bouncycastle.jce.provider.AnnotatedException
    MethodParameters:
           Name  Flags
      deltacrls  
      key        

  protected static java.util.Set processCRLA1i(java.util.Date, org.bouncycastle.x509.ExtendedPKIXParameters, java.security.cert.X509Certificate, java.security.cert.X509CRL);
    descriptor: (Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509Certificate;Ljava/security/cert/X509CRL;)Ljava/util/Set;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // java.util.Date currentDate
        start local 1 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
        start local 2 // java.security.cert.X509Certificate cert
        start local 3 // java.security.cert.X509CRL crl
         0: .line 625
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* set */
        start local 4 // java.util.Set set
         1: .line 626
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isUseDeltasEnabled:()Z
            ifeq 26
         2: .line 628
            aconst_null
            astore 5 /* freshestCRL */
        start local 5 // org.bouncycastle.asn1.x509.CRLDistPoint freshestCRL
         3: .line 632
            aload 2 /* cert */
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.FRESHEST_CRL:Ljava/lang/String;
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.x509.CRLDistPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/CRLDistPoint;
         4: .line 631
            astore 5 /* freshestCRL */
         5: .line 633
            goto 8
         6: .line 634
      StackMap locals: java.util.Date org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.security.cert.X509CRL java.util.Set org.bouncycastle.asn1.x509.CRLDistPoint
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 6 /* e */
        start local 6 // org.bouncycastle.jce.provider.AnnotatedException e
         7: .line 636
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Freshest CRL extension could not be decoded from certificate."
            aload 6 /* e */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // org.bouncycastle.jce.provider.AnnotatedException e
         8: .line 638
      StackMap locals:
      StackMap stack:
            aload 5 /* freshestCRL */
            ifnonnull 15
         9: .line 642
            aload 3 /* crl */
        10: .line 643
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.FRESHEST_CRL:Ljava/lang/String;
        11: .line 642
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.x509.CRLDistPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/CRLDistPoint;
            astore 5 /* freshestCRL */
        12: .line 644
            goto 15
        13: .line 645
      StackMap locals:
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 6 /* e */
        start local 6 // org.bouncycastle.jce.provider.AnnotatedException e
        14: .line 647
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Freshest CRL extension could not be decoded from CRL."
            aload 6 /* e */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // org.bouncycastle.jce.provider.AnnotatedException e
        15: .line 650
      StackMap locals:
      StackMap stack:
            aload 5 /* freshestCRL */
            ifnull 26
        16: .line 654
            aload 5 /* freshestCRL */
            aload 1 /* paramsPKIX */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.addAdditionalStoresFromCRLDistributionPoint:(Lorg/bouncycastle/asn1/x509/CRLDistPoint;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
        17: .line 655
            goto 22
        18: .line 656
      StackMap locals:
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 6 /* e */
        start local 6 // org.bouncycastle.jce.provider.AnnotatedException e
        19: .line 658
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
        20: .line 659
            ldc "No new delta CRL locations could be added from Freshest CRL extension."
            aload 6 /* e */
        21: .line 658
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // org.bouncycastle.jce.provider.AnnotatedException e
        22: .line 664
      StackMap locals:
      StackMap stack:
            aload 4 /* set */
            aload 0 /* currentDate */
            aload 1 /* paramsPKIX */
            aload 3 /* crl */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getDeltaCRLs:(Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509CRL;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        23: .line 665
            goto 26
        24: .line 666
      StackMap locals:
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 6 /* e */
        start local 6 // org.bouncycastle.jce.provider.AnnotatedException e
        25: .line 668
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Exception obtaining delta CRLs."
            aload 6 /* e */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // org.bouncycastle.jce.provider.AnnotatedException e
        end local 5 // org.bouncycastle.asn1.x509.CRLDistPoint freshestCRL
        26: .line 672
      StackMap locals:
      StackMap stack:
            aload 4 /* set */
            areturn
        end local 4 // java.util.Set set
        end local 3 // java.security.cert.X509CRL crl
        end local 2 // java.security.cert.X509Certificate cert
        end local 1 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
        end local 0 // java.util.Date currentDate
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   27     0  currentDate  Ljava/util/Date;
            0   27     1   paramsPKIX  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
            0   27     2         cert  Ljava/security/cert/X509Certificate;
            0   27     3          crl  Ljava/security/cert/X509CRL;
            1   27     4          set  Ljava/util/Set;
            3   26     5  freshestCRL  Lorg/bouncycastle/asn1/x509/CRLDistPoint;
            7    8     6            e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           14   15     6            e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           19   22     6            e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           25   26     6            e  Lorg/bouncycastle/jce/provider/AnnotatedException;
      Exception table:
        from    to  target  type
           3     5       6  Class org.bouncycastle.jce.provider.AnnotatedException
           9    12      13  Class org.bouncycastle.jce.provider.AnnotatedException
          16    17      18  Class org.bouncycastle.jce.provider.AnnotatedException
          22    23      24  Class org.bouncycastle.jce.provider.AnnotatedException
    Exceptions:
      throws org.bouncycastle.jce.provider.AnnotatedException
    MethodParameters:
             Name  Flags
      currentDate  
      paramsPKIX   
      cert         
      crl          

  protected static java.util.Set[] processCRLA1ii(java.util.Date, org.bouncycastle.x509.ExtendedPKIXParameters, java.security.cert.X509Certificate, java.security.cert.X509CRL);
    descriptor: (Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509Certificate;Ljava/security/cert/X509CRL;)[Ljava/util/Set;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // java.util.Date currentDate
        start local 1 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
        start local 2 // java.security.cert.X509Certificate cert
        start local 3 // java.security.cert.X509CRL crl
         0: .line 682
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* deltaSet */
        start local 4 // java.util.Set deltaSet
         1: .line 683
            new org.bouncycastle.x509.X509CRLStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509CRLStoreSelector.<init>:()V
            astore 5 /* crlselect */
        start local 5 // org.bouncycastle.x509.X509CRLStoreSelector crlselect
         2: .line 684
            aload 5 /* crlselect */
            aload 2 /* cert */
            invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.setCertificateChecking:(Ljava/security/cert/X509Certificate;)V
         3: .line 688
            aload 5 /* crlselect */
            aload 3 /* crl */
            invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
            invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.addIssuerName:([B)V
         4: .line 689
            goto 7
         5: .line 690
      StackMap locals: java.util.Date org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.security.cert.X509CRL java.util.Set org.bouncycastle.x509.X509CRLStoreSelector
      StackMap stack: java.io.IOException
            astore 6 /* e */
        start local 6 // java.io.IOException e
         6: .line 692
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot extract issuer from CRL."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* e */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException e
         7: .line 695
      StackMap locals:
      StackMap stack:
            aload 5 /* crlselect */
            iconst_1
            invokevirtual org.bouncycastle.x509.X509CRLStoreSelector.setCompleteCRLEnabled:(Z)V
         8: .line 696
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CRL_UTIL:Lorg/bouncycastle/jce/provider/PKIXCRLUtil;
            aload 5 /* crlselect */
            aload 1 /* paramsPKIX */
            aload 0 /* currentDate */
            invokevirtual org.bouncycastle.jce.provider.PKIXCRLUtil.findCRLs:(Lorg/bouncycastle/x509/X509CRLStoreSelector;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/util/Date;)Ljava/util/Set;
            astore 6 /* completeSet */
        start local 6 // java.util.Set completeSet
         9: .line 698
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isUseDeltasEnabled:()Z
            ifeq 14
        10: .line 703
            aload 4 /* deltaSet */
            aload 0 /* currentDate */
            aload 1 /* paramsPKIX */
            aload 3 /* crl */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getDeltaCRLs:(Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509CRL;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        11: .line 704
            goto 14
        12: .line 705
      StackMap locals: java.util.Date org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.security.cert.X509CRL java.util.Set org.bouncycastle.x509.X509CRLStoreSelector java.util.Set
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 7 /* e */
        start local 7 // org.bouncycastle.jce.provider.AnnotatedException e
        13: .line 707
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Exception obtaining delta CRLs."
            aload 7 /* e */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // org.bouncycastle.jce.provider.AnnotatedException e
        14: .line 711
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray java.util.Set
            dup
            iconst_0
        15: .line 712
            aload 6 /* completeSet */
            aastore
            dup
            iconst_1
        16: .line 713
            aload 4 /* deltaSet */
            aastore
        17: .line 710
            areturn
        end local 6 // java.util.Set completeSet
        end local 5 // org.bouncycastle.x509.X509CRLStoreSelector crlselect
        end local 4 // java.util.Set deltaSet
        end local 3 // java.security.cert.X509CRL crl
        end local 2 // java.security.cert.X509Certificate cert
        end local 1 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
        end local 0 // java.util.Date currentDate
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0  currentDate  Ljava/util/Date;
            0   18     1   paramsPKIX  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
            0   18     2         cert  Ljava/security/cert/X509Certificate;
            0   18     3          crl  Ljava/security/cert/X509CRL;
            1   18     4     deltaSet  Ljava/util/Set;
            2   18     5    crlselect  Lorg/bouncycastle/x509/X509CRLStoreSelector;
            6    7     6            e  Ljava/io/IOException;
            9   18     6  completeSet  Ljava/util/Set;
           13   14     7            e  Lorg/bouncycastle/jce/provider/AnnotatedException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
          10    11      12  Class org.bouncycastle.jce.provider.AnnotatedException
    Exceptions:
      throws org.bouncycastle.jce.provider.AnnotatedException
    MethodParameters:
             Name  Flags
      currentDate  
      paramsPKIX   
      cert         
      crl          

  protected static void processCRLC(java.security.cert.X509CRL, java.security.cert.X509CRL, org.bouncycastle.x509.ExtendedPKIXParameters);
    descriptor: (Ljava/security/cert/X509CRL;Ljava/security/cert/X509CRL;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // java.security.cert.X509CRL deltaCRL
        start local 1 // java.security.cert.X509CRL completeCRL
        start local 2 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
         0: .line 732
            aload 0 /* deltaCRL */
            ifnonnull 2
         1: .line 734
            return
         2: .line 736
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* completeidp */
        start local 3 // org.bouncycastle.asn1.x509.IssuingDistributionPoint completeidp
         3: .line 740
            aload 1 /* completeCRL */
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
         4: .line 739
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            astore 3 /* completeidp */
         5: .line 741
            goto 8
         6: .line 742
      StackMap locals: java.security.cert.X509CRL java.security.cert.X509CRL org.bouncycastle.x509.ExtendedPKIXParameters org.bouncycastle.asn1.x509.IssuingDistributionPoint
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
         7: .line 744
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Issuing distribution point extension could not be decoded."
            aload 4 /* e */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception e
         8: .line 747
      StackMap locals:
      StackMap stack:
            aload 2 /* pkixParams */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isUseDeltasEnabled:()Z
            ifeq 54
         9: .line 750
            aload 0 /* deltaCRL */
            invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            aload 1 /* completeCRL */
            invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 752
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Complete CRL issuer does not match delta CRL issuer."
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 756
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* deltaidp */
        start local 4 // org.bouncycastle.asn1.x509.IssuingDistributionPoint deltaidp
        12: .line 760
            aload 0 /* deltaCRL */
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
        13: .line 759
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            astore 4 /* deltaidp */
        14: .line 761
            goto 19
        15: .line 762
      StackMap locals: java.security.cert.X509CRL java.security.cert.X509CRL org.bouncycastle.x509.ExtendedPKIXParameters org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.IssuingDistributionPoint
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        16: .line 764
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
        17: .line 765
            ldc "Issuing distribution point extension from delta CRL could not be decoded."
            aload 5 /* e */
        18: .line 764
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Exception e
        19: .line 768
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* match */
        start local 5 // boolean match
        20: .line 769
            aload 3 /* completeidp */
            ifnonnull 24
        21: .line 771
            aload 4 /* deltaidp */
            ifnonnull 26
        22: .line 773
            iconst_1
            istore 5 /* match */
        23: .line 775
            goto 26
        24: .line 778
      StackMap locals: int
      StackMap stack:
            aload 3 /* completeidp */
            aload 4 /* deltaidp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.equals:(Ljava/lang/Object;)Z
            ifeq 26
        25: .line 780
            iconst_1
            istore 5 /* match */
        26: .line 783
      StackMap locals:
      StackMap stack:
            iload 5 /* match */
            ifne 30
        27: .line 785
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
        28: .line 786
            ldc "Issuing distribution point extension from delta CRL and complete CRL does not match."
        29: .line 785
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 790
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* completeKeyIdentifier */
        start local 6 // org.bouncycastle.asn1.DERObject completeKeyIdentifier
        31: .line 794
            aload 1 /* completeCRL */
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.AUTHORITY_KEY_IDENTIFIER:Ljava/lang/String;
        32: .line 793
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            astore 6 /* completeKeyIdentifier */
        33: .line 795
            goto 38
        34: .line 796
      StackMap locals: java.security.cert.X509CRL java.security.cert.X509CRL org.bouncycastle.x509.ExtendedPKIXParameters org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.IssuingDistributionPoint int org.bouncycastle.asn1.DERObject
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 7 /* e */
        start local 7 // org.bouncycastle.jce.provider.AnnotatedException e
        35: .line 798
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
        36: .line 799
            ldc "Authority key identifier extension could not be extracted from complete CRL."
            aload 7 /* e */
        37: .line 798
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // org.bouncycastle.jce.provider.AnnotatedException e
        38: .line 802
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* deltaKeyIdentifier */
        start local 7 // org.bouncycastle.asn1.DERObject deltaKeyIdentifier
        39: .line 806
            aload 0 /* deltaCRL */
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.AUTHORITY_KEY_IDENTIFIER:Ljava/lang/String;
        40: .line 805
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            astore 7 /* deltaKeyIdentifier */
        41: .line 807
            goto 46
        42: .line 808
      StackMap locals: java.security.cert.X509CRL java.security.cert.X509CRL org.bouncycastle.x509.ExtendedPKIXParameters org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.IssuingDistributionPoint int org.bouncycastle.asn1.DERObject org.bouncycastle.asn1.DERObject
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 8 /* e */
        start local 8 // org.bouncycastle.jce.provider.AnnotatedException e
        43: .line 810
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
        44: .line 811
            ldc "Authority key identifier extension could not be extracted from delta CRL."
            aload 8 /* e */
        45: .line 810
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // org.bouncycastle.jce.provider.AnnotatedException e
        46: .line 814
      StackMap locals:
      StackMap stack:
            aload 6 /* completeKeyIdentifier */
            ifnonnull 48
        47: .line 816
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "CRL authority key identifier is null."
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        48: .line 819
      StackMap locals:
      StackMap stack:
            aload 7 /* deltaKeyIdentifier */
            ifnonnull 50
        49: .line 821
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Delta CRL authority key identifier is null."
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        50: .line 824
      StackMap locals:
      StackMap stack:
            aload 6 /* completeKeyIdentifier */
            aload 7 /* deltaKeyIdentifier */
            invokevirtual org.bouncycastle.asn1.DERObject.equals:(Ljava/lang/Object;)Z
            ifne 54
        51: .line 826
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
        52: .line 827
            ldc "Delta CRL authority key identifier does not match complete CRL authority key identifier."
        53: .line 826
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // org.bouncycastle.asn1.DERObject deltaKeyIdentifier
        end local 6 // org.bouncycastle.asn1.DERObject completeKeyIdentifier
        end local 5 // boolean match
        end local 4 // org.bouncycastle.asn1.x509.IssuingDistributionPoint deltaidp
        54: .line 830
      StackMap locals: java.security.cert.X509CRL java.security.cert.X509CRL org.bouncycastle.x509.ExtendedPKIXParameters org.bouncycastle.asn1.x509.IssuingDistributionPoint
      StackMap stack:
            return
        end local 3 // org.bouncycastle.asn1.x509.IssuingDistributionPoint completeidp
        end local 2 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
        end local 1 // java.security.cert.X509CRL completeCRL
        end local 0 // java.security.cert.X509CRL deltaCRL
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   55     0               deltaCRL  Ljava/security/cert/X509CRL;
            0   55     1            completeCRL  Ljava/security/cert/X509CRL;
            0   55     2             pkixParams  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
            3   55     3            completeidp  Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            7    8     4                      e  Ljava/lang/Exception;
           12   54     4               deltaidp  Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
           16   19     5                      e  Ljava/lang/Exception;
           20   54     5                  match  Z
           31   54     6  completeKeyIdentifier  Lorg/bouncycastle/asn1/DERObject;
           35   38     7                      e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           39   54     7     deltaKeyIdentifier  Lorg/bouncycastle/asn1/DERObject;
           43   46     8                      e  Lorg/bouncycastle/jce/provider/AnnotatedException;
      Exception table:
        from    to  target  type
           3     5       6  Class java.lang.Exception
          12    14      15  Class java.lang.Exception
          31    33      34  Class org.bouncycastle.jce.provider.AnnotatedException
          39    41      42  Class org.bouncycastle.jce.provider.AnnotatedException
    Exceptions:
      throws org.bouncycastle.jce.provider.AnnotatedException
    MethodParameters:
             Name  Flags
      deltaCRL     
      completeCRL  
      pkixParams   

  protected static void processCRLI(java.util.Date, java.security.cert.X509CRL, java.lang.Object, org.bouncycastle.jce.provider.CertStatus, org.bouncycastle.x509.ExtendedPKIXParameters);
    descriptor: (Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // java.util.Date validDate
        start local 1 // java.security.cert.X509CRL deltacrl
        start local 2 // java.lang.Object cert
        start local 3 // org.bouncycastle.jce.provider.CertStatus certStatus
        start local 4 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
         0: .line 840
            aload 4 /* pkixParams */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isUseDeltasEnabled:()Z
            ifeq 2
            aload 1 /* deltacrl */
            ifnull 2
         1: .line 842
            aload 0 /* validDate */
            aload 1 /* deltacrl */
            aload 2 /* cert */
            aload 3 /* certStatus */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getCertStatus:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/jce/provider/CertStatus;)V
         2: .line 844
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
        end local 3 // org.bouncycastle.jce.provider.CertStatus certStatus
        end local 2 // java.lang.Object cert
        end local 1 // java.security.cert.X509CRL deltacrl
        end local 0 // java.util.Date validDate
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0   validDate  Ljava/util/Date;
            0    3     1    deltacrl  Ljava/security/cert/X509CRL;
            0    3     2        cert  Ljava/lang/Object;
            0    3     3  certStatus  Lorg/bouncycastle/jce/provider/CertStatus;
            0    3     4  pkixParams  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
    Exceptions:
      throws org.bouncycastle.jce.provider.AnnotatedException
    MethodParameters:
            Name  Flags
      validDate   
      deltacrl    
      cert        
      certStatus  
      pkixParams  

  protected static void processCRLJ(java.util.Date, java.security.cert.X509CRL, java.lang.Object, org.bouncycastle.jce.provider.CertStatus);
    descriptor: (Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/jce/provider/CertStatus;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.util.Date validDate
        start local 1 // java.security.cert.X509CRL completecrl
        start local 2 // java.lang.Object cert
        start local 3 // org.bouncycastle.jce.provider.CertStatus certStatus
         0: .line 853
            aload 3 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
            bipush 11
            if_icmpne 2
         1: .line 855
            aload 0 /* validDate */
            aload 1 /* completecrl */
            aload 2 /* cert */
            aload 3 /* certStatus */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getCertStatus:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/jce/provider/CertStatus;)V
         2: .line 857
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.bouncycastle.jce.provider.CertStatus certStatus
        end local 2 // java.lang.Object cert
        end local 1 // java.security.cert.X509CRL completecrl
        end local 0 // java.util.Date validDate
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0    validDate  Ljava/util/Date;
            0    3     1  completecrl  Ljava/security/cert/X509CRL;
            0    3     2         cert  Ljava/lang/Object;
            0    3     3   certStatus  Lorg/bouncycastle/jce/provider/CertStatus;
    Exceptions:
      throws org.bouncycastle.jce.provider.AnnotatedException
    MethodParameters:
             Name  Flags
      validDate    
      completecrl  
      cert         
      certStatus   

  protected static org.bouncycastle.jce.provider.PKIXPolicyNode prepareCertB(java.security.cert.CertPath, int, java.util.List[], org.bouncycastle.jce.provider.PKIXPolicyNode, int);
    descriptor: (Ljava/security/cert/CertPath;I[Ljava/util/List;Lorg/bouncycastle/jce/provider/PKIXPolicyNode;I)Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=9, locals=25, args_size=5
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
        start local 2 // java.util.List[] policyNodes
        start local 3 // org.bouncycastle.jce.provider.PKIXPolicyNode validPolicyTree
        start local 4 // int policyMapping
         0: .line 867
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 5 /* certs */
        start local 5 // java.util.List certs
         1: .line 868
            aload 5 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 6 /* cert */
        start local 6 // java.security.cert.X509Certificate cert
         2: .line 869
            aload 5 /* certs */
            invokeinterface java.util.List.size:()I
            istore 7 /* n */
        start local 7 // int n
         3: .line 871
            iload 7 /* n */
            iload 1 /* index */
            isub
            istore 8 /* i */
        start local 8 // int i
         4: .line 874
            aconst_null
            astore 9 /* pm */
        start local 9 // org.bouncycastle.asn1.ASN1Sequence pm
         5: .line 877
            aload 6 /* cert */
         6: .line 878
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.POLICY_MAPPINGS:Ljava/lang/String;
         7: .line 877
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.DERSequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            astore 9 /* pm */
         8: .line 879
            goto 13
         9: .line 880
      StackMap locals: java.security.cert.CertPath int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 10 /* ex */
        start local 10 // org.bouncycastle.jce.provider.AnnotatedException ex
        10: .line 882
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Policy mappings extension could not be decoded."
            aload 10 /* ex */
            aload 0 /* certPath */
        11: .line 883
            iload 1 /* index */
        12: .line 882
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 10 // org.bouncycastle.jce.provider.AnnotatedException ex
        13: .line 885
      StackMap locals:
      StackMap stack:
            aload 3 /* validPolicyTree */
            astore 10 /* _validPolicyTree */
        start local 10 // org.bouncycastle.jce.provider.PKIXPolicyNode _validPolicyTree
        14: .line 886
            aload 9 /* pm */
            ifnull 120
        15: .line 888
            aload 9 /* pm */
            astore 11 /* mappings */
        start local 11 // org.bouncycastle.asn1.ASN1Sequence mappings
        16: .line 889
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 12 /* m_idp */
        start local 12 // java.util.Map m_idp
        17: .line 890
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 13 /* s_idp */
        start local 13 // java.util.Set s_idp
        18: .line 892
            iconst_0
            istore 14 /* j */
        start local 14 // int j
        19: goto 32
        20: .line 894
      StackMap locals: java.security.cert.CertPath int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.jce.provider.PKIXPolicyNode org.bouncycastle.asn1.ASN1Sequence java.util.Map java.util.Set int
      StackMap stack:
            aload 11 /* mappings */
            iload 14 /* j */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            checkcast org.bouncycastle.asn1.ASN1Sequence
            astore 15 /* mapping */
        start local 15 // org.bouncycastle.asn1.ASN1Sequence mapping
        21: .line 895
            aload 15 /* mapping */
            iconst_0
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            checkcast org.bouncycastle.asn1.DERObjectIdentifier
            invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
            astore 16 /* id_p */
        start local 16 // java.lang.String id_p
        22: .line 896
            aload 15 /* mapping */
            iconst_1
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            checkcast org.bouncycastle.asn1.DERObjectIdentifier
            invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
            astore 17 /* sd_p */
        start local 17 // java.lang.String sd_p
        23: .line 899
            aload 12 /* m_idp */
            aload 16 /* id_p */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 29
        24: .line 901
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 18 /* tmp */
        start local 18 // java.util.Set tmp
        25: .line 902
            aload 18 /* tmp */
            aload 17 /* sd_p */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        26: .line 903
            aload 12 /* m_idp */
            aload 16 /* id_p */
            aload 18 /* tmp */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 904
            aload 13 /* s_idp */
            aload 16 /* id_p */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        28: .line 905
            goto 31
        end local 18 // java.util.Set tmp
        29: .line 908
      StackMap locals: org.bouncycastle.asn1.ASN1Sequence java.lang.String java.lang.String
      StackMap stack:
            aload 12 /* m_idp */
            aload 16 /* id_p */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 18 /* tmp */
        start local 18 // java.util.Set tmp
        30: .line 909
            aload 18 /* tmp */
            aload 17 /* sd_p */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 18 // java.util.Set tmp
        end local 17 // java.lang.String sd_p
        end local 16 // java.lang.String id_p
        end local 15 // org.bouncycastle.asn1.ASN1Sequence mapping
        31: .line 892
      StackMap locals:
      StackMap stack:
            iinc 14 /* j */ 1
      StackMap locals:
      StackMap stack:
        32: iload 14 /* j */
            aload 11 /* mappings */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
            if_icmplt 20
        end local 14 // int j
        33: .line 913
            aload 13 /* s_idp */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 14 /* it_idp */
        start local 14 // java.util.Iterator it_idp
        34: .line 914
            goto 119
        35: .line 916
      StackMap locals: java.security.cert.CertPath int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.jce.provider.PKIXPolicyNode org.bouncycastle.asn1.ASN1Sequence java.util.Map java.util.Set java.util.Iterator
      StackMap stack:
            aload 14 /* it_idp */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 15 /* id_p */
        start local 15 // java.lang.String id_p
        36: .line 921
            iload 4 /* policyMapping */
            ifle 95
        37: .line 923
            iconst_0
            istore 16 /* idp_found */
        start local 16 // boolean idp_found
        38: .line 924
            aload 2 /* policyNodes */
            iload 8 /* i */
            aaload
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 17 /* nodes_i */
        start local 17 // java.util.Iterator nodes_i
        39: .line 925
            goto 45
        40: .line 927
      StackMap locals: java.lang.String int java.util.Iterator
      StackMap stack:
            aload 17 /* nodes_i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
            astore 18 /* node */
        start local 18 // org.bouncycastle.jce.provider.PKIXPolicyNode node
        41: .line 928
            aload 18 /* node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
            aload 15 /* id_p */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 45
        42: .line 930
            iconst_1
            istore 16 /* idp_found */
        43: .line 931
            aload 18 /* node */
            aload 12 /* m_idp */
            aload 15 /* id_p */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            putfield org.bouncycastle.jce.provider.PKIXPolicyNode.expectedPolicies:Ljava/util/Set;
        44: .line 932
            goto 46
        end local 18 // org.bouncycastle.jce.provider.PKIXPolicyNode node
        45: .line 925
      StackMap locals:
      StackMap stack:
            aload 17 /* nodes_i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 40
        46: .line 936
      StackMap locals:
      StackMap stack:
            iload 16 /* idp_found */
            ifne 119
        47: .line 938
            aload 2 /* policyNodes */
            iload 8 /* i */
            aaload
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 17 /* nodes_i */
        48: .line 939
            goto 93
        49: .line 941
      StackMap locals:
      StackMap stack:
            aload 17 /* nodes_i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
            astore 18 /* node */
        start local 18 // org.bouncycastle.jce.provider.PKIXPolicyNode node
        50: .line 942
            ldc "2.5.29.32.0"
            aload 18 /* node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 93
        51: .line 944
            aconst_null
            astore 19 /* pq */
        start local 19 // java.util.Set pq
        52: .line 945
            aconst_null
            astore 20 /* policies */
        start local 20 // org.bouncycastle.asn1.ASN1Sequence policies
        53: .line 948
            aload 6 /* cert */
        54: .line 949
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CERTIFICATE_POLICIES:Ljava/lang/String;
        55: .line 948
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            checkcast org.bouncycastle.asn1.ASN1Sequence
            astore 20 /* policies */
        56: .line 950
            goto 61
        57: .line 951
      StackMap locals: java.security.cert.CertPath int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.jce.provider.PKIXPolicyNode org.bouncycastle.asn1.ASN1Sequence java.util.Map java.util.Set java.util.Iterator java.lang.String int java.util.Iterator org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set org.bouncycastle.asn1.ASN1Sequence
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 21 /* e */
        start local 21 // org.bouncycastle.jce.provider.AnnotatedException e
        58: .line 953
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
        59: .line 954
            ldc "Certificate policies extension could not be decoded."
            aload 21 /* e */
            aload 0 /* certPath */
            iload 1 /* index */
        60: .line 953
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 21 // org.bouncycastle.jce.provider.AnnotatedException e
        61: .line 956
      StackMap locals:
      StackMap stack:
            aload 20 /* policies */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
            astore 21 /* e */
        start local 21 // java.util.Enumeration e
        62: .line 957
            goto 79
        63: .line 959
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aconst_null
            astore 22 /* pinfo */
        start local 22 // org.bouncycastle.asn1.x509.PolicyInformation pinfo
        64: .line 962
            aload 21 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            invokestatic org.bouncycastle.asn1.x509.PolicyInformation.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/PolicyInformation;
            astore 22 /* pinfo */
        65: .line 963
            goto 70
        66: .line 964
      StackMap locals: java.security.cert.CertPath int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.jce.provider.PKIXPolicyNode org.bouncycastle.asn1.ASN1Sequence java.util.Map java.util.Set java.util.Iterator java.lang.String int java.util.Iterator org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration org.bouncycastle.asn1.x509.PolicyInformation
      StackMap stack: java.lang.Exception
            astore 23 /* ex */
        start local 23 // java.lang.Exception ex
        67: .line 966
            new java.security.cert.CertPathValidatorException
            dup
        68: .line 967
            ldc "Policy information could not be decoded."
            aload 23 /* ex */
            aload 0 /* certPath */
            iload 1 /* index */
        69: .line 966
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 23 // java.lang.Exception ex
        70: .line 969
      StackMap locals:
      StackMap stack:
            ldc "2.5.29.32.0"
            aload 22 /* pinfo */
            invokevirtual org.bouncycastle.asn1.x509.PolicyInformation.getPolicyIdentifier:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 79
        71: .line 974
            aload 22 /* pinfo */
            invokevirtual org.bouncycastle.asn1.x509.PolicyInformation.getPolicyQualifiers:()Lorg/bouncycastle/asn1/ASN1Sequence;
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getQualifierSet:(Lorg/bouncycastle/asn1/ASN1Sequence;)Ljava/util/Set;
        72: .line 973
            astore 19 /* pq */
        73: .line 975
            goto 80
        74: .line 976
      StackMap locals:
      StackMap stack: java.security.cert.CertPathValidatorException
            astore 23 /* ex */
        start local 23 // java.security.cert.CertPathValidatorException ex
        75: .line 979
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
        76: .line 980
            ldc "Policy qualifier info set could not be decoded."
            aload 23 /* ex */
            aload 0 /* certPath */
        77: .line 981
            iload 1 /* index */
        78: .line 979
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 23 // java.security.cert.CertPathValidatorException ex
        end local 22 // org.bouncycastle.asn1.x509.PolicyInformation pinfo
        79: .line 957
      StackMap locals:
      StackMap stack:
            aload 21 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 63
        80: .line 986
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 22 /* ci */
        start local 22 // boolean ci
        81: .line 987
            aload 6 /* cert */
            invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
            ifnull 85
        82: .line 989
            aload 6 /* cert */
            invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
        83: .line 990
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CERTIFICATE_POLICIES:Ljava/lang/String;
        84: .line 989
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            istore 22 /* ci */
        85: .line 993
      StackMap locals: int
      StackMap stack:
            aload 18 /* node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getParent:()Ljava/security/cert/PolicyNode;
            checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
            astore 23 /* p_node */
        start local 23 // org.bouncycastle.jce.provider.PKIXPolicyNode p_node
        86: .line 994
            ldc "2.5.29.32.0"
            aload 23 /* p_node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 119
        87: .line 996
            new org.bouncycastle.jce.provider.PKIXPolicyNode
            dup
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            iload 8 /* i */
            aload 12 /* m_idp */
        88: .line 997
            aload 15 /* id_p */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            aload 23 /* p_node */
            aload 19 /* pq */
            aload 15 /* id_p */
            iload 22 /* ci */
        89: .line 996
            invokespecial org.bouncycastle.jce.provider.PKIXPolicyNode.<init>:(Ljava/util/List;ILjava/util/Set;Ljava/security/cert/PolicyNode;Ljava/util/Set;Ljava/lang/String;Z)V
            astore 24 /* c_node */
        start local 24 // org.bouncycastle.jce.provider.PKIXPolicyNode c_node
        90: .line 998
            aload 23 /* p_node */
            aload 24 /* c_node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.addChild:(Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)V
        91: .line 999
            aload 2 /* policyNodes */
            iload 8 /* i */
            aaload
            aload 24 /* c_node */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 24 // org.bouncycastle.jce.provider.PKIXPolicyNode c_node
        92: .line 1001
            goto 119
        end local 23 // org.bouncycastle.jce.provider.PKIXPolicyNode p_node
        end local 22 // boolean ci
        end local 21 // java.util.Enumeration e
        end local 20 // org.bouncycastle.asn1.ASN1Sequence policies
        end local 19 // java.util.Set pq
        end local 18 // org.bouncycastle.jce.provider.PKIXPolicyNode node
        93: .line 939
      StackMap locals: java.security.cert.CertPath int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.jce.provider.PKIXPolicyNode org.bouncycastle.asn1.ASN1Sequence java.util.Map java.util.Set java.util.Iterator java.lang.String int java.util.Iterator
      StackMap stack:
            aload 17 /* nodes_i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 49
        end local 17 // java.util.Iterator nodes_i
        end local 16 // boolean idp_found
        94: .line 1009
            goto 119
        95: .line 1010
      StackMap locals:
      StackMap stack:
            iload 4 /* policyMapping */
            ifgt 119
        96: .line 1012
            aload 2 /* policyNodes */
            iload 8 /* i */
            aaload
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 16 /* nodes_i */
        start local 16 // java.util.Iterator nodes_i
        97: .line 1013
            goto 118
        98: .line 1015
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 16 /* nodes_i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
            astore 17 /* node */
        start local 17 // org.bouncycastle.jce.provider.PKIXPolicyNode node
        99: .line 1016
            aload 17 /* node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
            aload 15 /* id_p */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 118
       100: .line 1018
            aload 17 /* node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getParent:()Ljava/security/cert/PolicyNode;
            checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
            astore 18 /* p_node */
        start local 18 // org.bouncycastle.jce.provider.PKIXPolicyNode p_node
       101: .line 1019
            aload 18 /* p_node */
            aload 17 /* node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.removeChild:(Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)V
       102: .line 1020
            aload 16 /* nodes_i */
            invokeinterface java.util.Iterator.remove:()V
       103: .line 1021
            iload 8 /* i */
            iconst_1
            isub
            istore 19 /* k */
        start local 19 // int k
       104: goto 117
       105: .line 1023
      StackMap locals: org.bouncycastle.jce.provider.PKIXPolicyNode org.bouncycastle.jce.provider.PKIXPolicyNode int
      StackMap stack:
            aload 2 /* policyNodes */
            iload 19 /* k */
            aaload
            astore 20 /* nodes */
        start local 20 // java.util.List nodes
       106: .line 1024
            iconst_0
            istore 21 /* l */
        start local 21 // int l
       107: goto 115
       108: .line 1026
      StackMap locals: java.util.List int
      StackMap stack:
            aload 20 /* nodes */
            iload 21 /* l */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
            astore 22 /* node2 */
        start local 22 // org.bouncycastle.jce.provider.PKIXPolicyNode node2
       109: .line 1027
            aload 22 /* node2 */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.hasChildren:()Z
            ifne 114
       110: .line 1030
            aload 10 /* _validPolicyTree */
            aload 2 /* policyNodes */
            aload 22 /* node2 */
       111: .line 1029
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.removePolicyNode:(Lorg/bouncycastle/jce/provider/PKIXPolicyNode;[Ljava/util/List;Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
            astore 10 /* _validPolicyTree */
       112: .line 1031
            aload 10 /* _validPolicyTree */
            ifnonnull 114
       113: .line 1033
            goto 116
        end local 22 // org.bouncycastle.jce.provider.PKIXPolicyNode node2
       114: .line 1024
      StackMap locals:
      StackMap stack:
            iinc 21 /* l */ 1
      StackMap locals:
      StackMap stack:
       115: iload 21 /* l */
            aload 20 /* nodes */
            invokeinterface java.util.List.size:()I
            if_icmplt 108
        end local 21 // int l
        end local 20 // java.util.List nodes
       116: .line 1021
      StackMap locals:
      StackMap stack:
            iinc 19 /* k */ -1
      StackMap locals:
      StackMap stack:
       117: iload 19 /* k */
            ifge 105
        end local 19 // int k
        end local 18 // org.bouncycastle.jce.provider.PKIXPolicyNode p_node
        end local 17 // org.bouncycastle.jce.provider.PKIXPolicyNode node
       118: .line 1013
      StackMap locals:
      StackMap stack:
            aload 16 /* nodes_i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 98
        end local 16 // java.util.Iterator nodes_i
        end local 15 // java.lang.String id_p
       119: .line 914
      StackMap locals:
      StackMap stack:
            aload 14 /* it_idp */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        end local 14 // java.util.Iterator it_idp
        end local 13 // java.util.Set s_idp
        end local 12 // java.util.Map m_idp
        end local 11 // org.bouncycastle.asn1.ASN1Sequence mappings
       120: .line 1043
      StackMap locals: java.security.cert.CertPath int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.jce.provider.PKIXPolicyNode
      StackMap stack:
            aload 10 /* _validPolicyTree */
            areturn
        end local 10 // org.bouncycastle.jce.provider.PKIXPolicyNode _validPolicyTree
        end local 9 // org.bouncycastle.asn1.ASN1Sequence pm
        end local 8 // int i
        end local 7 // int n
        end local 6 // java.security.cert.X509Certificate cert
        end local 5 // java.util.List certs
        end local 4 // int policyMapping
        end local 3 // org.bouncycastle.jce.provider.PKIXPolicyNode validPolicyTree
        end local 2 // java.util.List[] policyNodes
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  121     0          certPath  Ljava/security/cert/CertPath;
            0  121     1             index  I
            0  121     2       policyNodes  [Ljava/util/List;
            0  121     3   validPolicyTree  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
            0  121     4     policyMapping  I
            1  121     5             certs  Ljava/util/List;
            2  121     6              cert  Ljava/security/cert/X509Certificate;
            3  121     7                 n  I
            4  121     8                 i  I
            5  121     9                pm  Lorg/bouncycastle/asn1/ASN1Sequence;
           10   13    10                ex  Lorg/bouncycastle/jce/provider/AnnotatedException;
           14  121    10  _validPolicyTree  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           16  120    11          mappings  Lorg/bouncycastle/asn1/ASN1Sequence;
           17  120    12             m_idp  Ljava/util/Map;
           18  120    13             s_idp  Ljava/util/Set;
           19   33    14                 j  I
           21   31    15           mapping  Lorg/bouncycastle/asn1/ASN1Sequence;
           22   31    16              id_p  Ljava/lang/String;
           23   31    17              sd_p  Ljava/lang/String;
           25   29    18               tmp  Ljava/util/Set;
           30   31    18               tmp  Ljava/util/Set;
           34  120    14            it_idp  Ljava/util/Iterator;
           36  119    15              id_p  Ljava/lang/String;
           38   94    16         idp_found  Z
           39   94    17           nodes_i  Ljava/util/Iterator;
           41   45    18              node  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           50   93    18              node  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           52   93    19                pq  Ljava/util/Set;
           53   93    20          policies  Lorg/bouncycastle/asn1/ASN1Sequence;
           58   61    21                 e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           62   93    21                 e  Ljava/util/Enumeration;
           64   79    22             pinfo  Lorg/bouncycastle/asn1/x509/PolicyInformation;
           67   70    23                ex  Ljava/lang/Exception;
           75   79    23                ex  Ljava/security/cert/CertPathValidatorException;
           81   93    22                ci  Z
           86   93    23            p_node  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           90   92    24            c_node  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           97  119    16           nodes_i  Ljava/util/Iterator;
           99  118    17              node  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
          101  118    18            p_node  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
          104  118    19                 k  I
          106  116    20             nodes  Ljava/util/List;
          107  116    21                 l  I
          109  114    22             node2  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
      Exception table:
        from    to  target  type
           5     8       9  Class org.bouncycastle.jce.provider.AnnotatedException
          53    56      57  Class org.bouncycastle.jce.provider.AnnotatedException
          64    65      66  Class java.lang.Exception
          71    73      74  Class java.security.cert.CertPathValidatorException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
                 Name  Flags
      certPath         
      index            
      policyNodes      
      validPolicyTree  
      policyMapping    

  protected static void prepareNextCertA(java.security.cert.CertPath, int);
    descriptor: (Ljava/security/cert/CertPath;I)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
         0: .line 1051
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 2 /* certs */
        start local 2 // java.util.List certs
         1: .line 1052
            aload 2 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 3 /* cert */
        start local 3 // java.security.cert.X509Certificate cert
         2: .line 1057
            aconst_null
            astore 4 /* pm */
        start local 4 // org.bouncycastle.asn1.ASN1Sequence pm
         3: .line 1060
            aload 3 /* cert */
         4: .line 1061
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.POLICY_MAPPINGS:Ljava/lang/String;
         5: .line 1060
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.DERSequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            astore 4 /* pm */
         6: .line 1062
            goto 11
         7: .line 1063
      StackMap locals: java.security.cert.CertPath int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 5 /* ex */
        start local 5 // org.bouncycastle.jce.provider.AnnotatedException ex
         8: .line 1065
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Policy mappings extension could not be decoded."
            aload 5 /* ex */
            aload 0 /* certPath */
         9: .line 1066
            iload 1 /* index */
        10: .line 1065
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 5 // org.bouncycastle.jce.provider.AnnotatedException ex
        11: .line 1068
      StackMap locals:
      StackMap stack:
            aload 4 /* pm */
            ifnull 31
        12: .line 1070
            aload 4 /* pm */
            astore 5 /* mappings */
        start local 5 // org.bouncycastle.asn1.ASN1Sequence mappings
        13: .line 1072
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        14: goto 30
        15: .line 1074
      StackMap locals: org.bouncycastle.asn1.ASN1Sequence int
      StackMap stack:
            aconst_null
            astore 7 /* issuerDomainPolicy */
        start local 7 // org.bouncycastle.asn1.DERObjectIdentifier issuerDomainPolicy
        16: .line 1075
            aconst_null
            astore 8 /* subjectDomainPolicy */
        start local 8 // org.bouncycastle.asn1.DERObjectIdentifier subjectDomainPolicy
        17: .line 1078
            aload 5 /* mappings */
            iload 6 /* j */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            invokestatic org.bouncycastle.asn1.DERSequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            astore 9 /* mapping */
        start local 9 // org.bouncycastle.asn1.ASN1Sequence mapping
        18: .line 1080
            aload 9 /* mapping */
            iconst_0
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            invokestatic org.bouncycastle.asn1.DERObjectIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERObjectIdentifier;
            astore 7 /* issuerDomainPolicy */
        19: .line 1081
            aload 9 /* mapping */
            iconst_1
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/DEREncodable;
            invokestatic org.bouncycastle.asn1.DERObjectIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERObjectIdentifier;
            astore 8 /* subjectDomainPolicy */
        end local 9 // org.bouncycastle.asn1.ASN1Sequence mapping
        20: .line 1082
            goto 25
        21: .line 1083
      StackMap locals: java.security.cert.CertPath int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.ASN1Sequence int org.bouncycastle.asn1.DERObjectIdentifier org.bouncycastle.asn1.DERObjectIdentifier
      StackMap stack: java.lang.Exception
            astore 9 /* e */
        start local 9 // java.lang.Exception e
        22: .line 1085
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Policy mappings extension contents could not be decoded."
        23: .line 1086
            aload 9 /* e */
            aload 0 /* certPath */
            iload 1 /* index */
        24: .line 1085
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 9 // java.lang.Exception e
        25: .line 1089
      StackMap locals:
      StackMap stack:
            ldc "2.5.29.32.0"
            aload 7 /* issuerDomainPolicy */
            invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 27
        26: .line 1092
            new java.security.cert.CertPathValidatorException
            dup
            ldc "IssuerDomainPolicy is anyPolicy"
            aconst_null
            aload 0 /* certPath */
            iload 1 /* index */
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        27: .line 1095
      StackMap locals:
      StackMap stack:
            ldc "2.5.29.32.0"
            aload 8 /* subjectDomainPolicy */
            invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        28: .line 1098
            new java.security.cert.CertPathValidatorException
            dup
            ldc "SubjectDomainPolicy is anyPolicy,"
            aconst_null
            aload 0 /* certPath */
            iload 1 /* index */
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 8 // org.bouncycastle.asn1.DERObjectIdentifier subjectDomainPolicy
        end local 7 // org.bouncycastle.asn1.DERObjectIdentifier issuerDomainPolicy
        29: .line 1072
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        30: iload 6 /* j */
            aload 5 /* mappings */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
            if_icmplt 15
        end local 6 // int j
        end local 5 // org.bouncycastle.asn1.ASN1Sequence mappings
        31: .line 1102
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.bouncycastle.asn1.ASN1Sequence pm
        end local 3 // java.security.cert.X509Certificate cert
        end local 2 // java.util.List certs
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   32     0             certPath  Ljava/security/cert/CertPath;
            0   32     1                index  I
            1   32     2                certs  Ljava/util/List;
            2   32     3                 cert  Ljava/security/cert/X509Certificate;
            3   32     4                   pm  Lorg/bouncycastle/asn1/ASN1Sequence;
            8   11     5                   ex  Lorg/bouncycastle/jce/provider/AnnotatedException;
           13   31     5             mappings  Lorg/bouncycastle/asn1/ASN1Sequence;
           14   31     6                    j  I
           16   29     7   issuerDomainPolicy  Lorg/bouncycastle/asn1/DERObjectIdentifier;
           17   29     8  subjectDomainPolicy  Lorg/bouncycastle/asn1/DERObjectIdentifier;
           18   20     9              mapping  Lorg/bouncycastle/asn1/ASN1Sequence;
           22   25     9                    e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     6       7  Class org.bouncycastle.jce.provider.AnnotatedException
          17    20      21  Class java.lang.Exception
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
          Name  Flags
      certPath  
      index     

  protected static void processCertF(java.security.cert.CertPath, int, org.bouncycastle.jce.provider.PKIXPolicyNode, int);
    descriptor: (Ljava/security/cert/CertPath;ILorg/bouncycastle/jce/provider/PKIXPolicyNode;I)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
        start local 2 // org.bouncycastle.jce.provider.PKIXPolicyNode validPolicyTree
        start local 3 // int explicitPolicy
         0: .line 1114
            iload 3 /* explicitPolicy */
            ifgt 4
            aload 2 /* validPolicyTree */
            ifnonnull 4
         1: .line 1116
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "No valid policy tree found when one expected."
            aconst_null
            aload 0 /* certPath */
         2: .line 1117
            iload 1 /* index */
         3: .line 1116
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
         4: .line 1119
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int explicitPolicy
        end local 2 // org.bouncycastle.jce.provider.PKIXPolicyNode validPolicyTree
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0         certPath  Ljava/security/cert/CertPath;
            0    5     1            index  I
            0    5     2  validPolicyTree  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
            0    5     3   explicitPolicy  I
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
                 Name  Flags
      certPath         
      index            
      validPolicyTree  
      explicitPolicy   

  protected static org.bouncycastle.jce.provider.PKIXPolicyNode processCertE(java.security.cert.CertPath, int, org.bouncycastle.jce.provider.PKIXPolicyNode);
    descriptor: (Ljava/security/cert/CertPath;ILorg/bouncycastle/jce/provider/PKIXPolicyNode;)Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
        start local 2 // org.bouncycastle.jce.provider.PKIXPolicyNode validPolicyTree
         0: .line 1127
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 3 /* certs */
        start local 3 // java.util.List certs
         1: .line 1128
            aload 3 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 4 /* cert */
        start local 4 // java.security.cert.X509Certificate cert
         2: .line 1132
            aconst_null
            astore 5 /* certPolicies */
        start local 5 // org.bouncycastle.asn1.ASN1Sequence certPolicies
         3: .line 1135
            aload 4 /* cert */
         4: .line 1136
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CERTIFICATE_POLICIES:Ljava/lang/String;
         5: .line 1135
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.DERSequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            astore 5 /* certPolicies */
         6: .line 1137
            goto 11
         7: .line 1138
      StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXPolicyNode java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 6 /* e */
        start local 6 // org.bouncycastle.jce.provider.AnnotatedException e
         8: .line 1140
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Could not read certificate policies extension from certificate."
         9: .line 1141
            aload 6 /* e */
            aload 0 /* certPath */
            iload 1 /* index */
        10: .line 1140
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 6 // org.bouncycastle.jce.provider.AnnotatedException e
        11: .line 1143
      StackMap locals:
      StackMap stack:
            aload 5 /* certPolicies */
            ifnonnull 13
        12: .line 1145
            aconst_null
            astore 2 /* validPolicyTree */
        13: .line 1147
      StackMap locals:
      StackMap stack:
            aload 2 /* validPolicyTree */
            areturn
        end local 5 // org.bouncycastle.asn1.ASN1Sequence certPolicies
        end local 4 // java.security.cert.X509Certificate cert
        end local 3 // java.util.List certs
        end local 2 // org.bouncycastle.jce.provider.PKIXPolicyNode validPolicyTree
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0         certPath  Ljava/security/cert/CertPath;
            0   14     1            index  I
            0   14     2  validPolicyTree  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
            1   14     3            certs  Ljava/util/List;
            2   14     4             cert  Ljava/security/cert/X509Certificate;
            3   14     5     certPolicies  Lorg/bouncycastle/asn1/ASN1Sequence;
            8   11     6                e  Lorg/bouncycastle/jce/provider/AnnotatedException;
      Exception table:
        from    to  target  type
           3     6       7  Class org.bouncycastle.jce.provider.AnnotatedException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
                 Name  Flags
      certPath         
      index            
      validPolicyTree  

  protected static void processCertBC(java.security.cert.CertPath, int, org.bouncycastle.jce.provider.PKIXNameConstraintValidator);
    descriptor: (Ljava/security/cert/CertPath;ILorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=16, args_size=3
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
        start local 2 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator nameConstraintValidator
         0: .line 1156
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 3 /* certs */
        start local 3 // java.util.List certs
         1: .line 1157
            aload 3 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 4 /* cert */
        start local 4 // java.security.cert.X509Certificate cert
         2: .line 1158
            aload 3 /* certs */
            invokeinterface java.util.List.size:()I
            istore 5 /* n */
        start local 5 // int n
         3: .line 1160
            iload 5 /* n */
            iload 1 /* index */
            isub
            istore 6 /* i */
        start local 6 // int i
         4: .line 1164
            aload 4 /* cert */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
            ifeq 5
            iload 6 /* i */
            iload 5 /* n */
            if_icmplt 61
         5: .line 1166
      StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXNameConstraintValidator java.util.List java.security.cert.X509Certificate int int
      StackMap stack:
            aload 4 /* cert */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getSubjectPrincipal:(Ljava/security/cert/X509Certificate;)Ljavax/security/auth/x500/X500Principal;
            astore 7 /* principal */
        start local 7 // javax.security.auth.x500.X500Principal principal
         6: .line 1167
            new org.bouncycastle.asn1.ASN1InputStream
            dup
            aload 7 /* principal */
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
            invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
            astore 8 /* aIn */
        start local 8 // org.bouncycastle.asn1.ASN1InputStream aIn
         7: .line 1172
            aload 8 /* aIn */
            invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.DERSequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            astore 9 /* dns */
        start local 9 // org.bouncycastle.asn1.ASN1Sequence dns
         8: .line 1173
            goto 13
        end local 9 // org.bouncycastle.asn1.ASN1Sequence dns
         9: .line 1174
      StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXNameConstraintValidator java.util.List java.security.cert.X509Certificate int int javax.security.auth.x500.X500Principal org.bouncycastle.asn1.ASN1InputStream
      StackMap stack: java.lang.Exception
            astore 10 /* e */
        start local 10 // java.lang.Exception e
        10: .line 1176
            new java.security.cert.CertPathValidatorException
            dup
            ldc "Exception extracting subject name when checking subtrees."
            aload 10 /* e */
        11: .line 1177
            aload 0 /* certPath */
            iload 1 /* index */
        12: .line 1176
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 10 // java.lang.Exception e
        start local 9 // org.bouncycastle.asn1.ASN1Sequence dns
        13: .line 1182
      StackMap locals: org.bouncycastle.asn1.ASN1Sequence
      StackMap stack:
            aload 2 /* nameConstraintValidator */
            aload 9 /* dns */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkPermittedDN:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
        14: .line 1183
            aload 2 /* nameConstraintValidator */
            aload 9 /* dns */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkExcludedDN:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
        15: .line 1184
            goto 20
        16: .line 1185
      StackMap locals:
      StackMap stack: org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
            astore 10 /* e */
        start local 10 // org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException e
        17: .line 1187
            new java.security.cert.CertPathValidatorException
            dup
            ldc "Subtree check for certificate subject failed."
            aload 10 /* e */
            aload 0 /* certPath */
        18: .line 1188
            iload 1 /* index */
        19: .line 1187
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 10 // org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException e
        20: .line 1191
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 10 /* altName */
        start local 10 // org.bouncycastle.asn1.x509.GeneralNames altName
        21: .line 1194
            aload 4 /* cert */
        22: .line 1195
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.SUBJECT_ALTERNATIVE_NAME:Ljava/lang/String;
        23: .line 1194
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.x509.GeneralNames.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/GeneralNames;
            astore 10 /* altName */
        24: .line 1196
            goto 29
        25: .line 1197
      StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXNameConstraintValidator java.util.List java.security.cert.X509Certificate int int javax.security.auth.x500.X500Principal org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.x509.GeneralNames
      StackMap stack: java.lang.Exception
            astore 11 /* e */
        start local 11 // java.lang.Exception e
        26: .line 1199
            new java.security.cert.CertPathValidatorException
            dup
            ldc "Subject alternative name extension could not be decoded."
            aload 11 /* e */
        27: .line 1200
            aload 0 /* certPath */
            iload 1 /* index */
        28: .line 1199
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 11 // java.lang.Exception e
        29: .line 1202
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.x509.X509Name
            dup
            aload 9 /* dns */
            invokespecial org.bouncycastle.asn1.x509.X509Name.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
            getstatic org.bouncycastle.asn1.x509.X509Name.EmailAddress:Lorg/bouncycastle/asn1/DERObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.x509.X509Name.getValues:(Lorg/bouncycastle/asn1/DERObjectIdentifier;)Ljava/util/Vector;
            astore 11 /* emails */
        start local 11 // java.util.Vector emails
        30: .line 1203
            aload 11 /* emails */
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            astore 12 /* e */
        start local 12 // java.util.Enumeration e
        31: goto 41
        32: .line 1205
      StackMap locals: java.util.Vector java.util.Enumeration
      StackMap stack:
            aload 12 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 13 /* email */
        start local 13 // java.lang.String email
        33: .line 1206
            new org.bouncycastle.asn1.x509.GeneralName
            dup
            iconst_1
            aload 13 /* email */
            invokespecial org.bouncycastle.asn1.x509.GeneralName.<init>:(ILjava/lang/String;)V
            astore 14 /* emailAsGeneralName */
        start local 14 // org.bouncycastle.asn1.x509.GeneralName emailAsGeneralName
        34: .line 1209
            aload 2 /* nameConstraintValidator */
            aload 14 /* emailAsGeneralName */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkPermitted:(Lorg/bouncycastle/asn1/x509/GeneralName;)V
        35: .line 1210
            aload 2 /* nameConstraintValidator */
            aload 14 /* emailAsGeneralName */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkExcluded:(Lorg/bouncycastle/asn1/x509/GeneralName;)V
        36: .line 1211
            goto 41
        37: .line 1212
      StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXNameConstraintValidator java.util.List java.security.cert.X509Certificate int int javax.security.auth.x500.X500Principal org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.x509.GeneralNames java.util.Vector java.util.Enumeration java.lang.String org.bouncycastle.asn1.x509.GeneralName
      StackMap stack: org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
            astore 15 /* ex */
        start local 15 // org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException ex
        38: .line 1214
            new java.security.cert.CertPathValidatorException
            dup
        39: .line 1215
            ldc "Subtree check for certificate subject alternative email failed."
            aload 15 /* ex */
            aload 0 /* certPath */
            iload 1 /* index */
        40: .line 1214
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 15 // org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException ex
        end local 14 // org.bouncycastle.asn1.x509.GeneralName emailAsGeneralName
        end local 13 // java.lang.String email
        41: .line 1203
      StackMap locals:
      StackMap stack:
            aload 12 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 32
        end local 12 // java.util.Enumeration e
        42: .line 1218
            aload 10 /* altName */
            ifnull 61
        43: .line 1220
            aconst_null
            astore 12 /* genNames */
        start local 12 // org.bouncycastle.asn1.x509.GeneralName[] genNames
        44: .line 1223
            aload 10 /* altName */
            invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
            astore 12 /* genNames */
        45: .line 1224
            goto 50
        46: .line 1225
      StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXNameConstraintValidator java.util.List java.security.cert.X509Certificate int int javax.security.auth.x500.X500Principal org.bouncycastle.asn1.ASN1InputStream org.bouncycastle.asn1.ASN1Sequence org.bouncycastle.asn1.x509.GeneralNames java.util.Vector org.bouncycastle.asn1.x509.GeneralName[]
      StackMap stack: java.lang.Exception
            astore 13 /* e */
        start local 13 // java.lang.Exception e
        47: .line 1227
            new java.security.cert.CertPathValidatorException
            dup
            ldc "Subject alternative name contents could not be decoded."
            aload 13 /* e */
        48: .line 1228
            aload 0 /* certPath */
            iload 1 /* index */
        49: .line 1227
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 13 // java.lang.Exception e
        50: .line 1230
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* j */
        start local 13 // int j
        51: goto 60
        52: .line 1235
      StackMap locals: int
      StackMap stack:
            aload 2 /* nameConstraintValidator */
            aload 12 /* genNames */
            iload 13 /* j */
            aaload
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkPermitted:(Lorg/bouncycastle/asn1/x509/GeneralName;)V
        53: .line 1236
            aload 2 /* nameConstraintValidator */
            aload 12 /* genNames */
            iload 13 /* j */
            aaload
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.checkExcluded:(Lorg/bouncycastle/asn1/x509/GeneralName;)V
        54: .line 1237
            goto 59
        55: .line 1238
      StackMap locals:
      StackMap stack: org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
            astore 14 /* e */
        start local 14 // org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException e
        56: .line 1240
            new java.security.cert.CertPathValidatorException
            dup
        57: .line 1241
            ldc "Subtree check for certificate subject alternative name failed."
            aload 14 /* e */
            aload 0 /* certPath */
            iload 1 /* index */
        58: .line 1240
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 14 // org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException e
        59: .line 1230
      StackMap locals:
      StackMap stack:
            iinc 13 /* j */ 1
      StackMap locals:
      StackMap stack:
        60: iload 13 /* j */
            aload 12 /* genNames */
            arraylength
            if_icmplt 52
        end local 13 // int j
        end local 12 // org.bouncycastle.asn1.x509.GeneralName[] genNames
        end local 11 // java.util.Vector emails
        end local 10 // org.bouncycastle.asn1.x509.GeneralNames altName
        end local 9 // org.bouncycastle.asn1.ASN1Sequence dns
        end local 8 // org.bouncycastle.asn1.ASN1InputStream aIn
        end local 7 // javax.security.auth.x500.X500Principal principal
        61: .line 1246
      StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXNameConstraintValidator java.util.List java.security.cert.X509Certificate int int
      StackMap stack:
            return
        end local 6 // int i
        end local 5 // int n
        end local 4 // java.security.cert.X509Certificate cert
        end local 3 // java.util.List certs
        end local 2 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator nameConstraintValidator
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   62     0                 certPath  Ljava/security/cert/CertPath;
            0   62     1                    index  I
            0   62     2  nameConstraintValidator  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            1   62     3                    certs  Ljava/util/List;
            2   62     4                     cert  Ljava/security/cert/X509Certificate;
            3   62     5                        n  I
            4   62     6                        i  I
            6   61     7                principal  Ljavax/security/auth/x500/X500Principal;
            7   61     8                      aIn  Lorg/bouncycastle/asn1/ASN1InputStream;
            8    9     9                      dns  Lorg/bouncycastle/asn1/ASN1Sequence;
           13   61     9                      dns  Lorg/bouncycastle/asn1/ASN1Sequence;
           10   13    10                        e  Ljava/lang/Exception;
           17   20    10                        e  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidatorException;
           21   61    10                  altName  Lorg/bouncycastle/asn1/x509/GeneralNames;
           26   29    11                        e  Ljava/lang/Exception;
           30   61    11                   emails  Ljava/util/Vector;
           31   42    12                        e  Ljava/util/Enumeration;
           33   41    13                    email  Ljava/lang/String;
           34   41    14       emailAsGeneralName  Lorg/bouncycastle/asn1/x509/GeneralName;
           38   41    15                       ex  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidatorException;
           44   61    12                 genNames  [Lorg/bouncycastle/asn1/x509/GeneralName;
           47   50    13                        e  Ljava/lang/Exception;
           51   61    13                        j  I
           56   59    14                        e  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidatorException;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.Exception
          13    15      16  Class org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
          21    24      25  Class java.lang.Exception
          34    36      37  Class org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
          44    45      46  Class java.lang.Exception
          52    54      55  Class org.bouncycastle.jce.provider.PKIXNameConstraintValidatorException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
                         Name  Flags
      certPath                 
      index                    
      nameConstraintValidator  

  protected static org.bouncycastle.jce.provider.PKIXPolicyNode processCertD(java.security.cert.CertPath, int, java.util.Set, org.bouncycastle.jce.provider.PKIXPolicyNode, java.util.List[], int);
    descriptor: (Ljava/security/cert/CertPath;ILjava/util/Set;Lorg/bouncycastle/jce/provider/PKIXPolicyNode;[Ljava/util/List;I)Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=9, locals=25, args_size=6
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
        start local 2 // java.util.Set acceptablePolicies
        start local 3 // org.bouncycastle.jce.provider.PKIXPolicyNode validPolicyTree
        start local 4 // java.util.List[] policyNodes
        start local 5 // int inhibitAnyPolicy
         0: .line 1257
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 6 /* certs */
        start local 6 // java.util.List certs
         1: .line 1258
            aload 6 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 7 /* cert */
        start local 7 // java.security.cert.X509Certificate cert
         2: .line 1259
            aload 6 /* certs */
            invokeinterface java.util.List.size:()I
            istore 8 /* n */
        start local 8 // int n
         3: .line 1261
            iload 8 /* n */
            iload 1 /* index */
            isub
            istore 9 /* i */
        start local 9 // int i
         4: .line 1266
            aconst_null
            astore 10 /* certPolicies */
        start local 10 // org.bouncycastle.asn1.ASN1Sequence certPolicies
         5: .line 1269
            aload 7 /* cert */
         6: .line 1270
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CERTIFICATE_POLICIES:Ljava/lang/String;
         7: .line 1269
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.DERSequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            astore 10 /* certPolicies */
         8: .line 1271
            goto 13
         9: .line 1272
      StackMap locals: java.security.cert.CertPath int java.util.Set org.bouncycastle.jce.provider.PKIXPolicyNode java.util.List[] int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 11 /* e */
        start local 11 // org.bouncycastle.jce.provider.AnnotatedException e
        10: .line 1274
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Could not read certificate policies extension from certificate."
        11: .line 1275
            aload 11 /* e */
            aload 0 /* certPath */
            iload 1 /* index */
        12: .line 1274
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 11 // org.bouncycastle.jce.provider.AnnotatedException e
        13: .line 1277
      StackMap locals:
      StackMap stack:
            aload 10 /* certPolicies */
            ifnull 111
            aload 3 /* validPolicyTree */
            ifnull 111
        14: .line 1282
            aload 10 /* certPolicies */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
            astore 11 /* e */
        start local 11 // java.util.Enumeration e
        15: .line 1283
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 12 /* pols */
        start local 12 // java.util.Set pols
        16: .line 1285
            goto 31
        17: .line 1287
      StackMap locals: java.util.Enumeration java.util.Set
      StackMap stack:
            aload 11 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            invokestatic org.bouncycastle.asn1.x509.PolicyInformation.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/PolicyInformation;
            astore 13 /* pInfo */
        start local 13 // org.bouncycastle.asn1.x509.PolicyInformation pInfo
        18: .line 1288
            aload 13 /* pInfo */
            invokevirtual org.bouncycastle.asn1.x509.PolicyInformation.getPolicyIdentifier:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
            astore 14 /* pOid */
        start local 14 // org.bouncycastle.asn1.DERObjectIdentifier pOid
        19: .line 1290
            aload 12 /* pols */
            aload 14 /* pOid */
            invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        20: .line 1292
            ldc "2.5.29.32.0"
            aload 14 /* pOid */
            invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 31
        21: .line 1294
            aconst_null
            astore 15 /* pq */
        start local 15 // java.util.Set pq
        22: .line 1297
            aload 13 /* pInfo */
            invokevirtual org.bouncycastle.asn1.x509.PolicyInformation.getPolicyQualifiers:()Lorg/bouncycastle/asn1/ASN1Sequence;
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getQualifierSet:(Lorg/bouncycastle/asn1/ASN1Sequence;)Ljava/util/Set;
            astore 15 /* pq */
        23: .line 1298
            goto 28
        24: .line 1299
      StackMap locals: java.security.cert.CertPath int java.util.Set org.bouncycastle.jce.provider.PKIXPolicyNode java.util.List[] int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration java.util.Set org.bouncycastle.asn1.x509.PolicyInformation org.bouncycastle.asn1.DERObjectIdentifier java.util.Set
      StackMap stack: java.security.cert.CertPathValidatorException
            astore 16 /* ex */
        start local 16 // java.security.cert.CertPathValidatorException ex
        25: .line 1301
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Policy qualifier info set could not be build."
            aload 16 /* ex */
        26: .line 1302
            aload 0 /* certPath */
            iload 1 /* index */
        27: .line 1301
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 16 // java.security.cert.CertPathValidatorException ex
        28: .line 1305
      StackMap locals:
      StackMap stack:
            iload 9 /* i */
            aload 4 /* policyNodes */
            aload 14 /* pOid */
            aload 15 /* pq */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.processCertD1i:(I[Ljava/util/List;Lorg/bouncycastle/asn1/DERObjectIdentifier;Ljava/util/Set;)Z
            istore 16 /* match */
        start local 16 // boolean match
        29: .line 1307
            iload 16 /* match */
            ifne 31
        30: .line 1309
            iload 9 /* i */
            aload 4 /* policyNodes */
            aload 14 /* pOid */
            aload 15 /* pq */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.processCertD1ii:(I[Ljava/util/List;Lorg/bouncycastle/asn1/DERObjectIdentifier;Ljava/util/Set;)V
        end local 16 // boolean match
        end local 15 // java.util.Set pq
        end local 14 // org.bouncycastle.asn1.DERObjectIdentifier pOid
        end local 13 // org.bouncycastle.asn1.x509.PolicyInformation pInfo
        31: .line 1285
      StackMap locals:
      StackMap stack:
            aload 11 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 17
        32: .line 1314
            aload 2 /* acceptablePolicies */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 33
            aload 2 /* acceptablePolicies */
            ldc "2.5.29.32.0"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 36
        33: .line 1316
      StackMap locals:
      StackMap stack:
            aload 2 /* acceptablePolicies */
            invokeinterface java.util.Set.clear:()V
        34: .line 1317
            aload 2 /* acceptablePolicies */
            aload 12 /* pols */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        35: .line 1318
            goto 45
        36: .line 1321
      StackMap locals:
      StackMap stack:
            aload 2 /* acceptablePolicies */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 13 /* it */
        start local 13 // java.util.Iterator it
        37: .line 1322
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 14 /* t1 */
        start local 14 // java.util.Set t1
        38: .line 1324
            goto 42
        39: .line 1326
      StackMap locals: java.util.Iterator java.util.Set
      StackMap stack:
            aload 13 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 15 /* o */
        start local 15 // java.lang.Object o
        40: .line 1328
            aload 12 /* pols */
            aload 15 /* o */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 42
        41: .line 1330
            aload 14 /* t1 */
            aload 15 /* o */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // java.lang.Object o
        42: .line 1324
      StackMap locals:
      StackMap stack:
            aload 13 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 39
        43: .line 1333
            aload 2 /* acceptablePolicies */
            invokeinterface java.util.Set.clear:()V
        44: .line 1334
            aload 2 /* acceptablePolicies */
            aload 14 /* t1 */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 14 // java.util.Set t1
        end local 13 // java.util.Iterator it
        45: .line 1340
      StackMap locals:
      StackMap stack:
            iload 5 /* inhibitAnyPolicy */
            ifgt 46
            iload 9 /* i */
            iload 8 /* n */
            if_icmpge 83
            aload 7 /* cert */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
            ifeq 83
        46: .line 1342
      StackMap locals:
      StackMap stack:
            aload 10 /* certPolicies */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
            astore 11 /* e */
        47: .line 1344
            goto 82
        48: .line 1346
      StackMap locals:
      StackMap stack:
            aload 11 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            invokestatic org.bouncycastle.asn1.x509.PolicyInformation.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/PolicyInformation;
            astore 13 /* pInfo */
        start local 13 // org.bouncycastle.asn1.x509.PolicyInformation pInfo
        49: .line 1348
            ldc "2.5.29.32.0"
            aload 13 /* pInfo */
            invokevirtual org.bouncycastle.asn1.x509.PolicyInformation.getPolicyIdentifier:()Lorg/bouncycastle/asn1/DERObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 82
        50: .line 1350
            aload 13 /* pInfo */
            invokevirtual org.bouncycastle.asn1.x509.PolicyInformation.getPolicyQualifiers:()Lorg/bouncycastle/asn1/ASN1Sequence;
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getQualifierSet:(Lorg/bouncycastle/asn1/ASN1Sequence;)Ljava/util/Set;
            astore 14 /* _apq */
        start local 14 // java.util.Set _apq
        51: .line 1351
            aload 4 /* policyNodes */
            iload 9 /* i */
            iconst_1
            isub
            aaload
            astore 15 /* _nodes */
        start local 15 // java.util.List _nodes
        52: .line 1353
            iconst_0
            istore 16 /* k */
        start local 16 // int k
        53: goto 80
        54: .line 1355
      StackMap locals: java.security.cert.CertPath int java.util.Set org.bouncycastle.jce.provider.PKIXPolicyNode java.util.List[] int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration java.util.Set org.bouncycastle.asn1.x509.PolicyInformation java.util.Set java.util.List int
      StackMap stack:
            aload 15 /* _nodes */
            iload 16 /* k */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
            astore 17 /* _node */
        start local 17 // org.bouncycastle.jce.provider.PKIXPolicyNode _node
        55: .line 1357
            aload 17 /* _node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getExpectedPolicies:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 18 /* _policySetIter */
        start local 18 // java.util.Iterator _policySetIter
        56: .line 1358
            goto 78
        57: .line 1360
      StackMap locals: org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Iterator
      StackMap stack:
            aload 18 /* _policySetIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 19 /* _tmp */
        start local 19 // java.lang.Object _tmp
        58: .line 1363
            aload 19 /* _tmp */
            instanceof java.lang.String
            ifeq 61
        59: .line 1365
            aload 19 /* _tmp */
            checkcast java.lang.String
            astore 20 /* _policy */
        start local 20 // java.lang.String _policy
        60: .line 1366
            goto 63
        end local 20 // java.lang.String _policy
        61: .line 1367
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 19 /* _tmp */
            instanceof org.bouncycastle.asn1.DERObjectIdentifier
            ifeq 78
        62: .line 1369
            aload 19 /* _tmp */
            checkcast org.bouncycastle.asn1.DERObjectIdentifier
            invokevirtual org.bouncycastle.asn1.DERObjectIdentifier.getId:()Ljava/lang/String;
            astore 20 /* _policy */
        start local 20 // java.lang.String _policy
        63: .line 1376
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            istore 21 /* _found */
        start local 21 // boolean _found
        64: .line 1377
            aload 17 /* _node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getChildren:()Ljava/util/Iterator;
            astore 22 /* _childrenIter */
        start local 22 // java.util.Iterator _childrenIter
        65: .line 1379
            goto 69
        66: .line 1381
      StackMap locals: int java.util.Iterator
      StackMap stack:
            aload 22 /* _childrenIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
            astore 23 /* _child */
        start local 23 // org.bouncycastle.jce.provider.PKIXPolicyNode _child
        67: .line 1383
            aload 20 /* _policy */
            aload 23 /* _child */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 69
        68: .line 1385
            iconst_1
            istore 21 /* _found */
        end local 23 // org.bouncycastle.jce.provider.PKIXPolicyNode _child
        69: .line 1379
      StackMap locals:
      StackMap stack:
            aload 22 /* _childrenIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 66
        70: .line 1389
            iload 21 /* _found */
            ifne 78
        71: .line 1391
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 23 /* _newChildExpectedPolicies */
        start local 23 // java.util.Set _newChildExpectedPolicies
        72: .line 1392
            aload 23 /* _newChildExpectedPolicies */
            aload 20 /* _policy */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        73: .line 1394
            new org.bouncycastle.jce.provider.PKIXPolicyNode
            dup
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            iload 9 /* i */
        74: .line 1395
            aload 23 /* _newChildExpectedPolicies */
            aload 17 /* _node */
            aload 14 /* _apq */
            aload 20 /* _policy */
            iconst_0
        75: .line 1394
            invokespecial org.bouncycastle.jce.provider.PKIXPolicyNode.<init>:(Ljava/util/List;ILjava/util/Set;Ljava/security/cert/PolicyNode;Ljava/util/Set;Ljava/lang/String;Z)V
            astore 24 /* _newChild */
        start local 24 // org.bouncycastle.jce.provider.PKIXPolicyNode _newChild
        76: .line 1396
            aload 17 /* _node */
            aload 24 /* _newChild */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.addChild:(Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)V
        77: .line 1397
            aload 4 /* policyNodes */
            iload 9 /* i */
            aaload
            aload 24 /* _newChild */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 24 // org.bouncycastle.jce.provider.PKIXPolicyNode _newChild
        end local 23 // java.util.Set _newChildExpectedPolicies
        end local 22 // java.util.Iterator _childrenIter
        end local 21 // boolean _found
        end local 20 // java.lang.String _policy
        end local 19 // java.lang.Object _tmp
        78: .line 1358
      StackMap locals: java.security.cert.CertPath int java.util.Set org.bouncycastle.jce.provider.PKIXPolicyNode java.util.List[] int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration java.util.Set org.bouncycastle.asn1.x509.PolicyInformation java.util.Set java.util.List int org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Iterator
      StackMap stack:
            aload 18 /* _policySetIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 57
        end local 18 // java.util.Iterator _policySetIter
        end local 17 // org.bouncycastle.jce.provider.PKIXPolicyNode _node
        79: .line 1353
            iinc 16 /* k */ 1
      StackMap locals:
      StackMap stack:
        80: iload 16 /* k */
            aload 15 /* _nodes */
            invokeinterface java.util.List.size:()I
            if_icmplt 54
        end local 16 // int k
        81: .line 1401
            goto 83
        end local 15 // java.util.List _nodes
        end local 14 // java.util.Set _apq
        end local 13 // org.bouncycastle.asn1.x509.PolicyInformation pInfo
        82: .line 1344
      StackMap locals: java.security.cert.CertPath int java.util.Set org.bouncycastle.jce.provider.PKIXPolicyNode java.util.List[] int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration java.util.Set
      StackMap stack:
            aload 11 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 48
        83: .line 1406
      StackMap locals:
      StackMap stack:
            aload 3 /* validPolicyTree */
            astore 13 /* _validPolicyTree */
        start local 13 // org.bouncycastle.jce.provider.PKIXPolicyNode _validPolicyTree
        84: .line 1410
            iload 9 /* i */
            iconst_1
            isub
            istore 14 /* j */
        start local 14 // int j
        85: goto 99
        86: .line 1412
      StackMap locals: org.bouncycastle.jce.provider.PKIXPolicyNode int
      StackMap stack:
            aload 4 /* policyNodes */
            iload 14 /* j */
            aaload
            astore 15 /* nodes */
        start local 15 // java.util.List nodes
        87: .line 1414
            iconst_0
            istore 16 /* k */
        start local 16 // int k
        88: goto 97
        89: .line 1416
      StackMap locals: java.util.List int
      StackMap stack:
            aload 15 /* nodes */
            iload 16 /* k */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
            astore 17 /* node */
        start local 17 // org.bouncycastle.jce.provider.PKIXPolicyNode node
        90: .line 1417
            aload 17 /* node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.hasChildren:()Z
            ifne 96
        91: .line 1419
            aload 13 /* _validPolicyTree */
            aload 4 /* policyNodes */
        92: .line 1420
            aload 17 /* node */
        93: .line 1419
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.removePolicyNode:(Lorg/bouncycastle/jce/provider/PKIXPolicyNode;[Ljava/util/List;Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
            astore 13 /* _validPolicyTree */
        94: .line 1421
            aload 13 /* _validPolicyTree */
            ifnonnull 96
        95: .line 1423
            goto 98
        end local 17 // org.bouncycastle.jce.provider.PKIXPolicyNode node
        96: .line 1414
      StackMap locals:
      StackMap stack:
            iinc 16 /* k */ 1
      StackMap locals:
      StackMap stack:
        97: iload 16 /* k */
            aload 15 /* nodes */
            invokeinterface java.util.List.size:()I
            if_icmplt 89
        end local 16 // int k
        end local 15 // java.util.List nodes
        98: .line 1410
      StackMap locals:
      StackMap stack:
            iinc 14 /* j */ -1
      StackMap locals:
      StackMap stack:
        99: iload 14 /* j */
            ifge 86
        end local 14 // int j
       100: .line 1432
            aload 7 /* cert */
            invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
            astore 14 /* criticalExtensionOids */
        start local 14 // java.util.Set criticalExtensionOids
       101: .line 1434
            aload 14 /* criticalExtensionOids */
            ifnull 110
       102: .line 1436
            aload 14 /* criticalExtensionOids */
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CERTIFICATE_POLICIES:Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            istore 15 /* critical */
        start local 15 // boolean critical
       103: .line 1438
            aload 4 /* policyNodes */
            iload 9 /* i */
            aaload
            astore 16 /* nodes */
        start local 16 // java.util.List nodes
       104: .line 1439
            iconst_0
            istore 17 /* j */
        start local 17 // int j
       105: goto 109
       106: .line 1441
      StackMap locals: java.security.cert.CertPath int java.util.Set org.bouncycastle.jce.provider.PKIXPolicyNode java.util.List[] int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration java.util.Set org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set int java.util.List int
      StackMap stack:
            aload 16 /* nodes */
            iload 17 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
            astore 18 /* node */
        start local 18 // org.bouncycastle.jce.provider.PKIXPolicyNode node
       107: .line 1442
            aload 18 /* node */
            iload 15 /* critical */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.setCritical:(Z)V
        end local 18 // org.bouncycastle.jce.provider.PKIXPolicyNode node
       108: .line 1439
            iinc 17 /* j */ 1
      StackMap locals:
      StackMap stack:
       109: iload 17 /* j */
            aload 16 /* nodes */
            invokeinterface java.util.List.size:()I
            if_icmplt 106
        end local 17 // int j
        end local 16 // java.util.List nodes
        end local 15 // boolean critical
       110: .line 1445
      StackMap locals:
      StackMap stack:
            aload 13 /* _validPolicyTree */
            areturn
        end local 14 // java.util.Set criticalExtensionOids
        end local 13 // org.bouncycastle.jce.provider.PKIXPolicyNode _validPolicyTree
        end local 12 // java.util.Set pols
        end local 11 // java.util.Enumeration e
       111: .line 1447
      StackMap locals: java.security.cert.CertPath int java.util.Set org.bouncycastle.jce.provider.PKIXPolicyNode java.util.List[] int java.util.List java.security.cert.X509Certificate int int org.bouncycastle.asn1.ASN1Sequence
      StackMap stack:
            aconst_null
            areturn
        end local 10 // org.bouncycastle.asn1.ASN1Sequence certPolicies
        end local 9 // int i
        end local 8 // int n
        end local 7 // java.security.cert.X509Certificate cert
        end local 6 // java.util.List certs
        end local 5 // int inhibitAnyPolicy
        end local 4 // java.util.List[] policyNodes
        end local 3 // org.bouncycastle.jce.provider.PKIXPolicyNode validPolicyTree
        end local 2 // java.util.Set acceptablePolicies
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0  112     0                   certPath  Ljava/security/cert/CertPath;
            0  112     1                      index  I
            0  112     2         acceptablePolicies  Ljava/util/Set;
            0  112     3            validPolicyTree  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
            0  112     4                policyNodes  [Ljava/util/List;
            0  112     5           inhibitAnyPolicy  I
            1  112     6                      certs  Ljava/util/List;
            2  112     7                       cert  Ljava/security/cert/X509Certificate;
            3  112     8                          n  I
            4  112     9                          i  I
            5  112    10               certPolicies  Lorg/bouncycastle/asn1/ASN1Sequence;
           10   13    11                          e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           15  111    11                          e  Ljava/util/Enumeration;
           16  111    12                       pols  Ljava/util/Set;
           18   31    13                      pInfo  Lorg/bouncycastle/asn1/x509/PolicyInformation;
           19   31    14                       pOid  Lorg/bouncycastle/asn1/DERObjectIdentifier;
           22   31    15                         pq  Ljava/util/Set;
           25   28    16                         ex  Ljava/security/cert/CertPathValidatorException;
           29   31    16                      match  Z
           37   45    13                         it  Ljava/util/Iterator;
           38   45    14                         t1  Ljava/util/Set;
           40   42    15                          o  Ljava/lang/Object;
           49   82    13                      pInfo  Lorg/bouncycastle/asn1/x509/PolicyInformation;
           51   82    14                       _apq  Ljava/util/Set;
           52   82    15                     _nodes  Ljava/util/List;
           53   81    16                          k  I
           55   79    17                      _node  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           56   79    18             _policySetIter  Ljava/util/Iterator;
           58   78    19                       _tmp  Ljava/lang/Object;
           60   61    20                    _policy  Ljava/lang/String;
           63   78    20                    _policy  Ljava/lang/String;
           64   78    21                     _found  Z
           65   78    22              _childrenIter  Ljava/util/Iterator;
           67   69    23                     _child  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           72   78    23  _newChildExpectedPolicies  Ljava/util/Set;
           76   78    24                  _newChild  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           84  111    13           _validPolicyTree  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           85  100    14                          j  I
           87   98    15                      nodes  Ljava/util/List;
           88   98    16                          k  I
           90   96    17                       node  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
          101  111    14      criticalExtensionOids  Ljava/util/Set;
          103  110    15                   critical  Z
          104  110    16                      nodes  Ljava/util/List;
          105  110    17                          j  I
          107  108    18                       node  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
      Exception table:
        from    to  target  type
           5     8       9  Class org.bouncycastle.jce.provider.AnnotatedException
          22    23      24  Class java.security.cert.CertPathValidatorException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
                    Name  Flags
      certPath            
      index               
      acceptablePolicies  
      validPolicyTree     
      policyNodes         
      inhibitAnyPolicy    

  protected static void processCertA(java.security.cert.CertPath, org.bouncycastle.x509.ExtendedPKIXParameters, int, java.security.PublicKey, boolean, javax.security.auth.x500.X500Principal, java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/CertPath;Lorg/bouncycastle/x509/ExtendedPKIXParameters;ILjava/security/PublicKey;ZLjavax/security/auth/x500/X500Principal;Ljava/security/cert/X509Certificate;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=11, args_size=7
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
        start local 2 // int index
        start local 3 // java.security.PublicKey workingPublicKey
        start local 4 // boolean verificationAlreadyPerformed
        start local 5 // javax.security.auth.x500.X500Principal workingIssuerName
        start local 6 // java.security.cert.X509Certificate sign
         0: .line 1460
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 7 /* certs */
        start local 7 // java.util.List certs
         1: .line 1461
            aload 7 /* certs */
            iload 2 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 8 /* cert */
        start local 8 // java.security.cert.X509Certificate cert
         2: .line 1465
            iload 4 /* verificationAlreadyPerformed */
            ifne 9
         3: .line 1471
            aload 8 /* cert */
            aload 3 /* workingPublicKey */
         4: .line 1472
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getSigProvider:()Ljava/lang/String;
         5: .line 1471
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.verifyX509Certificate:(Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/lang/String;)V
         6: .line 1473
            goto 9
         7: .line 1474
      StackMap locals: java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters int java.security.PublicKey int javax.security.auth.x500.X500Principal java.security.cert.X509Certificate java.util.List java.security.cert.X509Certificate
      StackMap stack: java.security.GeneralSecurityException
            astore 9 /* e */
        start local 9 // java.security.GeneralSecurityException e
         8: .line 1476
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Could not validate certificate signature."
            aload 9 /* e */
            aload 0 /* certPath */
            iload 2 /* index */
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 9 // java.security.GeneralSecurityException e
         9: .line 1484
      StackMap locals:
      StackMap stack:
            aload 8 /* cert */
        10: .line 1485
            aload 1 /* paramsPKIX */
            aload 0 /* certPath */
            iload 2 /* index */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getValidCertDateFromValidityModel:(Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/CertPath;I)Ljava/util/Date;
        11: .line 1484
            invokevirtual java.security.cert.X509Certificate.checkValidity:(Ljava/util/Date;)V
        12: .line 1486
            goto 19
        13: .line 1487
      StackMap locals:
      StackMap stack: java.security.cert.CertificateExpiredException
            astore 9 /* e */
        start local 9 // java.security.cert.CertificateExpiredException e
        14: .line 1489
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not validate certificate: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* e */
            invokevirtual java.security.cert.CertificateExpiredException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 9 /* e */
            aload 0 /* certPath */
            iload 2 /* index */
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 9 // java.security.cert.CertificateExpiredException e
        15: .line 1491
      StackMap locals:
      StackMap stack: java.security.cert.CertificateNotYetValidException
            astore 9 /* e */
        start local 9 // java.security.cert.CertificateNotYetValidException e
        16: .line 1493
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not validate certificate: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* e */
            invokevirtual java.security.cert.CertificateNotYetValidException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 9 /* e */
            aload 0 /* certPath */
            iload 2 /* index */
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 9 // java.security.cert.CertificateNotYetValidException e
        17: .line 1495
      StackMap locals:
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 9 /* e */
        start local 9 // org.bouncycastle.jce.provider.AnnotatedException e
        18: .line 1497
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Could not validate time of certificate."
            aload 9 /* e */
            aload 0 /* certPath */
            iload 2 /* index */
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 9 // org.bouncycastle.jce.provider.AnnotatedException e
        19: .line 1503
      StackMap locals:
      StackMap stack:
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isRevocationEnabled:()Z
            ifeq 31
        20: .line 1507
            aload 1 /* paramsPKIX */
            aload 8 /* cert */
            aload 1 /* paramsPKIX */
        21: .line 1508
            aload 0 /* certPath */
            iload 2 /* index */
        22: .line 1507
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getValidCertDateFromValidityModel:(Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/CertPath;I)Ljava/util/Date;
        23: .line 1508
            aload 6 /* sign */
            aload 3 /* workingPublicKey */
            aload 7 /* certs */
        24: .line 1507
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.checkCRLs:(Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/util/List;)V
        25: .line 1509
            goto 31
        26: .line 1510
      StackMap locals:
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 9 /* e */
        start local 9 // org.bouncycastle.jce.provider.AnnotatedException e
        27: .line 1512
            aload 9 /* e */
            astore 10 /* cause */
        start local 10 // java.lang.Throwable cause
        28: .line 1513
            aload 9 /* e */
            invokevirtual org.bouncycastle.jce.provider.AnnotatedException.getCause:()Ljava/lang/Throwable;
            ifnull 30
        29: .line 1515
            aload 9 /* e */
            invokevirtual org.bouncycastle.jce.provider.AnnotatedException.getCause:()Ljava/lang/Throwable;
            astore 10 /* cause */
        30: .line 1517
      StackMap locals: org.bouncycastle.jce.provider.AnnotatedException java.lang.Throwable
      StackMap stack:
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            aload 9 /* e */
            invokevirtual org.bouncycastle.jce.provider.AnnotatedException.getMessage:()Ljava/lang/String;
            aload 10 /* cause */
            aload 0 /* certPath */
            iload 2 /* index */
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 10 // java.lang.Throwable cause
        end local 9 // org.bouncycastle.jce.provider.AnnotatedException e
        31: .line 1524
      StackMap locals:
      StackMap stack:
            aload 8 /* cert */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getEncodedIssuerPrincipal:(Ljava/lang/Object;)Ljavax/security/auth/x500/X500Principal;
            aload 5 /* workingIssuerName */
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
            ifne 36
        32: .line 1526
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            new java.lang.StringBuilder
            dup
            ldc "IssuerName("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* cert */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getEncodedIssuerPrincipal:(Ljava/lang/Object;)Ljavax/security/auth/x500/X500Principal;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        33: .line 1527
            ldc ") does not match SubjectName("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* workingIssuerName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ") of signing certificate."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aconst_null
        34: .line 1528
            aload 0 /* certPath */
            iload 2 /* index */
        35: .line 1526
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        36: .line 1530
      StackMap locals:
      StackMap stack:
            return
        end local 8 // java.security.cert.X509Certificate cert
        end local 7 // java.util.List certs
        end local 6 // java.security.cert.X509Certificate sign
        end local 5 // javax.security.auth.x500.X500Principal workingIssuerName
        end local 4 // boolean verificationAlreadyPerformed
        end local 3 // java.security.PublicKey workingPublicKey
        end local 2 // int index
        end local 1 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   37     0                      certPath  Ljava/security/cert/CertPath;
            0   37     1                    paramsPKIX  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
            0   37     2                         index  I
            0   37     3              workingPublicKey  Ljava/security/PublicKey;
            0   37     4  verificationAlreadyPerformed  Z
            0   37     5             workingIssuerName  Ljavax/security/auth/x500/X500Principal;
            0   37     6                          sign  Ljava/security/cert/X509Certificate;
            1   37     7                         certs  Ljava/util/List;
            2   37     8                          cert  Ljava/security/cert/X509Certificate;
            8    9     9                             e  Ljava/security/GeneralSecurityException;
           14   15     9                             e  Ljava/security/cert/CertificateExpiredException;
           16   17     9                             e  Ljava/security/cert/CertificateNotYetValidException;
           18   19     9                             e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           27   31     9                             e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           28   31    10                         cause  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     6       7  Class java.security.GeneralSecurityException
           9    12      13  Class java.security.cert.CertificateExpiredException
           9    12      15  Class java.security.cert.CertificateNotYetValidException
           9    12      17  Class org.bouncycastle.jce.provider.AnnotatedException
          20    25      26  Class org.bouncycastle.jce.provider.AnnotatedException
    Exceptions:
      throws org.bouncycastle.jce.exception.ExtCertPathValidatorException
    MethodParameters:
                              Name  Flags
      certPath                      
      paramsPKIX                    
      index                         
      workingPublicKey              
      verificationAlreadyPerformed  
      workingIssuerName             
      sign                          

  protected static int prepareNextCertI1(java.security.cert.CertPath, int, int);
    descriptor: (Ljava/security/cert/CertPath;II)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
        start local 2 // int explicitPolicy
         0: .line 1538
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 3 /* certs */
        start local 3 // java.util.List certs
         1: .line 1539
            aload 3 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 4 /* cert */
        start local 4 // java.security.cert.X509Certificate cert
         2: .line 1543
            aconst_null
            astore 5 /* pc */
        start local 5 // org.bouncycastle.asn1.ASN1Sequence pc
         3: .line 1546
            aload 4 /* cert */
         4: .line 1547
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.POLICY_CONSTRAINTS:Ljava/lang/String;
         5: .line 1546
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.DERSequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            astore 5 /* pc */
         6: .line 1548
            goto 11
         7: .line 1549
      StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
         8: .line 1551
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Policy constraints extension cannot be decoded."
            aload 6 /* e */
            aload 0 /* certPath */
         9: .line 1552
            iload 1 /* index */
        10: .line 1551
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 6 // java.lang.Exception e
        11: .line 1557
      StackMap locals:
      StackMap stack:
            aload 5 /* pc */
            ifnull 25
        12: .line 1559
            aload 5 /* pc */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
            astore 7 /* policyConstraints */
        start local 7 // java.util.Enumeration policyConstraints
        13: .line 1561
            goto 24
        14: .line 1566
      StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence top java.util.Enumeration
      StackMap stack:
            aload 7 /* policyConstraints */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            invokestatic org.bouncycastle.asn1.ASN1TaggedObject.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1TaggedObject;
            astore 8 /* constraint */
        start local 8 // org.bouncycastle.asn1.ASN1TaggedObject constraint
        15: .line 1567
            aload 8 /* constraint */
            invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.getTagNo:()I
            ifne 24
        16: .line 1569
            aload 8 /* constraint */
            iconst_0
            invokestatic org.bouncycastle.asn1.DERInteger.getInstance:(Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/DERInteger;
            invokevirtual org.bouncycastle.asn1.DERInteger.getValue:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.intValue:()I
            istore 6 /* tmpInt */
        start local 6 // int tmpInt
        17: .line 1570
            iload 6 /* tmpInt */
            iload 2 /* explicitPolicy */
            if_icmpge 25
        18: .line 1572
            iload 6 /* tmpInt */
        19: ireturn
        end local 8 // org.bouncycastle.asn1.ASN1TaggedObject constraint
        end local 6 // int tmpInt
        20: .line 1577
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 8 /* e */
        start local 8 // java.lang.IllegalArgumentException e
        21: .line 1579
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Policy constraints extension contents cannot be decoded."
        22: .line 1580
            aload 8 /* e */
            aload 0 /* certPath */
            iload 1 /* index */
        23: .line 1579
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 8 // java.lang.IllegalArgumentException e
        24: .line 1561
      StackMap locals:
      StackMap stack:
            aload 7 /* policyConstraints */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 14
        end local 7 // java.util.Enumeration policyConstraints
        25: .line 1584
      StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence
      StackMap stack:
            iload 2 /* explicitPolicy */
            ireturn
        end local 5 // org.bouncycastle.asn1.ASN1Sequence pc
        end local 4 // java.security.cert.X509Certificate cert
        end local 3 // java.util.List certs
        end local 2 // int explicitPolicy
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   26     0           certPath  Ljava/security/cert/CertPath;
            0   26     1              index  I
            0   26     2     explicitPolicy  I
            1   26     3              certs  Ljava/util/List;
            2   26     4               cert  Ljava/security/cert/X509Certificate;
            3   26     5                 pc  Lorg/bouncycastle/asn1/ASN1Sequence;
            8   11     6                  e  Ljava/lang/Exception;
           17   20     6             tmpInt  I
           13   25     7  policyConstraints  Ljava/util/Enumeration;
           15   20     8         constraint  Lorg/bouncycastle/asn1/ASN1TaggedObject;
           21   24     8                  e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           3     6       7  Class java.lang.Exception
          14    19      20  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
                Name  Flags
      certPath        
      index           
      explicitPolicy  

  protected static int prepareNextCertI2(java.security.cert.CertPath, int, int);
    descriptor: (Ljava/security/cert/CertPath;II)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
        start local 2 // int policyMapping
         0: .line 1593
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 3 /* certs */
        start local 3 // java.util.List certs
         1: .line 1594
            aload 3 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 4 /* cert */
        start local 4 // java.security.cert.X509Certificate cert
         2: .line 1598
            aconst_null
            astore 5 /* pc */
        start local 5 // org.bouncycastle.asn1.ASN1Sequence pc
         3: .line 1601
            aload 4 /* cert */
         4: .line 1602
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.POLICY_CONSTRAINTS:Ljava/lang/String;
         5: .line 1601
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.DERSequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            astore 5 /* pc */
         6: .line 1603
            goto 11
         7: .line 1604
      StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
         8: .line 1606
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Policy constraints extension cannot be decoded."
            aload 6 /* e */
            aload 0 /* certPath */
         9: .line 1607
            iload 1 /* index */
        10: .line 1606
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 6 // java.lang.Exception e
        11: .line 1612
      StackMap locals:
      StackMap stack:
            aload 5 /* pc */
            ifnull 25
        12: .line 1614
            aload 5 /* pc */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
            astore 7 /* policyConstraints */
        start local 7 // java.util.Enumeration policyConstraints
        13: .line 1616
            goto 24
        14: .line 1620
      StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence top java.util.Enumeration
      StackMap stack:
            aload 7 /* policyConstraints */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            invokestatic org.bouncycastle.asn1.ASN1TaggedObject.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1TaggedObject;
            astore 8 /* constraint */
        start local 8 // org.bouncycastle.asn1.ASN1TaggedObject constraint
        15: .line 1621
            aload 8 /* constraint */
            invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.getTagNo:()I
            iconst_1
            if_icmpne 24
        16: .line 1623
            aload 8 /* constraint */
            iconst_0
            invokestatic org.bouncycastle.asn1.DERInteger.getInstance:(Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/DERInteger;
            invokevirtual org.bouncycastle.asn1.DERInteger.getValue:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.intValue:()I
            istore 6 /* tmpInt */
        start local 6 // int tmpInt
        17: .line 1624
            iload 6 /* tmpInt */
            iload 2 /* policyMapping */
            if_icmpge 25
        18: .line 1626
            iload 6 /* tmpInt */
        19: ireturn
        end local 8 // org.bouncycastle.asn1.ASN1TaggedObject constraint
        end local 6 // int tmpInt
        20: .line 1631
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 8 /* e */
        start local 8 // java.lang.IllegalArgumentException e
        21: .line 1633
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Policy constraints extension contents cannot be decoded."
        22: .line 1634
            aload 8 /* e */
            aload 0 /* certPath */
            iload 1 /* index */
        23: .line 1633
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 8 // java.lang.IllegalArgumentException e
        24: .line 1616
      StackMap locals:
      StackMap stack:
            aload 7 /* policyConstraints */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 14
        end local 7 // java.util.Enumeration policyConstraints
        25: .line 1638
      StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.ASN1Sequence
      StackMap stack:
            iload 2 /* policyMapping */
            ireturn
        end local 5 // org.bouncycastle.asn1.ASN1Sequence pc
        end local 4 // java.security.cert.X509Certificate cert
        end local 3 // java.util.List certs
        end local 2 // int policyMapping
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   26     0           certPath  Ljava/security/cert/CertPath;
            0   26     1              index  I
            0   26     2      policyMapping  I
            1   26     3              certs  Ljava/util/List;
            2   26     4               cert  Ljava/security/cert/X509Certificate;
            3   26     5                 pc  Lorg/bouncycastle/asn1/ASN1Sequence;
            8   11     6                  e  Ljava/lang/Exception;
           17   20     6             tmpInt  I
           13   25     7  policyConstraints  Ljava/util/Enumeration;
           15   20     8         constraint  Lorg/bouncycastle/asn1/ASN1TaggedObject;
           21   24     8                  e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           3     6       7  Class java.lang.Exception
          14    19      20  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
               Name  Flags
      certPath       
      index          
      policyMapping  

  protected static void prepareNextCertG(java.security.cert.CertPath, int, org.bouncycastle.jce.provider.PKIXNameConstraintValidator);
    descriptor: (Ljava/security/cert/CertPath;ILorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
        start local 2 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator nameConstraintValidator
         0: .line 1647
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 3 /* certs */
        start local 3 // java.util.List certs
         1: .line 1648
            aload 3 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 4 /* cert */
        start local 4 // java.security.cert.X509Certificate cert
         2: .line 1652
            aconst_null
            astore 5 /* nc */
        start local 5 // org.bouncycastle.asn1.x509.NameConstraints nc
         3: .line 1655
            aload 4 /* cert */
         4: .line 1656
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.NAME_CONSTRAINTS:Ljava/lang/String;
         5: .line 1655
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.DERSequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            astore 6 /* ncSeq */
        start local 6 // org.bouncycastle.asn1.ASN1Sequence ncSeq
         6: .line 1657
            aload 6 /* ncSeq */
            ifnull 13
         7: .line 1659
            new org.bouncycastle.asn1.x509.NameConstraints
            dup
            aload 6 /* ncSeq */
            invokespecial org.bouncycastle.asn1.x509.NameConstraints.<init>:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
            astore 5 /* nc */
        end local 6 // org.bouncycastle.asn1.ASN1Sequence ncSeq
         8: .line 1661
            goto 13
         9: .line 1662
      StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXNameConstraintValidator java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.x509.NameConstraints
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        10: .line 1664
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Name constraints extension could not be decoded."
            aload 6 /* e */
            aload 0 /* certPath */
        11: .line 1665
            iload 1 /* index */
        12: .line 1664
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 6 // java.lang.Exception e
        13: .line 1667
      StackMap locals:
      StackMap stack:
            aload 5 /* nc */
            ifnull 34
        14: .line 1673
            aload 5 /* nc */
            invokevirtual org.bouncycastle.asn1.x509.NameConstraints.getPermittedSubtrees:()Lorg/bouncycastle/asn1/ASN1Sequence;
            astore 6 /* permitted */
        start local 6 // org.bouncycastle.asn1.ASN1Sequence permitted
        15: .line 1674
            aload 6 /* permitted */
            ifnull 22
        16: .line 1678
            aload 2 /* nameConstraintValidator */
            aload 6 /* permitted */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.intersectPermittedSubtree:(Lorg/bouncycastle/asn1/ASN1Sequence;)V
        17: .line 1679
            goto 22
        18: .line 1680
      StackMap locals: java.security.cert.CertPath int org.bouncycastle.jce.provider.PKIXNameConstraintValidator java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.x509.NameConstraints org.bouncycastle.asn1.ASN1Sequence
      StackMap stack: java.lang.Exception
            astore 7 /* ex */
        start local 7 // java.lang.Exception ex
        19: .line 1682
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
        20: .line 1683
            ldc "Permitted subtrees cannot be build from name constraints extension."
            aload 7 /* ex */
            aload 0 /* certPath */
            iload 1 /* index */
        21: .line 1682
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 7 // java.lang.Exception ex
        22: .line 1690
      StackMap locals:
      StackMap stack:
            aload 5 /* nc */
            invokevirtual org.bouncycastle.asn1.x509.NameConstraints.getExcludedSubtrees:()Lorg/bouncycastle/asn1/ASN1Sequence;
            astore 7 /* excluded */
        start local 7 // org.bouncycastle.asn1.ASN1Sequence excluded
        23: .line 1691
            aload 7 /* excluded */
            ifnull 34
        24: .line 1693
            aload 7 /* excluded */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
            astore 8 /* e */
        start local 8 // java.util.Enumeration e
        25: .line 1696
            goto 28
        26: .line 1698
      StackMap locals: org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration
      StackMap stack:
            aload 8 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            invokestatic org.bouncycastle.asn1.x509.GeneralSubtree.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/GeneralSubtree;
            astore 9 /* subtree */
        start local 9 // org.bouncycastle.asn1.x509.GeneralSubtree subtree
        27: .line 1699
            aload 2 /* nameConstraintValidator */
            aload 9 /* subtree */
            invokevirtual org.bouncycastle.jce.provider.PKIXNameConstraintValidator.addExcludedSubtree:(Lorg/bouncycastle/asn1/x509/GeneralSubtree;)V
        end local 9 // org.bouncycastle.asn1.x509.GeneralSubtree subtree
        28: .line 1696
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 26
        29: .line 1701
            goto 34
        30: .line 1702
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 9 /* ex */
        start local 9 // java.lang.Exception ex
        31: .line 1704
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
        32: .line 1705
            ldc "Excluded subtrees cannot be build from name constraints extension."
            aload 9 /* ex */
            aload 0 /* certPath */
            iload 1 /* index */
        33: .line 1704
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 9 // java.lang.Exception ex
        end local 8 // java.util.Enumeration e
        end local 7 // org.bouncycastle.asn1.ASN1Sequence excluded
        end local 6 // org.bouncycastle.asn1.ASN1Sequence permitted
        34: .line 1709
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.bouncycastle.asn1.x509.NameConstraints nc
        end local 4 // java.security.cert.X509Certificate cert
        end local 3 // java.util.List certs
        end local 2 // org.bouncycastle.jce.provider.PKIXNameConstraintValidator nameConstraintValidator
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   35     0                 certPath  Ljava/security/cert/CertPath;
            0   35     1                    index  I
            0   35     2  nameConstraintValidator  Lorg/bouncycastle/jce/provider/PKIXNameConstraintValidator;
            1   35     3                    certs  Ljava/util/List;
            2   35     4                     cert  Ljava/security/cert/X509Certificate;
            3   35     5                       nc  Lorg/bouncycastle/asn1/x509/NameConstraints;
            6    8     6                    ncSeq  Lorg/bouncycastle/asn1/ASN1Sequence;
           10   13     6                        e  Ljava/lang/Exception;
           15   34     6                permitted  Lorg/bouncycastle/asn1/ASN1Sequence;
           19   22     7                       ex  Ljava/lang/Exception;
           23   34     7                 excluded  Lorg/bouncycastle/asn1/ASN1Sequence;
           25   34     8                        e  Ljava/util/Enumeration;
           27   28     9                  subtree  Lorg/bouncycastle/asn1/x509/GeneralSubtree;
           31   34     9                       ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     8       9  Class java.lang.Exception
          16    17      18  Class java.lang.Exception
          25    29      30  Class java.lang.Exception
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
                         Name  Flags
      certPath                 
      index                    
      nameConstraintValidator  

  private static void checkCRL(org.bouncycastle.asn1.x509.DistributionPoint, org.bouncycastle.x509.ExtendedPKIXParameters, java.security.cert.X509Certificate, java.util.Date, java.security.cert.X509Certificate, java.security.PublicKey, org.bouncycastle.jce.provider.CertStatus, org.bouncycastle.jce.provider.ReasonsMask, java.util.List);
    descriptor: (Lorg/bouncycastle/asn1/x509/DistributionPoint;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/jce/provider/ReasonsMask;Ljava/util/List;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=20, args_size=9
        start local 0 // org.bouncycastle.asn1.x509.DistributionPoint dp
        start local 1 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
        start local 2 // java.security.cert.X509Certificate cert
        start local 3 // java.util.Date validDate
        start local 4 // java.security.cert.X509Certificate defaultCRLSignCert
        start local 5 // java.security.PublicKey defaultCRLSignKey
        start local 6 // org.bouncycastle.jce.provider.CertStatus certStatus
        start local 7 // org.bouncycastle.jce.provider.ReasonsMask reasonMask
        start local 8 // java.util.List certPathCerts
         0: .line 1741
            new java.util.Date
            dup
            invokestatic java.lang.System.currentTimeMillis:()J
            invokespecial java.util.Date.<init>:(J)V
            astore 9 /* currentDate */
        start local 9 // java.util.Date currentDate
         1: .line 1742
            aload 3 /* validDate */
            invokevirtual java.util.Date.getTime:()J
            aload 9 /* currentDate */
            invokevirtual java.util.Date.getTime:()J
            lcmp
            ifle 3
         2: .line 1744
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Validation time is in future."
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1755
      StackMap locals: java.util.Date
      StackMap stack:
            aload 0 /* dp */
            aload 2 /* cert */
            aload 9 /* currentDate */
            aload 1 /* paramsPKIX */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getCompleteCRLs:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)Ljava/util/Set;
            astore 10 /* crls */
        start local 10 // java.util.Set crls
         4: .line 1756
            iconst_0
            istore 11 /* validCrlFound */
        start local 11 // boolean validCrlFound
         5: .line 1757
            aconst_null
            astore 12 /* lastException */
        start local 12 // org.bouncycastle.jce.provider.AnnotatedException lastException
         6: .line 1758
            aload 10 /* crls */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 13 /* crl_iter */
        start local 13 // java.util.Iterator crl_iter
         7: .line 1760
            goto 50
         8: .line 1764
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.security.cert.X509Certificate java.security.PublicKey org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask java.util.List java.util.Date java.util.Set int org.bouncycastle.jce.provider.AnnotatedException java.util.Iterator
      StackMap stack:
            aload 13 /* crl_iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.X509CRL
            astore 14 /* crl */
        start local 14 // java.security.cert.X509CRL crl
         9: .line 1767
            aload 14 /* crl */
            aload 0 /* dp */
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLD:(Ljava/security/cert/X509CRL;Lorg/bouncycastle/asn1/x509/DistributionPoint;)Lorg/bouncycastle/jce/provider/ReasonsMask;
            astore 15 /* interimReasonsMask */
        start local 15 // org.bouncycastle.jce.provider.ReasonsMask interimReasonsMask
        10: .line 1775
            aload 15 /* interimReasonsMask */
            aload 7 /* reasonMask */
            invokevirtual org.bouncycastle.jce.provider.ReasonsMask.hasNewReasons:(Lorg/bouncycastle/jce/provider/ReasonsMask;)Z
            ifne 12
        11: .line 1777
            goto 50
        12: .line 1781
      StackMap locals: java.security.cert.X509CRL org.bouncycastle.jce.provider.ReasonsMask
      StackMap stack:
            aload 14 /* crl */
            aload 2 /* cert */
            aload 4 /* defaultCRLSignCert */
            aload 5 /* defaultCRLSignKey */
        13: .line 1782
            aload 1 /* paramsPKIX */
            aload 8 /* certPathCerts */
        14: .line 1781
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLF:(Ljava/security/cert/X509CRL;Ljava/lang/Object;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/util/List;)Ljava/util/Set;
            astore 16 /* keys */
        start local 16 // java.util.Set keys
        15: .line 1784
            aload 14 /* crl */
            aload 16 /* keys */
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLG:(Ljava/security/cert/X509CRL;Ljava/util/Set;)Ljava/security/PublicKey;
            astore 17 /* key */
        start local 17 // java.security.PublicKey key
        16: .line 1786
            aconst_null
            astore 18 /* deltaCRL */
        start local 18 // java.security.cert.X509CRL deltaCRL
        17: .line 1788
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isUseDeltasEnabled:()Z
            ifeq 20
        18: .line 1791
            aload 9 /* currentDate */
            aload 1 /* paramsPKIX */
            aload 14 /* crl */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getDeltaCRLs:(Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509CRL;)Ljava/util/Set;
            astore 19 /* deltaCRLs */
        start local 19 // java.util.Set deltaCRLs
        19: .line 1794
            aload 19 /* deltaCRLs */
            aload 17 /* key */
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLH:(Ljava/util/Set;Ljava/security/PublicKey;)Ljava/security/cert/X509CRL;
            astore 18 /* deltaCRL */
        end local 19 // java.util.Set deltaCRLs
        20: .line 1810
      StackMap locals: java.util.Set java.security.PublicKey java.security.cert.X509CRL
      StackMap stack:
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getValidityModel:()I
            iconst_1
            if_icmpeq 23
        21: .line 1817
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getNotAfter:()Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            aload 14 /* crl */
            invokevirtual java.security.cert.X509CRL.getThisUpdate:()Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            lcmp
            ifge 23
        22: .line 1819
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "No valid CRL for current time found."
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 1823
      StackMap locals:
      StackMap stack:
            aload 0 /* dp */
            aload 2 /* cert */
            aload 14 /* crl */
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLB1:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/security/cert/X509CRL;)V
        24: .line 1826
            aload 0 /* dp */
            aload 2 /* cert */
            aload 14 /* crl */
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLB2:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/security/cert/X509CRL;)V
        25: .line 1829
            aload 18 /* deltaCRL */
            aload 14 /* crl */
            aload 1 /* paramsPKIX */
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLC:(Ljava/security/cert/X509CRL;Ljava/security/cert/X509CRL;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
        26: .line 1832
            aload 3 /* validDate */
            aload 18 /* deltaCRL */
            aload 2 /* cert */
            aload 6 /* certStatus */
            aload 1 /* paramsPKIX */
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLI:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
        27: .line 1835
            aload 3 /* validDate */
            aload 14 /* crl */
            aload 2 /* cert */
            aload 6 /* certStatus */
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLJ:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/jce/provider/CertStatus;)V
        28: .line 1838
            aload 6 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
            bipush 8
            if_icmpne 30
        29: .line 1840
            aload 6 /* certStatus */
            bipush 11
            invokevirtual org.bouncycastle.jce.provider.CertStatus.setCertStatus:(I)V
        30: .line 1844
      StackMap locals:
      StackMap stack:
            aload 7 /* reasonMask */
            aload 15 /* interimReasonsMask */
            invokevirtual org.bouncycastle.jce.provider.ReasonsMask.addReasons:(Lorg/bouncycastle/jce/provider/ReasonsMask;)V
        31: .line 1846
            aload 14 /* crl */
            invokevirtual java.security.cert.X509CRL.getCriticalExtensionOIDs:()Ljava/util/Set;
            astore 19 /* criticalExtensions */
        start local 19 // java.util.Set criticalExtensions
        32: .line 1847
            aload 19 /* criticalExtensions */
            ifnull 38
        33: .line 1849
            new java.util.HashSet
            dup
            aload 19 /* criticalExtensions */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 19 /* criticalExtensions */
        34: .line 1850
            aload 19 /* criticalExtensions */
            getstatic org.bouncycastle.asn1.x509.X509Extensions.IssuingDistributionPoint:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        35: .line 1851
            aload 19 /* criticalExtensions */
            getstatic org.bouncycastle.asn1.x509.X509Extensions.DeltaCRLIndicator:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        36: .line 1853
            aload 19 /* criticalExtensions */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 38
        37: .line 1855
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "CRL contains unsupported critical extensions."
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        38: .line 1859
      StackMap locals: java.util.Set
      StackMap stack:
            aload 18 /* deltaCRL */
            ifnull 46
        39: .line 1861
            aload 18 /* deltaCRL */
            invokevirtual java.security.cert.X509CRL.getCriticalExtensionOIDs:()Ljava/util/Set;
            astore 19 /* criticalExtensions */
        40: .line 1862
            aload 19 /* criticalExtensions */
            ifnull 46
        41: .line 1864
            new java.util.HashSet
            dup
            aload 19 /* criticalExtensions */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 19 /* criticalExtensions */
        42: .line 1865
            aload 19 /* criticalExtensions */
            getstatic org.bouncycastle.asn1.x509.X509Extensions.IssuingDistributionPoint:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        43: .line 1866
            aload 19 /* criticalExtensions */
            getstatic org.bouncycastle.asn1.x509.X509Extensions.DeltaCRLIndicator:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        44: .line 1867
            aload 19 /* criticalExtensions */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 46
        45: .line 1869
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Delta CRL contains unsupported critical extension."
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        46: .line 1874
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 11 /* validCrlFound */
        end local 19 // java.util.Set criticalExtensions
        end local 18 // java.security.cert.X509CRL deltaCRL
        end local 17 // java.security.PublicKey key
        end local 16 // java.util.Set keys
        end local 15 // org.bouncycastle.jce.provider.ReasonsMask interimReasonsMask
        end local 14 // java.security.cert.X509CRL crl
        47: .line 1875
            goto 50
        48: .line 1876
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.security.cert.X509Certificate java.security.PublicKey org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask java.util.List java.util.Date java.util.Set int org.bouncycastle.jce.provider.AnnotatedException java.util.Iterator
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 14 /* e */
        start local 14 // org.bouncycastle.jce.provider.AnnotatedException e
        49: .line 1878
            aload 14 /* e */
            astore 12 /* lastException */
        end local 14 // org.bouncycastle.jce.provider.AnnotatedException e
        50: .line 1760
      StackMap locals:
      StackMap stack:
            aload 13 /* crl_iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 51
            aload 6 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
            bipush 11
            if_icmpne 51
            aload 7 /* reasonMask */
            invokevirtual org.bouncycastle.jce.provider.ReasonsMask.isAllReasons:()Z
            ifeq 8
        51: .line 1881
      StackMap locals:
      StackMap stack:
            iload 11 /* validCrlFound */
            ifne 53
        52: .line 1883
            aload 12 /* lastException */
            athrow
        53: .line 1885
      StackMap locals:
      StackMap stack:
            return
        end local 13 // java.util.Iterator crl_iter
        end local 12 // org.bouncycastle.jce.provider.AnnotatedException lastException
        end local 11 // boolean validCrlFound
        end local 10 // java.util.Set crls
        end local 9 // java.util.Date currentDate
        end local 8 // java.util.List certPathCerts
        end local 7 // org.bouncycastle.jce.provider.ReasonsMask reasonMask
        end local 6 // org.bouncycastle.jce.provider.CertStatus certStatus
        end local 5 // java.security.PublicKey defaultCRLSignKey
        end local 4 // java.security.cert.X509Certificate defaultCRLSignCert
        end local 3 // java.util.Date validDate
        end local 2 // java.security.cert.X509Certificate cert
        end local 1 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
        end local 0 // org.bouncycastle.asn1.x509.DistributionPoint dp
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   54     0                  dp  Lorg/bouncycastle/asn1/x509/DistributionPoint;
            0   54     1          paramsPKIX  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
            0   54     2                cert  Ljava/security/cert/X509Certificate;
            0   54     3           validDate  Ljava/util/Date;
            0   54     4  defaultCRLSignCert  Ljava/security/cert/X509Certificate;
            0   54     5   defaultCRLSignKey  Ljava/security/PublicKey;
            0   54     6          certStatus  Lorg/bouncycastle/jce/provider/CertStatus;
            0   54     7          reasonMask  Lorg/bouncycastle/jce/provider/ReasonsMask;
            0   54     8       certPathCerts  Ljava/util/List;
            1   54     9         currentDate  Ljava/util/Date;
            4   54    10                crls  Ljava/util/Set;
            5   54    11       validCrlFound  Z
            6   54    12       lastException  Lorg/bouncycastle/jce/provider/AnnotatedException;
            7   54    13            crl_iter  Ljava/util/Iterator;
            9   47    14                 crl  Ljava/security/cert/X509CRL;
           10   47    15  interimReasonsMask  Lorg/bouncycastle/jce/provider/ReasonsMask;
           15   47    16                keys  Ljava/util/Set;
           16   47    17                 key  Ljava/security/PublicKey;
           17   47    18            deltaCRL  Ljava/security/cert/X509CRL;
           19   20    19           deltaCRLs  Ljava/util/Set;
           32   47    19  criticalExtensions  Ljava/util/Set;
           49   50    14                   e  Lorg/bouncycastle/jce/provider/AnnotatedException;
      Exception table:
        from    to  target  type
           8    11      48  Class org.bouncycastle.jce.provider.AnnotatedException
          12    47      48  Class org.bouncycastle.jce.provider.AnnotatedException
    Exceptions:
      throws org.bouncycastle.jce.provider.AnnotatedException
    MethodParameters:
                    Name  Flags
      dp                  
      paramsPKIX          
      cert                
      validDate           
      defaultCRLSignCert  
      defaultCRLSignKey   
      certStatus          
      reasonMask          
      certPathCerts       

  protected static void checkCRLs(org.bouncycastle.x509.ExtendedPKIXParameters, java.security.cert.X509Certificate, java.util.Date, java.security.cert.X509Certificate, java.security.PublicKey, java.util.List);
    descriptor: (Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/util/List;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=11, locals=15, args_size=6
        start local 0 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
        start local 1 // java.security.cert.X509Certificate cert
        start local 2 // java.util.Date validDate
        start local 3 // java.security.cert.X509Certificate sign
        start local 4 // java.security.PublicKey workingPublicKey
        start local 5 // java.util.List certPathCerts
         0: .line 1909
            aconst_null
            astore 6 /* lastException */
        start local 6 // org.bouncycastle.jce.provider.AnnotatedException lastException
         1: .line 1910
            aconst_null
            astore 7 /* crldp */
        start local 7 // org.bouncycastle.asn1.x509.CRLDistPoint crldp
         2: .line 1913
            aload 1 /* cert */
         3: .line 1914
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.CRL_DISTRIBUTION_POINTS:Ljava/lang/String;
         4: .line 1913
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.x509.CRLDistPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/CRLDistPoint;
            astore 7 /* crldp */
         5: .line 1915
            goto 8
         6: .line 1916
      StackMap locals: org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.security.cert.X509Certificate java.security.PublicKey java.util.List org.bouncycastle.jce.provider.AnnotatedException org.bouncycastle.asn1.x509.CRLDistPoint
      StackMap stack: java.lang.Exception
            astore 8 /* e */
        start local 8 // java.lang.Exception e
         7: .line 1918
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "CRL distribution point extension could not be read."
            aload 8 /* e */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.lang.Exception e
         8: .line 1922
      StackMap locals:
      StackMap stack:
            aload 7 /* crldp */
            aload 0 /* paramsPKIX */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.addAdditionalStoresFromCRLDistributionPoint:(Lorg/bouncycastle/asn1/x509/CRLDistPoint;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
         9: .line 1923
            goto 14
        10: .line 1924
      StackMap locals:
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 8 /* e */
        start local 8 // org.bouncycastle.jce.provider.AnnotatedException e
        11: .line 1926
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
        12: .line 1927
            ldc "No additional CRL locations could be decoded from CRL distribution point extension."
            aload 8 /* e */
        13: .line 1926
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // org.bouncycastle.jce.provider.AnnotatedException e
        14: .line 1929
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.jce.provider.CertStatus
            dup
            invokespecial org.bouncycastle.jce.provider.CertStatus.<init>:()V
            astore 8 /* certStatus */
        start local 8 // org.bouncycastle.jce.provider.CertStatus certStatus
        15: .line 1930
            new org.bouncycastle.jce.provider.ReasonsMask
            dup
            invokespecial org.bouncycastle.jce.provider.ReasonsMask.<init>:()V
            astore 9 /* reasonsMask */
        start local 9 // org.bouncycastle.jce.provider.ReasonsMask reasonsMask
        16: .line 1932
            iconst_0
            istore 10 /* validCrlFound */
        start local 10 // boolean validCrlFound
        17: .line 1934
            aload 7 /* crldp */
            ifnull 34
        18: .line 1936
            aconst_null
            astore 11 /* dps */
        start local 11 // org.bouncycastle.asn1.x509.DistributionPoint[] dps
        19: .line 1939
            aload 7 /* crldp */
            invokevirtual org.bouncycastle.asn1.x509.CRLDistPoint.getDistributionPoints:()[Lorg/bouncycastle/asn1/x509/DistributionPoint;
            astore 11 /* dps */
        20: .line 1940
            goto 23
        21: .line 1941
      StackMap locals: org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.security.cert.X509Certificate java.security.PublicKey java.util.List org.bouncycastle.jce.provider.AnnotatedException org.bouncycastle.asn1.x509.CRLDistPoint org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask int org.bouncycastle.asn1.x509.DistributionPoint[]
      StackMap stack: java.lang.Exception
            astore 12 /* e */
        start local 12 // java.lang.Exception e
        22: .line 1943
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Distribution points could not be read."
            aload 12 /* e */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 12 // java.lang.Exception e
        23: .line 1945
      StackMap locals:
      StackMap stack:
            aload 11 /* dps */
            ifnull 34
        24: .line 1947
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        25: goto 33
        26: .line 1949
      StackMap locals: int
      StackMap stack:
            aload 0 /* paramsPKIX */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.clone:()Ljava/lang/Object;
            checkcast org.bouncycastle.x509.ExtendedPKIXParameters
            astore 13 /* paramsPKIXClone */
        start local 13 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIXClone
        27: .line 1952
            aload 11 /* dps */
            iload 12 /* i */
            aaload
            aload 13 /* paramsPKIXClone */
            aload 1 /* cert */
            aload 2 /* validDate */
            aload 3 /* sign */
            aload 4 /* workingPublicKey */
            aload 8 /* certStatus */
            aload 9 /* reasonsMask */
            aload 5 /* certPathCerts */
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.checkCRL:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/jce/provider/ReasonsMask;Ljava/util/List;)V
        28: .line 1953
            iconst_1
            istore 10 /* validCrlFound */
        29: .line 1954
            goto 32
        30: .line 1955
      StackMap locals: org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.security.cert.X509Certificate java.security.PublicKey java.util.List org.bouncycastle.jce.provider.AnnotatedException org.bouncycastle.asn1.x509.CRLDistPoint org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask int org.bouncycastle.asn1.x509.DistributionPoint[] int org.bouncycastle.x509.ExtendedPKIXParameters
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 14 /* e */
        start local 14 // org.bouncycastle.jce.provider.AnnotatedException e
        31: .line 1957
            aload 14 /* e */
            astore 6 /* lastException */
        end local 14 // org.bouncycastle.jce.provider.AnnotatedException e
        end local 13 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIXClone
        32: .line 1947
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 12 /* i */
            aload 11 /* dps */
            arraylength
            if_icmpge 34
            aload 8 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
            bipush 11
            if_icmpne 34
            aload 9 /* reasonsMask */
            invokevirtual org.bouncycastle.jce.provider.ReasonsMask.isAllReasons:()Z
            ifeq 26
        end local 12 // int i
        end local 11 // org.bouncycastle.asn1.x509.DistributionPoint[] dps
        34: .line 1969
      StackMap locals:
      StackMap stack:
            aload 8 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
            bipush 11
            if_icmpne 53
            aload 9 /* reasonsMask */
            invokevirtual org.bouncycastle.jce.provider.ReasonsMask.isAllReasons:()Z
            ifne 53
        35: .line 1978
            aconst_null
            astore 11 /* issuer */
        start local 11 // org.bouncycastle.asn1.DERObject issuer
        36: .line 1981
            new org.bouncycastle.asn1.ASN1InputStream
            dup
            aload 1 /* cert */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getEncodedIssuerPrincipal:(Ljava/lang/Object;)Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
            invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
        37: .line 1982
            invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
        38: .line 1981
            astore 11 /* issuer */
        39: .line 1983
            goto 42
        40: .line 1984
      StackMap locals: org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.security.cert.X509Certificate java.security.PublicKey java.util.List org.bouncycastle.jce.provider.AnnotatedException org.bouncycastle.asn1.x509.CRLDistPoint org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask int org.bouncycastle.asn1.DERObject
      StackMap stack: java.lang.Exception
            astore 12 /* e */
        start local 12 // java.lang.Exception e
        41: .line 1986
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Issuer from certificate for CRL could not be reencoded."
            aload 12 /* e */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 12 // java.lang.Exception e
        42: .line 1988
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.x509.DistributionPoint
            dup
            new org.bouncycastle.asn1.x509.DistributionPointName
            dup
            iconst_0
            new org.bouncycastle.asn1.x509.GeneralNames
            dup
        43: .line 1989
            new org.bouncycastle.asn1.x509.GeneralName
            dup
            iconst_4
            aload 11 /* issuer */
            invokespecial org.bouncycastle.asn1.x509.GeneralName.<init>:(ILorg/bouncycastle/asn1/ASN1Encodable;)V
            invokespecial org.bouncycastle.asn1.x509.GeneralNames.<init>:(Lorg/bouncycastle/asn1/x509/GeneralName;)V
            invokespecial org.bouncycastle.asn1.x509.DistributionPointName.<init>:(ILorg/bouncycastle/asn1/ASN1Encodable;)V
            aconst_null
            aconst_null
        44: .line 1988
            invokespecial org.bouncycastle.asn1.x509.DistributionPoint.<init>:(Lorg/bouncycastle/asn1/x509/DistributionPointName;Lorg/bouncycastle/asn1/x509/ReasonFlags;Lorg/bouncycastle/asn1/x509/GeneralNames;)V
            astore 12 /* dp */
        start local 12 // org.bouncycastle.asn1.x509.DistributionPoint dp
        45: .line 1990
            aload 0 /* paramsPKIX */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.clone:()Ljava/lang/Object;
            checkcast org.bouncycastle.x509.ExtendedPKIXParameters
            astore 13 /* paramsPKIXClone */
        start local 13 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIXClone
        46: .line 1991
            aload 12 /* dp */
            aload 13 /* paramsPKIXClone */
            aload 1 /* cert */
            aload 2 /* validDate */
            aload 3 /* sign */
            aload 4 /* workingPublicKey */
            aload 8 /* certStatus */
            aload 9 /* reasonsMask */
        47: .line 1992
            aload 5 /* certPathCerts */
        48: .line 1991
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.checkCRL:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/jce/provider/ReasonsMask;Ljava/util/List;)V
        49: .line 1993
            iconst_1
            istore 10 /* validCrlFound */
        end local 13 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIXClone
        end local 12 // org.bouncycastle.asn1.x509.DistributionPoint dp
        end local 11 // org.bouncycastle.asn1.DERObject issuer
        50: .line 1994
            goto 53
        51: .line 1995
      StackMap locals: org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.security.cert.X509Certificate java.security.PublicKey java.util.List org.bouncycastle.jce.provider.AnnotatedException org.bouncycastle.asn1.x509.CRLDistPoint org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask int
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 11 /* e */
        start local 11 // org.bouncycastle.jce.provider.AnnotatedException e
        52: .line 1997
            aload 11 /* e */
            astore 6 /* lastException */
        end local 11 // org.bouncycastle.jce.provider.AnnotatedException e
        53: .line 2001
      StackMap locals:
      StackMap stack:
            iload 10 /* validCrlFound */
            ifne 57
        54: .line 2003
            aload 6 /* lastException */
            instanceof org.bouncycastle.jce.provider.AnnotatedException
            ifeq 56
        55: .line 2005
            aload 6 /* lastException */
            athrow
        56: .line 2008
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "No valid CRL found."
            aload 6 /* lastException */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        57: .line 2010
      StackMap locals:
      StackMap stack:
            aload 8 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
            bipush 11
            if_icmpeq 61
        58: .line 2012
            new java.lang.StringBuilder
            dup
            ldc "Certificate revocation after "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getRevocationDate:()Ljava/util/Date;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* message */
        start local 11 // java.lang.String message
        59: .line 2013
            new java.lang.StringBuilder
            dup
            aload 11 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", reason: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.crlReasons:[Ljava/lang/String;
            aload 8 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 11 /* message */
        60: .line 2014
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            aload 11 /* message */
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.String message
        61: .line 2016
      StackMap locals:
      StackMap stack:
            aload 9 /* reasonsMask */
            invokevirtual org.bouncycastle.jce.provider.ReasonsMask.isAllReasons:()Z
            ifne 63
            aload 8 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
            bipush 11
            if_icmpne 63
        62: .line 2018
            aload 8 /* certStatus */
            bipush 12
            invokevirtual org.bouncycastle.jce.provider.CertStatus.setCertStatus:(I)V
        63: .line 2020
      StackMap locals:
      StackMap stack:
            aload 8 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
            bipush 12
            if_icmpne 65
        64: .line 2022
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Certificate status could not be determined."
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        65: .line 2024
      StackMap locals:
      StackMap stack:
            return
        end local 10 // boolean validCrlFound
        end local 9 // org.bouncycastle.jce.provider.ReasonsMask reasonsMask
        end local 8 // org.bouncycastle.jce.provider.CertStatus certStatus
        end local 7 // org.bouncycastle.asn1.x509.CRLDistPoint crldp
        end local 6 // org.bouncycastle.jce.provider.AnnotatedException lastException
        end local 5 // java.util.List certPathCerts
        end local 4 // java.security.PublicKey workingPublicKey
        end local 3 // java.security.cert.X509Certificate sign
        end local 2 // java.util.Date validDate
        end local 1 // java.security.cert.X509Certificate cert
        end local 0 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   66     0        paramsPKIX  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
            0   66     1              cert  Ljava/security/cert/X509Certificate;
            0   66     2         validDate  Ljava/util/Date;
            0   66     3              sign  Ljava/security/cert/X509Certificate;
            0   66     4  workingPublicKey  Ljava/security/PublicKey;
            0   66     5     certPathCerts  Ljava/util/List;
            1   66     6     lastException  Lorg/bouncycastle/jce/provider/AnnotatedException;
            2   66     7             crldp  Lorg/bouncycastle/asn1/x509/CRLDistPoint;
            7    8     8                 e  Ljava/lang/Exception;
           11   14     8                 e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           15   66     8        certStatus  Lorg/bouncycastle/jce/provider/CertStatus;
           16   66     9       reasonsMask  Lorg/bouncycastle/jce/provider/ReasonsMask;
           17   66    10     validCrlFound  Z
           19   34    11               dps  [Lorg/bouncycastle/asn1/x509/DistributionPoint;
           22   23    12                 e  Ljava/lang/Exception;
           25   34    12                 i  I
           27   32    13   paramsPKIXClone  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
           31   32    14                 e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           36   50    11            issuer  Lorg/bouncycastle/asn1/DERObject;
           41   42    12                 e  Ljava/lang/Exception;
           45   50    12                dp  Lorg/bouncycastle/asn1/x509/DistributionPoint;
           46   50    13   paramsPKIXClone  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
           52   53    11                 e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           59   61    11           message  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     5       6  Class java.lang.Exception
           8     9      10  Class org.bouncycastle.jce.provider.AnnotatedException
          19    20      21  Class java.lang.Exception
          27    29      30  Class org.bouncycastle.jce.provider.AnnotatedException
          36    39      40  Class java.lang.Exception
          35    50      51  Class org.bouncycastle.jce.provider.AnnotatedException
    Exceptions:
      throws org.bouncycastle.jce.provider.AnnotatedException
    MethodParameters:
                  Name  Flags
      paramsPKIX        
      cert              
      validDate         
      sign              
      workingPublicKey  
      certPathCerts     

  protected static int prepareNextCertJ(java.security.cert.CertPath, int, int);
    descriptor: (Ljava/security/cert/CertPath;II)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
        start local 2 // int inhibitAnyPolicy
         0: .line 2032
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 3 /* certs */
        start local 3 // java.util.List certs
         1: .line 2033
            aload 3 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 4 /* cert */
        start local 4 // java.security.cert.X509Certificate cert
         2: .line 2037
            aconst_null
            astore 5 /* iap */
        start local 5 // org.bouncycastle.asn1.DERInteger iap
         3: .line 2040
            aload 4 /* cert */
         4: .line 2041
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.INHIBIT_ANY_POLICY:Ljava/lang/String;
         5: .line 2040
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.DERInteger.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/DERInteger;
            astore 5 /* iap */
         6: .line 2042
            goto 11
         7: .line 2043
      StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.DERInteger
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
         8: .line 2045
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Inhibit any-policy extension cannot be decoded."
            aload 6 /* e */
            aload 0 /* certPath */
         9: .line 2046
            iload 1 /* index */
        10: .line 2045
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 6 // java.lang.Exception e
        11: .line 2049
      StackMap locals:
      StackMap stack:
            aload 5 /* iap */
            ifnull 15
        12: .line 2051
            aload 5 /* iap */
            invokevirtual org.bouncycastle.asn1.DERInteger.getValue:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.intValue:()I
            istore 6 /* _inhibitAnyPolicy */
        start local 6 // int _inhibitAnyPolicy
        13: .line 2053
            iload 6 /* _inhibitAnyPolicy */
            iload 2 /* inhibitAnyPolicy */
            if_icmpge 15
        14: .line 2055
            iload 6 /* _inhibitAnyPolicy */
            ireturn
        end local 6 // int _inhibitAnyPolicy
        15: .line 2058
      StackMap locals:
      StackMap stack:
            iload 2 /* inhibitAnyPolicy */
            ireturn
        end local 5 // org.bouncycastle.asn1.DERInteger iap
        end local 4 // java.security.cert.X509Certificate cert
        end local 3 // java.util.List certs
        end local 2 // int inhibitAnyPolicy
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   16     0           certPath  Ljava/security/cert/CertPath;
            0   16     1              index  I
            0   16     2   inhibitAnyPolicy  I
            1   16     3              certs  Ljava/util/List;
            2   16     4               cert  Ljava/security/cert/X509Certificate;
            3   16     5                iap  Lorg/bouncycastle/asn1/DERInteger;
            8   11     6                  e  Ljava/lang/Exception;
           13   15     6  _inhibitAnyPolicy  I
      Exception table:
        from    to  target  type
           3     6       7  Class java.lang.Exception
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
                  Name  Flags
      certPath          
      index             
      inhibitAnyPolicy  

  protected static void prepareNextCertK(java.security.cert.CertPath, int);
    descriptor: (Ljava/security/cert/CertPath;I)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
         0: .line 2066
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 2 /* certs */
        start local 2 // java.util.List certs
         1: .line 2067
            aload 2 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 3 /* cert */
        start local 3 // java.security.cert.X509Certificate cert
         2: .line 2071
            aconst_null
            astore 4 /* bc */
        start local 4 // org.bouncycastle.asn1.x509.BasicConstraints bc
         3: .line 2074
            aload 3 /* cert */
         4: .line 2075
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.BASIC_CONSTRAINTS:Ljava/lang/String;
         5: .line 2074
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.x509.BasicConstraints.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/BasicConstraints;
            astore 4 /* bc */
         6: .line 2076
            goto 11
         7: .line 2077
      StackMap locals: java.security.cert.CertPath int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.x509.BasicConstraints
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
         8: .line 2079
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Basic constraints extension cannot be decoded."
            aload 5 /* e */
            aload 0 /* certPath */
         9: .line 2080
            iload 1 /* index */
        10: .line 2079
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 5 // java.lang.Exception e
        11: .line 2082
      StackMap locals:
      StackMap stack:
            aload 4 /* bc */
            ifnull 14
        12: .line 2084
            aload 4 /* bc */
            invokevirtual org.bouncycastle.asn1.x509.BasicConstraints.isCA:()Z
            ifne 15
        13: .line 2086
            new java.security.cert.CertPathValidatorException
            dup
            ldc "Not a CA certificate"
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 2091
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertPathValidatorException
            dup
            ldc "Intermediate certificate lacks BasicConstraints"
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 2093
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.bouncycastle.asn1.x509.BasicConstraints bc
        end local 3 // java.security.cert.X509Certificate cert
        end local 2 // java.util.List certs
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0  certPath  Ljava/security/cert/CertPath;
            0   16     1     index  I
            1   16     2     certs  Ljava/util/List;
            2   16     3      cert  Ljava/security/cert/X509Certificate;
            3   16     4        bc  Lorg/bouncycastle/asn1/x509/BasicConstraints;
            8   11     5         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     6       7  Class java.lang.Exception
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
          Name  Flags
      certPath  
      index     

  protected static int prepareNextCertL(java.security.cert.CertPath, int, int);
    descriptor: (Ljava/security/cert/CertPath;II)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
        start local 2 // int maxPathLength
         0: .line 2101
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 3 /* certs */
        start local 3 // java.util.List certs
         1: .line 2102
            aload 3 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 4 /* cert */
        start local 4 // java.security.cert.X509Certificate cert
         2: .line 2106
            aload 4 /* cert */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
            ifne 6
         3: .line 2108
            iload 2 /* maxPathLength */
            ifgt 5
         4: .line 2110
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Max path length not greater than zero"
            aconst_null
            aload 0 /* certPath */
            iload 1 /* index */
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
         5: .line 2113
      StackMap locals: java.util.List java.security.cert.X509Certificate
      StackMap stack:
            iload 2 /* maxPathLength */
            iconst_1
            isub
            ireturn
         6: .line 2115
      StackMap locals:
      StackMap stack:
            iload 2 /* maxPathLength */
            ireturn
        end local 4 // java.security.cert.X509Certificate cert
        end local 3 // java.util.List certs
        end local 2 // int maxPathLength
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0       certPath  Ljava/security/cert/CertPath;
            0    7     1          index  I
            0    7     2  maxPathLength  I
            1    7     3          certs  Ljava/util/List;
            2    7     4           cert  Ljava/security/cert/X509Certificate;
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
               Name  Flags
      certPath       
      index          
      maxPathLength  

  protected static int prepareNextCertM(java.security.cert.CertPath, int, int);
    descriptor: (Ljava/security/cert/CertPath;II)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
        start local 2 // int maxPathLength
         0: .line 2124
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 3 /* certs */
        start local 3 // java.util.List certs
         1: .line 2125
            aload 3 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 4 /* cert */
        start local 4 // java.security.cert.X509Certificate cert
         2: .line 2130
            aconst_null
            astore 5 /* bc */
        start local 5 // org.bouncycastle.asn1.x509.BasicConstraints bc
         3: .line 2133
            aload 4 /* cert */
         4: .line 2134
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.BASIC_CONSTRAINTS:Ljava/lang/String;
         5: .line 2133
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.x509.BasicConstraints.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/BasicConstraints;
            astore 5 /* bc */
         6: .line 2135
            goto 11
         7: .line 2136
      StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate org.bouncycastle.asn1.x509.BasicConstraints
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
         8: .line 2138
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Basic constraints extension cannot be decoded."
            aload 6 /* e */
            aload 0 /* certPath */
         9: .line 2139
            iload 1 /* index */
        10: .line 2138
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 6 // java.lang.Exception e
        11: .line 2141
      StackMap locals:
      StackMap stack:
            aload 5 /* bc */
            ifnull 17
        12: .line 2143
            aload 5 /* bc */
            invokevirtual org.bouncycastle.asn1.x509.BasicConstraints.getPathLenConstraint:()Ljava/math/BigInteger;
            astore 6 /* _pathLengthConstraint */
        start local 6 // java.math.BigInteger _pathLengthConstraint
        13: .line 2145
            aload 6 /* _pathLengthConstraint */
            ifnull 17
        14: .line 2147
            aload 6 /* _pathLengthConstraint */
            invokevirtual java.math.BigInteger.intValue:()I
            istore 7 /* _plc */
        start local 7 // int _plc
        15: .line 2149
            iload 7 /* _plc */
            iload 2 /* maxPathLength */
            if_icmpge 17
        16: .line 2151
            iload 7 /* _plc */
            ireturn
        end local 7 // int _plc
        end local 6 // java.math.BigInteger _pathLengthConstraint
        17: .line 2155
      StackMap locals:
      StackMap stack:
            iload 2 /* maxPathLength */
            ireturn
        end local 5 // org.bouncycastle.asn1.x509.BasicConstraints bc
        end local 4 // java.security.cert.X509Certificate cert
        end local 3 // java.util.List certs
        end local 2 // int maxPathLength
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   18     0               certPath  Ljava/security/cert/CertPath;
            0   18     1                  index  I
            0   18     2          maxPathLength  I
            1   18     3                  certs  Ljava/util/List;
            2   18     4                   cert  Ljava/security/cert/X509Certificate;
            3   18     5                     bc  Lorg/bouncycastle/asn1/x509/BasicConstraints;
            8   11     6                      e  Ljava/lang/Exception;
           13   17     6  _pathLengthConstraint  Ljava/math/BigInteger;
           15   17     7                   _plc  I
      Exception table:
        from    to  target  type
           3     6       7  Class java.lang.Exception
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
               Name  Flags
      certPath       
      index          
      maxPathLength  

  protected static void prepareNextCertN(java.security.cert.CertPath, int);
    descriptor: (Ljava/security/cert/CertPath;I)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
         0: .line 2163
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 2 /* certs */
        start local 2 // java.util.List certs
         1: .line 2164
            aload 2 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 3 /* cert */
        start local 3 // java.security.cert.X509Certificate cert
         2: .line 2169
            aload 3 /* cert */
            invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
            astore 4 /* _usage */
        start local 4 // boolean[] _usage
         3: .line 2171
            aload 4 /* _usage */
            ifnull 8
            aload 4 /* _usage */
            iconst_5
            baload
            ifne 8
         4: .line 2173
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
         5: .line 2174
            ldc "Issuer certificate keyusage extension is critical and does not permit key signing."
            aconst_null
         6: .line 2175
            aload 0 /* certPath */
            iload 1 /* index */
         7: .line 2173
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
         8: .line 2177
      StackMap locals: java.util.List java.security.cert.X509Certificate boolean[]
      StackMap stack:
            return
        end local 4 // boolean[] _usage
        end local 3 // java.security.cert.X509Certificate cert
        end local 2 // java.util.List certs
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0  certPath  Ljava/security/cert/CertPath;
            0    9     1     index  I
            1    9     2     certs  Ljava/util/List;
            2    9     3      cert  Ljava/security/cert/X509Certificate;
            3    9     4    _usage  [Z
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
          Name  Flags
      certPath  
      index     

  protected static void prepareNextCertO(java.security.cert.CertPath, int, java.util.Set, java.util.List);
    descriptor: (Ljava/security/cert/CertPath;ILjava/util/Set;Ljava/util/List;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
        start local 2 // java.util.Set criticalExtensions
        start local 3 // java.util.List pathCheckers
         0: .line 2186
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 4 /* certs */
        start local 4 // java.util.List certs
         1: .line 2187
            aload 4 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 5 /* cert */
        start local 5 // java.security.cert.X509Certificate cert
         2: .line 2193
            aload 3 /* pathCheckers */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6 /* tmpIter */
        start local 6 // java.util.Iterator tmpIter
         3: .line 2194
            goto 8
         4: .line 2198
      StackMap locals: java.util.List java.security.cert.X509Certificate java.util.Iterator
      StackMap stack:
            aload 6 /* tmpIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.PKIXCertPathChecker
            aload 5 /* cert */
            aload 2 /* criticalExtensions */
            invokevirtual java.security.cert.PKIXCertPathChecker.check:(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
         5: .line 2199
            goto 8
         6: .line 2200
      StackMap locals:
      StackMap stack: java.security.cert.CertPathValidatorException
            astore 7 /* e */
        start local 7 // java.security.cert.CertPathValidatorException e
         7: .line 2202
            new java.security.cert.CertPathValidatorException
            dup
            aload 7 /* e */
            invokevirtual java.security.cert.CertPathValidatorException.getMessage:()Ljava/lang/String;
            aload 7 /* e */
            invokevirtual java.security.cert.CertPathValidatorException.getCause:()Ljava/lang/Throwable;
            aload 0 /* certPath */
            iload 1 /* index */
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 7 // java.security.cert.CertPathValidatorException e
         8: .line 2194
      StackMap locals:
      StackMap stack:
            aload 6 /* tmpIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 2205
            aload 2 /* criticalExtensions */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 13
        10: .line 2207
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Certificate has unsupported critical extension."
            aconst_null
            aload 0 /* certPath */
        11: .line 2208
            iload 1 /* index */
        12: .line 2207
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        13: .line 2210
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.util.Iterator tmpIter
        end local 5 // java.security.cert.X509Certificate cert
        end local 4 // java.util.List certs
        end local 3 // java.util.List pathCheckers
        end local 2 // java.util.Set criticalExtensions
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   14     0            certPath  Ljava/security/cert/CertPath;
            0   14     1               index  I
            0   14     2  criticalExtensions  Ljava/util/Set;
            0   14     3        pathCheckers  Ljava/util/List;
            1   14     4               certs  Ljava/util/List;
            2   14     5                cert  Ljava/security/cert/X509Certificate;
            3   14     6             tmpIter  Ljava/util/Iterator;
            7    8     7                   e  Ljava/security/cert/CertPathValidatorException;
      Exception table:
        from    to  target  type
           4     5       6  Class java.security.cert.CertPathValidatorException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
                    Name  Flags
      certPath            
      index               
      criticalExtensions  
      pathCheckers        

  protected static int prepareNextCertH1(java.security.cert.CertPath, int, int);
    descriptor: (Ljava/security/cert/CertPath;II)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
        start local 2 // int explicitPolicy
         0: .line 2217
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 3 /* certs */
        start local 3 // java.util.List certs
         1: .line 2218
            aload 3 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 4 /* cert */
        start local 4 // java.security.cert.X509Certificate cert
         2: .line 2222
            aload 4 /* cert */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
            ifne 5
         3: .line 2227
            iload 2 /* explicitPolicy */
            ifeq 5
         4: .line 2229
            iload 2 /* explicitPolicy */
            iconst_1
            isub
            ireturn
         5: .line 2232
      StackMap locals: java.util.List java.security.cert.X509Certificate
      StackMap stack:
            iload 2 /* explicitPolicy */
            ireturn
        end local 4 // java.security.cert.X509Certificate cert
        end local 3 // java.util.List certs
        end local 2 // int explicitPolicy
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0        certPath  Ljava/security/cert/CertPath;
            0    6     1           index  I
            0    6     2  explicitPolicy  I
            1    6     3           certs  Ljava/util/List;
            2    6     4            cert  Ljava/security/cert/X509Certificate;
    MethodParameters:
                Name  Flags
      certPath        
      index           
      explicitPolicy  

  protected static int prepareNextCertH2(java.security.cert.CertPath, int, int);
    descriptor: (Ljava/security/cert/CertPath;II)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
        start local 2 // int policyMapping
         0: .line 2240
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 3 /* certs */
        start local 3 // java.util.List certs
         1: .line 2241
            aload 3 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 4 /* cert */
        start local 4 // java.security.cert.X509Certificate cert
         2: .line 2245
            aload 4 /* cert */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
            ifne 5
         3: .line 2250
            iload 2 /* policyMapping */
            ifeq 5
         4: .line 2252
            iload 2 /* policyMapping */
            iconst_1
            isub
            ireturn
         5: .line 2255
      StackMap locals: java.util.List java.security.cert.X509Certificate
      StackMap stack:
            iload 2 /* policyMapping */
            ireturn
        end local 4 // java.security.cert.X509Certificate cert
        end local 3 // java.util.List certs
        end local 2 // int policyMapping
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0       certPath  Ljava/security/cert/CertPath;
            0    6     1          index  I
            0    6     2  policyMapping  I
            1    6     3          certs  Ljava/util/List;
            2    6     4           cert  Ljava/security/cert/X509Certificate;
    MethodParameters:
               Name  Flags
      certPath       
      index          
      policyMapping  

  protected static int prepareNextCertH3(java.security.cert.CertPath, int, int);
    descriptor: (Ljava/security/cert/CertPath;II)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
        start local 2 // int inhibitAnyPolicy
         0: .line 2263
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 3 /* certs */
        start local 3 // java.util.List certs
         1: .line 2264
            aload 3 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 4 /* cert */
        start local 4 // java.security.cert.X509Certificate cert
         2: .line 2268
            aload 4 /* cert */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
            ifne 5
         3: .line 2273
            iload 2 /* inhibitAnyPolicy */
            ifeq 5
         4: .line 2275
            iload 2 /* inhibitAnyPolicy */
            iconst_1
            isub
            ireturn
         5: .line 2278
      StackMap locals: java.util.List java.security.cert.X509Certificate
      StackMap stack:
            iload 2 /* inhibitAnyPolicy */
            ireturn
        end local 4 // java.security.cert.X509Certificate cert
        end local 3 // java.util.List certs
        end local 2 // int inhibitAnyPolicy
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0          certPath  Ljava/security/cert/CertPath;
            0    6     1             index  I
            0    6     2  inhibitAnyPolicy  I
            1    6     3             certs  Ljava/util/List;
            2    6     4              cert  Ljava/security/cert/X509Certificate;
    MethodParameters:
                  Name  Flags
      certPath          
      index             
      inhibitAnyPolicy  

  protected static int wrapupCertA(int, java.security.cert.X509Certificate);
    descriptor: (ILjava/security/cert/X509Certificate;)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // int explicitPolicy
        start local 1 // java.security.cert.X509Certificate cert
         0: .line 2302
            aload 1 /* cert */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
            ifne 2
            iload 0 /* explicitPolicy */
            ifeq 2
         1: .line 2304
            iinc 0 /* explicitPolicy */ -1
         2: .line 2306
      StackMap locals:
      StackMap stack:
            iload 0 /* explicitPolicy */
            ireturn
        end local 1 // java.security.cert.X509Certificate cert
        end local 0 // int explicitPolicy
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0  explicitPolicy  I
            0    3     1            cert  Ljava/security/cert/X509Certificate;
    MethodParameters:
                Name  Flags
      explicitPolicy  
      cert            

  protected static int wrapupCertB(java.security.cert.CertPath, int, int);
    descriptor: (Ljava/security/cert/CertPath;II)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
        start local 2 // int explicitPolicy
         0: .line 2315
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 3 /* certs */
        start local 3 // java.util.List certs
         1: .line 2316
            aload 3 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 4 /* cert */
        start local 4 // java.security.cert.X509Certificate cert
         2: .line 2321
            aconst_null
            astore 6 /* pc */
        start local 6 // org.bouncycastle.asn1.ASN1Sequence pc
         3: .line 2324
            aload 4 /* cert */
         4: .line 2325
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.POLICY_CONSTRAINTS:Ljava/lang/String;
         5: .line 2324
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
            invokestatic org.bouncycastle.asn1.DERSequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            astore 6 /* pc */
         6: .line 2326
            goto 9
         7: .line 2327
      StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate top org.bouncycastle.asn1.ASN1Sequence
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 7 /* e */
        start local 7 // org.bouncycastle.jce.provider.AnnotatedException e
         8: .line 2329
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Policy constraints could not be decoded."
            aload 7 /* e */
            aload 0 /* certPath */
            iload 1 /* index */
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 7 // org.bouncycastle.jce.provider.AnnotatedException e
         9: .line 2331
      StackMap locals:
      StackMap stack:
            aload 6 /* pc */
            ifnull 24
        10: .line 2333
            aload 6 /* pc */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
            astore 7 /* policyConstraints */
        start local 7 // java.util.Enumeration policyConstraints
        11: .line 2335
            goto 23
        12: .line 2337
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 7 /* policyConstraints */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.ASN1TaggedObject
            astore 8 /* constraint */
        start local 8 // org.bouncycastle.asn1.ASN1TaggedObject constraint
        13: .line 2338
            aload 8 /* constraint */
            invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.getTagNo:()I
            tableswitch { // 0 - 0
                    0: 14
              default: 23
          }
        14: .line 2343
      StackMap locals: org.bouncycastle.asn1.ASN1TaggedObject
      StackMap stack:
            aload 8 /* constraint */
            iconst_0
            invokestatic org.bouncycastle.asn1.DERInteger.getInstance:(Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/DERInteger;
            invokevirtual org.bouncycastle.asn1.DERInteger.getValue:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.intValue:()I
            istore 5 /* tmpInt */
        start local 5 // int tmpInt
        15: .line 2344
            goto 21
        end local 5 // int tmpInt
        16: .line 2345
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 9 /* e */
        start local 9 // java.lang.Exception e
        17: .line 2347
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
        18: .line 2348
            ldc "Policy constraints requireExplicitPolicy field could not be decoded."
            aload 9 /* e */
            aload 0 /* certPath */
        19: .line 2349
            iload 1 /* index */
        20: .line 2347
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 9 // java.lang.Exception e
        start local 5 // int tmpInt
        21: .line 2351
      StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate int org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration org.bouncycastle.asn1.ASN1TaggedObject
      StackMap stack:
            iload 5 /* tmpInt */
            ifne 23
        22: .line 2353
            iconst_0
            ireturn
        end local 8 // org.bouncycastle.asn1.ASN1TaggedObject constraint
        end local 5 // int tmpInt
        23: .line 2335
      StackMap locals: java.security.cert.CertPath int int java.util.List java.security.cert.X509Certificate top org.bouncycastle.asn1.ASN1Sequence java.util.Enumeration
      StackMap stack:
            aload 7 /* policyConstraints */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 12
        end local 7 // java.util.Enumeration policyConstraints
        24: .line 2359
      StackMap locals:
      StackMap stack:
            iload 2 /* explicitPolicy */
            ireturn
        end local 6 // org.bouncycastle.asn1.ASN1Sequence pc
        end local 4 // java.security.cert.X509Certificate cert
        end local 3 // java.util.List certs
        end local 2 // int explicitPolicy
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   25     0           certPath  Ljava/security/cert/CertPath;
            0   25     1              index  I
            0   25     2     explicitPolicy  I
            1   25     3              certs  Ljava/util/List;
            2   25     4               cert  Ljava/security/cert/X509Certificate;
           15   16     5             tmpInt  I
           21   23     5             tmpInt  I
            3   25     6                 pc  Lorg/bouncycastle/asn1/ASN1Sequence;
            8    9     7                  e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           11   24     7  policyConstraints  Ljava/util/Enumeration;
           13   23     8         constraint  Lorg/bouncycastle/asn1/ASN1TaggedObject;
           17   21     9                  e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     6       7  Class org.bouncycastle.jce.provider.AnnotatedException
          14    15      16  Class java.lang.Exception
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
                Name  Flags
      certPath        
      index           
      explicitPolicy  

  protected static void wrapupCertF(java.security.cert.CertPath, int, java.util.List, java.util.Set);
    descriptor: (Ljava/security/cert/CertPath;ILjava/util/List;Ljava/util/Set;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // int index
        start local 2 // java.util.List pathCheckers
        start local 3 // java.util.Set criticalExtensions
         0: .line 2369
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 4 /* certs */
        start local 4 // java.util.List certs
         1: .line 2370
            aload 4 /* certs */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 5 /* cert */
        start local 5 // java.security.cert.X509Certificate cert
         2: .line 2372
            aload 2 /* pathCheckers */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6 /* tmpIter */
        start local 6 // java.util.Iterator tmpIter
         3: .line 2373
            goto 10
         4: .line 2377
      StackMap locals: java.util.List java.security.cert.X509Certificate java.util.Iterator
      StackMap stack:
            aload 6 /* tmpIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.PKIXCertPathChecker
            aload 5 /* cert */
            aload 3 /* criticalExtensions */
            invokevirtual java.security.cert.PKIXCertPathChecker.check:(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
         5: .line 2378
            goto 10
         6: .line 2379
      StackMap locals:
      StackMap stack: java.security.cert.CertPathValidatorException
            astore 7 /* e */
        start local 7 // java.security.cert.CertPathValidatorException e
         7: .line 2381
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Additional certificate path checker failed."
            aload 7 /* e */
            aload 0 /* certPath */
         8: .line 2382
            iload 1 /* index */
         9: .line 2381
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        end local 7 // java.security.cert.CertPathValidatorException e
        10: .line 2373
      StackMap locals:
      StackMap stack:
            aload 6 /* tmpIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        11: .line 2386
            aload 3 /* criticalExtensions */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 15
        12: .line 2388
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Certificate has unsupported critical extension"
            aconst_null
            aload 0 /* certPath */
        13: .line 2389
            iload 1 /* index */
        14: .line 2388
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        15: .line 2391
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.util.Iterator tmpIter
        end local 5 // java.security.cert.X509Certificate cert
        end local 4 // java.util.List certs
        end local 3 // java.util.Set criticalExtensions
        end local 2 // java.util.List pathCheckers
        end local 1 // int index
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0            certPath  Ljava/security/cert/CertPath;
            0   16     1               index  I
            0   16     2        pathCheckers  Ljava/util/List;
            0   16     3  criticalExtensions  Ljava/util/Set;
            1   16     4               certs  Ljava/util/List;
            2   16     5                cert  Ljava/security/cert/X509Certificate;
            3   16     6             tmpIter  Ljava/util/Iterator;
            7   10     7                   e  Ljava/security/cert/CertPathValidatorException;
      Exception table:
        from    to  target  type
           4     5       6  Class java.security.cert.CertPathValidatorException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
                    Name  Flags
      certPath            
      index               
      pathCheckers        
      criticalExtensions  

  protected static org.bouncycastle.jce.provider.PKIXPolicyNode wrapupCertG(java.security.cert.CertPath, org.bouncycastle.x509.ExtendedPKIXParameters, java.util.Set, int, java.util.List[], org.bouncycastle.jce.provider.PKIXPolicyNode, java.util.Set);
    descriptor: (Ljava/security/cert/CertPath;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/util/Set;I[Ljava/util/List;Lorg/bouncycastle/jce/provider/PKIXPolicyNode;Ljava/util/Set;)Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=16, args_size=7
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
        start local 2 // java.util.Set userInitialPolicySet
        start local 3 // int index
        start local 4 // java.util.List[] policyNodes
        start local 5 // org.bouncycastle.jce.provider.PKIXPolicyNode validPolicyTree
        start local 6 // java.util.Set acceptablePolicies
         0: .line 2403
            aload 0 /* certPath */
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 7 /* n */
        start local 7 // int n
         1: .line 2412
            aload 5 /* validPolicyTree */
            ifnonnull 8
         2: .line 2414
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isExplicitPolicyRequired:()Z
            ifeq 6
         3: .line 2416
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Explicit policy requested but none available."
            aconst_null
         4: .line 2417
            aload 0 /* certPath */
            iload 3 /* index */
         5: .line 2416
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
         6: .line 2419
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 8 /* intersection */
        start local 8 // org.bouncycastle.jce.provider.PKIXPolicyNode intersection
         7: .line 2420
            goto 94
        end local 8 // org.bouncycastle.jce.provider.PKIXPolicyNode intersection
         8: .line 2421
      StackMap locals:
      StackMap stack:
            aload 2 /* userInitialPolicySet */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.isAnyPolicy:(Ljava/util/Set;)Z
            ifeq 53
         9: .line 2424
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isExplicitPolicyRequired:()Z
            ifeq 51
        10: .line 2426
            aload 6 /* acceptablePolicies */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 14
        11: .line 2428
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
            ldc "Explicit policy requested but none available."
            aconst_null
        12: .line 2429
            aload 0 /* certPath */
            iload 3 /* index */
        13: .line 2428
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V
            athrow
        14: .line 2433
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 9 /* _validPolicyNodeSet */
        start local 9 // java.util.Set _validPolicyNodeSet
        15: .line 2435
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        16: goto 29
        17: .line 2437
      StackMap locals: java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters java.util.Set int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set int top java.util.Set int
      StackMap stack:
            aload 4 /* policyNodes */
            iload 10 /* j */
            aaload
            astore 11 /* _nodeDepth */
        start local 11 // java.util.List _nodeDepth
        18: .line 2439
            iconst_0
            istore 12 /* k */
        start local 12 // int k
        19: goto 27
        20: .line 2441
      StackMap locals: java.util.List int
      StackMap stack:
            aload 11 /* _nodeDepth */
            iload 12 /* k */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
            astore 13 /* _node */
        start local 13 // org.bouncycastle.jce.provider.PKIXPolicyNode _node
        21: .line 2443
            ldc "2.5.29.32.0"
            aload 13 /* _node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        22: .line 2445
            aload 13 /* _node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getChildren:()Ljava/util/Iterator;
            astore 14 /* _iter */
        start local 14 // java.util.Iterator _iter
        23: .line 2446
            goto 25
        24: .line 2448
      StackMap locals: org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Iterator
      StackMap stack:
            aload 9 /* _validPolicyNodeSet */
            aload 14 /* _iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        25: .line 2446
      StackMap locals:
      StackMap stack:
            aload 14 /* _iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        end local 14 // java.util.Iterator _iter
        end local 13 // org.bouncycastle.jce.provider.PKIXPolicyNode _node
        26: .line 2439
      StackMap locals:
      StackMap stack:
            iinc 12 /* k */ 1
      StackMap locals:
      StackMap stack:
        27: iload 12 /* k */
            aload 11 /* _nodeDepth */
            invokeinterface java.util.List.size:()I
            if_icmplt 20
        end local 12 // int k
        end local 11 // java.util.List _nodeDepth
        28: .line 2435
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        29: iload 10 /* j */
            aload 4 /* policyNodes */
            arraylength
            if_icmplt 17
        end local 10 // int j
        30: .line 2454
            aload 9 /* _validPolicyNodeSet */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10 /* _vpnsIter */
        start local 10 // java.util.Iterator _vpnsIter
        31: .line 2455
            goto 35
        32: .line 2457
      StackMap locals: java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters java.util.Set int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set int top java.util.Set java.util.Iterator
      StackMap stack:
            aload 10 /* _vpnsIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
            astore 11 /* _node */
        start local 11 // org.bouncycastle.jce.provider.PKIXPolicyNode _node
        33: .line 2458
            aload 11 /* _node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
            astore 12 /* _validPolicy */
        start local 12 // java.lang.String _validPolicy
        34: .line 2460
            aload 6 /* acceptablePolicies */
            aload 12 /* _validPolicy */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            pop
        end local 12 // java.lang.String _validPolicy
        end local 11 // org.bouncycastle.jce.provider.PKIXPolicyNode _node
        35: .line 2455
      StackMap locals:
      StackMap stack:
            aload 10 /* _vpnsIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 32
        36: .line 2467
            aload 5 /* validPolicyTree */
            ifnull 51
        37: .line 2469
            iload 7 /* n */
            iconst_1
            isub
            istore 11 /* j */
        start local 11 // int j
        38: goto 50
        39: .line 2471
      StackMap locals: int
      StackMap stack:
            aload 4 /* policyNodes */
            iload 11 /* j */
            aaload
            astore 12 /* nodes */
        start local 12 // java.util.List nodes
        40: .line 2473
            iconst_0
            istore 13 /* k */
        start local 13 // int k
        41: goto 48
        42: .line 2475
      StackMap locals: java.util.List int
      StackMap stack:
            aload 12 /* nodes */
            iload 13 /* k */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
            astore 14 /* node */
        start local 14 // org.bouncycastle.jce.provider.PKIXPolicyNode node
        43: .line 2476
            aload 14 /* node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.hasChildren:()Z
            ifne 47
        44: .line 2478
            aload 5 /* validPolicyTree */
        45: .line 2479
            aload 4 /* policyNodes */
            aload 14 /* node */
        46: .line 2478
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.removePolicyNode:(Lorg/bouncycastle/jce/provider/PKIXPolicyNode;[Ljava/util/List;Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
            astore 5 /* validPolicyTree */
        end local 14 // org.bouncycastle.jce.provider.PKIXPolicyNode node
        47: .line 2473
      StackMap locals:
      StackMap stack:
            iinc 13 /* k */ 1
      StackMap locals:
      StackMap stack:
        48: iload 13 /* k */
            aload 12 /* nodes */
            invokeinterface java.util.List.size:()I
            if_icmplt 42
        end local 13 // int k
        end local 12 // java.util.List nodes
        49: .line 2469
            iinc 11 /* j */ -1
      StackMap locals:
      StackMap stack:
        50: iload 11 /* j */
            ifge 39
        end local 11 // int j
        end local 10 // java.util.Iterator _vpnsIter
        end local 9 // java.util.Set _validPolicyNodeSet
        51: .line 2487
      StackMap locals: java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters java.util.Set int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set int
      StackMap stack:
            aload 5 /* validPolicyTree */
            astore 8 /* intersection */
        start local 8 // org.bouncycastle.jce.provider.PKIXPolicyNode intersection
        52: .line 2488
            goto 94
        end local 8 // org.bouncycastle.jce.provider.PKIXPolicyNode intersection
        53: .line 2504
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 9 /* _validPolicyNodeSet */
        start local 9 // java.util.Set _validPolicyNodeSet
        54: .line 2506
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        55: goto 70
        56: .line 2508
      StackMap locals: java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters java.util.Set int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set int top java.util.Set int
      StackMap stack:
            aload 4 /* policyNodes */
            iload 10 /* j */
            aaload
            astore 11 /* _nodeDepth */
        start local 11 // java.util.List _nodeDepth
        57: .line 2510
            iconst_0
            istore 12 /* k */
        start local 12 // int k
        58: goto 68
        59: .line 2512
      StackMap locals: java.util.List int
      StackMap stack:
            aload 11 /* _nodeDepth */
            iload 12 /* k */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
            astore 13 /* _node */
        start local 13 // org.bouncycastle.jce.provider.PKIXPolicyNode _node
        60: .line 2514
            ldc "2.5.29.32.0"
            aload 13 /* _node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 67
        61: .line 2516
            aload 13 /* _node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getChildren:()Ljava/util/Iterator;
            astore 14 /* _iter */
        start local 14 // java.util.Iterator _iter
        62: .line 2517
            goto 66
        63: .line 2519
      StackMap locals: org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Iterator
      StackMap stack:
            aload 14 /* _iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
            astore 15 /* _c_node */
        start local 15 // org.bouncycastle.jce.provider.PKIXPolicyNode _c_node
        64: .line 2520
            ldc "2.5.29.32.0"
            aload 15 /* _c_node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 66
        65: .line 2522
            aload 9 /* _validPolicyNodeSet */
            aload 15 /* _c_node */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // org.bouncycastle.jce.provider.PKIXPolicyNode _c_node
        66: .line 2517
      StackMap locals:
      StackMap stack:
            aload 14 /* _iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 63
        end local 14 // java.util.Iterator _iter
        end local 13 // org.bouncycastle.jce.provider.PKIXPolicyNode _node
        67: .line 2510
      StackMap locals:
      StackMap stack:
            iinc 12 /* k */ 1
      StackMap locals:
      StackMap stack:
        68: iload 12 /* k */
            aload 11 /* _nodeDepth */
            invokeinterface java.util.List.size:()I
            if_icmplt 59
        end local 12 // int k
        end local 11 // java.util.List _nodeDepth
        69: .line 2506
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        70: iload 10 /* j */
            aload 4 /* policyNodes */
            arraylength
            if_icmplt 56
        end local 10 // int j
        71: .line 2532
            aload 9 /* _validPolicyNodeSet */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10 /* _vpnsIter */
        start local 10 // java.util.Iterator _vpnsIter
        72: .line 2533
            goto 77
        73: .line 2535
      StackMap locals: java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters java.util.Set int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set int top java.util.Set java.util.Iterator
      StackMap stack:
            aload 10 /* _vpnsIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
            astore 11 /* _node */
        start local 11 // org.bouncycastle.jce.provider.PKIXPolicyNode _node
        74: .line 2536
            aload 11 /* _node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.getValidPolicy:()Ljava/lang/String;
            astore 12 /* _validPolicy */
        start local 12 // java.lang.String _validPolicy
        75: .line 2538
            aload 2 /* userInitialPolicySet */
            aload 12 /* _validPolicy */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 77
        76: .line 2540
            aload 5 /* validPolicyTree */
            aload 4 /* policyNodes */
            aload 11 /* _node */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.removePolicyNode:(Lorg/bouncycastle/jce/provider/PKIXPolicyNode;[Ljava/util/List;Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
            astore 5 /* validPolicyTree */
        end local 12 // java.lang.String _validPolicy
        end local 11 // org.bouncycastle.jce.provider.PKIXPolicyNode _node
        77: .line 2533
      StackMap locals:
      StackMap stack:
            aload 10 /* _vpnsIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 73
        78: .line 2547
            aload 5 /* validPolicyTree */
            ifnull 93
        79: .line 2549
            iload 7 /* n */
            iconst_1
            isub
            istore 11 /* j */
        start local 11 // int j
        80: goto 92
        81: .line 2551
      StackMap locals: int
      StackMap stack:
            aload 4 /* policyNodes */
            iload 11 /* j */
            aaload
            astore 12 /* nodes */
        start local 12 // java.util.List nodes
        82: .line 2553
            iconst_0
            istore 13 /* k */
        start local 13 // int k
        83: goto 90
        84: .line 2555
      StackMap locals: java.util.List int
      StackMap stack:
            aload 12 /* nodes */
            iload 13 /* k */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.bouncycastle.jce.provider.PKIXPolicyNode
            astore 14 /* node */
        start local 14 // org.bouncycastle.jce.provider.PKIXPolicyNode node
        85: .line 2556
            aload 14 /* node */
            invokevirtual org.bouncycastle.jce.provider.PKIXPolicyNode.hasChildren:()Z
            ifne 89
        86: .line 2558
            aload 5 /* validPolicyTree */
            aload 4 /* policyNodes */
        87: .line 2559
            aload 14 /* node */
        88: .line 2558
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.removePolicyNode:(Lorg/bouncycastle/jce/provider/PKIXPolicyNode;[Ljava/util/List;Lorg/bouncycastle/jce/provider/PKIXPolicyNode;)Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
            astore 5 /* validPolicyTree */
        end local 14 // org.bouncycastle.jce.provider.PKIXPolicyNode node
        89: .line 2553
      StackMap locals:
      StackMap stack:
            iinc 13 /* k */ 1
      StackMap locals:
      StackMap stack:
        90: iload 13 /* k */
            aload 12 /* nodes */
            invokeinterface java.util.List.size:()I
            if_icmplt 84
        end local 13 // int k
        end local 12 // java.util.List nodes
        91: .line 2549
            iinc 11 /* j */ -1
      StackMap locals:
      StackMap stack:
        92: iload 11 /* j */
            ifge 81
        end local 11 // int j
        93: .line 2565
      StackMap locals:
      StackMap stack:
            aload 5 /* validPolicyTree */
            astore 8 /* intersection */
        end local 10 // java.util.Iterator _vpnsIter
        end local 9 // java.util.Set _validPolicyNodeSet
        start local 8 // org.bouncycastle.jce.provider.PKIXPolicyNode intersection
        94: .line 2567
      StackMap locals: java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters java.util.Set int java.util.List[] org.bouncycastle.jce.provider.PKIXPolicyNode java.util.Set int org.bouncycastle.jce.provider.PKIXPolicyNode
      StackMap stack:
            aload 8 /* intersection */
            areturn
        end local 8 // org.bouncycastle.jce.provider.PKIXPolicyNode intersection
        end local 7 // int n
        end local 6 // java.util.Set acceptablePolicies
        end local 5 // org.bouncycastle.jce.provider.PKIXPolicyNode validPolicyTree
        end local 4 // java.util.List[] policyNodes
        end local 3 // int index
        end local 2 // java.util.Set userInitialPolicySet
        end local 1 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   95     0              certPath  Ljava/security/cert/CertPath;
            0   95     1            paramsPKIX  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
            0   95     2  userInitialPolicySet  Ljava/util/Set;
            0   95     3                 index  I
            0   95     4           policyNodes  [Ljava/util/List;
            0   95     5       validPolicyTree  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
            0   95     6    acceptablePolicies  Ljava/util/Set;
            1   95     7                     n  I
            7    8     8          intersection  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           52   53     8          intersection  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           94   95     8          intersection  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           15   51     9   _validPolicyNodeSet  Ljava/util/Set;
           16   30    10                     j  I
           18   28    11            _nodeDepth  Ljava/util/List;
           19   28    12                     k  I
           21   26    13                 _node  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           23   26    14                 _iter  Ljava/util/Iterator;
           31   51    10             _vpnsIter  Ljava/util/Iterator;
           33   35    11                 _node  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           34   35    12          _validPolicy  Ljava/lang/String;
           38   51    11                     j  I
           40   49    12                 nodes  Ljava/util/List;
           41   49    13                     k  I
           43   47    14                  node  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           54   94     9   _validPolicyNodeSet  Ljava/util/Set;
           55   71    10                     j  I
           57   69    11            _nodeDepth  Ljava/util/List;
           58   69    12                     k  I
           60   67    13                 _node  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           62   67    14                 _iter  Ljava/util/Iterator;
           64   66    15               _c_node  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           72   94    10             _vpnsIter  Ljava/util/Iterator;
           74   77    11                 _node  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
           75   77    12          _validPolicy  Ljava/lang/String;
           80   93    11                     j  I
           82   91    12                 nodes  Ljava/util/List;
           83   91    13                     k  I
           85   89    14                  node  Lorg/bouncycastle/jce/provider/PKIXPolicyNode;
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
                      Name  Flags
      certPath              
      paramsPKIX            
      userInitialPolicySet  
      index                 
      policyNodes           
      validPolicyTree       
      acceptablePolicies    
}
SourceFile: "RFC3280CertPathUtilities.java"