public class org.apache.commons.compress.compressors.z.ZCompressorInputStream extends org.apache.commons.compress.compressors.lzw.LZWInputStream
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.compress.compressors.z.ZCompressorInputStream
  super_class: org.apache.commons.compress.compressors.lzw.LZWInputStream
{
  private static final int MAGIC_1;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 31

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

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

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

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

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

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

  public void <init>(java.io.InputStream, int);
    descriptor: (Ljava/io/InputStream;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.apache.commons.compress.compressors.z.ZCompressorInputStream this
        start local 1 // java.io.InputStream inputStream
        start local 2 // int memoryLimitInKb
         0: .line 43
            aload 0 /* this */
            aload 1 /* inputStream */
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokespecial org.apache.commons.compress.compressors.lzw.LZWInputStream.<init>:(Ljava/io/InputStream;Ljava/nio/ByteOrder;)V
         1: .line 39
            aload 0 /* this */
            lconst_0
            putfield org.apache.commons.compress.compressors.z.ZCompressorInputStream.totalCodesRead:J
         2: .line 44
            aload 0 /* this */
            getfield org.apache.commons.compress.compressors.z.ZCompressorInputStream.in:Lorg/apache/commons/compress/utils/BitInputStream;
            bipush 8
            invokevirtual org.apache.commons.compress.utils.BitInputStream.readBits:(I)J
            l2i
            istore 3 /* firstByte */
        start local 3 // int firstByte
         3: .line 45
            aload 0 /* this */
            getfield org.apache.commons.compress.compressors.z.ZCompressorInputStream.in:Lorg/apache/commons/compress/utils/BitInputStream;
            bipush 8
            invokevirtual org.apache.commons.compress.utils.BitInputStream.readBits:(I)J
            l2i
            istore 4 /* secondByte */
        start local 4 // int secondByte
         4: .line 46
            aload 0 /* this */
            getfield org.apache.commons.compress.compressors.z.ZCompressorInputStream.in:Lorg/apache/commons/compress/utils/BitInputStream;
            bipush 8
            invokevirtual org.apache.commons.compress.utils.BitInputStream.readBits:(I)J
            l2i
            istore 5 /* thirdByte */
        start local 5 // int thirdByte
         5: .line 47
            iload 3 /* firstByte */
            bipush 31
            if_icmpne 6
            iload 4 /* secondByte */
            sipush 157
            if_icmpne 6
            iload 5 /* thirdByte */
            ifge 7
         6: .line 48
      StackMap locals: org.apache.commons.compress.compressors.z.ZCompressorInputStream java.io.InputStream int int int int
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Input is not in .Z format"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 50
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* thirdByte */
            sipush 128
            iand
            ifeq 8
            iconst_1
            goto 9
      StackMap locals:
      StackMap stack: org.apache.commons.compress.compressors.z.ZCompressorInputStream
         8: iconst_0
      StackMap locals: org.apache.commons.compress.compressors.z.ZCompressorInputStream java.io.InputStream int int int int
      StackMap stack: org.apache.commons.compress.compressors.z.ZCompressorInputStream int
         9: putfield org.apache.commons.compress.compressors.z.ZCompressorInputStream.blockMode:Z
        10: .line 51
            aload 0 /* this */
            iload 5 /* thirdByte */
            bipush 31
            iand
            putfield org.apache.commons.compress.compressors.z.ZCompressorInputStream.maxCodeSize:I
        11: .line 52
            aload 0 /* this */
            getfield org.apache.commons.compress.compressors.z.ZCompressorInputStream.blockMode:Z
            ifeq 13
        12: .line 53
            aload 0 /* this */
            bipush 9
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.setClearCode:(I)V
        13: .line 55
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.compress.compressors.z.ZCompressorInputStream.maxCodeSize:I
            iload 2 /* memoryLimitInKb */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.initializeTables:(II)V
        14: .line 56
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.clearEntries:()V
        15: .line 57
            return
        end local 5 // int thirdByte
        end local 4 // int secondByte
        end local 3 // int firstByte
        end local 2 // int memoryLimitInKb
        end local 1 // java.io.InputStream inputStream
        end local 0 // org.apache.commons.compress.compressors.z.ZCompressorInputStream this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0             this  Lorg/apache/commons/compress/compressors/z/ZCompressorInputStream;
            0   16     1      inputStream  Ljava/io/InputStream;
            0   16     2  memoryLimitInKb  I
            3   16     3        firstByte  I
            4   16     4       secondByte  I
            5   16     5        thirdByte  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      inputStream      final
      memoryLimitInKb  final

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.compress.compressors.z.ZCompressorInputStream this
        start local 1 // java.io.InputStream inputStream
         0: .line 60
            aload 0 /* this */
            aload 1 /* inputStream */
            iconst_m1
            invokespecial org.apache.commons.compress.compressors.z.ZCompressorInputStream.<init>:(Ljava/io/InputStream;I)V
         1: .line 61
            return
        end local 1 // java.io.InputStream inputStream
        end local 0 // org.apache.commons.compress.compressors.z.ZCompressorInputStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/commons/compress/compressors/z/ZCompressorInputStream;
            0    2     1  inputStream  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      inputStream  final

  private void clearEntries();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.compress.compressors.z.ZCompressorInputStream this
         0: .line 64
            aload 0 /* this */
            sipush 256
            aload 0 /* this */
            getfield org.apache.commons.compress.compressors.z.ZCompressorInputStream.blockMode:Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals: org.apache.commons.compress.compressors.z.ZCompressorInputStream
      StackMap stack: org.apache.commons.compress.compressors.z.ZCompressorInputStream int
         1: iconst_0
      StackMap locals: org.apache.commons.compress.compressors.z.ZCompressorInputStream
      StackMap stack: org.apache.commons.compress.compressors.z.ZCompressorInputStream int int
         2: iadd
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.setTableSize:(I)V
         3: .line 65
            return
        end local 0 // org.apache.commons.compress.compressors.z.ZCompressorInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/compress/compressors/z/ZCompressorInputStream;

  protected int readNextCode();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.apache.commons.compress.compressors.z.ZCompressorInputStream this
         0: .line 75
            aload 0 /* this */
            invokespecial org.apache.commons.compress.compressors.lzw.LZWInputStream.readNextCode:()I
            istore 1 /* code */
        start local 1 // int code
         1: .line 76
            iload 1 /* code */
            iflt 3
         2: .line 77
            aload 0 /* this */
            dup
            getfield org.apache.commons.compress.compressors.z.ZCompressorInputStream.totalCodesRead:J
            lconst_1
            ladd
            putfield org.apache.commons.compress.compressors.z.ZCompressorInputStream.totalCodesRead:J
         3: .line 79
      StackMap locals: int
      StackMap stack:
            iload 1 /* code */
            ireturn
        end local 1 // int code
        end local 0 // org.apache.commons.compress.compressors.z.ZCompressorInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/compress/compressors/z/ZCompressorInputStream;
            1    4     1  code  I
    Exceptions:
      throws java.io.IOException

  private void reAlignReading();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // org.apache.commons.compress.compressors.z.ZCompressorInputStream this
         0: .line 87
            ldc 8
            aload 0 /* this */
            getfield org.apache.commons.compress.compressors.z.ZCompressorInputStream.totalCodesRead:J
            ldc 8
            lrem
            lsub
            lstore 1 /* codeReadsToThrowAway */
        start local 1 // long codeReadsToThrowAway
         1: .line 88
            lload 1 /* codeReadsToThrowAway */
            ldc 8
            lcmp
            ifne 3
         2: .line 89
            lconst_0
            lstore 1 /* codeReadsToThrowAway */
         3: .line 91
      StackMap locals: long
      StackMap stack:
            lconst_0
            lstore 3 /* i */
        start local 3 // long i
         4: goto 7
         5: .line 92
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.readNextCode:()I
            pop
         6: .line 91
            lload 3 /* i */
            lconst_1
            ladd
            lstore 3 /* i */
      StackMap locals:
      StackMap stack:
         7: lload 3 /* i */
            lload 1 /* codeReadsToThrowAway */
            lcmp
            iflt 5
        end local 3 // long i
         8: .line 94
            aload 0 /* this */
            getfield org.apache.commons.compress.compressors.z.ZCompressorInputStream.in:Lorg/apache/commons/compress/utils/BitInputStream;
            invokevirtual org.apache.commons.compress.utils.BitInputStream.clearBitCache:()V
         9: .line 95
            return
        end local 1 // long codeReadsToThrowAway
        end local 0 // org.apache.commons.compress.compressors.z.ZCompressorInputStream this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   10     0                  this  Lorg/apache/commons/compress/compressors/z/ZCompressorInputStream;
            1   10     1  codeReadsToThrowAway  J
            4    8     3                     i  J
    Exceptions:
      throws java.io.IOException

  protected int addEntry(int, byte);
    descriptor: (IB)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.apache.commons.compress.compressors.z.ZCompressorInputStream this
        start local 1 // int previousCode
        start local 2 // byte character
         0: .line 105
            iconst_1
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.getCodeSize:()I
            ishl
            istore 3 /* maxTableSize */
        start local 3 // int maxTableSize
         1: .line 106
            aload 0 /* this */
            iload 1 /* previousCode */
            iload 2 /* character */
            iload 3 /* maxTableSize */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.addEntry:(IBI)I
            istore 4 /* r */
        start local 4 // int r
         2: .line 107
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.getTableSize:()I
            iload 3 /* maxTableSize */
            if_icmpne 5
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.getCodeSize:()I
            aload 0 /* this */
            getfield org.apache.commons.compress.compressors.z.ZCompressorInputStream.maxCodeSize:I
            if_icmpge 5
         3: .line 108
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.reAlignReading:()V
         4: .line 109
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.incrementCodeSize:()V
         5: .line 111
      StackMap locals: int int
      StackMap stack:
            iload 4 /* r */
            ireturn
        end local 4 // int r
        end local 3 // int maxTableSize
        end local 2 // byte character
        end local 1 // int previousCode
        end local 0 // org.apache.commons.compress.compressors.z.ZCompressorInputStream this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/apache/commons/compress/compressors/z/ZCompressorInputStream;
            0    6     1  previousCode  I
            0    6     2     character  B
            1    6     3  maxTableSize  I
            2    6     4             r  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      previousCode  final
      character     final

  protected int decompressNextSymbol();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.apache.commons.compress.compressors.z.ZCompressorInputStream this
         0: .line 134
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.readNextCode:()I
            istore 1 /* code */
        start local 1 // int code
         1: .line 135
            iload 1 /* code */
            ifge 3
         2: .line 136
            iconst_m1
            ireturn
         3: .line 137
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.compress.compressors.z.ZCompressorInputStream.blockMode:Z
            ifeq 9
            iload 1 /* code */
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.getClearCode:()I
            if_icmpne 9
         4: .line 138
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.clearEntries:()V
         5: .line 139
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.reAlignReading:()V
         6: .line 140
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.resetCodeSize:()V
         7: .line 141
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.resetPreviousCode:()V
         8: .line 142
            iconst_0
            ireturn
         9: .line 144
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* addedUnfinishedEntry */
        start local 2 // boolean addedUnfinishedEntry
        10: .line 145
            iload 1 /* code */
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.getTableSize:()I
            if_icmpne 14
        11: .line 146
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.addRepeatOfPreviousCode:()I
            pop
        12: .line 147
            iconst_1
            istore 2 /* addedUnfinishedEntry */
        13: .line 148
            goto 16
      StackMap locals: int
      StackMap stack:
        14: iload 1 /* code */
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.getTableSize:()I
            if_icmple 16
        15: .line 149
            new java.io.IOException
            dup
            ldc "Invalid %d bit code 0x%x"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.getCodeSize:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 1 /* code */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* code */
            iload 2 /* addedUnfinishedEntry */
            invokevirtual org.apache.commons.compress.compressors.z.ZCompressorInputStream.expandCodeToOutputStack:(IZ)I
            ireturn
        end local 2 // boolean addedUnfinishedEntry
        end local 1 // int code
        end local 0 // org.apache.commons.compress.compressors.z.ZCompressorInputStream this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   17     0                  this  Lorg/apache/commons/compress/compressors/z/ZCompressorInputStream;
            1   17     1                  code  I
           10   17     2  addedUnfinishedEntry  Z
    Exceptions:
      throws java.io.IOException

  public static boolean matches(byte[], int);
    descriptor: ([BI)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // byte[] signature
        start local 1 // int length
         0: .line 168
            iload 1 /* length */
            iconst_3
            if_icmple 1
            aload 0 /* signature */
            iconst_0
            baload
            bipush 31
            if_icmpne 1
            aload 0 /* signature */
            iconst_1
            baload
            bipush -99
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int length
        end local 0 // byte[] signature
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  signature  [B
            0    2     1     length  I
    MethodParameters:
           Name  Flags
      signature  final
      length     final
}
SourceFile: "ZCompressorInputStream.java"