public abstract class io.netty.handler.codec.http.HttpObjectDecoder extends io.netty.handler.codec.ByteToMessageDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.netty.handler.codec.http.HttpObjectDecoder
  super_class: io.netty.handler.codec.ByteToMessageDecoder
{
  private static final java.lang.String EMPTY_VALUE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ""

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

  private final boolean chunkedSupported;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final boolean validateHeaders;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser headerParser;
    descriptor: Lio/netty/handler/codec/http/HttpObjectDecoder$HeaderParser;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.handler.codec.http.HttpObjectDecoder$LineParser lineParser;
    descriptor: Lio/netty/handler/codec/http/HttpObjectDecoder$LineParser;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private io.netty.handler.codec.http.HttpMessage message;
    descriptor: Lio/netty/handler/codec/http/HttpMessage;
    flags: (0x0002) ACC_PRIVATE

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

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

  private volatile boolean resetRequested;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private java.lang.CharSequence name;
    descriptor: Ljava/lang/CharSequence;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.CharSequence value;
    descriptor: Ljava/lang/CharSequence;
    flags: (0x0002) ACC_PRIVATE

  private io.netty.handler.codec.http.LastHttpContent trailer;
    descriptor: Lio/netty/handler/codec/http/LastHttpContent;
    flags: (0x0002) ACC_PRIVATE

  private io.netty.handler.codec.http.HttpObjectDecoder$State currentState;
    descriptor: Lio/netty/handler/codec/http/HttpObjectDecoder$State;
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$io$netty$handler$codec$http$HttpObjectDecoder$State;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 102
            ldc Lio/netty/handler/codec/http/HttpObjectDecoder;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic io.netty.handler.codec.http.HttpObjectDecoder.$assertionsDisabled:Z
         3: .line 103
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
         0: .line 148
            aload 0 /* this */
            sipush 4096
            sipush 8192
            sipush 8192
            iconst_1
            invokespecial io.netty.handler.codec.http.HttpObjectDecoder.<init>:(IIIZ)V
         1: .line 149
            return
        end local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/handler/codec/http/HttpObjectDecoder;

  protected void <init>(int, int, int, boolean);
    descriptor: (IIIZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
        start local 1 // int maxInitialLineLength
        start local 2 // int maxHeaderSize
        start local 3 // int maxChunkSize
        start local 4 // boolean chunkedSupported
         0: .line 156
            aload 0 /* this */
            iload 1 /* maxInitialLineLength */
            iload 2 /* maxHeaderSize */
            iload 3 /* maxChunkSize */
            iload 4 /* chunkedSupported */
            iconst_1
            invokespecial io.netty.handler.codec.http.HttpObjectDecoder.<init>:(IIIZZ)V
         1: .line 157
            return
        end local 4 // boolean chunkedSupported
        end local 3 // int maxChunkSize
        end local 2 // int maxHeaderSize
        end local 1 // int maxInitialLineLength
        end local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Lio/netty/handler/codec/http/HttpObjectDecoder;
            0    2     1  maxInitialLineLength  I
            0    2     2         maxHeaderSize  I
            0    2     3          maxChunkSize  I
            0    2     4      chunkedSupported  Z
    MethodParameters:
                      Name  Flags
      maxInitialLineLength  
      maxHeaderSize         
      maxChunkSize          
      chunkedSupported      

  protected void <init>(int, int, int, boolean, boolean);
    descriptor: (IIIZZ)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
        start local 1 // int maxInitialLineLength
        start local 2 // int maxHeaderSize
        start local 3 // int maxChunkSize
        start local 4 // boolean chunkedSupported
        start local 5 // boolean validateHeaders
         0: .line 165
            aload 0 /* this */
            iload 1 /* maxInitialLineLength */
            iload 2 /* maxHeaderSize */
            iload 3 /* maxChunkSize */
            iload 4 /* chunkedSupported */
            iload 5 /* validateHeaders */
            sipush 128
            invokespecial io.netty.handler.codec.http.HttpObjectDecoder.<init>:(IIIZZI)V
         1: .line 166
            return
        end local 5 // boolean validateHeaders
        end local 4 // boolean chunkedSupported
        end local 3 // int maxChunkSize
        end local 2 // int maxHeaderSize
        end local 1 // int maxInitialLineLength
        end local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Lio/netty/handler/codec/http/HttpObjectDecoder;
            0    2     1  maxInitialLineLength  I
            0    2     2         maxHeaderSize  I
            0    2     3          maxChunkSize  I
            0    2     4      chunkedSupported  Z
            0    2     5       validateHeaders  Z
    MethodParameters:
                      Name  Flags
      maxInitialLineLength  
      maxHeaderSize         
      maxChunkSize          
      chunkedSupported      
      validateHeaders       

  protected void <init>(int, int, int, boolean, boolean, int);
    descriptor: (IIIZZI)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=7
        start local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
        start local 1 // int maxInitialLineLength
        start local 2 // int maxHeaderSize
        start local 3 // int maxChunkSize
        start local 4 // boolean chunkedSupported
        start local 5 // boolean validateHeaders
        start local 6 // int initialBufferSize
         0: .line 168
            aload 0 /* this */
            invokespecial io.netty.handler.codec.ByteToMessageDecoder.<init>:()V
         1: .line 113
            aload 0 /* this */
            ldc -9223372036854775808
            putfield io.netty.handler.codec.http.HttpObjectDecoder.contentLength:J
         2: .line 140
            aload 0 /* this */
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.SKIP_CONTROL_CHARS:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
         3: .line 171
            iload 1 /* maxInitialLineLength */
            ifgt 9
         4: .line 172
            new java.lang.IllegalArgumentException
            dup
         5: .line 173
            new java.lang.StringBuilder
            dup
            ldc "maxInitialLineLength must be a positive integer: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 174
            iload 1 /* maxInitialLineLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         7: .line 173
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 172
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 176
      StackMap locals: io.netty.handler.codec.http.HttpObjectDecoder int int int int int int
      StackMap stack:
            iload 2 /* maxHeaderSize */
            ifgt 15
        10: .line 177
            new java.lang.IllegalArgumentException
            dup
        11: .line 178
            new java.lang.StringBuilder
            dup
            ldc "maxHeaderSize must be a positive integer: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 179
            iload 2 /* maxHeaderSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        13: .line 178
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 177
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 181
      StackMap locals:
      StackMap stack:
            iload 3 /* maxChunkSize */
            ifgt 21
        16: .line 182
            new java.lang.IllegalArgumentException
            dup
        17: .line 183
            new java.lang.StringBuilder
            dup
            ldc "maxChunkSize must be a positive integer: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 184
            iload 3 /* maxChunkSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        19: .line 183
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 182
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 186
      StackMap locals:
      StackMap stack:
            new io.netty.util.internal.AppendableCharSequence
            dup
            iload 6 /* initialBufferSize */
            invokespecial io.netty.util.internal.AppendableCharSequence.<init>:(I)V
            astore 7 /* seq */
        start local 7 // io.netty.util.internal.AppendableCharSequence seq
        22: .line 187
            aload 0 /* this */
            new io.netty.handler.codec.http.HttpObjectDecoder$LineParser
            dup
            aload 7 /* seq */
            iload 1 /* maxInitialLineLength */
            invokespecial io.netty.handler.codec.http.HttpObjectDecoder$LineParser.<init>:(Lio/netty/util/internal/AppendableCharSequence;I)V
            putfield io.netty.handler.codec.http.HttpObjectDecoder.lineParser:Lio/netty/handler/codec/http/HttpObjectDecoder$LineParser;
        23: .line 188
            aload 0 /* this */
            new io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser
            dup
            aload 7 /* seq */
            iload 2 /* maxHeaderSize */
            invokespecial io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser.<init>:(Lio/netty/util/internal/AppendableCharSequence;I)V
            putfield io.netty.handler.codec.http.HttpObjectDecoder.headerParser:Lio/netty/handler/codec/http/HttpObjectDecoder$HeaderParser;
        24: .line 189
            aload 0 /* this */
            iload 3 /* maxChunkSize */
            putfield io.netty.handler.codec.http.HttpObjectDecoder.maxChunkSize:I
        25: .line 190
            aload 0 /* this */
            iload 4 /* chunkedSupported */
            putfield io.netty.handler.codec.http.HttpObjectDecoder.chunkedSupported:Z
        26: .line 191
            aload 0 /* this */
            iload 5 /* validateHeaders */
            putfield io.netty.handler.codec.http.HttpObjectDecoder.validateHeaders:Z
        27: .line 192
            return
        end local 7 // io.netty.util.internal.AppendableCharSequence seq
        end local 6 // int initialBufferSize
        end local 5 // boolean validateHeaders
        end local 4 // boolean chunkedSupported
        end local 3 // int maxChunkSize
        end local 2 // int maxHeaderSize
        end local 1 // int maxInitialLineLength
        end local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   28     0                  this  Lio/netty/handler/codec/http/HttpObjectDecoder;
            0   28     1  maxInitialLineLength  I
            0   28     2         maxHeaderSize  I
            0   28     3          maxChunkSize  I
            0   28     4      chunkedSupported  Z
            0   28     5       validateHeaders  Z
            0   28     6     initialBufferSize  I
           22   28     7                   seq  Lio/netty/util/internal/AppendableCharSequence;
    MethodParameters:
                      Name  Flags
      maxInitialLineLength  
      maxHeaderSize         
      maxChunkSize          
      chunkedSupported      
      validateHeaders       
      initialBufferSize     

  protected void decode(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.util.List<java.lang.Object>);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.buffer.ByteBuf buffer
        start local 3 // java.util.List out
         0: .line 196
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.resetRequested:Z
            ifeq 2
         1: .line 197
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
         2: .line 200
      StackMap locals:
      StackMap stack:
            invokestatic io.netty.handler.codec.http.HttpObjectDecoder.$SWITCH_TABLE$io$netty$handler$codec$http$HttpObjectDecoder$State:()[I
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
            iaload
            tableswitch { // 1 - 11
                    1: 3
                    2: 6
                    3: 19
                    4: 47
                    5: 52
                    6: 66
                    7: 79
                    8: 90
                    9: 100
                   10: 109
                   11: 111
              default: 114
          }
         3: .line 202
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            invokestatic io.netty.handler.codec.http.HttpObjectDecoder.skipControlCharacters:(Lio/netty/buffer/ByteBuf;)Z
            ifne 5
         4: .line 203
            return
         5: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_INITIAL:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
         6: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.lineParser:Lio/netty/handler/codec/http/HttpObjectDecoder$LineParser;
            aload 2 /* buffer */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$LineParser.parse:(Lio/netty/buffer/ByteBuf;)Lio/netty/util/internal/AppendableCharSequence;
            astore 4 /* line */
        start local 4 // io.netty.util.internal.AppendableCharSequence line
         7: .line 209
            aload 4 /* line */
            ifnonnull 9
         8: .line 210
            return
         9: .line 212
      StackMap locals: io.netty.util.internal.AppendableCharSequence
      StackMap stack:
            aload 4 /* line */
            invokestatic io.netty.handler.codec.http.HttpObjectDecoder.splitInitialLine:(Lio/netty/util/internal/AppendableCharSequence;)[Ljava/lang/String;
            astore 5 /* initialLine */
        start local 5 // java.lang.String[] initialLine
        10: .line 213
            aload 5 /* initialLine */
            arraylength
            iconst_3
            if_icmpge 13
        11: .line 215
            aload 0 /* this */
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.SKIP_CONTROL_CHARS:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
        12: .line 216
            return
        13: .line 219
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* initialLine */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.createMessage:([Ljava/lang/String;)Lio/netty/handler/codec/http/HttpMessage;
            putfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
        14: .line 220
            aload 0 /* this */
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_HEADER:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
        end local 5 // java.lang.String[] initialLine
        end local 4 // io.netty.util.internal.AppendableCharSequence line
        15: .line 222
            goto 19
      StackMap locals: io.netty.handler.codec.http.HttpObjectDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List
      StackMap stack: java.lang.Exception
        16: astore 4 /* e */
        start local 4 // java.lang.Exception e
        17: .line 223
            aload 3 /* out */
            aload 0 /* this */
            aload 2 /* buffer */
            aload 4 /* e */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.invalidMessage:(Lio/netty/buffer/ByteBuf;Ljava/lang/Exception;)Lio/netty/handler/codec/http/HttpMessage;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 224
            return
        end local 4 // java.lang.Exception e
        19: .line 227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* buffer */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.readHeaders:(Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            astore 4 /* nextState */
        start local 4 // io.netty.handler.codec.http.HttpObjectDecoder$State nextState
        20: .line 228
            aload 4 /* nextState */
            ifnonnull 22
        21: .line 229
            return
        22: .line 231
      StackMap locals: io.netty.handler.codec.http.HttpObjectDecoder$State
      StackMap stack:
            aload 0 /* this */
            aload 4 /* nextState */
            putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
        23: .line 232
            invokestatic io.netty.handler.codec.http.HttpObjectDecoder.$SWITCH_TABLE$io$netty$handler$codec$http$HttpObjectDecoder$State:()[I
            aload 4 /* nextState */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
            iaload
            lookupswitch { // 2
                    1: 24
                    6: 28
              default: 32
          }
        24: .line 236
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        25: .line 237
            aload 3 /* out */
            getstatic io.netty.handler.codec.http.LastHttpContent.EMPTY_LAST_CONTENT:Lio/netty/handler/codec/http/LastHttpContent;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        26: .line 238
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
        27: .line 239
            return
        28: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkedSupported:Z
            ifne 30
        29: .line 242
            new java.lang.IllegalArgumentException
            dup
            ldc "Chunked messages not supported"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 245
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        31: .line 246
            return
        32: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.contentLength:()J
            lstore 5 /* contentLength */
        start local 5 // long contentLength
        33: .line 255
            lload 5 /* contentLength */
            lconst_0
            lcmp
            ifeq 34
            lload 5 /* contentLength */
            ldc -1
            lcmp
            ifne 38
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.isDecodingRequest:()Z
            ifeq 38
        34: .line 256
      StackMap locals: long
      StackMap stack:
            aload 3 /* out */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        35: .line 257
            aload 3 /* out */
            getstatic io.netty.handler.codec.http.LastHttpContent.EMPTY_LAST_CONTENT:Lio/netty/handler/codec/http/LastHttpContent;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        36: .line 258
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
        37: .line 259
            return
        38: .line 262
      StackMap locals:
      StackMap stack:
            getstatic io.netty.handler.codec.http.HttpObjectDecoder.$assertionsDisabled:Z
            ifne 40
            aload 4 /* nextState */
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_FIXED_LENGTH_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            if_acmpeq 40
        39: .line 263
            aload 4 /* nextState */
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_VARIABLE_LENGTH_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            if_acmpeq 40
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        40: .line 265
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        41: .line 267
            aload 4 /* nextState */
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_FIXED_LENGTH_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            if_acmpne 43
        42: .line 269
            aload 0 /* this */
            lload 5 /* contentLength */
            putfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
        43: .line 273
      StackMap locals:
      StackMap stack:
            return
        end local 5 // long contentLength
        end local 4 // io.netty.handler.codec.http.HttpObjectDecoder$State nextState
        44: .line 275
      StackMap locals: io.netty.handler.codec.http.HttpObjectDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        45: .line 276
            aload 3 /* out */
            aload 0 /* this */
            aload 2 /* buffer */
            aload 4 /* e */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.invalidMessage:(Lio/netty/buffer/ByteBuf;Ljava/lang/Exception;)Lio/netty/handler/codec/http/HttpMessage;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        46: .line 277
            return
        end local 4 // java.lang.Exception e
        47: .line 281
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.maxChunkSize:I
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* toRead */
        start local 4 // int toRead
        48: .line 282
            iload 4 /* toRead */
            ifle 51
        49: .line 283
            aload 2 /* buffer */
            iload 4 /* toRead */
            invokevirtual io.netty.buffer.ByteBuf.readRetainedSlice:(I)Lio/netty/buffer/ByteBuf;
            astore 5 /* content */
        start local 5 // io.netty.buffer.ByteBuf content
        50: .line 284
            aload 3 /* out */
            new io.netty.handler.codec.http.DefaultHttpContent
            dup
            aload 5 /* content */
            invokespecial io.netty.handler.codec.http.DefaultHttpContent.<init>:(Lio/netty/buffer/ByteBuf;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // io.netty.buffer.ByteBuf content
        51: .line 286
      StackMap locals: int
      StackMap stack:
            return
        end local 4 // int toRead
        52: .line 289
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            istore 4 /* readLimit */
        start local 4 // int readLimit
        53: .line 297
            iload 4 /* readLimit */
            ifne 55
        54: .line 298
            return
        55: .line 301
      StackMap locals: int
      StackMap stack:
            iload 4 /* readLimit */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.maxChunkSize:I
            invokestatic java.lang.Math.min:(II)I
            istore 5 /* toRead */
        start local 5 // int toRead
        56: .line 302
            iload 5 /* toRead */
            i2l
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
            lcmp
            ifle 58
        57: .line 303
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
            l2i
            istore 5 /* toRead */
        58: .line 305
      StackMap locals: int
      StackMap stack:
            aload 2 /* buffer */
            iload 5 /* toRead */
            invokevirtual io.netty.buffer.ByteBuf.readRetainedSlice:(I)Lio/netty/buffer/ByteBuf;
            astore 6 /* content */
        start local 6 // io.netty.buffer.ByteBuf content
        59: .line 306
            aload 0 /* this */
            dup
            getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
            iload 5 /* toRead */
            i2l
            lsub
            putfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
        60: .line 308
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
            lconst_0
            lcmp
            ifne 64
        61: .line 310
            aload 3 /* out */
            new io.netty.handler.codec.http.DefaultLastHttpContent
            dup
            aload 6 /* content */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.validateHeaders:Z
            invokespecial io.netty.handler.codec.http.DefaultLastHttpContent.<init>:(Lio/netty/buffer/ByteBuf;Z)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        62: .line 311
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
        63: .line 312
            goto 65
        64: .line 313
      StackMap locals: io.netty.buffer.ByteBuf
      StackMap stack:
            aload 3 /* out */
            new io.netty.handler.codec.http.DefaultHttpContent
            dup
            aload 6 /* content */
            invokespecial io.netty.handler.codec.http.DefaultHttpContent.<init>:(Lio/netty/buffer/ByteBuf;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        65: .line 315
      StackMap locals:
      StackMap stack:
            return
        end local 6 // io.netty.buffer.ByteBuf content
        end local 5 // int toRead
        end local 4 // int readLimit
        66: .line 322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.lineParser:Lio/netty/handler/codec/http/HttpObjectDecoder$LineParser;
            aload 2 /* buffer */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$LineParser.parse:(Lio/netty/buffer/ByteBuf;)Lio/netty/util/internal/AppendableCharSequence;
            astore 4 /* line */
        start local 4 // io.netty.util.internal.AppendableCharSequence line
        67: .line 323
            aload 4 /* line */
            ifnonnull 69
        68: .line 324
            return
        69: .line 326
      StackMap locals: io.netty.util.internal.AppendableCharSequence
      StackMap stack:
            aload 4 /* line */
            invokevirtual io.netty.util.internal.AppendableCharSequence.toString:()Ljava/lang/String;
            invokestatic io.netty.handler.codec.http.HttpObjectDecoder.getChunkSize:(Ljava/lang/String;)I
            istore 5 /* chunkSize */
        start local 5 // int chunkSize
        70: .line 327
            aload 0 /* this */
            iload 5 /* chunkSize */
            i2l
            putfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
        71: .line 328
            iload 5 /* chunkSize */
            ifne 74
        72: .line 329
            aload 0 /* this */
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNK_FOOTER:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
        73: .line 330
            return
        74: .line 332
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNKED_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
        end local 5 // int chunkSize
        end local 4 // io.netty.util.internal.AppendableCharSequence line
        75: .line 334
            goto 79
      StackMap locals: io.netty.handler.codec.http.HttpObjectDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List
      StackMap stack: java.lang.Exception
        76: astore 4 /* e */
        start local 4 // java.lang.Exception e
        77: .line 335
            aload 3 /* out */
            aload 0 /* this */
            aload 2 /* buffer */
            aload 4 /* e */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.invalidChunk:(Lio/netty/buffer/ByteBuf;Ljava/lang/Exception;)Lio/netty/handler/codec/http/HttpContent;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        78: .line 336
            return
        end local 4 // java.lang.Exception e
        79: .line 339
      StackMap locals:
      StackMap stack:
            getstatic io.netty.handler.codec.http.HttpObjectDecoder.$assertionsDisabled:Z
            ifne 80
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
            ldc 2147483647
            lcmp
            ifle 80
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        80: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
            l2i
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.maxChunkSize:I
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* toRead */
        start local 4 // int toRead
        81: .line 341
            iload 4 /* toRead */
            aload 2 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* toRead */
        82: .line 342
            iload 4 /* toRead */
            ifne 84
        83: .line 343
            return
        84: .line 345
      StackMap locals: int
      StackMap stack:
            new io.netty.handler.codec.http.DefaultHttpContent
            dup
            aload 2 /* buffer */
            iload 4 /* toRead */
            invokevirtual io.netty.buffer.ByteBuf.readRetainedSlice:(I)Lio/netty/buffer/ByteBuf;
            invokespecial io.netty.handler.codec.http.DefaultHttpContent.<init>:(Lio/netty/buffer/ByteBuf;)V
            astore 5 /* chunk */
        start local 5 // io.netty.handler.codec.http.HttpContent chunk
        85: .line 346
            aload 0 /* this */
            dup
            getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
            iload 4 /* toRead */
            i2l
            lsub
            putfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
        86: .line 348
            aload 3 /* out */
            aload 5 /* chunk */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        87: .line 350
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
            lconst_0
            lcmp
            ifeq 89
        88: .line 351
            return
        89: .line 353
      StackMap locals: io.netty.handler.codec.http.HttpContent
      StackMap stack:
            aload 0 /* this */
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNK_DELIMITER:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
        end local 5 // io.netty.handler.codec.http.HttpContent chunk
        end local 4 // int toRead
        90: .line 357
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
            istore 4 /* wIdx */
        start local 4 // int wIdx
        91: .line 358
            aload 2 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            istore 5 /* rIdx */
        start local 5 // int rIdx
        92: .line 359
            goto 97
        93: .line 360
      StackMap locals: int int
      StackMap stack:
            aload 2 /* buffer */
            iload 5 /* rIdx */
            iinc 5 /* rIdx */ 1
            invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
            istore 6 /* next */
        start local 6 // byte next
        94: .line 361
            iload 6 /* next */
            bipush 10
            if_icmpne 97
        95: .line 362
            aload 0 /* this */
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNK_SIZE:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
        96: .line 363
            goto 98
        end local 6 // byte next
        97: .line 359
      StackMap locals:
      StackMap stack:
            iload 4 /* wIdx */
            iload 5 /* rIdx */
            if_icmpgt 93
        98: .line 366
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            iload 5 /* rIdx */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
            pop
        99: .line 367
            return
        end local 5 // int rIdx
        end local 4 // int wIdx
       100: .line 370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* buffer */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.readTrailingHeaders:(Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/http/LastHttpContent;
            astore 4 /* trailer */
        start local 4 // io.netty.handler.codec.http.LastHttpContent trailer
       101: .line 371
            aload 4 /* trailer */
            ifnonnull 103
       102: .line 372
            return
       103: .line 374
      StackMap locals: io.netty.handler.codec.http.LastHttpContent
      StackMap stack:
            aload 3 /* out */
            aload 4 /* trailer */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       104: .line 375
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
       105: .line 376
            return
        end local 4 // io.netty.handler.codec.http.LastHttpContent trailer
       106: .line 377
      StackMap locals: io.netty.handler.codec.http.HttpObjectDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
       107: .line 378
            aload 3 /* out */
            aload 0 /* this */
            aload 2 /* buffer */
            aload 4 /* e */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.invalidChunk:(Lio/netty/buffer/ByteBuf;Ljava/lang/Exception;)Lio/netty/handler/codec/http/HttpContent;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       108: .line 379
            return
        end local 4 // java.lang.Exception e
       109: .line 383
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            aload 2 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
            pop
       110: .line 384
            goto 114
       111: .line 387
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            istore 4 /* readableBytes */
        start local 4 // int readableBytes
       112: .line 388
            iload 4 /* readableBytes */
            ifle 114
       113: .line 393
            aload 3 /* out */
            aload 2 /* buffer */
            iload 4 /* readableBytes */
            invokevirtual io.netty.buffer.ByteBuf.readBytes:(I)Lio/netty/buffer/ByteBuf;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // int readableBytes
       114: .line 398
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.List out
        end local 2 // io.netty.buffer.ByteBuf buffer
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  115     0           this  Lio/netty/handler/codec/http/HttpObjectDecoder;
            0  115     1            ctx  Lio/netty/channel/ChannelHandlerContext;
            0  115     2         buffer  Lio/netty/buffer/ByteBuf;
            0  115     3            out  Ljava/util/List<Ljava/lang/Object;>;
            7   15     4           line  Lio/netty/util/internal/AppendableCharSequence;
           10   15     5    initialLine  [Ljava/lang/String;
           17   19     4              e  Ljava/lang/Exception;
           20   44     4      nextState  Lio/netty/handler/codec/http/HttpObjectDecoder$State;
           33   44     5  contentLength  J
           45   47     4              e  Ljava/lang/Exception;
           48   52     4         toRead  I
           50   51     5        content  Lio/netty/buffer/ByteBuf;
           53   66     4      readLimit  I
           56   66     5         toRead  I
           59   66     6        content  Lio/netty/buffer/ByteBuf;
           67   75     4           line  Lio/netty/util/internal/AppendableCharSequence;
           70   75     5      chunkSize  I
           77   79     4              e  Ljava/lang/Exception;
           81   90     4         toRead  I
           85   90     5          chunk  Lio/netty/handler/codec/http/HttpContent;
           91  100     4           wIdx  I
           92  100     5           rIdx  I
           94   97     6           next  B
          101  106     4        trailer  Lio/netty/handler/codec/http/LastHttpContent;
          107  109     4              e  Ljava/lang/Exception;
          112  114     4  readableBytes  I
      Exception table:
        from    to  target  type
           6     8      16  Class java.lang.Exception
           9    12      16  Class java.lang.Exception
          13    15      16  Class java.lang.Exception
          19    21      44  Class java.lang.Exception
          22    27      44  Class java.lang.Exception
          28    31      44  Class java.lang.Exception
          32    37      44  Class java.lang.Exception
          38    43      44  Class java.lang.Exception
          66    68      76  Class java.lang.Exception
          69    73      76  Class java.lang.Exception
          74    75      76  Class java.lang.Exception
         100   102     106  Class java.lang.Exception
         103   105     106  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List<Ljava/lang/Object;>;)V
    MethodParameters:
        Name  Flags
      ctx     
      buffer  
      out     

  protected void decodeLast(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.util.List<java.lang.Object>);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // io.netty.buffer.ByteBuf in
        start local 3 // java.util.List out
         0: .line 402
            aload 0 /* this */
            aload 1 /* ctx */
            aload 2 /* in */
            aload 3 /* out */
            invokespecial io.netty.handler.codec.ByteToMessageDecoder.decodeLast:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
         1: .line 404
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.resetRequested:Z
            ifeq 3
         2: .line 407
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
         3: .line 410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
            ifnull 24
         4: .line 411
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
            invokestatic io.netty.handler.codec.http.HttpUtil.isTransferEncodingChunked:(Lio/netty/handler/codec/http/HttpMessage;)Z
            istore 4 /* chunked */
        start local 4 // boolean chunked
         5: .line 412
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_VARIABLE_LENGTH_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            if_acmpne 9
            aload 2 /* in */
            invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
            ifne 9
            iload 4 /* chunked */
            ifne 9
         6: .line 414
            aload 3 /* out */
            getstatic io.netty.handler.codec.http.LastHttpContent.EMPTY_LAST_CONTENT:Lio/netty/handler/codec/http/LastHttpContent;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 415
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
         8: .line 416
            return
         9: .line 419
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_HEADER:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            if_acmpne 15
        10: .line 422
            aload 3 /* out */
            aload 0 /* this */
            getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
        11: .line 423
            new io.netty.handler.codec.PrematureChannelClosureException
            dup
            ldc "Connection closed before received headers"
            invokespecial io.netty.handler.codec.PrematureChannelClosureException.<init>:(Ljava/lang/String;)V
        12: .line 422
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.invalidMessage:(Lio/netty/buffer/ByteBuf;Ljava/lang/Exception;)Lio/netty/handler/codec/http/HttpMessage;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        13: .line 424
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
        14: .line 425
            return
        15: .line 430
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.isDecodingRequest:()Z
            ifne 16
            iload 4 /* chunked */
            ifeq 18
        16: .line 432
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* prematureClosure */
        start local 5 // boolean prematureClosure
        17: .line 433
            goto 21
        end local 5 // boolean prematureClosure
        18: .line 437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.contentLength:()J
            lconst_0
            lcmp
            ifle 19
            iconst_1
            goto 20
      StackMap locals:
      StackMap stack:
        19: iconst_0
      StackMap locals:
      StackMap stack: int
        20: istore 5 /* prematureClosure */
        start local 5 // boolean prematureClosure
        21: .line 440
      StackMap locals: int
      StackMap stack:
            iload 5 /* prematureClosure */
            ifne 23
        22: .line 441
            aload 3 /* out */
            getstatic io.netty.handler.codec.http.LastHttpContent.EMPTY_LAST_CONTENT:Lio/netty/handler/codec/http/LastHttpContent;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        23: .line 443
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
        end local 5 // boolean prematureClosure
        end local 4 // boolean chunked
        24: .line 445
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.List out
        end local 2 // io.netty.buffer.ByteBuf in
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   25     0              this  Lio/netty/handler/codec/http/HttpObjectDecoder;
            0   25     1               ctx  Lio/netty/channel/ChannelHandlerContext;
            0   25     2                in  Lio/netty/buffer/ByteBuf;
            0   25     3               out  Ljava/util/List<Ljava/lang/Object;>;
            5   24     4           chunked  Z
           17   18     5  prematureClosure  Z
           21   24     5  prematureClosure  Z
    Exceptions:
      throws java.lang.Exception
    Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List<Ljava/lang/Object;>;)V
    MethodParameters:
      Name  Flags
      ctx   
      in    
      out   

  public void userEventTriggered(io.netty.channel.ChannelHandlerContext, java.lang.Object);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
        start local 2 // java.lang.Object evt
         0: .line 449
            aload 2 /* evt */
            instanceof io.netty.handler.codec.http.HttpExpectationFailedEvent
            ifeq 4
         1: .line 450
            invokestatic io.netty.handler.codec.http.HttpObjectDecoder.$SWITCH_TABLE$io$netty$handler$codec$http$HttpObjectDecoder$State:()[I
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
            iaload
            tableswitch { // 4 - 6
                    4: 2
                    5: 2
                    6: 2
              default: 4
          }
         2: .line 454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.reset:()V
         3: .line 455
            goto 4
         4: .line 460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            aload 2 /* evt */
            invokespecial io.netty.handler.codec.ByteToMessageDecoder.userEventTriggered:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
         5: .line 461
            return
        end local 2 // java.lang.Object evt
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/netty/handler/codec/http/HttpObjectDecoder;
            0    6     1   ctx  Lio/netty/channel/ChannelHandlerContext;
            0    6     2   evt  Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   
      evt   

  protected boolean isContentAlwaysEmpty(io.netty.handler.codec.http.HttpMessage);
    descriptor: (Lio/netty/handler/codec/http/HttpMessage;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
        start local 1 // io.netty.handler.codec.http.HttpMessage msg
         0: .line 464
            aload 1 /* msg */
            instanceof io.netty.handler.codec.http.HttpResponse
            ifeq 11
         1: .line 465
            aload 1 /* msg */
            checkcast io.netty.handler.codec.http.HttpResponse
            astore 2 /* res */
        start local 2 // io.netty.handler.codec.http.HttpResponse res
         2: .line 466
            aload 2 /* res */
            invokeinterface io.netty.handler.codec.http.HttpResponse.status:()Lio/netty/handler/codec/http/HttpResponseStatus;
            invokevirtual io.netty.handler.codec.http.HttpResponseStatus.code:()I
            istore 3 /* code */
        start local 3 // int code
         3: .line 473
            iload 3 /* code */
            bipush 100
            if_icmplt 9
            iload 3 /* code */
            sipush 200
            if_icmpge 9
         4: .line 475
            iload 3 /* code */
            bipush 101
            if_icmpne 7
            aload 2 /* res */
            invokeinterface io.netty.handler.codec.http.HttpResponse.headers:()Lio/netty/handler/codec/http/HttpHeaders;
            getstatic io.netty.handler.codec.http.HttpHeaderNames.SEC_WEBSOCKET_ACCEPT:Lio/netty/util/AsciiString;
            invokevirtual io.netty.handler.codec.http.HttpHeaders.contains:(Ljava/lang/CharSequence;)Z
            ifne 7
         5: .line 476
            aload 2 /* res */
            invokeinterface io.netty.handler.codec.http.HttpResponse.headers:()Lio/netty/handler/codec/http/HttpHeaders;
            getstatic io.netty.handler.codec.http.HttpHeaderNames.UPGRADE:Lio/netty/util/AsciiString;
            getstatic io.netty.handler.codec.http.HttpHeaderValues.WEBSOCKET:Lio/netty/util/AsciiString;
            iconst_1
            invokevirtual io.netty.handler.codec.http.HttpHeaders.contains:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Z)Z
            ifeq 7
         6: .line 475
            iconst_0
            goto 8
      StackMap locals: io.netty.handler.codec.http.HttpResponse int
      StackMap stack:
         7: iconst_1
      StackMap locals:
      StackMap stack: int
         8: ireturn
         9: .line 479
      StackMap locals:
      StackMap stack:
            iload 3 /* code */
            lookupswitch { // 2
                  204: 10
                  304: 10
              default: 11
          }
        10: .line 481
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // int code
        end local 2 // io.netty.handler.codec.http.HttpResponse res
        11: .line 484
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // io.netty.handler.codec.http.HttpMessage msg
        end local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lio/netty/handler/codec/http/HttpObjectDecoder;
            0   12     1   msg  Lio/netty/handler/codec/http/HttpMessage;
            2   11     2   res  Lio/netty/handler/codec/http/HttpResponse;
            3   11     3  code  I
    MethodParameters:
      Name  Flags
      msg   

  protected boolean isSwitchingToNonHttp1Protocol(io.netty.handler.codec.http.HttpResponse);
    descriptor: (Lio/netty/handler/codec/http/HttpResponse;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
        start local 1 // io.netty.handler.codec.http.HttpResponse msg
         0: .line 492
            aload 1 /* msg */
            invokeinterface io.netty.handler.codec.http.HttpResponse.status:()Lio/netty/handler/codec/http/HttpResponseStatus;
            invokevirtual io.netty.handler.codec.http.HttpResponseStatus.code:()I
            getstatic io.netty.handler.codec.http.HttpResponseStatus.SWITCHING_PROTOCOLS:Lio/netty/handler/codec/http/HttpResponseStatus;
            invokevirtual io.netty.handler.codec.http.HttpResponseStatus.code:()I
            if_icmpeq 2
         1: .line 493
            iconst_0
            ireturn
         2: .line 495
      StackMap locals:
      StackMap stack:
            aload 1 /* msg */
            invokeinterface io.netty.handler.codec.http.HttpResponse.headers:()Lio/netty/handler/codec/http/HttpHeaders;
            getstatic io.netty.handler.codec.http.HttpHeaderNames.UPGRADE:Lio/netty/util/AsciiString;
            invokevirtual io.netty.handler.codec.http.HttpHeaders.get:(Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 2 /* newProtocol */
        start local 2 // java.lang.String newProtocol
         3: .line 496
            aload 2 /* newProtocol */
            ifnull 7
         4: .line 497
            aload 2 /* newProtocol */
            getstatic io.netty.handler.codec.http.HttpVersion.HTTP_1_0:Lio/netty/handler/codec/http/HttpVersion;
            invokevirtual io.netty.handler.codec.http.HttpVersion.text:()Ljava/lang/String;
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 6
         5: .line 498
            aload 2 /* newProtocol */
            getstatic io.netty.handler.codec.http.HttpVersion.HTTP_1_1:Lio/netty/handler/codec/http/HttpVersion;
            invokevirtual io.netty.handler.codec.http.HttpVersion.text:()Ljava/lang/String;
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 7
         6: .line 496
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_1
            ireturn
        end local 2 // java.lang.String newProtocol
        end local 1 // io.netty.handler.codec.http.HttpResponse msg
        end local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lio/netty/handler/codec/http/HttpObjectDecoder;
            0    8     1          msg  Lio/netty/handler/codec/http/HttpResponse;
            3    8     2  newProtocol  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
         0: .line 506
            aload 0 /* this */
            iconst_1
            putfield io.netty.handler.codec.http.HttpObjectDecoder.resetRequested:Z
         1: .line 507
            return
        end local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/handler/codec/http/HttpObjectDecoder;

  private void resetNow();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
         0: .line 510
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
            astore 1 /* message */
        start local 1 // io.netty.handler.codec.http.HttpMessage message
         1: .line 511
            aload 0 /* this */
            aconst_null
            putfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
         2: .line 512
            aload 0 /* this */
            aconst_null
            putfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
         3: .line 513
            aload 0 /* this */
            aconst_null
            putfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
         4: .line 514
            aload 0 /* this */
            ldc -9223372036854775808
            putfield io.netty.handler.codec.http.HttpObjectDecoder.contentLength:J
         5: .line 515
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.lineParser:Lio/netty/handler/codec/http/HttpObjectDecoder$LineParser;
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$LineParser.reset:()V
         6: .line 516
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.headerParser:Lio/netty/handler/codec/http/HttpObjectDecoder$HeaderParser;
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser.reset:()V
         7: .line 517
            aload 0 /* this */
            aconst_null
            putfield io.netty.handler.codec.http.HttpObjectDecoder.trailer:Lio/netty/handler/codec/http/LastHttpContent;
         8: .line 518
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.isDecodingRequest:()Z
            ifne 13
         9: .line 519
            aload 1 /* message */
            checkcast io.netty.handler.codec.http.HttpResponse
            astore 2 /* res */
        start local 2 // io.netty.handler.codec.http.HttpResponse res
        10: .line 520
            aload 2 /* res */
            ifnull 13
            aload 0 /* this */
            aload 2 /* res */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.isSwitchingToNonHttp1Protocol:(Lio/netty/handler/codec/http/HttpResponse;)Z
            ifeq 13
        11: .line 521
            aload 0 /* this */
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.UPGRADED:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
        12: .line 522
            return
        end local 2 // io.netty.handler.codec.http.HttpResponse res
        13: .line 526
      StackMap locals: io.netty.handler.codec.http.HttpMessage
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.http.HttpObjectDecoder.resetRequested:Z
        14: .line 527
            aload 0 /* this */
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.SKIP_CONTROL_CHARS:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
        15: .line 528
            return
        end local 1 // io.netty.handler.codec.http.HttpMessage message
        end local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lio/netty/handler/codec/http/HttpObjectDecoder;
            1   16     1  message  Lio/netty/handler/codec/http/HttpMessage;
           10   13     2      res  Lio/netty/handler/codec/http/HttpResponse;

  private io.netty.handler.codec.http.HttpMessage invalidMessage(io.netty.buffer.ByteBuf, java.lang.Exception);
    descriptor: (Lio/netty/buffer/ByteBuf;Ljava/lang/Exception;)Lio/netty/handler/codec/http/HttpMessage;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
        start local 1 // io.netty.buffer.ByteBuf in
        start local 2 // java.lang.Exception cause
         0: .line 531
            aload 0 /* this */
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.BAD_MESSAGE:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
         1: .line 535
            aload 1 /* in */
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
            pop
         2: .line 537
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
            ifnonnull 4
         3: .line 538
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.createInvalidMessage:()Lio/netty/handler/codec/http/HttpMessage;
            putfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
         4: .line 540
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
            aload 2 /* cause */
            invokestatic io.netty.handler.codec.DecoderResult.failure:(Ljava/lang/Throwable;)Lio/netty/handler/codec/DecoderResult;
            invokeinterface io.netty.handler.codec.http.HttpMessage.setDecoderResult:(Lio/netty/handler/codec/DecoderResult;)V
         5: .line 542
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
            astore 3 /* ret */
        start local 3 // io.netty.handler.codec.http.HttpMessage ret
         6: .line 543
            aload 0 /* this */
            aconst_null
            putfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
         7: .line 544
            aload 3 /* ret */
            areturn
        end local 3 // io.netty.handler.codec.http.HttpMessage ret
        end local 2 // java.lang.Exception cause
        end local 1 // io.netty.buffer.ByteBuf in
        end local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lio/netty/handler/codec/http/HttpObjectDecoder;
            0    8     1     in  Lio/netty/buffer/ByteBuf;
            0    8     2  cause  Ljava/lang/Exception;
            6    8     3    ret  Lio/netty/handler/codec/http/HttpMessage;
    MethodParameters:
       Name  Flags
      in     
      cause  

  private io.netty.handler.codec.http.HttpContent invalidChunk(io.netty.buffer.ByteBuf, java.lang.Exception);
    descriptor: (Lio/netty/buffer/ByteBuf;Ljava/lang/Exception;)Lio/netty/handler/codec/http/HttpContent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
        start local 1 // io.netty.buffer.ByteBuf in
        start local 2 // java.lang.Exception cause
         0: .line 548
            aload 0 /* this */
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.BAD_MESSAGE:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
         1: .line 552
            aload 1 /* in */
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
            pop
         2: .line 554
            new io.netty.handler.codec.http.DefaultLastHttpContent
            dup
            getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
            invokespecial io.netty.handler.codec.http.DefaultLastHttpContent.<init>:(Lio/netty/buffer/ByteBuf;)V
            astore 3 /* chunk */
        start local 3 // io.netty.handler.codec.http.HttpContent chunk
         3: .line 555
            aload 3 /* chunk */
            aload 2 /* cause */
            invokestatic io.netty.handler.codec.DecoderResult.failure:(Ljava/lang/Throwable;)Lio/netty/handler/codec/DecoderResult;
            invokeinterface io.netty.handler.codec.http.HttpContent.setDecoderResult:(Lio/netty/handler/codec/DecoderResult;)V
         4: .line 556
            aload 0 /* this */
            aconst_null
            putfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
         5: .line 557
            aload 0 /* this */
            aconst_null
            putfield io.netty.handler.codec.http.HttpObjectDecoder.trailer:Lio/netty/handler/codec/http/LastHttpContent;
         6: .line 558
            aload 3 /* chunk */
            areturn
        end local 3 // io.netty.handler.codec.http.HttpContent chunk
        end local 2 // java.lang.Exception cause
        end local 1 // io.netty.buffer.ByteBuf in
        end local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lio/netty/handler/codec/http/HttpObjectDecoder;
            0    7     1     in  Lio/netty/buffer/ByteBuf;
            0    7     2  cause  Ljava/lang/Exception;
            3    7     3  chunk  Lio/netty/handler/codec/http/HttpContent;
    MethodParameters:
       Name  Flags
      in     
      cause  

  private static boolean skipControlCharacters(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // io.netty.buffer.ByteBuf buffer
         0: .line 562
            iconst_0
            istore 1 /* skiped */
        start local 1 // boolean skiped
         1: .line 563
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
            istore 2 /* wIdx */
        start local 2 // int wIdx
         2: .line 564
            aload 0 /* buffer */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            istore 3 /* rIdx */
        start local 3 // int rIdx
         3: .line 565
            goto 9
         4: .line 566
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* buffer */
            iload 3 /* rIdx */
            iinc 3 /* rIdx */ 1
            invokevirtual io.netty.buffer.ByteBuf.getUnsignedByte:(I)S
            istore 4 /* c */
        start local 4 // int c
         5: .line 567
            iload 4 /* c */
            invokestatic java.lang.Character.isISOControl:(I)Z
            ifne 9
            iload 4 /* c */
            invokestatic java.lang.Character.isWhitespace:(I)Z
            ifne 9
         6: .line 568
            iinc 3 /* rIdx */ -1
         7: .line 569
            iconst_1
            istore 1 /* skiped */
         8: .line 570
            goto 10
        end local 4 // int c
         9: .line 565
      StackMap locals:
      StackMap stack:
            iload 2 /* wIdx */
            iload 3 /* rIdx */
            if_icmpgt 4
        10: .line 573
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            iload 3 /* rIdx */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
            pop
        11: .line 574
            iload 1 /* skiped */
            ireturn
        end local 3 // int rIdx
        end local 2 // int wIdx
        end local 1 // boolean skiped
        end local 0 // io.netty.buffer.ByteBuf buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0  buffer  Lio/netty/buffer/ByteBuf;
            1   12     1  skiped  Z
            2   12     2    wIdx  I
            3   12     3    rIdx  I
            5    9     4       c  I
    MethodParameters:
        Name  Flags
      buffer  

  private io.netty.handler.codec.http.HttpObjectDecoder$State readHeaders(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/http/HttpObjectDecoder$State;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
        start local 1 // io.netty.buffer.ByteBuf buffer
         0: .line 578
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
            astore 2 /* message */
        start local 2 // io.netty.handler.codec.http.HttpMessage message
         1: .line 579
            aload 2 /* message */
            invokeinterface io.netty.handler.codec.http.HttpMessage.headers:()Lio/netty/handler/codec/http/HttpHeaders;
            astore 3 /* headers */
        start local 3 // io.netty.handler.codec.http.HttpHeaders headers
         2: .line 581
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.headerParser:Lio/netty/handler/codec/http/HttpObjectDecoder$HeaderParser;
            aload 1 /* buffer */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser.parse:(Lio/netty/buffer/ByteBuf;)Lio/netty/util/internal/AppendableCharSequence;
            astore 4 /* line */
        start local 4 // io.netty.util.internal.AppendableCharSequence line
         3: .line 582
            aload 4 /* line */
            ifnonnull 5
         4: .line 583
            aconst_null
            areturn
         5: .line 585
      StackMap locals: io.netty.handler.codec.http.HttpMessage io.netty.handler.codec.http.HttpHeaders io.netty.util.internal.AppendableCharSequence
      StackMap stack:
            aload 4 /* line */
            invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
            ifle 20
         6: .line 587
      StackMap locals:
      StackMap stack:
            aload 4 /* line */
            iconst_0
            invokevirtual io.netty.util.internal.AppendableCharSequence.charAt:(I)C
            istore 5 /* firstChar */
        start local 5 // char firstChar
         7: .line 588
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
            ifnull 12
            iload 5 /* firstChar */
            bipush 32
            if_icmpeq 8
            iload 5 /* firstChar */
            bipush 9
            if_icmpne 12
         8: .line 591
      StackMap locals: int
      StackMap stack:
            aload 4 /* line */
            invokevirtual io.netty.util.internal.AppendableCharSequence.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 6 /* trimmedLine */
        start local 6 // java.lang.String trimmedLine
         9: .line 592
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            astore 7 /* valueStr */
        start local 7 // java.lang.String valueStr
        10: .line 593
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 7 /* valueStr */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 6 /* trimmedLine */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
        end local 7 // java.lang.String valueStr
        end local 6 // java.lang.String trimmedLine
        11: .line 594
            goto 15
        12: .line 595
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
            ifnull 14
        13: .line 596
            aload 3 /* headers */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
            invokevirtual io.netty.handler.codec.http.HttpHeaders.add:(Ljava/lang/CharSequence;Ljava/lang/Object;)Lio/netty/handler/codec/http/HttpHeaders;
            pop
        14: .line 598
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* line */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.splitHeader:(Lio/netty/util/internal/AppendableCharSequence;)V
        15: .line 601
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.headerParser:Lio/netty/handler/codec/http/HttpObjectDecoder$HeaderParser;
            aload 1 /* buffer */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser.parse:(Lio/netty/buffer/ByteBuf;)Lio/netty/util/internal/AppendableCharSequence;
            astore 4 /* line */
        16: .line 602
            aload 4 /* line */
            ifnonnull 18
        17: .line 603
            aconst_null
            areturn
        end local 5 // char firstChar
        18: .line 605
      StackMap locals:
      StackMap stack:
            aload 4 /* line */
            invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
        19: .line 586
            ifgt 6
        20: .line 609
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
            ifnull 22
        21: .line 610
            aload 3 /* headers */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
            invokevirtual io.netty.handler.codec.http.HttpHeaders.add:(Ljava/lang/CharSequence;Ljava/lang/Object;)Lio/netty/handler/codec/http/HttpHeaders;
            pop
        22: .line 613
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
        23: .line 614
            aload 0 /* this */
            aconst_null
            putfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
        24: .line 618
            aload 0 /* this */
            aload 2 /* message */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.isContentAlwaysEmpty:(Lio/netty/handler/codec/http/HttpMessage;)Z
            ifeq 28
        25: .line 619
            aload 2 /* message */
            iconst_0
            invokestatic io.netty.handler.codec.http.HttpUtil.setTransferEncodingChunked:(Lio/netty/handler/codec/http/HttpMessage;Z)V
        26: .line 620
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.SKIP_CONTROL_CHARS:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            astore 5 /* nextState */
        start local 5 // io.netty.handler.codec.http.HttpObjectDecoder$State nextState
        27: .line 621
            goto 35
        end local 5 // io.netty.handler.codec.http.HttpObjectDecoder$State nextState
      StackMap locals:
      StackMap stack:
        28: aload 2 /* message */
            invokestatic io.netty.handler.codec.http.HttpUtil.isTransferEncodingChunked:(Lio/netty/handler/codec/http/HttpMessage;)Z
            ifeq 31
        29: .line 622
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNK_SIZE:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            astore 5 /* nextState */
        start local 5 // io.netty.handler.codec.http.HttpObjectDecoder$State nextState
        30: .line 623
            goto 35
        end local 5 // io.netty.handler.codec.http.HttpObjectDecoder$State nextState
      StackMap locals:
      StackMap stack:
        31: aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.contentLength:()J
            lconst_0
            lcmp
            iflt 34
        32: .line 624
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_FIXED_LENGTH_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            astore 5 /* nextState */
        start local 5 // io.netty.handler.codec.http.HttpObjectDecoder$State nextState
        33: .line 625
            goto 35
        end local 5 // io.netty.handler.codec.http.HttpObjectDecoder$State nextState
        34: .line 626
      StackMap locals:
      StackMap stack:
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_VARIABLE_LENGTH_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            astore 5 /* nextState */
        start local 5 // io.netty.handler.codec.http.HttpObjectDecoder$State nextState
        35: .line 628
      StackMap locals: io.netty.handler.codec.http.HttpObjectDecoder$State
      StackMap stack:
            aload 5 /* nextState */
            areturn
        end local 5 // io.netty.handler.codec.http.HttpObjectDecoder$State nextState
        end local 4 // io.netty.util.internal.AppendableCharSequence line
        end local 3 // io.netty.handler.codec.http.HttpHeaders headers
        end local 2 // io.netty.handler.codec.http.HttpMessage message
        end local 1 // io.netty.buffer.ByteBuf buffer
        end local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   36     0         this  Lio/netty/handler/codec/http/HttpObjectDecoder;
            0   36     1       buffer  Lio/netty/buffer/ByteBuf;
            1   36     2      message  Lio/netty/handler/codec/http/HttpMessage;
            2   36     3      headers  Lio/netty/handler/codec/http/HttpHeaders;
            3   36     4         line  Lio/netty/util/internal/AppendableCharSequence;
            7   18     5    firstChar  C
            9   11     6  trimmedLine  Ljava/lang/String;
           10   11     7     valueStr  Ljava/lang/String;
           27   28     5    nextState  Lio/netty/handler/codec/http/HttpObjectDecoder$State;
           30   31     5    nextState  Lio/netty/handler/codec/http/HttpObjectDecoder$State;
           33   34     5    nextState  Lio/netty/handler/codec/http/HttpObjectDecoder$State;
           35   36     5    nextState  Lio/netty/handler/codec/http/HttpObjectDecoder$State;
    MethodParameters:
        Name  Flags
      buffer  

  private long contentLength();
    descriptor: ()J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
         0: .line 632
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.contentLength:J
            ldc -9223372036854775808
            lcmp
            ifne 2
         1: .line 633
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
            ldc -1
            invokestatic io.netty.handler.codec.http.HttpUtil.getContentLength:(Lio/netty/handler/codec/http/HttpMessage;J)J
            putfield io.netty.handler.codec.http.HttpObjectDecoder.contentLength:J
         2: .line 635
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.contentLength:J
            lreturn
        end local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/handler/codec/http/HttpObjectDecoder;

  private io.netty.handler.codec.http.LastHttpContent readTrailingHeaders(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/http/LastHttpContent;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
        start local 1 // io.netty.buffer.ByteBuf buffer
         0: .line 639
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.headerParser:Lio/netty/handler/codec/http/HttpObjectDecoder$HeaderParser;
            aload 1 /* buffer */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser.parse:(Lio/netty/buffer/ByteBuf;)Lio/netty/util/internal/AppendableCharSequence;
            astore 2 /* line */
        start local 2 // io.netty.util.internal.AppendableCharSequence line
         1: .line 640
            aload 2 /* line */
            ifnonnull 3
         2: .line 641
            aconst_null
            areturn
         3: .line 643
      StackMap locals: io.netty.util.internal.AppendableCharSequence
      StackMap stack:
            aconst_null
            astore 3 /* lastHeader */
        start local 3 // java.lang.CharSequence lastHeader
         4: .line 644
            aload 2 /* line */
            invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
            ifle 33
         5: .line 645
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.trailer:Lio/netty/handler/codec/http/LastHttpContent;
            astore 4 /* trailer */
        start local 4 // io.netty.handler.codec.http.LastHttpContent trailer
         6: .line 646
            aload 4 /* trailer */
            ifnonnull 8
         7: .line 647
            aload 0 /* this */
            new io.netty.handler.codec.http.DefaultLastHttpContent
            dup
            getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.validateHeaders:Z
            invokespecial io.netty.handler.codec.http.DefaultLastHttpContent.<init>:(Lio/netty/buffer/ByteBuf;Z)V
            dup_x1
            putfield io.netty.handler.codec.http.HttpObjectDecoder.trailer:Lio/netty/handler/codec/http/LastHttpContent;
            astore 4 /* trailer */
         8: .line 650
      StackMap locals: java.lang.CharSequence io.netty.handler.codec.http.LastHttpContent
      StackMap stack:
            aload 2 /* line */
            iconst_0
            invokevirtual io.netty.util.internal.AppendableCharSequence.charAt:(I)C
            istore 5 /* firstChar */
        start local 5 // char firstChar
         9: .line 651
            aload 3 /* lastHeader */
            ifnull 17
            iload 5 /* firstChar */
            bipush 32
            if_icmpeq 10
            iload 5 /* firstChar */
            bipush 9
            if_icmpne 17
        10: .line 652
      StackMap locals: int
      StackMap stack:
            aload 4 /* trailer */
            invokeinterface io.netty.handler.codec.http.LastHttpContent.trailingHeaders:()Lio/netty/handler/codec/http/HttpHeaders;
            aload 3 /* lastHeader */
            invokevirtual io.netty.handler.codec.http.HttpHeaders.getAll:(Ljava/lang/CharSequence;)Ljava/util/List;
            astore 6 /* current */
        start local 6 // java.util.List current
        11: .line 653
            aload 6 /* current */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 26
        12: .line 654
            aload 6 /* current */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 7 /* lastPos */
        start local 7 // int lastPos
        13: .line 657
            aload 2 /* line */
            invokevirtual io.netty.util.internal.AppendableCharSequence.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 8 /* lineTrimmed */
        start local 8 // java.lang.String lineTrimmed
        14: .line 658
            aload 6 /* current */
            iload 7 /* lastPos */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* currentLastPos */
        start local 9 // java.lang.String currentLastPos
        15: .line 659
            aload 6 /* current */
            iload 7 /* lastPos */
            new java.lang.StringBuilder
            dup
            aload 9 /* currentLastPos */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* lineTrimmed */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // java.lang.String currentLastPos
        end local 8 // java.lang.String lineTrimmed
        end local 7 // int lastPos
        end local 6 // java.util.List current
        16: .line 661
            goto 26
        17: .line 662
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* line */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.splitHeader:(Lio/netty/util/internal/AppendableCharSequence;)V
        18: .line 663
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
            astore 6 /* headerName */
        start local 6 // java.lang.CharSequence headerName
        19: .line 664
            getstatic io.netty.handler.codec.http.HttpHeaderNames.CONTENT_LENGTH:Lio/netty/util/AsciiString;
            aload 6 /* headerName */
            invokevirtual io.netty.util.AsciiString.contentEqualsIgnoreCase:(Ljava/lang/CharSequence;)Z
            ifne 23
        20: .line 665
            getstatic io.netty.handler.codec.http.HttpHeaderNames.TRANSFER_ENCODING:Lio/netty/util/AsciiString;
            aload 6 /* headerName */
            invokevirtual io.netty.util.AsciiString.contentEqualsIgnoreCase:(Ljava/lang/CharSequence;)Z
            ifne 23
        21: .line 666
            getstatic io.netty.handler.codec.http.HttpHeaderNames.TRAILER:Lio/netty/util/AsciiString;
            aload 6 /* headerName */
            invokevirtual io.netty.util.AsciiString.contentEqualsIgnoreCase:(Ljava/lang/CharSequence;)Z
            ifne 23
        22: .line 667
            aload 4 /* trailer */
            invokeinterface io.netty.handler.codec.http.LastHttpContent.trailingHeaders:()Lio/netty/handler/codec/http/HttpHeaders;
            aload 6 /* headerName */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
            invokevirtual io.netty.handler.codec.http.HttpHeaders.add:(Ljava/lang/CharSequence;Ljava/lang/Object;)Lio/netty/handler/codec/http/HttpHeaders;
            pop
        23: .line 669
      StackMap locals: java.lang.CharSequence
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
            astore 3 /* lastHeader */
        24: .line 671
            aload 0 /* this */
            aconst_null
            putfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
        25: .line 672
            aload 0 /* this */
            aconst_null
            putfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
        end local 6 // java.lang.CharSequence headerName
        26: .line 675
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.HttpObjectDecoder.headerParser:Lio/netty/handler/codec/http/HttpObjectDecoder$HeaderParser;
            aload 1 /* buffer */
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser.parse:(Lio/netty/buffer/ByteBuf;)Lio/netty/util/internal/AppendableCharSequence;
            astore 2 /* line */
        27: .line 676
            aload 2 /* line */
            ifnonnull 29
        28: .line 677
            aconst_null
            areturn
        end local 5 // char firstChar
        29: .line 679
      StackMap locals:
      StackMap stack:
            aload 2 /* line */
            invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
        30: .line 649
            ifgt 8
        31: .line 681
            aload 0 /* this */
            aconst_null
            putfield io.netty.handler.codec.http.HttpObjectDecoder.trailer:Lio/netty/handler/codec/http/LastHttpContent;
        32: .line 682
            aload 4 /* trailer */
            areturn
        end local 4 // io.netty.handler.codec.http.LastHttpContent trailer
        33: .line 685
      StackMap locals:
      StackMap stack:
            getstatic io.netty.handler.codec.http.LastHttpContent.EMPTY_LAST_CONTENT:Lio/netty/handler/codec/http/LastHttpContent;
            areturn
        end local 3 // java.lang.CharSequence lastHeader
        end local 2 // io.netty.util.internal.AppendableCharSequence line
        end local 1 // io.netty.buffer.ByteBuf buffer
        end local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   34     0            this  Lio/netty/handler/codec/http/HttpObjectDecoder;
            0   34     1          buffer  Lio/netty/buffer/ByteBuf;
            1   34     2            line  Lio/netty/util/internal/AppendableCharSequence;
            4   34     3      lastHeader  Ljava/lang/CharSequence;
            6   33     4         trailer  Lio/netty/handler/codec/http/LastHttpContent;
            9   29     5       firstChar  C
           11   16     6         current  Ljava/util/List<Ljava/lang/String;>;
           13   16     7         lastPos  I
           14   16     8     lineTrimmed  Ljava/lang/String;
           15   16     9  currentLastPos  Ljava/lang/String;
           19   26     6      headerName  Ljava/lang/CharSequence;
    MethodParameters:
        Name  Flags
      buffer  

  protected abstract boolean isDecodingRequest();
    descriptor: ()Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract io.netty.handler.codec.http.HttpMessage createMessage(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Lio/netty/handler/codec/http/HttpMessage;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
             Name  Flags
      initialLine  

  protected abstract io.netty.handler.codec.http.HttpMessage createInvalidMessage();
    descriptor: ()Lio/netty/handler/codec/http/HttpMessage;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  private static int getChunkSize(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String hex
         0: .line 693
            aload 0 /* hex */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 0 /* hex */
         1: .line 694
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 8
         3: .line 695
      StackMap locals: int
      StackMap stack:
            aload 0 /* hex */
            iload 1 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* c */
        start local 2 // char c
         4: .line 696
            iload 2 /* c */
            bipush 59
            if_icmpeq 5
            iload 2 /* c */
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifne 5
            iload 2 /* c */
            invokestatic java.lang.Character.isISOControl:(C)Z
            ifeq 7
         5: .line 697
      StackMap locals: int
      StackMap stack:
            aload 0 /* hex */
            iconst_0
            iload 1 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 0 /* hex */
         6: .line 698
            goto 9
        end local 2 // char c
         7: .line 694
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 1 /* i */
            aload 0 /* hex */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 1 // int i
         9: .line 702
      StackMap locals:
      StackMap stack:
            aload 0 /* hex */
            bipush 16
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
            ireturn
        end local 0 // java.lang.String hex
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0   hex  Ljava/lang/String;
            2    9     1     i  I
            4    7     2     c  C
    MethodParameters:
      Name  Flags
      hex   

  private static java.lang.String[] splitInitialLine(io.netty.util.internal.AppendableCharSequence);
    descriptor: (Lio/netty/util/internal/AppendableCharSequence;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // io.netty.util.internal.AppendableCharSequence sb
         0: .line 713
            aload 0 /* sb */
            iconst_0
            invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findNonWhitespace:(Lio/netty/util/internal/AppendableCharSequence;I)I
            istore 1 /* aStart */
        start local 1 // int aStart
         1: .line 714
            aload 0 /* sb */
            iload 1 /* aStart */
            invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findWhitespace:(Lio/netty/util/internal/AppendableCharSequence;I)I
            istore 2 /* aEnd */
        start local 2 // int aEnd
         2: .line 716
            aload 0 /* sb */
            iload 2 /* aEnd */
            invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findNonWhitespace:(Lio/netty/util/internal/AppendableCharSequence;I)I
            istore 3 /* bStart */
        start local 3 // int bStart
         3: .line 717
            aload 0 /* sb */
            iload 3 /* bStart */
            invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findWhitespace:(Lio/netty/util/internal/AppendableCharSequence;I)I
            istore 4 /* bEnd */
        start local 4 // int bEnd
         4: .line 719
            aload 0 /* sb */
            iload 4 /* bEnd */
            invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findNonWhitespace:(Lio/netty/util/internal/AppendableCharSequence;I)I
            istore 5 /* cStart */
        start local 5 // int cStart
         5: .line 720
            aload 0 /* sb */
            invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findEndOfString:(Lio/netty/util/internal/AppendableCharSequence;)I
            istore 6 /* cEnd */
        start local 6 // int cEnd
         6: .line 722
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
         7: .line 723
            aload 0 /* sb */
            iload 1 /* aStart */
            iload 2 /* aEnd */
            invokevirtual io.netty.util.internal.AppendableCharSequence.subStringUnsafe:(II)Ljava/lang/String;
            aastore
            dup
            iconst_1
         8: .line 724
            aload 0 /* sb */
            iload 3 /* bStart */
            iload 4 /* bEnd */
            invokevirtual io.netty.util.internal.AppendableCharSequence.subStringUnsafe:(II)Ljava/lang/String;
            aastore
            dup
            iconst_2
         9: .line 725
            iload 5 /* cStart */
            iload 6 /* cEnd */
            if_icmpge 10
            aload 0 /* sb */
            iload 5 /* cStart */
            iload 6 /* cEnd */
            invokevirtual io.netty.util.internal.AppendableCharSequence.subStringUnsafe:(II)Ljava/lang/String;
            goto 11
      StackMap locals: io.netty.util.internal.AppendableCharSequence int int int int int int
      StackMap stack: java.lang.String[] java.lang.String[] int
        10: ldc ""
      StackMap locals: io.netty.util.internal.AppendableCharSequence int int int int int int
      StackMap stack: java.lang.String[] java.lang.String[] int java.lang.String
        11: aastore
        12: .line 722
            areturn
        end local 6 // int cEnd
        end local 5 // int cStart
        end local 4 // int bEnd
        end local 3 // int bStart
        end local 2 // int aEnd
        end local 1 // int aStart
        end local 0 // io.netty.util.internal.AppendableCharSequence sb
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0      sb  Lio/netty/util/internal/AppendableCharSequence;
            1   13     1  aStart  I
            2   13     2    aEnd  I
            3   13     3  bStart  I
            4   13     4    bEnd  I
            5   13     5  cStart  I
            6   13     6    cEnd  I
    MethodParameters:
      Name  Flags
      sb    

  private void splitHeader(io.netty.util.internal.AppendableCharSequence);
    descriptor: (Lio/netty/util/internal/AppendableCharSequence;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
        start local 1 // io.netty.util.internal.AppendableCharSequence sb
         0: .line 729
            aload 1 /* sb */
            invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
            istore 2 /* length */
        start local 2 // int length
         1: .line 736
            aload 1 /* sb */
            iconst_0
            invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findNonWhitespace:(Lio/netty/util/internal/AppendableCharSequence;I)I
            istore 3 /* nameStart */
        start local 3 // int nameStart
         2: .line 737
            iload 3 /* nameStart */
            istore 4 /* nameEnd */
        start local 4 // int nameEnd
         3: goto 8
         4: .line 738
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* sb */
            iload 4 /* nameEnd */
            invokevirtual io.netty.util.internal.AppendableCharSequence.charAt:(I)C
            istore 8 /* ch */
        start local 8 // char ch
         5: .line 739
            iload 8 /* ch */
            bipush 58
            if_icmpeq 9
            iload 8 /* ch */
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifeq 7
         6: .line 740
            goto 9
        end local 8 // char ch
         7: .line 737
      StackMap locals:
      StackMap stack:
            iinc 4 /* nameEnd */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* nameEnd */
            iload 2 /* length */
            if_icmplt 4
         9: .line 744
      StackMap locals:
      StackMap stack:
            iload 4 /* nameEnd */
            istore 5 /* colonEnd */
        start local 5 // int colonEnd
        10: goto 15
        11: .line 745
      StackMap locals: int
      StackMap stack:
            aload 1 /* sb */
            iload 5 /* colonEnd */
            invokevirtual io.netty.util.internal.AppendableCharSequence.charAt:(I)C
            bipush 58
            if_icmpne 14
        12: .line 746
            iinc 5 /* colonEnd */ 1
        13: .line 747
            goto 16
        14: .line 744
      StackMap locals:
      StackMap stack:
            iinc 5 /* colonEnd */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* colonEnd */
            iload 2 /* length */
            if_icmplt 11
        16: .line 751
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sb */
            iload 3 /* nameStart */
            iload 4 /* nameEnd */
            invokevirtual io.netty.util.internal.AppendableCharSequence.subStringUnsafe:(II)Ljava/lang/String;
            putfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
        17: .line 752
            aload 1 /* sb */
            iload 5 /* colonEnd */
            invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findNonWhitespace:(Lio/netty/util/internal/AppendableCharSequence;I)I
            istore 6 /* valueStart */
        start local 6 // int valueStart
        18: .line 753
            iload 6 /* valueStart */
            iload 2 /* length */
            if_icmpne 21
        19: .line 754
            aload 0 /* this */
            ldc ""
            putfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
        20: .line 755
            goto 23
        21: .line 756
      StackMap locals: int
      StackMap stack:
            aload 1 /* sb */
            invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findEndOfString:(Lio/netty/util/internal/AppendableCharSequence;)I
            istore 7 /* valueEnd */
        start local 7 // int valueEnd
        22: .line 757
            aload 0 /* this */
            aload 1 /* sb */
            iload 6 /* valueStart */
            iload 7 /* valueEnd */
            invokevirtual io.netty.util.internal.AppendableCharSequence.subStringUnsafe:(II)Ljava/lang/String;
            putfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
        end local 7 // int valueEnd
        23: .line 759
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int valueStart
        end local 5 // int colonEnd
        end local 4 // int nameEnd
        end local 3 // int nameStart
        end local 2 // int length
        end local 1 // io.netty.util.internal.AppendableCharSequence sb
        end local 0 // io.netty.handler.codec.http.HttpObjectDecoder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Lio/netty/handler/codec/http/HttpObjectDecoder;
            0   24     1          sb  Lio/netty/util/internal/AppendableCharSequence;
            1   24     2      length  I
            2   24     3   nameStart  I
            3   24     4     nameEnd  I
           10   24     5    colonEnd  I
           18   24     6  valueStart  I
           22   23     7    valueEnd  I
            5    7     8          ch  C
    MethodParameters:
      Name  Flags
      sb    

  private static int findNonWhitespace(io.netty.util.internal.AppendableCharSequence, int);
    descriptor: (Lio/netty/util/internal/AppendableCharSequence;I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.util.internal.AppendableCharSequence sb
        start local 1 // int offset
         0: .line 762
            iload 1 /* offset */
            istore 2 /* result */
        start local 2 // int result
         1: goto 5
         2: .line 763
      StackMap locals: int
      StackMap stack:
            aload 0 /* sb */
            iload 2 /* result */
            invokevirtual io.netty.util.internal.AppendableCharSequence.charAtUnsafe:(I)C
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifne 4
         3: .line 764
            iload 2 /* result */
            ireturn
         4: .line 762
      StackMap locals:
      StackMap stack:
            iinc 2 /* result */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* result */
            aload 0 /* sb */
            invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
            if_icmplt 2
        end local 2 // int result
         6: .line 767
            aload 0 /* sb */
            invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
            ireturn
        end local 1 // int offset
        end local 0 // io.netty.util.internal.AppendableCharSequence sb
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0      sb  Lio/netty/util/internal/AppendableCharSequence;
            0    7     1  offset  I
            1    6     2  result  I
    MethodParameters:
        Name  Flags
      sb      
      offset  

  private static int findWhitespace(io.netty.util.internal.AppendableCharSequence, int);
    descriptor: (Lio/netty/util/internal/AppendableCharSequence;I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.util.internal.AppendableCharSequence sb
        start local 1 // int offset
         0: .line 771
            iload 1 /* offset */
            istore 2 /* result */
        start local 2 // int result
         1: goto 5
         2: .line 772
      StackMap locals: int
      StackMap stack:
            aload 0 /* sb */
            iload 2 /* result */
            invokevirtual io.netty.util.internal.AppendableCharSequence.charAtUnsafe:(I)C
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifeq 4
         3: .line 773
            iload 2 /* result */
            ireturn
         4: .line 771
      StackMap locals:
      StackMap stack:
            iinc 2 /* result */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* result */
            aload 0 /* sb */
            invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
            if_icmplt 2
        end local 2 // int result
         6: .line 776
            aload 0 /* sb */
            invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
            ireturn
        end local 1 // int offset
        end local 0 // io.netty.util.internal.AppendableCharSequence sb
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0      sb  Lio/netty/util/internal/AppendableCharSequence;
            0    7     1  offset  I
            1    6     2  result  I
    MethodParameters:
        Name  Flags
      sb      
      offset  

  private static int findEndOfString(io.netty.util.internal.AppendableCharSequence);
    descriptor: (Lio/netty/util/internal/AppendableCharSequence;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.netty.util.internal.AppendableCharSequence sb
         0: .line 780
            aload 0 /* sb */
            invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
            iconst_1
            isub
            istore 1 /* result */
        start local 1 // int result
         1: goto 5
         2: .line 781
      StackMap locals: int
      StackMap stack:
            aload 0 /* sb */
            iload 1 /* result */
            invokevirtual io.netty.util.internal.AppendableCharSequence.charAtUnsafe:(I)C
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifne 4
         3: .line 782
            iload 1 /* result */
            iconst_1
            iadd
            ireturn
         4: .line 780
      StackMap locals:
      StackMap stack:
            iinc 1 /* result */ -1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* result */
            ifgt 2
        end local 1 // int result
         6: .line 785
            iconst_0
            ireturn
        end local 0 // io.netty.util.internal.AppendableCharSequence sb
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0      sb  Lio/netty/util/internal/AppendableCharSequence;
            1    6     1  result  I
    MethodParameters:
      Name  Flags
      sb    

  static int[] $SWITCH_TABLE$io$netty$handler$codec$http$HttpObjectDecoder$State();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 102
            getstatic io.netty.handler.codec.http.HttpObjectDecoder.$SWITCH_TABLE$io$netty$handler$codec$http$HttpObjectDecoder$State:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic io.netty.handler.codec.http.HttpObjectDecoder$State.values:()[Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.BAD_MESSAGE:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
            bipush 10
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNKED_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.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 io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNK_DELIMITER:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.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 io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNK_FOOTER:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
            bipush 9
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNK_SIZE:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_FIXED_LENGTH_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
            iconst_5
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_HEADER:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
            iconst_3
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_INITIAL:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
            iconst_2
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_VARIABLE_LENGTH_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
            iconst_4
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.SKIP_CONTROL_CHARS:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
            iconst_1
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.UPGRADED:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
            invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
            bipush 11
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            dup
            putstatic io.netty.handler.codec.http.HttpObjectDecoder.$SWITCH_TABLE$io$netty$handler$codec$http$HttpObjectDecoder$State:[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
}
SourceFile: "HttpObjectDecoder.java"
NestMembers:
  io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser  io.netty.handler.codec.http.HttpObjectDecoder$LineParser  io.netty.handler.codec.http.HttpObjectDecoder$State
InnerClasses:
  private HeaderParser = io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser of io.netty.handler.codec.http.HttpObjectDecoder
  private final LineParser = io.netty.handler.codec.http.HttpObjectDecoder$LineParser of io.netty.handler.codec.http.HttpObjectDecoder
  private final State = io.netty.handler.codec.http.HttpObjectDecoder$State of io.netty.handler.codec.http.HttpObjectDecoder