final class sun.security.ssl.CertStatusExtension$OCSPStatusRequest extends sun.security.ssl.CertStatusExtension$CertStatusRequest
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.ssl.CertStatusExtension$OCSPStatusRequest
  super_class: sun.security.ssl.CertStatusExtension$CertStatusRequest
{
  static final sun.security.ssl.CertStatusExtension$OCSPStatusRequest EMPTY_OCSP;
    descriptor: Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.security.ssl.CertStatusExtension$OCSPStatusRequest EMPTY_OCSP_MULTI;
    descriptor: Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  final java.util.List<sun.security.provider.certpath.ResponderId> responderIds;
    descriptor: Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/List<Lsun/security/provider/certpath/ResponderId;>;

  final java.util.List<java.security.cert.Extension> extensions;
    descriptor: Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/List<Ljava/security/cert/Extension;>;

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 330
            aconst_null
            astore 0 /* ocspReq */
        start local 0 // sun.security.ssl.CertStatusExtension$OCSPStatusRequest ocspReq
         1: .line 331
            aconst_null
            astore 1 /* multiReq */
        start local 1 // sun.security.ssl.CertStatusExtension$OCSPStatusRequest multiReq
         2: .line 334
            new sun.security.ssl.CertStatusExtension$OCSPStatusRequest
            dup
         3: .line 335
            getstatic sun.security.ssl.CertStatusExtension$CertStatusRequestType.OCSP:Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
            getfield sun.security.ssl.CertStatusExtension$CertStatusRequestType.id:B
         4: .line 336
            iconst_4
            newarray 8
         5: .line 334
            invokespecial sun.security.ssl.CertStatusExtension$OCSPStatusRequest.<init>:(B[B)V
            astore 0 /* ocspReq */
         6: .line 337
            new sun.security.ssl.CertStatusExtension$OCSPStatusRequest
            dup
         7: .line 338
            getstatic sun.security.ssl.CertStatusExtension$CertStatusRequestType.OCSP_MULTI:Lsun/security/ssl/CertStatusExtension$CertStatusRequestType;
            getfield sun.security.ssl.CertStatusExtension$CertStatusRequestType.id:B
         8: .line 339
            iconst_4
            newarray 8
         9: .line 337
            invokespecial sun.security.ssl.CertStatusExtension$OCSPStatusRequest.<init>:(B[B)V
            astore 1 /* multiReq */
        10: .line 340
            goto 12
      StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest sun.security.ssl.CertStatusExtension$OCSPStatusRequest
      StackMap stack: java.io.IOException
        11: pop
        12: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* ocspReq */
            putstatic sun.security.ssl.CertStatusExtension$OCSPStatusRequest.EMPTY_OCSP:Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
        13: .line 345
            aload 1 /* multiReq */
            putstatic sun.security.ssl.CertStatusExtension$OCSPStatusRequest.EMPTY_OCSP_MULTI:Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
        end local 1 // sun.security.ssl.CertStatusExtension$OCSPStatusRequest multiReq
        end local 0 // sun.security.ssl.CertStatusExtension$OCSPStatusRequest ocspReq
        14: .line 346
            return
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1   14     0   ocspReq  Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
            2   14     1  multiReq  Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
      Exception table:
        from    to  target  type
           2    10      11  Class java.io.IOException

  private void <init>(byte, byte[]);
    descriptor: (B[B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=14, args_size=3
        start local 0 // sun.security.ssl.CertStatusExtension$OCSPStatusRequest this
        start local 1 // byte statusType
        start local 2 // byte[] encoded
         0: .line 350
            aload 0 /* this */
            iload 1 /* statusType */
            aload 2 /* encoded */
            invokespecial sun.security.ssl.CertStatusExtension$CertStatusRequest.<init>:(B[B)V
         1: .line 352
            aload 2 /* encoded */
            ifnull 2
            aload 2 /* encoded */
            arraylength
            iconst_4
            if_icmpge 5
         2: .line 355
      StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest int byte[]
      StackMap stack:
            new javax.net.ssl.SSLProtocolException
            dup
         3: .line 356
            ldc "Invalid OCSP status request: insufficient data"
         4: .line 355
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 359
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* rids */
        start local 3 // java.util.List rids
         6: .line 360
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* exts */
        start local 4 // java.util.List exts
         7: .line 361
            aload 2 /* encoded */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            astore 5 /* m */
        start local 5 // java.nio.ByteBuffer m
         8: .line 363
            aload 0 /* this */
            aload 5 /* m */
            invokestatic sun.security.ssl.Record.getInt16:(Ljava/nio/ByteBuffer;)I
            putfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.ridListLen:I
         9: .line 364
            aload 5 /* m */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            aload 0 /* this */
            getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.ridListLen:I
            iconst_2
            iadd
            if_icmpge 13
        10: .line 365
            new javax.net.ssl.SSLProtocolException
            dup
        11: .line 366
            ldc "Invalid OCSP status request: insufficient data"
        12: .line 365
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 369
      StackMap locals: java.util.List java.util.List java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.ridListLen:I
            istore 6 /* ridListBytesRemaining */
        start local 6 // int ridListBytesRemaining
        14: .line 370
            goto 23
        15: .line 371
      StackMap locals: int
      StackMap stack:
            aload 5 /* m */
            invokestatic sun.security.ssl.Record.getBytes16:(Ljava/nio/ByteBuffer;)[B
            astore 7 /* ridBytes */
        start local 7 // byte[] ridBytes
        16: .line 373
            aload 3 /* rids */
            new sun.security.provider.certpath.ResponderId
            dup
            aload 7 /* ridBytes */
            invokespecial sun.security.provider.certpath.ResponderId.<init>:([B)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        17: .line 374
            goto 22
      StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest int byte[] java.util.List java.util.List java.nio.ByteBuffer int byte[]
      StackMap stack: java.io.IOException
        18: pop
        19: .line 375
            new javax.net.ssl.SSLProtocolException
            dup
        20: .line 376
            ldc "Invalid OCSP status request: invalid responder ID"
        21: .line 375
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 378
      StackMap locals:
      StackMap stack:
            iload 6 /* ridListBytesRemaining */
            aload 7 /* ridBytes */
            arraylength
            iconst_2
            iadd
            isub
            istore 6 /* ridListBytesRemaining */
        end local 7 // byte[] ridBytes
        23: .line 370
      StackMap locals:
      StackMap stack:
            iload 6 /* ridListBytesRemaining */
            iconst_2
            if_icmpge 15
        24: .line 381
            iload 6 /* ridListBytesRemaining */
            ifeq 28
        25: .line 382
            new javax.net.ssl.SSLProtocolException
            dup
        26: .line 383
            ldc "Invalid OCSP status request: incomplete data"
        27: .line 382
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 386
      StackMap locals:
      StackMap stack:
            aload 5 /* m */
            invokestatic sun.security.ssl.Record.getBytes16:(Ljava/nio/ByteBuffer;)[B
            astore 7 /* extListBytes */
        start local 7 // byte[] extListBytes
        29: .line 387
            aload 0 /* this */
            aload 7 /* extListBytes */
            arraylength
            putfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.extListLen:I
        30: .line 388
            aload 0 /* this */
            getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.extListLen:I
            ifle 44
        31: .line 390
            new sun.security.util.DerInputStream
            dup
            aload 7 /* extListBytes */
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            astore 8 /* dis */
        start local 8 // sun.security.util.DerInputStream dis
        32: .line 392
            aload 8 /* dis */
            aload 7 /* extListBytes */
            arraylength
            invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
        33: .line 391
            astore 9 /* extSeqContents */
        start local 9 // sun.security.util.DerValue[] extSeqContents
        34: .line 393
            aload 9 /* extSeqContents */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 38
      StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest int byte[] java.util.List java.util.List java.nio.ByteBuffer int byte[] sun.security.util.DerInputStream sun.security.util.DerValue[] top int int sun.security.util.DerValue[]
      StackMap stack:
        35: aload 13
            iload 11
            aaload
            astore 10 /* extDerVal */
        start local 10 // sun.security.util.DerValue extDerVal
        36: .line 394
            aload 4 /* exts */
            new sun.security.x509.Extension
            dup
            aload 10 /* extDerVal */
            invokespecial sun.security.x509.Extension.<init>:(Lsun/security/util/DerValue;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // sun.security.util.DerValue extDerVal
        37: .line 393
            iinc 11 1
      StackMap locals:
      StackMap stack:
        38: iload 11
            iload 12
            if_icmplt 35
        end local 9 // sun.security.util.DerValue[] extSeqContents
        end local 8 // sun.security.util.DerInputStream dis
        39: .line 396
            goto 44
      StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest int byte[] java.util.List java.util.List java.nio.ByteBuffer int byte[]
      StackMap stack: java.io.IOException
        40: pop
        41: .line 397
            new javax.net.ssl.SSLProtocolException
            dup
        42: .line 398
            ldc "Invalid OCSP status request: invalid extension"
        43: .line 397
            invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
            athrow
        44: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* rids */
            putfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.responderIds:Ljava/util/List;
        45: .line 403
            aload 0 /* this */
            aload 4 /* exts */
            putfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.extensions:Ljava/util/List;
        46: .line 404
            return
        end local 7 // byte[] extListBytes
        end local 6 // int ridListBytesRemaining
        end local 5 // java.nio.ByteBuffer m
        end local 4 // java.util.List exts
        end local 3 // java.util.List rids
        end local 2 // byte[] encoded
        end local 1 // byte statusType
        end local 0 // sun.security.ssl.CertStatusExtension$OCSPStatusRequest this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   47     0                   this  Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
            0   47     1             statusType  B
            0   47     2                encoded  [B
            6   47     3                   rids  Ljava/util/List<Lsun/security/provider/certpath/ResponderId;>;
            7   47     4                   exts  Ljava/util/List<Ljava/security/cert/Extension;>;
            8   47     5                      m  Ljava/nio/ByteBuffer;
           14   47     6  ridListBytesRemaining  I
           16   23     7               ridBytes  [B
           29   47     7           extListBytes  [B
           32   39     8                    dis  Lsun/security/util/DerInputStream;
           34   39     9         extSeqContents  [Lsun/security/util/DerValue;
           36   37    10              extDerVal  Lsun/security/util/DerValue;
      Exception table:
        from    to  target  type
          16    17      18  Class java.io.IOException
          31    39      40  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      statusType  
      encoded     

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // sun.security.ssl.CertStatusExtension$OCSPStatusRequest this
         0: .line 408
            new java.text.MessageFormat
            dup
         1: .line 409
            ldc "\"certificate status type\": {0}\n\"OCSP status request\": '{'\n{1}\n'}'"
         2: .line 413
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
         3: .line 408
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
            astore 1 /* messageFormat */
        start local 1 // java.text.MessageFormat messageFormat
         4: .line 415
            new java.text.MessageFormat
            dup
         5: .line 416
            ldc "\"responder_id\": {0}\n\"request extensions\": '{'\n{1}\n'}'"
         6: .line 420
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
         7: .line 415
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
            astore 2 /* requestFormat */
        start local 2 // java.text.MessageFormat requestFormat
         8: .line 422
            ldc "<empty>"
            astore 3 /* ridStr */
        start local 3 // java.lang.String ridStr
         9: .line 423
            aload 0 /* this */
            getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.responderIds:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 11
        10: .line 424
            aload 0 /* this */
            getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.responderIds:Ljava/util/List;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 3 /* ridStr */
        11: .line 427
      StackMap locals: java.text.MessageFormat java.text.MessageFormat java.lang.String
      StackMap stack:
            ldc "<empty>"
            astore 4 /* extsStr */
        start local 4 // java.lang.String extsStr
        12: .line 428
            aload 0 /* this */
            getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.extensions:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 26
        13: .line 429
            new java.lang.StringBuilder
            dup
            sipush 512
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 5 /* extBuilder */
        start local 5 // java.lang.StringBuilder extBuilder
        14: .line 430
            iconst_1
            istore 6 /* isFirst */
        start local 6 // boolean isFirst
        15: .line 431
            aload 0 /* this */
            getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.extensions:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 24
      StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest java.text.MessageFormat java.text.MessageFormat java.lang.String java.lang.String java.lang.StringBuilder int top java.util.Iterator
      StackMap stack:
        16: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.Extension
            astore 7 /* ext */
        start local 7 // java.security.cert.Extension ext
        17: .line 432
            iload 6 /* isFirst */
            ifeq 20
        18: .line 433
            iconst_0
            istore 6 /* isFirst */
        19: .line 434
            goto 21
        20: .line 435
      StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest java.text.MessageFormat java.text.MessageFormat java.lang.String java.lang.String java.lang.StringBuilder int java.security.cert.Extension java.util.Iterator
      StackMap stack:
            aload 5 /* extBuilder */
            ldc ",\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 437
      StackMap locals:
      StackMap stack:
            aload 5 /* extBuilder */
            ldc "{\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 438
            aload 7 /* ext */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokestatic sun.security.ssl.Utilities.indent:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 439
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 7 // java.security.cert.Extension ext
        24: .line 431
      StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest java.text.MessageFormat java.text.MessageFormat java.lang.String java.lang.String java.lang.StringBuilder int top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        25: .line 442
            aload 5 /* extBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* extsStr */
        end local 6 // boolean isFirst
        end local 5 // java.lang.StringBuilder extBuilder
        26: .line 445
      StackMap locals: sun.security.ssl.CertStatusExtension$OCSPStatusRequest java.text.MessageFormat java.text.MessageFormat java.lang.String java.lang.String
      StackMap stack:
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        27: .line 446
            aload 3 /* ridStr */
            aastore
            dup
            iconst_1
        28: .line 447
            aload 4 /* extsStr */
            invokestatic sun.security.ssl.Utilities.indent:(Ljava/lang/String;)Ljava/lang/String;
            aastore
        29: .line 445
            astore 5 /* requestFields */
        start local 5 // java.lang.Object[] requestFields
        30: .line 449
            aload 2 /* requestFormat */
            aload 5 /* requestFields */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            astore 6 /* ocspStatusRequest */
        start local 6 // java.lang.String ocspStatusRequest
        31: .line 451
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        32: .line 452
            aload 0 /* this */
            getfield sun.security.ssl.CertStatusExtension$OCSPStatusRequest.statusType:B
            invokestatic sun.security.ssl.CertStatusExtension$CertStatusRequestType.nameOf:(B)Ljava/lang/String;
            aastore
            dup
            iconst_1
        33: .line 453
            aload 6 /* ocspStatusRequest */
            invokestatic sun.security.ssl.Utilities.indent:(Ljava/lang/String;)Ljava/lang/String;
            aastore
        34: .line 451
            astore 7 /* messageFields */
        start local 7 // java.lang.Object[] messageFields
        35: .line 456
            aload 1 /* messageFormat */
            aload 7 /* messageFields */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 7 // java.lang.Object[] messageFields
        end local 6 // java.lang.String ocspStatusRequest
        end local 5 // java.lang.Object[] requestFields
        end local 4 // java.lang.String extsStr
        end local 3 // java.lang.String ridStr
        end local 2 // java.text.MessageFormat requestFormat
        end local 1 // java.text.MessageFormat messageFormat
        end local 0 // sun.security.ssl.CertStatusExtension$OCSPStatusRequest this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   36     0               this  Lsun/security/ssl/CertStatusExtension$OCSPStatusRequest;
            4   36     1      messageFormat  Ljava/text/MessageFormat;
            8   36     2      requestFormat  Ljava/text/MessageFormat;
            9   36     3             ridStr  Ljava/lang/String;
           12   36     4            extsStr  Ljava/lang/String;
           14   26     5         extBuilder  Ljava/lang/StringBuilder;
           15   26     6            isFirst  Z
           17   24     7                ext  Ljava/security/cert/Extension;
           30   36     5      requestFields  [Ljava/lang/Object;
           31   36     6  ocspStatusRequest  Ljava/lang/String;
           35   36     7      messageFields  [Ljava/lang/Object;
}
SourceFile: "CertStatusExtension.java"
NestHost: sun.security.ssl.CertStatusExtension
InnerClasses:
  CertStatusRequest = sun.security.ssl.CertStatusExtension$CertStatusRequest of sun.security.ssl.CertStatusExtension
  final CertStatusRequestType = sun.security.ssl.CertStatusExtension$CertStatusRequestType of sun.security.ssl.CertStatusExtension
  final OCSPStatusRequest = sun.security.ssl.CertStatusExtension$OCSPStatusRequest of sun.security.ssl.CertStatusExtension