public class android.graphics.BitmapFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.graphics.BitmapFactory
  super_class: java.lang.Object
{
  private static final int DECODE_BUFFER_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16384

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.graphics.BitmapFactory this
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // android.graphics.BitmapFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/graphics/BitmapFactory;

  public static android.graphics.Bitmap decodeFile(java.lang.String, android.graphics.BitmapFactory$Options);
    descriptor: (Ljava/lang/String;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.lang.String pathName
        start local 1 // android.graphics.BitmapFactory$Options opts
         0: .line 480
            aload 1 /* opts */
            invokestatic android.graphics.BitmapFactory$Options.validate:(Landroid/graphics/BitmapFactory$Options;)V
         1: .line 481
            aconst_null
            astore 2 /* bm */
        start local 2 // android.graphics.Bitmap bm
         2: .line 482
            aconst_null
            astore 3 /* stream */
        start local 3 // java.io.InputStream stream
         3: .line 484
            new java.io.FileInputStream
            dup
            aload 0 /* pathName */
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 3 /* stream */
         4: .line 485
            aload 3 /* stream */
            aconst_null
            aload 1 /* opts */
            invokestatic android.graphics.BitmapFactory.decodeStream:(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
            astore 2 /* bm */
         5: .line 486
            goto 18
      StackMap locals: java.lang.String android.graphics.BitmapFactory$Options android.graphics.Bitmap java.io.InputStream
      StackMap stack: java.lang.Exception
         6: astore 4 /* e */
        start local 4 // java.lang.Exception e
         7: .line 490
            ldc "BitmapFactory"
            new java.lang.StringBuilder
            dup
            ldc "Unable to decode stream: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 4 // java.lang.Exception e
         8: .line 492
            aload 3 /* stream */
            ifnull 22
         9: .line 494
            aload 3 /* stream */
            invokevirtual java.io.InputStream.close:()V
        10: .line 495
            goto 22
      StackMap locals:
      StackMap stack: java.io.IOException
        11: pop
            goto 22
        12: .line 491
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        13: .line 492
            aload 3 /* stream */
            ifnull 17
        14: .line 494
            aload 3 /* stream */
            invokevirtual java.io.InputStream.close:()V
        15: .line 495
            goto 17
      StackMap locals: java.lang.String android.graphics.BitmapFactory$Options android.graphics.Bitmap java.io.InputStream top java.lang.Throwable
      StackMap stack: java.io.IOException
        16: pop
        17: .line 499
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
        18: .line 492
      StackMap locals: java.lang.String android.graphics.BitmapFactory$Options android.graphics.Bitmap java.io.InputStream
      StackMap stack:
            aload 3 /* stream */
            ifnull 22
        19: .line 494
            aload 3 /* stream */
            invokevirtual java.io.InputStream.close:()V
        20: .line 495
            goto 22
      StackMap locals:
      StackMap stack: java.io.IOException
        21: pop
        22: .line 500
      StackMap locals:
      StackMap stack:
            aload 2 /* bm */
            areturn
        end local 3 // java.io.InputStream stream
        end local 2 // android.graphics.Bitmap bm
        end local 1 // android.graphics.BitmapFactory$Options opts
        end local 0 // java.lang.String pathName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0  pathName  Ljava/lang/String;
            0   23     1      opts  Landroid/graphics/BitmapFactory$Options;
            2   23     2        bm  Landroid/graphics/Bitmap;
            3   23     3    stream  Ljava/io/InputStream;
            7    8     4         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     5       6  Class java.lang.Exception
           9    10      11  Class java.io.IOException
           3     8      12  any
          14    15      16  Class java.io.IOException
          19    20      21  Class java.io.IOException
    MethodParameters:
          Name  Flags
      pathName  
      opts      

  public static android.graphics.Bitmap decodeFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/graphics/Bitmap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String pathName
         0: .line 511
            aload 0 /* pathName */
            aconst_null
            invokestatic android.graphics.BitmapFactory.decodeFile:(Ljava/lang/String;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
            areturn
        end local 0 // java.lang.String pathName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  pathName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      pathName  

  public static android.graphics.Bitmap decodeResourceStream(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory$Options);
    descriptor: (Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // android.content.res.Resources res
        start local 1 // android.util.TypedValue value
        start local 2 // java.io.InputStream is
        start local 3 // android.graphics.Rect pad
        start local 4 // android.graphics.BitmapFactory$Options opts
         0: .line 526
            aload 4 /* opts */
            invokestatic android.graphics.BitmapFactory$Options.validate:(Landroid/graphics/BitmapFactory$Options;)V
         1: .line 527
            aload 4 /* opts */
            ifnonnull 3
         2: .line 528
            new android.graphics.BitmapFactory$Options
            dup
            invokespecial android.graphics.BitmapFactory$Options.<init>:()V
            astore 4 /* opts */
         3: .line 531
      StackMap locals:
      StackMap stack:
            aload 4 /* opts */
            getfield android.graphics.BitmapFactory$Options.inDensity:I
            ifne 10
            aload 1 /* value */
            ifnull 10
         4: .line 532
            aload 1 /* value */
            getfield android.util.TypedValue.density:I
            istore 5 /* density */
        start local 5 // int density
         5: .line 533
            iload 5 /* density */
            ifne 8
         6: .line 534
            aload 4 /* opts */
            sipush 160
            putfield android.graphics.BitmapFactory$Options.inDensity:I
         7: .line 535
            goto 10
      StackMap locals: int
      StackMap stack:
         8: iload 5 /* density */
            ldc 65535
            if_icmpeq 10
         9: .line 536
            aload 4 /* opts */
            iload 5 /* density */
            putfield android.graphics.BitmapFactory$Options.inDensity:I
        end local 5 // int density
        10: .line 540
      StackMap locals:
      StackMap stack:
            aload 4 /* opts */
            getfield android.graphics.BitmapFactory$Options.inTargetDensity:I
            ifne 12
            aload 0 /* res */
            ifnull 12
        11: .line 541
            aload 4 /* opts */
            aload 0 /* res */
            invokevirtual android.content.res.Resources.getDisplayMetrics:()Landroid/util/DisplayMetrics;
            getfield android.util.DisplayMetrics.densityDpi:I
            putfield android.graphics.BitmapFactory$Options.inTargetDensity:I
        12: .line 544
      StackMap locals:
      StackMap stack:
            aload 2 /* is */
            aload 3 /* pad */
            aload 4 /* opts */
            invokestatic android.graphics.BitmapFactory.decodeStream:(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
            areturn
        end local 4 // android.graphics.BitmapFactory$Options opts
        end local 3 // android.graphics.Rect pad
        end local 2 // java.io.InputStream is
        end local 1 // android.util.TypedValue value
        end local 0 // android.content.res.Resources res
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0      res  Landroid/content/res/Resources;
            0   13     1    value  Landroid/util/TypedValue;
            0   13     2       is  Ljava/io/InputStream;
            0   13     3      pad  Landroid/graphics/Rect;
            0   13     4     opts  Landroid/graphics/BitmapFactory$Options;
            5   10     5  density  I
    MethodParameters:
       Name  Flags
      res    
      value  
      is     
      pad    
      opts   

  public static android.graphics.Bitmap decodeResource(android.content.res.Resources, int, android.graphics.BitmapFactory$Options);
    descriptor: (Landroid/content/res/Resources;ILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // android.content.res.Resources res
        start local 1 // int id
        start local 2 // android.graphics.BitmapFactory$Options opts
         0: .line 565
            aload 2 /* opts */
            invokestatic android.graphics.BitmapFactory$Options.validate:(Landroid/graphics/BitmapFactory$Options;)V
         1: .line 566
            aconst_null
            astore 3 /* bm */
        start local 3 // android.graphics.Bitmap bm
         2: .line 567
            aconst_null
            astore 4 /* is */
        start local 4 // java.io.InputStream is
         3: .line 570
            new android.util.TypedValue
            dup
            invokespecial android.util.TypedValue.<init>:()V
            astore 5 /* value */
        start local 5 // android.util.TypedValue value
         4: .line 571
            aload 0 /* res */
            iload 1 /* id */
            aload 5 /* value */
            invokevirtual android.content.res.Resources.openRawResource:(ILandroid/util/TypedValue;)Ljava/io/InputStream;
            astore 4 /* is */
         5: .line 573
            aload 0 /* res */
            aload 5 /* value */
            aload 4 /* is */
            aconst_null
            aload 2 /* opts */
            invokestatic android.graphics.BitmapFactory.decodeResourceStream:(Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
            astore 3 /* bm */
        end local 5 // android.util.TypedValue value
         6: .line 574
            goto 16
      StackMap locals: android.content.res.Resources int android.graphics.BitmapFactory$Options android.graphics.Bitmap java.io.InputStream
      StackMap stack: java.lang.Exception
         7: pop
         8: .line 581
            aload 4 /* is */
            ifnull 19
            aload 4 /* is */
            invokevirtual java.io.InputStream.close:()V
         9: .line 582
            goto 19
      StackMap locals:
      StackMap stack: java.io.IOException
        10: pop
            goto 19
        11: .line 579
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        12: .line 581
            aload 4 /* is */
            ifnull 15
            aload 4 /* is */
            invokevirtual java.io.InputStream.close:()V
        13: .line 582
            goto 15
      StackMap locals: android.content.res.Resources int android.graphics.BitmapFactory$Options android.graphics.Bitmap java.io.InputStream top java.lang.Throwable
      StackMap stack: java.io.IOException
        14: pop
        15: .line 585
      StackMap locals:
      StackMap stack:
            aload 6
            athrow
        16: .line 581
      StackMap locals: android.content.res.Resources int android.graphics.BitmapFactory$Options android.graphics.Bitmap java.io.InputStream
      StackMap stack:
            aload 4 /* is */
            ifnull 19
            aload 4 /* is */
            invokevirtual java.io.InputStream.close:()V
        17: .line 582
            goto 19
      StackMap locals:
      StackMap stack: java.io.IOException
        18: pop
        19: .line 587
      StackMap locals:
      StackMap stack:
            aload 3 /* bm */
            ifnonnull 21
            aload 2 /* opts */
            ifnull 21
            aload 2 /* opts */
            getfield android.graphics.BitmapFactory$Options.inBitmap:Landroid/graphics/Bitmap;
            ifnull 21
        20: .line 588
            new java.lang.IllegalArgumentException
            dup
            ldc "Problem decoding into existing bitmap"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 591
      StackMap locals:
      StackMap stack:
            aload 3 /* bm */
            areturn
        end local 4 // java.io.InputStream is
        end local 3 // android.graphics.Bitmap bm
        end local 2 // android.graphics.BitmapFactory$Options opts
        end local 1 // int id
        end local 0 // android.content.res.Resources res
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   22     0    res  Landroid/content/res/Resources;
            0   22     1     id  I
            0   22     2   opts  Landroid/graphics/BitmapFactory$Options;
            2   22     3     bm  Landroid/graphics/Bitmap;
            3   22     4     is  Ljava/io/InputStream;
            4    6     5  value  Landroid/util/TypedValue;
      Exception table:
        from    to  target  type
           3     6       7  Class java.lang.Exception
           8     9      10  Class java.io.IOException
           3     8      11  any
          12    13      14  Class java.io.IOException
          16    17      18  Class java.io.IOException
    MethodParameters:
      Name  Flags
      res   
      id    
      opts  

  public static android.graphics.Bitmap decodeResource(android.content.res.Resources, int);
    descriptor: (Landroid/content/res/Resources;I)Landroid/graphics/Bitmap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.content.res.Resources res
        start local 1 // int id
         0: .line 603
            aload 0 /* res */
            iload 1 /* id */
            aconst_null
            invokestatic android.graphics.BitmapFactory.decodeResource:(Landroid/content/res/Resources;ILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
            areturn
        end local 1 // int id
        end local 0 // android.content.res.Resources res
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   res  Landroid/content/res/Resources;
            0    1     1    id  I
    MethodParameters:
      Name  Flags
      res   
      id    

  public static android.graphics.Bitmap decodeByteArray(byte[], int, int, android.graphics.BitmapFactory$Options);
    descriptor: ([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // byte[] data
        start local 1 // int offset
        start local 2 // int length
        start local 3 // android.graphics.BitmapFactory$Options opts
         0: .line 625
            iload 1 /* offset */
            iload 2 /* length */
            ior
            iflt 1
            aload 0 /* data */
            arraylength
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            if_icmpge 2
         1: .line 626
      StackMap locals:
      StackMap stack:
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 628
      StackMap locals:
      StackMap stack:
            aload 3 /* opts */
            invokestatic android.graphics.BitmapFactory$Options.validate:(Landroid/graphics/BitmapFactory$Options;)V
         3: .line 632
            ldc 2
            ldc "decodeBitmap"
            invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
         4: .line 634
            aload 0 /* data */
            iload 1 /* offset */
            iload 2 /* length */
            aload 3 /* opts */
            invokestatic android.graphics.BitmapFactory.nativeDecodeByteArray:([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
            astore 4 /* bm */
        start local 4 // android.graphics.Bitmap bm
         5: .line 636
            aload 4 /* bm */
            ifnonnull 7
            aload 3 /* opts */
            ifnull 7
            aload 3 /* opts */
            getfield android.graphics.BitmapFactory$Options.inBitmap:Landroid/graphics/Bitmap;
            ifnull 7
         6: .line 637
            new java.lang.IllegalArgumentException
            dup
            ldc "Problem decoding into existing bitmap"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 639
      StackMap locals: android.graphics.Bitmap
      StackMap stack:
            aload 4 /* bm */
            aload 3 /* opts */
            invokestatic android.graphics.BitmapFactory.setDensityFromOptions:(Landroid/graphics/Bitmap;Landroid/graphics/BitmapFactory$Options;)V
         8: .line 640
            goto 12
        end local 4 // android.graphics.Bitmap bm
      StackMap locals: byte[] int int android.graphics.BitmapFactory$Options
      StackMap stack: java.lang.Throwable
         9: astore 5
        10: .line 641
            ldc 2
            invokestatic android.os.Trace.traceEnd:(J)V
        11: .line 642
            aload 5
            athrow
        start local 4 // android.graphics.Bitmap bm
        12: .line 641
      StackMap locals: android.graphics.Bitmap
      StackMap stack:
            ldc 2
            invokestatic android.os.Trace.traceEnd:(J)V
        13: .line 644
            aload 4 /* bm */
            areturn
        end local 4 // android.graphics.Bitmap bm
        end local 3 // android.graphics.BitmapFactory$Options opts
        end local 2 // int length
        end local 1 // int offset
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    data  [B
            0   14     1  offset  I
            0   14     2  length  I
            0   14     3    opts  Landroid/graphics/BitmapFactory$Options;
            5    9     4      bm  Landroid/graphics/Bitmap;
           12   14     4      bm  Landroid/graphics/Bitmap;
      Exception table:
        from    to  target  type
           4     9       9  any
    MethodParameters:
        Name  Flags
      data    
      offset  
      length  
      opts    

  public static android.graphics.Bitmap decodeByteArray(byte[], int, int);
    descriptor: ([BII)Landroid/graphics/Bitmap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // byte[] data
        start local 1 // int offset
        start local 2 // int length
         0: .line 657
            aload 0 /* data */
            iload 1 /* offset */
            iload 2 /* length */
            aconst_null
            invokestatic android.graphics.BitmapFactory.decodeByteArray:([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
            areturn
        end local 2 // int length
        end local 1 // int offset
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    data  [B
            0    1     1  offset  I
            0    1     2  length  I
    MethodParameters:
        Name  Flags
      data    
      offset  
      length  

  private static void setDensityFromOptions(android.graphics.Bitmap, android.graphics.BitmapFactory$Options);
    descriptor: (Landroid/graphics/Bitmap;Landroid/graphics/BitmapFactory$Options;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // android.graphics.Bitmap outputBitmap
        start local 1 // android.graphics.BitmapFactory$Options opts
         0: .line 664
            aload 0 /* outputBitmap */
            ifnull 1
            aload 1 /* opts */
            ifnonnull 2
      StackMap locals:
      StackMap stack:
         1: return
         2: .line 666
      StackMap locals:
      StackMap stack:
            aload 1 /* opts */
            getfield android.graphics.BitmapFactory$Options.inDensity:I
            istore 2 /* density */
        start local 2 // int density
         3: .line 667
            iload 2 /* density */
            ifeq 15
         4: .line 668
            aload 0 /* outputBitmap */
            iload 2 /* density */
            invokevirtual android.graphics.Bitmap.setDensity:(I)V
         5: .line 669
            aload 1 /* opts */
            getfield android.graphics.BitmapFactory$Options.inTargetDensity:I
            istore 3 /* targetDensity */
        start local 3 // int targetDensity
         6: .line 670
            iload 3 /* targetDensity */
            ifeq 7
            iload 2 /* density */
            iload 3 /* targetDensity */
            if_icmpeq 7
            iload 2 /* density */
            aload 1 /* opts */
            getfield android.graphics.BitmapFactory$Options.inScreenDensity:I
            if_icmpne 8
         7: .line 671
      StackMap locals: int int
      StackMap stack:
            return
         8: .line 674
      StackMap locals:
      StackMap stack:
            aload 0 /* outputBitmap */
            invokevirtual android.graphics.Bitmap.getNinePatchChunk:()[B
            astore 4 /* np */
        start local 4 // byte[] np
         9: .line 675
            aload 4 /* np */
            ifnull 10
            aload 4 /* np */
            invokestatic android.graphics.NinePatch.isNinePatchChunk:([B)Z
            ifeq 10
            iconst_1
            goto 11
      StackMap locals: byte[]
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 5 /* isNinePatch */
        start local 5 // boolean isNinePatch
        12: .line 676
            aload 1 /* opts */
            getfield android.graphics.BitmapFactory$Options.inScaled:Z
            ifne 13
            iload 5 /* isNinePatch */
            ifeq 17
        13: .line 677
      StackMap locals: int
      StackMap stack:
            aload 0 /* outputBitmap */
            iload 3 /* targetDensity */
            invokevirtual android.graphics.Bitmap.setDensity:(I)V
        end local 5 // boolean isNinePatch
        end local 4 // byte[] np
        end local 3 // int targetDensity
        14: .line 679
            goto 17
      StackMap locals:
      StackMap stack:
        15: aload 1 /* opts */
            getfield android.graphics.BitmapFactory$Options.inBitmap:Landroid/graphics/Bitmap;
            ifnull 17
        16: .line 681
            aload 0 /* outputBitmap */
            invokestatic android.graphics.Bitmap.getDefaultDensity:()I
            invokevirtual android.graphics.Bitmap.setDensity:(I)V
        17: .line 683
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int density
        end local 1 // android.graphics.BitmapFactory$Options opts
        end local 0 // android.graphics.Bitmap outputBitmap
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0   outputBitmap  Landroid/graphics/Bitmap;
            0   18     1           opts  Landroid/graphics/BitmapFactory$Options;
            3   18     2        density  I
            6   14     3  targetDensity  I
            9   14     4             np  [B
           12   14     5    isNinePatch  Z
    MethodParameters:
              Name  Flags
      outputBitmap  
      opts          

  public static android.graphics.Bitmap decodeStream(java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory$Options);
    descriptor: (Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // java.io.InputStream is
        start local 1 // android.graphics.Rect outPadding
        start local 2 // android.graphics.BitmapFactory$Options opts
         0: .line 718
            aload 0 /* is */
            ifnonnull 2
         1: .line 719
            aconst_null
            areturn
         2: .line 721
      StackMap locals:
      StackMap stack:
            aload 2 /* opts */
            invokestatic android.graphics.BitmapFactory$Options.validate:(Landroid/graphics/BitmapFactory$Options;)V
         3: .line 723
            aconst_null
            astore 3 /* bm */
        start local 3 // android.graphics.Bitmap bm
         4: .line 725
            ldc 2
            ldc "decodeBitmap"
            invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
         5: .line 727
            aload 0 /* is */
            instanceof android.content.res.AssetManager$AssetInputStream
            ifeq 9
         6: .line 728
            aload 0 /* is */
            checkcast android.content.res.AssetManager$AssetInputStream
            invokevirtual android.content.res.AssetManager$AssetInputStream.getNativeAsset:()J
            lstore 4 /* asset */
        start local 4 // long asset
         7: .line 729
            lload 4 /* asset */
            aload 1 /* outPadding */
            aload 2 /* opts */
            invokestatic android.graphics.BitmapFactory.nativeDecodeAsset:(JLandroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
            astore 3 /* bm */
        end local 4 // long asset
         8: .line 730
            goto 10
         9: .line 731
      StackMap locals: android.graphics.Bitmap
      StackMap stack:
            aload 0 /* is */
            aload 1 /* outPadding */
            aload 2 /* opts */
            invokestatic android.graphics.BitmapFactory.decodeStreamInternal:(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
            astore 3 /* bm */
        10: .line 734
      StackMap locals:
      StackMap stack:
            aload 3 /* bm */
            ifnonnull 12
            aload 2 /* opts */
            ifnull 12
            aload 2 /* opts */
            getfield android.graphics.BitmapFactory$Options.inBitmap:Landroid/graphics/Bitmap;
            ifnull 12
        11: .line 735
            new java.lang.IllegalArgumentException
            dup
            ldc "Problem decoding into existing bitmap"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 738
      StackMap locals:
      StackMap stack:
            aload 3 /* bm */
            aload 2 /* opts */
            invokestatic android.graphics.BitmapFactory.setDensityFromOptions:(Landroid/graphics/Bitmap;Landroid/graphics/BitmapFactory$Options;)V
        13: .line 739
            goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 6
        15: .line 740
            ldc 2
            invokestatic android.os.Trace.traceEnd:(J)V
        16: .line 741
            aload 6
            athrow
        17: .line 740
      StackMap locals:
      StackMap stack:
            ldc 2
            invokestatic android.os.Trace.traceEnd:(J)V
        18: .line 743
            aload 3 /* bm */
            areturn
        end local 3 // android.graphics.Bitmap bm
        end local 2 // android.graphics.BitmapFactory$Options opts
        end local 1 // android.graphics.Rect outPadding
        end local 0 // java.io.InputStream is
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0          is  Ljava/io/InputStream;
            0   19     1  outPadding  Landroid/graphics/Rect;
            0   19     2        opts  Landroid/graphics/BitmapFactory$Options;
            4   19     3          bm  Landroid/graphics/Bitmap;
            7    8     4       asset  J
      Exception table:
        from    to  target  type
           5    14      14  any
    MethodParameters:
            Name  Flags
      is          
      outPadding  
      opts        

  private static android.graphics.Bitmap decodeStreamInternal(java.io.InputStream, android.graphics.Rect, android.graphics.BitmapFactory$Options);
    descriptor: (Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.io.InputStream is
        start local 1 // android.graphics.Rect outPadding
        start local 2 // android.graphics.BitmapFactory$Options opts
         0: .line 753
            aconst_null
            astore 3 /* tempStorage */
        start local 3 // byte[] tempStorage
         1: .line 754
            aload 2 /* opts */
            ifnull 2
            aload 2 /* opts */
            getfield android.graphics.BitmapFactory$Options.inTempStorage:[B
            astore 3 /* tempStorage */
         2: .line 755
      StackMap locals: byte[]
      StackMap stack:
            aload 3 /* tempStorage */
            ifnonnull 3
            sipush 16384
            newarray 8
            astore 3 /* tempStorage */
         3: .line 756
      StackMap locals:
      StackMap stack:
            aload 0 /* is */
            aload 3 /* tempStorage */
            aload 1 /* outPadding */
            aload 2 /* opts */
            invokestatic android.graphics.BitmapFactory.nativeDecodeStream:(Ljava/io/InputStream;[BLandroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
            areturn
        end local 3 // byte[] tempStorage
        end local 2 // android.graphics.BitmapFactory$Options opts
        end local 1 // android.graphics.Rect outPadding
        end local 0 // java.io.InputStream is
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0           is  Ljava/io/InputStream;
            0    4     1   outPadding  Landroid/graphics/Rect;
            0    4     2         opts  Landroid/graphics/BitmapFactory$Options;
            1    4     3  tempStorage  [B
    MethodParameters:
            Name  Flags
      is          
      outPadding  
      opts        

  public static android.graphics.Bitmap decodeStream(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Landroid/graphics/Bitmap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.io.InputStream is
         0: .line 770
            aload 0 /* is */
            aconst_null
            aconst_null
            invokestatic android.graphics.BitmapFactory.decodeStream:(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
            areturn
        end local 0 // java.io.InputStream is
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    is  Ljava/io/InputStream;
    MethodParameters:
      Name  Flags
      is    

  public static android.graphics.Bitmap decodeFileDescriptor(java.io.FileDescriptor, android.graphics.Rect, android.graphics.BitmapFactory$Options);
    descriptor: (Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.io.FileDescriptor fd
        start local 1 // android.graphics.Rect outPadding
        start local 2 // android.graphics.BitmapFactory$Options opts
         0: .line 793
            aload 2 /* opts */
            invokestatic android.graphics.BitmapFactory$Options.validate:(Landroid/graphics/BitmapFactory$Options;)V
         1: .line 796
            ldc 2
            ldc "decodeFileDescriptor"
            invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
         2: .line 798
            aload 0 /* fd */
            invokestatic android.graphics.BitmapFactory.nativeIsSeekable:(Ljava/io/FileDescriptor;)Z
            ifeq 5
         3: .line 799
            aload 0 /* fd */
            aload 1 /* outPadding */
            aload 2 /* opts */
            invokestatic android.graphics.BitmapFactory.nativeDecodeFileDescriptor:(Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
            astore 3 /* bm */
        start local 3 // android.graphics.Bitmap bm
         4: .line 800
            goto 16
        end local 3 // android.graphics.Bitmap bm
         5: .line 801
      StackMap locals:
      StackMap stack:
            new java.io.FileInputStream
            dup
            aload 0 /* fd */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/FileDescriptor;)V
            astore 4 /* fis */
        start local 4 // java.io.FileInputStream fis
         6: .line 803
            aload 4 /* fis */
            aload 1 /* outPadding */
            aload 2 /* opts */
            invokestatic android.graphics.BitmapFactory.decodeStreamInternal:(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
            astore 3 /* bm */
        start local 3 // android.graphics.Bitmap bm
         7: .line 804
            goto 13
        end local 3 // android.graphics.Bitmap bm
      StackMap locals: java.io.FileDescriptor android.graphics.Rect android.graphics.BitmapFactory$Options top java.io.FileInputStream
      StackMap stack: java.lang.Throwable
         8: astore 5
         9: .line 806
            aload 4 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        10: .line 807
            goto 12
      StackMap locals: java.io.FileDescriptor android.graphics.Rect android.graphics.BitmapFactory$Options top java.io.FileInputStream java.lang.Throwable
      StackMap stack: java.lang.Throwable
        11: pop
        12: .line 808
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
        start local 3 // android.graphics.Bitmap bm
        13: .line 806
      StackMap locals: java.io.FileDescriptor android.graphics.Rect android.graphics.BitmapFactory$Options android.graphics.Bitmap java.io.FileInputStream
      StackMap stack:
            aload 4 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        14: .line 807
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: pop
        end local 4 // java.io.FileInputStream fis
        16: .line 811
      StackMap locals:
      StackMap stack:
            aload 3 /* bm */
            ifnonnull 18
            aload 2 /* opts */
            ifnull 18
            aload 2 /* opts */
            getfield android.graphics.BitmapFactory$Options.inBitmap:Landroid/graphics/Bitmap;
            ifnull 18
        17: .line 812
            new java.lang.IllegalArgumentException
            dup
            ldc "Problem decoding into existing bitmap"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 815
      StackMap locals:
      StackMap stack:
            aload 3 /* bm */
            aload 2 /* opts */
            invokestatic android.graphics.BitmapFactory.setDensityFromOptions:(Landroid/graphics/Bitmap;Landroid/graphics/BitmapFactory$Options;)V
        19: .line 816
            goto 23
        end local 3 // android.graphics.Bitmap bm
      StackMap locals: java.io.FileDescriptor android.graphics.Rect android.graphics.BitmapFactory$Options
      StackMap stack: java.lang.Throwable
        20: astore 6
        21: .line 817
            ldc 2
            invokestatic android.os.Trace.traceEnd:(J)V
        22: .line 818
            aload 6
            athrow
        start local 3 // android.graphics.Bitmap bm
        23: .line 817
      StackMap locals: android.graphics.Bitmap
      StackMap stack:
            ldc 2
            invokestatic android.os.Trace.traceEnd:(J)V
        24: .line 819
            aload 3 /* bm */
            areturn
        end local 3 // android.graphics.Bitmap bm
        end local 2 // android.graphics.BitmapFactory$Options opts
        end local 1 // android.graphics.Rect outPadding
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   25     0          fd  Ljava/io/FileDescriptor;
            0   25     1  outPadding  Landroid/graphics/Rect;
            0   25     2        opts  Landroid/graphics/BitmapFactory$Options;
            4    5     3          bm  Landroid/graphics/Bitmap;
            7    8     3          bm  Landroid/graphics/Bitmap;
           13   20     3          bm  Landroid/graphics/Bitmap;
           23   25     3          bm  Landroid/graphics/Bitmap;
            6   16     4         fis  Ljava/io/FileInputStream;
      Exception table:
        from    to  target  type
           6     8       8  any
           9    10      11  Class java.lang.Throwable
          13    14      15  Class java.lang.Throwable
           2    20      20  any
    MethodParameters:
            Name  Flags
      fd          
      outPadding  
      opts        

  public static android.graphics.Bitmap decodeFileDescriptor(java.io.FileDescriptor);
    descriptor: (Ljava/io/FileDescriptor;)Landroid/graphics/Bitmap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.io.FileDescriptor fd
         0: .line 831
            aload 0 /* fd */
            aconst_null
            aconst_null
            invokestatic android.graphics.BitmapFactory.decodeFileDescriptor:(Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
            areturn
        end local 0 // java.io.FileDescriptor fd
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    fd  Ljava/io/FileDescriptor;
    MethodParameters:
      Name  Flags
      fd    

  private static native android.graphics.Bitmap nativeDecodeStream(java.io.InputStream, byte[], android.graphics.Rect, android.graphics.BitmapFactory$Options);
    descriptor: (Ljava/io/InputStream;[BLandroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
         Name  Flags
      is       
      storage  
      padding  
      opts     

  private static native android.graphics.Bitmap nativeDecodeFileDescriptor(java.io.FileDescriptor, android.graphics.Rect, android.graphics.BitmapFactory$Options);
    descriptor: (Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
         Name  Flags
      fd       
      padding  
      opts     

  private static native android.graphics.Bitmap nativeDecodeAsset(long, android.graphics.Rect, android.graphics.BitmapFactory$Options);
    descriptor: (JLandroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
             Name  Flags
      nativeAsset  
      padding      
      opts         

  private static native android.graphics.Bitmap nativeDecodeByteArray(byte[], int, int, android.graphics.BitmapFactory$Options);
    descriptor: ([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      data    
      offset  
      length  
      opts    

  private static native boolean nativeIsSeekable(java.io.FileDescriptor);
    descriptor: (Ljava/io/FileDescriptor;)Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      fd    
}
SourceFile: "BitmapFactory.java"
NestMembers:
  android.graphics.BitmapFactory$Options
InnerClasses:
  public final AssetInputStream = android.content.res.AssetManager$AssetInputStream of android.content.res.AssetManager
  public Options = android.graphics.BitmapFactory$Options of android.graphics.BitmapFactory