class sun.misc.URLClassPath$JarLoader extends sun.misc.URLClassPath$Loader
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.misc.URLClassPath$JarLoader
  super_class: sun.misc.URLClassPath$Loader
{
  private java.util.jar.JarFile jar;
    descriptor: Ljava/util/jar/JarFile;
    flags: (0x0002) ACC_PRIVATE

  private final java.net.URL csu;
    descriptor: Ljava/net/URL;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private sun.misc.JarIndex index;
    descriptor: Lsun/misc/JarIndex;
    flags: (0x0002) ACC_PRIVATE

  private sun.misc.MetaIndex metaIndex;
    descriptor: Lsun/misc/MetaIndex;
    flags: (0x0002) ACC_PRIVATE

  private java.net.URLStreamHandler handler;
    descriptor: Ljava/net/URLStreamHandler;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.HashMap<java.lang.String, sun.misc.URLClassPath$Loader> lmap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lsun/misc/URLClassPath$Loader;>;

  private final java.security.AccessControlContext acc;
    descriptor: Ljava/security/AccessControlContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean closed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static final sun.misc.JavaUtilZipFileAccess zipAccess;
    descriptor: Lsun/misc/JavaUtilZipFileAccess;
    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 811
            invokestatic sun.misc.SharedSecrets.getJavaUtilZipFileAccess:()Lsun/misc/JavaUtilZipFileAccess;
         1: .line 810
            putstatic sun.misc.URLClassPath$JarLoader.zipAccess:Lsun/misc/JavaUtilZipFileAccess;
         2: .line 811
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.net.URL, java.net.URLStreamHandler, java.util.HashMap<java.lang.String, sun.misc.URLClassPath$Loader>, java.security.AccessControlContext);
    descriptor: (Ljava/net/URL;Ljava/net/URLStreamHandler;Ljava/util/HashMap;Ljava/security/AccessControlContext;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=7, args_size=5
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.net.URL url
        start local 2 // java.net.URLStreamHandler jarHandler
        start local 3 // java.util.HashMap loaderMap
        start local 4 // java.security.AccessControlContext acc
         0: .line 822
            aload 0 /* this */
            new java.net.URL
            dup
            ldc "jar"
            ldc ""
            iconst_m1
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "!/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* jarHandler */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/net/URLStreamHandler;)V
            invokespecial sun.misc.URLClassPath$Loader.<init>:(Ljava/net/URL;)V
         1: .line 809
            aload 0 /* this */
            iconst_0
            putfield sun.misc.URLClassPath$JarLoader.closed:Z
         2: .line 823
            aload 0 /* this */
            aload 1 /* url */
            putfield sun.misc.URLClassPath$JarLoader.csu:Ljava/net/URL;
         3: .line 824
            aload 0 /* this */
            aload 2 /* jarHandler */
            putfield sun.misc.URLClassPath$JarLoader.handler:Ljava/net/URLStreamHandler;
         4: .line 825
            aload 0 /* this */
            aload 3 /* loaderMap */
            putfield sun.misc.URLClassPath$JarLoader.lmap:Ljava/util/HashMap;
         5: .line 826
            aload 0 /* this */
            aload 4 /* acc */
            putfield sun.misc.URLClassPath$JarLoader.acc:Ljava/security/AccessControlContext;
         6: .line 828
            aload 0 /* this */
            aload 1 /* url */
            invokevirtual sun.misc.URLClassPath$JarLoader.isOptimizable:(Ljava/net/URL;)Z
            ifne 9
         7: .line 829
            aload 0 /* this */
            invokevirtual sun.misc.URLClassPath$JarLoader.ensureOpen:()V
         8: .line 830
            goto 18
         9: .line 831
      StackMap locals: sun.misc.URLClassPath$JarLoader java.net.URL java.net.URLStreamHandler java.util.HashMap java.security.AccessControlContext
      StackMap stack:
            aload 1 /* url */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            astore 5 /* fileName */
        start local 5 // java.lang.String fileName
        10: .line 832
            aload 5 /* fileName */
            ifnull 16
        11: .line 833
            aload 5 /* fileName */
            invokestatic sun.net.www.ParseUtil.decode:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* fileName */
        12: .line 834
            new java.io.File
            dup
            aload 5 /* fileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 6 /* f */
        start local 6 // java.io.File f
        13: .line 835
            aload 0 /* this */
            aload 6 /* f */
            invokestatic sun.misc.MetaIndex.forJar:(Ljava/io/File;)Lsun/misc/MetaIndex;
            putfield sun.misc.URLClassPath$JarLoader.metaIndex:Lsun/misc/MetaIndex;
        14: .line 842
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.metaIndex:Lsun/misc/MetaIndex;
            ifnull 16
            aload 6 /* f */
            invokevirtual java.io.File.exists:()Z
            ifne 16
        15: .line 843
            aload 0 /* this */
            aconst_null
            putfield sun.misc.URLClassPath$JarLoader.metaIndex:Lsun/misc/MetaIndex;
        end local 6 // java.io.File f
        16: .line 850
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.metaIndex:Lsun/misc/MetaIndex;
            ifnonnull 18
        17: .line 851
            aload 0 /* this */
            invokevirtual sun.misc.URLClassPath$JarLoader.ensureOpen:()V
        end local 5 // java.lang.String fileName
        18: .line 854
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.security.AccessControlContext acc
        end local 3 // java.util.HashMap loaderMap
        end local 2 // java.net.URLStreamHandler jarHandler
        end local 1 // java.net.URL url
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lsun/misc/URLClassPath$JarLoader;
            0   19     1         url  Ljava/net/URL;
            0   19     2  jarHandler  Ljava/net/URLStreamHandler;
            0   19     3   loaderMap  Ljava/util/HashMap<Ljava/lang/String;Lsun/misc/URLClassPath$Loader;>;
            0   19     4         acc  Ljava/security/AccessControlContext;
           10   18     5    fileName  Ljava/lang/String;
           13   16     6           f  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/net/URL;Ljava/net/URLStreamHandler;Ljava/util/HashMap<Ljava/lang/String;Lsun/misc/URLClassPath$Loader;>;Ljava/security/AccessControlContext;)V
    MethodParameters:
            Name  Flags
      url         
      jarHandler  
      loaderMap   
      acc         

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.misc.URLClassPath$JarLoader this
         0: .line 859
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.closed:Z
            ifne 4
         1: .line 860
            aload 0 /* this */
            iconst_1
            putfield sun.misc.URLClassPath$JarLoader.closed:Z
         2: .line 862
            aload 0 /* this */
            invokevirtual sun.misc.URLClassPath$JarLoader.ensureOpen:()V
         3: .line 863
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            invokevirtual java.util.jar.JarFile.close:()V
         4: .line 865
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/misc/URLClassPath$JarLoader;
    Exceptions:
      throws java.io.IOException

  java.util.jar.JarFile getJarFile();
    descriptor: ()Ljava/util/jar/JarFile;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.misc.URLClassPath$JarLoader this
         0: .line 868
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            areturn
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/URLClassPath$JarLoader;

  private boolean isOptimizable(java.net.URL);
    descriptor: (Ljava/net/URL;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.net.URL url
         0: .line 872
            ldc "file"
            aload 1 /* url */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.net.URL url
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/URLClassPath$JarLoader;
            0    1     1   url  Ljava/net/URL;
    MethodParameters:
      Name  Flags
      url   

  private void ensureOpen();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.misc.URLClassPath$JarLoader this
         0: .line 876
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            ifnonnull 7
         1: .line 879
            new sun.misc.URLClassPath$JarLoader$1
            dup
            aload 0 /* this */
            invokespecial sun.misc.URLClassPath$JarLoader$1.<init>:(Lsun/misc/URLClassPath$JarLoader;)V
         2: .line 910
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.acc:Ljava/security/AccessControlContext;
         3: .line 878
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            pop
         4: .line 911
            goto 7
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         5: astore 1 /* pae */
        start local 1 // java.security.PrivilegedActionException pae
         6: .line 912
            aload 1 /* pae */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            checkcast java.io.IOException
            athrow
        end local 1 // java.security.PrivilegedActionException pae
         7: .line 915
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/misc/URLClassPath$JarLoader;
            6    7     1   pae  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           1     4       5  Class java.security.PrivilegedActionException
    Exceptions:
      throws java.io.IOException

  static java.util.jar.JarFile checkJar(java.util.jar.JarFile);
    descriptor: (Ljava/util/jar/JarFile;)Ljava/util/jar/JarFile;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.util.jar.JarFile jar
         0: .line 919
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnull 8
            getstatic sun.misc.URLClassPath.DISABLE_JAR_CHECKING:Z
            ifne 8
         1: .line 920
            getstatic sun.misc.URLClassPath$JarLoader.zipAccess:Lsun/misc/JavaUtilZipFileAccess;
            aload 0 /* jar */
            invokeinterface sun.misc.JavaUtilZipFileAccess.startsWithLocHeader:(Ljava/util/zip/ZipFile;)Z
            ifne 8
         2: .line 921
            new java.io.IOException
            dup
            ldc "Invalid Jar file"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            astore 1 /* x */
        start local 1 // java.io.IOException x
         3: .line 923
            aload 0 /* jar */
            invokevirtual java.util.jar.JarFile.close:()V
         4: .line 924
            goto 7
      StackMap locals: java.util.jar.JarFile java.io.IOException
      StackMap stack: java.io.IOException
         5: astore 2 /* ex */
        start local 2 // java.io.IOException ex
         6: .line 925
            aload 1 /* x */
            aload 2 /* ex */
            invokevirtual java.io.IOException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 2 // java.io.IOException ex
         7: .line 927
      StackMap locals:
      StackMap stack:
            aload 1 /* x */
            athrow
        end local 1 // java.io.IOException x
         8: .line 930
      StackMap locals:
      StackMap stack:
            aload 0 /* jar */
            areturn
        end local 0 // java.util.jar.JarFile jar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0   jar  Ljava/util/jar/JarFile;
            3    8     1     x  Ljava/io/IOException;
            6    7     2    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      jar   

  private java.util.jar.JarFile getJarFile(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljava/util/jar/JarFile;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.net.URL url
         0: .line 935
            aload 0 /* this */
            aload 1 /* url */
            invokevirtual sun.misc.URLClassPath$JarLoader.isOptimizable:(Ljava/net/URL;)Z
            ifeq 5
         1: .line 936
            new sun.misc.FileURLMapper
            dup
            aload 1 /* url */
            invokespecial sun.misc.FileURLMapper.<init>:(Ljava/net/URL;)V
            astore 2 /* p */
        start local 2 // sun.misc.FileURLMapper p
         2: .line 937
            aload 2 /* p */
            invokevirtual sun.misc.FileURLMapper.exists:()Z
            ifne 4
         3: .line 938
            new java.io.FileNotFoundException
            dup
            aload 2 /* p */
            invokevirtual sun.misc.FileURLMapper.getPath:()Ljava/lang/String;
            invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 940
      StackMap locals: sun.misc.FileURLMapper
      StackMap stack:
            new java.util.jar.JarFile
            dup
            aload 2 /* p */
            invokevirtual sun.misc.FileURLMapper.getPath:()Ljava/lang/String;
            invokespecial java.util.jar.JarFile.<init>:(Ljava/lang/String;)V
            invokestatic sun.misc.URLClassPath$JarLoader.checkJar:(Ljava/util/jar/JarFile;)Ljava/util/jar/JarFile;
            areturn
        end local 2 // sun.misc.FileURLMapper p
         5: .line 942
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.misc.URLClassPath$JarLoader.getBaseURL:()Ljava/net/URL;
            invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
            astore 2 /* uc */
        start local 2 // java.net.URLConnection uc
         6: .line 943
            aload 2 /* uc */
            ldc "UA-Java-Version"
            getstatic sun.misc.URLClassPath.JAVA_VERSION:Ljava/lang/String;
            invokevirtual java.net.URLConnection.setRequestProperty:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 944
            aload 2 /* uc */
            checkcast java.net.JarURLConnection
            invokevirtual java.net.JarURLConnection.getJarFile:()Ljava/util/jar/JarFile;
            astore 3 /* jarFile */
        start local 3 // java.util.jar.JarFile jarFile
         8: .line 945
            aload 3 /* jarFile */
            invokestatic sun.misc.URLClassPath$JarLoader.checkJar:(Ljava/util/jar/JarFile;)Ljava/util/jar/JarFile;
            areturn
        end local 3 // java.util.jar.JarFile jarFile
        end local 2 // java.net.URLConnection uc
        end local 1 // java.net.URL url
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lsun/misc/URLClassPath$JarLoader;
            0    9     1      url  Ljava/net/URL;
            2    5     2        p  Lsun/misc/FileURLMapper;
            6    9     2       uc  Ljava/net/URLConnection;
            8    9     3  jarFile  Ljava/util/jar/JarFile;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      url   

  sun.misc.JarIndex getIndex();
    descriptor: ()Lsun/misc/JarIndex;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.misc.URLClassPath$JarLoader this
         0: .line 953
            aload 0 /* this */
            invokevirtual sun.misc.URLClassPath$JarLoader.ensureOpen:()V
         1: .line 954
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 955
            new java.lang.InternalError
            dup
            aload 1 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
         4: .line 957
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.index:Lsun/misc/JarIndex;
            areturn
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/misc/URLClassPath$JarLoader;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  sun.misc.Resource checkResource(java.lang.String, boolean, java.util.jar.JarEntry);
    descriptor: (Ljava/lang/String;ZLjava/util/jar/JarEntry;)Lsun/misc/Resource;
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.lang.String name
        start local 2 // boolean check
        start local 3 // java.util.jar.JarEntry entry
         0: .line 969
            new java.net.URL
            dup
            aload 0 /* this */
            invokevirtual sun.misc.URLClassPath$JarLoader.getBaseURL:()Ljava/net/URL;
            aload 1 /* name */
            iconst_0
            invokestatic sun.net.www.ParseUtil.encodePath:(Ljava/lang/String;Z)Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            astore 4 /* url */
        start local 4 // java.net.URL url
         1: .line 970
            iload 2 /* check */
            ifeq 10
         2: .line 971
            aload 4 /* url */
            invokestatic sun.misc.URLClassPath.check:(Ljava/net/URL;)V
         3: .line 973
            goto 10
        end local 4 // java.net.URL url
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
         4: pop
         5: .line 974
            aconst_null
            areturn
         6: .line 976
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         7: .line 977
            aconst_null
            areturn
         8: .line 978
      StackMap locals:
      StackMap stack: java.security.AccessControlException
            pop
         9: .line 979
            aconst_null
            areturn
        start local 4 // java.net.URL url
        10: .line 982
      StackMap locals: java.net.URL
      StackMap stack:
            new sun.misc.URLClassPath$JarLoader$2
            dup
            aload 0 /* this */
            aload 1 /* name */
            aload 4 /* url */
            aload 3 /* entry */
            invokespecial sun.misc.URLClassPath$JarLoader$2.<init>:(Lsun/misc/URLClassPath$JarLoader;Ljava/lang/String;Ljava/net/URL;Ljava/util/jar/JarEntry;)V
            areturn
        end local 4 // java.net.URL url
        end local 3 // java.util.jar.JarEntry entry
        end local 2 // boolean check
        end local 1 // java.lang.String name
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lsun/misc/URLClassPath$JarLoader;
            0   11     1   name  Ljava/lang/String;
            0   11     2  check  Z
            0   11     3  entry  Ljava/util/jar/JarEntry;
            1    4     4    url  Ljava/net/URL;
           10   11     4    url  Ljava/net/URL;
      Exception table:
        from    to  target  type
           0     3       4  Class java.net.MalformedURLException
           0     3       6  Class java.io.IOException
           0     3       8  Class java.security.AccessControlException
    MethodParameters:
       Name  Flags
      name   final
      check  
      entry  final

  boolean validIndex(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.lang.String name
         0: .line 1007
            aload 1 /* name */
            astore 2 /* packageName */
        start local 2 // java.lang.String packageName
         1: .line 1009
            aload 1 /* name */
            ldc "/"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            dup
            istore 3 /* pos */
        start local 3 // int pos
         2: iconst_m1
            if_icmpeq 4
         3: .line 1010
            aload 1 /* name */
            iconst_0
            iload 3 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* packageName */
         4: .line 1015
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            invokevirtual java.util.jar.JarFile.entries:()Ljava/util/Enumeration;
            astore 6 /* enum_ */
        start local 6 // java.util.Enumeration enum_
         5: .line 1016
            goto 12
         6: .line 1017
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String java.lang.String int top top java.util.Enumeration
      StackMap stack:
            aload 6 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.util.zip.ZipEntry
            astore 5 /* entry */
        start local 5 // java.util.zip.ZipEntry entry
         7: .line 1018
            aload 5 /* entry */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            astore 4 /* entryName */
        start local 4 // java.lang.String entryName
         8: .line 1019
            aload 4 /* entryName */
            ldc "/"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            dup
            istore 3 /* pos */
            iconst_m1
            if_icmpeq 10
         9: .line 1020
            aload 4 /* entryName */
            iconst_0
            iload 3 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* entryName */
        10: .line 1021
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String java.lang.String int java.lang.String java.util.zip.ZipEntry java.util.Enumeration
      StackMap stack:
            aload 4 /* entryName */
            aload 2 /* packageName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 1022
            iconst_1
            ireturn
        end local 5 // java.util.zip.ZipEntry entry
        end local 4 // java.lang.String entryName
        12: .line 1016
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String java.lang.String int top top java.util.Enumeration
      StackMap stack:
            aload 6 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 6
        13: .line 1025
            iconst_0
            ireturn
        end local 6 // java.util.Enumeration enum_
        end local 3 // int pos
        end local 2 // java.lang.String packageName
        end local 1 // java.lang.String name
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lsun/misc/URLClassPath$JarLoader;
            0   14     1         name  Ljava/lang/String;
            1   14     2  packageName  Ljava/lang/String;
            2   14     3          pos  I
            8   12     4    entryName  Ljava/lang/String;
            7   12     5        entry  Ljava/util/zip/ZipEntry;
            5   14     6        enum_  Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
    MethodParameters:
      Name  Flags
      name  final

  java.net.URL findResource(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/net/URL;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.lang.String name
        start local 2 // boolean check
         0: .line 1032
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* check */
            invokevirtual sun.misc.URLClassPath$JarLoader.getResource:(Ljava/lang/String;Z)Lsun/misc/Resource;
            astore 3 /* rsc */
        start local 3 // sun.misc.Resource rsc
         1: .line 1033
            aload 3 /* rsc */
            ifnull 3
         2: .line 1034
            aload 3 /* rsc */
            invokevirtual sun.misc.Resource.getURL:()Ljava/net/URL;
            areturn
         3: .line 1036
      StackMap locals: sun.misc.Resource
      StackMap stack:
            aconst_null
            areturn
        end local 3 // sun.misc.Resource rsc
        end local 2 // boolean check
        end local 1 // java.lang.String name
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lsun/misc/URLClassPath$JarLoader;
            0    4     1   name  Ljava/lang/String;
            0    4     2  check  Z
            1    4     3    rsc  Lsun/misc/Resource;
    MethodParameters:
       Name  Flags
      name   final
      check  

  sun.misc.Resource getResource(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lsun/misc/Resource;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.lang.String name
        start local 2 // boolean check
         0: .line 1043
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.metaIndex:Lsun/misc/MetaIndex;
            ifnull 3
         1: .line 1044
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.metaIndex:Lsun/misc/MetaIndex;
            aload 1 /* name */
            invokevirtual sun.misc.MetaIndex.mayContain:(Ljava/lang/String;)Z
            ifne 3
         2: .line 1045
            aconst_null
            areturn
         3: .line 1050
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.misc.URLClassPath$JarLoader.ensureOpen:()V
         4: .line 1051
            goto 7
      StackMap locals:
      StackMap stack: java.io.IOException
         5: astore 3 /* e */
        start local 3 // java.io.IOException e
         6: .line 1052
            new java.lang.InternalError
            dup
            aload 3 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.IOException e
         7: .line 1054
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            aload 1 /* name */
            invokevirtual java.util.jar.JarFile.getJarEntry:(Ljava/lang/String;)Ljava/util/jar/JarEntry;
            astore 3 /* entry */
        start local 3 // java.util.jar.JarEntry entry
         8: .line 1055
            aload 3 /* entry */
            ifnull 10
         9: .line 1056
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* check */
            aload 3 /* entry */
            invokevirtual sun.misc.URLClassPath$JarLoader.checkResource:(Ljava/lang/String;ZLjava/util/jar/JarEntry;)Lsun/misc/Resource;
            areturn
        10: .line 1058
      StackMap locals: java.util.jar.JarEntry
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.index:Lsun/misc/JarIndex;
            ifnonnull 12
        11: .line 1059
            aconst_null
            areturn
        12: .line 1061
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* visited */
        start local 4 // java.util.HashSet visited
        13: .line 1062
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* check */
            aload 4 /* visited */
            invokevirtual sun.misc.URLClassPath$JarLoader.getResource:(Ljava/lang/String;ZLjava/util/Set;)Lsun/misc/Resource;
            areturn
        end local 4 // java.util.HashSet visited
        end local 3 // java.util.jar.JarEntry entry
        end local 2 // boolean check
        end local 1 // java.lang.String name
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lsun/misc/URLClassPath$JarLoader;
            0   14     1     name  Ljava/lang/String;
            0   14     2    check  Z
            6    7     3        e  Ljava/io/IOException;
            8   14     3    entry  Ljava/util/jar/JarEntry;
           13   14     4  visited  Ljava/util/HashSet<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
    MethodParameters:
       Name  Flags
      name   final
      check  

  sun.misc.Resource getResource(java.lang.String, boolean, java.util.Set<java.lang.String>);
    descriptor: (Ljava/lang/String;ZLjava/util/Set;)Lsun/misc/Resource;
    flags: (0x0000) 
    Code:
      stack=6, locals=15, args_size=4
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.lang.String name
        start local 2 // boolean check
        start local 3 // java.util.Set visited
         0: .line 1077
            iconst_0
            istore 6 /* count */
        start local 6 // int count
         1: .line 1078
            aconst_null
            astore 7 /* jarFilesList */
        start local 7 // java.util.LinkedList jarFilesList
         2: .line 1083
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.index:Lsun/misc/JarIndex;
            aload 1 /* name */
            invokevirtual sun.misc.JarIndex.get:(Ljava/lang/String;)Ljava/util/LinkedList;
            dup
            astore 7 /* jarFilesList */
            ifnonnull 4
         3: .line 1084
            aconst_null
            areturn
         4: .line 1087
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String int java.util.Set top top int java.util.LinkedList
      StackMap stack:
            aload 7 /* jarFilesList */
            invokevirtual java.util.LinkedList.size:()I
            istore 8 /* size */
        start local 8 // int size
         5: .line 1088
            aload 7 /* jarFilesList */
            iload 8 /* size */
            anewarray java.lang.String
            invokevirtual java.util.LinkedList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 5 /* jarFiles */
        start local 5 // java.lang.String[] jarFiles
         6: .line 1090
            goto 47
         7: .line 1091
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.String[] int java.util.LinkedList int
      StackMap stack:
            aload 5 /* jarFiles */
            iload 6 /* count */
            iinc 6 /* count */ 1
            aaload
            astore 9 /* jarName */
        start local 9 // java.lang.String jarName
         8: .line 1096
            new java.net.URL
            dup
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.csu:Ljava/net/URL;
            aload 9 /* jarName */
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            astore 11 /* url */
        start local 11 // java.net.URL url
         9: .line 1097
            aload 11 /* url */
            invokestatic sun.net.util.URLUtil.urlNoFragString:(Ljava/net/URL;)Ljava/lang/String;
            astore 12 /* urlNoFragString */
        start local 12 // java.lang.String urlNoFragString
        10: .line 1098
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.lmap:Ljava/util/HashMap;
            aload 12 /* urlNoFragString */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.misc.URLClassPath$JarLoader
            dup
            astore 10 /* newLoader */
        start local 10 // sun.misc.URLClassPath$JarLoader newLoader
        11: ifnonnull 28
        12: .line 1103
            new sun.misc.URLClassPath$JarLoader$3
            dup
            aload 0 /* this */
            aload 11 /* url */
            invokespecial sun.misc.URLClassPath$JarLoader$3.<init>:(Lsun/misc/URLClassPath$JarLoader;Ljava/net/URL;)V
        13: .line 1108
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.acc:Ljava/security/AccessControlContext;
        14: .line 1102
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            checkcast sun.misc.URLClassPath$JarLoader
            astore 10 /* newLoader */
        15: .line 1114
            aload 10 /* newLoader */
            invokevirtual sun.misc.URLClassPath$JarLoader.getIndex:()Lsun/misc/JarIndex;
            astore 13 /* newIndex */
        start local 13 // sun.misc.JarIndex newIndex
        16: .line 1115
            aload 13 /* newIndex */
            ifnull 22
        17: .line 1116
            aload 9 /* jarName */
            ldc "/"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 14 /* pos */
        start local 14 // int pos
        18: .line 1117
            aload 13 /* newIndex */
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.index:Lsun/misc/JarIndex;
            iload 14 /* pos */
            iconst_m1
            if_icmpne 20
        19: .line 1118
            aconst_null
            goto 21
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.String[] int java.util.LinkedList int java.lang.String sun.misc.URLClassPath$JarLoader java.net.URL java.lang.String sun.misc.JarIndex int
      StackMap stack: sun.misc.JarIndex sun.misc.JarIndex
        20: aload 9 /* jarName */
            iconst_0
            iload 14 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
        21: .line 1117
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.String[] int java.util.LinkedList int java.lang.String sun.misc.URLClassPath$JarLoader java.net.URL java.lang.String sun.misc.JarIndex int
      StackMap stack: sun.misc.JarIndex sun.misc.JarIndex java.lang.String
            invokevirtual sun.misc.JarIndex.merge:(Lsun/misc/JarIndex;Ljava/lang/String;)V
        end local 14 // int pos
        22: .line 1122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.lmap:Ljava/util/HashMap;
            aload 12 /* urlNoFragString */
            aload 10 /* newLoader */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 13 // sun.misc.JarIndex newIndex
        end local 12 // java.lang.String urlNoFragString
        23: .line 1124
            goto 28
        end local 11 // java.net.URL url
        end local 10 // sun.misc.URLClassPath$JarLoader newLoader
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.String[] int java.util.LinkedList int java.lang.String
      StackMap stack: java.security.PrivilegedActionException
        24: pop
        25: .line 1125
            goto 47
        26: .line 1126
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            pop
        27: .line 1127
            goto 47
        start local 10 // sun.misc.URLClassPath$JarLoader newLoader
        start local 11 // java.net.URL url
        28: .line 1134
      StackMap locals: sun.misc.URLClassPath$JarLoader java.net.URL
      StackMap stack:
            aload 3 /* visited */
            aload 11 /* url */
            invokestatic sun.net.util.URLUtil.urlNoFragString:(Ljava/net/URL;)Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 29
            iconst_0
            goto 30
      StackMap locals:
      StackMap stack:
        29: iconst_1
      StackMap locals:
      StackMap stack: int
        30: istore 12 /* visitedURL */
        start local 12 // boolean visitedURL
        31: .line 1135
            iload 12 /* visitedURL */
            ifne 41
        32: .line 1137
            aload 10 /* newLoader */
            invokevirtual sun.misc.URLClassPath$JarLoader.ensureOpen:()V
        33: .line 1138
            goto 36
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.String[] int java.util.LinkedList int java.lang.String sun.misc.URLClassPath$JarLoader java.net.URL int
      StackMap stack: java.io.IOException
        34: astore 13 /* e */
        start local 13 // java.io.IOException e
        35: .line 1139
            new java.lang.InternalError
            dup
            aload 13 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 13 // java.io.IOException e
        36: .line 1141
      StackMap locals:
      StackMap stack:
            aload 10 /* newLoader */
            getfield sun.misc.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            aload 1 /* name */
            invokevirtual java.util.jar.JarFile.getJarEntry:(Ljava/lang/String;)Ljava/util/jar/JarEntry;
            astore 13 /* entry */
        start local 13 // java.util.jar.JarEntry entry
        37: .line 1142
            aload 13 /* entry */
            ifnull 39
        38: .line 1143
            aload 10 /* newLoader */
            aload 1 /* name */
            iload 2 /* check */
            aload 13 /* entry */
            invokevirtual sun.misc.URLClassPath$JarLoader.checkResource:(Ljava/lang/String;ZLjava/util/jar/JarEntry;)Lsun/misc/Resource;
            areturn
        39: .line 1150
      StackMap locals: java.util.jar.JarEntry
      StackMap stack:
            aload 10 /* newLoader */
            aload 1 /* name */
            invokevirtual sun.misc.URLClassPath$JarLoader.validIndex:(Ljava/lang/String;)Z
            ifne 41
        40: .line 1152
            new sun.misc.InvalidJarIndexException
            dup
            ldc "Invalid index"
            invokespecial sun.misc.InvalidJarIndexException.<init>:(Ljava/lang/String;)V
            athrow
        end local 13 // java.util.jar.JarEntry entry
        41: .line 1161
      StackMap locals:
      StackMap stack:
            iload 12 /* visitedURL */
            ifne 47
            aload 10 /* newLoader */
            aload 0 /* this */
            if_acmpeq 47
        42: .line 1162
            aload 10 /* newLoader */
            invokevirtual sun.misc.URLClassPath$JarLoader.getIndex:()Lsun/misc/JarIndex;
            ifnonnull 44
        43: .line 1163
            goto 47
        44: .line 1168
      StackMap locals:
      StackMap stack:
            aload 10 /* newLoader */
            aload 1 /* name */
            iload 2 /* check */
            aload 3 /* visited */
            invokevirtual sun.misc.URLClassPath$JarLoader.getResource:(Ljava/lang/String;ZLjava/util/Set;)Lsun/misc/Resource;
            dup
            astore 4 /* res */
        start local 4 // sun.misc.Resource res
        45: ifnull 47
        46: .line 1170
            aload 4 /* res */
            areturn
        end local 12 // boolean visitedURL
        end local 11 // java.net.URL url
        end local 10 // sun.misc.URLClassPath$JarLoader newLoader
        end local 9 // java.lang.String jarName
        end local 4 // sun.misc.Resource res
        47: .line 1090
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.String[] int java.util.LinkedList int
      StackMap stack:
            iload 6 /* count */
            iload 8 /* size */
            if_icmplt 7
        48: .line 1175
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.index:Lsun/misc/JarIndex;
            aload 1 /* name */
            invokevirtual sun.misc.JarIndex.get:(Ljava/lang/String;)Ljava/util/LinkedList;
            astore 7 /* jarFilesList */
        end local 8 // int size
        49: .line 1178
            iload 6 /* count */
            aload 7 /* jarFilesList */
            invokevirtual java.util.LinkedList.size:()I
        50: .line 1086
            if_icmplt 4
        51: .line 1179
            aconst_null
            areturn
        end local 7 // java.util.LinkedList jarFilesList
        end local 6 // int count
        end local 5 // java.lang.String[] jarFiles
        end local 3 // java.util.Set visited
        end local 2 // boolean check
        end local 1 // java.lang.String name
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   52     0             this  Lsun/misc/URLClassPath$JarLoader;
            0   52     1             name  Ljava/lang/String;
            0   52     2            check  Z
            0   52     3          visited  Ljava/util/Set<Ljava/lang/String;>;
           45   47     4              res  Lsun/misc/Resource;
            6   52     5         jarFiles  [Ljava/lang/String;
            1   52     6            count  I
            2   52     7     jarFilesList  Ljava/util/LinkedList<Ljava/lang/String;>;
            5   49     8             size  I
            8   47     9          jarName  Ljava/lang/String;
           11   24    10        newLoader  Lsun/misc/URLClassPath$JarLoader;
           28   47    10        newLoader  Lsun/misc/URLClassPath$JarLoader;
            9   24    11              url  Ljava/net/URL;
           28   47    11              url  Ljava/net/URL;
           10   23    12  urlNoFragString  Ljava/lang/String;
           16   23    13         newIndex  Lsun/misc/JarIndex;
           18   22    14              pos  I
           31   47    12       visitedURL  Z
           35   36    13                e  Ljava/io/IOException;
           37   41    13            entry  Ljava/util/jar/JarEntry;
      Exception table:
        from    to  target  type
           8    23      24  Class java.security.PrivilegedActionException
           8    23      26  Class java.net.MalformedURLException
          32    33      34  Class java.io.IOException
    Signature: (Ljava/lang/String;ZLjava/util/Set<Ljava/lang/String;>;)Lsun/misc/Resource;
    MethodParameters:
         Name  Flags
      name     final
      check    
      visited  

  java.net.URL[] getClassPath();
    descriptor: ()[Ljava/net/URL;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // sun.misc.URLClassPath$JarLoader this
         0: .line 1187
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.index:Lsun/misc/JarIndex;
            ifnull 2
         1: .line 1188
            aconst_null
            areturn
         2: .line 1191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.metaIndex:Lsun/misc/MetaIndex;
            ifnull 4
         3: .line 1192
            aconst_null
            areturn
         4: .line 1195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.misc.URLClassPath$JarLoader.ensureOpen:()V
         5: .line 1196
            aload 0 /* this */
            invokevirtual sun.misc.URLClassPath$JarLoader.parseExtensionsDependencies:()V
         6: .line 1198
            invokestatic sun.misc.SharedSecrets.javaUtilJarAccess:()Lsun/misc/JavaUtilJarAccess;
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            invokeinterface sun.misc.JavaUtilJarAccess.jarFileHasClassPathAttribute:(Ljava/util/jar/JarFile;)Z
            ifeq 14
         7: .line 1199
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            invokevirtual java.util.jar.JarFile.getManifest:()Ljava/util/jar/Manifest;
            astore 1 /* man */
        start local 1 // java.util.jar.Manifest man
         8: .line 1200
            aload 1 /* man */
            ifnull 14
         9: .line 1201
            aload 1 /* man */
            invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
            astore 2 /* attr */
        start local 2 // java.util.jar.Attributes attr
        10: .line 1202
            aload 2 /* attr */
            ifnull 14
        11: .line 1203
            aload 2 /* attr */
            getstatic java.util.jar.Attributes$Name.CLASS_PATH:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 3 /* value */
        start local 3 // java.lang.String value
        12: .line 1204
            aload 3 /* value */
            ifnull 14
        13: .line 1205
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.csu:Ljava/net/URL;
            aload 3 /* value */
            invokevirtual sun.misc.URLClassPath$JarLoader.parseClassPath:(Ljava/net/URL;Ljava/lang/String;)[Ljava/net/URL;
            areturn
        end local 3 // java.lang.String value
        end local 2 // java.util.jar.Attributes attr
        end local 1 // java.util.jar.Manifest man
        14: .line 1210
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lsun/misc/URLClassPath$JarLoader;
            8   14     1    man  Ljava/util/jar/Manifest;
           10   14     2   attr  Ljava/util/jar/Attributes;
           12   14     3  value  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  private void parseExtensionsDependencies();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.misc.URLClassPath$JarLoader this
         0: .line 1217
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            invokestatic sun.misc.ExtensionDependency.checkExtensionsDependencies:(Ljava/util/jar/JarFile;)Z
            pop
         1: .line 1218
            return
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/misc/URLClassPath$JarLoader;
    Exceptions:
      throws java.io.IOException

  private java.net.URL[] parseClassPath(java.net.URL, java.lang.String);
    descriptor: (Ljava/net/URL;Ljava/lang/String;)[Ljava/net/URL;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.net.URL base
        start local 2 // java.lang.String value
         0: .line 1227
            new java.util.StringTokenizer
            dup
            aload 2 /* value */
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
            astore 3 /* st */
        start local 3 // java.util.StringTokenizer st
         1: .line 1228
            aload 3 /* st */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            anewarray java.net.URL
            astore 4 /* urls */
        start local 4 // java.net.URL[] urls
         2: .line 1229
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: .line 1230
            goto 16
         4: .line 1231
      StackMap locals: java.util.StringTokenizer java.net.URL[] int
      StackMap stack:
            aload 3 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 6 /* path */
        start local 6 // java.lang.String path
         5: .line 1232
            getstatic sun.misc.URLClassPath.DISABLE_CP_URL_CHECK:Z
            ifeq 6
            new java.net.URL
            dup
            aload 1 /* base */
            aload 6 /* path */
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            goto 7
      StackMap locals: java.lang.String
      StackMap stack:
         6: aload 1 /* base */
            aload 6 /* path */
            invokestatic sun.misc.URLClassPath$JarLoader.tryResolve:(Ljava/net/URL;Ljava/lang/String;)Ljava/net/URL;
      StackMap locals:
      StackMap stack: java.net.URL
         7: astore 7 /* url */
        start local 7 // java.net.URL url
         8: .line 1233
            aload 7 /* url */
            ifnull 12
         9: .line 1234
            aload 4 /* urls */
            iload 5 /* i */
            aload 7 /* url */
            aastore
        10: .line 1235
            iinc 5 /* i */ 1
        11: .line 1236
            goto 16
        12: .line 1237
      StackMap locals: java.net.URL
      StackMap stack:
            getstatic sun.misc.URLClassPath.DEBUG_CP_URL_CHECK:Z
            ifeq 16
        13: .line 1238
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Class-Path entry: \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 1239
            ldc "\" ignored in JAR file "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* base */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 1238
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 7 // java.net.URL url
        end local 6 // java.lang.String path
        16: .line 1230
      StackMap locals:
      StackMap stack:
            aload 3 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 4
        17: .line 1243
            iload 5 /* i */
            ifne 20
        18: .line 1244
            aconst_null
            astore 4 /* urls */
        19: .line 1245
            goto 22
      StackMap locals:
      StackMap stack:
        20: iload 5 /* i */
            aload 4 /* urls */
            arraylength
            if_icmpeq 22
        21: .line 1247
            aload 4 /* urls */
            iload 5 /* i */
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast java.net.URL[]
            astore 4 /* urls */
        22: .line 1249
      StackMap locals:
      StackMap stack:
            aload 4 /* urls */
            areturn
        end local 5 // int i
        end local 4 // java.net.URL[] urls
        end local 3 // java.util.StringTokenizer st
        end local 2 // java.lang.String value
        end local 1 // java.net.URL base
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   23     0   this  Lsun/misc/URLClassPath$JarLoader;
            0   23     1   base  Ljava/net/URL;
            0   23     2  value  Ljava/lang/String;
            1   23     3     st  Ljava/util/StringTokenizer;
            2   23     4   urls  [Ljava/net/URL;
            3   23     5      i  I
            5   16     6   path  Ljava/lang/String;
            8   16     7    url  Ljava/net/URL;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
       Name  Flags
      base   
      value  

  static java.net.URL tryResolve(java.net.URL, java.lang.String);
    descriptor: (Ljava/net/URL;Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.net.URL base
        start local 1 // java.lang.String input
         0: .line 1253
            ldc "file"
            aload 0 /* base */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1254
            aload 0 /* base */
            aload 1 /* input */
            invokestatic sun.misc.URLClassPath$JarLoader.tryResolveFile:(Ljava/net/URL;Ljava/lang/String;)Ljava/net/URL;
            areturn
         2: .line 1256
      StackMap locals:
      StackMap stack:
            aload 0 /* base */
            aload 1 /* input */
            invokestatic sun.misc.URLClassPath$JarLoader.tryResolveNonFile:(Ljava/net/URL;Ljava/lang/String;)Ljava/net/URL;
            areturn
        end local 1 // java.lang.String input
        end local 0 // java.net.URL base
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   base  Ljava/net/URL;
            0    3     1  input  Ljava/lang/String;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
       Name  Flags
      base   
      input  

  static java.net.URL tryResolveFile(java.net.URL, java.lang.String);
    descriptor: (Ljava/net/URL;Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.net.URL base
        start local 1 // java.lang.String input
         0: .line 1274
            aload 1 /* input */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 1276
            iload 2 /* index */
            iflt 5
         2: .line 1277
            aload 1 /* input */
            iconst_0
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* scheme */
        start local 4 // java.lang.String scheme
         3: .line 1278
            ldc "file"
            aload 4 /* scheme */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            istore 3 /* isFile */
        end local 4 // java.lang.String scheme
        start local 3 // boolean isFile
         4: .line 1279
            goto 6
        end local 3 // boolean isFile
         5: .line 1280
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 3 /* isFile */
        start local 3 // boolean isFile
         6: .line 1282
      StackMap locals: int
      StackMap stack:
            iload 3 /* isFile */
            ifeq 7
            new java.net.URL
            dup
            aload 0 /* base */
            aload 1 /* input */
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            goto 8
      StackMap locals:
      StackMap stack:
         7: aconst_null
      StackMap locals:
      StackMap stack: java.net.URL
         8: areturn
        end local 3 // boolean isFile
        end local 2 // int index
        end local 1 // java.lang.String input
        end local 0 // java.net.URL base
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    base  Ljava/net/URL;
            0    9     1   input  Ljava/lang/String;
            1    9     2   index  I
            4    5     3  isFile  Z
            6    9     3  isFile  Z
            3    4     4  scheme  Ljava/lang/String;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
       Name  Flags
      base   
      input  

  static java.net.URL tryResolveNonFile(java.net.URL, java.lang.String);
    descriptor: (Ljava/net/URL;Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // java.net.URL base
        start local 1 // java.lang.String input
         0: .line 1293
            aload 1 /* input */
            getstatic java.io.File.separatorChar:C
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 2 /* child */
        start local 2 // java.lang.String child
         1: .line 1294
            aload 2 /* child */
            invokestatic sun.misc.URLClassPath$JarLoader.isRelative:(Ljava/lang/String;)Z
            ifeq 11
         2: .line 1295
            new java.net.URL
            dup
            aload 0 /* base */
            aload 2 /* child */
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            astore 3 /* url */
        start local 3 // java.net.URL url
         3: .line 1296
            aload 0 /* base */
            invokevirtual java.net.URL.getPath:()Ljava/lang/String;
            astore 4 /* bp */
        start local 4 // java.lang.String bp
         4: .line 1297
            aload 3 /* url */
            invokevirtual java.net.URL.getPath:()Ljava/lang/String;
            astore 5 /* urlp */
        start local 5 // java.lang.String urlp
         5: .line 1298
            aload 4 /* bp */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 6 /* pos */
        start local 6 // int pos
         6: .line 1299
            iload 6 /* pos */
            iconst_m1
            if_icmpne 8
         7: .line 1300
            aload 4 /* bp */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 6 /* pos */
         8: .line 1302
      StackMap locals: java.net.URL java.lang.String java.lang.String java.net.URL java.lang.String java.lang.String int
      StackMap stack:
            aload 5 /* urlp */
            iconst_0
            aload 4 /* bp */
            iconst_0
            iload 6 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.regionMatches:(ILjava/lang/String;II)Z
            ifeq 11
         9: .line 1303
            aload 5 /* urlp */
            ldc ".."
            iload 6 /* pos */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            iconst_m1
            if_icmpne 11
        10: .line 1304
            aload 3 /* url */
            areturn
        end local 6 // int pos
        end local 5 // java.lang.String urlp
        end local 4 // java.lang.String bp
        end local 3 // java.net.URL url
        11: .line 1307
      StackMap locals: java.net.URL java.lang.String java.lang.String
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.String child
        end local 1 // java.lang.String input
        end local 0 // java.net.URL base
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   base  Ljava/net/URL;
            0   12     1  input  Ljava/lang/String;
            1   12     2  child  Ljava/lang/String;
            3   11     3    url  Ljava/net/URL;
            4   11     4     bp  Ljava/lang/String;
            5   11     5   urlp  Ljava/lang/String;
            6   11     6    pos  I
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
       Name  Flags
      base   
      input  

  static boolean isRelative(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String child
         0: .line 1315
            aload 0 /* child */
            invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
            invokevirtual java.net.URI.isAbsolute:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
         3: .line 1316
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
         4: .line 1317
            iconst_0
            ireturn
        end local 0 // java.lang.String child
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  child  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.IllegalArgumentException
    MethodParameters:
       Name  Flags
      child  
}
SourceFile: "URLClassPath.java"
NestHost: sun.misc.URLClassPath
InnerClasses:
  public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes
  JarLoader = sun.misc.URLClassPath$JarLoader of sun.misc.URLClassPath
  sun.misc.URLClassPath$JarLoader$1
  sun.misc.URLClassPath$JarLoader$2
  sun.misc.URLClassPath$JarLoader$3
  private Loader = sun.misc.URLClassPath$Loader of sun.misc.URLClassPath