public final class com.sun.media.sound.WaveExtensibleFileReader extends javax.sound.sampled.spi.AudioFileReader
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.media.sound.WaveExtensibleFileReader
  super_class: javax.sound.sampled.spi.AudioFileReader
{
  private static final java.lang.String[] channelnames;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] allchannelnames;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.sun.media.sound.WaveExtensibleFileReader$GUID SUBTYPE_PCM;
    descriptor: Lcom/sun/media/sound/WaveExtensibleFileReader$GUID;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.sun.media.sound.WaveExtensibleFileReader$GUID SUBTYPE_IEEE_FLOAT;
    descriptor: Lcom/sun/media/sound/WaveExtensibleFileReader$GUID;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=14, locals=0, args_size=0
         0: .line 143
            bipush 18
            anewarray java.lang.String
            dup
            iconst_0
            ldc "FL"
            aastore
            dup
            iconst_1
            ldc "FR"
            aastore
            dup
            iconst_2
            ldc "FC"
            aastore
            dup
            iconst_3
            ldc "LF"
            aastore
            dup
            iconst_4
         1: .line 144
            ldc "BL"
            aastore
            dup
            iconst_5
         2: .line 145
            ldc "BR"
            aastore
            dup
            bipush 6
         3: .line 146
            ldc "FLC"
            aastore
            dup
            bipush 7
            ldc "FLR"
            aastore
            dup
            bipush 8
            ldc "BC"
            aastore
            dup
            bipush 9
            ldc "SL"
            aastore
            dup
            bipush 10
            ldc "SR"
            aastore
            dup
            bipush 11
            ldc "TC"
            aastore
            dup
            bipush 12
            ldc "TFL"
            aastore
            dup
            bipush 13
            ldc "TFC"
            aastore
            dup
            bipush 14
            ldc "TFR"
            aastore
            dup
            bipush 15
            ldc "TBL"
            aastore
            dup
            bipush 16
         4: .line 147
            ldc "TBC"
            aastore
            dup
            bipush 17
            ldc "TBR"
            aastore
         5: .line 143
            putstatic com.sun.media.sound.WaveExtensibleFileReader.channelnames:[Ljava/lang/String;
         6: .line 149
            bipush 64
            anewarray java.lang.String
            dup
            iconst_0
            ldc "w1"
            aastore
            dup
            iconst_1
            ldc "w2"
            aastore
            dup
            iconst_2
            ldc "w3"
            aastore
            dup
            iconst_3
            ldc "w4"
            aastore
            dup
            iconst_4
            ldc "w5"
            aastore
            dup
            iconst_5
         7: .line 150
            ldc "w6"
            aastore
            dup
            bipush 6
            ldc "w7"
            aastore
            dup
            bipush 7
            ldc "w8"
            aastore
            dup
            bipush 8
            ldc "w9"
            aastore
            dup
            bipush 9
            ldc "w10"
            aastore
            dup
            bipush 10
            ldc "w11"
            aastore
            dup
            bipush 11
            ldc "w12"
            aastore
            dup
            bipush 12
            ldc "w13"
            aastore
            dup
            bipush 13
            ldc "w14"
            aastore
            dup
            bipush 14
            ldc "w15"
            aastore
            dup
            bipush 15
         8: .line 151
            ldc "w16"
            aastore
            dup
            bipush 16
            ldc "w17"
            aastore
            dup
            bipush 17
            ldc "w18"
            aastore
            dup
            bipush 18
            ldc "w19"
            aastore
            dup
            bipush 19
            ldc "w20"
            aastore
            dup
            bipush 20
            ldc "w21"
            aastore
            dup
            bipush 21
            ldc "w22"
            aastore
            dup
            bipush 22
            ldc "w23"
            aastore
            dup
            bipush 23
            ldc "w24"
            aastore
            dup
            bipush 24
         9: .line 152
            ldc "w25"
            aastore
            dup
            bipush 25
            ldc "w26"
            aastore
            dup
            bipush 26
            ldc "w27"
            aastore
            dup
            bipush 27
            ldc "w28"
            aastore
            dup
            bipush 28
            ldc "w29"
            aastore
            dup
            bipush 29
            ldc "w30"
            aastore
            dup
            bipush 30
            ldc "w31"
            aastore
            dup
            bipush 31
            ldc "w32"
            aastore
            dup
            bipush 32
            ldc "w33"
            aastore
            dup
            bipush 33
        10: .line 153
            ldc "w34"
            aastore
            dup
            bipush 34
            ldc "w35"
            aastore
            dup
            bipush 35
            ldc "w36"
            aastore
            dup
            bipush 36
            ldc "w37"
            aastore
            dup
            bipush 37
            ldc "w38"
            aastore
            dup
            bipush 38
            ldc "w39"
            aastore
            dup
            bipush 39
            ldc "w40"
            aastore
            dup
            bipush 40
            ldc "w41"
            aastore
            dup
            bipush 41
            ldc "w42"
            aastore
            dup
            bipush 42
        11: .line 154
            ldc "w43"
            aastore
            dup
            bipush 43
            ldc "w44"
            aastore
            dup
            bipush 44
            ldc "w45"
            aastore
            dup
            bipush 45
            ldc "w46"
            aastore
            dup
            bipush 46
            ldc "w47"
            aastore
            dup
            bipush 47
            ldc "w48"
            aastore
            dup
            bipush 48
            ldc "w49"
            aastore
            dup
            bipush 49
            ldc "w50"
            aastore
            dup
            bipush 50
            ldc "w51"
            aastore
            dup
            bipush 51
        12: .line 155
            ldc "w52"
            aastore
            dup
            bipush 52
            ldc "w53"
            aastore
            dup
            bipush 53
            ldc "w54"
            aastore
            dup
            bipush 54
            ldc "w55"
            aastore
            dup
            bipush 55
            ldc "w56"
            aastore
            dup
            bipush 56
            ldc "w57"
            aastore
            dup
            bipush 57
            ldc "w58"
            aastore
            dup
            bipush 58
            ldc "w59"
            aastore
            dup
            bipush 59
            ldc "w60"
            aastore
            dup
            bipush 60
        13: .line 156
            ldc "w61"
            aastore
            dup
            bipush 61
            ldc "w62"
            aastore
            dup
            bipush 62
            ldc "w63"
            aastore
            dup
            bipush 63
            ldc "w64"
            aastore
        14: .line 149
            putstatic com.sun.media.sound.WaveExtensibleFileReader.allchannelnames:[Ljava/lang/String;
        15: .line 158
            new com.sun.media.sound.WaveExtensibleFileReader$GUID
            dup
            lconst_1
            iconst_0
            bipush 16
        16: .line 159
            sipush 128
            iconst_0
            iconst_0
            sipush 170
            iconst_0
            bipush 56
            sipush 155
            bipush 113
        17: .line 158
            invokespecial com.sun.media.sound.WaveExtensibleFileReader$GUID.<init>:(JIIIIIIIIII)V
            putstatic com.sun.media.sound.WaveExtensibleFileReader.SUBTYPE_PCM:Lcom/sun/media/sound/WaveExtensibleFileReader$GUID;
        18: .line 161
            new com.sun.media.sound.WaveExtensibleFileReader$GUID
            dup
            ldc 3
            iconst_0
        19: .line 162
            bipush 16
            sipush 128
            iconst_0
            iconst_0
            sipush 170
            iconst_0
            bipush 56
            sipush 155
            bipush 113
        20: .line 161
            invokespecial com.sun.media.sound.WaveExtensibleFileReader$GUID.<init>:(JIIIIIIIIII)V
            putstatic com.sun.media.sound.WaveExtensibleFileReader.SUBTYPE_IEEE_FLOAT:Lcom/sun/media/sound/WaveExtensibleFileReader$GUID;
        21: .line 162
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.sound.WaveExtensibleFileReader this
         0: .line 49
            aload 0 /* this */
            invokespecial javax.sound.sampled.spi.AudioFileReader.<init>:()V
            return
        end local 0 // com.sun.media.sound.WaveExtensibleFileReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/WaveExtensibleFileReader;

  private java.lang.String decodeChannelMask(long);
    descriptor: (J)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // com.sun.media.sound.WaveExtensibleFileReader this
        start local 1 // long channelmask
         0: .line 165
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuffer sb
         1: .line 166
            lconst_1
            lstore 4 /* m */
        start local 4 // long m
         2: .line 167
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 11
         4: .line 168
      StackMap locals: java.lang.StringBuffer long int
      StackMap stack:
            lload 1 /* channelmask */
            lload 4 /* m */
            land
            lconst_0
            lcmp
            ifeq 9
         5: .line 169
            iload 6 /* i */
            getstatic com.sun.media.sound.WaveExtensibleFileReader.channelnames:[Ljava/lang/String;
            arraylength
            if_icmpge 8
         6: .line 170
            aload 3 /* sb */
            new java.lang.StringBuilder
            dup
            getstatic com.sun.media.sound.WaveExtensibleFileReader.channelnames:[Ljava/lang/String;
            iload 6 /* i */
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 171
            goto 9
         8: .line 172
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            new java.lang.StringBuilder
            dup
            getstatic com.sun.media.sound.WaveExtensibleFileReader.allchannelnames:[Ljava/lang/String;
            iload 6 /* i */
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         9: .line 175
      StackMap locals:
      StackMap stack:
            lload 4 /* m */
            ldc 2
            lmul
            lstore 4 /* m */
        10: .line 167
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            getstatic com.sun.media.sound.WaveExtensibleFileReader.allchannelnames:[Ljava/lang/String;
            arraylength
            if_icmplt 4
        end local 6 // int i
        12: .line 177
            aload 3 /* sb */
            invokevirtual java.lang.StringBuffer.length:()I
            ifne 14
        13: .line 178
            aconst_null
            areturn
        14: .line 179
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            iconst_0
            aload 3 /* sb */
            invokevirtual java.lang.StringBuffer.length:()I
            iconst_1
            isub
            invokevirtual java.lang.StringBuffer.substring:(II)Ljava/lang/String;
            areturn
        end local 4 // long m
        end local 3 // java.lang.StringBuffer sb
        end local 1 // long channelmask
        end local 0 // com.sun.media.sound.WaveExtensibleFileReader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lcom/sun/media/sound/WaveExtensibleFileReader;
            0   15     1  channelmask  J
            1   15     3           sb  Ljava/lang/StringBuffer;
            2   15     4            m  J
            3   12     6            i  I
    MethodParameters:
             Name  Flags
      channelmask  

  public javax.sound.sampled.AudioFileFormat getAudioFileFormat(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljavax/sound/sampled/AudioFileFormat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.sun.media.sound.WaveExtensibleFileReader this
        start local 1 // java.io.InputStream stream
         0: .line 186
            aload 1 /* stream */
            sipush 200
            invokevirtual java.io.InputStream.mark:(I)V
         1: .line 189
            aload 0 /* this */
            aload 1 /* stream */
            invokevirtual com.sun.media.sound.WaveExtensibleFileReader.internal_getAudioFileFormat:(Ljava/io/InputStream;)Ljavax/sound/sampled/AudioFileFormat;
            astore 2 /* format */
        start local 2 // javax.sound.sampled.AudioFileFormat format
         2: .line 190
            goto 6
        end local 2 // javax.sound.sampled.AudioFileFormat format
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 3
         4: .line 191
            aload 1 /* stream */
            invokevirtual java.io.InputStream.reset:()V
         5: .line 192
            aload 3
            athrow
        start local 2 // javax.sound.sampled.AudioFileFormat format
         6: .line 191
      StackMap locals: javax.sound.sampled.AudioFileFormat
      StackMap stack:
            aload 1 /* stream */
            invokevirtual java.io.InputStream.reset:()V
         7: .line 193
            aload 2 /* format */
            areturn
        end local 2 // javax.sound.sampled.AudioFileFormat format
        end local 1 // java.io.InputStream stream
        end local 0 // com.sun.media.sound.WaveExtensibleFileReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/sun/media/sound/WaveExtensibleFileReader;
            0    8     1  stream  Ljava/io/InputStream;
            2    3     2  format  Ljavax/sound/sampled/AudioFileFormat;
            6    8     2  format  Ljavax/sound/sampled/AudioFileFormat;
      Exception table:
        from    to  target  type
           1     3       3  any
    Exceptions:
      throws javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  private javax.sound.sampled.AudioFileFormat internal_getAudioFileFormat(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljavax/sound/sampled/AudioFileFormat;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=18, args_size=2
        start local 0 // com.sun.media.sound.WaveExtensibleFileReader this
        start local 1 // java.io.InputStream stream
         0: .line 199
            new com.sun.media.sound.RIFFReader
            dup
            aload 1 /* stream */
            invokespecial com.sun.media.sound.RIFFReader.<init>:(Ljava/io/InputStream;)V
            astore 2 /* riffiterator */
        start local 2 // com.sun.media.sound.RIFFReader riffiterator
         1: .line 200
            aload 2 /* riffiterator */
            invokevirtual com.sun.media.sound.RIFFReader.getFormat:()Ljava/lang/String;
            ldc "RIFF"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 201
            new javax.sound.sampled.UnsupportedAudioFileException
            dup
            invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:()V
            athrow
         3: .line 202
      StackMap locals: com.sun.media.sound.RIFFReader
      StackMap stack:
            aload 2 /* riffiterator */
            invokevirtual com.sun.media.sound.RIFFReader.getType:()Ljava/lang/String;
            ldc "WAVE"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 203
            new javax.sound.sampled.UnsupportedAudioFileException
            dup
            invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:()V
            athrow
         5: .line 205
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* fmt_found */
        start local 3 // boolean fmt_found
         6: .line 206
            iconst_0
            istore 4 /* data_found */
        start local 4 // boolean data_found
         7: .line 208
            iconst_1
            istore 5 /* channels */
        start local 5 // int channels
         8: .line 209
            lconst_1
            lstore 6 /* samplerate */
        start local 6 // long samplerate
         9: .line 211
            iconst_1
            istore 8 /* framesize */
        start local 8 // int framesize
        10: .line 212
            iconst_1
            istore 9 /* bits */
        start local 9 // int bits
        11: .line 213
            iconst_1
            istore 10 /* validBitsPerSample */
        start local 10 // int validBitsPerSample
        12: .line 214
            lconst_0
            lstore 11 /* channelMask */
        start local 11 // long channelMask
        13: .line 215
            aconst_null
            astore 13 /* subFormat */
        start local 13 // com.sun.media.sound.WaveExtensibleFileReader$GUID subFormat
        14: .line 217
            goto 37
        15: .line 218
      StackMap locals: com.sun.media.sound.WaveExtensibleFileReader java.io.InputStream com.sun.media.sound.RIFFReader int int int long int int int long com.sun.media.sound.WaveExtensibleFileReader$GUID
      StackMap stack:
            aload 2 /* riffiterator */
            invokevirtual com.sun.media.sound.RIFFReader.nextChunk:()Lcom/sun/media/sound/RIFFReader;
            astore 14 /* chunk */
        start local 14 // com.sun.media.sound.RIFFReader chunk
        16: .line 220
            aload 14 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.getFormat:()Ljava/lang/String;
            ldc "fmt "
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 34
        17: .line 221
            iconst_1
            istore 3 /* fmt_found */
        18: .line 223
            aload 14 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 15 /* format */
        start local 15 // int format
        19: .line 224
            iload 15 /* format */
            ldc 65534
            if_icmpeq 21
        20: .line 225
            new javax.sound.sampled.UnsupportedAudioFileException
            dup
            invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:()V
            athrow
        21: .line 227
      StackMap locals: com.sun.media.sound.RIFFReader int
      StackMap stack:
            aload 14 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 5 /* channels */
        22: .line 228
            aload 14 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedInt:()J
            lstore 6 /* samplerate */
        23: .line 229
            aload 14 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedInt:()J
            pop2
        24: .line 230
            aload 14 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 8 /* framesize */
        25: .line 231
            aload 14 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 9 /* bits */
        26: .line 232
            aload 14 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 16 /* cbSize */
        start local 16 // int cbSize
        27: .line 233
            iload 16 /* cbSize */
            bipush 22
            if_icmpeq 29
        28: .line 234
            new javax.sound.sampled.UnsupportedAudioFileException
            dup
            invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:()V
            athrow
        29: .line 235
      StackMap locals: int
      StackMap stack:
            aload 14 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedShort:()I
            istore 10 /* validBitsPerSample */
        30: .line 236
            iload 10 /* validBitsPerSample */
            iload 9 /* bits */
            if_icmple 32
        31: .line 237
            new javax.sound.sampled.UnsupportedAudioFileException
            dup
            invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:()V
            athrow
        32: .line 238
      StackMap locals:
      StackMap stack:
            aload 14 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.readUnsignedInt:()J
            lstore 11 /* channelMask */
        33: .line 239
            aload 14 /* chunk */
            invokestatic com.sun.media.sound.WaveExtensibleFileReader$GUID.read:(Lcom/sun/media/sound/RIFFReader;)Lcom/sun/media/sound/WaveExtensibleFileReader$GUID;
            astore 13 /* subFormat */
        end local 16 // int cbSize
        end local 15 // int format
        34: .line 242
      StackMap locals:
      StackMap stack:
            aload 14 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.getFormat:()Ljava/lang/String;
            ldc "data"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 37
        35: .line 243
            iconst_1
            istore 4 /* data_found */
        36: .line 244
            goto 38
        end local 14 // com.sun.media.sound.RIFFReader chunk
        37: .line 217
      StackMap locals:
      StackMap stack:
            aload 2 /* riffiterator */
            invokevirtual com.sun.media.sound.RIFFReader.hasNextChunk:()Z
            ifne 15
        38: .line 248
      StackMap locals:
      StackMap stack:
            iload 3 /* fmt_found */
            ifne 40
        39: .line 249
            new javax.sound.sampled.UnsupportedAudioFileException
            dup
            invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:()V
            athrow
        40: .line 250
      StackMap locals:
      StackMap stack:
            iload 4 /* data_found */
            ifne 42
        41: .line 251
            new javax.sound.sampled.UnsupportedAudioFileException
            dup
            invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:()V
            athrow
        42: .line 253
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 14 /* p */
        start local 14 // java.util.Map p
        43: .line 254
            aload 0 /* this */
            lload 11 /* channelMask */
            invokevirtual com.sun.media.sound.WaveExtensibleFileReader.decodeChannelMask:(J)Ljava/lang/String;
            astore 15 /* s_channelmask */
        start local 15 // java.lang.String s_channelmask
        44: .line 255
            aload 15 /* s_channelmask */
            ifnull 46
        45: .line 256
            aload 14 /* p */
            ldc "channelOrder"
            aload 15 /* s_channelmask */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        46: .line 257
      StackMap locals: java.util.Map java.lang.String
      StackMap stack:
            lload 11 /* channelMask */
            lconst_0
            lcmp
            ifeq 48
        47: .line 258
            aload 14 /* p */
            ldc "channelMask"
            lload 11 /* channelMask */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        48: .line 261
      StackMap locals:
      StackMap stack:
            aload 14 /* p */
            ldc "validBitsPerSample"
            iload 10 /* validBitsPerSample */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        49: .line 263
            aconst_null
            astore 16 /* audioformat */
        start local 16 // javax.sound.sampled.AudioFormat audioformat
        50: .line 264
            aload 13 /* subFormat */
            getstatic com.sun.media.sound.WaveExtensibleFileReader.SUBTYPE_PCM:Lcom/sun/media/sound/WaveExtensibleFileReader$GUID;
            invokevirtual com.sun.media.sound.WaveExtensibleFileReader$GUID.equals:(Ljava/lang/Object;)Z
            ifeq 61
        51: .line 265
            iload 9 /* bits */
            bipush 8
            if_icmpne 57
        52: .line 266
            new javax.sound.sampled.AudioFormat
            dup
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_UNSIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
        53: .line 267
            lload 6 /* samplerate */
            l2f
            iload 9 /* bits */
            iload 5 /* channels */
            iload 8 /* framesize */
            lload 6 /* samplerate */
            l2f
        54: .line 268
            iconst_0
            aload 14 /* p */
        55: .line 266
            invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZLjava/util/Map;)V
            astore 16 /* audioformat */
        56: .line 269
            goto 67
        57: .line 270
      StackMap locals: javax.sound.sampled.AudioFormat
      StackMap stack:
            new javax.sound.sampled.AudioFormat
            dup
            getstatic javax.sound.sampled.AudioFormat$Encoding.PCM_SIGNED:Ljavax/sound/sampled/AudioFormat$Encoding;
            lload 6 /* samplerate */
            l2f
        58: .line 271
            iload 9 /* bits */
            iload 5 /* channels */
            iload 8 /* framesize */
            lload 6 /* samplerate */
            l2f
            iconst_0
            aload 14 /* p */
        59: .line 270
            invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZLjava/util/Map;)V
            astore 16 /* audioformat */
        60: .line 273
            goto 67
      StackMap locals:
      StackMap stack:
        61: aload 13 /* subFormat */
            getstatic com.sun.media.sound.WaveExtensibleFileReader.SUBTYPE_IEEE_FLOAT:Lcom/sun/media/sound/WaveExtensibleFileReader$GUID;
            invokevirtual com.sun.media.sound.WaveExtensibleFileReader$GUID.equals:(Ljava/lang/Object;)Z
            ifeq 66
        62: .line 274
            new javax.sound.sampled.AudioFormat
            dup
            getstatic com.sun.media.sound.AudioFloatConverter.PCM_FLOAT:Ljavax/sound/sampled/AudioFormat$Encoding;
        63: .line 275
            lload 6 /* samplerate */
            l2f
            iload 9 /* bits */
            iload 5 /* channels */
            iload 8 /* framesize */
            lload 6 /* samplerate */
            l2f
            iconst_0
            aload 14 /* p */
        64: .line 274
            invokespecial javax.sound.sampled.AudioFormat.<init>:(Ljavax/sound/sampled/AudioFormat$Encoding;FIIIFZLjava/util/Map;)V
            astore 16 /* audioformat */
        65: .line 276
            goto 67
        66: .line 277
      StackMap locals:
      StackMap stack:
            new javax.sound.sampled.UnsupportedAudioFileException
            dup
            invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:()V
            athrow
        67: .line 279
      StackMap locals:
      StackMap stack:
            new javax.sound.sampled.AudioFileFormat
            dup
        68: .line 280
            getstatic javax.sound.sampled.AudioFileFormat$Type.WAVE:Ljavax/sound/sampled/AudioFileFormat$Type;
            aload 16 /* audioformat */
        69: .line 281
            iconst_m1
        70: .line 279
            invokespecial javax.sound.sampled.AudioFileFormat.<init>:(Ljavax/sound/sampled/AudioFileFormat$Type;Ljavax/sound/sampled/AudioFormat;I)V
            astore 17 /* fileformat */
        start local 17 // javax.sound.sampled.AudioFileFormat fileformat
        71: .line 282
            aload 17 /* fileformat */
            areturn
        end local 17 // javax.sound.sampled.AudioFileFormat fileformat
        end local 16 // javax.sound.sampled.AudioFormat audioformat
        end local 15 // java.lang.String s_channelmask
        end local 14 // java.util.Map p
        end local 13 // com.sun.media.sound.WaveExtensibleFileReader$GUID subFormat
        end local 11 // long channelMask
        end local 10 // int validBitsPerSample
        end local 9 // int bits
        end local 8 // int framesize
        end local 6 // long samplerate
        end local 5 // int channels
        end local 4 // boolean data_found
        end local 3 // boolean fmt_found
        end local 2 // com.sun.media.sound.RIFFReader riffiterator
        end local 1 // java.io.InputStream stream
        end local 0 // com.sun.media.sound.WaveExtensibleFileReader this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   72     0                this  Lcom/sun/media/sound/WaveExtensibleFileReader;
            0   72     1              stream  Ljava/io/InputStream;
            1   72     2        riffiterator  Lcom/sun/media/sound/RIFFReader;
            6   72     3           fmt_found  Z
            7   72     4          data_found  Z
            8   72     5            channels  I
            9   72     6          samplerate  J
           10   72     8           framesize  I
           11   72     9                bits  I
           12   72    10  validBitsPerSample  I
           13   72    11         channelMask  J
           14   72    13           subFormat  Lcom/sun/media/sound/WaveExtensibleFileReader$GUID;
           16   37    14               chunk  Lcom/sun/media/sound/RIFFReader;
           19   34    15              format  I
           27   34    16              cbSize  I
           43   72    14                   p  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
           44   72    15       s_channelmask  Ljava/lang/String;
           50   72    16         audioformat  Ljavax/sound/sampled/AudioFormat;
           71   72    17          fileformat  Ljavax/sound/sampled/AudioFileFormat;
    Exceptions:
      throws javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  public javax.sound.sampled.AudioInputStream getAudioInputStream(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljavax/sound/sampled/AudioInputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // com.sun.media.sound.WaveExtensibleFileReader this
        start local 1 // java.io.InputStream stream
         0: .line 288
            aload 0 /* this */
            aload 1 /* stream */
            invokevirtual com.sun.media.sound.WaveExtensibleFileReader.getAudioFileFormat:(Ljava/io/InputStream;)Ljavax/sound/sampled/AudioFileFormat;
            astore 2 /* format */
        start local 2 // javax.sound.sampled.AudioFileFormat format
         1: .line 289
            new com.sun.media.sound.RIFFReader
            dup
            aload 1 /* stream */
            invokespecial com.sun.media.sound.RIFFReader.<init>:(Ljava/io/InputStream;)V
            astore 3 /* riffiterator */
        start local 3 // com.sun.media.sound.RIFFReader riffiterator
         2: .line 290
            aload 3 /* riffiterator */
            invokevirtual com.sun.media.sound.RIFFReader.getFormat:()Ljava/lang/String;
            ldc "RIFF"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 291
            new javax.sound.sampled.UnsupportedAudioFileException
            dup
            invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:()V
            athrow
         4: .line 292
      StackMap locals: javax.sound.sampled.AudioFileFormat com.sun.media.sound.RIFFReader
      StackMap stack:
            aload 3 /* riffiterator */
            invokevirtual com.sun.media.sound.RIFFReader.getType:()Ljava/lang/String;
            ldc "WAVE"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
         5: .line 293
            new javax.sound.sampled.UnsupportedAudioFileException
            dup
            invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:()V
            athrow
         6: .line 295
      StackMap locals:
      StackMap stack:
            aload 3 /* riffiterator */
            invokevirtual com.sun.media.sound.RIFFReader.nextChunk:()Lcom/sun/media/sound/RIFFReader;
            astore 4 /* chunk */
        start local 4 // com.sun.media.sound.RIFFReader chunk
         7: .line 296
            aload 4 /* chunk */
            invokevirtual com.sun.media.sound.RIFFReader.getFormat:()Ljava/lang/String;
            ldc "data"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         8: .line 297
            new javax.sound.sampled.AudioInputStream
            dup
            aload 4 /* chunk */
            aload 2 /* format */
            invokevirtual javax.sound.sampled.AudioFileFormat.getFormat:()Ljavax/sound/sampled/AudioFormat;
            aload 4 /* chunk */
         9: .line 298
            invokevirtual com.sun.media.sound.RIFFReader.getSize:()J
        10: .line 297
            invokespecial javax.sound.sampled.AudioInputStream.<init>:(Ljava/io/InputStream;Ljavax/sound/sampled/AudioFormat;J)V
            areturn
        end local 4 // com.sun.media.sound.RIFFReader chunk
        11: .line 294
      StackMap locals:
      StackMap stack:
            aload 3 /* riffiterator */
            invokevirtual com.sun.media.sound.RIFFReader.hasNextChunk:()Z
            ifne 6
        12: .line 301
            new javax.sound.sampled.UnsupportedAudioFileException
            dup
            invokespecial javax.sound.sampled.UnsupportedAudioFileException.<init>:()V
            athrow
        end local 3 // com.sun.media.sound.RIFFReader riffiterator
        end local 2 // javax.sound.sampled.AudioFileFormat format
        end local 1 // java.io.InputStream stream
        end local 0 // com.sun.media.sound.WaveExtensibleFileReader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lcom/sun/media/sound/WaveExtensibleFileReader;
            0   13     1        stream  Ljava/io/InputStream;
            1   13     2        format  Ljavax/sound/sampled/AudioFileFormat;
            2   13     3  riffiterator  Lcom/sun/media/sound/RIFFReader;
            7   11     4         chunk  Lcom/sun/media/sound/RIFFReader;
    Exceptions:
      throws javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  public javax.sound.sampled.AudioFileFormat getAudioFileFormat(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljavax/sound/sampled/AudioFileFormat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.media.sound.WaveExtensibleFileReader this
        start local 1 // java.net.URL url
         0: .line 306
            aload 1 /* url */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 2 /* stream */
        start local 2 // java.io.InputStream stream
         1: .line 309
            aload 0 /* this */
            new java.io.BufferedInputStream
            dup
            aload 2 /* stream */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            invokevirtual com.sun.media.sound.WaveExtensibleFileReader.getAudioFileFormat:(Ljava/io/InputStream;)Ljavax/sound/sampled/AudioFileFormat;
            astore 3 /* format */
        start local 3 // javax.sound.sampled.AudioFileFormat format
         2: .line 310
            goto 6
        end local 3 // javax.sound.sampled.AudioFileFormat format
      StackMap locals: com.sun.media.sound.WaveExtensibleFileReader java.net.URL java.io.InputStream
      StackMap stack: java.lang.Throwable
         3: astore 4
         4: .line 311
            aload 2 /* stream */
            invokevirtual java.io.InputStream.close:()V
         5: .line 312
            aload 4
            athrow
        start local 3 // javax.sound.sampled.AudioFileFormat format
         6: .line 311
      StackMap locals: javax.sound.sampled.AudioFileFormat
      StackMap stack:
            aload 2 /* stream */
            invokevirtual java.io.InputStream.close:()V
         7: .line 313
            aload 3 /* format */
            areturn
        end local 3 // javax.sound.sampled.AudioFileFormat format
        end local 2 // java.io.InputStream stream
        end local 1 // java.net.URL url
        end local 0 // com.sun.media.sound.WaveExtensibleFileReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/sun/media/sound/WaveExtensibleFileReader;
            0    8     1     url  Ljava/net/URL;
            1    8     2  stream  Ljava/io/InputStream;
            2    3     3  format  Ljavax/sound/sampled/AudioFileFormat;
            6    8     3  format  Ljavax/sound/sampled/AudioFileFormat;
      Exception table:
        from    to  target  type
           1     3       3  any
    Exceptions:
      throws javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException
    MethodParameters:
      Name  Flags
      url   

  public javax.sound.sampled.AudioFileFormat getAudioFileFormat(java.io.File);
    descriptor: (Ljava/io/File;)Ljavax/sound/sampled/AudioFileFormat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.media.sound.WaveExtensibleFileReader this
        start local 1 // java.io.File file
         0: .line 318
            new java.io.FileInputStream
            dup
            aload 1 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 2 /* stream */
        start local 2 // java.io.InputStream stream
         1: .line 321
            aload 0 /* this */
            new java.io.BufferedInputStream
            dup
            aload 2 /* stream */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            invokevirtual com.sun.media.sound.WaveExtensibleFileReader.getAudioFileFormat:(Ljava/io/InputStream;)Ljavax/sound/sampled/AudioFileFormat;
            astore 3 /* format */
        start local 3 // javax.sound.sampled.AudioFileFormat format
         2: .line 322
            goto 6
        end local 3 // javax.sound.sampled.AudioFileFormat format
      StackMap locals: com.sun.media.sound.WaveExtensibleFileReader java.io.File java.io.InputStream
      StackMap stack: java.lang.Throwable
         3: astore 4
         4: .line 323
            aload 2 /* stream */
            invokevirtual java.io.InputStream.close:()V
         5: .line 324
            aload 4
            athrow
        start local 3 // javax.sound.sampled.AudioFileFormat format
         6: .line 323
      StackMap locals: javax.sound.sampled.AudioFileFormat
      StackMap stack:
            aload 2 /* stream */
            invokevirtual java.io.InputStream.close:()V
         7: .line 325
            aload 3 /* format */
            areturn
        end local 3 // javax.sound.sampled.AudioFileFormat format
        end local 2 // java.io.InputStream stream
        end local 1 // java.io.File file
        end local 0 // com.sun.media.sound.WaveExtensibleFileReader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/sun/media/sound/WaveExtensibleFileReader;
            0    8     1    file  Ljava/io/File;
            1    8     2  stream  Ljava/io/InputStream;
            2    3     3  format  Ljavax/sound/sampled/AudioFileFormat;
            6    8     3  format  Ljavax/sound/sampled/AudioFileFormat;
      Exception table:
        from    to  target  type
           1     3       3  any
    Exceptions:
      throws javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public javax.sound.sampled.AudioInputStream getAudioInputStream(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljavax/sound/sampled/AudioInputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.media.sound.WaveExtensibleFileReader this
        start local 1 // java.net.URL url
         0: .line 330
            aload 0 /* this */
            new java.io.BufferedInputStream
            dup
            aload 1 /* url */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            invokevirtual com.sun.media.sound.WaveExtensibleFileReader.getAudioInputStream:(Ljava/io/InputStream;)Ljavax/sound/sampled/AudioInputStream;
            areturn
        end local 1 // java.net.URL url
        end local 0 // com.sun.media.sound.WaveExtensibleFileReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/sound/WaveExtensibleFileReader;
            0    1     1   url  Ljava/net/URL;
    Exceptions:
      throws javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException
    MethodParameters:
      Name  Flags
      url   

  public javax.sound.sampled.AudioInputStream getAudioInputStream(java.io.File);
    descriptor: (Ljava/io/File;)Ljavax/sound/sampled/AudioInputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.sun.media.sound.WaveExtensibleFileReader this
        start local 1 // java.io.File file
         0: .line 335
            aload 0 /* this */
            new java.io.BufferedInputStream
            dup
            new java.io.FileInputStream
            dup
         1: .line 336
            aload 1 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
         2: .line 335
            invokevirtual com.sun.media.sound.WaveExtensibleFileReader.getAudioInputStream:(Ljava/io/InputStream;)Ljavax/sound/sampled/AudioInputStream;
            areturn
        end local 1 // java.io.File file
        end local 0 // com.sun.media.sound.WaveExtensibleFileReader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/media/sound/WaveExtensibleFileReader;
            0    3     1  file  Ljava/io/File;
    Exceptions:
      throws javax.sound.sampled.UnsupportedAudioFileException, java.io.IOException
    MethodParameters:
      Name  Flags
      file  
}
SourceFile: "WaveExtensibleFileReader.java"
NestMembers:
  com.sun.media.sound.WaveExtensibleFileReader$GUID
InnerClasses:
  private GUID = com.sun.media.sound.WaveExtensibleFileReader$GUID of com.sun.media.sound.WaveExtensibleFileReader
  public Type = javax.sound.sampled.AudioFileFormat$Type of javax.sound.sampled.AudioFileFormat
  public Encoding = javax.sound.sampled.AudioFormat$Encoding of javax.sound.sampled.AudioFormat