public class com.sun.javafx.iio.ImageStorage
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.javafx.iio.ImageStorage
  super_class: java.lang.Object
{
  private static final java.util.HashMap<com.sun.javafx.iio.ImageFormatDescription$Signature, com.sun.javafx.iio.ImageLoaderFactory> loaderFactoriesBySignature;
    descriptor: Ljava/util/HashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/HashMap<Lcom/sun/javafx/iio/ImageFormatDescription$Signature;Lcom/sun/javafx/iio/ImageLoaderFactory;>;

  private static final com.sun.javafx.iio.ImageLoaderFactory[] loaderFactories;
    descriptor: [Lcom/sun/javafx/iio/ImageLoaderFactory;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean isIOS;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static int maxSignatureLength;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static volatile int[] $SWITCH_TABLE$com$sun$javafx$iio$ImageStorage$ImageType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 121
            invokestatic com.sun.javafx.PlatformUtil.isIOS:()Z
            putstatic com.sun.javafx.iio.ImageStorage.isIOS:Z
         1: .line 126
            getstatic com.sun.javafx.iio.ImageStorage.isIOS:Z
            ifeq 6
         2: .line 129
            iconst_1
            anewarray com.sun.javafx.iio.ImageLoaderFactory
            dup
            iconst_0
         3: .line 130
            invokestatic com.sun.javafx.iio.ios.IosImageLoaderFactory.getInstance:()Lcom/sun/javafx/iio/ios/IosImageLoaderFactory;
            aastore
         4: .line 129
            putstatic com.sun.javafx.iio.ImageStorage.loaderFactories:[Lcom/sun/javafx/iio/ImageLoaderFactory;
         5: .line 132
            goto 12
         6: .line 133
      StackMap locals:
      StackMap stack:
            iconst_4
            anewarray com.sun.javafx.iio.ImageLoaderFactory
            dup
            iconst_0
         7: .line 134
            invokestatic com.sun.javafx.iio.gif.GIFImageLoaderFactory.getInstance:()Lcom/sun/javafx/iio/ImageLoaderFactory;
            aastore
            dup
            iconst_1
         8: .line 135
            invokestatic com.sun.javafx.iio.jpeg.JPEGImageLoaderFactory.getInstance:()Lcom/sun/javafx/iio/ImageLoaderFactory;
            aastore
            dup
            iconst_2
         9: .line 136
            invokestatic com.sun.javafx.iio.png.PNGImageLoaderFactory.getInstance:()Lcom/sun/javafx/iio/ImageLoaderFactory;
            aastore
            dup
            iconst_3
        10: .line 137
            invokestatic com.sun.javafx.iio.bmp.BMPImageLoaderFactory.getInstance:()Lcom/sun/javafx/iio/ImageLoaderFactory;
            aastore
        11: .line 133
            putstatic com.sun.javafx.iio.ImageStorage.loaderFactories:[Lcom/sun/javafx/iio/ImageLoaderFactory;
        12: .line 143
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactories:[Lcom/sun/javafx/iio/ImageLoaderFactory;
            arraylength
            invokespecial java.util.HashMap.<init>:(I)V
            putstatic com.sun.javafx.iio.ImageStorage.loaderFactoriesBySignature:Ljava/util/HashMap;
        13: .line 145
            iconst_0
            istore 0 /* i */
        start local 0 // int i
        14: goto 17
        15: .line 146
      StackMap locals: int
      StackMap stack:
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactories:[Lcom/sun/javafx/iio/ImageLoaderFactory;
            iload 0 /* i */
            aaload
            invokestatic com.sun.javafx.iio.ImageStorage.addImageLoaderFactory:(Lcom/sun/javafx/iio/ImageLoaderFactory;)V
        16: .line 145
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 0 /* i */
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactories:[Lcom/sun/javafx/iio/ImageLoaderFactory;
            arraylength
            if_icmplt 15
        end local 0 // int i
        18: .line 148
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
           14   18     0     i  I

  public static com.sun.javafx.iio.ImageFormatDescription[] getSupportedDescriptions();
    descriptor: ()[Lcom/sun/javafx/iio/ImageFormatDescription;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 151
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactories:[Lcom/sun/javafx/iio/ImageLoaderFactory;
            arraylength
            anewarray com.sun.javafx.iio.ImageFormatDescription
            astore 0 /* formats */
        start local 0 // com.sun.javafx.iio.ImageFormatDescription[] formats
         1: .line 152
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 5
         3: .line 153
      StackMap locals: com.sun.javafx.iio.ImageFormatDescription[] int
      StackMap stack:
            aload 0 /* formats */
            iload 1 /* i */
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactories:[Lcom/sun/javafx/iio/ImageLoaderFactory;
            iload 1 /* i */
            aaload
            invokeinterface com.sun.javafx.iio.ImageLoaderFactory.getFormatDescription:()Lcom/sun/javafx/iio/ImageFormatDescription;
            aastore
         4: .line 152
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* i */
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactories:[Lcom/sun/javafx/iio/ImageLoaderFactory;
            arraylength
            if_icmplt 3
        end local 1 // int i
         6: .line 155
            aload 0 /* formats */
            areturn
        end local 0 // com.sun.javafx.iio.ImageFormatDescription[] formats
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            1    7     0  formats  [Lcom/sun/javafx/iio/ImageFormatDescription;
            2    6     1        i  I

  public static int getNumBands(com.sun.javafx.iio.ImageStorage$ImageType);
    descriptor: (Lcom/sun/javafx/iio/ImageStorage$ImageType;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.sun.javafx.iio.ImageStorage$ImageType type
         0: .line 165
            iconst_m1
            istore 1 /* numBands */
        start local 1 // int numBands
         1: .line 166
            invokestatic com.sun.javafx.iio.ImageStorage.$SWITCH_TABLE$com$sun$javafx$iio$ImageStorage$ImageType:()[I
            aload 0 /* type */
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            iaload
            tableswitch { // 1 - 10
                    1: 2
                    2: 4
                    3: 4
                    4: 2
                    5: 2
                    6: 2
                    7: 2
                    8: 6
                    9: 8
                   10: 8
              default: 10
          }
         2: .line 172
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 1 /* numBands */
         3: .line 173
            goto 11
         4: .line 176
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 1 /* numBands */
         5: .line 177
            goto 11
         6: .line 179
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 1 /* numBands */
         7: .line 180
            goto 11
         8: .line 183
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 1 /* numBands */
         9: .line 184
            goto 11
        10: .line 186
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown ImageType "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 188
      StackMap locals:
      StackMap stack:
            iload 1 /* numBands */
            ireturn
        end local 1 // int numBands
        end local 0 // com.sun.javafx.iio.ImageStorage$ImageType type
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      type  Lcom/sun/javafx/iio/ImageStorage$ImageType;
            1   12     1  numBands  I
    MethodParameters:
      Name  Flags
      type  

  public static void addImageLoaderFactory(com.sun.javafx.iio.ImageLoaderFactory);
    descriptor: (Lcom/sun/javafx/iio/ImageLoaderFactory;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.sun.javafx.iio.ImageLoaderFactory factory
         0: .line 199
            aload 0 /* factory */
            invokeinterface com.sun.javafx.iio.ImageLoaderFactory.getFormatDescription:()Lcom/sun/javafx/iio/ImageFormatDescription;
            astore 1 /* desc */
        start local 1 // com.sun.javafx.iio.ImageFormatDescription desc
         1: .line 205
            aload 1 /* desc */
            invokeinterface com.sun.javafx.iio.ImageFormatDescription.getSignatures:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: com.sun.javafx.iio.ImageLoaderFactory com.sun.javafx.iio.ImageFormatDescription top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.javafx.iio.ImageFormatDescription$Signature
            astore 2 /* signature */
        start local 2 // com.sun.javafx.iio.ImageFormatDescription$Signature signature
         3: .line 206
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactoriesBySignature:Ljava/util/HashMap;
            aload 2 /* signature */
            aload 0 /* factory */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // com.sun.javafx.iio.ImageFormatDescription$Signature signature
         4: .line 205
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 210
            ldc Lcom/sun/javafx/iio/ImageStorage;
            dup
            astore 2
            monitorenter
         6: .line 211
            iconst_m1
            putstatic com.sun.javafx.iio.ImageStorage.maxSignatureLength:I
         7: .line 210
            aload 2
            monitorexit
         8: goto 11
      StackMap locals: com.sun.javafx.iio.ImageLoaderFactory com.sun.javafx.iio.ImageFormatDescription java.lang.Class
      StackMap stack: java.lang.Throwable
         9: aload 2
            monitorexit
        10: athrow
        11: .line 213
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.javafx.iio.ImageFormatDescription desc
        end local 0 // com.sun.javafx.iio.ImageLoaderFactory factory
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0    factory  Lcom/sun/javafx/iio/ImageLoaderFactory;
            1   12     1       desc  Lcom/sun/javafx/iio/ImageFormatDescription;
            3    4     2  signature  Lcom/sun/javafx/iio/ImageFormatDescription$Signature;
      Exception table:
        from    to  target  type
           6     8       9  any
           9    10       9  any
    MethodParameters:
         Name  Flags
      factory  

  public static com.sun.javafx.iio.ImageFrame[] loadAll(java.io.InputStream, com.sun.javafx.iio.ImageLoadListener, double, double, boolean, float, boolean);
    descriptor: (Ljava/io/InputStream;Lcom/sun/javafx/iio/ImageLoadListener;DDZFZ)[Lcom/sun/javafx/iio/ImageFrame;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=11, args_size=7
        start local 0 // java.io.InputStream input
        start local 1 // com.sun.javafx.iio.ImageLoadListener listener
        start local 2 // double width
        start local 4 // double height
        start local 6 // boolean preserveAspectRatio
        start local 7 // float pixelScale
        start local 8 // boolean smooth
         0: .line 259
            aconst_null
            astore 9 /* loader */
        start local 9 // com.sun.javafx.iio.ImageLoader loader
         1: .line 261
            getstatic com.sun.javafx.iio.ImageStorage.isIOS:Z
            ifeq 4
         2: .line 264
            invokestatic com.sun.javafx.iio.ios.IosImageLoaderFactory.getInstance:()Lcom/sun/javafx/iio/ios/IosImageLoaderFactory;
            aload 0 /* input */
            invokevirtual com.sun.javafx.iio.ios.IosImageLoaderFactory.createImageLoader:(Ljava/io/InputStream;)Lcom/sun/javafx/iio/ImageLoader;
            astore 9 /* loader */
         3: .line 265
            goto 8
         4: .line 266
      StackMap locals: com.sun.javafx.iio.ImageLoader
      StackMap stack:
            aload 0 /* input */
            aload 1 /* listener */
            invokestatic com.sun.javafx.iio.ImageStorage.getLoaderBySignature:(Ljava/io/InputStream;Lcom/sun/javafx/iio/ImageLoadListener;)Lcom/sun/javafx/iio/ImageLoader;
            astore 9 /* loader */
         5: .line 268
            goto 8
      StackMap locals:
      StackMap stack: java.io.IOException
         6: astore 10 /* e */
        start local 10 // java.io.IOException e
         7: .line 269
            new com.sun.javafx.iio.ImageStorageException
            dup
            aload 10 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 10 /* e */
            invokespecial com.sun.javafx.iio.ImageStorageException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 10 // java.io.IOException e
         8: .line 272
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 10 /* images */
        start local 10 // com.sun.javafx.iio.ImageFrame[] images
         9: .line 273
            aload 9 /* loader */
            ifnull 12
        10: .line 274
            aload 9 /* loader */
            dload 2 /* width */
            dload 4 /* height */
            iload 6 /* preserveAspectRatio */
            fload 7 /* pixelScale */
            iload 8 /* smooth */
            invokestatic com.sun.javafx.iio.ImageStorage.loadAll:(Lcom/sun/javafx/iio/ImageLoader;DDZFZ)[Lcom/sun/javafx/iio/ImageFrame;
            astore 10 /* images */
        11: .line 275
            goto 13
        12: .line 276
      StackMap locals: com.sun.javafx.iio.ImageFrame[]
      StackMap stack:
            new com.sun.javafx.iio.ImageStorageException
            dup
            ldc "No loader for image data"
            invokespecial com.sun.javafx.iio.ImageStorageException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 279
      StackMap locals:
      StackMap stack:
            aload 10 /* images */
            areturn
        end local 10 // com.sun.javafx.iio.ImageFrame[] images
        end local 9 // com.sun.javafx.iio.ImageLoader loader
        end local 8 // boolean smooth
        end local 7 // float pixelScale
        end local 6 // boolean preserveAspectRatio
        end local 4 // double height
        end local 2 // double width
        end local 1 // com.sun.javafx.iio.ImageLoadListener listener
        end local 0 // java.io.InputStream input
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   14     0                input  Ljava/io/InputStream;
            0   14     1             listener  Lcom/sun/javafx/iio/ImageLoadListener;
            0   14     2                width  D
            0   14     4               height  D
            0   14     6  preserveAspectRatio  Z
            0   14     7           pixelScale  F
            0   14     8               smooth  Z
            1   14     9               loader  Lcom/sun/javafx/iio/ImageLoader;
            7    8    10                    e  Ljava/io/IOException;
            9   14    10               images  [Lcom/sun/javafx/iio/ImageFrame;
      Exception table:
        from    to  target  type
           1     5       6  Class java.io.IOException
    Exceptions:
      throws com.sun.javafx.iio.ImageStorageException
    MethodParameters:
                     Name  Flags
      input                
      listener             
      width                
      height               
      preserveAspectRatio  
      pixelScale           
      smooth               

  public static com.sun.javafx.iio.ImageFrame[] loadAll(java.lang.String, com.sun.javafx.iio.ImageLoadListener, double, double, boolean, float, boolean);
    descriptor: (Ljava/lang/String;Lcom/sun/javafx/iio/ImageLoadListener;DDZFZ)[Lcom/sun/javafx/iio/ImageFrame;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=15, args_size=7
        start local 0 // java.lang.String input
        start local 1 // com.sun.javafx.iio.ImageLoadListener listener
        start local 2 // double width
        start local 4 // double height
        start local 6 // boolean preserveAspectRatio
        start local 7 // float devPixelScale
        start local 8 // boolean smooth
         0: .line 290
            aload 0 /* input */
            ifnull 1
            aload 0 /* input */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 291
      StackMap locals:
      StackMap stack:
            new com.sun.javafx.iio.ImageStorageException
            dup
            ldc "URL can't be null or empty"
            invokespecial com.sun.javafx.iio.ImageStorageException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 294
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* images */
        start local 9 // com.sun.javafx.iio.ImageFrame[] images
         3: .line 295
            aconst_null
            astore 10 /* theStream */
        start local 10 // java.io.InputStream theStream
         4: .line 296
            aconst_null
            astore 11 /* loader */
        start local 11 // com.sun.javafx.iio.ImageLoader loader
         5: .line 299
            fconst_1
            fstore 12 /* imgPixelScale */
        start local 12 // float imgPixelScale
         6: .line 301
            fload 7 /* devPixelScale */
            ldc 1.5
            fcmpl
            iflt 12
         7: .line 304
            aload 0 /* input */
            invokestatic com.sun.javafx.iio.common.ImageTools.getScaledImageName:(Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* name2x */
        start local 13 // java.lang.String name2x
         8: .line 305
            aload 13 /* name2x */
            invokestatic com.sun.javafx.iio.common.ImageTools.createInputStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 10 /* theStream */
         9: .line 306
            fconst_2
            fstore 12 /* imgPixelScale */
        end local 13 // java.lang.String name2x
        10: .line 307
            goto 12
      StackMap locals: java.lang.String com.sun.javafx.iio.ImageLoadListener double double int float int com.sun.javafx.iio.ImageFrame[] java.io.InputStream com.sun.javafx.iio.ImageLoader float
      StackMap stack: java.io.IOException
        11: pop
        12: .line 310
      StackMap locals:
      StackMap stack:
            aload 10 /* theStream */
            ifnonnull 14
        13: .line 311
            aload 0 /* input */
            invokestatic com.sun.javafx.iio.common.ImageTools.createInputStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 10 /* theStream */
        14: .line 314
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.iio.ImageStorage.isIOS:Z
            ifeq 17
        15: .line 315
            invokestatic com.sun.javafx.iio.ios.IosImageLoaderFactory.getInstance:()Lcom/sun/javafx/iio/ios/IosImageLoaderFactory;
            aload 10 /* theStream */
            invokevirtual com.sun.javafx.iio.ios.IosImageLoaderFactory.createImageLoader:(Ljava/io/InputStream;)Lcom/sun/javafx/iio/ImageLoader;
            astore 11 /* loader */
        16: .line 316
            goto 21
        17: .line 317
      StackMap locals:
      StackMap stack:
            aload 10 /* theStream */
            aload 1 /* listener */
            invokestatic com.sun.javafx.iio.ImageStorage.getLoaderBySignature:(Ljava/io/InputStream;Lcom/sun/javafx/iio/ImageLoadListener;)Lcom/sun/javafx/iio/ImageLoader;
            astore 11 /* loader */
        18: .line 319
            goto 21
      StackMap locals:
      StackMap stack: java.io.IOException
        19: astore 13 /* e */
        start local 13 // java.io.IOException e
        20: .line 320
            new com.sun.javafx.iio.ImageStorageException
            dup
            aload 13 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 13 /* e */
            invokespecial com.sun.javafx.iio.ImageStorageException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 13 // java.io.IOException e
        21: .line 323
      StackMap locals:
      StackMap stack:
            aload 11 /* loader */
            ifnull 24
        22: .line 324
            aload 11 /* loader */
            dload 2 /* width */
            dload 4 /* height */
            iload 6 /* preserveAspectRatio */
            fload 12 /* imgPixelScale */
            iload 8 /* smooth */
            invokestatic com.sun.javafx.iio.ImageStorage.loadAll:(Lcom/sun/javafx/iio/ImageLoader;DDZFZ)[Lcom/sun/javafx/iio/ImageFrame;
            astore 9 /* images */
        23: .line 325
            goto 31
        24: .line 326
      StackMap locals:
      StackMap stack:
            new com.sun.javafx.iio.ImageStorageException
            dup
            ldc "No loader for image data"
            invokespecial com.sun.javafx.iio.ImageStorageException.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // float imgPixelScale
        25: .line 328
      StackMap locals: java.lang.String com.sun.javafx.iio.ImageLoadListener double double int float int com.sun.javafx.iio.ImageFrame[] java.io.InputStream com.sun.javafx.iio.ImageLoader
      StackMap stack: java.lang.Throwable
            astore 14
        26: .line 330
            aload 10 /* theStream */
            ifnull 30
        27: .line 331
            aload 10 /* theStream */
            invokevirtual java.io.InputStream.close:()V
        28: .line 333
            goto 30
      StackMap locals: java.lang.String com.sun.javafx.iio.ImageLoadListener double double int float int com.sun.javafx.iio.ImageFrame[] java.io.InputStream com.sun.javafx.iio.ImageLoader top top java.lang.Throwable
      StackMap stack: java.io.IOException
        29: pop
        30: .line 335
      StackMap locals:
      StackMap stack:
            aload 14
            athrow
        31: .line 330
      StackMap locals: java.lang.String com.sun.javafx.iio.ImageLoadListener double double int float int com.sun.javafx.iio.ImageFrame[] java.io.InputStream com.sun.javafx.iio.ImageLoader
      StackMap stack:
            aload 10 /* theStream */
            ifnull 35
        32: .line 331
            aload 10 /* theStream */
            invokevirtual java.io.InputStream.close:()V
        33: .line 333
            goto 35
      StackMap locals:
      StackMap stack: java.io.IOException
        34: pop
        35: .line 337
      StackMap locals:
      StackMap stack:
            aload 9 /* images */
            areturn
        end local 11 // com.sun.javafx.iio.ImageLoader loader
        end local 10 // java.io.InputStream theStream
        end local 9 // com.sun.javafx.iio.ImageFrame[] images
        end local 8 // boolean smooth
        end local 7 // float devPixelScale
        end local 6 // boolean preserveAspectRatio
        end local 4 // double height
        end local 2 // double width
        end local 1 // com.sun.javafx.iio.ImageLoadListener listener
        end local 0 // java.lang.String input
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   36     0                input  Ljava/lang/String;
            0   36     1             listener  Lcom/sun/javafx/iio/ImageLoadListener;
            0   36     2                width  D
            0   36     4               height  D
            0   36     6  preserveAspectRatio  Z
            0   36     7        devPixelScale  F
            0   36     8               smooth  Z
            3   36     9               images  [Lcom/sun/javafx/iio/ImageFrame;
            4   36    10            theStream  Ljava/io/InputStream;
            5   36    11               loader  Lcom/sun/javafx/iio/ImageLoader;
            6   25    12        imgPixelScale  F
            8   10    13               name2x  Ljava/lang/String;
           20   21    13                    e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           7    10      11  Class java.io.IOException
           6    18      19  Class java.io.IOException
           5    25      25  any
          26    28      29  Class java.io.IOException
          31    33      34  Class java.io.IOException
    Exceptions:
      throws com.sun.javafx.iio.ImageStorageException
    MethodParameters:
                     Name  Flags
      input                
      listener             
      width                
      height               
      preserveAspectRatio  
      devPixelScale        
      smooth               

  private static synchronized int getMaxSignatureLength();
    descriptor: ()I
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=0
         0: .line 341
            getstatic com.sun.javafx.iio.ImageStorage.maxSignatureLength:I
            ifge 8
         1: .line 342
            iconst_0
            putstatic com.sun.javafx.iio.ImageStorage.maxSignatureLength:I
         2: .line 344
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactoriesBySignature:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 1
            goto 7
      StackMap locals: top java.util.Iterator
      StackMap stack:
         3: aload 1
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.javafx.iio.ImageFormatDescription$Signature
            astore 0 /* signature */
        start local 0 // com.sun.javafx.iio.ImageFormatDescription$Signature signature
         4: .line 345
            aload 0 /* signature */
            invokevirtual com.sun.javafx.iio.ImageFormatDescription$Signature.getLength:()I
            istore 2 /* signatureLength */
        start local 2 // int signatureLength
         5: .line 346
            getstatic com.sun.javafx.iio.ImageStorage.maxSignatureLength:I
            iload 2 /* signatureLength */
            if_icmpge 7
         6: .line 347
            iload 2 /* signatureLength */
            putstatic com.sun.javafx.iio.ImageStorage.maxSignatureLength:I
        end local 2 // int signatureLength
        end local 0 // com.sun.javafx.iio.ImageFormatDescription$Signature signature
         7: .line 343
      StackMap locals:
      StackMap stack:
            aload 1
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 352
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.iio.ImageStorage.maxSignatureLength:I
            ireturn
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            4    7     0        signature  Lcom/sun/javafx/iio/ImageFormatDescription$Signature;
            5    7     2  signatureLength  I

  private static com.sun.javafx.iio.ImageFrame[] loadAll(com.sun.javafx.iio.ImageLoader, double, double, boolean, float, boolean);
    descriptor: (Lcom/sun/javafx/iio/ImageLoader;DDZFZ)[Lcom/sun/javafx/iio/ImageFrame;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=15, args_size=6
        start local 0 // com.sun.javafx.iio.ImageLoader loader
        start local 1 // double width
        start local 3 // double height
        start local 5 // boolean preserveAspectRatio
        start local 6 // float pixelScale
        start local 7 // boolean smooth
         0: .line 358
            aconst_null
            astore 8 /* images */
        start local 8 // com.sun.javafx.iio.ImageFrame[] images
         1: .line 359
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* list */
        start local 9 // java.util.ArrayList list
         2: .line 360
            iconst_0
            istore 10 /* imageIndex */
        start local 10 // int imageIndex
         3: .line 361
            aconst_null
            astore 11 /* image */
        start local 11 // com.sun.javafx.iio.ImageFrame image
         4: .line 362
            dload 1 /* width */
            fload 6 /* pixelScale */
            f2d
            dmul
            invokestatic java.lang.Math.round:(D)J
            l2i
            istore 12 /* imgw */
        start local 12 // int imgw
         5: .line 363
            dload 3 /* height */
            fload 6 /* pixelScale */
            f2d
            dmul
            invokestatic java.lang.Math.round:(D)J
            l2i
            istore 13 /* imgh */
        start local 13 // int imgh
         6: .line 366
      StackMap locals: com.sun.javafx.iio.ImageLoader double double int float int com.sun.javafx.iio.ImageFrame[] java.util.ArrayList int com.sun.javafx.iio.ImageFrame int int
      StackMap stack:
            aload 0 /* loader */
            iload 10 /* imageIndex */
            iinc 10 /* imageIndex */ 1
            iload 12 /* imgw */
            iload 13 /* imgh */
            iload 5 /* preserveAspectRatio */
            iload 7 /* smooth */
            invokeinterface com.sun.javafx.iio.ImageLoader.load:(IIIZZ)Lcom/sun/javafx/iio/ImageFrame;
            astore 11 /* image */
         7: .line 367
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Exception
         8: astore 14 /* e */
        start local 14 // java.lang.Exception e
         9: .line 369
            iload 10 /* imageIndex */
            iconst_1
            if_icmple 11
        10: .line 370
            goto 16
        11: .line 372
      StackMap locals: java.lang.Exception
      StackMap stack:
            new com.sun.javafx.iio.ImageStorageException
            dup
            aload 14 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            aload 14 /* e */
            invokespecial com.sun.javafx.iio.ImageStorageException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 14 // java.lang.Exception e
        12: .line 375
      StackMap locals:
      StackMap stack:
            aload 11 /* image */
            ifnull 16
        13: .line 376
            aload 11 /* image */
            fload 6 /* pixelScale */
            invokevirtual com.sun.javafx.iio.ImageFrame.setPixelScale:(F)V
        14: .line 377
            aload 9 /* list */
            aload 11 /* image */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        15: .line 381
            goto 6
        16: .line 382
      StackMap locals:
      StackMap stack:
            aload 9 /* list */
            invokevirtual java.util.ArrayList.size:()I
            istore 14 /* numImages */
        start local 14 // int numImages
        17: .line 383
            iload 14 /* numImages */
            ifle 20
        18: .line 384
            iload 14 /* numImages */
            anewarray com.sun.javafx.iio.ImageFrame
            astore 8 /* images */
        19: .line 385
            aload 9 /* list */
            aload 8 /* images */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        20: .line 387
      StackMap locals: int
      StackMap stack:
            aload 8 /* images */
            areturn
        end local 14 // int numImages
        end local 13 // int imgh
        end local 12 // int imgw
        end local 11 // com.sun.javafx.iio.ImageFrame image
        end local 10 // int imageIndex
        end local 9 // java.util.ArrayList list
        end local 8 // com.sun.javafx.iio.ImageFrame[] images
        end local 7 // boolean smooth
        end local 6 // float pixelScale
        end local 5 // boolean preserveAspectRatio
        end local 3 // double height
        end local 1 // double width
        end local 0 // com.sun.javafx.iio.ImageLoader loader
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   21     0               loader  Lcom/sun/javafx/iio/ImageLoader;
            0   21     1                width  D
            0   21     3               height  D
            0   21     5  preserveAspectRatio  Z
            0   21     6           pixelScale  F
            0   21     7               smooth  Z
            1   21     8               images  [Lcom/sun/javafx/iio/ImageFrame;
            2   21     9                 list  Ljava/util/ArrayList<Lcom/sun/javafx/iio/ImageFrame;>;
            3   21    10           imageIndex  I
            4   21    11                image  Lcom/sun/javafx/iio/ImageFrame;
            5   21    12                 imgw  I
            6   21    13                 imgh  I
            9   12    14                    e  Ljava/lang/Exception;
           17   21    14            numImages  I
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.Exception
    Exceptions:
      throws com.sun.javafx.iio.ImageStorageException
    MethodParameters:
                     Name  Flags
      loader               
      width                
      height               
      preserveAspectRatio  
      pixelScale           
      smooth               

  private static com.sun.javafx.iio.ImageLoader getLoaderBySignature(java.io.InputStream, com.sun.javafx.iio.ImageLoadListener);
    descriptor: (Ljava/io/InputStream;Lcom/sun/javafx/iio/ImageLoadListener;)Lcom/sun/javafx/iio/ImageLoader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.io.InputStream stream
        start local 1 // com.sun.javafx.iio.ImageLoadListener listener
         0: .line 413
            invokestatic com.sun.javafx.iio.ImageStorage.getMaxSignatureLength:()I
            newarray 8
            astore 2 /* header */
        start local 2 // byte[] header
         1: .line 414
            aload 0 /* stream */
            aload 2 /* header */
            invokestatic com.sun.javafx.iio.common.ImageTools.readFully:(Ljava/io/InputStream;[B)I
            pop
         2: .line 417
            getstatic com.sun.javafx.iio.ImageStorage.loaderFactoriesBySignature:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 11
      StackMap locals: java.io.InputStream com.sun.javafx.iio.ImageLoadListener byte[] top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* factoryRegistration */
        start local 3 // java.util.Map$Entry factoryRegistration
         4: .line 418
            aload 3 /* factoryRegistration */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast com.sun.javafx.iio.ImageFormatDescription$Signature
            aload 2 /* header */
            invokevirtual com.sun.javafx.iio.ImageFormatDescription$Signature.matches:([B)Z
            ifeq 11
         5: .line 419
            new java.io.ByteArrayInputStream
            dup
            aload 2 /* header */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 5 /* headerStream */
        start local 5 // java.io.InputStream headerStream
         6: .line 420
            new java.io.SequenceInputStream
            dup
            aload 5 /* headerStream */
            aload 0 /* stream */
            invokespecial java.io.SequenceInputStream.<init>:(Ljava/io/InputStream;Ljava/io/InputStream;)V
            astore 6 /* seqStream */
        start local 6 // java.io.InputStream seqStream
         7: .line 421
            aload 3 /* factoryRegistration */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.sun.javafx.iio.ImageLoaderFactory
            aload 6 /* seqStream */
            invokeinterface com.sun.javafx.iio.ImageLoaderFactory.createImageLoader:(Ljava/io/InputStream;)Lcom/sun/javafx/iio/ImageLoader;
            astore 7 /* loader */
        start local 7 // com.sun.javafx.iio.ImageLoader loader
         8: .line 422
            aload 1 /* listener */
            ifnull 10
         9: .line 423
            aload 7 /* loader */
            aload 1 /* listener */
            invokeinterface com.sun.javafx.iio.ImageLoader.addListener:(Lcom/sun/javafx/iio/ImageLoadListener;)V
        10: .line 426
      StackMap locals: java.io.InputStream com.sun.javafx.iio.ImageLoadListener byte[] java.util.Map$Entry java.util.Iterator java.io.InputStream java.io.InputStream com.sun.javafx.iio.ImageLoader
      StackMap stack:
            aload 7 /* loader */
            areturn
        end local 7 // com.sun.javafx.iio.ImageLoader loader
        end local 6 // java.io.InputStream seqStream
        end local 5 // java.io.InputStream headerStream
        end local 3 // java.util.Map$Entry factoryRegistration
        11: .line 416
      StackMap locals: java.io.InputStream com.sun.javafx.iio.ImageLoadListener byte[] top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        12: .line 431
            aconst_null
            areturn
        end local 2 // byte[] header
        end local 1 // com.sun.javafx.iio.ImageLoadListener listener
        end local 0 // java.io.InputStream stream
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   13     0               stream  Ljava/io/InputStream;
            0   13     1             listener  Lcom/sun/javafx/iio/ImageLoadListener;
            1   13     2               header  [B
            4   11     3  factoryRegistration  Ljava/util/Map$Entry<Lcom/sun/javafx/iio/ImageFormatDescription$Signature;Lcom/sun/javafx/iio/ImageLoaderFactory;>;
            6   11     5         headerStream  Ljava/io/InputStream;
            7   11     6            seqStream  Ljava/io/InputStream;
            8   11     7               loader  Lcom/sun/javafx/iio/ImageLoader;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      stream    
      listener  

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.javafx.iio.ImageStorage this
         0: .line 434
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 435
            return
        end local 0 // com.sun.javafx.iio.ImageStorage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/javafx/iio/ImageStorage;

  static int[] $SWITCH_TABLE$com$sun$javafx$iio$ImageStorage$ImageType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 49
            getstatic com.sun.javafx.iio.ImageStorage.$SWITCH_TABLE$com$sun$javafx$iio$ImageStorage$ImageType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.sun.javafx.iio.ImageStorage$ImageType.values:()[Lcom/sun/javafx/iio/ImageStorage$ImageType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.GRAY:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.GRAY_ALPHA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.GRAY_ALPHA_PRE:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.PALETTE:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.PALETTE_ALPHA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            iconst_5
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.PALETTE_ALPHA_PRE:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            bipush 6
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.PALETTE_TRANS:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            bipush 7
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGB:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            bipush 8
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGBA:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            bipush 9
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic com.sun.javafx.iio.ImageStorage$ImageType.RGBA_PRE:Lcom/sun/javafx/iio/ImageStorage$ImageType;
            invokevirtual com.sun.javafx.iio.ImageStorage$ImageType.ordinal:()I
            bipush 10
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            dup
            putstatic com.sun.javafx.iio.ImageStorage.$SWITCH_TABLE$com$sun$javafx$iio$ImageStorage$ImageType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
}
SourceFile: "ImageStorage.java"
NestMembers:
  com.sun.javafx.iio.ImageStorage$ImageType
InnerClasses:
  public final Signature = com.sun.javafx.iio.ImageFormatDescription$Signature of com.sun.javafx.iio.ImageFormatDescription
  public final ImageType = com.sun.javafx.iio.ImageStorage$ImageType of com.sun.javafx.iio.ImageStorage
  public abstract Entry = java.util.Map$Entry of java.util.Map