public class org.apache.tomcat.util.descriptor.LocalResolver implements org.xml.sax.ext.EntityResolver2
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.tomcat.util.descriptor.LocalResolver
  super_class: java.lang.Object
{
  private static final org.apache.tomcat.util.res.StringManager sm;
    descriptor: Lorg/apache/tomcat/util/res/StringManager;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private final java.util.Map<java.lang.String, java.lang.String> publicIds;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private final java.util.Map<java.lang.String, java.lang.String> systemIds;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private final boolean blockExternal;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 38
            getstatic org.apache.tomcat.util.descriptor.Constants.PACKAGE_NAME:Ljava/lang/String;
            invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/String;)Lorg/apache/tomcat/util/res/StringManager;
         1: .line 37
            putstatic org.apache.tomcat.util.descriptor.LocalResolver.sm:Lorg/apache/tomcat/util/res/StringManager;
         2: .line 40
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 41
            ldc "http://java.sun.com/xml/ns/j2ee"
            aastore
            dup
            iconst_1
         4: .line 42
            ldc "http://java.sun.com/xml/ns/javaee"
            aastore
            dup
            iconst_2
         5: .line 43
            ldc "http://xmlns.jcp.org/xml/ns/javaee"
            aastore
            dup
            iconst_3
         6: .line 44
            ldc "https://jakarta.ee/xml/ns/jakartaee"
            aastore
         7: .line 40
            putstatic org.apache.tomcat.util.descriptor.LocalResolver.JAVA_EE_NAMESPACES:[Ljava/lang/String;
         8: .line 44
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.util.Map<java.lang.String, java.lang.String>, java.util.Map<java.lang.String, java.lang.String>, );
    descriptor: (Ljava/util/Map;Ljava/util/Map;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.tomcat.util.descriptor.LocalResolver this
        start local 1 // java.util.Map publicIds
        start local 2 // java.util.Map systemIds
        start local 3 // boolean blockExternal
         0: .line 63
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 65
            aload 0 /* this */
            aload 1 /* publicIds */
            putfield org.apache.tomcat.util.descriptor.LocalResolver.publicIds:Ljava/util/Map;
         2: .line 66
            aload 0 /* this */
            aload 2 /* systemIds */
            putfield org.apache.tomcat.util.descriptor.LocalResolver.systemIds:Ljava/util/Map;
         3: .line 67
            aload 0 /* this */
            iload 3 /* blockExternal */
            putfield org.apache.tomcat.util.descriptor.LocalResolver.blockExternal:Z
         4: .line 68
            return
        end local 3 // boolean blockExternal
        end local 2 // java.util.Map systemIds
        end local 1 // java.util.Map publicIds
        end local 0 // org.apache.tomcat.util.descriptor.LocalResolver this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/apache/tomcat/util/descriptor/LocalResolver;
            0    5     1      publicIds  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    5     2      systemIds  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    5     3  blockExternal  Z
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Z)V
    MethodParameters:
               Name  Flags
      publicIds      
      systemIds      
      blockExternal  

  public org.xml.sax.InputSource resolveEntity(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.tomcat.util.descriptor.LocalResolver this
        start local 1 // java.lang.String publicId
        start local 2 // java.lang.String systemId
         0: .line 74
            aload 0 /* this */
            aconst_null
            aload 1 /* publicId */
            aconst_null
            aload 2 /* systemId */
            invokevirtual org.apache.tomcat.util.descriptor.LocalResolver.resolveEntity:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;
            areturn
        end local 2 // java.lang.String systemId
        end local 1 // java.lang.String publicId
        end local 0 // org.apache.tomcat.util.descriptor.LocalResolver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/tomcat/util/descriptor/LocalResolver;
            0    1     1  publicId  Ljava/lang/String;
            0    1     2  systemId  Ljava/lang/String;
    Exceptions:
      throws org.xml.sax.SAXException, java.io.IOException
    MethodParameters:
          Name  Flags
      publicId  
      systemId  

  public org.xml.sax.InputSource resolveEntity(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=12, args_size=5
        start local 0 // org.apache.tomcat.util.descriptor.LocalResolver this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String publicId
        start local 3 // java.lang.String base
        start local 4 // java.lang.String systemId
         0: .line 83
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.LocalResolver.publicIds:Ljava/util/Map;
            aload 2 /* publicId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* resolved */
        start local 5 // java.lang.String resolved
         1: .line 84
            aload 5 /* resolved */
            ifnull 5
         2: .line 85
            new org.xml.sax.InputSource
            dup
            aload 5 /* resolved */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/lang/String;)V
            astore 6 /* is */
        start local 6 // org.xml.sax.InputSource is
         3: .line 86
            aload 6 /* is */
            aload 2 /* publicId */
            invokevirtual org.xml.sax.InputSource.setPublicId:(Ljava/lang/String;)V
         4: .line 87
            aload 6 /* is */
            areturn
        end local 6 // org.xml.sax.InputSource is
         5: .line 91
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* systemId */
            ifnonnull 9
         6: .line 92
            new java.io.FileNotFoundException
            dup
            getstatic org.apache.tomcat.util.descriptor.LocalResolver.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "localResolver.unresolvedEntity"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         7: .line 93
            aload 1 /* name */
            aastore
            dup
            iconst_1
            aload 2 /* publicId */
            aastore
            dup
            iconst_2
            aconst_null
            aastore
            dup
            iconst_3
            aload 3 /* base */
            aastore
         8: .line 92
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 97
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.LocalResolver.systemIds:Ljava/util/Map;
            aload 4 /* systemId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* resolved */
        10: .line 98
            aload 5 /* resolved */
            ifnull 14
        11: .line 99
            new org.xml.sax.InputSource
            dup
            aload 5 /* resolved */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/lang/String;)V
            astore 6 /* is */
        start local 6 // org.xml.sax.InputSource is
        12: .line 100
            aload 6 /* is */
            aload 2 /* publicId */
            invokevirtual org.xml.sax.InputSource.setPublicId:(Ljava/lang/String;)V
        13: .line 101
            aload 6 /* is */
            areturn
        end local 6 // org.xml.sax.InputSource is
        14: .line 106
      StackMap locals:
      StackMap stack:
            getstatic org.apache.tomcat.util.descriptor.LocalResolver.JAVA_EE_NAMESPACES:[Ljava/lang/String;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 23
      StackMap locals: org.apache.tomcat.util.descriptor.LocalResolver java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String top int int java.lang.String[]
      StackMap stack:
        15: aload 9
            iload 7
            aaload
            astore 6 /* javaEENamespace */
        start local 6 // java.lang.String javaEENamespace
        16: .line 107
            new java.lang.StringBuilder
            dup
            aload 6 /* javaEENamespace */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 4 /* systemId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* javaEESystemId */
        start local 10 // java.lang.String javaEESystemId
        17: .line 108
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.LocalResolver.systemIds:Ljava/util/Map;
            aload 10 /* javaEESystemId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* resolved */
        18: .line 109
            aload 5 /* resolved */
            ifnull 22
        19: .line 110
            new org.xml.sax.InputSource
            dup
            aload 5 /* resolved */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/lang/String;)V
            astore 11 /* is */
        start local 11 // org.xml.sax.InputSource is
        20: .line 111
            aload 11 /* is */
            aload 2 /* publicId */
            invokevirtual org.xml.sax.InputSource.setPublicId:(Ljava/lang/String;)V
        21: .line 112
            aload 11 /* is */
            areturn
        end local 11 // org.xml.sax.InputSource is
        end local 10 // java.lang.String javaEESystemId
        end local 6 // java.lang.String javaEENamespace
        22: .line 106
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        23: iload 7
            iload 8
            if_icmplt 15
        24: .line 119
            aload 3 /* base */
            ifnonnull 27
        25: .line 120
            new java.net.URI
            dup
            aload 4 /* systemId */
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
            astore 6 /* systemUri */
        start local 6 // java.net.URI systemUri
        26: .line 121
            goto 29
        end local 6 // java.net.URI systemUri
        27: .line 126
      StackMap locals: org.apache.tomcat.util.descriptor.LocalResolver java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
            new java.net.URI
            dup
            aload 3 /* base */
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
            astore 7 /* baseUri */
        start local 7 // java.net.URI baseUri
        28: .line 127
            new java.net.URL
            dup
            aload 7 /* baseUri */
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            aload 4 /* systemId */
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            invokevirtual java.net.URL.toURI:()Ljava/net/URI;
            astore 6 /* systemUri */
        end local 7 // java.net.URI baseUri
        start local 6 // java.net.URI systemUri
        29: .line 129
      StackMap locals: java.net.URI
      StackMap stack:
            aload 6 /* systemUri */
            invokevirtual java.net.URI.normalize:()Ljava/net/URI;
            astore 6 /* systemUri */
        30: .line 130
            goto 35
        end local 6 // java.net.URI systemUri
      StackMap locals: org.apache.tomcat.util.descriptor.LocalResolver java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack: java.net.URISyntaxException
        31: astore 7 /* e */
        start local 7 // java.net.URISyntaxException e
        32: .line 133
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.LocalResolver.blockExternal:Z
            ifeq 34
        33: .line 135
            new java.net.MalformedURLException
            dup
            aload 7 /* e */
            invokevirtual java.net.URISyntaxException.getMessage:()Ljava/lang/String;
            invokespecial java.net.MalformedURLException.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 138
      StackMap locals: org.apache.tomcat.util.descriptor.LocalResolver java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String top java.net.URISyntaxException
      StackMap stack:
            new org.xml.sax.InputSource
            dup
            aload 4 /* systemId */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/lang/String;)V
            areturn
        end local 7 // java.net.URISyntaxException e
        start local 6 // java.net.URI systemUri
        35: .line 141
      StackMap locals: org.apache.tomcat.util.descriptor.LocalResolver java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.net.URI
      StackMap stack:
            aload 6 /* systemUri */
            invokevirtual java.net.URI.isAbsolute:()Z
            ifeq 45
        36: .line 143
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.LocalResolver.systemIds:Ljava/util/Map;
            aload 6 /* systemUri */
            invokevirtual java.net.URI.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* resolved */
        37: .line 144
            aload 5 /* resolved */
            ifnull 41
        38: .line 145
            new org.xml.sax.InputSource
            dup
            aload 5 /* resolved */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/lang/String;)V
            astore 7 /* is */
        start local 7 // org.xml.sax.InputSource is
        39: .line 146
            aload 7 /* is */
            aload 2 /* publicId */
            invokevirtual org.xml.sax.InputSource.setPublicId:(Ljava/lang/String;)V
        40: .line 147
            aload 7 /* is */
            areturn
        end local 7 // org.xml.sax.InputSource is
        41: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.tomcat.util.descriptor.LocalResolver.blockExternal:Z
            ifne 45
        42: .line 150
            new org.xml.sax.InputSource
            dup
            aload 6 /* systemUri */
            invokevirtual java.net.URI.toString:()Ljava/lang/String;
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/lang/String;)V
            astore 7 /* is */
        start local 7 // org.xml.sax.InputSource is
        43: .line 151
            aload 7 /* is */
            aload 2 /* publicId */
            invokevirtual org.xml.sax.InputSource.setPublicId:(Ljava/lang/String;)V
        44: .line 152
            aload 7 /* is */
            areturn
        end local 7 // org.xml.sax.InputSource is
        45: .line 156
      StackMap locals:
      StackMap stack:
            new java.io.FileNotFoundException
            dup
            getstatic org.apache.tomcat.util.descriptor.LocalResolver.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "localResolver.unresolvedEntity"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        46: .line 157
            aload 1 /* name */
            aastore
            dup
            iconst_1
            aload 2 /* publicId */
            aastore
            dup
            iconst_2
            aload 4 /* systemId */
            aastore
            dup
            iconst_3
            aload 3 /* base */
            aastore
        47: .line 156
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.net.URI systemUri
        end local 5 // java.lang.String resolved
        end local 4 // java.lang.String systemId
        end local 3 // java.lang.String base
        end local 2 // java.lang.String publicId
        end local 1 // java.lang.String name
        end local 0 // org.apache.tomcat.util.descriptor.LocalResolver this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   48     0             this  Lorg/apache/tomcat/util/descriptor/LocalResolver;
            0   48     1             name  Ljava/lang/String;
            0   48     2         publicId  Ljava/lang/String;
            0   48     3             base  Ljava/lang/String;
            0   48     4         systemId  Ljava/lang/String;
            1   48     5         resolved  Ljava/lang/String;
            3    5     6               is  Lorg/xml/sax/InputSource;
           12   14     6               is  Lorg/xml/sax/InputSource;
           16   22     6  javaEENamespace  Ljava/lang/String;
           17   22    10   javaEESystemId  Ljava/lang/String;
           20   22    11               is  Lorg/xml/sax/InputSource;
           26   27     6        systemUri  Ljava/net/URI;
           29   31     6        systemUri  Ljava/net/URI;
           35   48     6        systemUri  Ljava/net/URI;
           28   29     7          baseUri  Ljava/net/URI;
           32   35     7                e  Ljava/net/URISyntaxException;
           39   41     7               is  Lorg/xml/sax/InputSource;
           43   45     7               is  Lorg/xml/sax/InputSource;
      Exception table:
        from    to  target  type
          24    30      31  Class java.net.URISyntaxException
    Exceptions:
      throws org.xml.sax.SAXException, java.io.IOException
    MethodParameters:
          Name  Flags
      name      
      publicId  
      base      
      systemId  

  public org.xml.sax.InputSource getExternalSubset(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.apache.tomcat.util.descriptor.LocalResolver this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String baseURI
         0: .line 164
            aconst_null
            areturn
        end local 2 // java.lang.String baseURI
        end local 1 // java.lang.String name
        end local 0 // org.apache.tomcat.util.descriptor.LocalResolver this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/tomcat/util/descriptor/LocalResolver;
            0    1     1     name  Ljava/lang/String;
            0    1     2  baseURI  Ljava/lang/String;
    Exceptions:
      throws org.xml.sax.SAXException, java.io.IOException
    MethodParameters:
         Name  Flags
      name     
      baseURI  
}
SourceFile: "LocalResolver.java"