public class com.sun.imageio.plugins.png.PNGImageWriter extends javax.imageio.ImageWriter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.imageio.plugins.png.PNGImageWriter
  super_class: javax.imageio.ImageWriter
{
  javax.imageio.stream.ImageOutputStream stream;
    descriptor: Ljavax/imageio/stream/ImageOutputStream;
    flags: (0x0000) 

  com.sun.imageio.plugins.png.PNGMetadata metadata;
    descriptor: Lcom/sun/imageio/plugins/png/PNGMetadata;
    flags: (0x0000) 

  int sourceXOffset;
    descriptor: I
    flags: (0x0000) 

  int sourceYOffset;
    descriptor: I
    flags: (0x0000) 

  int sourceWidth;
    descriptor: I
    flags: (0x0000) 

  int sourceHeight;
    descriptor: I
    flags: (0x0000) 

  int[] sourceBands;
    descriptor: [I
    flags: (0x0000) 

  int periodX;
    descriptor: I
    flags: (0x0000) 

  int periodY;
    descriptor: I
    flags: (0x0000) 

  int numBands;
    descriptor: I
    flags: (0x0000) 

  int bpp;
    descriptor: I
    flags: (0x0000) 

  com.sun.imageio.plugins.png.RowFilter rowFilter;
    descriptor: Lcom/sun/imageio/plugins/png/RowFilter;
    flags: (0x0000) 

  byte[] prevRow;
    descriptor: [B
    flags: (0x0000) 

  byte[] currRow;
    descriptor: [B
    flags: (0x0000) 

  byte[][] filteredRows;
    descriptor: [[B
    flags: (0x0000) 

  int[] sampleSize;
    descriptor: [I
    flags: (0x0000) 

  int scalingBitDepth;
    descriptor: I
    flags: (0x0000) 

  byte[][] scale;
    descriptor: [[B
    flags: (0x0000) 

  byte[] scale0;
    descriptor: [B
    flags: (0x0000) 

  byte[][] scaleh;
    descriptor: [[B
    flags: (0x0000) 

  byte[][] scalel;
    descriptor: [[B
    flags: (0x0000) 

  int totalPixels;
    descriptor: I
    flags: (0x0000) 

  int pixelsDone;
    descriptor: I
    flags: (0x0000) 

  private static int[] allowedProgressivePasses;
    descriptor: [I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 339
            iconst_2
            newarray 10
            dup
            iconst_0
            iconst_1
            iastore
            dup
            iconst_1
            bipush 7
            iastore
            putstatic com.sun.imageio.plugins.png.PNGImageWriter.allowedProgressivePasses:[I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(javax.imageio.spi.ImageWriterSpi);
    descriptor: (Ljavax/imageio/spi/ImageWriterSpi;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // javax.imageio.spi.ImageWriterSpi originatingProvider
         0: .line 324
            aload 0 /* this */
            aload 1 /* originatingProvider */
            invokespecial javax.imageio.ImageWriter.<init>:(Ljavax/imageio/spi/ImageWriterSpi;)V
         1: .line 280
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
         2: .line 282
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
         3: .line 285
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceXOffset:I
         4: .line 286
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceYOffset:I
         5: .line 287
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceWidth:I
         6: .line 288
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceHeight:I
         7: .line 289
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceBands:[I
         8: .line 290
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
         9: .line 291
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
        10: .line 296
            aload 0 /* this */
            new com.sun.imageio.plugins.png.RowFilter
            dup
            invokespecial com.sun.imageio.plugins.png.RowFilter.<init>:()V
            putfield com.sun.imageio.plugins.png.PNGImageWriter.rowFilter:Lcom/sun/imageio/plugins/png/RowFilter;
        11: .line 297
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.prevRow:[B
        12: .line 298
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
        13: .line 299
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.filteredRows:[[B
        14: .line 309
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sampleSize:[I
        15: .line 310
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scalingBitDepth:I
        16: .line 313
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scale:[[B
        17: .line 314
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scale0:[B
        18: .line 317
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scaleh:[[B
        19: .line 318
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scalel:[[B
        20: .line 325
            return
        end local 1 // javax.imageio.spi.ImageWriterSpi originatingProvider
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   21     0                 this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0   21     1  originatingProvider  Ljavax/imageio/spi/ImageWriterSpi;
    MethodParameters:
                     Name  Flags
      originatingProvider  

  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.png.PNGImageWriter this
        start local 1 // java.lang.Object output
         0: .line 328
            aload 0 /* this */
            aload 1 /* output */
            invokespecial javax.imageio.ImageWriter.setOutput:(Ljava/lang/Object;)V
         1: .line 329
            aload 1 /* output */
            ifnull 6
         2: .line 330
            aload 1 /* output */
            instanceof javax.imageio.stream.ImageOutputStream
            ifne 4
         3: .line 331
            new java.lang.IllegalArgumentException
            dup
            ldc "output not an ImageOutputStream!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* output */
            checkcast javax.imageio.stream.ImageOutputStream
            putfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
         5: .line 334
            goto 7
         6: .line 335
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
         7: .line 337
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object output
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0    8     1  output  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      output  

  public javax.imageio.ImageWriteParam getDefaultWriteParam();
    descriptor: ()Ljavax/imageio/ImageWriteParam;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 342
            new com.sun.imageio.plugins.png.PNGImageWriteParam
            dup
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.getLocale:()Ljava/util/Locale;
            invokespecial com.sun.imageio.plugins.png.PNGImageWriteParam.<init>:(Ljava/util/Locale;)V
            areturn
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;

  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.png.PNGImageWriter this
        start local 1 // javax.imageio.ImageWriteParam param
         0: .line 346
            aconst_null
            areturn
        end local 1 // javax.imageio.ImageWriteParam param
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            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.png.PNGImageWriter this
        start local 1 // javax.imageio.ImageTypeSpecifier imageType
        start local 2 // javax.imageio.ImageWriteParam param
         0: .line 351
            new com.sun.imageio.plugins.png.PNGMetadata
            dup
            invokespecial com.sun.imageio.plugins.png.PNGMetadata.<init>:()V
            astore 3 /* m */
        start local 3 // com.sun.imageio.plugins.png.PNGMetadata m
         1: .line 352
            aload 3 /* m */
            aload 1 /* imageType */
            aload 1 /* imageType */
            invokevirtual javax.imageio.ImageTypeSpecifier.getSampleModel:()Ljava/awt/image/SampleModel;
            invokevirtual java.awt.image.SampleModel.getNumBands:()I
            invokevirtual com.sun.imageio.plugins.png.PNGMetadata.initialize:(Ljavax/imageio/ImageTypeSpecifier;I)V
         2: .line 353
            aload 3 /* m */
            areturn
        end local 3 // com.sun.imageio.plugins.png.PNGMetadata m
        end local 2 // javax.imageio.ImageWriteParam param
        end local 1 // javax.imageio.ImageTypeSpecifier imageType
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0    3     1  imageType  Ljavax/imageio/ImageTypeSpecifier;
            0    3     2      param  Ljavax/imageio/ImageWriteParam;
            1    3     3          m  Lcom/sun/imageio/plugins/png/PNGMetadata;
    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.png.PNGImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata inData
        start local 2 // javax.imageio.ImageWriteParam param
         0: .line 358
            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.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            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=3, locals=4, args_size=4
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // javax.imageio.metadata.IIOMetadata inData
        start local 2 // javax.imageio.ImageTypeSpecifier imageType
        start local 3 // javax.imageio.ImageWriteParam param
         0: .line 365
            aload 1 /* inData */
            instanceof com.sun.imageio.plugins.png.PNGMetadata
            ifeq 2
         1: .line 366
            aload 1 /* inData */
            checkcast com.sun.imageio.plugins.png.PNGMetadata
            invokevirtual com.sun.imageio.plugins.png.PNGMetadata.clone:()Ljava/lang/Object;
            checkcast com.sun.imageio.plugins.png.PNGMetadata
            areturn
         2: .line 368
      StackMap locals:
      StackMap stack:
            new com.sun.imageio.plugins.png.PNGMetadata
            dup
            aload 1 /* inData */
            invokespecial com.sun.imageio.plugins.png.PNGMetadata.<init>:(Ljavax/imageio/metadata/IIOMetadata;)V
            areturn
        end local 3 // javax.imageio.ImageWriteParam param
        end local 2 // javax.imageio.ImageTypeSpecifier imageType
        end local 1 // javax.imageio.metadata.IIOMetadata inData
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0    3     1     inData  Ljavax/imageio/metadata/IIOMetadata;
            0    3     2  imageType  Ljavax/imageio/ImageTypeSpecifier;
            0    3     3      param  Ljavax/imageio/ImageWriteParam;
    MethodParameters:
           Name  Flags
      inData     
      imageType  
      param      

  private void write_magic();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 374
            bipush 8
            newarray 8
            dup
            iconst_0
            bipush -119
            bastore
            dup
            iconst_1
            bipush 80
            bastore
            dup
            iconst_2
            bipush 78
            bastore
            dup
            iconst_3
            bipush 71
            bastore
            dup
            iconst_4
            bipush 13
            bastore
            dup
            iconst_5
            bipush 10
            bastore
            dup
            bipush 6
            bipush 26
            bastore
            dup
            bipush 7
            bipush 10
            bastore
            astore 1 /* magic */
        start local 1 // byte[] magic
         1: .line 375
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 1 /* magic */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([B)V
         2: .line 376
            return
        end local 1 // byte[] magic
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            1    3     1  magic  [B
    Exceptions:
      throws java.io.IOException

  private void write_IHDR();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 380
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1229472850
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         1: .line 381
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_width:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         2: .line 382
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_height:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         3: .line 383
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         4: .line 384
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         5: .line 385
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_compressionMethod:I
            ifeq 9
         6: .line 386
            new javax.imageio.IIOException
            dup
         7: .line 387
            ldc "Only compression method 0 is defined in PNG 1.1"
         8: .line 386
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 389
      StackMap locals: com.sun.imageio.plugins.png.ChunkStream
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_compressionMethod:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        10: .line 390
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_filterMethod:I
            ifeq 14
        11: .line 391
            new javax.imageio.IIOException
            dup
        12: .line 392
            ldc "Only filter method 0 is defined in PNG 1.1"
        13: .line 391
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 394
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_filterMethod:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        15: .line 395
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_interlaceMethod:I
            iflt 17
        16: .line 396
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_interlaceMethod:I
            iconst_1
            if_icmple 20
        17: .line 397
      StackMap locals:
      StackMap stack:
            new javax.imageio.IIOException
            dup
        18: .line 398
            ldc "Only interlace methods 0 (node) and 1 (adam7) are defined in PNG 1.1"
        19: .line 397
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 400
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_interlaceMethod:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        21: .line 401
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        22: .line 402
            return
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            1   23     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException

  private void write_cHRM();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 405
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_present:Z
            ifeq 11
         1: .line 406
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1665684045
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 407
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_whitePointX:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         3: .line 408
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_whitePointY:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         4: .line 409
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_redX:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         5: .line 410
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_redY:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         6: .line 411
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_greenX:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         7: .line 412
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_greenY:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         8: .line 413
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_blueX:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         9: .line 414
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.cHRM_blueY:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
        10: .line 415
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
        11: .line 417
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2   11     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException

  private void write_gAMA();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 420
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.gAMA_present:Z
            ifeq 4
         1: .line 421
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1732332865
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 422
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.gAMA_gamma:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         3: .line 423
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         4: .line 425
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2    4     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException

  private void write_iCCP();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 428
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_present:Z
            ifeq 7
         1: .line 429
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1766015824
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 430
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_profileName:Ljava/lang/String;
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
         3: .line 431
            aload 1 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         4: .line 433
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_compressionMethod:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         5: .line 434
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iCCP_compressedProfile:[B
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
         6: .line 435
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         7: .line 437
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2    7     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException

  private void write_sBIT();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 440
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_present:Z
            ifeq 22
         1: .line 441
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1933723988
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 442
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            istore 2 /* colorType */
        start local 2 // int colorType
         3: .line 443
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_colorType:I
            iload 2 /* colorType */
            if_icmpeq 8
         4: .line 444
            aload 0 /* this */
            iconst_0
         5: .line 445
            ldc "sBIT metadata has wrong color type.\nThe chunk will not be written."
         6: .line 444
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processWarningOccurred:(ILjava/lang/String;)V
         7: .line 447
            return
         8: .line 450
      StackMap locals: com.sun.imageio.plugins.png.ChunkStream int
      StackMap stack:
            iload 2 /* colorType */
            ifeq 10
         9: .line 451
            iload 2 /* colorType */
            iconst_4
            if_icmpne 12
        10: .line 452
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_grayBits:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        11: .line 453
            goto 18
      StackMap locals:
      StackMap stack:
        12: iload 2 /* colorType */
            iconst_2
            if_icmpeq 15
        13: .line 454
            iload 2 /* colorType */
            iconst_3
            if_icmpeq 15
        14: .line 455
            iload 2 /* colorType */
            bipush 6
            if_icmpne 18
        15: .line 456
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_redBits:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        16: .line 457
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_greenBits:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        17: .line 458
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_blueBits:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        18: .line 461
      StackMap locals:
      StackMap stack:
            iload 2 /* colorType */
            iconst_4
            if_icmpeq 20
        19: .line 462
            iload 2 /* colorType */
            bipush 6
            if_icmpne 21
        20: .line 463
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sBIT_alphaBits:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        21: .line 465
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 2 // int colorType
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
        22: .line 467
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2   22     1         cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            3   22     2  colorType  I
    Exceptions:
      throws java.io.IOException

  private void write_sRGB();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 470
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sRGB_present:Z
            ifeq 4
         1: .line 471
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1934772034
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 472
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sRGB_renderingIntent:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         3: .line 473
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         4: .line 475
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2    4     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException

  private void write_PLTE();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 478
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_present:Z
            ifeq 20
         1: .line 479
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            ifeq 3
         2: .line 480
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            iconst_4
            if_icmpne 7
         3: .line 483
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
         4: .line 484
            ldc "A PLTE chunk may not appear in a gray or gray alpha image.\nThe chunk will not be written"
         5: .line 483
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processWarningOccurred:(ILjava/lang/String;)V
         6: .line 486
            return
         7: .line 489
      StackMap locals:
      StackMap stack:
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1347179589
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         8: .line 491
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
            arraylength
            istore 2 /* numEntries */
        start local 2 // int numEntries
         9: .line 492
            iload 2 /* numEntries */
            iconst_3
            imul
            newarray 8
            astore 3 /* palette */
        start local 3 // byte[] palette
        10: .line 493
            iconst_0
            istore 4 /* index */
        start local 4 // int index
        11: .line 494
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        12: goto 17
        13: .line 495
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter com.sun.imageio.plugins.png.ChunkStream int byte[] int int
      StackMap stack:
            aload 3 /* palette */
            iload 4 /* index */
            iinc 4 /* index */ 1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_red:[B
            iload 5 /* i */
            baload
            bastore
        14: .line 496
            aload 3 /* palette */
            iload 4 /* index */
            iinc 4 /* index */ 1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_green:[B
            iload 5 /* i */
            baload
            bastore
        15: .line 497
            aload 3 /* palette */
            iload 4 /* index */
            iinc 4 /* index */ 1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_blue:[B
            iload 5 /* i */
            baload
            bastore
        16: .line 494
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 5 /* i */
            iload 2 /* numEntries */
            if_icmplt 13
        end local 5 // int i
        18: .line 500
            aload 1 /* cs */
            aload 3 /* palette */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
        19: .line 501
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 4 // int index
        end local 3 // byte[] palette
        end local 2 // int numEntries
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
        20: .line 503
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            8   20     1          cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            9   20     2  numEntries  I
           10   20     3     palette  [B
           11   20     4       index  I
           12   18     5           i  I
    Exceptions:
      throws java.io.IOException

  private void write_hIST();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 506
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.hIST_present:Z
            ifeq 8
         1: .line 507
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1749635924
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 509
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_present:Z
            ifne 4
         3: .line 510
            new javax.imageio.IIOException
            dup
            ldc "hIST chunk without PLTE chunk!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 513
      StackMap locals: com.sun.imageio.plugins.png.ChunkStream
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.hIST_histogram:[C
         5: .line 514
            iconst_0
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.hIST_histogram:[C
            arraylength
         6: .line 513
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeChars:([CII)V
         7: .line 515
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         8: .line 517
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2    8     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException, javax.imageio.IIOException

  private void write_tRNS();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 520
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_present:Z
            ifeq 32
         1: .line 521
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1951551059
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 522
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            istore 2 /* colorType */
        start local 2 // int colorType
         3: .line 523
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_colorType:I
            istore 3 /* chunkType */
        start local 3 // int chunkType
         4: .line 527
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_red:I
            istore 4 /* chunkRed */
        start local 4 // int chunkRed
         5: .line 528
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_green:I
            istore 5 /* chunkGreen */
        start local 5 // int chunkGreen
         6: .line 529
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_blue:I
            istore 6 /* chunkBlue */
        start local 6 // int chunkBlue
         7: .line 530
            iload 2 /* colorType */
            iconst_2
            if_icmpne 12
         8: .line 531
            iload 3 /* chunkType */
            ifne 12
         9: .line 532
            iload 2 /* colorType */
            istore 3 /* chunkType */
        10: .line 534
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_gray:I
        11: .line 533
            dup
            istore 6 /* chunkBlue */
            dup
            istore 5 /* chunkGreen */
            istore 4 /* chunkRed */
        12: .line 537
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter com.sun.imageio.plugins.png.ChunkStream int int int int int
      StackMap stack:
            iload 3 /* chunkType */
            iload 2 /* colorType */
            if_icmpeq 17
        13: .line 538
            aload 0 /* this */
            iconst_0
        14: .line 539
            ldc "tRNS metadata has incompatible color type.\nThe chunk will not be written."
        15: .line 538
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processWarningOccurred:(ILjava/lang/String;)V
        16: .line 541
            return
        17: .line 544
      StackMap locals:
      StackMap stack:
            iload 2 /* colorType */
            iconst_3
            if_icmpne 22
        18: .line 545
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_present:Z
            ifne 20
        19: .line 546
            new javax.imageio.IIOException
            dup
            ldc "tRNS chunk without PLTE chunk!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 548
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_alpha:[B
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
        21: .line 549
            goto 31
      StackMap locals:
      StackMap stack:
        22: iload 2 /* colorType */
            ifne 25
        23: .line 550
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tRNS_gray:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        24: .line 551
            goto 31
      StackMap locals:
      StackMap stack:
        25: iload 2 /* colorType */
            iconst_2
            if_icmpne 30
        26: .line 552
            aload 1 /* cs */
            iload 4 /* chunkRed */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        27: .line 553
            aload 1 /* cs */
            iload 5 /* chunkGreen */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        28: .line 554
            aload 1 /* cs */
            iload 6 /* chunkBlue */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        29: .line 555
            goto 31
        30: .line 556
      StackMap locals:
      StackMap stack:
            new javax.imageio.IIOException
            dup
            ldc "tRNS chunk for color type 4 or 6!"
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 558
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 6 // int chunkBlue
        end local 5 // int chunkGreen
        end local 4 // int chunkRed
        end local 3 // int chunkType
        end local 2 // int colorType
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
        32: .line 560
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   33     0        this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2   32     1          cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            3   32     2   colorType  I
            4   32     3   chunkType  I
            5   32     4    chunkRed  I
            6   32     5  chunkGreen  I
            7   32     6   chunkBlue  I
    Exceptions:
      throws java.io.IOException, javax.imageio.IIOException

  private void write_bKGD();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 563
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_present:Z
            ifeq 28
         1: .line 564
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1649100612
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 565
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            iconst_3
            iand
            istore 2 /* colorType */
        start local 2 // int colorType
         3: .line 566
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_colorType:I
            istore 3 /* chunkType */
        start local 3 // int chunkType
         4: .line 570
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_red:I
            istore 4 /* chunkRed */
        start local 4 // int chunkRed
         5: .line 571
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_red:I
            istore 5 /* chunkGreen */
        start local 5 // int chunkGreen
         6: .line 572
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_red:I
            istore 6 /* chunkBlue */
        start local 6 // int chunkBlue
         7: .line 573
            iload 2 /* colorType */
            iconst_2
            if_icmpne 12
         8: .line 574
            iload 3 /* chunkType */
            ifne 12
         9: .line 576
            iload 2 /* colorType */
            istore 3 /* chunkType */
        10: .line 578
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_gray:I
        11: .line 577
            dup
            istore 6 /* chunkBlue */
            dup
            istore 5 /* chunkGreen */
            istore 4 /* chunkRed */
        12: .line 582
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter com.sun.imageio.plugins.png.ChunkStream int int int int int
      StackMap stack:
            iload 3 /* chunkType */
            iload 2 /* colorType */
            if_icmpeq 17
        13: .line 583
            aload 0 /* this */
            iconst_0
        14: .line 584
            ldc "bKGD metadata has incompatible color type.\nThe chunk will not be written."
        15: .line 583
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processWarningOccurred:(ILjava/lang/String;)V
        16: .line 586
            return
        17: .line 589
      StackMap locals:
      StackMap stack:
            iload 2 /* colorType */
            iconst_3
            if_icmpne 20
        18: .line 590
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_index:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        19: .line 591
            goto 27
      StackMap locals:
      StackMap stack:
        20: iload 2 /* colorType */
            ifeq 22
        21: .line 592
            iload 2 /* colorType */
            iconst_4
            if_icmpne 24
        22: .line 593
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.bKGD_gray:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        23: .line 594
            goto 27
        24: .line 596
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            iload 4 /* chunkRed */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        25: .line 597
            aload 1 /* cs */
            iload 5 /* chunkGreen */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        26: .line 598
            aload 1 /* cs */
            iload 6 /* chunkBlue */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        27: .line 600
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 6 // int chunkBlue
        end local 5 // int chunkGreen
        end local 4 // int chunkRed
        end local 3 // int chunkType
        end local 2 // int colorType
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
        28: .line 602
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   29     0        this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2   28     1          cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            3   28     2   colorType  I
            4   28     3   chunkType  I
            5   28     4    chunkRed  I
            6   28     5  chunkGreen  I
            7   28     6   chunkBlue  I
    Exceptions:
      throws java.io.IOException

  private void write_pHYs();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 605
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.pHYs_present:Z
            ifeq 6
         1: .line 606
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1883789683
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 607
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.pHYs_pixelsPerUnitXAxis:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         3: .line 608
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.pHYs_pixelsPerUnitYAxis:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeInt:(I)V
         4: .line 609
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.pHYs_unitSpecifier:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         5: .line 610
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         6: .line 612
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2    6     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException

  private void write_sPLT();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 615
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_present:Z
            ifeq 27
         1: .line 616
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1934642260
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 618
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_paletteName:Ljava/lang/String;
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
         3: .line 619
            aload 1 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         4: .line 621
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_sampleDepth:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         5: .line 622
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_red:[I
            arraylength
            istore 2 /* numEntries */
        start local 2 // int numEntries
         6: .line 624
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_sampleDepth:I
            bipush 8
            if_icmpne 17
         7: .line 625
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 15
         9: .line 626
      StackMap locals: com.sun.imageio.plugins.png.ChunkStream int int
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_red:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        10: .line 627
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_green:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        11: .line 628
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_blue:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        12: .line 629
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_alpha:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        13: .line 630
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_frequency:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        14: .line 625
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            iload 2 /* numEntries */
            if_icmplt 9
        end local 3 // int i
        16: .line 632
            goto 26
        17: .line 633
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        18: goto 25
        19: .line 634
      StackMap locals: int
      StackMap stack:
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_red:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        20: .line 635
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_green:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        21: .line 636
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_blue:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        22: .line 637
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_alpha:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        23: .line 638
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.sPLT_frequency:[I
            iload 3 /* i */
            iaload
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
        24: .line 633
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 3 /* i */
            iload 2 /* numEntries */
            if_icmplt 19
        end local 3 // int i
        26: .line 641
      StackMap locals:
      StackMap stack:
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 2 // int numEntries
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
        27: .line 643
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   28     0        this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2   27     1          cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            6   27     2  numEntries  I
            8   16     3           i  I
           18   26     3           i  I
    Exceptions:
      throws java.io.IOException

  private void write_tIME();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 646
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tIME_present:Z
            ifeq 9
         1: .line 647
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1950960965
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         2: .line 648
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tIME_year:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeShort:(I)V
         3: .line 649
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tIME_month:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         4: .line 650
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tIME_day:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         5: .line 651
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tIME_hour:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         6: .line 652
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tIME_minute:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         7: .line 653
            aload 1 /* cs */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tIME_second:I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         8: .line 654
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         9: .line 656
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            2    9     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException

  private void write_tEXt();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 659
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tEXt_keyword:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 1 /* keywordIter */
        start local 1 // java.util.Iterator keywordIter
         1: .line 660
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.tEXt_text:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2 /* textIter */
        start local 2 // java.util.Iterator textIter
         2: .line 662
            goto 10
         3: .line 663
      StackMap locals: java.util.Iterator java.util.Iterator
      StackMap stack:
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1950701684
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 3 /* cs */
        start local 3 // com.sun.imageio.plugins.png.ChunkStream cs
         4: .line 664
            aload 1 /* keywordIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* keyword */
        start local 4 // java.lang.String keyword
         5: .line 665
            aload 3 /* cs */
            aload 4 /* keyword */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
         6: .line 666
            aload 3 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         7: .line 668
            aload 2 /* textIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* text */
        start local 5 // java.lang.String text
         8: .line 669
            aload 3 /* cs */
            aload 5 /* text */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
         9: .line 670
            aload 3 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 5 // java.lang.String text
        end local 4 // java.lang.String keyword
        end local 3 // com.sun.imageio.plugins.png.ChunkStream cs
        10: .line 662
      StackMap locals:
      StackMap stack:
            aload 1 /* keywordIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        11: .line 672
            return
        end local 2 // java.util.Iterator textIter
        end local 1 // java.util.Iterator keywordIter
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            1   12     1  keywordIter  Ljava/util/Iterator;
            2   12     2     textIter  Ljava/util/Iterator;
            4   10     3           cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            5   10     4      keyword  Ljava/lang/String;
            8   10     5         text  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  private byte[] deflate(byte[]);
    descriptor: ([B)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // byte[] b
         0: .line 675
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 2 /* baos */
        start local 2 // java.io.ByteArrayOutputStream baos
         1: .line 676
            new java.util.zip.DeflaterOutputStream
            dup
            aload 2 /* baos */
            invokespecial java.util.zip.DeflaterOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 3 /* dos */
        start local 3 // java.util.zip.DeflaterOutputStream dos
         2: .line 677
            aload 3 /* dos */
            aload 1 /* b */
            invokevirtual java.util.zip.DeflaterOutputStream.write:([B)V
         3: .line 678
            aload 3 /* dos */
            invokevirtual java.util.zip.DeflaterOutputStream.close:()V
         4: .line 679
            aload 2 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            areturn
        end local 3 // java.util.zip.DeflaterOutputStream dos
        end local 2 // java.io.ByteArrayOutputStream baos
        end local 1 // byte[] b
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0    5     1     b  [B
            1    5     2  baos  Ljava/io/ByteArrayOutputStream;
            2    5     3   dos  Ljava/util/zip/DeflaterOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     

  private void write_iTXt();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 683
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_keyword:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 1 /* keywordIter */
        start local 1 // java.util.Iterator keywordIter
         1: .line 684
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_compressionFlag:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2 /* flagIter */
        start local 2 // java.util.Iterator flagIter
         2: .line 685
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_compressionMethod:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3 /* methodIter */
        start local 3 // java.util.Iterator methodIter
         3: .line 686
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_languageTag:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4 /* languageIter */
        start local 4 // java.util.Iterator languageIter
         4: .line 688
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_translatedKeyword:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
         5: .line 687
            astore 5 /* translatedKeywordIter */
        start local 5 // java.util.Iterator translatedKeywordIter
         6: .line 689
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.iTXt_text:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 6 /* textIter */
        start local 6 // java.util.Iterator textIter
         7: .line 691
            goto 26
         8: .line 692
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator
      StackMap stack:
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1767135348
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 7 /* cs */
        start local 7 // com.sun.imageio.plugins.png.ChunkStream cs
         9: .line 694
            aload 7 /* cs */
            aload 1 /* keywordIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
        10: .line 695
            aload 7 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        11: .line 697
            aload 2 /* flagIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 8 /* compressed */
        start local 8 // java.lang.Boolean compressed
        12: .line 698
            aload 7 /* cs */
            aload 8 /* compressed */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 13
            iconst_1
            goto 14
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator com.sun.imageio.plugins.png.ChunkStream java.lang.Boolean
      StackMap stack: com.sun.imageio.plugins.png.ChunkStream
        13: iconst_0
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator com.sun.imageio.plugins.png.ChunkStream java.lang.Boolean
      StackMap stack: com.sun.imageio.plugins.png.ChunkStream int
        14: invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        15: .line 700
            aload 7 /* cs */
            aload 3 /* methodIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        16: .line 702
            aload 7 /* cs */
            aload 4 /* languageIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
        17: .line 703
            aload 7 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        18: .line 706
            aload 7 /* cs */
            aload 5 /* translatedKeywordIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
        19: .line 707
            aload 7 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        20: .line 709
            aload 6 /* textIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* text */
        start local 9 // java.lang.String text
        21: .line 710
            aload 8 /* compressed */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 24
        22: .line 711
            aload 7 /* cs */
            aload 0 /* this */
            aload 9 /* text */
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.deflate:([B)[B
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
        23: .line 712
            goto 25
        24: .line 713
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* cs */
            aload 9 /* text */
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
        25: .line 715
      StackMap locals:
      StackMap stack:
            aload 7 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 9 // java.lang.String text
        end local 8 // java.lang.Boolean compressed
        end local 7 // com.sun.imageio.plugins.png.ChunkStream cs
        26: .line 691
      StackMap locals:
      StackMap stack:
            aload 1 /* keywordIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        27: .line 717
            return
        end local 6 // java.util.Iterator textIter
        end local 5 // java.util.Iterator translatedKeywordIter
        end local 4 // java.util.Iterator languageIter
        end local 3 // java.util.Iterator methodIter
        end local 2 // java.util.Iterator flagIter
        end local 1 // java.util.Iterator keywordIter
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   28     0                   this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            1   28     1            keywordIter  Ljava/util/Iterator<Ljava/lang/String;>;
            2   28     2               flagIter  Ljava/util/Iterator<Ljava/lang/Boolean;>;
            3   28     3             methodIter  Ljava/util/Iterator<Ljava/lang/Integer;>;
            4   28     4           languageIter  Ljava/util/Iterator<Ljava/lang/String;>;
            6   28     5  translatedKeywordIter  Ljava/util/Iterator<Ljava/lang/String;>;
            7   28     6               textIter  Ljava/util/Iterator<Ljava/lang/String;>;
            9   26     7                     cs  Lcom/sun/imageio/plugins/png/ChunkStream;
           12   26     8             compressed  Ljava/lang/Boolean;
           21   26     9                   text  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  private void write_zTXt();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 720
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.zTXt_keyword:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 1 /* keywordIter */
        start local 1 // java.util.Iterator keywordIter
         1: .line 721
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.zTXt_compressionMethod:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2 /* methodIter */
        start local 2 // java.util.Iterator methodIter
         2: .line 722
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.zTXt_text:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 3 /* textIter */
        start local 3 // java.util.Iterator textIter
         3: .line 724
            goto 13
         4: .line 725
      StackMap locals: java.util.Iterator java.util.Iterator java.util.Iterator
      StackMap stack:
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 2052348020
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 4 /* cs */
        start local 4 // com.sun.imageio.plugins.png.ChunkStream cs
         5: .line 726
            aload 1 /* keywordIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* keyword */
        start local 5 // java.lang.String keyword
         6: .line 727
            aload 4 /* cs */
            aload 5 /* keyword */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeBytes:(Ljava/lang/String;)V
         7: .line 728
            aload 4 /* cs */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
         8: .line 730
            aload 2 /* methodIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 6 /* compressionMethod */
        start local 6 // int compressionMethod
         9: .line 731
            aload 4 /* cs */
            iload 6 /* compressionMethod */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.writeByte:(I)V
        10: .line 733
            aload 3 /* textIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* text */
        start local 7 // java.lang.String text
        11: .line 734
            aload 4 /* cs */
            aload 0 /* this */
            aload 7 /* text */
            ldc "ISO-8859-1"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.deflate:([B)[B
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
        12: .line 735
            aload 4 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 7 // java.lang.String text
        end local 6 // int compressionMethod
        end local 5 // java.lang.String keyword
        end local 4 // com.sun.imageio.plugins.png.ChunkStream cs
        13: .line 724
      StackMap locals:
      StackMap stack:
            aload 1 /* keywordIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        14: .line 737
            return
        end local 3 // java.util.Iterator textIter
        end local 2 // java.util.Iterator methodIter
        end local 1 // java.util.Iterator keywordIter
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            1   15     1        keywordIter  Ljava/util/Iterator;
            2   15     2         methodIter  Ljava/util/Iterator;
            3   15     3           textIter  Ljava/util/Iterator;
            5   13     4                 cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            6   13     5            keyword  Ljava/lang/String;
            9   13     6  compressionMethod  I
           11   13     7               text  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  private void writeUnknownChunks();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 740
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.unknownChunkType:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 1 /* typeIter */
        start local 1 // java.util.Iterator typeIter
         1: .line 741
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.unknownChunkData:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2 /* dataIter */
        start local 2 // java.util.Iterator dataIter
         2: .line 743
            goto 8
         3: .line 744
      StackMap locals: java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 1 /* typeIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* type */
        start local 3 // java.lang.String type
         4: .line 745
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            aload 3 /* type */
            invokestatic com.sun.imageio.plugins.png.PNGImageWriter.chunkType:(Ljava/lang/String;)I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 4 /* cs */
        start local 4 // com.sun.imageio.plugins.png.ChunkStream cs
         5: .line 746
            aload 2 /* dataIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            astore 5 /* data */
        start local 5 // byte[] data
         6: .line 747
            aload 4 /* cs */
            aload 5 /* data */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.write:([B)V
         7: .line 748
            aload 4 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
        end local 5 // byte[] data
        end local 4 // com.sun.imageio.plugins.png.ChunkStream cs
        end local 3 // java.lang.String type
         8: .line 743
      StackMap locals:
      StackMap stack:
            aload 1 /* typeIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 9
            aload 2 /* dataIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 750
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Iterator dataIter
        end local 1 // java.util.Iterator typeIter
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            1   10     1  typeIter  Ljava/util/Iterator;
            2   10     2  dataIter  Ljava/util/Iterator;
            4    8     3      type  Ljava/lang/String;
            5    8     4        cs  Lcom/sun/imageio/plugins/png/ChunkStream;
            6    8     5      data  [B
    Exceptions:
      throws java.io.IOException

  private static int chunkType(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // java.lang.String typeString
         0: .line 753
            aload 0 /* typeString */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* c0 */
        start local 1 // char c0
         1: .line 754
            aload 0 /* typeString */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* c1 */
        start local 2 // char c1
         2: .line 755
            aload 0 /* typeString */
            iconst_2
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c2 */
        start local 3 // char c2
         3: .line 756
            aload 0 /* typeString */
            iconst_3
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c3 */
        start local 4 // char c3
         4: .line 758
            iload 1 /* c0 */
            bipush 24
            ishl
            iload 2 /* c1 */
            bipush 16
            ishl
            ior
            iload 3 /* c2 */
            bipush 8
            ishl
            ior
            iload 4 /* c3 */
            ior
            istore 5 /* type */
        start local 5 // int type
         5: .line 759
            iload 5 /* type */
            ireturn
        end local 5 // int type
        end local 4 // char c3
        end local 3 // char c2
        end local 2 // char c1
        end local 1 // char c0
        end local 0 // java.lang.String typeString
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0  typeString  Ljava/lang/String;
            1    6     1          c0  C
            2    6     2          c1  C
            3    6     3          c2  C
            4    6     4          c3  C
            5    6     5        type  I
    MethodParameters:
            Name  Flags
      typeString  

  private void encodePass(javax.imageio.stream.ImageOutputStream, java.awt.image.RenderedImage, int, int, int, int);
    descriptor: (Ljavax/imageio/stream/ImageOutputStream;Ljava/awt/image/RenderedImage;IIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=29, args_size=7
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // javax.imageio.stream.ImageOutputStream os
        start local 2 // java.awt.image.RenderedImage image
        start local 3 // int xOffset
        start local 4 // int yOffset
        start local 5 // int xSkip
        start local 6 // int ySkip
         0: .line 766
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceXOffset:I
            istore 7 /* minX */
        start local 7 // int minX
         1: .line 767
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceYOffset:I
            istore 8 /* minY */
        start local 8 // int minY
         2: .line 768
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceWidth:I
            istore 9 /* width */
        start local 9 // int width
         3: .line 769
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceHeight:I
            istore 10 /* height */
        start local 10 // int height
         4: .line 772
            iload 3 /* xOffset */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
            imul
            istore 3 /* xOffset */
         5: .line 773
            iload 5 /* xSkip */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
            imul
            istore 5 /* xSkip */
         6: .line 774
            iload 4 /* yOffset */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
            imul
            istore 4 /* yOffset */
         7: .line 775
            iload 6 /* ySkip */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
            imul
            istore 6 /* ySkip */
         8: .line 778
            iload 9 /* width */
            iload 3 /* xOffset */
            isub
            iload 5 /* xSkip */
            iadd
            iconst_1
            isub
            iload 5 /* xSkip */
            idiv
            istore 11 /* hpixels */
        start local 11 // int hpixels
         9: .line 779
            iload 10 /* height */
            iload 4 /* yOffset */
            isub
            iload 6 /* ySkip */
            iadd
            iconst_1
            isub
            iload 6 /* ySkip */
            idiv
            istore 12 /* vpixels */
        start local 12 // int vpixels
        10: .line 780
            iload 11 /* hpixels */
            ifeq 11
            iload 12 /* vpixels */
            ifne 12
        11: .line 781
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int
      StackMap stack:
            return
        12: .line 785
      StackMap locals:
      StackMap stack:
            iload 3 /* xOffset */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            imul
            istore 3 /* xOffset */
        13: .line 786
            iload 5 /* xSkip */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            imul
            istore 5 /* xSkip */
        14: .line 789
            bipush 8
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            idiv
            istore 13 /* samplesPerByte */
        start local 13 // int samplesPerByte
        15: .line 790
            iload 9 /* width */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            imul
            istore 14 /* numSamples */
        start local 14 // int numSamples
        16: .line 791
            iload 14 /* numSamples */
            newarray 10
            astore 15 /* samples */
        start local 15 // int[] samples
        17: .line 793
            iload 11 /* hpixels */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            imul
            istore 16 /* bytesPerRow */
        start local 16 // int bytesPerRow
        18: .line 794
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            bipush 8
            if_icmpge 21
        19: .line 795
            iload 16 /* bytesPerRow */
            iload 13 /* samplesPerByte */
            iadd
            iconst_1
            isub
            iload 13 /* samplesPerByte */
            idiv
            istore 16 /* bytesPerRow */
        20: .line 796
            goto 23
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int int int int[] int
      StackMap stack:
        21: aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            bipush 16
            if_icmpne 23
        22: .line 797
            iload 16 /* bytesPerRow */
            iconst_2
            imul
            istore 16 /* bytesPerRow */
        23: .line 800
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 17 /* icm_gray_alpha */
        start local 17 // java.awt.image.IndexColorModel icm_gray_alpha
        24: .line 801
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
            iconst_4
            if_icmpne 28
        25: .line 802
            aload 2 /* image */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            instanceof java.awt.image.IndexColorModel
            ifeq 28
        26: .line 805
            iload 16 /* bytesPerRow */
            iconst_2
            imul
            istore 16 /* bytesPerRow */
        27: .line 808
            aload 2 /* image */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            checkcast java.awt.image.IndexColorModel
            astore 17 /* icm_gray_alpha */
        28: .line 811
      StackMap locals: java.awt.image.IndexColorModel
      StackMap stack:
            aload 0 /* this */
            iload 16 /* bytesPerRow */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.bpp:I
            iadd
            newarray 8
            putfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
        29: .line 812
            aload 0 /* this */
            iload 16 /* bytesPerRow */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.bpp:I
            iadd
            newarray 8
            putfield com.sun.imageio.plugins.png.PNGImageWriter.prevRow:[B
        30: .line 813
            aload 0 /* this */
            iconst_5
            iload 16 /* bytesPerRow */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.bpp:I
            iadd
            multianewarray [[B 2
            putfield com.sun.imageio.plugins.png.PNGImageWriter.filteredRows:[[B
        31: .line 815
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            istore 18 /* bitDepth */
        start local 18 // int bitDepth
        32: .line 816
            iload 8 /* minY */
            iload 4 /* yOffset */
            iadd
            istore 19 /* row */
        start local 19 // int row
        33: goto 124
        34: .line 817
      StackMap locals: int int
      StackMap stack:
            new java.awt.Rectangle
            dup
            iload 7 /* minX */
            iload 19 /* row */
            iload 9 /* width */
            iconst_1
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 20 /* rect */
        start local 20 // java.awt.Rectangle rect
        35: .line 818
            aload 2 /* image */
            aload 20 /* rect */
            invokeinterface java.awt.image.RenderedImage.getData:(Ljava/awt/Rectangle;)Ljava/awt/image/Raster;
            astore 21 /* ras */
        start local 21 // java.awt.image.Raster ras
        36: .line 819
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceBands:[I
            ifnull 40
        37: .line 820
            aload 21 /* ras */
            iload 7 /* minX */
            iload 19 /* row */
            iload 9 /* width */
            iconst_1
            iload 7 /* minX */
            iload 19 /* row */
        38: .line 821
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceBands:[I
        39: .line 820
            invokevirtual java.awt.image.Raster.createChild:(IIIIII[I)Ljava/awt/image/Raster;
            astore 21 /* ras */
        40: .line 824
      StackMap locals: java.awt.Rectangle java.awt.image.Raster
      StackMap stack:
            aload 21 /* ras */
            iload 7 /* minX */
            iload 19 /* row */
            iload 9 /* width */
            iconst_1
            aload 15 /* samples */
            invokevirtual java.awt.image.Raster.getPixels:(IIII[I)[I
            pop
        41: .line 826
            aload 2 /* image */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            invokevirtual java.awt.image.ColorModel.isAlphaPremultiplied:()Z
            ifeq 52
        42: .line 827
            aload 21 /* ras */
            invokevirtual java.awt.image.Raster.createCompatibleWritableRaster:()Ljava/awt/image/WritableRaster;
            astore 22 /* wr */
        start local 22 // java.awt.image.WritableRaster wr
        43: .line 828
            aload 22 /* wr */
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getMinX:()I
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getMinY:()I
        44: .line 829
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getWidth:()I
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getHeight:()I
        45: .line 830
            aload 15 /* samples */
        46: .line 828
            invokevirtual java.awt.image.WritableRaster.setPixels:(IIII[I)V
        47: .line 832
            aload 2 /* image */
            invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
            aload 22 /* wr */
            iconst_0
            invokevirtual java.awt.image.ColorModel.coerceData:(Ljava/awt/image/WritableRaster;Z)Ljava/awt/image/ColorModel;
            pop
        48: .line 833
            aload 22 /* wr */
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getMinX:()I
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getMinY:()I
        49: .line 834
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getWidth:()I
            aload 22 /* wr */
            invokevirtual java.awt.image.WritableRaster.getHeight:()I
        50: .line 835
            aload 15 /* samples */
        51: .line 833
            invokevirtual java.awt.image.WritableRaster.getPixels:(IIII[I)[I
            pop
        end local 22 // java.awt.image.WritableRaster wr
        52: .line 839
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.PLTE_order:[I
            astore 22 /* paletteOrder */
        start local 22 // int[] paletteOrder
        53: .line 840
            aload 22 /* paletteOrder */
            ifnull 59
        54: .line 841
            iconst_0
            istore 23 /* i */
        start local 23 // int i
        55: goto 58
        56: .line 842
      StackMap locals: int[] int
      StackMap stack:
            aload 15 /* samples */
            iload 23 /* i */
            aload 22 /* paletteOrder */
            aload 15 /* samples */
            iload 23 /* i */
            iaload
            iaload
            iastore
        57: .line 841
            iinc 23 /* i */ 1
      StackMap locals:
      StackMap stack:
        58: iload 23 /* i */
            iload 14 /* numSamples */
            if_icmplt 56
        end local 23 // int i
        59: .line 846
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.bpp:I
            istore 23 /* count */
        start local 23 // int count
        60: .line 847
            iconst_0
            istore 24 /* pos */
        start local 24 // int pos
        61: .line 848
            iconst_0
            istore 25 /* tmp */
        start local 25 // int tmp
        62: .line 850
            iload 18 /* bitDepth */
            lookupswitch { // 5
                    1: 63
                    2: 63
                    4: 63
                    8: 78
                   16: 99
              default: 109
          }
        63: .line 854
      StackMap locals: int int int
      StackMap stack:
            iload 13 /* samplesPerByte */
            iconst_1
            isub
            istore 26 /* mask */
        start local 26 // int mask
        64: .line 855
            iload 3 /* xOffset */
            istore 27 /* s */
        start local 27 // int s
        65: goto 73
        66: .line 856
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scale0:[B
            aload 15 /* samples */
            iload 27 /* s */
            iaload
            baload
            istore 28 /* val */
        start local 28 // byte val
        67: .line 857
            iload 25 /* tmp */
            iload 18 /* bitDepth */
            ishl
            iload 28 /* val */
            ior
            istore 25 /* tmp */
        68: .line 859
            iload 24 /* pos */
            iinc 24 /* pos */ 1
            iload 26 /* mask */
            iand
            iload 26 /* mask */
            if_icmpne 72
        69: .line 860
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            iload 23 /* count */
            iinc 23 /* count */ 1
            iload 25 /* tmp */
            i2b
            bastore
        70: .line 861
            iconst_0
            istore 25 /* tmp */
        71: .line 862
            iconst_0
            istore 24 /* pos */
        end local 28 // byte val
        72: .line 855
      StackMap locals:
      StackMap stack:
            iload 27 /* s */
            iload 5 /* xSkip */
            iadd
            istore 27 /* s */
      StackMap locals:
      StackMap stack:
        73: iload 27 /* s */
            iload 14 /* numSamples */
            if_icmplt 66
        end local 27 // int s
        74: .line 867
            iload 24 /* pos */
            iload 26 /* mask */
            iand
            ifeq 109
        75: .line 868
            iload 25 /* tmp */
            bipush 8
            iload 18 /* bitDepth */
            idiv
            iload 24 /* pos */
            isub
            iload 18 /* bitDepth */
            imul
            ishl
            istore 25 /* tmp */
        76: .line 869
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            iload 23 /* count */
            iinc 23 /* count */ 1
            iload 25 /* tmp */
            i2b
            bastore
        77: .line 871
            goto 109
        end local 26 // int mask
        78: .line 874
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            iconst_1
            if_icmpne 89
        79: .line 875
            iload 3 /* xOffset */
            istore 27 /* s */
        start local 27 // int s
        80: goto 87
        81: .line 876
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int int int int[] int java.awt.image.IndexColorModel int int java.awt.Rectangle java.awt.image.Raster int[] int int int top int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            iload 23 /* count */
            iinc 23 /* count */ 1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scale0:[B
            aload 15 /* samples */
            iload 27 /* s */
            iaload
            baload
            bastore
        82: .line 877
            aload 17 /* icm_gray_alpha */
            ifnull 86
        83: .line 878
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            iload 23 /* count */
            iinc 23 /* count */ 1
        84: .line 879
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scale0:[B
            aload 17 /* icm_gray_alpha */
            sipush 255
            aload 15 /* samples */
            iload 27 /* s */
            iaload
            iand
            invokevirtual java.awt.image.IndexColorModel.getAlpha:(I)I
            baload
        85: .line 878
            bastore
        86: .line 875
      StackMap locals:
      StackMap stack:
            iload 27 /* s */
            iload 5 /* xSkip */
            iadd
            istore 27 /* s */
      StackMap locals:
      StackMap stack:
        87: iload 27 /* s */
            iload 14 /* numSamples */
            if_icmplt 81
        end local 27 // int s
        88: .line 882
            goto 109
        89: .line 883
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int int int int[] int java.awt.image.IndexColorModel int int java.awt.Rectangle java.awt.image.Raster int[] int int int
      StackMap stack:
            iload 3 /* xOffset */
            istore 27 /* s */
        start local 27 // int s
        90: goto 97
        91: .line 884
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int int int int[] int java.awt.image.IndexColorModel int int java.awt.Rectangle java.awt.image.Raster int[] int int int top int
      StackMap stack:
            iconst_0
            istore 28 /* b */
        start local 28 // int b
        92: goto 95
        93: .line 885
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            iload 23 /* count */
            iinc 23 /* count */ 1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scale:[[B
            iload 28 /* b */
            aaload
            aload 15 /* samples */
            iload 27 /* s */
            iload 28 /* b */
            iadd
            iaload
            baload
            bastore
        94: .line 884
            iinc 28 /* b */ 1
      StackMap locals:
      StackMap stack:
        95: iload 28 /* b */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            if_icmplt 93
        end local 28 // int b
        96: .line 883
            iload 27 /* s */
            iload 5 /* xSkip */
            iadd
            istore 27 /* s */
      StackMap locals:
      StackMap stack:
        97: iload 27 /* s */
            iload 14 /* numSamples */
            if_icmplt 91
        end local 27 // int s
        98: .line 889
            goto 109
        99: .line 892
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int int int int[] int java.awt.image.IndexColorModel int int java.awt.Rectangle java.awt.image.Raster int[] int int int
      StackMap stack:
            iload 3 /* xOffset */
            istore 27 /* s */
        start local 27 // int s
       100: goto 108
       101: .line 893
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int int int int[] int java.awt.image.IndexColorModel int int java.awt.Rectangle java.awt.image.Raster int[] int int int top int
      StackMap stack:
            iconst_0
            istore 28 /* b */
        start local 28 // int b
       102: goto 106
       103: .line 894
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            iload 23 /* count */
            iinc 23 /* count */ 1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scaleh:[[B
            iload 28 /* b */
            aaload
            aload 15 /* samples */
            iload 27 /* s */
            iload 28 /* b */
            iadd
            iaload
            baload
            bastore
       104: .line 895
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            iload 23 /* count */
            iinc 23 /* count */ 1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scalel:[[B
            iload 28 /* b */
            aaload
            aload 15 /* samples */
            iload 27 /* s */
            iload 28 /* b */
            iadd
            iaload
            baload
            bastore
       105: .line 893
            iinc 28 /* b */ 1
      StackMap locals:
      StackMap stack:
       106: iload 28 /* b */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            if_icmplt 103
        end local 28 // int b
       107: .line 892
            iload 27 /* s */
            iload 5 /* xSkip */
            iadd
            istore 27 /* s */
      StackMap locals:
      StackMap stack:
       108: iload 27 /* s */
            iload 14 /* numSamples */
            if_icmplt 101
        end local 27 // int s
       109: .line 902
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int int int int[] int java.awt.image.IndexColorModel int int java.awt.Rectangle java.awt.image.Raster int[] int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.rowFilter:Lcom/sun/imageio/plugins/png/RowFilter;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_colorType:I
       110: .line 903
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.prevRow:[B
       111: .line 904
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.filteredRows:[[B
       112: .line 905
            iload 16 /* bytesPerRow */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.bpp:I
       113: .line 902
            invokevirtual com.sun.imageio.plugins.png.RowFilter.filterRow:(I[B[B[[BII)I
            istore 26 /* filterType */
        start local 26 // int filterType
       114: .line 907
            aload 1 /* os */
            iload 26 /* filterType */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:(I)V
       115: .line 908
            aload 1 /* os */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.filteredRows:[[B
            iload 26 /* filterType */
            aaload
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.bpp:I
            iload 16 /* bytesPerRow */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
       116: .line 911
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
            astore 27 /* swap */
        start local 27 // byte[] swap
       117: .line 912
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.prevRow:[B
            putfield com.sun.imageio.plugins.png.PNGImageWriter.currRow:[B
       118: .line 913
            aload 0 /* this */
            aload 27 /* swap */
            putfield com.sun.imageio.plugins.png.PNGImageWriter.prevRow:[B
       119: .line 915
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.png.PNGImageWriter.pixelsDone:I
            iload 11 /* hpixels */
            iadd
            putfield com.sun.imageio.plugins.png.PNGImageWriter.pixelsDone:I
       120: .line 916
            aload 0 /* this */
            ldc 100.0
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.pixelsDone:I
            i2f
            fmul
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.totalPixels:I
            i2f
            fdiv
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processImageProgress:(F)V
       121: .line 920
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.abortRequested:()Z
            ifeq 123
       122: .line 921
            return
        end local 27 // byte[] swap
        end local 26 // int filterType
        end local 25 // int tmp
        end local 24 // int pos
        end local 23 // int count
        end local 22 // int[] paletteOrder
        end local 21 // java.awt.image.Raster ras
        end local 20 // java.awt.Rectangle rect
       123: .line 816
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.stream.ImageOutputStream java.awt.image.RenderedImage int int int int int int int int int int int int int[] int java.awt.image.IndexColorModel int int
      StackMap stack:
            iload 19 /* row */
            iload 6 /* ySkip */
            iadd
            istore 19 /* row */
      StackMap locals:
      StackMap stack:
       124: iload 19 /* row */
            iload 8 /* minY */
            iload 10 /* height */
            iadd
            if_icmplt 34
        end local 19 // int row
       125: .line 924
            return
        end local 18 // int bitDepth
        end local 17 // java.awt.image.IndexColorModel icm_gray_alpha
        end local 16 // int bytesPerRow
        end local 15 // int[] samples
        end local 14 // int numSamples
        end local 13 // int samplesPerByte
        end local 12 // int vpixels
        end local 11 // int hpixels
        end local 10 // int height
        end local 9 // int width
        end local 8 // int minY
        end local 7 // int minX
        end local 6 // int ySkip
        end local 5 // int xSkip
        end local 4 // int yOffset
        end local 3 // int xOffset
        end local 2 // java.awt.image.RenderedImage image
        end local 1 // javax.imageio.stream.ImageOutputStream os
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  126     0            this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0  126     1              os  Ljavax/imageio/stream/ImageOutputStream;
            0  126     2           image  Ljava/awt/image/RenderedImage;
            0  126     3         xOffset  I
            0  126     4         yOffset  I
            0  126     5           xSkip  I
            0  126     6           ySkip  I
            1  126     7            minX  I
            2  126     8            minY  I
            3  126     9           width  I
            4  126    10          height  I
            9  126    11         hpixels  I
           10  126    12         vpixels  I
           15  126    13  samplesPerByte  I
           16  126    14      numSamples  I
           17  126    15         samples  [I
           18  126    16     bytesPerRow  I
           24  126    17  icm_gray_alpha  Ljava/awt/image/IndexColorModel;
           32  126    18        bitDepth  I
           33  125    19             row  I
           35  123    20            rect  Ljava/awt/Rectangle;
           36  123    21             ras  Ljava/awt/image/Raster;
           43   52    22              wr  Ljava/awt/image/WritableRaster;
           53  123    22    paletteOrder  [I
           55   59    23               i  I
           60  123    23           count  I
           61  123    24             pos  I
           62  123    25             tmp  I
           64   78    26            mask  I
           65   74    27               s  I
           67   72    28             val  B
           80   88    27               s  I
           90   98    27               s  I
           92   96    28               b  I
          100  109    27               s  I
          102  107    28               b  I
          114  123    26      filterType  I
          117  123    27            swap  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      os       
      image    
      xOffset  
      yOffset  
      xSkip    
      ySkip    

  private void write_IDAT(java.awt.image.RenderedImage);
    descriptor: (Ljava/awt/image/RenderedImage;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=5, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // java.awt.image.RenderedImage image
         0: .line 928
            new com.sun.imageio.plugins.png.IDATOutputStream
            dup
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            ldc 32768
            invokespecial com.sun.imageio.plugins.png.IDATOutputStream.<init>:(Ljavax/imageio/stream/ImageOutputStream;I)V
            astore 2 /* ios */
        start local 2 // com.sun.imageio.plugins.png.IDATOutputStream ios
         1: .line 930
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_interlaceMethod:I
            iconst_1
            if_icmpne 15
         2: .line 931
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 13
         4: .line 932
      StackMap locals: com.sun.imageio.plugins.png.IDATOutputStream int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* ios */
            aload 1 /* image */
         5: .line 933
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7XOffset:[I
            iload 3 /* i */
            iaload
         6: .line 934
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7YOffset:[I
            iload 3 /* i */
            iaload
         7: .line 935
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7XSubsampling:[I
            iload 3 /* i */
            iaload
         8: .line 936
            getstatic com.sun.imageio.plugins.png.PNGImageReader.adam7YSubsampling:[I
            iload 3 /* i */
            iaload
         9: .line 932
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.encodePass:(Ljavax/imageio/stream/ImageOutputStream;Ljava/awt/image/RenderedImage;IIII)V
        10: .line 937
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.abortRequested:()Z
            ifeq 12
        11: .line 938
            goto 20
        12: .line 931
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            bipush 7
            if_icmplt 4
        end local 3 // int i
        14: .line 941
            goto 20
        15: .line 942
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* ios */
            aload 1 /* image */
            iconst_0
            iconst_0
            iconst_1
            iconst_1
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.encodePass:(Ljavax/imageio/stream/ImageOutputStream;Ljava/awt/image/RenderedImage;IIII)V
        16: .line 944
            goto 20
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 4
        18: .line 945
            aload 2 /* ios */
            invokevirtual com.sun.imageio.plugins.png.IDATOutputStream.finish:()V
        19: .line 946
            aload 4
            athrow
        20: .line 945
      StackMap locals:
      StackMap stack:
            aload 2 /* ios */
            invokevirtual com.sun.imageio.plugins.png.IDATOutputStream.finish:()V
        21: .line 947
            return
        end local 2 // com.sun.imageio.plugins.png.IDATOutputStream ios
        end local 1 // java.awt.image.RenderedImage image
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   22     0   this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0   22     1  image  Ljava/awt/image/RenderedImage;
            1   22     2    ios  Lcom/sun/imageio/plugins/png/IDATOutputStream;
            3   14     3      i  I
      Exception table:
        from    to  target  type
           1    17      17  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      image  

  private void writeIEND();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
         0: .line 950
            new com.sun.imageio.plugins.png.ChunkStream
            dup
            ldc 1229278788
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            invokespecial com.sun.imageio.plugins.png.ChunkStream.<init>:(ILjavax/imageio/stream/ImageOutputStream;)V
            astore 1 /* cs */
        start local 1 // com.sun.imageio.plugins.png.ChunkStream cs
         1: .line 951
            aload 1 /* cs */
            invokevirtual com.sun.imageio.plugins.png.ChunkStream.finish:()V
         2: .line 952
            return
        end local 1 // com.sun.imageio.plugins.png.ChunkStream cs
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            1    3     1    cs  Lcom/sun/imageio/plugins/png/ChunkStream;
    Exceptions:
      throws java.io.IOException

  private boolean equals(int[], int[]);
    descriptor: ([I[I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // int[] s0
        start local 2 // int[] s1
         0: .line 957
            aload 1 /* s0 */
            ifnull 1
            aload 2 /* s1 */
            ifnonnull 2
         1: .line 958
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 960
      StackMap locals:
      StackMap stack:
            aload 1 /* s0 */
            arraylength
            aload 2 /* s1 */
            arraylength
            if_icmpeq 4
         3: .line 961
            iconst_0
            ireturn
         4: .line 963
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 9
         6: .line 964
      StackMap locals: int
      StackMap stack:
            aload 1 /* s0 */
            iload 3 /* i */
            iaload
            aload 2 /* s1 */
            iload 3 /* i */
            iaload
            if_icmpeq 8
         7: .line 965
            iconst_0
            ireturn
         8: .line 963
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 1 /* s0 */
            arraylength
            if_icmplt 6
        end local 3 // int i
        10: .line 968
            iconst_1
            ireturn
        end local 2 // int[] s1
        end local 1 // int[] s0
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0   11     1    s0  [I
            0   11     2    s1  [I
            5   10     3     i  I
    MethodParameters:
      Name  Flags
      s0    
      s1    

  private void initializeScaleTables(int[]);
    descriptor: ([I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
        start local 1 // int[] sampleSize
         0: .line 975
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            istore 2 /* bitDepth */
        start local 2 // int bitDepth
         1: .line 978
            iload 2 /* bitDepth */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scalingBitDepth:I
            if_icmpne 4
         2: .line 979
            aload 0 /* this */
            aload 1 /* sampleSize */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sampleSize:[I
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.equals:([I[I)Z
            ifeq 4
         3: .line 980
            return
         4: .line 984
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sampleSize */
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sampleSize:[I
         5: .line 985
            aload 0 /* this */
            iload 2 /* bitDepth */
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scalingBitDepth:I
         6: .line 986
            iconst_1
            iload 2 /* bitDepth */
            ishl
            iconst_1
            isub
            istore 3 /* maxOutSample */
        start local 3 // int maxOutSample
         7: .line 987
            iload 2 /* bitDepth */
            bipush 8
            if_icmpgt 26
         8: .line 988
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            anewarray byte[]
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scale:[[B
         9: .line 989
            iconst_0
            istore 4 /* b */
        start local 4 // int b
        10: goto 22
        11: .line 990
      StackMap locals: int int
      StackMap stack:
            iconst_1
            aload 1 /* sampleSize */
            iload 4 /* b */
            iaload
            ishl
            iconst_1
            isub
            istore 5 /* maxInSample */
        start local 5 // int maxInSample
        12: .line 991
            iload 5 /* maxInSample */
            iconst_2
            idiv
            istore 6 /* halfMaxInSample */
        start local 6 // int halfMaxInSample
        13: .line 992
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scale:[[B
            iload 4 /* b */
            iload 5 /* maxInSample */
            iconst_1
            iadd
            newarray 8
            aastore
        14: .line 993
            iconst_0
            istore 7 /* s */
        start local 7 // int s
        15: goto 20
        16: .line 994
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scale:[[B
            iload 4 /* b */
            aaload
            iload 7 /* s */
        17: .line 995
            iload 7 /* s */
            iload 3 /* maxOutSample */
            imul
            iload 6 /* halfMaxInSample */
            iadd
            iload 5 /* maxInSample */
            idiv
            i2b
        18: .line 994
            bastore
        19: .line 993
            iinc 7 /* s */ 1
      StackMap locals:
      StackMap stack:
        20: iload 7 /* s */
            iload 5 /* maxInSample */
            if_icmple 16
        end local 7 // int s
        end local 6 // int halfMaxInSample
        end local 5 // int maxInSample
        21: .line 989
            iinc 4 /* b */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* b */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            if_icmplt 11
        end local 4 // int b
        23: .line 998
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scale:[[B
            iconst_0
            aaload
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scale0:[B
        24: .line 999
            aload 0 /* this */
            aload 0 /* this */
            aconst_null
            dup_x1
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scalel:[[B
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scaleh:[[B
        25: .line 1000
            goto 45
        26: .line 1002
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            anewarray byte[]
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scaleh:[[B
        27: .line 1003
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            anewarray byte[]
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scalel:[[B
        28: .line 1005
            iconst_0
            istore 4 /* b */
        start local 4 // int b
        29: goto 42
        30: .line 1006
      StackMap locals: int
      StackMap stack:
            iconst_1
            aload 1 /* sampleSize */
            iload 4 /* b */
            iaload
            ishl
            iconst_1
            isub
            istore 5 /* maxInSample */
        start local 5 // int maxInSample
        31: .line 1007
            iload 5 /* maxInSample */
            iconst_2
            idiv
            istore 6 /* halfMaxInSample */
        start local 6 // int halfMaxInSample
        32: .line 1008
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scaleh:[[B
            iload 4 /* b */
            iload 5 /* maxInSample */
            iconst_1
            iadd
            newarray 8
            aastore
        33: .line 1009
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scalel:[[B
            iload 4 /* b */
            iload 5 /* maxInSample */
            iconst_1
            iadd
            newarray 8
            aastore
        34: .line 1010
            iconst_0
            istore 7 /* s */
        start local 7 // int s
        35: goto 40
        36: .line 1011
      StackMap locals: int int int
      StackMap stack:
            iload 7 /* s */
            iload 3 /* maxOutSample */
            imul
            iload 6 /* halfMaxInSample */
            iadd
            iload 5 /* maxInSample */
            idiv
            istore 8 /* val */
        start local 8 // int val
        37: .line 1012
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scaleh:[[B
            iload 4 /* b */
            aaload
            iload 7 /* s */
            iload 8 /* val */
            bipush 8
            ishr
            i2b
            bastore
        38: .line 1013
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.scalel:[[B
            iload 4 /* b */
            aaload
            iload 7 /* s */
            iload 8 /* val */
            sipush 255
            iand
            i2b
            bastore
        end local 8 // int val
        39: .line 1010
            iinc 7 /* s */ 1
      StackMap locals:
      StackMap stack:
        40: iload 7 /* s */
            iload 5 /* maxInSample */
            if_icmple 36
        end local 7 // int s
        end local 6 // int halfMaxInSample
        end local 5 // int maxInSample
        41: .line 1005
            iinc 4 /* b */ 1
      StackMap locals:
      StackMap stack:
        42: iload 4 /* b */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            if_icmplt 30
        end local 4 // int b
        43: .line 1016
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scale:[[B
        44: .line 1017
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.scale0:[B
        45: .line 1019
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int maxOutSample
        end local 2 // int bitDepth
        end local 1 // int[] sampleSize
        end local 0 // com.sun.imageio.plugins.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   46     0             this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0   46     1       sampleSize  [I
            1   46     2         bitDepth  I
            7   46     3     maxOutSample  I
           10   23     4                b  I
           12   21     5      maxInSample  I
           13   21     6  halfMaxInSample  I
           15   21     7                s  I
           29   43     4                b  I
           31   41     5      maxInSample  I
           32   41     6  halfMaxInSample  I
           35   41     7                s  I
           37   39     8              val  I
    MethodParameters:
            Name  Flags
      sampleSize  

  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=6, locals=10, args_size=4
        start local 0 // com.sun.imageio.plugins.png.PNGImageWriter 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 1024
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.stream:Ljavax/imageio/stream/ImageOutputStream;
            ifnonnull 2
         1: .line 1025
            new java.lang.IllegalStateException
            dup
            ldc "output == null!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1027
      StackMap locals:
      StackMap stack:
            aload 2 /* image */
            ifnonnull 4
         3: .line 1028
            new java.lang.IllegalArgumentException
            dup
            ldc "image == null!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1030
      StackMap locals:
      StackMap stack:
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.hasRaster:()Z
            ifeq 6
         5: .line 1031
            new java.lang.UnsupportedOperationException
            dup
            ldc "image has a Raster!"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1034
      StackMap locals:
      StackMap stack:
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.getRenderedImage:()Ljava/awt/image/RenderedImage;
            astore 4 /* im */
        start local 4 // java.awt.image.RenderedImage im
         7: .line 1035
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getSampleModel:()Ljava/awt/image/SampleModel;
            astore 5 /* sampleModel */
        start local 5 // java.awt.image.SampleModel sampleModel
         8: .line 1036
            aload 0 /* this */
            aload 5 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getNumBands:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
         9: .line 1039
            aload 0 /* this */
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getMinX:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceXOffset:I
        10: .line 1040
            aload 0 /* this */
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getMinY:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceYOffset:I
        11: .line 1041
            aload 0 /* this */
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getWidth:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceWidth:I
        12: .line 1042
            aload 0 /* this */
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getHeight:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceHeight:I
        13: .line 1043
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceBands:[I
        14: .line 1044
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
        15: .line 1045
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
        16: .line 1047
            aload 3 /* param */
            ifnull 41
        17: .line 1049
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceRegion:()Ljava/awt/Rectangle;
            astore 6 /* sourceRegion */
        start local 6 // java.awt.Rectangle sourceRegion
        18: .line 1050
            aload 6 /* sourceRegion */
            ifnull 29
        19: .line 1051
            new java.awt.Rectangle
            dup
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getMinX:()I
        20: .line 1052
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getMinY:()I
        21: .line 1053
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getWidth:()I
        22: .line 1054
            aload 4 /* im */
            invokeinterface java.awt.image.RenderedImage.getHeight:()I
        23: .line 1051
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            astore 7 /* imageBounds */
        start local 7 // java.awt.Rectangle imageBounds
        24: .line 1056
            aload 6 /* sourceRegion */
            aload 7 /* imageBounds */
            invokevirtual java.awt.Rectangle.intersection:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
            astore 6 /* sourceRegion */
        25: .line 1057
            aload 0 /* this */
            aload 6 /* sourceRegion */
            getfield java.awt.Rectangle.x:I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceXOffset:I
        26: .line 1058
            aload 0 /* this */
            aload 6 /* sourceRegion */
            getfield java.awt.Rectangle.y:I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceYOffset:I
        27: .line 1059
            aload 0 /* this */
            aload 6 /* sourceRegion */
            getfield java.awt.Rectangle.width:I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceWidth:I
        28: .line 1060
            aload 0 /* this */
            aload 6 /* sourceRegion */
            getfield java.awt.Rectangle.height:I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceHeight:I
        end local 7 // java.awt.Rectangle imageBounds
        29: .line 1064
      StackMap locals: java.awt.image.RenderedImage java.awt.image.SampleModel java.awt.Rectangle
      StackMap stack:
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSubsamplingXOffset:()I
            istore 7 /* gridX */
        start local 7 // int gridX
        30: .line 1065
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSubsamplingYOffset:()I
            istore 8 /* gridY */
        start local 8 // int gridY
        31: .line 1066
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceXOffset:I
            iload 7 /* gridX */
            iadd
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceXOffset:I
        32: .line 1067
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceYOffset:I
            iload 8 /* gridY */
            iadd
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceYOffset:I
        33: .line 1068
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceWidth:I
            iload 7 /* gridX */
            isub
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceWidth:I
        34: .line 1069
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceHeight:I
            iload 8 /* gridY */
            isub
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceHeight:I
        35: .line 1072
            aload 0 /* this */
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceXSubsampling:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
        36: .line 1073
            aload 0 /* this */
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceYSubsampling:()I
            putfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
        37: .line 1075
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getSourceBands:()[I
            astore 9 /* sBands */
        start local 9 // int[] sBands
        38: .line 1076
            aload 9 /* sBands */
            ifnull 41
        39: .line 1077
            aload 0 /* this */
            aload 9 /* sBands */
            putfield com.sun.imageio.plugins.png.PNGImageWriter.sourceBands:[I
        40: .line 1078
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceBands:[I
            arraylength
            putfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
        end local 9 // int[] sBands
        end local 8 // int gridY
        end local 7 // int gridX
        end local 6 // java.awt.Rectangle sourceRegion
        41: .line 1083
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceWidth:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
            iadd
            iconst_1
            isub
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodX:I
            idiv
            istore 6 /* destWidth */
        start local 6 // int destWidth
        42: .line 1084
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.sourceHeight:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
            iadd
            iconst_1
            isub
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.periodY:I
            idiv
            istore 7 /* destHeight */
        start local 7 // int destHeight
        43: .line 1085
            iload 6 /* destWidth */
            ifle 44
            iload 7 /* destHeight */
            ifgt 45
        44: .line 1086
      StackMap locals: int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Empty source region!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 1090
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* destWidth */
            iload 7 /* destHeight */
            imul
            putfield com.sun.imageio.plugins.png.PNGImageWriter.totalPixels:I
        46: .line 1091
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGImageWriter.pixelsDone:I
        47: .line 1094
            aload 2 /* image */
            invokevirtual javax.imageio.IIOImage.getMetadata:()Ljavax/imageio/metadata/IIOMetadata;
            astore 8 /* imd */
        start local 8 // javax.imageio.metadata.IIOMetadata imd
        48: .line 1095
            aload 8 /* imd */
            ifnull 54
        49: .line 1096
            aload 0 /* this */
            aload 0 /* this */
            aload 8 /* imd */
        50: .line 1097
            aload 4 /* im */
            invokestatic javax.imageio.ImageTypeSpecifier.createFromRenderedImage:(Ljava/awt/image/RenderedImage;)Ljavax/imageio/ImageTypeSpecifier;
        51: .line 1098
            aconst_null
        52: .line 1096
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.convertImageMetadata:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
            checkcast com.sun.imageio.plugins.png.PNGMetadata
            putfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
        53: .line 1099
            goto 55
        54: .line 1100
      StackMap locals: javax.imageio.metadata.IIOMetadata
      StackMap stack:
            aload 0 /* this */
            new com.sun.imageio.plugins.png.PNGMetadata
            dup
            invokespecial com.sun.imageio.plugins.png.PNGMetadata.<init>:()V
            putfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
        55: .line 1103
      StackMap locals:
      StackMap stack:
            aload 3 /* param */
            ifnull 60
        56: .line 1105
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getProgressiveMode:()I
            tableswitch { // 0 - 1
                    0: 59
                    1: 57
              default: 60
          }
        57: .line 1107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_1
            putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_interlaceMethod:I
        58: .line 1108
            goto 60
        59: .line 1110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iconst_0
            putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_interlaceMethod:I
        60: .line 1118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            new javax.imageio.ImageTypeSpecifier
            dup
            aload 4 /* im */
            invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/RenderedImage;)V
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            invokevirtual com.sun.imageio.plugins.png.PNGMetadata.initialize:(Ljavax/imageio/ImageTypeSpecifier;I)V
        61: .line 1121
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 6 /* destWidth */
            putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_width:I
        62: .line 1122
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            iload 7 /* destHeight */
            putfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_height:I
        63: .line 1124
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.numBands:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.png.PNGImageWriter.metadata:Lcom/sun/imageio/plugins/png/PNGMetadata;
            getfield com.sun.imageio.plugins.png.PNGMetadata.IHDR_bitDepth:I
            bipush 16
            if_icmpne 64
            iconst_2
            goto 65
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam java.awt.image.RenderedImage java.awt.image.SampleModel int int javax.imageio.metadata.IIOMetadata
      StackMap stack: com.sun.imageio.plugins.png.PNGImageWriter int
        64: iconst_1
      StackMap locals: com.sun.imageio.plugins.png.PNGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam java.awt.image.RenderedImage java.awt.image.SampleModel int int javax.imageio.metadata.IIOMetadata
      StackMap stack: com.sun.imageio.plugins.png.PNGImageWriter int int
        65: imul
            putfield com.sun.imageio.plugins.png.PNGImageWriter.bpp:I
        66: .line 1127
            aload 0 /* this */
            aload 5 /* sampleModel */
            invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.initializeScaleTables:([I)V
        67: .line 1129
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.clearAbortRequest:()V
        68: .line 1131
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processImageStarted:(I)V
        69: .line 1134
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_magic:()V
        70: .line 1135
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_IHDR:()V
        71: .line 1137
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_cHRM:()V
        72: .line 1138
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_gAMA:()V
        73: .line 1139
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_iCCP:()V
        74: .line 1140
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_sBIT:()V
        75: .line 1141
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_sRGB:()V
        76: .line 1143
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_PLTE:()V
        77: .line 1145
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_hIST:()V
        78: .line 1146
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_tRNS:()V
        79: .line 1147
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_bKGD:()V
        80: .line 1149
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_pHYs:()V
        81: .line 1150
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_sPLT:()V
        82: .line 1151
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_tIME:()V
        83: .line 1152
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_tEXt:()V
        84: .line 1153
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_iTXt:()V
        85: .line 1154
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_zTXt:()V
        86: .line 1156
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.writeUnknownChunks:()V
        87: .line 1158
            aload 0 /* this */
            aload 4 /* im */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.write_IDAT:(Ljava/awt/image/RenderedImage;)V
        88: .line 1160
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.abortRequested:()Z
            ifeq 91
        89: .line 1161
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processWriteAborted:()V
        90: .line 1162
            goto 96
        91: .line 1164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.writeIEND:()V
        92: .line 1165
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.png.PNGImageWriter.processImageComplete:()V
        93: .line 1167
            goto 96
      StackMap locals:
      StackMap stack: java.io.IOException
        94: astore 9 /* e */
        start local 9 // java.io.IOException e
        95: .line 1168
            new javax.imageio.IIOException
            dup
            ldc "I/O error writing PNG file!"
            aload 9 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.io.IOException e
        96: .line 1170
      StackMap locals:
      StackMap stack:
            return
        end local 8 // javax.imageio.metadata.IIOMetadata imd
        end local 7 // int destHeight
        end local 6 // int destWidth
        end local 5 // java.awt.image.SampleModel sampleModel
        end local 4 // java.awt.image.RenderedImage im
        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.png.PNGImageWriter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   97     0            this  Lcom/sun/imageio/plugins/png/PNGImageWriter;
            0   97     1  streamMetadata  Ljavax/imageio/metadata/IIOMetadata;
            0   97     2           image  Ljavax/imageio/IIOImage;
            0   97     3           param  Ljavax/imageio/ImageWriteParam;
            7   97     4              im  Ljava/awt/image/RenderedImage;
            8   97     5     sampleModel  Ljava/awt/image/SampleModel;
           18   41     6    sourceRegion  Ljava/awt/Rectangle;
           24   29     7     imageBounds  Ljava/awt/Rectangle;
           30   41     7           gridX  I
           31   41     8           gridY  I
           38   41     9          sBands  [I
           42   97     6       destWidth  I
           43   97     7      destHeight  I
           48   97     8             imd  Ljavax/imageio/metadata/IIOMetadata;
           95   96     9               e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          69    93      94  Class java.io.IOException
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
                Name  Flags
      streamMetadata  
      image           
      param           
}
SourceFile: "PNGImageWriter.java"