public class java.util.jar.JarFile extends java.util.zip.ZipFile
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.util.jar.JarFile
  super_class: java.util.zip.ZipFile
{
  private static final java.lang.Runtime$Version BASE_VERSION;
    descriptor: Ljava/lang/Runtime$Version;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int BASE_VERSION_FEATURE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Runtime$Version RUNTIME_VERSION;
    descriptor: Ljava/lang/Runtime$Version;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean MULTI_RELEASE_ENABLED;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean MULTI_RELEASE_FORCED;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.lang.ref.SoftReference<java.util.jar.Manifest> manRef;
    descriptor: Ljava/lang/ref/SoftReference;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/ref/SoftReference<Ljava/util/jar/Manifest;>;

  private java.util.jar.JarEntry manEntry;
    descriptor: Ljava/util/jar/JarEntry;
    flags: (0x0002) ACC_PRIVATE

  private java.util.jar.JarVerifier jv;
    descriptor: Ljava/util/jar/JarVerifier;
    flags: (0x0002) ACC_PRIVATE

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

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

  private final java.lang.Runtime$Version version;
    descriptor: Ljava/lang/Runtime$Version;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int versionFeature;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private volatile boolean hasCheckedSpecialAttributes;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private static final jdk.internal.access.JavaUtilZipFileAccess JUZFA;
    descriptor: Ljdk/internal/access/JavaUtilZipFileAccess;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String META_INF;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "META-INF/"

  private static final java.lang.String META_INF_VERSIONS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "META-INF/versions/"

  public static final java.lang.String MANIFEST_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "META-INF/MANIFEST.MF"

  private static final byte[] CLASSPATH_CHARS;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] CLASSPATH_LASTOCC;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] CLASSPATH_OPTOSFT;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] MULTIRELEASE_CHARS;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] MULTIRELEASE_LASTOCC;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] MULTIRELEASE_OPTOSFT;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=0
         0: .line 173
            new java.util.jar.JavaUtilJarAccessImpl
            dup
            invokespecial java.util.jar.JavaUtilJarAccessImpl.<init>:()V
            invokestatic jdk.internal.access.SharedSecrets.setJavaUtilJarAccess:(Ljdk/internal/access/JavaUtilJarAccess;)V
         1: .line 175
            invokestatic jdk.internal.access.SharedSecrets.getJavaUtilZipFileAccess:()Ljdk/internal/access/JavaUtilZipFileAccess;
            putstatic java.util.jar.JarFile.JUZFA:Ljdk/internal/access/JavaUtilZipFileAccess;
         2: .line 177
            bipush 8
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokestatic java.lang.Runtime$Version.parse:(Ljava/lang/String;)Ljava/lang/Runtime$Version;
            putstatic java.util.jar.JarFile.BASE_VERSION:Ljava/lang/Runtime$Version;
         3: .line 178
            getstatic java.util.jar.JarFile.BASE_VERSION:Ljava/lang/Runtime$Version;
            invokevirtual java.lang.Runtime$Version.feature:()I
            putstatic java.util.jar.JarFile.BASE_VERSION_FEATURE:I
         4: .line 179
            ldc "jdk.util.jar.version"
            invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* jarVersion */
        start local 0 // java.lang.String jarVersion
         5: .line 180
            invokestatic java.lang.Runtime.version:()Ljava/lang/Runtime$Version;
            invokevirtual java.lang.Runtime$Version.feature:()I
            istore 1 /* runtimeVersion */
        start local 1 // int runtimeVersion
         6: .line 181
            aload 0 /* jarVersion */
            ifnull 12
         7: .line 182
            aload 0 /* jarVersion */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 2 /* jarVer */
        start local 2 // int jarVer
         8: .line 183
            iload 2 /* jarVer */
            iload 1 /* runtimeVersion */
            if_icmple 10
         9: .line 184
            iload 1 /* runtimeVersion */
            goto 11
        10: .line 185
      StackMap locals: java.lang.String int int
      StackMap stack:
            iload 2 /* jarVer */
            getstatic java.util.jar.JarFile.BASE_VERSION_FEATURE:I
            invokestatic java.lang.Math.max:(II)I
        11: .line 183
      StackMap locals:
      StackMap stack: int
            istore 1 /* runtimeVersion */
        end local 2 // int jarVer
        12: .line 187
      StackMap locals:
      StackMap stack:
            iload 1 /* runtimeVersion */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokestatic java.lang.Runtime$Version.parse:(Ljava/lang/String;)Ljava/lang/Runtime$Version;
            putstatic java.util.jar.JarFile.RUNTIME_VERSION:Ljava/lang/Runtime$Version;
        13: .line 189
            ldc "jdk.util.jar.enableMultiRelease"
            ldc "true"
            invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        14: .line 188
            astore 2 /* enableMultiRelease */
        start local 2 // java.lang.String enableMultiRelease
        15: .line 190
            aload 2 /* enableMultiRelease */
            dup
            astore 3
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 3
              3569038: 16
             97196323: 17
             97618667: 18
              default: 19
          }
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
        16: aload 3
            ldc "true"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
            goto 19
      StackMap locals:
      StackMap stack:
        17: aload 3
            ldc "false"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 22
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 3
            ldc "force"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 25
        19: .line 193
      StackMap locals:
      StackMap stack:
            iconst_1
            putstatic java.util.jar.JarFile.MULTI_RELEASE_ENABLED:Z
        20: .line 194
            iconst_0
            putstatic java.util.jar.JarFile.MULTI_RELEASE_FORCED:Z
        21: .line 195
            goto 27
        22: .line 197
      StackMap locals:
      StackMap stack:
            iconst_0
            putstatic java.util.jar.JarFile.MULTI_RELEASE_ENABLED:Z
        23: .line 198
            iconst_0
            putstatic java.util.jar.JarFile.MULTI_RELEASE_FORCED:Z
        24: .line 199
            goto 27
        25: .line 201
      StackMap locals:
      StackMap stack:
            iconst_1
            putstatic java.util.jar.JarFile.MULTI_RELEASE_ENABLED:Z
        26: .line 202
            iconst_1
            putstatic java.util.jar.JarFile.MULTI_RELEASE_FORCED:Z
        end local 2 // java.lang.String enableMultiRelease
        end local 1 // int runtimeVersion
        end local 0 // java.lang.String jarVersion
        27: .line 203
      StackMap locals:
      StackMap stack:
            bipush 12
            newarray 8
            dup
            iconst_0
        28: .line 870
            bipush 67
            bastore
            dup
            iconst_1
            bipush 76
            bastore
            dup
            iconst_2
            bipush 65
            bastore
            dup
            iconst_3
            bipush 83
            bastore
            dup
            iconst_4
            bipush 83
            bastore
            dup
            iconst_5
            bipush 45
            bastore
            dup
            bipush 6
            bipush 80
            bastore
            dup
            bipush 7
            bipush 65
            bastore
            dup
            bipush 8
            bipush 84
            bastore
            dup
            bipush 9
            bipush 72
            bastore
            dup
            bipush 10
            bipush 58
            bastore
            dup
            bipush 11
            bipush 32
            bastore
        29: .line 869
            putstatic java.util.jar.JarFile.CLASSPATH_CHARS:[B
        30: .line 879
            bipush 19
            newarray 8
            dup
            iconst_0
            bipush 77
            bastore
            dup
            iconst_1
            bipush 85
            bastore
            dup
            iconst_2
            bipush 76
            bastore
            dup
            iconst_3
            bipush 84
            bastore
            dup
            iconst_4
            bipush 73
            bastore
            dup
            iconst_5
            bipush 45
            bastore
            dup
            bipush 6
            bipush 82
            bastore
            dup
            bipush 7
            bipush 69
            bastore
            dup
            bipush 8
            bipush 76
            bastore
            dup
            bipush 9
            bipush 69
            bastore
            dup
            bipush 10
            bipush 65
            bastore
            dup
            bipush 11
            bipush 83
            bastore
            dup
            bipush 12
            bipush 69
            bastore
            dup
            bipush 13
            bipush 58
            bastore
            dup
            bipush 14
        31: .line 880
            bipush 32
            bastore
            dup
            bipush 15
            bipush 84
            bastore
            dup
            bipush 16
            bipush 82
            bastore
            dup
            bipush 17
            bipush 85
            bastore
            dup
            bipush 18
            bipush 69
            bastore
        32: .line 878
            putstatic java.util.jar.JarFile.MULTIRELEASE_CHARS:[B
        33: .line 889
            bipush 65
            newarray 8
            putstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
        34: .line 890
            bipush 12
            newarray 8
            putstatic java.util.jar.JarFile.CLASSPATH_OPTOSFT:[B
        35: .line 891
            getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
            bipush 35
            iconst_1
            bastore
        36: .line 892
            getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
            bipush 44
            iconst_2
            bastore
        37: .line 893
            getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
            bipush 51
            iconst_5
            bastore
        38: .line 894
            getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
            bipush 13
            bipush 6
            bastore
        39: .line 895
            getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
            bipush 48
            bipush 7
            bastore
        40: .line 896
            getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
            bipush 33
            bipush 8
            bastore
        41: .line 897
            getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
            bipush 52
            bipush 9
            bastore
        42: .line 898
            getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
            bipush 40
            bipush 10
            bastore
        43: .line 899
            getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
            bipush 26
            bipush 11
            bastore
        44: .line 900
            getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
            iconst_0
            bipush 12
            bastore
        45: .line 901
            iconst_0
            istore 0 /* i */
        start local 0 // int i
        46: goto 49
        47: .line 902
      StackMap locals: int
      StackMap stack:
            getstatic java.util.jar.JarFile.CLASSPATH_OPTOSFT:[B
            iload 0 /* i */
            bipush 12
            bastore
        48: .line 901
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        49: iload 0 /* i */
            bipush 11
            if_icmplt 47
        end local 0 // int i
        50: .line 904
            getstatic java.util.jar.JarFile.CLASSPATH_OPTOSFT:[B
            bipush 11
            iconst_1
            bastore
        51: .line 906
            bipush 65
            newarray 8
            putstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
        52: .line 907
            bipush 19
            newarray 8
            putstatic java.util.jar.JarFile.MULTIRELEASE_OPTOSFT:[B
        53: .line 908
            getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
            bipush 45
            iconst_1
            bastore
        54: .line 909
            getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
            bipush 41
            iconst_5
            bastore
        55: .line 910
            getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
            bipush 13
            bipush 6
            bastore
        56: .line 911
            getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
            bipush 44
            bipush 9
            bastore
        57: .line 912
            getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
            bipush 33
            bipush 11
            bastore
        58: .line 913
            getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
            bipush 51
            bipush 12
            bastore
        59: .line 914
            getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
            bipush 26
            bipush 14
            bastore
        60: .line 915
            getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
            iconst_0
            bipush 15
            bastore
        61: .line 916
            getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
            bipush 52
            bipush 16
            bastore
        62: .line 917
            getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
            bipush 50
            bipush 17
            bastore
        63: .line 918
            getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
            bipush 53
            bipush 18
            bastore
        64: .line 919
            getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
            bipush 37
            bipush 19
            bastore
        65: .line 920
            iconst_0
            istore 0 /* i */
        start local 0 // int i
        66: goto 69
        67: .line 921
      StackMap locals:
      StackMap stack:
            getstatic java.util.jar.JarFile.MULTIRELEASE_OPTOSFT:[B
            iload 0 /* i */
            bipush 19
            bastore
        68: .line 920
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        69: iload 0 /* i */
            bipush 17
            if_icmplt 67
        end local 0 // int i
        70: .line 923
            getstatic java.util.jar.JarFile.MULTIRELEASE_OPTOSFT:[B
            bipush 17
            bipush 6
            bastore
        71: .line 924
            getstatic java.util.jar.JarFile.MULTIRELEASE_OPTOSFT:[B
            bipush 18
            iconst_1
            bastore
        72: .line 925
            return
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            5   27     0          jarVersion  Ljava/lang/String;
            6   27     1      runtimeVersion  I
            8   12     2              jarVer  I
           15   27     2  enableMultiRelease  Ljava/lang/String;
           46   50     0                   i  I
           66   70     0                   i  I

  public static java.lang.Runtime$Version baseVersion();
    descriptor: ()Ljava/lang/Runtime$Version;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 225
            getstatic java.util.jar.JarFile.BASE_VERSION:Ljava/lang/Runtime$Version;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.Runtime$Version runtimeVersion();
    descriptor: ()Ljava/lang/Runtime$Version;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 243
            getstatic java.util.jar.JarFile.RUNTIME_VERSION:Ljava/lang/Runtime$Version;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.lang.String name
         0: .line 256
            aload 0 /* this */
            new java.io.File
            dup
            aload 1 /* name */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            iconst_1
            iconst_1
            invokespecial java.util.jar.JarFile.<init>:(Ljava/io/File;ZI)V
         1: .line 257
            return
        end local 1 // java.lang.String name
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/jar/JarFile;
            0    2     1  name  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      name  

  public void <init>(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.lang.String name
        start local 2 // boolean verify
         0: .line 270
            aload 0 /* this */
            new java.io.File
            dup
            aload 1 /* name */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            iload 2 /* verify */
            iconst_1
            invokespecial java.util.jar.JarFile.<init>:(Ljava/io/File;ZI)V
         1: .line 271
            return
        end local 2 // boolean verify
        end local 1 // java.lang.String name
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/util/jar/JarFile;
            0    2     1    name  Ljava/lang/String;
            0    2     2  verify  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      name    
      verify  

  public void <init>(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.io.File file
         0: .line 283
            aload 0 /* this */
            aload 1 /* file */
            iconst_1
            iconst_1
            invokespecial java.util.jar.JarFile.<init>:(Ljava/io/File;ZI)V
         1: .line 284
            return
        end local 1 // java.io.File file
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/jar/JarFile;
            0    2     1  file  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public void <init>(java.io.File, boolean);
    descriptor: (Ljava/io/File;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.io.File file
        start local 2 // boolean verify
         0: .line 297
            aload 0 /* this */
            aload 1 /* file */
            iload 2 /* verify */
            iconst_1
            invokespecial java.util.jar.JarFile.<init>:(Ljava/io/File;ZI)V
         1: .line 298
            return
        end local 2 // boolean verify
        end local 1 // java.io.File file
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/util/jar/JarFile;
            0    2     1    file  Ljava/io/File;
            0    2     2  verify  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      file    
      verify  

  public void <init>(java.io.File, boolean, int);
    descriptor: (Ljava/io/File;ZI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.io.File file
        start local 2 // boolean verify
        start local 3 // int mode
         0: .line 317
            aload 0 /* this */
            aload 1 /* file */
            iload 2 /* verify */
            iload 3 /* mode */
            getstatic java.util.jar.JarFile.BASE_VERSION:Ljava/lang/Runtime$Version;
            invokespecial java.util.jar.JarFile.<init>:(Ljava/io/File;ZILjava/lang/Runtime$Version;)V
         1: .line 318
            return
        end local 3 // int mode
        end local 2 // boolean verify
        end local 1 // java.io.File file
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/util/jar/JarFile;
            0    2     1    file  Ljava/io/File;
            0    2     2  verify  Z
            0    2     3    mode  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      file    
      verify  
      mode    

  public void <init>(java.io.File, boolean, int, java.lang.Runtime$Version);
    descriptor: (Ljava/io/File;ZILjava/lang/Runtime$Version;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.io.File file
        start local 2 // boolean verify
        start local 3 // int mode
        start local 4 // java.lang.Runtime$Version version
         0: .line 346
            aload 0 /* this */
            aload 1 /* file */
            iload 3 /* mode */
            invokespecial java.util.zip.ZipFile.<init>:(Ljava/io/File;I)V
         1: .line 347
            aload 0 /* this */
            iload 2 /* verify */
            putfield java.util.jar.JarFile.verify:Z
         2: .line 348
            aload 4 /* version */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 349
            getstatic java.util.jar.JarFile.MULTI_RELEASE_FORCED:Z
            ifne 4
            aload 4 /* version */
            invokevirtual java.lang.Runtime$Version.feature:()I
            getstatic java.util.jar.JarFile.RUNTIME_VERSION:Ljava/lang/Runtime$Version;
            invokevirtual java.lang.Runtime$Version.feature:()I
            if_icmpne 6
         4: .line 351
      StackMap locals: java.util.jar.JarFile java.io.File int int java.lang.Runtime$Version
      StackMap stack:
            aload 0 /* this */
            getstatic java.util.jar.JarFile.RUNTIME_VERSION:Ljava/lang/Runtime$Version;
            putfield java.util.jar.JarFile.version:Ljava/lang/Runtime$Version;
         5: .line 352
            goto 10
      StackMap locals:
      StackMap stack:
         6: aload 4 /* version */
            invokevirtual java.lang.Runtime$Version.feature:()I
            getstatic java.util.jar.JarFile.BASE_VERSION_FEATURE:I
            if_icmpgt 9
         7: .line 354
            aload 0 /* this */
            getstatic java.util.jar.JarFile.BASE_VERSION:Ljava/lang/Runtime$Version;
            putfield java.util.jar.JarFile.version:Ljava/lang/Runtime$Version;
         8: .line 355
            goto 10
         9: .line 357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* version */
            invokevirtual java.lang.Runtime$Version.feature:()I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokestatic java.lang.Runtime$Version.parse:(Ljava/lang/String;)Ljava/lang/Runtime$Version;
            putfield java.util.jar.JarFile.version:Ljava/lang/Runtime$Version;
        10: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.jar.JarFile.version:Ljava/lang/Runtime$Version;
            invokevirtual java.lang.Runtime$Version.feature:()I
            putfield java.util.jar.JarFile.versionFeature:I
        11: .line 360
            return
        end local 4 // java.lang.Runtime$Version version
        end local 3 // int mode
        end local 2 // boolean verify
        end local 1 // java.io.File file
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Ljava/util/jar/JarFile;
            0   12     1     file  Ljava/io/File;
            0   12     2   verify  Z
            0   12     3     mode  I
            0   12     4  version  Ljava/lang/Runtime$Version;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      file     
      verify   
      mode     
      version  

  public final java.lang.Runtime$Version getVersion();
    descriptor: ()Ljava/lang/Runtime$Version;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.jar.JarFile this
         0: .line 373
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.isMultiRelease:()Z
            ifeq 1
            aload 0 /* this */
            getfield java.util.jar.JarFile.version:Ljava/lang/Runtime$Version;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic java.util.jar.JarFile.BASE_VERSION:Ljava/lang/Runtime$Version;
      StackMap locals:
      StackMap stack: java.lang.Runtime$Version
         2: areturn
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/jar/JarFile;

  public final boolean isMultiRelease();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.jar.JarFile this
         0: .line 383
            aload 0 /* this */
            getfield java.util.jar.JarFile.isMultiRelease:Z
            ifeq 2
         1: .line 384
            iconst_1
            ireturn
         2: .line 386
      StackMap locals:
      StackMap stack:
            getstatic java.util.jar.JarFile.MULTI_RELEASE_ENABLED:Z
            ifeq 7
         3: .line 388
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.checkForSpecialAttributes:()V
         4: .line 389
            goto 7
      StackMap locals:
      StackMap stack: java.io.IOException
         5: pop
         6: .line 390
            aload 0 /* this */
            iconst_0
            putfield java.util.jar.JarFile.isMultiRelease:Z
         7: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.jar.JarFile.isMultiRelease:Z
            ireturn
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/util/jar/JarFile;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException

  public java.util.jar.Manifest getManifest();
    descriptor: ()Ljava/util/jar/Manifest;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.jar.JarFile this
         0: .line 406
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.getManifestFromReference:()Ljava/util/jar/Manifest;
            areturn
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/jar/JarFile;
    Exceptions:
      throws java.io.IOException

  private java.util.jar.Manifest getManifestFromReference();
    descriptor: ()Ljava/util/jar/Manifest;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // java.util.jar.JarFile this
         0: .line 410
            aload 0 /* this */
            getfield java.util.jar.JarFile.manRef:Ljava/lang/ref/SoftReference;
            ifnull 1
            aload 0 /* this */
            getfield java.util.jar.JarFile.manRef:Ljava/lang/ref/SoftReference;
            invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
            checkcast java.util.jar.Manifest
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.util.jar.Manifest
         2: astore 1 /* man */
        start local 1 // java.util.jar.Manifest man
         3: .line 412
            aload 1 /* man */
            ifnonnull 14
         4: .line 414
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.getManEntry:()Ljava/util/jar/JarEntry;
            astore 2 /* manEntry */
        start local 2 // java.util.jar.JarEntry manEntry
         5: .line 417
            aload 2 /* manEntry */
            ifnull 14
         6: .line 418
            aload 0 /* this */
            getfield java.util.jar.JarFile.verify:Z
            ifeq 12
         7: .line 419
            aload 0 /* this */
            aload 2 /* manEntry */
            invokevirtual java.util.jar.JarFile.getBytes:(Ljava/util/zip/ZipEntry;)[B
            astore 3 /* b */
        start local 3 // byte[] b
         8: .line 420
            aload 0 /* this */
            getfield java.util.jar.JarFile.jvInitialized:Z
            ifne 10
         9: .line 421
            aload 0 /* this */
            new java.util.jar.JarVerifier
            dup
            aload 3 /* b */
            invokespecial java.util.jar.JarVerifier.<init>:([B)V
            putfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
        10: .line 423
      StackMap locals: java.util.jar.Manifest java.util.jar.JarEntry byte[]
      StackMap stack:
            new java.util.jar.Manifest
            dup
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            new java.io.ByteArrayInputStream
            dup
            aload 3 /* b */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.getName:()Ljava/lang/String;
            invokespecial java.util.jar.Manifest.<init>:(Ljava/util/jar/JarVerifier;Ljava/io/InputStream;Ljava/lang/String;)V
            astore 1 /* man */
        end local 3 // byte[] b
        11: .line 424
            goto 13
        12: .line 425
      StackMap locals:
      StackMap stack:
            new java.util.jar.Manifest
            dup
            aload 0 /* this */
            aload 2 /* manEntry */
            invokespecial java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.getName:()Ljava/lang/String;
            invokespecial java.util.jar.Manifest.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            astore 1 /* man */
        13: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.ref.SoftReference
            dup
            aload 1 /* man */
            invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
            putfield java.util.jar.JarFile.manRef:Ljava/lang/ref/SoftReference;
        end local 2 // java.util.jar.JarEntry manEntry
        14: .line 430
      StackMap locals:
      StackMap stack:
            aload 1 /* man */
            areturn
        end local 1 // java.util.jar.Manifest man
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Ljava/util/jar/JarFile;
            3   15     1       man  Ljava/util/jar/Manifest;
            5   14     2  manEntry  Ljava/util/jar/JarEntry;
            8   11     3         b  [B
    Exceptions:
      throws java.io.IOException

  private java.lang.String[] getMetaInfEntryNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.jar.JarFile this
         0: .line 434
            getstatic java.util.jar.JarFile.JUZFA:Ljdk/internal/access/JavaUtilZipFileAccess;
            aload 0 /* this */
            invokeinterface jdk.internal.access.JavaUtilZipFileAccess.getMetaInfEntryNames:(Ljava/util/zip/ZipFile;)[Ljava/lang/String;
            areturn
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/jar/JarFile;

  public java.util.jar.JarEntry getJarEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/jar/JarEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.lang.String name
         0: .line 468
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.util.jar.JarFile.getEntry:(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
            checkcast java.util.jar.JarEntry
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/jar/JarFile;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.util.zip.ZipEntry getEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/zip/ZipEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.lang.String name
         0: .line 506
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.util.jar.JarFile.getEntry0:(Ljava/lang/String;)Ljava/util/jar/JarFile$JarFileEntry;
            astore 2 /* je */
        start local 2 // java.util.jar.JarFile$JarFileEntry je
         1: .line 507
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.isMultiRelease:()Z
            ifeq 3
         2: .line 508
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* je */
            invokevirtual java.util.jar.JarFile.getVersionedEntry:(Ljava/lang/String;Ljava/util/jar/JarEntry;)Ljava/util/jar/JarEntry;
            areturn
         3: .line 510
      StackMap locals: java.util.jar.JarFile$JarFileEntry
      StackMap stack:
            aload 2 /* je */
            areturn
        end local 2 // java.util.jar.JarFile$JarFileEntry je
        end local 1 // java.lang.String name
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/jar/JarFile;
            0    4     1  name  Ljava/lang/String;
            1    4     2    je  Ljava/util/jar/JarFile$JarFileEntry;
    MethodParameters:
      Name  Flags
      name  

  public java.util.Enumeration<java.util.jar.JarEntry> entries();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.jar.JarFile this
         0: .line 521
            getstatic java.util.jar.JarFile.JUZFA:Ljdk/internal/access/JavaUtilZipFileAccess;
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic apply(Ljava/util/jar/JarFile;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/jar/JarFile$JarFileEntry.<init>(Ljava/util/jar/JarFile;Ljava/lang/String;)V (8)
                  (Ljava/lang/String;)Ljava/util/jar/JarEntry;
            invokeinterface jdk.internal.access.JavaUtilZipFileAccess.entries:(Ljava/util/zip/ZipFile;Ljava/util/function/Function;)Ljava/util/Enumeration;
            areturn
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/jar/JarFile;
    Signature: ()Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;

  public java.util.stream.Stream<java.util.jar.JarEntry> stream();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.jar.JarFile this
         0: .line 534
            getstatic java.util.jar.JarFile.JUZFA:Ljdk/internal/access/JavaUtilZipFileAccess;
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic apply(Ljava/util/jar/JarFile;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/jar/JarFile$JarFileEntry.<init>(Ljava/util/jar/JarFile;Ljava/lang/String;)V (8)
                  (Ljava/lang/String;)Ljava/util/jar/JarEntry;
            invokeinterface jdk.internal.access.JavaUtilZipFileAccess.stream:(Ljava/util/zip/ZipFile;Ljava/util/function/Function;)Ljava/util/stream/Stream;
            areturn
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/jar/JarFile;
    Signature: ()Ljava/util/stream/Stream<Ljava/util/jar/JarEntry;>;

  public java.util.stream.Stream<java.util.jar.JarEntry> versionedStream();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.jar.JarFile this
         0: .line 555
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.isMultiRelease:()Z
            ifeq 7
         1: .line 556
            getstatic java.util.jar.JarFile.JUZFA:Ljdk/internal/access/JavaUtilZipFileAccess;
            aload 0 /* this */
            invokeinterface jdk.internal.access.JavaUtilZipFileAccess.entryNameStream:(Ljava/util/zip/ZipFile;)Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic apply(Ljava/util/jar/JarFile;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/jar/JarFile.getBasename(Ljava/lang/String;)Ljava/lang/String; (7)
                  (Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 557
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  java/util/Objects.nonNull(Ljava/lang/Object;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         3: .line 558
            invokeinterface java.util.stream.Stream.distinct:()Ljava/util/stream/Stream;
         4: .line 559
            aload 0 /* this */
            invokedynamic apply(Ljava/util/jar/JarFile;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/jar/JarFile.getJarEntry(Ljava/lang/String;)Ljava/util/jar/JarEntry; (5)
                  (Ljava/lang/String;)Ljava/util/jar/JarEntry;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         5: .line 560
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  java/util/Objects.nonNull(Ljava/lang/Object;)Z (6)
                  (Ljava/util/jar/JarEntry;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         6: .line 556
            areturn
         7: .line 562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.stream:()Ljava/util/stream/Stream;
            areturn
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/util/jar/JarFile;
    Signature: ()Ljava/util/stream/Stream<Ljava/util/jar/JarEntry;>;

  private java.util.jar.JarFile$JarFileEntry getEntry0(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/jar/JarFile$JarFileEntry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.lang.String name
         0: .line 571
            new java.util.jar.JarFile$1
            dup
            aload 0 /* this */
            invokespecial java.util.jar.JarFile$1.<init>:(Ljava/util/jar/JarFile;)V
            astore 2 /* newJarFileEntryFn */
        start local 2 // java.util.function.Function newJarFileEntryFn
         1: .line 577
            getstatic java.util.jar.JarFile.JUZFA:Ljdk/internal/access/JavaUtilZipFileAccess;
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* newJarFileEntryFn */
            invokeinterface jdk.internal.access.JavaUtilZipFileAccess.getEntry:(Ljava/util/zip/ZipFile;Ljava/lang/String;Ljava/util/function/Function;)Ljava/util/jar/JarEntry;
            checkcast java.util.jar.JarFile$JarFileEntry
            areturn
        end local 2 // java.util.function.Function newJarFileEntryFn
        end local 1 // java.lang.String name
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Ljava/util/jar/JarFile;
            0    2     1               name  Ljava/lang/String;
            1    2     2  newJarFileEntryFn  Ljava/util/function/Function<Ljava/lang/String;Ljava/util/jar/JarEntry;>;
    MethodParameters:
      Name  Flags
      name  

  private java.lang.String getBasename(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.lang.String name
         0: .line 581
            aload 1 /* name */
            ldc "META-INF/versions/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 9
         1: .line 582
            ldc "META-INF/versions/"
            invokevirtual java.lang.String.length:()I
            istore 2 /* off */
        start local 2 // int off
         2: .line 583
            aload 1 /* name */
            bipush 47
            iload 2 /* off */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 3 /* index */
        start local 3 // int index
         3: .line 587
            iload 3 /* index */
            iconst_m1
            if_icmpeq 5
            iload 3 /* index */
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpeq 5
         4: .line 588
            aload 1 /* name */
            iload 2 /* off */
            iload 3 /* index */
            bipush 10
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/CharSequence;III)I
            aload 0 /* this */
            getfield java.util.jar.JarFile.versionFeature:I
            if_icmple 8
         5: .line 589
      StackMap locals: int int
      StackMap stack:
            aconst_null
            areturn
         6: .line 591
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
         7: .line 592
            aconst_null
            areturn
         8: .line 595
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            iload 3 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 3 // int index
        end local 2 // int off
         9: .line 597
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Ljava/util/jar/JarFile;
            0   10     1   name  Ljava/lang/String;
            2    9     2    off  I
            3    9     3  index  I
      Exception table:
        from    to  target  type
           3     5       6  Class java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      name  

  private java.util.jar.JarEntry getVersionedEntry(java.lang.String, java.util.jar.JarEntry);
    descriptor: (Ljava/lang/String;Ljava/util/jar/JarEntry;)Ljava/util/jar/JarEntry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.lang.String name
        start local 2 // java.util.jar.JarEntry je
         0: .line 601
            getstatic java.util.jar.JarFile.BASE_VERSION_FEATURE:I
            aload 0 /* this */
            getfield java.util.jar.JarFile.versionFeature:I
            if_icmpge 9
         1: .line 602
            aload 1 /* name */
            ldc "META-INF/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 9
         2: .line 604
            aload 0 /* this */
            getfield java.util.jar.JarFile.versionFeature:I
            istore 3 /* v */
        start local 3 // int v
         3: .line 605
            goto 8
         4: .line 606
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "META-INF/versions/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* v */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.jar.JarFile.getEntry0:(Ljava/lang/String;)Ljava/util/jar/JarFile$JarFileEntry;
            astore 4 /* vje */
        start local 4 // java.util.jar.JarFile$JarFileEntry vje
         5: .line 607
            aload 4 /* vje */
            ifnull 7
         6: .line 608
            aload 4 /* vje */
            aload 1 /* name */
            invokevirtual java.util.jar.JarFile$JarFileEntry.withBasename:(Ljava/lang/String;)Ljava/util/jar/JarFile$JarFileEntry;
            areturn
         7: .line 610
      StackMap locals: java.util.jar.JarFile$JarFileEntry
      StackMap stack:
            iinc 3 /* v */ -1
        end local 4 // java.util.jar.JarFile$JarFileEntry vje
         8: .line 605
      StackMap locals:
      StackMap stack:
            iload 3 /* v */
            getstatic java.util.jar.JarFile.BASE_VERSION_FEATURE:I
            if_icmpgt 4
        end local 3 // int v
         9: .line 614
      StackMap locals:
      StackMap stack:
            aload 2 /* je */
            areturn
        end local 2 // java.util.jar.JarEntry je
        end local 1 // java.lang.String name
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljava/util/jar/JarFile;
            0   10     1  name  Ljava/lang/String;
            0   10     2    je  Ljava/util/jar/JarEntry;
            3    9     3     v  I
            5    8     4   vje  Ljava/util/jar/JarFile$JarFileEntry;
    MethodParameters:
      Name  Flags
      name  
      je    

  java.lang.String getRealName(java.util.jar.JarEntry);
    descriptor: (Ljava/util/jar/JarEntry;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.util.jar.JarEntry entry
         0: .line 619
            aload 1 /* entry */
            invokevirtual java.util.jar.JarEntry.getRealName:()Ljava/lang/String;
            areturn
        end local 1 // java.util.jar.JarEntry entry
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/util/jar/JarFile;
            0    1     1  entry  Ljava/util/jar/JarEntry;
    MethodParameters:
       Name  Flags
      entry  

  private void maybeInstantiateVerifier();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // java.util.jar.JarFile this
         0: .line 704
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            ifnull 2
         1: .line 705
            return
         2: .line 708
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.jar.JarFile.verify:Z
            ifeq 17
         3: .line 709
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.getMetaInfEntryNames:()[Ljava/lang/String;
            astore 1 /* names */
        start local 1 // java.lang.String[] names
         4: .line 710
            aload 1 /* names */
            ifnull 16
         5: .line 711
            aload 1 /* names */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 15
      StackMap locals: java.util.jar.JarFile java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         6: aload 5
            iload 3
            aaload
            astore 2 /* nameLower */
        start local 2 // java.lang.String nameLower
         7: .line 712
            aload 2 /* nameLower */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         8: .line 713
            aload 6 /* name */
            ldc ".DSA"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 12
         9: .line 714
            aload 6 /* name */
            ldc ".RSA"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 12
        10: .line 715
            aload 6 /* name */
            ldc ".EC"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 12
        11: .line 716
            aload 6 /* name */
            ldc ".SF"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 14
        12: .line 720
      StackMap locals: java.util.jar.JarFile java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.getManifest:()Ljava/util/jar/Manifest;
            pop
        13: .line 721
            return
        end local 6 // java.lang.String name
        end local 2 // java.lang.String nameLower
        14: .line 711
      StackMap locals: java.util.jar.JarFile java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        15: iload 3
            iload 4
            if_icmplt 6
        16: .line 727
      StackMap locals: java.util.jar.JarFile java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield java.util.jar.JarFile.verify:Z
        end local 1 // java.lang.String[] names
        17: .line 729
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Ljava/util/jar/JarFile;
            4   17     1      names  [Ljava/lang/String;
            7   14     2  nameLower  Ljava/lang/String;
            8   14     6       name  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  private void initializeVerifier();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=1
        start local 0 // java.util.jar.JarFile this
         0: .line 736
            aconst_null
            astore 1 /* mev */
        start local 1 // sun.security.util.ManifestEntryVerifier mev
         1: .line 740
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.getMetaInfEntryNames:()[Ljava/lang/String;
            astore 2 /* names */
        start local 2 // java.lang.String[] names
         2: .line 741
            aload 2 /* names */
            ifnull 29
         3: .line 742
            aload 2 /* names */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 21
      StackMap locals: java.util.jar.JarFile sun.security.util.ManifestEntryVerifier java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* name */
        start local 3 // java.lang.String name
         5: .line 743
            aload 3 /* name */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 7 /* uname */
        start local 7 // java.lang.String uname
         6: .line 744
            ldc "META-INF/MANIFEST.MF"
            aload 7 /* uname */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 745
            aload 7 /* uname */
            invokestatic sun.security.util.SignatureFileVerifier.isBlockOrSF:(Ljava/lang/String;)Z
            ifeq 20
         8: .line 746
      StackMap locals: java.util.jar.JarFile sun.security.util.ManifestEntryVerifier java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual java.util.jar.JarFile.getJarEntry:(Ljava/lang/String;)Ljava/util/jar/JarEntry;
            astore 8 /* e */
        start local 8 // java.util.jar.JarEntry e
         9: .line 747
            aload 8 /* e */
            ifnonnull 11
        10: .line 748
            new java.util.jar.JarException
            dup
            ldc "corrupted jar file"
            invokespecial java.util.jar.JarException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 750
      StackMap locals: java.util.jar.JarEntry
      StackMap stack:
            aload 1 /* mev */
            ifnonnull 15
        12: .line 751
            new sun.security.util.ManifestEntryVerifier
            dup
        13: .line 752
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.getManifestFromReference:()Ljava/util/jar/Manifest;
        14: .line 751
            invokespecial sun.security.util.ManifestEntryVerifier.<init>:(Ljava/util/jar/Manifest;)V
            astore 1 /* mev */
        15: .line 754
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* e */
            invokevirtual java.util.jar.JarFile.getBytes:(Ljava/util/zip/ZipEntry;)[B
            astore 9 /* b */
        start local 9 // byte[] b
        16: .line 755
            aload 9 /* b */
            ifnull 20
            aload 9 /* b */
            arraylength
            ifle 20
        17: .line 756
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            aload 8 /* e */
            aload 1 /* mev */
            invokevirtual java.util.jar.JarVerifier.beginEntry:(Ljava/util/jar/JarEntry;Lsun/security/util/ManifestEntryVerifier;)V
        18: .line 757
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            aload 9 /* b */
            arraylength
            aload 9 /* b */
            iconst_0
            aload 9 /* b */
            arraylength
            aload 1 /* mev */
            invokevirtual java.util.jar.JarVerifier.update:(I[BIILsun/security/util/ManifestEntryVerifier;)V
        19: .line 758
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            iconst_m1
            aconst_null
            iconst_0
            iconst_0
            aload 1 /* mev */
            invokevirtual java.util.jar.JarVerifier.update:(I[BIILsun/security/util/ManifestEntryVerifier;)V
        end local 9 // byte[] b
        end local 8 // java.util.jar.JarEntry e
        end local 7 // java.lang.String uname
        end local 3 // java.lang.String name
        20: .line 742
      StackMap locals: java.util.jar.JarFile sun.security.util.ManifestEntryVerifier java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        21: iload 4
            iload 5
            if_icmplt 4
        end local 2 // java.lang.String[] names
        22: .line 763
            goto 29
      StackMap locals: java.util.jar.JarFile sun.security.util.ManifestEntryVerifier
      StackMap stack: java.io.IOException
        23: astore 2 /* ex */
        start local 2 // java.io.IOException ex
        24: .line 766
            aload 0 /* this */
            aconst_null
            putfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
        25: .line 767
            aload 0 /* this */
            iconst_0
            putfield java.util.jar.JarFile.verify:Z
        26: .line 768
            getstatic java.util.jar.JarVerifier.debug:Lsun/security/util/Debug;
            ifnull 29
        27: .line 769
            getstatic java.util.jar.JarVerifier.debug:Lsun/security/util/Debug;
            ldc "jarfile parsing error!"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        28: .line 770
            aload 2 /* ex */
            invokevirtual java.io.IOException.printStackTrace:()V
        end local 2 // java.io.IOException ex
        29: .line 777
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            ifnull 38
        30: .line 779
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            invokevirtual java.util.jar.JarVerifier.doneWithMeta:()V
        31: .line 780
            getstatic java.util.jar.JarVerifier.debug:Lsun/security/util/Debug;
            ifnull 33
        32: .line 781
            getstatic java.util.jar.JarVerifier.debug:Lsun/security/util/Debug;
            ldc "done with meta!"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        33: .line 784
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            invokevirtual java.util.jar.JarVerifier.nothingToVerify:()Z
            ifeq 38
        34: .line 785
            getstatic java.util.jar.JarVerifier.debug:Lsun/security/util/Debug;
            ifnull 36
        35: .line 786
            getstatic java.util.jar.JarVerifier.debug:Lsun/security/util/Debug;
            ldc "nothing to verify!"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        36: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
        37: .line 789
            aload 0 /* this */
            iconst_0
            putfield java.util.jar.JarFile.verify:Z
        38: .line 792
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.security.util.ManifestEntryVerifier mev
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   39     0   this  Ljava/util/jar/JarFile;
            1   39     1    mev  Lsun/security/util/ManifestEntryVerifier;
            2   22     2  names  [Ljava/lang/String;
            5   20     3   name  Ljava/lang/String;
            6   20     7  uname  Ljava/lang/String;
            9   20     8      e  Ljava/util/jar/JarEntry;
           16   20     9      b  [B
           24   29     2     ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1    22      23  Class java.io.IOException

  private byte[] getBytes(java.util.zip.ZipEntry);
    descriptor: (Ljava/util/zip/ZipEntry;)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.util.zip.ZipEntry ze
         0: .line 799
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: aload 0 /* this */
            aload 1 /* ze */
            invokespecial java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
            astore 4 /* is */
        start local 4 // java.io.InputStream is
         2: .line 800
            aload 1 /* ze */
            invokevirtual java.util.zip.ZipEntry.getSize:()J
            l2i
            istore 5 /* len */
        start local 5 // int len
         3: .line 804
            iload 5 /* len */
            iconst_m1
            if_icmpeq 7
            iload 5 /* len */
            ldc 65535
            if_icmpgt 7
         4: .line 805
            iload 5 /* len */
            newarray 8
            astore 7 /* b */
        start local 7 // byte[] b
         5: .line 806
            aload 4 /* is */
            aload 7 /* b */
            iconst_0
            iload 5 /* len */
            invokevirtual java.io.InputStream.readNBytes:([BII)I
            istore 6 /* bytesRead */
        start local 6 // int bytesRead
         6: .line 807
            goto 9
        end local 7 // byte[] b
        end local 6 // int bytesRead
         7: .line 808
      StackMap locals: java.util.jar.JarFile java.util.zip.ZipEntry java.lang.Throwable java.lang.Throwable java.io.InputStream int
      StackMap stack:
            aload 4 /* is */
            invokevirtual java.io.InputStream.readAllBytes:()[B
            astore 7 /* b */
        start local 7 // byte[] b
         8: .line 809
            aload 7 /* b */
            arraylength
            istore 6 /* bytesRead */
        start local 6 // int bytesRead
         9: .line 811
      StackMap locals: int byte[]
      StackMap stack:
            iload 5 /* len */
            iconst_m1
            if_icmpeq 11
            iload 5 /* len */
            iload 6 /* bytesRead */
            if_icmpeq 11
        10: .line 812
            new java.io.EOFException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Expected:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", read:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* bytesRead */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.EOFException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 814
      StackMap locals:
      StackMap stack:
            aload 7 /* b */
        12: .line 815
            aload 4 /* is */
            ifnull 13
            aload 4 /* is */
            invokevirtual java.io.InputStream.close:()V
        13: .line 814
      StackMap locals:
      StackMap stack: byte[]
            areturn
        end local 7 // byte[] b
        end local 6 // int bytesRead
        end local 5 // int len
      StackMap locals: java.util.jar.JarFile java.util.zip.ZipEntry java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
        14: astore 2
        15: .line 815
            aload 4 /* is */
            ifnull 16
            aload 4 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 4 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
        16: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 3
            aload 2
            ifnonnull 18
            aload 3
            astore 2
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 2
            aload 3
            if_acmpeq 19
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        19: aload 2
            athrow
        end local 1 // java.util.zip.ZipEntry ze
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Ljava/util/jar/JarFile;
            0   20     1         ze  Ljava/util/zip/ZipEntry;
            2   16     4         is  Ljava/io/InputStream;
            3   14     5        len  I
            6    7     6  bytesRead  I
            9   14     6  bytesRead  I
            5    7     7          b  [B
            8   14     7          b  [B
      Exception table:
        from    to  target  type
           2    12      14  any
           1    13      17  any
          14    17      17  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      ze    

  public synchronized java.io.InputStream getInputStream(java.util.zip.ZipEntry);
    descriptor: (Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.util.zip.ZipEntry ze
         0: .line 834
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.maybeInstantiateVerifier:()V
         1: .line 835
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            ifnonnull 3
         2: .line 836
            aload 0 /* this */
            aload 1 /* ze */
            invokespecial java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
            areturn
         3: .line 838
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.jar.JarFile.jvInitialized:Z
            ifne 8
         4: .line 839
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.initializeVerifier:()V
         5: .line 840
            aload 0 /* this */
            iconst_1
            putfield java.util.jar.JarFile.jvInitialized:Z
         6: .line 844
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            ifnonnull 8
         7: .line 845
            aload 0 /* this */
            aload 1 /* ze */
            invokespecial java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
            areturn
         8: .line 849
      StackMap locals:
      StackMap stack:
            new java.util.jar.JarVerifier$VerifierStream
            dup
         9: .line 850
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.getManifestFromReference:()Ljava/util/jar/Manifest;
        10: .line 851
            aload 0 /* this */
            aload 1 /* ze */
            invokevirtual java.util.jar.JarFile.verifiableEntry:(Ljava/util/zip/ZipEntry;)Ljava/util/jar/JarEntry;
        11: .line 852
            aload 0 /* this */
            aload 1 /* ze */
            invokespecial java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
        12: .line 853
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
        13: .line 849
            invokespecial java.util.jar.JarVerifier$VerifierStream.<init>:(Ljava/util/jar/Manifest;Ljava/util/jar/JarEntry;Ljava/io/InputStream;Ljava/util/jar/JarVerifier;)V
            areturn
        end local 1 // java.util.zip.ZipEntry ze
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljava/util/jar/JarFile;
            0   14     1    ze  Ljava/util/zip/ZipEntry;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      ze    

  private java.util.jar.JarEntry verifiableEntry(java.util.zip.ZipEntry);
    descriptor: (Ljava/util/zip/ZipEntry;)Ljava/util/jar/JarEntry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.util.zip.ZipEntry ze
         0: .line 857
            aload 1 /* ze */
            instanceof java.util.jar.JarFile$JarFileEntry
            ifeq 2
         1: .line 859
            aload 1 /* ze */
            checkcast java.util.jar.JarFile$JarFileEntry
            invokevirtual java.util.jar.JarFile$JarFileEntry.realEntry:()Ljava/util/jar/JarFile$JarFileEntry;
            areturn
         2: .line 861
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ze */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            invokevirtual java.util.jar.JarFile.getJarEntry:(Ljava/lang/String;)Ljava/util/jar/JarEntry;
            astore 1 /* ze */
         3: .line 862
            aload 1 /* ze */
            instanceof java.util.jar.JarFile$JarFileEntry
            ifeq 5
         4: .line 863
            aload 1 /* ze */
            checkcast java.util.jar.JarFile$JarFileEntry
            invokevirtual java.util.jar.JarFile$JarFileEntry.realEntry:()Ljava/util/jar/JarFile$JarFileEntry;
            areturn
         5: .line 865
      StackMap locals:
      StackMap stack:
            aload 1 /* ze */
            checkcast java.util.jar.JarEntry
            areturn
        end local 1 // java.util.zip.ZipEntry ze
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/util/jar/JarFile;
            0    6     1    ze  Ljava/util/zip/ZipEntry;
    MethodParameters:
      Name  Flags
      ze    

  private java.util.jar.JarEntry getManEntry();
    descriptor: ()Ljava/util/jar/JarEntry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // java.util.jar.JarFile this
         0: .line 928
            aload 0 /* this */
            getfield java.util.jar.JarFile.manEntry:Ljava/util/jar/JarEntry;
            ifnonnull 13
         1: .line 930
            aload 0 /* this */
            ldc "META-INF/MANIFEST.MF"
            invokevirtual java.util.jar.JarFile.getEntry0:(Ljava/lang/String;)Ljava/util/jar/JarFile$JarFileEntry;
            astore 1 /* manEntry */
        start local 1 // java.util.jar.JarEntry manEntry
         2: .line 931
            aload 1 /* manEntry */
            ifnonnull 12
         3: .line 934
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.getMetaInfEntryNames:()[Ljava/lang/String;
            astore 2 /* names */
        start local 2 // java.lang.String[] names
         4: .line 935
            aload 2 /* names */
            ifnull 12
         5: .line 936
            aload 2 /* names */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 11
      StackMap locals: java.util.jar.JarFile java.util.jar.JarEntry java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         6: aload 6
            iload 4
            aaload
            astore 3 /* name */
        start local 3 // java.lang.String name
         7: .line 937
            ldc "META-INF/MANIFEST.MF"
            aload 3 /* name */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 938
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual java.util.jar.JarFile.getEntry0:(Ljava/lang/String;)Ljava/util/jar/JarFile$JarFileEntry;
            astore 1 /* manEntry */
         9: .line 939
            goto 12
        end local 3 // java.lang.String name
        10: .line 936
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        11: iload 4
            iload 5
            if_icmplt 6
        end local 2 // java.lang.String[] names
        12: .line 944
      StackMap locals: java.util.jar.JarFile java.util.jar.JarEntry
      StackMap stack:
            aload 0 /* this */
            aload 1 /* manEntry */
            putfield java.util.jar.JarFile.manEntry:Ljava/util/jar/JarEntry;
        end local 1 // java.util.jar.JarEntry manEntry
        13: .line 946
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.jar.JarFile.manEntry:Ljava/util/jar/JarEntry;
            areturn
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Ljava/util/jar/JarFile;
            2   13     1  manEntry  Ljava/util/jar/JarEntry;
            4   12     2     names  [Ljava/lang/String;
            7   10     3      name  Ljava/lang/String;

  boolean hasClassPathAttribute();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.jar.JarFile this
         0: .line 954
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.checkForSpecialAttributes:()V
         1: .line 955
            aload 0 /* this */
            getfield java.util.jar.JarFile.hasClassPathAttribute:Z
            ireturn
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/jar/JarFile;
    Exceptions:
      throws java.io.IOException

  private int match(byte[], byte[], byte[], byte[]);
    descriptor: ([B[B[B[B)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=5
        start local 0 // java.util.jar.JarFile this
        start local 1 // byte[] src
        start local 2 // byte[] b
        start local 3 // byte[] lastOcc
        start local 4 // byte[] optoSft
         0: .line 965
            aload 1 /* src */
            arraylength
            istore 5 /* len */
        start local 5 // int len
         1: .line 966
            aload 2 /* b */
            arraylength
            iload 5 /* len */
            isub
            istore 6 /* last */
        start local 6 // int last
         2: .line 967
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         3: .line 969
            goto 18
         4: .line 970
      StackMap locals: int int int
      StackMap stack:
            iload 5 /* len */
            iconst_1
            isub
            istore 8 /* j */
        start local 8 // int j
         5: goto 16
         6: .line 971
      StackMap locals: int
      StackMap stack:
            aload 2 /* b */
            iload 7 /* i */
            iload 8 /* j */
            iadd
            baload
            istore 9 /* c */
        start local 9 // byte c
         7: .line 972
            iload 9 /* c */
            bipush 32
            if_icmplt 13
            iload 9 /* c */
            bipush 122
            if_icmpgt 13
         8: .line 973
            iload 9 /* c */
            bipush 97
            if_icmplt 9
            iload 9 /* c */
            bipush 32
            isub
            i2b
            istore 9 /* c */
         9: .line 975
      StackMap locals: int
      StackMap stack:
            iload 9 /* c */
            aload 1 /* src */
            iload 8 /* j */
            baload
            if_icmpeq 15
        10: .line 977
            aload 3 /* lastOcc */
            iload 9 /* c */
            bipush 32
            isub
            baload
            istore 10 /* badShift */
        start local 10 // int badShift
        11: .line 978
            iload 7 /* i */
            iload 8 /* j */
            iconst_1
            iadd
            iload 10 /* badShift */
            isub
            aload 4 /* optoSft */
            iload 8 /* j */
            baload
            invokestatic java.lang.Math.max:(II)I
            iadd
            istore 7 /* i */
        12: .line 979
            goto 18
        end local 10 // int badShift
        13: .line 983
      StackMap locals:
      StackMap stack:
            iload 7 /* i */
            iload 5 /* len */
            iadd
            istore 7 /* i */
        14: .line 984
            goto 18
        end local 9 // byte c
        15: .line 970
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ -1
      StackMap locals:
      StackMap stack:
        16: iload 8 /* j */
            ifge 6
        end local 8 // int j
        17: .line 987
            iload 7 /* i */
            ireturn
        18: .line 969
      StackMap locals:
      StackMap stack:
            iload 7 /* i */
            iload 6 /* last */
            if_icmple 4
        19: .line 989
            iconst_m1
            ireturn
        end local 7 // int i
        end local 6 // int last
        end local 5 // int len
        end local 4 // byte[] optoSft
        end local 3 // byte[] lastOcc
        end local 2 // byte[] b
        end local 1 // byte[] src
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Ljava/util/jar/JarFile;
            0   20     1       src  [B
            0   20     2         b  [B
            0   20     3   lastOcc  [B
            0   20     4   optoSft  [B
            1   20     5       len  I
            2   20     6      last  I
            3   20     7         i  I
            5   17     8         j  I
            7   15     9         c  B
           11   13    10  badShift  I
    MethodParameters:
         Name  Flags
      src      
      b        
      lastOcc  
      optoSft  

  private void checkForSpecialAttributes();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // java.util.jar.JarFile this
         0: .line 997
            aload 0 /* this */
            getfield java.util.jar.JarFile.hasCheckedSpecialAttributes:Z
            ifeq 2
         1: .line 998
            return
         2: .line 1000
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         3: .line 1001
            aload 0 /* this */
            getfield java.util.jar.JarFile.hasCheckedSpecialAttributes:Z
            ifeq 6
         4: .line 1002
            aload 1
            monitorexit
         5: return
         6: .line 1004
      StackMap locals: java.util.jar.JarFile
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.getManEntry:()Ljava/util/jar/JarEntry;
            astore 2 /* manEntry */
        start local 2 // java.util.jar.JarEntry manEntry
         7: .line 1005
            aload 2 /* manEntry */
            ifnull 28
         8: .line 1006
            aload 0 /* this */
            aload 2 /* manEntry */
            invokevirtual java.util.jar.JarFile.getBytes:(Ljava/util/zip/ZipEntry;)[B
            astore 3 /* b */
        start local 3 // byte[] b
         9: .line 1007
            aload 0 /* this */
            aload 0 /* this */
            getstatic java.util.jar.JarFile.CLASSPATH_CHARS:[B
            aload 3 /* b */
        10: .line 1008
            getstatic java.util.jar.JarFile.CLASSPATH_LASTOCC:[B
            getstatic java.util.jar.JarFile.CLASSPATH_OPTOSFT:[B
        11: .line 1007
            invokevirtual java.util.jar.JarFile.match:([B[B[B[B)I
        12: .line 1008
            iconst_m1
            if_icmpeq 13
            iconst_1
            goto 14
      StackMap locals: java.util.jar.JarFile java.util.jar.JarFile java.util.jar.JarEntry byte[]
      StackMap stack: java.util.jar.JarFile
        13: iconst_0
        14: .line 1007
      StackMap locals: java.util.jar.JarFile java.util.jar.JarFile java.util.jar.JarEntry byte[]
      StackMap stack: java.util.jar.JarFile int
            putfield java.util.jar.JarFile.hasClassPathAttribute:Z
        15: .line 1010
            getstatic java.util.jar.JarFile.MULTI_RELEASE_ENABLED:Z
            ifeq 28
        16: .line 1011
            aload 0 /* this */
            getstatic java.util.jar.JarFile.MULTIRELEASE_CHARS:[B
            aload 3 /* b */
            getstatic java.util.jar.JarFile.MULTIRELEASE_LASTOCC:[B
        17: .line 1012
            getstatic java.util.jar.JarFile.MULTIRELEASE_OPTOSFT:[B
        18: .line 1011
            invokevirtual java.util.jar.JarFile.match:([B[B[B[B)I
            istore 4 /* i */
        start local 4 // int i
        19: .line 1013
            iload 4 /* i */
            iconst_m1
            if_icmpeq 28
        20: .line 1015
            sipush 512
            newarray 8
            astore 5 /* lbuf */
        start local 5 // byte[] lbuf
        21: .line 1016
            new java.util.jar.Attributes
            dup
            invokespecial java.util.jar.Attributes.<init>:()V
            astore 6 /* attr */
        start local 6 // java.util.jar.Attributes attr
        22: .line 1017
            aload 6 /* attr */
            new java.util.jar.Manifest$FastInputStream
            dup
        23: .line 1018
            new java.io.ByteArrayInputStream
            dup
            aload 3 /* b */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            invokespecial java.util.jar.Manifest$FastInputStream.<init>:(Ljava/io/InputStream;)V
            aload 5 /* lbuf */
        24: .line 1017
            invokevirtual java.util.jar.Attributes.read:(Ljava/util/jar/Manifest$FastInputStream;[B)V
        25: .line 1019
            aload 0 /* this */
        26: .line 1020
            aload 6 /* attr */
            getstatic java.util.jar.Attributes$Name.MULTI_RELEASE:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
        27: .line 1019
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            putfield java.util.jar.JarFile.isMultiRelease:Z
        end local 6 // java.util.jar.Attributes attr
        end local 5 // byte[] lbuf
        end local 4 // int i
        end local 3 // byte[] b
        28: .line 1024
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield java.util.jar.JarFile.hasCheckedSpecialAttributes:Z
        end local 2 // java.util.jar.JarEntry manEntry
        29: .line 1000
            aload 1
            monitorexit
        30: goto 33
      StackMap locals: java.util.jar.JarFile java.util.jar.JarFile
      StackMap stack: java.lang.Throwable
        31: aload 1
            monitorexit
        32: athrow
        33: .line 1026
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   34     0      this  Ljava/util/jar/JarFile;
            7   29     2  manEntry  Ljava/util/jar/JarEntry;
            9   28     3         b  [B
           19   28     4         i  I
           21   28     5      lbuf  [B
           22   28     6      attr  Ljava/util/jar/Attributes;
      Exception table:
        from    to  target  type
           3     5      31  any
           6    30      31  any
          31    32      31  any
    Exceptions:
      throws java.io.IOException

  synchronized void ensureInitialization();
    descriptor: ()V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.jar.JarFile this
         0: .line 1030
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.maybeInstantiateVerifier:()V
         1: .line 1031
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 1032
            new java.lang.RuntimeException
            dup
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
         4: .line 1034
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            ifnull 7
            aload 0 /* this */
            getfield java.util.jar.JarFile.jvInitialized:Z
            ifne 7
         5: .line 1035
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.initializeVerifier:()V
         6: .line 1036
            aload 0 /* this */
            iconst_1
            putfield java.util.jar.JarFile.jvInitialized:Z
         7: .line 1038
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/util/jar/JarFile;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  java.util.jar.JarEntry newEntry(java.util.jar.JarEntry);
    descriptor: (Ljava/util/jar/JarEntry;)Ljava/util/jar/JarEntry;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.util.jar.JarEntry je
         0: .line 1046
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.isMultiRelease:()Z
            ifeq 2
         1: .line 1047
            aload 0 /* this */
            aload 1 /* je */
            invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
            aload 1 /* je */
            invokevirtual java.util.jar.JarFile.getVersionedEntry:(Ljava/lang/String;Ljava/util/jar/JarEntry;)Ljava/util/jar/JarEntry;
            areturn
         2: .line 1049
      StackMap locals:
      StackMap stack:
            aload 1 /* je */
            areturn
        end local 1 // java.util.jar.JarEntry je
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/jar/JarFile;
            0    3     1    je  Ljava/util/jar/JarEntry;
    MethodParameters:
      Name  Flags
      je    

  java.util.jar.JarEntry newEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/jar/JarEntry;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.lang.String name
         0: .line 1059
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.isMultiRelease:()Z
            ifeq 4
         1: .line 1060
            aload 0 /* this */
            aload 1 /* name */
            aconst_null
            invokevirtual java.util.jar.JarFile.getVersionedEntry:(Ljava/lang/String;Ljava/util/jar/JarEntry;)Ljava/util/jar/JarEntry;
            astore 2 /* vje */
        start local 2 // java.util.jar.JarEntry vje
         2: .line 1061
            aload 2 /* vje */
            ifnull 4
         3: .line 1062
            aload 2 /* vje */
            areturn
        end local 2 // java.util.jar.JarEntry vje
         4: .line 1065
      StackMap locals:
      StackMap stack:
            new java.util.jar.JarFile$JarFileEntry
            dup
            aload 0 /* this */
            aload 1 /* name */
            invokespecial java.util.jar.JarFile$JarFileEntry.<init>:(Ljava/util/jar/JarFile;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/util/jar/JarFile;
            0    5     1  name  Ljava/lang/String;
            2    4     2   vje  Ljava/util/jar/JarEntry;
    MethodParameters:
      Name  Flags
      name  

  java.util.Enumeration<java.lang.String> entryNames(java.security.CodeSource[]);
    descriptor: ([Ljava/security/CodeSource;)Ljava/util/Enumeration;
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.security.CodeSource[] cs
         0: .line 1069
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.ensureInitialization:()V
         1: .line 1070
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            ifnull 3
         2: .line 1071
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            aload 0 /* this */
            aload 1 /* cs */
            invokevirtual java.util.jar.JarVerifier.entryNames:(Ljava/util/jar/JarFile;[Ljava/security/CodeSource;)Ljava/util/Enumeration;
            areturn
         3: .line 1078
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* includeUnsigned */
        start local 2 // boolean includeUnsigned
         4: .line 1079
            aload 1 /* cs */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 10
      StackMap locals: java.util.jar.JarFile java.security.CodeSource[] int top int int java.security.CodeSource[]
      StackMap stack:
         5: aload 6
            iload 4
            aaload
            astore 3 /* c */
        start local 3 // java.security.CodeSource c
         6: .line 1080
            aload 3 /* c */
            invokevirtual java.security.CodeSource.getCodeSigners:()[Ljava/security/CodeSigner;
            ifnonnull 9
         7: .line 1081
            iconst_1
            istore 2 /* includeUnsigned */
         8: .line 1082
            goto 11
        end local 3 // java.security.CodeSource c
         9: .line 1079
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        10: iload 4
            iload 5
            if_icmplt 5
        11: .line 1085
      StackMap locals: java.util.jar.JarFile java.security.CodeSource[] int
      StackMap stack:
            iload 2 /* includeUnsigned */
            ifeq 13
        12: .line 1086
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.unsignedEntryNames:()Ljava/util/Enumeration;
            areturn
        13: .line 1088
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyEnumeration:()Ljava/util/Enumeration;
            areturn
        end local 2 // boolean includeUnsigned
        end local 1 // java.security.CodeSource[] cs
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Ljava/util/jar/JarFile;
            0   14     1               cs  [Ljava/security/CodeSource;
            4   14     2  includeUnsigned  Z
            6    9     3                c  Ljava/security/CodeSource;
    Signature: ([Ljava/security/CodeSource;)Ljava/util/Enumeration<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      cs    

  java.util.Enumeration<java.util.jar.JarEntry> entries2();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.util.jar.JarFile this
         0: .line 1098
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.ensureInitialization:()V
         1: .line 1099
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            ifnull 5
         2: .line 1100
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            aload 0 /* this */
            getstatic java.util.jar.JarFile.JUZFA:Ljdk/internal/access/JavaUtilZipFileAccess;
            aload 0 /* this */
         3: .line 1101
            aload 0 /* this */
            invokedynamic apply(Ljava/util/jar/JarFile;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/jar/JarFile$JarFileEntry.<init>(Ljava/util/jar/JarFile;Ljava/lang/String;)V (8)
                  (Ljava/lang/String;)Ljava/util/jar/JarEntry;
         4: .line 1100
            invokeinterface jdk.internal.access.JavaUtilZipFileAccess.entries:(Ljava/util/zip/ZipFile;Ljava/util/function/Function;)Ljava/util/Enumeration;
            invokevirtual java.util.jar.JarVerifier.entries2:(Ljava/util/jar/JarFile;Ljava/util/Enumeration;)Ljava/util/Enumeration;
            areturn
         5: .line 1105
      StackMap locals:
      StackMap stack:
            getstatic java.util.jar.JarFile.JUZFA:Ljdk/internal/access/JavaUtilZipFileAccess;
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic apply(Ljava/util/jar/JarFile;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/jar/JarFile$JarFileEntry.<init>(Ljava/util/jar/JarFile;Ljava/lang/String;)V (8)
                  (Ljava/lang/String;)Ljava/util/jar/JarEntry;
            invokeinterface jdk.internal.access.JavaUtilZipFileAccess.entries:(Ljava/util/zip/ZipFile;Ljava/util/function/Function;)Ljava/util/Enumeration;
            astore 1 /* unfilteredEntries */
        start local 1 // java.util.Enumeration unfilteredEntries
         6: .line 1107
            new java.util.jar.JarFile$2
            dup
            aload 0 /* this */
            aload 1 /* unfilteredEntries */
            invokespecial java.util.jar.JarFile$2.<init>:(Ljava/util/jar/JarFile;Ljava/util/Enumeration;)V
            areturn
        end local 1 // java.util.Enumeration unfilteredEntries
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Ljava/util/jar/JarFile;
            6    7     1  unfilteredEntries  Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
    Signature: ()Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;

  java.security.CodeSource[] getCodeSources(java.net.URL);
    descriptor: (Ljava/net/URL;)[Ljava/security/CodeSource;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.net.URL url
         0: .line 1138
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.ensureInitialization:()V
         1: .line 1139
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            ifnull 3
         2: .line 1140
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            aload 0 /* this */
            aload 1 /* url */
            invokevirtual java.util.jar.JarVerifier.getCodeSources:(Ljava/util/jar/JarFile;Ljava/net/URL;)[Ljava/security/CodeSource;
            areturn
         3: .line 1147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.unsignedEntryNames:()Ljava/util/Enumeration;
            astore 2 /* unsigned */
        start local 2 // java.util.Enumeration unsigned
         4: .line 1148
            aload 2 /* unsigned */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifeq 6
         5: .line 1149
            iconst_1
            anewarray java.security.CodeSource
            dup
            iconst_0
            aload 1 /* url */
            invokestatic java.util.jar.JarVerifier.getUnsignedCS:(Ljava/net/URL;)Ljava/security/CodeSource;
            aastore
            areturn
         6: .line 1151
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.util.Enumeration unsigned
        end local 1 // java.net.URL url
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Ljava/util/jar/JarFile;
            0    7     1       url  Ljava/net/URL;
            4    7     2  unsigned  Ljava/util/Enumeration<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      url   

  private java.util.Enumeration<java.lang.String> unsignedEntryNames();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.util.jar.JarFile this
         0: .line 1156
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.entries:()Ljava/util/Enumeration;
            astore 1 /* entries */
        start local 1 // java.util.Enumeration entries
         1: .line 1157
            new java.util.jar.JarFile$3
            dup
            aload 0 /* this */
            aload 1 /* entries */
            invokespecial java.util.jar.JarFile$3.<init>:(Ljava/util/jar/JarFile;Ljava/util/Enumeration;)V
            areturn
        end local 1 // java.util.Enumeration entries
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljava/util/jar/JarFile;
            1    2     1  entries  Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
    Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;

  java.security.CodeSource getCodeSource(java.net.URL, java.lang.String);
    descriptor: (Ljava/net/URL;Ljava/lang/String;)Ljava/security/CodeSource;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.util.jar.JarFile this
        start local 1 // java.net.URL url
        start local 2 // java.lang.String name
         0: .line 1194
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.ensureInitialization:()V
         1: .line 1195
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            ifnull 11
         2: .line 1196
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            getfield java.util.jar.JarVerifier.eagerValidation:Z
            ifeq 10
         3: .line 1197
            aconst_null
            astore 3 /* cs */
        start local 3 // java.security.CodeSource cs
         4: .line 1198
            aload 0 /* this */
            aload 2 /* name */
            invokevirtual java.util.jar.JarFile.getJarEntry:(Ljava/lang/String;)Ljava/util/jar/JarEntry;
            astore 4 /* je */
        start local 4 // java.util.jar.JarEntry je
         5: .line 1199
            aload 4 /* je */
            ifnull 8
         6: .line 1200
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            aload 1 /* url */
            aload 0 /* this */
            aload 4 /* je */
            invokevirtual java.util.jar.JarVerifier.getCodeSource:(Ljava/net/URL;Ljava/util/jar/JarFile;Ljava/util/jar/JarEntry;)Ljava/security/CodeSource;
            astore 3 /* cs */
         7: .line 1201
            goto 9
         8: .line 1202
      StackMap locals: java.security.CodeSource java.util.jar.JarEntry
      StackMap stack:
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            aload 1 /* url */
            aload 2 /* name */
            invokevirtual java.util.jar.JarVerifier.getCodeSource:(Ljava/net/URL;Ljava/lang/String;)Ljava/security/CodeSource;
            astore 3 /* cs */
         9: .line 1204
      StackMap locals:
      StackMap stack:
            aload 3 /* cs */
            areturn
        end local 4 // java.util.jar.JarEntry je
        end local 3 // java.security.CodeSource cs
        10: .line 1206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            aload 1 /* url */
            aload 2 /* name */
            invokevirtual java.util.jar.JarVerifier.getCodeSource:(Ljava/net/URL;Ljava/lang/String;)Ljava/security/CodeSource;
            areturn
        11: .line 1210
      StackMap locals:
      StackMap stack:
            aload 1 /* url */
            invokestatic java.util.jar.JarVerifier.getUnsignedCS:(Ljava/net/URL;)Ljava/security/CodeSource;
            areturn
        end local 2 // java.lang.String name
        end local 1 // java.net.URL url
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/util/jar/JarFile;
            0   12     1   url  Ljava/net/URL;
            0   12     2  name  Ljava/lang/String;
            4   10     3    cs  Ljava/security/CodeSource;
            5   10     4    je  Ljava/util/jar/JarEntry;
    MethodParameters:
      Name  Flags
      url   
      name  

  void setEagerValidation(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.jar.JarFile this
        start local 1 // boolean eager
         0: .line 1215
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.maybeInstantiateVerifier:()V
         1: .line 1216
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 2 /* e */
        start local 2 // java.io.IOException e
         3: .line 1217
            new java.lang.RuntimeException
            dup
            aload 2 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
         4: .line 1219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            ifnull 6
         5: .line 1220
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            iload 1 /* eager */
            invokevirtual java.util.jar.JarVerifier.setEagerValidation:(Z)V
         6: .line 1222
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean eager
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljava/util/jar/JarFile;
            0    7     1  eager  Z
            3    4     2      e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
       Name  Flags
      eager  

  java.util.List<java.lang.Object> getManifestDigests();
    descriptor: ()Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.jar.JarFile this
         0: .line 1225
            aload 0 /* this */
            invokevirtual java.util.jar.JarFile.ensureInitialization:()V
         1: .line 1226
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            ifnull 3
         2: .line 1227
            aload 0 /* this */
            getfield java.util.jar.JarFile.jv:Ljava/util/jar/JarVerifier;
            invokevirtual java.util.jar.JarVerifier.getManifestDigests:()Ljava/util/List;
            areturn
         3: .line 1229
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            areturn
        end local 0 // java.util.jar.JarFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/jar/JarFile;
    Signature: ()Ljava/util/List<Ljava/lang/Object;>;
}
SourceFile: "JarFile.java"
NestMembers:
  java.util.jar.JarFile$1  java.util.jar.JarFile$2  java.util.jar.JarFile$3  java.util.jar.JarFile$JarFileEntry
InnerClasses:
  public final Version = java.lang.Runtime$Version of java.lang.Runtime
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes
  java.util.jar.JarFile$1
  java.util.jar.JarFile$2
  java.util.jar.JarFile$3
  private JarFileEntry = java.util.jar.JarFile$JarFileEntry of java.util.jar.JarFile
  VerifierStream = java.util.jar.JarVerifier$VerifierStream of java.util.jar.JarVerifier
  FastInputStream = java.util.jar.Manifest$FastInputStream of java.util.jar.Manifest