public class org.apache.batik.svggen.ImageHandlerBase64Encoder extends org.apache.batik.svggen.DefaultImageHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.batik.svggen.ImageHandlerBase64Encoder
  super_class: org.apache.batik.svggen.DefaultImageHandler
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.batik.svggen.ImageHandlerBase64Encoder this
         0: .line 52
            aload 0 /* this */
            invokespecial org.apache.batik.svggen.DefaultImageHandler.<init>:()V
         1: .line 53
            return
        end local 0 // org.apache.batik.svggen.ImageHandlerBase64Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/batik/svggen/ImageHandlerBase64Encoder;

  public void handleHREF(java.awt.Image, org.w3c.dom.Element, org.apache.batik.svggen.SVGGeneratorContext);
    descriptor: (Ljava/awt/Image;Lorg/w3c/dom/Element;Lorg/apache/batik/svggen/SVGGeneratorContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // org.apache.batik.svggen.ImageHandlerBase64Encoder this
        start local 1 // java.awt.Image image
        start local 2 // org.w3c.dom.Element imageElement
        start local 3 // org.apache.batik.svggen.SVGGeneratorContext generatorContext
         0: .line 62
            aload 1 /* image */
            ifnonnull 2
         1: .line 63
            new org.apache.batik.svggen.SVGGraphics2DRuntimeException
            dup
            ldc "image should not be null"
            invokespecial org.apache.batik.svggen.SVGGraphics2DRuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 65
      StackMap locals:
      StackMap stack:
            aload 1 /* image */
            aconst_null
            invokevirtual java.awt.Image.getWidth:(Ljava/awt/image/ImageObserver;)I
            istore 4 /* width */
        start local 4 // int width
         3: .line 66
            aload 1 /* image */
            aconst_null
            invokevirtual java.awt.Image.getHeight:(Ljava/awt/image/ImageObserver;)I
            istore 5 /* height */
        start local 5 // int height
         4: .line 68
            iload 4 /* width */
            ifeq 5
            iload 5 /* height */
            ifne 7
         5: .line 69
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* imageElement */
            invokevirtual org.apache.batik.svggen.ImageHandlerBase64Encoder.handleEmptyImage:(Lorg/w3c/dom/Element;)V
         6: .line 70
            goto 22
         7: .line 71
      StackMap locals:
      StackMap stack:
            aload 1 /* image */
            instanceof java.awt.image.RenderedImage
            ifeq 12
         8: .line 72
            aload 0 /* this */
            aload 1 /* image */
            checkcast java.awt.image.RenderedImage
            aload 2 /* imageElement */
         9: .line 73
            aload 3 /* generatorContext */
        10: .line 72
            invokevirtual org.apache.batik.svggen.ImageHandlerBase64Encoder.handleHREF:(Ljava/awt/image/RenderedImage;Lorg/w3c/dom/Element;Lorg/apache/batik/svggen/SVGGeneratorContext;)V
        11: .line 74
            goto 22
        12: .line 76
      StackMap locals:
      StackMap stack:
            new java.awt.image.BufferedImage
            dup
            iload 4 /* width */
            iload 5 /* height */
        13: .line 77
            iconst_2
        14: .line 76
            invokespecial java.awt.image.BufferedImage.<init>:(III)V
        15: .line 75
            astore 6 /* buf */
        start local 6 // java.awt.image.BufferedImage buf
        16: .line 79
            aload 6 /* buf */
            invokevirtual java.awt.image.BufferedImage.createGraphics:()Ljava/awt/Graphics2D;
            astore 7 /* g */
        start local 7 // java.awt.Graphics2D g
        17: .line 80
            aload 7 /* g */
            aload 1 /* image */
            iconst_0
            iconst_0
            aconst_null
            invokevirtual java.awt.Graphics2D.drawImage:(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z
            pop
        18: .line 81
            aload 7 /* g */
            invokevirtual java.awt.Graphics2D.dispose:()V
        19: .line 82
            aload 0 /* this */
            aload 6 /* buf */
            aload 2 /* imageElement */
        20: .line 83
            aload 3 /* generatorContext */
        21: .line 82
            invokevirtual org.apache.batik.svggen.ImageHandlerBase64Encoder.handleHREF:(Ljava/awt/image/RenderedImage;Lorg/w3c/dom/Element;Lorg/apache/batik/svggen/SVGGeneratorContext;)V
        end local 7 // java.awt.Graphics2D g
        end local 6 // java.awt.image.BufferedImage buf
        22: .line 86
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int height
        end local 4 // int width
        end local 3 // org.apache.batik.svggen.SVGGeneratorContext generatorContext
        end local 2 // org.w3c.dom.Element imageElement
        end local 1 // java.awt.Image image
        end local 0 // org.apache.batik.svggen.ImageHandlerBase64Encoder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   23     0              this  Lorg/apache/batik/svggen/ImageHandlerBase64Encoder;
            0   23     1             image  Ljava/awt/Image;
            0   23     2      imageElement  Lorg/w3c/dom/Element;
            0   23     3  generatorContext  Lorg/apache/batik/svggen/SVGGeneratorContext;
            3   23     4             width  I
            4   23     5            height  I
           16   22     6               buf  Ljava/awt/image/BufferedImage;
           17   22     7                 g  Ljava/awt/Graphics2D;
    Exceptions:
      throws org.apache.batik.svggen.SVGGraphics2DIOException
    MethodParameters:
                  Name  Flags
      image             
      imageElement      
      generatorContext  

  public void handleHREF(java.awt.image.renderable.RenderableImage, org.w3c.dom.Element, org.apache.batik.svggen.SVGGeneratorContext);
    descriptor: (Ljava/awt/image/renderable/RenderableImage;Lorg/w3c/dom/Element;Lorg/apache/batik/svggen/SVGGeneratorContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.apache.batik.svggen.ImageHandlerBase64Encoder this
        start local 1 // java.awt.image.renderable.RenderableImage image
        start local 2 // org.w3c.dom.Element imageElement
        start local 3 // org.apache.batik.svggen.SVGGeneratorContext generatorContext
         0: .line 95
            aload 1 /* image */
            ifnonnull 2
         1: .line 96
            new org.apache.batik.svggen.SVGGraphics2DRuntimeException
            dup
            ldc "image should not be null"
            invokespecial org.apache.batik.svggen.SVGGraphics2DRuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 99
      StackMap locals:
      StackMap stack:
            aload 1 /* image */
            invokeinterface java.awt.image.renderable.RenderableImage.createDefaultRendering:()Ljava/awt/image/RenderedImage;
            astore 4 /* r */
        start local 4 // java.awt.image.RenderedImage r
         3: .line 100
            aload 4 /* r */
            ifnonnull 6
         4: .line 101
            aload 0 /* this */
            aload 2 /* imageElement */
            invokevirtual org.apache.batik.svggen.ImageHandlerBase64Encoder.handleEmptyImage:(Lorg/w3c/dom/Element;)V
         5: .line 102
            goto 7
         6: .line 103
      StackMap locals: java.awt.image.RenderedImage
      StackMap stack:
            aload 0 /* this */
            aload 4 /* r */
            aload 2 /* imageElement */
            aload 3 /* generatorContext */
            invokevirtual org.apache.batik.svggen.ImageHandlerBase64Encoder.handleHREF:(Ljava/awt/image/RenderedImage;Lorg/w3c/dom/Element;Lorg/apache/batik/svggen/SVGGeneratorContext;)V
         7: .line 105
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.awt.image.RenderedImage r
        end local 3 // org.apache.batik.svggen.SVGGeneratorContext generatorContext
        end local 2 // org.w3c.dom.Element imageElement
        end local 1 // java.awt.image.renderable.RenderableImage image
        end local 0 // org.apache.batik.svggen.ImageHandlerBase64Encoder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/apache/batik/svggen/ImageHandlerBase64Encoder;
            0    8     1             image  Ljava/awt/image/renderable/RenderableImage;
            0    8     2      imageElement  Lorg/w3c/dom/Element;
            0    8     3  generatorContext  Lorg/apache/batik/svggen/SVGGeneratorContext;
            3    8     4                 r  Ljava/awt/image/RenderedImage;
    Exceptions:
      throws org.apache.batik.svggen.SVGGraphics2DIOException
    MethodParameters:
                  Name  Flags
      image             
      imageElement      
      generatorContext  

  protected void handleEmptyImage(org.w3c.dom.Element);
    descriptor: (Lorg/w3c/dom/Element;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.batik.svggen.ImageHandlerBase64Encoder this
        start local 1 // org.w3c.dom.Element imageElement
         0: .line 108
            aload 1 /* imageElement */
            ldc "http://www.w3.org/1999/xlink"
         1: .line 109
            ldc "xlink:href"
            ldc "data:image/png;base64,"
         2: .line 108
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         3: .line 110
            aload 1 /* imageElement */
            aconst_null
            ldc "width"
            ldc "0"
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         4: .line 111
            aload 1 /* imageElement */
            aconst_null
            ldc "height"
            ldc "0"
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         5: .line 112
            return
        end local 1 // org.w3c.dom.Element imageElement
        end local 0 // org.apache.batik.svggen.ImageHandlerBase64Encoder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/apache/batik/svggen/ImageHandlerBase64Encoder;
            0    6     1  imageElement  Lorg/w3c/dom/Element;
    MethodParameters:
              Name  Flags
      imageElement  

  public void handleHREF(java.awt.image.RenderedImage, org.w3c.dom.Element, org.apache.batik.svggen.SVGGeneratorContext);
    descriptor: (Ljava/awt/image/RenderedImage;Lorg/w3c/dom/Element;Lorg/apache/batik/svggen/SVGGeneratorContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // org.apache.batik.svggen.ImageHandlerBase64Encoder this
        start local 1 // java.awt.image.RenderedImage image
        start local 2 // org.w3c.dom.Element imageElement
        start local 3 // org.apache.batik.svggen.SVGGeneratorContext generatorContext
         0: .line 127
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 4 /* os */
        start local 4 // java.io.ByteArrayOutputStream os
         1: .line 128
            new org.apache.batik.util.Base64EncoderStream
            dup
            aload 4 /* os */
            invokespecial org.apache.batik.util.Base64EncoderStream.<init>:(Ljava/io/OutputStream;)V
            astore 5 /* b64Encoder */
        start local 5 // org.apache.batik.util.Base64EncoderStream b64Encoder
         2: .line 133
            aload 0 /* this */
            aload 1 /* image */
            aload 5 /* b64Encoder */
            invokevirtual org.apache.batik.svggen.ImageHandlerBase64Encoder.encodeImage:(Ljava/awt/image/RenderedImage;Ljava/io/OutputStream;)V
         3: .line 136
            aload 5 /* b64Encoder */
            invokevirtual org.apache.batik.util.Base64EncoderStream.close:()V
         4: .line 137
            goto 7
      StackMap locals: org.apache.batik.svggen.ImageHandlerBase64Encoder java.awt.image.RenderedImage org.w3c.dom.Element org.apache.batik.svggen.SVGGeneratorContext java.io.ByteArrayOutputStream org.apache.batik.util.Base64EncoderStream
      StackMap stack: java.io.IOException
         5: astore 6 /* e */
        start local 6 // java.io.IOException e
         6: .line 139
            new org.apache.batik.svggen.SVGGraphics2DIOException
            dup
            ldc "unexpected exception"
            aload 6 /* e */
            invokespecial org.apache.batik.svggen.SVGGraphics2DIOException.<init>:(Ljava/lang/String;Ljava/io/IOException;)V
            athrow
        end local 6 // java.io.IOException e
         7: .line 145
      StackMap locals:
      StackMap stack:
            aload 2 /* imageElement */
            ldc "http://www.w3.org/1999/xlink"
         8: .line 146
            ldc "xlink:href"
         9: .line 147
            new java.lang.StringBuilder
            dup
            ldc "data:image/png;base64,"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 148
            aload 4 /* os */
            invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 147
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 145
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        13: .line 150
            return
        end local 5 // org.apache.batik.util.Base64EncoderStream b64Encoder
        end local 4 // java.io.ByteArrayOutputStream os
        end local 3 // org.apache.batik.svggen.SVGGeneratorContext generatorContext
        end local 2 // org.w3c.dom.Element imageElement
        end local 1 // java.awt.image.RenderedImage image
        end local 0 // org.apache.batik.svggen.ImageHandlerBase64Encoder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0              this  Lorg/apache/batik/svggen/ImageHandlerBase64Encoder;
            0   14     1             image  Ljava/awt/image/RenderedImage;
            0   14     2      imageElement  Lorg/w3c/dom/Element;
            0   14     3  generatorContext  Lorg/apache/batik/svggen/SVGGeneratorContext;
            1   14     4                os  Ljava/io/ByteArrayOutputStream;
            2   14     5        b64Encoder  Lorg/apache/batik/util/Base64EncoderStream;
            6    7     6                 e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     4       5  Class java.io.IOException
    Exceptions:
      throws org.apache.batik.svggen.SVGGraphics2DIOException
    MethodParameters:
                  Name  Flags
      image             
      imageElement      
      generatorContext  

  public void encodeImage(java.awt.image.RenderedImage, java.io.OutputStream);
    descriptor: (Ljava/awt/image/RenderedImage;Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.batik.svggen.ImageHandlerBase64Encoder this
        start local 1 // java.awt.image.RenderedImage buf
        start local 2 // java.io.OutputStream os
         0: .line 155
            invokestatic org.apache.batik.ext.awt.image.spi.ImageWriterRegistry.getInstance:()Lorg/apache/batik/ext/awt/image/spi/ImageWriterRegistry;
         1: .line 156
            ldc "image/png"
            invokevirtual org.apache.batik.ext.awt.image.spi.ImageWriterRegistry.getWriterFor:(Ljava/lang/String;)Lorg/apache/batik/ext/awt/image/spi/ImageWriter;
         2: .line 155
            astore 3 /* writer */
        start local 3 // org.apache.batik.ext.awt.image.spi.ImageWriter writer
         3: .line 157
            aload 3 /* writer */
            aload 1 /* buf */
            aload 2 /* os */
            invokeinterface org.apache.batik.ext.awt.image.spi.ImageWriter.writeImage:(Ljava/awt/image/RenderedImage;Ljava/io/OutputStream;)V
        end local 3 // org.apache.batik.ext.awt.image.spi.ImageWriter writer
         4: .line 158
            goto 7
      StackMap locals:
      StackMap stack: java.io.IOException
         5: pop
         6: .line 160
            new org.apache.batik.svggen.SVGGraphics2DIOException
            dup
            ldc "unexpected exception"
            invokespecial org.apache.batik.svggen.SVGGraphics2DIOException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 162
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.OutputStream os
        end local 1 // java.awt.image.RenderedImage buf
        end local 0 // org.apache.batik.svggen.ImageHandlerBase64Encoder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/apache/batik/svggen/ImageHandlerBase64Encoder;
            0    8     1     buf  Ljava/awt/image/RenderedImage;
            0    8     2      os  Ljava/io/OutputStream;
            3    4     3  writer  Lorg/apache/batik/ext/awt/image/spi/ImageWriter;
      Exception table:
        from    to  target  type
           0     4       5  Class java.io.IOException
    Exceptions:
      throws org.apache.batik.svggen.SVGGraphics2DIOException
    MethodParameters:
      Name  Flags
      buf   
      os    

  public java.awt.image.BufferedImage buildBufferedImage(java.awt.Dimension);
    descriptor: (Ljava/awt/Dimension;)Ljava/awt/image/BufferedImage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.batik.svggen.ImageHandlerBase64Encoder this
        start local 1 // java.awt.Dimension size
         0: .line 169
            new java.awt.image.BufferedImage
            dup
            aload 1 /* size */
            getfield java.awt.Dimension.width:I
            aload 1 /* size */
            getfield java.awt.Dimension.height:I
         1: .line 170
            iconst_2
         2: .line 169
            invokespecial java.awt.image.BufferedImage.<init>:(III)V
            areturn
        end local 1 // java.awt.Dimension size
        end local 0 // org.apache.batik.svggen.ImageHandlerBase64Encoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/batik/svggen/ImageHandlerBase64Encoder;
            0    3     1  size  Ljava/awt/Dimension;
    MethodParameters:
      Name  Flags
      size  
}
SourceFile: "ImageHandlerBase64Encoder.java"