public class org.apache.logging.log4j.core.lookup.Log4jLookup extends org.apache.logging.log4j.core.lookup.AbstractConfigurationAwareLookup
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.logging.log4j.core.lookup.Log4jLookup
  super_class: org.apache.logging.log4j.core.lookup.AbstractConfigurationAwareLookup
{
  public static final java.lang.String KEY_CONFIG_LOCATION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "configLocation"

  public static final java.lang.String KEY_CONFIG_PARENT_LOCATION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "configParentLocation"

  private static final org.apache.logging.log4j.Logger LOGGER;
    descriptor: Lorg/apache/logging/log4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 38
            invokestatic org.apache.logging.log4j.status.StatusLogger.getLogger:()Lorg/apache/logging/log4j/status/StatusLogger;
            putstatic org.apache.logging.log4j.core.lookup.Log4jLookup.LOGGER:Lorg/apache/logging/log4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.lookup.Log4jLookup this
         0: .line 33
            aload 0 /* this */
            invokespecial org.apache.logging.log4j.core.lookup.AbstractConfigurationAwareLookup.<init>:()V
            return
        end local 0 // org.apache.logging.log4j.core.lookup.Log4jLookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/lookup/Log4jLookup;

  private static java.lang.String asPath(java.net.URI);
    descriptor: (Ljava/net/URI;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.net.URI uri
         0: .line 41
            aload 0 /* uri */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            ifnull 1
            aload 0 /* uri */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            ldc "file"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 42
      StackMap locals:
      StackMap stack:
            aload 0 /* uri */
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            areturn
         2: .line 44
      StackMap locals:
      StackMap stack:
            aload 0 /* uri */
            invokevirtual java.net.URI.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.net.URI uri
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   uri  Ljava/net/URI;
    MethodParameters:
      Name  Flags
      uri   final

  private static java.net.URI getParent(java.net.URI);
    descriptor: (Ljava/net/URI;)Ljava/net/URI;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.net.URI uri
         0: .line 48
            aload 0 /* uri */
            invokevirtual java.net.URI.toString:()Ljava/lang/String;
            astore 1 /* s */
        start local 1 // java.lang.String s
         1: .line 49
            aload 1 /* s */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* offset */
        start local 2 // int offset
         2: .line 50
            iload 2 /* offset */
            iconst_m1
            if_icmple 4
         3: .line 51
            new java.net.URI
            dup
            aload 1 /* s */
            iconst_0
            iload 2 /* offset */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
            areturn
         4: .line 53
      StackMap locals: java.lang.String int
      StackMap stack:
            new java.net.URI
            dup
            ldc "../"
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
            areturn
        end local 2 // int offset
        end local 1 // java.lang.String s
        end local 0 // java.net.URI uri
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0     uri  Ljava/net/URI;
            1    5     1       s  Ljava/lang/String;
            2    5     2  offset  I
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
      Name  Flags
      uri   final

  public java.lang.String lookup(org.apache.logging.log4j.core.LogEvent, java.lang.String);
    descriptor: (Lorg/apache/logging/log4j/core/LogEvent;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // org.apache.logging.log4j.core.lookup.Log4jLookup this
        start local 1 // org.apache.logging.log4j.core.LogEvent event
        start local 2 // java.lang.String key
         0: .line 58
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.lookup.Log4jLookup.configuration:Lorg/apache/logging/log4j/core/config/Configuration;
            ifnull 23
         1: .line 59
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.lookup.Log4jLookup.configuration:Lorg/apache/logging/log4j/core/config/Configuration;
            invokeinterface org.apache.logging.log4j.core.config.Configuration.getConfigurationSource:()Lorg/apache/logging/log4j/core/config/ConfigurationSource;
            astore 3 /* configSrc */
        start local 3 // org.apache.logging.log4j.core.config.ConfigurationSource configSrc
         2: .line 60
            aload 3 /* configSrc */
            invokevirtual org.apache.logging.log4j.core.config.ConfigurationSource.getFile:()Ljava/io/File;
            astore 4 /* file */
        start local 4 // java.io.File file
         3: .line 61
            aload 4 /* file */
            ifnull 10
         4: .line 62
            aload 2 /* key */
            dup
            astore 5
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 2
          -1277483753: 5
          -1024117151: 6
              default: 9
          }
      StackMap locals: org.apache.logging.log4j.core.config.ConfigurationSource java.io.File java.lang.String
      StackMap stack:
         5: aload 5
            ldc "configLocation"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 9
      StackMap locals:
      StackMap stack:
         6: aload 5
            ldc "configParentLocation"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            goto 9
         7: .line 64
      StackMap locals:
      StackMap stack:
            aload 4 /* file */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            areturn
         8: .line 67
      StackMap locals:
      StackMap stack:
            aload 4 /* file */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            areturn
         9: .line 70
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        10: .line 74
      StackMap locals:
      StackMap stack:
            aload 3 /* configSrc */
            invokevirtual org.apache.logging.log4j.core.config.ConfigurationSource.getURL:()Ljava/net/URL;
            astore 6 /* url */
        start local 6 // java.net.URL url
        11: .line 75
            aload 6 /* url */
            ifnull 23
        12: .line 77
            aload 2 /* key */
            dup
            astore 7
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 2
          -1277483753: 13
          -1024117151: 14
              default: 19
          }
      StackMap locals: org.apache.logging.log4j.core.lookup.Log4jLookup org.apache.logging.log4j.core.LogEvent java.lang.String org.apache.logging.log4j.core.config.ConfigurationSource java.io.File top java.net.URL java.lang.String
      StackMap stack:
        13: aload 7
            ldc "configLocation"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            goto 19
      StackMap locals:
      StackMap stack:
        14: aload 7
            ldc "configParentLocation"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            goto 19
        15: .line 79
      StackMap locals:
      StackMap stack:
            aload 6 /* url */
            invokevirtual java.net.URL.toURI:()Ljava/net/URI;
            invokestatic org.apache.logging.log4j.core.lookup.Log4jLookup.asPath:(Ljava/net/URI;)Ljava/lang/String;
        16: areturn
        17: .line 82
      StackMap locals:
      StackMap stack:
            aload 6 /* url */
            invokevirtual java.net.URL.toURI:()Ljava/net/URI;
            invokestatic org.apache.logging.log4j.core.lookup.Log4jLookup.getParent:(Ljava/net/URI;)Ljava/net/URI;
            invokestatic org.apache.logging.log4j.core.lookup.Log4jLookup.asPath:(Ljava/net/URI;)Ljava/lang/String;
        18: areturn
        19: .line 85
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        20: .line 87
      StackMap locals: org.apache.logging.log4j.core.lookup.Log4jLookup org.apache.logging.log4j.core.LogEvent java.lang.String org.apache.logging.log4j.core.config.ConfigurationSource java.io.File top java.net.URL
      StackMap stack: java.net.URISyntaxException
            astore 7 /* use */
        start local 7 // java.net.URISyntaxException use
        21: .line 88
            getstatic org.apache.logging.log4j.core.lookup.Log4jLookup.LOGGER:Lorg/apache/logging/log4j/Logger;
            aload 7 /* use */
            invokeinterface org.apache.logging.log4j.Logger.error:(Ljava/lang/Object;)V
        22: .line 89
            aconst_null
            areturn
        end local 7 // java.net.URISyntaxException use
        end local 6 // java.net.URL url
        end local 4 // java.io.File file
        end local 3 // org.apache.logging.log4j.core.config.ConfigurationSource configSrc
        23: .line 94
      StackMap locals: org.apache.logging.log4j.core.lookup.Log4jLookup org.apache.logging.log4j.core.LogEvent java.lang.String
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.String key
        end local 1 // org.apache.logging.log4j.core.LogEvent event
        end local 0 // org.apache.logging.log4j.core.lookup.Log4jLookup this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Lorg/apache/logging/log4j/core/lookup/Log4jLookup;
            0   24     1      event  Lorg/apache/logging/log4j/core/LogEvent;
            0   24     2        key  Ljava/lang/String;
            2   23     3  configSrc  Lorg/apache/logging/log4j/core/config/ConfigurationSource;
            3   23     4       file  Ljava/io/File;
           11   23     6        url  Ljava/net/URL;
           21   23     7        use  Ljava/net/URISyntaxException;
      Exception table:
        from    to  target  type
          12    16      20  Class java.net.URISyntaxException
          17    18      20  Class java.net.URISyntaxException
    MethodParameters:
       Name  Flags
      event  final
      key    final
}
SourceFile: "Log4jLookup.java"
    RuntimeVisibleAnnotations: 
      org.apache.logging.log4j.core.config.plugins.Plugin(name = "log4j", category = "Lookup")