public class com.sun.imageio.plugins.bmp.BMPImageWriter extends javax.imageio.ImageWriter implements com.sun.imageio.plugins.bmp.BMPConstants
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.imageio.plugins.bmp.BMPImageWriter
  super_class: javax.imageio.ImageWriter
{
  private javax.imageio.stream.ImageOutputStream stream;
    descriptor: Ljavax/imageio/stream/ImageOutputStream;
    flags: (0x0002) ACC_PRIVATE

  private java.io.ByteArrayOutputStream embedded_stream;
    descriptor: Ljava/io/ByteArrayOutputStream;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

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

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

  private short[] spixels;
    descriptor: [S
    flags: (0x0002) ACC_PRIVATE

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

  public void <init>(javax.imageio.spi.ImageWriterSpi);
    descriptor: (Ljavax/imageio/spi/ImageWriterSpi;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // javax.imageio.spi.ImageWriterSpi originator
         0: .line 103
            aload 0 /* this */
            aload 1 /* originator */
            invokespecial javax.imageio.ImageWriter.<init>:(Ljavax/imageio/spi/ImageWriterSpi;)V
         1: .line 86
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
         2: .line 87
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
         3: .line 92
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
         4: .line 104
            return
        end local 1 // javax.imageio.spi.ImageWriterSpi originator
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    5     1  originator  Ljavax/imageio/spi/ImageWriterSpi;
    MethodParameters:
            Name  Flags
      originator  

  public void setOutput(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // java.lang.Object output
         0: .line 107
            aload 0 /* this */
            aload 1 /* output */
            invokespecial javax.imageio.ImageWriter.setOutput:(Ljava/lang/Object;)V
         1: .line 108
            aload 1 /* output */
            ifnull 7
         2: .line 109
            aload 1 /* output */
            instanceof javax.imageio.stream.ImageOutputStream
            ifne 4
         3: .line 110
            new java.lang.IllegalArgumentException
            dup
            ldc "BMPImageWriter0"
            invokestatic com.sun.imageio.plugins.common.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* output */
            checkcast javax.imageio.stream.ImageOutputStream
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
         5: .line 112
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokeinterface javax.imageio.stream.ImageOutputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
         6: .line 113
            goto 8
         7: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
         8: .line 115
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object output
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    9     1  output  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      output  

  public javax.imageio.ImageWriteParam getDefaultWriteParam();
    descriptor: ()Ljavax/imageio/ImageWriteParam;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
         0: .line 118
            new javax.imageio.plugins.bmp.BMPImageWriteParam
            dup
            invokespecial javax.imageio.plugins.bmp.BMPImageWriteParam.<init>:()V
            areturn
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;

  public javax.imageio.metadata.IIOMetadata getDefaultStreamMetadata(javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // javax.imageio.ImageWriteParam param
         0: .line 122
            aconst_null
            areturn
        end local 1 // javax.imageio.ImageWriteParam param
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    1     1  param  Ljavax/imageio/ImageWriteParam;
    MethodParameters:
       Name  Flags
      param  

  public javax.imageio.metadata.IIOMetadata getDefaultImageMetadata(javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // javax.imageio.ImageTypeSpecifier imageType
        start local 2 // javax.imageio.ImageWriteParam param
         0: .line 127
            new com.sun.imageio.plugins.bmp.BMPMetadata
            dup
            invokespecial com.sun.imageio.plugins.bmp.BMPMetadata.<init>:()V
            astore 3 /* meta */
        start local 3 // com.sun.imageio.plugins.bmp.BMPMetadata meta
         1: .line 128
            aload 3 /* meta */
            ldc "BMP v. 3.x"
            putfield com.sun.imageio.plugins.bmp.BMPMetadata.bmpVersion:Ljava/lang/String;
         2: .line 129
            aload 3 /* meta */
            aload 0 /* this */
            aload 1 /* imageType */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getPreferredCompressionType:(Ljavax/imageio/ImageTypeSpecifier;)I
            putfield com.sun.imageio.plugins.bmp.BMPMetadata.compression:I
         3: .line 130
            aload 2 /* param */
            ifnull 6
         4: .line 131
            aload 2 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getCompressionMode:()I
            iconst_2
            if_icmpne 6
         5: .line 132
            aload 3 /* meta */
            aload 0 /* this */
            aload 2 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getCompressionType:()Ljava/lang/String;
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getCompressionType:(Ljava/lang/String;)I
            putfield com.sun.imageio.plugins.bmp.BMPMetadata.compression:I
         6: .line 134
      StackMap locals: com.sun.imageio.plugins.bmp.BMPMetadata
      StackMap stack:
            aload 3 /* meta */
            aload 1 /* imageType */
            invokevirtual javax.imageio.ImageTypeSpecifier.getColorModel:()Ljava/awt/image/ColorModel;
            invokevirtual java.awt.image.ColorModel.getPixelSize:()I
            i2s
            putfield com.sun.imageio.plugins.bmp.BMPMetadata.bitsPerPixel:S
         7: .line 135
            aload 3 /* meta */
            areturn
        end local 3 // com.sun.imageio.plugins.bmp.BMPMetadata meta
        end local 2 // javax.imageio.ImageWriteParam param
        end local 1 // javax.imageio.ImageTypeSpecifier imageType
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    8     1  imageType  Ljavax/imageio/ImageTypeSpecifier;
            0    8     2      param  Ljavax/imageio/ImageWriteParam;
            1    8     3       meta  Lcom/sun/imageio/plugins/bmp/BMPMetadata;
    MethodParameters:
           Name  Flags
      imageType  
      param      

  public javax.imageio.metadata.IIOMetadata convertStreamMetadata(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata inData
        start local 2 // javax.imageio.ImageWriteParam param
         0: .line 140
            aconst_null
            areturn
        end local 2 // javax.imageio.ImageWriteParam param
        end local 1 // javax.imageio.metadata.IIOMetadata inData
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    1     1  inData  Ljavax/imageio/metadata/IIOMetadata;
            0    1     2   param  Ljavax/imageio/ImageWriteParam;
    MethodParameters:
        Name  Flags
      inData  
      param   

  public javax.imageio.metadata.IIOMetadata convertImageMetadata(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata metadata
        start local 2 // javax.imageio.ImageTypeSpecifier type
        start local 3 // javax.imageio.ImageWriteParam param
         0: .line 146
            aconst_null
            areturn
        end local 3 // javax.imageio.ImageWriteParam param
        end local 2 // javax.imageio.ImageTypeSpecifier type
        end local 1 // javax.imageio.metadata.IIOMetadata metadata
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    1     1  metadata  Ljavax/imageio/metadata/IIOMetadata;
            0    1     2      type  Ljavax/imageio/ImageTypeSpecifier;
            0    1     3     param  Ljavax/imageio/ImageWriteParam;
    MethodParameters:
          Name  Flags
      metadata  
      type      
      param     

  public boolean canWriteRasters();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
         0: .line 150
            iconst_1
            ireturn
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;

  public void write(javax.imageio.metadata.IIOMetadata, javax.imageio.IIOImage, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=65, args_size=4
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata streamMetadata
        start local 2 // javax.imageio.IIOImage image
        start local 3 // javax.imageio.ImageWriteParam param
         0: .line 157
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            ifnonnull 2
         1: .line 158
            new java.lang.IllegalStateException
            dup
            ldc "BMPImageWriter7"
            invokestatic com.sun.imageio.plugins.common.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 161
      StackMap locals:
      StackMap stack:
            aload 2 /* image */
            ifnonnull 4
         3: .line 162
            new java.lang.IllegalArgumentException
            dup
            ldc "BMPImageWriter8"
            invokestatic com.sun.imageio.plugins.common.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.clearAbortRequest:()V
         5: .line 166
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processImageStarted:(I)V
         6: .line 167
            aload 3 /* param */
            ifnonnull 8
         7: .line 168
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getDefaultWriteParam:()Ljavax/imageio/ImageWriteParam;
            astore 3 /* param */
         8: .line 170
      StackMap locals:
      StackMap stack:
            aload 3 /* param */
            checkcast javax.imageio.plugins.bmp.BMPImageWriteParam
            astore 4 /* bmpParam */
        start local 4 // javax.imageio.plugins.bmp.BMPImageWriteParam bmpParam
         9: .line 173
            bipush 24
            istore 5 /* bitsPerPixel */
        start local 5 // int bitsPerPixel
        10: .line 174
            iconst_0
            istore 6 /* isPalette */
        start local 6 // boolean isPalette
        11: .line 175
            iconst_0
            istore 7 /* paletteEntries */
        start local 7 // int paletteEntries
        12: .line 176
            aconst_null
            astore 8 /* icm */
        start local 8 // java.awt.image.IndexColorModel icm
        13: .line 178
            aconst_null
            astore 9 /* input */
        start local 9 // java.awt.image.RenderedImage input
        14: .line 179
            aconst_null
            astore 10 /* inputRaster */
        start local 10 // java.awt.image.Raster inputRaster
        15: .line 180
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.hasRaster:()Z
            istore 11 /* writeRaster */
        start local 11 // boolean writeRaster
        16: .line 181
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceRegion:()Ljava/awt/Rectangle;
            astore 12 /* sourceRegion */
        start local 12 // java.awt.Rectangle sourceRegion
        17: .line 182
            aconst_null
            astore 13 /* sampleModel */
        start local 13 // java.awt.image.SampleModel sampleModel
        18: .line 183
            aconst_null
            astore 14 /* colorModel */
        start local 14 // java.awt.image.ColorModel colorModel
        19: .line 185
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
        20: .line 187
            iload 11 /* writeRaster */
            ifeq 28
        21: .line 188
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.getRaster:()Ljava/awt/image/Raster;
            astore 10 /* inputRaster */
        22: .line 189
            aload 10 /* inputRaster */
            invokevirtual java.awt.image.Raster.getSampleModel:()Ljava/awt/image/SampleModel;
            astore 13 /* sampleModel */
        23: .line 190
            aconst_null
            aload 13 /* sampleModel */
            invokestatic com.sun.imageio.plugins.common.ImageUtil.createColorModel:(Ljava/awt/color/ColorSpace;Ljava/awt/image/SampleModel;)Ljava/awt/image/ColorModel;
            astore 14 /* colorModel */
        24: .line 191
            aload 12 /* sourceRegion */
            ifnonnull 26
        25: .line 192
            aload 10 /* inputRaster */
            invokevirtual java.awt.image.Raster.getBounds:()Ljava/awt/Rectangle;
            astore 12 /* sourceRegion */
            goto 37
        26: .line 194
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel
      StackMap stack:
            aload 12 /* sourceRegion */
            aload 10 /* inputRaster */
            invokevirtual java.awt.image.Raster.getBounds:()Ljava/awt/Rectangle;
            invokevirtual java.awt.Rectangle.intersection:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
            astore 12 /* sourceRegion */
        27: .line 195
            goto 37
        28: .line 196
      StackMap locals:
      StackMap stack:
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.getRenderedImage:()Ljava/awt/image/RenderedImage;
            astore 9 /* input */
        29: .line 197
            aload 9 /* input */
            invokeinterface java.awt.image.RenderedImage.getSampleModel:()Ljava/awt/image/SampleModel;
            astore 13 /* sampleModel */
        30: .line 198
            aload 9 /* input */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            astore 14 /* colorModel */
        31: .line 199
            new java.awt.Rectangle
            dup
            aload 9 /* input */
            invokeinterface java.awt.image.RenderedImage.getMinX:()I
            aload 9 /* input */
            invokeinterface java.awt.image.RenderedImage.getMinY:()I
        32: .line 200
            aload 9 /* input */
            invokeinterface java.awt.image.RenderedImage.getWidth:()I
            aload 9 /* input */
            invokeinterface java.awt.image.RenderedImage.getHeight:()I
        33: .line 199
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 15 /* rect */
        start local 15 // java.awt.Rectangle rect
        34: .line 201
            aload 12 /* sourceRegion */
            ifnonnull 36
        35: .line 202
            aload 15 /* rect */
            astore 12 /* sourceRegion */
            goto 37
        36: .line 204
      StackMap locals: java.awt.Rectangle
      StackMap stack:
            aload 12 /* sourceRegion */
            aload 15 /* rect */
            invokevirtual java.awt.Rectangle.intersection:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
            astore 12 /* sourceRegion */
        end local 15 // java.awt.Rectangle rect
        37: .line 207
      StackMap locals:
      StackMap stack:
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.getMetadata:()Ljavax/imageio/metadata/IIOMetadata;
            astore 15 /* imageMetadata */
        start local 15 // javax.imageio.metadata.IIOMetadata imageMetadata
        38: .line 208
            aconst_null
            astore 16 /* bmpImageMetadata */
        start local 16 // com.sun.imageio.plugins.bmp.BMPMetadata bmpImageMetadata
        39: .line 209
            aload 15 /* imageMetadata */
            ifnull 43
        40: .line 210
            aload 15 /* imageMetadata */
            instanceof com.sun.imageio.plugins.bmp.BMPMetadata
            ifeq 43
        41: .line 212
            aload 15 /* imageMetadata */
            checkcast com.sun.imageio.plugins.bmp.BMPMetadata
            astore 16 /* bmpImageMetadata */
        42: .line 213
            goto 48
        43: .line 215
      StackMap locals: javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata
      StackMap stack:
            new javax.imageio.ImageTypeSpecifier
            dup
            aload 14 /* colorModel */
            aload 13 /* sampleModel */
            invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)V
        44: .line 214
            astore 17 /* imageType */
        start local 17 // javax.imageio.ImageTypeSpecifier imageType
        45: .line 217
            aload 0 /* this */
            aload 17 /* imageType */
        46: .line 218
            aload 3 /* param */
        47: .line 217
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getDefaultImageMetadata:(Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
            checkcast com.sun.imageio.plugins.bmp.BMPMetadata
            astore 16 /* bmpImageMetadata */
        end local 17 // javax.imageio.ImageTypeSpecifier imageType
        48: .line 221
      StackMap locals:
      StackMap stack:
            aload 12 /* sourceRegion */
            invokevirtual java.awt.Rectangle.isEmpty:()Z
            ifeq 50
        49: .line 222
            new java.lang.RuntimeException
            dup
            ldc "BMPImageWrite0"
            invokestatic com.sun.imageio.plugins.common.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        50: .line 224
      StackMap locals:
      StackMap stack:
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceXSubsampling:()I
            istore 17 /* scaleX */
        start local 17 // int scaleX
        51: .line 225
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceYSubsampling:()I
            istore 18 /* scaleY */
        start local 18 // int scaleY
        52: .line 226
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSubsamplingXOffset:()I
            istore 19 /* xOffset */
        start local 19 // int xOffset
        53: .line 227
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSubsamplingYOffset:()I
            istore 20 /* yOffset */
        start local 20 // int yOffset
        54: .line 230
            aload 13 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getDataType:()I
            istore 21 /* dataType */
        start local 21 // int dataType
        55: .line 232
            aload 12 /* sourceRegion */
            iload 19 /* xOffset */
            iload 20 /* yOffset */
            invokevirtual java.awt.Rectangle.translate:(II)V
        56: .line 233
            aload 12 /* sourceRegion */
            dup
            getfield java.awt.Rectangle.width:I
            iload 19 /* xOffset */
            isub
            putfield java.awt.Rectangle.width:I
        57: .line 234
            aload 12 /* sourceRegion */
            dup
            getfield java.awt.Rectangle.height:I
            iload 20 /* yOffset */
            isub
            putfield java.awt.Rectangle.height:I
        58: .line 236
            aload 12 /* sourceRegion */
            getfield java.awt.Rectangle.x:I
            iload 17 /* scaleX */
            idiv
            istore 22 /* minX */
        start local 22 // int minX
        59: .line 237
            aload 12 /* sourceRegion */
            getfield java.awt.Rectangle.y:I
            iload 18 /* scaleY */
            idiv
            istore 23 /* minY */
        start local 23 // int minY
        60: .line 238
            aload 0 /* this */
            aload 12 /* sourceRegion */
            getfield java.awt.Rectangle.width:I
            iload 17 /* scaleX */
            iadd
            iconst_1
            isub
            iload 17 /* scaleX */
            idiv
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
        61: .line 239
            aload 0 /* this */
            aload 12 /* sourceRegion */
            getfield java.awt.Rectangle.height:I
            iload 18 /* scaleY */
            iadd
            iconst_1
            isub
            iload 18 /* scaleY */
            idiv
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
        62: .line 240
            aload 12 /* sourceRegion */
            getfield java.awt.Rectangle.x:I
            iload 17 /* scaleX */
            irem
            istore 19 /* xOffset */
        63: .line 241
            aload 12 /* sourceRegion */
            getfield java.awt.Rectangle.y:I
            iload 18 /* scaleY */
            irem
            istore 20 /* yOffset */
        64: .line 243
            new java.awt.Rectangle
            dup
            iload 22 /* minX */
            iload 23 /* minY */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 24 /* destinationRegion */
        start local 24 // java.awt.Rectangle destinationRegion
        65: .line 244
            aload 24 /* destinationRegion */
            aload 12 /* sourceRegion */
            invokevirtual java.awt.Rectangle.equals:(Ljava/lang/Object;)Z
            istore 25 /* noTransform */
        start local 25 // boolean noTransform
        66: .line 247
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceBands:()[I
            astore 26 /* sourceBands */
        start local 26 // int[] sourceBands
        67: .line 248
            iconst_1
            istore 27 /* noSubband */
        start local 27 // boolean noSubband
        68: .line 249
            aload 13 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getNumBands:()I
            istore 28 /* numBands */
        start local 28 // int numBands
        69: .line 251
            aload 26 /* sourceBands */
            ifnull 75
        70: .line 252
            aload 13 /* sampleModel */
            aload 26 /* sourceBands */
            invokevirtual java.awt.image.SampleModel.createSubsetSampleModel:([I)Ljava/awt/image/SampleModel;
            astore 13 /* sampleModel */
        71: .line 253
            aconst_null
            astore 14 /* colorModel */
        72: .line 254
            iconst_0
            istore 27 /* noSubband */
        73: .line 255
            aload 13 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getNumBands:()I
            istore 28 /* numBands */
        74: .line 256
            goto 81
        75: .line 257
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int
      StackMap stack:
            iload 28 /* numBands */
            newarray 10
            astore 26 /* sourceBands */
        76: .line 258
            iconst_0
            istore 29 /* i */
        start local 29 // int i
        77: goto 80
        78: .line 259
      StackMap locals: int
      StackMap stack:
            aload 26 /* sourceBands */
            iload 29 /* i */
            iload 29 /* i */
            iastore
        79: .line 258
            iinc 29 /* i */ 1
      StackMap locals:
      StackMap stack:
        80: iload 29 /* i */
            iload 28 /* numBands */
            if_icmplt 78
        end local 29 // int i
        81: .line 262
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 29 /* bandOffsets */
        start local 29 // int[] bandOffsets
        82: .line 263
            iconst_1
            istore 30 /* bgrOrder */
        start local 30 // boolean bgrOrder
        83: .line 265
            aload 13 /* sampleModel */
            instanceof java.awt.image.ComponentSampleModel
            ifeq 96
        84: .line 266
            aload 13 /* sampleModel */
            checkcast java.awt.image.ComponentSampleModel
            invokevirtual java.awt.image.ComponentSampleModel.getBandOffsets:()[I
            astore 29 /* bandOffsets */
        85: .line 267
            aload 13 /* sampleModel */
            instanceof java.awt.image.BandedSampleModel
            ifeq 88
        86: .line 270
            iconst_0
            istore 30 /* bgrOrder */
        87: .line 271
            goto 105
        88: .line 275
      StackMap locals: int[] int
      StackMap stack:
            iconst_0
            istore 31 /* i */
        start local 31 // int i
        89: goto 94
        90: .line 276
      StackMap locals: int
      StackMap stack:
            iload 30 /* bgrOrder */
            aload 29 /* bandOffsets */
            iload 31 /* i */
            iaload
            aload 29 /* bandOffsets */
            arraylength
            iload 31 /* i */
            isub
            iconst_1
            isub
            if_icmpne 91
            iconst_1
            goto 92
      StackMap locals:
      StackMap stack: int
        91: iconst_0
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int
      StackMap stack: int int
        92: iand
            istore 30 /* bgrOrder */
        93: .line 275
            iinc 31 /* i */ 1
      StackMap locals:
      StackMap stack:
        94: iload 31 /* i */
            aload 29 /* bandOffsets */
            arraylength
            if_icmplt 90
        end local 31 // int i
        95: .line 279
            goto 105
        96: .line 280
      StackMap locals:
      StackMap stack:
            aload 13 /* sampleModel */
            instanceof java.awt.image.SinglePixelPackedSampleModel
            ifeq 105
        97: .line 285
            aload 13 /* sampleModel */
            checkcast java.awt.image.SinglePixelPackedSampleModel
            invokevirtual java.awt.image.SinglePixelPackedSampleModel.getBitOffsets:()[I
            astore 31 /* bitOffsets */
        start local 31 // int[] bitOffsets
        98: .line 286
            iconst_0
            istore 32 /* i */
        start local 32 // int i
        99: goto 104
       100: .line 287
      StackMap locals: int[] int
      StackMap stack:
            iload 30 /* bgrOrder */
            aload 31 /* bitOffsets */
            iload 32 /* i */
            iaload
            aload 31 /* bitOffsets */
            iload 32 /* i */
            iconst_1
            iadd
            iaload
            if_icmple 101
            iconst_1
            goto 102
      StackMap locals:
      StackMap stack: int
       101: iconst_0
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int
      StackMap stack: int int
       102: iand
            istore 30 /* bgrOrder */
       103: .line 286
            iinc 32 /* i */ 1
      StackMap locals:
      StackMap stack:
       104: iload 32 /* i */
            aload 31 /* bitOffsets */
            arraylength
            iconst_1
            isub
            if_icmplt 100
        end local 32 // int i
        end local 31 // int[] bitOffsets
       105: .line 292
      StackMap locals:
      StackMap stack:
            aload 29 /* bandOffsets */
            ifnonnull 112
       106: .line 295
            iload 28 /* numBands */
            newarray 10
            astore 29 /* bandOffsets */
       107: .line 296
            iconst_0
            istore 31 /* i */
        start local 31 // int i
       108: goto 111
       109: .line 297
      StackMap locals: int
      StackMap stack:
            aload 29 /* bandOffsets */
            iload 31 /* i */
            iload 31 /* i */
            iastore
       110: .line 296
            iinc 31 /* i */ 1
      StackMap locals:
      StackMap stack:
       111: iload 31 /* i */
            iload 28 /* numBands */
            if_icmplt 109
        end local 31 // int i
       112: .line 300
      StackMap locals:
      StackMap stack:
            iload 25 /* noTransform */
            iload 30 /* bgrOrder */
            iand
            istore 25 /* noTransform */
       113: .line 302
            aload 13 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
            astore 31 /* sampleSize */
        start local 31 // int[] sampleSize
       114: .line 307
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            iload 28 /* numBands */
            imul
            istore 32 /* destScanlineBytes */
        start local 32 // int destScanlineBytes
       115: .line 309
            aload 4 /* bmpParam */
            invokevirtual javax.imageio.plugins.bmp.BMPImageWriteParam.getCompressionMode:()I
            tableswitch { // 1 - 3
                    1: 120
                    2: 116
                    3: 118
              default: 122
          }
       116: .line 311
      StackMap locals: int[] int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* bmpParam */
            invokevirtual javax.imageio.plugins.bmp.BMPImageWriteParam.getCompressionType:()Ljava/lang/String;
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getCompressionType:(Ljava/lang/String;)I
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
       117: .line 312
            goto 123
       118: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 16 /* bmpImageMetadata */
            getfield com.sun.imageio.plugins.bmp.BMPMetadata.compression:I
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
       119: .line 315
            goto 123
       120: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 14 /* colorModel */
            aload 13 /* sampleModel */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getPreferredCompressionType:(Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)I
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
       121: .line 318
            goto 123
       122: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
       123: .line 324
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            aload 14 /* colorModel */
            aload 13 /* sampleModel */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.canEncodeImage:(ILjava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)Z
            ifne 127
       124: .line 325
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Image can not be encoded with compression type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       125: .line 326
            getstatic com.sun.imageio.plugins.bmp.BMPImageWriter.compressionTypeNames:[Ljava/lang/String;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       126: .line 325
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
       127: .line 329
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 33 /* r */
        start local 33 // byte[] r
       128: aconst_null
            astore 34 /* g */
        start local 34 // byte[] g
       129: aconst_null
            astore 35 /* b */
        start local 35 // byte[] b
       130: aconst_null
            astore 36 /* a */
        start local 36 // byte[] a
       131: .line 331
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_3
            if_icmpne 172
       132: .line 333
            aload 13 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getDataType:()I
            invokestatic java.awt.image.DataBuffer.getDataTypeSize:(I)I
       133: .line 332
            istore 5 /* bitsPerPixel */
       134: .line 335
            iload 5 /* bitsPerPixel */
            bipush 16
            if_icmpeq 137
            iload 5 /* bitsPerPixel */
            bipush 32
            if_icmpeq 137
       135: .line 338
            bipush 32
            istore 5 /* bitsPerPixel */
       136: .line 342
            iconst_0
            istore 25 /* noTransform */
       137: .line 345
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            iload 5 /* bitsPerPixel */
            imul
            bipush 7
            iadd
            iconst_3
            ishr
            istore 32 /* destScanlineBytes */
       138: .line 347
            iconst_1
            istore 6 /* isPalette */
       139: .line 348
            iconst_3
            istore 7 /* paletteEntries */
       140: .line 349
            iload 7 /* paletteEntries */
            newarray 8
            astore 33 /* r */
       141: .line 350
            iload 7 /* paletteEntries */
            newarray 8
            astore 34 /* g */
       142: .line 351
            iload 7 /* paletteEntries */
            newarray 8
            astore 35 /* b */
       143: .line 352
            iload 7 /* paletteEntries */
            newarray 8
            astore 36 /* a */
       144: .line 354
            ldc 16711680
            istore 37 /* rmask */
        start local 37 // int rmask
       145: .line 355
            ldc 65280
            istore 38 /* gmask */
        start local 38 // int gmask
       146: .line 356
            sipush 255
            istore 39 /* bmask */
        start local 39 // int bmask
       147: .line 358
            iload 5 /* bitsPerPixel */
            bipush 16
            if_icmpne 157
       148: .line 365
            aload 14 /* colorModel */
            instanceof java.awt.image.DirectColorModel
            ifeq 154
       149: .line 366
            aload 14 /* colorModel */
            checkcast java.awt.image.DirectColorModel
            astore 40 /* dcm */
        start local 40 // java.awt.image.DirectColorModel dcm
       150: .line 367
            aload 40 /* dcm */
            invokevirtual java.awt.image.DirectColorModel.getRedMask:()I
            istore 37 /* rmask */
       151: .line 368
            aload 40 /* dcm */
            invokevirtual java.awt.image.DirectColorModel.getGreenMask:()I
            istore 38 /* gmask */
       152: .line 369
            aload 40 /* dcm */
            invokevirtual java.awt.image.DirectColorModel.getBlueMask:()I
            istore 39 /* bmask */
        end local 40 // java.awt.image.DirectColorModel dcm
       153: .line 370
            goto 157
       154: .line 373
      StackMap locals: int int int
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Image can not be encoded with compression type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       155: .line 375
            getstatic com.sun.imageio.plugins.bmp.BMPImageWriter.compressionTypeNames:[Ljava/lang/String;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       156: .line 373
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
       157: .line 378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 37 /* rmask */
            iconst_0
            aload 33 /* r */
            aload 34 /* g */
            aload 35 /* b */
            aload 36 /* a */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeMaskToPalette:(II[B[B[B[B)V
       158: .line 379
            aload 0 /* this */
            iload 38 /* gmask */
            iconst_1
            aload 33 /* r */
            aload 34 /* g */
            aload 35 /* b */
            aload 36 /* a */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeMaskToPalette:(II[B[B[B[B)V
       159: .line 380
            aload 0 /* this */
            iload 39 /* bmask */
            iconst_2
            aload 33 /* r */
            aload 34 /* g */
            aload 35 /* b */
            aload 36 /* a */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeMaskToPalette:(II[B[B[B[B)V
       160: .line 382
            iload 25 /* noTransform */
            ifne 169
       161: .line 384
            aload 0 /* this */
            iconst_3
            newarray 10
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
       162: .line 385
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
            iconst_0
            iload 37 /* rmask */
            iastore
       163: .line 386
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
            iconst_1
            iload 38 /* gmask */
            iastore
       164: .line 387
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
            iconst_2
            iload 39 /* bmask */
            iastore
       165: .line 389
            aload 0 /* this */
            iconst_3
            newarray 10
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
       166: .line 390
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
            iconst_0
            aload 0 /* this */
            iload 37 /* rmask */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.firstLowBit:(I)I
            iastore
       167: .line 391
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
            iconst_1
            aload 0 /* this */
            iload 38 /* gmask */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.firstLowBit:(I)I
            iastore
       168: .line 392
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
            iconst_2
            aload 0 /* this */
            iload 39 /* bmask */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.firstLowBit:(I)I
            iastore
       169: .line 395
      StackMap locals:
      StackMap stack:
            aload 14 /* colorModel */
            instanceof java.awt.image.IndexColorModel
            ifeq 232
       170: .line 396
            aload 14 /* colorModel */
            checkcast java.awt.image.IndexColorModel
            astore 8 /* icm */
        end local 39 // int bmask
        end local 38 // int gmask
        end local 37 // int rmask
       171: .line 398
            goto 232
       172: .line 399
      StackMap locals:
      StackMap stack:
            aload 14 /* colorModel */
            instanceof java.awt.image.IndexColorModel
            ifeq 201
       173: .line 400
            iconst_1
            istore 6 /* isPalette */
       174: .line 401
            aload 14 /* colorModel */
            checkcast java.awt.image.IndexColorModel
            astore 8 /* icm */
       175: .line 402
            aload 8 /* icm */
            invokevirtual java.awt.image.IndexColorModel.getMapSize:()I
            istore 7 /* paletteEntries */
       176: .line 404
            iload 7 /* paletteEntries */
            iconst_2
            if_icmpgt 180
       177: .line 405
            iconst_1
            istore 5 /* bitsPerPixel */
       178: .line 406
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            bipush 7
            iadd
            iconst_3
            ishr
            istore 32 /* destScanlineBytes */
       179: .line 407
            goto 191
      StackMap locals:
      StackMap stack:
       180: iload 7 /* paletteEntries */
            bipush 16
            if_icmpgt 184
       181: .line 408
            iconst_4
            istore 5 /* bitsPerPixel */
       182: .line 409
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            iconst_1
            iadd
            iconst_1
            ishr
            istore 32 /* destScanlineBytes */
       183: .line 410
            goto 191
      StackMap locals:
      StackMap stack:
       184: iload 7 /* paletteEntries */
            sipush 256
            if_icmpgt 187
       185: .line 411
            bipush 8
            istore 5 /* bitsPerPixel */
       186: .line 412
            goto 191
       187: .line 415
      StackMap locals:
      StackMap stack:
            bipush 24
            istore 5 /* bitsPerPixel */
       188: .line 416
            iconst_0
            istore 6 /* isPalette */
       189: .line 417
            iconst_0
            istore 7 /* paletteEntries */
       190: .line 418
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            iconst_3
            imul
            istore 32 /* destScanlineBytes */
       191: .line 421
      StackMap locals:
      StackMap stack:
            iload 6 /* isPalette */
            ifeq 232
       192: .line 422
            iload 7 /* paletteEntries */
            newarray 8
            astore 33 /* r */
       193: .line 423
            iload 7 /* paletteEntries */
            newarray 8
            astore 34 /* g */
       194: .line 424
            iload 7 /* paletteEntries */
            newarray 8
            astore 35 /* b */
       195: .line 425
            iload 7 /* paletteEntries */
            newarray 8
            astore 36 /* a */
       196: .line 427
            aload 8 /* icm */
            aload 36 /* a */
            invokevirtual java.awt.image.IndexColorModel.getAlphas:([B)V
       197: .line 428
            aload 8 /* icm */
            aload 33 /* r */
            invokevirtual java.awt.image.IndexColorModel.getReds:([B)V
       198: .line 429
            aload 8 /* icm */
            aload 34 /* g */
            invokevirtual java.awt.image.IndexColorModel.getGreens:([B)V
       199: .line 430
            aload 8 /* icm */
            aload 35 /* b */
            invokevirtual java.awt.image.IndexColorModel.getBlues:([B)V
       200: .line 433
            goto 232
       201: .line 435
      StackMap locals:
      StackMap stack:
            iload 28 /* numBands */
            iconst_1
            if_icmpne 219
       202: .line 437
            iconst_1
            istore 6 /* isPalette */
       203: .line 438
            sipush 256
            istore 7 /* paletteEntries */
       204: .line 439
            aload 31 /* sampleSize */
            iconst_0
            iaload
            istore 5 /* bitsPerPixel */
       205: .line 441
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            iload 5 /* bitsPerPixel */
            imul
            bipush 7
            iadd
            iconst_3
            ishr
            istore 32 /* destScanlineBytes */
       206: .line 443
            sipush 256
            newarray 8
            astore 33 /* r */
       207: .line 444
            sipush 256
            newarray 8
            astore 34 /* g */
       208: .line 445
            sipush 256
            newarray 8
            astore 35 /* b */
       209: .line 446
            sipush 256
            newarray 8
            astore 36 /* a */
       210: .line 448
            iconst_0
            istore 37 /* i */
        start local 37 // int i
       211: goto 217
       212: .line 449
      StackMap locals: int
      StackMap stack:
            aload 33 /* r */
            iload 37 /* i */
            iload 37 /* i */
            i2b
            bastore
       213: .line 450
            aload 34 /* g */
            iload 37 /* i */
            iload 37 /* i */
            i2b
            bastore
       214: .line 451
            aload 35 /* b */
            iload 37 /* i */
            iload 37 /* i */
            i2b
            bastore
       215: .line 452
            aload 36 /* a */
            iload 37 /* i */
            iconst_m1
            bastore
       216: .line 448
            iinc 37 /* i */ 1
      StackMap locals:
      StackMap stack:
       217: iload 37 /* i */
            sipush 256
            if_icmplt 212
        end local 37 // int i
       218: .line 455
            goto 232
       219: .line 456
      StackMap locals:
      StackMap stack:
            aload 13 /* sampleModel */
            instanceof java.awt.image.SinglePixelPackedSampleModel
            ifeq 232
       220: .line 457
            iload 27 /* noSubband */
            ifeq 232
       221: .line 465
            aload 13 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
            astore 37 /* sample_sizes */
        start local 37 // int[] sample_sizes
       222: .line 466
            iconst_0
            istore 5 /* bitsPerPixel */
       223: .line 467
            aload 37 /* sample_sizes */
            dup
            astore 41
            arraylength
            istore 40
            iconst_0
            istore 39
            goto 227
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int[] top int int int[]
      StackMap stack:
       224: aload 41
            iload 39
            iaload
            istore 38 /* size */
        start local 38 // int size
       225: .line 468
            iload 5 /* bitsPerPixel */
            iload 38 /* size */
            iadd
            istore 5 /* bitsPerPixel */
        end local 38 // int size
       226: .line 467
            iinc 39 1
      StackMap locals:
      StackMap stack:
       227: iload 39
            iload 40
            if_icmplt 224
       228: .line 470
            aload 0 /* this */
            iload 5 /* bitsPerPixel */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.roundBpp:(I)I
            istore 5 /* bitsPerPixel */
       229: .line 471
            iload 5 /* bitsPerPixel */
            aload 13 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getDataType:()I
            invokestatic java.awt.image.DataBuffer.getDataTypeSize:(I)I
            if_icmpeq 231
       230: .line 472
            iconst_0
            istore 25 /* noTransform */
       231: .line 474
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            iload 5 /* bitsPerPixel */
            imul
            bipush 7
            iadd
            iconst_3
            ishr
            istore 32 /* destScanlineBytes */
        end local 37 // int[] sample_sizes
       232: .line 481
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 37 /* fileSize */
        start local 37 // int fileSize
       233: .line 482
            iconst_0
            istore 38 /* offset */
        start local 38 // int offset
       234: .line 483
            iconst_0
            istore 39 /* headerSize */
        start local 39 // int headerSize
       235: .line 484
            iconst_0
            istore 40 /* imageSize */
        start local 40 // int imageSize
       236: .line 485
            iconst_0
            istore 41 /* xPelsPerMeter */
        start local 41 // int xPelsPerMeter
       237: .line 486
            iconst_0
            istore 42 /* yPelsPerMeter */
        start local 42 // int yPelsPerMeter
       238: .line 487
            iconst_0
            istore 43 /* colorsUsed */
        start local 43 // int colorsUsed
       239: .line 488
            iload 7 /* paletteEntries */
            istore 44 /* colorsImportant */
        start local 44 // int colorsImportant
       240: .line 491
            iload 32 /* destScanlineBytes */
            iconst_4
            irem
            istore 45 /* padding */
        start local 45 // int padding
       241: .line 492
            iload 45 /* padding */
            ifeq 243
       242: .line 493
            iconst_4
            iload 45 /* padding */
            isub
            istore 45 /* padding */
       243: .line 499
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int int int int int int int int int
      StackMap stack:
            bipush 54
            iload 7 /* paletteEntries */
            iconst_4
            imul
            iadd
            istore 38 /* offset */
       244: .line 501
            iload 32 /* destScanlineBytes */
            iload 45 /* padding */
            iadd
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
            imul
            istore 40 /* imageSize */
       245: .line 502
            iload 40 /* imageSize */
            iload 38 /* offset */
            iadd
            istore 37 /* fileSize */
       246: .line 503
            bipush 40
            istore 39 /* headerSize */
       247: .line 505
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
            lstore 46 /* headPos */
        start local 46 // long headPos
       248: .line 507
            aload 0 /* this */
            iload 37 /* fileSize */
            iload 38 /* offset */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeFileHeader:(II)V
       249: .line 514
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            ifeq 251
       250: .line 515
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_3
            if_icmpne 253
       251: .line 517
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            aload 4 /* bmpParam */
            invokevirtual javax.imageio.plugins.bmp.BMPImageWriteParam.isTopDown:()Z
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.isTopDown:Z
       252: .line 518
            goto 254
       253: .line 519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.isTopDown:Z
       254: .line 522
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 39 /* headerSize */
            iload 5 /* bitsPerPixel */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeInfoHeader:(II)V
       255: .line 525
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
       256: .line 528
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 40 /* imageSize */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
       257: .line 531
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 41 /* xPelsPerMeter */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
       258: .line 534
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 42 /* yPelsPerMeter */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
       259: .line 537
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 43 /* colorsUsed */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
       260: .line 540
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 44 /* colorsImportant */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
       261: .line 543
            iload 6 /* isPalette */
            ifeq 278
       262: .line 546
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_3
            if_icmpne 270
       263: .line 548
            iconst_0
            istore 48 /* i */
        start local 48 // int i
       264: goto 268
       265: .line 549
      StackMap locals: int
      StackMap stack:
            aload 36 /* a */
            iload 48 /* i */
            baload
            sipush 255
            iand
            aload 33 /* r */
            iload 48 /* i */
            baload
            sipush 255
            iand
            sipush 256
            imul
            iadd
            aload 34 /* g */
            iload 48 /* i */
            baload
            sipush 255
            iand
            ldc 65536
            imul
            iadd
            aload 35 /* b */
            iload 48 /* i */
            baload
            sipush 255
            iand
            ldc 16777216
            imul
            iadd
            istore 49 /* mask */
        start local 49 // int mask
       266: .line 550
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 49 /* mask */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
        end local 49 // int mask
       267: .line 548
            iinc 48 /* i */ 1
      StackMap locals:
      StackMap stack:
       268: iload 48 /* i */
            iconst_3
            if_icmplt 265
        end local 48 // int i
       269: .line 552
            goto 278
       270: .line 553
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 48 /* i */
        start local 48 // int i
       271: goto 277
       272: .line 554
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 35 /* b */
            iload 48 /* i */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       273: .line 555
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 34 /* g */
            iload 48 /* i */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       274: .line 556
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 33 /* r */
            iload 48 /* i */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       275: .line 557
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 36 /* a */
            iload 48 /* i */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       276: .line 553
            iinc 48 /* i */ 1
      StackMap locals:
      StackMap stack:
       277: iload 48 /* i */
            iload 7 /* paletteEntries */
            if_icmplt 272
        end local 48 // int i
       278: .line 563
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            iload 28 /* numBands */
            imul
            istore 48 /* scanlineBytes */
        start local 48 // int scanlineBytes
       279: .line 566
            iload 48 /* scanlineBytes */
            iload 17 /* scaleX */
            imul
            newarray 10
            astore 49 /* pixels */
        start local 49 // int[] pixels
       280: .line 570
            aload 0 /* this */
            iload 32 /* destScanlineBytes */
            newarray 8
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
       281: .line 574
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_4
            if_icmpeq 283
       282: .line 575
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_5
            if_icmpne 302
       283: .line 578
      StackMap locals: int int[]
      StackMap stack:
            aload 0 /* this */
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
       284: .line 579
            aload 0 /* this */
            aload 2 /* image */
            aload 4 /* bmpParam */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeEmbedded:(Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
       285: .line 581
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.flush:()V
       286: .line 582
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.size:()I
            istore 40 /* imageSize */
       287: .line 584
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
            lstore 50 /* endPos */
        start local 50 // long endPos
       288: .line 585
            iload 38 /* offset */
            iload 40 /* imageSize */
            iadd
            istore 37 /* fileSize */
       289: .line 586
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            lload 46 /* headPos */
            invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
       290: .line 587
            aload 0 /* this */
            iload 37 /* fileSize */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeSize:(II)V
       291: .line 588
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            lload 46 /* headPos */
            invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
       292: .line 589
            aload 0 /* this */
            iload 40 /* imageSize */
            bipush 34
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeSize:(II)V
       293: .line 590
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            lload 50 /* endPos */
            invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
       294: .line 591
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([B)V
       295: .line 592
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
       296: .line 594
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.abortRequested:()Z
            ifeq 299
       297: .line 595
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processWriteAborted:()V
       298: .line 596
            goto 301
       299: .line 597
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processImageComplete:()V
       300: .line 598
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
            invokeinterface javax.imageio.stream.ImageOutputStream.flushBefore:(J)V
       301: .line 601
      StackMap locals:
      StackMap stack:
            return
        end local 50 // long endPos
       302: .line 604
      StackMap locals:
      StackMap stack:
            aload 29 /* bandOffsets */
            iconst_0
            iaload
            istore 50 /* maxBandOffset */
        start local 50 // int maxBandOffset
       303: .line 605
            iconst_1
            istore 51 /* i */
        start local 51 // int i
       304: goto 308
       305: .line 606
      StackMap locals: int int
      StackMap stack:
            aload 29 /* bandOffsets */
            iload 51 /* i */
            iaload
            iload 50 /* maxBandOffset */
            if_icmple 307
       306: .line 607
            aload 29 /* bandOffsets */
            iload 51 /* i */
            iaload
            istore 50 /* maxBandOffset */
       307: .line 605
      StackMap locals:
      StackMap stack:
            iinc 51 /* i */ 1
      StackMap locals:
      StackMap stack:
       308: iload 51 /* i */
            aload 29 /* bandOffsets */
            arraylength
            if_icmplt 305
        end local 51 // int i
       309: .line 609
            iload 50 /* maxBandOffset */
            iconst_1
            iadd
            newarray 10
            astore 51 /* pixel */
        start local 51 // int[] pixel
       310: .line 611
            iload 32 /* destScanlineBytes */
            istore 52 /* destScanlineLength */
        start local 52 // int destScanlineLength
       311: .line 613
            iload 25 /* noTransform */
            ifeq 313
            iload 27 /* noSubband */
            ifeq 313
       312: .line 614
            iload 32 /* destScanlineBytes */
            iload 21 /* dataType */
            invokestatic java.awt.image.DataBuffer.getDataTypeSize:(I)I
            iconst_3
            ishr
            idiv
            istore 52 /* destScanlineLength */
       313: .line 616
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int int int int int int int int int long int int[] int int[] int
      StackMap stack:
            iconst_0
            istore 53 /* i */
        start local 53 // int i
       314: goto 423
       315: .line 617
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.abortRequested:()Z
            ifeq 317
       316: .line 618
            goto 424
       317: .line 621
      StackMap locals:
      StackMap stack:
            iload 23 /* minY */
            iload 53 /* i */
            iadd
            istore 54 /* row */
        start local 54 // int row
       318: .line 623
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.isTopDown:Z
            ifne 320
       319: .line 624
            iload 23 /* minY */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
            iadd
            iload 53 /* i */
            isub
            iconst_1
            isub
            istore 54 /* row */
       320: .line 627
      StackMap locals: int
      StackMap stack:
            aload 10 /* inputRaster */
            astore 55 /* src */
        start local 55 // java.awt.image.Raster src
       321: .line 630
            new java.awt.Rectangle
            dup
            iload 22 /* minX */
            iload 17 /* scaleX */
            imul
            iload 19 /* xOffset */
            iadd
       322: .line 631
            iload 54 /* row */
            iload 18 /* scaleY */
            imul
            iload 20 /* yOffset */
            iadd
       323: .line 632
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            iconst_1
            isub
            iload 17 /* scaleX */
            imul
            iconst_1
            iadd
       324: .line 633
            iconst_1
       325: .line 630
            invokespecial java.awt.Rectangle.<init>:(IIII)V
       326: .line 629
            astore 56 /* srcRect */
        start local 56 // java.awt.Rectangle srcRect
       327: .line 634
            iload 11 /* writeRaster */
            ifne 329
       328: .line 635
            aload 9 /* input */
            aload 56 /* srcRect */
            invokeinterface java.awt.image.RenderedImage.getData:(Ljava/awt/Rectangle;)Ljava/awt/image/Raster;
            astore 55 /* src */
       329: .line 637
      StackMap locals: java.awt.image.Raster java.awt.Rectangle
      StackMap stack:
            iload 25 /* noTransform */
            ifeq 402
            iload 27 /* noSubband */
            ifeq 402
       330: .line 638
            aload 55 /* src */
            invokevirtual java.awt.image.Raster.getSampleModel:()Ljava/awt/image/SampleModel;
            astore 57 /* sm */
        start local 57 // java.awt.image.SampleModel sm
       331: .line 639
            iconst_0
            istore 58 /* pos */
        start local 58 // int pos
       332: .line 640
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.x:I
            aload 55 /* src */
            invokevirtual java.awt.image.Raster.getSampleModelTranslateX:()I
            isub
            istore 59 /* startX */
        start local 59 // int startX
       333: .line 641
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.y:I
            aload 55 /* src */
            invokevirtual java.awt.image.Raster.getSampleModelTranslateY:()I
            isub
            istore 60 /* startY */
        start local 60 // int startY
       334: .line 642
            aload 57 /* sm */
            instanceof java.awt.image.ComponentSampleModel
            ifeq 344
       335: .line 643
            aload 57 /* sm */
            checkcast java.awt.image.ComponentSampleModel
            astore 61 /* csm */
        start local 61 // java.awt.image.ComponentSampleModel csm
       336: .line 644
            aload 61 /* csm */
            iload 59 /* startX */
            iload 60 /* startY */
            iconst_0
            invokevirtual java.awt.image.ComponentSampleModel.getOffset:(III)I
            istore 58 /* pos */
       337: .line 645
            iconst_1
            istore 62 /* nb */
        start local 62 // int nb
       338: goto 342
       339: .line 646
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int int int int int int int int int long int int[] int int[] int int int java.awt.image.Raster java.awt.Rectangle java.awt.image.SampleModel int int int java.awt.image.ComponentSampleModel int
      StackMap stack:
            iload 58 /* pos */
            aload 61 /* csm */
            iload 59 /* startX */
            iload 60 /* startY */
            iload 62 /* nb */
            invokevirtual java.awt.image.ComponentSampleModel.getOffset:(III)I
            if_icmple 341
       340: .line 647
            aload 61 /* csm */
            iload 59 /* startX */
            iload 60 /* startY */
            iload 62 /* nb */
            invokevirtual java.awt.image.ComponentSampleModel.getOffset:(III)I
            istore 58 /* pos */
       341: .line 645
      StackMap locals:
      StackMap stack:
            iinc 62 /* nb */ 1
      StackMap locals:
      StackMap stack:
       342: iload 62 /* nb */
            aload 61 /* csm */
            invokevirtual java.awt.image.ComponentSampleModel.getNumBands:()I
            if_icmplt 339
        end local 62 // int nb
        end local 61 // java.awt.image.ComponentSampleModel csm
       343: .line 650
            goto 353
      StackMap locals:
      StackMap stack:
       344: aload 57 /* sm */
            instanceof java.awt.image.MultiPixelPackedSampleModel
            ifeq 349
       345: .line 652
            aload 57 /* sm */
            checkcast java.awt.image.MultiPixelPackedSampleModel
       346: .line 651
            astore 61 /* mppsm */
        start local 61 // java.awt.image.MultiPixelPackedSampleModel mppsm
       347: .line 653
            aload 61 /* mppsm */
            iload 59 /* startX */
            iload 60 /* startY */
            invokevirtual java.awt.image.MultiPixelPackedSampleModel.getOffset:(II)I
            istore 58 /* pos */
        end local 61 // java.awt.image.MultiPixelPackedSampleModel mppsm
       348: .line 654
            goto 353
      StackMap locals:
      StackMap stack:
       349: aload 57 /* sm */
            instanceof java.awt.image.SinglePixelPackedSampleModel
            ifeq 353
       350: .line 656
            aload 57 /* sm */
            checkcast java.awt.image.SinglePixelPackedSampleModel
       351: .line 655
            astore 61 /* sppsm */
        start local 61 // java.awt.image.SinglePixelPackedSampleModel sppsm
       352: .line 657
            aload 61 /* sppsm */
            iload 59 /* startX */
            iload 60 /* startY */
            invokevirtual java.awt.image.SinglePixelPackedSampleModel.getOffset:(II)I
            istore 58 /* pos */
        end local 61 // java.awt.image.SinglePixelPackedSampleModel sppsm
       353: .line 660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            ifeq 354
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_3
            if_icmpne 376
       354: .line 661
      StackMap locals:
      StackMap stack:
            iload 21 /* dataType */
            tableswitch { // 0 - 3
                    0: 355
                    1: 363
                    2: 359
                    3: 367
              default: 370
          }
       355: .line 664
      StackMap locals:
      StackMap stack:
            aload 55 /* src */
            invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            checkcast java.awt.image.DataBufferByte
            invokevirtual java.awt.image.DataBufferByte.getData:()[B
       356: .line 663
            astore 61 /* bdata */
        start local 61 // byte[] bdata
       357: .line 665
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 61 /* bdata */
            iload 58 /* pos */
            iload 52 /* destScanlineLength */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
       358: .line 666
            goto 370
        end local 61 // byte[] bdata
       359: .line 670
      StackMap locals:
      StackMap stack:
            aload 55 /* src */
            invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            checkcast java.awt.image.DataBufferShort
            invokevirtual java.awt.image.DataBufferShort.getData:()[S
       360: .line 669
            astore 62 /* sdata */
        start local 62 // short[] sdata
       361: .line 671
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 62 /* sdata */
            iload 58 /* pos */
            iload 52 /* destScanlineLength */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShorts:([SII)V
       362: .line 672
            goto 370
        end local 62 // short[] sdata
       363: .line 676
      StackMap locals:
      StackMap stack:
            aload 55 /* src */
            invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            checkcast java.awt.image.DataBufferUShort
            invokevirtual java.awt.image.DataBufferUShort.getData:()[S
       364: .line 675
            astore 63 /* usdata */
        start local 63 // short[] usdata
       365: .line 677
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 63 /* usdata */
            iload 58 /* pos */
            iload 52 /* destScanlineLength */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShorts:([SII)V
       366: .line 678
            goto 370
        end local 63 // short[] usdata
       367: .line 682
      StackMap locals:
      StackMap stack:
            aload 55 /* src */
            invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            checkcast java.awt.image.DataBufferInt
            invokevirtual java.awt.image.DataBufferInt.getData:()[I
       368: .line 681
            astore 64 /* idata */
        start local 64 // int[] idata
       369: .line 683
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 64 /* idata */
            iload 58 /* pos */
            iload 52 /* destScanlineLength */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInts:([III)V
        end local 64 // int[] idata
       370: .line 687
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 61 /* k */
        start local 61 // int k
       371: goto 374
       372: .line 688
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       373: .line 687
            iinc 61 /* k */ 1
      StackMap locals:
      StackMap stack:
       374: iload 61 /* k */
            iload 45 /* padding */
            if_icmplt 372
        end local 61 // int k
       375: .line 690
            goto 421
      StackMap locals:
      StackMap stack:
       376: aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_2
            if_icmpne 389
       377: .line 691
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            ifnull 378
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            arraylength
            iload 48 /* scanlineBytes */
            if_icmpge 379
       378: .line 692
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 48 /* scanlineBytes */
            newarray 8
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
       379: .line 693
      StackMap locals:
      StackMap stack:
            aload 55 /* src */
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.x:I
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.y:I
       380: .line 694
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.width:I
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.height:I
            aload 49 /* pixels */
       381: .line 693
            invokevirtual java.awt.image.Raster.getPixels:(IIII[I)[I
            pop
       382: .line 695
            iconst_0
            istore 61 /* h */
        start local 61 // int h
       383: goto 386
       384: .line 696
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 61 /* h */
            aload 49 /* pixels */
            iload 61 /* h */
            iaload
            i2b
            bastore
       385: .line 695
            iinc 61 /* h */ 1
      StackMap locals:
      StackMap stack:
       386: iload 61 /* h */
            iload 48 /* scanlineBytes */
            if_icmplt 384
        end local 61 // int h
       387: .line 698
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 48 /* scanlineBytes */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.encodeRLE4:([BI)V
       388: .line 699
            goto 421
      StackMap locals:
      StackMap stack:
       389: aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_1
            if_icmpne 421
       390: .line 704
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            ifnull 391
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            arraylength
            iload 48 /* scanlineBytes */
            if_icmpge 392
       391: .line 705
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 48 /* scanlineBytes */
            newarray 8
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
       392: .line 706
      StackMap locals:
      StackMap stack:
            aload 55 /* src */
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.x:I
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.y:I
       393: .line 707
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.width:I
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.height:I
            aload 49 /* pixels */
       394: .line 706
            invokevirtual java.awt.image.Raster.getPixels:(IIII[I)[I
            pop
       395: .line 708
            iconst_0
            istore 61 /* h */
        start local 61 // int h
       396: goto 399
       397: .line 709
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 61 /* h */
            aload 49 /* pixels */
            iload 61 /* h */
            iaload
            i2b
            bastore
       398: .line 708
            iinc 61 /* h */ 1
      StackMap locals:
      StackMap stack:
       399: iload 61 /* h */
            iload 48 /* scanlineBytes */
            if_icmplt 397
        end local 61 // int h
       400: .line 712
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 48 /* scanlineBytes */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.encodeRLE8:([BI)V
        end local 60 // int startY
        end local 59 // int startX
        end local 58 // int pos
        end local 57 // java.awt.image.SampleModel sm
       401: .line 714
            goto 421
       402: .line 715
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam javax.imageio.plugins.bmp.BMPImageWriteParam int int int java.awt.image.IndexColorModel java.awt.image.RenderedImage java.awt.image.Raster int java.awt.Rectangle java.awt.image.SampleModel java.awt.image.ColorModel javax.imageio.metadata.IIOMetadata com.sun.imageio.plugins.bmp.BMPMetadata int int int int int int int java.awt.Rectangle int int[] int int int[] int int[] int byte[] byte[] byte[] byte[] int int int int int int int int int long int int[] int int[] int int int java.awt.image.Raster java.awt.Rectangle
      StackMap stack:
            aload 55 /* src */
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.x:I
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.y:I
       403: .line 716
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.width:I
            aload 56 /* srcRect */
            getfield java.awt.Rectangle.height:I
            aload 49 /* pixels */
       404: .line 715
            invokevirtual java.awt.image.Raster.getPixels:(IIII[I)[I
            pop
       405: .line 718
            iload 17 /* scaleX */
            iconst_1
            if_icmpne 406
            iload 50 /* maxBandOffset */
            iload 28 /* numBands */
            iconst_1
            isub
            if_icmpeq 418
       406: .line 719
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 57 /* j */
        start local 57 // int j
       407: iconst_0
            istore 58 /* k */
        start local 58 // int k
       408: iconst_0
            istore 59 /* n */
        start local 59 // int n
       409: goto 417
       410: .line 722
      StackMap locals: int int int
      StackMap stack:
            aload 49 /* pixels */
            iload 58 /* k */
            aload 51 /* pixel */
            iconst_0
            aload 51 /* pixel */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       411: .line 724
            iconst_0
            istore 60 /* m */
        start local 60 // int m
       412: goto 415
       413: .line 726
      StackMap locals: int
      StackMap stack:
            aload 49 /* pixels */
            iload 59 /* n */
            iload 60 /* m */
            iadd
            aload 51 /* pixel */
            aload 26 /* sourceBands */
            iload 60 /* m */
            iaload
            iaload
            iastore
       414: .line 724
            iinc 60 /* m */ 1
      StackMap locals:
      StackMap stack:
       415: iload 60 /* m */
            iload 28 /* numBands */
            if_icmplt 413
        end local 60 // int m
       416: .line 720
            iinc 57 /* j */ 1
            iload 58 /* k */
            iload 17 /* scaleX */
            iload 28 /* numBands */
            imul
            iadd
            istore 58 /* k */
            iload 59 /* n */
            iload 28 /* numBands */
            iadd
            istore 59 /* n */
       417: .line 719
      StackMap locals:
      StackMap stack:
            iload 57 /* j */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            if_icmplt 410
        end local 59 // int n
        end local 58 // int k
        end local 57 // int j
       418: .line 730
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            iload 48 /* scanlineBytes */
            iload 5 /* bitsPerPixel */
            aload 49 /* pixels */
       419: .line 731
            iload 45 /* padding */
            iload 28 /* numBands */
            aload 8 /* icm */
       420: .line 730
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writePixels:(III[IIILjava/awt/image/IndexColorModel;)V
       421: .line 734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 100.0
            iload 53 /* i */
            i2f
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
            i2f
            fdiv
            fmul
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processImageProgress:(F)V
        end local 56 // java.awt.Rectangle srcRect
        end local 55 // java.awt.image.Raster src
        end local 54 // int row
       422: .line 616
            iinc 53 /* i */ 1
      StackMap locals:
      StackMap stack:
       423: iload 53 /* i */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
            if_icmplt 315
        end local 53 // int i
       424: .line 737
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_2
            if_icmpeq 426
       425: .line 738
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_1
            if_icmpne 437
       426: .line 740
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       427: .line 741
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       428: .line 742
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       429: .line 744
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
            istore 40 /* imageSize */
       430: .line 745
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
            iload 38 /* offset */
            iadd
            istore 37 /* fileSize */
       431: .line 746
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
            lstore 53 /* endPos */
        start local 53 // long endPos
       432: .line 747
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            lload 46 /* headPos */
            invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
       433: .line 748
            aload 0 /* this */
            iload 37 /* fileSize */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeSize:(II)V
       434: .line 749
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            lload 46 /* headPos */
            invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
       435: .line 750
            aload 0 /* this */
            iload 40 /* imageSize */
            bipush 34
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.writeSize:(II)V
       436: .line 751
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            lload 53 /* endPos */
            invokeinterface javax.imageio.stream.ImageOutputStream.seek:(J)V
        end local 53 // long endPos
       437: .line 754
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.abortRequested:()Z
            ifeq 440
       438: .line 755
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processWriteAborted:()V
       439: .line 756
            goto 442
       440: .line 757
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processImageComplete:()V
       441: .line 758
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
            invokeinterface javax.imageio.stream.ImageOutputStream.flushBefore:(J)V
       442: .line 760
      StackMap locals:
      StackMap stack:
            return
        end local 52 // int destScanlineLength
        end local 51 // int[] pixel
        end local 50 // int maxBandOffset
        end local 49 // int[] pixels
        end local 48 // int scanlineBytes
        end local 46 // long headPos
        end local 45 // int padding
        end local 44 // int colorsImportant
        end local 43 // int colorsUsed
        end local 42 // int yPelsPerMeter
        end local 41 // int xPelsPerMeter
        end local 40 // int imageSize
        end local 39 // int headerSize
        end local 38 // int offset
        end local 37 // int fileSize
        end local 36 // byte[] a
        end local 35 // byte[] b
        end local 34 // byte[] g
        end local 33 // byte[] r
        end local 32 // int destScanlineBytes
        end local 31 // int[] sampleSize
        end local 30 // boolean bgrOrder
        end local 29 // int[] bandOffsets
        end local 28 // int numBands
        end local 27 // boolean noSubband
        end local 26 // int[] sourceBands
        end local 25 // boolean noTransform
        end local 24 // java.awt.Rectangle destinationRegion
        end local 23 // int minY
        end local 22 // int minX
        end local 21 // int dataType
        end local 20 // int yOffset
        end local 19 // int xOffset
        end local 18 // int scaleY
        end local 17 // int scaleX
        end local 16 // com.sun.imageio.plugins.bmp.BMPMetadata bmpImageMetadata
        end local 15 // javax.imageio.metadata.IIOMetadata imageMetadata
        end local 14 // java.awt.image.ColorModel colorModel
        end local 13 // java.awt.image.SampleModel sampleModel
        end local 12 // java.awt.Rectangle sourceRegion
        end local 11 // boolean writeRaster
        end local 10 // java.awt.image.Raster inputRaster
        end local 9 // java.awt.image.RenderedImage input
        end local 8 // java.awt.image.IndexColorModel icm
        end local 7 // int paletteEntries
        end local 6 // boolean isPalette
        end local 5 // int bitsPerPixel
        end local 4 // javax.imageio.plugins.bmp.BMPImageWriteParam bmpParam
        end local 3 // javax.imageio.ImageWriteParam param
        end local 2 // javax.imageio.IIOImage image
        end local 1 // javax.imageio.metadata.IIOMetadata streamMetadata
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  443     0                this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0  443     1      streamMetadata  Ljavax/imageio/metadata/IIOMetadata;
            0  443     2               image  Ljavax/imageio/IIOImage;
            0  443     3               param  Ljavax/imageio/ImageWriteParam;
            9  443     4            bmpParam  Ljavax/imageio/plugins/bmp/BMPImageWriteParam;
           10  443     5        bitsPerPixel  I
           11  443     6           isPalette  Z
           12  443     7      paletteEntries  I
           13  443     8                 icm  Ljava/awt/image/IndexColorModel;
           14  443     9               input  Ljava/awt/image/RenderedImage;
           15  443    10         inputRaster  Ljava/awt/image/Raster;
           16  443    11         writeRaster  Z
           17  443    12        sourceRegion  Ljava/awt/Rectangle;
           18  443    13         sampleModel  Ljava/awt/image/SampleModel;
           19  443    14          colorModel  Ljava/awt/image/ColorModel;
           34   37    15                rect  Ljava/awt/Rectangle;
           38  443    15       imageMetadata  Ljavax/imageio/metadata/IIOMetadata;
           39  443    16    bmpImageMetadata  Lcom/sun/imageio/plugins/bmp/BMPMetadata;
           45   48    17           imageType  Ljavax/imageio/ImageTypeSpecifier;
           51  443    17              scaleX  I
           52  443    18              scaleY  I
           53  443    19             xOffset  I
           54  443    20             yOffset  I
           55  443    21            dataType  I
           59  443    22                minX  I
           60  443    23                minY  I
           65  443    24   destinationRegion  Ljava/awt/Rectangle;
           66  443    25         noTransform  Z
           67  443    26         sourceBands  [I
           68  443    27           noSubband  Z
           69  443    28            numBands  I
           77   81    29                   i  I
           82  443    29         bandOffsets  [I
           83  443    30            bgrOrder  Z
           89   95    31                   i  I
           98  105    31          bitOffsets  [I
           99  105    32                   i  I
          108  112    31                   i  I
          114  443    31          sampleSize  [I
          115  443    32   destScanlineBytes  I
          128  443    33                   r  [B
          129  443    34                   g  [B
          130  443    35                   b  [B
          131  443    36                   a  [B
          145  171    37               rmask  I
          146  171    38               gmask  I
          147  171    39               bmask  I
          150  153    40                 dcm  Ljava/awt/image/DirectColorModel;
          211  218    37                   i  I
          222  232    37        sample_sizes  [I
          225  226    38                size  I
          233  443    37            fileSize  I
          234  443    38              offset  I
          235  443    39          headerSize  I
          236  443    40           imageSize  I
          237  443    41       xPelsPerMeter  I
          238  443    42       yPelsPerMeter  I
          239  443    43          colorsUsed  I
          240  443    44     colorsImportant  I
          241  443    45             padding  I
          248  443    46             headPos  J
          264  269    48                   i  I
          266  267    49                mask  I
          271  278    48                   i  I
          279  443    48       scanlineBytes  I
          280  443    49              pixels  [I
          288  302    50              endPos  J
          303  443    50       maxBandOffset  I
          304  309    51                   i  I
          310  443    51               pixel  [I
          311  443    52  destScanlineLength  I
          314  424    53                   i  I
          318  422    54                 row  I
          321  422    55                 src  Ljava/awt/image/Raster;
          327  422    56             srcRect  Ljava/awt/Rectangle;
          331  401    57                  sm  Ljava/awt/image/SampleModel;
          332  401    58                 pos  I
          333  401    59              startX  I
          334  401    60              startY  I
          336  343    61                 csm  Ljava/awt/image/ComponentSampleModel;
          338  343    62                  nb  I
          347  348    61               mppsm  Ljava/awt/image/MultiPixelPackedSampleModel;
          352  353    61               sppsm  Ljava/awt/image/SinglePixelPackedSampleModel;
          357  359    61               bdata  [B
          361  363    62               sdata  [S
          365  367    63              usdata  [S
          369  370    64               idata  [I
          371  375    61                   k  I
          383  387    61                   h  I
          396  400    61                   h  I
          407  418    57                   j  I
          408  418    58                   k  I
          409  418    59                   n  I
          412  416    60                   m  I
          432  437    53              endPos  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      streamMetadata  
      image           
      param           

  private void writePixels(int, int, int, int[], int, int, java.awt.image.IndexColorModel);
    descriptor: (III[IIILjava/awt/image/IndexColorModel;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=16, args_size=8
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int l
        start local 2 // int scanlineBytes
        start local 3 // int bitsPerPixel
        start local 4 // int[] pixels
        start local 5 // int padding
        start local 6 // int numBands
        start local 7 // java.awt.image.IndexColorModel icm
         0: .line 766
            iconst_0
            istore 8 /* pixel */
        start local 8 // int pixel
         1: .line 767
            iconst_0
            istore 9 /* k */
        start local 9 // int k
         2: .line 768
            iload 3 /* bitsPerPixel */
            lookupswitch { // 6
                    1: 3
                    4: 26
                    8: 46
                   16: 61
                   24: 88
                   32: 117
              default: 155
          }
         3: .line 772
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 10 /* j */
        start local 10 // int j
         4: goto 15
         5: .line 773
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            bipush 7
            ishl
         6: .line 774
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            bipush 6
            ishl
            ior
         7: .line 775
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            iconst_5
            ishl
            ior
         8: .line 776
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            iconst_4
            ishl
            ior
         9: .line 777
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            iconst_3
            ishl
            ior
        10: .line 778
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            iconst_2
            ishl
            ior
        11: .line 779
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            iconst_1
            ishl
            ior
        12: .line 780
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            ior
            i2b
        13: .line 773
            bastore
        14: .line 772
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        15: iload 10 /* j */
            iload 2 /* scanlineBytes */
            bipush 8
            idiv
            if_icmplt 5
        end local 10 // int j
        16: .line 784
            iload 2 /* scanlineBytes */
            bipush 8
            irem
            ifle 24
        17: .line 785
            iconst_0
            istore 8 /* pixel */
        18: .line 786
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        19: goto 22
        20: .line 787
      StackMap locals:
      StackMap stack:
            iload 8 /* pixel */
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            bipush 7
            iload 10 /* j */
            isub
            ishl
            ior
            istore 8 /* pixel */
        21: .line 786
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        22: iload 10 /* j */
            iload 2 /* scanlineBytes */
            bipush 8
            irem
            if_icmplt 20
        end local 10 // int j
        23: .line 789
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            iload 8 /* pixel */
            i2b
            bastore
        24: .line 791
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iconst_0
            iload 2 /* scanlineBytes */
            bipush 7
            iadd
            bipush 8
            idiv
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
        25: .line 793
            goto 155
        26: .line 796
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_2
            if_icmpne 35
        27: .line 797
            iload 2 /* scanlineBytes */
            newarray 8
            astore 10 /* bipixels */
        start local 10 // byte[] bipixels
        28: .line 798
            iconst_0
            istore 11 /* h */
        start local 11 // int h
        29: goto 32
        30: .line 799
      StackMap locals: byte[] int
      StackMap stack:
            aload 10 /* bipixels */
            iload 11 /* h */
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            i2b
            bastore
        31: .line 798
            iinc 11 /* h */ 1
      StackMap locals:
      StackMap stack:
        32: iload 11 /* h */
            iload 2 /* scanlineBytes */
            if_icmplt 30
        end local 11 // int h
        33: .line 801
            aload 0 /* this */
            aload 10 /* bipixels */
            iload 2 /* scanlineBytes */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.encodeRLE4:([BI)V
        end local 10 // byte[] bipixels
        34: .line 802
            goto 155
        35: .line 803
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        36: goto 40
        37: .line 804
      StackMap locals: int
      StackMap stack:
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            iconst_4
            ishl
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            ior
            istore 8 /* pixel */
        38: .line 805
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            iload 8 /* pixel */
            i2b
            bastore
        39: .line 803
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        40: iload 10 /* j */
            iload 2 /* scanlineBytes */
            iconst_2
            idiv
            if_icmplt 37
        end local 10 // int j
        41: .line 808
            iload 2 /* scanlineBytes */
            iconst_2
            irem
            iconst_1
            if_icmpne 44
        42: .line 809
            aload 4 /* pixels */
            iload 1 /* l */
            iaload
            iconst_4
            ishl
            istore 8 /* pixel */
        43: .line 810
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            iload 8 /* pixel */
            i2b
            bastore
        44: .line 812
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iconst_0
            iload 2 /* scanlineBytes */
            iconst_1
            iadd
            iconst_2
            idiv
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
        45: .line 814
            goto 155
        46: .line 817
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_1
            if_icmpne 54
        47: .line 818
            iconst_0
            istore 10 /* h */
        start local 10 // int h
        48: goto 51
        49: .line 819
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 10 /* h */
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            i2b
            bastore
        50: .line 818
            iinc 10 /* h */ 1
      StackMap locals:
      StackMap stack:
        51: iload 10 /* h */
            iload 2 /* scanlineBytes */
            if_icmplt 49
        end local 10 // int h
        52: .line 821
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 2 /* scanlineBytes */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.encodeRLE8:([BI)V
        53: .line 822
            goto 155
        54: .line 823
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        55: goto 58
        56: .line 824
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 10 /* j */
            aload 4 /* pixels */
            iload 1 /* l */
            iinc 1 /* l */ 1
            iaload
            i2b
            bastore
        57: .line 823
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        58: iload 10 /* j */
            iload 2 /* scanlineBytes */
            if_icmplt 56
        end local 10 // int j
        59: .line 826
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iconst_0
            iload 2 /* scanlineBytes */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
        60: .line 828
            goto 155
        61: .line 831
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
            ifnonnull 63
        62: .line 832
            aload 0 /* this */
            iload 2 /* scanlineBytes */
            iload 6 /* numBands */
            idiv
            newarray 9
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
        63: .line 842
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        64: iconst_0
            istore 11 /* m */
        start local 11 // int m
        65: goto 85
        66: .line 843
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
            iload 11 /* m */
            iconst_0
            sastore
        67: .line 844
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            ifne 77
        68: .line 849
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
            iload 11 /* m */
        69: .line 850
            bipush 31
            aload 4 /* pixels */
            iload 10 /* j */
            iaload
            iand
            bipush 10
            ishl
        70: .line 851
            bipush 31
            aload 4 /* pixels */
            iload 10 /* j */
            iconst_1
            iadd
            iaload
            iand
            iconst_5
            ishl
        71: .line 850
            ior
        72: .line 852
            bipush 31
            aload 4 /* pixels */
            iload 10 /* j */
            iconst_2
            iadd
            iaload
            iand
        73: .line 850
            ior
            i2s
        74: .line 849
            sastore
        75: .line 853
            iinc 10 /* j */ 3
        76: .line 854
            goto 84
        77: .line 855
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        78: goto 83
        79: .line 856
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
            iload 11 /* m */
            dup2
            saload
        80: .line 857
            aload 4 /* pixels */
            iload 10 /* j */
            iaload
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
            iload 12 /* i */
            iaload
            ishl
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
            iload 12 /* i */
            iaload
            iand
        81: .line 856
            ior
            i2s
            sastore
        82: .line 855
            iinc 12 /* i */ 1
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        83: iload 12 /* i */
            iload 6 /* numBands */
            if_icmplt 79
        end local 12 // int i
        84: .line 842
      StackMap locals:
      StackMap stack:
            iinc 11 /* m */ 1
      StackMap locals:
      StackMap stack:
        85: iload 10 /* j */
            iload 2 /* scanlineBytes */
            if_icmplt 66
        end local 11 // int m
        end local 10 // int j
        86: .line 861
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
            iconst_0
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.spixels:[S
            arraylength
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShorts:([SII)V
        87: .line 862
            goto 155
        88: .line 865
      StackMap locals:
      StackMap stack:
            iload 6 /* numBands */
            iconst_3
            if_icmpne 99
        89: .line 866
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        90: goto 96
        91: .line 868
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            aload 4 /* pixels */
            iload 1 /* l */
            iconst_2
            iadd
            iaload
            i2b
            bastore
        92: .line 869
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            aload 4 /* pixels */
            iload 1 /* l */
            iconst_1
            iadd
            iaload
            i2b
            bastore
        93: .line 870
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            aload 4 /* pixels */
            iload 1 /* l */
            iaload
            i2b
            bastore
        94: .line 871
            iinc 1 /* l */ 3
        95: .line 866
            iinc 10 /* j */ 3
      StackMap locals:
      StackMap stack:
        96: iload 10 /* j */
            iload 2 /* scanlineBytes */
            if_icmplt 91
        end local 10 // int j
        97: .line 873
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iconst_0
            iload 2 /* scanlineBytes */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
        98: .line 874
            goto 155
        99: .line 876
      StackMap locals:
      StackMap stack:
            aload 7 /* icm */
            invokevirtual java.awt.image.IndexColorModel.getMapSize:()I
            istore 10 /* entries */
        start local 10 // int entries
       100: .line 878
            iload 10 /* entries */
            newarray 8
            astore 11 /* r */
        start local 11 // byte[] r
       101: .line 879
            iload 10 /* entries */
            newarray 8
            astore 12 /* g */
        start local 12 // byte[] g
       102: .line 880
            iload 10 /* entries */
            newarray 8
            astore 13 /* b */
        start local 13 // byte[] b
       103: .line 882
            aload 7 /* icm */
            aload 11 /* r */
            invokevirtual java.awt.image.IndexColorModel.getReds:([B)V
       104: .line 883
            aload 7 /* icm */
            aload 12 /* g */
            invokevirtual java.awt.image.IndexColorModel.getGreens:([B)V
       105: .line 884
            aload 7 /* icm */
            aload 13 /* b */
            invokevirtual java.awt.image.IndexColorModel.getBlues:([B)V
       106: .line 887
            iconst_0
            istore 15 /* j */
        start local 15 // int j
       107: goto 114
       108: .line 888
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int int int int[] int int java.awt.image.IndexColorModel int int int byte[] byte[] byte[] top int
      StackMap stack:
            aload 4 /* pixels */
            iload 1 /* l */
            iaload
            istore 14 /* index */
        start local 14 // int index
       109: .line 889
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            aload 13 /* b */
            iload 14 /* index */
            baload
            bastore
       110: .line 890
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            aload 12 /* g */
            iload 14 /* index */
            baload
            bastore
       111: .line 891
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iload 9 /* k */
            iinc 9 /* k */ 1
            aload 13 /* b */
            iload 14 /* index */
            baload
            bastore
       112: .line 892
            iinc 1 /* l */ 1
       113: .line 887
            iinc 15 /* j */ 1
        end local 14 // int index
      StackMap locals:
      StackMap stack:
       114: iload 15 /* j */
            iload 2 /* scanlineBytes */
            if_icmplt 108
        end local 15 // int j
       115: .line 894
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bpixels:[B
            iconst_0
            iload 2 /* scanlineBytes */
            iconst_3
            imul
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
        end local 13 // byte[] b
        end local 12 // byte[] g
        end local 11 // byte[] r
        end local 10 // int entries
       116: .line 896
            goto 155
       117: .line 899
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int int int int[] int int java.awt.image.IndexColorModel int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
            ifnonnull 119
       118: .line 900
            aload 0 /* this */
            iload 2 /* scanlineBytes */
            iload 6 /* numBands */
            idiv
            newarray 10
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
       119: .line 901
      StackMap locals:
      StackMap stack:
            iload 6 /* numBands */
            iconst_3
            if_icmpne 144
       120: .line 911
            iconst_0
            istore 10 /* j */
        start local 10 // int j
       121: iconst_0
            istore 11 /* m */
        start local 11 // int m
       122: goto 142
       123: .line 912
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
            iload 11 /* m */
            iconst_0
            iastore
       124: .line 913
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            ifne 134
       125: .line 914
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
            iload 11 /* m */
       126: .line 915
            sipush 255
            aload 4 /* pixels */
            iload 10 /* j */
            iconst_2
            iadd
            iaload
            iand
            bipush 16
            ishl
       127: .line 916
            sipush 255
            aload 4 /* pixels */
            iload 10 /* j */
            iconst_1
            iadd
            iaload
            iand
            bipush 8
            ishl
       128: .line 915
            ior
       129: .line 917
            sipush 255
            aload 4 /* pixels */
            iload 10 /* j */
            iaload
            iand
       130: .line 915
            ior
       131: .line 914
            iastore
       132: .line 918
            iinc 10 /* j */ 3
       133: .line 919
            goto 141
       134: .line 920
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* i */
        start local 12 // int i
       135: goto 140
       136: .line 921
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
            iload 11 /* m */
            dup2
            iaload
       137: .line 922
            aload 4 /* pixels */
            iload 10 /* j */
            iaload
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitPos:[I
            iload 12 /* i */
            iaload
            ishl
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.bitMasks:[I
            iload 12 /* i */
            iaload
            iand
       138: .line 921
            ior
            iastore
       139: .line 920
            iinc 12 /* i */ 1
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
       140: iload 12 /* i */
            iload 6 /* numBands */
            if_icmplt 136
        end local 12 // int i
       141: .line 911
      StackMap locals:
      StackMap stack:
            iinc 11 /* m */ 1
      StackMap locals:
      StackMap stack:
       142: iload 10 /* j */
            iload 2 /* scanlineBytes */
            if_icmplt 123
        end local 11 // int m
        end local 10 // int j
       143: .line 926
            goto 154
       144: .line 934
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* j */
        start local 10 // int j
       145: goto 153
       146: .line 935
      StackMap locals: int
      StackMap stack:
            aload 7 /* icm */
            ifnull 149
       147: .line 936
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
            iload 10 /* j */
            aload 7 /* icm */
            aload 4 /* pixels */
            iload 10 /* j */
            iaload
            invokevirtual java.awt.image.IndexColorModel.getRGB:(I)I
            iastore
       148: .line 937
            goto 152
       149: .line 938
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
            iload 10 /* j */
       150: .line 939
            aload 4 /* pixels */
            iload 10 /* j */
            iaload
            bipush 16
            ishl
            aload 4 /* pixels */
            iload 10 /* j */
            iaload
            bipush 8
            ishl
            ior
            aload 4 /* pixels */
            iload 10 /* j */
            iaload
            ior
       151: .line 938
            iastore
       152: .line 934
      StackMap locals:
      StackMap stack:
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
       153: iload 10 /* j */
            iload 2 /* scanlineBytes */
            if_icmplt 146
        end local 10 // int j
       154: .line 943
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
            iconst_0
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.ipixels:[I
            arraylength
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInts:([III)V
       155: .line 948
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            ifeq 157
       156: .line 949
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_3
            if_icmpne 161
       157: .line 951
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* k */
            goto 160
       158: .line 952
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       159: .line 951
            iinc 9 /* k */ 1
      StackMap locals:
      StackMap stack:
       160: iload 9 /* k */
            iload 5 /* padding */
            if_icmplt 158
       161: .line 955
      StackMap locals:
      StackMap stack:
            return
        end local 9 // int k
        end local 8 // int pixel
        end local 7 // java.awt.image.IndexColorModel icm
        end local 6 // int numBands
        end local 5 // int padding
        end local 4 // int[] pixels
        end local 3 // int bitsPerPixel
        end local 2 // int scanlineBytes
        end local 1 // int l
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  162     0           this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0  162     1              l  I
            0  162     2  scanlineBytes  I
            0  162     3   bitsPerPixel  I
            0  162     4         pixels  [I
            0  162     5        padding  I
            0  162     6       numBands  I
            0  162     7            icm  Ljava/awt/image/IndexColorModel;
            1  162     8          pixel  I
            2  162     9              k  I
            4   16    10              j  I
           19   23    10              j  I
           28   34    10       bipixels  [B
           29   33    11              h  I
           36   41    10              j  I
           48   52    10              h  I
           55   59    10              j  I
           64   86    10              j  I
           65   86    11              m  I
           78   84    12              i  I
           90   97    10              j  I
          100  116    10        entries  I
          101  116    11              r  [B
          102  116    12              g  [B
          103  116    13              b  [B
          109  114    14          index  I
          107  115    15              j  I
          121  143    10              j  I
          122  143    11              m  I
          135  141    12              i  I
          145  154    10              j  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      l              
      scanlineBytes  
      bitsPerPixel   
      pixels         
      padding        
      numBands       
      icm            

  private void encodeRLE8(byte[], int);
    descriptor: ([BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // byte[] bpixels
        start local 2 // int scanlineBytes
         0: .line 960
            iconst_1
            istore 3 /* runCount */
        start local 3 // int runCount
         1: iconst_m1
            istore 4 /* absVal */
        start local 4 // int absVal
         2: iconst_m1
            istore 5 /* j */
        start local 5 // int j
         3: .line 961
            iconst_0
            istore 6 /* runVal */
        start local 6 // byte runVal
         4: iconst_0
            istore 7 /* nextVal */
        start local 7 // byte nextVal
         5: .line 963
            aload 1 /* bpixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            istore 6 /* runVal */
         6: .line 964
            sipush 256
            newarray 8
            astore 8 /* absBuf */
        start local 8 // byte[] absBuf
         7: .line 966
            goto 98
         8: .line 967
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter byte[] int int int int int int byte[]
      StackMap stack:
            aload 1 /* bpixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            istore 7 /* nextVal */
         9: .line 968
            iload 7 /* nextVal */
            iload 6 /* runVal */
            if_icmpne 40
        10: .line 969
            iload 4 /* absVal */
            iconst_3
            if_icmplt 24
        11: .line 971
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        12: .line 972
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 4 /* absVal */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        13: .line 973
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        14: .line 974
            iconst_0
            istore 9 /* a */
        start local 9 // int a
        15: goto 19
        16: .line 975
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 8 /* absBuf */
            iload 9 /* a */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        17: .line 976
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        18: .line 974
            iinc 9 /* a */ 1
      StackMap locals:
      StackMap stack:
        19: iload 9 /* a */
            iload 4 /* absVal */
            if_icmplt 16
        end local 9 // int a
        20: .line 978
            aload 0 /* this */
            iload 4 /* absVal */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
            ifne 32
        21: .line 980
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        22: .line 981
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        23: .line 983
            goto 32
        24: .line 984
      StackMap locals:
      StackMap stack:
            iload 4 /* absVal */
            iconst_m1
            if_icmple 32
        25: .line 989
            iconst_0
            istore 9 /* b */
        start local 9 // int b
        26: goto 31
        27: .line 990
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        28: .line 991
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 8 /* absBuf */
            iload 9 /* b */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        29: .line 992
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        30: .line 989
            iinc 9 /* b */ 1
      StackMap locals:
      StackMap stack:
        31: iload 9 /* b */
            iload 4 /* absVal */
            if_icmplt 27
        end local 9 // int b
        32: .line 995
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 4 /* absVal */
        33: .line 996
            iinc 3 /* runCount */ 1
        34: .line 997
            iload 3 /* runCount */
            sipush 256
            if_icmpne 66
        35: .line 999
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            iconst_1
            isub
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        36: .line 1000
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* runVal */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        37: .line 1001
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        38: .line 1002
            iconst_1
            istore 3 /* runCount */
        39: .line 1004
            goto 66
        40: .line 1006
      StackMap locals:
      StackMap stack:
            iload 3 /* runCount */
            iconst_1
            if_icmple 45
        41: .line 1008
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        42: .line 1009
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* runVal */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        43: .line 1010
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        44: .line 1011
            goto 64
      StackMap locals:
      StackMap stack:
        45: iload 4 /* absVal */
            ifge 49
        46: .line 1013
            aload 8 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 6 /* runVal */
            bastore
        47: .line 1014
            aload 8 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 7 /* nextVal */
            bastore
        48: .line 1015
            goto 64
      StackMap locals:
      StackMap stack:
        49: iload 4 /* absVal */
            sipush 254
            if_icmpge 52
        50: .line 1017
            aload 8 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 7 /* nextVal */
            bastore
        51: .line 1018
            goto 64
        52: .line 1019
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        53: .line 1020
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 4 /* absVal */
            iconst_1
            iadd
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        54: .line 1021
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        55: .line 1022
            iconst_0
            istore 9 /* a */
        start local 9 // int a
        56: goto 60
        57: .line 1023
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 8 /* absBuf */
            iload 9 /* a */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        58: .line 1024
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        59: .line 1022
            iinc 9 /* a */ 1
      StackMap locals:
      StackMap stack:
        60: iload 9 /* a */
            iload 4 /* absVal */
            if_icmple 57
        end local 9 // int a
        61: .line 1027
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        62: .line 1028
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        63: .line 1029
            iconst_m1
            istore 4 /* absVal */
        64: .line 1031
      StackMap locals:
      StackMap stack:
            iload 7 /* nextVal */
            istore 6 /* runVal */
        65: .line 1032
            iconst_1
            istore 3 /* runCount */
        66: .line 1035
      StackMap locals:
      StackMap stack:
            iload 5 /* j */
            iload 2 /* scanlineBytes */
            iconst_1
            isub
            if_icmpne 98
        67: .line 1037
            iload 4 /* absVal */
            iconst_m1
            if_icmpne 73
        68: .line 1038
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        69: .line 1039
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* runVal */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        70: .line 1040
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        71: .line 1041
            iconst_1
            istore 3 /* runCount */
        72: .line 1042
            goto 95
        73: .line 1045
      StackMap locals:
      StackMap stack:
            iload 4 /* absVal */
            iconst_2
            if_icmplt 87
        74: .line 1046
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        75: .line 1047
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 4 /* absVal */
            iconst_1
            iadd
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        76: .line 1048
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        77: .line 1049
            iconst_0
            istore 9 /* a */
        start local 9 // int a
        78: goto 82
        79: .line 1050
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 8 /* absBuf */
            iload 9 /* a */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        80: .line 1051
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        81: .line 1049
            iinc 9 /* a */ 1
      StackMap locals:
      StackMap stack:
        82: iload 9 /* a */
            iload 4 /* absVal */
            if_icmple 79
        end local 9 // int a
        83: .line 1053
            aload 0 /* this */
            iload 4 /* absVal */
            iconst_1
            iadd
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
            ifne 95
        84: .line 1055
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        85: .line 1056
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        86: .line 1059
            goto 95
        87: .line 1060
      StackMap locals:
      StackMap stack:
            iload 4 /* absVal */
            iconst_m1
            if_icmple 95
        88: .line 1061
            iconst_0
            istore 9 /* b */
        start local 9 // int b
        89: goto 94
        90: .line 1062
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        91: .line 1063
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 8 /* absBuf */
            iload 9 /* b */
            baload
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        92: .line 1064
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        93: .line 1061
            iinc 9 /* b */ 1
      StackMap locals:
      StackMap stack:
        94: iload 9 /* b */
            iload 4 /* absVal */
            if_icmple 90
        end local 9 // int b
        95: .line 1070
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        96: .line 1071
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        97: .line 1072
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        98: .line 966
      StackMap locals:
      StackMap stack:
            iload 5 /* j */
            iload 2 /* scanlineBytes */
            iconst_1
            isub
            if_icmplt 8
        99: .line 1075
            return
        end local 8 // byte[] absBuf
        end local 7 // byte nextVal
        end local 6 // byte runVal
        end local 5 // int j
        end local 4 // int absVal
        end local 3 // int runCount
        end local 2 // int scanlineBytes
        end local 1 // byte[] bpixels
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  100     0           this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0  100     1        bpixels  [B
            0  100     2  scanlineBytes  I
            1  100     3       runCount  I
            2  100     4         absVal  I
            3  100     5              j  I
            4  100     6         runVal  B
            5  100     7        nextVal  B
            7  100     8         absBuf  [B
           15   20     9              a  I
           26   32     9              b  I
           56   61     9              a  I
           78   83     9              a  I
           89   95     9              b  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      bpixels        
      scanlineBytes  

  private void encodeRLE4(byte[], int);
    descriptor: ([BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=14, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // byte[] bipixels
        start local 2 // int scanlineBytes
         0: .line 1080
            iconst_2
            istore 3 /* runCount */
        start local 3 // int runCount
         1: iconst_m1
            istore 4 /* absVal */
        start local 4 // int absVal
         2: iconst_m1
            istore 5 /* j */
        start local 5 // int j
         3: iconst_0
            istore 6 /* pixel */
        start local 6 // int pixel
         4: iconst_0
            istore 7 /* q */
        start local 7 // int q
         5: .line 1081
            iconst_0
            istore 8 /* runVal1 */
        start local 8 // byte runVal1
         6: iconst_0
            istore 9 /* runVal2 */
        start local 9 // byte runVal2
         7: iconst_0
            istore 10 /* nextVal1 */
        start local 10 // byte nextVal1
         8: iconst_0
            istore 11 /* nextVal2 */
        start local 11 // byte nextVal2
         9: .line 1082
            sipush 256
            newarray 8
            astore 12 /* absBuf */
        start local 12 // byte[] absBuf
        10: .line 1085
            aload 1 /* bipixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            istore 8 /* runVal1 */
        11: .line 1086
            aload 1 /* bipixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            istore 9 /* runVal2 */
        12: .line 1088
            goto 166
        13: .line 1089
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter byte[] int int int int int int int int int int byte[]
      StackMap stack:
            aload 1 /* bipixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            istore 10 /* nextVal1 */
        14: .line 1090
            aload 1 /* bipixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            istore 11 /* nextVal2 */
        15: .line 1092
            iload 10 /* nextVal1 */
            iload 8 /* runVal1 */
            if_icmpne 75
        16: .line 1095
            iload 4 /* absVal */
            iconst_4
            if_icmplt 35
        17: .line 1096
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        18: .line 1097
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 4 /* absVal */
            iconst_1
            isub
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        19: .line 1098
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        20: .line 1101
            iconst_0
            istore 13 /* a */
        start local 13 // int a
        21: goto 26
        22: .line 1102
      StackMap locals: int
      StackMap stack:
            aload 12 /* absBuf */
            iload 13 /* a */
            baload
            iconst_4
            ishl
            aload 12 /* absBuf */
            iload 13 /* a */
            iconst_1
            iadd
            baload
            ior
            istore 6 /* pixel */
        23: .line 1103
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            i2b
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        24: .line 1104
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        25: .line 1101
            iinc 13 /* a */ 2
      StackMap locals:
      StackMap stack:
        26: iload 13 /* a */
            iload 4 /* absVal */
            iconst_2
            isub
            if_icmplt 22
        end local 13 // int a
        27: .line 1107
            aload 0 /* this */
            iload 4 /* absVal */
            iconst_1
            isub
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
            ifne 31
        28: .line 1108
            aload 12 /* absBuf */
            iload 4 /* absVal */
            iconst_2
            isub
            baload
            iconst_4
            ishl
            istore 7 /* q */
        29: .line 1109
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 7 /* q */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        30: .line 1110
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        31: .line 1113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* absVal */
            iconst_1
            isub
            iconst_2
            idiv
            i2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
            ifne 40
        32: .line 1114
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        33: .line 1115
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        34: .line 1117
            goto 40
      StackMap locals:
      StackMap stack:
        35: iload 4 /* absVal */
            iconst_m1
            if_icmple 40
        36: .line 1118
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_2
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        37: .line 1119
            aload 12 /* absBuf */
            iconst_0
            baload
            iconst_4
            ishl
            aload 12 /* absBuf */
            iconst_1
            baload
            ior
            istore 6 /* pixel */
        38: .line 1120
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        39: .line 1121
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        40: .line 1123
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 4 /* absVal */
        41: .line 1125
            iload 11 /* nextVal2 */
            iload 9 /* runVal2 */
            if_icmpne 59
        42: .line 1127
            iinc 3 /* runCount */ 2
        43: .line 1128
            iload 3 /* runCount */
            sipush 256
            if_icmpne 107
        44: .line 1129
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            iconst_1
            isub
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        45: .line 1130
            iload 8 /* runVal1 */
            iconst_4
            ishl
            iload 9 /* runVal2 */
            ior
            istore 6 /* pixel */
        46: .line 1131
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        47: .line 1132
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        48: .line 1133
            iconst_2
            istore 3 /* runCount */
        49: .line 1134
            iload 5 /* j */
            iload 2 /* scanlineBytes */
            iconst_1
            isub
            if_icmpge 53
        50: .line 1135
            iload 9 /* runVal2 */
            istore 8 /* runVal1 */
        51: .line 1136
            aload 1 /* bipixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            istore 9 /* runVal2 */
        52: .line 1137
            goto 107
        53: .line 1138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        54: .line 1139
            iload 9 /* runVal2 */
            iconst_4
            ishl
            istore 13 /* r */
        start local 13 // int r
        55: .line 1140
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 13 /* r */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        56: .line 1141
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        57: .line 1142
            iconst_m1
            istore 3 /* runCount */
        end local 13 // int r
        58: .line 1145
            goto 107
        59: .line 1149
      StackMap locals:
      StackMap stack:
            iinc 3 /* runCount */ 1
        60: .line 1150
            iload 8 /* runVal1 */
            iconst_4
            ishl
            iload 9 /* runVal2 */
            ior
            istore 6 /* pixel */
        61: .line 1151
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        62: .line 1152
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        63: .line 1153
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        64: .line 1154
            iconst_2
            istore 3 /* runCount */
        65: .line 1155
            iload 11 /* nextVal2 */
            istore 8 /* runVal1 */
        66: .line 1157
            iload 5 /* j */
            iload 2 /* scanlineBytes */
            iconst_1
            isub
            if_icmpge 69
        67: .line 1158
            aload 1 /* bipixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            istore 9 /* runVal2 */
        68: .line 1159
            goto 107
        69: .line 1160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        70: .line 1161
            iload 11 /* nextVal2 */
            iconst_4
            ishl
            istore 13 /* r */
        start local 13 // int r
        71: .line 1162
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 13 /* r */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        72: .line 1163
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        73: .line 1164
            iconst_m1
            istore 3 /* runCount */
        end local 13 // int r
        74: .line 1168
            goto 107
        75: .line 1170
      StackMap locals:
      StackMap stack:
            iload 3 /* runCount */
            iconst_2
            if_icmple 81
        76: .line 1171
            iload 8 /* runVal1 */
            iconst_4
            ishl
            iload 9 /* runVal2 */
            ior
            istore 6 /* pixel */
        77: .line 1172
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        78: .line 1173
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        79: .line 1174
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        80: .line 1175
            goto 104
      StackMap locals:
      StackMap stack:
        81: iload 4 /* absVal */
            ifge 87
        82: .line 1176
            aload 12 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 8 /* runVal1 */
            bastore
        83: .line 1177
            aload 12 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 9 /* runVal2 */
            bastore
        84: .line 1178
            aload 12 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 10 /* nextVal1 */
            bastore
        85: .line 1179
            aload 12 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 11 /* nextVal2 */
            bastore
        86: .line 1180
            goto 104
      StackMap locals:
      StackMap stack:
        87: iload 4 /* absVal */
            sipush 253
            if_icmpge 91
        88: .line 1181
            aload 12 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 10 /* nextVal1 */
            bastore
        89: .line 1182
            aload 12 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            iload 11 /* nextVal2 */
            bastore
        90: .line 1183
            goto 104
        91: .line 1184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        92: .line 1185
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 4 /* absVal */
            iconst_1
            iadd
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        93: .line 1186
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        94: .line 1187
            iconst_0
            istore 13 /* a */
        start local 13 // int a
        95: goto 100
        96: .line 1188
      StackMap locals: int
      StackMap stack:
            aload 12 /* absBuf */
            iload 13 /* a */
            baload
            iconst_4
            ishl
            aload 12 /* absBuf */
            iload 13 /* a */
            iconst_1
            iadd
            baload
            ior
            istore 6 /* pixel */
        97: .line 1189
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            i2b
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
        98: .line 1190
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
        99: .line 1187
            iinc 13 /* a */ 2
      StackMap locals:
      StackMap stack:
       100: iload 13 /* a */
            iload 4 /* absVal */
            if_icmplt 96
        end local 13 // int a
       101: .line 1194
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       102: .line 1195
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       103: .line 1196
            iconst_m1
            istore 4 /* absVal */
       104: .line 1199
      StackMap locals:
      StackMap stack:
            iload 10 /* nextVal1 */
            istore 8 /* runVal1 */
       105: .line 1200
            iload 11 /* nextVal2 */
            istore 9 /* runVal2 */
       106: .line 1201
            iconst_2
            istore 3 /* runCount */
       107: .line 1204
      StackMap locals:
      StackMap stack:
            iload 5 /* j */
            iload 2 /* scanlineBytes */
            iconst_2
            isub
            if_icmplt 166
       108: .line 1205
            iload 4 /* absVal */
            iconst_m1
            if_icmpne 131
            iload 3 /* runCount */
            iconst_2
            if_icmplt 131
       109: .line 1206
            iload 5 /* j */
            iload 2 /* scanlineBytes */
            iconst_2
            isub
            if_icmpne 126
       110: .line 1207
            aload 1 /* bipixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            iload 8 /* runVal1 */
            if_icmpne 117
       111: .line 1208
            iinc 3 /* runCount */ 1
       112: .line 1209
            iload 8 /* runVal1 */
            iconst_4
            ishl
            iload 9 /* runVal2 */
            ior
            istore 6 /* pixel */
       113: .line 1210
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       114: .line 1211
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       115: .line 1212
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       116: .line 1213
            goto 163
       117: .line 1214
      StackMap locals:
      StackMap stack:
            iload 8 /* runVal1 */
            iconst_4
            ishl
            iload 9 /* runVal2 */
            ior
            istore 6 /* pixel */
       118: .line 1215
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       119: .line 1216
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       120: .line 1217
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       121: .line 1218
            aload 1 /* bipixels */
            iload 5 /* j */
            baload
            iconst_4
            ishl
            istore 6 /* pixel */
       122: .line 1219
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       123: .line 1220
            aload 1 /* bipixels */
            iload 5 /* j */
            baload
            pop
       124: .line 1221
            aload 0 /* this */
            iconst_4
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       125: .line 1223
            goto 163
       126: .line 1224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 3 /* runCount */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       127: .line 1225
            iload 8 /* runVal1 */
            iconst_4
            ishl
            iload 9 /* runVal2 */
            ior
            istore 6 /* pixel */
       128: .line 1226
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       129: .line 1227
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       130: .line 1229
            goto 163
      StackMap locals:
      StackMap stack:
       131: iload 4 /* absVal */
            iconst_m1
            if_icmple 163
       132: .line 1230
            iload 5 /* j */
            iload 2 /* scanlineBytes */
            iconst_2
            isub
            if_icmpne 134
       133: .line 1231
            aload 12 /* absBuf */
            iinc 4 /* absVal */ 1
            iload 4 /* absVal */
            aload 1 /* bipixels */
            iinc 5 /* j */ 1
            iload 5 /* j */
            baload
            bastore
       134: .line 1233
      StackMap locals:
      StackMap stack:
            iload 4 /* absVal */
            iconst_2
            if_icmplt 153
       135: .line 1234
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       136: .line 1235
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 4 /* absVal */
            iconst_1
            iadd
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       137: .line 1236
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       138: .line 1237
            iconst_0
            istore 13 /* a */
        start local 13 // int a
       139: goto 144
       140: .line 1238
      StackMap locals: int
      StackMap stack:
            aload 12 /* absBuf */
            iload 13 /* a */
            baload
            iconst_4
            ishl
            aload 12 /* absBuf */
            iload 13 /* a */
            iconst_1
            iadd
            baload
            ior
            istore 6 /* pixel */
       141: .line 1239
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            i2b
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       142: .line 1240
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       143: .line 1237
            iinc 13 /* a */ 2
      StackMap locals:
      StackMap stack:
       144: iload 13 /* a */
            iload 4 /* absVal */
            if_icmplt 140
        end local 13 // int a
       145: .line 1242
            aload 0 /* this */
            iload 4 /* absVal */
            iconst_1
            iadd
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
            ifne 149
       146: .line 1243
            aload 12 /* absBuf */
            iload 4 /* absVal */
            baload
            iconst_4
            ishl
            istore 7 /* q */
       147: .line 1244
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 7 /* q */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       148: .line 1245
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       149: .line 1249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* absVal */
            iconst_1
            iadd
            iconst_2
            idiv
            i2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.isEven:(I)Z
            ifne 163
       150: .line 1250
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       151: .line 1251
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       152: .line 1254
            goto 163
       153: .line 1255
      StackMap locals:
      StackMap stack:
            iload 4 /* absVal */
            tableswitch { // 0 - 1
                    0: 154
                    1: 159
              default: 163
          }
       154: .line 1257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       155: .line 1258
            aload 12 /* absBuf */
            iconst_0
            baload
            iconst_4
            ishl
            istore 13 /* n */
        start local 13 // int n
       156: .line 1259
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 13 /* n */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       157: .line 1260
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       158: .line 1261
            goto 163
        end local 13 // int n
       159: .line 1263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_2
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       160: .line 1264
            aload 12 /* absBuf */
            iconst_0
            baload
            iconst_4
            ishl
            aload 12 /* absBuf */
            iconst_1
            baload
            ior
            istore 6 /* pixel */
       161: .line 1265
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 6 /* pixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       162: .line 1266
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       163: .line 1272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       164: .line 1273
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
       165: .line 1274
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.incCompImageSize:(I)V
       166: .line 1088
      StackMap locals:
      StackMap stack:
            iload 5 /* j */
            iload 2 /* scanlineBytes */
            iconst_2
            isub
            if_icmplt 13
       167: .line 1277
            return
        end local 12 // byte[] absBuf
        end local 11 // byte nextVal2
        end local 10 // byte nextVal1
        end local 9 // byte runVal2
        end local 8 // byte runVal1
        end local 7 // int q
        end local 6 // int pixel
        end local 5 // int j
        end local 4 // int absVal
        end local 3 // int runCount
        end local 2 // int scanlineBytes
        end local 1 // byte[] bipixels
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  168     0           this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0  168     1       bipixels  [B
            0  168     2  scanlineBytes  I
            1  168     3       runCount  I
            2  168     4         absVal  I
            3  168     5              j  I
            4  168     6          pixel  I
            5  168     7              q  I
            6  168     8        runVal1  B
            7  168     9        runVal2  B
            8  168    10       nextVal1  B
            9  168    11       nextVal2  B
           10  168    12         absBuf  [B
           21   27    13              a  I
           55   58    13              r  I
           71   74    13              r  I
           95  101    13              a  I
          139  145    13              a  I
          156  159    13              n  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      bipixels       
      scanlineBytes  

  private synchronized void incCompImageSize(int);
    descriptor: (I)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int value
         0: .line 1281
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
            iload 1 /* value */
            iadd
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.compImageSize:I
         1: .line 1282
            return
        end local 1 // int value
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    2     1  value  I
    MethodParameters:
       Name  Flags
      value  

  private boolean isEven(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int number
         0: .line 1285
            iload 1 /* number */
            iconst_2
            irem
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // int number
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    3     1  number  I
    MethodParameters:
        Name  Flags
      number  

  private void writeFileHeader(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int fileSize
        start local 2 // int offset
         0: .line 1290
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            bipush 66
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
         1: .line 1291
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            bipush 77
            invokeinterface javax.imageio.stream.ImageOutputStream.writeByte:(I)V
         2: .line 1294
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 1 /* fileSize */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
         3: .line 1297
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_0
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
         4: .line 1300
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 2 /* offset */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
         5: .line 1301
            return
        end local 2 // int offset
        end local 1 // int fileSize
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    6     1  fileSize  I
            0    6     2    offset  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      fileSize  
      offset    

  private void writeInfoHeader(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int headerSize
        start local 2 // int bitsPerPixel
         0: .line 1307
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 1 /* headerSize */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
         1: .line 1310
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.w:I
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
         2: .line 1313
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.isTopDown:Z
            ifeq 3
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
            ineg
            goto 4
      StackMap locals:
      StackMap stack: javax.imageio.stream.ImageOutputStream
         3: aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.h:I
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int int
      StackMap stack: javax.imageio.stream.ImageOutputStream int
         4: invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
         5: .line 1316
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShort:(I)V
         6: .line 1319
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 2 /* bitsPerPixel */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeShort:(I)V
         7: .line 1320
            return
        end local 2 // int bitsPerPixel
        end local 1 // int headerSize
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    8     1    headerSize  I
            0    8     2  bitsPerPixel  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      headerSize    
      bitsPerPixel  

  private void writeSize(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int dword
        start local 2 // int offset
         0: .line 1323
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 2 /* offset */
            invokeinterface javax.imageio.stream.ImageOutputStream.skipBytes:(I)I
            pop
         1: .line 1324
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            iload 1 /* dword */
            invokeinterface javax.imageio.stream.ImageOutputStream.writeInt:(I)V
         2: .line 1325
            return
        end local 2 // int offset
        end local 1 // int dword
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    3     1   dword  I
            0    3     2  offset  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      dword   
      offset  

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
         0: .line 1328
            aload 0 /* this */
            invokespecial javax.imageio.ImageWriter.reset:()V
         1: .line 1329
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.bmp.BMPImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
         2: .line 1330
            return
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;

  private int getCompressionType(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // java.lang.String typeString
         0: .line 1333
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 1334
      StackMap locals: int
      StackMap stack:
            getstatic com.sun.imageio.plugins.bmp.BMPConstants.compressionTypeNames:[Ljava/lang/String;
            iload 2 /* i */
            aaload
            aload 1 /* typeString */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1335
            iload 2 /* i */
            ireturn
         4: .line 1333
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            getstatic com.sun.imageio.plugins.bmp.BMPConstants.compressionTypeNames:[Ljava/lang/String;
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 1336
            iconst_0
            ireturn
        end local 1 // java.lang.String typeString
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    7     1  typeString  Ljava/lang/String;
            1    6     2           i  I
    MethodParameters:
            Name  Flags
      typeString  

  private void writeEmbedded(javax.imageio.IIOImage, javax.imageio.ImageWriteParam);
    descriptor: (Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // javax.imageio.IIOImage image
        start local 2 // javax.imageio.ImageWriteParam bmpParam
         0: .line 1342
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_4
            if_icmpne 1
            ldc "jpeg"
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "png"
         2: .line 1341
      StackMap locals:
      StackMap stack: java.lang.String
            astore 3 /* format */
        start local 3 // java.lang.String format
         3: .line 1343
            aload 3 /* format */
            invokestatic javax.imageio.ImageIO.getImageWritersByFormatName:(Ljava/lang/String;)Ljava/util/Iterator;
            astore 4 /* iterator */
        start local 4 // java.util.Iterator iterator
         4: .line 1344
            aconst_null
            astore 5 /* writer */
        start local 5 // javax.imageio.ImageWriter writer
         5: .line 1345
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 7
         6: .line 1346
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.imageio.ImageWriter
            astore 5 /* writer */
         7: .line 1347
      StackMap locals: java.lang.String java.util.Iterator javax.imageio.ImageWriter
      StackMap stack:
            aload 5 /* writer */
            ifnull 24
         8: .line 1348
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
            ifnonnull 10
         9: .line 1349
            new java.lang.RuntimeException
            dup
            ldc "No stream for writing embedded image!"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 1352
      StackMap locals:
      StackMap stack:
            aload 5 /* writer */
            new com.sun.imageio.plugins.bmp.BMPImageWriter$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokespecial com.sun.imageio.plugins.bmp.BMPImageWriter$1.<init>:(Lcom/sun/imageio/plugins/bmp/BMPImageWriter;Lcom/sun/imageio/plugins/bmp/BMPImageWriter;)V
            invokevirtual javax.imageio.ImageWriter.addIIOWriteProgressListener:(Ljavax/imageio/event/IIOWriteProgressListener;)V
        11: .line 1358
            aload 5 /* writer */
            new com.sun.imageio.plugins.bmp.BMPImageWriter$2
            dup
            aload 0 /* this */
            invokespecial com.sun.imageio.plugins.bmp.BMPImageWriter$2.<init>:(Lcom/sun/imageio/plugins/bmp/BMPImageWriter;)V
            invokevirtual javax.imageio.ImageWriter.addIIOWriteWarningListener:(Ljavax/imageio/event/IIOWriteWarningListener;)V
        12: .line 1364
            aload 5 /* writer */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.embedded_stream:Ljava/io/ByteArrayOutputStream;
            invokestatic javax.imageio.ImageIO.createImageOutputStream:(Ljava/lang/Object;)Ljavax/imageio/stream/ImageOutputStream;
            invokevirtual javax.imageio.ImageWriter.setOutput:(Ljava/lang/Object;)V
        13: .line 1365
            aload 5 /* writer */
            invokevirtual javax.imageio.ImageWriter.getDefaultWriteParam:()Ljavax/imageio/ImageWriteParam;
            astore 6 /* param */
        start local 6 // javax.imageio.ImageWriteParam param
        14: .line 1367
            aload 6 /* param */
            aload 2 /* bmpParam */
            invokevirtual javax.imageio.ImageWriteParam.getDestinationOffset:()Ljava/awt/Point;
            invokevirtual javax.imageio.ImageWriteParam.setDestinationOffset:(Ljava/awt/Point;)V
        15: .line 1368
            aload 6 /* param */
            aload 2 /* bmpParam */
            invokevirtual javax.imageio.ImageWriteParam.getSourceBands:()[I
            invokevirtual javax.imageio.ImageWriteParam.setSourceBands:([I)V
        16: .line 1369
            aload 6 /* param */
            aload 2 /* bmpParam */
            invokevirtual javax.imageio.ImageWriteParam.getSourceRegion:()Ljava/awt/Rectangle;
            invokevirtual javax.imageio.ImageWriteParam.setSourceRegion:(Ljava/awt/Rectangle;)V
        17: .line 1370
            aload 6 /* param */
            aload 2 /* bmpParam */
            invokevirtual javax.imageio.ImageWriteParam.getSourceXSubsampling:()I
        18: .line 1371
            aload 2 /* bmpParam */
            invokevirtual javax.imageio.ImageWriteParam.getSourceYSubsampling:()I
        19: .line 1372
            aload 2 /* bmpParam */
            invokevirtual javax.imageio.ImageWriteParam.getSubsamplingXOffset:()I
        20: .line 1373
            aload 2 /* bmpParam */
            invokevirtual javax.imageio.ImageWriteParam.getSubsamplingYOffset:()I
        21: .line 1370
            invokevirtual javax.imageio.ImageWriteParam.setSourceSubsampling:(IIII)V
        22: .line 1374
            aload 5 /* writer */
            aconst_null
            aload 1 /* image */
            aload 6 /* param */
            invokevirtual javax.imageio.ImageWriter.write:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
        end local 6 // javax.imageio.ImageWriteParam param
        23: .line 1375
            goto 25
        24: .line 1376
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "BMPImageWrite5"
            invokestatic com.sun.imageio.plugins.common.I18N.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* format */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 1378
      StackMap locals:
      StackMap stack:
            return
        end local 5 // javax.imageio.ImageWriter writer
        end local 4 // java.util.Iterator iterator
        end local 3 // java.lang.String format
        end local 2 // javax.imageio.ImageWriteParam bmpParam
        end local 1 // javax.imageio.IIOImage image
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   26     0      this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0   26     1     image  Ljavax/imageio/IIOImage;
            0   26     2  bmpParam  Ljavax/imageio/ImageWriteParam;
            3   26     3    format  Ljava/lang/String;
            4   26     4  iterator  Ljava/util/Iterator;
            5   26     5    writer  Ljavax/imageio/ImageWriter;
           14   23     6     param  Ljavax/imageio/ImageWriteParam;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      image     
      bmpParam  

  private int firstLowBit(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int num
         0: .line 1381
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         1: .line 1382
            goto 4
         2: .line 1383
      StackMap locals: int
      StackMap stack:
            iinc 2 /* count */ 1
         3: .line 1384
            iload 1 /* num */
            iconst_1
            iushr
            istore 1 /* num */
         4: .line 1382
      StackMap locals:
      StackMap stack:
            iload 1 /* num */
            iconst_1
            iand
            ifeq 2
         5: .line 1386
            iload 2 /* count */
            ireturn
        end local 2 // int count
        end local 1 // int num
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    6     1    num  I
            1    6     2  count  I
    MethodParameters:
      Name  Flags
      num   

  protected int getPreferredCompressionType(java.awt.image.ColorModel, java.awt.image.SampleModel);
    descriptor: (Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // java.awt.image.ColorModel cm
        start local 2 // java.awt.image.SampleModel sm
         0: .line 1424
            new javax.imageio.ImageTypeSpecifier
            dup
            aload 1 /* cm */
            aload 2 /* sm */
            invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)V
            astore 3 /* imageType */
        start local 3 // javax.imageio.ImageTypeSpecifier imageType
         1: .line 1425
            aload 0 /* this */
            aload 3 /* imageType */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getPreferredCompressionType:(Ljavax/imageio/ImageTypeSpecifier;)I
            ireturn
        end local 3 // javax.imageio.ImageTypeSpecifier imageType
        end local 2 // java.awt.image.SampleModel sm
        end local 1 // java.awt.image.ColorModel cm
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    2     1         cm  Ljava/awt/image/ColorModel;
            0    2     2         sm  Ljava/awt/image/SampleModel;
            1    2     3  imageType  Ljavax/imageio/ImageTypeSpecifier;
    MethodParameters:
      Name  Flags
      cm    
      sm    

  protected int getPreferredCompressionType(javax.imageio.ImageTypeSpecifier);
    descriptor: (Ljavax/imageio/ImageTypeSpecifier;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // javax.imageio.ImageTypeSpecifier imageType
         0: .line 1429
            aload 1 /* imageType */
            invokevirtual javax.imageio.ImageTypeSpecifier.getBufferedImageType:()I
            bipush 8
            if_icmpne 2
         1: .line 1430
            iconst_3
            ireturn
         2: .line 1432
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // javax.imageio.ImageTypeSpecifier imageType
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    3     1  imageType  Ljavax/imageio/ImageTypeSpecifier;
    MethodParameters:
           Name  Flags
      imageType  

  protected boolean canEncodeImage(int, java.awt.image.ColorModel, java.awt.image.SampleModel);
    descriptor: (ILjava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int compression
        start local 2 // java.awt.image.ColorModel cm
        start local 3 // java.awt.image.SampleModel sm
         0: .line 1444
            new javax.imageio.ImageTypeSpecifier
            dup
            aload 2 /* cm */
            aload 3 /* sm */
            invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/ColorModel;Ljava/awt/image/SampleModel;)V
            astore 4 /* imgType */
        start local 4 // javax.imageio.ImageTypeSpecifier imgType
         1: .line 1445
            aload 0 /* this */
            iload 1 /* compression */
            aload 4 /* imgType */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.canEncodeImage:(ILjavax/imageio/ImageTypeSpecifier;)Z
            ireturn
        end local 4 // javax.imageio.ImageTypeSpecifier imgType
        end local 3 // java.awt.image.SampleModel sm
        end local 2 // java.awt.image.ColorModel cm
        end local 1 // int compression
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    2     1  compression  I
            0    2     2           cm  Ljava/awt/image/ColorModel;
            0    2     3           sm  Ljava/awt/image/SampleModel;
            1    2     4      imgType  Ljavax/imageio/ImageTypeSpecifier;
    MethodParameters:
             Name  Flags
      compression  
      cm           
      sm           

  protected boolean canEncodeImage(int, javax.imageio.ImageTypeSpecifier);
    descriptor: (ILjavax/imageio/ImageTypeSpecifier;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int compression
        start local 2 // javax.imageio.ImageTypeSpecifier imgType
         0: .line 1449
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.getOriginatingProvider:()Ljavax/imageio/spi/ImageWriterSpi;
            astore 3 /* spi */
        start local 3 // javax.imageio.spi.ImageWriterSpi spi
         1: .line 1450
            aload 3 /* spi */
            aload 2 /* imgType */
            invokevirtual javax.imageio.spi.ImageWriterSpi.canEncodeImage:(Ljavax/imageio/ImageTypeSpecifier;)Z
            ifne 3
         2: .line 1451
            iconst_0
            ireturn
         3: .line 1453
      StackMap locals: javax.imageio.spi.ImageWriterSpi
      StackMap stack:
            aload 2 /* imgType */
            invokevirtual javax.imageio.ImageTypeSpecifier.getBufferedImageType:()I
            pop
         4: .line 1454
            aload 2 /* imgType */
            invokevirtual javax.imageio.ImageTypeSpecifier.getColorModel:()Ljava/awt/image/ColorModel;
            invokevirtual java.awt.image.ColorModel.getPixelSize:()I
            istore 4 /* bpp */
        start local 4 // int bpp
         5: .line 1455
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_2
            if_icmpne 7
            iload 4 /* bpp */
            iconst_4
            if_icmpeq 7
         6: .line 1457
            iconst_0
            ireturn
         7: .line 1459
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_1
            if_icmpne 9
            iload 4 /* bpp */
            bipush 8
            if_icmpeq 9
         8: .line 1461
            iconst_0
            ireturn
         9: .line 1463
      StackMap locals:
      StackMap stack:
            iload 4 /* bpp */
            bipush 16
            if_icmpne 34
        10: .line 1490
            iconst_0
            istore 5 /* canUseRGB */
        start local 5 // boolean canUseRGB
        11: .line 1491
            iconst_0
            istore 6 /* canUseBITFIELDS */
        start local 6 // boolean canUseBITFIELDS
        12: .line 1493
            aload 2 /* imgType */
            invokevirtual javax.imageio.ImageTypeSpecifier.getSampleModel:()Ljava/awt/image/SampleModel;
            astore 7 /* sm */
        start local 7 // java.awt.image.SampleModel sm
        13: .line 1494
            aload 7 /* sm */
            instanceof java.awt.image.SinglePixelPackedSampleModel
            ifeq 30
        14: .line 1496
            aload 7 /* sm */
            checkcast java.awt.image.SinglePixelPackedSampleModel
            invokevirtual java.awt.image.SinglePixelPackedSampleModel.getSampleSize:()[I
        15: .line 1495
            astore 8 /* sizes */
        start local 8 // int[] sizes
        16: .line 1498
            iconst_1
            istore 5 /* canUseRGB */
        17: .line 1499
            iconst_1
            istore 6 /* canUseBITFIELDS */
        18: .line 1500
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        19: goto 29
        20: .line 1501
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int javax.imageio.ImageTypeSpecifier javax.imageio.spi.ImageWriterSpi int int int java.awt.image.SampleModel int[] int
      StackMap stack:
            iload 5 /* canUseRGB */
            aload 8 /* sizes */
            iload 9 /* i */
            iaload
            iconst_5
            if_icmpne 21
            iconst_1
            goto 22
      StackMap locals:
      StackMap stack: int
        21: iconst_0
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int javax.imageio.ImageTypeSpecifier javax.imageio.spi.ImageWriterSpi int int int java.awt.image.SampleModel int[] int
      StackMap stack: int int
        22: iand
            istore 5 /* canUseRGB */
        23: .line 1502
            iload 6 /* canUseBITFIELDS */
            aload 8 /* sizes */
            iload 9 /* i */
            iaload
            iconst_5
            if_icmpeq 26
        24: .line 1503
            iload 9 /* i */
            iconst_1
            if_icmpne 25
            aload 8 /* sizes */
            iload 9 /* i */
            iaload
            bipush 6
            if_icmpeq 26
      StackMap locals:
      StackMap stack: int
        25: iconst_0
            goto 27
      StackMap locals:
      StackMap stack: int
        26: iconst_1
      StackMap locals: com.sun.imageio.plugins.bmp.BMPImageWriter int javax.imageio.ImageTypeSpecifier javax.imageio.spi.ImageWriterSpi int int int java.awt.image.SampleModel int[] int
      StackMap stack: int int
        27: iand
            istore 6 /* canUseBITFIELDS */
        28: .line 1500
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 9 /* i */
            aload 8 /* sizes */
            arraylength
            if_icmplt 20
        end local 9 // int i
        end local 8 // int[] sizes
        30: .line 1507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            ifne 31
            iload 5 /* canUseRGB */
            ifne 33
        31: .line 1508
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.bmp.BMPImageWriter.compressionType:I
            iconst_3
            if_icmpne 32
            iload 6 /* canUseBITFIELDS */
            ifne 33
        32: .line 1507
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        33: iconst_1
            ireturn
        end local 7 // java.awt.image.SampleModel sm
        end local 6 // boolean canUseBITFIELDS
        end local 5 // boolean canUseRGB
        34: .line 1510
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // int bpp
        end local 3 // javax.imageio.spi.ImageWriterSpi spi
        end local 2 // javax.imageio.ImageTypeSpecifier imgType
        end local 1 // int compression
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   35     0             this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0   35     1      compression  I
            0   35     2          imgType  Ljavax/imageio/ImageTypeSpecifier;
            1   35     3              spi  Ljavax/imageio/spi/ImageWriterSpi;
            5   35     4              bpp  I
           11   34     5        canUseRGB  Z
           12   34     6  canUseBITFIELDS  Z
           13   34     7               sm  Ljava/awt/image/SampleModel;
           16   30     8            sizes  [I
           19   30     9                i  I
    MethodParameters:
             Name  Flags
      compression  
      imgType      

  protected void writeMaskToPalette(int, int, byte[], byte[], byte[], byte[]);
    descriptor: (II[B[B[B[B)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=7
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int mask
        start local 2 // int i
        start local 3 // byte[] r
        start local 4 // byte[] g
        start local 5 // byte[] b
        start local 6 // byte[] a
         0: .line 1515
            aload 5 /* b */
            iload 2 /* i */
            sipush 255
            iload 1 /* mask */
            bipush 24
            ishr
            iand
            i2b
            bastore
         1: .line 1516
            aload 4 /* g */
            iload 2 /* i */
            sipush 255
            iload 1 /* mask */
            bipush 16
            ishr
            iand
            i2b
            bastore
         2: .line 1517
            aload 3 /* r */
            iload 2 /* i */
            sipush 255
            iload 1 /* mask */
            bipush 8
            ishr
            iand
            i2b
            bastore
         3: .line 1518
            aload 6 /* a */
            iload 2 /* i */
            sipush 255
            iload 1 /* mask */
            iand
            i2b
            bastore
         4: .line 1519
            return
        end local 6 // byte[] a
        end local 5 // byte[] b
        end local 4 // byte[] g
        end local 3 // byte[] r
        end local 2 // int i
        end local 1 // int mask
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    5     1  mask  I
            0    5     2     i  I
            0    5     3     r  [B
            0    5     4     g  [B
            0    5     5     b  [B
            0    5     6     a  [B
    MethodParameters:
      Name  Flags
      mask  
      i     
      r     
      g     
      b     
      a     

  private int roundBpp(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
        start local 1 // int x
         0: .line 1522
            iload 1 /* x */
            bipush 8
            if_icmpgt 2
         1: .line 1523
            bipush 8
            ireturn
         2: .line 1524
      StackMap locals:
      StackMap stack:
            iload 1 /* x */
            bipush 16
            if_icmpgt 4
         3: .line 1525
            bipush 16
            ireturn
         4: .line 1526
      StackMap locals:
      StackMap stack:
            iload 1 /* x */
            bipush 24
            if_icmpgt 6
         5: .line 1527
            bipush 24
            ireturn
         6: .line 1529
      StackMap locals:
      StackMap stack:
            bipush 32
            ireturn
        end local 1 // int x
        end local 0 // com.sun.imageio.plugins.bmp.BMPImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/imageio/plugins/bmp/BMPImageWriter;
            0    7     1     x  I
    MethodParameters:
      Name  Flags
      x     

  static void access$0(com.sun.imageio.plugins.bmp.BMPImageWriter, float);
    descriptor: (Lcom/sun/imageio/plugins/bmp/BMPImageWriter;F)V
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            fload 1
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processImageProgress:(F)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static void access$1(com.sun.imageio.plugins.bmp.BMPImageWriter, int, java.lang.String);
    descriptor: (Lcom/sun/imageio/plugins/bmp/BMPImageWriter;ILjava/lang/String;)V
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            iload 1
            aload 2
            invokevirtual com.sun.imageio.plugins.bmp.BMPImageWriter.processWarningOccurred:(ILjava/lang/String;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "BMPImageWriter.java"
NestMembers:
  com.sun.imageio.plugins.bmp.BMPImageWriter$1  com.sun.imageio.plugins.bmp.BMPImageWriter$2  com.sun.imageio.plugins.bmp.BMPImageWriter$IIOWriteProgressAdapter
InnerClasses:
  com.sun.imageio.plugins.bmp.BMPImageWriter$1
  com.sun.imageio.plugins.bmp.BMPImageWriter$2
  private IIOWriteProgressAdapter = com.sun.imageio.plugins.bmp.BMPImageWriter$IIOWriteProgressAdapter of com.sun.imageio.plugins.bmp.BMPImageWriter