final class org.apache.fop.image.loader.batik.PreloaderSVG$Loader
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.apache.fop.image.loader.batik.PreloaderSVG$Loader
  super_class: java.lang.Object
{
  final org.apache.fop.image.loader.batik.PreloaderSVG this$0;
    descriptor: Lorg/apache/fop/image/loader/batik/PreloaderSVG;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(org.apache.fop.image.loader.batik.PreloaderSVG);
    descriptor: (Lorg/apache/fop/image/loader/batik/PreloaderSVG;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.fop.image.loader.batik.PreloaderSVG$Loader this
         0: .line 110
            aload 0 /* this */
            aload 1
            putfield org.apache.fop.image.loader.batik.PreloaderSVG$Loader.this$0:Lorg/apache/fop/image/loader/batik/PreloaderSVG;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 111
            return
        end local 0 // org.apache.fop.image.loader.batik.PreloaderSVG$Loader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/fop/image/loader/batik/PreloaderSVG$Loader;
    MethodParameters:
        Name  Flags
      this$0  final

  private org.apache.xmlgraphics.image.loader.ImageInfo getImage(java.lang.String, javax.xml.transform.Source, org.apache.xmlgraphics.image.loader.ImageContext);
    descriptor: (Ljava/lang/String;Ljavax/xml/transform/Source;Lorg/apache/xmlgraphics/image/loader/ImageContext;)Lorg/apache/xmlgraphics/image/loader/ImageInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.apache.fop.image.loader.batik.PreloaderSVG$Loader this
        start local 1 // java.lang.String uri
        start local 2 // javax.xml.transform.Source src
        start local 3 // org.apache.xmlgraphics.image.loader.ImageContext context
         0: .line 117
            aconst_null
            astore 4 /* in */
        start local 4 // java.io.InputStream in
         1: .line 120
            aload 2 /* src */
            instanceof javax.xml.transform.dom.DOMSource
            ifeq 5
         2: .line 121
            aload 2 /* src */
            checkcast javax.xml.transform.dom.DOMSource
            astore 6 /* domSrc */
        start local 6 // javax.xml.transform.dom.DOMSource domSrc
         3: .line 122
            aload 6 /* domSrc */
            invokevirtual javax.xml.transform.dom.DOMSource.getNode:()Lorg/w3c/dom/Node;
            checkcast org.w3c.dom.svg.SVGDocument
            astore 5 /* doc */
        end local 6 // javax.xml.transform.dom.DOMSource domSrc
        start local 5 // org.w3c.dom.svg.SVGDocument doc
         4: .line 123
            goto 12
        end local 5 // org.w3c.dom.svg.SVGDocument doc
         5: .line 124
      StackMap locals: java.io.InputStream
      StackMap stack:
            new org.apache.fop.util.UnclosableInputStream
            dup
            aload 2 /* src */
            invokestatic org.apache.xmlgraphics.io.XmlSourceUtil.needInputStream:(Ljavax/xml/transform/Source;)Ljava/io/InputStream;
            invokespecial org.apache.fop.util.UnclosableInputStream.<init>:(Ljava/io/InputStream;)V
            astore 4 /* in */
         6: .line 125
            aload 4 /* in */
            invokevirtual java.io.InputStream.available:()I
            istore 6 /* length */
        start local 6 // int length
         7: .line 126
            aload 4 /* in */
            iload 6 /* length */
            iconst_1
            iadd
            invokevirtual java.io.InputStream.mark:(I)V
         8: .line 127
            new org.apache.batik.anim.dom.SAXSVGDocumentFactory
            dup
         9: .line 128
            invokestatic org.apache.fop.image.loader.batik.PreloaderSVG.getParserName:()Ljava/lang/String;
        10: .line 127
            invokespecial org.apache.batik.anim.dom.SAXSVGDocumentFactory.<init>:(Ljava/lang/String;)V
            astore 7 /* factory */
        start local 7 // org.apache.batik.anim.dom.SAXSVGDocumentFactory factory
        11: .line 129
            aload 7 /* factory */
            aload 2 /* src */
            invokeinterface javax.xml.transform.Source.getSystemId:()Ljava/lang/String;
            aload 4 /* in */
            invokevirtual org.apache.batik.anim.dom.SAXSVGDocumentFactory.createSVGDocument:(Ljava/lang/String;Ljava/io/InputStream;)Lorg/w3c/dom/svg/SVGDocument;
            astore 5 /* doc */
        end local 7 // org.apache.batik.anim.dom.SAXSVGDocumentFactory factory
        end local 6 // int length
        start local 5 // org.w3c.dom.svg.SVGDocument doc
        12: .line 131
      StackMap locals: org.w3c.dom.svg.SVGDocument
      StackMap stack:
            aload 0 /* this */
            aload 1 /* uri */
            aload 3 /* context */
            aload 5 /* doc */
            invokevirtual org.apache.fop.image.loader.batik.PreloaderSVG$Loader.createImageInfo:(Ljava/lang/String;Lorg/apache/xmlgraphics/image/loader/ImageContext;Lorg/w3c/dom/svg/SVGDocument;)Lorg/apache/xmlgraphics/image/loader/ImageInfo;
            astore 6 /* info */
        start local 6 // org.apache.xmlgraphics.image.loader.ImageInfo info
        13: .line 133
            aload 6 /* info */
        14: areturn
        end local 6 // org.apache.xmlgraphics.image.loader.ImageInfo info
        end local 5 // org.w3c.dom.svg.SVGDocument doc
        15: .line 134
      StackMap locals: org.apache.fop.image.loader.batik.PreloaderSVG$Loader java.lang.String javax.xml.transform.Source org.apache.xmlgraphics.image.loader.ImageContext java.io.InputStream
      StackMap stack: java.lang.NoClassDefFoundError
            astore 5 /* ncdfe */
        start local 5 // java.lang.NoClassDefFoundError ncdfe
        16: .line 135
            aload 4 /* in */
            ifnull 20
        17: .line 137
            aload 4 /* in */
            invokevirtual java.io.InputStream.reset:()V
        18: .line 138
            goto 20
      StackMap locals: org.apache.fop.image.loader.batik.PreloaderSVG$Loader java.lang.String javax.xml.transform.Source org.apache.xmlgraphics.image.loader.ImageContext java.io.InputStream java.lang.NoClassDefFoundError
      StackMap stack: java.io.IOException
        19: pop
        20: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.fop.image.loader.batik.PreloaderSVG$Loader.this$0:Lorg/apache/fop/image/loader/batik/PreloaderSVG;
            iconst_0
            putfield org.apache.fop.image.loader.batik.PreloaderSVG.batikAvailable:Z
        21: .line 143
            getstatic org.apache.fop.image.loader.batik.PreloaderSVG.log:Lorg/apache/commons/logging/Log;
            ldc "Batik not in class path"
            aload 5 /* ncdfe */
            invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        22: .line 144
            aconst_null
            areturn
        end local 5 // java.lang.NoClassDefFoundError ncdfe
        23: .line 145
      StackMap locals: org.apache.fop.image.loader.batik.PreloaderSVG$Loader java.lang.String javax.xml.transform.Source org.apache.xmlgraphics.image.loader.ImageContext java.io.InputStream
      StackMap stack: java.io.IOException
            astore 5 /* e */
        start local 5 // java.io.IOException e
        24: .line 149
            getstatic org.apache.fop.image.loader.batik.PreloaderSVG.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Error while trying to load stream as an SVG file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 150
            aload 5 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 149
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        27: .line 154
            aload 4 /* in */
            invokevirtual java.io.InputStream.reset:()V
        28: .line 155
            goto 30
      StackMap locals: org.apache.fop.image.loader.batik.PreloaderSVG$Loader java.lang.String javax.xml.transform.Source org.apache.xmlgraphics.image.loader.ImageContext java.io.InputStream java.io.IOException
      StackMap stack: java.io.IOException
        29: pop
        30: .line 158
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // java.io.IOException e
        end local 4 // java.io.InputStream in
        end local 3 // org.apache.xmlgraphics.image.loader.ImageContext context
        end local 2 // javax.xml.transform.Source src
        end local 1 // java.lang.String uri
        end local 0 // org.apache.fop.image.loader.batik.PreloaderSVG$Loader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   31     0     this  Lorg/apache/fop/image/loader/batik/PreloaderSVG$Loader;
            0   31     1      uri  Ljava/lang/String;
            0   31     2      src  Ljavax/xml/transform/Source;
            0   31     3  context  Lorg/apache/xmlgraphics/image/loader/ImageContext;
            1   31     4       in  Ljava/io/InputStream;
            4    5     5      doc  Lorg/w3c/dom/svg/SVGDocument;
           12   15     5      doc  Lorg/w3c/dom/svg/SVGDocument;
            3    4     6   domSrc  Ljavax/xml/transform/dom/DOMSource;
            7   12     6   length  I
           11   12     7  factory  Lorg/apache/batik/anim/dom/SAXSVGDocumentFactory;
           13   15     6     info  Lorg/apache/xmlgraphics/image/loader/ImageInfo;
           16   23     5    ncdfe  Ljava/lang/NoClassDefFoundError;
           24   31     5        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1    14      15  Class java.lang.NoClassDefFoundError
          17    18      19  Class java.io.IOException
           1    14      23  Class java.io.IOException
          27    28      29  Class java.io.IOException
    MethodParameters:
         Name  Flags
      uri      
      src      
      context  

  private org.apache.xmlgraphics.image.loader.ImageInfo createImageInfo(java.lang.String, org.apache.xmlgraphics.image.loader.ImageContext, org.w3c.dom.svg.SVGDocument);
    descriptor: (Ljava/lang/String;Lorg/apache/xmlgraphics/image/loader/ImageContext;Lorg/w3c/dom/svg/SVGDocument;)Lorg/apache/xmlgraphics/image/loader/ImageInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=17, args_size=4
        start local 0 // org.apache.fop.image.loader.batik.PreloaderSVG$Loader this
        start local 1 // java.lang.String uri
        start local 2 // org.apache.xmlgraphics.image.loader.ImageContext context
        start local 3 // org.w3c.dom.svg.SVGDocument doc
         0: .line 163
            aload 3 /* doc */
            invokeinterface org.w3c.dom.svg.SVGDocument.getRootElement:()Lorg/w3c/dom/svg/SVGSVGElement;
            astore 4 /* e */
        start local 4 // org.w3c.dom.Element e
         1: .line 164
            ldc 25.4
            aload 2 /* context */
            invokeinterface org.apache.xmlgraphics.image.loader.ImageContext.getSourceResolution:()F
            fdiv
            fstore 5 /* pxUnitToMillimeter */
        start local 5 // float pxUnitToMillimeter
         2: .line 165
            new org.apache.fop.image.loader.batik.PreloaderSVG$Loader$1
            dup
            aload 0 /* this */
            fload 5 /* pxUnitToMillimeter */
         3: .line 166
            new java.awt.geom.AffineTransform
            dup
            invokespecial java.awt.geom.AffineTransform.<init>:()V
            getstatic org.apache.batik.bridge.DefaultFontFamilyResolver.SINGLETON:Lorg/apache/batik/bridge/DefaultFontFamilyResolver;
         4: .line 165
            invokespecial org.apache.fop.image.loader.batik.PreloaderSVG$Loader$1.<init>:(Lorg/apache/fop/image/loader/batik/PreloaderSVG$Loader;FLjava/awt/geom/AffineTransform;Lorg/apache/batik/bridge/FontFamilyResolver;)V
            astore 6 /* userAg */
        start local 6 // org.apache.batik.bridge.UserAgent userAg
         5: .line 174
            new org.apache.batik.bridge.BridgeContext
            dup
            aload 6 /* userAg */
            invokespecial org.apache.batik.bridge.BridgeContext.<init>:(Lorg/apache/batik/bridge/UserAgent;)V
            astore 7 /* ctx */
        start local 7 // org.apache.batik.bridge.BridgeContext ctx
         6: .line 175
            aload 7 /* ctx */
            aload 4 /* e */
            invokestatic org.apache.batik.bridge.UnitProcessor.createContext:(Lorg/apache/batik/bridge/BridgeContext;Lorg/w3c/dom/Element;)Lorg/apache/batik/parser/UnitProcessor$Context;
            astore 8 /* uctx */
        start local 8 // org.apache.batik.parser.UnitProcessor$Context uctx
         7: .line 179
            aload 4 /* e */
            aconst_null
            ldc "width"
            invokeinterface org.w3c.dom.Element.getAttributeNS:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* s */
        start local 9 // java.lang.String s
         8: .line 180
            aload 9 /* s */
            invokevirtual java.lang.String.length:()I
            ifne 10
         9: .line 181
            ldc "100%"
            astore 9 /* s */
        10: .line 184
      StackMap locals: org.apache.fop.image.loader.batik.PreloaderSVG$Loader java.lang.String org.apache.xmlgraphics.image.loader.ImageContext org.w3c.dom.svg.SVGDocument org.w3c.dom.Element float org.apache.batik.bridge.UserAgent org.apache.batik.bridge.BridgeContext org.apache.batik.parser.UnitProcessor$Context java.lang.String
      StackMap stack:
            aload 9 /* s */
            ldc "width"
            aload 8 /* uctx */
        11: .line 183
            invokestatic org.apache.batik.bridge.UnitProcessor.svgHorizontalLengthToUserSpace:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/batik/parser/UnitProcessor$Context;)F
            fstore 10 /* width */
        start local 10 // float width
        12: .line 187
            aload 4 /* e */
            aconst_null
            ldc "height"
            invokeinterface org.w3c.dom.Element.getAttributeNS:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* s */
        13: .line 188
            aload 9 /* s */
            invokevirtual java.lang.String.length:()I
            ifne 15
        14: .line 189
            ldc "100%"
            astore 9 /* s */
        15: .line 192
      StackMap locals: float
      StackMap stack:
            aload 9 /* s */
            ldc "height"
            aload 8 /* uctx */
        16: .line 191
            invokestatic org.apache.batik.bridge.UnitProcessor.svgVerticalLengthToUserSpace:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/batik/parser/UnitProcessor$Context;)F
            fstore 11 /* height */
        start local 11 // float height
        17: .line 194
            fload 10 /* width */
            f2d
            aload 2 /* context */
            invokeinterface org.apache.xmlgraphics.image.loader.ImageContext.getSourceResolution:()F
            f2d
            invokestatic org.apache.fop.image.loader.batik.PreloaderSVG.px2mpt:(DD)D
            invokestatic java.lang.Math.round:(D)J
            l2i
            istore 12 /* widthMpt */
        start local 12 // int widthMpt
        18: .line 195
            fload 11 /* height */
            f2d
            aload 2 /* context */
            invokeinterface org.apache.xmlgraphics.image.loader.ImageContext.getSourceResolution:()F
            f2d
            invokestatic org.apache.fop.image.loader.batik.PreloaderSVG.px2mpt:(DD)D
            invokestatic java.lang.Math.round:(D)J
            l2i
            istore 13 /* heightMpt */
        start local 13 // int heightMpt
        19: .line 197
            new org.apache.xmlgraphics.image.loader.ImageInfo
            dup
            aload 1 /* uri */
            ldc "image/svg+xml"
            invokespecial org.apache.xmlgraphics.image.loader.ImageInfo.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 14 /* info */
        start local 14 // org.apache.xmlgraphics.image.loader.ImageInfo info
        20: .line 198
            new org.apache.xmlgraphics.image.loader.ImageSize
            dup
            invokespecial org.apache.xmlgraphics.image.loader.ImageSize.<init>:()V
            astore 15 /* size */
        start local 15 // org.apache.xmlgraphics.image.loader.ImageSize size
        21: .line 199
            aload 15 /* size */
            iload 12 /* widthMpt */
            iload 13 /* heightMpt */
            invokevirtual org.apache.xmlgraphics.image.loader.ImageSize.setSizeInMillipoints:(II)V
        22: .line 201
            aload 15 /* size */
            aload 2 /* context */
            invokeinterface org.apache.xmlgraphics.image.loader.ImageContext.getSourceResolution:()F
            f2d
            invokevirtual org.apache.xmlgraphics.image.loader.ImageSize.setResolution:(D)V
        23: .line 202
            aload 15 /* size */
            invokevirtual org.apache.xmlgraphics.image.loader.ImageSize.calcPixelsFromSize:()V
        24: .line 203
            aload 14 /* info */
            aload 15 /* size */
            invokevirtual org.apache.xmlgraphics.image.loader.ImageInfo.setSize:(Lorg/apache/xmlgraphics/image/loader/ImageSize;)V
        25: .line 206
            new org.apache.xmlgraphics.image.loader.impl.ImageXMLDOM
            dup
            aload 14 /* info */
        26: .line 207
            aload 3 /* doc */
            getstatic org.apache.fop.image.loader.batik.BatikImageFlavors.SVG_DOM:Lorg/apache/xmlgraphics/image/loader/XMLNamespaceEnabledImageFlavor;
        27: .line 206
            invokespecial org.apache.xmlgraphics.image.loader.impl.ImageXMLDOM.<init>:(Lorg/apache/xmlgraphics/image/loader/ImageInfo;Lorg/w3c/dom/Document;Lorg/apache/xmlgraphics/image/loader/XMLNamespaceEnabledImageFlavor;)V
            astore 16 /* xmlImage */
        start local 16 // org.apache.xmlgraphics.image.loader.impl.ImageXMLDOM xmlImage
        28: .line 208
            aload 14 /* info */
            invokevirtual org.apache.xmlgraphics.image.loader.ImageInfo.getCustomObjects:()Ljava/util/Map;
            getstatic org.apache.xmlgraphics.image.loader.ImageInfo.ORIGINAL_IMAGE:Ljava/lang/Object;
            aload 16 /* xmlImage */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 209
            aload 14 /* info */
            areturn
        end local 16 // org.apache.xmlgraphics.image.loader.impl.ImageXMLDOM xmlImage
        end local 15 // org.apache.xmlgraphics.image.loader.ImageSize size
        end local 14 // org.apache.xmlgraphics.image.loader.ImageInfo info
        end local 13 // int heightMpt
        end local 12 // int widthMpt
        end local 11 // float height
        end local 10 // float width
        end local 9 // java.lang.String s
        end local 8 // org.apache.batik.parser.UnitProcessor$Context uctx
        end local 7 // org.apache.batik.bridge.BridgeContext ctx
        end local 6 // org.apache.batik.bridge.UserAgent userAg
        end local 5 // float pxUnitToMillimeter
        end local 4 // org.w3c.dom.Element e
        end local 3 // org.w3c.dom.svg.SVGDocument doc
        end local 2 // org.apache.xmlgraphics.image.loader.ImageContext context
        end local 1 // java.lang.String uri
        end local 0 // org.apache.fop.image.loader.batik.PreloaderSVG$Loader this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   30     0                this  Lorg/apache/fop/image/loader/batik/PreloaderSVG$Loader;
            0   30     1                 uri  Ljava/lang/String;
            0   30     2             context  Lorg/apache/xmlgraphics/image/loader/ImageContext;
            0   30     3                 doc  Lorg/w3c/dom/svg/SVGDocument;
            1   30     4                   e  Lorg/w3c/dom/Element;
            2   30     5  pxUnitToMillimeter  F
            5   30     6              userAg  Lorg/apache/batik/bridge/UserAgent;
            6   30     7                 ctx  Lorg/apache/batik/bridge/BridgeContext;
            7   30     8                uctx  Lorg/apache/batik/parser/UnitProcessor$Context;
            8   30     9                   s  Ljava/lang/String;
           12   30    10               width  F
           17   30    11              height  F
           18   30    12            widthMpt  I
           19   30    13           heightMpt  I
           20   30    14                info  Lorg/apache/xmlgraphics/image/loader/ImageInfo;
           21   30    15                size  Lorg/apache/xmlgraphics/image/loader/ImageSize;
           28   30    16            xmlImage  Lorg/apache/xmlgraphics/image/loader/impl/ImageXMLDOM;
    MethodParameters:
         Name  Flags
      uri      
      context  
      doc      

  private boolean isSupportedSource(javax.xml.transform.Source);
    descriptor: (Ljavax/xml/transform/Source;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // org.apache.fop.image.loader.batik.PreloaderSVG$Loader this
        start local 1 // javax.xml.transform.Source src
         0: .line 213
            aload 1 /* src */
            instanceof javax.xml.transform.dom.DOMSource
            ifeq 3
         1: .line 214
            aload 1 /* src */
            checkcast javax.xml.transform.dom.DOMSource
            astore 2 /* domSrc */
        start local 2 // javax.xml.transform.dom.DOMSource domSrc
         2: .line 215
            aload 2 /* domSrc */
            invokevirtual javax.xml.transform.dom.DOMSource.getNode:()Lorg/w3c/dom/Node;
            instanceof org.w3c.dom.svg.SVGDocument
            ireturn
        end local 2 // javax.xml.transform.dom.DOMSource domSrc
         3: .line 217
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokestatic org.apache.xmlgraphics.image.loader.util.ImageUtil.hasInputStream:(Ljavax/xml/transform/Source;)Z
            ireturn
        end local 1 // javax.xml.transform.Source src
        end local 0 // org.apache.fop.image.loader.batik.PreloaderSVG$Loader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/apache/fop/image/loader/batik/PreloaderSVG$Loader;
            0    4     1     src  Ljavax/xml/transform/Source;
            2    3     2  domSrc  Ljavax/xml/transform/dom/DOMSource;
    MethodParameters:
      Name  Flags
      src   
}
SourceFile: "PreloaderSVG.java"
NestHost: org.apache.fop.image.loader.batik.PreloaderSVG
InnerClasses:
  public abstract Context = org.apache.batik.parser.UnitProcessor$Context of org.apache.batik.parser.UnitProcessor
  private final Loader = org.apache.fop.image.loader.batik.PreloaderSVG$Loader of org.apache.fop.image.loader.batik.PreloaderSVG
  org.apache.fop.image.loader.batik.PreloaderSVG$Loader$1