public class org.jruby.ext.zlib.JZlibDeflate extends org.jruby.ext.zlib.ZStream
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.ext.zlib.JZlibDeflate
  super_class: org.jruby.ext.zlib.ZStream
{
  public static final int BASE_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 100

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

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

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

  private byte[] collected;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

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

  protected static final org.jruby.runtime.ObjectAllocator DEFLATE_ALLOCATOR;
    descriptor: Lorg/jruby/runtime/ObjectAllocator;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  private com.jcraft.jzlib.Deflater flater;
    descriptor: Lcom/jcraft/jzlib/Deflater;
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 57
            new org.jruby.ext.zlib.JZlibDeflate$1
            dup
            invokespecial org.jruby.ext.zlib.JZlibDeflate$1.<init>:()V
            putstatic org.jruby.ext.zlib.JZlibDeflate.DEFLATE_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
         1: .line 61
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.jruby.runtime.builtin.IRubyObject s_deflate(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.jruby.runtime.builtin.IRubyObject recv
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 67
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 68
            aload 2 /* runtime */
            aload 1 /* args */
            iconst_1
            iconst_1
            invokestatic org.jruby.runtime.Arity.scanArgs:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 1 /* args */
         2: .line 69
            iconst_m1
            istore 3 /* level */
        start local 3 // int level
         3: .line 70
            aload 1 /* args */
            iconst_1
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 6
         4: .line 71
            aload 1 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 3 /* level */
         5: .line 72
            aload 2 /* runtime */
            iload 3 /* level */
            invokestatic org.jruby.ext.zlib.JZlibDeflate.checkLevel:(Lorg/jruby/Ruby;I)V
         6: .line 75
      StackMap locals: org.jruby.Ruby int
      StackMap stack:
            aload 0 /* recv */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isClass:()Z
            ifeq 7
            aload 0 /* recv */
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 2 /* runtime */
            ldc "Zlib::Deflate"
            invokevirtual org.jruby.Ruby.getClassFromPath:(Ljava/lang/String;)Lorg/jruby/RubyModule;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         8: checkcast org.jruby.RubyClass
            astore 4 /* klass */
        start local 4 // org.jruby.RubyClass klass
         9: .line 76
            aload 4 /* klass */
            invokevirtual org.jruby.RubyClass.allocate:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.ext.zlib.JZlibDeflate
            astore 5 /* deflate */
        start local 5 // org.jruby.ext.zlib.JZlibDeflate deflate
        10: .line 77
            aload 5 /* deflate */
            iload 3 /* level */
            bipush 15
            bipush 8
            iconst_0
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.init:(IIII)V
        11: .line 80
            aload 5 /* deflate */
            aload 1 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            iconst_4
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.deflate:(Lorg/jruby/util/ByteList;I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* result */
        start local 6 // org.jruby.runtime.builtin.IRubyObject result
        12: .line 81
            aload 5 /* deflate */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.close:()Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        13: .line 82
            aload 6 /* result */
        14: areturn
        end local 6 // org.jruby.runtime.builtin.IRubyObject result
        15: .line 83
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby int org.jruby.RubyClass org.jruby.ext.zlib.JZlibDeflate
      StackMap stack: java.io.IOException
            astore 6 /* ioe */
        start local 6 // java.io.IOException ioe
        16: .line 84
            aload 2 /* runtime */
            aload 6 /* ioe */
            invokevirtual org.jruby.Ruby.newIOErrorFromException:(Ljava/io/IOException;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 6 // java.io.IOException ioe
        end local 5 // org.jruby.ext.zlib.JZlibDeflate deflate
        end local 4 // org.jruby.RubyClass klass
        end local 3 // int level
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.runtime.builtin.IRubyObject recv
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     recv  Lorg/jruby/runtime/builtin/IRubyObject;
            0   17     1     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   17     2  runtime  Lorg/jruby/Ruby;
            3   17     3    level  I
            9   17     4    klass  Lorg/jruby/RubyClass;
           10   17     5  deflate  Lorg/jruby/ext/zlib/JZlibDeflate;
           12   15     6   result  Lorg/jruby/runtime/builtin/IRubyObject;
           16   17     6      ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          11    14      15  Class java.io.IOException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"deflate"}, required = 1, optional = 1, meta = true)
    MethodParameters:
      Name  Flags
      recv  
      args  

  public void <init>(org.jruby.Ruby, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass type
         0: .line 89
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* type */
            invokespecial org.jruby.ext.zlib.ZStream.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 62
            aload 0 /* this */
            aconst_null
            putfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
         2: .line 63
            aload 0 /* this */
            iconst_0
            putfield org.jruby.ext.zlib.JZlibDeflate.flush:I
         3: .line 90
            return
        end local 2 // org.jruby.RubyClass type
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/ext/zlib/JZlibDeflate;
            0    4     1  runtime  Lorg/jruby/Ruby;
            0    4     2     type  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  
      type     

  public org.jruby.runtime.builtin.IRubyObject _initialize(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 94
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* args */
            iconst_0
            iconst_4
            invokestatic org.jruby.runtime.Arity.scanArgs:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 1 /* args */
         1: .line 95
            aload 0 /* this */
            iconst_m1
            putfield org.jruby.ext.zlib.JZlibDeflate.level:I
         2: .line 96
            aload 0 /* this */
            bipush 15
            putfield org.jruby.ext.zlib.JZlibDeflate.windowBits:I
         3: .line 97
            bipush 8
            istore 2 /* memlevel */
        start local 2 // int memlevel
         4: .line 98
            aload 0 /* this */
            iconst_0
            putfield org.jruby.ext.zlib.JZlibDeflate.strategy:I
         5: .line 99
            aload 1 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 8
         6: .line 100
            aload 0 /* this */
            aload 1 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            putfield org.jruby.ext.zlib.JZlibDeflate.level:I
         7: .line 101
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.level:I
            invokestatic org.jruby.ext.zlib.JZlibDeflate.checkLevel:(Lorg/jruby/Ruby;I)V
         8: .line 103
      StackMap locals: int
      StackMap stack:
            aload 1 /* args */
            iconst_1
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 11
         9: .line 104
            aload 0 /* this */
            aload 1 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            putfield org.jruby.ext.zlib.JZlibDeflate.windowBits:I
        10: .line 105
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.windowBits:I
            iconst_0
            invokestatic org.jruby.ext.zlib.JZlibDeflate.checkWindowBits:(Lorg/jruby/Ruby;IZ)V
        11: .line 107
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            iconst_2
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 13
        12: .line 108
            aload 1 /* args */
            iconst_2
            aaload
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 2 /* memlevel */
        13: .line 111
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            iconst_3
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 15
        14: .line 112
            aload 0 /* this */
            aload 1 /* args */
            iconst_3
            aaload
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            putfield org.jruby.ext.zlib.JZlibDeflate.strategy:I
        15: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.level:I
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.windowBits:I
            iload 2 /* memlevel */
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.strategy:I
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.init:(IIII)V
        16: .line 115
            aload 0 /* this */
            areturn
        end local 2 // int memlevel
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lorg/jruby/ext/zlib/JZlibDeflate;
            0   17     1      args  [Lorg/jruby/runtime/builtin/IRubyObject;
            4   17     2  memlevel  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"initialize"}, optional = 4, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
      Name  Flags
      args  

  private void init(int, int, int, int);
    descriptor: (IIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
        start local 1 // int level
        start local 2 // int windowBits
        start local 3 // int memlevel
        start local 4 // int strategy
         0: .line 119
            aload 0 /* this */
            iconst_0
            putfield org.jruby.ext.zlib.JZlibDeflate.flush:I
         1: .line 120
            aload 0 /* this */
            new com.jcraft.jzlib.Deflater
            dup
            invokespecial com.jcraft.jzlib.Deflater.<init>:()V
            putfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
         2: .line 124
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            iload 1 /* level */
            iload 2 /* windowBits */
            iload 3 /* memlevel */
            invokevirtual com.jcraft.jzlib.Deflater.init:(III)I
            istore 5 /* err */
        start local 5 // int err
         3: .line 125
            iload 5 /* err */
            bipush -2
            if_icmpne 5
         4: .line 126
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            ldc "stream error"
            invokestatic org.jruby.ext.zlib.RubyZlib.newStreamError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 128
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            iload 1 /* level */
            iload 4 /* strategy */
            invokevirtual com.jcraft.jzlib.Deflater.params:(II)I
            istore 5 /* err */
         6: .line 129
            iload 5 /* err */
            bipush -2
            if_icmpne 8
         7: .line 130
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            ldc "stream error"
            invokestatic org.jruby.ext.zlib.RubyZlib.newStreamError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 100
            newarray 8
            putfield org.jruby.ext.zlib.JZlibDeflate.collected:[B
         9: .line 134
            aload 0 /* this */
            iconst_0
            putfield org.jruby.ext.zlib.JZlibDeflate.collectedIdx:I
        10: .line 135
            return
        end local 5 // int err
        end local 4 // int strategy
        end local 3 // int memlevel
        end local 2 // int windowBits
        end local 1 // int level
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lorg/jruby/ext/zlib/JZlibDeflate;
            0   11     1       level  I
            0   11     2  windowBits  I
            0   11     3    memlevel  I
            0   11     4    strategy  I
            3   11     5         err  I
    MethodParameters:
            Name  Flags
      level       
      windowBits  
      memlevel    
      strategy    

  public org.jruby.runtime.builtin.IRubyObject initialize_copy(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
        start local 1 // org.jruby.runtime.builtin.IRubyObject _other
         0: .line 140
            aload 1 /* _other */
            instanceof org.jruby.ext.zlib.JZlibDeflate
            ifne 2
         1: .line 141
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            ldc "Expecting an instance of class JZlibDeflate"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* _other */
            if_acmpne 4
         3: .line 145
            aload 0 /* this */
            areturn
         4: .line 148
      StackMap locals:
      StackMap stack:
            aload 1 /* _other */
            checkcast org.jruby.ext.zlib.JZlibDeflate
            astore 2 /* other */
        start local 2 // org.jruby.ext.zlib.JZlibDeflate other
         5: .line 150
            aload 0 /* this */
            aload 2 /* other */
            getfield org.jruby.ext.zlib.JZlibDeflate.level:I
            putfield org.jruby.ext.zlib.JZlibDeflate.level:I
         6: .line 151
            aload 0 /* this */
            aload 2 /* other */
            getfield org.jruby.ext.zlib.JZlibDeflate.windowBits:I
            putfield org.jruby.ext.zlib.JZlibDeflate.windowBits:I
         7: .line 152
            aload 0 /* this */
            aload 2 /* other */
            getfield org.jruby.ext.zlib.JZlibDeflate.strategy:I
            putfield org.jruby.ext.zlib.JZlibDeflate.strategy:I
         8: .line 153
            aload 0 /* this */
            aload 2 /* other */
            getfield org.jruby.ext.zlib.JZlibDeflate.collected:[B
            arraylength
            newarray 8
            putfield org.jruby.ext.zlib.JZlibDeflate.collected:[B
         9: .line 154
            aload 2 /* other */
            getfield org.jruby.ext.zlib.JZlibDeflate.collected:[B
            iconst_0
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.collected:[B
            iconst_0
            aload 2 /* other */
            getfield org.jruby.ext.zlib.JZlibDeflate.collected:[B
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 155
            aload 0 /* this */
            aload 2 /* other */
            getfield org.jruby.ext.zlib.JZlibDeflate.collectedIdx:I
            putfield org.jruby.ext.zlib.JZlibDeflate.collectedIdx:I
        11: .line 157
            aload 0 /* this */
            aload 2 /* other */
            getfield org.jruby.ext.zlib.JZlibDeflate.flush:I
            putfield org.jruby.ext.zlib.JZlibDeflate.flush:I
        12: .line 158
            aload 0 /* this */
            new com.jcraft.jzlib.Deflater
            dup
            invokespecial com.jcraft.jzlib.Deflater.<init>:()V
            putfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
        13: .line 159
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            aload 2 /* other */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            invokevirtual com.jcraft.jzlib.Deflater.copy:(Lcom/jcraft/jzlib/Deflater;)I
            istore 3 /* ret */
        start local 3 // int ret
        14: .line 160
            iload 3 /* ret */
            ifeq 16
        15: .line 161
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            ldc "stream error"
            invokestatic org.jruby.ext.zlib.RubyZlib.newStreamError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        16: .line 164
      StackMap locals: org.jruby.ext.zlib.JZlibDeflate int
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 3 // int ret
        end local 2 // org.jruby.ext.zlib.JZlibDeflate other
        end local 1 // org.jruby.runtime.builtin.IRubyObject _other
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lorg/jruby/ext/zlib/JZlibDeflate;
            0   17     1  _other  Lorg/jruby/runtime/builtin/IRubyObject;
            5   17     2   other  Lorg/jruby/ext/zlib/JZlibDeflate;
           14   17     3     ret  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
        Name  Flags
      _other  

  public org.jruby.runtime.builtin.IRubyObject append(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 169
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.checkClosed:()V
         1: .line 171
            aload 0 /* this */
            aload 1 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.append:(Lorg/jruby/util/ByteList;)V
         2: .line 172
            goto 5
      StackMap locals:
      StackMap stack: java.io.IOException
         3: astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         4: .line 173
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            aload 2 /* ioe */
            invokevirtual org.jruby.Ruby.newIOErrorFromException:(Ljava/io/IOException;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 2 // java.io.IOException ioe
         5: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/jruby/ext/zlib/JZlibDeflate;
            0    6     1   arg  Lorg/jruby/runtime/builtin/IRubyObject;
            4    5     2   ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"<<"}, required = 1)
    MethodParameters:
      Name  Flags
      arg   

  public org.jruby.runtime.builtin.IRubyObject params(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject level
        start local 3 // org.jruby.runtime.builtin.IRubyObject strategy
         0: .line 180
            aload 2 /* level */
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 4 /* l */
        start local 4 // int l
         1: .line 181
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            iload 4 /* l */
            invokestatic org.jruby.ext.zlib.JZlibDeflate.checkLevel:(Lorg/jruby/Ruby;I)V
         2: .line 183
            aload 3 /* strategy */
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 5 /* s */
        start local 5 // int s
         3: .line 184
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            iload 5 /* s */
            invokestatic org.jruby.ext.zlib.JZlibDeflate.checkStrategy:(Lorg/jruby/Ruby;I)V
         4: .line 186
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            getfield com.jcraft.jzlib.Deflater.next_out:[B
            ifnonnull 5
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            getstatic org.jruby.util.ByteList.NULL_ARRAY:[B
            invokevirtual com.jcraft.jzlib.Deflater.setOutput:([B)V
         5: .line 188
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            iload 4 /* l */
            iload 5 /* s */
            invokevirtual com.jcraft.jzlib.Deflater.params:(II)I
            istore 6 /* err */
        start local 6 // int err
         6: .line 189
            iload 6 /* err */
            bipush -2
            if_icmpne 8
         7: .line 190
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            ldc "stream error"
            invokestatic org.jruby.ext.zlib.RubyZlib.newStreamError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 193
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.collectedIdx:I
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            getfield com.jcraft.jzlib.Deflater.next_out_index:I
            if_icmpeq 9
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            getfield com.jcraft.jzlib.Deflater.next_out_index:I
            putfield org.jruby.ext.zlib.JZlibDeflate.collectedIdx:I
         9: .line 195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.run:()V
        10: .line 196
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 6 // int err
        end local 5 // int s
        end local 4 // int l
        end local 3 // org.jruby.runtime.builtin.IRubyObject strategy
        end local 2 // org.jruby.runtime.builtin.IRubyObject level
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/jruby/ext/zlib/JZlibDeflate;
            0   11     1   context  Lorg/jruby/runtime/ThreadContext;
            0   11     2     level  Lorg/jruby/runtime/builtin/IRubyObject;
            0   11     3  strategy  Lorg/jruby/runtime/builtin/IRubyObject;
            1   11     4         l  I
            3   11     5         s  I
            6   11     6       err  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"params"}, required = 2)
    MethodParameters:
          Name  Flags
      context   
      level     
      strategy  

  public org.jruby.runtime.builtin.IRubyObject set_dictionary(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 202
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getBytes:()[B
            astore 3 /* tmp */
        start local 3 // byte[] tmp
         1: .line 203
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            aload 3 /* tmp */
            aload 3 /* tmp */
            arraylength
            invokevirtual com.jcraft.jzlib.Deflater.setDictionary:([BI)I
            istore 4 /* err */
        start local 4 // int err
         2: .line 204
            iload 4 /* err */
            bipush -2
            if_icmpne 4
         3: .line 205
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getRuntime:()Lorg/jruby/Ruby;
            ldc "stream error: "
            invokestatic org.jruby.ext.zlib.RubyZlib.newStreamError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 207
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.run:()V
         5: .line 208
            aload 2 /* arg */
         6: areturn
        end local 4 // int err
        end local 3 // byte[] tmp
         7: .line 209
      StackMap locals: org.jruby.ext.zlib.JZlibDeflate org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject
      StackMap stack: java.lang.IllegalArgumentException
            astore 3 /* iae */
        start local 3 // java.lang.IllegalArgumentException iae
         8: .line 210
            aload 1 /* context */
            invokevirtual org.jruby.runtime.ThreadContext.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "stream error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* iae */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.jruby.ext.zlib.RubyZlib.newStreamError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 3 // java.lang.IllegalArgumentException iae
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/ext/zlib/JZlibDeflate;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
            0    9     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1    7     3      tmp  [B
            2    7     4      err  I
            8    9     3      iae  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           0     6       7  Class java.lang.IllegalArgumentException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"set_dictionary"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject flush(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 216
            iconst_2
            istore 2 /* flush */
        start local 2 // int flush
         1: .line 218
            aload 1 /* args */
            arraylength
            iconst_1
            if_icmpne 2
            aload 1 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 2
            aload 1 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 2 /* flush */
         2: .line 220
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* flush */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.flush:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // int flush
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/ext/zlib/JZlibDeflate;
            0    3     1   args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     2  flush  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"flush"}, optional = 1)
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.runtime.builtin.IRubyObject deflate(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 225
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* args */
            iconst_1
            iconst_1
            invokestatic org.jruby.runtime.Arity.scanArgs:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 1 /* args */
         1: .line 226
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.internalFinished:()Z
            ifeq 2
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            ldc "stream error"
            invokestatic org.jruby.ext.zlib.RubyZlib.newStreamError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 228
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* data */
        start local 2 // org.jruby.util.ByteList data
         3: .line 229
            aload 1 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 4
            aload 1 /* args */
            iconst_0
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 2 /* data */
         4: .line 231
      StackMap locals: org.jruby.util.ByteList
      StackMap stack:
            iconst_0
            istore 3 /* flush */
        start local 3 // int flush
         5: .line 232
            aload 1 /* args */
            iconst_1
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 6
            aload 1 /* args */
            iconst_1
            aaload
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 3 /* flush */
         6: .line 235
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* data */
            iload 3 /* flush */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.deflate:(Lorg/jruby/util/ByteList;I)Lorg/jruby/runtime/builtin/IRubyObject;
         7: areturn
         8: .line 236
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 4 /* ioe */
        start local 4 // java.io.IOException ioe
         9: .line 237
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            aload 4 /* ioe */
            invokevirtual org.jruby.Ruby.newIOErrorFromException:(Ljava/io/IOException;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 4 // java.io.IOException ioe
        end local 3 // int flush
        end local 2 // org.jruby.util.ByteList data
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/jruby/ext/zlib/JZlibDeflate;
            0   10     1   args  [Lorg/jruby/runtime/builtin/IRubyObject;
            3   10     2   data  Lorg/jruby/util/ByteList;
            5   10     3  flush  I
            9   10     4    ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           6     7       8  Class java.io.IOException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"deflate"}, required = 1, optional = 1)
    MethodParameters:
      Name  Flags
      args  

  protected int internalTotalIn();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
         0: .line 243
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            getfield com.jcraft.jzlib.Deflater.total_in:J
            l2i
            ireturn
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ext/zlib/JZlibDeflate;

  protected int internalTotalOut();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
         0: .line 248
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            getfield com.jcraft.jzlib.Deflater.total_out:J
            l2i
            ireturn
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ext/zlib/JZlibDeflate;

  protected boolean internalStreamEndP();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
         0: .line 253
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            invokevirtual com.jcraft.jzlib.Deflater.finished:()Z
            ireturn
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ext/zlib/JZlibDeflate;

  protected void internalReset();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
         0: .line 258
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.level:I
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.windowBits:I
            bipush 8
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.strategy:I
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.init:(IIII)V
         1: .line 259
            return
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ext/zlib/JZlibDeflate;

  public boolean internalFinished();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
         0: .line 263
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            invokevirtual com.jcraft.jzlib.Deflater.finished:()Z
            ireturn
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ext/zlib/JZlibDeflate;

  protected long internalAdler();
    descriptor: ()J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
         0: .line 268
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            invokevirtual com.jcraft.jzlib.Deflater.getAdler:()J
            lreturn
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ext/zlib/JZlibDeflate;

  protected org.jruby.runtime.builtin.IRubyObject internalFinish(org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
        start local 1 // org.jruby.runtime.Block block
         0: .line 273
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.finish:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/ext/zlib/JZlibDeflate;
            0    1     1  block  Lorg/jruby/runtime/Block;
    MethodParameters:
       Name  Flags
      block  

  protected void internalClose();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
         0: .line 278
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            invokevirtual com.jcraft.jzlib.Deflater.end:()I
            pop
         1: .line 279
            return
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/ext/zlib/JZlibDeflate;

  private void append(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
        start local 1 // org.jruby.util.ByteList obj
         0: .line 282
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            aload 1 /* obj */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 1 /* obj */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 1 /* obj */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iconst_1
            invokevirtual com.jcraft.jzlib.Deflater.setInput:([BIIZ)V
         1: .line 283
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.run:()V
         2: .line 284
            return
        end local 1 // org.jruby.util.ByteList obj
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/ext/zlib/JZlibDeflate;
            0    3     1   obj  Lorg/jruby/util/ByteList;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  private org.jruby.runtime.builtin.IRubyObject flush(int);
    descriptor: (I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
        start local 1 // int flush
         0: .line 287
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flush:I
            istore 2 /* last_flush */
        start local 2 // int last_flush
         1: .line 288
            aload 0 /* this */
            iload 1 /* flush */
            putfield org.jruby.ext.zlib.JZlibDeflate.flush:I
         2: .line 289
            iload 1 /* flush */
            ifne 3
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;)Lorg/jruby/RubyString;
            areturn
         3: .line 291
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.run:()V
         4: .line 292
            aload 0 /* this */
            iload 2 /* last_flush */
            putfield org.jruby.ext.zlib.JZlibDeflate.flush:I
         5: .line 293
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.collected:[B
            iconst_0
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.collectedIdx:I
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;[BII)Lorg/jruby/RubyString;
            astore 3 /* obj */
        start local 3 // org.jruby.runtime.builtin.IRubyObject obj
         6: .line 294
            aload 0 /* this */
            iconst_0
            putfield org.jruby.ext.zlib.JZlibDeflate.collectedIdx:I
         7: .line 295
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.collected:[B
            invokevirtual com.jcraft.jzlib.Deflater.setOutput:([B)V
         8: .line 296
            aload 3 /* obj */
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject obj
        end local 2 // int last_flush
        end local 1 // int flush
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/jruby/ext/zlib/JZlibDeflate;
            0    9     1       flush  I
            1    9     2  last_flush  I
            6    9     3         obj  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      flush  

  private org.jruby.runtime.builtin.IRubyObject deflate(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
        start local 1 // org.jruby.util.ByteList str
        start local 2 // int flush
         0: .line 300
            aload 1 /* str */
            ifnull 1
            aload 0 /* this */
            aload 1 /* str */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.append:(Lorg/jruby/util/ByteList;)V
         1: .line 302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* flush */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.flush:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // int flush
        end local 1 // org.jruby.util.ByteList str
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/ext/zlib/JZlibDeflate;
            0    2     1    str  Lorg/jruby/util/ByteList;
            0    2     2  flush  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      str    
      flush  

  private org.jruby.runtime.builtin.IRubyObject finish();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
         0: .line 306
            aload 0 /* this */
            iconst_4
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.flush:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ext/zlib/JZlibDeflate;

  private void run();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.jruby.ext.zlib.JZlibDeflate this
         0: .line 310
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.internalFinished:()Z
            ifeq 11
            return
         1: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.collected:[B
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.collectedIdx:I
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.collected:[B
            arraylength
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.collectedIdx:I
            isub
            invokevirtual com.jcraft.jzlib.Deflater.setOutput:([BII)V
         2: .line 315
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flush:I
            invokevirtual com.jcraft.jzlib.Deflater.deflate:(I)I
            istore 1 /* err */
        start local 1 // int err
         3: .line 316
            iload 1 /* err */
            tableswitch { // -2 - -2
                   -2: 4
              default: 5
          }
         4: .line 318
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.getRuntime:()Lorg/jruby/Ruby;
            ldc "stream error: "
            invokestatic org.jruby.ext.zlib.RubyZlib.newStreamError:(Lorg/jruby/Ruby;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.collectedIdx:I
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            getfield com.jcraft.jzlib.Deflater.next_out_index:I
            if_icmpne 6
            goto 12
         6: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.flater:Lcom/jcraft/jzlib/Deflater;
            getfield com.jcraft.jzlib.Deflater.next_out_index:I
            putfield org.jruby.ext.zlib.JZlibDeflate.collectedIdx:I
         7: .line 325
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.collected:[B
            arraylength
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.collectedIdx:I
            if_icmpne 11
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.internalFinished:()Z
            ifne 11
         8: .line 326
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.collected:[B
            arraylength
            iconst_3
            imul
            newarray 8
            astore 2 /* tmp */
        start local 2 // byte[] tmp
         9: .line 327
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.collected:[B
            iconst_0
            aload 2 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.ext.zlib.JZlibDeflate.collected:[B
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 328
            aload 0 /* this */
            aload 2 /* tmp */
            putfield org.jruby.ext.zlib.JZlibDeflate.collected:[B
        end local 2 // byte[] tmp
        end local 1 // int err
        11: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.ext.zlib.JZlibDeflate.internalFinished:()Z
            ifeq 1
        12: .line 331
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.ext.zlib.JZlibDeflate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/jruby/ext/zlib/JZlibDeflate;
            3   11     1   err  I
            9   11     2   tmp  [B
}
SourceFile: "JZlibDeflate.java"
NestMembers:
  org.jruby.ext.zlib.JZlibDeflate$1
InnerClasses:
  org.jruby.ext.zlib.JZlibDeflate$1
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyClass(name = {"Zlib::Deflate"}, parent = "Zlib::ZStream")