public class io.netty.handler.codec.compression.JdkZlibDecoder extends io.netty.handler.codec.compression.ZlibDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.netty.handler.codec.compression.JdkZlibDecoder
  super_class: io.netty.handler.codec.compression.ZlibDecoder
{
  private static final int FHCRC;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

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

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

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

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

  private java.util.zip.Inflater inflater;
    descriptor: Ljava/util/zip/Inflater;
    flags: (0x0002) ACC_PRIVATE

  private final byte[] dictionary;
    descriptor: [B
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.handler.codec.compression.ByteBufChecksum crc;
    descriptor: Lio/netty/handler/codec/compression/ByteBufChecksum;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private io.netty.handler.codec.compression.JdkZlibDecoder$GzipState gzipState;
    descriptor: Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
    flags: (0x0002) ACC_PRIVATE

  private int flags;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int xlen;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
         0: .line 67
            aload 0 /* this */
            getstatic io.netty.handler.codec.compression.ZlibWrapper.ZLIB:Lio/netty/handler/codec/compression/ZlibWrapper;
            aconst_null
            iconst_0
            invokespecial io.netty.handler.codec.compression.JdkZlibDecoder.<init>:(Lio/netty/handler/codec/compression/ZlibWrapper;[BZ)V
         1: .line 68
            return
        end local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/handler/codec/compression/JdkZlibDecoder;

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
        start local 1 // byte[] dictionary
         0: .line 76
            aload 0 /* this */
            getstatic io.netty.handler.codec.compression.ZlibWrapper.ZLIB:Lio/netty/handler/codec/compression/ZlibWrapper;
            aload 1 /* dictionary */
            iconst_0
            invokespecial io.netty.handler.codec.compression.JdkZlibDecoder.<init>:(Lio/netty/handler/codec/compression/ZlibWrapper;[BZ)V
         1: .line 77
            return
        end local 1 // byte[] dictionary
        end local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/netty/handler/codec/compression/JdkZlibDecoder;
            0    2     1  dictionary  [B
    MethodParameters:
            Name  Flags
      dictionary  

  public void <init>(io.netty.handler.codec.compression.ZlibWrapper);
    descriptor: (Lio/netty/handler/codec/compression/ZlibWrapper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
        start local 1 // io.netty.handler.codec.compression.ZlibWrapper wrapper
         0: .line 85
            aload 0 /* this */
            aload 1 /* wrapper */
            aconst_null
            iconst_0
            invokespecial io.netty.handler.codec.compression.JdkZlibDecoder.<init>:(Lio/netty/handler/codec/compression/ZlibWrapper;[BZ)V
         1: .line 86
            return
        end local 1 // io.netty.handler.codec.compression.ZlibWrapper wrapper
        end local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/netty/handler/codec/compression/JdkZlibDecoder;
            0    2     1  wrapper  Lio/netty/handler/codec/compression/ZlibWrapper;
    MethodParameters:
         Name  Flags
      wrapper  

  public void <init>(io.netty.handler.codec.compression.ZlibWrapper, boolean);
    descriptor: (Lio/netty/handler/codec/compression/ZlibWrapper;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
        start local 1 // io.netty.handler.codec.compression.ZlibWrapper wrapper
        start local 2 // boolean decompressConcatenated
         0: .line 89
            aload 0 /* this */
            aload 1 /* wrapper */
            aconst_null
            iload 2 /* decompressConcatenated */
            invokespecial io.netty.handler.codec.compression.JdkZlibDecoder.<init>:(Lio/netty/handler/codec/compression/ZlibWrapper;[BZ)V
         1: .line 90
            return
        end local 2 // boolean decompressConcatenated
        end local 1 // io.netty.handler.codec.compression.ZlibWrapper wrapper
        end local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lio/netty/handler/codec/compression/JdkZlibDecoder;
            0    2     1                 wrapper  Lio/netty/handler/codec/compression/ZlibWrapper;
            0    2     2  decompressConcatenated  Z
    MethodParameters:
                        Name  Flags
      wrapper                 
      decompressConcatenated  

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
        start local 1 // boolean decompressConcatenated
         0: .line 93
            aload 0 /* this */
            getstatic io.netty.handler.codec.compression.ZlibWrapper.GZIP:Lio/netty/handler/codec/compression/ZlibWrapper;
            aconst_null
            iload 1 /* decompressConcatenated */
            invokespecial io.netty.handler.codec.compression.JdkZlibDecoder.<init>:(Lio/netty/handler/codec/compression/ZlibWrapper;[BZ)V
         1: .line 94
            return
        end local 1 // boolean decompressConcatenated
        end local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lio/netty/handler/codec/compression/JdkZlibDecoder;
            0    2     1  decompressConcatenated  Z
    MethodParameters:
                        Name  Flags
      decompressConcatenated  

  private void <init>(io.netty.handler.codec.compression.ZlibWrapper, byte[], boolean);
    descriptor: (Lio/netty/handler/codec/compression/ZlibWrapper;[BZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
        start local 1 // io.netty.handler.codec.compression.ZlibWrapper wrapper
        start local 2 // byte[] dictionary
        start local 3 // boolean decompressConcatenated
         0: .line 96
            aload 0 /* this */
            invokespecial io.netty.handler.codec.compression.ZlibDecoder.<init>:()V
         1: .line 55
            aload 0 /* this */
            getstatic io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.HEADER_START:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.gzipState:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
         2: .line 56
            aload 0 /* this */
            iconst_m1
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.flags:I
         3: .line 57
            aload 0 /* this */
            iconst_m1
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.xlen:I
         4: .line 97
            aload 1 /* wrapper */
            ifnonnull 6
         5: .line 98
            new java.lang.NullPointerException
            dup
            ldc "wrapper"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 100
      StackMap locals: io.netty.handler.codec.compression.JdkZlibDecoder io.netty.handler.codec.compression.ZlibWrapper byte[] int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* decompressConcatenated */
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.decompressConcatenated:Z
         7: .line 101
            invokestatic io.netty.handler.codec.compression.JdkZlibDecoder.$SWITCH_TABLE$io$netty$handler$codec$compression$ZlibWrapper:()[I
            aload 1 /* wrapper */
            invokevirtual io.netty.handler.codec.compression.ZlibWrapper.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 14
                    2: 8
                    3: 11
                    4: 17
              default: 20
          }
         8: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.zip.Inflater
            dup
            iconst_1
            invokespecial java.util.zip.Inflater.<init>:(Z)V
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
         9: .line 104
            aload 0 /* this */
            new java.util.zip.CRC32
            dup
            invokespecial java.util.zip.CRC32.<init>:()V
            invokestatic io.netty.handler.codec.compression.ByteBufChecksum.wrapChecksum:(Ljava/util/zip/Checksum;)Lio/netty/handler/codec/compression/ByteBufChecksum;
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
        10: .line 105
            goto 21
        11: .line 107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.zip.Inflater
            dup
            iconst_1
            invokespecial java.util.zip.Inflater.<init>:(Z)V
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
        12: .line 108
            aload 0 /* this */
            aconst_null
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
        13: .line 109
            goto 21
        14: .line 111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.zip.Inflater
            dup
            invokespecial java.util.zip.Inflater.<init>:()V
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
        15: .line 112
            aload 0 /* this */
            aconst_null
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
        16: .line 113
            goto 21
        17: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.decideZlibOrNone:Z
        18: .line 117
            aload 0 /* this */
            aconst_null
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
        19: .line 118
            goto 21
        20: .line 120
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Only GZIP or ZLIB is supported, but you used "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* wrapper */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* dictionary */
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.dictionary:[B
        22: .line 123
            return
        end local 3 // boolean decompressConcatenated
        end local 2 // byte[] dictionary
        end local 1 // io.netty.handler.codec.compression.ZlibWrapper wrapper
        end local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   23     0                    this  Lio/netty/handler/codec/compression/JdkZlibDecoder;
            0   23     1                 wrapper  Lio/netty/handler/codec/compression/ZlibWrapper;
            0   23     2              dictionary  [B
            0   23     3  decompressConcatenated  Z
    MethodParameters:
                        Name  Flags
      wrapper                 
      dictionary              
      decompressConcatenated  

  public boolean isClosed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
         0: .line 127
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.finished:Z
            ireturn
        end local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/compression/JdkZlibDecoder;

  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=4, locals=12, args_size=4
        start local 0 // io.netty.handler.codec.compression.JdkZlibDecoder 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 132
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.finished:Z
            ifeq 3
         1: .line 134
            aload 2 /* in */
            aload 2 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
            pop
         2: .line 135
            return
         3: .line 138
      StackMap locals:
      StackMap stack:
            aload 2 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            istore 4 /* readableBytes */
        start local 4 // int readableBytes
         4: .line 139
            iload 4 /* readableBytes */
            ifne 6
         5: .line 140
            return
         6: .line 143
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.decideZlibOrNone:Z
            ifeq 14
         7: .line 145
            iload 4 /* readableBytes */
            iconst_2
            if_icmpge 9
         8: .line 146
            return
         9: .line 149
      StackMap locals:
      StackMap stack:
            aload 2 /* in */
            aload 2 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            invokevirtual io.netty.buffer.ByteBuf.getShort:(I)S
            invokestatic io.netty.handler.codec.compression.JdkZlibDecoder.looksLikeZlib:(S)Z
            ifeq 10
            iconst_0
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_1
      StackMap locals:
      StackMap stack: int
        11: istore 5 /* nowrap */
        start local 5 // boolean nowrap
        12: .line 150
            aload 0 /* this */
            new java.util.zip.Inflater
            dup
            iload 5 /* nowrap */
            invokespecial java.util.zip.Inflater.<init>:(Z)V
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
        13: .line 151
            aload 0 /* this */
            iconst_0
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.decideZlibOrNone:Z
        end local 5 // boolean nowrap
        14: .line 154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            ifnull 23
        15: .line 155
            invokestatic io.netty.handler.codec.compression.JdkZlibDecoder.$SWITCH_TABLE$io$netty$handler$codec$compression$JdkZlibDecoder$GzipState:()[I
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.gzipState:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            invokevirtual io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.ordinal:()I
            iaload
            tableswitch { // 8 - 8
                    8: 16
              default: 19
          }
        16: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* in */
            invokevirtual io.netty.handler.codec.compression.JdkZlibDecoder.readGZIPFooter:(Lio/netty/buffer/ByteBuf;)Z
            ifeq 18
        17: .line 158
            aload 0 /* this */
            iconst_1
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.finished:Z
        18: .line 160
      StackMap locals:
      StackMap stack:
            return
        19: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.gzipState:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            getstatic io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.HEADER_END:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            if_acmpeq 22
        20: .line 163
            aload 0 /* this */
            aload 2 /* in */
            invokevirtual io.netty.handler.codec.compression.JdkZlibDecoder.readGZIPHeader:(Lio/netty/buffer/ByteBuf;)Z
            ifne 22
        21: .line 164
            return
        22: .line 169
      StackMap locals:
      StackMap stack:
            aload 2 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            istore 4 /* readableBytes */
        23: .line 172
      StackMap locals:
      StackMap stack:
            aload 2 /* in */
            invokevirtual io.netty.buffer.ByteBuf.hasArray:()Z
            ifeq 26
        24: .line 173
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
            aload 2 /* in */
            invokevirtual io.netty.buffer.ByteBuf.array:()[B
            aload 2 /* in */
            invokevirtual io.netty.buffer.ByteBuf.arrayOffset:()I
            aload 2 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            iadd
            iload 4 /* readableBytes */
            invokevirtual java.util.zip.Inflater.setInput:([BII)V
        25: .line 174
            goto 29
        26: .line 175
      StackMap locals:
      StackMap stack:
            iload 4 /* readableBytes */
            newarray 8
            astore 5 /* array */
        start local 5 // byte[] array
        27: .line 176
            aload 2 /* in */
            aload 2 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            aload 5 /* array */
            invokevirtual io.netty.buffer.ByteBuf.getBytes:(I[B)Lio/netty/buffer/ByteBuf;
            pop
        28: .line 177
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
            aload 5 /* array */
            invokevirtual java.util.zip.Inflater.setInput:([B)V
        end local 5 // byte[] array
        29: .line 180
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
            invokevirtual java.util.zip.Inflater.getRemaining:()I
            iconst_1
            ishl
            invokeinterface io.netty.buffer.ByteBufAllocator.heapBuffer:(I)Lio/netty/buffer/ByteBuf;
            astore 5 /* decompressed */
        start local 5 // io.netty.buffer.ByteBuf decompressed
        30: .line 182
            iconst_0
            istore 6 /* readFooter */
        start local 6 // boolean readFooter
        31: .line 183
            goto 54
        32: .line 184
      StackMap locals: io.netty.buffer.ByteBuf int
      StackMap stack:
            aload 5 /* decompressed */
            invokevirtual io.netty.buffer.ByteBuf.array:()[B
            astore 7 /* outArray */
        start local 7 // byte[] outArray
        33: .line 185
            aload 5 /* decompressed */
            invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
            istore 8 /* writerIndex */
        start local 8 // int writerIndex
        34: .line 186
            aload 5 /* decompressed */
            invokevirtual io.netty.buffer.ByteBuf.arrayOffset:()I
            iload 8 /* writerIndex */
            iadd
            istore 9 /* outIndex */
        start local 9 // int outIndex
        35: .line 187
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
            aload 7 /* outArray */
            iload 9 /* outIndex */
            aload 5 /* decompressed */
            invokevirtual io.netty.buffer.ByteBuf.writableBytes:()I
            invokevirtual java.util.zip.Inflater.inflate:([BII)I
            istore 10 /* outputLength */
        start local 10 // int outputLength
        36: .line 188
            iload 10 /* outputLength */
            ifle 41
        37: .line 189
            aload 5 /* decompressed */
            iload 8 /* writerIndex */
            iload 10 /* outputLength */
            iadd
            invokevirtual io.netty.buffer.ByteBuf.writerIndex:(I)Lio/netty/buffer/ByteBuf;
            pop
        38: .line 190
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            ifnull 47
        39: .line 191
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            aload 7 /* outArray */
            iload 9 /* outIndex */
            iload 10 /* outputLength */
            invokevirtual io.netty.handler.codec.compression.ByteBufChecksum.update:([BII)V
        40: .line 193
            goto 47
        41: .line 194
      StackMap locals: io.netty.handler.codec.compression.JdkZlibDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List int io.netty.buffer.ByteBuf int byte[] int int int
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
            invokevirtual java.util.zip.Inflater.needsDictionary:()Z
            ifeq 47
        42: .line 195
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.dictionary:[B
            ifnonnull 46
        43: .line 196
            new io.netty.handler.codec.compression.DecompressionException
            dup
        44: .line 197
            ldc "decompression failure, unable to set dictionary as non was specified"
        45: .line 196
            invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
            athrow
        46: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.dictionary:[B
            invokevirtual java.util.zip.Inflater.setDictionary:([B)V
        47: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
            invokevirtual java.util.zip.Inflater.finished:()Z
            ifeq 53
        48: .line 204
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            ifnonnull 51
        49: .line 205
            aload 0 /* this */
            iconst_1
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.finished:Z
        50: .line 206
            goto 55
        51: .line 207
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* readFooter */
        52: .line 209
            goto 55
        53: .line 211
      StackMap locals:
      StackMap stack:
            aload 5 /* decompressed */
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
            invokevirtual java.util.zip.Inflater.getRemaining:()I
            iconst_1
            ishl
            invokevirtual io.netty.buffer.ByteBuf.ensureWritable:(I)Lio/netty/buffer/ByteBuf;
            pop
        end local 10 // int outputLength
        end local 9 // int outIndex
        end local 8 // int writerIndex
        end local 7 // byte[] outArray
        54: .line 183
      StackMap locals: io.netty.handler.codec.compression.JdkZlibDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List int io.netty.buffer.ByteBuf int
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
            invokevirtual java.util.zip.Inflater.needsInput:()Z
            ifeq 32
        55: .line 215
      StackMap locals:
      StackMap stack:
            aload 2 /* in */
            iload 4 /* readableBytes */
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
            invokevirtual java.util.zip.Inflater.getRemaining:()I
            isub
            invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
            pop
        56: .line 217
            iload 6 /* readFooter */
            ifeq 75
        57: .line 218
            aload 0 /* this */
            getstatic io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.FOOTER_START:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.gzipState:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
        58: .line 219
            aload 0 /* this */
            aload 2 /* in */
            invokevirtual io.netty.handler.codec.compression.JdkZlibDecoder.readGZIPFooter:(Lio/netty/buffer/ByteBuf;)Z
            ifeq 75
        59: .line 220
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.decompressConcatenated:Z
            ifeq 60
            iconst_0
            goto 61
      StackMap locals:
      StackMap stack: io.netty.handler.codec.compression.JdkZlibDecoder
        60: iconst_1
      StackMap locals: io.netty.handler.codec.compression.JdkZlibDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List int io.netty.buffer.ByteBuf int
      StackMap stack: io.netty.handler.codec.compression.JdkZlibDecoder int
        61: putfield io.netty.handler.codec.compression.JdkZlibDecoder.finished:Z
        62: .line 222
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.finished:Z
            ifne 75
        63: .line 223
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
            invokevirtual java.util.zip.Inflater.reset:()V
        64: .line 224
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            invokevirtual io.netty.handler.codec.compression.ByteBufChecksum.reset:()V
        65: .line 225
            aload 0 /* this */
            getstatic io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.HEADER_START:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.gzipState:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
        end local 6 // boolean readFooter
        66: .line 229
            goto 75
      StackMap locals: io.netty.handler.codec.compression.JdkZlibDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List int io.netty.buffer.ByteBuf
      StackMap stack: java.util.zip.DataFormatException
        67: astore 6 /* e */
        start local 6 // java.util.zip.DataFormatException e
        68: .line 230
            new io.netty.handler.codec.compression.DecompressionException
            dup
            ldc "decompression failure"
            aload 6 /* e */
            invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.util.zip.DataFormatException e
        69: .line 231
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        70: .line 233
            aload 5 /* decompressed */
            invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
            ifeq 73
        71: .line 234
            aload 3 /* out */
            aload 5 /* decompressed */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        72: .line 235
            goto 74
        73: .line 236
      StackMap locals: io.netty.handler.codec.compression.JdkZlibDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List int io.netty.buffer.ByteBuf top top top top top java.lang.Throwable
      StackMap stack:
            aload 5 /* decompressed */
            invokevirtual io.netty.buffer.ByteBuf.release:()Z
            pop
        74: .line 238
      StackMap locals:
      StackMap stack:
            aload 11
            athrow
        75: .line 233
      StackMap locals: io.netty.handler.codec.compression.JdkZlibDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List int io.netty.buffer.ByteBuf
      StackMap stack:
            aload 5 /* decompressed */
            invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
            ifeq 78
        76: .line 234
            aload 3 /* out */
            aload 5 /* decompressed */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        77: .line 235
            goto 79
        78: .line 236
      StackMap locals:
      StackMap stack:
            aload 5 /* decompressed */
            invokevirtual io.netty.buffer.ByteBuf.release:()Z
            pop
        79: .line 239
      StackMap locals:
      StackMap stack:
            return
        end local 5 // io.netty.buffer.ByteBuf decompressed
        end local 4 // int readableBytes
        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.compression.JdkZlibDecoder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   80     0           this  Lio/netty/handler/codec/compression/JdkZlibDecoder;
            0   80     1            ctx  Lio/netty/channel/ChannelHandlerContext;
            0   80     2             in  Lio/netty/buffer/ByteBuf;
            0   80     3            out  Ljava/util/List<Ljava/lang/Object;>;
            4   80     4  readableBytes  I
           12   14     5         nowrap  Z
           27   29     5          array  [B
           30   80     5   decompressed  Lio/netty/buffer/ByteBuf;
           31   66     6     readFooter  Z
           33   54     7       outArray  [B
           34   54     8    writerIndex  I
           35   54     9       outIndex  I
           36   54    10   outputLength  I
           68   69     6              e  Ljava/util/zip/DataFormatException;
      Exception table:
        from    to  target  type
          30    66      67  Class java.util.zip.DataFormatException
          30    69      69  any
    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   

  protected void handlerRemoved0(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 243
            aload 0 /* this */
            aload 1 /* ctx */
            invokespecial io.netty.handler.codec.compression.ZlibDecoder.handlerRemoved0:(Lio/netty/channel/ChannelHandlerContext;)V
         1: .line 244
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
            ifnull 3
         2: .line 245
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
            invokevirtual java.util.zip.Inflater.end:()V
         3: .line 247
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/netty/handler/codec/compression/JdkZlibDecoder;
            0    4     1   ctx  Lio/netty/channel/ChannelHandlerContext;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ctx   

  private boolean readGZIPHeader(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
        start local 1 // io.netty.buffer.ByteBuf in
         0: .line 250
            invokestatic io.netty.handler.codec.compression.JdkZlibDecoder.$SWITCH_TABLE$io$netty$handler$codec$compression$JdkZlibDecoder$GzipState:()[I
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.gzipState:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            invokevirtual io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.ordinal:()I
            iaload
            tableswitch { // 1 - 7
                    1: 1
                    2: 65
                    3: 26
                    4: 35
                    5: 41
                    6: 50
                    7: 59
              default: 66
          }
         1: .line 252
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            bipush 10
            if_icmpge 3
         2: .line 253
            iconst_0
            ireturn
         3: .line 256
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readByte:()B
            istore 2 /* magic0 */
        start local 2 // int magic0
         4: .line 257
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readByte:()B
            istore 3 /* magic1 */
        start local 3 // int magic1
         5: .line 259
            iload 2 /* magic0 */
            bipush 31
            if_icmpeq 7
         6: .line 260
            new io.netty.handler.codec.compression.DecompressionException
            dup
            ldc "Input is not in the GZIP format"
            invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 262
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            iload 2 /* magic0 */
            invokevirtual io.netty.handler.codec.compression.ByteBufChecksum.update:(I)V
         8: .line 263
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            iload 3 /* magic1 */
            invokevirtual io.netty.handler.codec.compression.ByteBufChecksum.update:(I)V
         9: .line 265
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedByte:()S
            istore 4 /* method */
        start local 4 // int method
        10: .line 266
            iload 4 /* method */
            bipush 8
            if_icmpeq 14
        11: .line 267
            new io.netty.handler.codec.compression.DecompressionException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported compression method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 268
            iload 4 /* method */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " in the GZIP header"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 267
            invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 270
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            iload 4 /* method */
            invokevirtual io.netty.handler.codec.compression.ByteBufChecksum.update:(I)V
        15: .line 272
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedByte:()S
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.flags:I
        16: .line 273
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.flags:I
            invokevirtual io.netty.handler.codec.compression.ByteBufChecksum.update:(I)V
        17: .line 275
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.flags:I
            sipush 224
            iand
            ifeq 21
        18: .line 276
            new io.netty.handler.codec.compression.DecompressionException
            dup
        19: .line 277
            ldc "Reserved flags are set in the GZIP header"
        20: .line 276
            invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            aload 1 /* in */
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            iconst_4
            invokevirtual io.netty.handler.codec.compression.ByteBufChecksum.update:(Lio/netty/buffer/ByteBuf;II)V
        22: .line 282
            aload 1 /* in */
            iconst_4
            invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
            pop
        23: .line 284
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedByte:()S
            invokevirtual io.netty.handler.codec.compression.ByteBufChecksum.update:(I)V
        24: .line 285
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedByte:()S
            invokevirtual io.netty.handler.codec.compression.ByteBufChecksum.update:(I)V
        25: .line 287
            aload 0 /* this */
            getstatic io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.FLG_READ:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.gzipState:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
        end local 4 // int method
        end local 3 // int magic1
        end local 2 // int magic0
        26: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.flags:I
            iconst_4
            iand
            ifeq 34
        27: .line 291
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            iconst_2
            if_icmpge 29
        28: .line 292
            iconst_0
            ireturn
        29: .line 294
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedByte:()S
            istore 5 /* xlen1 */
        start local 5 // int xlen1
        30: .line 295
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedByte:()S
            istore 6 /* xlen2 */
        start local 6 // int xlen2
        31: .line 296
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            iload 5 /* xlen1 */
            invokevirtual io.netty.handler.codec.compression.ByteBufChecksum.update:(I)V
        32: .line 297
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            iload 6 /* xlen2 */
            invokevirtual io.netty.handler.codec.compression.ByteBufChecksum.update:(I)V
        33: .line 299
            aload 0 /* this */
            dup
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.xlen:I
            iload 5 /* xlen1 */
            bipush 8
            ishl
            iload 6 /* xlen2 */
            ior
            ior
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.xlen:I
        end local 6 // int xlen2
        end local 5 // int xlen1
        34: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.XLEN_READ:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.gzipState:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
        35: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.xlen:I
            iconst_m1
            if_icmpeq 40
        36: .line 305
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.xlen:I
            if_icmpge 38
        37: .line 306
            iconst_0
            ireturn
        38: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            aload 1 /* in */
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.xlen:I
            invokevirtual io.netty.handler.codec.compression.ByteBufChecksum.update:(Lio/netty/buffer/ByteBuf;II)V
        39: .line 309
            aload 1 /* in */
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.xlen:I
            invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
            pop
        40: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.SKIP_FNAME:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.gzipState:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
        41: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.flags:I
            bipush 8
            iand
            ifeq 49
        42: .line 315
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
            ifne 44
        43: .line 316
            iconst_0
            ireturn
        44: .line 319
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedByte:()S
            istore 5 /* b */
        start local 5 // int b
        45: .line 320
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            iload 5 /* b */
            invokevirtual io.netty.handler.codec.compression.ByteBufChecksum.update:(I)V
        46: .line 321
            iload 5 /* b */
            ifne 48
        47: .line 322
            goto 49
        end local 5 // int b
        48: .line 324
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
            ifne 44
        49: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.SKIP_COMMENT:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.gzipState:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
        50: .line 329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.flags:I
            bipush 16
            iand
            ifeq 58
        51: .line 330
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
            ifne 53
        52: .line 331
            iconst_0
            ireturn
        53: .line 334
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedByte:()S
            istore 5 /* b */
        start local 5 // int b
        54: .line 335
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            iload 5 /* b */
            invokevirtual io.netty.handler.codec.compression.ByteBufChecksum.update:(I)V
        55: .line 336
            iload 5 /* b */
            ifne 57
        56: .line 337
            goto 58
        end local 5 // int b
        57: .line 339
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
            ifne 53
        58: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.PROCESS_FHCRC:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.gzipState:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
        59: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.flags:I
            iconst_2
            iand
            ifeq 63
        60: .line 345
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            iconst_4
            if_icmpge 62
        61: .line 346
            iconst_0
            ireturn
        62: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual io.netty.handler.codec.compression.JdkZlibDecoder.verifyCrc:(Lio/netty/buffer/ByteBuf;)V
        63: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            invokevirtual io.netty.handler.codec.compression.ByteBufChecksum.reset:()V
        64: .line 351
            aload 0 /* this */
            getstatic io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.HEADER_END:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            putfield io.netty.handler.codec.compression.JdkZlibDecoder.gzipState:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
        65: .line 354
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        66: .line 356
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
        end local 1 // io.netty.buffer.ByteBuf in
        end local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   67     0    this  Lio/netty/handler/codec/compression/JdkZlibDecoder;
            0   67     1      in  Lio/netty/buffer/ByteBuf;
            4   26     2  magic0  I
            5   26     3  magic1  I
           10   26     4  method  I
           30   34     5   xlen1  I
           31   34     6   xlen2  I
           45   48     5       b  I
           54   57     5       b  I
    MethodParameters:
      Name  Flags
      in    

  private boolean readGZIPFooter(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
        start local 1 // io.netty.buffer.ByteBuf buf
         0: .line 361
            aload 1 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
            bipush 8
            if_icmpge 2
         1: .line 362
            iconst_0
            ireturn
         2: .line 365
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buf */
            invokevirtual io.netty.handler.codec.compression.JdkZlibDecoder.verifyCrc:(Lio/netty/buffer/ByteBuf;)V
         3: .line 368
            iconst_0
            istore 2 /* dataLength */
        start local 2 // int dataLength
         4: .line 369
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 8
         6: .line 370
      StackMap locals: int int
      StackMap stack:
            iload 2 /* dataLength */
            aload 1 /* buf */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedByte:()S
            iload 3 /* i */
            bipush 8
            imul
            ishl
            ior
            istore 2 /* dataLength */
         7: .line 369
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iconst_4
            if_icmplt 6
        end local 3 // int i
         9: .line 372
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.inflater:Ljava/util/zip/Inflater;
            invokevirtual java.util.zip.Inflater.getTotalOut:()I
            istore 3 /* readLength */
        start local 3 // int readLength
        10: .line 373
            iload 2 /* dataLength */
            iload 3 /* readLength */
            if_icmpeq 14
        11: .line 374
            new io.netty.handler.codec.compression.DecompressionException
            dup
        12: .line 375
            new java.lang.StringBuilder
            dup
            ldc "Number of bytes mismatch. Expected: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* dataLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", Got: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* readLength */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 374
            invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 377
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // int readLength
        end local 2 // int dataLength
        end local 1 // io.netty.buffer.ByteBuf buf
        end local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lio/netty/handler/codec/compression/JdkZlibDecoder;
            0   15     1         buf  Lio/netty/buffer/ByteBuf;
            4   15     2  dataLength  I
            5    9     3           i  I
           10   15     3  readLength  I
    MethodParameters:
      Name  Flags
      buf   

  private void verifyCrc(io.netty.buffer.ByteBuf);
    descriptor: (Lio/netty/buffer/ByteBuf;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
        start local 1 // io.netty.buffer.ByteBuf in
         0: .line 381
            lconst_0
            lstore 2 /* crcValue */
        start local 2 // long crcValue
         1: .line 382
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 383
      StackMap locals: long int
      StackMap stack:
            lload 2 /* crcValue */
            aload 1 /* in */
            invokevirtual io.netty.buffer.ByteBuf.readUnsignedByte:()S
            i2l
            iload 4 /* i */
            bipush 8
            imul
            lshl
            lor
            lstore 2 /* crcValue */
         4: .line 382
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iconst_4
            if_icmplt 3
        end local 4 // int i
         6: .line 385
            aload 0 /* this */
            getfield io.netty.handler.codec.compression.JdkZlibDecoder.crc:Lio/netty/handler/codec/compression/ByteBufChecksum;
            invokevirtual io.netty.handler.codec.compression.ByteBufChecksum.getValue:()J
            lstore 4 /* readCrc */
        start local 4 // long readCrc
         7: .line 386
            lload 2 /* crcValue */
            lload 4 /* readCrc */
            lcmp
            ifeq 11
         8: .line 387
            new io.netty.handler.codec.compression.DecompressionException
            dup
         9: .line 388
            new java.lang.StringBuilder
            dup
            ldc "CRC value mismatch. Expected: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 2 /* crcValue */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ", Got: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 4 /* readCrc */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 387
            invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 390
      StackMap locals: io.netty.handler.codec.compression.JdkZlibDecoder io.netty.buffer.ByteBuf long long
      StackMap stack:
            return
        end local 4 // long readCrc
        end local 2 // long crcValue
        end local 1 // io.netty.buffer.ByteBuf in
        end local 0 // io.netty.handler.codec.compression.JdkZlibDecoder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lio/netty/handler/codec/compression/JdkZlibDecoder;
            0   12     1        in  Lio/netty/buffer/ByteBuf;
            1   12     2  crcValue  J
            2    6     4         i  I
            7   12     4   readCrc  J
    MethodParameters:
      Name  Flags
      in    

  private static boolean looksLikeZlib(short);
    descriptor: (S)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // short cmf_flg
         0: .line 400
            iload 0 /* cmf_flg */
            sipush 30720
            iand
            sipush 30720
            if_icmpne 3
         1: .line 401
            iload 0 /* cmf_flg */
            bipush 31
            irem
            ifne 3
         2: .line 400
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // short cmf_flg
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  cmf_flg  S
    MethodParameters:
         Name  Flags
      cmf_flg  

  static int[] $SWITCH_TABLE$io$netty$handler$codec$compression$ZlibWrapper();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 30
            getstatic io.netty.handler.codec.compression.JdkZlibDecoder.$SWITCH_TABLE$io$netty$handler$codec$compression$ZlibWrapper:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic io.netty.handler.codec.compression.ZlibWrapper.values:()[Lio/netty/handler/codec/compression/ZlibWrapper;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic io.netty.handler.codec.compression.ZlibWrapper.GZIP:Lio/netty/handler/codec/compression/ZlibWrapper;
            invokevirtual io.netty.handler.codec.compression.ZlibWrapper.ordinal:()I
            iconst_2
            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.compression.ZlibWrapper.NONE:Lio/netty/handler/codec/compression/ZlibWrapper;
            invokevirtual io.netty.handler.codec.compression.ZlibWrapper.ordinal:()I
            iconst_3
            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.compression.ZlibWrapper.ZLIB:Lio/netty/handler/codec/compression/ZlibWrapper;
            invokevirtual io.netty.handler.codec.compression.ZlibWrapper.ordinal:()I
            iconst_1
            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.compression.ZlibWrapper.ZLIB_OR_NONE:Lio/netty/handler/codec/compression/ZlibWrapper;
            invokevirtual io.netty.handler.codec.compression.ZlibWrapper.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic io.netty.handler.codec.compression.JdkZlibDecoder.$SWITCH_TABLE$io$netty$handler$codec$compression$ZlibWrapper:[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

  static int[] $SWITCH_TABLE$io$netty$handler$codec$compression$JdkZlibDecoder$GzipState();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 30
            getstatic io.netty.handler.codec.compression.JdkZlibDecoder.$SWITCH_TABLE$io$netty$handler$codec$compression$JdkZlibDecoder$GzipState:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.values:()[Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.FLG_READ:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            invokevirtual io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.ordinal:()I
            iconst_3
            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.compression.JdkZlibDecoder$GzipState.FOOTER_START:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            invokevirtual io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.ordinal:()I
            bipush 8
            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.compression.JdkZlibDecoder$GzipState.HEADER_END:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            invokevirtual io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.ordinal:()I
            iconst_2
            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.compression.JdkZlibDecoder$GzipState.HEADER_START:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            invokevirtual io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.ordinal:()I
            iconst_1
            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.compression.JdkZlibDecoder$GzipState.PROCESS_FHCRC:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            invokevirtual io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.ordinal:()I
            bipush 7
            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.compression.JdkZlibDecoder$GzipState.SKIP_COMMENT:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            invokevirtual io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.ordinal:()I
            bipush 6
            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.compression.JdkZlibDecoder$GzipState.SKIP_FNAME:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            invokevirtual io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.ordinal:()I
            iconst_5
            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.compression.JdkZlibDecoder$GzipState.XLEN_READ:Lio/netty/handler/codec/compression/JdkZlibDecoder$GzipState;
            invokevirtual io.netty.handler.codec.compression.JdkZlibDecoder$GzipState.ordinal:()I
            iconst_4
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            dup
            putstatic io.netty.handler.codec.compression.JdkZlibDecoder.$SWITCH_TABLE$io$netty$handler$codec$compression$JdkZlibDecoder$GzipState:[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
}
SourceFile: "JdkZlibDecoder.java"
NestMembers:
  io.netty.handler.codec.compression.JdkZlibDecoder$GzipState
InnerClasses:
  private final GzipState = io.netty.handler.codec.compression.JdkZlibDecoder$GzipState of io.netty.handler.codec.compression.JdkZlibDecoder