public class com.sun.imageio.plugins.gif.GIFImageReader extends javax.imageio.ImageReader
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.imageio.plugins.gif.GIFImageReader
  super_class: javax.imageio.ImageReader
{
  javax.imageio.stream.ImageInputStream stream;
    descriptor: Ljavax/imageio/stream/ImageInputStream;
    flags: (0x0000) 

  boolean gotHeader;
    descriptor: Z
    flags: (0x0000) 

  com.sun.imageio.plugins.gif.GIFStreamMetadata streamMetadata;
    descriptor: Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
    flags: (0x0000) 

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

  com.sun.imageio.plugins.gif.GIFImageMetadata imageMetadata;
    descriptor: Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
    flags: (0x0000) 

  java.util.List imageStartPosition;
    descriptor: Ljava/util/List;
    flags: (0x0000) 

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

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

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

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

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

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

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

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

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

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

  boolean lastBlockFound;
    descriptor: Z
    flags: (0x0000) 

  java.awt.image.BufferedImage theImage;
    descriptor: Ljava/awt/image/BufferedImage;
    flags: (0x0000) 

  java.awt.image.WritableRaster theTile;
    descriptor: Ljava/awt/image/WritableRaster;
    flags: (0x0000) 

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

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

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

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

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

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

  static final int[] interlaceIncrement;
    descriptor: [I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int[] interlaceOffset;
    descriptor: [I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  java.awt.Rectangle sourceRegion;
    descriptor: Ljava/awt/Rectangle;
    flags: (0x0000) 

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

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

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

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

  java.awt.Point destinationOffset;
    descriptor: Ljava/awt/Point;
    flags: (0x0000) 

  java.awt.Rectangle destinationRegion;
    descriptor: Ljava/awt/Rectangle;
    flags: (0x0000) 

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

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

  boolean decodeThisRow;
    descriptor: Z
    flags: (0x0000) 

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 120
            iconst_5
            newarray 10
            dup
            iconst_0
            bipush 8
            iastore
            dup
            iconst_1
            bipush 8
            iastore
            dup
            iconst_2
            iconst_4
            iastore
            dup
            iconst_3
            iconst_2
            iastore
            dup
            iconst_4
            iconst_m1
            iastore
            putstatic com.sun.imageio.plugins.gif.GIFImageReader.interlaceIncrement:[I
         1: .line 121
            iconst_5
            newarray 10
            dup
            iconst_1
            iconst_4
            iastore
            dup
            iconst_2
            iconst_2
            iastore
            dup
            iconst_3
            iconst_1
            iastore
            dup
            iconst_4
            iconst_m1
            iastore
            putstatic com.sun.imageio.plugins.gif.GIFImageReader.interlaceOffset:[I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(javax.imageio.spi.ImageReaderSpi);
    descriptor: (Ljavax/imageio/spi/ImageReaderSpi;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
        start local 1 // javax.imageio.spi.ImageReaderSpi originatingProvider
         0: .line 124
            aload 0 /* this */
            aload 1 /* originatingProvider */
            invokespecial javax.imageio.ImageReader.<init>:(Ljavax/imageio/spi/ImageReaderSpi;)V
         1: .line 55
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
         2: .line 60
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.gotHeader:Z
         3: .line 63
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
         4: .line 66
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.gif.GIFImageReader.currIndex:I
         5: .line 69
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
         6: .line 74
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.imageio.plugins.gif.GIFImageReader.imageStartPosition:Ljava/util/List;
         7: .line 81
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.gif.GIFImageReader.numImages:I
         8: .line 84
            aload 0 /* this */
            sipush 255
            newarray 8
            putfield com.sun.imageio.plugins.gif.GIFImageReader.block:[B
         9: .line 85
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.blockLength:I
        10: .line 86
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
        11: .line 87
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.nextByte:I
        12: .line 93
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
        13: .line 97
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.lastBlockFound:Z
        14: .line 100
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
        15: .line 103
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.gif.GIFImageReader.theTile:Ljava/awt/image/WritableRaster;
        16: .line 106
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.gif.GIFImageReader.width:I
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.gif.GIFImageReader.height:I
        17: .line 109
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
        18: .line 112
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.rowsDone:I
        19: .line 115
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
        20: .line 372
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.gif.GIFImageReader.decodeThisRow:Z
        21: .line 373
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.destY:I
        22: .line 125
            return
        end local 1 // javax.imageio.spi.ImageReaderSpi originatingProvider
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   23     0                 this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            0   23     1  originatingProvider  Ljavax/imageio/spi/ImageReaderSpi;
    MethodParameters:
                     Name  Flags
      originatingProvider  

  public void setInput(java.lang.Object, boolean, boolean);
    descriptor: (Ljava/lang/Object;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
        start local 1 // java.lang.Object input
        start local 2 // boolean seekForwardOnly
        start local 3 // boolean ignoreMetadata
         0: .line 131
            aload 0 /* this */
            aload 1 /* input */
            iload 2 /* seekForwardOnly */
            iload 3 /* ignoreMetadata */
            invokespecial javax.imageio.ImageReader.setInput:(Ljava/lang/Object;ZZ)V
         1: .line 132
            aload 1 /* input */
            ifnull 8
         2: .line 133
            aload 1 /* input */
            instanceof javax.imageio.stream.ImageInputStream
            ifne 6
         3: .line 134
            new java.lang.IllegalArgumentException
            dup
         4: .line 135
            ldc "input not an ImageInputStream!"
         5: .line 134
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* input */
            checkcast javax.imageio.stream.ImageInputStream
            putfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
         7: .line 138
            goto 9
         8: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
         9: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.resetStreamSettings:()V
        10: .line 144
            return
        end local 3 // boolean ignoreMetadata
        end local 2 // boolean seekForwardOnly
        end local 1 // java.lang.Object input
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            0   11     1            input  Ljava/lang/Object;
            0   11     2  seekForwardOnly  Z
            0   11     3   ignoreMetadata  Z
    MethodParameters:
                 Name  Flags
      input            
      seekForwardOnly  
      ignoreMetadata   

  public int getNumImages(boolean);
    descriptor: (Z)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
        start local 1 // boolean allowSearch
         0: .line 147
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            ifnonnull 2
         1: .line 148
            new java.lang.IllegalStateException
            dup
            ldc "Input not set!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.seekForwardOnly:Z
            ifeq 6
            iload 1 /* allowSearch */
            ifeq 6
         3: .line 151
            new java.lang.IllegalStateException
            dup
         4: .line 152
            ldc "seekForwardOnly and allowSearch can't both be true!"
         5: .line 151
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.numImages:I
            ifle 8
         7: .line 156
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.numImages:I
            ireturn
         8: .line 158
      StackMap locals:
      StackMap stack:
            iload 1 /* allowSearch */
            ifeq 10
         9: .line 159
            aload 0 /* this */
            aload 0 /* this */
            ldc 2147483647
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.locateImage:(I)I
            iconst_1
            iadd
            putfield com.sun.imageio.plugins.gif.GIFImageReader.numImages:I
        10: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.numImages:I
            ireturn
        end local 1 // boolean allowSearch
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            0   11     1  allowSearch  Z
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
             Name  Flags
      allowSearch  

  private void checkIndex(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
        start local 1 // int imageIndex
         0: .line 167
            iload 1 /* imageIndex */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.minIndex:I
            if_icmpge 2
         1: .line 168
            new java.lang.IndexOutOfBoundsException
            dup
            ldc "imageIndex < minIndex!"
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.seekForwardOnly:Z
            ifeq 4
         3: .line 171
            aload 0 /* this */
            iload 1 /* imageIndex */
            putfield com.sun.imageio.plugins.gif.GIFImageReader.minIndex:I
         4: .line 173
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int imageIndex
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            0    5     1  imageIndex  I
    MethodParameters:
            Name  Flags
      imageIndex  

  public int getWidth(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
        start local 1 // int imageIndex
         0: .line 176
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.checkIndex:(I)V
         1: .line 178
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.locateImage:(I)I
            istore 2 /* index */
        start local 2 // int index
         2: .line 179
            iload 2 /* index */
            iload 1 /* imageIndex */
            if_icmpeq 4
         3: .line 180
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         4: .line 182
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.readMetadata:()V
         5: .line 183
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageWidth:I
            ireturn
        end local 2 // int index
        end local 1 // int imageIndex
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            0    6     1  imageIndex  I
            2    6     2       index  I
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public int getHeight(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
        start local 1 // int imageIndex
         0: .line 187
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.checkIndex:(I)V
         1: .line 189
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.locateImage:(I)I
            istore 2 /* index */
        start local 2 // int index
         2: .line 190
            iload 2 /* index */
            iload 1 /* imageIndex */
            if_icmpeq 4
         3: .line 191
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         4: .line 193
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.readMetadata:()V
         5: .line 194
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageHeight:I
            ireturn
        end local 2 // int index
        end local 1 // int imageIndex
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            0    6     1  imageIndex  I
            2    6     2       index  I
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
            Name  Flags
      imageIndex  

  public java.util.Iterator getImageTypes(int);
    descriptor: (I)Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=14, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
        start local 1 // int imageIndex
         0: .line 198
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.checkIndex:(I)V
         1: .line 200
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.locateImage:(I)I
            istore 2 /* index */
        start local 2 // int index
         2: .line 201
            iload 2 /* index */
            iload 1 /* imageIndex */
            if_icmpeq 4
         3: .line 202
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         4: .line 204
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.readMetadata:()V
         5: .line 206
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* l */
        start local 3 // java.util.List l
         6: .line 209
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.localColorTable:[B
            ifnull 9
         7: .line 210
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.localColorTable:[B
            astore 4 /* colorTable */
        start local 4 // byte[] colorTable
         8: .line 211
            goto 10
        end local 4 // byte[] colorTable
         9: .line 212
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
            getfield com.sun.imageio.plugins.gif.GIFStreamMetadata.globalColorTable:[B
            astore 4 /* colorTable */
        start local 4 // byte[] colorTable
        10: .line 216
      StackMap locals: byte[]
      StackMap stack:
            aload 4 /* colorTable */
            arraylength
            iconst_3
            idiv
            istore 5 /* length */
        start local 5 // int length
        11: .line 218
            iload 5 /* length */
            iconst_2
            if_icmpne 14
        12: .line 219
            iconst_1
            istore 6 /* bits */
        start local 6 // int bits
        13: .line 220
            goto 21
        end local 6 // int bits
      StackMap locals: int
      StackMap stack:
        14: iload 5 /* length */
            iconst_4
            if_icmpne 17
        15: .line 221
            iconst_2
            istore 6 /* bits */
        start local 6 // int bits
        16: .line 222
            goto 21
        end local 6 // int bits
      StackMap locals:
      StackMap stack:
        17: iload 5 /* length */
            bipush 8
            if_icmpeq 18
            iload 5 /* length */
            bipush 16
            if_icmpne 20
        18: .line 224
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 6 /* bits */
        start local 6 // int bits
        19: .line 225
            goto 21
        end local 6 // int bits
        20: .line 227
      StackMap locals:
      StackMap stack:
            bipush 8
            istore 6 /* bits */
        start local 6 // int bits
        21: .line 229
      StackMap locals: int
      StackMap stack:
            iconst_1
            iload 6 /* bits */
            ishl
            istore 7 /* lutLength */
        start local 7 // int lutLength
        22: .line 230
            iload 7 /* lutLength */
            newarray 8
            astore 8 /* r */
        start local 8 // byte[] r
        23: .line 231
            iload 7 /* lutLength */
            newarray 8
            astore 9 /* g */
        start local 9 // byte[] g
        24: .line 232
            iload 7 /* lutLength */
            newarray 8
            astore 10 /* b */
        start local 10 // byte[] b
        25: .line 235
            iconst_0
            istore 11 /* rgbIndex */
        start local 11 // int rgbIndex
        26: .line 236
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        27: goto 32
        28: .line 237
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader int int java.util.List byte[] int int int byte[] byte[] byte[] int int
      StackMap stack:
            aload 8 /* r */
            iload 12 /* i */
            aload 4 /* colorTable */
            iload 11 /* rgbIndex */
            iinc 11 /* rgbIndex */ 1
            baload
            bastore
        29: .line 238
            aload 9 /* g */
            iload 12 /* i */
            aload 4 /* colorTable */
            iload 11 /* rgbIndex */
            iinc 11 /* rgbIndex */ 1
            baload
            bastore
        30: .line 239
            aload 10 /* b */
            iload 12 /* i */
            aload 4 /* colorTable */
            iload 11 /* rgbIndex */
            iinc 11 /* rgbIndex */ 1
            baload
            bastore
        31: .line 236
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 12 /* i */
            iload 5 /* length */
            if_icmplt 28
        end local 12 // int i
        33: .line 242
            aconst_null
            astore 12 /* a */
        start local 12 // byte[] a
        34: .line 243
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.transparentColorFlag:Z
            ifeq 41
        35: .line 244
            iload 7 /* lutLength */
            newarray 8
            astore 12 /* a */
        36: .line 245
            aload 12 /* a */
            iconst_m1
            invokestatic java.util.Arrays.fill:([BB)V
        37: .line 249
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.transparentColorIndex:I
        38: .line 250
            iload 7 /* lutLength */
            iconst_1
            isub
        39: .line 249
            invokestatic java.lang.Math.min:(II)I
            istore 13 /* idx */
        start local 13 // int idx
        40: .line 251
            aload 12 /* a */
            iload 13 /* idx */
            iconst_0
            bastore
        end local 13 // int idx
        41: .line 254
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader int int java.util.List byte[] int int int byte[] byte[] byte[] int byte[]
      StackMap stack:
            iconst_1
            newarray 10
            astore 13 /* bitsPerSample */
        start local 13 // int[] bitsPerSample
        42: .line 255
            aload 13 /* bitsPerSample */
            iconst_0
            iload 6 /* bits */
            iastore
        43: .line 256
            aload 3 /* l */
            aload 8 /* r */
            aload 9 /* g */
            aload 10 /* b */
            aload 12 /* a */
            iload 6 /* bits */
        44: .line 257
            iconst_0
        45: .line 256
            invokestatic javax.imageio.ImageTypeSpecifier.createIndexed:([B[B[B[BII)Ljavax/imageio/ImageTypeSpecifier;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        46: .line 258
            aload 3 /* l */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            areturn
        end local 13 // int[] bitsPerSample
        end local 12 // byte[] a
        end local 11 // int rgbIndex
        end local 10 // byte[] b
        end local 9 // byte[] g
        end local 8 // byte[] r
        end local 7 // int lutLength
        end local 6 // int bits
        end local 5 // int length
        end local 4 // byte[] colorTable
        end local 3 // java.util.List l
        end local 2 // int index
        end local 1 // int imageIndex
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   47     0           this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            0   47     1     imageIndex  I
            2   47     2          index  I
            6   47     3              l  Ljava/util/List;
            8    9     4     colorTable  [B
           10   47     4     colorTable  [B
           11   47     5         length  I
           13   14     6           bits  I
           16   17     6           bits  I
           19   20     6           bits  I
           21   47     6           bits  I
           22   47     7      lutLength  I
           23   47     8              r  [B
           24   47     9              g  [B
           25   47    10              b  [B
           26   47    11       rgbIndex  I
           27   33    12              i  I
           34   47    12              a  [B
           40   41    13            idx  I
           42   47    13  bitsPerSample  [I
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
            Name  Flags
      imageIndex  

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

  public javax.imageio.metadata.IIOMetadata getStreamMetadata();
    descriptor: ()Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
         0: .line 266
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.readHeader:()V
         1: .line 267
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
            areturn
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
    Exceptions:
      throws javax.imageio.IIOException

  public javax.imageio.metadata.IIOMetadata getImageMetadata(int);
    descriptor: (I)Ljavax/imageio/metadata/IIOMetadata;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
        start local 1 // int imageIndex
         0: .line 271
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.checkIndex:(I)V
         1: .line 273
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.locateImage:(I)I
            istore 2 /* index */
        start local 2 // int index
         2: .line 274
            iload 2 /* index */
            iload 1 /* imageIndex */
            if_icmpeq 4
         3: .line 275
            new java.lang.IndexOutOfBoundsException
            dup
            ldc "Bad image index!"
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 277
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.readMetadata:()V
         5: .line 278
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            areturn
        end local 2 // int index
        end local 1 // int imageIndex
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            0    6     1  imageIndex  I
            2    6     2       index  I
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
            Name  Flags
      imageIndex  

  private void initNext32Bits();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
         0: .line 284
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.block:[B
            iconst_0
            baload
            sipush 255
            iand
            putfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
         1: .line 285
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.block:[B
            iconst_1
            baload
            sipush 255
            iand
            bipush 8
            ishl
            ior
            putfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
         2: .line 286
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.block:[B
            iconst_2
            baload
            sipush 255
            iand
            bipush 16
            ishl
            ior
            putfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
         3: .line 287
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.block:[B
            iconst_3
            baload
            bipush 24
            ishl
            ior
            putfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
         4: .line 288
            aload 0 /* this */
            iconst_4
            putfield com.sun.imageio.plugins.gif.GIFImageReader.nextByte:I
         5: .line 289
            return
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/imageio/plugins/gif/GIFImageReader;

  private int getCode(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
        start local 1 // int codeSize
        start local 2 // int codeMask
         0: .line 298
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
            iload 1 /* codeSize */
            iadd
            bipush 32
            if_icmple 2
         1: .line 299
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.eofCode:I
            ireturn
         2: .line 302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
            ishr
            iload 2 /* codeMask */
            iand
            istore 3 /* code */
        start local 3 // int code
         3: .line 303
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
            iload 1 /* codeSize */
            iadd
            putfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
         4: .line 306
            goto 21
         5: .line 307
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
            bipush 8
            iushr
            putfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
         6: .line 308
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
            bipush 8
            isub
            putfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
         7: .line 311
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.nextByte:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.blockLength:I
            if_icmplt 20
         8: .line 313
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.gif.GIFImageReader.blockLength:I
         9: .line 314
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.blockLength:I
            ifne 12
        10: .line 315
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.gif.GIFImageReader.lastBlockFound:Z
        11: .line 316
            iload 3 /* code */
            ireturn
        12: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.blockLength:I
            istore 4 /* left */
        start local 4 // int left
        13: .line 319
            iconst_0
            istore 5 /* off */
        start local 5 // int off
        14: .line 320
            goto 18
        15: .line 321
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.block:[B
            iload 5 /* off */
            iload 4 /* left */
            invokeinterface javax.imageio.stream.ImageInputStream.read:([BII)I
            istore 6 /* nbytes */
        start local 6 // int nbytes
        16: .line 322
            iload 5 /* off */
            iload 6 /* nbytes */
            iadd
            istore 5 /* off */
        17: .line 323
            iload 4 /* left */
            iload 6 /* nbytes */
            isub
            istore 4 /* left */
        end local 6 // int nbytes
        18: .line 320
      StackMap locals:
      StackMap stack:
            iload 4 /* left */
            ifgt 15
        19: .line 325
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.nextByte:I
        end local 5 // int off
        end local 4 // int left
        20: .line 329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.block:[B
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.gif.GIFImageReader.nextByte:I
            dup_x1
            iconst_1
            iadd
            putfield com.sun.imageio.plugins.gif.GIFImageReader.nextByte:I
            baload
            bipush 24
            ishl
            ior
            putfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
        21: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
            bipush 8
            if_icmplt 22
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.lastBlockFound:Z
            ifeq 5
        22: .line 332
      StackMap locals:
      StackMap stack:
            iload 3 /* code */
            ireturn
        end local 3 // int code
        end local 2 // int codeMask
        end local 1 // int codeSize
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            0   23     1  codeSize  I
            0   23     2  codeMask  I
            3   23     3      code  I
           13   20     4      left  I
           14   20     5       off  I
           16   18     6    nbytes  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      codeSize  
      codeMask  

  public void initializeStringTable(int[], byte[], byte[], int[]);
    descriptor: ([I[B[B[I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=5
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
        start local 1 // int[] prefix
        start local 2 // byte[] suffix
        start local 3 // byte[] initial
        start local 4 // int[] length
         0: .line 339
            iconst_1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
            ishl
            istore 5 /* numEntries */
        start local 5 // int numEntries
         1: .line 340
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         2: goto 8
         3: .line 341
      StackMap locals: int int
      StackMap stack:
            aload 1 /* prefix */
            iload 6 /* i */
            iconst_m1
            iastore
         4: .line 342
            aload 2 /* suffix */
            iload 6 /* i */
            iload 6 /* i */
            i2b
            bastore
         5: .line 343
            aload 3 /* initial */
            iload 6 /* i */
            iload 6 /* i */
            i2b
            bastore
         6: .line 344
            aload 4 /* length */
            iload 6 /* i */
            iconst_1
            iastore
         7: .line 340
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* i */
            iload 5 /* numEntries */
            if_icmplt 3
        end local 6 // int i
         9: .line 349
            iload 5 /* numEntries */
            istore 6 /* i */
        start local 6 // int i
        10: goto 14
        11: .line 350
      StackMap locals:
      StackMap stack:
            aload 1 /* prefix */
            iload 6 /* i */
            iconst_m1
            iastore
        12: .line 351
            aload 4 /* length */
            iload 6 /* i */
            iconst_1
            iastore
        13: .line 349
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 6 /* i */
            sipush 4096
            if_icmplt 11
        end local 6 // int i
        15: .line 357
            return
        end local 5 // int numEntries
        end local 4 // int[] length
        end local 3 // byte[] initial
        end local 2 // byte[] suffix
        end local 1 // int[] prefix
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            0   16     1      prefix  [I
            0   16     2      suffix  [B
            0   16     3     initial  [B
            0   16     4      length  [I
            1   16     5  numEntries  I
            2    9     6           i  I
           10   15     6           i  I
    MethodParameters:
         Name  Flags
      prefix   
      suffix   
      initial  
      length   

  private void outputRow();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=4, args_size=1
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
         0: .line 379
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.width:I
         1: .line 380
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.width:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceXSubsampling:I
            imul
         2: .line 379
            invokestatic java.lang.Math.min:(II)I
            istore 1 /* width */
        start local 1 // int width
         3: .line 381
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.x:I
            istore 2 /* destX */
        start local 2 // int destX
         4: .line 383
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceXSubsampling:I
            iconst_1
            if_icmpne 7
         5: .line 384
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.theTile:Ljava/awt/image/WritableRaster;
            iload 2 /* destX */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destY:I
            iload 1 /* width */
            iconst_1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.rowBuf:[B
            invokevirtual java.awt.image.WritableRaster.setDataElements:(IIIILjava/lang/Object;)V
         6: .line 385
            goto 12
         7: .line 386
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 3 /* x */
        start local 3 // int x
         8: goto 11
         9: .line 387
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.theTile:Ljava/awt/image/WritableRaster;
            iload 2 /* destX */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destY:I
            iconst_0
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.rowBuf:[B
            iload 3 /* x */
            baload
            sipush 255
            iand
            invokevirtual java.awt.image.WritableRaster.setSample:(IIII)V
        10: .line 386
            iload 3 /* x */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceXSubsampling:I
            iadd
            istore 3 /* x */
            iinc 2 /* destX */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* x */
            iload 1 /* width */
            if_icmplt 9
        end local 3 // int x
        12: .line 392
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.updateListeners:Ljava/util/List;
            ifnull 19
        13: .line 393
            iconst_1
            newarray 10
            astore 3 /* bands */
        start local 3 // int[] bands
        14: .line 396
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
        15: .line 397
            iload 2 /* destX */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destY:I
        16: .line 398
            iload 1 /* width */
            iconst_1
            iconst_1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.updateYStep:I
        17: .line 399
            aload 3 /* bands */
        18: .line 396
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processImageUpdate:(Ljava/awt/image/BufferedImage;IIIIII[I)V
        end local 3 // int[] bands
        19: .line 401
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int destX
        end local 1 // int width
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   20     0   this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            3   20     1  width  I
            4   20     2  destX  I
            8   12     3      x  I
           14   19     3  bands  [I

  private void computeDecodeThisRow();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
         0: .line 404
            aload 0 /* this */
         1: .line 405
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destY:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.height:I
            iadd
            if_icmpge 5
         2: .line 406
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
            if_icmplt 5
         3: .line 407
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.height:I
            iadd
            if_icmpge 5
         4: .line 408
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
            isub
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceYSubsampling:I
            irem
            ifne 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack: com.sun.imageio.plugins.gif.GIFImageReader
         5: iconst_0
         6: .line 404
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader
      StackMap stack: com.sun.imageio.plugins.gif.GIFImageReader int
            putfield com.sun.imageio.plugins.gif.GIFImageReader.decodeThisRow:Z
         7: .line 409
            return
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/imageio/plugins/gif/GIFImageReader;

  private void outputPixels(byte[], int);
    descriptor: ([BI)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
        start local 1 // byte[] string
        start local 2 // int len
         0: .line 412
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMinProgressivePass:I
            if_icmplt 2
         1: .line 413
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMaxProgressivePass:I
            if_icmple 3
         2: .line 414
      StackMap locals:
      StackMap stack:
            return
         3: .line 417
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 31
         5: .line 418
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.x:I
            if_icmplt 7
         6: .line 419
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.rowBuf:[B
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.x:I
            isub
            aload 1 /* string */
            iload 3 /* i */
            baload
            bastore
         7: .line 423
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
            iconst_1
            iadd
            putfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
         8: .line 424
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.width:I
            if_icmpne 30
         9: .line 426
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.gif.GIFImageReader.rowsDone:I
            iconst_1
            iadd
            putfield com.sun.imageio.plugins.gif.GIFImageReader.rowsDone:I
        10: .line 427
            aload 0 /* this */
            ldc 100.0
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.rowsDone:I
            i2f
            fmul
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.height:I
            i2f
            fdiv
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processImageProgress:(F)V
        11: .line 429
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.decodeThisRow:Z
            ifeq 13
        12: .line 430
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.outputRow:()V
        13: .line 433
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
        14: .line 434
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.interlaceFlag:Z
            ifeq 25
        15: .line 435
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
            getstatic com.sun.imageio.plugins.gif.GIFImageReader.interlaceIncrement:[I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
            iaload
            iadd
            putfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
        16: .line 436
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.height:I
            if_icmplt 26
        17: .line 438
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.updateListeners:Ljava/util/List;
            ifnull 19
        18: .line 439
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processPassComplete:(Ljava/awt/image/BufferedImage;)V
        19: .line 442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
            iconst_1
            iadd
            putfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
        20: .line 443
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMaxProgressivePass:I
            if_icmple 22
        21: .line 444
            return
        22: .line 446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.sun.imageio.plugins.gif.GIFImageReader.interlaceOffset:[I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
            iaload
            putfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
        23: .line 447
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.startPass:(I)V
        24: .line 449
            goto 26
        25: .line 450
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
            iconst_1
            iadd
            putfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
        26: .line 455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
        27: .line 456
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
            isub
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceYSubsampling:I
            idiv
            iadd
        28: .line 455
            putfield com.sun.imageio.plugins.gif.GIFImageReader.destY:I
        29: .line 457
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.computeDecodeThisRow:()V
        30: .line 417
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 5
        end local 3 // int i
        32: .line 460
            return
        end local 2 // int len
        end local 1 // byte[] string
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   33     0    this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            0   33     1  string  [B
            0   33     2     len  I
            4   32     3       i  I
    MethodParameters:
        Name  Flags
      string  
      len     

  private void readHeader();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
         0: .line 465
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.gotHeader:Z
            ifeq 2
         1: .line 466
            return
         2: .line 468
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            ifnonnull 4
         3: .line 469
            new java.lang.IllegalStateException
            dup
            ldc "Input not set!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 473
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.sun.imageio.plugins.gif.GIFStreamMetadata
            dup
            invokespecial com.sun.imageio.plugins.gif.GIFStreamMetadata.<init>:()V
            putfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
         5: .line 476
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokeinterface javax.imageio.stream.ImageInputStream.setByteOrder:(Ljava/nio/ByteOrder;)V
         6: .line 478
            bipush 6
            newarray 8
            astore 1 /* signature */
        start local 1 // byte[] signature
         7: .line 479
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 1 /* signature */
            invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
         8: .line 481
            new java.lang.StringBuffer
            dup
            iconst_3
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 2 /* version */
        start local 2 // java.lang.StringBuffer version
         9: .line 482
            aload 2 /* version */
            aload 1 /* signature */
            iconst_3
            baload
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        10: .line 483
            aload 2 /* version */
            aload 1 /* signature */
            iconst_4
            baload
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        11: .line 484
            aload 2 /* version */
            aload 1 /* signature */
            iconst_5
            baload
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        12: .line 485
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
            aload 2 /* version */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.version:Ljava/lang/String;
        13: .line 487
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.logicalScreenWidth:I
        14: .line 488
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.logicalScreenHeight:I
        15: .line 490
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            istore 3 /* packedFields */
        start local 3 // int packedFields
        16: .line 491
            iload 3 /* packedFields */
            sipush 128
            iand
            ifeq 17
            iconst_1
            goto 18
      StackMap locals: byte[] java.lang.StringBuffer int
      StackMap stack:
        17: iconst_0
      StackMap locals:
      StackMap stack: int
        18: istore 4 /* globalColorTableFlag */
        start local 4 // boolean globalColorTableFlag
        19: .line 492
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
            iload 3 /* packedFields */
            iconst_4
            ishr
            bipush 7
            iand
            iconst_1
            iadd
            putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.colorResolution:I
        20: .line 493
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
            iload 3 /* packedFields */
            bipush 8
            iand
            ifeq 21
            iconst_1
            goto 22
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader byte[] java.lang.StringBuffer int int
      StackMap stack: com.sun.imageio.plugins.gif.GIFStreamMetadata
        21: iconst_0
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader byte[] java.lang.StringBuffer int int
      StackMap stack: com.sun.imageio.plugins.gif.GIFStreamMetadata int
        22: putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.sortFlag:Z
        23: .line 494
            iconst_1
            iload 3 /* packedFields */
            bipush 7
            iand
            iconst_1
            iadd
            ishl
            istore 5 /* numGCTEntries */
        start local 5 // int numGCTEntries
        24: .line 496
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.backgroundColorIndex:I
        25: .line 497
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.pixelAspectRatio:I
        26: .line 499
            iload 4 /* globalColorTableFlag */
            ifeq 30
        27: .line 500
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
            iconst_3
            iload 5 /* numGCTEntries */
            imul
            newarray 8
            putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.globalColorTable:[B
        28: .line 501
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
            getfield com.sun.imageio.plugins.gif.GIFStreamMetadata.globalColorTable:[B
            invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
        29: .line 502
            goto 31
        30: .line 503
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
            aconst_null
            putfield com.sun.imageio.plugins.gif.GIFStreamMetadata.globalColorTable:[B
        31: .line 507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageStartPosition:Ljava/util/List;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // int numGCTEntries
        end local 4 // boolean globalColorTableFlag
        end local 3 // int packedFields
        end local 2 // java.lang.StringBuffer version
        end local 1 // byte[] signature
        32: .line 508
            goto 35
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader
      StackMap stack: java.io.IOException
        33: astore 1 /* e */
        start local 1 // java.io.IOException e
        34: .line 509
            new javax.imageio.IIOException
            dup
            ldc "I/O error reading header!"
            aload 1 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
        35: .line 512
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.sun.imageio.plugins.gif.GIFImageReader.gotHeader:Z
        36: .line 513
            return
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   37     0                  this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            7   32     1             signature  [B
            9   32     2               version  Ljava/lang/StringBuffer;
           16   32     3          packedFields  I
           19   32     4  globalColorTableFlag  Z
           24   32     5         numGCTEntries  I
           34   35     1                     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5    32      33  Class java.io.IOException
    Exceptions:
      throws javax.imageio.IIOException

  private boolean skipImage();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
         0: .line 521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            istore 1 /* blockType */
        start local 1 // int blockType
         1: .line 523
            iload 1 /* blockType */
            bipush 44
            if_icmpne 14
         2: .line 524
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            bipush 8
            invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
            pop
         3: .line 526
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            istore 2 /* packedFields */
        start local 2 // int packedFields
         4: .line 527
            iload 2 /* packedFields */
            sipush 128
            iand
            ifeq 7
         5: .line 529
            iload 2 /* packedFields */
            bipush 7
            iand
            iconst_1
            iadd
            istore 3 /* bits */
        start local 3 // int bits
         6: .line 530
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            iconst_3
            iconst_1
            iload 3 /* bits */
            ishl
            imul
            invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
            pop
        end local 3 // int bits
         7: .line 533
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            iconst_1
            invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
            pop
         8: .line 535
            iconst_0
            istore 3 /* length */
        start local 3 // int length
         9: .line 537
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            istore 3 /* length */
        10: .line 538
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            iload 3 /* length */
            invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
            pop
        11: .line 539
            iload 3 /* length */
        12: .line 536
            ifgt 9
        13: .line 541
            iconst_1
            ireturn
        end local 3 // int length
        end local 2 // int packedFields
        14: .line 542
      StackMap locals:
      StackMap stack:
            iload 1 /* blockType */
            bipush 59
            if_icmpne 16
        15: .line 543
            iconst_0
            ireturn
        16: .line 544
      StackMap locals:
      StackMap stack:
            iload 1 /* blockType */
            bipush 33
            if_icmpne 24
        17: .line 545
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            pop
        18: .line 547
            iconst_0
            istore 2 /* length */
        start local 2 // int length
        19: .line 549
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            istore 2 /* length */
        20: .line 550
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            iload 2 /* length */
            invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
            pop
        21: .line 551
            iload 2 /* length */
        22: .line 548
            ifgt 19
        end local 2 // int length
        23: .line 552
            goto 0
      StackMap locals:
      StackMap stack:
        24: iload 1 /* blockType */
            ifne 26
        25: .line 554
            iconst_0
            ireturn
        26: .line 556
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* length */
        start local 2 // int length
        27: .line 558
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            istore 2 /* length */
        28: .line 559
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            iload 2 /* length */
            invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
            pop
        29: .line 560
            iload 2 /* length */
        30: .line 557
            ifgt 27
        end local 2 // int length
        end local 1 // int blockType
        31: .line 520
            goto 0
        32: .line 563
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader
      StackMap stack: java.io.EOFException
            pop
        33: .line 564
            iconst_0
            ireturn
        34: .line 565
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
        35: .line 566
            new javax.imageio.IIOException
            dup
            ldc "I/O error locating image!"
            aload 1 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   36     0          this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            1   31     1     blockType  I
            4   14     2  packedFields  I
            6    7     3          bits  I
            9   14     3        length  I
           19   23     2        length  I
           27   31     2        length  I
           35   36     1             e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0    13      32  Class java.io.EOFException
          14    15      32  Class java.io.EOFException
          16    25      32  Class java.io.EOFException
          26    32      32  Class java.io.EOFException
           0    13      34  Class java.io.IOException
          14    15      34  Class java.io.IOException
          16    25      34  Class java.io.IOException
          26    32      34  Class java.io.IOException
    Exceptions:
      throws javax.imageio.IIOException

  private int locateImage(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
        start local 1 // int imageIndex
         0: .line 571
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.readHeader:()V
         1: .line 575
            iload 1 /* imageIndex */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageStartPosition:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 2 /* index */
        start local 2 // int index
         2: .line 578
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageStartPosition:Ljava/util/List;
            iload 2 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.Long
            astore 3 /* l */
        start local 3 // java.lang.Long l
         3: .line 579
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 3 /* l */
            invokevirtual java.lang.Long.longValue:()J
            invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
         4: .line 582
            goto 12
         5: .line 583
      StackMap locals: int java.lang.Long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.skipImage:()Z
            ifne 9
         6: .line 584
            iinc 2 /* index */ -1
         7: .line 585
            iload 2 /* index */
         8: ireturn
         9: .line 588
      StackMap locals:
      StackMap stack:
            new java.lang.Long
            dup
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
            invokespecial java.lang.Long.<init>:(J)V
            astore 4 /* l1 */
        start local 4 // java.lang.Long l1
        10: .line 589
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageStartPosition:Ljava/util/List;
            aload 4 /* l1 */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 590
            iinc 2 /* index */ 1
        end local 4 // java.lang.Long l1
        12: .line 582
      StackMap locals:
      StackMap stack:
            iload 2 /* index */
            iload 1 /* imageIndex */
            if_icmplt 5
        end local 3 // java.lang.Long l
        end local 2 // int index
        13: .line 592
            goto 16
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader int
      StackMap stack: java.io.IOException
        14: astore 2 /* e */
        start local 2 // java.io.IOException e
        15: .line 593
            new javax.imageio.IIOException
            dup
            ldc "Couldn't seek!"
            aload 2 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
        16: .line 596
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.currIndex:I
            iload 1 /* imageIndex */
            if_icmpeq 18
        17: .line 597
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
        18: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* imageIndex */
            putfield com.sun.imageio.plugins.gif.GIFImageReader.currIndex:I
        19: .line 600
            iload 1 /* imageIndex */
            ireturn
        end local 1 // int imageIndex
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            0   20     1  imageIndex  I
            2   13     2       index  I
            3   13     3           l  Ljava/lang/Long;
           10   12     4          l1  Ljava/lang/Long;
           15   16     2           e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     8      14  Class java.io.IOException
           9    13      14  Class java.io.IOException
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
            Name  Flags
      imageIndex  

  private byte[] concatenateBlocks();
    descriptor: ()[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
         0: .line 605
            iconst_0
            newarray 8
            astore 1 /* data */
        start local 1 // byte[] data
         1: .line 607
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            istore 2 /* length */
        start local 2 // int length
         2: .line 608
            iload 2 /* length */
            ifne 4
         3: .line 609
            goto 9
         4: .line 611
      StackMap locals: int
      StackMap stack:
            aload 1 /* data */
            arraylength
            iload 2 /* length */
            iadd
            newarray 8
            astore 3 /* newData */
        start local 3 // byte[] newData
         5: .line 612
            aload 1 /* data */
            iconst_0
            aload 3 /* newData */
            iconst_0
            aload 1 /* data */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 613
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 3 /* newData */
            aload 1 /* data */
            arraylength
            iload 2 /* length */
            invokeinterface javax.imageio.stream.ImageInputStream.readFully:([BII)V
         7: .line 614
            aload 3 /* newData */
            astore 1 /* data */
        end local 3 // byte[] newData
        end local 2 // int length
         8: .line 606
            goto 1
         9: .line 617
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            areturn
        end local 1 // byte[] data
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            1   10     1     data  [B
            2    8     2   length  I
            5    8     3  newData  [B
    Exceptions:
      throws java.io.IOException

  private void readMetadata();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=13, args_size=1
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
         0: .line 622
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            ifnonnull 2
         1: .line 623
            new java.lang.IllegalStateException
            dup
            ldc "Input not set!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.sun.imageio.plugins.gif.GIFImageMetadata
            dup
            invokespecial com.sun.imageio.plugins.gif.GIFImageMetadata.<init>:()V
            putfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
         3: .line 630
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
            lstore 1 /* startPosition */
        start local 1 // long startPosition
         4: .line 632
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            istore 3 /* blockType */
        start local 3 // int blockType
         5: .line 633
            iload 3 /* blockType */
            bipush 44
            if_icmpne 36
         6: .line 634
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
         7: .line 635
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
         8: .line 634
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageLeftPosition:I
         9: .line 636
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
        10: .line 637
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
        11: .line 636
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageTopPosition:I
        12: .line 638
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageWidth:I
        13: .line 639
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageHeight:I
        14: .line 641
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            istore 4 /* idPackedFields */
        start local 4 // int idPackedFields
        15: .line 643
            iload 4 /* idPackedFields */
            sipush 128
            iand
            ifeq 16
            iconst_1
            goto 17
      StackMap locals: int int
      StackMap stack:
        16: iconst_0
        17: .line 642
      StackMap locals:
      StackMap stack: int
            istore 5 /* localColorTableFlag */
        start local 5 // boolean localColorTableFlag
        18: .line 644
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            iload 4 /* idPackedFields */
            bipush 64
            iand
            ifeq 19
            iconst_1
            goto 20
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader long int int int
      StackMap stack: com.sun.imageio.plugins.gif.GIFImageMetadata
        19: iconst_0
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader long int int int
      StackMap stack: com.sun.imageio.plugins.gif.GIFImageMetadata int
        20: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.interlaceFlag:Z
        21: .line 645
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            iload 4 /* idPackedFields */
            bipush 32
            iand
            ifeq 22
            iconst_1
            goto 23
      StackMap locals:
      StackMap stack: com.sun.imageio.plugins.gif.GIFImageMetadata
        22: iconst_0
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader long int int int
      StackMap stack: com.sun.imageio.plugins.gif.GIFImageMetadata int
        23: putfield com.sun.imageio.plugins.gif.GIFImageMetadata.sortFlag:Z
        24: .line 646
            iconst_1
            iload 4 /* idPackedFields */
            bipush 7
            iand
            iconst_1
            iadd
            ishl
            istore 6 /* numLCTEntries */
        start local 6 // int numLCTEntries
        25: .line 648
            iload 5 /* localColorTableFlag */
            ifeq 31
        26: .line 650
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
        27: .line 651
            iconst_3
            iload 6 /* numLCTEntries */
            imul
            newarray 8
        28: .line 650
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.localColorTable:[B
        29: .line 652
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.localColorTable:[B
            invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
        30: .line 653
            goto 32
        31: .line 654
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            aconst_null
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.localColorTable:[B
        32: .line 658
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        33: .line 659
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.getStreamPosition:()J
            lload 1 /* startPosition */
            lsub
            l2i
        34: .line 658
            putfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadataLength:I
        35: .line 662
            return
        end local 6 // int numLCTEntries
        end local 5 // boolean localColorTableFlag
        end local 4 // int idPackedFields
        36: .line 663
      StackMap locals:
      StackMap stack:
            iload 3 /* blockType */
            bipush 33
            if_icmpne 127
        37: .line 664
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            istore 4 /* label */
        start local 4 // int label
        38: .line 666
            iload 4 /* label */
            sipush 249
            if_icmpne 58
        39: .line 667
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            pop
        40: .line 668
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            istore 5 /* gcePackedFields */
        start local 5 // int gcePackedFields
        41: .line 669
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
        42: .line 670
            iload 5 /* gcePackedFields */
            iconst_2
            ishr
            iconst_3
            iand
        43: .line 669
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.disposalMethod:I
        44: .line 671
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
        45: .line 672
            iload 5 /* gcePackedFields */
            iconst_2
            iand
            ifeq 46
            iconst_1
            goto 47
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader long int int int
      StackMap stack: com.sun.imageio.plugins.gif.GIFImageMetadata
        46: iconst_0
        47: .line 671
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader long int int int
      StackMap stack: com.sun.imageio.plugins.gif.GIFImageMetadata int
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.userInputFlag:Z
        48: .line 673
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
        49: .line 674
            iload 5 /* gcePackedFields */
            iconst_1
            iand
            ifeq 50
            iconst_1
            goto 51
      StackMap locals:
      StackMap stack: com.sun.imageio.plugins.gif.GIFImageMetadata
        50: iconst_0
        51: .line 673
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader long int int int
      StackMap stack: com.sun.imageio.plugins.gif.GIFImageMetadata int
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.transparentColorFlag:Z
        52: .line 676
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.delayTime:I
        53: .line 677
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
        54: .line 678
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
        55: .line 677
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.transparentColorIndex:I
        56: .line 680
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            pop
        end local 5 // int gcePackedFields
        57: .line 681
            goto 4
      StackMap locals:
      StackMap stack:
        58: iload 4 /* label */
            iconst_1
            if_icmpne 87
        59: .line 682
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            pop
        60: .line 683
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            iconst_1
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.hasPlainTextExtension:Z
        61: .line 684
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
        62: .line 685
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
        63: .line 684
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.textGridLeft:I
        64: .line 686
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
        65: .line 687
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
        66: .line 686
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.textGridTop:I
        67: .line 688
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
        68: .line 689
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
        69: .line 688
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.textGridWidth:I
        70: .line 690
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
        71: .line 691
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedShort:()I
        72: .line 690
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.textGridHeight:I
        73: .line 692
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
        74: .line 693
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
        75: .line 692
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.characterCellWidth:I
        76: .line 694
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
        77: .line 695
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
        78: .line 694
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.characterCellHeight:I
        79: .line 696
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
        80: .line 697
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
        81: .line 696
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.textForegroundColor:I
        82: .line 698
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
        83: .line 699
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
        84: .line 698
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.textBackgroundColor:I
        85: .line 700
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.concatenateBlocks:()[B
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.text:[B
        86: .line 701
            goto 4
      StackMap locals:
      StackMap stack:
        87: iload 4 /* label */
            sipush 254
            if_icmpne 93
        88: .line 702
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.concatenateBlocks:()[B
            astore 5 /* comment */
        start local 5 // byte[] comment
        89: .line 703
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.comments:Ljava/util/List;
            ifnonnull 91
        90: .line 704
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.comments:Ljava/util/List;
        91: .line 706
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.comments:Ljava/util/List;
            aload 5 /* comment */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // byte[] comment
        92: .line 707
            goto 4
      StackMap locals:
      StackMap stack:
        93: iload 4 /* label */
            sipush 255
            if_icmpne 121
        94: .line 708
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            istore 5 /* blockSize */
        start local 5 // int blockSize
        95: .line 709
            bipush 8
            newarray 8
            astore 6 /* applicationID */
        start local 6 // byte[] applicationID
        96: .line 710
            iconst_3
            newarray 8
            astore 7 /* authCode */
        start local 7 // byte[] authCode
        97: .line 713
            iload 5 /* blockSize */
            newarray 8
            astore 8 /* blockData */
        start local 8 // byte[] blockData
        98: .line 714
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 8 /* blockData */
            invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
        99: .line 716
            aload 0 /* this */
            aload 8 /* blockData */
            iconst_0
            aload 6 /* applicationID */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.copyData:([BI[B)I
            istore 9 /* offset */
        start local 9 // int offset
       100: .line 717
            aload 0 /* this */
            aload 8 /* blockData */
            iload 9 /* offset */
            aload 7 /* authCode */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.copyData:([BI[B)I
            istore 9 /* offset */
       101: .line 719
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.concatenateBlocks:()[B
            astore 10 /* applicationData */
        start local 10 // byte[] applicationData
       102: .line 721
            iload 9 /* offset */
            iload 5 /* blockSize */
            if_icmpge 111
       103: .line 722
            iload 5 /* blockSize */
            iload 9 /* offset */
            isub
            istore 11 /* len */
        start local 11 // int len
       104: .line 724
            iload 11 /* len */
            aload 10 /* applicationData */
            arraylength
            iadd
            newarray 8
       105: .line 723
            astore 12 /* data */
        start local 12 // byte[] data
       106: .line 726
            aload 8 /* blockData */
            iload 9 /* offset */
            aload 12 /* data */
            iconst_0
            iload 11 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       107: .line 727
            aload 10 /* applicationData */
            iconst_0
            aload 12 /* data */
            iload 11 /* len */
       108: .line 728
            aload 10 /* applicationData */
            arraylength
       109: .line 727
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       110: .line 730
            aload 12 /* data */
            astore 10 /* applicationData */
        end local 12 // byte[] data
        end local 11 // int len
       111: .line 734
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader long int int int byte[] byte[] byte[] int byte[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.applicationIDs:Ljava/util/List;
            ifnonnull 117
       112: .line 735
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.applicationIDs:Ljava/util/List;
       113: .line 736
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
       114: .line 737
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
       115: .line 736
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.authenticationCodes:Ljava/util/List;
       116: .line 738
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.imageio.plugins.gif.GIFImageMetadata.applicationData:Ljava/util/List;
       117: .line 740
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.applicationIDs:Ljava/util/List;
            aload 6 /* applicationID */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       118: .line 741
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.authenticationCodes:Ljava/util/List;
            aload 7 /* authCode */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       119: .line 742
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.applicationData:Ljava/util/List;
            aload 10 /* applicationData */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // byte[] applicationData
        end local 9 // int offset
        end local 8 // byte[] blockData
        end local 7 // byte[] authCode
        end local 6 // byte[] applicationID
        end local 5 // int blockSize
       120: .line 743
            goto 4
       121: .line 745
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader long int int
      StackMap stack:
            iconst_0
            istore 5 /* length */
        start local 5 // int length
       122: .line 747
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            istore 5 /* length */
       123: .line 748
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            iload 5 /* length */
            invokeinterface javax.imageio.stream.ImageInputStream.skipBytes:(I)I
            pop
       124: .line 749
            iload 5 /* length */
       125: .line 746
            ifgt 122
        end local 5 // int length
        end local 4 // int label
       126: .line 751
            goto 4
      StackMap locals:
      StackMap stack:
       127: iload 3 /* blockType */
            bipush 59
            if_icmpne 131
       128: .line 752
            new java.lang.IndexOutOfBoundsException
            dup
       129: .line 753
            ldc "Attempt to read past end of image sequence!"
       130: .line 752
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
       131: .line 755
      StackMap locals:
      StackMap stack:
            new javax.imageio.IIOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected block type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       132: .line 756
            iload 3 /* blockType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       133: .line 755
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int blockType
        end local 1 // long startPosition
       134: .line 759
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader
      StackMap stack: javax.imageio.IIOException
            astore 1 /* iioe */
        start local 1 // javax.imageio.IIOException iioe
       135: .line 760
            aload 1 /* iioe */
            athrow
        end local 1 // javax.imageio.IIOException iioe
       136: .line 761
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
       137: .line 762
            new javax.imageio.IIOException
            dup
            ldc "I/O error reading image metadata!"
            aload 1 /* ioe */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException ioe
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  138     0                 this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            4  134     1        startPosition  J
            5  134     3            blockType  I
           15   36     4       idPackedFields  I
           18   36     5  localColorTableFlag  Z
           25   36     6        numLCTEntries  I
           38  126     4                label  I
           41   57     5      gcePackedFields  I
           89   92     5              comment  [B
           95  120     5            blockSize  I
           96  120     6        applicationID  [B
           97  120     7             authCode  [B
           98  120     8            blockData  [B
          100  120     9               offset  I
          102  120    10      applicationData  [B
          104  111    11                  len  I
          106  111    12                 data  [B
          122  126     5               length  I
          135  136     1                 iioe  Ljavax/imageio/IIOException;
          137  138     1                  ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2    35     134  Class javax.imageio.IIOException
          36   134     134  Class javax.imageio.IIOException
           2    35     136  Class java.io.IOException
          36   134     136  Class java.io.IOException
    Exceptions:
      throws javax.imageio.IIOException

  private int copyData(byte[], int, byte[]);
    descriptor: ([BI[B)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
        start local 1 // byte[] src
        start local 2 // int offset
        start local 3 // byte[] dst
         0: .line 767
            aload 3 /* dst */
            arraylength
            istore 4 /* len */
        start local 4 // int len
         1: .line 768
            aload 1 /* src */
            arraylength
            iload 2 /* offset */
            isub
            istore 5 /* rest */
        start local 5 // int rest
         2: .line 769
            iload 4 /* len */
            iload 5 /* rest */
            if_icmple 4
         3: .line 770
            iload 5 /* rest */
            istore 4 /* len */
         4: .line 772
      StackMap locals: int int
      StackMap stack:
            aload 1 /* src */
            iload 2 /* offset */
            aload 3 /* dst */
            iconst_0
            iload 4 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 773
            iload 2 /* offset */
            iload 4 /* len */
            iadd
            ireturn
        end local 5 // int rest
        end local 4 // int len
        end local 3 // byte[] dst
        end local 2 // int offset
        end local 1 // byte[] src
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            0    6     1     src  [B
            0    6     2  offset  I
            0    6     3     dst  [B
            1    6     4     len  I
            2    6     5    rest  I
    MethodParameters:
        Name  Flags
      src     
      offset  
      dst     

  private void startPass(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=14, locals=6, args_size=2
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
        start local 1 // int pass
         0: .line 777
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.updateListeners:Ljava/util/List;
            ifnonnull 2
         1: .line 778
            return
         2: .line 781
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* y */
        start local 2 // int y
         3: .line 782
            iconst_1
            istore 3 /* yStep */
        start local 3 // int yStep
         4: .line 783
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.interlaceFlag:Z
            ifeq 7
         5: .line 784
            getstatic com.sun.imageio.plugins.gif.GIFImageReader.interlaceOffset:[I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
            iaload
            istore 2 /* y */
         6: .line 785
            getstatic com.sun.imageio.plugins.gif.GIFImageReader.interlaceIncrement:[I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
            iaload
            istore 3 /* yStep */
         7: .line 789
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
         8: .line 790
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationOffset:Ljava/awt/Point;
         9: .line 791
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.x:I
        10: .line 792
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
        11: .line 793
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.x:I
        12: .line 794
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.width:I
        13: .line 793
            iadd
        14: .line 794
            iconst_1
        15: .line 793
            isub
        16: .line 795
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
        17: .line 796
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.height:I
        18: .line 795
            iadd
        19: .line 796
            iconst_1
        20: .line 795
            isub
        21: .line 797
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceXSubsampling:I
        22: .line 798
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceYSubsampling:I
        23: .line 799
            iconst_0
        24: .line 800
            iload 2 /* y */
        25: .line 801
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.width:I
        26: .line 802
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.height:I
            iload 3 /* yStep */
            iadd
            iconst_1
            isub
            iload 3 /* yStep */
            idiv
        27: .line 803
            iconst_1
        28: .line 804
            iload 3 /* yStep */
        29: .line 789
            invokestatic com.sun.imageio.plugins.common.ReaderUtil.computeUpdatedPixels:(Ljava/awt/Rectangle;Ljava/awt/Point;IIIIIIIIIIII)[I
        30: .line 788
            astore 4 /* vals */
        start local 4 // int[] vals
        31: .line 807
            aload 0 /* this */
            aload 4 /* vals */
            iconst_1
            iaload
            putfield com.sun.imageio.plugins.gif.GIFImageReader.updateMinY:I
        32: .line 808
            aload 0 /* this */
            aload 4 /* vals */
            iconst_5
            iaload
            putfield com.sun.imageio.plugins.gif.GIFImageReader.updateYStep:I
        33: .line 811
            iconst_1
            newarray 10
            astore 5 /* bands */
        start local 5 // int[] bands
        34: .line 813
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
        35: .line 814
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
        36: .line 815
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMinProgressivePass:I
        37: .line 816
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMaxProgressivePass:I
        38: .line 817
            iconst_0
        39: .line 818
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.updateMinY:I
        40: .line 819
            iconst_1
        41: .line 820
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.updateYStep:I
        42: .line 821
            aload 5 /* bands */
        43: .line 813
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processPassStarted:(Ljava/awt/image/BufferedImage;IIIIIII[I)V
        44: .line 822
            return
        end local 5 // int[] bands
        end local 4 // int[] vals
        end local 3 // int yStep
        end local 2 // int y
        end local 1 // int pass
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   45     0   this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            0   45     1   pass  I
            3   45     2      y  I
            4   45     3  yStep  I
           31   45     4   vals  [I
           34   45     5  bands  [I
    MethodParameters:
      Name  Flags
      pass  

  public java.awt.image.BufferedImage read(int, javax.imageio.ImageReadParam);
    descriptor: (ILjavax/imageio/ImageReadParam;)Ljava/awt/image/BufferedImage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=20, args_size=3
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
        start local 1 // int imageIndex
        start local 2 // javax.imageio.ImageReadParam param
         0: .line 826
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            ifnonnull 2
         1: .line 827
            new java.lang.IllegalStateException
            dup
            ldc "Input not set!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 829
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.checkIndex:(I)V
         3: .line 831
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.locateImage:(I)I
            istore 3 /* index */
        start local 3 // int index
         4: .line 832
            iload 3 /* index */
            iload 1 /* imageIndex */
            if_icmpeq 6
         5: .line 833
            new java.lang.IndexOutOfBoundsException
            dup
            ldc "imageIndex out of bounds!"
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 836
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.clearAbortRequest:()V
         7: .line 837
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.readMetadata:()V
         8: .line 840
            aload 2 /* param */
            ifnonnull 10
         9: .line 841
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.getDefaultReadParam:()Ljavax/imageio/ImageReadParam;
            astore 2 /* param */
        10: .line 845
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.getImageTypes:(I)Ljava/util/Iterator;
            astore 4 /* imageTypes */
        start local 4 // java.util.Iterator imageTypes
        11: .line 846
            aload 0 /* this */
            aload 2 /* param */
        12: .line 847
            aload 4 /* imageTypes */
        13: .line 848
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageWidth:I
        14: .line 849
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageHeight:I
        15: .line 846
            invokestatic com.sun.imageio.plugins.gif.GIFImageReader.getDestination:(Ljavax/imageio/ImageReadParam;Ljava/util/Iterator;II)Ljava/awt/image/BufferedImage;
            putfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
        16: .line 850
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
            iconst_0
            iconst_0
            invokevirtual java.awt.image.BufferedImage.getWritableTile:(II)Ljava/awt/image/WritableRaster;
            putfield com.sun.imageio.plugins.gif.GIFImageReader.theTile:Ljava/awt/image/WritableRaster;
        17: .line 851
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageWidth:I
            putfield com.sun.imageio.plugins.gif.GIFImageReader.width:I
        18: .line 852
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
            getfield com.sun.imageio.plugins.gif.GIFImageMetadata.imageHeight:I
            putfield com.sun.imageio.plugins.gif.GIFImageReader.height:I
        19: .line 853
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
        20: .line 854
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
        21: .line 855
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.rowsDone:I
        22: .line 856
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
        23: .line 861
            aload 0 /* this */
            new java.awt.Rectangle
            dup
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            putfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
        24: .line 862
            aload 0 /* this */
            new java.awt.Rectangle
            dup
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokespecial java.awt.Rectangle.<init>:(IIII)V
            putfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
        25: .line 863
            aload 2 /* param */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.width:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.height:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
        26: .line 864
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
        27: .line 863
            invokestatic com.sun.imageio.plugins.gif.GIFImageReader.computeRegions:(Ljavax/imageio/ImageReadParam;IILjava/awt/image/BufferedImage;Ljava/awt/Rectangle;Ljava/awt/Rectangle;)V
        28: .line 865
            aload 0 /* this */
            new java.awt.Point
            dup
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.x:I
        29: .line 866
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
            invokespecial java.awt.Point.<init>:(II)V
        30: .line 865
            putfield com.sun.imageio.plugins.gif.GIFImageReader.destinationOffset:Ljava/awt/Point;
        31: .line 868
            aload 0 /* this */
            aload 2 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceXSubsampling:()I
            putfield com.sun.imageio.plugins.gif.GIFImageReader.sourceXSubsampling:I
        32: .line 869
            aload 0 /* this */
            aload 2 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceYSubsampling:()I
            putfield com.sun.imageio.plugins.gif.GIFImageReader.sourceYSubsampling:I
        33: .line 870
            aload 0 /* this */
        34: .line 871
            aload 2 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceMinProgressivePass:()I
            iconst_0
            invokestatic java.lang.Math.max:(II)I
        35: .line 870
            putfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMinProgressivePass:I
        36: .line 872
            aload 0 /* this */
        37: .line 873
            aload 2 /* param */
            invokevirtual javax.imageio.ImageReadParam.getSourceMaxProgressivePass:()I
            iconst_3
            invokestatic java.lang.Math.min:(II)I
        38: .line 872
            putfield com.sun.imageio.plugins.gif.GIFImageReader.sourceMaxProgressivePass:I
        39: .line 875
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.destinationRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
        40: .line 876
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceRegion:Ljava/awt/Rectangle;
            getfield java.awt.Rectangle.y:I
            isub
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.sourceYSubsampling:I
            idiv
            iadd
        41: .line 875
            putfield com.sun.imageio.plugins.gif.GIFImageReader.destY:I
        42: .line 877
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.computeDecodeThisRow:()V
        43: .line 880
            aload 0 /* this */
            iload 1 /* imageIndex */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processImageStarted:(I)V
        44: .line 881
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.startPass:(I)V
        45: .line 883
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.width:I
            newarray 8
            putfield com.sun.imageio.plugins.gif.GIFImageReader.rowBuf:[B
        46: .line 887
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
        47: .line 889
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
            iconst_1
            if_icmplt 48
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
            bipush 8
            if_icmple 49
        48: .line 890
      StackMap locals: java.util.Iterator
      StackMap stack:
            new javax.imageio.IIOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad code size:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
            athrow
        49: .line 894
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            invokeinterface javax.imageio.stream.ImageInputStream.readUnsignedByte:()I
            putfield com.sun.imageio.plugins.gif.GIFImageReader.blockLength:I
        50: .line 895
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.blockLength:I
            istore 5 /* left */
        start local 5 // int left
        51: .line 896
            iconst_0
            istore 6 /* off */
        start local 6 // int off
        52: .line 897
            goto 56
        53: .line 898
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.stream:Ljavax/imageio/stream/ImageInputStream;
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.block:[B
            iload 6 /* off */
            iload 5 /* left */
            invokeinterface javax.imageio.stream.ImageInputStream.read:([BII)I
            istore 7 /* nbytes */
        start local 7 // int nbytes
        54: .line 899
            iload 5 /* left */
            iload 7 /* nbytes */
            isub
            istore 5 /* left */
        55: .line 900
            iload 6 /* off */
            iload 7 /* nbytes */
            iadd
            istore 6 /* off */
        end local 7 // int nbytes
        56: .line 897
      StackMap locals:
      StackMap stack:
            iload 5 /* left */
            ifgt 53
        57: .line 903
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
        58: .line 904
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.nextByte:I
        59: .line 905
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.lastBlockFound:Z
        60: .line 906
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
        61: .line 909
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.initNext32Bits:()V
        62: .line 911
            aload 0 /* this */
            iconst_1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
            ishl
            putfield com.sun.imageio.plugins.gif.GIFImageReader.clearCode:I
        63: .line 912
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.clearCode:I
            iconst_1
            iadd
            putfield com.sun.imageio.plugins.gif.GIFImageReader.eofCode:I
        64: .line 914
            iconst_0
            istore 8 /* oldCode */
        start local 8 // int oldCode
        65: .line 916
            sipush 4096
            newarray 10
            astore 9 /* prefix */
        start local 9 // int[] prefix
        66: .line 917
            sipush 4096
            newarray 8
            astore 10 /* suffix */
        start local 10 // byte[] suffix
        67: .line 918
            sipush 4096
            newarray 8
            astore 11 /* initial */
        start local 11 // byte[] initial
        68: .line 919
            sipush 4096
            newarray 10
            astore 12 /* length */
        start local 12 // int[] length
        69: .line 920
            sipush 4096
            newarray 8
            astore 13 /* string */
        start local 13 // byte[] string
        70: .line 922
            aload 0 /* this */
            aload 9 /* prefix */
            aload 10 /* suffix */
            aload 11 /* initial */
            aload 12 /* length */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.initializeStringTable:([I[B[B[I)V
        71: .line 923
            iconst_1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
            ishl
            iconst_2
            iadd
            istore 14 /* tableIndex */
        start local 14 // int tableIndex
        72: .line 924
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
            iconst_1
            iadd
            istore 15 /* codeSize */
        start local 15 // int codeSize
        73: .line 925
            iconst_1
            iload 15 /* codeSize */
            ishl
            iconst_1
            isub
            istore 16 /* codeMask */
        start local 16 // int codeMask
        74: .line 927
            goto 117
        75: .line 928
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader int javax.imageio.ImageReadParam int java.util.Iterator int int top int int[] byte[] byte[] int[] byte[] int int int
      StackMap stack:
            aload 0 /* this */
            iload 15 /* codeSize */
            iload 16 /* codeMask */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.getCode:(II)I
            istore 7 /* code */
        start local 7 // int code
        76: .line 930
            iload 7 /* code */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.clearCode:I
            if_icmpne 86
        77: .line 931
            aload 0 /* this */
            aload 9 /* prefix */
            aload 10 /* suffix */
            aload 11 /* initial */
            aload 12 /* length */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.initializeStringTable:([I[B[B[I)V
        78: .line 932
            iconst_1
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
            ishl
            iconst_2
            iadd
            istore 14 /* tableIndex */
        79: .line 933
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.initCodeSize:I
            iconst_1
            iadd
            istore 15 /* codeSize */
        80: .line 934
            iconst_1
            iload 15 /* codeSize */
            ishl
            iconst_1
            isub
            istore 16 /* codeMask */
        81: .line 936
            aload 0 /* this */
            iload 15 /* codeSize */
            iload 16 /* codeMask */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.getCode:(II)I
            istore 7 /* code */
        82: .line 937
            iload 7 /* code */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.eofCode:I
            if_icmpne 107
        83: .line 939
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processImageComplete:()V
        84: .line 940
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
        85: areturn
        86: .line 942
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader int javax.imageio.ImageReadParam int java.util.Iterator int int int int int[] byte[] byte[] int[] byte[] int int int
      StackMap stack:
            iload 7 /* code */
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.eofCode:I
            if_icmpne 90
        87: .line 944
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processImageComplete:()V
        88: .line 945
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
        89: areturn
        90: .line 948
      StackMap locals:
      StackMap stack:
            iload 7 /* code */
            iload 14 /* tableIndex */
            if_icmpge 93
        91: .line 949
            iload 7 /* code */
            istore 17 /* newSuffixIndex */
        start local 17 // int newSuffixIndex
        92: .line 950
            goto 96
        end local 17 // int newSuffixIndex
        93: .line 951
      StackMap locals:
      StackMap stack:
            iload 8 /* oldCode */
            istore 17 /* newSuffixIndex */
        start local 17 // int newSuffixIndex
        94: .line 952
            iload 7 /* code */
            iload 14 /* tableIndex */
            if_icmpeq 96
        95: .line 955
            aload 0 /* this */
            ldc "Out-of-sequence code!"
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processWarningOccurred:(Ljava/lang/String;)V
        96: .line 959
      StackMap locals: int
      StackMap stack:
            iload 14 /* tableIndex */
            istore 18 /* ti */
        start local 18 // int ti
        97: .line 960
            iload 8 /* oldCode */
            istore 19 /* oc */
        start local 19 // int oc
        98: .line 962
            aload 9 /* prefix */
            iload 18 /* ti */
            iload 19 /* oc */
            iastore
        99: .line 963
            aload 10 /* suffix */
            iload 18 /* ti */
            aload 11 /* initial */
            iload 17 /* newSuffixIndex */
            baload
            bastore
       100: .line 964
            aload 11 /* initial */
            iload 18 /* ti */
            aload 11 /* initial */
            iload 19 /* oc */
            baload
            bastore
       101: .line 965
            aload 12 /* length */
            iload 18 /* ti */
            aload 12 /* length */
            iload 19 /* oc */
            iaload
            iconst_1
            iadd
            iastore
       102: .line 967
            iinc 14 /* tableIndex */ 1
       103: .line 968
            iload 14 /* tableIndex */
            iconst_1
            iload 15 /* codeSize */
            ishl
            if_icmpne 107
       104: .line 969
            iload 14 /* tableIndex */
            sipush 4096
            if_icmpge 107
       105: .line 970
            iinc 15 /* codeSize */ 1
       106: .line 971
            iconst_1
            iload 15 /* codeSize */
            ishl
            iconst_1
            isub
            istore 16 /* codeMask */
        end local 19 // int oc
        end local 18 // int ti
        end local 17 // int newSuffixIndex
       107: .line 976
      StackMap locals:
      StackMap stack:
            iload 7 /* code */
            istore 17 /* c */
        start local 17 // int c
       108: .line 977
            aload 12 /* length */
            iload 17 /* c */
            iaload
            istore 18 /* len */
        start local 18 // int len
       109: .line 978
            iload 18 /* len */
            iconst_1
            isub
            istore 19 /* i */
        start local 19 // int i
       110: goto 114
       111: .line 979
      StackMap locals: int int int
      StackMap stack:
            aload 13 /* string */
            iload 19 /* i */
            aload 10 /* suffix */
            iload 17 /* c */
            baload
            bastore
       112: .line 980
            aload 9 /* prefix */
            iload 17 /* c */
            iaload
            istore 17 /* c */
       113: .line 978
            iinc 19 /* i */ -1
      StackMap locals:
      StackMap stack:
       114: iload 19 /* i */
            ifge 111
        end local 19 // int i
       115: .line 983
            aload 0 /* this */
            aload 13 /* string */
            iload 18 /* len */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.outputPixels:([BI)V
       116: .line 984
            iload 7 /* code */
            istore 8 /* oldCode */
        end local 18 // int len
        end local 17 // int c
        end local 7 // int code
       117: .line 927
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader int javax.imageio.ImageReadParam int java.util.Iterator int int top int int[] byte[] byte[] int[] byte[] int int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.abortRequested:()Z
            ifeq 75
       118: .line 987
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.processReadAborted:()V
       119: .line 988
            aload 0 /* this */
            getfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
       120: areturn
        end local 16 // int codeMask
        end local 15 // int codeSize
        end local 14 // int tableIndex
        end local 13 // byte[] string
        end local 12 // int[] length
        end local 11 // byte[] initial
        end local 10 // byte[] suffix
        end local 9 // int[] prefix
        end local 8 // int oldCode
        end local 6 // int off
        end local 5 // int left
       121: .line 989
      StackMap locals: com.sun.imageio.plugins.gif.GIFImageReader int javax.imageio.ImageReadParam int java.util.Iterator
      StackMap stack: java.io.IOException
            astore 5 /* e */
        start local 5 // java.io.IOException e
       122: .line 990
            new javax.imageio.IIOException
            dup
            ldc "I/O error reading image!"
            aload 5 /* e */
            invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.IOException e
        end local 4 // java.util.Iterator imageTypes
        end local 3 // int index
        end local 2 // javax.imageio.ImageReadParam param
        end local 1 // int imageIndex
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  123     0            this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
            0  123     1      imageIndex  I
            0  123     2           param  Ljavax/imageio/ImageReadParam;
            4  123     3           index  I
           11  123     4      imageTypes  Ljava/util/Iterator;
           51  121     5            left  I
           52  121     6             off  I
           54   56     7          nbytes  I
           76  117     7            code  I
           65  121     8         oldCode  I
           66  121     9          prefix  [I
           67  121    10          suffix  [B
           68  121    11         initial  [B
           69  121    12          length  [I
           70  121    13          string  [B
           72  121    14      tableIndex  I
           73  121    15        codeSize  I
           74  121    16        codeMask  I
           92   93    17  newSuffixIndex  I
           94  107    17  newSuffixIndex  I
           97  107    18              ti  I
           98  107    19              oc  I
          108  117    17               c  I
          109  117    18             len  I
          110  115    19               i  I
          122  123     5               e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          46    85     121  Class java.io.IOException
          86    89     121  Class java.io.IOException
          90   120     121  Class java.io.IOException
    Exceptions:
      throws javax.imageio.IIOException
    MethodParameters:
            Name  Flags
      imageIndex  
      param       

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
         0: .line 999
            aload 0 /* this */
            invokespecial javax.imageio.ImageReader.reset:()V
         1: .line 1000
            aload 0 /* this */
            invokevirtual com.sun.imageio.plugins.gif.GIFImageReader.resetStreamSettings:()V
         2: .line 1001
            return
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/imageio/plugins/gif/GIFImageReader;

  private void resetStreamSettings();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
         0: .line 1007
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.gotHeader:Z
         1: .line 1008
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.gif.GIFImageReader.streamMetadata:Lcom/sun/imageio/plugins/gif/GIFStreamMetadata;
         2: .line 1009
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.gif.GIFImageReader.currIndex:I
         3: .line 1010
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.gif.GIFImageReader.imageMetadata:Lcom/sun/imageio/plugins/gif/GIFImageMetadata;
         4: .line 1011
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.imageio.plugins.gif.GIFImageReader.imageStartPosition:Ljava/util/List;
         5: .line 1012
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.gif.GIFImageReader.numImages:I
         6: .line 1015
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.blockLength:I
         7: .line 1016
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.bitPos:I
         8: .line 1017
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.nextByte:I
         9: .line 1019
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.next32Bits:I
        10: .line 1020
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.lastBlockFound:Z
        11: .line 1022
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.gif.GIFImageReader.theImage:Ljava/awt/image/BufferedImage;
        12: .line 1023
            aload 0 /* this */
            aconst_null
            putfield com.sun.imageio.plugins.gif.GIFImageReader.theTile:Ljava/awt/image/WritableRaster;
        13: .line 1024
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.gif.GIFImageReader.width:I
        14: .line 1025
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.gif.GIFImageReader.height:I
        15: .line 1026
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.gif.GIFImageReader.streamX:I
        16: .line 1027
            aload 0 /* this */
            iconst_m1
            putfield com.sun.imageio.plugins.gif.GIFImageReader.streamY:I
        17: .line 1028
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.rowsDone:I
        18: .line 1029
            aload 0 /* this */
            iconst_0
            putfield com.sun.imageio.plugins.gif.GIFImageReader.interlacePass:I
        19: .line 1030
            return
        end local 0 // com.sun.imageio.plugins.gif.GIFImageReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lcom/sun/imageio/plugins/gif/GIFImageReader;
}
SourceFile: "GIFImageReader.java"