final class sun.security.ssl.ServerHandshaker extends sun.security.ssl.Handshaker
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.ServerHandshaker
  super_class: sun.security.ssl.Handshaker
{
  private static final long DEFAULT_STATUS_RESP_DELAY;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5000

  private sun.security.ssl.ClientAuthType doClientAuth;
    descriptor: Lsun/security/ssl/ClientAuthType;
    flags: (0x0002) ACC_PRIVATE

  private java.security.cert.X509Certificate[] certs;
    descriptor: [Ljava/security/cert/X509Certificate;
    flags: (0x0002) ACC_PRIVATE

  private java.security.PrivateKey privateKey;
    descriptor: Ljava/security/PrivateKey;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object serviceCreds;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

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

  private java.security.PrivateKey tempPrivateKey;
    descriptor: Ljava/security/PrivateKey;
    flags: (0x0002) ACC_PRIVATE

  private java.security.PublicKey tempPublicKey;
    descriptor: Ljava/security/PublicKey;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.ssl.DHCrypt dh;
    descriptor: Lsun/security/ssl/DHCrypt;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.ssl.ECDHCrypt ecdh;
    descriptor: Lsun/security/ssl/ECDHCrypt;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.ssl.ProtocolVersion clientRequestedVersion;
    descriptor: Lsun/security/ssl/ProtocolVersion;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.ssl.SupportedGroupsExtension requestedGroups;
    descriptor: Lsun/security/ssl/SupportedGroupsExtension;
    flags: (0x0002) ACC_PRIVATE

  sun.security.ssl.SignatureAndHashAlgorithm preferableSignatureAlgorithm;
    descriptor: Lsun/security/ssl/SignatureAndHashAlgorithm;
    flags: (0x0000) 

  private static final boolean useSmartEphemeralDHKeys;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean useLegacyEphemeralDHKeys;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int customizedDHKeySize;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.security.AlgorithmConstraints legacyAlgorithmConstraints;
    descriptor: Ljava/security/AlgorithmConstraints;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private long statusRespTimeout;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private static volatile int[] $SWITCH_TABLE$sun$security$ssl$CipherSuite$KeyExchange;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=1, args_size=0
         0: .line 117
            new sun.security.util.LegacyAlgorithmConstraints
            dup
         1: .line 118
            ldc "jdk.tls.legacyAlgorithms"
         2: .line 119
            new sun.security.ssl.SSLAlgorithmDecomposer
            dup
            invokespecial sun.security.ssl.SSLAlgorithmDecomposer.<init>:()V
         3: .line 117
            invokespecial sun.security.util.LegacyAlgorithmConstraints.<init>:(Ljava/lang/String;Lsun/security/util/AlgorithmDecomposer;)V
         4: .line 116
            putstatic sun.security.ssl.ServerHandshaker.legacyAlgorithmConstraints:Ljava/security/AlgorithmConstraints;
         5: .line 125
            ldc "jdk.tls.ephemeralDHKeySize"
            invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/String;
         6: .line 124
            astore 0 /* property */
        start local 0 // java.lang.String property
         7: .line 126
            aload 0 /* property */
            ifnull 8
            aload 0 /* property */
            invokevirtual java.lang.String.length:()I
            ifne 12
         8: .line 127
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            putstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
         9: .line 128
            iconst_0
            putstatic sun.security.ssl.ServerHandshaker.useSmartEphemeralDHKeys:Z
        10: .line 129
            iconst_m1
            putstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
        11: .line 130
            goto 38
      StackMap locals:
      StackMap stack:
        12: ldc "matched"
            aload 0 /* property */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        13: .line 131
            iconst_0
            putstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
        14: .line 132
            iconst_1
            putstatic sun.security.ssl.ServerHandshaker.useSmartEphemeralDHKeys:Z
        15: .line 133
            iconst_m1
            putstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
        16: .line 134
            goto 38
      StackMap locals:
      StackMap stack:
        17: ldc "legacy"
            aload 0 /* property */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
        18: .line 135
            iconst_1
            putstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
        19: .line 136
            iconst_0
            putstatic sun.security.ssl.ServerHandshaker.useSmartEphemeralDHKeys:Z
        20: .line 137
            iconst_m1
            putstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
        21: .line 138
            goto 38
        22: .line 139
      StackMap locals:
      StackMap stack:
            iconst_0
            putstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
        23: .line 140
            iconst_0
            putstatic sun.security.ssl.ServerHandshaker.useSmartEphemeralDHKeys:Z
        24: .line 146
            aload 0 /* property */
            invokestatic java.lang.Integer.parseUnsignedInt:(Ljava/lang/String;)I
            putstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
        25: .line 147
            getstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
            sipush 1024
            if_icmplt 27
            getstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
            sipush 8192
            if_icmpgt 27
        26: .line 148
            getstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
            bipush 63
            iand
            ifeq 38
        27: .line 149
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        28: .line 150
            new java.lang.StringBuilder
            dup
            ldc "Unsupported customized DH key size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        29: .line 151
            getstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ". "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 152
            ldc "The key size must be multiple of 64, "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        31: .line 153
            ldc "and can only range from 1024 to 8192 (inclusive)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        32: .line 150
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        33: .line 149
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 155
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        35: .line 156
            new java.lang.IllegalArgumentException
            dup
        36: .line 157
            ldc "Invalid system property jdk.tls.ephemeralDHKeySize"
        37: .line 156
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String property
        38: .line 160
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            7   38     0  property  Ljava/lang/String;
      Exception table:
        from    to  target  type
          24    34      34  Class java.lang.NumberFormatException

  void <init>(sun.security.ssl.SSLSocketImpl, sun.security.ssl.SSLContextImpl, sun.security.ssl.ProtocolList, sun.security.ssl.ClientAuthType, sun.security.ssl.ProtocolVersion, boolean, boolean, byte[], byte[]);
    descriptor: (Lsun/security/ssl/SSLSocketImpl;Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/ProtocolList;Lsun/security/ssl/ClientAuthType;Lsun/security/ssl/ProtocolVersion;ZZ[B[B)V
    flags: (0x0000) 
    Code:
      stack=11, locals=10, args_size=10
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // sun.security.ssl.SSLSocketImpl socket
        start local 2 // sun.security.ssl.SSLContextImpl context
        start local 3 // sun.security.ssl.ProtocolList enabledProtocols
        start local 4 // sun.security.ssl.ClientAuthType clientAuth
        start local 5 // sun.security.ssl.ProtocolVersion activeProtocolVersion
        start local 6 // boolean isInitialHandshake
        start local 7 // boolean secureRenegotiation
        start local 8 // byte[] clientVerifyData
        start local 9 // byte[] serverVerifyData
         0: .line 171
            aload 0 /* this */
            aload 1 /* socket */
            aload 2 /* context */
            aload 3 /* enabledProtocols */
         1: .line 172
            aload 4 /* clientAuth */
            getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
            if_acmpeq 2
            iconst_1
            goto 3
      StackMap locals: uninitialized-this sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ClientAuthType sun.security.ssl.ProtocolVersion int int byte[] byte[]
      StackMap stack: uninitialized-this sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList
         2: iconst_0
      StackMap locals: uninitialized-this sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ClientAuthType sun.security.ssl.ProtocolVersion int int byte[] byte[]
      StackMap stack: uninitialized-this sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList int
         3: iconst_0
         4: .line 173
            aload 5 /* activeProtocolVersion */
            iload 6 /* isInitialHandshake */
            iload 7 /* secureRenegotiation */
         5: .line 174
            aload 8 /* clientVerifyData */
            aload 9 /* serverVerifyData */
            invokespecial sun.security.ssl.Handshaker.<init>:(Lsun/security/ssl/SSLSocketImpl;Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/ProtocolList;ZZLsun/security/ssl/ProtocolVersion;ZZ[B[B)V
         6: .line 75
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.ServerHandshaker.needClientVerify:Z
         7: .line 175
            aload 0 /* this */
            aload 4 /* clientAuth */
            putfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
         8: .line 176
            aload 0 /* this */
         9: .line 177
            new sun.security.action.GetLongAction
            dup
            ldc "jdk.tls.stapling.responseTimeout"
        10: .line 178
            ldc 5000
        11: .line 177
            invokespecial sun.security.action.GetLongAction.<init>:(Ljava/lang/String;J)V
        12: .line 176
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            putfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
        13: .line 179
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
            lconst_0
            lcmp
            iflt 14
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
            goto 15
        14: .line 180
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ClientAuthType sun.security.ssl.ProtocolVersion int int byte[] byte[]
      StackMap stack: sun.security.ssl.ServerHandshaker
            ldc 5000
        15: .line 179
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ClientAuthType sun.security.ssl.ProtocolVersion int int byte[] byte[]
      StackMap stack: sun.security.ssl.ServerHandshaker long
            putfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
        16: .line 181
            return
        end local 9 // byte[] serverVerifyData
        end local 8 // byte[] clientVerifyData
        end local 7 // boolean secureRenegotiation
        end local 6 // boolean isInitialHandshake
        end local 5 // sun.security.ssl.ProtocolVersion activeProtocolVersion
        end local 4 // sun.security.ssl.ClientAuthType clientAuth
        end local 3 // sun.security.ssl.ProtocolList enabledProtocols
        end local 2 // sun.security.ssl.SSLContextImpl context
        end local 1 // sun.security.ssl.SSLSocketImpl socket
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   17     0                   this  Lsun/security/ssl/ServerHandshaker;
            0   17     1                 socket  Lsun/security/ssl/SSLSocketImpl;
            0   17     2                context  Lsun/security/ssl/SSLContextImpl;
            0   17     3       enabledProtocols  Lsun/security/ssl/ProtocolList;
            0   17     4             clientAuth  Lsun/security/ssl/ClientAuthType;
            0   17     5  activeProtocolVersion  Lsun/security/ssl/ProtocolVersion;
            0   17     6     isInitialHandshake  Z
            0   17     7    secureRenegotiation  Z
            0   17     8       clientVerifyData  [B
            0   17     9       serverVerifyData  [B
    MethodParameters:
                       Name  Flags
      socket                 
      context                
      enabledProtocols       
      clientAuth             
      activeProtocolVersion  
      isInitialHandshake     
      secureRenegotiation    
      clientVerifyData       
      serverVerifyData       

  void <init>(sun.security.ssl.SSLEngineImpl, sun.security.ssl.SSLContextImpl, sun.security.ssl.ProtocolList, sun.security.ssl.ClientAuthType, sun.security.ssl.ProtocolVersion, boolean, boolean, byte[], byte[], boolean);
    descriptor: (Lsun/security/ssl/SSLEngineImpl;Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/ProtocolList;Lsun/security/ssl/ClientAuthType;Lsun/security/ssl/ProtocolVersion;ZZ[B[BZ)V
    flags: (0x0000) 
    Code:
      stack=12, locals=11, args_size=11
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // sun.security.ssl.SSLEngineImpl engine
        start local 2 // sun.security.ssl.SSLContextImpl context
        start local 3 // sun.security.ssl.ProtocolList enabledProtocols
        start local 4 // sun.security.ssl.ClientAuthType clientAuth
        start local 5 // sun.security.ssl.ProtocolVersion activeProtocolVersion
        start local 6 // boolean isInitialHandshake
        start local 7 // boolean secureRenegotiation
        start local 8 // byte[] clientVerifyData
        start local 9 // byte[] serverVerifyData
        start local 10 // boolean isDTLS
         0: .line 193
            aload 0 /* this */
            aload 1 /* engine */
            aload 2 /* context */
            aload 3 /* enabledProtocols */
         1: .line 194
            aload 4 /* clientAuth */
            getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
            if_acmpeq 2
            iconst_1
            goto 3
      StackMap locals: uninitialized-this sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ClientAuthType sun.security.ssl.ProtocolVersion int int byte[] byte[] int
      StackMap stack: uninitialized-this sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList
         2: iconst_0
      StackMap locals: uninitialized-this sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ClientAuthType sun.security.ssl.ProtocolVersion int int byte[] byte[] int
      StackMap stack: uninitialized-this sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList int
         3: iconst_0
         4: .line 195
            aload 5 /* activeProtocolVersion */
            iload 6 /* isInitialHandshake */
            iload 7 /* secureRenegotiation */
         5: .line 196
            aload 8 /* clientVerifyData */
            aload 9 /* serverVerifyData */
            iload 10 /* isDTLS */
            invokespecial sun.security.ssl.Handshaker.<init>:(Lsun/security/ssl/SSLEngineImpl;Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/ProtocolList;ZZLsun/security/ssl/ProtocolVersion;ZZ[B[BZ)V
         6: .line 75
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.ServerHandshaker.needClientVerify:Z
         7: .line 197
            aload 0 /* this */
            aload 4 /* clientAuth */
            putfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
         8: .line 198
            aload 0 /* this */
         9: .line 199
            new sun.security.action.GetLongAction
            dup
            ldc "jdk.tls.stapling.responseTimeout"
        10: .line 200
            ldc 5000
        11: .line 199
            invokespecial sun.security.action.GetLongAction.<init>:(Ljava/lang/String;J)V
        12: .line 198
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            putfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
        13: .line 201
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
            lconst_0
            lcmp
            iflt 14
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
            goto 15
        14: .line 202
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ClientAuthType sun.security.ssl.ProtocolVersion int int byte[] byte[] int
      StackMap stack: sun.security.ssl.ServerHandshaker
            ldc 5000
        15: .line 201
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ClientAuthType sun.security.ssl.ProtocolVersion int int byte[] byte[] int
      StackMap stack: sun.security.ssl.ServerHandshaker long
            putfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
        16: .line 203
            return
        end local 10 // boolean isDTLS
        end local 9 // byte[] serverVerifyData
        end local 8 // byte[] clientVerifyData
        end local 7 // boolean secureRenegotiation
        end local 6 // boolean isInitialHandshake
        end local 5 // sun.security.ssl.ProtocolVersion activeProtocolVersion
        end local 4 // sun.security.ssl.ClientAuthType clientAuth
        end local 3 // sun.security.ssl.ProtocolList enabledProtocols
        end local 2 // sun.security.ssl.SSLContextImpl context
        end local 1 // sun.security.ssl.SSLEngineImpl engine
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   17     0                   this  Lsun/security/ssl/ServerHandshaker;
            0   17     1                 engine  Lsun/security/ssl/SSLEngineImpl;
            0   17     2                context  Lsun/security/ssl/SSLContextImpl;
            0   17     3       enabledProtocols  Lsun/security/ssl/ProtocolList;
            0   17     4             clientAuth  Lsun/security/ssl/ClientAuthType;
            0   17     5  activeProtocolVersion  Lsun/security/ssl/ProtocolVersion;
            0   17     6     isInitialHandshake  Z
            0   17     7    secureRenegotiation  Z
            0   17     8       clientVerifyData  [B
            0   17     9       serverVerifyData  [B
            0   17    10                 isDTLS  Z
    MethodParameters:
                       Name  Flags
      engine                 
      context                
      enabledProtocols       
      clientAuth             
      activeProtocolVersion  
      isInitialHandshake     
      secureRenegotiation    
      clientVerifyData       
      serverVerifyData       
      isDTLS                 

  void setClientAuth(sun.security.ssl.ClientAuthType);
    descriptor: (Lsun/security/ssl/ClientAuthType;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // sun.security.ssl.ClientAuthType clientAuth
         0: .line 211
            aload 0 /* this */
            aload 1 /* clientAuth */
            putfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
         1: .line 212
            return
        end local 1 // sun.security.ssl.ClientAuthType clientAuth
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lsun/security/ssl/ServerHandshaker;
            0    2     1  clientAuth  Lsun/security/ssl/ClientAuthType;
    MethodParameters:
            Name  Flags
      clientAuth  

  void processMessage(byte, int);
    descriptor: (BI)V
    flags: (0x0000) 
    Code:
      stack=8, locals=13, args_size=3
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // byte type
        start local 2 // int message_len
         0: .line 228
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
            iload 1 /* type */
            invokevirtual sun.security.ssl.HandshakeStateManager.check:(B)Ljava/util/List;
            pop
         1: .line 230
            iload 1 /* type */
            lookupswitch { // 5
                    1: 2
                   11: 6
                   15: 52
                   16: 14
                   20: 59
              default: 64
          }
         2: .line 232
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.HandshakeMessage$ClientHello
            dup
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
            iload 2 /* message_len */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.isDTLS:Z
            invokespecial sun.security.ssl.HandshakeMessage$ClientHello.<init>:(Lsun/security/ssl/HandshakeInStream;IZ)V
            astore 3 /* ch */
        start local 3 // sun.security.ssl.HandshakeMessage$ClientHello ch
         3: .line 233
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
            aload 3 /* ch */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
         4: .line 238
            aload 0 /* this */
            aload 3 /* ch */
            invokevirtual sun.security.ssl.ServerHandshaker.clientHello:(Lsun/security/ssl/HandshakeMessage$ClientHello;)V
         5: .line 239
            goto 67
        end local 3 // sun.security.ssl.HandshakeMessage$ClientHello ch
         6: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
            getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
            if_acmpne 10
         7: .line 243
            aload 0 /* this */
            bipush 10
         8: .line 244
            ldc "client sent unsolicited cert chain"
         9: .line 243
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
        10: .line 247
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.HandshakeMessage$CertificateMsg
            dup
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
            invokespecial sun.security.ssl.HandshakeMessage$CertificateMsg.<init>:(Lsun/security/ssl/HandshakeInStream;)V
            astore 4 /* certificateMsg */
        start local 4 // sun.security.ssl.HandshakeMessage$CertificateMsg certificateMsg
        11: .line 248
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
            aload 4 /* certificateMsg */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
        12: .line 249
            aload 0 /* this */
            aload 4 /* certificateMsg */
            invokevirtual sun.security.ssl.ServerHandshaker.clientCertificate:(Lsun/security/ssl/HandshakeMessage$CertificateMsg;)V
        13: .line 250
            goto 67
        end local 4 // sun.security.ssl.HandshakeMessage$CertificateMsg certificateMsg
        14: .line 254
      StackMap locals:
      StackMap stack:
            invokestatic sun.security.ssl.ServerHandshaker.$SWITCH_TABLE$sun$security$ssl$CipherSuite$KeyExchange:()[I
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            iaload
            tableswitch { // 2 - 13
                    2: 15
                    3: 15
                    4: 32
                    5: 32
                    6: 23
                    7: 23
                    8: 23
                    9: 27
                   10: 27
                   11: 27
                   12: 27
                   13: 27
              default: 32
          }
        15: .line 263
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.RSAClientKeyExchange
            dup
        16: .line 264
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.clientRequestedVersion:Lsun/security/ssl/ProtocolVersion;
        17: .line 265
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
        18: .line 266
            iload 2 /* message_len */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
        19: .line 263
            invokespecial sun.security.ssl.RSAClientKeyExchange.<init>:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/ProtocolVersion;Ljava/security/SecureRandom;Lsun/security/ssl/HandshakeInStream;ILjava/security/PrivateKey;)V
            astore 6 /* pms */
        start local 6 // sun.security.ssl.RSAClientKeyExchange pms
        20: .line 267
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
            aload 6 /* pms */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
        21: .line 268
            aload 0 /* this */
            aload 6 /* pms */
            invokevirtual sun.security.ssl.ServerHandshaker.clientKeyExchange:(Lsun/security/ssl/RSAClientKeyExchange;)Ljavax/crypto/SecretKey;
            astore 5 /* preMasterSecret */
        start local 5 // javax.crypto.SecretKey preMasterSecret
        22: .line 269
            goto 50
        end local 6 // sun.security.ssl.RSAClientKeyExchange pms
        end local 5 // javax.crypto.SecretKey preMasterSecret
        23: .line 279
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.DHClientKeyExchange
            dup
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
            invokespecial sun.security.ssl.DHClientKeyExchange.<init>:(Lsun/security/ssl/HandshakeInStream;)V
            astore 7 /* dhcke */
        start local 7 // sun.security.ssl.DHClientKeyExchange dhcke
        24: .line 280
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
            aload 7 /* dhcke */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
        25: .line 281
            aload 0 /* this */
            aload 7 /* dhcke */
            invokevirtual sun.security.ssl.ServerHandshaker.clientKeyExchange:(Lsun/security/ssl/DHClientKeyExchange;)Ljavax/crypto/SecretKey;
            astore 5 /* preMasterSecret */
        start local 5 // javax.crypto.SecretKey preMasterSecret
        26: .line 282
            goto 50
        end local 7 // sun.security.ssl.DHClientKeyExchange dhcke
        end local 5 // javax.crypto.SecretKey preMasterSecret
        27: .line 289
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.ECDHClientKeyExchange
            dup
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
            invokespecial sun.security.ssl.ECDHClientKeyExchange.<init>:(Lsun/security/ssl/HandshakeInStream;)V
        28: .line 288
            astore 8 /* ecdhcke */
        start local 8 // sun.security.ssl.ECDHClientKeyExchange ecdhcke
        29: .line 290
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
            aload 8 /* ecdhcke */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
        30: .line 291
            aload 0 /* this */
            aload 8 /* ecdhcke */
            invokevirtual sun.security.ssl.ServerHandshaker.clientKeyExchange:(Lsun/security/ssl/ECDHClientKeyExchange;)Ljavax/crypto/SecretKey;
            astore 5 /* preMasterSecret */
        start local 5 // javax.crypto.SecretKey preMasterSecret
        31: .line 292
            goto 50
        end local 8 // sun.security.ssl.ECDHClientKeyExchange ecdhcke
        end local 5 // javax.crypto.SecretKey preMasterSecret
        32: .line 295
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getfield sun.security.ssl.CipherSuite$KeyExchange.name:Ljava/lang/String;
            invokestatic sun.security.ssl.ClientKeyExchangeService.find:(Ljava/lang/String;)Lsun/security/ssl/ClientKeyExchangeService;
        33: .line 294
            astore 9 /* p */
        start local 9 // sun.security.ssl.ClientKeyExchangeService p
        34: .line 296
            aload 9 /* p */
            ifnonnull 38
        35: .line 297
            new javax.net.ssl.SSLProtocolException
            dup
        36: .line 298
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized key exchange: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        37: .line 297
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        38: .line 300
      StackMap locals: sun.security.ssl.ServerHandshaker int int top top top top top top sun.security.ssl.ClientKeyExchangeService
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
            invokevirtual sun.security.ssl.HandshakeInStream.getBytes16:()[B
            astore 10 /* encodedTicket */
        start local 10 // byte[] encodedTicket
        39: .line 301
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
            invokevirtual sun.security.ssl.HandshakeInStream.getBytes16:()[B
            pop
        40: .line 302
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
            invokevirtual sun.security.ssl.HandshakeInStream.getBytes16:()[B
            astore 11 /* secret */
        start local 11 // byte[] secret
        41: .line 303
            aload 9 /* p */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
        42: .line 304
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.clientRequestedVersion:Lsun/security/ssl/ProtocolVersion;
        43: .line 305
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
        44: .line 306
            aload 10 /* encodedTicket */
        45: .line 307
            aload 11 /* secret */
        46: .line 308
            aload 0 /* this */
            invokevirtual sun.security.ssl.ServerHandshaker.getAccSE:()Ljava/security/AccessControlContext;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.serviceCreds:Ljava/lang/Object;
        47: .line 303
            invokeinterface sun.security.ssl.ClientKeyExchangeService.createServerExchange:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/ProtocolVersion;Ljava/security/SecureRandom;[B[BLjava/security/AccessControlContext;Ljava/lang/Object;)Lsun/security/ssl/ClientKeyExchange;
            astore 12 /* cke */
        start local 12 // sun.security.ssl.ClientKeyExchange cke
        48: .line 309
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
            aload 12 /* cke */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
        49: .line 310
            aload 0 /* this */
            aload 12 /* cke */
            invokevirtual sun.security.ssl.ServerHandshaker.clientKeyExchange:(Lsun/security/ssl/ClientKeyExchange;)Ljavax/crypto/SecretKey;
            astore 5 /* preMasterSecret */
        end local 12 // sun.security.ssl.ClientKeyExchange cke
        end local 11 // byte[] secret
        end local 10 // byte[] encodedTicket
        end local 9 // sun.security.ssl.ClientKeyExchangeService p
        start local 5 // javax.crypto.SecretKey preMasterSecret
        50: .line 318
      StackMap locals: sun.security.ssl.ServerHandshaker int int top top javax.crypto.SecretKey
      StackMap stack:
            aload 0 /* this */
            aload 5 /* preMasterSecret */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.clientRequestedVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.ServerHandshaker.calculateKeys:(Ljavax/crypto/SecretKey;Lsun/security/ssl/ProtocolVersion;)V
        51: .line 319
            goto 67
        end local 5 // javax.crypto.SecretKey preMasterSecret
        52: .line 323
      StackMap locals: sun.security.ssl.ServerHandshaker int int
      StackMap stack:
            new sun.security.ssl.HandshakeMessage$CertificateVerify
            dup
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
        53: .line 324
            aload 0 /* this */
            invokevirtual sun.security.ssl.ServerHandshaker.getLocalSupportedSignAlgs:()Ljava/util/Collection;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
        54: .line 323
            invokespecial sun.security.ssl.HandshakeMessage$CertificateVerify.<init>:(Lsun/security/ssl/HandshakeInStream;Ljava/util/Collection;Lsun/security/ssl/ProtocolVersion;)V
        55: .line 322
            astore 6 /* cvm */
        start local 6 // sun.security.ssl.HandshakeMessage$CertificateVerify cvm
        56: .line 325
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
            aload 6 /* cvm */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
        57: .line 326
            aload 0 /* this */
            aload 6 /* cvm */
            invokevirtual sun.security.ssl.ServerHandshaker.clientCertificateVerify:(Lsun/security/ssl/HandshakeMessage$CertificateVerify;)V
        58: .line 328
            goto 67
        end local 6 // sun.security.ssl.HandshakeMessage$CertificateVerify cvm
        59: .line 332
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.HandshakeMessage$Finished
            dup
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.cipherSuite:Lsun/security/ssl/CipherSuite;
            invokespecial sun.security.ssl.HandshakeMessage$Finished.<init>:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/HandshakeInStream;Lsun/security/ssl/CipherSuite;)V
        60: .line 331
            astore 7 /* cfm */
        start local 7 // sun.security.ssl.HandshakeMessage$Finished cfm
        61: .line 333
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
            aload 7 /* cfm */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
        62: .line 334
            aload 0 /* this */
            aload 7 /* cfm */
            invokevirtual sun.security.ssl.ServerHandshaker.clientFinished:(Lsun/security/ssl/HandshakeMessage$Finished;)V
        63: .line 336
            goto 67
        end local 7 // sun.security.ssl.HandshakeMessage$Finished cfm
        64: .line 339
      StackMap locals:
      StackMap stack:
            new javax.net.ssl.SSLProtocolException
            dup
        65: .line 340
            new java.lang.StringBuilder
            dup
            ldc "Illegal server handshake msg, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        66: .line 339
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        67: .line 343
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int message_len
        end local 1 // byte type
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   68     0             this  Lsun/security/ssl/ServerHandshaker;
            0   68     1             type  B
            0   68     2      message_len  I
            3    6     3               ch  Lsun/security/ssl/HandshakeMessage$ClientHello;
           11   14     4   certificateMsg  Lsun/security/ssl/HandshakeMessage$CertificateMsg;
           22   23     5  preMasterSecret  Ljavax/crypto/SecretKey;
           26   27     5  preMasterSecret  Ljavax/crypto/SecretKey;
           31   32     5  preMasterSecret  Ljavax/crypto/SecretKey;
           50   52     5  preMasterSecret  Ljavax/crypto/SecretKey;
           20   23     6              pms  Lsun/security/ssl/RSAClientKeyExchange;
           24   27     7            dhcke  Lsun/security/ssl/DHClientKeyExchange;
           29   32     8          ecdhcke  Lsun/security/ssl/ECDHClientKeyExchange;
           34   50     9                p  Lsun/security/ssl/ClientKeyExchangeService;
           39   50    10    encodedTicket  [B
           41   50    11           secret  [B
           48   50    12              cke  Lsun/security/ssl/ClientKeyExchange;
           56   59     6              cvm  Lsun/security/ssl/HandshakeMessage$CertificateVerify;
           61   64     7              cfm  Lsun/security/ssl/HandshakeMessage$Finished;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      type         
      message_len  

  private void clientHello(sun.security.ssl.HandshakeMessage$ClientHello);
    descriptor: (Lsun/security/ssl/HandshakeMessage$ClientHello;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=17, args_size=2
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // sun.security.ssl.HandshakeMessage$ClientHello mesg
         0: .line 357
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 2
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 358
            aload 1 /* mesg */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.ssl.HandshakeMessage$ClientHello.print:(Ljava/io/PrintStream;)V
         2: .line 372
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.ServerHandshaker.rejectClientInitiatedRenego:Z
            ifeq 7
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.isInitialHandshake:Z
            ifne 7
         3: .line 373
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.serverHelloRequested:Z
            ifne 7
         4: .line 374
            aload 0 /* this */
            bipush 40
         5: .line 375
            ldc "Client initiated renegotiation is not allowed"
         6: .line 374
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
         7: .line 380
      StackMap locals:
      StackMap stack:
            aload 1 /* mesg */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
            getstatic sun.security.ssl.ExtensionType.EXT_SERVER_NAME:Lsun/security/ssl/ExtensionType;
            invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
         8: .line 379
            checkcast sun.security.ssl.ServerNameExtension
            astore 2 /* clientHelloSNIExt */
        start local 2 // sun.security.ssl.ServerNameExtension clientHelloSNIExt
         9: .line 381
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sniMatchers:Ljava/util/Collection;
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 15
        10: .line 383
            aload 2 /* clientHelloSNIExt */
            ifnull 15
        11: .line 384
            aload 2 /* clientHelloSNIExt */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sniMatchers:Ljava/util/Collection;
            invokevirtual sun.security.ssl.ServerNameExtension.isMatched:(Ljava/util/Collection;)Z
            ifne 15
        12: .line 385
            aload 0 /* this */
            bipush 112
        13: .line 386
            ldc "Unrecognized server name indication"
        14: .line 385
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
        15: .line 391
      StackMap locals: sun.security.ssl.ServerNameExtension
      StackMap stack:
            iconst_0
            istore 3 /* renegotiationIndicated */
        start local 3 // boolean renegotiationIndicated
        16: .line 394
            aload 1 /* mesg */
            invokevirtual sun.security.ssl.HandshakeMessage$ClientHello.getCipherSuites:()Lsun/security/ssl/CipherSuiteList;
            astore 4 /* cipherSuites */
        start local 4 // sun.security.ssl.CipherSuiteList cipherSuites
        17: .line 395
            aload 4 /* cipherSuites */
            getstatic sun.security.ssl.CipherSuite.C_SCSV:Lsun/security/ssl/CipherSuite;
            invokevirtual sun.security.ssl.CipherSuiteList.contains:(Lsun/security/ssl/CipherSuite;)Z
            ifeq 30
        18: .line 396
            iconst_1
            istore 3 /* renegotiationIndicated */
        19: .line 397
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.isInitialHandshake:Z
            ifeq 22
        20: .line 398
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
        21: .line 399
            goto 30
        22: .line 401
      StackMap locals: int sun.security.ssl.CipherSuiteList
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
            ifeq 27
        23: .line 402
            aload 0 /* this */
            bipush 40
        24: .line 403
            ldc "The SCSV is present in a secure renegotiation"
        25: .line 402
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
        26: .line 404
            goto 30
        27: .line 405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 40
        28: .line 406
            ldc "The SCSV is present in a insecure renegotiation"
        29: .line 405
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
        30: .line 413
      StackMap locals:
      StackMap stack:
            aload 1 /* mesg */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
            getstatic sun.security.ssl.ExtensionType.EXT_RENEGOTIATION_INFO:Lsun/security/ssl/ExtensionType;
            invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
        31: .line 412
            checkcast sun.security.ssl.RenegotiationInfoExtension
            astore 5 /* clientHelloRI */
        start local 5 // sun.security.ssl.RenegotiationInfoExtension clientHelloRI
        32: .line 414
            aload 5 /* clientHelloRI */
            ifnull 53
        33: .line 415
            iconst_1
            istore 3 /* renegotiationIndicated */
        34: .line 416
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.isInitialHandshake:Z
            ifeq 41
        35: .line 418
            aload 5 /* clientHelloRI */
            invokevirtual sun.security.ssl.RenegotiationInfoExtension.isEmpty:()Z
            ifne 39
        36: .line 420
            aload 0 /* this */
            bipush 40
        37: .line 421
            ldc "The renegotiation_info field is not empty"
        38: .line 420
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
        39: .line 424
      StackMap locals: sun.security.ssl.RenegotiationInfoExtension
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
        40: .line 425
            goto 57
        41: .line 426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
            ifne 45
        42: .line 429
            aload 0 /* this */
            bipush 40
        43: .line 430
            ldc "The renegotiation_info is present in a insecure renegotiation"
        44: .line 429
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
        45: .line 435
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.clientVerifyData:[B
        46: .line 436
            aload 5 /* clientHelloRI */
            invokevirtual sun.security.ssl.RenegotiationInfoExtension.getRenegotiatedConnection:()[B
        47: .line 435
            invokestatic java.security.MessageDigest.isEqual:([B[B)Z
        48: .line 436
            ifne 57
        49: .line 437
            aload 0 /* this */
            bipush 40
        50: .line 438
            ldc "Incorrect verify data in ClientHello renegotiation_info message"
        51: .line 437
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
        52: .line 442
            goto 57
      StackMap locals:
      StackMap stack:
        53: aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.isInitialHandshake:Z
            ifne 57
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
            ifeq 57
        54: .line 446
            aload 0 /* this */
            bipush 40
        55: .line 447
            ldc "Inconsistent secure renegotiation indication"
        56: .line 446
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
        57: .line 452
      StackMap locals:
      StackMap stack:
            iload 3 /* renegotiationIndicated */
            ifeq 58
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
            ifne 83
        58: .line 453
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.isInitialHandshake:Z
            ifeq 66
        59: .line 454
            getstatic sun.security.ssl.ServerHandshaker.allowLegacyHelloMessages:Z
            ifne 63
        60: .line 456
            aload 0 /* this */
            bipush 40
        61: .line 457
            ldc "Failed to negotiate the use of secure renegotiation"
        62: .line 456
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
        63: .line 461
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 83
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 83
        64: .line 462
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Warning: No renegotiation indication in ClientHello, allow legacy ClientHello"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        65: .line 465
            goto 83
      StackMap locals:
      StackMap stack:
        66: getstatic sun.security.ssl.ServerHandshaker.allowUnsafeRenegotiation:Z
            ifne 79
        67: .line 467
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.activeProtocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.ProtocolVersion.useTLS10PlusSpec:()Z
            ifeq 75
        68: .line 469
            aload 0 /* this */
            bipush 100
            invokevirtual sun.security.ssl.ServerHandshaker.warningSE:(B)V
        69: .line 473
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.ServerHandshaker.invalidated:Z
        70: .line 484
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
            invokevirtual sun.security.ssl.HandshakeInStream.available:()I
            ifle 74
        71: .line 485
            aload 0 /* this */
            bipush 10
        72: .line 486
            ldc "ClientHello followed by an unexpected  handshake message"
        73: .line 485
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
        74: .line 490
      StackMap locals:
      StackMap stack:
            return
        75: .line 497
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 40
        76: .line 498
            ldc "Renegotiation is not allowed"
        77: .line 497
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
        78: .line 500
            goto 83
        79: .line 502
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 83
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 83
        80: .line 503
            getstatic java.lang.System.out:Ljava/io/PrintStream;
        81: .line 504
            ldc "Warning: continue with insecure renegotiation"
        82: .line 503
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        83: .line 511
      StackMap locals:
      StackMap stack:
            aload 1 /* mesg */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
            getstatic sun.security.ssl.ExtensionType.EXT_MAX_FRAGMENT_LENGTH:Lsun/security/ssl/ExtensionType;
            invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
        84: .line 510
            checkcast sun.security.ssl.MaxFragmentLengthExtension
            astore 6 /* maxFragLenExt */
        start local 6 // sun.security.ssl.MaxFragmentLengthExtension maxFragLenExt
        85: .line 512
            aload 6 /* maxFragLenExt */
            ifnull 93
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.maximumPacketSize:I
            ifeq 93
        86: .line 514
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.maximumPacketSize:I
            istore 7 /* estimatedMaxFragSize */
        start local 7 // int estimatedMaxFragSize
        87: .line 515
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.isDTLS:Z
            ifeq 90
        88: .line 516
            iinc 7 /* estimatedMaxFragSize */ -13
        89: .line 517
            goto 91
        90: .line 518
      StackMap locals: sun.security.ssl.MaxFragmentLengthExtension int
      StackMap stack:
            iinc 7 /* estimatedMaxFragSize */ -5
        91: .line 521
      StackMap locals:
      StackMap stack:
            aload 6 /* maxFragLenExt */
            invokevirtual sun.security.ssl.MaxFragmentLengthExtension.getMaxFragLen:()I
            iload 7 /* estimatedMaxFragSize */
            if_icmple 93
        92: .line 525
            aconst_null
            astore 6 /* maxFragLenExt */
        end local 7 // int estimatedMaxFragSize
        93: .line 533
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.ServerHandshaker.useExtendedMasterSecret:Z
            ifeq 106
        94: .line 535
            aload 1 /* mesg */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
        95: .line 536
            getstatic sun.security.ssl.ExtensionType.EXT_EXTENDED_MASTER_SECRET:Lsun/security/ssl/ExtensionType;
        96: .line 535
            invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
            checkcast sun.security.ssl.ExtendedMasterSecretExtension
        97: .line 534
            astore 7 /* extendedMasterSecretExtension */
        start local 7 // sun.security.ssl.ExtendedMasterSecretExtension extendedMasterSecretExtension
        98: .line 537
            aload 7 /* extendedMasterSecretExtension */
            ifnull 101
        99: .line 538
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.ServerHandshaker.requestedToUseEMS:Z
       100: .line 539
            goto 106
      StackMap locals: sun.security.ssl.ExtendedMasterSecretExtension
      StackMap stack:
       101: aload 1 /* mesg */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.ProtocolVersion.useTLS10PlusSpec:()Z
            ifeq 106
       102: .line 540
            getstatic sun.security.ssl.ServerHandshaker.allowLegacyMasterSecret:Z
            ifne 106
       103: .line 547
            aload 0 /* this */
            bipush 40
       104: .line 548
            ldc "Extended Master Secret extension is required"
       105: .line 547
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
        end local 7 // sun.security.ssl.ExtendedMasterSecretExtension extendedMasterSecretExtension
       106: .line 555
      StackMap locals:
      StackMap stack:
            aload 1 /* mesg */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
            getstatic sun.security.ssl.ExtensionType.EXT_ALPN:Lsun/security/ssl/ExtensionType;
            invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
       107: .line 554
            checkcast sun.security.ssl.ALPNExtension
            astore 7 /* clientHelloALPN */
        start local 7 // sun.security.ssl.ALPNExtension clientHelloALPN
       108: .line 560
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.engine:Lsun/security/ssl/SSLEngineImpl;
            ifnull 109
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.appProtocolSelectorSSLEngine:Ljava/util/function/BiFunction;
            ifnonnull 111
       109: .line 561
      StackMap locals: sun.security.ssl.ALPNExtension
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.conn:Lsun/security/ssl/SSLSocketImpl;
            ifnull 110
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.appProtocolSelectorSSLSocket:Ljava/util/function/BiFunction;
            ifnonnull 111
       110: .line 559
      StackMap locals:
      StackMap stack:
            iconst_0
            goto 112
      StackMap locals:
      StackMap stack:
       111: iconst_1
      StackMap locals:
      StackMap stack: int
       112: istore 8 /* hasAPCallback */
        start local 8 // boolean hasAPCallback
       113: .line 563
            iload 8 /* hasAPCallback */
            ifne 133
       114: .line 564
            aload 7 /* clientHelloALPN */
            ifnull 132
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.localApl:[Ljava/lang/String;
            arraylength
            ifle 132
       115: .line 568
            aconst_null
            astore 9 /* negotiatedValue */
        start local 9 // java.lang.String negotiatedValue
       116: .line 569
            aload 7 /* clientHelloALPN */
            invokevirtual sun.security.ssl.ALPNExtension.getPeerAPs:()Ljava/util/List;
            astore 10 /* protocols */
        start local 10 // java.util.List protocols
       117: .line 572
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.localApl:[Ljava/lang/String;
            dup
            astore 14
            arraylength
            istore 13
            iconst_0
            istore 12
            goto 123
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerNameExtension int sun.security.ssl.CipherSuiteList sun.security.ssl.RenegotiationInfoExtension sun.security.ssl.MaxFragmentLengthExtension sun.security.ssl.ALPNExtension int java.lang.String java.util.List top int int java.lang.String[]
      StackMap stack:
       118: aload 14
            iload 12
            aaload
            astore 11 /* ap */
        start local 11 // java.lang.String ap
       119: .line 573
            aload 10 /* protocols */
            aload 11 /* ap */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 122
       120: .line 574
            aload 11 /* ap */
            astore 9 /* negotiatedValue */
       121: .line 575
            goto 124
        end local 11 // java.lang.String ap
       122: .line 572
      StackMap locals:
      StackMap stack:
            iinc 12 1
      StackMap locals:
      StackMap stack:
       123: iload 12
            iload 13
            if_icmplt 118
       124: .line 579
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerNameExtension int sun.security.ssl.CipherSuiteList sun.security.ssl.RenegotiationInfoExtension sun.security.ssl.MaxFragmentLengthExtension sun.security.ssl.ALPNExtension int java.lang.String java.util.List
      StackMap stack:
            aload 9 /* negotiatedValue */
            ifnonnull 130
       125: .line 580
            aload 0 /* this */
            bipush 120
       126: .line 581
            new javax.net.ssl.SSLHandshakeException
            dup
       127: .line 582
            ldc "No matching ALPN values"
       128: .line 581
            invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
       129: .line 580
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/Throwable;)V
       130: .line 584
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* negotiatedValue */
            putfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
        end local 10 // java.util.List protocols
        end local 9 // java.lang.String negotiatedValue
       131: .line 586
            goto 133
       132: .line 587
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ""
            putfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
       133: .line 591
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
       134: .line 597
            aload 1 /* mesg */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.sessionId:Lsun/security/ssl/SessionId;
            invokevirtual sun.security.ssl.SessionId.length:()I
            ifeq 213
       135: .line 600
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
       136: .line 601
            invokevirtual sun.security.ssl.SSLContextImpl.engineGetServerSessionContext:()Ljavax/net/ssl/SSLSessionContext;
       137: .line 600
            checkcast sun.security.ssl.SSLSessionContextImpl
       138: .line 602
            aload 1 /* mesg */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.sessionId:Lsun/security/ssl/SessionId;
            invokevirtual sun.security.ssl.SessionId.getId:()[B
            invokevirtual sun.security.ssl.SSLSessionContextImpl.get:([B)Lsun/security/ssl/SSLSessionImpl;
       139: .line 600
            astore 9 /* previous */
        start local 9 // sun.security.ssl.SSLSessionImpl previous
       140: .line 610
            aload 9 /* previous */
            ifnull 213
       141: .line 611
            aload 0 /* this */
            aload 9 /* previous */
            invokevirtual sun.security.ssl.SSLSessionImpl.isRejoinable:()Z
            putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
       142: .line 613
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            ifeq 146
       143: .line 614
            aload 9 /* previous */
            invokevirtual sun.security.ssl.SSLSessionImpl.getProtocolVersion:()Lsun/security/ssl/ProtocolVersion;
            astore 10 /* oldVersion */
        start local 10 // sun.security.ssl.ProtocolVersion oldVersion
       144: .line 616
            aload 10 /* oldVersion */
            aload 1 /* mesg */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            if_acmpeq 146
       145: .line 617
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
        end local 10 // sun.security.ssl.ProtocolVersion oldVersion
       146: .line 621
      StackMap locals: sun.security.ssl.SSLSessionImpl
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            ifeq 165
            getstatic sun.security.ssl.ServerHandshaker.useExtendedMasterSecret:Z
            ifeq 165
       147: .line 622
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedToUseEMS:Z
            ifeq 151
       148: .line 623
            aload 9 /* previous */
            invokevirtual sun.security.ssl.SSLSessionImpl.getUseExtendedMasterSecret:()Z
            ifne 151
       149: .line 630
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
       150: .line 631
            goto 165
      StackMap locals:
      StackMap stack:
       151: aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedToUseEMS:Z
            ifne 157
       152: .line 632
            aload 9 /* previous */
            invokevirtual sun.security.ssl.SSLSessionImpl.getUseExtendedMasterSecret:()Z
            ifeq 157
       153: .line 637
            aload 0 /* this */
            bipush 40
       154: .line 638
            ldc "Missing Extended Master Secret extension on session resumption"
       155: .line 637
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
       156: .line 640
            goto 165
      StackMap locals:
      StackMap stack:
       157: aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedToUseEMS:Z
            ifne 165
       158: .line 641
            aload 9 /* previous */
            invokevirtual sun.security.ssl.SSLSessionImpl.getUseExtendedMasterSecret:()Z
            ifne 165
       159: .line 645
            getstatic sun.security.ssl.ServerHandshaker.allowLegacyResumption:Z
            ifne 164
       160: .line 646
            aload 0 /* this */
            bipush 40
       161: .line 647
            ldc "Missing Extended Master Secret extension on session resumption"
       162: .line 646
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
       163: .line 649
            goto 165
       164: .line 650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
       165: .line 656
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            ifeq 179
       166: .line 658
            aload 9 /* previous */
            invokevirtual sun.security.ssl.SSLSessionImpl.getRequestedServerNames:()Ljava/util/List;
       167: .line 657
            astore 10 /* oldServerNames */
        start local 10 // java.util.List oldServerNames
       168: .line 659
            aload 2 /* clientHelloSNIExt */
            ifnull 172
       169: .line 660
            aload 2 /* clientHelloSNIExt */
            aload 10 /* oldServerNames */
            invokevirtual sun.security.ssl.ServerNameExtension.isIdentical:(Ljava/util/List;)Z
            ifne 174
       170: .line 661
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
       171: .line 663
            goto 174
      StackMap locals: java.util.List
      StackMap stack:
       172: aload 10 /* oldServerNames */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 174
       173: .line 664
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
       174: .line 667
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            ifne 179
       175: .line 668
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 179
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 179
       176: .line 669
            getstatic java.lang.System.out:Ljava/io/PrintStream;
       177: .line 670
            ldc "The requested server name indication is not identical to the previous one"
       178: .line 669
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 10 // java.util.List oldServerNames
       179: .line 675
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            ifeq 185
       180: .line 676
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
            getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUIRED:Lsun/security/ssl/ClientAuthType;
            if_acmpne 185
       181: .line 678
            aload 9 /* previous */
            invokevirtual sun.security.ssl.SSLSessionImpl.getPeerPrincipal:()Ljava/security/Principal;
            pop
       182: .line 679
            goto 185
      StackMap locals:
      StackMap stack: javax.net.ssl.SSLPeerUnverifiedException
       183: pop
       184: .line 680
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
       185: .line 685
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            ifeq 201
       186: .line 686
            aload 9 /* previous */
            invokevirtual sun.security.ssl.SSLSessionImpl.getSuite:()Lsun/security/ssl/CipherSuite;
            astore 10 /* suite */
        start local 10 // sun.security.ssl.CipherSuite suite
       187: .line 688
            aload 10 /* suite */
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getfield sun.security.ssl.CipherSuite$KeyExchange.name:Ljava/lang/String;
            invokestatic sun.security.ssl.ClientKeyExchangeService.find:(Ljava/lang/String;)Lsun/security/ssl/ClientKeyExchangeService;
       188: .line 687
            astore 11 /* p */
        start local 11 // sun.security.ssl.ClientKeyExchangeService p
       189: .line 689
            aload 11 /* p */
            ifnull 201
       190: .line 690
            aload 9 /* previous */
            invokevirtual sun.security.ssl.SSLSessionImpl.getLocalPrincipal:()Ljava/security/Principal;
            astore 12 /* localPrincipal */
        start local 12 // java.security.Principal localPrincipal
       191: .line 692
            aload 11 /* p */
       192: .line 693
            iconst_0
            aload 0 /* this */
            invokevirtual sun.security.ssl.ServerHandshaker.getAccSE:()Ljava/security/AccessControlContext;
            aload 12 /* localPrincipal */
       193: .line 692
            invokeinterface sun.security.ssl.ClientKeyExchangeService.isRelated:(ZLjava/security/AccessControlContext;Ljava/security/Principal;)Z
       194: .line 693
            ifeq 198
       195: .line 694
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 201
            ldc "session"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 201
       196: .line 695
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Subject can provide creds for princ"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       197: .line 697
            goto 201
       198: .line 698
      StackMap locals: sun.security.ssl.CipherSuite sun.security.ssl.ClientKeyExchangeService java.security.Principal
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
       199: .line 699
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 201
            ldc "session"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 201
       200: .line 700
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Subject cannot provide creds for princ"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 12 // java.security.Principal localPrincipal
        end local 11 // sun.security.ssl.ClientKeyExchangeService p
        end local 10 // sun.security.ssl.CipherSuite suite
       201: .line 706
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            ifeq 208
       202: .line 707
            aload 9 /* previous */
            invokevirtual sun.security.ssl.SSLSessionImpl.getSuite:()Lsun/security/ssl/CipherSuite;
            astore 10 /* suite */
        start local 10 // sun.security.ssl.CipherSuite suite
       203: .line 711
            aload 0 /* this */
            aload 10 /* suite */
            invokevirtual sun.security.ssl.ServerHandshaker.isNegotiable:(Lsun/security/ssl/CipherSuite;)Z
            ifeq 205
       204: .line 712
            aload 1 /* mesg */
            invokevirtual sun.security.ssl.HandshakeMessage$ClientHello.getCipherSuites:()Lsun/security/ssl/CipherSuiteList;
            aload 10 /* suite */
            invokevirtual sun.security.ssl.CipherSuiteList.contains:(Lsun/security/ssl/CipherSuite;)Z
            ifne 207
       205: .line 713
      StackMap locals: sun.security.ssl.CipherSuite
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
       206: .line 714
            goto 208
       207: .line 718
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* suite */
            invokevirtual sun.security.ssl.ServerHandshaker.setCipherSuite:(Lsun/security/ssl/CipherSuite;)V
        end local 10 // sun.security.ssl.CipherSuite suite
       208: .line 722
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            ifeq 213
       209: .line 723
            aload 0 /* this */
            aload 9 /* previous */
            putfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
       210: .line 724
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 213
       211: .line 725
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifne 212
            ldc "session"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 213
       212: .line 726
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "%% Resuming "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            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
        end local 9 // sun.security.ssl.SSLSessionImpl previous
       213: .line 733
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.isDTLS:Z
            ifeq 224
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            ifne 224
       214: .line 734
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getHelloCookieManager:()Lsun/security/ssl/HelloCookieManager;
            astore 9 /* hcMgr */
        start local 9 // sun.security.ssl.HelloCookieManager hcMgr
       215: .line 735
            aload 1 /* mesg */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.cookie:[B
            ifnull 217
            aload 1 /* mesg */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.cookie:[B
            arraylength
            ifeq 217
       216: .line 736
            aload 9 /* hcMgr */
            aload 1 /* mesg */
            invokevirtual sun.security.ssl.HelloCookieManager.isValid:(Lsun/security/ssl/HandshakeMessage$ClientHello;)Z
            ifne 224
       217: .line 742
      StackMap locals: sun.security.ssl.HelloCookieManager
      StackMap stack:
            new sun.security.ssl.HandshakeMessage$HelloVerifyRequest
            dup
            aload 9 /* hcMgr */
            aload 1 /* mesg */
            invokespecial sun.security.ssl.HandshakeMessage$HelloVerifyRequest.<init>:(Lsun/security/ssl/HelloCookieManager;Lsun/security/ssl/HandshakeMessage$ClientHello;)V
            astore 10 /* m0 */
        start local 10 // sun.security.ssl.HandshakeMessage$HelloVerifyRequest m0
       218: .line 744
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 220
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 220
       219: .line 745
            aload 10 /* m0 */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.ssl.HandshakeMessage$HelloVerifyRequest.print:(Ljava/io/PrintStream;)V
       220: .line 748
      StackMap locals: sun.security.ssl.HandshakeMessage$HelloVerifyRequest
      StackMap stack:
            aload 10 /* m0 */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
            invokevirtual sun.security.ssl.HandshakeMessage$HelloVerifyRequest.write:(Lsun/security/ssl/HandshakeOutStream;)V
       221: .line 749
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
            aload 10 /* m0 */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
       222: .line 750
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
            invokevirtual sun.security.ssl.HandshakeOutStream.flush:()V
       223: .line 752
            return
        end local 10 // sun.security.ssl.HandshakeMessage$HelloVerifyRequest m0
        end local 9 // sun.security.ssl.HelloCookieManager hcMgr
       224: .line 765
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.HandshakeMessage$ServerHello
            dup
            invokespecial sun.security.ssl.HandshakeMessage$ServerHello.<init>:()V
            astore 9 /* m1 */
        start local 9 // sun.security.ssl.HandshakeMessage$ServerHello m1
       225: .line 767
            aload 0 /* this */
            aload 1 /* mesg */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            putfield sun.security.ssl.ServerHandshaker.clientRequestedVersion:Lsun/security/ssl/ProtocolVersion;
       226: .line 771
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.clientRequestedVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.ServerHandshaker.selectProtocolVersion:(Lsun/security/ssl/ProtocolVersion;)Lsun/security/ssl/ProtocolVersion;
       227: .line 770
            astore 10 /* selectedVersion */
        start local 10 // sun.security.ssl.ProtocolVersion selectedVersion
       228: .line 772
            aload 10 /* selectedVersion */
            ifnull 230
       229: .line 773
            aload 10 /* selectedVersion */
            getfield sun.security.ssl.ProtocolVersion.v:I
            getstatic sun.security.ssl.ProtocolVersion.SSL20Hello:Lsun/security/ssl/ProtocolVersion;
            getfield sun.security.ssl.ProtocolVersion.v:I
            if_icmpne 235
       230: .line 774
      StackMap locals: sun.security.ssl.HandshakeMessage$ServerHello sun.security.ssl.ProtocolVersion
      StackMap stack:
            aload 0 /* this */
            bipush 40
       231: .line 775
            new java.lang.StringBuilder
            dup
            ldc "Client requested protocol "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.clientRequestedVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
       232: .line 776
            ldc " not enabled or not supported"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       233: .line 775
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       234: .line 774
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
       235: .line 779
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeHash:Lsun/security/ssl/HandshakeHash;
            aload 10 /* selectedVersion */
            invokevirtual sun.security.ssl.HandshakeHash.protocolDetermined:(Lsun/security/ssl/ProtocolVersion;)V
       236: .line 780
            aload 0 /* this */
            aload 10 /* selectedVersion */
            invokevirtual sun.security.ssl.ServerHandshaker.setVersion:(Lsun/security/ssl/ProtocolVersion;)V
       237: .line 782
            aload 9 /* m1 */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            putfield sun.security.ssl.HandshakeMessage$ServerHello.protocolVersion:Lsun/security/ssl/ProtocolVersion;
       238: .line 795
            aload 0 /* this */
            aload 1 /* mesg */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.clnt_random:Lsun/security/ssl/RandomCookie;
            putfield sun.security.ssl.ServerHandshaker.clnt_random:Lsun/security/ssl/RandomCookie;
       239: .line 796
            aload 0 /* this */
            new sun.security.ssl.RandomCookie
            dup
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
            invokespecial sun.security.ssl.RandomCookie.<init>:(Ljava/security/SecureRandom;)V
            putfield sun.security.ssl.ServerHandshaker.svr_random:Lsun/security/ssl/RandomCookie;
       240: .line 797
            aload 9 /* m1 */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.svr_random:Lsun/security/ssl/RandomCookie;
            putfield sun.security.ssl.HandshakeMessage$ServerHello.svr_random:Lsun/security/ssl/RandomCookie;
       241: .line 804
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            ifnonnull 303
       242: .line 805
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.enableNewSession:Z
            ifne 244
       243: .line 806
            new javax.net.ssl.SSLException
            dup
            ldc "Client did not resume a session"
            invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
            athrow
       244: .line 809
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
       245: .line 810
            aload 1 /* mesg */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
            getstatic sun.security.ssl.ExtensionType.EXT_SUPPORTED_GROUPS:Lsun/security/ssl/ExtensionType;
            invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
       246: .line 809
            checkcast sun.security.ssl.SupportedGroupsExtension
            putfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
       247: .line 814
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
            ifeq 267
       248: .line 816
            aload 1 /* mesg */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
       249: .line 817
            getstatic sun.security.ssl.ExtensionType.EXT_SIGNATURE_ALGORITHMS:Lsun/security/ssl/ExtensionType;
       250: .line 816
            invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
            checkcast sun.security.ssl.SignatureAlgorithmsExtension
       251: .line 815
            astore 11 /* signAlgs */
        start local 11 // sun.security.ssl.SignatureAlgorithmsExtension signAlgs
       252: .line 818
            aload 11 /* signAlgs */
            ifnull 267
       253: .line 820
            aload 11 /* signAlgs */
            invokevirtual sun.security.ssl.SignatureAlgorithmsExtension.getSignAlgorithms:()Ljava/util/Collection;
       254: .line 819
            astore 12 /* peerSignAlgs */
        start local 12 // java.util.Collection peerSignAlgs
       255: .line 821
            aload 12 /* peerSignAlgs */
            ifnull 256
            aload 12 /* peerSignAlgs */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 259
       256: .line 822
      StackMap locals: sun.security.ssl.SignatureAlgorithmsExtension java.util.Collection
      StackMap stack:
            new javax.net.ssl.SSLHandshakeException
            dup
       257: .line 823
            ldc "No peer supported signature algorithms"
       258: .line 822
            invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
            athrow
       259: .line 829
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
            aload 12 /* peerSignAlgs */
       260: .line 828
            invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getSupportedAlgorithms:(Ljava/security/AlgorithmConstraints;Ljava/util/Collection;)Ljava/util/Collection;
       261: .line 827
            astore 13 /* supportedPeerSignAlgs */
        start local 13 // java.util.Collection supportedPeerSignAlgs
       262: .line 830
            aload 13 /* supportedPeerSignAlgs */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 266
       263: .line 831
            new javax.net.ssl.SSLHandshakeException
            dup
       264: .line 832
            ldc "No signature and hash algorithm in common"
       265: .line 831
            invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
            athrow
       266: .line 835
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 0 /* this */
            aload 13 /* supportedPeerSignAlgs */
            invokevirtual sun.security.ssl.ServerHandshaker.setPeerSupportedSignAlgs:(Ljava/util/Collection;)V
        end local 13 // java.util.Collection supportedPeerSignAlgs
        end local 12 // java.util.Collection peerSignAlgs
        end local 11 // sun.security.ssl.SignatureAlgorithmsExtension signAlgs
       267: .line 839
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
       268: new sun.security.ssl.SSLSessionImpl
            dup
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            getstatic sun.security.ssl.CipherSuite.C_NULL:Lsun/security/ssl/CipherSuite;
       269: .line 840
            aload 0 /* this */
            invokevirtual sun.security.ssl.ServerHandshaker.getLocalSupportedSignAlgs:()Ljava/util/Collection;
       270: .line 841
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
       271: .line 842
            aload 0 /* this */
            invokevirtual sun.security.ssl.ServerHandshaker.getHostAddressSE:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual sun.security.ssl.ServerHandshaker.getPortSE:()I
       272: .line 843
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedToUseEMS:Z
            ifeq 274
       273: .line 844
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.ProtocolVersion.useTLS10PlusSpec:()Z
            ifeq 274
            iconst_1
            goto 275
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerNameExtension int sun.security.ssl.CipherSuiteList sun.security.ssl.RenegotiationInfoExtension sun.security.ssl.MaxFragmentLengthExtension sun.security.ssl.ALPNExtension int sun.security.ssl.HandshakeMessage$ServerHello sun.security.ssl.ProtocolVersion
      StackMap stack: sun.security.ssl.ServerHandshaker new 268 new 268 sun.security.ssl.ProtocolVersion sun.security.ssl.CipherSuite java.util.Collection java.security.SecureRandom java.lang.String int
       274: iconst_0
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerNameExtension int sun.security.ssl.CipherSuiteList sun.security.ssl.RenegotiationInfoExtension sun.security.ssl.MaxFragmentLengthExtension sun.security.ssl.ALPNExtension int sun.security.ssl.HandshakeMessage$ServerHello sun.security.ssl.ProtocolVersion
      StackMap stack: sun.security.ssl.ServerHandshaker new 268 new 268 sun.security.ssl.ProtocolVersion sun.security.ssl.CipherSuite java.util.Collection java.security.SecureRandom java.lang.String int int
       275: invokespecial sun.security.ssl.SSLSessionImpl.<init>:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;Ljava/util/Collection;Ljava/security/SecureRandom;Ljava/lang/String;IZ)V
       276: .line 839
            putfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
       277: .line 846
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
            ifeq 282
       278: .line 847
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.peerSupportedSignAlgs:Ljava/util/Collection;
            ifnull 282
       279: .line 848
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
       280: .line 849
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.peerSupportedSignAlgs:Ljava/util/Collection;
       281: .line 848
            invokevirtual sun.security.ssl.SSLSessionImpl.setPeerSupportedSignatureAlgorithms:(Ljava/util/Collection;)V
       282: .line 856
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
       283: .line 855
            astore 11 /* clientHelloSNI */
        start local 11 // java.util.List clientHelloSNI
       284: .line 857
            aload 2 /* clientHelloSNIExt */
            ifnull 286
       285: .line 858
            aload 2 /* clientHelloSNIExt */
            invokevirtual sun.security.ssl.ServerNameExtension.getServerNames:()Ljava/util/List;
            astore 11 /* clientHelloSNI */
       286: .line 860
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            aload 11 /* clientHelloSNI */
            invokevirtual sun.security.ssl.SSLSessionImpl.setRequestedServerNames:(Ljava/util/List;)V
       287: .line 863
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.ServerHandshaker.setHandshakeSessionSE:(Lsun/security/ssl/SSLSessionImpl;)V
       288: .line 866
            aload 0 /* this */
            aload 1 /* mesg */
            invokevirtual sun.security.ssl.ServerHandshaker.chooseCipherSuite:(Lsun/security/ssl/HandshakeMessage$ClientHello;)V
       289: .line 868
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.cipherSuite:Lsun/security/ssl/CipherSuite;
            invokevirtual sun.security.ssl.SSLSessionImpl.setSuite:(Lsun/security/ssl/CipherSuite;)V
       290: .line 869
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
            invokevirtual sun.security.ssl.SSLSessionImpl.setLocalPrivateKey:(Ljava/security/PrivateKey;)V
       291: .line 877
            aload 6 /* maxFragLenExt */
            ifnull 301
       292: .line 878
            aload 6 /* maxFragLenExt */
            invokevirtual sun.security.ssl.MaxFragmentLengthExtension.getMaxFragLen:()I
            istore 12 /* maxFragLen */
        start local 12 // int maxFragLen
       293: .line 881
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.maximumPacketSize:I
            ifeq 299
       294: .line 882
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.cipherSuite:Lsun/security/ssl/CipherSuite;
       295: .line 883
            iload 12 /* maxFragLen */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.isDTLS:Z
       296: .line 882
            invokevirtual sun.security.ssl.CipherSuite.calculatePacketSize:(ILsun/security/ssl/ProtocolVersion;Z)I
            istore 13 /* estimatedMaxFragSize */
        start local 13 // int estimatedMaxFragSize
       297: .line 884
            iload 13 /* estimatedMaxFragSize */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.maximumPacketSize:I
            if_icmple 299
       298: .line 888
            aconst_null
            astore 6 /* maxFragLenExt */
        end local 13 // int estimatedMaxFragSize
       299: .line 895
      StackMap locals: int
      StackMap stack:
            aload 6 /* maxFragLenExt */
            ifnull 301
       300: .line 896
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            iload 12 /* maxFragLen */
            invokevirtual sun.security.ssl.SSLSessionImpl.setNegotiatedMaxFragSize:(I)V
        end local 12 // int maxFragLen
       301: .line 900
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.maximumPacketSize:I
            invokevirtual sun.security.ssl.SSLSessionImpl.setMaximumPacketSize:(I)V
        end local 11 // java.util.List clientHelloSNI
       302: .line 901
            goto 304
       303: .line 903
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.ServerHandshaker.setHandshakeSessionSE:(Lsun/security/ssl/SSLSessionImpl;)V
       304: .line 906
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
            ifeq 306
       305: .line 907
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeHash:Lsun/security/ssl/HandshakeHash;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.cipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.prfAlg:Lsun/security/ssl/CipherSuite$PRF;
            invokevirtual sun.security.ssl.CipherSuite$PRF.getPRFHashAlg:()Ljava/lang/String;
            invokevirtual sun.security.ssl.HandshakeHash.setFinishedAlg:(Ljava/lang/String;)V
       306: .line 910
      StackMap locals:
      StackMap stack:
            aload 9 /* m1 */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.cipherSuite:Lsun/security/ssl/CipherSuite;
            putfield sun.security.ssl.HandshakeMessage$ServerHello.cipherSuite:Lsun/security/ssl/CipherSuite;
       307: .line 911
            aload 9 /* m1 */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.getSessionId:()Lsun/security/ssl/SessionId;
            putfield sun.security.ssl.HandshakeMessage$ServerHello.sessionId:Lsun/security/ssl/SessionId;
       308: .line 912
            aload 9 /* m1 */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.getCompression:()B
            putfield sun.security.ssl.HandshakeMessage$ServerHello.compression_method:B
       309: .line 914
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
            ifeq 314
       310: .line 924
            new sun.security.ssl.RenegotiationInfoExtension
            dup
       311: .line 925
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.clientVerifyData:[B
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.serverVerifyData:[B
       312: .line 924
            invokespecial sun.security.ssl.RenegotiationInfoExtension.<init>:([B[B)V
            astore 11 /* serverHelloRI */
        start local 11 // sun.security.ssl.HelloExtension serverHelloRI
       313: .line 926
            aload 9 /* m1 */
            getfield sun.security.ssl.HandshakeMessage$ServerHello.extensions:Lsun/security/ssl/HelloExtensions;
            aload 11 /* serverHelloRI */
            invokevirtual sun.security.ssl.HelloExtensions.add:(Lsun/security/ssl/HelloExtension;)V
        end local 11 // sun.security.ssl.HelloExtension serverHelloRI
       314: .line 929
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sniMatchers:Ljava/util/Collection;
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 318
            aload 2 /* clientHelloSNIExt */
            ifnull 318
       315: .line 932
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            ifne 318
       316: .line 933
            new sun.security.ssl.ServerNameExtension
            dup
            invokespecial sun.security.ssl.ServerNameExtension.<init>:()V
            astore 11 /* serverHelloSNI */
        start local 11 // sun.security.ssl.ServerNameExtension serverHelloSNI
       317: .line 934
            aload 9 /* m1 */
            getfield sun.security.ssl.HandshakeMessage$ServerHello.extensions:Lsun/security/ssl/HelloExtensions;
            aload 11 /* serverHelloSNI */
            invokevirtual sun.security.ssl.HelloExtensions.add:(Lsun/security/ssl/HelloExtension;)V
        end local 11 // sun.security.ssl.ServerNameExtension serverHelloSNI
       318: .line 938
      StackMap locals:
      StackMap stack:
            aload 6 /* maxFragLenExt */
            ifnull 320
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            ifne 320
       319: .line 943
            aload 9 /* m1 */
            getfield sun.security.ssl.HandshakeMessage$ServerHello.extensions:Lsun/security/ssl/HelloExtensions;
            aload 6 /* maxFragLenExt */
            invokevirtual sun.security.ssl.HelloExtensions.add:(Lsun/security/ssl/HelloExtension;)V
       320: .line 946
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.getUseExtendedMasterSecret:()Z
            ifeq 322
       321: .line 947
            aload 9 /* m1 */
            getfield sun.security.ssl.HandshakeMessage$ServerHello.extensions:Lsun/security/ssl/HelloExtensions;
            new sun.security.ssl.ExtendedMasterSecretExtension
            dup
            invokespecial sun.security.ssl.ExtendedMasterSecretExtension.<init>:()V
            invokevirtual sun.security.ssl.HelloExtensions.add:(Lsun/security/ssl/HelloExtension;)V
       322: .line 950
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* mesg */
            invokevirtual sun.security.ssl.ServerHandshaker.processStapling:(Lsun/security/ssl/HandshakeMessage$ClientHello;)Lsun/security/ssl/ServerHandshaker$StaplingParameters;
            astore 11 /* staplingParams */
        start local 11 // sun.security.ssl.ServerHandshaker$StaplingParameters staplingParams
       323: .line 951
            aload 11 /* staplingParams */
            ifnull 332
       324: .line 955
            aload 11 /* staplingParams */
            getfield sun.security.ssl.ServerHandshaker$StaplingParameters.statusRespExt:Lsun/security/ssl/ExtensionType;
       325: .line 956
            getstatic sun.security.ssl.ExtensionType.EXT_STATUS_REQUEST:Lsun/security/ssl/ExtensionType;
       326: .line 955
            if_acmpne 329
       327: .line 957
            aload 9 /* m1 */
            getfield sun.security.ssl.HandshakeMessage$ServerHello.extensions:Lsun/security/ssl/HelloExtensions;
            new sun.security.ssl.CertStatusReqExtension
            dup
            invokespecial sun.security.ssl.CertStatusReqExtension.<init>:()V
            invokevirtual sun.security.ssl.HelloExtensions.add:(Lsun/security/ssl/HelloExtension;)V
       328: .line 958
            goto 332
      StackMap locals: sun.security.ssl.ServerHandshaker$StaplingParameters
      StackMap stack:
       329: aload 11 /* staplingParams */
            getfield sun.security.ssl.ServerHandshaker$StaplingParameters.statusRespExt:Lsun/security/ssl/ExtensionType;
       330: .line 959
            getstatic sun.security.ssl.ExtensionType.EXT_STATUS_REQUEST_V2:Lsun/security/ssl/ExtensionType;
            if_acmpne 332
       331: .line 960
            aload 9 /* m1 */
            getfield sun.security.ssl.HandshakeMessage$ServerHello.extensions:Lsun/security/ssl/HelloExtensions;
            new sun.security.ssl.CertStatusReqListV2Extension
            dup
            invokespecial sun.security.ssl.CertStatusReqListV2Extension.<init>:()V
            invokevirtual sun.security.ssl.HelloExtensions.add:(Lsun/security/ssl/HelloExtension;)V
       332: .line 965
      StackMap locals:
      StackMap stack:
            aload 7 /* clientHelloALPN */
            ifnull 355
       333: .line 966
            aload 7 /* clientHelloALPN */
            invokevirtual sun.security.ssl.ALPNExtension.getPeerAPs:()Ljava/util/List;
            astore 12 /* peerAPs */
        start local 12 // java.util.List peerAPs
       334: .line 969
            iload 8 /* hasAPCallback */
            ifeq 343
       335: .line 970
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.conn:Lsun/security/ssl/SSLSocketImpl;
            ifnull 340
       336: .line 971
            aload 0 /* this */
       337: .line 972
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.appProtocolSelectorSSLSocket:Ljava/util/function/BiFunction;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.conn:Lsun/security/ssl/SSLSocketImpl;
            aload 12 /* peerAPs */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
       338: .line 971
            putfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
       339: .line 973
            goto 343
       340: .line 974
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
       341: .line 975
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.appProtocolSelectorSSLEngine:Ljava/util/function/BiFunction;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.engine:Lsun/security/ssl/SSLEngineImpl;
            aload 12 /* peerAPs */
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
       342: .line 974
            putfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
       343: .line 981
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
            ifnull 346
       344: .line 982
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 352
       345: .line 983
            aload 12 /* peerAPs */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 352
       346: .line 985
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 120
       347: .line 986
            new javax.net.ssl.SSLHandshakeException
            dup
       348: .line 987
            ldc "No matching ALPN values"
       349: .line 986
            invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
       350: .line 985
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/Throwable;)V
       351: .line 989
            goto 356
      StackMap locals:
      StackMap stack:
       352: aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 356
       353: .line 990
            aload 9 /* m1 */
            getfield sun.security.ssl.HandshakeMessage$ServerHello.extensions:Lsun/security/ssl/HelloExtensions;
            new sun.security.ssl.ALPNExtension
            dup
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
            invokespecial sun.security.ssl.ALPNExtension.<init>:(Ljava/lang/String;)V
            invokevirtual sun.security.ssl.HelloExtensions.add:(Lsun/security/ssl/HelloExtension;)V
        end local 12 // java.util.List peerAPs
       354: .line 992
            goto 356
       355: .line 994
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ""
            putfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
       356: .line 997
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 359
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 359
       357: .line 998
            aload 9 /* m1 */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.ssl.HandshakeMessage$ServerHello.print:(Ljava/io/PrintStream;)V
       358: .line 999
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Cipher suite:  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.getSuite:()Lsun/security/ssl/CipherSuite;
            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
       359: .line 1001
      StackMap locals:
      StackMap stack:
            aload 9 /* m1 */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
            invokevirtual sun.security.ssl.HandshakeMessage$ServerHello.write:(Lsun/security/ssl/HandshakeOutStream;)V
       360: .line 1002
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
            aload 9 /* m1 */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
       361: .line 1008
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            ifeq 366
       362: .line 1009
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.getMasterSecret:()Ljavax/crypto/SecretKey;
            invokevirtual sun.security.ssl.ServerHandshaker.calculateConnectionKeys:(Ljavax/crypto/SecretKey;)V
       363: .line 1010
            aload 0 /* this */
            iconst_0
            invokevirtual sun.security.ssl.ServerHandshaker.sendChangeCipherAndFinish:(Z)V
       364: .line 1013
            aload 0 /* this */
            invokevirtual sun.security.ssl.ServerHandshaker.expectingFinishFlightSE:()V
       365: .line 1015
            return
       366: .line 1028
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.cipherSuite:Lsun/security/ssl/CipherSuite;
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getfield sun.security.ssl.CipherSuite$KeyExchange.name:Ljava/lang/String;
       367: .line 1027
            invokestatic sun.security.ssl.ClientKeyExchangeService.find:(Ljava/lang/String;)Lsun/security/ssl/ClientKeyExchangeService;
            ifnonnull 380
       368: .line 1030
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 378
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 378
       369: .line 1031
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
            ifnonnull 371
       370: .line 1032
            new java.lang.RuntimeException
            dup
            ldc "no certificates"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
       371: .line 1035
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.HandshakeMessage$CertificateMsg
            dup
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
            invokespecial sun.security.ssl.HandshakeMessage$CertificateMsg.<init>:([Ljava/security/cert/X509Certificate;)V
            astore 12 /* m2 */
        start local 12 // sun.security.ssl.HandshakeMessage$CertificateMsg m2
       372: .line 1041
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
            invokevirtual sun.security.ssl.SSLSessionImpl.setLocalCertificates:([Ljava/security/cert/X509Certificate;)V
       373: .line 1042
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 375
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 375
       374: .line 1043
            aload 12 /* m2 */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.ssl.HandshakeMessage$CertificateMsg.print:(Ljava/io/PrintStream;)V
       375: .line 1045
      StackMap locals: sun.security.ssl.HandshakeMessage$CertificateMsg
      StackMap stack:
            aload 12 /* m2 */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
            invokevirtual sun.security.ssl.HandshakeMessage$CertificateMsg.write:(Lsun/security/ssl/HandshakeOutStream;)V
       376: .line 1046
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
            aload 12 /* m2 */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
        end local 12 // sun.security.ssl.HandshakeMessage$CertificateMsg m2
       377: .line 1053
            goto 380
       378: .line 1054
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
            ifnull 380
       379: .line 1055
            new java.lang.RuntimeException
            dup
            ldc "anonymous keyexchange with certs"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
       380: .line 1065
      StackMap locals:
      StackMap stack:
            aload 11 /* staplingParams */
            ifnull 389
       381: .line 1066
            new sun.security.ssl.HandshakeMessage$CertificateStatus
            dup
       382: .line 1067
            aload 11 /* staplingParams */
            getfield sun.security.ssl.ServerHandshaker$StaplingParameters.statReqType:Lsun/security/ssl/StatusRequestType;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
       383: .line 1068
            aload 11 /* staplingParams */
            getfield sun.security.ssl.ServerHandshaker$StaplingParameters.responseMap:Ljava/util/Map;
       384: .line 1066
            invokespecial sun.security.ssl.HandshakeMessage$CertificateStatus.<init>:(Lsun/security/ssl/StatusRequestType;[Ljava/security/cert/X509Certificate;Ljava/util/Map;)V
            astore 12 /* csMsg */
        start local 12 // sun.security.ssl.HandshakeMessage$CertificateStatus csMsg
       385: .line 1069
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 387
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 387
       386: .line 1070
            aload 12 /* csMsg */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.ssl.HandshakeMessage$CertificateStatus.print:(Ljava/io/PrintStream;)V
       387: .line 1072
      StackMap locals: sun.security.ssl.HandshakeMessage$CertificateStatus
      StackMap stack:
            aload 12 /* csMsg */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
            invokevirtual sun.security.ssl.HandshakeMessage$CertificateStatus.write:(Lsun/security/ssl/HandshakeOutStream;)V
       388: .line 1073
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
            aload 12 /* csMsg */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
        end local 12 // sun.security.ssl.HandshakeMessage$CertificateStatus csMsg
       389: .line 1086
      StackMap locals:
      StackMap stack:
            invokestatic sun.security.ssl.ServerHandshaker.$SWITCH_TABLE$sun$security$ssl$CipherSuite$KeyExchange:()[I
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            iaload
            tableswitch { // 2 - 13
                    2: 390
                    3: 392
                    4: 439
                    5: 439
                    6: 407
                    7: 407
                    8: 421
                    9: 437
                   10: 437
                   11: 423
                   12: 423
                   13: 423
              default: 439
          }
       390: .line 1089
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 12 /* m3 */
        start local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       391: .line 1090
            goto 445
        end local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       392: .line 1092
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
            iconst_0
            aaload
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokestatic sun.security.ssl.JsseJce.getRSAKeyLength:(Ljava/security/PublicKey;)I
            sipush 512
            if_icmple 405
       393: .line 1094
            new sun.security.ssl.HandshakeMessage$RSA_ServerKeyExchange
            dup
       394: .line 1095
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.tempPublicKey:Ljava/security/PublicKey;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
       395: .line 1096
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.clnt_random:Lsun/security/ssl/RandomCookie;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.svr_random:Lsun/security/ssl/RandomCookie;
       396: .line 1097
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
       397: .line 1094
            invokespecial sun.security.ssl.HandshakeMessage$RSA_ServerKeyExchange.<init>:(Ljava/security/PublicKey;Ljava/security/PrivateKey;Lsun/security/ssl/RandomCookie;Lsun/security/ssl/RandomCookie;Ljava/security/SecureRandom;)V
            astore 12 /* m3 */
        start local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       398: .line 1098
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.tempPrivateKey:Ljava/security/PrivateKey;
            putfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
       399: .line 1099
            goto 445
        end local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
       400: astore 13 /* e */
        start local 13 // java.security.GeneralSecurityException e
       401: .line 1100
            aconst_null
            astore 12 /* m3 */
        start local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       402: .line 1101
            new javax.net.ssl.SSLException
            dup
       403: .line 1102
            ldc "Error generating RSA server key exchange"
            aload 13 /* e */
       404: .line 1101
            invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 13 // java.security.GeneralSecurityException e
        end local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       405: .line 1106
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 12 /* m3 */
        start local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       406: .line 1108
            goto 445
        end local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       407: .line 1112
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange
            dup
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.dh:Lsun/security/ssl/DHCrypt;
       408: .line 1113
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
       409: .line 1114
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.clnt_random:Lsun/security/ssl/RandomCookie;
            getfield sun.security.ssl.RandomCookie.random_bytes:[B
       410: .line 1115
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.svr_random:Lsun/security/ssl/RandomCookie;
            getfield sun.security.ssl.RandomCookie.random_bytes:[B
       411: .line 1116
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
       412: .line 1117
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
       413: .line 1118
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
       414: .line 1112
            invokespecial sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.<init>:(Lsun/security/ssl/DHCrypt;Ljava/security/PrivateKey;[B[BLjava/security/SecureRandom;Lsun/security/ssl/SignatureAndHashAlgorithm;Lsun/security/ssl/ProtocolVersion;)V
            astore 12 /* m3 */
        start local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       415: .line 1119
            goto 445
        end local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
       416: astore 13 /* e */
        start local 13 // java.security.GeneralSecurityException e
       417: .line 1120
            aconst_null
            astore 12 /* m3 */
        start local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       418: .line 1121
            new javax.net.ssl.SSLException
            dup
       419: .line 1122
            ldc "Error generating DH server key exchange"
            aload 13 /* e */
       420: .line 1121
            invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 13 // java.security.GeneralSecurityException e
        end local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       421: .line 1126
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange
            dup
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.dh:Lsun/security/ssl/DHCrypt;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokespecial sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.<init>:(Lsun/security/ssl/DHCrypt;Lsun/security/ssl/ProtocolVersion;)V
            astore 12 /* m3 */
        start local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       422: .line 1127
            goto 445
        end local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       423: .line 1132
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.HandshakeMessage$ECDH_ServerKeyExchange
            dup
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.ecdh:Lsun/security/ssl/ECDHCrypt;
       424: .line 1133
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
       425: .line 1134
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.clnt_random:Lsun/security/ssl/RandomCookie;
            getfield sun.security.ssl.RandomCookie.random_bytes:[B
       426: .line 1135
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.svr_random:Lsun/security/ssl/RandomCookie;
            getfield sun.security.ssl.RandomCookie.random_bytes:[B
       427: .line 1136
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
       428: .line 1137
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
       429: .line 1138
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
       430: .line 1132
            invokespecial sun.security.ssl.HandshakeMessage$ECDH_ServerKeyExchange.<init>:(Lsun/security/ssl/ECDHCrypt;Ljava/security/PrivateKey;[B[BLjava/security/SecureRandom;Lsun/security/ssl/SignatureAndHashAlgorithm;Lsun/security/ssl/ProtocolVersion;)V
            astore 12 /* m3 */
        start local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       431: .line 1139
            goto 445
        end local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
       432: astore 13 /* e */
        start local 13 // java.security.GeneralSecurityException e
       433: .line 1140
            aconst_null
            astore 12 /* m3 */
        start local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       434: .line 1141
            new javax.net.ssl.SSLException
            dup
       435: .line 1142
            ldc "Error generating ECDH server key exchange"
            aload 13 /* e */
       436: .line 1141
            invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 13 // java.security.GeneralSecurityException e
        end local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       437: .line 1148
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 12 /* m3 */
        start local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       438: .line 1149
            goto 445
        end local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       439: .line 1152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getfield sun.security.ssl.CipherSuite$KeyExchange.name:Ljava/lang/String;
            invokestatic sun.security.ssl.ClientKeyExchangeService.find:(Ljava/lang/String;)Lsun/security/ssl/ClientKeyExchangeService;
       440: .line 1151
            astore 13 /* p */
        start local 13 // sun.security.ssl.ClientKeyExchangeService p
       441: .line 1153
            aload 13 /* p */
            ifnull 444
       442: .line 1155
            aconst_null
            astore 12 /* m3 */
        start local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       443: .line 1156
            goto 445
        end local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       444: .line 1158
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerNameExtension int sun.security.ssl.CipherSuiteList sun.security.ssl.RenegotiationInfoExtension sun.security.ssl.MaxFragmentLengthExtension sun.security.ssl.ALPNExtension int sun.security.ssl.HandshakeMessage$ServerHello sun.security.ssl.ProtocolVersion sun.security.ssl.ServerHandshaker$StaplingParameters top sun.security.ssl.ClientKeyExchangeService
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "internal error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 13 // sun.security.ssl.ClientKeyExchangeService p
        start local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
       445: .line 1160
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerNameExtension int sun.security.ssl.CipherSuiteList sun.security.ssl.RenegotiationInfoExtension sun.security.ssl.MaxFragmentLengthExtension sun.security.ssl.ALPNExtension int sun.security.ssl.HandshakeMessage$ServerHello sun.security.ssl.ProtocolVersion sun.security.ssl.ServerHandshaker$StaplingParameters sun.security.ssl.HandshakeMessage$ServerKeyExchange
      StackMap stack:
            aload 12 /* m3 */
            ifnull 450
       446: .line 1161
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 448
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 448
       447: .line 1162
            aload 12 /* m3 */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.ssl.HandshakeMessage$ServerKeyExchange.print:(Ljava/io/PrintStream;)V
       448: .line 1164
      StackMap locals:
      StackMap stack:
            aload 12 /* m3 */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
            invokevirtual sun.security.ssl.HandshakeMessage$ServerKeyExchange.write:(Lsun/security/ssl/HandshakeOutStream;)V
       449: .line 1165
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
            aload 12 /* m3 */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
       450: .line 1179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
            getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
            if_acmpeq 475
       451: .line 1180
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 475
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 475
       452: .line 1181
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getfield sun.security.ssl.CipherSuite$KeyExchange.name:Ljava/lang/String;
            invokestatic sun.security.ssl.ClientKeyExchangeService.find:(Ljava/lang/String;)Lsun/security/ssl/ClientKeyExchangeService;
            ifnonnull 475
       453: .line 1186
            aconst_null
            astore 15 /* localSignAlgs */
        start local 15 // java.util.Collection localSignAlgs
       454: .line 1187
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
            ifeq 467
       455: .line 1192
            aload 0 /* this */
            invokevirtual sun.security.ssl.ServerHandshaker.getLocalSupportedSignAlgs:()Ljava/util/Collection;
            astore 15 /* localSignAlgs */
       456: .line 1193
            aload 15 /* localSignAlgs */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 460
       457: .line 1194
            new javax.net.ssl.SSLHandshakeException
            dup
       458: .line 1195
            ldc "No supported signature algorithm"
       459: .line 1194
            invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
            athrow
       460: .line 1200
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerNameExtension int sun.security.ssl.CipherSuiteList sun.security.ssl.RenegotiationInfoExtension sun.security.ssl.MaxFragmentLengthExtension sun.security.ssl.ALPNExtension int sun.security.ssl.HandshakeMessage$ServerHello sun.security.ssl.ProtocolVersion sun.security.ssl.ServerHandshaker$StaplingParameters sun.security.ssl.HandshakeMessage$ServerKeyExchange top top java.util.Collection
      StackMap stack:
            aload 15 /* localSignAlgs */
       461: .line 1199
            invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getHashAlgorithmNames:(Ljava/util/Collection;)Ljava/util/Set;
       462: .line 1198
            astore 16 /* localHashAlgs */
        start local 16 // java.util.Set localHashAlgs
       463: .line 1201
            aload 16 /* localHashAlgs */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 467
       464: .line 1202
            new javax.net.ssl.SSLHandshakeException
            dup
       465: .line 1203
            ldc "No supported signature algorithm"
       466: .line 1202
            invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 16 // java.util.Set localHashAlgs
       467: .line 1207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getX509TrustManager:()Ljavax/net/ssl/X509TrustManager;
            invokeinterface javax.net.ssl.X509TrustManager.getAcceptedIssuers:()[Ljava/security/cert/X509Certificate;
            astore 14 /* caCerts */
        start local 14 // java.security.cert.X509Certificate[] caCerts
       468: .line 1208
            new sun.security.ssl.HandshakeMessage$CertificateRequest
            dup
            aload 14 /* caCerts */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
       469: .line 1209
            aload 15 /* localSignAlgs */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
       470: .line 1208
            invokespecial sun.security.ssl.HandshakeMessage$CertificateRequest.<init>:([Ljava/security/cert/X509Certificate;Lsun/security/ssl/CipherSuite$KeyExchange;Ljava/util/Collection;Lsun/security/ssl/ProtocolVersion;)V
            astore 13 /* m4 */
        start local 13 // sun.security.ssl.HandshakeMessage$CertificateRequest m4
       471: .line 1211
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 473
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 473
       472: .line 1212
            aload 13 /* m4 */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.ssl.HandshakeMessage$CertificateRequest.print:(Ljava/io/PrintStream;)V
       473: .line 1214
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerNameExtension int sun.security.ssl.CipherSuiteList sun.security.ssl.RenegotiationInfoExtension sun.security.ssl.MaxFragmentLengthExtension sun.security.ssl.ALPNExtension int sun.security.ssl.HandshakeMessage$ServerHello sun.security.ssl.ProtocolVersion sun.security.ssl.ServerHandshaker$StaplingParameters sun.security.ssl.HandshakeMessage$ServerKeyExchange sun.security.ssl.HandshakeMessage$CertificateRequest java.security.cert.X509Certificate[] java.util.Collection
      StackMap stack:
            aload 13 /* m4 */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
            invokevirtual sun.security.ssl.HandshakeMessage$CertificateRequest.write:(Lsun/security/ssl/HandshakeOutStream;)V
       474: .line 1215
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
            aload 13 /* m4 */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
        end local 15 // java.util.Collection localSignAlgs
        end local 14 // java.security.cert.X509Certificate[] caCerts
        end local 13 // sun.security.ssl.HandshakeMessage$CertificateRequest m4
       475: .line 1221
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.HandshakeMessage$ServerHelloDone
            dup
            invokespecial sun.security.ssl.HandshakeMessage$ServerHelloDone.<init>:()V
            astore 13 /* m5 */
        start local 13 // sun.security.ssl.HandshakeMessage$ServerHelloDone m5
       476: .line 1223
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 478
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 478
       477: .line 1224
            aload 13 /* m5 */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.ssl.HandshakeMessage$ServerHelloDone.print:(Ljava/io/PrintStream;)V
       478: .line 1226
      StackMap locals: sun.security.ssl.HandshakeMessage$ServerHelloDone
      StackMap stack:
            aload 13 /* m5 */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
            invokevirtual sun.security.ssl.HandshakeMessage$ServerHelloDone.write:(Lsun/security/ssl/HandshakeOutStream;)V
       479: .line 1227
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
            aload 13 /* m5 */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
       480: .line 1235
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
            invokevirtual sun.security.ssl.HandshakeOutStream.flush:()V
       481: .line 1236
            return
        end local 13 // sun.security.ssl.HandshakeMessage$ServerHelloDone m5
        end local 12 // sun.security.ssl.HandshakeMessage$ServerKeyExchange m3
        end local 11 // sun.security.ssl.ServerHandshaker$StaplingParameters staplingParams
        end local 10 // sun.security.ssl.ProtocolVersion selectedVersion
        end local 9 // sun.security.ssl.HandshakeMessage$ServerHello m1
        end local 8 // boolean hasAPCallback
        end local 7 // sun.security.ssl.ALPNExtension clientHelloALPN
        end local 6 // sun.security.ssl.MaxFragmentLengthExtension maxFragLenExt
        end local 5 // sun.security.ssl.RenegotiationInfoExtension clientHelloRI
        end local 4 // sun.security.ssl.CipherSuiteList cipherSuites
        end local 3 // boolean renegotiationIndicated
        end local 2 // sun.security.ssl.ServerNameExtension clientHelloSNIExt
        end local 1 // sun.security.ssl.HandshakeMessage$ClientHello mesg
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0  482     0                           this  Lsun/security/ssl/ServerHandshaker;
            0  482     1                           mesg  Lsun/security/ssl/HandshakeMessage$ClientHello;
            9  482     2              clientHelloSNIExt  Lsun/security/ssl/ServerNameExtension;
           16  482     3         renegotiationIndicated  Z
           17  482     4                   cipherSuites  Lsun/security/ssl/CipherSuiteList;
           32  482     5                  clientHelloRI  Lsun/security/ssl/RenegotiationInfoExtension;
           85  482     6                  maxFragLenExt  Lsun/security/ssl/MaxFragmentLengthExtension;
           87   93     7           estimatedMaxFragSize  I
           98  106     7  extendedMasterSecretExtension  Lsun/security/ssl/ExtendedMasterSecretExtension;
          108  482     7                clientHelloALPN  Lsun/security/ssl/ALPNExtension;
          113  482     8                  hasAPCallback  Z
          116  131     9                negotiatedValue  Ljava/lang/String;
          117  131    10                      protocols  Ljava/util/List<Ljava/lang/String;>;
          119  122    11                             ap  Ljava/lang/String;
          140  213     9                       previous  Lsun/security/ssl/SSLSessionImpl;
          144  146    10                     oldVersion  Lsun/security/ssl/ProtocolVersion;
          168  179    10                 oldServerNames  Ljava/util/List<Ljavax/net/ssl/SNIServerName;>;
          187  201    10                          suite  Lsun/security/ssl/CipherSuite;
          189  201    11                              p  Lsun/security/ssl/ClientKeyExchangeService;
          191  201    12                 localPrincipal  Ljava/security/Principal;
          203  208    10                          suite  Lsun/security/ssl/CipherSuite;
          215  224     9                          hcMgr  Lsun/security/ssl/HelloCookieManager;
          218  224    10                             m0  Lsun/security/ssl/HandshakeMessage$HelloVerifyRequest;
          225  482     9                             m1  Lsun/security/ssl/HandshakeMessage$ServerHello;
          228  482    10                selectedVersion  Lsun/security/ssl/ProtocolVersion;
          252  267    11                       signAlgs  Lsun/security/ssl/SignatureAlgorithmsExtension;
          255  267    12                   peerSignAlgs  Ljava/util/Collection<Lsun/security/ssl/SignatureAndHashAlgorithm;>;
          262  267    13          supportedPeerSignAlgs  Ljava/util/Collection<Lsun/security/ssl/SignatureAndHashAlgorithm;>;
          284  302    11                 clientHelloSNI  Ljava/util/List<Ljavax/net/ssl/SNIServerName;>;
          293  301    12                     maxFragLen  I
          297  299    13           estimatedMaxFragSize  I
          313  314    11                  serverHelloRI  Lsun/security/ssl/HelloExtension;
          317  318    11                 serverHelloSNI  Lsun/security/ssl/ServerNameExtension;
          323  482    11                 staplingParams  Lsun/security/ssl/ServerHandshaker$StaplingParameters;
          334  354    12                        peerAPs  Ljava/util/List<Ljava/lang/String;>;
          372  377    12                             m2  Lsun/security/ssl/HandshakeMessage$CertificateMsg;
          385  389    12                          csMsg  Lsun/security/ssl/HandshakeMessage$CertificateStatus;
          391  392    12                             m3  Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
          398  400    12                             m3  Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
          402  405    12                             m3  Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
          406  407    12                             m3  Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
          415  416    12                             m3  Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
          418  421    12                             m3  Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
          422  423    12                             m3  Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
          431  432    12                             m3  Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
          434  437    12                             m3  Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
          438  439    12                             m3  Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
          443  444    12                             m3  Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
          445  482    12                             m3  Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
          401  405    13                              e  Ljava/security/GeneralSecurityException;
          417  421    13                              e  Ljava/security/GeneralSecurityException;
          433  437    13                              e  Ljava/security/GeneralSecurityException;
          441  445    13                              p  Lsun/security/ssl/ClientKeyExchangeService;
          471  475    13                             m4  Lsun/security/ssl/HandshakeMessage$CertificateRequest;
          468  475    14                        caCerts  [Ljava/security/cert/X509Certificate;
          454  475    15                  localSignAlgs  Ljava/util/Collection<Lsun/security/ssl/SignatureAndHashAlgorithm;>;
          463  467    16                  localHashAlgs  Ljava/util/Set<Ljava/lang/String;>;
          476  482    13                             m5  Lsun/security/ssl/HandshakeMessage$ServerHelloDone;
      Exception table:
        from    to  target  type
         181   182     183  Class javax.net.ssl.SSLPeerUnverifiedException
         393   399     400  Class java.security.GeneralSecurityException
         407   415     416  Class java.security.GeneralSecurityException
         423   431     432  Class java.security.GeneralSecurityException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      mesg  

  private void chooseCipherSuite(sun.security.ssl.HandshakeMessage$ClientHello);
    descriptor: (Lsun/security/ssl/HandshakeMessage$ClientHello;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // sun.security.ssl.HandshakeMessage$ClientHello mesg
         0: .line 1245
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.preferLocalCipherSuites:Z
            ifeq 4
         1: .line 1246
            aload 0 /* this */
            invokevirtual sun.security.ssl.ServerHandshaker.getActiveCipherSuites:()Lsun/security/ssl/CipherSuiteList;
            astore 2 /* prefered */
        start local 2 // sun.security.ssl.CipherSuiteList prefered
         2: .line 1247
            aload 1 /* mesg */
            invokevirtual sun.security.ssl.HandshakeMessage$ClientHello.getCipherSuites:()Lsun/security/ssl/CipherSuiteList;
            astore 3 /* proposed */
        start local 3 // sun.security.ssl.CipherSuiteList proposed
         3: .line 1248
            goto 6
        end local 3 // sun.security.ssl.CipherSuiteList proposed
        end local 2 // sun.security.ssl.CipherSuiteList prefered
         4: .line 1249
      StackMap locals:
      StackMap stack:
            aload 1 /* mesg */
            invokevirtual sun.security.ssl.HandshakeMessage$ClientHello.getCipherSuites:()Lsun/security/ssl/CipherSuiteList;
            astore 2 /* prefered */
        start local 2 // sun.security.ssl.CipherSuiteList prefered
         5: .line 1250
            aload 0 /* this */
            invokevirtual sun.security.ssl.ServerHandshaker.getActiveCipherSuites:()Lsun/security/ssl/CipherSuiteList;
            astore 3 /* proposed */
        start local 3 // sun.security.ssl.CipherSuiteList proposed
         6: .line 1253
      StackMap locals: sun.security.ssl.CipherSuiteList sun.security.ssl.CipherSuiteList
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* legacySuites */
        start local 4 // java.util.List legacySuites
         7: .line 1254
            aload 2 /* prefered */
            invokevirtual sun.security.ssl.CipherSuiteList.collection:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 23
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.CipherSuiteList sun.security.ssl.CipherSuiteList java.util.List top java.util.Iterator
      StackMap stack:
         8: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.ssl.CipherSuite
            astore 5 /* suite */
        start local 5 // sun.security.ssl.CipherSuite suite
         9: .line 1255
            aload 3 /* proposed */
            aload 5 /* suite */
            invokestatic sun.security.ssl.ServerHandshaker.isNegotiable:(Lsun/security/ssl/CipherSuiteList;Lsun/security/ssl/CipherSuite;)Z
            ifne 11
        10: .line 1256
            goto 23
        11: .line 1259
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.CipherSuiteList sun.security.ssl.CipherSuiteList java.util.List sun.security.ssl.CipherSuite java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
            getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUIRED:Lsun/security/ssl/ClientAuthType;
            if_acmpne 15
        12: .line 1260
            aload 5 /* suite */
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpeq 23
        13: .line 1261
            aload 5 /* suite */
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
            if_acmpne 15
        14: .line 1262
            goto 23
        15: .line 1266
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.ServerHandshaker.legacyAlgorithmConstraints:Ljava/security/AlgorithmConstraints;
            aconst_null
            aload 5 /* suite */
            getfield sun.security.ssl.CipherSuite.name:Ljava/lang/String;
            aconst_null
            invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
            ifne 18
        16: .line 1267
            aload 4 /* legacySuites */
            aload 5 /* suite */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        17: .line 1268
            goto 23
        18: .line 1271
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* suite */
            invokevirtual sun.security.ssl.ServerHandshaker.trySetCipherSuite:(Lsun/security/ssl/CipherSuite;)Z
            ifne 20
        19: .line 1272
            goto 23
        20: .line 1275
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 22
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 22
        21: .line 1276
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Standard ciphersuite chosen: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* suite */
            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
        22: .line 1278
      StackMap locals:
      StackMap stack:
            return
        end local 5 // sun.security.ssl.CipherSuite suite
        23: .line 1254
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.CipherSuiteList sun.security.ssl.CipherSuiteList java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        24: .line 1281
            aload 4 /* legacySuites */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 30
      StackMap locals:
      StackMap stack:
        25: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.ssl.CipherSuite
            astore 5 /* suite */
        start local 5 // sun.security.ssl.CipherSuite suite
        26: .line 1282
            aload 0 /* this */
            aload 5 /* suite */
            invokevirtual sun.security.ssl.ServerHandshaker.trySetCipherSuite:(Lsun/security/ssl/CipherSuite;)Z
            ifeq 30
        27: .line 1283
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 29
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 29
        28: .line 1284
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Legacy ciphersuite chosen: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* suite */
            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
        29: .line 1286
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.CipherSuiteList sun.security.ssl.CipherSuiteList java.util.List sun.security.ssl.CipherSuite java.util.Iterator
      StackMap stack:
            return
        end local 5 // sun.security.ssl.CipherSuite suite
        30: .line 1281
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.CipherSuiteList sun.security.ssl.CipherSuiteList java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        31: .line 1290
            aload 0 /* this */
            bipush 40
            ldc "no cipher suites in common"
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
        32: .line 1291
            return
        end local 4 // java.util.List legacySuites
        end local 3 // sun.security.ssl.CipherSuiteList proposed
        end local 2 // sun.security.ssl.CipherSuiteList prefered
        end local 1 // sun.security.ssl.HandshakeMessage$ClientHello mesg
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   33     0          this  Lsun/security/ssl/ServerHandshaker;
            0   33     1          mesg  Lsun/security/ssl/HandshakeMessage$ClientHello;
            2    4     2      prefered  Lsun/security/ssl/CipherSuiteList;
            5   33     2      prefered  Lsun/security/ssl/CipherSuiteList;
            3    4     3      proposed  Lsun/security/ssl/CipherSuiteList;
            6   33     3      proposed  Lsun/security/ssl/CipherSuiteList;
            7   33     4  legacySuites  Ljava/util/List<Lsun/security/ssl/CipherSuite;>;
            9   23     5         suite  Lsun/security/ssl/CipherSuite;
           26   30     5         suite  Lsun/security/ssl/CipherSuite;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      mesg  

  boolean trySetCipherSuite(sun.security.ssl.CipherSuite);
    descriptor: (Lsun/security/ssl/CipherSuite;)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // sun.security.ssl.CipherSuite suite
         0: .line 1313
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            ifeq 2
         1: .line 1314
            iconst_1
            ireturn
         2: .line 1317
      StackMap locals:
      StackMap stack:
            aload 1 /* suite */
            invokevirtual sun.security.ssl.CipherSuite.isNegotiable:()Z
            ifne 4
         3: .line 1318
            iconst_0
            ireturn
         4: .line 1322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            aload 1 /* suite */
            invokevirtual sun.security.ssl.ProtocolVersion.obsoletes:(Lsun/security/ssl/CipherSuite;)Z
            ifeq 6
         5: .line 1323
            iconst_0
            ireturn
         6: .line 1327
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            aload 1 /* suite */
            invokevirtual sun.security.ssl.ProtocolVersion.supports:(Lsun/security/ssl/CipherSuite;)Z
            ifne 8
         7: .line 1328
            iconst_0
            ireturn
         8: .line 1331
      StackMap locals:
      StackMap stack:
            aload 1 /* suite */
            getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
            astore 2 /* keyExchange */
        start local 2 // sun.security.ssl.CipherSuite$KeyExchange keyExchange
         9: .line 1334
            aload 0 /* this */
            aconst_null
            putfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
        10: .line 1335
            aload 0 /* this */
            aconst_null
            putfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
        11: .line 1336
            aload 0 /* this */
            aconst_null
            putfield sun.security.ssl.ServerHandshaker.dh:Lsun/security/ssl/DHCrypt;
        12: .line 1337
            aload 0 /* this */
            aconst_null
            putfield sun.security.ssl.ServerHandshaker.tempPrivateKey:Ljava/security/PrivateKey;
        13: .line 1338
            aload 0 /* this */
            aconst_null
            putfield sun.security.ssl.ServerHandshaker.tempPublicKey:Ljava/security/PublicKey;
        14: .line 1340
            aconst_null
            astore 3 /* supportedSignAlgs */
        start local 3 // java.util.Collection supportedSignAlgs
        15: .line 1341
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
            ifeq 43
        16: .line 1342
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.peerSupportedSignAlgs:Ljava/util/Collection;
            ifnull 19
        17: .line 1343
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.peerSupportedSignAlgs:Ljava/util/Collection;
            astore 3 /* supportedSignAlgs */
        18: .line 1344
            goto 43
        19: .line 1345
      StackMap locals: sun.security.ssl.CipherSuite$KeyExchange java.util.Collection
      StackMap stack:
            aconst_null
            astore 4 /* algorithm */
        start local 4 // sun.security.ssl.SignatureAndHashAlgorithm algorithm
        20: .line 1348
            invokestatic sun.security.ssl.ServerHandshaker.$SWITCH_TABLE$sun$security$ssl$CipherSuite$KeyExchange:()[I
            aload 2 /* keyExchange */
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            iaload
            tableswitch { // 2 - 12
                    2: 21
                    3: 32
                    4: 21
                    5: 25
                    6: 25
                    7: 21
                    8: 32
                    9: 29
                   10: 21
                   11: 29
                   12: 21
              default: 32
          }
        21: .line 1359
      StackMap locals: sun.security.ssl.SignatureAndHashAlgorithm
      StackMap stack:
            getstatic sun.security.ssl.SignatureAndHashAlgorithm$HashAlgorithm.SHA1:Lsun/security/ssl/SignatureAndHashAlgorithm$HashAlgorithm;
            getfield sun.security.ssl.SignatureAndHashAlgorithm$HashAlgorithm.value:I
        22: .line 1360
            getstatic sun.security.ssl.SignatureAndHashAlgorithm$SignatureAlgorithm.RSA:Lsun/security/ssl/SignatureAndHashAlgorithm$SignatureAlgorithm;
            getfield sun.security.ssl.SignatureAndHashAlgorithm$SignatureAlgorithm.value:I
            iconst_0
        23: .line 1358
            invokestatic sun.security.ssl.SignatureAndHashAlgorithm.valueOf:(III)Lsun/security/ssl/SignatureAndHashAlgorithm;
            astore 4 /* algorithm */
        24: .line 1361
            goto 32
        25: .line 1368
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.SignatureAndHashAlgorithm$HashAlgorithm.SHA1:Lsun/security/ssl/SignatureAndHashAlgorithm$HashAlgorithm;
            getfield sun.security.ssl.SignatureAndHashAlgorithm$HashAlgorithm.value:I
        26: .line 1369
            getstatic sun.security.ssl.SignatureAndHashAlgorithm$SignatureAlgorithm.DSA:Lsun/security/ssl/SignatureAndHashAlgorithm$SignatureAlgorithm;
            getfield sun.security.ssl.SignatureAndHashAlgorithm$SignatureAlgorithm.value:I
            iconst_0
        27: .line 1367
            invokestatic sun.security.ssl.SignatureAndHashAlgorithm.valueOf:(III)Lsun/security/ssl/SignatureAndHashAlgorithm;
            astore 4 /* algorithm */
        28: .line 1370
            goto 32
        29: .line 1377
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.SignatureAndHashAlgorithm$HashAlgorithm.SHA1:Lsun/security/ssl/SignatureAndHashAlgorithm$HashAlgorithm;
            getfield sun.security.ssl.SignatureAndHashAlgorithm$HashAlgorithm.value:I
        30: .line 1378
            getstatic sun.security.ssl.SignatureAndHashAlgorithm$SignatureAlgorithm.ECDSA:Lsun/security/ssl/SignatureAndHashAlgorithm$SignatureAlgorithm;
            getfield sun.security.ssl.SignatureAndHashAlgorithm$SignatureAlgorithm.value:I
            iconst_0
        31: .line 1376
            invokestatic sun.security.ssl.SignatureAndHashAlgorithm.valueOf:(III)Lsun/security/ssl/SignatureAndHashAlgorithm;
            astore 4 /* algorithm */
        32: .line 1384
      StackMap locals:
      StackMap stack:
            aload 4 /* algorithm */
            ifnonnull 36
        33: .line 1386
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
        34: .line 1385
            astore 3 /* supportedSignAlgs */
        35: .line 1387
            goto 42
        36: .line 1389
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
        37: .line 1388
            astore 3 /* supportedSignAlgs */
        38: .line 1390
            aload 3 /* supportedSignAlgs */
            aload 4 /* algorithm */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        39: .line 1394
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
            aload 3 /* supportedSignAlgs */
        40: .line 1393
            invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getSupportedAlgorithms:(Ljava/security/AlgorithmConstraints;Ljava/util/Collection;)Ljava/util/Collection;
        41: .line 1392
            astore 3 /* supportedSignAlgs */
        42: .line 1402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            aload 3 /* supportedSignAlgs */
            invokevirtual sun.security.ssl.SSLSessionImpl.setPeerSupportedSignatureAlgorithms:(Ljava/util/Collection;)V
        end local 4 // sun.security.ssl.SignatureAndHashAlgorithm algorithm
        43: .line 1407
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* namedGroup */
        start local 4 // sun.security.ssl.NamedGroup namedGroup
        44: .line 1408
            invokestatic sun.security.ssl.ServerHandshaker.$SWITCH_TABLE$sun$security$ssl$CipherSuite$KeyExchange:()[I
            aload 2 /* keyExchange */
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            iaload
            tableswitch { // 2 - 13
                    2: 45
                    3: 47
                    4: 185
                    5: 185
                    6: 105
                    7: 54
                    8: 164
                    9: 160
                   10: 156
                   11: 129
                   12: 78
                   13: 173
              default: 185
          }
        45: .line 1411
      StackMap locals: sun.security.ssl.NamedGroup
      StackMap stack:
            aload 0 /* this */
            ldc "RSA"
            invokevirtual sun.security.ssl.ServerHandshaker.setupPrivateKeyAndChain:(Ljava/lang/String;)Z
            ifne 199
        46: .line 1412
            iconst_0
            ireturn
        47: .line 1417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "RSA"
            invokevirtual sun.security.ssl.ServerHandshaker.setupPrivateKeyAndChain:(Ljava/lang/String;)Z
            ifne 49
        48: .line 1418
            iconst_0
            ireturn
        49: .line 1422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
            iconst_0
            aaload
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokestatic sun.security.ssl.JsseJce.getRSAKeyLength:(Ljava/security/PublicKey;)I
            sipush 512
            if_icmple 199
        50: .line 1423
            aload 0 /* this */
            aload 1 /* suite */
            getfield sun.security.ssl.CipherSuite.exportable:Z
            invokevirtual sun.security.ssl.ServerHandshaker.setupEphemeralRSAKeys:(Z)Z
            ifne 199
        51: .line 1424
            iconst_0
            ireturn
        52: .line 1427
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            pop
        53: .line 1429
            iconst_0
            ireturn
        54: .line 1453
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
            ifne 61
            aload 1 /* suite */
            getfield sun.security.ssl.CipherSuite.exportable:Z
            ifne 61
        55: .line 1454
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
            ifnull 61
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
            invokevirtual sun.security.ssl.SupportedGroupsExtension.hasFFDHEGroup:()Z
            ifeq 61
        56: .line 1456
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
        57: .line 1457
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
            getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_FFDHE:Lsun/security/ssl/NamedGroupType;
        58: .line 1456
            invokevirtual sun.security.ssl.SupportedGroupsExtension.getPreferredGroup:(Ljava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroupType;)Lsun/security/ssl/NamedGroup;
            astore 4 /* namedGroup */
        59: .line 1458
            aload 4 /* namedGroup */
            ifnonnull 61
        60: .line 1460
            iconst_0
            ireturn
        61: .line 1465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "RSA"
            invokevirtual sun.security.ssl.ServerHandshaker.setupPrivateKeyAndChain:(Ljava/lang/String;)Z
            ifne 63
        62: .line 1466
            iconst_0
            ireturn
        63: .line 1470
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
            ifeq 76
        64: .line 1471
            aload 0 /* this */
        65: .line 1473
            aload 3 /* supportedSignAlgs */
            ldc "RSA"
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
        66: .line 1472
            invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getPreferableAlgorithm:(Ljava/util/Collection;Ljava/lang/String;Ljava/security/PrivateKey;)Lsun/security/ssl/SignatureAndHashAlgorithm;
        67: .line 1471
            putfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
        68: .line 1474
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
            ifnonnull 76
        69: .line 1475
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 75
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 75
        70: .line 1476
            getstatic java.lang.System.out:Ljava/io/PrintStream;
        71: .line 1477
            new java.lang.StringBuilder
            dup
            ldc "No signature and hash algorithm for cipher "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        72: .line 1478
            aload 1 /* suite */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        73: .line 1477
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        74: .line 1476
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        75: .line 1480
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        76: .line 1484
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* namedGroup */
            aload 1 /* suite */
            getfield sun.security.ssl.CipherSuite.exportable:Z
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
            invokevirtual sun.security.ssl.ServerHandshaker.setupEphemeralDHKeys:(Lsun/security/ssl/NamedGroup;ZLjava/security/Key;)V
        77: .line 1485
            goto 199
        78: .line 1488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
            ifnull 83
        79: .line 1489
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
        80: .line 1490
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
            getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_ECDHE:Lsun/security/ssl/NamedGroupType;
        81: .line 1489
            invokevirtual sun.security.ssl.SupportedGroupsExtension.getPreferredGroup:(Ljava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroupType;)Lsun/security/ssl/NamedGroup;
        82: .line 1490
            goto 85
        83: .line 1492
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
        84: .line 1491
            invokestatic sun.security.ssl.SupportedGroupsExtension.getPreferredECGroup:(Ljava/security/AlgorithmConstraints;)Lsun/security/ssl/NamedGroup;
        85: .line 1488
      StackMap locals:
      StackMap stack: sun.security.ssl.NamedGroup
            astore 4 /* namedGroup */
        86: .line 1493
            aload 4 /* namedGroup */
            ifnonnull 88
        87: .line 1495
            iconst_0
            ireturn
        88: .line 1499
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "RSA"
            invokevirtual sun.security.ssl.ServerHandshaker.setupPrivateKeyAndChain:(Ljava/lang/String;)Z
            ifne 90
        89: .line 1500
            iconst_0
            ireturn
        90: .line 1504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
            ifeq 103
        91: .line 1505
            aload 0 /* this */
        92: .line 1507
            aload 3 /* supportedSignAlgs */
            ldc "RSA"
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
        93: .line 1506
            invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getPreferableAlgorithm:(Ljava/util/Collection;Ljava/lang/String;Ljava/security/PrivateKey;)Lsun/security/ssl/SignatureAndHashAlgorithm;
        94: .line 1505
            putfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
        95: .line 1508
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
            ifnonnull 103
        96: .line 1509
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 102
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 102
        97: .line 1510
            getstatic java.lang.System.out:Ljava/io/PrintStream;
        98: .line 1511
            new java.lang.StringBuilder
            dup
            ldc "No signature and hash algorithm for cipher "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        99: .line 1512
            aload 1 /* suite */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
       100: .line 1511
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       101: .line 1510
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       102: .line 1514
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
       103: .line 1518
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* namedGroup */
            invokevirtual sun.security.ssl.ServerHandshaker.setupEphemeralECDHKeys:(Lsun/security/ssl/NamedGroup;)V
       104: .line 1519
            goto 199
       105: .line 1524
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
            ifne 112
            aload 1 /* suite */
            getfield sun.security.ssl.CipherSuite.exportable:Z
            ifne 112
       106: .line 1525
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
            ifnull 112
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
            invokevirtual sun.security.ssl.SupportedGroupsExtension.hasFFDHEGroup:()Z
            ifeq 112
       107: .line 1527
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
       108: .line 1528
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
            getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_FFDHE:Lsun/security/ssl/NamedGroupType;
       109: .line 1527
            invokevirtual sun.security.ssl.SupportedGroupsExtension.getPreferredGroup:(Ljava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroupType;)Lsun/security/ssl/NamedGroup;
            astore 4 /* namedGroup */
       110: .line 1529
            aload 4 /* namedGroup */
            ifnonnull 112
       111: .line 1531
            iconst_0
            ireturn
       112: .line 1536
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
            ifeq 125
       113: .line 1537
            aload 0 /* this */
       114: .line 1539
            aload 3 /* supportedSignAlgs */
            ldc "DSA"
       115: .line 1538
            invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getPreferableAlgorithm:(Ljava/util/Collection;Ljava/lang/String;)Lsun/security/ssl/SignatureAndHashAlgorithm;
       116: .line 1537
            putfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
       117: .line 1540
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
            ifnonnull 125
       118: .line 1541
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 124
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 124
       119: .line 1542
            getstatic java.lang.System.out:Ljava/io/PrintStream;
       120: .line 1543
            new java.lang.StringBuilder
            dup
            ldc "No signature and hash algorithm for cipher "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       121: .line 1544
            aload 1 /* suite */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
       122: .line 1543
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       123: .line 1542
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       124: .line 1546
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
       125: .line 1551
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "DSA"
            invokevirtual sun.security.ssl.ServerHandshaker.setupPrivateKeyAndChain:(Ljava/lang/String;)Z
            ifne 127
       126: .line 1552
            iconst_0
            ireturn
       127: .line 1555
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* namedGroup */
            aload 1 /* suite */
            getfield sun.security.ssl.CipherSuite.exportable:Z
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
            invokevirtual sun.security.ssl.ServerHandshaker.setupEphemeralDHKeys:(Lsun/security/ssl/NamedGroup;ZLjava/security/Key;)V
       128: .line 1556
            goto 199
       129: .line 1559
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
            ifnull 134
       130: .line 1560
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
       131: .line 1561
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
            getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_ECDHE:Lsun/security/ssl/NamedGroupType;
       132: .line 1560
            invokevirtual sun.security.ssl.SupportedGroupsExtension.getPreferredGroup:(Ljava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroupType;)Lsun/security/ssl/NamedGroup;
       133: .line 1561
            goto 136
       134: .line 1563
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
       135: .line 1562
            invokestatic sun.security.ssl.SupportedGroupsExtension.getPreferredECGroup:(Ljava/security/AlgorithmConstraints;)Lsun/security/ssl/NamedGroup;
       136: .line 1559
      StackMap locals:
      StackMap stack: sun.security.ssl.NamedGroup
            astore 4 /* namedGroup */
       137: .line 1564
            aload 4 /* namedGroup */
            ifnonnull 139
       138: .line 1566
            iconst_0
            ireturn
       139: .line 1570
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
            ifeq 152
       140: .line 1571
            aload 0 /* this */
       141: .line 1573
            aload 3 /* supportedSignAlgs */
            ldc "ECDSA"
       142: .line 1572
            invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getPreferableAlgorithm:(Ljava/util/Collection;Ljava/lang/String;)Lsun/security/ssl/SignatureAndHashAlgorithm;
       143: .line 1571
            putfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
       144: .line 1574
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
            ifnonnull 152
       145: .line 1575
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 151
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 151
       146: .line 1576
            getstatic java.lang.System.out:Ljava/io/PrintStream;
       147: .line 1577
            new java.lang.StringBuilder
            dup
            ldc "No signature and hash algorithm for cipher "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       148: .line 1578
            aload 1 /* suite */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
       149: .line 1577
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       150: .line 1576
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       151: .line 1580
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
       152: .line 1585
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "EC"
            invokevirtual sun.security.ssl.ServerHandshaker.setupPrivateKeyAndChain:(Ljava/lang/String;)Z
            ifne 154
       153: .line 1586
            iconst_0
            ireturn
       154: .line 1589
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* namedGroup */
            invokevirtual sun.security.ssl.ServerHandshaker.setupEphemeralECDHKeys:(Lsun/security/ssl/NamedGroup;)V
       155: .line 1590
            goto 199
       156: .line 1593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "EC"
            invokevirtual sun.security.ssl.ServerHandshaker.setupPrivateKeyAndChain:(Ljava/lang/String;)Z
            ifne 158
       157: .line 1594
            iconst_0
            ireturn
       158: .line 1596
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.ssl.ServerHandshaker.setupStaticECDHKeys:()V
       159: .line 1597
            goto 199
       160: .line 1600
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "EC"
            invokevirtual sun.security.ssl.ServerHandshaker.setupPrivateKeyAndChain:(Ljava/lang/String;)Z
            ifne 162
       161: .line 1601
            iconst_0
            ireturn
       162: .line 1603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.ssl.ServerHandshaker.setupStaticECDHKeys:()V
       163: .line 1604
            goto 199
       164: .line 1609
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
            ifne 171
            aload 1 /* suite */
            getfield sun.security.ssl.CipherSuite.exportable:Z
            ifne 171
       165: .line 1610
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
            ifnull 171
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
            invokevirtual sun.security.ssl.SupportedGroupsExtension.hasFFDHEGroup:()Z
            ifeq 171
       166: .line 1611
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
       167: .line 1612
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
            getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_FFDHE:Lsun/security/ssl/NamedGroupType;
       168: .line 1611
            invokevirtual sun.security.ssl.SupportedGroupsExtension.getPreferredGroup:(Ljava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroupType;)Lsun/security/ssl/NamedGroup;
            astore 4 /* namedGroup */
       169: .line 1613
            aload 4 /* namedGroup */
            ifnonnull 171
       170: .line 1615
            iconst_0
            ireturn
       171: .line 1620
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* namedGroup */
            aload 1 /* suite */
            getfield sun.security.ssl.CipherSuite.exportable:Z
            aconst_null
            invokevirtual sun.security.ssl.ServerHandshaker.setupEphemeralDHKeys:(Lsun/security/ssl/NamedGroup;ZLjava/security/Key;)V
       172: .line 1621
            goto 199
       173: .line 1624
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
            ifnull 178
       174: .line 1625
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
       175: .line 1626
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
            getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_ECDHE:Lsun/security/ssl/NamedGroupType;
       176: .line 1625
            invokevirtual sun.security.ssl.SupportedGroupsExtension.getPreferredGroup:(Ljava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroupType;)Lsun/security/ssl/NamedGroup;
       177: .line 1626
            goto 180
       178: .line 1628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
       179: .line 1627
            invokestatic sun.security.ssl.SupportedGroupsExtension.getPreferredECGroup:(Ljava/security/AlgorithmConstraints;)Lsun/security/ssl/NamedGroup;
       180: .line 1624
      StackMap locals:
      StackMap stack: sun.security.ssl.NamedGroup
            astore 4 /* namedGroup */
       181: .line 1629
            aload 4 /* namedGroup */
            ifnonnull 183
       182: .line 1631
            iconst_0
            ireturn
       183: .line 1635
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* namedGroup */
            invokevirtual sun.security.ssl.ServerHandshaker.setupEphemeralECDHKeys:(Lsun/security/ssl/NamedGroup;)V
       184: .line 1636
            goto 199
       185: .line 1639
      StackMap locals:
      StackMap stack:
            aload 2 /* keyExchange */
            getfield sun.security.ssl.CipherSuite$KeyExchange.name:Ljava/lang/String;
            invokestatic sun.security.ssl.ClientKeyExchangeService.find:(Ljava/lang/String;)Lsun/security/ssl/ClientKeyExchangeService;
       186: .line 1638
            astore 5 /* p */
        start local 5 // sun.security.ssl.ClientKeyExchangeService p
       187: .line 1640
            aload 5 /* p */
            ifnonnull 191
       188: .line 1642
            new java.lang.RuntimeException
            dup
       189: .line 1643
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized cipherSuite: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* suite */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       190: .line 1642
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
       191: .line 1646
      StackMap locals: sun.security.ssl.ClientKeyExchangeService
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.serviceCreds:Ljava/lang/Object;
            ifnonnull 199
       192: .line 1647
            aload 0 /* this */
            invokevirtual sun.security.ssl.ServerHandshaker.getAccSE:()Ljava/security/AccessControlContext;
            astore 6 /* acc */
        start local 6 // java.security.AccessControlContext acc
       193: .line 1648
            aload 0 /* this */
            aload 5 /* p */
            aload 6 /* acc */
            invokeinterface sun.security.ssl.ClientKeyExchangeService.getServiceCreds:(Ljava/security/AccessControlContext;)Ljava/lang/Object;
            putfield sun.security.ssl.ServerHandshaker.serviceCreds:Ljava/lang/Object;
       194: .line 1649
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.serviceCreds:Ljava/lang/Object;
            ifnull 197
       195: .line 1650
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 197
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 197
       196: .line 1651
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Using serviceCreds"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       197: .line 1654
      StackMap locals: java.security.AccessControlContext
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.serviceCreds:Ljava/lang/Object;
            ifnonnull 199
       198: .line 1655
            iconst_0
            ireturn
        end local 6 // java.security.AccessControlContext acc
        end local 5 // sun.security.ssl.ClientKeyExchangeService p
       199: .line 1660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* suite */
            invokevirtual sun.security.ssl.ServerHandshaker.setCipherSuite:(Lsun/security/ssl/CipherSuite;)V
       200: .line 1663
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
            ifeq 203
       201: .line 1664
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.peerSupportedSignAlgs:Ljava/util/Collection;
            ifnonnull 203
       202: .line 1665
            aload 0 /* this */
            aload 3 /* supportedSignAlgs */
            invokevirtual sun.security.ssl.ServerHandshaker.setPeerSupportedSignAlgs:(Ljava/util/Collection;)V
       203: .line 1669
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // sun.security.ssl.NamedGroup namedGroup
        end local 3 // java.util.Collection supportedSignAlgs
        end local 2 // sun.security.ssl.CipherSuite$KeyExchange keyExchange
        end local 1 // sun.security.ssl.CipherSuite suite
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0  204     0               this  Lsun/security/ssl/ServerHandshaker;
            0  204     1              suite  Lsun/security/ssl/CipherSuite;
            9  204     2        keyExchange  Lsun/security/ssl/CipherSuite$KeyExchange;
           15  204     3  supportedSignAlgs  Ljava/util/Collection<Lsun/security/ssl/SignatureAndHashAlgorithm;>;
           20   43     4          algorithm  Lsun/security/ssl/SignatureAndHashAlgorithm;
           44  204     4         namedGroup  Lsun/security/ssl/NamedGroup;
          187  199     5                  p  Lsun/security/ssl/ClientKeyExchangeService;
          193  199     6                acc  Ljava/security/AccessControlContext;
      Exception table:
        from    to  target  type
          49    51      52  Class java.lang.RuntimeException
    MethodParameters:
       Name  Flags
      suite  

  private boolean setupEphemeralRSAKeys(boolean);
    descriptor: (Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // boolean export
         0: .line 1682
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getEphemeralKeyManager:()Lsun/security/ssl/EphemeralKeyManager;
         1: .line 1683
            iload 1 /* export */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
            invokevirtual sun.security.ssl.EphemeralKeyManager.getRSAKeyPair:(ZLjava/security/SecureRandom;)Ljava/security/KeyPair;
         2: .line 1682
            astore 2 /* kp */
        start local 2 // java.security.KeyPair kp
         3: .line 1684
            aload 2 /* kp */
            ifnonnull 5
         4: .line 1685
            iconst_0
            ireturn
         5: .line 1687
      StackMap locals: java.security.KeyPair
      StackMap stack:
            aload 0 /* this */
            aload 2 /* kp */
            invokevirtual java.security.KeyPair.getPublic:()Ljava/security/PublicKey;
            putfield sun.security.ssl.ServerHandshaker.tempPublicKey:Ljava/security/PublicKey;
         6: .line 1688
            aload 0 /* this */
            aload 2 /* kp */
            invokevirtual java.security.KeyPair.getPrivate:()Ljava/security/PrivateKey;
            putfield sun.security.ssl.ServerHandshaker.tempPrivateKey:Ljava/security/PrivateKey;
         7: .line 1689
            iconst_1
            ireturn
        end local 2 // java.security.KeyPair kp
        end local 1 // boolean export
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lsun/security/ssl/ServerHandshaker;
            0    8     1  export  Z
            3    8     2      kp  Ljava/security/KeyPair;
    MethodParameters:
        Name  Flags
      export  

  private void setupEphemeralDHKeys(sun.security.ssl.NamedGroup, boolean, java.security.Key);
    descriptor: (Lsun/security/ssl/NamedGroup;ZLjava/security/Key;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // sun.security.ssl.NamedGroup namedGroup
        start local 2 // boolean export
        start local 3 // java.security.Key key
         0: .line 1700
            getstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
            ifne 3
            iload 2 /* export */
            ifne 3
            aload 1 /* namedGroup */
            ifnull 3
         1: .line 1701
            aload 0 /* this */
            new sun.security.ssl.DHCrypt
            dup
            aload 1 /* namedGroup */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
            invokespecial sun.security.ssl.DHCrypt.<init>:(Lsun/security/ssl/NamedGroup;Ljava/security/SecureRandom;)V
            putfield sun.security.ssl.ServerHandshaker.dh:Lsun/security/ssl/DHCrypt;
         2: .line 1703
            return
         3: .line 1744
      StackMap locals:
      StackMap stack:
            iload 2 /* export */
            ifeq 4
            sipush 512
            goto 5
      StackMap locals:
      StackMap stack:
         4: sipush 1024
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* keySize */
        start local 4 // int keySize
         6: .line 1745
            iload 2 /* export */
            ifne 19
         7: .line 1746
            getstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
            ifeq 10
         8: .line 1747
            sipush 768
            istore 4 /* keySize */
         9: .line 1748
            goto 19
      StackMap locals: int
      StackMap stack:
        10: getstatic sun.security.ssl.ServerHandshaker.useSmartEphemeralDHKeys:Z
            ifeq 17
        11: .line 1749
            aload 3 /* key */
            ifnull 19
        12: .line 1750
            aload 3 /* key */
            invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
            istore 5 /* ks */
        start local 5 // int ks
        13: .line 1764
            iload 5 /* ks */
            sipush 1024
            if_icmpgt 14
            sipush 1024
            goto 15
      StackMap locals: int
      StackMap stack:
        14: sipush 2048
      StackMap locals:
      StackMap stack: int
        15: istore 4 /* keySize */
        end local 5 // int ks
        16: .line 1766
            goto 19
      StackMap locals:
      StackMap stack:
        17: getstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
            ifle 19
        18: .line 1767
            getstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
            istore 4 /* keySize */
        19: .line 1771
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new sun.security.ssl.DHCrypt
            dup
            iload 4 /* keySize */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
            invokespecial sun.security.ssl.DHCrypt.<init>:(ILjava/security/SecureRandom;)V
            putfield sun.security.ssl.ServerHandshaker.dh:Lsun/security/ssl/DHCrypt;
        20: .line 1772
            return
        end local 4 // int keySize
        end local 3 // java.security.Key key
        end local 2 // boolean export
        end local 1 // sun.security.ssl.NamedGroup namedGroup
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lsun/security/ssl/ServerHandshaker;
            0   21     1  namedGroup  Lsun/security/ssl/NamedGroup;
            0   21     2      export  Z
            0   21     3         key  Ljava/security/Key;
            6   21     4     keySize  I
           13   16     5          ks  I
    MethodParameters:
            Name  Flags
      namedGroup  
      export      
      key         

  private void setupEphemeralECDHKeys(sun.security.ssl.NamedGroup);
    descriptor: (Lsun/security/ssl/NamedGroup;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // sun.security.ssl.NamedGroup namedGroup
         0: .line 1778
            aload 0 /* this */
            new sun.security.ssl.ECDHCrypt
            dup
            aload 1 /* namedGroup */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
            invokespecial sun.security.ssl.ECDHCrypt.<init>:(Lsun/security/ssl/NamedGroup;Ljava/security/SecureRandom;)V
            putfield sun.security.ssl.ServerHandshaker.ecdh:Lsun/security/ssl/ECDHCrypt;
         1: .line 1779
            return
        end local 1 // sun.security.ssl.NamedGroup namedGroup
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lsun/security/ssl/ServerHandshaker;
            0    2     1  namedGroup  Lsun/security/ssl/NamedGroup;
    MethodParameters:
            Name  Flags
      namedGroup  

  private void setupStaticECDHKeys();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // sun.security.ssl.ServerHandshaker this
         0: .line 1784
            aload 0 /* this */
            new sun.security.ssl.ECDHCrypt
            dup
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
            iconst_0
            aaload
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokespecial sun.security.ssl.ECDHCrypt.<init>:(Ljava/security/PrivateKey;Ljava/security/PublicKey;)V
            putfield sun.security.ssl.ServerHandshaker.ecdh:Lsun/security/ssl/ECDHCrypt;
         1: .line 1785
            return
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/ssl/ServerHandshaker;

  private boolean setupPrivateKeyAndChain(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // java.lang.String algorithm
         0: .line 1794
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getX509KeyManager:()Ljavax/net/ssl/X509ExtendedKeyManager;
            astore 2 /* km */
        start local 2 // javax.net.ssl.X509ExtendedKeyManager km
         1: .line 1796
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.conn:Lsun/security/ssl/SSLSocketImpl;
            ifnull 4
         2: .line 1797
            aload 2 /* km */
            aload 1 /* algorithm */
            aconst_null
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.conn:Lsun/security/ssl/SSLSocketImpl;
            invokevirtual javax.net.ssl.X509ExtendedKeyManager.chooseServerAlias:(Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;
            astore 3 /* alias */
        start local 3 // java.lang.String alias
         3: .line 1798
            goto 5
        end local 3 // java.lang.String alias
         4: .line 1799
      StackMap locals: javax.net.ssl.X509ExtendedKeyManager
      StackMap stack:
            aload 2 /* km */
            aload 1 /* algorithm */
            aconst_null
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.engine:Lsun/security/ssl/SSLEngineImpl;
            invokevirtual javax.net.ssl.X509ExtendedKeyManager.chooseEngineServerAlias:(Ljava/lang/String;[Ljava/security/Principal;Ljavax/net/ssl/SSLEngine;)Ljava/lang/String;
            astore 3 /* alias */
        start local 3 // java.lang.String alias
         5: .line 1801
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* alias */
            ifnonnull 7
         6: .line 1802
            iconst_0
            ireturn
         7: .line 1804
      StackMap locals:
      StackMap stack:
            aload 2 /* km */
            aload 3 /* alias */
            invokevirtual javax.net.ssl.X509ExtendedKeyManager.getPrivateKey:(Ljava/lang/String;)Ljava/security/PrivateKey;
            astore 4 /* tempPrivateKey */
        start local 4 // java.security.PrivateKey tempPrivateKey
         8: .line 1805
            aload 4 /* tempPrivateKey */
            ifnonnull 10
         9: .line 1806
            iconst_0
            ireturn
        10: .line 1808
      StackMap locals: java.security.PrivateKey
      StackMap stack:
            aload 2 /* km */
            aload 3 /* alias */
            invokevirtual javax.net.ssl.X509ExtendedKeyManager.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/X509Certificate;
            astore 5 /* tempCerts */
        start local 5 // java.security.cert.X509Certificate[] tempCerts
        11: .line 1809
            aload 5 /* tempCerts */
            ifnull 12
            aload 5 /* tempCerts */
            arraylength
            ifne 13
        12: .line 1810
      StackMap locals: java.security.cert.X509Certificate[]
      StackMap stack:
            iconst_0
            ireturn
        13: .line 1812
      StackMap locals:
      StackMap stack:
            aload 1 /* algorithm */
            ldc "_"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            iconst_0
            aaload
            astore 6 /* keyAlgorithm */
        start local 6 // java.lang.String keyAlgorithm
        14: .line 1813
            aload 5 /* tempCerts */
            iconst_0
            aaload
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 7 /* publicKey */
        start local 7 // java.security.PublicKey publicKey
        15: .line 1814
            aload 4 /* tempPrivateKey */
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            aload 6 /* keyAlgorithm */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 1815
            aload 7 /* publicKey */
            invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
            aload 6 /* keyAlgorithm */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
        17: .line 1816
      StackMap locals: java.lang.String java.security.PublicKey
      StackMap stack:
            iconst_0
            ireturn
        18: .line 1821
      StackMap locals:
      StackMap stack:
            aload 6 /* keyAlgorithm */
            ldc "EC"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        19: .line 1822
            aload 7 /* publicKey */
            instanceof java.security.interfaces.ECPublicKey
            ifne 21
        20: .line 1823
            iconst_0
            ireturn
        21: .line 1825
      StackMap locals:
      StackMap stack:
            aload 7 /* publicKey */
            checkcast java.security.interfaces.ECPublicKey
            invokeinterface java.security.interfaces.ECPublicKey.getParams:()Ljava/security/spec/ECParameterSpec;
            astore 8 /* params */
        start local 8 // java.security.spec.ECParameterSpec params
        22: .line 1826
            aload 8 /* params */
            invokestatic sun.security.ssl.NamedGroup.valueOf:(Ljava/security/spec/ECParameterSpec;)Lsun/security/ssl/NamedGroup;
            astore 9 /* namedGroup */
        start local 9 // sun.security.ssl.NamedGroup namedGroup
        23: .line 1827
            aload 9 /* namedGroup */
            ifnull 27
        24: .line 1828
            aload 9 /* namedGroup */
            invokestatic sun.security.ssl.SupportedGroupsExtension.supports:(Lsun/security/ssl/NamedGroup;)Z
            ifeq 27
        25: .line 1829
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
            ifnull 28
        26: .line 1830
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
            aload 9 /* namedGroup */
            getfield sun.security.ssl.NamedGroup.id:I
            invokevirtual sun.security.ssl.SupportedGroupsExtension.contains:(I)Z
            ifne 28
        27: .line 1831
      StackMap locals: java.security.spec.ECParameterSpec sun.security.ssl.NamedGroup
      StackMap stack:
            iconst_0
            ireturn
        end local 9 // sun.security.ssl.NamedGroup namedGroup
        end local 8 // java.security.spec.ECParameterSpec params
        28: .line 1834
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* tempPrivateKey */
            putfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
        29: .line 1835
            aload 0 /* this */
            aload 5 /* tempCerts */
            putfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
        30: .line 1836
            iconst_1
            ireturn
        end local 7 // java.security.PublicKey publicKey
        end local 6 // java.lang.String keyAlgorithm
        end local 5 // java.security.cert.X509Certificate[] tempCerts
        end local 4 // java.security.PrivateKey tempPrivateKey
        end local 3 // java.lang.String alias
        end local 2 // javax.net.ssl.X509ExtendedKeyManager km
        end local 1 // java.lang.String algorithm
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   31     0            this  Lsun/security/ssl/ServerHandshaker;
            0   31     1       algorithm  Ljava/lang/String;
            1   31     2              km  Ljavax/net/ssl/X509ExtendedKeyManager;
            3    4     3           alias  Ljava/lang/String;
            5   31     3           alias  Ljava/lang/String;
            8   31     4  tempPrivateKey  Ljava/security/PrivateKey;
           11   31     5       tempCerts  [Ljava/security/cert/X509Certificate;
           14   31     6    keyAlgorithm  Ljava/lang/String;
           15   31     7       publicKey  Ljava/security/PublicKey;
           22   28     8          params  Ljava/security/spec/ECParameterSpec;
           23   28     9      namedGroup  Lsun/security/ssl/NamedGroup;
    MethodParameters:
           Name  Flags
      algorithm  

  private javax.crypto.SecretKey clientKeyExchange(sun.security.ssl.ClientKeyExchange);
    descriptor: (Lsun/security/ssl/ClientKeyExchange;)Ljavax/crypto/SecretKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // sun.security.ssl.ClientKeyExchange mesg
         0: .line 1845
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 2
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1846
            aload 1 /* mesg */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.ssl.ClientKeyExchange.print:(Ljava/io/PrintStream;)V
         2: .line 1850
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            aload 1 /* mesg */
            invokevirtual sun.security.ssl.ClientKeyExchange.getPeerPrincipal:()Ljava/security/Principal;
            invokevirtual sun.security.ssl.SSLSessionImpl.setPeerPrincipal:(Ljava/security/Principal;)V
         3: .line 1851
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            aload 1 /* mesg */
            invokevirtual sun.security.ssl.ClientKeyExchange.getLocalPrincipal:()Ljava/security/Principal;
            invokevirtual sun.security.ssl.SSLSessionImpl.setLocalPrincipal:(Ljava/security/Principal;)V
         4: .line 1853
            aload 1 /* mesg */
            invokevirtual sun.security.ssl.ClientKeyExchange.clientKeyExchange:()Ljavax/crypto/SecretKey;
            areturn
        end local 1 // sun.security.ssl.ClientKeyExchange mesg
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/ssl/ServerHandshaker;
            0    5     1  mesg  Lsun/security/ssl/ClientKeyExchange;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      mesg  

  private javax.crypto.SecretKey clientKeyExchange(sun.security.ssl.DHClientKeyExchange);
    descriptor: (Lsun/security/ssl/DHClientKeyExchange;)Ljavax/crypto/SecretKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // sun.security.ssl.DHClientKeyExchange mesg
         0: .line 1873
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 2
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1874
            aload 1 /* mesg */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.ssl.DHClientKeyExchange.print:(Ljava/io/PrintStream;)V
         2: .line 1877
      StackMap locals:
      StackMap stack:
            aload 1 /* mesg */
            invokevirtual sun.security.ssl.DHClientKeyExchange.getClientPublicKey:()Ljava/math/BigInteger;
            astore 2 /* publicKeyValue */
        start local 2 // java.math.BigInteger publicKeyValue
         3: .line 1880
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.dh:Lsun/security/ssl/DHCrypt;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
            aload 2 /* publicKeyValue */
            invokevirtual sun.security.ssl.DHCrypt.checkConstraints:(Ljava/security/AlgorithmConstraints;Ljava/math/BigInteger;)V
         4: .line 1882
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.dh:Lsun/security/ssl/DHCrypt;
            aload 2 /* publicKeyValue */
            iconst_0
            invokevirtual sun.security.ssl.DHCrypt.getAgreedSecret:(Ljava/math/BigInteger;Z)Ljavax/crypto/SecretKey;
            areturn
        end local 2 // java.math.BigInteger publicKeyValue
        end local 1 // sun.security.ssl.DHClientKeyExchange mesg
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lsun/security/ssl/ServerHandshaker;
            0    5     1            mesg  Lsun/security/ssl/DHClientKeyExchange;
            3    5     2  publicKeyValue  Ljava/math/BigInteger;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      mesg  

  private javax.crypto.SecretKey clientKeyExchange(sun.security.ssl.ECDHClientKeyExchange);
    descriptor: (Lsun/security/ssl/ECDHClientKeyExchange;)Ljavax/crypto/SecretKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // sun.security.ssl.ECDHClientKeyExchange mesg
         0: .line 1888
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 2
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1889
            aload 1 /* mesg */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.ssl.ECDHClientKeyExchange.print:(Ljava/io/PrintStream;)V
         2: .line 1892
      StackMap locals:
      StackMap stack:
            aload 1 /* mesg */
            invokevirtual sun.security.ssl.ECDHClientKeyExchange.getEncodedPoint:()[B
            astore 2 /* publicPoint */
        start local 2 // byte[] publicPoint
         3: .line 1895
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.ecdh:Lsun/security/ssl/ECDHCrypt;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
            aload 2 /* publicPoint */
            invokevirtual sun.security.ssl.ECDHCrypt.checkConstraints:(Ljava/security/AlgorithmConstraints;[B)V
         4: .line 1897
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.ecdh:Lsun/security/ssl/ECDHCrypt;
            aload 2 /* publicPoint */
            invokevirtual sun.security.ssl.ECDHCrypt.getAgreedSecret:([B)Ljavax/crypto/SecretKey;
            areturn
        end local 2 // byte[] publicPoint
        end local 1 // sun.security.ssl.ECDHClientKeyExchange mesg
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lsun/security/ssl/ServerHandshaker;
            0    5     1         mesg  Lsun/security/ssl/ECDHClientKeyExchange;
            3    5     2  publicPoint  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      mesg  

  private void clientCertificateVerify(sun.security.ssl.HandshakeMessage$CertificateVerify);
    descriptor: (Lsun/security/ssl/HandshakeMessage$CertificateVerify;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // sun.security.ssl.HandshakeMessage$CertificateVerify mesg
         0: .line 1912
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 2
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1913
            aload 1 /* mesg */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.ssl.HandshakeMessage$CertificateVerify.print:(Ljava/io/PrintStream;)V
         2: .line 1916
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
            ifeq 15
         3: .line 1918
            aload 1 /* mesg */
            invokevirtual sun.security.ssl.HandshakeMessage$CertificateVerify.getPreferableSignatureAlgorithm:()Lsun/security/ssl/SignatureAndHashAlgorithm;
         4: .line 1917
            astore 2 /* signAlg */
        start local 2 // sun.security.ssl.SignatureAndHashAlgorithm signAlg
         5: .line 1919
            aload 2 /* signAlg */
            ifnonnull 9
         6: .line 1920
            new javax.net.ssl.SSLHandshakeException
            dup
         7: .line 1921
            ldc "Illegal CertificateVerify message"
         8: .line 1920
            invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1925
      StackMap locals: sun.security.ssl.SignatureAndHashAlgorithm
      StackMap stack:
            aload 2 /* signAlg */
            invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getHashAlgorithmName:(Lsun/security/ssl/SignatureAndHashAlgorithm;)Ljava/lang/String;
        10: .line 1924
            astore 3 /* hashAlg */
        start local 3 // java.lang.String hashAlg
        11: .line 1926
            aload 3 /* hashAlg */
            ifnull 12
            aload 3 /* hashAlg */
            invokevirtual java.lang.String.length:()I
            ifne 15
        12: .line 1927
      StackMap locals: java.lang.String
      StackMap stack:
            new javax.net.ssl.SSLHandshakeException
            dup
        13: .line 1928
            ldc "No supported hash algorithm"
        14: .line 1927
            invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String hashAlg
        end local 2 // sun.security.ssl.SignatureAndHashAlgorithm signAlg
        15: .line 1934
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.getPeerCertificates:()[Ljava/security/cert/Certificate;
            iconst_0
            aaload
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
        16: .line 1933
            astore 2 /* publicKey */
        start local 2 // java.security.PublicKey publicKey
        17: .line 1936
            aload 1 /* mesg */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeHash:Lsun/security/ssl/HandshakeHash;
        18: .line 1937
            aload 2 /* publicKey */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.getMasterSecret:()Ljavax/crypto/SecretKey;
        19: .line 1936
            invokevirtual sun.security.ssl.HandshakeMessage$CertificateVerify.verify:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/HandshakeHash;Ljava/security/PublicKey;Ljavax/crypto/SecretKey;)Z
            istore 3 /* valid */
        start local 3 // boolean valid
        20: .line 1938
            iload 3 /* valid */
            ifne 29
        21: .line 1939
            aload 0 /* this */
            bipush 42
        22: .line 1940
            ldc "certificate verify message signature error"
        23: .line 1939
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
        end local 3 // boolean valid
        end local 2 // java.security.PublicKey publicKey
        24: .line 1942
            goto 29
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
        25: astore 2 /* e */
        start local 2 // java.security.GeneralSecurityException e
        26: .line 1943
            aload 0 /* this */
            bipush 42
        27: .line 1944
            ldc "certificate verify format error"
            aload 2 /* e */
        28: .line 1943
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;Ljava/lang/Throwable;)V
        end local 2 // java.security.GeneralSecurityException e
        29: .line 1948
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.security.ssl.ServerHandshaker.needClientVerify:Z
        30: .line 1949
            return
        end local 1 // sun.security.ssl.HandshakeMessage$CertificateVerify mesg
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   31     0       this  Lsun/security/ssl/ServerHandshaker;
            0   31     1       mesg  Lsun/security/ssl/HandshakeMessage$CertificateVerify;
            5   15     2    signAlg  Lsun/security/ssl/SignatureAndHashAlgorithm;
           11   15     3    hashAlg  Ljava/lang/String;
           17   24     2  publicKey  Ljava/security/PublicKey;
           20   24     3      valid  Z
           26   29     2          e  Ljava/security/GeneralSecurityException;
      Exception table:
        from    to  target  type
          15    24      25  Class java.security.GeneralSecurityException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      mesg  

  private void clientFinished(sun.security.ssl.HandshakeMessage$Finished);
    descriptor: (Lsun/security/ssl/HandshakeMessage$Finished;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // sun.security.ssl.HandshakeMessage$Finished mesg
         0: .line 1960
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 2
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1961
            aload 1 /* mesg */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.ssl.HandshakeMessage$Finished.print:(Ljava/io/PrintStream;)V
         2: .line 1968
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
            getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUIRED:Lsun/security/ssl/ClientAuthType;
            if_acmpne 4
         3: .line 1971
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.getPeerPrincipal:()Ljava/security/Principal;
            pop
         4: .line 1978
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.needClientVerify:Z
            ifeq 8
         5: .line 1979
            aload 0 /* this */
            bipush 40
         6: .line 1980
            ldc "client did not send certificate verify message"
         7: .line 1979
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
         8: .line 1987
      StackMap locals:
      StackMap stack:
            aload 1 /* mesg */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeHash:Lsun/security/ssl/HandshakeHash;
            iconst_1
         9: .line 1988
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.getMasterSecret:()Ljavax/crypto/SecretKey;
        10: .line 1987
            invokevirtual sun.security.ssl.HandshakeMessage$Finished.verify:(Lsun/security/ssl/HandshakeHash;ILjavax/crypto/SecretKey;)Z
            istore 2 /* verified */
        start local 2 // boolean verified
        11: .line 1990
            iload 2 /* verified */
            ifne 15
        12: .line 1991
            aload 0 /* this */
            bipush 40
        13: .line 1992
            ldc "client 'finished' message doesn't verify"
        14: .line 1991
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
        15: .line 1999
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
            ifeq 17
        16: .line 2000
            aload 0 /* this */
            aload 1 /* mesg */
            invokevirtual sun.security.ssl.HandshakeMessage$Finished.getVerifyData:()[B
            putfield sun.security.ssl.ServerHandshaker.clientVerifyData:[B
        17: .line 2008
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            ifne 20
        18: .line 2009
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.ssl.ServerHandshaker.sendChangeCipherAndFinish:(Z)V
        19: .line 2010
            goto 21
        20: .line 2011
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.ServerHandshaker.handshakeFinished:Z
        21: .line 2018
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual sun.security.ssl.SSLSessionImpl.setLastAccessedTime:(J)V
        22: .line 2019
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            ifne 30
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.isRejoinable:()Z
            ifeq 30
        23: .line 2020
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.engineGetServerSessionContext:()Ljavax/net/ssl/SSLSessionContext;
            checkcast sun.security.ssl.SSLSessionContextImpl
        24: .line 2021
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionContextImpl.put:(Lsun/security/ssl/SSLSessionImpl;)V
        25: .line 2022
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 37
            ldc "session"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 37
        26: .line 2023
            getstatic java.lang.System.out:Ljava/io/PrintStream;
        27: .line 2024
            new java.lang.StringBuilder
            dup
            ldc "%% Cached server session: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 2023
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        29: .line 2026
            goto 37
      StackMap locals:
      StackMap stack:
        30: aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            ifne 37
        31: .line 2027
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 37
            ldc "session"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 37
        32: .line 2028
            getstatic java.lang.System.out:Ljava/io/PrintStream;
        33: .line 2029
            new java.lang.StringBuilder
            dup
            ldc "%% Didn't cache non-resumable server session: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        34: .line 2030
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        35: .line 2029
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        36: .line 2028
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        37: .line 2032
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean verified
        end local 1 // sun.security.ssl.HandshakeMessage$Finished mesg
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   38     0      this  Lsun/security/ssl/ServerHandshaker;
            0   38     1      mesg  Lsun/security/ssl/HandshakeMessage$Finished;
           11   38     2  verified  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      mesg  

  private void sendChangeCipherAndFinish(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // boolean finishedTag
         0: .line 2042
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeHash:Lsun/security/ssl/HandshakeHash;
            invokevirtual sun.security.ssl.HandshakeHash.reload:()V
         1: .line 2044
            new sun.security.ssl.HandshakeMessage$Finished
            dup
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.handshakeHash:Lsun/security/ssl/HandshakeHash;
         2: .line 2045
            iconst_2
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            invokevirtual sun.security.ssl.SSLSessionImpl.getMasterSecret:()Ljavax/crypto/SecretKey;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.cipherSuite:Lsun/security/ssl/CipherSuite;
         3: .line 2044
            invokespecial sun.security.ssl.HandshakeMessage$Finished.<init>:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/HandshakeHash;ILjavax/crypto/SecretKey;Lsun/security/ssl/CipherSuite;)V
            astore 2 /* mesg */
        start local 2 // sun.security.ssl.HandshakeMessage$Finished mesg
         4: .line 2052
            aload 0 /* this */
            aload 2 /* mesg */
            iload 1 /* finishedTag */
            invokevirtual sun.security.ssl.ServerHandshaker.sendChangeCipherSpec:(Lsun/security/ssl/HandshakeMessage$Finished;Z)V
         5: .line 2057
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
            ifeq 7
         6: .line 2058
            aload 0 /* this */
            aload 2 /* mesg */
            invokevirtual sun.security.ssl.HandshakeMessage$Finished.getVerifyData:()[B
            putfield sun.security.ssl.ServerHandshaker.serverVerifyData:[B
         7: .line 2060
      StackMap locals: sun.security.ssl.HandshakeMessage$Finished
      StackMap stack:
            return
        end local 2 // sun.security.ssl.HandshakeMessage$Finished mesg
        end local 1 // boolean finishedTag
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lsun/security/ssl/ServerHandshaker;
            0    8     1  finishedTag  Z
            4    8     2         mesg  Lsun/security/ssl/HandshakeMessage$Finished;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      finishedTag  

  sun.security.ssl.HandshakeMessage getKickstartMessage();
    descriptor: ()Lsun/security/ssl/HandshakeMessage;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.ssl.ServerHandshaker this
         0: .line 2068
            new sun.security.ssl.HandshakeMessage$HelloRequest
            dup
            invokespecial sun.security.ssl.HandshakeMessage$HelloRequest.<init>:()V
            areturn
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/ssl/ServerHandshaker;

  void handshakeAlert(byte);
    descriptor: (B)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // byte description
         0: .line 2078
            iload 1 /* description */
            invokestatic sun.security.ssl.Alerts.alertDescription:(B)Ljava/lang/String;
            astore 2 /* message */
        start local 2 // java.lang.String message
         1: .line 2080
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 5
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 5
         2: .line 2081
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "SSL -- handshake alert:  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 2082
            aload 2 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 2081
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 2093
      StackMap locals: java.lang.String
      StackMap stack:
            iload 1 /* description */
            bipush 41
            if_icmpne 8
         6: .line 2094
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
            getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUESTED:Lsun/security/ssl/ClientAuthType;
            if_acmpne 8
         7: .line 2095
            return
         8: .line 2098
      StackMap locals:
      StackMap stack:
            new javax.net.ssl.SSLProtocolException
            dup
            new java.lang.StringBuilder
            dup
            ldc "handshake alert: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String message
        end local 1 // byte description
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lsun/security/ssl/ServerHandshaker;
            0    9     1  description  B
            1    9     2      message  Ljava/lang/String;
    Exceptions:
      throws javax.net.ssl.SSLProtocolException
    MethodParameters:
             Name  Flags
      description  

  private javax.crypto.SecretKey clientKeyExchange(sun.security.ssl.RSAClientKeyExchange);
    descriptor: (Lsun/security/ssl/RSAClientKeyExchange;)Ljavax/crypto/SecretKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // sun.security.ssl.RSAClientKeyExchange mesg
         0: .line 2110
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 2
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 2111
            aload 1 /* mesg */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.ssl.RSAClientKeyExchange.print:(Ljava/io/PrintStream;)V
         2: .line 2113
      StackMap locals:
      StackMap stack:
            aload 1 /* mesg */
            getfield sun.security.ssl.RSAClientKeyExchange.preMaster:Ljavax/crypto/SecretKey;
            areturn
        end local 1 // sun.security.ssl.RSAClientKeyExchange mesg
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/ssl/ServerHandshaker;
            0    3     1  mesg  Lsun/security/ssl/RSAClientKeyExchange;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      mesg  

  private void clientCertificate(sun.security.ssl.HandshakeMessage$CertificateMsg);
    descriptor: (Lsun/security/ssl/HandshakeMessage$CertificateMsg;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // sun.security.ssl.HandshakeMessage$CertificateMsg mesg
         0: .line 2124
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 2
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 2125
            aload 1 /* mesg */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.ssl.HandshakeMessage$CertificateMsg.print:(Ljava/io/PrintStream;)V
         2: .line 2128
      StackMap locals:
      StackMap stack:
            aload 1 /* mesg */
            invokevirtual sun.security.ssl.HandshakeMessage$CertificateMsg.getCertificateChain:()[Ljava/security/cert/X509Certificate;
            astore 2 /* peerCerts */
        start local 2 // java.security.cert.X509Certificate[] peerCerts
         3: .line 2130
            aload 2 /* peerCerts */
            arraylength
            ifne 9
         4: .line 2135
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
            getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUESTED:Lsun/security/ssl/ClientAuthType;
            if_acmpne 6
         5: .line 2136
            return
         6: .line 2138
      StackMap locals: java.security.cert.X509Certificate[]
      StackMap stack:
            aload 0 /* this */
            bipush 42
         7: .line 2139
            ldc "null cert chain"
         8: .line 2138
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
         9: .line 2144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getX509TrustManager:()Ljavax/net/ssl/X509TrustManager;
            astore 3 /* tm */
        start local 3 // javax.net.ssl.X509TrustManager tm
        10: .line 2148
            aload 2 /* peerCerts */
            iconst_0
            aaload
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 4 /* key */
        start local 4 // java.security.PublicKey key
        11: .line 2149
            aload 4 /* key */
            invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
            astore 5 /* keyAlgorithm */
        start local 5 // java.lang.String keyAlgorithm
        12: .line 2151
            aload 5 /* keyAlgorithm */
            ldc "RSA"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 2152
            ldc "RSA"
            astore 6 /* authType */
        start local 6 // java.lang.String authType
        14: .line 2153
            goto 22
        end local 6 // java.lang.String authType
      StackMap locals: javax.net.ssl.X509TrustManager java.security.PublicKey java.lang.String
      StackMap stack:
        15: aload 5 /* keyAlgorithm */
            ldc "DSA"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 2154
            ldc "DSA"
            astore 6 /* authType */
        start local 6 // java.lang.String authType
        17: .line 2155
            goto 22
        end local 6 // java.lang.String authType
      StackMap locals:
      StackMap stack:
        18: aload 5 /* keyAlgorithm */
            ldc "EC"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        19: .line 2156
            ldc "EC"
            astore 6 /* authType */
        start local 6 // java.lang.String authType
        20: .line 2157
            goto 22
        end local 6 // java.lang.String authType
        21: .line 2159
      StackMap locals:
      StackMap stack:
            ldc "UNKNOWN"
            astore 6 /* authType */
        start local 6 // java.lang.String authType
        22: .line 2162
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* tm */
            instanceof javax.net.ssl.X509ExtendedTrustManager
            ifeq 36
        23: .line 2163
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.conn:Lsun/security/ssl/SSLSocketImpl;
            ifnull 30
        24: .line 2164
            aload 3 /* tm */
            checkcast javax.net.ssl.X509ExtendedTrustManager
        25: .line 2165
            aload 2 /* peerCerts */
            invokevirtual java.security.cert.X509Certificate[].clone:()Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate[]
        26: .line 2166
            aload 6 /* authType */
        27: .line 2167
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.conn:Lsun/security/ssl/SSLSocketImpl;
        28: .line 2164
            invokevirtual javax.net.ssl.X509ExtendedTrustManager.checkClientTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)V
        29: .line 2168
            goto 41
        30: .line 2169
      StackMap locals:
      StackMap stack:
            aload 3 /* tm */
            checkcast javax.net.ssl.X509ExtendedTrustManager
        31: .line 2170
            aload 2 /* peerCerts */
            invokevirtual java.security.cert.X509Certificate[].clone:()Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate[]
        32: .line 2171
            aload 6 /* authType */
        33: .line 2172
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.engine:Lsun/security/ssl/SSLEngineImpl;
        34: .line 2169
            invokevirtual javax.net.ssl.X509ExtendedTrustManager.checkClientTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljavax/net/ssl/SSLEngine;)V
        35: .line 2174
            goto 41
        36: .line 2177
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertificateException
            dup
        37: .line 2178
            ldc "Improper X509TrustManager implementation"
        38: .line 2177
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String authType
        end local 5 // java.lang.String keyAlgorithm
        end local 4 // java.security.PublicKey key
        39: .line 2180
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$CertificateMsg java.security.cert.X509Certificate[] javax.net.ssl.X509TrustManager
      StackMap stack: java.security.cert.CertificateException
            astore 4 /* e */
        start local 4 // java.security.cert.CertificateException e
        40: .line 2182
            aload 0 /* this */
            bipush 46
            aload 4 /* e */
            invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/Throwable;)V
        end local 4 // java.security.cert.CertificateException e
        41: .line 2185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.ssl.ServerHandshaker.needClientVerify:Z
        42: .line 2187
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
            aload 2 /* peerCerts */
            invokevirtual sun.security.ssl.SSLSessionImpl.setPeerCertificates:([Ljava/security/cert/X509Certificate;)V
        43: .line 2188
            return
        end local 3 // javax.net.ssl.X509TrustManager tm
        end local 2 // java.security.cert.X509Certificate[] peerCerts
        end local 1 // sun.security.ssl.HandshakeMessage$CertificateMsg mesg
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   44     0          this  Lsun/security/ssl/ServerHandshaker;
            0   44     1          mesg  Lsun/security/ssl/HandshakeMessage$CertificateMsg;
            3   44     2     peerCerts  [Ljava/security/cert/X509Certificate;
           10   44     3            tm  Ljavax/net/ssl/X509TrustManager;
           11   39     4           key  Ljava/security/PublicKey;
           12   39     5  keyAlgorithm  Ljava/lang/String;
           14   15     6      authType  Ljava/lang/String;
           17   18     6      authType  Ljava/lang/String;
           20   21     6      authType  Ljava/lang/String;
           22   39     6      authType  Ljava/lang/String;
           40   41     4             e  Ljava/security/cert/CertificateException;
      Exception table:
        from    to  target  type
          10    39      39  Class java.security.cert.CertificateException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      mesg  

  private sun.security.ssl.ServerHandshaker$StaplingParameters processStapling(sun.security.ssl.HandshakeMessage$ClientHello);
    descriptor: (Lsun/security/ssl/HandshakeMessage$ClientHello;)Lsun/security/ssl/ServerHandshaker$StaplingParameters;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=16, args_size=2
        start local 0 // sun.security.ssl.ServerHandshaker this
        start local 1 // sun.security.ssl.HandshakeMessage$ClientHello mesg
         0: .line 2191
            aconst_null
            astore 2 /* params */
        start local 2 // sun.security.ssl.ServerHandshaker$StaplingParameters params
         1: .line 2192
            aconst_null
            astore 3 /* ext */
        start local 3 // sun.security.ssl.ExtensionType ext
         2: .line 2193
            aconst_null
            astore 4 /* type */
        start local 4 // sun.security.ssl.StatusRequestType type
         3: .line 2194
            aconst_null
            astore 5 /* req */
        start local 5 // sun.security.ssl.StatusRequest req
         4: .line 2200
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            iconst_0
            invokevirtual sun.security.ssl.SSLContextImpl.isStaplingEnabled:(Z)Z
            ifeq 5
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
            ifeq 6
         5: .line 2201
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerHandshaker$StaplingParameters sun.security.ssl.ExtensionType sun.security.ssl.StatusRequestType sun.security.ssl.StatusRequest
      StackMap stack:
            aconst_null
            areturn
         6: .line 2206
      StackMap locals:
      StackMap stack:
            aload 1 /* mesg */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
            getstatic sun.security.ssl.ExtensionType.EXT_STATUS_REQUEST:Lsun/security/ssl/ExtensionType;
            invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
         7: .line 2205
            checkcast sun.security.ssl.CertStatusReqExtension
            astore 7 /* statReqExt */
        start local 7 // sun.security.ssl.CertStatusReqExtension statReqExt
         8: .line 2208
            aload 1 /* mesg */
            getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
         9: .line 2209
            getstatic sun.security.ssl.ExtensionType.EXT_STATUS_REQUEST_V2:Lsun/security/ssl/ExtensionType;
        10: .line 2208
            invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
            checkcast sun.security.ssl.CertStatusReqListV2Extension
        11: .line 2207
            astore 8 /* statReqExtV2 */
        start local 8 // sun.security.ssl.CertStatusReqListV2Extension statReqExtV2
        12: .line 2219
            aload 8 /* statReqExtV2 */
            ifnull 47
        13: .line 2220
            getstatic sun.security.ssl.ExtensionType.EXT_STATUS_REQUEST_V2:Lsun/security/ssl/ExtensionType;
            astore 3 /* ext */
        14: .line 2222
            aload 8 /* statReqExtV2 */
            invokevirtual sun.security.ssl.CertStatusReqListV2Extension.getRequestItems:()Ljava/util/List;
        15: .line 2221
            astore 9 /* reqItems */
        start local 9 // java.util.List reqItems
        16: .line 2223
            iconst_m1
            istore 10 /* ocspIdx */
        start local 10 // int ocspIdx
        17: .line 2224
            iconst_m1
            istore 11 /* ocspMultiIdx */
        start local 11 // int ocspMultiIdx
        18: .line 2225
            iconst_0
            istore 12 /* pos */
        start local 12 // int pos
        19: goto 35
        20: .line 2227
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerHandshaker$StaplingParameters sun.security.ssl.ExtensionType sun.security.ssl.StatusRequestType sun.security.ssl.StatusRequest top sun.security.ssl.CertStatusReqExtension sun.security.ssl.CertStatusReqListV2Extension java.util.List int int int
      StackMap stack:
            aload 9 /* reqItems */
            iload 12 /* pos */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.security.ssl.CertStatusReqItemV2
            astore 13 /* item */
        start local 13 // sun.security.ssl.CertStatusReqItemV2 item
        21: .line 2228
            aload 13 /* item */
            invokevirtual sun.security.ssl.CertStatusReqItemV2.getType:()Lsun/security/ssl/StatusRequestType;
            astore 14 /* curType */
        start local 14 // sun.security.ssl.StatusRequestType curType
        22: .line 2229
            iload 10 /* ocspIdx */
            ifge 28
            aload 14 /* curType */
            getstatic sun.security.ssl.StatusRequestType.OCSP:Lsun/security/ssl/StatusRequestType;
            if_acmpne 28
        23: .line 2231
            aload 13 /* item */
            invokevirtual sun.security.ssl.CertStatusReqItemV2.getRequest:()Lsun/security/ssl/StatusRequest;
            checkcast sun.security.ssl.OCSPStatusRequest
        24: .line 2230
            astore 15 /* ocspReq */
        start local 15 // sun.security.ssl.OCSPStatusRequest ocspReq
        25: .line 2232
            aload 15 /* ocspReq */
            invokevirtual sun.security.ssl.OCSPStatusRequest.getResponderIds:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 34
        26: .line 2233
            iload 12 /* pos */
            istore 10 /* ocspIdx */
        end local 15 // sun.security.ssl.OCSPStatusRequest ocspReq
        27: .line 2235
            goto 34
      StackMap locals: sun.security.ssl.CertStatusReqItemV2 sun.security.ssl.StatusRequestType
      StackMap stack:
        28: iload 11 /* ocspMultiIdx */
            ifge 34
        29: .line 2236
            aload 14 /* curType */
            getstatic sun.security.ssl.StatusRequestType.OCSP_MULTI:Lsun/security/ssl/StatusRequestType;
            if_acmpne 34
        30: .line 2240
            aload 13 /* item */
            invokevirtual sun.security.ssl.CertStatusReqItemV2.getRequest:()Lsun/security/ssl/StatusRequest;
            checkcast sun.security.ssl.OCSPStatusRequest
        31: .line 2239
            astore 15 /* ocspReq */
        start local 15 // sun.security.ssl.OCSPStatusRequest ocspReq
        32: .line 2241
            aload 15 /* ocspReq */
            invokevirtual sun.security.ssl.OCSPStatusRequest.getResponderIds:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 34
        33: .line 2242
            iload 12 /* pos */
            istore 11 /* ocspMultiIdx */
        end local 15 // sun.security.ssl.OCSPStatusRequest ocspReq
        end local 14 // sun.security.ssl.StatusRequestType curType
        end local 13 // sun.security.ssl.CertStatusReqItemV2 item
        34: .line 2226
      StackMap locals:
      StackMap stack:
            iinc 12 /* pos */ 1
        35: .line 2225
      StackMap locals:
      StackMap stack:
            iload 12 /* pos */
            aload 9 /* reqItems */
            invokeinterface java.util.List.size:()I
            if_icmpge 37
        36: .line 2226
            iload 10 /* ocspIdx */
            iconst_m1
            if_icmpeq 20
            iload 11 /* ocspMultiIdx */
            iconst_m1
            if_icmpeq 20
        end local 12 // int pos
        37: .line 2246
      StackMap locals:
      StackMap stack:
            iload 11 /* ocspMultiIdx */
            iflt 41
        38: .line 2247
            aload 9 /* reqItems */
            iload 11 /* ocspMultiIdx */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.security.ssl.CertStatusReqItemV2
            invokevirtual sun.security.ssl.CertStatusReqItemV2.getType:()Lsun/security/ssl/StatusRequestType;
            astore 4 /* type */
        39: .line 2248
            aload 9 /* reqItems */
            iload 11 /* ocspMultiIdx */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.security.ssl.CertStatusReqItemV2
            invokevirtual sun.security.ssl.CertStatusReqItemV2.getRequest:()Lsun/security/ssl/StatusRequest;
            astore 5 /* req */
        40: .line 2249
            goto 47
      StackMap locals:
      StackMap stack:
        41: iload 10 /* ocspIdx */
            iflt 45
        42: .line 2250
            aload 9 /* reqItems */
            iload 10 /* ocspIdx */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.security.ssl.CertStatusReqItemV2
            invokevirtual sun.security.ssl.CertStatusReqItemV2.getType:()Lsun/security/ssl/StatusRequestType;
            astore 4 /* type */
        43: .line 2251
            aload 9 /* reqItems */
            iload 10 /* ocspIdx */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.security.ssl.CertStatusReqItemV2
            invokevirtual sun.security.ssl.CertStatusReqItemV2.getRequest:()Lsun/security/ssl/StatusRequest;
            astore 5 /* req */
        44: .line 2252
            goto 47
        45: .line 2253
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 47
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 47
        46: .line 2254
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Warning: No suitable request found in the status_request_v2 extension."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 11 // int ocspMultiIdx
        end local 10 // int ocspIdx
        end local 9 // java.util.List reqItems
        47: .line 2268
      StackMap locals:
      StackMap stack:
            aload 7 /* statReqExt */
            ifnull 60
        48: .line 2269
            aload 3 /* ext */
            ifnull 49
            aload 4 /* type */
            ifnull 49
            aload 5 /* req */
            ifnonnull 60
        49: .line 2270
      StackMap locals:
      StackMap stack:
            getstatic sun.security.ssl.ExtensionType.EXT_STATUS_REQUEST:Lsun/security/ssl/ExtensionType;
            astore 3 /* ext */
        50: .line 2271
            aload 7 /* statReqExt */
            invokevirtual sun.security.ssl.CertStatusReqExtension.getType:()Lsun/security/ssl/StatusRequestType;
            astore 4 /* type */
        51: .line 2272
            aload 4 /* type */
            getstatic sun.security.ssl.StatusRequestType.OCSP:Lsun/security/ssl/StatusRequestType;
            if_acmpne 60
        52: .line 2276
            aload 7 /* statReqExt */
            invokevirtual sun.security.ssl.CertStatusReqExtension.getRequest:()Lsun/security/ssl/StatusRequest;
            checkcast sun.security.ssl.OCSPStatusRequest
        53: .line 2275
            astore 9 /* ocspReq */
        start local 9 // sun.security.ssl.OCSPStatusRequest ocspReq
        54: .line 2277
            aload 9 /* ocspReq */
            invokevirtual sun.security.ssl.OCSPStatusRequest.getResponderIds:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 57
        55: .line 2278
            aload 9 /* ocspReq */
            astore 5 /* req */
        56: .line 2279
            goto 60
        57: .line 2280
      StackMap locals: sun.security.ssl.OCSPStatusRequest
      StackMap stack:
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 60
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 60
        58: .line 2281
            aconst_null
            astore 5 /* req */
        59: .line 2282
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Warning: No suitable request found in the status_request extension."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 9 // sun.security.ssl.OCSPStatusRequest ocspReq
        60: .line 2292
      StackMap locals:
      StackMap stack:
            aload 4 /* type */
            ifnull 61
            aload 5 /* req */
            ifnull 61
            aload 3 /* ext */
            ifnonnull 62
        61: .line 2293
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        62: .line 2298
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
            invokevirtual sun.security.ssl.SSLContextImpl.getStatusResponseManager:()Lsun/security/ssl/StatusResponseManager;
        63: .line 2297
            astore 9 /* statRespMgr */
        start local 9 // sun.security.ssl.StatusResponseManager statRespMgr
        64: .line 2299
            aload 9 /* statRespMgr */
            ifnull 75
        65: .line 2300
            aload 9 /* statRespMgr */
            aload 4 /* type */
            aload 5 /* req */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
        66: .line 2301
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
        67: .line 2300
            invokevirtual sun.security.ssl.StatusResponseManager.get:(Lsun/security/ssl/StatusRequestType;Lsun/security/ssl/StatusRequest;[Ljava/security/cert/X509Certificate;JLjava/util/concurrent/TimeUnit;)Ljava/util/Map;
            astore 6 /* responses */
        start local 6 // java.util.Map responses
        68: .line 2302
            aload 6 /* responses */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 77
        69: .line 2305
            aload 4 /* type */
            getstatic sun.security.ssl.StatusRequestType.OCSP:Lsun/security/ssl/StatusRequestType;
            if_acmpne 73
        70: .line 2306
            aload 6 /* responses */
            aload 0 /* this */
            getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
            iconst_0
            aaload
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast byte[]
            astore 10 /* respDER */
        start local 10 // byte[] respDER
        71: .line 2307
            aload 10 /* respDER */
            ifnull 72
            aload 10 /* respDER */
            arraylength
            ifgt 73
        72: .line 2308
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerHandshaker$StaplingParameters sun.security.ssl.ExtensionType sun.security.ssl.StatusRequestType sun.security.ssl.StatusRequest java.util.Map sun.security.ssl.CertStatusReqExtension sun.security.ssl.CertStatusReqListV2Extension sun.security.ssl.StatusResponseManager byte[]
      StackMap stack:
            aconst_null
            areturn
        end local 10 // byte[] respDER
        73: .line 2311
      StackMap locals:
      StackMap stack:
            new sun.security.ssl.ServerHandshaker$StaplingParameters
            dup
            aload 0 /* this */
            aload 3 /* ext */
            aload 4 /* type */
            aload 5 /* req */
            aload 6 /* responses */
            invokespecial sun.security.ssl.ServerHandshaker$StaplingParameters.<init>:(Lsun/security/ssl/ServerHandshaker;Lsun/security/ssl/ExtensionType;Lsun/security/ssl/StatusRequestType;Lsun/security/ssl/StatusRequest;Ljava/util/Map;)V
            astore 2 /* params */
        74: .line 2313
            goto 77
        end local 6 // java.util.Map responses
        75: .line 2316
      StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerHandshaker$StaplingParameters sun.security.ssl.ExtensionType sun.security.ssl.StatusRequestType sun.security.ssl.StatusRequest top sun.security.ssl.CertStatusReqExtension sun.security.ssl.CertStatusReqListV2Extension sun.security.ssl.StatusResponseManager
      StackMap stack:
            getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
            ifnull 77
            ldc "handshake"
            invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
            ifeq 77
        76: .line 2317
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Warning: lazy initialization of the StatusResponseManager failed.  Stapling has been disabled."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        77: .line 2323
      StackMap locals:
      StackMap stack:
            aload 2 /* params */
            areturn
        end local 9 // sun.security.ssl.StatusResponseManager statRespMgr
        end local 8 // sun.security.ssl.CertStatusReqListV2Extension statReqExtV2
        end local 7 // sun.security.ssl.CertStatusReqExtension statReqExt
        end local 5 // sun.security.ssl.StatusRequest req
        end local 4 // sun.security.ssl.StatusRequestType type
        end local 3 // sun.security.ssl.ExtensionType ext
        end local 2 // sun.security.ssl.ServerHandshaker$StaplingParameters params
        end local 1 // sun.security.ssl.HandshakeMessage$ClientHello mesg
        end local 0 // sun.security.ssl.ServerHandshaker this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   78     0          this  Lsun/security/ssl/ServerHandshaker;
            0   78     1          mesg  Lsun/security/ssl/HandshakeMessage$ClientHello;
            1   78     2        params  Lsun/security/ssl/ServerHandshaker$StaplingParameters;
            2   78     3           ext  Lsun/security/ssl/ExtensionType;
            3   78     4          type  Lsun/security/ssl/StatusRequestType;
            4   78     5           req  Lsun/security/ssl/StatusRequest;
           68   75     6     responses  Ljava/util/Map<Ljava/security/cert/X509Certificate;[B>;
            8   78     7    statReqExt  Lsun/security/ssl/CertStatusReqExtension;
           12   78     8  statReqExtV2  Lsun/security/ssl/CertStatusReqListV2Extension;
           16   47     9      reqItems  Ljava/util/List<Lsun/security/ssl/CertStatusReqItemV2;>;
           17   47    10       ocspIdx  I
           18   47    11  ocspMultiIdx  I
           19   37    12           pos  I
           21   34    13          item  Lsun/security/ssl/CertStatusReqItemV2;
           22   34    14       curType  Lsun/security/ssl/StatusRequestType;
           25   27    15       ocspReq  Lsun/security/ssl/OCSPStatusRequest;
           32   34    15       ocspReq  Lsun/security/ssl/OCSPStatusRequest;
           54   60     9       ocspReq  Lsun/security/ssl/OCSPStatusRequest;
           64   78     9   statRespMgr  Lsun/security/ssl/StatusResponseManager;
           71   73    10       respDER  [B
    MethodParameters:
      Name  Flags
      mesg  

  static int[] $SWITCH_TABLE$sun$security$ssl$CipherSuite$KeyExchange();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 59
            getstatic sun.security.ssl.ServerHandshaker.$SWITCH_TABLE$sun$security$ssl$CipherSuite$KeyExchange:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic sun.security.ssl.CipherSuite$KeyExchange.values:()[Lsun/security/ssl/CipherSuite$KeyExchange;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DHE_DSS:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            bipush 6
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DHE_RSA:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            bipush 7
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            bipush 8
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DH_DSS:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            iconst_5
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DH_RSA:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDHE_ECDSA:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            bipush 11
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDHE_RSA:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            bipush 12
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            bipush 13
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDH_ECDSA:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            bipush 9
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDH_RSA:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            bipush 10
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            bipush 14
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5_EXPORT:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            bipush 15
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_NULL:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            iconst_1
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_RSA:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            iconst_2
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_RSA_EXPORT:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            iconst_3
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic sun.security.ssl.CipherSuite$KeyExchange.K_SCSV:Lsun/security/ssl/CipherSuite$KeyExchange;
            invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
            bipush 16
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            dup
            putstatic sun.security.ssl.ServerHandshaker.$SWITCH_TABLE$sun$security$ssl$CipherSuite$KeyExchange:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
}
SourceFile: "ServerHandshaker.java"
NestMembers:
  sun.security.ssl.ServerHandshaker$StaplingParameters
InnerClasses:
  final KeyExchange = sun.security.ssl.CipherSuite$KeyExchange of sun.security.ssl.CipherSuite
  final PRF = sun.security.ssl.CipherSuite$PRF of sun.security.ssl.CipherSuite
  final CertificateMsg = sun.security.ssl.HandshakeMessage$CertificateMsg of sun.security.ssl.HandshakeMessage
  final CertificateRequest = sun.security.ssl.HandshakeMessage$CertificateRequest of sun.security.ssl.HandshakeMessage
  final CertificateStatus = sun.security.ssl.HandshakeMessage$CertificateStatus of sun.security.ssl.HandshakeMessage
  final CertificateVerify = sun.security.ssl.HandshakeMessage$CertificateVerify of sun.security.ssl.HandshakeMessage
  final ClientHello = sun.security.ssl.HandshakeMessage$ClientHello of sun.security.ssl.HandshakeMessage
  final DH_ServerKeyExchange = sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange of sun.security.ssl.HandshakeMessage
  final ECDH_ServerKeyExchange = sun.security.ssl.HandshakeMessage$ECDH_ServerKeyExchange of sun.security.ssl.HandshakeMessage
  final Finished = sun.security.ssl.HandshakeMessage$Finished of sun.security.ssl.HandshakeMessage
  final HelloRequest = sun.security.ssl.HandshakeMessage$HelloRequest of sun.security.ssl.HandshakeMessage
  final HelloVerifyRequest = sun.security.ssl.HandshakeMessage$HelloVerifyRequest of sun.security.ssl.HandshakeMessage
  final RSA_ServerKeyExchange = sun.security.ssl.HandshakeMessage$RSA_ServerKeyExchange of sun.security.ssl.HandshakeMessage
  final ServerHello = sun.security.ssl.HandshakeMessage$ServerHello of sun.security.ssl.HandshakeMessage
  final ServerHelloDone = sun.security.ssl.HandshakeMessage$ServerHelloDone of sun.security.ssl.HandshakeMessage
  abstract ServerKeyExchange = sun.security.ssl.HandshakeMessage$ServerKeyExchange of sun.security.ssl.HandshakeMessage
  private StaplingParameters = sun.security.ssl.ServerHandshaker$StaplingParameters of sun.security.ssl.ServerHandshaker
  final HashAlgorithm = sun.security.ssl.SignatureAndHashAlgorithm$HashAlgorithm of sun.security.ssl.SignatureAndHashAlgorithm
  final SignatureAlgorithm = sun.security.ssl.SignatureAndHashAlgorithm$SignatureAlgorithm of sun.security.ssl.SignatureAndHashAlgorithm