class org.bouncycastle.est.jcajce.DefaultESTClient implements org.bouncycastle.est.ESTClient
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.bouncycastle.est.jcajce.DefaultESTClient
  super_class: java.lang.Object
{
  private static final java.nio.charset.Charset utf8;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static byte[] CRLF;
    descriptor: [B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private final org.bouncycastle.est.ESTClientSourceProvider sslSocketProvider;
    descriptor: Lorg/bouncycastle/est/ESTClientSourceProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 24
            ldc "UTF-8"
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            putstatic org.bouncycastle.est.jcajce.DefaultESTClient.utf8:Ljava/nio/charset/Charset;
         1: .line 25
            iconst_2
            newarray 8
            dup
            iconst_0
            bipush 13
            bastore
            dup
            iconst_1
            bipush 10
            bastore
            putstatic org.bouncycastle.est.jcajce.DefaultESTClient.CRLF:[B
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.bouncycastle.est.ESTClientSourceProvider);
    descriptor: (Lorg/bouncycastle/est/ESTClientSourceProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.est.jcajce.DefaultESTClient this
        start local 1 // org.bouncycastle.est.ESTClientSourceProvider sslSocketProvider
         0: .line 28
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 30
            aload 0 /* this */
            aload 1 /* sslSocketProvider */
            putfield org.bouncycastle.est.jcajce.DefaultESTClient.sslSocketProvider:Lorg/bouncycastle/est/ESTClientSourceProvider;
         2: .line 31
            return
        end local 1 // org.bouncycastle.est.ESTClientSourceProvider sslSocketProvider
        end local 0 // org.bouncycastle.est.jcajce.DefaultESTClient this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lorg/bouncycastle/est/jcajce/DefaultESTClient;
            0    3     1  sslSocketProvider  Lorg/bouncycastle/est/ESTClientSourceProvider;
    MethodParameters:
                   Name  Flags
      sslSocketProvider  

  private static void writeLine(java.io.OutputStream, java.lang.String);
    descriptor: (Ljava/io/OutputStream;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.io.OutputStream os
        start local 1 // java.lang.String s
         0: .line 36
            aload 0 /* os */
            aload 1 /* s */
            invokevirtual java.lang.String.getBytes:()[B
            invokevirtual java.io.OutputStream.write:([B)V
         1: .line 37
            aload 0 /* os */
            getstatic org.bouncycastle.est.jcajce.DefaultESTClient.CRLF:[B
            invokevirtual java.io.OutputStream.write:([B)V
         2: .line 38
            return
        end local 1 // java.lang.String s
        end local 0 // java.io.OutputStream os
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    os  Ljava/io/OutputStream;
            0    3     1     s  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      os    
      s     

  public org.bouncycastle.est.ESTResponse doRequest(org.bouncycastle.est.ESTRequest);
    descriptor: (Lorg/bouncycastle/est/ESTRequest;)Lorg/bouncycastle/est/ESTResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.bouncycastle.est.jcajce.DefaultESTClient this
        start local 1 // org.bouncycastle.est.ESTRequest req
         0: .line 43
            aconst_null
            astore 2 /* resp */
        start local 2 // org.bouncycastle.est.ESTResponse resp
         1: .line 44
            aload 1 /* req */
            astore 3 /* r */
        start local 3 // org.bouncycastle.est.ESTRequest r
         2: .line 45
            bipush 15
            istore 4 /* rcCount */
        start local 4 // int rcCount
         3: .line 48
      StackMap locals: org.bouncycastle.est.ESTResponse org.bouncycastle.est.ESTRequest int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* r */
            invokevirtual org.bouncycastle.est.jcajce.DefaultESTClient.performRequest:(Lorg/bouncycastle/est/ESTRequest;)Lorg/bouncycastle/est/ESTResponse;
            astore 2 /* resp */
         4: .line 49
            aload 0 /* this */
            aload 2 /* resp */
            invokevirtual org.bouncycastle.est.jcajce.DefaultESTClient.redirectURL:(Lorg/bouncycastle/est/ESTResponse;)Lorg/bouncycastle/est/ESTRequest;
            astore 3 /* r */
         5: .line 51
            aload 3 /* r */
            ifnull 7
            iinc 4 /* rcCount */ -1
            iload 4 /* rcCount */
         6: .line 46
            ifgt 3
         7: .line 53
      StackMap locals:
      StackMap stack:
            iload 4 /* rcCount */
            ifne 9
         8: .line 55
            new org.bouncycastle.est.ESTException
            dup
            ldc "Too many redirects.."
            invokespecial org.bouncycastle.est.ESTException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 58
      StackMap locals:
      StackMap stack:
            aload 2 /* resp */
            areturn
        end local 4 // int rcCount
        end local 3 // org.bouncycastle.est.ESTRequest r
        end local 2 // org.bouncycastle.est.ESTResponse resp
        end local 1 // org.bouncycastle.est.ESTRequest req
        end local 0 // org.bouncycastle.est.jcajce.DefaultESTClient this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/bouncycastle/est/jcajce/DefaultESTClient;
            0   10     1      req  Lorg/bouncycastle/est/ESTRequest;
            1   10     2     resp  Lorg/bouncycastle/est/ESTResponse;
            2   10     3        r  Lorg/bouncycastle/est/ESTRequest;
            3   10     4  rcCount  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      req   

  protected org.bouncycastle.est.ESTRequest redirectURL(org.bouncycastle.est.ESTResponse);
    descriptor: (Lorg/bouncycastle/est/ESTResponse;)Lorg/bouncycastle/est/ESTRequest;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.bouncycastle.est.jcajce.DefaultESTClient this
        start local 1 // org.bouncycastle.est.ESTResponse response
         0: .line 64
            aconst_null
            astore 2 /* redirectingRequest */
        start local 2 // org.bouncycastle.est.ESTRequest redirectingRequest
         1: .line 66
            aload 1 /* response */
            invokevirtual org.bouncycastle.est.ESTResponse.getStatusCode:()I
            sipush 300
            if_icmplt 14
            aload 1 /* response */
            invokevirtual org.bouncycastle.est.ESTResponse.getStatusCode:()I
            sipush 399
            if_icmpgt 14
         2: .line 69
            aload 1 /* response */
            invokevirtual org.bouncycastle.est.ESTResponse.getStatusCode:()I
            tableswitch { // 301 - 307
                  301: 3
                  302: 3
                  303: 3
                  304: 13
                  305: 13
                  306: 3
                  307: 3
              default: 13
          }
         3: .line 76
      StackMap locals: org.bouncycastle.est.ESTRequest
      StackMap stack:
            aload 1 /* response */
            ldc "Location"
            invokevirtual org.bouncycastle.est.ESTResponse.getHeader:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* loc */
        start local 3 // java.lang.String loc
         4: .line 77
            ldc ""
            aload 3 /* loc */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 79
            new org.bouncycastle.est.ESTException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Redirect status type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* response */
            invokevirtual org.bouncycastle.est.ESTResponse.getStatusCode:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " but no location header"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.bouncycastle.est.ESTException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 82
      StackMap locals: java.lang.String
      StackMap stack:
            new org.bouncycastle.est.ESTRequestBuilder
            dup
            aload 1 /* response */
            invokevirtual org.bouncycastle.est.ESTResponse.getOriginalRequest:()Lorg/bouncycastle/est/ESTRequest;
            invokespecial org.bouncycastle.est.ESTRequestBuilder.<init>:(Lorg/bouncycastle/est/ESTRequest;)V
            astore 4 /* requestBuilder */
        start local 4 // org.bouncycastle.est.ESTRequestBuilder requestBuilder
         7: .line 83
            aload 3 /* loc */
            ldc "http"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 10
         8: .line 85
            aload 4 /* requestBuilder */
            new java.net.URL
            dup
            aload 3 /* loc */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            invokevirtual org.bouncycastle.est.ESTRequestBuilder.withURL:(Ljava/net/URL;)Lorg/bouncycastle/est/ESTRequestBuilder;
            invokevirtual org.bouncycastle.est.ESTRequestBuilder.build:()Lorg/bouncycastle/est/ESTRequest;
            astore 2 /* redirectingRequest */
         9: .line 86
            goto 14
        10: .line 89
      StackMap locals: org.bouncycastle.est.ESTRequestBuilder
      StackMap stack:
            aload 1 /* response */
            invokevirtual org.bouncycastle.est.ESTResponse.getOriginalRequest:()Lorg/bouncycastle/est/ESTRequest;
            invokevirtual org.bouncycastle.est.ESTRequest.getURL:()Ljava/net/URL;
            astore 5 /* u */
        start local 5 // java.net.URL u
        11: .line 90
            aload 4 /* requestBuilder */
            new java.net.URL
            dup
            aload 5 /* u */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            aload 5 /* u */
            invokevirtual java.net.URL.getHost:()Ljava/lang/String;
            aload 5 /* u */
            invokevirtual java.net.URL.getPort:()I
            aload 3 /* loc */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
            invokevirtual org.bouncycastle.est.ESTRequestBuilder.withURL:(Ljava/net/URL;)Lorg/bouncycastle/est/ESTRequestBuilder;
            invokevirtual org.bouncycastle.est.ESTRequestBuilder.build:()Lorg/bouncycastle/est/ESTRequest;
            astore 2 /* redirectingRequest */
        end local 5 // java.net.URL u
        12: .line 92
            goto 14
        end local 4 // org.bouncycastle.est.ESTRequestBuilder requestBuilder
        end local 3 // java.lang.String loc
        13: .line 94
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.est.ESTException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Client does not handle http status code: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* response */
            invokevirtual org.bouncycastle.est.ESTResponse.getStatusCode:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.bouncycastle.est.ESTException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 98
      StackMap locals:
      StackMap stack:
            aload 2 /* redirectingRequest */
            ifnull 16
        15: .line 100
            aload 1 /* response */
            invokevirtual org.bouncycastle.est.ESTResponse.close:()V
        16: .line 103
      StackMap locals:
      StackMap stack:
            aload 2 /* redirectingRequest */
            areturn
        end local 2 // org.bouncycastle.est.ESTRequest redirectingRequest
        end local 1 // org.bouncycastle.est.ESTResponse response
        end local 0 // org.bouncycastle.est.jcajce.DefaultESTClient this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0                this  Lorg/bouncycastle/est/jcajce/DefaultESTClient;
            0   17     1            response  Lorg/bouncycastle/est/ESTResponse;
            1   17     2  redirectingRequest  Lorg/bouncycastle/est/ESTRequest;
            4   13     3                 loc  Ljava/lang/String;
            7   13     4      requestBuilder  Lorg/bouncycastle/est/ESTRequestBuilder;
           11   12     5                   u  Ljava/net/URL;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      response  

  public org.bouncycastle.est.ESTResponse performRequest(org.bouncycastle.est.ESTRequest);
    descriptor: (Lorg/bouncycastle/est/ESTRequest;)Lorg/bouncycastle/est/ESTResponse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=17, args_size=2
        start local 0 // org.bouncycastle.est.jcajce.DefaultESTClient this
        start local 1 // org.bouncycastle.est.ESTRequest c
         0: .line 111
            aconst_null
            astore 2 /* res */
        start local 2 // org.bouncycastle.est.ESTResponse res
         1: .line 112
            aconst_null
            astore 3 /* socketSource */
        start local 3 // org.bouncycastle.est.Source socketSource
         2: .line 115
            aload 0 /* this */
            getfield org.bouncycastle.est.jcajce.DefaultESTClient.sslSocketProvider:Lorg/bouncycastle/est/ESTClientSourceProvider;
            aload 1 /* c */
            invokevirtual org.bouncycastle.est.ESTRequest.getURL:()Ljava/net/URL;
            invokevirtual java.net.URL.getHost:()Ljava/lang/String;
            aload 1 /* c */
            invokevirtual org.bouncycastle.est.ESTRequest.getURL:()Ljava/net/URL;
            invokevirtual java.net.URL.getPort:()I
            invokeinterface org.bouncycastle.est.ESTClientSourceProvider.makeSource:(Ljava/lang/String;I)Lorg/bouncycastle/est/Source;
            astore 3 /* socketSource */
         3: .line 116
            aload 1 /* c */
            invokevirtual org.bouncycastle.est.ESTRequest.getListener:()Lorg/bouncycastle/est/ESTSourceConnectionListener;
            ifnull 5
         4: .line 118
            aload 1 /* c */
            invokevirtual org.bouncycastle.est.ESTRequest.getListener:()Lorg/bouncycastle/est/ESTSourceConnectionListener;
            aload 3 /* socketSource */
            aload 1 /* c */
            invokeinterface org.bouncycastle.est.ESTSourceConnectionListener.onConnection:(Lorg/bouncycastle/est/Source;Lorg/bouncycastle/est/ESTRequest;)Lorg/bouncycastle/est/ESTRequest;
            astore 1 /* c */
         5: .line 123
      StackMap locals: org.bouncycastle.est.ESTResponse org.bouncycastle.est.Source
      StackMap stack:
            aconst_null
            astore 4 /* os */
        start local 4 // java.io.OutputStream os
         6: .line 125
            ldc "org.bouncycastle.debug.est"
            invokestatic org.bouncycastle.util.Properties.asKeySet:(Ljava/lang/String;)Ljava/util/Set;
            astore 5 /* opts */
        start local 5 // java.util.Set opts
         7: .line 126
            aload 5 /* opts */
            ldc "output"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 127
            aload 5 /* opts */
            ldc "all"
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 129
      StackMap locals: java.io.OutputStream java.util.Set
      StackMap stack:
            new org.bouncycastle.est.jcajce.DefaultESTClient$PrintingOutputStream
            dup
            aload 0 /* this */
            aload 3 /* socketSource */
            invokeinterface org.bouncycastle.est.Source.getOutputStream:()Ljava/io/OutputStream;
            invokespecial org.bouncycastle.est.jcajce.DefaultESTClient$PrintingOutputStream.<init>:(Lorg/bouncycastle/est/jcajce/DefaultESTClient;Ljava/io/OutputStream;)V
            astore 4 /* os */
        10: .line 130
            goto 12
        11: .line 133
      StackMap locals:
      StackMap stack:
            aload 3 /* socketSource */
            invokeinterface org.bouncycastle.est.Source.getOutputStream:()Ljava/io/OutputStream;
            astore 4 /* os */
        12: .line 136
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* c */
            invokevirtual org.bouncycastle.est.ESTRequest.getURL:()Ljava/net/URL;
            invokevirtual java.net.URL.getPath:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* c */
            invokevirtual org.bouncycastle.est.ESTRequest.getURL:()Ljava/net/URL;
            invokevirtual java.net.URL.getQuery:()Ljava/lang/String;
            ifnull 13
            aload 1 /* c */
            invokevirtual org.bouncycastle.est.ESTRequest.getURL:()Ljava/net/URL;
            invokevirtual java.net.URL.getQuery:()Ljava/lang/String;
            goto 14
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        13: ldc ""
      StackMap locals: org.bouncycastle.est.jcajce.DefaultESTClient org.bouncycastle.est.ESTRequest org.bouncycastle.est.ESTResponse org.bouncycastle.est.Source java.io.OutputStream java.util.Set
      StackMap stack: java.lang.StringBuilder java.lang.String
        14: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* req */
        start local 6 // java.lang.String req
        15: .line 138
            new org.bouncycastle.est.ESTRequestBuilder
            dup
            aload 1 /* c */
            invokespecial org.bouncycastle.est.ESTRequestBuilder.<init>:(Lorg/bouncycastle/est/ESTRequest;)V
            astore 7 /* rb */
        start local 7 // org.bouncycastle.est.ESTRequestBuilder rb
        16: .line 140
            aload 1 /* c */
            invokevirtual org.bouncycastle.est.ESTRequest.getHeaders:()Ljava/util/Map;
            astore 8 /* headers */
        start local 8 // java.util.Map headers
        17: .line 142
            aload 8 /* headers */
            ldc "Connection"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 19
        18: .line 144
            aload 7 /* rb */
            ldc "Connection"
            ldc "close"
            invokevirtual org.bouncycastle.est.ESTRequestBuilder.addHeader:(Ljava/lang/String;Ljava/lang/String;)Lorg/bouncycastle/est/ESTRequestBuilder;
            pop
        19: .line 148
      StackMap locals: java.lang.String org.bouncycastle.est.ESTRequestBuilder java.util.Map
      StackMap stack:
            aload 1 /* c */
            invokevirtual org.bouncycastle.est.ESTRequest.getURL:()Ljava/net/URL;
            astore 9 /* u */
        start local 9 // java.net.URL u
        20: .line 149
            aload 9 /* u */
            invokevirtual java.net.URL.getPort:()I
            iconst_m1
            if_icmple 23
        21: .line 151
            aload 7 /* rb */
            ldc "Host"
            ldc "%s:%d"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* u */
            invokevirtual java.net.URL.getHost:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 9 /* u */
            invokevirtual java.net.URL.getPort:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.bouncycastle.est.ESTRequestBuilder.setHeader:(Ljava/lang/String;Ljava/lang/String;)Lorg/bouncycastle/est/ESTRequestBuilder;
            pop
        22: .line 152
            goto 24
        23: .line 155
      StackMap locals: java.net.URL
      StackMap stack:
            aload 7 /* rb */
            ldc "Host"
            aload 9 /* u */
            invokevirtual java.net.URL.getHost:()Ljava/lang/String;
            invokevirtual org.bouncycastle.est.ESTRequestBuilder.setHeader:(Ljava/lang/String;Ljava/lang/String;)Lorg/bouncycastle/est/ESTRequestBuilder;
            pop
        24: .line 159
      StackMap locals:
      StackMap stack:
            aload 7 /* rb */
            invokevirtual org.bouncycastle.est.ESTRequestBuilder.build:()Lorg/bouncycastle/est/ESTRequest;
            astore 10 /* rc */
        start local 10 // org.bouncycastle.est.ESTRequest rc
        25: .line 161
            aload 4 /* os */
            new java.lang.StringBuilder
            dup
            aload 10 /* rc */
            invokevirtual org.bouncycastle.est.ESTRequest.getMethod:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* req */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " HTTP/1.1"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.bouncycastle.est.jcajce.DefaultESTClient.writeLine:(Ljava/io/OutputStream;Ljava/lang/String;)V
        26: .line 164
            aload 10 /* rc */
            invokevirtual org.bouncycastle.est.ESTRequest.getHeaders:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 11 /* it */
        start local 11 // java.util.Iterator it
        27: goto 35
        28: .line 166
      StackMap locals: org.bouncycastle.est.ESTRequest java.util.Iterator
      StackMap stack:
            aload 11 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 12 /* ent */
        start local 12 // java.util.Map$Entry ent
        29: .line 167
            aload 12 /* ent */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 13 /* vs */
        start local 13 // java.lang.String[] vs
        30: .line 169
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        31: goto 34
        32: .line 171
      StackMap locals: java.util.Map$Entry java.lang.String[] int
      StackMap stack:
            aload 4 /* os */
            new java.lang.StringBuilder
            dup
            aload 12 /* ent */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 13 /* vs */
            iload 14 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.bouncycastle.est.jcajce.DefaultESTClient.writeLine:(Ljava/io/OutputStream;Ljava/lang/String;)V
        33: .line 169
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 14 /* i */
            aload 13 /* vs */
            arraylength
            if_icmpne 32
        end local 14 // int i
        end local 13 // java.lang.String[] vs
        end local 12 // java.util.Map$Entry ent
        35: .line 164
      StackMap locals:
      StackMap stack:
            aload 11 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 28
        end local 11 // java.util.Iterator it
        36: .line 175
            aload 4 /* os */
            getstatic org.bouncycastle.est.jcajce.DefaultESTClient.CRLF:[B
            invokevirtual java.io.OutputStream.write:([B)V
        37: .line 176
            aload 4 /* os */
            invokevirtual java.io.OutputStream.flush:()V
        38: .line 178
            aload 10 /* rc */
            aload 4 /* os */
            invokevirtual org.bouncycastle.est.ESTRequest.writeData:(Ljava/io/OutputStream;)V
        39: .line 180
            aload 4 /* os */
            invokevirtual java.io.OutputStream.flush:()V
        40: .line 182
            aload 10 /* rc */
            invokevirtual org.bouncycastle.est.ESTRequest.getHijacker:()Lorg/bouncycastle/est/ESTHijacker;
            ifnull 46
        41: .line 184
            aload 10 /* rc */
            invokevirtual org.bouncycastle.est.ESTRequest.getHijacker:()Lorg/bouncycastle/est/ESTHijacker;
            aload 10 /* rc */
            aload 3 /* socketSource */
            invokeinterface org.bouncycastle.est.ESTHijacker.hijack:(Lorg/bouncycastle/est/ESTRequest;Lorg/bouncycastle/est/Source;)Lorg/bouncycastle/est/ESTResponse;
            astore 2 /* res */
        42: .line 185
            aload 2 /* res */
            astore 16
        43: .line 198
            aload 3 /* socketSource */
            ifnull 45
            aload 2 /* res */
            ifnonnull 45
        44: .line 200
            aload 3 /* socketSource */
            invokeinterface org.bouncycastle.est.Source.close:()V
        45: .line 185
      StackMap locals: org.bouncycastle.est.jcajce.DefaultESTClient org.bouncycastle.est.ESTRequest org.bouncycastle.est.ESTResponse org.bouncycastle.est.Source java.io.OutputStream java.util.Set java.lang.String org.bouncycastle.est.ESTRequestBuilder java.util.Map java.net.URL org.bouncycastle.est.ESTRequest top top top top top org.bouncycastle.est.ESTResponse
      StackMap stack:
            aload 16
            areturn
        46: .line 189
      StackMap locals: org.bouncycastle.est.jcajce.DefaultESTClient org.bouncycastle.est.ESTRequest org.bouncycastle.est.ESTResponse org.bouncycastle.est.Source java.io.OutputStream java.util.Set java.lang.String org.bouncycastle.est.ESTRequestBuilder java.util.Map java.net.URL org.bouncycastle.est.ESTRequest
      StackMap stack:
            new org.bouncycastle.est.ESTResponse
            dup
            aload 10 /* rc */
            aload 3 /* socketSource */
            invokespecial org.bouncycastle.est.ESTResponse.<init>:(Lorg/bouncycastle/est/ESTRequest;Lorg/bouncycastle/est/Source;)V
            astore 2 /* res */
        47: .line 192
            aload 2 /* res */
            astore 16
        48: .line 198
            aload 3 /* socketSource */
            ifnull 50
            aload 2 /* res */
            ifnonnull 50
        49: .line 200
            aload 3 /* socketSource */
            invokeinterface org.bouncycastle.est.Source.close:()V
        50: .line 192
      StackMap locals: org.bouncycastle.est.jcajce.DefaultESTClient org.bouncycastle.est.ESTRequest org.bouncycastle.est.ESTResponse org.bouncycastle.est.Source java.io.OutputStream java.util.Set java.lang.String org.bouncycastle.est.ESTRequestBuilder java.util.Map java.net.URL org.bouncycastle.est.ESTRequest top top top top top org.bouncycastle.est.ESTResponse
      StackMap stack:
            aload 16
            areturn
        end local 10 // org.bouncycastle.est.ESTRequest rc
        end local 9 // java.net.URL u
        end local 8 // java.util.Map headers
        end local 7 // org.bouncycastle.est.ESTRequestBuilder rb
        end local 6 // java.lang.String req
        end local 5 // java.util.Set opts
        end local 4 // java.io.OutputStream os
        51: .line 196
      StackMap locals: org.bouncycastle.est.jcajce.DefaultESTClient org.bouncycastle.est.ESTRequest org.bouncycastle.est.ESTResponse org.bouncycastle.est.Source
      StackMap stack: java.lang.Throwable
            astore 15
        52: .line 198
            aload 3 /* socketSource */
            ifnull 54
            aload 2 /* res */
            ifnonnull 54
        53: .line 200
            aload 3 /* socketSource */
            invokeinterface org.bouncycastle.est.Source.close:()V
        54: .line 202
      StackMap locals: org.bouncycastle.est.jcajce.DefaultESTClient org.bouncycastle.est.ESTRequest org.bouncycastle.est.ESTResponse org.bouncycastle.est.Source top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 15
            athrow
        end local 3 // org.bouncycastle.est.Source socketSource
        end local 2 // org.bouncycastle.est.ESTResponse res
        end local 1 // org.bouncycastle.est.ESTRequest c
        end local 0 // org.bouncycastle.est.jcajce.DefaultESTClient this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   55     0          this  Lorg/bouncycastle/est/jcajce/DefaultESTClient;
            0   55     1             c  Lorg/bouncycastle/est/ESTRequest;
            1   55     2           res  Lorg/bouncycastle/est/ESTResponse;
            2   55     3  socketSource  Lorg/bouncycastle/est/Source;
            6   51     4            os  Ljava/io/OutputStream;
            7   51     5          opts  Ljava/util/Set<Ljava/lang/String;>;
           15   51     6           req  Ljava/lang/String;
           16   51     7            rb  Lorg/bouncycastle/est/ESTRequestBuilder;
           17   51     8       headers  Ljava/util/Map<Ljava/lang/String;[Ljava/lang/String;>;
           20   51     9             u  Ljava/net/URL;
           25   51    10            rc  Lorg/bouncycastle/est/ESTRequest;
           27   36    11            it  Ljava/util/Iterator;
           29   35    12           ent  Ljava/util/Map$Entry<Ljava/lang/String;[Ljava/lang/String;>;
           30   35    13            vs  [Ljava/lang/String;
           31   35    14             i  I
      Exception table:
        from    to  target  type
           2    43      51  any
          46    48      51  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      c     
}
SourceFile: "DefaultESTClient.java"
NestMembers:
  org.bouncycastle.est.jcajce.DefaultESTClient$PrintingOutputStream
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  private PrintingOutputStream = org.bouncycastle.est.jcajce.DefaultESTClient$PrintingOutputStream of org.bouncycastle.est.jcajce.DefaultESTClient