public class com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor extends com.sun.imageio.plugins.tiff.TIFFDecompressor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor
  super_class: com.sun.imageio.plugins.tiff.TIFFDecompressor
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor this
         0: .line 31
            aload 0 /* this */
            invokespecial com.sun.imageio.plugins.tiff.TIFFDecompressor.<init>:()V
         1: .line 32
            return
        end local 0 // com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/imageio/plugins/tiff/TIFFPackBitsDecompressor;

  public int decode(byte[], int, byte[], int);
    descriptor: ([BI[BI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=12, args_size=5
        start local 0 // com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor this
        start local 1 // byte[] srcData
        start local 2 // int srcOffset
        start local 3 // byte[] dstData
        start local 4 // int dstOffset
         0: .line 38
            iload 2 /* srcOffset */
            istore 5 /* srcIndex */
        start local 5 // int srcIndex
         1: .line 39
            iload 4 /* dstOffset */
            istore 6 /* dstIndex */
        start local 6 // int dstIndex
         2: .line 41
            aload 3 /* dstData */
            arraylength
            istore 7 /* dstArraySize */
        start local 7 // int dstArraySize
         3: .line 42
            aload 1 /* srcData */
            arraylength
            istore 8 /* srcArraySize */
        start local 8 // int srcArraySize
         4: .line 44
            goto 22
         5: .line 45
      StackMap locals: com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor byte[] int byte[] int int int int int
      StackMap stack:
            aload 1 /* srcData */
            iload 5 /* srcIndex */
            iinc 5 /* srcIndex */ 1
            baload
            istore 9 /* b */
        start local 9 // byte b
         6: .line 47
            iload 9 /* b */
            iflt 13
            iload 9 /* b */
            bipush 127
            if_icmpgt 13
         7: .line 50
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         8: goto 11
         9: .line 51
      StackMap locals: int int
      StackMap stack:
            aload 3 /* dstData */
            iload 6 /* dstIndex */
            iinc 6 /* dstIndex */ 1
            aload 1 /* srcData */
            iload 5 /* srcIndex */
            iinc 5 /* srcIndex */ 1
            baload
            bastore
        10: .line 50
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 10 /* i */
            iload 9 /* b */
            iconst_1
            iadd
            if_icmplt 9
        end local 10 // int i
        12: .line 53
            goto 22
      StackMap locals:
      StackMap stack:
        13: iload 9 /* b */
            iconst_m1
            if_icmpgt 21
            iload 9 /* b */
            bipush -127
            if_icmplt 21
        14: .line 55
            aload 1 /* srcData */
            iload 5 /* srcIndex */
            iinc 5 /* srcIndex */ 1
            baload
            istore 10 /* repeat */
        start local 10 // byte repeat
        15: .line 56
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        16: goto 19
        17: .line 57
      StackMap locals: int int
      StackMap stack:
            aload 3 /* dstData */
            iload 6 /* dstIndex */
            iinc 6 /* dstIndex */ 1
            iload 10 /* repeat */
            bastore
        18: .line 56
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 11 /* i */
            iload 9 /* b */
            ineg
            iconst_1
            iadd
            if_icmplt 17
        end local 11 // int i
        end local 10 // byte repeat
        20: .line 59
            goto 22
        21: .line 61
      StackMap locals:
      StackMap stack:
            iinc 5 /* srcIndex */ 1
        end local 9 // byte b
        22: .line 44
      StackMap locals:
      StackMap stack:
            iload 6 /* dstIndex */
            iload 7 /* dstArraySize */
            if_icmpge 29
            iload 5 /* srcIndex */
            iload 8 /* srcArraySize */
            if_icmplt 5
        23: .line 64
            goto 29
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        24: pop
        25: .line 65
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.reader:Ljavax/imageio/ImageReader;
            instanceof com.sun.imageio.plugins.tiff.TIFFImageReader
            ifeq 29
        26: .line 66
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.reader:Ljavax/imageio/ImageReader;
            checkcast com.sun.imageio.plugins.tiff.TIFFImageReader
        27: .line 67
            ldc "ArrayIndexOutOfBoundsException ignored in TIFFPackBitsDecompressor.decode()"
        28: .line 66
            invokevirtual com.sun.imageio.plugins.tiff.TIFFImageReader.forwardWarningMessage:(Ljava/lang/String;)V
        29: .line 71
      StackMap locals:
      StackMap stack:
            iload 6 /* dstIndex */
            iload 4 /* dstOffset */
            isub
            ireturn
        end local 8 // int srcArraySize
        end local 7 // int dstArraySize
        end local 6 // int dstIndex
        end local 5 // int srcIndex
        end local 4 // int dstOffset
        end local 3 // byte[] dstData
        end local 2 // int srcOffset
        end local 1 // byte[] srcData
        end local 0 // com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   30     0          this  Lcom/sun/imageio/plugins/tiff/TIFFPackBitsDecompressor;
            0   30     1       srcData  [B
            0   30     2     srcOffset  I
            0   30     3       dstData  [B
            0   30     4     dstOffset  I
            1   30     5      srcIndex  I
            2   30     6      dstIndex  I
            3   30     7  dstArraySize  I
            4   30     8  srcArraySize  I
            6   22     9             b  B
            8   12    10             i  I
           15   20    10        repeat  B
           16   20    11             i  I
      Exception table:
        from    to  target  type
           4    23      24  Class java.lang.ArrayIndexOutOfBoundsException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      srcData    
      srcOffset  
      dstData    
      dstOffset  

  public void decodeRaw(byte[], int, int, int);
    descriptor: ([BIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor this
        start local 1 // byte[] b
        start local 2 // int dstOffset
        start local 3 // int bitsPerPixel
        start local 4 // int scanlineStride
         0: .line 78
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.offset:J
            invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
         1: .line 80
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.byteCount:I
            newarray 8
            astore 5 /* srcData */
        start local 5 // byte[] srcData
         2: .line 81
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 5 /* srcData */
            invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
         3: .line 83
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.srcWidth:I
            iload 3 /* bitsPerPixel */
            imul
            bipush 7
            iadd
            bipush 8
            idiv
            istore 6 /* bytesPerRow */
        start local 6 // int bytesPerRow
         4: .line 86
            iload 6 /* bytesPerRow */
            iload 4 /* scanlineStride */
            if_icmpne 8
         5: .line 87
            aload 1 /* b */
            astore 7 /* buf */
        start local 7 // byte[] buf
         6: .line 88
            iload 2 /* dstOffset */
            istore 8 /* bufOffset */
        start local 8 // int bufOffset
         7: .line 89
            goto 10
        end local 8 // int bufOffset
        end local 7 // byte[] buf
         8: .line 90
      StackMap locals: byte[] int
      StackMap stack:
            iload 6 /* bytesPerRow */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.srcHeight:I
            imul
            newarray 8
            astore 7 /* buf */
        start local 7 // byte[] buf
         9: .line 91
            iconst_0
            istore 8 /* bufOffset */
        start local 8 // int bufOffset
        10: .line 94
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* this */
            aload 5 /* srcData */
            iconst_0
            aload 7 /* buf */
            iload 8 /* bufOffset */
            invokevirtual com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.decode:([BI[BI)I
            pop
        11: .line 96
            iload 6 /* bytesPerRow */
            iload 4 /* scanlineStride */
            if_icmpeq 20
        12: .line 97
            iconst_0
            istore 9 /* off */
        start local 9 // int off
        13: .line 98
            iconst_0
            istore 10 /* y */
        start local 10 // int y
        14: goto 19
        15: .line 99
      StackMap locals: int int
      StackMap stack:
            aload 7 /* buf */
            iload 9 /* off */
            aload 1 /* b */
            iload 2 /* dstOffset */
            iload 6 /* bytesPerRow */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        16: .line 100
            iload 9 /* off */
            iload 6 /* bytesPerRow */
            iadd
            istore 9 /* off */
        17: .line 101
            iload 2 /* dstOffset */
            iload 4 /* scanlineStride */
            iadd
            istore 2 /* dstOffset */
        18: .line 98
            iinc 10 /* y */ 1
      StackMap locals:
      StackMap stack:
        19: iload 10 /* y */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.srcHeight:I
            if_icmplt 15
        end local 10 // int y
        end local 9 // int off
        20: .line 104
      StackMap locals:
      StackMap stack:
            return
        end local 8 // int bufOffset
        end local 7 // byte[] buf
        end local 6 // int bytesPerRow
        end local 5 // byte[] srcData
        end local 4 // int scanlineStride
        end local 3 // int bitsPerPixel
        end local 2 // int dstOffset
        end local 1 // byte[] b
        end local 0 // com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Lcom/sun/imageio/plugins/tiff/TIFFPackBitsDecompressor;
            0   21     1               b  [B
            0   21     2       dstOffset  I
            0   21     3    bitsPerPixel  I
            0   21     4  scanlineStride  I
            2   21     5         srcData  [B
            4   21     6     bytesPerRow  I
            6    8     7             buf  [B
            9   21     7             buf  [B
            7    8     8       bufOffset  I
           10   21     8       bufOffset  I
           13   20     9             off  I
           14   20    10               y  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      b               
      dstOffset       
      bitsPerPixel    
      scanlineStride  
}
SourceFile: "TIFFPackBitsDecompressor.java"