public final class sun.security.pkcs11.SunPKCS11 extends java.security.AuthProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.security.pkcs11.SunPKCS11
  super_class: java.security.AuthProvider
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1354835039035306505

  static final sun.security.util.Debug debug;
    descriptor: Lsun/security/util/Debug;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static int dummyConfigId;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  final sun.security.pkcs11.wrapper.PKCS11 p11;
    descriptor: Lsun/security/pkcs11/wrapper/PKCS11;
    flags: (0x0010) ACC_FINAL

  private final java.lang.String configName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final sun.security.pkcs11.Config config;
    descriptor: Lsun/security/pkcs11/Config;
    flags: (0x0010) ACC_FINAL

  final long slotID;
    descriptor: J
    flags: (0x0010) ACC_FINAL

  private javax.security.auth.callback.CallbackHandler pHandler;
    descriptor: Ljavax/security/auth/callback/CallbackHandler;
    flags: (0x0002) ACC_PRIVATE

  private final java.lang.Object LOCK_HANDLER;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final boolean removable;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  final sun.security.pkcs11.Secmod$Module nssModule;
    descriptor: Lsun/security/pkcs11/Secmod$Module;
    flags: (0x0010) ACC_FINAL

  final boolean nssUseSecmodTrust;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  private volatile sun.security.pkcs11.Token token;
    descriptor: Lsun/security/pkcs11/Token;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private sun.security.pkcs11.SunPKCS11$TokenPoller poller;
    descriptor: Lsun/security/pkcs11/SunPKCS11$TokenPoller;
    flags: (0x0002) ACC_PRIVATE

  private static final java.util.Map<java.lang.Integer, java.util.List<sun.security.pkcs11.SunPKCS11$Descriptor>> descriptors;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/util/List<Lsun/security/pkcs11/SunPKCS11$Descriptor;>;>;

  private static final java.lang.String MD;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "MessageDigest"

  private static final java.lang.String SIG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Signature"

  private static final java.lang.String KPG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "KeyPairGenerator"

  private static final java.lang.String KG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "KeyGenerator"

  private static final java.lang.String AGP;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "AlgorithmParameters"

  private static final java.lang.String KF;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "KeyFactory"

  private static final java.lang.String SKF;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "SecretKeyFactory"

  private static final java.lang.String CIP;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Cipher"

  private static final java.lang.String MAC;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "Mac"

  private static final java.lang.String KA;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "KeyAgreement"

  private static final java.lang.String KS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "KeyStore"

  private static final java.lang.String SR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "SecureRandom"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=12, locals=12, args_size=0
         0: .line 63
            ldc "sunpkcs11"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
         1: .line 434
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
         2: .line 433
            putstatic sun.security.pkcs11.SunPKCS11.descriptors:Ljava/util/Map;
         3: .line 502
            ldc "sun.security.pkcs11.P11Digest"
            astore 0 /* P11Digest */
        start local 0 // java.lang.String P11Digest
         4: .line 503
            ldc "sun.security.pkcs11.P11MAC"
            astore 1 /* P11MAC */
        start local 1 // java.lang.String P11MAC
         5: .line 504
            ldc "sun.security.pkcs11.P11KeyPairGenerator"
            astore 2 /* P11KeyPairGenerator */
        start local 2 // java.lang.String P11KeyPairGenerator
         6: .line 505
            ldc "sun.security.pkcs11.P11KeyGenerator"
            astore 3 /* P11KeyGenerator */
        start local 3 // java.lang.String P11KeyGenerator
         7: .line 506
            ldc "sun.security.pkcs11.P11RSAKeyFactory"
            astore 4 /* P11RSAKeyFactory */
        start local 4 // java.lang.String P11RSAKeyFactory
         8: .line 507
            ldc "sun.security.pkcs11.P11DSAKeyFactory"
            astore 5 /* P11DSAKeyFactory */
        start local 5 // java.lang.String P11DSAKeyFactory
         9: .line 508
            ldc "sun.security.pkcs11.P11DHKeyFactory"
            astore 6 /* P11DHKeyFactory */
        start local 6 // java.lang.String P11DHKeyFactory
        10: .line 509
            ldc "sun.security.pkcs11.P11KeyAgreement"
            astore 7 /* P11KeyAgreement */
        start local 7 // java.lang.String P11KeyAgreement
        11: .line 510
            ldc "sun.security.pkcs11.P11SecretKeyFactory"
            astore 8 /* P11SecretKeyFactory */
        start local 8 // java.lang.String P11SecretKeyFactory
        12: .line 511
            ldc "sun.security.pkcs11.P11Cipher"
            astore 9 /* P11Cipher */
        start local 9 // java.lang.String P11Cipher
        13: .line 512
            ldc "sun.security.pkcs11.P11RSACipher"
            astore 10 /* P11RSACipher */
        start local 10 // java.lang.String P11RSACipher
        14: .line 513
            ldc "sun.security.pkcs11.P11Signature"
            astore 11 /* P11Signature */
        start local 11 // java.lang.String P11Signature
        15: .line 517
            ldc "MessageDigest"
            ldc "MD2"
            aload 0 /* P11Digest */
        16: .line 518
            ldc 512
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        17: .line 517
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        18: .line 519
            ldc "MessageDigest"
            ldc "MD5"
            aload 0 /* P11Digest */
        19: .line 520
            ldc 528
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        20: .line 519
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        21: .line 521
            ldc "MessageDigest"
            ldc "SHA1"
            aload 0 /* P11Digest */
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
        22: .line 522
            ldc "SHA"
            aastore
            dup
            iconst_1
            ldc "SHA-1"
            aastore
            dup
            iconst_2
            ldc "1.3.14.3.2.26"
            aastore
            dup
            iconst_3
            ldc "OID.1.3.14.3.2.26"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        23: .line 523
            ldc 544
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        24: .line 521
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        25: .line 525
            ldc "MessageDigest"
            ldc "SHA-224"
            aload 0 /* P11Digest */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        26: .line 526
            ldc "2.16.840.1.101.3.4.2.4"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.2.4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        27: .line 527
            ldc 597
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        28: .line 525
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        29: .line 528
            ldc "MessageDigest"
            ldc "SHA-256"
            aload 0 /* P11Digest */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        30: .line 529
            ldc "2.16.840.1.101.3.4.2.1"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.2.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        31: .line 530
            ldc 592
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        32: .line 528
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        33: .line 531
            ldc "MessageDigest"
            ldc "SHA-384"
            aload 0 /* P11Digest */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        34: .line 532
            ldc "2.16.840.1.101.3.4.2.2"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.2.2"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        35: .line 533
            ldc 608
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        36: .line 531
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        37: .line 534
            ldc "MessageDigest"
            ldc "SHA-512"
            aload 0 /* P11Digest */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        38: .line 535
            ldc "2.16.840.1.101.3.4.2.3"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.2.3"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        39: .line 536
            ldc 624
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        40: .line 534
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        41: .line 538
            ldc "Mac"
            ldc "HmacMD5"
            aload 1 /* P11MAC */
        42: .line 539
            ldc 529
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        43: .line 538
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        44: .line 540
            ldc "Mac"
            ldc "HmacSHA1"
            aload 1 /* P11MAC */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        45: .line 541
            ldc "1.2.840.113549.2.7"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.2.7"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        46: .line 542
            ldc 545
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        47: .line 540
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        48: .line 543
            ldc "Mac"
            ldc "HmacSHA224"
            aload 1 /* P11MAC */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        49: .line 544
            ldc "1.2.840.113549.2.8"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.2.8"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        50: .line 545
            ldc 598
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        51: .line 543
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        52: .line 546
            ldc "Mac"
            ldc "HmacSHA256"
            aload 1 /* P11MAC */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        53: .line 547
            ldc "1.2.840.113549.2.9"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.2.9"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        54: .line 548
            ldc 593
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        55: .line 546
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        56: .line 549
            ldc "Mac"
            ldc "HmacSHA384"
            aload 1 /* P11MAC */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        57: .line 550
            ldc "1.2.840.113549.2.10"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.2.10"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        58: .line 551
            ldc 609
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        59: .line 549
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        60: .line 552
            ldc "Mac"
            ldc "HmacSHA512"
            aload 1 /* P11MAC */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        61: .line 553
            ldc "1.2.840.113549.2.11"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.2.11"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        62: .line 554
            ldc 625
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        63: .line 552
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        64: .line 555
            ldc "Mac"
            ldc "SslMacMD5"
            aload 1 /* P11MAC */
        65: .line 556
            ldc 896
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        66: .line 555
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        67: .line 557
            ldc "Mac"
            ldc "SslMacSHA1"
            aload 1 /* P11MAC */
        68: .line 558
            ldc 897
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        69: .line 557
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        70: .line 560
            ldc "KeyPairGenerator"
            ldc "RSA"
            aload 2 /* P11KeyPairGenerator */
        71: .line 561
            lconst_0
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        72: .line 560
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        73: .line 562
            ldc "KeyPairGenerator"
            ldc "DSA"
            aload 2 /* P11KeyPairGenerator */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
        74: .line 563
            ldc "1.3.14.3.2.12"
            aastore
            dup
            iconst_1
            ldc "1.2.840.10040.4.1"
            aastore
            dup
            iconst_2
            ldc "OID.1.2.840.10040.4.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        75: .line 564
            ldc 16
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        76: .line 562
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        77: .line 565
            ldc "KeyPairGenerator"
            ldc "DH"
            aload 2 /* P11KeyPairGenerator */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DiffieHellman"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        78: .line 566
            ldc 32
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        79: .line 565
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        80: .line 567
            ldc "KeyPairGenerator"
            ldc "EC"
            aload 2 /* P11KeyPairGenerator */
        81: .line 568
            ldc 4160
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        82: .line 567
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        83: .line 570
            ldc "KeyGenerator"
            ldc "ARCFOUR"
            aload 3 /* P11KeyGenerator */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "RC4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
        84: .line 571
            ldc 272
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        85: .line 570
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
        86: .line 572
            ldc "KeyGenerator"
            ldc "DES"
            aload 3 /* P11KeyGenerator */
        87: .line 573
            ldc 288
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        88: .line 572
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        89: .line 574
            ldc "KeyGenerator"
            ldc "DESede"
            aload 3 /* P11KeyGenerator */
        90: .line 575
            ldc 305
            ldc 304
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
        91: .line 574
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        92: .line 576
            ldc "KeyGenerator"
            ldc "AES"
            aload 3 /* P11KeyGenerator */
        93: .line 577
            ldc 4224
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        94: .line 576
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        95: .line 578
            ldc "KeyGenerator"
            ldc "Blowfish"
            aload 3 /* P11KeyGenerator */
        96: .line 579
            ldc 4240
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
        97: .line 578
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        98: .line 583
            ldc "KeyFactory"
            ldc "RSA"
            aload 4 /* P11RSAKeyFactory */
        99: .line 584
            lconst_0
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       100: .line 583
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       101: .line 585
            ldc "KeyFactory"
            ldc "DSA"
            aload 5 /* P11DSAKeyFactory */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
       102: .line 586
            ldc "1.3.14.3.2.12"
            aastore
            dup
            iconst_1
            ldc "1.2.840.10040.4.1"
            aastore
            dup
            iconst_2
            ldc "OID.1.2.840.10040.4.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       103: .line 587
            ldc 16
            ldc 17
            ldc 18
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       104: .line 585
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       105: .line 588
            ldc "KeyFactory"
            ldc "DH"
            aload 6 /* P11DHKeyFactory */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DiffieHellman"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       106: .line 589
            ldc 32
            ldc 33
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       107: .line 588
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       108: .line 590
            ldc "KeyFactory"
            ldc "EC"
            aload 6 /* P11DHKeyFactory */
       109: .line 591
            ldc 4160
            ldc 4176
       110: .line 592
            ldc 4161
            ldc 4162
       111: .line 591
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJJ)[I
       112: .line 590
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       113: .line 596
            ldc "AlgorithmParameters"
            ldc "EC"
            ldc "sun.security.ec.ECParameters"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
       114: .line 597
            ldc "1.2.840.10045.2.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       115: .line 598
            ldc 4160
            ldc 4176
       116: .line 599
            ldc 4161
            ldc 4162
       117: .line 598
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJJ)[I
       118: .line 596
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       119: .line 601
            ldc "KeyAgreement"
            ldc "DH"
            aload 7 /* P11KeyAgreement */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DiffieHellman"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       120: .line 602
            ldc 33
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       121: .line 601
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       122: .line 603
            ldc "KeyAgreement"
            ldc "ECDH"
            ldc "sun.security.pkcs11.P11ECDHKeyAgreement"
       123: .line 604
            ldc 4176
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       124: .line 603
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       125: .line 606
            ldc "SecretKeyFactory"
            ldc "ARCFOUR"
            aload 8 /* P11SecretKeyFactory */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "RC4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       126: .line 607
            ldc 273
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       127: .line 606
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       128: .line 608
            ldc "SecretKeyFactory"
            ldc "DES"
            aload 8 /* P11SecretKeyFactory */
       129: .line 609
            ldc 290
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       130: .line 608
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       131: .line 610
            ldc "SecretKeyFactory"
            ldc "DESede"
            aload 8 /* P11SecretKeyFactory */
       132: .line 611
            ldc 307
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       133: .line 610
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       134: .line 612
            ldc "SecretKeyFactory"
            ldc "AES"
            aload 8 /* P11SecretKeyFactory */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       135: .line 613
            ldc "2.16.840.1.101.3.4.1"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       136: .line 614
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       137: .line 612
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       138: .line 615
            ldc "SecretKeyFactory"
            ldc "Blowfish"
            aload 8 /* P11SecretKeyFactory */
       139: .line 616
            ldc 4241
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       140: .line 615
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       141: .line 619
            ldc "Cipher"
            ldc "ARCFOUR"
            aload 9 /* P11Cipher */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "RC4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       142: .line 620
            ldc 273
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       143: .line 619
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       144: .line 621
            ldc "Cipher"
            ldc "DES/CBC/NoPadding"
            aload 9 /* P11Cipher */
       145: .line 622
            ldc 290
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       146: .line 621
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       147: .line 623
            ldc "Cipher"
            ldc "DES/CBC/PKCS5Padding"
            aload 9 /* P11Cipher */
       148: .line 624
            ldc 293
            ldc 290
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       149: .line 623
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       150: .line 625
            ldc "Cipher"
            ldc "DES/ECB/NoPadding"
            aload 9 /* P11Cipher */
       151: .line 626
            ldc 289
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       152: .line 625
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       153: .line 627
            ldc "Cipher"
            ldc "DES/ECB/PKCS5Padding"
            aload 9 /* P11Cipher */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DES"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       154: .line 628
            ldc 289
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       155: .line 627
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       156: .line 629
            ldc "Cipher"
            ldc "DESede/CBC/NoPadding"
            aload 9 /* P11Cipher */
       157: .line 630
            ldc 307
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       158: .line 629
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       159: .line 631
            ldc "Cipher"
            ldc "DESede/CBC/PKCS5Padding"
            aload 9 /* P11Cipher */
       160: .line 632
            ldc 310
            ldc 307
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       161: .line 631
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       162: .line 633
            ldc "Cipher"
            ldc "DESede/ECB/NoPadding"
            aload 9 /* P11Cipher */
       163: .line 634
            ldc 306
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       164: .line 633
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       165: .line 635
            ldc "Cipher"
            ldc "DESede/ECB/PKCS5Padding"
            aload 9 /* P11Cipher */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "DESede"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       166: .line 636
            ldc 306
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       167: .line 635
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       168: .line 637
            ldc "Cipher"
            ldc "AES/CBC/NoPadding"
            aload 9 /* P11Cipher */
       169: .line 638
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       170: .line 637
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       171: .line 639
            ldc "Cipher"
            ldc "AES_128/CBC/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       172: .line 640
            ldc "2.16.840.1.101.3.4.1.2"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.2"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       173: .line 641
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       174: .line 639
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       175: .line 642
            ldc "Cipher"
            ldc "AES_192/CBC/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       176: .line 643
            ldc "2.16.840.1.101.3.4.1.22"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.22"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       177: .line 644
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       178: .line 642
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       179: .line 645
            ldc "Cipher"
            ldc "AES_256/CBC/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       180: .line 646
            ldc "2.16.840.1.101.3.4.1.42"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.42"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       181: .line 647
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       182: .line 645
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       183: .line 648
            ldc "Cipher"
            ldc "AES/CBC/PKCS5Padding"
            aload 9 /* P11Cipher */
       184: .line 649
            ldc 4229
            ldc 4226
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       185: .line 648
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       186: .line 650
            ldc "Cipher"
            ldc "AES/ECB/NoPadding"
            aload 9 /* P11Cipher */
       187: .line 651
            ldc 4225
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       188: .line 650
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       189: .line 652
            ldc "Cipher"
            ldc "AES_128/ECB/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       190: .line 653
            ldc "2.16.840.1.101.3.4.1.1"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       191: .line 654
            ldc 4225
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       192: .line 652
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       193: .line 655
            ldc "Cipher"
            ldc "AES_192/ECB/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       194: .line 656
            ldc "2.16.840.1.101.3.4.1.21"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.21"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       195: .line 657
            ldc 4225
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       196: .line 655
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       197: .line 658
            ldc "Cipher"
            ldc "AES_256/ECB/NoPadding"
            aload 9 /* P11Cipher */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       198: .line 659
            ldc "2.16.840.1.101.3.4.1.41"
            aastore
            dup
            iconst_1
            ldc "OID.2.16.840.1.101.3.4.1.41"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       199: .line 660
            ldc 4225
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       200: .line 658
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       201: .line 661
            ldc "Cipher"
            ldc "AES/ECB/PKCS5Padding"
            aload 9 /* P11Cipher */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "AES"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       202: .line 662
            ldc 4225
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       203: .line 661
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       204: .line 663
            ldc "Cipher"
            ldc "AES/CTR/NoPadding"
            aload 9 /* P11Cipher */
       205: .line 664
            ldc 4230
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       206: .line 663
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       207: .line 665
            ldc "Cipher"
            ldc "Blowfish/CBC/NoPadding"
            aload 9 /* P11Cipher */
       208: .line 666
            ldc 4241
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       209: .line 665
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       210: .line 667
            ldc "Cipher"
            ldc "Blowfish/CBC/PKCS5Padding"
            aload 9 /* P11Cipher */
       211: .line 668
            ldc 4241
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       212: .line 667
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       213: .line 671
            ldc "Cipher"
            ldc "RSA/ECB/PKCS1Padding"
            aload 10 /* P11RSACipher */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "RSA"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       214: .line 672
            lconst_1
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       215: .line 671
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       216: .line 673
            ldc "Cipher"
            ldc "RSA/ECB/NoPadding"
            aload 10 /* P11RSACipher */
       217: .line 674
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       218: .line 673
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       219: .line 676
            ldc "Signature"
            ldc "RawDSA"
            aload 11 /* P11Signature */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "NONEwithDSA"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       220: .line 677
            ldc 17
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       221: .line 676
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       222: .line 678
            ldc "Signature"
            ldc "DSA"
            aload 11 /* P11Signature */
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
       223: .line 679
            ldc "SHA1withDSA"
            aastore
            dup
            iconst_1
            ldc "1.3.14.3.2.13"
            aastore
            dup
            iconst_2
            ldc "1.3.14.3.2.27"
            aastore
            dup
            iconst_3
       224: .line 680
            ldc "1.2.840.10040.4.3"
            aastore
            dup
            iconst_4
            ldc "OID.1.2.840.10040.4.3"
            aastore
       225: .line 679
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       226: .line 681
            ldc 18
            ldc 17
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       227: .line 678
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       228: .line 682
            ldc "Signature"
            ldc "NONEwithECDSA"
            aload 11 /* P11Signature */
       229: .line 683
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       230: .line 682
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       231: .line 684
            ldc "Signature"
            ldc "SHA1withECDSA"
            aload 11 /* P11Signature */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
       232: .line 685
            ldc "ECDSA"
            aastore
            dup
            iconst_1
            ldc "1.2.840.10045.4.1"
            aastore
            dup
            iconst_2
            ldc "OID.1.2.840.10045.4.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       233: .line 686
            ldc 4162
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       234: .line 684
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       235: .line 687
            ldc "Signature"
            ldc "SHA224withECDSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       236: .line 688
            ldc "1.2.840.10045.4.3.1"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.10045.4.3.1"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       237: .line 689
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       238: .line 687
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       239: .line 690
            ldc "Signature"
            ldc "SHA256withECDSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       240: .line 691
            ldc "1.2.840.10045.4.3.2"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.10045.4.3.2"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       241: .line 692
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       242: .line 690
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       243: .line 693
            ldc "Signature"
            ldc "SHA384withECDSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       244: .line 694
            ldc "1.2.840.10045.4.3.3"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.10045.4.3.3"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       245: .line 695
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       246: .line 693
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       247: .line 696
            ldc "Signature"
            ldc "SHA512withECDSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       248: .line 697
            ldc "1.2.840.10045.4.3.4"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.10045.4.3.4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       249: .line 698
            ldc 4161
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       250: .line 696
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       251: .line 699
            ldc "Signature"
            ldc "MD2withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       252: .line 700
            ldc "1.2.840.113549.1.1.2"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.2"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       253: .line 701
            ldc 4
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       254: .line 699
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       255: .line 702
            ldc "Signature"
            ldc "MD5withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       256: .line 703
            ldc "1.2.840.113549.1.1.4"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.4"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       257: .line 704
            ldc 5
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       258: .line 702
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       259: .line 705
            ldc "Signature"
            ldc "SHA1withRSA"
            aload 11 /* P11Signature */
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
       260: .line 706
            ldc "1.2.840.113549.1.1.5"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.5"
            aastore
            dup
            iconst_2
       261: .line 707
            ldc "1.3.14.3.2.29"
            aastore
       262: .line 706
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       263: .line 708
            ldc 6
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       264: .line 705
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       265: .line 709
            ldc "Signature"
            ldc "SHA224withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       266: .line 710
            ldc "1.2.840.113549.1.1.14"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.14"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       267: .line 711
            ldc 70
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       268: .line 709
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       269: .line 712
            ldc "Signature"
            ldc "SHA256withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       270: .line 713
            ldc "1.2.840.113549.1.1.11"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.11"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       271: .line 714
            ldc 64
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       272: .line 712
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       273: .line 715
            ldc "Signature"
            ldc "SHA384withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       274: .line 716
            ldc "1.2.840.113549.1.1.12"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.12"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       275: .line 717
            ldc 65
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       276: .line 715
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       277: .line 718
            ldc "Signature"
            ldc "SHA512withRSA"
            aload 11 /* P11Signature */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
       278: .line 719
            ldc "1.2.840.113549.1.1.13"
            aastore
            dup
            iconst_1
            ldc "OID.1.2.840.113549.1.1.13"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       279: .line 720
            ldc 66
            lconst_1
            ldc 3
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJ)[I
       280: .line 718
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       281: .line 722
            ldc "KeyGenerator"
            ldc "SunTlsRsaPremasterSecret"
       282: .line 723
            ldc "sun.security.pkcs11.P11TlsRsaPremasterSecretGenerator"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
       283: .line 724
            ldc "SunTls12RsaPremasterSecret"
            aastore
            invokestatic sun.security.pkcs11.SunPKCS11.s:([Ljava/lang/String;)[Ljava/lang/String;
       284: .line 725
            ldc 880
            ldc 884
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       285: .line 722
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
       286: .line 726
            ldc "KeyGenerator"
            ldc "SunTlsMasterSecret"
       287: .line 727
            ldc "sun.security.pkcs11.P11TlsMasterSecretGenerator"
       288: .line 728
            ldc 881
            ldc 885
       289: .line 729
            ldc 883
       290: .line 730
            ldc 887
       291: .line 728
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJJJ)[I
       292: .line 726
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       293: .line 731
            ldc "KeyGenerator"
            ldc "SunTls12MasterSecret"
       294: .line 732
            ldc "sun.security.pkcs11.P11TlsMasterSecretGenerator"
       295: .line 733
            ldc 992
            ldc 994
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       296: .line 731
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       297: .line 734
            ldc "KeyGenerator"
            ldc "SunTlsKeyMaterial"
       298: .line 735
            ldc "sun.security.pkcs11.P11TlsKeyMaterialGenerator"
       299: .line 736
            ldc 882
            ldc 886
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       300: .line 734
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       301: .line 737
            ldc "KeyGenerator"
            ldc "SunTls12KeyMaterial"
       302: .line 738
            ldc "sun.security.pkcs11.P11TlsKeyMaterialGenerator"
       303: .line 739
            ldc 993
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       304: .line 737
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       305: .line 740
            ldc "KeyGenerator"
            ldc "SunTlsPrf"
            ldc "sun.security.pkcs11.P11TlsPrfGenerator"
       306: .line 741
            ldc 888
            ldc 2147484531
            invokestatic sun.security.pkcs11.SunPKCS11.m:(JJ)[I
       307: .line 740
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
       308: .line 742
            ldc "KeyGenerator"
            ldc "SunTls12Prf"
            ldc "sun.security.pkcs11.P11TlsPrfGenerator"
       309: .line 743
            ldc 996
            invokestatic sun.security.pkcs11.SunPKCS11.m:(J)[I
       310: .line 742
            invokestatic sun.security.pkcs11.SunPKCS11.d:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
        end local 11 // java.lang.String P11Signature
        end local 10 // java.lang.String P11RSACipher
        end local 9 // java.lang.String P11Cipher
        end local 8 // java.lang.String P11SecretKeyFactory
        end local 7 // java.lang.String P11KeyAgreement
        end local 6 // java.lang.String P11DHKeyFactory
        end local 5 // java.lang.String P11DSAKeyFactory
        end local 4 // java.lang.String P11RSAKeyFactory
        end local 3 // java.lang.String P11KeyGenerator
        end local 2 // java.lang.String P11KeyPairGenerator
        end local 1 // java.lang.String P11MAC
        end local 0 // java.lang.String P11Digest
       311: .line 744
            return
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            4  311     0            P11Digest  Ljava/lang/String;
            5  311     1               P11MAC  Ljava/lang/String;
            6  311     2  P11KeyPairGenerator  Ljava/lang/String;
            7  311     3      P11KeyGenerator  Ljava/lang/String;
            8  311     4     P11RSAKeyFactory  Ljava/lang/String;
            9  311     5     P11DSAKeyFactory  Ljava/lang/String;
           10  311     6      P11DHKeyFactory  Ljava/lang/String;
           11  311     7      P11KeyAgreement  Ljava/lang/String;
           12  311     8  P11SecretKeyFactory  Ljava/lang/String;
           13  311     9            P11Cipher  Ljava/lang/String;
           14  311    10         P11RSACipher  Ljava/lang/String;
           15  311    11         P11Signature  Ljava/lang/String;

  sun.security.pkcs11.Token getToken();
    descriptor: ()Lsun/security/pkcs11/Token;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 93
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            areturn
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs11/SunPKCS11;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 97
            aload 0 /* this */
            ldc "SunPKCS11-Dummy"
            ldc 1.7
            ldc "SunPKCS11-Dummy"
            invokespecial java.security.AuthProvider.<init>:(Ljava/lang/String;DLjava/lang/String;)V
         1: .line 80
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.security.pkcs11.SunPKCS11.LOCK_HANDLER:Ljava/lang/Object;
         2: .line 98
            new java.security.ProviderException
            dup
         3: .line 99
            ldc "SunPKCS11 requires configuration file argument"
         4: .line 98
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/pkcs11/SunPKCS11;

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // java.lang.String configName
         0: .line 103
            aload 0 /* this */
            aload 1 /* configName */
            invokestatic sun.security.pkcs11.SunPKCS11.checkNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            aconst_null
            invokespecial sun.security.pkcs11.SunPKCS11.<init>:(Ljava/lang/String;Ljava/io/InputStream;)V
         1: .line 104
            return
        end local 1 // java.lang.String configName
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lsun/security/pkcs11/SunPKCS11;
            0    2     1  configName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      configName  

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // java.io.InputStream configStream
         0: .line 107
            aload 0 /* this */
            invokestatic sun.security.pkcs11.SunPKCS11.getDummyConfigName:()Ljava/lang/String;
            aload 1 /* configStream */
            invokestatic sun.security.pkcs11.SunPKCS11.checkNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.InputStream
            invokespecial sun.security.pkcs11.SunPKCS11.<init>:(Ljava/lang/String;Ljava/io/InputStream;)V
         1: .line 108
            return
        end local 1 // java.io.InputStream configStream
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lsun/security/pkcs11/SunPKCS11;
            0    2     1  configStream  Ljava/io/InputStream;
    MethodParameters:
              Name  Flags
      configStream  

  private static <T> T checkNull();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 111
            aload 0 /* obj */
            ifnonnull 2
         1: .line 112
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            areturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   obj  TT;
    Signature: <T:Ljava/lang/Object;>(TT;)TT;
    MethodParameters:
      Name  Flags
      obj   

  private static synchronized java.lang.String getDummyConfigName();
    descriptor: ()Ljava/lang/String;
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=0
         0: .line 118
            getstatic sun.security.pkcs11.SunPKCS11.dummyConfigId:I
            iconst_1
            iadd
            dup
            putstatic sun.security.pkcs11.SunPKCS11.dummyConfigId:I
            istore 0 /* id */
        start local 0 // int id
         1: .line 119
            new java.lang.StringBuilder
            dup
            ldc "---DummyConfig-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* id */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "---"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // int id
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    2     0    id  I

  public void <init>(java.lang.String, java.io.InputStream);
    descriptor: (Ljava/lang/String;Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=19, args_size=3
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // java.lang.String configName
        start local 2 // java.io.InputStream configStream
         0: .line 128
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "SunPKCS11-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 129
            aload 1 /* configName */
            aload 2 /* configStream */
            invokestatic sun.security.pkcs11.Config.getConfig:(Ljava/lang/String;Ljava/io/InputStream;)Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 128
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 130
            ldc 1.7
            aload 1 /* configName */
            aload 2 /* configStream */
            invokestatic sun.security.pkcs11.Config.getConfig:(Ljava/lang/String;Ljava/io/InputStream;)Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getDescription:()Ljava/lang/String;
            invokespecial java.security.AuthProvider.<init>:(Ljava/lang/String;DLjava/lang/String;)V
         4: .line 80
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.security.pkcs11.SunPKCS11.LOCK_HANDLER:Ljava/lang/Object;
         5: .line 131
            aload 0 /* this */
            aload 1 /* configName */
            putfield sun.security.pkcs11.SunPKCS11.configName:Ljava/lang/String;
         6: .line 132
            aload 0 /* this */
            aload 1 /* configName */
            invokestatic sun.security.pkcs11.Config.removeConfig:(Ljava/lang/String;)Lsun/security/pkcs11/Config;
            putfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
         7: .line 134
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 9
         8: .line 135
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "SunPKCS11 loading "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* configName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 138
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getLibrary:()Ljava/lang/String;
            astore 3 /* library */
        start local 3 // java.lang.String library
        10: .line 139
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getFunctionList:()Ljava/lang/String;
            astore 4 /* functionList */
        start local 4 // java.lang.String functionList
        11: .line 140
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getSlotID:()I
            i2l
            lstore 5 /* slotID */
        start local 5 // long slotID
        12: .line 141
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getSlotListIndex:()I
            istore 7 /* slotListIndex */
        start local 7 // int slotListIndex
        13: .line 143
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssUseSecmod:()Z
            istore 8 /* useSecmod */
        start local 8 // boolean useSecmod
        14: .line 144
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssUseSecmodTrust:()Z
            istore 9 /* nssUseSecmodTrust */
        start local 9 // boolean nssUseSecmodTrust
        15: .line 145
            aconst_null
            astore 10 /* nssModule */
        start local 10 // sun.security.pkcs11.Secmod$Module nssModule
        16: .line 162
            iload 8 /* useSecmod */
            ifeq 118
        17: .line 165
            invokestatic sun.security.pkcs11.Secmod.getInstance:()Lsun/security/pkcs11/Secmod;
            astore 11 /* secmod */
        start local 11 // sun.security.pkcs11.Secmod secmod
        18: .line 166
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssDbMode:()Lsun/security/pkcs11/Secmod$DbMode;
            astore 12 /* nssDbMode */
        start local 12 // sun.security.pkcs11.Secmod$DbMode nssDbMode
        19: .line 168
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssLibraryDirectory:()Ljava/lang/String;
            astore 13 /* nssLibraryDirectory */
        start local 13 // java.lang.String nssLibraryDirectory
        20: .line 169
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssSecmodDirectory:()Ljava/lang/String;
            astore 14 /* nssSecmodDirectory */
        start local 14 // java.lang.String nssSecmodDirectory
        21: .line 170
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssOptimizeSpace:()Z
            istore 15 /* nssOptimizeSpace */
        start local 15 // boolean nssOptimizeSpace
        22: .line 172
            aload 11 /* secmod */
            invokevirtual sun.security.pkcs11.Secmod.isInitialized:()Z
            ifeq 41
        23: .line 173
            aload 14 /* nssSecmodDirectory */
            ifnull 32
        24: .line 174
            aload 11 /* secmod */
            invokevirtual sun.security.pkcs11.Secmod.getConfigDir:()Ljava/lang/String;
            astore 16 /* s */
        start local 16 // java.lang.String s
        25: .line 175
            aload 16 /* s */
            ifnull 32
        26: .line 176
            aload 16 /* s */
            aload 14 /* nssSecmodDirectory */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 32
        27: .line 177
            new java.security.ProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Secmod directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        28: .line 178
            aload 14 /* nssSecmodDirectory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        29: .line 179
            ldc " invalid, NSS already initialized with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 180
            aload 16 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 177
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        end local 16 // java.lang.String s
        32: .line 183
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module sun.security.pkcs11.Secmod sun.security.pkcs11.Secmod$DbMode java.lang.String java.lang.String int
      StackMap stack:
            aload 13 /* nssLibraryDirectory */
            ifnull 56
        33: .line 184
            aload 11 /* secmod */
            invokevirtual sun.security.pkcs11.Secmod.getLibDir:()Ljava/lang/String;
            astore 16 /* s */
        start local 16 // java.lang.String s
        34: .line 185
            aload 16 /* s */
            ifnull 56
        35: .line 186
            aload 16 /* s */
            aload 13 /* nssLibraryDirectory */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 56
        36: .line 187
            new java.security.ProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "NSS library directory "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        37: .line 188
            aload 13 /* nssLibraryDirectory */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        38: .line 189
            ldc " invalid, NSS already initialized with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        39: .line 190
            aload 16 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        40: .line 187
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        end local 16 // java.lang.String s
        41: .line 194
      StackMap locals:
      StackMap stack:
            aload 12 /* nssDbMode */
            getstatic sun.security.pkcs11.Secmod$DbMode.NO_DB:Lsun/security/pkcs11/Secmod$DbMode;
            if_acmpeq 46
        42: .line 195
            aload 14 /* nssSecmodDirectory */
            ifnonnull 50
        43: .line 196
            new java.security.ProviderException
            dup
        44: .line 197
            ldc "Secmod not initialized and nssSecmodDirectory not specified"
        45: .line 196
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        46: .line 201
      StackMap locals:
      StackMap stack:
            aload 14 /* nssSecmodDirectory */
            ifnull 50
        47: .line 202
            new java.security.ProviderException
            dup
        48: .line 203
            ldc "nssSecmodDirectory must not be specified in noDb mode"
        49: .line 202
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        50: .line 207
      StackMap locals:
      StackMap stack:
            aload 11 /* secmod */
            aload 12 /* nssDbMode */
            aload 14 /* nssSecmodDirectory */
        51: .line 208
            aload 13 /* nssLibraryDirectory */
            iload 15 /* nssOptimizeSpace */
        52: .line 207
            invokevirtual sun.security.pkcs11.Secmod.initialize:(Lsun/security/pkcs11/Secmod$DbMode;Ljava/lang/String;Ljava/lang/String;Z)V
        end local 15 // boolean nssOptimizeSpace
        end local 14 // java.lang.String nssSecmodDirectory
        end local 13 // java.lang.String nssLibraryDirectory
        53: .line 210
            goto 56
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module sun.security.pkcs11.Secmod sun.security.pkcs11.Secmod$DbMode
      StackMap stack: java.io.IOException
        54: astore 13 /* e */
        start local 13 // java.io.IOException e
        55: .line 212
            new java.security.ProviderException
            dup
            ldc "Could not initialize NSS"
            aload 13 /* e */
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 13 // java.io.IOException e
        56: .line 214
      StackMap locals:
      StackMap stack:
            aload 11 /* secmod */
            invokevirtual sun.security.pkcs11.Secmod.getModules:()Ljava/util/List;
            astore 13 /* modules */
        start local 13 // java.util.List modules
        57: .line 215
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getShowInfo:()Z
            ifeq 59
        58: .line 216
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "NSS modules: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* modules */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        59: .line 219
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssModule:()Ljava/lang/String;
            astore 14 /* moduleName */
        start local 14 // java.lang.String moduleName
        60: .line 220
            aload 14 /* moduleName */
            ifnonnull 69
        61: .line 221
            aload 11 /* secmod */
            getstatic sun.security.pkcs11.Secmod$ModuleType.FIPS:Lsun/security/pkcs11/Secmod$ModuleType;
            invokevirtual sun.security.pkcs11.Secmod.getModule:(Lsun/security/pkcs11/Secmod$ModuleType;)Lsun/security/pkcs11/Secmod$Module;
            astore 10 /* nssModule */
        62: .line 222
            aload 10 /* nssModule */
            ifnull 65
        63: .line 223
            ldc "fips"
            astore 14 /* moduleName */
        64: .line 224
            goto 69
        65: .line 225
      StackMap locals: java.lang.String
      StackMap stack:
            aload 12 /* nssDbMode */
            getstatic sun.security.pkcs11.Secmod$DbMode.NO_DB:Lsun/security/pkcs11/Secmod$DbMode;
            if_acmpne 67
        66: .line 226
            ldc "crypto"
            goto 68
      StackMap locals:
      StackMap stack:
        67: ldc "keystore"
        68: .line 225
      StackMap locals:
      StackMap stack: java.lang.String
            astore 14 /* moduleName */
        69: .line 229
      StackMap locals:
      StackMap stack:
            aload 14 /* moduleName */
            ldc "fips"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 74
        70: .line 230
            aload 11 /* secmod */
            getstatic sun.security.pkcs11.Secmod$ModuleType.FIPS:Lsun/security/pkcs11/Secmod$ModuleType;
            invokevirtual sun.security.pkcs11.Secmod.getModule:(Lsun/security/pkcs11/Secmod$ModuleType;)Lsun/security/pkcs11/Secmod$Module;
            astore 10 /* nssModule */
        71: .line 231
            iconst_1
            istore 9 /* nssUseSecmodTrust */
        72: .line 232
            ldc "FC_GetFunctionList"
            astore 4 /* functionList */
        73: .line 233
            goto 110
      StackMap locals:
      StackMap stack:
        74: aload 14 /* moduleName */
            ldc "keystore"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 78
        75: .line 234
            aload 11 /* secmod */
            getstatic sun.security.pkcs11.Secmod$ModuleType.KEYSTORE:Lsun/security/pkcs11/Secmod$ModuleType;
            invokevirtual sun.security.pkcs11.Secmod.getModule:(Lsun/security/pkcs11/Secmod$ModuleType;)Lsun/security/pkcs11/Secmod$Module;
            astore 10 /* nssModule */
        76: .line 235
            iconst_1
            istore 9 /* nssUseSecmodTrust */
        77: .line 236
            goto 110
      StackMap locals:
      StackMap stack:
        78: aload 14 /* moduleName */
            ldc "crypto"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 81
        79: .line 237
            aload 11 /* secmod */
            getstatic sun.security.pkcs11.Secmod$ModuleType.CRYPTO:Lsun/security/pkcs11/Secmod$ModuleType;
            invokevirtual sun.security.pkcs11.Secmod.getModule:(Lsun/security/pkcs11/Secmod$ModuleType;)Lsun/security/pkcs11/Secmod$Module;
            astore 10 /* nssModule */
        80: .line 238
            goto 110
      StackMap locals:
      StackMap stack:
        81: aload 14 /* moduleName */
            ldc "trustanchors"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 85
        82: .line 240
            aload 11 /* secmod */
            getstatic sun.security.pkcs11.Secmod$ModuleType.TRUSTANCHOR:Lsun/security/pkcs11/Secmod$ModuleType;
            invokevirtual sun.security.pkcs11.Secmod.getModule:(Lsun/security/pkcs11/Secmod$ModuleType;)Lsun/security/pkcs11/Secmod$Module;
            astore 10 /* nssModule */
        83: .line 241
            iconst_1
            istore 9 /* nssUseSecmodTrust */
        84: .line 242
            goto 110
      StackMap locals:
      StackMap stack:
        85: aload 14 /* moduleName */
            ldc "external-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 107
        86: .line 246
            aload 14 /* moduleName */
            ldc "external-"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
        87: .line 245
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 15 /* moduleIndex */
        start local 15 // int moduleIndex
        88: .line 247
            goto 91
        end local 15 // int moduleIndex
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
        89: pop
        90: .line 248
            iconst_m1
            istore 15 /* moduleIndex */
        start local 15 // int moduleIndex
        91: .line 250
      StackMap locals: int
      StackMap stack:
            iload 15 /* moduleIndex */
            iconst_1
            if_icmpge 95
        92: .line 251
            new java.security.ProviderException
            dup
        93: .line 252
            new java.lang.StringBuilder
            dup
            ldc "Invalid external module: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 14 /* moduleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        94: .line 251
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        95: .line 254
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 16 /* k */
        start local 16 // int k
        96: .line 255
            aload 13 /* modules */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 18
            goto 102
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module sun.security.pkcs11.Secmod sun.security.pkcs11.Secmod$DbMode java.util.List java.lang.String int int top java.util.Iterator
      StackMap stack:
        97: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.pkcs11.Secmod$Module
            astore 17 /* module */
        start local 17 // sun.security.pkcs11.Secmod$Module module
        98: .line 256
            aload 17 /* module */
            invokevirtual sun.security.pkcs11.Secmod$Module.getType:()Lsun/security/pkcs11/Secmod$ModuleType;
            getstatic sun.security.pkcs11.Secmod$ModuleType.EXTERNAL:Lsun/security/pkcs11/Secmod$ModuleType;
            if_acmpne 102
        99: .line 257
            iinc 16 /* k */ 1
            iload 16 /* k */
            iload 15 /* moduleIndex */
            if_icmpne 102
       100: .line 258
            aload 17 /* module */
            astore 10 /* nssModule */
       101: .line 259
            goto 103
        end local 17 // sun.security.pkcs11.Secmod$Module module
       102: .line 255
      StackMap locals:
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 97
       103: .line 263
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module sun.security.pkcs11.Secmod sun.security.pkcs11.Secmod$DbMode java.util.List java.lang.String int int
      StackMap stack:
            aload 10 /* nssModule */
            ifnonnull 110
       104: .line 264
            new java.security.ProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid module "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 14 /* moduleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       105: .line 265
            ldc ": only "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 16 /* k */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " external NSS modules available"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       106: .line 264
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
        end local 16 // int k
        end local 15 // int moduleIndex
       107: .line 268
      StackMap locals:
      StackMap stack:
            new java.security.ProviderException
            dup
       108: .line 269
            new java.lang.StringBuilder
            dup
            ldc "Unknown NSS module: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 14 /* moduleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       109: .line 268
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
       110: .line 271
      StackMap locals:
      StackMap stack:
            aload 10 /* nssModule */
            ifnonnull 114
       111: .line 272
            new java.security.ProviderException
            dup
       112: .line 273
            new java.lang.StringBuilder
            dup
            ldc "NSS module not available: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 14 /* moduleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       113: .line 272
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
       114: .line 275
      StackMap locals:
      StackMap stack:
            aload 10 /* nssModule */
            invokevirtual sun.security.pkcs11.Secmod$Module.hasInitializedProvider:()Z
            ifeq 116
       115: .line 276
            new java.security.ProviderException
            dup
            ldc "Secmod module already configured"
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
       116: .line 278
      StackMap locals:
      StackMap stack:
            aload 10 /* nssModule */
            getfield sun.security.pkcs11.Secmod$Module.libraryName:Ljava/lang/String;
            astore 3 /* library */
       117: .line 279
            aload 10 /* nssModule */
            getfield sun.security.pkcs11.Secmod$Module.slot:I
            istore 7 /* slotListIndex */
        end local 14 // java.lang.String moduleName
        end local 13 // java.util.List modules
        end local 12 // sun.security.pkcs11.Secmod$DbMode nssDbMode
        end local 11 // sun.security.pkcs11.Secmod secmod
       118: .line 281
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module
      StackMap stack:
            aload 0 /* this */
            iload 9 /* nssUseSecmodTrust */
            putfield sun.security.pkcs11.SunPKCS11.nssUseSecmodTrust:Z
       119: .line 282
            aload 0 /* this */
            aload 10 /* nssModule */
            putfield sun.security.pkcs11.SunPKCS11.nssModule:Lsun/security/pkcs11/Secmod$Module;
       120: .line 284
            new java.io.File
            dup
            aload 3 /* library */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 11 /* libraryFile */
        start local 11 // java.io.File libraryFile
       121: .line 289
            aload 11 /* libraryFile */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            aload 3 /* library */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 127
       122: .line 290
            new java.io.File
            dup
            aload 3 /* library */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.isFile:()Z
            ifne 127
       123: .line 291
            new java.lang.StringBuilder
            dup
            ldc "Library "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* library */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " does not exist"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 12 /* msg */
        start local 12 // java.lang.String msg
       124: .line 292
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getHandleStartupErrors:()I
            iconst_1
            if_icmpne 126
       125: .line 293
            new java.security.ProviderException
            dup
            aload 12 /* msg */
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
       126: .line 295
      StackMap locals: java.io.File java.lang.String
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            aload 12 /* msg */
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // java.lang.String msg
       127: .line 301
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 129
       128: .line 302
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Initializing PKCS#11 library "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* library */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       129: .line 304
      StackMap locals:
      StackMap stack:
            new sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS
            dup
            invokespecial sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS.<init>:()V
            astore 12 /* initArgs */
        start local 12 // sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS initArgs
       130: .line 305
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssArgs:()Ljava/lang/String;
            astore 13 /* nssArgs */
        start local 13 // java.lang.String nssArgs
       131: .line 306
            aload 13 /* nssArgs */
            ifnull 133
       132: .line 307
            aload 12 /* initArgs */
            aload 13 /* nssArgs */
            putfield sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS.pReserved:Ljava/lang/Object;
       133: .line 310
      StackMap locals: sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS java.lang.String
      StackMap stack:
            aload 12 /* initArgs */
            ldc 2
            putfield sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS.flags:J
       134: .line 314
            aload 3 /* library */
            aload 4 /* functionList */
            aload 12 /* initArgs */
       135: .line 315
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getOmitInitialize:()Z
       136: .line 313
            invokestatic sun.security.pkcs11.wrapper.PKCS11.getInstance:(Ljava/lang/String;Ljava/lang/String;Lsun/security/pkcs11/wrapper/CK_C_INITIALIZE_ARGS;Z)Lsun/security/pkcs11/wrapper/PKCS11;
            astore 14 /* tmpPKCS11 */
        start local 14 // sun.security.pkcs11.wrapper.PKCS11 tmpPKCS11
       137: .line 316
            goto 150
        end local 14 // sun.security.pkcs11.wrapper.PKCS11 tmpPKCS11
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
       138: astore 15 /* e */
        start local 15 // sun.security.pkcs11.wrapper.PKCS11Exception e
       139: .line 317
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 141
       140: .line 318
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Multi-threaded initialization failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 15 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       141: .line 320
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module java.io.File sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS java.lang.String top sun.security.pkcs11.wrapper.PKCS11Exception
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getAllowSingleThreadedModules:()Z
            ifne 143
       142: .line 321
            aload 15 /* e */
            athrow
       143: .line 324
      StackMap locals:
      StackMap stack:
            aload 13 /* nssArgs */
            ifnonnull 146
       144: .line 326
            aconst_null
            astore 12 /* initArgs */
       145: .line 327
            goto 147
       146: .line 328
      StackMap locals:
      StackMap stack:
            aload 12 /* initArgs */
            lconst_0
            putfield sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS.flags:J
       147: .line 330
      StackMap locals:
      StackMap stack:
            aload 3 /* library */
       148: .line 331
            aload 4 /* functionList */
            aload 12 /* initArgs */
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getOmitInitialize:()Z
       149: .line 330
            invokestatic sun.security.pkcs11.wrapper.PKCS11.getInstance:(Ljava/lang/String;Ljava/lang/String;Lsun/security/pkcs11/wrapper/CK_C_INITIALIZE_ARGS;Z)Lsun/security/pkcs11/wrapper/PKCS11;
            astore 14 /* tmpPKCS11 */
        end local 15 // sun.security.pkcs11.wrapper.PKCS11Exception e
        start local 14 // sun.security.pkcs11.wrapper.PKCS11 tmpPKCS11
       150: .line 333
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module java.io.File sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS java.lang.String sun.security.pkcs11.wrapper.PKCS11
      StackMap stack:
            aload 0 /* this */
            aload 14 /* tmpPKCS11 */
            putfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
       151: .line 335
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetInfo:()Lsun/security/pkcs11/wrapper/CK_INFO;
            astore 15 /* p11Info */
        start local 15 // sun.security.pkcs11.wrapper.CK_INFO p11Info
       152: .line 336
            aload 15 /* p11Info */
            getfield sun.security.pkcs11.wrapper.CK_INFO.cryptokiVersion:Lsun/security/pkcs11/wrapper/CK_VERSION;
            getfield sun.security.pkcs11.wrapper.CK_VERSION.major:B
            iconst_2
            if_icmpge 156
       153: .line 337
            new java.security.ProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Only PKCS#11 v2.0 and later supported, library version is v"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       154: .line 338
            aload 15 /* p11Info */
            getfield sun.security.pkcs11.wrapper.CK_INFO.cryptokiVersion:Lsun/security/pkcs11/wrapper/CK_VERSION;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       155: .line 337
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
       156: .line 340
      StackMap locals: sun.security.pkcs11.wrapper.CK_INFO
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getShowInfo:()Z
            istore 16 /* showInfo */
        start local 16 // boolean showInfo
       157: .line 341
            iload 16 /* showInfo */
            ifeq 161
       158: .line 342
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Information for provider "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       159: .line 343
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Library info:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       160: .line 344
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 15 /* p11Info */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
       161: .line 347
      StackMap locals: int
      StackMap stack:
            lload 5 /* slotID */
            lconst_0
            lcmp
            iflt 162
            iload 16 /* showInfo */
            ifeq 175
       162: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            iconst_0
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetSlotList:(Z)[J
            astore 17 /* slots */
        start local 17 // long[] slots
       163: .line 349
            iload 16 /* showInfo */
            ifeq 167
       164: .line 350
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "All slots: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 17 /* slots */
            invokestatic sun.security.pkcs11.SunPKCS11.toString:([J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       165: .line 351
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            iconst_1
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetSlotList:(Z)[J
            astore 17 /* slots */
       166: .line 352
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Slots with tokens: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 17 /* slots */
            invokestatic sun.security.pkcs11.SunPKCS11.toString:([J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       167: .line 354
      StackMap locals: long[]
      StackMap stack:
            lload 5 /* slotID */
            lconst_0
            lcmp
            ifge 175
       168: .line 355
            iload 7 /* slotListIndex */
            iflt 170
       169: .line 356
            iload 7 /* slotListIndex */
            aload 17 /* slots */
            arraylength
            if_icmplt 174
       170: .line 357
      StackMap locals:
      StackMap stack:
            new java.security.ProviderException
            dup
            new java.lang.StringBuilder
            dup
            ldc "slotListIndex is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       171: .line 358
            iload 7 /* slotListIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
       172: .line 359
            ldc " but token only has "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 17 /* slots */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " slots"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       173: .line 357
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            athrow
       174: .line 361
      StackMap locals:
      StackMap stack:
            aload 17 /* slots */
            iload 7 /* slotListIndex */
            laload
            lstore 5 /* slotID */
        end local 17 // long[] slots
       175: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 5 /* slotID */
            putfield sun.security.pkcs11.SunPKCS11.slotID:J
       176: .line 365
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            lload 5 /* slotID */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetSlotInfo:(J)Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;
            astore 17 /* slotInfo */
        start local 17 // sun.security.pkcs11.wrapper.CK_SLOT_INFO slotInfo
       177: .line 366
            aload 0 /* this */
            aload 17 /* slotInfo */
            getfield sun.security.pkcs11.wrapper.CK_SLOT_INFO.flags:J
            ldc 2
            land
            lconst_0
            lcmp
            ifeq 178
            iconst_1
            goto 179
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module java.io.File sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS java.lang.String sun.security.pkcs11.wrapper.PKCS11 sun.security.pkcs11.wrapper.CK_INFO int sun.security.pkcs11.wrapper.CK_SLOT_INFO
      StackMap stack: sun.security.pkcs11.SunPKCS11
       178: iconst_0
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module java.io.File sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS java.lang.String sun.security.pkcs11.wrapper.PKCS11 sun.security.pkcs11.wrapper.CK_INFO int sun.security.pkcs11.wrapper.CK_SLOT_INFO
      StackMap stack: sun.security.pkcs11.SunPKCS11 int
       179: putfield sun.security.pkcs11.SunPKCS11.removable:Z
       180: .line 367
            aload 0 /* this */
            aload 17 /* slotInfo */
            invokevirtual sun.security.pkcs11.SunPKCS11.initToken:(Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;)V
       181: .line 368
            aload 10 /* nssModule */
            ifnull 192
       182: .line 369
            aload 10 /* nssModule */
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.Secmod$Module.setProvider:(Lsun/security/pkcs11/SunPKCS11;)V
        end local 17 // sun.security.pkcs11.wrapper.CK_SLOT_INFO slotInfo
        end local 16 // boolean showInfo
        end local 15 // sun.security.pkcs11.wrapper.CK_INFO p11Info
        end local 14 // sun.security.pkcs11.wrapper.PKCS11 tmpPKCS11
        end local 13 // java.lang.String nssArgs
        end local 12 // sun.security.pkcs11.wrapper.CK_C_INITIALIZE_ARGS initArgs
       183: .line 371
            goto 192
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.String java.io.InputStream java.lang.String java.lang.String long int int int sun.security.pkcs11.Secmod$Module java.io.File
      StackMap stack: java.lang.Exception
       184: astore 12 /* e */
        start local 12 // java.lang.Exception e
       185: .line 372
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getHandleStartupErrors:()I
            iconst_2
            if_icmpne 189
       186: .line 373
            new java.lang.UnsupportedOperationException
            dup
       187: .line 374
            ldc "Initialization failed"
            aload 12 /* e */
       188: .line 373
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
       189: .line 376
      StackMap locals: java.lang.Exception
      StackMap stack:
            new java.security.ProviderException
            dup
       190: .line 377
            ldc "Initialization failed"
            aload 12 /* e */
       191: .line 376
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 12 // java.lang.Exception e
       192: .line 380
      StackMap locals:
      StackMap stack:
            return
        end local 11 // java.io.File libraryFile
        end local 10 // sun.security.pkcs11.Secmod$Module nssModule
        end local 9 // boolean nssUseSecmodTrust
        end local 8 // boolean useSecmod
        end local 7 // int slotListIndex
        end local 5 // long slotID
        end local 4 // java.lang.String functionList
        end local 3 // java.lang.String library
        end local 2 // java.io.InputStream configStream
        end local 1 // java.lang.String configName
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  193     0                 this  Lsun/security/pkcs11/SunPKCS11;
            0  193     1           configName  Ljava/lang/String;
            0  193     2         configStream  Ljava/io/InputStream;
           10  193     3              library  Ljava/lang/String;
           11  193     4         functionList  Ljava/lang/String;
           12  193     5               slotID  J
           13  193     7        slotListIndex  I
           14  193     8            useSecmod  Z
           15  193     9    nssUseSecmodTrust  Z
           16  193    10            nssModule  Lsun/security/pkcs11/Secmod$Module;
           18  118    11               secmod  Lsun/security/pkcs11/Secmod;
           19  118    12            nssDbMode  Lsun/security/pkcs11/Secmod$DbMode;
           20   53    13  nssLibraryDirectory  Ljava/lang/String;
           21   53    14   nssSecmodDirectory  Ljava/lang/String;
           22   53    15     nssOptimizeSpace  Z
           25   32    16                    s  Ljava/lang/String;
           34   41    16                    s  Ljava/lang/String;
           55   56    13                    e  Ljava/io/IOException;
           57  118    13              modules  Ljava/util/List<Lsun/security/pkcs11/Secmod$Module;>;
           60  118    14           moduleName  Ljava/lang/String;
           88   89    15          moduleIndex  I
           91  107    15          moduleIndex  I
           96  107    16                    k  I
           98  102    17               module  Lsun/security/pkcs11/Secmod$Module;
          121  193    11          libraryFile  Ljava/io/File;
          124  127    12                  msg  Ljava/lang/String;
          130  183    12             initArgs  Lsun/security/pkcs11/wrapper/CK_C_INITIALIZE_ARGS;
          131  183    13              nssArgs  Ljava/lang/String;
          137  138    14            tmpPKCS11  Lsun/security/pkcs11/wrapper/PKCS11;
          150  183    14            tmpPKCS11  Lsun/security/pkcs11/wrapper/PKCS11;
          139  150    15                    e  Lsun/security/pkcs11/wrapper/PKCS11Exception;
          152  183    15              p11Info  Lsun/security/pkcs11/wrapper/CK_INFO;
          157  183    16             showInfo  Z
          163  175    17                slots  [J
          177  183    17             slotInfo  Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;
          185  192    12                    e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          19    53      54  Class java.io.IOException
          86    88      89  Class java.lang.NumberFormatException
         134   137     138  Class sun.security.pkcs11.wrapper.PKCS11Exception
         127   183     184  Class java.lang.Exception
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      configName    
      configStream  

  private static java.lang.String toString(long[]);
    descriptor: ([J)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // long[] longs
         0: .line 383
            aload 0 /* longs */
            arraylength
            ifne 2
         1: .line 384
            ldc "(none)"
            areturn
         2: .line 386
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         3: .line 387
            aload 1 /* sb */
            aload 0 /* longs */
            iconst_0
            laload
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
         4: .line 388
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         5: goto 9
         6: .line 389
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 390
            aload 1 /* sb */
            aload 0 /* longs */
            iload 2 /* i */
            laload
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
         8: .line 388
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* longs */
            arraylength
            if_icmplt 6
        end local 2 // int i
        10: .line 392
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // long[] longs
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0  longs  [J
            3   11     1     sb  Ljava/lang/StringBuilder;
            5   10     2      i  I
    MethodParameters:
       Name  Flags
      longs  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // java.lang.Object obj
         0: .line 396
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/pkcs11/SunPKCS11;
            0    2     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 400
            aload 0 /* this */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            ireturn
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs11/SunPKCS11;

  private static java.lang.String[] s(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String[] aliases
         0: .line 404
            aload 0 /* aliases */
            areturn
        end local 0 // java.lang.String[] aliases
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  aliases  [Ljava/lang/String;
    MethodParameters:
         Name  Flags
      aliases  

  private static int[] m(long);
    descriptor: (J)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // long m1
         0: .line 437
            iconst_1
            newarray 10
            dup
            iconst_0
            lload 0 /* m1 */
            l2i
            iastore
            areturn
        end local 0 // long m1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    m1  J
    MethodParameters:
      Name  Flags
      m1    

  private static int[] m(long, long);
    descriptor: (JJ)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // long m1
        start local 2 // long m2
         0: .line 441
            iconst_2
            newarray 10
            dup
            iconst_0
            lload 0 /* m1 */
            l2i
            iastore
            dup
            iconst_1
            lload 2 /* m2 */
            l2i
            iastore
            areturn
        end local 2 // long m2
        end local 0 // long m1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    m1  J
            0    1     2    m2  J
    MethodParameters:
      Name  Flags
      m1    
      m2    

  private static int[] m(long, long, long);
    descriptor: (JJJ)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // long m1
        start local 2 // long m2
        start local 4 // long m3
         0: .line 445
            iconst_3
            newarray 10
            dup
            iconst_0
            lload 0 /* m1 */
            l2i
            iastore
            dup
            iconst_1
            lload 2 /* m2 */
            l2i
            iastore
            dup
            iconst_2
            lload 4 /* m3 */
            l2i
            iastore
            areturn
        end local 4 // long m3
        end local 2 // long m2
        end local 0 // long m1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    m1  J
            0    1     2    m2  J
            0    1     4    m3  J
    MethodParameters:
      Name  Flags
      m1    
      m2    
      m3    

  private static int[] m(long, long, long, long);
    descriptor: (JJJJ)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // long m1
        start local 2 // long m2
        start local 4 // long m3
        start local 6 // long m4
         0: .line 449
            iconst_4
            newarray 10
            dup
            iconst_0
            lload 0 /* m1 */
            l2i
            iastore
            dup
            iconst_1
            lload 2 /* m2 */
            l2i
            iastore
            dup
            iconst_2
            lload 4 /* m3 */
            l2i
            iastore
            dup
            iconst_3
            lload 6 /* m4 */
            l2i
            iastore
            areturn
        end local 6 // long m4
        end local 4 // long m3
        end local 2 // long m2
        end local 0 // long m1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    m1  J
            0    1     2    m2  J
            0    1     4    m3  J
            0    1     6    m4  J
    MethodParameters:
      Name  Flags
      m1    
      m2    
      m3    
      m4    

  private static void d(java.lang.String, java.lang.String, java.lang.String, int[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // java.lang.String type
        start local 1 // java.lang.String algorithm
        start local 2 // java.lang.String className
        start local 3 // int[] m
         0: .line 454
            new sun.security.pkcs11.SunPKCS11$Descriptor
            dup
            aload 0 /* type */
            aload 1 /* algorithm */
            aload 2 /* className */
            aconst_null
            aload 3 /* m */
            invokespecial sun.security.pkcs11.SunPKCS11$Descriptor.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
            invokestatic sun.security.pkcs11.SunPKCS11.register:(Lsun/security/pkcs11/SunPKCS11$Descriptor;)V
         1: .line 455
            return
        end local 3 // int[] m
        end local 2 // java.lang.String className
        end local 1 // java.lang.String algorithm
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       type  Ljava/lang/String;
            0    2     1  algorithm  Ljava/lang/String;
            0    2     2  className  Ljava/lang/String;
            0    2     3          m  [I
    MethodParameters:
           Name  Flags
      type       
      algorithm  
      className  
      m          

  private static void d(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], int[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // java.lang.String type
        start local 1 // java.lang.String algorithm
        start local 2 // java.lang.String className
        start local 3 // java.lang.String[] aliases
        start local 4 // int[] m
         0: .line 459
            new sun.security.pkcs11.SunPKCS11$Descriptor
            dup
            aload 0 /* type */
            aload 1 /* algorithm */
            aload 2 /* className */
            aload 3 /* aliases */
            aload 4 /* m */
            invokespecial sun.security.pkcs11.SunPKCS11$Descriptor.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[I)V
            invokestatic sun.security.pkcs11.SunPKCS11.register:(Lsun/security/pkcs11/SunPKCS11$Descriptor;)V
         1: .line 460
            return
        end local 4 // int[] m
        end local 3 // java.lang.String[] aliases
        end local 2 // java.lang.String className
        end local 1 // java.lang.String algorithm
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       type  Ljava/lang/String;
            0    2     1  algorithm  Ljava/lang/String;
            0    2     2  className  Ljava/lang/String;
            0    2     3    aliases  [Ljava/lang/String;
            0    2     4          m  [I
    MethodParameters:
           Name  Flags
      type       
      algorithm  
      className  
      aliases    
      m          

  private static void register(sun.security.pkcs11.SunPKCS11$Descriptor);
    descriptor: (Lsun/security/pkcs11/SunPKCS11$Descriptor;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11$Descriptor d
         0: .line 463
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 10
         2: .line 464
      StackMap locals: int
      StackMap stack:
            aload 0 /* d */
            getfield sun.security.pkcs11.SunPKCS11$Descriptor.mechanisms:[I
            iload 1 /* i */
            iaload
            istore 2 /* m */
        start local 2 // int m
         3: .line 465
            iload 2 /* m */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 3 /* key */
        start local 3 // java.lang.Integer key
         4: .line 466
            getstatic sun.security.pkcs11.SunPKCS11.descriptors:Ljava/util/Map;
            aload 3 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* list */
        start local 4 // java.util.List list
         5: .line 467
            aload 4 /* list */
            ifnonnull 8
         6: .line 468
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* list */
         7: .line 469
            getstatic sun.security.pkcs11.SunPKCS11.descriptors:Ljava/util/Map;
            aload 3 /* key */
            aload 4 /* list */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 471
      StackMap locals: int java.lang.Integer java.util.List
      StackMap stack:
            aload 4 /* list */
            aload 0 /* d */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.util.List list
        end local 3 // java.lang.Integer key
        end local 2 // int m
         9: .line 463
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 1 /* i */
            aload 0 /* d */
            getfield sun.security.pkcs11.SunPKCS11$Descriptor.mechanisms:[I
            arraylength
            if_icmplt 2
        end local 1 // int i
        11: .line 473
            return
        end local 0 // sun.security.pkcs11.SunPKCS11$Descriptor d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0     d  Lsun/security/pkcs11/SunPKCS11$Descriptor;
            1   11     1     i  I
            3    9     2     m  I
            4    9     3   key  Ljava/lang/Integer;
            5    9     4  list  Ljava/util/List<Lsun/security/pkcs11/SunPKCS11$Descriptor;>;
    MethodParameters:
      Name  Flags
      d     

  private void createPoller();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 781
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.poller:Lsun/security/pkcs11/SunPKCS11$TokenPoller;
            ifnull 2
         1: .line 782
            return
         2: .line 784
      StackMap locals:
      StackMap stack:
            new sun.security.pkcs11.SunPKCS11$TokenPoller
            dup
            aload 0 /* this */
            invokespecial sun.security.pkcs11.SunPKCS11$TokenPoller.<init>:(Lsun/security/pkcs11/SunPKCS11;)V
            astore 1 /* poller */
        start local 1 // sun.security.pkcs11.SunPKCS11$TokenPoller poller
         3: .line 785
            new java.lang.Thread
            dup
            aload 1 /* poller */
            new java.lang.StringBuilder
            dup
            ldc "Poller "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;Ljava/lang/String;)V
            astore 2 /* t */
        start local 2 // java.lang.Thread t
         4: .line 786
            aload 2 /* t */
            iconst_1
            invokevirtual java.lang.Thread.setDaemon:(Z)V
         5: .line 787
            aload 2 /* t */
            iconst_1
            invokevirtual java.lang.Thread.setPriority:(I)V
         6: .line 788
            aload 2 /* t */
            invokevirtual java.lang.Thread.start:()V
         7: .line 789
            aload 0 /* this */
            aload 1 /* poller */
            putfield sun.security.pkcs11.SunPKCS11.poller:Lsun/security/pkcs11/SunPKCS11$TokenPoller;
         8: .line 790
            return
        end local 2 // java.lang.Thread t
        end local 1 // sun.security.pkcs11.SunPKCS11$TokenPoller poller
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lsun/security/pkcs11/SunPKCS11;
            3    9     1  poller  Lsun/security/pkcs11/SunPKCS11$TokenPoller;
            4    9     2       t  Ljava/lang/Thread;

  private void destroyPoller();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 794
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.poller:Lsun/security/pkcs11/SunPKCS11$TokenPoller;
            ifnull 3
         1: .line 795
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.poller:Lsun/security/pkcs11/SunPKCS11$TokenPoller;
            invokevirtual sun.security.pkcs11.SunPKCS11$TokenPoller.disable:()V
         2: .line 796
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs11.SunPKCS11.poller:Lsun/security/pkcs11/SunPKCS11$TokenPoller;
         3: .line 798
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/pkcs11/SunPKCS11;

  private boolean hasValidToken();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 808
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            astore 1 /* token */
        start local 1 // sun.security.pkcs11.Token token
         1: .line 809
            aload 1 /* token */
            ifnull 2
            aload 1 /* token */
            invokevirtual sun.security.pkcs11.Token.isValid:()Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals: sun.security.pkcs11.Token
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // sun.security.pkcs11.Token token
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/security/pkcs11/SunPKCS11;
            1    3     1  token  Lsun/security/pkcs11/Token;

  synchronized void uninitToken(sun.security.pkcs11.Token);
    descriptor: (Lsun/security/pkcs11/Token;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // sun.security.pkcs11.Token token
         0: .line 814
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 1 /* token */
            if_acmpeq 2
         1: .line 816
            return
         2: .line 818
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.destroyPoller:()V
         3: .line 819
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
         4: .line 821
            new sun.security.pkcs11.SunPKCS11$1
            dup
            aload 0 /* this */
            invokespecial sun.security.pkcs11.SunPKCS11$1.<init>:(Lsun/security/pkcs11/SunPKCS11;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         5: .line 827
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.createPoller:()V
         6: .line 828
            return
        end local 1 // sun.security.pkcs11.Token token
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lsun/security/pkcs11/SunPKCS11;
            0    7     1  token  Lsun/security/pkcs11/Token;
    MethodParameters:
       Name  Flags
      token  

  private void initToken(sun.security.pkcs11.wrapper.CK_SLOT_INFO);
    descriptor: (Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=19, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // sun.security.pkcs11.wrapper.CK_SLOT_INFO slotInfo
         0: .line 834
            aload 1 /* slotInfo */
            ifnonnull 2
         1: .line 835
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.slotID:J
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetSlotInfo:(J)Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;
            astore 1 /* slotInfo */
         2: .line 837
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.removable:Z
            ifeq 5
            aload 1 /* slotInfo */
            getfield sun.security.pkcs11.wrapper.CK_SLOT_INFO.flags:J
            lconst_1
            land
            lconst_0
            lcmp
            ifne 5
         3: .line 838
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.createPoller:()V
         4: .line 839
            return
         5: .line 841
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.destroyPoller:()V
         6: .line 842
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getShowInfo:()Z
            istore 2 /* showInfo */
        start local 2 // boolean showInfo
         7: .line 843
            iload 2 /* showInfo */
            ifeq 10
         8: .line 844
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Slot info for slot "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.slotID:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 845
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 1 /* slotInfo */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        10: .line 847
      StackMap locals: int
      StackMap stack:
            new sun.security.pkcs11.Token
            dup
            aload 0 /* this */
            invokespecial sun.security.pkcs11.Token.<init>:(Lsun/security/pkcs11/SunPKCS11;)V
            astore 3 /* token */
        start local 3 // sun.security.pkcs11.Token token
        11: .line 848
            iload 2 /* showInfo */
            ifeq 16
        12: .line 849
            getstatic java.lang.System.out:Ljava/io/PrintStream;
        13: .line 850
            new java.lang.StringBuilder
            dup
            ldc "Token info for token in slot "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.slotID:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 849
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 851
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 3 /* token */
            getfield sun.security.pkcs11.Token.tokenInfo:Lsun/security/pkcs11/wrapper/CK_TOKEN_INFO;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        16: .line 853
      StackMap locals: sun.security.pkcs11.Token
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.slotID:J
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetMechanismList:(J)[J
            astore 4 /* supportedMechanisms */
        start local 4 // long[] supportedMechanisms
        17: .line 862
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        18: .line 861
            astore 5 /* supportedAlgs */
        start local 5 // java.util.Map supportedAlgs
        19: .line 863
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        20: goto 60
        21: .line 864
      StackMap locals: long[] java.util.Map int
      StackMap stack:
            aload 4 /* supportedMechanisms */
            iload 6 /* i */
            laload
            lstore 7 /* longMech */
        start local 7 // long longMech
        22: .line 865
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.config:Lsun/security/pkcs11/Config;
            lload 7 /* longMech */
            invokevirtual sun.security.pkcs11.Config.isEnabled:(J)Z
            istore 9 /* isEnabled */
        start local 9 // boolean isEnabled
        23: .line 866
            iload 2 /* showInfo */
            ifeq 32
        24: .line 868
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.slotID:J
            lload 7 /* longMech */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetMechanismInfo:(JJ)Lsun/security/pkcs11/wrapper/CK_MECHANISM_INFO;
        25: .line 867
            astore 10 /* mechInfo */
        start local 10 // sun.security.pkcs11.wrapper.CK_MECHANISM_INFO mechInfo
        26: .line 869
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Mechanism "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        27: .line 870
            lload 7 /* longMech */
            invokestatic sun.security.pkcs11.wrapper.Functions.getMechanismName:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 869
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        29: .line 871
            iload 9 /* isEnabled */
            ifne 31
        30: .line 872
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "DISABLED in configuration"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        31: .line 874
      StackMap locals: long int sun.security.pkcs11.wrapper.CK_MECHANISM_INFO
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 10 /* mechInfo */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        end local 10 // sun.security.pkcs11.wrapper.CK_MECHANISM_INFO mechInfo
        32: .line 876
      StackMap locals:
      StackMap stack:
            iload 9 /* isEnabled */
            ifne 34
        33: .line 877
            goto 59
        34: .line 880
      StackMap locals:
      StackMap stack:
            lload 7 /* longMech */
            bipush 32
            lushr
            lconst_0
            lcmp
            ifeq 36
        35: .line 881
            goto 59
        36: .line 883
      StackMap locals:
      StackMap stack:
            lload 7 /* longMech */
            l2i
            istore 10 /* mech */
        start local 10 // int mech
        37: .line 884
            iload 10 /* mech */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 11 /* integerMech */
        start local 11 // java.lang.Integer integerMech
        38: .line 885
            getstatic sun.security.pkcs11.SunPKCS11.descriptors:Ljava/util/Map;
            aload 11 /* integerMech */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 12 /* ds */
        start local 12 // java.util.List ds
        39: .line 886
            aload 12 /* ds */
            ifnonnull 41
        40: .line 887
            goto 59
        41: .line 889
      StackMap locals: int java.lang.Integer java.util.List
      StackMap stack:
            aload 12 /* ds */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 14
            goto 58
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.wrapper.CK_SLOT_INFO int sun.security.pkcs11.Token long[] java.util.Map int long int int java.lang.Integer java.util.List top java.util.Iterator
      StackMap stack:
        42: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.pkcs11.SunPKCS11$Descriptor
            astore 13 /* d */
        start local 13 // sun.security.pkcs11.SunPKCS11$Descriptor d
        43: .line 890
            aload 5 /* supportedAlgs */
            aload 13 /* d */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 15 /* oldMech */
        start local 15 // java.lang.Integer oldMech
        44: .line 891
            aload 15 /* oldMech */
            ifnonnull 47
        45: .line 892
            aload 5 /* supportedAlgs */
            aload 13 /* d */
            aload 11 /* integerMech */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        46: .line 893
            goto 58
        47: .line 898
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.wrapper.CK_SLOT_INFO int sun.security.pkcs11.Token long[] java.util.Map int long int int java.lang.Integer java.util.List sun.security.pkcs11.SunPKCS11$Descriptor java.util.Iterator java.lang.Integer
      StackMap stack:
            aload 15 /* oldMech */
            invokevirtual java.lang.Integer.intValue:()I
            istore 16 /* intOldMech */
        start local 16 // int intOldMech
        48: .line 899
            iconst_0
            istore 17 /* j */
        start local 17 // int j
        49: goto 57
        50: .line 900
      StackMap locals: int int
      StackMap stack:
            aload 13 /* d */
            getfield sun.security.pkcs11.SunPKCS11$Descriptor.mechanisms:[I
            iload 17 /* j */
            iaload
            istore 18 /* nextMech */
        start local 18 // int nextMech
        51: .line 901
            iload 10 /* mech */
            iload 18 /* nextMech */
            if_icmpne 54
        52: .line 902
            aload 5 /* supportedAlgs */
            aload 13 /* d */
            aload 11 /* integerMech */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        53: .line 903
            goto 58
        54: .line 904
      StackMap locals: int
      StackMap stack:
            iload 16 /* intOldMech */
            iload 18 /* nextMech */
            if_icmpne 56
        55: .line 905
            goto 58
        end local 18 // int nextMech
        56: .line 899
      StackMap locals:
      StackMap stack:
            iinc 17 /* j */ 1
      StackMap locals:
      StackMap stack:
        57: iload 17 /* j */
            aload 13 /* d */
            getfield sun.security.pkcs11.SunPKCS11$Descriptor.mechanisms:[I
            arraylength
            if_icmplt 50
        end local 17 // int j
        end local 16 // int intOldMech
        end local 15 // java.lang.Integer oldMech
        end local 13 // sun.security.pkcs11.SunPKCS11$Descriptor d
        58: .line 889
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.wrapper.CK_SLOT_INFO int sun.security.pkcs11.Token long[] java.util.Map int long int int java.lang.Integer java.util.List top java.util.Iterator
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 42
        end local 12 // java.util.List ds
        end local 11 // java.lang.Integer integerMech
        end local 10 // int mech
        end local 9 // boolean isEnabled
        end local 7 // long longMech
        59: .line 863
      StackMap locals: sun.security.pkcs11.SunPKCS11 sun.security.pkcs11.wrapper.CK_SLOT_INFO int sun.security.pkcs11.Token long[] java.util.Map int
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        60: iload 6 /* i */
            aload 4 /* supportedMechanisms */
            arraylength
            if_icmplt 21
        end local 6 // int i
        61: .line 913
            new sun.security.pkcs11.SunPKCS11$2
            dup
            aload 0 /* this */
            aload 5 /* supportedAlgs */
            aload 3 /* token */
            invokespecial sun.security.pkcs11.SunPKCS11$2.<init>:(Lsun/security/pkcs11/SunPKCS11;Ljava/util/Map;Lsun/security/pkcs11/Token;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        62: .line 943
            aload 0 /* this */
            aload 3 /* token */
            putfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
        63: .line 944
            return
        end local 5 // java.util.Map supportedAlgs
        end local 4 // long[] supportedMechanisms
        end local 3 // sun.security.pkcs11.Token token
        end local 2 // boolean showInfo
        end local 1 // sun.security.pkcs11.wrapper.CK_SLOT_INFO slotInfo
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   64     0                 this  Lsun/security/pkcs11/SunPKCS11;
            0   64     1             slotInfo  Lsun/security/pkcs11/wrapper/CK_SLOT_INFO;
            7   64     2             showInfo  Z
           11   64     3                token  Lsun/security/pkcs11/Token;
           17   64     4  supportedMechanisms  [J
           19   64     5        supportedAlgs  Ljava/util/Map<Lsun/security/pkcs11/SunPKCS11$Descriptor;Ljava/lang/Integer;>;
           20   61     6                    i  I
           22   59     7             longMech  J
           23   59     9            isEnabled  Z
           26   32    10             mechInfo  Lsun/security/pkcs11/wrapper/CK_MECHANISM_INFO;
           37   59    10                 mech  I
           38   59    11          integerMech  Ljava/lang/Integer;
           39   59    12                   ds  Ljava/util/List<Lsun/security/pkcs11/SunPKCS11$Descriptor;>;
           43   58    13                    d  Lsun/security/pkcs11/SunPKCS11$Descriptor;
           44   58    15              oldMech  Ljava/lang/Integer;
           48   58    16           intOldMech  I
           49   58    17                    j  I
           51   56    18             nextMech  I
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception
    MethodParameters:
          Name  Flags
      slotInfo  

  public void login(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler);
    descriptor: (Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // javax.security.auth.Subject subject
        start local 2 // javax.security.auth.callback.CallbackHandler handler
         0: .line 1129
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         1: .line 1130
            aload 3 /* sm */
            ifnull 7
         2: .line 1131
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 4
         3: .line 1132
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "checking login permission"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         4: .line 1134
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 3 /* sm */
            new java.security.SecurityPermission
            dup
         5: .line 1135
            new java.lang.StringBuilder
            dup
            ldc "authProvider."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.SecurityPermission.<init>:(Ljava/lang/String;)V
         6: .line 1134
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         7: .line 1138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.hasValidToken:()Z
            ifne 9
         8: .line 1139
            new javax.security.auth.login.LoginException
            dup
            ldc "No token present"
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.tokenInfo:Lsun/security/pkcs11/wrapper/CK_TOKEN_INFO;
            getfield sun.security.pkcs11.wrapper.CK_TOKEN_INFO.flags:J
            ldc 4
            land
            lconst_0
            lcmp
            ifne 13
        10: .line 1145
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 12
        11: .line 1146
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "login operation not required for token - ignoring login request"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 1149
      StackMap locals:
      StackMap stack:
            return
        13: .line 1155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aconst_null
            invokevirtual sun.security.pkcs11.Token.isLoggedInNow:(Lsun/security/pkcs11/Session;)Z
            ifeq 18
        14: .line 1157
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 16
        15: .line 1158
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "user already logged in"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        16: .line 1160
      StackMap locals:
      StackMap stack:
            return
        17: .line 1162
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            pop
        18: .line 1168
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* pin */
        start local 4 // char[] pin
        19: .line 1169
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.tokenInfo:Lsun/security/pkcs11/wrapper/CK_TOKEN_INFO;
            getfield sun.security.pkcs11.wrapper.CK_TOKEN_INFO.flags:J
            ldc 256
            land
            lconst_0
            lcmp
            ifne 47
        20: .line 1173
            aload 0 /* this */
            aload 2 /* handler */
            invokevirtual sun.security.pkcs11.SunPKCS11.getCallbackHandler:(Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/auth/callback/CallbackHandler;
            astore 5 /* myHandler */
        start local 5 // javax.security.auth.callback.CallbackHandler myHandler
        21: .line 1174
            aload 5 /* myHandler */
            ifnonnull 25
        22: .line 1176
            new javax.security.auth.login.LoginException
            dup
        23: .line 1177
            ldc "no password provided, and no callback handler available for retrieving password"
        24: .line 1176
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 1181
      StackMap locals: char[] javax.security.auth.callback.CallbackHandler
      StackMap stack:
            new java.text.MessageFormat
            dup
        26: .line 1183
            ldc "PKCS11.Token.providerName.Password."
        27: .line 1182
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        28: .line 1181
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        29: .line 1184
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
        30: .line 1186
            new javax.security.auth.callback.PasswordCallback
            dup
            aload 6 /* form */
            aload 7 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        31: .line 1187
            iconst_0
        32: .line 1186
            invokespecial javax.security.auth.callback.PasswordCallback.<init>:(Ljava/lang/String;Z)V
            astore 8 /* pcall */
        start local 8 // javax.security.auth.callback.PasswordCallback pcall
        33: .line 1188
            iconst_1
            anewarray javax.security.auth.callback.Callback
            dup
            iconst_0
            aload 8 /* pcall */
            aastore
            astore 9 /* callbacks */
        start local 9 // javax.security.auth.callback.Callback[] callbacks
        34: .line 1190
            aload 5 /* myHandler */
            aload 9 /* callbacks */
            invokeinterface javax.security.auth.callback.CallbackHandler.handle:([Ljavax/security/auth/callback/Callback;)V
        35: .line 1191
            goto 42
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[] javax.security.auth.callback.CallbackHandler java.text.MessageFormat java.lang.Object[] javax.security.auth.callback.PasswordCallback javax.security.auth.callback.Callback[]
      StackMap stack: java.lang.Exception
        36: astore 10 /* e */
        start local 10 // java.lang.Exception e
        37: .line 1192
            new javax.security.auth.login.LoginException
            dup
        38: .line 1193
            ldc "Unable to perform password callback"
        39: .line 1192
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            astore 11 /* le */
        start local 11 // javax.security.auth.login.LoginException le
        40: .line 1194
            aload 11 /* le */
            aload 10 /* e */
            invokevirtual javax.security.auth.login.LoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        41: .line 1195
            aload 11 /* le */
            athrow
        end local 11 // javax.security.auth.login.LoginException le
        end local 10 // java.lang.Exception e
        42: .line 1198
      StackMap locals:
      StackMap stack:
            aload 8 /* pcall */
            invokevirtual javax.security.auth.callback.PasswordCallback.getPassword:()[C
            astore 4 /* pin */
        43: .line 1199
            aload 8 /* pcall */
            invokevirtual javax.security.auth.callback.PasswordCallback.clearPassword:()V
        44: .line 1200
            aload 4 /* pin */
            ifnonnull 47
        45: .line 1201
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 47
        46: .line 1202
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "caller passed NULL pin"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 9 // javax.security.auth.callback.Callback[] callbacks
        end local 8 // javax.security.auth.callback.PasswordCallback pcall
        end local 7 // java.lang.Object[] source
        end local 6 // java.text.MessageFormat form
        end local 5 // javax.security.auth.callback.CallbackHandler myHandler
        47: .line 1209
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[]
      StackMap stack:
            aconst_null
            astore 5 /* session */
        start local 5 // sun.security.pkcs11.Session session
        48: .line 1211
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 5 /* session */
        49: .line 1214
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lconst_1
            aload 4 /* pin */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_Login:(JJ[C)V
        50: .line 1215
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 73
        51: .line 1216
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "login succeeded"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        52: .line 1218
            goto 73
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[] sun.security.pkcs11.Session
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
        53: astore 6 /* pe */
        start local 6 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        54: .line 1219
            aload 6 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 256
            lcmp
            ifne 61
        55: .line 1221
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 57
        56: .line 1222
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "user already logged in"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        57: .line 1235
      StackMap locals: sun.security.pkcs11.wrapper.PKCS11Exception
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        58: .line 1236
            aload 4 /* pin */
            ifnull 60
        59: .line 1237
            aload 4 /* pin */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        60: .line 1224
      StackMap locals:
      StackMap stack:
            return
        61: .line 1225
      StackMap locals:
      StackMap stack:
            aload 6 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 160
            lcmp
            ifne 65
        62: .line 1226
            new javax.security.auth.login.FailedLoginException
            dup
            invokespecial javax.security.auth.login.FailedLoginException.<init>:()V
            astore 7 /* fle */
        start local 7 // javax.security.auth.login.FailedLoginException fle
        63: .line 1227
            aload 7 /* fle */
            aload 6 /* pe */
            invokevirtual javax.security.auth.login.FailedLoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        64: .line 1228
            aload 7 /* fle */
            athrow
        end local 7 // javax.security.auth.login.FailedLoginException fle
        65: .line 1230
      StackMap locals:
      StackMap stack:
            new javax.security.auth.login.LoginException
            dup
            invokespecial javax.security.auth.login.LoginException.<init>:()V
            astore 7 /* le */
        start local 7 // javax.security.auth.login.LoginException le
        66: .line 1231
            aload 7 /* le */
            aload 6 /* pe */
            invokevirtual javax.security.auth.login.LoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        67: .line 1232
            aload 7 /* le */
            athrow
        end local 7 // javax.security.auth.login.LoginException le
        end local 6 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        68: .line 1234
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 8
        69: .line 1235
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        70: .line 1236
            aload 4 /* pin */
            ifnull 72
        71: .line 1237
            aload 4 /* pin */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        72: .line 1239
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[] sun.security.pkcs11.Session top top java.lang.Throwable
      StackMap stack:
            aload 8
            athrow
        73: .line 1235
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.Subject javax.security.auth.callback.CallbackHandler java.lang.SecurityManager char[] sun.security.pkcs11.Session
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        74: .line 1236
            aload 4 /* pin */
            ifnull 76
        75: .line 1237
            aload 4 /* pin */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        76: .line 1242
      StackMap locals:
      StackMap stack:
            return
        end local 5 // sun.security.pkcs11.Session session
        end local 4 // char[] pin
        end local 3 // java.lang.SecurityManager sm
        end local 2 // javax.security.auth.callback.CallbackHandler handler
        end local 1 // javax.security.auth.Subject subject
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   77     0       this  Lsun/security/pkcs11/SunPKCS11;
            0   77     1    subject  Ljavax/security/auth/Subject;
            0   77     2    handler  Ljavax/security/auth/callback/CallbackHandler;
            1   77     3         sm  Ljava/lang/SecurityManager;
           19   77     4        pin  [C
           21   47     5  myHandler  Ljavax/security/auth/callback/CallbackHandler;
           29   47     6       form  Ljava/text/MessageFormat;
           30   47     7     source  [Ljava/lang/Object;
           33   47     8      pcall  Ljavax/security/auth/callback/PasswordCallback;
           34   47     9  callbacks  [Ljavax/security/auth/callback/Callback;
           37   42    10          e  Ljava/lang/Exception;
           40   42    11         le  Ljavax/security/auth/login/LoginException;
           48   77     5    session  Lsun/security/pkcs11/Session;
           54   68     6         pe  Lsun/security/pkcs11/wrapper/PKCS11Exception;
           63   65     7        fle  Ljavax/security/auth/login/FailedLoginException;
           66   68     7         le  Ljavax/security/auth/login/LoginException;
      Exception table:
        from    to  target  type
          13    16      17  Class sun.security.pkcs11.wrapper.PKCS11Exception
          34    35      36  Class java.lang.Exception
          48    52      53  Class sun.security.pkcs11.wrapper.PKCS11Exception
          48    57      68  any
          61    68      68  any
    Exceptions:
      throws javax.security.auth.login.LoginException
    MethodParameters:
         Name  Flags
      subject  
      handler  

  public void logout();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 1257
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         1: .line 1258
            aload 1 /* sm */
            ifnull 5
         2: .line 1259
            aload 1 /* sm */
         3: .line 1260
            new java.security.SecurityPermission
            dup
            new java.lang.StringBuilder
            dup
            ldc "authProvider."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.SecurityPermission.<init>:(Ljava/lang/String;)V
         4: .line 1259
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         5: .line 1263
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.hasValidToken:()Z
            ifne 7
         6: .line 1265
            return
         7: .line 1268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.tokenInfo:Lsun/security/pkcs11/wrapper/CK_TOKEN_INFO;
            getfield sun.security.pkcs11.wrapper.CK_TOKEN_INFO.flags:J
            ldc 4
            land
            lconst_0
            lcmp
            ifne 11
         8: .line 1269
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 10
         9: .line 1270
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "logout operation not required for token - ignoring logout request"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        10: .line 1273
      StackMap locals:
      StackMap stack:
            return
        11: .line 1277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aconst_null
            invokevirtual sun.security.pkcs11.Token.isLoggedInNow:(Lsun/security/pkcs11/Session;)Z
            ifne 16
        12: .line 1278
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 14
        13: .line 1279
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "user not logged in"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        14: .line 1281
      StackMap locals:
      StackMap stack:
            return
        15: .line 1283
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            pop
        16: .line 1289
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
        17: .line 1291
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 2 /* session */
        18: .line 1292
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_Logout:(J)V
        19: .line 1293
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 34
        20: .line 1294
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "logout succeeded"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        21: .line 1296
            goto 34
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.SecurityManager sun.security.pkcs11.Session
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
        22: astore 3 /* pe */
        start local 3 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        23: .line 1297
            aload 3 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 257
            lcmp
            ifne 28
        24: .line 1299
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 26
        25: .line 1300
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "user not logged in"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        26: .line 1308
      StackMap locals: sun.security.pkcs11.wrapper.PKCS11Exception
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        27: .line 1302
            return
        28: .line 1304
      StackMap locals:
      StackMap stack:
            new javax.security.auth.login.LoginException
            dup
            invokespecial javax.security.auth.login.LoginException.<init>:()V
            astore 4 /* le */
        start local 4 // javax.security.auth.login.LoginException le
        29: .line 1305
            aload 4 /* le */
            aload 3 /* pe */
            invokevirtual javax.security.auth.login.LoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        30: .line 1306
            aload 4 /* le */
            athrow
        end local 4 // javax.security.auth.login.LoginException le
        end local 3 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        31: .line 1307
      StackMap locals: sun.security.pkcs11.SunPKCS11 java.lang.SecurityManager sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 5
        32: .line 1308
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        33: .line 1309
            aload 5
            athrow
        34: .line 1308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        35: .line 1310
            return
        end local 2 // sun.security.pkcs11.Session session
        end local 1 // java.lang.SecurityManager sm
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   36     0     this  Lsun/security/pkcs11/SunPKCS11;
            1   36     1       sm  Ljava/lang/SecurityManager;
           17   36     2  session  Lsun/security/pkcs11/Session;
           23   31     3       pe  Lsun/security/pkcs11/wrapper/PKCS11Exception;
           29   31     4       le  Ljavax/security/auth/login/LoginException;
      Exception table:
        from    to  target  type
          11    14      15  Class sun.security.pkcs11.wrapper.PKCS11Exception
          17    21      22  Class sun.security.pkcs11.wrapper.PKCS11Exception
          17    26      31  any
          28    31      31  any
    Exceptions:
      throws javax.security.auth.login.LoginException

  public void setCallbackHandler(javax.security.auth.callback.CallbackHandler);
    descriptor: (Ljavax/security/auth/callback/CallbackHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // javax.security.auth.callback.CallbackHandler handler
         0: .line 1339
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 1340
            aload 2 /* sm */
            ifnull 5
         2: .line 1341
            aload 2 /* sm */
         3: .line 1342
            new java.security.SecurityPermission
            dup
            new java.lang.StringBuilder
            dup
            ldc "authProvider."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.SunPKCS11.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.SecurityPermission.<init>:(Ljava/lang/String;)V
         4: .line 1341
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         5: .line 1345
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.LOCK_HANDLER:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         6: .line 1346
            aload 0 /* this */
            aload 1 /* handler */
            putfield sun.security.pkcs11.SunPKCS11.pHandler:Ljavax/security/auth/callback/CallbackHandler;
         7: .line 1345
            aload 3
            monitorexit
         8: goto 11
      StackMap locals: sun.security.pkcs11.SunPKCS11 javax.security.auth.callback.CallbackHandler java.lang.SecurityManager java.lang.Object
      StackMap stack: java.lang.Throwable
         9: aload 3
            monitorexit
        10: athrow
        11: .line 1348
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.SecurityManager sm
        end local 1 // javax.security.auth.callback.CallbackHandler handler
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lsun/security/pkcs11/SunPKCS11;
            0   12     1  handler  Ljavax/security/auth/callback/CallbackHandler;
            1   12     2       sm  Ljava/lang/SecurityManager;
      Exception table:
        from    to  target  type
           6     8       9  any
           9    10       9  any
    MethodParameters:
         Name  Flags
      handler  

  private javax.security.auth.callback.CallbackHandler getCallbackHandler(javax.security.auth.callback.CallbackHandler);
    descriptor: (Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/auth/callback/CallbackHandler;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.security.pkcs11.SunPKCS11 this
        start local 1 // javax.security.auth.callback.CallbackHandler handler
         0: .line 1354
            aload 1 /* handler */
            ifnull 2
         1: .line 1355
            aload 1 /* handler */
            areturn
         2: .line 1358
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 4
         3: .line 1359
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "getting provider callback handler"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         4: .line 1362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.LOCK_HANDLER:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         5: .line 1364
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.pHandler:Ljavax/security/auth/callback/CallbackHandler;
            ifnull 8
         6: .line 1365
            aload 0 /* this */
            getfield sun.security.pkcs11.SunPKCS11.pHandler:Ljavax/security/auth/callback/CallbackHandler;
            aload 2
            monitorexit
         7: areturn
         8: .line 1369
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 10
         9: .line 1370
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "getting default callback handler"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        10: .line 1374
      StackMap locals:
      StackMap stack:
            new sun.security.pkcs11.SunPKCS11$3
            dup
            aload 0 /* this */
            invokespecial sun.security.pkcs11.SunPKCS11$3.<init>:(Lsun/security/pkcs11/SunPKCS11;)V
        11: .line 1373
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast javax.security.auth.callback.CallbackHandler
            astore 3 /* myHandler */
        start local 3 // javax.security.auth.callback.CallbackHandler myHandler
        12: .line 1400
            aload 0 /* this */
            aload 3 /* myHandler */
            putfield sun.security.pkcs11.SunPKCS11.pHandler:Ljavax/security/auth/callback/CallbackHandler;
        13: .line 1401
            aload 3 /* myHandler */
        14: aload 2
            monitorexit
        15: areturn
        end local 3 // javax.security.auth.callback.CallbackHandler myHandler
        16: .line 1403
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
            astore 3 /* pae */
        start local 3 // java.security.PrivilegedActionException pae
        17: .line 1405
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ifnull 20
        18: .line 1406
            getstatic sun.security.pkcs11.SunPKCS11.debug:Lsun/security/util/Debug;
            ldc "Unable to load default callback handler"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        19: .line 1407
            aload 3 /* pae */
            invokevirtual java.security.PrivilegedActionException.printStackTrace:()V
        end local 3 // java.security.PrivilegedActionException pae
        20: .line 1362
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        21: goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: aload 2
            monitorexit
        23: athrow
        24: .line 1411
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // javax.security.auth.callback.CallbackHandler handler
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   25     0       this  Lsun/security/pkcs11/SunPKCS11;
            0   25     1    handler  Ljavax/security/auth/callback/CallbackHandler;
           12   16     3  myHandler  Ljavax/security/auth/callback/CallbackHandler;
           17   20     3        pae  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           8    14      16  Class java.security.PrivilegedActionException
           5     7      22  any
           8    15      22  any
          16    21      22  any
          22    23      22  any
    MethodParameters:
         Name  Flags
      handler  

  private java.lang.Object writeReplace();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.SunPKCS11 this
         0: .line 1415
            new sun.security.pkcs11.SunPKCS11$SunPKCS11Rep
            dup
            aload 0 /* this */
            invokespecial sun.security.pkcs11.SunPKCS11$SunPKCS11Rep.<init>:(Lsun/security/pkcs11/SunPKCS11;)V
            areturn
        end local 0 // sun.security.pkcs11.SunPKCS11 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs11/SunPKCS11;
    Exceptions:
      throws java.io.ObjectStreamException

  static void access$0(sun.security.pkcs11.SunPKCS11, java.security.Provider$Service);
    descriptor: (Lsun/security/pkcs11/SunPKCS11;Ljava/security/Provider$Service;)V
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual sun.security.pkcs11.SunPKCS11.putService:(Ljava/security/Provider$Service;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "SunPKCS11.java"
NestMembers:
  sun.security.pkcs11.SunPKCS11$1  sun.security.pkcs11.SunPKCS11$2  sun.security.pkcs11.SunPKCS11$3  sun.security.pkcs11.SunPKCS11$Descriptor  sun.security.pkcs11.SunPKCS11$P11Service  sun.security.pkcs11.SunPKCS11$SunPKCS11Rep  sun.security.pkcs11.SunPKCS11$TokenPoller
InnerClasses:
  public Service = java.security.Provider$Service of java.security.Provider
  public final DbMode = sun.security.pkcs11.Secmod$DbMode of sun.security.pkcs11.Secmod
  public final Module = sun.security.pkcs11.Secmod$Module of sun.security.pkcs11.Secmod
  public final ModuleType = sun.security.pkcs11.Secmod$ModuleType of sun.security.pkcs11.Secmod
  sun.security.pkcs11.SunPKCS11$1
  sun.security.pkcs11.SunPKCS11$2
  sun.security.pkcs11.SunPKCS11$3
  private final Descriptor = sun.security.pkcs11.SunPKCS11$Descriptor of sun.security.pkcs11.SunPKCS11
  private final P11Service = sun.security.pkcs11.SunPKCS11$P11Service of sun.security.pkcs11.SunPKCS11
  private SunPKCS11Rep = sun.security.pkcs11.SunPKCS11$SunPKCS11Rep of sun.security.pkcs11.SunPKCS11
  private TokenPoller = sun.security.pkcs11.SunPKCS11$TokenPoller of sun.security.pkcs11.SunPKCS11