public class sun.tools.jar.Main
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.tools.jar.Main
  super_class: java.lang.Object
{
  java.lang.String program;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.io.PrintWriter out;
    descriptor: Ljava/io/PrintWriter;
    flags: (0x0000) 

  java.io.PrintWriter err;
    descriptor: Ljava/io/PrintWriter;
    flags: (0x0000) 

  java.lang.String fname;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String mname;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String ename;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String zname;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String rootjar;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

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

  java.util.Map<java.lang.String, sun.tools.jar.Main$Entry> entryMap;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Ljava/lang/String;Lsun/tools/jar/Main$Entry;>;

  java.util.Set<sun.tools.jar.Main$Entry> entries;
    descriptor: Ljava/util/Set;
    flags: (0x0000) 
    Signature: Ljava/util/Set<Lsun/tools/jar/Main$Entry;>;

  java.util.Map<java.lang.String, byte[]> moduleInfos;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Ljava/lang/String;[B>;

  java.util.Map<java.lang.Integer, java.util.Set<java.lang.String>> pathsMap;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Ljava/lang/Integer;Ljava/util/Set<Ljava/lang/String;>;>;

  java.util.Map<java.lang.Integer, java.lang.String[]> filesMap;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Ljava/lang/Integer;[Ljava/lang/String;>;

  boolean isMultiRelease;
    descriptor: Z
    flags: (0x0000) 

  int releaseValue;
    descriptor: I
    flags: (0x0000) 

  boolean cflag;
    descriptor: Z
    flags: (0x0000) 

  boolean uflag;
    descriptor: Z
    flags: (0x0000) 

  boolean xflag;
    descriptor: Z
    flags: (0x0000) 

  boolean tflag;
    descriptor: Z
    flags: (0x0000) 

  boolean vflag;
    descriptor: Z
    flags: (0x0000) 

  boolean flag0;
    descriptor: Z
    flags: (0x0000) 

  boolean Mflag;
    descriptor: Z
    flags: (0x0000) 

  boolean iflag;
    descriptor: Z
    flags: (0x0000) 

  boolean pflag;
    descriptor: Z
    flags: (0x0000) 

  boolean dflag;
    descriptor: Z
    flags: (0x0000) 

  boolean suppressDeprecateMsg;
    descriptor: Z
    flags: (0x0000) 

  java.util.function.Consumer<java.io.PrintWriter> info;
    descriptor: Ljava/util/function/Consumer;
    flags: (0x0000) 
    Signature: Ljava/util/function/Consumer<Ljava/io/PrintWriter;>;

  java.lang.module.ModuleDescriptor$Version moduleVersion;
    descriptor: Ljava/lang/module/ModuleDescriptor$Version;
    flags: (0x0000) 

  java.util.regex.Pattern modulesToHash;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x0000) 

  jdk.internal.module.ModuleResolution moduleResolution;
    descriptor: Ljdk/internal/module/ModuleResolution;
    flags: (0x0000) 

  java.lang.module.ModuleFinder moduleFinder;
    descriptor: Ljava/lang/module/ModuleFinder;
    flags: (0x0000) 

  static final java.lang.String MODULE_INFO;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "module-info.class"

  static final java.lang.String MANIFEST_DIR;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "META-INF/"

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

  static final java.lang.String VERSION;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "1.0"

  static final int VERSIONS_DIR_LENGTH;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static java.util.ResourceBundle rsrc;
    descriptor: Ljava/util/ResourceBundle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

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

  private byte[] copyBuf;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private java.util.HashSet<java.lang.String> jarPaths;
    descriptor: Ljava/util/HashSet;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashSet<Ljava/lang/String;>;

  static java.util.Comparator<java.lang.String> ENTRYNAME_COMPARATOR;
    descriptor: Ljava/util/Comparator;
    flags: (0x0008) ACC_STATIC
    Signature: Ljava/util/Comparator<Ljava/lang/String;>;

  static java.util.Comparator<java.util.zip.ZipEntry> ENTRY_COMPARATOR;
    descriptor: Ljava/util/Comparator;
    flags: (0x0008) ACC_STATIC
    Signature: Ljava/util/Comparator<Ljava/util/zip/ZipEntry;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 81
            ldc Lsun/tools/jar/Main;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.tools.jar.Main.$assertionsDisabled:Z
         3: .line 170
            ldc "META-INF/versions/"
            invokevirtual java.lang.String.length:()I
            putstatic sun.tools.jar.Main.VERSIONS_DIR_LENGTH:I
         4: .line 179
            ldc "sun.tools.jar.useExtractionTime"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
         5: .line 178
            putstatic sun.tools.jar.Main.useExtractionTime:Z
         6: .line 186
            ldc "sun.tools.jar.resources.jar"
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
            putstatic sun.tools.jar.Main.rsrc:Ljava/util/ResourceBundle;
         7: .line 187
            goto 10
      StackMap locals:
      StackMap stack: java.util.MissingResourceException
         8: pop
         9: .line 188
            new java.lang.Error
            dup
            ldc "Fatal: Resource for jar is missing"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 2208
      StackMap locals:
      StackMap stack:
            invokedynamic compare()Ljava/util/Comparator;
              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;)I
                  sun/tools/jar/Main.lambda$0(Ljava/lang/String;Ljava/lang/String;)I (6)
                  (Ljava/lang/String;Ljava/lang/String;)I
            putstatic sun.tools.jar.Main.ENTRYNAME_COMPARATOR:Ljava/util/Comparator;
        11: .line 2246
            invokedynamic apply()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/zip/ZipEntry.getName()Ljava/lang/String; (5)
                  (Ljava/util/zip/ZipEntry;)Ljava/lang/String;
            getstatic sun.tools.jar.Main.ENTRYNAME_COMPARATOR:Ljava/util/Comparator;
            invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;Ljava/util/Comparator;)Ljava/util/Comparator;
        12: .line 2245
            putstatic sun.tools.jar.Main.ENTRY_COMPARATOR:Ljava/util/Comparator;
        13: .line 2246
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           6     7       8  Class java.util.MissingResourceException

  static java.lang.String getMsg(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String key
         0: .line 194
            getstatic sun.tools.jar.Main.rsrc:Ljava/util/ResourceBundle;
            aload 0 /* key */
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
         1: areturn
         2: .line 195
      StackMap locals:
      StackMap stack: java.util.MissingResourceException
            pop
         3: .line 196
            new java.lang.Error
            dup
            ldc "Error in message file"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   key  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.util.MissingResourceException
    MethodParameters:
      Name  Flags
      key   

  static java.lang.String formatMsg(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String key
        start local 1 // java.lang.String arg
         0: .line 201
            aload 0 /* key */
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* msg */
        start local 2 // java.lang.String msg
         1: .line 202
            iconst_1
            anewarray java.lang.String
            astore 3 /* args */
        start local 3 // java.lang.String[] args
         2: .line 203
            aload 3 /* args */
            iconst_0
            aload 1 /* arg */
            aastore
         3: .line 204
            aload 2 /* msg */
            aload 3 /* args */
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String[] args
        end local 2 // java.lang.String msg
        end local 1 // java.lang.String arg
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   key  Ljava/lang/String;
            0    4     1   arg  Ljava/lang/String;
            1    4     2   msg  Ljava/lang/String;
            2    4     3  args  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   
      arg   

  static java.lang.String formatMsg2(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.lang.String key
        start local 1 // java.lang.String arg
        start local 2 // java.lang.String arg1
         0: .line 208
            aload 0 /* key */
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* msg */
        start local 3 // java.lang.String msg
         1: .line 209
            iconst_2
            anewarray java.lang.String
            astore 4 /* args */
        start local 4 // java.lang.String[] args
         2: .line 210
            aload 4 /* args */
            iconst_0
            aload 1 /* arg */
            aastore
         3: .line 211
            aload 4 /* args */
            iconst_1
            aload 2 /* arg1 */
            aastore
         4: .line 212
            aload 3 /* msg */
            aload 4 /* args */
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 4 // java.lang.String[] args
        end local 3 // java.lang.String msg
        end local 2 // java.lang.String arg1
        end local 1 // java.lang.String arg
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   key  Ljava/lang/String;
            0    5     1   arg  Ljava/lang/String;
            0    5     2  arg1  Ljava/lang/String;
            1    5     3   msg  Ljava/lang/String;
            2    5     4  args  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   
      arg   
      arg1  

  public void <init>(java.io.PrintStream, java.io.PrintStream, java.lang.String);
    descriptor: (Ljava/io/PrintStream;Ljava/io/PrintStream;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.io.PrintStream out
        start local 2 // java.io.PrintStream err
        start local 3 // java.lang.String program
         0: .line 215
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 85
            aload 0 /* this */
            ldc ""
            putfield sun.tools.jar.Main.zname:Ljava/lang/String;
         2: .line 86
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jar.Main.rootjar:Ljava/lang/String;
         3: .line 117
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.tools.jar.Main.entryMap:Ljava/util/Map;
         4: .line 120
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield sun.tools.jar.Main.entries:Ljava/util/Set;
         5: .line 123
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.tools.jar.Main.moduleInfos:Ljava/util/Map;
         6: .line 127
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.tools.jar.Main.pathsMap:Ljava/util/Map;
         7: .line 130
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.tools.jar.Main.filesMap:Ljava/util/Map;
         8: .line 138
            aload 0 /* this */
            iconst_m1
            putfield sun.tools.jar.Main.releaseValue:I
         9: .line 155
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jar.Main.suppressDeprecateMsg:Z
        10: .line 163
            aload 0 /* this */
            invokestatic jdk.internal.module.ModuleResolution.empty:()Ljdk/internal/module/ModuleResolution;
            putfield sun.tools.jar.Main.moduleResolution:Ljdk/internal/module/ModuleResolution;
        11: .line 164
            aload 0 /* this */
            iconst_0
            anewarray java.nio.file.Path
            invokestatic java.lang.module.ModuleFinder.of:([Ljava/nio/file/Path;)Ljava/lang/module/ModuleFinder;
            putfield sun.tools.jar.Main.moduleFinder:Ljava/lang/module/ModuleFinder;
        12: .line 1205
            aload 0 /* this */
            sipush 8192
            newarray 8
            putfield sun.tools.jar.Main.copyBuf:[B
        13: .line 1499
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield sun.tools.jar.Main.jarPaths:Ljava/util/HashSet;
        14: .line 216
            aload 0 /* this */
            new java.io.PrintWriter
            dup
            aload 1 /* out */
            iconst_1
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;Z)V
            putfield sun.tools.jar.Main.out:Ljava/io/PrintWriter;
        15: .line 217
            aload 0 /* this */
            new java.io.PrintWriter
            dup
            aload 2 /* err */
            iconst_1
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;Z)V
            putfield sun.tools.jar.Main.err:Ljava/io/PrintWriter;
        16: .line 218
            aload 0 /* this */
            aload 3 /* program */
            putfield sun.tools.jar.Main.program:Ljava/lang/String;
        17: .line 219
            return
        end local 3 // java.lang.String program
        end local 2 // java.io.PrintStream err
        end local 1 // java.io.PrintStream out
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lsun/tools/jar/Main;
            0   18     1      out  Ljava/io/PrintStream;
            0   18     2      err  Ljava/io/PrintStream;
            0   18     3  program  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      out      
      err      
      program  

  public void <init>(java.io.PrintWriter, java.io.PrintWriter, java.lang.String);
    descriptor: (Ljava/io/PrintWriter;Ljava/io/PrintWriter;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.io.PrintWriter out
        start local 2 // java.io.PrintWriter err
        start local 3 // java.lang.String program
         0: .line 221
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 85
            aload 0 /* this */
            ldc ""
            putfield sun.tools.jar.Main.zname:Ljava/lang/String;
         2: .line 86
            aload 0 /* this */
            aconst_null
            putfield sun.tools.jar.Main.rootjar:Ljava/lang/String;
         3: .line 117
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.tools.jar.Main.entryMap:Ljava/util/Map;
         4: .line 120
            aload 0 /* this */
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            putfield sun.tools.jar.Main.entries:Ljava/util/Set;
         5: .line 123
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.tools.jar.Main.moduleInfos:Ljava/util/Map;
         6: .line 127
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.tools.jar.Main.pathsMap:Ljava/util/Map;
         7: .line 130
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.tools.jar.Main.filesMap:Ljava/util/Map;
         8: .line 138
            aload 0 /* this */
            iconst_m1
            putfield sun.tools.jar.Main.releaseValue:I
         9: .line 155
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jar.Main.suppressDeprecateMsg:Z
        10: .line 163
            aload 0 /* this */
            invokestatic jdk.internal.module.ModuleResolution.empty:()Ljdk/internal/module/ModuleResolution;
            putfield sun.tools.jar.Main.moduleResolution:Ljdk/internal/module/ModuleResolution;
        11: .line 164
            aload 0 /* this */
            iconst_0
            anewarray java.nio.file.Path
            invokestatic java.lang.module.ModuleFinder.of:([Ljava/nio/file/Path;)Ljava/lang/module/ModuleFinder;
            putfield sun.tools.jar.Main.moduleFinder:Ljava/lang/module/ModuleFinder;
        12: .line 1205
            aload 0 /* this */
            sipush 8192
            newarray 8
            putfield sun.tools.jar.Main.copyBuf:[B
        13: .line 1499
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield sun.tools.jar.Main.jarPaths:Ljava/util/HashSet;
        14: .line 222
            aload 0 /* this */
            aload 1 /* out */
            putfield sun.tools.jar.Main.out:Ljava/io/PrintWriter;
        15: .line 223
            aload 0 /* this */
            aload 2 /* err */
            putfield sun.tools.jar.Main.err:Ljava/io/PrintWriter;
        16: .line 224
            aload 0 /* this */
            aload 3 /* program */
            putfield sun.tools.jar.Main.program:Ljava/lang/String;
        17: .line 225
            return
        end local 3 // java.lang.String program
        end local 2 // java.io.PrintWriter err
        end local 1 // java.io.PrintWriter out
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lsun/tools/jar/Main;
            0   18     1      out  Ljava/io/PrintWriter;
            0   18     2      err  Ljava/io/PrintWriter;
            0   18     3  program  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      out      
      err      
      program  

  private static java.io.File createTempFileInSameDirectoryAs(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/io/File;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.File file
         0: .line 233
            aload 0 /* file */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 1 /* dir */
        start local 1 // java.io.File dir
         1: .line 234
            aload 1 /* dir */
            ifnonnull 3
         2: .line 235
            new java.io.File
            dup
            ldc "."
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 1 /* dir */
         3: .line 236
      StackMap locals: java.io.File
      StackMap stack:
            ldc "jartmp"
            aconst_null
            aload 1 /* dir */
            invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
            areturn
        end local 1 // java.io.File dir
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  file  Ljava/io/File;
            1    4     1   dir  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public synchronized boolean run(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.String[] args
         0: .line 246
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jar.Main.ok:Z
         1: .line 247
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual sun.tools.jar.Main.parseArgs:([Ljava/lang/String;)Z
            ifne 3
         2: .line 248
            iconst_0
            ireturn
         3: .line 250
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* tmpFile */
        start local 2 // java.io.File tmpFile
         4: .line 252
            aload 0 /* this */
            getfield sun.tools.jar.Main.cflag:Z
            ifne 5
            aload 0 /* this */
            getfield sun.tools.jar.Main.uflag:Z
            ifeq 9
         5: .line 253
      StackMap locals: java.io.File
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            ifnull 9
         6: .line 257
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            getstatic java.io.File.separatorChar:C
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            putfield sun.tools.jar.Main.zname:Ljava/lang/String;
         7: .line 258
            aload 0 /* this */
            getfield sun.tools.jar.Main.zname:Ljava/lang/String;
            ldc "./"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 9
         8: .line 259
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jar.Main.zname:Ljava/lang/String;
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            putfield sun.tools.jar.Main.zname:Ljava/lang/String;
         9: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.cflag:Z
            ifeq 68
        10: .line 264
            aconst_null
            astore 3 /* manifest */
        start local 3 // java.util.jar.Manifest manifest
        11: .line 265
            aload 0 /* this */
            getfield sun.tools.jar.Main.Mflag:Z
            ifne 33
        12: .line 266
            aload 0 /* this */
            getfield sun.tools.jar.Main.mname:Ljava/lang/String;
            ifnull 22
        13: .line 267
            aconst_null
            astore 4
            aconst_null
            astore 5
        14: new java.io.FileInputStream
            dup
            aload 0 /* this */
            getfield sun.tools.jar.Main.mname:Ljava/lang/String;
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 6 /* in */
        start local 6 // java.io.InputStream in
        15: .line 268
            new java.util.jar.Manifest
            dup
            new java.io.BufferedInputStream
            dup
            aload 6 /* in */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            invokespecial java.util.jar.Manifest.<init>:(Ljava/io/InputStream;)V
            astore 3 /* manifest */
        16: .line 269
            aload 6 /* in */
            ifnull 23
            aload 6 /* in */
            invokevirtual java.io.InputStream.close:()V
            goto 23
      StackMap locals: sun.tools.jar.Main java.lang.String[] java.io.File java.util.jar.Manifest java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
        17: astore 4
            aload 6 /* in */
            ifnull 18
            aload 6 /* in */
            invokevirtual java.io.InputStream.close:()V
        end local 6 // java.io.InputStream in
      StackMap locals:
      StackMap stack:
        18: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 5
            aload 4
            ifnonnull 20
            aload 5
            astore 4
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 4
            aload 5
            if_acmpeq 21
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        21: aload 4
            athrow
        22: .line 271
      StackMap locals:
      StackMap stack:
            new java.util.jar.Manifest
            dup
            invokespecial java.util.jar.Manifest.<init>:()V
            astore 3 /* manifest */
        23: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* manifest */
            invokevirtual sun.tools.jar.Main.addVersion:(Ljava/util/jar/Manifest;)V
        24: .line 274
            aload 0 /* this */
            aload 3 /* manifest */
            invokevirtual sun.tools.jar.Main.addCreatedBy:(Ljava/util/jar/Manifest;)V
        25: .line 275
            aload 0 /* this */
            aload 3 /* manifest */
            invokevirtual sun.tools.jar.Main.isAmbiguousMainClass:(Ljava/util/jar/Manifest;)Z
            ifeq 29
        26: .line 415
            aload 2 /* tmpFile */
            ifnull 28
            aload 2 /* tmpFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 28
        27: .line 416
            aload 2 /* tmpFile */
            invokevirtual java.io.File.delete:()Z
            pop
        28: .line 276
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        29: .line 278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.ename:Ljava/lang/String;
            ifnull 31
        30: .line 279
            aload 0 /* this */
            aload 3 /* manifest */
            aload 0 /* this */
            getfield sun.tools.jar.Main.ename:Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.addMainClass:(Ljava/util/jar/Manifest;Ljava/lang/String;)V
        31: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.isMultiRelease:Z
            ifeq 33
        32: .line 282
            aload 0 /* this */
            aload 3 /* manifest */
            invokevirtual sun.tools.jar.Main.addMultiRelease:(Ljava/util/jar/Manifest;)V
        33: .line 285
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.tools.jar.Main.expand:()V
        34: .line 286
            aload 0 /* this */
            getfield sun.tools.jar.Main.moduleInfos:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 45
        35: .line 288
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* jentries */
        start local 4 // java.util.Set jentries
        36: .line 290
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* packages */
        start local 5 // java.util.Set packages
        37: .line 291
            aload 0 /* this */
            getfield sun.tools.jar.Main.entries:Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        38: .line 292
            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
                  sun/tools/jar/Main.lambda$2(Lsun/tools/jar/Main$Entry;)Z (6)
                  (Lsun/tools/jar/Main$Entry;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        39: .line 293
            aload 0 /* this */
            aload 5 /* packages */
            aload 4 /* jentries */
            invokedynamic accept(Lsun/tools/jar/Main;Ljava/util/Set;Ljava/util/Set;)Ljava/util/function/Consumer;
              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;)V
                  sun/tools/jar/Main.lambda$3(Ljava/util/Set;Ljava/util/Set;Lsun/tools/jar/Main$Entry;)V (7)
                  (Lsun/tools/jar/Main$Entry;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        40: .line 297
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jar.Main.moduleInfos:Ljava/util/Map;
            aload 5 /* packages */
            invokevirtual sun.tools.jar.Main.addExtendedModuleAttributes:(Ljava/util/Map;Ljava/util/Set;)V
        41: .line 300
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jar.Main.moduleInfos:Ljava/util/Map;
            ldc "module-info.class"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast byte[]
            aload 4 /* jentries */
            invokevirtual sun.tools.jar.Main.checkModuleInfo:([BLjava/util/Set;)Z
            ifne 50
        42: .line 415
            aload 2 /* tmpFile */
            ifnull 44
            aload 2 /* tmpFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 44
        43: .line 416
            aload 2 /* tmpFile */
            invokevirtual java.io.File.delete:()Z
            pop
        44: .line 301
      StackMap locals: java.util.Set java.util.Set
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // java.util.Set packages
        end local 4 // java.util.Set jentries
        45: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.moduleVersion:Ljava/lang/module/ModuleDescriptor$Version;
            ifnonnull 46
            aload 0 /* this */
            getfield sun.tools.jar.Main.modulesToHash:Ljava/util/regex/Pattern;
            ifnull 50
        46: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "error.module.options.without.info"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.error:(Ljava/lang/String;)V
        47: .line 415
            aload 2 /* tmpFile */
            ifnull 49
            aload 2 /* tmpFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 49
        48: .line 416
            aload 2 /* tmpFile */
            invokevirtual java.io.File.delete:()Z
            pop
        49: .line 305
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        50: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.vflag:Z
            ifeq 52
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            ifnonnull 52
        51: .line 311
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jar.Main.vflag:Z
        52: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            ifnonnull 54
        53: .line 314
            ldc "tmpjar"
            goto 55
        54: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
        55: .line 313
      StackMap locals:
      StackMap stack: java.lang.String
            astore 4 /* tmpbase */
        start local 4 // java.lang.String tmpbase
        56: .line 317
            aload 0 /* this */
            aload 4 /* tmpbase */
            ldc ".jar"
            invokevirtual sun.tools.jar.Main.createTemporaryFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            astore 2 /* tmpFile */
        57: .line 318
            aconst_null
            astore 5
            aconst_null
            astore 6
        58: new java.io.FileOutputStream
            dup
            aload 2 /* tmpFile */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 7 /* out */
        start local 7 // java.io.OutputStream out
        59: .line 319
            aload 0 /* this */
            new java.io.BufferedOutputStream
            dup
            aload 7 /* out */
            sipush 4096
            invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;I)V
            aload 3 /* manifest */
            invokevirtual sun.tools.jar.Main.create:(Ljava/io/OutputStream;Ljava/util/jar/Manifest;)V
        60: .line 320
            aload 7 /* out */
            ifnull 66
            aload 7 /* out */
            invokevirtual java.io.OutputStream.close:()V
            goto 66
      StackMap locals: sun.tools.jar.Main java.lang.String[] java.io.File java.util.jar.Manifest java.lang.String java.lang.Throwable java.lang.Throwable java.io.OutputStream
      StackMap stack: java.lang.Throwable
        61: astore 5
            aload 7 /* out */
            ifnull 62
            aload 7 /* out */
            invokevirtual java.io.OutputStream.close:()V
        end local 7 // java.io.OutputStream out
      StackMap locals:
      StackMap stack:
        62: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        63: astore 6
            aload 5
            ifnonnull 64
            aload 6
            astore 5
            goto 65
      StackMap locals:
      StackMap stack:
        64: aload 5
            aload 6
            if_acmpeq 65
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        65: aload 5
            athrow
        66: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* tmpFile */
            invokevirtual sun.tools.jar.Main.validateAndClose:(Ljava/io/File;)V
        end local 4 // java.lang.String tmpbase
        end local 3 // java.util.jar.Manifest manifest
        67: .line 322
            goto 187
      StackMap locals:
      StackMap stack:
        68: aload 0 /* this */
            getfield sun.tools.jar.Main.uflag:Z
            ifeq 109
        69: .line 323
            aconst_null
            astore 3 /* inputFile */
        start local 3 // java.io.File inputFile
        70: .line 324
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            ifnull 74
        71: .line 325
            new java.io.File
            dup
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 3 /* inputFile */
        72: .line 326
            aload 3 /* inputFile */
            invokestatic sun.tools.jar.Main.createTempFileInSameDirectoryAs:(Ljava/io/File;)Ljava/io/File;
            astore 2 /* tmpFile */
        73: .line 327
            goto 76
        74: .line 328
      StackMap locals: java.io.File
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jar.Main.vflag:Z
        75: .line 329
            aload 0 /* this */
            ldc "tmpjar"
            ldc ".jar"
            invokevirtual sun.tools.jar.Main.createTemporaryFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            astore 2 /* tmpFile */
        76: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.tools.jar.Main.expand:()V
        77: .line 332
            aconst_null
            astore 4
            aconst_null
            astore 5
        78: aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            ifnull 79
            new java.io.FileInputStream
            dup
            aload 3 /* inputFile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            goto 80
        79: .line 333
      StackMap locals: java.lang.Throwable java.lang.Throwable
      StackMap stack:
            new java.io.FileInputStream
            dup
            getstatic java.io.FileDescriptor.in:Ljava/io/FileDescriptor;
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/FileDescriptor;)V
        80: .line 332
      StackMap locals:
      StackMap stack: java.io.FileInputStream
            astore 6 /* in */
        start local 6 // java.io.FileInputStream in
        81: .line 334
            new java.io.FileOutputStream
            dup
            aload 2 /* tmpFile */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 7 /* out */
        start local 7 // java.io.FileOutputStream out
        82: .line 335
            aload 0 /* this */
            getfield sun.tools.jar.Main.Mflag:Z
            ifne 84
            aload 0 /* this */
            getfield sun.tools.jar.Main.mname:Ljava/lang/String;
            ifnull 84
        83: .line 336
            new java.io.FileInputStream
            dup
            aload 0 /* this */
            getfield sun.tools.jar.Main.mname:Ljava/lang/String;
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            goto 85
      StackMap locals: java.io.FileInputStream java.io.FileOutputStream
      StackMap stack:
        84: aconst_null
        85: .line 335
      StackMap locals:
      StackMap stack: java.io.FileInputStream
            astore 8 /* manifest */
        start local 8 // java.io.InputStream manifest
        86: .line 338
            aload 0 /* this */
            aload 6 /* in */
            new java.io.BufferedOutputStream
            dup
            aload 7 /* out */
            invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
        87: .line 339
            aload 8 /* manifest */
            aload 0 /* this */
            getfield sun.tools.jar.Main.moduleInfos:Ljava/util/Map;
            aconst_null
        88: .line 338
            invokevirtual sun.tools.jar.Main.update:(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/io/InputStream;Ljava/util/Map;Ljdk/internal/util/jar/JarIndex;)Z
            istore 9 /* updateOk */
        start local 9 // boolean updateOk
        89: .line 340
            aload 0 /* this */
            getfield sun.tools.jar.Main.ok:Z
            ifeq 91
        90: .line 341
            aload 0 /* this */
            iload 9 /* updateOk */
            putfield sun.tools.jar.Main.ok:Z
        end local 9 // boolean updateOk
        91: .line 343
      StackMap locals: java.io.InputStream
      StackMap stack:
            aload 8 /* manifest */
            ifnull 94
            aload 8 /* manifest */
            invokevirtual java.io.InputStream.close:()V
            goto 94
      StackMap locals:
      StackMap stack: java.lang.Throwable
        92: astore 4
            aload 8 /* manifest */
            ifnull 93
            aload 8 /* manifest */
            invokevirtual java.io.InputStream.close:()V
        end local 8 // java.io.InputStream manifest
      StackMap locals:
      StackMap stack:
        93: aload 4
            athrow
      StackMap locals:
      StackMap stack:
        94: aload 7 /* out */
            ifnull 99
            aload 7 /* out */
            invokevirtual java.io.FileOutputStream.close:()V
            goto 99
      StackMap locals:
      StackMap stack: java.lang.Throwable
        95: astore 5
            aload 4
            ifnonnull 96
            aload 5
            astore 4
            goto 97
      StackMap locals:
      StackMap stack:
        96: aload 4
            aload 5
            if_acmpeq 97
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        97: aload 7 /* out */
            ifnull 98
            aload 7 /* out */
            invokevirtual java.io.FileOutputStream.close:()V
        end local 7 // java.io.FileOutputStream out
      StackMap locals:
      StackMap stack:
        98: aload 4
            athrow
      StackMap locals:
      StackMap stack:
        99: aload 6 /* in */
            ifnull 107
            aload 6 /* in */
            invokevirtual java.io.FileInputStream.close:()V
            goto 107
      StackMap locals:
      StackMap stack: java.lang.Throwable
       100: astore 5
            aload 4
            ifnonnull 101
            aload 5
            astore 4
            goto 102
      StackMap locals:
      StackMap stack:
       101: aload 4
            aload 5
            if_acmpeq 102
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       102: aload 6 /* in */
            ifnull 103
            aload 6 /* in */
            invokevirtual java.io.FileInputStream.close:()V
        end local 6 // java.io.FileInputStream in
      StackMap locals:
      StackMap stack:
       103: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       104: astore 5
            aload 4
            ifnonnull 105
            aload 5
            astore 4
            goto 106
      StackMap locals:
      StackMap stack:
       105: aload 4
            aload 5
            if_acmpeq 106
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       106: aload 4
            athrow
       107: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* tmpFile */
            invokevirtual sun.tools.jar.Main.validateAndClose:(Ljava/io/File;)V
        end local 3 // java.io.File inputFile
       108: .line 345
            goto 187
      StackMap locals:
      StackMap stack:
       109: aload 0 /* this */
            getfield sun.tools.jar.Main.tflag:Z
            ifeq 123
       110: .line 346
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jar.Main.filesMap:Ljava/util/Map;
            invokevirtual sun.tools.jar.Main.replaceFSC:(Ljava/util/Map;)V
       111: .line 350
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jar.Main.filesMap:Ljava/util/Map;
            invokevirtual sun.tools.jar.Main.filesMapToFiles:(Ljava/util/Map;)[Ljava/lang/String;
            astore 3 /* files */
        start local 3 // java.lang.String[] files
       112: .line 351
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            ifnull 115
       113: .line 352
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            aload 3 /* files */
            invokevirtual sun.tools.jar.Main.list:(Ljava/lang/String;[Ljava/lang/String;)V
       114: .line 353
            goto 187
       115: .line 354
      StackMap locals: java.lang.String[]
      StackMap stack:
            new java.io.FileInputStream
            dup
            getstatic java.io.FileDescriptor.in:Ljava/io/FileDescriptor;
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/FileDescriptor;)V
            astore 4 /* in */
        start local 4 // java.io.InputStream in
       116: .line 356
            aload 0 /* this */
            new java.io.BufferedInputStream
            dup
            aload 4 /* in */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            aload 3 /* files */
            invokevirtual sun.tools.jar.Main.list:(Ljava/io/InputStream;[Ljava/lang/String;)V
       117: .line 357
            goto 121
      StackMap locals: sun.tools.jar.Main java.lang.String[] java.io.File java.lang.String[] java.io.InputStream
      StackMap stack: java.lang.Throwable
       118: astore 5
       119: .line 358
            aload 4 /* in */
            invokevirtual java.io.InputStream.close:()V
       120: .line 359
            aload 5
            athrow
       121: .line 358
      StackMap locals:
      StackMap stack:
            aload 4 /* in */
            invokevirtual java.io.InputStream.close:()V
        end local 4 // java.io.InputStream in
        end local 3 // java.lang.String[] files
       122: .line 361
            goto 187
      StackMap locals:
      StackMap stack:
       123: aload 0 /* this */
            getfield sun.tools.jar.Main.xflag:Z
            ifeq 141
       124: .line 362
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jar.Main.filesMap:Ljava/util/Map;
            invokevirtual sun.tools.jar.Main.replaceFSC:(Ljava/util/Map;)V
       125: .line 373
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jar.Main.filesMap:Ljava/util/Map;
            invokevirtual sun.tools.jar.Main.filesMapToFiles:(Ljava/util/Map;)[Ljava/lang/String;
            astore 3 /* files */
        start local 3 // java.lang.String[] files
       126: .line 374
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            ifnull 129
            aload 3 /* files */
            ifnull 129
       127: .line 375
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            aload 3 /* files */
            invokevirtual sun.tools.jar.Main.extract:(Ljava/lang/String;[Ljava/lang/String;)V
       128: .line 376
            goto 187
       129: .line 377
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            ifnonnull 131
       130: .line 378
            new java.io.FileInputStream
            dup
            getstatic java.io.FileDescriptor.in:Ljava/io/FileDescriptor;
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/FileDescriptor;)V
            goto 132
       131: .line 379
      StackMap locals:
      StackMap stack:
            new java.io.FileInputStream
            dup
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
       132: .line 377
      StackMap locals:
      StackMap stack: java.io.FileInputStream
            astore 4 /* in */
        start local 4 // java.io.InputStream in
       133: .line 381
            aload 0 /* this */
            new java.io.BufferedInputStream
            dup
            aload 4 /* in */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            aload 3 /* files */
            invokevirtual sun.tools.jar.Main.extract:(Ljava/io/InputStream;[Ljava/lang/String;)Z
            ifne 139
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            ifnull 139
       134: .line 382
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            aload 3 /* files */
            invokevirtual sun.tools.jar.Main.extract:(Ljava/lang/String;[Ljava/lang/String;)V
       135: .line 384
            goto 139
      StackMap locals: sun.tools.jar.Main java.lang.String[] java.io.File java.lang.String[] java.io.InputStream
      StackMap stack: java.lang.Throwable
       136: astore 5
       137: .line 385
            aload 4 /* in */
            invokevirtual java.io.InputStream.close:()V
       138: .line 386
            aload 5
            athrow
       139: .line 385
      StackMap locals:
      StackMap stack:
            aload 4 /* in */
            invokevirtual java.io.InputStream.close:()V
        end local 4 // java.io.InputStream in
        end local 3 // java.lang.String[] files
       140: .line 388
            goto 187
      StackMap locals:
      StackMap stack:
       141: aload 0 /* this */
            getfield sun.tools.jar.Main.iflag:Z
            ifeq 145
       142: .line 389
            aload 0 /* this */
            getfield sun.tools.jar.Main.filesMap:Ljava/util/Map;
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 3 /* files */
        start local 3 // java.lang.String[] files
       143: .line 390
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jar.Main.rootjar:Ljava/lang/String;
            aload 3 /* files */
            invokevirtual sun.tools.jar.Main.genIndex:(Ljava/lang/String;[Ljava/lang/String;)V
        end local 3 // java.lang.String[] files
       144: .line 391
            goto 187
      StackMap locals:
      StackMap stack:
       145: aload 0 /* this */
            getfield sun.tools.jar.Main.dflag:Z
            ifeq 187
       146: .line 393
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            ifnull 156
       147: .line 394
            aconst_null
            astore 4
            aconst_null
            astore 5
       148: new java.util.zip.ZipFile
            dup
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            invokespecial java.util.zip.ZipFile.<init>:(Ljava/lang/String;)V
            astore 6 /* zf */
        start local 6 // java.util.zip.ZipFile zf
       149: .line 395
            aload 0 /* this */
            aload 6 /* zf */
            invokevirtual sun.tools.jar.Main.describeModule:(Ljava/util/zip/ZipFile;)Z
            istore 3 /* found */
        start local 3 // boolean found
       150: .line 396
            aload 6 /* zf */
            ifnull 165
            aload 6 /* zf */
            invokevirtual java.util.zip.ZipFile.close:()V
            goto 165
        end local 3 // boolean found
      StackMap locals: sun.tools.jar.Main java.lang.String[] java.io.File top java.lang.Throwable java.lang.Throwable java.util.zip.ZipFile
      StackMap stack: java.lang.Throwable
       151: astore 4
            aload 6 /* zf */
            ifnull 152
            aload 6 /* zf */
            invokevirtual java.util.zip.ZipFile.close:()V
        end local 6 // java.util.zip.ZipFile zf
      StackMap locals:
      StackMap stack:
       152: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       153: astore 5
            aload 4
            ifnonnull 154
            aload 5
            astore 4
            goto 155
      StackMap locals:
      StackMap stack:
       154: aload 4
            aload 5
            if_acmpeq 155
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       155: aload 4
            athrow
       156: .line 398
      StackMap locals: sun.tools.jar.Main java.lang.String[] java.io.File
      StackMap stack:
            aconst_null
            astore 4
            aconst_null
            astore 5
       157: new java.io.FileInputStream
            dup
            getstatic java.io.FileDescriptor.in:Ljava/io/FileDescriptor;
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/FileDescriptor;)V
            astore 6 /* fin */
        start local 6 // java.io.FileInputStream fin
       158: .line 399
            aload 0 /* this */
            aload 6 /* fin */
            invokevirtual sun.tools.jar.Main.describeModuleFromStream:(Ljava/io/FileInputStream;)Z
            istore 3 /* found */
        start local 3 // boolean found
       159: .line 400
            aload 6 /* fin */
            ifnull 165
            aload 6 /* fin */
            invokevirtual java.io.FileInputStream.close:()V
            goto 165
        end local 3 // boolean found
      StackMap locals: sun.tools.jar.Main java.lang.String[] java.io.File top java.lang.Throwable java.lang.Throwable java.io.FileInputStream
      StackMap stack: java.lang.Throwable
       160: astore 4
            aload 6 /* fin */
            ifnull 161
            aload 6 /* fin */
            invokevirtual java.io.FileInputStream.close:()V
        end local 6 // java.io.FileInputStream fin
      StackMap locals:
      StackMap stack:
       161: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       162: astore 5
            aload 4
            ifnonnull 163
            aload 5
            astore 4
            goto 164
      StackMap locals:
      StackMap stack:
       163: aload 4
            aload 5
            if_acmpeq 164
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       164: aload 4
            athrow
        start local 3 // boolean found
       165: .line 402
      StackMap locals: sun.tools.jar.Main java.lang.String[] java.io.File int
      StackMap stack:
            iload 3 /* found */
            ifne 187
       166: .line 403
            aload 0 /* this */
            ldc "error.module.descriptor.not.found"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.error:(Ljava/lang/String;)V
        end local 3 // boolean found
       167: .line 405
            goto 187
      StackMap locals: sun.tools.jar.Main java.lang.String[] java.io.File
      StackMap stack: java.io.IOException
       168: astore 3 /* e */
        start local 3 // java.io.IOException e
       169: .line 406
            aload 0 /* this */
            aload 3 /* e */
            invokevirtual sun.tools.jar.Main.fatalError:(Ljava/lang/Exception;)V
       170: .line 407
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jar.Main.ok:Z
        end local 3 // java.io.IOException e
       171: .line 415
            aload 2 /* tmpFile */
            ifnull 189
            aload 2 /* tmpFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 189
       172: .line 416
            aload 2 /* tmpFile */
            invokevirtual java.io.File.delete:()Z
            pop
            goto 189
       173: .line 408
      StackMap locals:
      StackMap stack: java.lang.Error
            astore 3 /* ee */
        start local 3 // java.lang.Error ee
       174: .line 409
            aload 3 /* ee */
            invokevirtual java.lang.Error.printStackTrace:()V
       175: .line 410
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jar.Main.ok:Z
        end local 3 // java.lang.Error ee
       176: .line 415
            aload 2 /* tmpFile */
            ifnull 189
            aload 2 /* tmpFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 189
       177: .line 416
            aload 2 /* tmpFile */
            invokevirtual java.io.File.delete:()Z
            pop
            goto 189
       178: .line 411
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
       179: .line 412
            aload 3 /* t */
            invokevirtual java.lang.Throwable.printStackTrace:()V
       180: .line 413
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jar.Main.ok:Z
        end local 3 // java.lang.Throwable t
       181: .line 415
            aload 2 /* tmpFile */
            ifnull 189
            aload 2 /* tmpFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 189
       182: .line 416
            aload 2 /* tmpFile */
            invokevirtual java.io.File.delete:()Z
            pop
            goto 189
       183: .line 414
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10
       184: .line 415
            aload 2 /* tmpFile */
            ifnull 186
            aload 2 /* tmpFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 186
       185: .line 416
            aload 2 /* tmpFile */
            invokevirtual java.io.File.delete:()Z
            pop
       186: .line 417
      StackMap locals: sun.tools.jar.Main java.lang.String[] java.io.File top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 10
            athrow
       187: .line 415
      StackMap locals: sun.tools.jar.Main java.lang.String[] java.io.File
      StackMap stack:
            aload 2 /* tmpFile */
            ifnull 189
            aload 2 /* tmpFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 189
       188: .line 416
            aload 2 /* tmpFile */
            invokevirtual java.io.File.delete:()Z
            pop
       189: .line 418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.out:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
       190: .line 419
            aload 0 /* this */
            getfield sun.tools.jar.Main.err:Ljava/io/PrintWriter;
            invokevirtual java.io.PrintWriter.flush:()V
       191: .line 420
            aload 0 /* this */
            getfield sun.tools.jar.Main.ok:Z
            ireturn
        end local 2 // java.io.File tmpFile
        end local 1 // java.lang.String[] args
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0  192     0       this  Lsun/tools/jar/Main;
            0  192     1       args  [Ljava/lang/String;
            4  192     2    tmpFile  Ljava/io/File;
           11   67     3   manifest  Ljava/util/jar/Manifest;
           15   18     6         in  Ljava/io/InputStream;
           36   45     4   jentries  Ljava/util/Set<Ljava/lang/String;>;
           37   45     5   packages  Ljava/util/Set<Ljava/lang/String;>;
           56   67     4    tmpbase  Ljava/lang/String;
           59   62     7        out  Ljava/io/OutputStream;
           70  108     3  inputFile  Ljava/io/File;
           81  103     6         in  Ljava/io/FileInputStream;
           82   98     7        out  Ljava/io/FileOutputStream;
           86   93     8   manifest  Ljava/io/InputStream;
           89   91     9   updateOk  Z
          112  122     3      files  [Ljava/lang/String;
          116  122     4         in  Ljava/io/InputStream;
          126  140     3      files  [Ljava/lang/String;
          133  140     4         in  Ljava/io/InputStream;
          143  144     3      files  [Ljava/lang/String;
          150  151     3      found  Z
          159  160     3      found  Z
          165  167     3      found  Z
          149  152     6         zf  Ljava/util/zip/ZipFile;
          158  161     6        fin  Ljava/io/FileInputStream;
          169  171     3          e  Ljava/io/IOException;
          174  176     3         ee  Ljava/lang/Error;
          179  181     3          t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          15    16      17  any
          14    19      19  any
          59    60      61  any
          58    63      63  any
          86    91      92  any
          82    94      95  any
          81    99     100  any
          78   104     104  any
         116   118     118  any
         133   136     136  any
         149   150     151  any
         148   153     153  any
         158   159     160  any
         157   162     162  any
           4    26     168  Class java.io.IOException
          29    42     168  Class java.io.IOException
          45    47     168  Class java.io.IOException
          50   167     168  Class java.io.IOException
           4    26     173  Class java.lang.Error
          29    42     173  Class java.lang.Error
          45    47     173  Class java.lang.Error
          50   167     173  Class java.lang.Error
           4    26     178  Class java.lang.Throwable
          29    42     178  Class java.lang.Throwable
          45    47     178  Class java.lang.Throwable
          50   167     178  Class java.lang.Throwable
           4    26     183  any
          29    42     183  any
          45    47     183  any
          50   171     183  any
         173   176     183  any
         178   181     183  any
    MethodParameters:
      Name  Flags
      args  

  private void validateAndClose(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.io.File tmpfile
         0: .line 424
            aload 0 /* this */
            getfield sun.tools.jar.Main.ok:Z
            ifeq 14
            aload 0 /* this */
            getfield sun.tools.jar.Main.isMultiRelease:Z
            ifeq 14
         1: .line 425
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: new java.util.zip.ZipFile
            dup
            aload 1 /* tmpfile */
            invokespecial java.util.zip.ZipFile.<init>:(Ljava/io/File;)V
            astore 4 /* zf */
        start local 4 // java.util.zip.ZipFile zf
         3: .line 426
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* zf */
            invokestatic sun.tools.jar.Validator.validate:(Lsun/tools/jar/Main;Ljava/util/zip/ZipFile;)Z
            putfield sun.tools.jar.Main.ok:Z
         4: .line 427
            aload 0 /* this */
            getfield sun.tools.jar.Main.ok:Z
            ifne 6
         5: .line 428
            aload 0 /* this */
            ldc "error.validator.jarfile.invalid"
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.error:(Ljava/lang/String;)V
         6: .line 430
      StackMap locals: java.lang.Throwable java.lang.Throwable java.util.zip.ZipFile
      StackMap stack:
            aload 4 /* zf */
            ifnull 14
            aload 4 /* zf */
            invokevirtual java.util.zip.ZipFile.close:()V
            goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 2
            aload 4 /* zf */
            ifnull 8
            aload 4 /* zf */
            invokevirtual java.util.zip.ZipFile.close:()V
        end local 4 // java.util.zip.ZipFile zf
      StackMap locals:
      StackMap stack:
         8: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 3
            aload 2
            ifnonnull 10
            aload 3
            astore 2
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 2
            aload 3
            if_acmpeq 11
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 2
            athrow
      StackMap locals: sun.tools.jar.Main java.io.File
      StackMap stack: java.io.IOException
        12: astore 2 /* e */
        start local 2 // java.io.IOException e
        13: .line 431
            aload 0 /* this */
            ldc "error.validator.jarfile.exception"
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            aload 2 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokestatic sun.tools.jar.Main.formatMsg2:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.error:(Ljava/lang/String;)V
        end local 2 // java.io.IOException e
        14: .line 434
      StackMap locals:
      StackMap stack:
            aload 1 /* tmpfile */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            astore 2 /* path */
        start local 2 // java.nio.file.Path path
        15: .line 436
            aload 0 /* this */
            getfield sun.tools.jar.Main.ok:Z
            ifeq 24
        16: .line 437
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            ifnull 19
        17: .line 438
            aload 2 /* path */
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            iconst_1
            anewarray java.nio.file.CopyOption
            dup
            iconst_0
            getstatic java.nio.file.StandardCopyOption.REPLACE_EXISTING:Ljava/nio/file/StandardCopyOption;
            aastore
            invokestatic java.nio.file.Files.move:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
            pop
        18: .line 439
            goto 24
        19: .line 440
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aload 2 /* path */
            new java.io.FileOutputStream
            dup
            getstatic java.io.FileDescriptor.out:Ljava/io/FileDescriptor;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/FileDescriptor;)V
            invokestatic java.nio.file.Files.copy:(Ljava/nio/file/Path;Ljava/io/OutputStream;)J
            pop2
        20: .line 443
            goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 3
        22: .line 444
            aload 2 /* path */
            invokestatic java.nio.file.Files.deleteIfExists:(Ljava/nio/file/Path;)Z
            pop
        23: .line 445
            aload 3
            athrow
        24: .line 444
      StackMap locals:
      StackMap stack:
            aload 2 /* path */
            invokestatic java.nio.file.Files.deleteIfExists:(Ljava/nio/file/Path;)Z
            pop
        25: .line 446
            return
        end local 2 // java.nio.file.Path path
        end local 1 // java.io.File tmpfile
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0     this  Lsun/tools/jar/Main;
            0   26     1  tmpfile  Ljava/io/File;
            3    8     4       zf  Ljava/util/zip/ZipFile;
           13   14     2        e  Ljava/io/IOException;
           15   26     2     path  Ljava/nio/file/Path;
      Exception table:
        from    to  target  type
           3     6       7  any
           2     9       9  any
           1    12      12  Class java.io.IOException
          15    21      21  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      tmpfile  

  private java.lang.String[] filesMapToFiles(java.util.Map<java.lang.Integer, java.lang.String[]>);
    descriptor: (Ljava/util/Map;)[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.Map filesMap
         0: .line 449
            aload 1 /* filesMap */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 1
            aconst_null
            areturn
         1: .line 450
      StackMap locals:
      StackMap stack:
            aload 1 /* filesMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
         2: .line 451
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
         3: .line 452
            aload 0 /* this */
            invokedynamic apply(Lsun/tools/jar/Main;)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;
                  sun/tools/jar/Main.filesToEntryNames(Ljava/util/Map$Entry;)Ljava/util/stream/Stream; (5)
                  (Ljava/util/Map$Entry;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         4: .line 453
            invokedynamic apply()Ljava/util/function/IntFunction;
              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:
                  (I)Ljava/lang/Object;
                  sun/tools/jar/Main.lambda$5(I)[Ljava/lang/String; (6)
                  (I)[Ljava/lang/String;
            invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
            checkcast java.lang.String[]
         5: .line 450
            areturn
        end local 1 // java.util.Map filesMap
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/tools/jar/Main;
            0    6     1  filesMap  Ljava/util/Map<Ljava/lang/Integer;[Ljava/lang/String;>;
    Signature: (Ljava/util/Map<Ljava/lang/Integer;[Ljava/lang/String;>;)[Ljava/lang/String;
    MethodParameters:
          Name  Flags
      filesMap  

  java.util.stream.Stream<java.lang.String> filesToEntryNames(java.util.Map$Entry<java.lang.Integer, java.lang.String[]>);
    descriptor: (Ljava/util/Map$Entry;)Ljava/util/stream/Stream;
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.Map$Entry fileEntries
         0: .line 457
            aload 1 /* fileEntries */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 2 /* version */
        start local 2 // int version
         1: .line 458
            aload 0 /* this */
            getfield sun.tools.jar.Main.pathsMap:Ljava/util/Map;
            iload 2 /* version */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 3 /* cpaths */
        start local 3 // java.util.Set cpaths
         2: .line 459
            aload 1 /* fileEntries */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String[]
            invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
         3: .line 460
            aload 0 /* this */
            aload 3 /* cpaths */
            iload 2 /* version */
            invokedynamic apply(Lsun/tools/jar/Main;Ljava/util/Set;I)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;
                  sun/tools/jar/Main.lambda$6(Ljava/util/Set;ILjava/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;
         4: .line 459
            areturn
        end local 3 // java.util.Set cpaths
        end local 2 // int version
        end local 1 // java.util.Map$Entry fileEntries
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lsun/tools/jar/Main;
            0    5     1  fileEntries  Ljava/util/Map$Entry<Ljava/lang/Integer;[Ljava/lang/String;>;
            1    5     2      version  I
            2    5     3       cpaths  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Ljava/util/Map$Entry<Ljava/lang/Integer;[Ljava/lang/String;>;)Ljava/util/stream/Stream<Ljava/lang/String;>;
    MethodParameters:
             Name  Flags
      fileEntries  

  boolean parseArgs(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.String[] args
         0: .line 469
            aload 1 /* args */
            invokestatic sun.tools.jar.CommandLine.parse:([Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* args */
         1: .line 470
            goto 8
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
         2: astore 2 /* e */
        start local 2 // java.io.FileNotFoundException e
         3: .line 471
            aload 0 /* this */
            ldc "error.cant.open"
            aload 2 /* e */
            invokevirtual java.io.FileNotFoundException.getMessage:()Ljava/lang/String;
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.fatalError:(Ljava/lang/String;)V
         4: .line 472
            iconst_0
            ireturn
        end local 2 // java.io.FileNotFoundException e
         5: .line 473
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         6: .line 474
            aload 0 /* this */
            aload 2 /* e */
            invokevirtual sun.tools.jar.Main.fatalError:(Ljava/lang/Exception;)V
         7: .line 475
            iconst_0
            ireturn
        end local 2 // java.io.IOException e
         8: .line 478
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* count */
        start local 2 // int count
         9: .line 480
            aload 1 /* args */
            iconst_0
            aaload
            astore 3 /* flags */
        start local 3 // java.lang.String flags
        10: .line 485
            aload 3 /* flags */
            ldc "--"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 12
        11: .line 486
            aload 3 /* flags */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 24
            aload 3 /* flags */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmpne 24
        12: .line 488
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            invokestatic sun.tools.jar.GNUStyleOptions.parseOptions:(Lsun/tools/jar/Main;[Ljava/lang/String;)I
            istore 2 /* count */
        13: .line 489
            goto 21
      StackMap locals:
      StackMap stack: sun.tools.jar.GNUStyleOptions$BadArgs
        14: astore 4 /* x */
        start local 4 // sun.tools.jar.GNUStyleOptions$BadArgs x
        15: .line 490
            aload 0 /* this */
            getfield sun.tools.jar.Main.info:Ljava/util/function/Consumer;
            ifnonnull 21
        16: .line 491
            aload 4 /* x */
            getfield sun.tools.jar.GNUStyleOptions$BadArgs.showUsage:Z
            ifeq 19
        17: .line 492
            aload 0 /* this */
            aload 4 /* x */
            invokevirtual sun.tools.jar.GNUStyleOptions$BadArgs.getMessage:()Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.usageError:(Ljava/lang/String;)V
        18: .line 493
            goto 20
        19: .line 494
      StackMap locals: sun.tools.jar.GNUStyleOptions$BadArgs
      StackMap stack:
            aload 0 /* this */
            aload 4 /* x */
            invokevirtual sun.tools.jar.GNUStyleOptions$BadArgs.getMessage:()Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.error:(Ljava/lang/String;)V
        20: .line 496
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // sun.tools.jar.GNUStyleOptions$BadArgs x
        21: .line 499
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.info:Ljava/util/function/Consumer;
            ifnull 79
        22: .line 500
            aload 0 /* this */
            getfield sun.tools.jar.Main.info:Ljava/util/function/Consumer;
            aload 0 /* this */
            getfield sun.tools.jar.Main.out:Ljava/io/PrintWriter;
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
        23: .line 501
            iconst_1
            ireturn
        24: .line 505
      StackMap locals:
      StackMap stack:
            aload 3 /* flags */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 26
        25: .line 506
            aload 3 /* flags */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* flags */
        26: .line 508
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        27: goto 74
        28: .line 509
      StackMap locals: int
      StackMap stack:
            aload 3 /* flags */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 12
                   48: 57
                   77: 49
                   80: 67
                   99: 29
                  101: 65
                  102: 53
                  105: 59
                  109: 55
                  116: 44
                  117: 34
                  118: 51
                  120: 39
              default: 69
          }
        29: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.xflag:Z
            ifne 30
            aload 0 /* this */
            getfield sun.tools.jar.Main.tflag:Z
            ifne 30
            aload 0 /* this */
            getfield sun.tools.jar.Main.uflag:Z
            ifne 30
            aload 0 /* this */
            getfield sun.tools.jar.Main.iflag:Z
            ifeq 32
        30: .line 512
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "error.multiple.main.operations"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.usageError:(Ljava/lang/String;)V
        31: .line 513
            iconst_0
            ireturn
        32: .line 515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jar.Main.cflag:Z
        33: .line 516
            goto 73
        34: .line 518
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.cflag:Z
            ifne 35
            aload 0 /* this */
            getfield sun.tools.jar.Main.xflag:Z
            ifne 35
            aload 0 /* this */
            getfield sun.tools.jar.Main.tflag:Z
            ifne 35
            aload 0 /* this */
            getfield sun.tools.jar.Main.iflag:Z
            ifeq 37
        35: .line 519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "error.multiple.main.operations"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.usageError:(Ljava/lang/String;)V
        36: .line 520
            iconst_0
            ireturn
        37: .line 522
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jar.Main.uflag:Z
        38: .line 523
            goto 73
        39: .line 525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.cflag:Z
            ifne 40
            aload 0 /* this */
            getfield sun.tools.jar.Main.uflag:Z
            ifne 40
            aload 0 /* this */
            getfield sun.tools.jar.Main.tflag:Z
            ifne 40
            aload 0 /* this */
            getfield sun.tools.jar.Main.iflag:Z
            ifeq 42
        40: .line 526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "error.multiple.main.operations"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.usageError:(Ljava/lang/String;)V
        41: .line 527
            iconst_0
            ireturn
        42: .line 529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jar.Main.xflag:Z
        43: .line 530
            goto 73
        44: .line 532
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.cflag:Z
            ifne 45
            aload 0 /* this */
            getfield sun.tools.jar.Main.uflag:Z
            ifne 45
            aload 0 /* this */
            getfield sun.tools.jar.Main.xflag:Z
            ifne 45
            aload 0 /* this */
            getfield sun.tools.jar.Main.iflag:Z
            ifeq 47
        45: .line 533
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "error.multiple.main.operations"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.usageError:(Ljava/lang/String;)V
        46: .line 534
            iconst_0
            ireturn
        47: .line 536
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jar.Main.tflag:Z
        48: .line 537
            goto 73
        49: .line 539
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jar.Main.Mflag:Z
        50: .line 540
            goto 73
        51: .line 542
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jar.Main.vflag:Z
        52: .line 543
            goto 73
        53: .line 545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iload 2 /* count */
            iinc 2 /* count */ 1
            aaload
            putfield sun.tools.jar.Main.fname:Ljava/lang/String;
        54: .line 546
            goto 73
        55: .line 548
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iload 2 /* count */
            iinc 2 /* count */ 1
            aaload
            putfield sun.tools.jar.Main.mname:Ljava/lang/String;
        56: .line 549
            goto 73
        57: .line 551
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jar.Main.flag0:Z
        58: .line 552
            goto 73
        59: .line 554
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.cflag:Z
            ifne 60
            aload 0 /* this */
            getfield sun.tools.jar.Main.uflag:Z
            ifne 60
            aload 0 /* this */
            getfield sun.tools.jar.Main.xflag:Z
            ifne 60
            aload 0 /* this */
            getfield sun.tools.jar.Main.tflag:Z
            ifeq 62
        60: .line 555
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "error.multiple.main.operations"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.usageError:(Ljava/lang/String;)V
        61: .line 556
            iconst_0
            ireturn
        62: .line 559
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iload 2 /* count */
            iinc 2 /* count */ 1
            aaload
            putfield sun.tools.jar.Main.rootjar:Ljava/lang/String;
        63: .line 560
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jar.Main.iflag:Z
        64: .line 561
            goto 73
        65: .line 563
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iload 2 /* count */
            iinc 2 /* count */ 1
            aaload
            putfield sun.tools.jar.Main.ename:Ljava/lang/String;
        66: .line 564
            goto 73
        67: .line 566
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.tools.jar.Main.pflag:Z
        68: .line 567
            goto 73
        69: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "error.illegal.option"
        70: .line 570
            aload 3 /* flags */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
        71: .line 569
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.usageError:(Ljava/lang/String;)V
        72: .line 571
            iconst_0
            ireturn
        73: .line 508
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        74: iload 4 /* i */
            aload 3 /* flags */
            invokevirtual java.lang.String.length:()I
            if_icmplt 28
        end local 4 // int i
        end local 3 // java.lang.String flags
        75: .line 575
            goto 79
      StackMap locals: sun.tools.jar.Main java.lang.String[] int
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        76: pop
        77: .line 576
            aload 0 /* this */
            ldc "main.usage.summary"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.usageError:(Ljava/lang/String;)V
        78: .line 577
            iconst_0
            ireturn
        79: .line 579
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.cflag:Z
            ifne 82
            aload 0 /* this */
            getfield sun.tools.jar.Main.tflag:Z
            ifne 82
            aload 0 /* this */
            getfield sun.tools.jar.Main.xflag:Z
            ifne 82
            aload 0 /* this */
            getfield sun.tools.jar.Main.uflag:Z
            ifne 82
            aload 0 /* this */
            getfield sun.tools.jar.Main.iflag:Z
            ifne 82
            aload 0 /* this */
            getfield sun.tools.jar.Main.dflag:Z
            ifne 82
        80: .line 580
            aload 0 /* this */
            ldc "error.bad.option"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.usageError:(Ljava/lang/String;)V
        81: .line 581
            iconst_0
            ireturn
        82: .line 585
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            arraylength
            iload 2 /* count */
            isub
            istore 3 /* n */
        start local 3 // int n
        83: .line 586
            iload 3 /* n */
            ifle 151
        84: .line 587
            iconst_0
            istore 4 /* version */
        start local 4 // int version
        85: .line 588
            iconst_0
            istore 5 /* k */
        start local 5 // int k
        86: .line 589
            iload 3 /* n */
            anewarray java.lang.String
            astore 6 /* nameBuf */
        start local 6 // java.lang.String[] nameBuf
        87: .line 590
            aload 0 /* this */
            getfield sun.tools.jar.Main.pathsMap:Ljava/util/Map;
            iload 4 /* version */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        88: .line 592
            iload 2 /* count */
            istore 7 /* i */
        start local 7 // int i
        89: goto 138
        90: .line 593
      StackMap locals: sun.tools.jar.Main java.lang.String[] int int int int java.lang.String[] int
      StackMap stack:
            aload 1 /* args */
            iload 7 /* i */
            aaload
            ldc "-C"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 111
        91: .line 594
            aload 0 /* this */
            getfield sun.tools.jar.Main.dflag:Z
            ifeq 94
        92: .line 597
            aload 0 /* this */
            ldc "error.bad.dflag"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.usageError:(Ljava/lang/String;)V
        93: .line 598
            iconst_0
            ireturn
        94: .line 601
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            iinc 7 /* i */ 1
            iload 7 /* i */
            aaload
            astore 8 /* dir */
        start local 8 // java.lang.String dir
        95: .line 602
            aload 8 /* dir */
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 97
        96: .line 603
            aload 8 /* dir */
            goto 98
      StackMap locals: java.lang.String
      StackMap stack:
        97: new java.lang.StringBuilder
            dup
            aload 8 /* dir */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        98: .line 602
      StackMap locals:
      StackMap stack: java.lang.String
            astore 8 /* dir */
        99: .line 604
            aload 8 /* dir */
            getstatic java.io.File.separatorChar:C
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 8 /* dir */
       100: .line 606
            getstatic java.io.File.separatorChar:C
            bipush 92
            if_icmpne 101
            aload 8 /* dir */
            ldc "//"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 101
            iconst_1
            goto 102
      StackMap locals:
      StackMap stack:
       101: iconst_0
      StackMap locals:
      StackMap stack: int
       102: istore 9 /* hasUNC */
        start local 9 // boolean hasUNC
       103: .line 607
            goto 105
       104: .line 608
      StackMap locals: int
      StackMap stack:
            aload 8 /* dir */
            ldc "//"
            ldc "/"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 8 /* dir */
       105: .line 607
      StackMap locals:
      StackMap stack:
            aload 8 /* dir */
            ldc "//"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpgt 104
       106: .line 610
            iload 9 /* hasUNC */
            ifeq 108
       107: .line 611
            new java.lang.StringBuilder
            dup
            ldc "/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* dir */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* dir */
       108: .line 613
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.pathsMap:Ljava/util/Map;
            iload 4 /* version */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            aload 8 /* dir */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
       109: .line 614
            aload 6 /* nameBuf */
            iload 5 /* k */
            iinc 5 /* k */ 1
            new java.lang.StringBuilder
            dup
            aload 8 /* dir */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* args */
            iinc 7 /* i */ 1
            iload 7 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        end local 9 // boolean hasUNC
        end local 8 // java.lang.String dir
       110: .line 615
            goto 137
      StackMap locals:
      StackMap stack:
       111: aload 1 /* args */
            iload 7 /* i */
            aaload
            ldc "--release"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 133
       112: .line 616
            iconst_0
            istore 8 /* v */
        start local 8 // int v
       113: .line 618
            aload 1 /* args */
            iinc 7 /* i */ 1
            iload 7 /* i */
            aaload
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 8 /* v */
       114: .line 619
            goto 117
      StackMap locals: sun.tools.jar.Main java.lang.String[] int int int int java.lang.String[] int int
      StackMap stack: java.lang.NumberFormatException
       115: pop
       116: .line 620
            aload 0 /* this */
            ldc "error.release.value.notnumber"
            aload 1 /* args */
            iload 7 /* i */
            aaload
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.error:(Ljava/lang/String;)V
       117: .line 623
      StackMap locals:
      StackMap stack:
            iload 8 /* v */
            bipush 9
            if_icmpge 120
       118: .line 624
            aload 0 /* this */
            ldc "error.release.value.toosmall"
            iload 8 /* v */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.usageError:(Ljava/lang/String;)V
       119: .line 625
            iconst_0
            ireturn
       120: .line 628
      StackMap locals:
      StackMap stack:
            iload 5 /* k */
            ifle 127
       121: .line 629
            iload 5 /* k */
            anewarray java.lang.String
            astore 9 /* files */
        start local 9 // java.lang.String[] files
       122: .line 630
            aload 6 /* nameBuf */
            iconst_0
            aload 9 /* files */
            iconst_0
            iload 5 /* k */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       123: .line 631
            aload 0 /* this */
            getfield sun.tools.jar.Main.filesMap:Ljava/util/Map;
            iload 4 /* version */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 9 /* files */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       124: .line 632
            aload 0 /* this */
            iload 4 /* version */
            ifle 125
            iconst_1
            goto 126
      StackMap locals: sun.tools.jar.Main java.lang.String[] int int int int java.lang.String[] int int java.lang.String[]
      StackMap stack: sun.tools.jar.Main
       125: iconst_0
      StackMap locals: sun.tools.jar.Main java.lang.String[] int int int int java.lang.String[] int int java.lang.String[]
      StackMap stack: sun.tools.jar.Main int
       126: putfield sun.tools.jar.Main.isMultiRelease:Z
        end local 9 // java.lang.String[] files
       127: .line 635
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* k */
       128: .line 636
            iload 3 /* n */
            anewarray java.lang.String
            astore 6 /* nameBuf */
       129: .line 637
            iload 8 /* v */
            istore 4 /* version */
       130: .line 638
            aload 0 /* this */
            iload 4 /* version */
            putfield sun.tools.jar.Main.releaseValue:I
       131: .line 639
            aload 0 /* this */
            getfield sun.tools.jar.Main.pathsMap:Ljava/util/Map;
            iload 4 /* version */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // int v
       132: .line 640
            goto 137
       133: .line 641
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.dflag:Z
            ifeq 136
       134: .line 644
            aload 0 /* this */
            ldc "error.bad.dflag"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.usageError:(Ljava/lang/String;)V
       135: .line 645
            iconst_0
            ireturn
       136: .line 647
      StackMap locals:
      StackMap stack:
            aload 6 /* nameBuf */
            iload 5 /* k */
            iinc 5 /* k */ 1
            aload 1 /* args */
            iload 7 /* i */
            aaload
            aastore
       137: .line 592
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
       138: iload 7 /* i */
            aload 1 /* args */
            arraylength
            if_icmplt 90
        end local 7 // int i
       139: .line 650
            goto 143
      StackMap locals: sun.tools.jar.Main java.lang.String[] int int int int java.lang.String[]
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
       140: pop
       141: .line 651
            aload 0 /* this */
            ldc "error.bad.file.arg"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.usageError:(Ljava/lang/String;)V
       142: .line 652
            iconst_0
            ireturn
       143: .line 655
      StackMap locals:
      StackMap stack:
            iload 5 /* k */
            ifle 159
       144: .line 656
            iload 5 /* k */
            anewarray java.lang.String
            astore 7 /* files */
        start local 7 // java.lang.String[] files
       145: .line 657
            aload 6 /* nameBuf */
            iconst_0
            aload 7 /* files */
            iconst_0
            iload 5 /* k */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       146: .line 658
            aload 0 /* this */
            getfield sun.tools.jar.Main.filesMap:Ljava/util/Map;
            iload 4 /* version */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 7 /* files */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       147: .line 659
            aload 0 /* this */
            iload 4 /* version */
            ifle 148
            iconst_1
            goto 149
      StackMap locals: sun.tools.jar.Main java.lang.String[] int int int int java.lang.String[] java.lang.String[]
      StackMap stack: sun.tools.jar.Main
       148: iconst_0
      StackMap locals: sun.tools.jar.Main java.lang.String[] int int int int java.lang.String[] java.lang.String[]
      StackMap stack: sun.tools.jar.Main int
       149: putfield sun.tools.jar.Main.isMultiRelease:Z
        end local 7 // java.lang.String[] files
        end local 6 // java.lang.String[] nameBuf
        end local 5 // int k
        end local 4 // int version
       150: .line 661
            goto 159
      StackMap locals: sun.tools.jar.Main java.lang.String[] int int
      StackMap stack:
       151: aload 0 /* this */
            getfield sun.tools.jar.Main.cflag:Z
            ifeq 154
            aload 0 /* this */
            getfield sun.tools.jar.Main.mname:Ljava/lang/String;
            ifnonnull 154
       152: .line 662
            aload 0 /* this */
            ldc "error.bad.cflag"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.usageError:(Ljava/lang/String;)V
       153: .line 663
            iconst_0
            ireturn
       154: .line 664
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.uflag:Z
            ifeq 159
       155: .line 665
            aload 0 /* this */
            getfield sun.tools.jar.Main.mname:Ljava/lang/String;
            ifnonnull 156
            aload 0 /* this */
            getfield sun.tools.jar.Main.ename:Ljava/lang/String;
            ifnonnull 156
            aload 0 /* this */
            getfield sun.tools.jar.Main.moduleVersion:Ljava/lang/module/ModuleDescriptor$Version;
            ifnull 157
       156: .line 667
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
       157: .line 669
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "error.bad.uflag"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.usageError:(Ljava/lang/String;)V
       158: .line 670
            iconst_0
            ireturn
       159: .line 673
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // int n
        end local 2 // int count
        end local 1 // java.lang.String[] args
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0  160     0     this  Lsun/tools/jar/Main;
            0  160     1     args  [Ljava/lang/String;
            3    5     2        e  Ljava/io/FileNotFoundException;
            6    8     2        e  Ljava/io/IOException;
            9  160     2    count  I
           10   75     3    flags  Ljava/lang/String;
           15   21     4        x  Lsun/tools/jar/GNUStyleOptions$BadArgs;
           27   75     4        i  I
           83  160     3        n  I
           85  150     4  version  I
           86  150     5        k  I
           87  150     6  nameBuf  [Ljava/lang/String;
           89  139     7        i  I
           95  110     8      dir  Ljava/lang/String;
          103  110     9   hasUNC  Z
          113  132     8        v  I
          122  127     9    files  [Ljava/lang/String;
          145  150     7    files  [Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.FileNotFoundException
           0     1       5  Class java.io.IOException
          12    13      14  Class sun.tools.jar.GNUStyleOptions$BadArgs
           9    20      76  Class java.lang.ArrayIndexOutOfBoundsException
          21    23      76  Class java.lang.ArrayIndexOutOfBoundsException
          24    31      76  Class java.lang.ArrayIndexOutOfBoundsException
          32    36      76  Class java.lang.ArrayIndexOutOfBoundsException
          37    41      76  Class java.lang.ArrayIndexOutOfBoundsException
          42    46      76  Class java.lang.ArrayIndexOutOfBoundsException
          47    61      76  Class java.lang.ArrayIndexOutOfBoundsException
          62    72      76  Class java.lang.ArrayIndexOutOfBoundsException
          73    75      76  Class java.lang.ArrayIndexOutOfBoundsException
         113   114     115  Class java.lang.NumberFormatException
          88    93     140  Class java.lang.ArrayIndexOutOfBoundsException
          94   119     140  Class java.lang.ArrayIndexOutOfBoundsException
         120   135     140  Class java.lang.ArrayIndexOutOfBoundsException
         136   139     140  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
      Name  Flags
      args  

  void addPackageIfNamed(java.util.Set<java.lang.String>, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.Set packages
        start local 2 // java.lang.String name
         0: .line 681
            aload 2 /* name */
            ldc "META-INF/versions/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 13
         1: .line 683
            getstatic sun.tools.jar.Main.VERSIONS_DIR_LENGTH:I
            istore 3 /* i0 */
        start local 3 // int i0
         2: .line 684
            aload 2 /* name */
            bipush 47
            iload 3 /* i0 */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 4 /* i */
        start local 4 // int i
         3: .line 685
            iload 4 /* i */
            ifgt 11
         4: .line 686
            aload 0 /* this */
            ldc "warn.release.unexpected.versioned.entry"
            aload 2 /* name */
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.warn:(Ljava/lang/String;)V
         5: .line 687
            return
         6: .line 690
      StackMap locals: int int
      StackMap stack:
            aload 2 /* name */
            iload 3 /* i0 */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         7: .line 691
            iload 5 /* c */
            bipush 48
            if_icmplt 8
            iload 5 /* c */
            bipush 57
            if_icmple 10
         8: .line 692
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            ldc "warn.release.unexpected.versioned.entry"
            aload 2 /* name */
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.warn:(Ljava/lang/String;)V
         9: .line 693
            return
        10: .line 695
      StackMap locals:
      StackMap stack:
            iinc 3 /* i0 */ 1
        end local 5 // char c
        11: .line 689
      StackMap locals:
      StackMap stack:
            iload 3 /* i0 */
            iload 4 /* i */
            if_icmplt 6
        12: .line 697
            aload 2 /* name */
            iload 4 /* i */
            iconst_1
            iadd
            aload 2 /* name */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* name */
        end local 4 // int i
        end local 3 // int i0
        13: .line 699
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            invokestatic sun.tools.jar.Main.toPackageName:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* pn */
        start local 3 // java.lang.String pn
        14: .line 701
            aload 3 /* pn */
            invokestatic jdk.internal.module.Checks.isPackageName:(Ljava/lang/String;)Z
            ifeq 16
        15: .line 702
            aload 1 /* packages */
            aload 3 /* pn */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        16: .line 704
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 3 // java.lang.String pn
        end local 2 // java.lang.String name
        end local 1 // java.util.Set packages
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lsun/tools/jar/Main;
            0   17     1  packages  Ljava/util/Set<Ljava/lang/String;>;
            0   17     2      name  Ljava/lang/String;
            2   13     3        i0  I
            3   13     4         i  I
            7   11     5         c  C
           14   17     3        pn  Ljava/lang/String;
    Signature: (Ljava/util/Set<Ljava/lang/String;>;Ljava/lang/String;)V
    MethodParameters:
          Name  Flags
      packages  
      name      

  private java.lang.String toEntryName(java.lang.String, java.util.Set<java.lang.String>, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/Set;Z)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.String name
        start local 2 // java.util.Set cpaths
        start local 3 // boolean isDir
         0: .line 707
            aload 1 /* name */
            getstatic java.io.File.separatorChar:C
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 1 /* name */
         1: .line 708
            iload 3 /* isDir */
            ifeq 5
         2: .line 709
            aload 1 /* name */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 3
            aload 1 /* name */
            goto 4
      StackMap locals:
      StackMap stack:
         3: new java.lang.StringBuilder
            dup
            aload 1 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 1 /* name */
         5: .line 711
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 4 /* matchPath */
        start local 4 // java.lang.String matchPath
         6: .line 712
            aload 2 /* cpaths */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 10
      StackMap locals: sun.tools.jar.Main java.lang.String java.util.Set int java.lang.String top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* path */
        start local 5 // java.lang.String path
         8: .line 713
            aload 1 /* name */
            aload 5 /* path */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 10
            aload 5 /* path */
            invokevirtual java.lang.String.length:()I
            aload 4 /* matchPath */
            invokevirtual java.lang.String.length:()I
            if_icmple 10
         9: .line 714
            aload 5 /* path */
            astore 4 /* matchPath */
        end local 5 // java.lang.String path
        10: .line 712
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        11: .line 717
            aload 0 /* this */
            aload 1 /* name */
            aload 4 /* matchPath */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.safeName:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* name */
        12: .line 720
            aload 1 /* name */
            ldc "./"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 14
        13: .line 721
            aload 1 /* name */
            iconst_2
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* name */
        14: .line 723
      StackMap locals: sun.tools.jar.Main java.lang.String java.util.Set int java.lang.String
      StackMap stack:
            aload 1 /* name */
            areturn
        end local 4 // java.lang.String matchPath
        end local 3 // boolean isDir
        end local 2 // java.util.Set cpaths
        end local 1 // java.lang.String name
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lsun/tools/jar/Main;
            0   15     1       name  Ljava/lang/String;
            0   15     2     cpaths  Ljava/util/Set<Ljava/lang/String;>;
            0   15     3      isDir  Z
            6   15     4  matchPath  Ljava/lang/String;
            8   10     5       path  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;Z)Ljava/lang/String;
    MethodParameters:
        Name  Flags
      name    
      cpaths  
      isDir   

  private static java.lang.String toVersionedName(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // int version
         0: .line 727
            iload 1 /* version */
            ifle 2
         1: .line 728
            new java.lang.StringBuilder
            dup
            ldc "META-INF/versions/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* version */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* name */
         3: .line 727
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 1 // int version
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     name  Ljava/lang/String;
            0    4     1  version  I
    MethodParameters:
         Name  Flags
      name     
      version  

  private static java.lang.String toPackageName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String path
         0: .line 732
            aload 0 /* path */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 1 /* index */
        start local 1 // int index
         1: .line 733
            iload 1 /* index */
            iconst_m1
            if_icmpeq 3
         2: .line 734
            aload 0 /* path */
            iconst_0
            iload 1 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            areturn
         3: .line 736
      StackMap locals: int
      StackMap stack:
            ldc ""
            areturn
        end local 1 // int index
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   path  Ljava/lang/String;
            1    4     1  index  I
    MethodParameters:
      Name  Flags
      path  

  private void expand();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // sun.tools.jar.Main this
         0: .line 741
            aload 0 /* this */
            getfield sun.tools.jar.Main.filesMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: sun.tools.jar.Main top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 1 /* version */
        start local 1 // int version
         2: .line 742
            aload 0 /* this */
            getfield sun.tools.jar.Main.filesMap:Ljava/util/Map;
            iload 1 /* version */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 3 /* files */
        start local 3 // java.lang.String[] files
         3: .line 743
            aload 0 /* this */
            aconst_null
            aload 3 /* files */
            aload 0 /* this */
            getfield sun.tools.jar.Main.pathsMap:Ljava/util/Map;
            iload 1 /* version */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            iload 1 /* version */
            invokevirtual sun.tools.jar.Main.expand:(Ljava/io/File;[Ljava/lang/String;Ljava/util/Set;I)V
        end local 3 // java.lang.String[] files
        end local 1 // int version
         4: .line 741
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 745
            return
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lsun/tools/jar/Main;
            2    4     1  version  I
            3    4     3    files  [Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  private void expand(java.io.File, java.lang.String[], java.util.Set<java.lang.String>, );
    descriptor: (Ljava/io/File;[Ljava/lang/String;Ljava/util/Set;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.io.File dir
        start local 2 // java.lang.String[] files
        start local 3 // java.util.Set cpaths
        start local 4 // int version
         0: .line 759
            aload 2 /* files */
            ifnonnull 2
         1: .line 760
            return
         2: .line 762
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 41
         4: .line 764
      StackMap locals: int
      StackMap stack:
            aload 1 /* dir */
            ifnonnull 7
         5: .line 765
            new java.io.File
            dup
            aload 2 /* files */
            iload 5 /* i */
            aaload
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 6 /* f */
        start local 6 // java.io.File f
         6: goto 8
        end local 6 // java.io.File f
         7: .line 767
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 1 /* dir */
            aload 2 /* files */
            iload 5 /* i */
            aaload
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 6 /* f */
        start local 6 // java.io.File f
         8: .line 769
      StackMap locals: java.io.File
      StackMap stack:
            aload 6 /* f */
            invokevirtual java.io.File.isDirectory:()Z
            istore 7 /* isDir */
        start local 7 // boolean isDir
         9: .line 770
            aload 0 /* this */
            aload 6 /* f */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            aload 3 /* cpaths */
            iload 7 /* isDir */
            invokevirtual sun.tools.jar.Main.toEntryName:(Ljava/lang/String;Ljava/util/Set;Z)Ljava/lang/String;
            astore 8 /* name */
        start local 8 // java.lang.String name
        10: .line 772
            iload 4 /* version */
            ifeq 18
        11: .line 773
            aload 8 /* name */
            ldc "META-INF/versions/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 17
        12: .line 777
            aload 0 /* this */
            ldc "error.release.unexpected.versioned.entry"
        13: .line 778
            aload 8 /* name */
            iload 4 /* version */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
        14: .line 777
            invokestatic sun.tools.jar.Main.formatMsg2:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.error:(Ljava/lang/String;)V
        15: .line 779
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jar.Main.ok:Z
        16: .line 780
            return
        17: .line 782
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 8 /* name */
            iload 4 /* version */
            invokestatic sun.tools.jar.Main.toVersionedName:(Ljava/lang/String;I)Ljava/lang/String;
            astore 8 /* name */
        18: .line 785
      StackMap locals:
      StackMap stack:
            aload 6 /* f */
            invokevirtual java.io.File.isFile:()Z
            ifeq 29
        19: .line 786
            new sun.tools.jar.Main$Entry
            dup
            aload 6 /* f */
            aload 8 /* name */
            iconst_0
            invokespecial sun.tools.jar.Main$Entry.<init>:(Ljava/io/File;Ljava/lang/String;Z)V
            astore 9 /* e */
        start local 9 // sun.tools.jar.Main$Entry e
        20: .line 787
            aload 8 /* name */
            invokestatic sun.tools.jar.Main.isModuleInfoEntry:(Ljava/lang/String;)Z
            ifeq 25
        21: .line 788
            aload 0 /* this */
            getfield sun.tools.jar.Main.moduleInfos:Ljava/util/Map;
            aload 8 /* name */
            aload 6 /* f */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            invokestatic java.nio.file.Files.readAllBytes:(Ljava/nio/file/Path;)[B
            invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 789
            aload 0 /* this */
            getfield sun.tools.jar.Main.uflag:Z
            ifeq 40
        23: .line 790
            aload 0 /* this */
            getfield sun.tools.jar.Main.entryMap:Ljava/util/Map;
            aload 8 /* name */
            aload 9 /* e */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 791
            goto 40
      StackMap locals: sun.tools.jar.Main$Entry
      StackMap stack:
        25: aload 0 /* this */
            getfield sun.tools.jar.Main.entries:Ljava/util/Set;
            aload 9 /* e */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 40
        26: .line 792
            aload 0 /* this */
            getfield sun.tools.jar.Main.uflag:Z
            ifeq 40
        27: .line 793
            aload 0 /* this */
            getfield sun.tools.jar.Main.entryMap:Ljava/util/Map;
            aload 8 /* name */
            aload 9 /* e */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // sun.tools.jar.Main$Entry e
        28: .line 795
            goto 40
      StackMap locals:
      StackMap stack:
        29: iload 7 /* isDir */
            ifeq 38
        30: .line 796
            new sun.tools.jar.Main$Entry
            dup
            aload 6 /* f */
            aload 8 /* name */
            iconst_1
            invokespecial sun.tools.jar.Main$Entry.<init>:(Ljava/io/File;Ljava/lang/String;Z)V
            astore 9 /* e */
        start local 9 // sun.tools.jar.Main$Entry e
        31: .line 797
            aload 0 /* this */
            getfield sun.tools.jar.Main.entries:Ljava/util/Set;
            aload 9 /* e */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 40
        32: .line 804
            aload 0 /* this */
            getfield sun.tools.jar.Main.entryMap:Ljava/util/Map;
            aload 8 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 35
        33: .line 805
            aload 0 /* this */
            getfield sun.tools.jar.Main.entries:Ljava/util/Set;
            aload 9 /* e */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        34: .line 806
            goto 36
        35: .line 807
      StackMap locals: sun.tools.jar.Main$Entry
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.entryMap:Ljava/util/Map;
            aload 8 /* name */
            aload 9 /* e */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        36: .line 809
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* f */
            aload 6 /* f */
            invokevirtual java.io.File.list:()[Ljava/lang/String;
            aload 3 /* cpaths */
            iload 4 /* version */
            invokevirtual sun.tools.jar.Main.expand:(Ljava/io/File;[Ljava/lang/String;Ljava/util/Set;I)V
        end local 9 // sun.tools.jar.Main$Entry e
        37: .line 811
            goto 40
        38: .line 812
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "error.nosuch.fileordir"
            aload 6 /* f */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.error:(Ljava/lang/String;)V
        39: .line 813
            aload 0 /* this */
            iconst_0
            putfield sun.tools.jar.Main.ok:Z
        end local 8 // java.lang.String name
        end local 7 // boolean isDir
        end local 6 // java.io.File f
        40: .line 762
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        41: iload 5 /* i */
            aload 2 /* files */
            arraylength
            if_icmplt 4
        end local 5 // int i
        42: .line 816
            return
        end local 4 // int version
        end local 3 // java.util.Set cpaths
        end local 2 // java.lang.String[] files
        end local 1 // java.io.File dir
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   43     0     this  Lsun/tools/jar/Main;
            0   43     1      dir  Ljava/io/File;
            0   43     2    files  [Ljava/lang/String;
            0   43     3   cpaths  Ljava/util/Set<Ljava/lang/String;>;
            0   43     4  version  I
            3   42     5        i  I
            6    7     6        f  Ljava/io/File;
            8   40     6        f  Ljava/io/File;
            9   40     7    isDir  Z
           10   40     8     name  Ljava/lang/String;
           20   28     9        e  Lsun/tools/jar/Main$Entry;
           31   37     9        e  Lsun/tools/jar/Main$Entry;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/File;[Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;I)V
    MethodParameters:
         Name  Flags
      dir      
      files    
      cpaths   
      version  

  void create(java.io.OutputStream, java.util.jar.Manifest);
    descriptor: (Ljava/io/OutputStream;Ljava/util/jar/Manifest;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.io.OutputStream out
        start local 2 // java.util.jar.Manifest manifest
         0: .line 823
            aconst_null
            astore 3
            aconst_null
            astore 4
         1: new java.util.jar.JarOutputStream
            dup
            aload 1 /* out */
            invokespecial java.util.jar.JarOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 5 /* zos */
        start local 5 // java.util.zip.ZipOutputStream zos
         2: .line 824
            aload 0 /* this */
            getfield sun.tools.jar.Main.flag0:Z
            ifeq 4
         3: .line 825
            aload 5 /* zos */
            iconst_0
            invokevirtual java.util.zip.ZipOutputStream.setMethod:(I)V
         4: .line 828
      StackMap locals: java.lang.Throwable java.lang.Throwable java.util.zip.ZipOutputStream
      StackMap stack:
            aload 2 /* manifest */
            ifnull 19
         5: .line 829
            aload 0 /* this */
            getfield sun.tools.jar.Main.vflag:Z
            ifeq 7
         6: .line 830
            aload 0 /* this */
            ldc "out.added.manifest"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
         7: .line 832
      StackMap locals:
      StackMap stack:
            new java.util.zip.ZipEntry
            dup
            ldc "META-INF/"
            invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
            astore 6 /* e */
        start local 6 // java.util.zip.ZipEntry e
         8: .line 833
            aload 6 /* e */
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual java.util.zip.ZipEntry.setTime:(J)V
         9: .line 834
            aload 6 /* e */
            lconst_0
            invokevirtual java.util.zip.ZipEntry.setSize:(J)V
        10: .line 835
            aload 6 /* e */
            lconst_0
            invokevirtual java.util.zip.ZipEntry.setCrc:(J)V
        11: .line 836
            aload 5 /* zos */
            aload 6 /* e */
            invokevirtual java.util.zip.ZipOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
        12: .line 837
            new java.util.zip.ZipEntry
            dup
            ldc "META-INF/MANIFEST.MF"
            invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
            astore 6 /* e */
        13: .line 838
            aload 6 /* e */
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual java.util.zip.ZipEntry.setTime:(J)V
        14: .line 839
            aload 0 /* this */
            getfield sun.tools.jar.Main.flag0:Z
            ifeq 16
        15: .line 840
            aload 0 /* this */
            aload 6 /* e */
            aload 2 /* manifest */
            invokevirtual sun.tools.jar.Main.crc32Manifest:(Ljava/util/zip/ZipEntry;Ljava/util/jar/Manifest;)V
        16: .line 842
      StackMap locals: java.util.zip.ZipEntry
      StackMap stack:
            aload 5 /* zos */
            aload 6 /* e */
            invokevirtual java.util.zip.ZipOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
        17: .line 843
            aload 2 /* manifest */
            aload 5 /* zos */
            invokevirtual java.util.jar.Manifest.write:(Ljava/io/OutputStream;)V
        18: .line 844
            aload 5 /* zos */
            invokevirtual java.util.zip.ZipOutputStream.closeEntry:()V
        end local 6 // java.util.zip.ZipEntry e
        19: .line 846
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.tools.jar.Main.moduleInfos:Ljava/util/Map;
            aload 5 /* zos */
            invokevirtual sun.tools.jar.Main.updateModuleInfo:(Ljava/util/Map;Ljava/util/zip/ZipOutputStream;)V
        20: .line 847
            aload 0 /* this */
            getfield sun.tools.jar.Main.entries:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 23
      StackMap locals: sun.tools.jar.Main java.io.OutputStream java.util.jar.Manifest java.lang.Throwable java.lang.Throwable java.util.zip.ZipOutputStream top java.util.Iterator
      StackMap stack:
        21: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.tools.jar.Main$Entry
            astore 6 /* entry */
        start local 6 // sun.tools.jar.Main$Entry entry
        22: .line 848
            aload 0 /* this */
            aload 5 /* zos */
            aload 6 /* entry */
            invokevirtual sun.tools.jar.Main.addFile:(Ljava/util/zip/ZipOutputStream;Lsun/tools/jar/Main$Entry;)V
        end local 6 // sun.tools.jar.Main$Entry entry
        23: .line 847
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        24: .line 850
            aload 5 /* zos */
            ifnull 30
            aload 5 /* zos */
            invokevirtual java.util.zip.ZipOutputStream.close:()V
            goto 30
      StackMap locals: sun.tools.jar.Main java.io.OutputStream java.util.jar.Manifest java.lang.Throwable java.lang.Throwable java.util.zip.ZipOutputStream
      StackMap stack: java.lang.Throwable
        25: astore 3
            aload 5 /* zos */
            ifnull 26
            aload 5 /* zos */
            invokevirtual java.util.zip.ZipOutputStream.close:()V
        end local 5 // java.util.zip.ZipOutputStream zos
      StackMap locals:
      StackMap stack:
        26: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 4
            aload 3
            ifnonnull 28
            aload 4
            astore 3
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 3
            aload 4
            if_acmpeq 29
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        29: aload 3
            athrow
        30: .line 851
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.jar.Manifest manifest
        end local 1 // java.io.OutputStream out
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   31     0      this  Lsun/tools/jar/Main;
            0   31     1       out  Ljava/io/OutputStream;
            0   31     2  manifest  Ljava/util/jar/Manifest;
            2   26     5       zos  Ljava/util/zip/ZipOutputStream;
            8   19     6         e  Ljava/util/zip/ZipEntry;
           22   23     6     entry  Lsun/tools/jar/Main$Entry;
      Exception table:
        from    to  target  type
           2    24      25  any
           1    27      27  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      out       
      manifest  

  private char toUpperCaseASCII(char);
    descriptor: (C)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // char c
         0: .line 854
            iload 1 /* c */
            bipush 97
            if_icmplt 1
            iload 1 /* c */
            bipush 122
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: iload 1 /* c */
            goto 3
      StackMap locals:
      StackMap stack:
         2: iload 1 /* c */
            bipush 65
            iadd
            bipush 97
            isub
            i2c
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 1 // char c
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/tools/jar/Main;
            0    4     1     c  C
    MethodParameters:
      Name  Flags
      c     

  private boolean equalsIgnoreCase(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.String s
        start local 2 // java.lang.String upper
         0: .line 864
            getstatic sun.tools.jar.Main.$assertionsDisabled:Z
            ifne 1
            aload 2 /* upper */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 2 /* upper */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 866
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            dup
            istore 3 /* len */
        start local 3 // int len
         2: aload 2 /* upper */
            invokevirtual java.lang.String.length:()I
            if_icmpeq 4
         3: .line 867
            iconst_0
            ireturn
         4: .line 868
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 11
         6: .line 869
      StackMap locals: int
      StackMap stack:
            aload 1 /* s */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c1 */
        start local 5 // char c1
         7: .line 870
            aload 2 /* upper */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c2 */
        start local 6 // char c2
         8: .line 871
            iload 5 /* c1 */
            iload 6 /* c2 */
            if_icmpeq 10
            aload 0 /* this */
            iload 5 /* c1 */
            invokevirtual sun.tools.jar.Main.toUpperCaseASCII:(C)C
            iload 6 /* c2 */
            if_icmpeq 10
         9: .line 872
            iconst_0
            ireturn
        end local 6 // char c2
        end local 5 // char c1
        10: .line 868
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 3 /* len */
            if_icmplt 6
        end local 4 // int i
        12: .line 874
            iconst_1
            ireturn
        end local 3 // int len
        end local 2 // java.lang.String upper
        end local 1 // java.lang.String s
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lsun/tools/jar/Main;
            0   13     1      s  Ljava/lang/String;
            0   13     2  upper  Ljava/lang/String;
            2   13     3    len  I
            5   12     4      i  I
            7   10     5     c1  C
            8   10     6     c2  C
    MethodParameters:
       Name  Flags
      s      
      upper  

  boolean update(java.io.InputStream, java.io.OutputStream, java.io.InputStream, java.util.Map<java.lang.String, byte[]>, jdk.internal.util.jar.JarIndex);
    descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/io/InputStream;Ljava/util/Map;Ljdk/internal/util/jar/JarIndex;)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=18, args_size=6
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.io.InputStream in
        start local 2 // java.io.OutputStream out
        start local 3 // java.io.InputStream newManifest
        start local 4 // java.util.Map moduleInfos
        start local 5 // jdk.internal.util.jar.JarIndex jarIndex
         0: .line 885
            new java.util.zip.ZipInputStream
            dup
            aload 1 /* in */
            invokespecial java.util.zip.ZipInputStream.<init>:(Ljava/io/InputStream;)V
            astore 6 /* zis */
        start local 6 // java.util.zip.ZipInputStream zis
         1: .line 886
            new java.util.jar.JarOutputStream
            dup
            aload 2 /* out */
            invokespecial java.util.jar.JarOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 7 /* zos */
        start local 7 // java.util.zip.ZipOutputStream zos
         2: .line 887
            aconst_null
            astore 8 /* e */
        start local 8 // java.util.zip.ZipEntry e
         3: .line 888
            iconst_0
            istore 9 /* foundManifest */
        start local 9 // boolean foundManifest
         4: .line 889
            iconst_1
            istore 10 /* updateOk */
        start local 10 // boolean updateOk
         5: .line 893
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 11 /* jentries */
        start local 11 // java.util.Set jentries
         6: .line 895
            aload 5 /* jarIndex */
            ifnull 58
         7: .line 896
            aload 0 /* this */
            aload 5 /* jarIndex */
            aload 7 /* zos */
            invokevirtual sun.tools.jar.Main.addIndex:(Ljdk/internal/util/jar/JarIndex;Ljava/util/zip/ZipOutputStream;)V
         8: .line 900
            goto 58
         9: .line 901
      StackMap locals: sun.tools.jar.Main java.io.InputStream java.io.OutputStream java.io.InputStream java.util.Map jdk.internal.util.jar.JarIndex java.util.zip.ZipInputStream java.util.zip.ZipOutputStream java.util.zip.ZipEntry int int java.util.Set
      StackMap stack:
            aload 8 /* e */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            astore 12 /* name */
        start local 12 // java.lang.String name
        10: .line 903
            aload 0 /* this */
            aload 12 /* name */
            ldc "META-INF/MANIFEST.MF"
            invokevirtual sun.tools.jar.Main.equalsIgnoreCase:(Ljava/lang/String;Ljava/lang/String;)Z
            istore 13 /* isManifestEntry */
        start local 13 // boolean isManifestEntry
        11: .line 904
            aload 12 /* name */
            invokestatic sun.tools.jar.Main.isModuleInfoEntry:(Ljava/lang/String;)Z
            istore 14 /* isModuleInfoEntry */
        start local 14 // boolean isModuleInfoEntry
        12: .line 906
            aload 5 /* jarIndex */
            ifnull 13
            aload 0 /* this */
            aload 12 /* name */
            ldc "META-INF/INDEX.LIST"
            invokevirtual sun.tools.jar.Main.equalsIgnoreCase:(Ljava/lang/String;Ljava/lang/String;)Z
            ifne 58
        13: .line 907
      StackMap locals: java.lang.String int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.Mflag:Z
            ifeq 15
            iload 13 /* isManifestEntry */
            ifeq 15
        14: .line 908
            goto 58
        15: .line 909
      StackMap locals:
      StackMap stack:
            iload 13 /* isManifestEntry */
            ifeq 35
            aload 3 /* newManifest */
            ifnonnull 17
        16: .line 910
            aload 0 /* this */
            getfield sun.tools.jar.Main.ename:Ljava/lang/String;
            ifnonnull 17
            aload 0 /* this */
            getfield sun.tools.jar.Main.isMultiRelease:Z
            ifeq 35
        17: .line 911
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 9 /* foundManifest */
        18: .line 912
            aload 3 /* newManifest */
            ifnull 30
        19: .line 916
            aconst_null
            astore 15
            aconst_null
            astore 16
        20: new java.io.FileInputStream
            dup
            aload 0 /* this */
            getfield sun.tools.jar.Main.mname:Ljava/lang/String;
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 17 /* fis */
        start local 17 // java.io.FileInputStream fis
        21: .line 917
            aload 0 /* this */
            new java.util.jar.Manifest
            dup
            aload 17 /* fis */
            invokespecial java.util.jar.Manifest.<init>:(Ljava/io/InputStream;)V
            invokevirtual sun.tools.jar.Main.isAmbiguousMainClass:(Ljava/util/jar/Manifest;)Z
            ifeq 24
        22: .line 920
            aload 17 /* fis */
            ifnull 23
            aload 17 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        23: .line 918
      StackMap locals: java.lang.Throwable java.lang.Throwable java.io.FileInputStream
      StackMap stack:
            iconst_0
            ireturn
        24: .line 920
      StackMap locals:
      StackMap stack:
            aload 17 /* fis */
            ifnull 30
            aload 17 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
            goto 30
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: astore 15
            aload 17 /* fis */
            ifnull 26
            aload 17 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        end local 17 // java.io.FileInputStream fis
      StackMap locals:
      StackMap stack:
        26: aload 15
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 16
            aload 15
            ifnonnull 28
            aload 16
            astore 15
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 15
            aload 16
            if_acmpeq 29
            aload 15
            aload 16
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        29: aload 15
            athrow
        30: .line 923
      StackMap locals:
      StackMap stack:
            new java.util.jar.Manifest
            dup
            aload 6 /* zis */
            invokespecial java.util.jar.Manifest.<init>:(Ljava/io/InputStream;)V
            astore 15 /* old */
        start local 15 // java.util.jar.Manifest old
        31: .line 924
            aload 3 /* newManifest */
            ifnull 33
        32: .line 925
            aload 15 /* old */
            aload 3 /* newManifest */
            invokevirtual java.util.jar.Manifest.read:(Ljava/io/InputStream;)V
        33: .line 927
      StackMap locals: java.util.jar.Manifest
      StackMap stack:
            aload 0 /* this */
            aload 15 /* old */
            aload 7 /* zos */
            invokevirtual sun.tools.jar.Main.updateManifest:(Ljava/util/jar/Manifest;Ljava/util/zip/ZipOutputStream;)Z
            ifne 58
        34: .line 928
            iconst_0
            ireturn
        end local 15 // java.util.jar.Manifest old
        35: .line 930
      StackMap locals:
      StackMap stack:
            aload 4 /* moduleInfos */
            ifnull 38
            iload 14 /* isModuleInfoEntry */
            ifeq 38
        36: .line 931
            aload 4 /* moduleInfos */
            aload 12 /* name */
            aload 6 /* zis */
            invokevirtual java.util.zip.ZipInputStream.readAllBytes:()[B
            invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        37: .line 932
            goto 58
        38: .line 933
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokevirtual java.util.zip.ZipEntry.isDirectory:()Z
            istore 15 /* isDir */
        start local 15 // boolean isDir
        39: .line 934
            aload 0 /* this */
            getfield sun.tools.jar.Main.entryMap:Ljava/util/Map;
            aload 12 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 51
        40: .line 936
            new java.util.zip.ZipEntry
            dup
            aload 12 /* name */
            invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
            astore 16 /* e2 */
        start local 16 // java.util.zip.ZipEntry e2
        41: .line 937
            aload 16 /* e2 */
            aload 8 /* e */
            invokevirtual java.util.zip.ZipEntry.getMethod:()I
            invokevirtual java.util.zip.ZipEntry.setMethod:(I)V
        42: .line 938
            aload 16 /* e2 */
            aload 8 /* e */
            invokevirtual java.util.zip.ZipEntry.getTime:()J
            invokevirtual java.util.zip.ZipEntry.setTime:(J)V
        43: .line 939
            aload 16 /* e2 */
            aload 8 /* e */
            invokevirtual java.util.zip.ZipEntry.getComment:()Ljava/lang/String;
            invokevirtual java.util.zip.ZipEntry.setComment:(Ljava/lang/String;)V
        44: .line 940
            aload 16 /* e2 */
            aload 8 /* e */
            invokevirtual java.util.zip.ZipEntry.getExtra:()[B
            invokevirtual java.util.zip.ZipEntry.setExtra:([B)V
        45: .line 941
            aload 8 /* e */
            invokevirtual java.util.zip.ZipEntry.getMethod:()I
            ifne 48
        46: .line 942
            aload 16 /* e2 */
            aload 8 /* e */
            invokevirtual java.util.zip.ZipEntry.getSize:()J
            invokevirtual java.util.zip.ZipEntry.setSize:(J)V
        47: .line 943
            aload 16 /* e2 */
            aload 8 /* e */
            invokevirtual java.util.zip.ZipEntry.getCrc:()J
            invokevirtual java.util.zip.ZipEntry.setCrc:(J)V
        48: .line 945
      StackMap locals: int java.util.zip.ZipEntry
      StackMap stack:
            aload 7 /* zos */
            aload 16 /* e2 */
            invokevirtual java.util.zip.ZipOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
        49: .line 946
            aload 0 /* this */
            aload 6 /* zis */
            aload 7 /* zos */
            invokevirtual sun.tools.jar.Main.copy:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
        end local 16 // java.util.zip.ZipEntry e2
        50: .line 947
            goto 56
        51: .line 948
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.entryMap:Ljava/util/Map;
            aload 12 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.tools.jar.Main$Entry
            astore 16 /* ent */
        start local 16 // sun.tools.jar.Main$Entry ent
        52: .line 949
            aload 0 /* this */
            aload 7 /* zos */
            aload 16 /* ent */
            invokevirtual sun.tools.jar.Main.addFile:(Ljava/util/zip/ZipOutputStream;Lsun/tools/jar/Main$Entry;)V
        53: .line 950
            aload 0 /* this */
            getfield sun.tools.jar.Main.entryMap:Ljava/util/Map;
            aload 12 /* name */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        54: .line 951
            aload 0 /* this */
            getfield sun.tools.jar.Main.entries:Ljava/util/Set;
            aload 16 /* ent */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        55: .line 952
            aload 16 /* ent */
            getfield sun.tools.jar.Main$Entry.isDir:Z
            istore 15 /* isDir */
        end local 16 // sun.tools.jar.Main$Entry ent
        56: .line 954
      StackMap locals:
      StackMap stack:
            iload 15 /* isDir */
            ifne 58
        57: .line 955
            aload 11 /* jentries */
            aload 12 /* name */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // boolean isDir
        end local 14 // boolean isModuleInfoEntry
        end local 13 // boolean isManifestEntry
        end local 12 // java.lang.String name
        58: .line 900
      StackMap locals: sun.tools.jar.Main java.io.InputStream java.io.OutputStream java.io.InputStream java.util.Map jdk.internal.util.jar.JarIndex java.util.zip.ZipInputStream java.util.zip.ZipOutputStream java.util.zip.ZipEntry int int java.util.Set
      StackMap stack:
            aload 6 /* zis */
            invokevirtual java.util.zip.ZipInputStream.getNextEntry:()Ljava/util/zip/ZipEntry;
            dup
            astore 8 /* e */
            ifnonnull 9
        59: .line 961
            aload 0 /* this */
            getfield sun.tools.jar.Main.entries:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 13
            goto 64
      StackMap locals: sun.tools.jar.Main java.io.InputStream java.io.OutputStream java.io.InputStream java.util.Map jdk.internal.util.jar.JarIndex java.util.zip.ZipInputStream java.util.zip.ZipOutputStream java.util.zip.ZipEntry int int java.util.Set top java.util.Iterator
      StackMap stack:
        60: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.tools.jar.Main$Entry
            astore 12 /* entry */
        start local 12 // sun.tools.jar.Main$Entry entry
        61: .line 962
            aload 0 /* this */
            aload 7 /* zos */
            aload 12 /* entry */
            invokevirtual sun.tools.jar.Main.addFile:(Ljava/util/zip/ZipOutputStream;Lsun/tools/jar/Main$Entry;)V
        62: .line 963
            aload 12 /* entry */
            getfield sun.tools.jar.Main$Entry.isDir:Z
            ifne 64
        63: .line 964
            aload 11 /* jentries */
            aload 12 /* entry */
            getfield sun.tools.jar.Main$Entry.name:Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // sun.tools.jar.Main$Entry entry
        64: .line 961
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 60
        65: .line 967
            iload 9 /* foundManifest */
            ifne 78
        66: .line 968
            aload 3 /* newManifest */
            ifnull 75
        67: .line 969
            new java.util.jar.Manifest
            dup
            aload 3 /* newManifest */
            invokespecial java.util.jar.Manifest.<init>:(Ljava/io/InputStream;)V
            astore 12 /* m */
        start local 12 // java.util.jar.Manifest m
        68: .line 970
            aload 0 /* this */
            aload 12 /* m */
            invokevirtual sun.tools.jar.Main.isAmbiguousMainClass:(Ljava/util/jar/Manifest;)Z
            ifeq 69
            iconst_0
            goto 70
      StackMap locals: sun.tools.jar.Main java.io.InputStream java.io.OutputStream java.io.InputStream java.util.Map jdk.internal.util.jar.JarIndex java.util.zip.ZipInputStream java.util.zip.ZipOutputStream java.util.zip.ZipEntry int int java.util.Set java.util.jar.Manifest
      StackMap stack:
        69: iconst_1
      StackMap locals:
      StackMap stack: int
        70: istore 10 /* updateOk */
        71: .line 971
            iload 10 /* updateOk */
            ifeq 78
        72: .line 972
            aload 0 /* this */
            aload 12 /* m */
            aload 7 /* zos */
            invokevirtual sun.tools.jar.Main.updateManifest:(Ljava/util/jar/Manifest;Ljava/util/zip/ZipOutputStream;)Z
            ifne 78
        73: .line 973
            iconst_0
            istore 10 /* updateOk */
        end local 12 // java.util.jar.Manifest m
        74: .line 976
            goto 78
      StackMap locals:
      StackMap stack:
        75: aload 0 /* this */
            getfield sun.tools.jar.Main.ename:Ljava/lang/String;
            ifnull 78
        76: .line 977
            aload 0 /* this */
            new java.util.jar.Manifest
            dup
            invokespecial java.util.jar.Manifest.<init>:()V
            aload 7 /* zos */
            invokevirtual sun.tools.jar.Main.updateManifest:(Ljava/util/jar/Manifest;Ljava/util/zip/ZipOutputStream;)Z
            ifne 78
        77: .line 978
            iconst_0
            istore 10 /* updateOk */
        78: .line 982
      StackMap locals:
      StackMap stack:
            iload 10 /* updateOk */
            ifeq 89
        79: .line 983
            aload 4 /* moduleInfos */
            ifnull 86
            aload 4 /* moduleInfos */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 86
        80: .line 984
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 12 /* pkgs */
        start local 12 // java.util.Set pkgs
        81: .line 985
            aload 11 /* jentries */
            aload 0 /* this */
            aload 12 /* pkgs */
            invokedynamic accept(Lsun/tools/jar/Main;Ljava/util/Set;)Ljava/util/function/Consumer;
              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;)V
                  sun/tools/jar/Main.lambda$7(Ljava/util/Set;Ljava/lang/String;)V (7)
                  (Ljava/lang/String;)V
            invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
        82: .line 986
            aload 0 /* this */
            aload 4 /* moduleInfos */
            aload 12 /* pkgs */
            invokevirtual sun.tools.jar.Main.addExtendedModuleAttributes:(Ljava/util/Map;Ljava/util/Set;)V
        83: .line 987
            aload 0 /* this */
            aload 4 /* moduleInfos */
            ldc "module-info.class"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast byte[]
            aload 11 /* jentries */
            invokevirtual sun.tools.jar.Main.checkModuleInfo:([BLjava/util/Set;)Z
            istore 10 /* updateOk */
        84: .line 988
            aload 0 /* this */
            aload 4 /* moduleInfos */
            aload 7 /* zos */
            invokevirtual sun.tools.jar.Main.updateModuleInfo:(Ljava/util/Map;Ljava/util/zip/ZipOutputStream;)V
        end local 12 // java.util.Set pkgs
        85: .line 990
            goto 89
      StackMap locals:
      StackMap stack:
        86: aload 0 /* this */
            getfield sun.tools.jar.Main.moduleVersion:Ljava/lang/module/ModuleDescriptor$Version;
            ifnonnull 87
            aload 0 /* this */
            getfield sun.tools.jar.Main.modulesToHash:Ljava/util/regex/Pattern;
            ifnull 89
        87: .line 991
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "error.module.options.without.info"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.error:(Ljava/lang/String;)V
        88: .line 992
            iconst_0
            istore 10 /* updateOk */
        89: .line 995
      StackMap locals:
      StackMap stack:
            aload 6 /* zis */
            invokevirtual java.util.zip.ZipInputStream.close:()V
        90: .line 996
            aload 7 /* zos */
            invokevirtual java.util.zip.ZipOutputStream.close:()V
        91: .line 997
            iload 10 /* updateOk */
            ireturn
        end local 11 // java.util.Set jentries
        end local 10 // boolean updateOk
        end local 9 // boolean foundManifest
        end local 8 // java.util.zip.ZipEntry e
        end local 7 // java.util.zip.ZipOutputStream zos
        end local 6 // java.util.zip.ZipInputStream zis
        end local 5 // jdk.internal.util.jar.JarIndex jarIndex
        end local 4 // java.util.Map moduleInfos
        end local 3 // java.io.InputStream newManifest
        end local 2 // java.io.OutputStream out
        end local 1 // java.io.InputStream in
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   92     0               this  Lsun/tools/jar/Main;
            0   92     1                 in  Ljava/io/InputStream;
            0   92     2                out  Ljava/io/OutputStream;
            0   92     3        newManifest  Ljava/io/InputStream;
            0   92     4        moduleInfos  Ljava/util/Map<Ljava/lang/String;[B>;
            0   92     5           jarIndex  Ljdk/internal/util/jar/JarIndex;
            1   92     6                zis  Ljava/util/zip/ZipInputStream;
            2   92     7                zos  Ljava/util/zip/ZipOutputStream;
            3   92     8                  e  Ljava/util/zip/ZipEntry;
            4   92     9      foundManifest  Z
            5   92    10           updateOk  Z
            6   92    11           jentries  Ljava/util/Set<Ljava/lang/String;>;
           10   58    12               name  Ljava/lang/String;
           11   58    13    isManifestEntry  Z
           12   58    14  isModuleInfoEntry  Z
           21   26    17                fis  Ljava/io/FileInputStream;
           31   35    15                old  Ljava/util/jar/Manifest;
           39   58    15              isDir  Z
           41   50    16                 e2  Ljava/util/zip/ZipEntry;
           52   56    16                ent  Lsun/tools/jar/Main$Entry;
           61   64    12              entry  Lsun/tools/jar/Main$Entry;
           68   74    12                  m  Ljava/util/jar/Manifest;
           81   85    12               pkgs  Ljava/util/Set<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
          21    22      25  any
          20    23      27  any
          24    27      27  any
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/io/InputStream;Ljava/util/Map<Ljava/lang/String;[B>;Ljdk/internal/util/jar/JarIndex;)Z
    MethodParameters:
             Name  Flags
      in           
      out          
      newManifest  
      moduleInfos  
      jarIndex     

  private void addIndex(jdk.internal.util.jar.JarIndex, java.util.zip.ZipOutputStream);
    descriptor: (Ljdk/internal/util/jar/JarIndex;Ljava/util/zip/ZipOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // jdk.internal.util.jar.JarIndex index
        start local 2 // java.util.zip.ZipOutputStream zos
         0: .line 1003
            new java.util.zip.ZipEntry
            dup
            ldc "META-INF/INDEX.LIST"
            invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
            astore 3 /* e */
        start local 3 // java.util.zip.ZipEntry e
         1: .line 1004
            aload 3 /* e */
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual java.util.zip.ZipEntry.setTime:(J)V
         2: .line 1005
            aload 0 /* this */
            getfield sun.tools.jar.Main.flag0:Z
            ifeq 6
         3: .line 1006
            new sun.tools.jar.Main$CRC32OutputStream
            dup
            invokespecial sun.tools.jar.Main$CRC32OutputStream.<init>:()V
            astore 4 /* os */
        start local 4 // sun.tools.jar.Main$CRC32OutputStream os
         4: .line 1007
            aload 1 /* index */
            aload 4 /* os */
            invokevirtual jdk.internal.util.jar.JarIndex.write:(Ljava/io/OutputStream;)V
         5: .line 1008
            aload 4 /* os */
            aload 3 /* e */
            invokevirtual sun.tools.jar.Main$CRC32OutputStream.updateEntry:(Ljava/util/zip/ZipEntry;)V
        end local 4 // sun.tools.jar.Main$CRC32OutputStream os
         6: .line 1010
      StackMap locals: java.util.zip.ZipEntry
      StackMap stack:
            aload 2 /* zos */
            aload 3 /* e */
            invokevirtual java.util.zip.ZipOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
         7: .line 1011
            aload 1 /* index */
            aload 2 /* zos */
            invokevirtual jdk.internal.util.jar.JarIndex.write:(Ljava/io/OutputStream;)V
         8: .line 1012
            aload 2 /* zos */
            invokevirtual java.util.zip.ZipOutputStream.closeEntry:()V
         9: .line 1013
            return
        end local 3 // java.util.zip.ZipEntry e
        end local 2 // java.util.zip.ZipOutputStream zos
        end local 1 // jdk.internal.util.jar.JarIndex index
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lsun/tools/jar/Main;
            0   10     1  index  Ljdk/internal/util/jar/JarIndex;
            0   10     2    zos  Ljava/util/zip/ZipOutputStream;
            1   10     3      e  Ljava/util/zip/ZipEntry;
            4    6     4     os  Lsun/tools/jar/Main$CRC32OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      index  
      zos    

  private void updateModuleInfo(java.util.Map<java.lang.String, byte[]>, java.util.zip.ZipOutputStream);
    descriptor: (Ljava/util/Map;Ljava/util/zip/ZipOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.Map moduleInfos
        start local 2 // java.util.zip.ZipOutputStream zos
         0: .line 1018
            aload 0 /* this */
            getfield sun.tools.jar.Main.uflag:Z
            ifeq 1
            ldc "out.update.module-info"
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "out.added.module-info"
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 3 /* fmt */
        start local 3 // java.lang.String fmt
         3: .line 1019
            aload 1 /* moduleInfos */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 16
      StackMap locals: sun.tools.jar.Main java.util.Map java.util.zip.ZipOutputStream java.lang.String top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* mi */
        start local 4 // java.util.Map$Entry mi
         5: .line 1020
            aload 4 /* mi */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* name */
        start local 6 // java.lang.String name
         6: .line 1021
            aload 4 /* mi */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast byte[]
            astore 7 /* bytes */
        start local 7 // byte[] bytes
         7: .line 1022
            new java.util.zip.ZipEntry
            dup
            aload 6 /* name */
            invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
            astore 8 /* e */
        start local 8 // java.util.zip.ZipEntry e
         8: .line 1023
            aload 8 /* e */
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual java.util.zip.ZipEntry.setTime:(J)V
         9: .line 1024
            aload 0 /* this */
            getfield sun.tools.jar.Main.flag0:Z
            ifeq 11
        10: .line 1025
            aload 0 /* this */
            aload 8 /* e */
            aload 7 /* bytes */
            invokevirtual sun.tools.jar.Main.crc32ModuleInfo:(Ljava/util/zip/ZipEntry;[B)V
        11: .line 1027
      StackMap locals: sun.tools.jar.Main java.util.Map java.util.zip.ZipOutputStream java.lang.String java.util.Map$Entry java.util.Iterator java.lang.String byte[] java.util.zip.ZipEntry
      StackMap stack:
            aload 2 /* zos */
            aload 8 /* e */
            invokevirtual java.util.zip.ZipOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
        12: .line 1028
            aload 2 /* zos */
            aload 7 /* bytes */
            invokevirtual java.util.zip.ZipOutputStream.write:([B)V
        13: .line 1029
            aload 2 /* zos */
            invokevirtual java.util.zip.ZipOutputStream.closeEntry:()V
        14: .line 1030
            aload 0 /* this */
            getfield sun.tools.jar.Main.vflag:Z
            ifeq 16
        15: .line 1031
            aload 0 /* this */
            aload 3 /* fmt */
            aload 6 /* name */
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
        end local 8 // java.util.zip.ZipEntry e
        end local 7 // byte[] bytes
        end local 6 // java.lang.String name
        end local 4 // java.util.Map$Entry mi
        16: .line 1019
      StackMap locals: sun.tools.jar.Main java.util.Map java.util.zip.ZipOutputStream java.lang.String top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        17: .line 1034
            return
        end local 3 // java.lang.String fmt
        end local 2 // java.util.zip.ZipOutputStream zos
        end local 1 // java.util.Map moduleInfos
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lsun/tools/jar/Main;
            0   18     1  moduleInfos  Ljava/util/Map<Ljava/lang/String;[B>;
            0   18     2          zos  Ljava/util/zip/ZipOutputStream;
            3   18     3          fmt  Ljava/lang/String;
            5   16     4           mi  Ljava/util/Map$Entry<Ljava/lang/String;[B>;
            6   16     6         name  Ljava/lang/String;
            7   16     7        bytes  [B
            8   16     8            e  Ljava/util/zip/ZipEntry;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Map<Ljava/lang/String;[B>;Ljava/util/zip/ZipOutputStream;)V
    MethodParameters:
             Name  Flags
      moduleInfos  
      zos          

  private boolean updateManifest(java.util.jar.Manifest, java.util.zip.ZipOutputStream);
    descriptor: (Ljava/util/jar/Manifest;Ljava/util/zip/ZipOutputStream;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.jar.Manifest m
        start local 2 // java.util.zip.ZipOutputStream zos
         0: .line 1039
            aload 0 /* this */
            aload 1 /* m */
            invokevirtual sun.tools.jar.Main.addVersion:(Ljava/util/jar/Manifest;)V
         1: .line 1040
            aload 0 /* this */
            aload 1 /* m */
            invokevirtual sun.tools.jar.Main.addCreatedBy:(Ljava/util/jar/Manifest;)V
         2: .line 1041
            aload 0 /* this */
            getfield sun.tools.jar.Main.ename:Ljava/lang/String;
            ifnull 4
         3: .line 1042
            aload 0 /* this */
            aload 1 /* m */
            aload 0 /* this */
            getfield sun.tools.jar.Main.ename:Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.addMainClass:(Ljava/util/jar/Manifest;Ljava/lang/String;)V
         4: .line 1044
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.isMultiRelease:Z
            ifeq 6
         5: .line 1045
            aload 0 /* this */
            aload 1 /* m */
            invokevirtual sun.tools.jar.Main.addMultiRelease:(Ljava/util/jar/Manifest;)V
         6: .line 1047
      StackMap locals:
      StackMap stack:
            new java.util.zip.ZipEntry
            dup
            ldc "META-INF/MANIFEST.MF"
            invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
            astore 3 /* e */
        start local 3 // java.util.zip.ZipEntry e
         7: .line 1048
            aload 3 /* e */
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual java.util.zip.ZipEntry.setTime:(J)V
         8: .line 1049
            aload 0 /* this */
            getfield sun.tools.jar.Main.flag0:Z
            ifeq 10
         9: .line 1050
            aload 0 /* this */
            aload 3 /* e */
            aload 1 /* m */
            invokevirtual sun.tools.jar.Main.crc32Manifest:(Ljava/util/zip/ZipEntry;Ljava/util/jar/Manifest;)V
        10: .line 1052
      StackMap locals: java.util.zip.ZipEntry
      StackMap stack:
            aload 2 /* zos */
            aload 3 /* e */
            invokevirtual java.util.zip.ZipOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
        11: .line 1053
            aload 1 /* m */
            aload 2 /* zos */
            invokevirtual java.util.jar.Manifest.write:(Ljava/io/OutputStream;)V
        12: .line 1054
            aload 0 /* this */
            getfield sun.tools.jar.Main.vflag:Z
            ifeq 14
        13: .line 1055
            aload 0 /* this */
            ldc "out.update.manifest"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
        14: .line 1057
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // java.util.zip.ZipEntry e
        end local 2 // java.util.zip.ZipOutputStream zos
        end local 1 // java.util.jar.Manifest m
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lsun/tools/jar/Main;
            0   15     1     m  Ljava/util/jar/Manifest;
            0   15     2   zos  Ljava/util/zip/ZipOutputStream;
            7   15     3     e  Ljava/util/zip/ZipEntry;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      m     
      zos   

  private static final boolean isWinDriveLetter(char);
    descriptor: (C)Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char c
         0: .line 1061
            iload 0 /* c */
            bipush 97
            if_icmplt 1
            iload 0 /* c */
            bipush 122
            if_icmple 3
      StackMap locals:
      StackMap stack:
         1: iload 0 /* c */
            bipush 65
            if_icmplt 2
            iload 0 /* c */
            bipush 90
            if_icmple 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 0 // char c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     c  C
    MethodParameters:
      Name  Flags
      c     

  private java.lang.String safeName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.String name
         0: .line 1065
            aload 0 /* this */
            getfield sun.tools.jar.Main.pflag:Z
            ifne 25
         1: .line 1066
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            istore 2 /* len */
        start local 2 // int len
         2: .line 1067
            aload 1 /* name */
            ldc "../"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 3 /* i */
        start local 3 // int i
         3: .line 1068
            iload 3 /* i */
            iconst_m1
            if_icmpne 6
         4: .line 1069
            iconst_0
            istore 3 /* i */
         5: .line 1070
            goto 7
         6: .line 1071
      StackMap locals: int int
      StackMap stack:
            iinc 3 /* i */ 3
         7: .line 1073
      StackMap locals:
      StackMap stack:
            getstatic java.io.File.separatorChar:C
            bipush 92
            if_icmpne 22
         8: .line 1076
            goto 19
         9: .line 1077
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            istore 4 /* off */
        start local 4 // int off
        10: .line 1078
            iload 3 /* i */
            iconst_1
            iadd
            iload 2 /* len */
            if_icmpge 16
        11: .line 1079
            aload 1 /* name */
            iload 3 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 58
            if_icmpne 16
        12: .line 1080
            aload 1 /* name */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic sun.tools.jar.Main.isWinDriveLetter:(C)Z
            ifeq 16
        13: .line 1081
            iinc 3 /* i */ 2
        14: .line 1083
            goto 16
        15: .line 1084
      StackMap locals: int
      StackMap stack:
            iinc 3 /* i */ 1
        16: .line 1083
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* len */
            if_icmpge 17
            aload 1 /* name */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 15
        17: .line 1086
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 4 /* off */
            if_icmpne 19
        18: .line 1087
            goto 23
        end local 4 // int off
        19: .line 1076
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* len */
            if_icmplt 9
        20: .line 1090
            goto 23
        21: .line 1092
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        22: .line 1091
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* len */
            if_icmpge 23
            aload 1 /* name */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpeq 21
        23: .line 1095
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            ifeq 25
        24: .line 1096
            aload 1 /* name */
            iload 3 /* i */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* name */
        end local 3 // int i
        end local 2 // int len
        25: .line 1099
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            areturn
        end local 1 // java.lang.String name
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   26     0  this  Lsun/tools/jar/Main;
            0   26     1  name  Ljava/lang/String;
            2   25     2   len  I
            3   25     3     i  I
           10   19     4   off  I
    MethodParameters:
      Name  Flags
      name  

  private void addVersion(java.util.jar.Manifest);
    descriptor: (Ljava/util/jar/Manifest;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.jar.Manifest m
         0: .line 1103
            aload 1 /* m */
            invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
            astore 2 /* global */
        start local 2 // java.util.jar.Attributes global
         1: .line 1104
            aload 2 /* global */
            getstatic java.util.jar.Attributes$Name.MANIFEST_VERSION:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            ifnonnull 3
         2: .line 1105
            aload 2 /* global */
            getstatic java.util.jar.Attributes$Name.MANIFEST_VERSION:Ljava/util/jar/Attributes$Name;
            ldc "1.0"
            invokevirtual java.util.jar.Attributes.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 1107
      StackMap locals: java.util.jar.Attributes
      StackMap stack:
            return
        end local 2 // java.util.jar.Attributes global
        end local 1 // java.util.jar.Manifest m
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/tools/jar/Main;
            0    4     1       m  Ljava/util/jar/Manifest;
            1    4     2  global  Ljava/util/jar/Attributes;
    MethodParameters:
      Name  Flags
      m     

  private void addCreatedBy(java.util.jar.Manifest);
    descriptor: (Ljava/util/jar/Manifest;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.jar.Manifest m
         0: .line 1110
            aload 1 /* m */
            invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
            astore 2 /* global */
        start local 2 // java.util.jar.Attributes global
         1: .line 1111
            aload 2 /* global */
            new java.util.jar.Attributes$Name
            dup
            ldc "Created-By"
            invokespecial java.util.jar.Attributes$Name.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            ifnonnull 7
         2: .line 1112
            ldc "java.vendor"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* javaVendor */
        start local 3 // java.lang.String javaVendor
         3: .line 1113
            ldc "java.version"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* jdkVersion */
        start local 4 // java.lang.String jdkVersion
         4: .line 1114
            aload 2 /* global */
            new java.util.jar.Attributes$Name
            dup
            ldc "Created-By"
            invokespecial java.util.jar.Attributes$Name.<init>:(Ljava/lang/String;)V
            new java.lang.StringBuilder
            dup
            aload 4 /* jdkVersion */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 1115
            aload 3 /* javaVendor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 1114
            invokevirtual java.util.jar.Attributes.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String jdkVersion
        end local 3 // java.lang.String javaVendor
         7: .line 1117
      StackMap locals: java.util.jar.Attributes
      StackMap stack:
            return
        end local 2 // java.util.jar.Attributes global
        end local 1 // java.util.jar.Manifest m
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lsun/tools/jar/Main;
            0    8     1           m  Ljava/util/jar/Manifest;
            1    8     2      global  Ljava/util/jar/Attributes;
            3    7     3  javaVendor  Ljava/lang/String;
            4    7     4  jdkVersion  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      m     

  private void addMainClass(java.util.jar.Manifest, java.lang.String);
    descriptor: (Ljava/util/jar/Manifest;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.jar.Manifest m
        start local 2 // java.lang.String mainApp
         0: .line 1120
            aload 1 /* m */
            invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
            astore 3 /* global */
        start local 3 // java.util.jar.Attributes global
         1: .line 1123
            aload 3 /* global */
            getstatic java.util.jar.Attributes$Name.MAIN_CLASS:Ljava/util/jar/Attributes$Name;
            aload 2 /* mainApp */
            invokevirtual java.util.jar.Attributes.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1124
            return
        end local 3 // java.util.jar.Attributes global
        end local 2 // java.lang.String mainApp
        end local 1 // java.util.jar.Manifest m
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lsun/tools/jar/Main;
            0    3     1        m  Ljava/util/jar/Manifest;
            0    3     2  mainApp  Ljava/lang/String;
            1    3     3   global  Ljava/util/jar/Attributes;
    MethodParameters:
         Name  Flags
      m        
      mainApp  

  private void addMultiRelease(java.util.jar.Manifest);
    descriptor: (Ljava/util/jar/Manifest;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.jar.Manifest m
         0: .line 1127
            aload 1 /* m */
            invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
            astore 2 /* global */
        start local 2 // java.util.jar.Attributes global
         1: .line 1128
            aload 2 /* global */
            getstatic java.util.jar.Attributes$Name.MULTI_RELEASE:Ljava/util/jar/Attributes$Name;
            ldc "true"
            invokevirtual java.util.jar.Attributes.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1129
            return
        end local 2 // java.util.jar.Attributes global
        end local 1 // java.util.jar.Manifest m
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lsun/tools/jar/Main;
            0    3     1       m  Ljava/util/jar/Manifest;
            1    3     2  global  Ljava/util/jar/Attributes;
    MethodParameters:
      Name  Flags
      m     

  private boolean isAmbiguousMainClass(java.util.jar.Manifest);
    descriptor: (Ljava/util/jar/Manifest;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.jar.Manifest m
         0: .line 1132
            aload 0 /* this */
            getfield sun.tools.jar.Main.ename:Ljava/lang/String;
            ifnull 5
         1: .line 1133
            aload 1 /* m */
            invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
            astore 2 /* global */
        start local 2 // java.util.jar.Attributes global
         2: .line 1134
            aload 2 /* global */
            getstatic java.util.jar.Attributes$Name.MAIN_CLASS:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 5
         3: .line 1135
            aload 0 /* this */
            ldc "error.bad.eflag"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.usageError:(Ljava/lang/String;)V
         4: .line 1136
            iconst_1
            ireturn
        end local 2 // java.util.jar.Attributes global
         5: .line 1139
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.util.jar.Manifest m
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lsun/tools/jar/Main;
            0    6     1       m  Ljava/util/jar/Manifest;
            2    5     2  global  Ljava/util/jar/Attributes;
    MethodParameters:
      Name  Flags
      m     

  void addFile(java.util.zip.ZipOutputStream, sun.tools.jar.Main$Entry);
    descriptor: (Ljava/util/zip/ZipOutputStream;Lsun/tools/jar/Main$Entry;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.zip.ZipOutputStream zos
        start local 2 // sun.tools.jar.Main$Entry entry
         0: .line 1147
            aload 2 /* entry */
            getfield sun.tools.jar.Main$Entry.file:Ljava/io/File;
            astore 3 /* file */
        start local 3 // java.io.File file
         1: .line 1148
            aload 2 /* entry */
            getfield sun.tools.jar.Main$Entry.name:Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         2: .line 1149
            aload 2 /* entry */
            getfield sun.tools.jar.Main$Entry.isDir:Z
            istore 5 /* isDir */
        start local 5 // boolean isDir
         3: .line 1151
            aload 4 /* name */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 4
            aload 4 /* name */
            ldc "."
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
            aload 4 /* name */
            aload 0 /* this */
            getfield sun.tools.jar.Main.zname:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 1152
      StackMap locals: java.io.File java.lang.String int
      StackMap stack:
            return
         5: .line 1153
      StackMap locals:
      StackMap stack:
            aload 4 /* name */
            ldc "META-INF/"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            aload 4 /* name */
            ldc "META-INF/MANIFEST.MF"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         6: .line 1154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.Mflag:Z
            ifne 10
         7: .line 1155
            aload 0 /* this */
            getfield sun.tools.jar.Main.vflag:Z
            ifeq 9
         8: .line 1156
            aload 0 /* this */
            ldc "out.ignore.entry"
            aload 4 /* name */
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
         9: .line 1158
      StackMap locals:
      StackMap stack:
            return
        10: .line 1159
      StackMap locals:
      StackMap stack:
            aload 4 /* name */
            ldc "module-info.class"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 1160
            new java.lang.Error
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected module info: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 1163
      StackMap locals:
      StackMap stack:
            iload 5 /* isDir */
            ifeq 13
            lconst_0
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 3 /* file */
            invokevirtual java.io.File.length:()J
      StackMap locals:
      StackMap stack: long
        14: lstore 6 /* size */
        start local 6 // long size
        15: .line 1165
            aload 0 /* this */
            getfield sun.tools.jar.Main.vflag:Z
            ifeq 17
        16: .line 1166
            aload 0 /* this */
            getfield sun.tools.jar.Main.out:Ljava/io/PrintWriter;
            ldc "out.adding"
            aload 4 /* name */
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        17: .line 1168
      StackMap locals: long
      StackMap stack:
            new java.util.zip.ZipEntry
            dup
            aload 4 /* name */
            invokespecial java.util.zip.ZipEntry.<init>:(Ljava/lang/String;)V
            astore 8 /* e */
        start local 8 // java.util.zip.ZipEntry e
        18: .line 1169
            aload 8 /* e */
            aload 3 /* file */
            invokevirtual java.io.File.lastModified:()J
            invokevirtual java.util.zip.ZipEntry.setTime:(J)V
        19: .line 1170
            lload 6 /* size */
            lconst_0
            lcmp
            ifne 24
        20: .line 1171
            aload 8 /* e */
            iconst_0
            invokevirtual java.util.zip.ZipEntry.setMethod:(I)V
        21: .line 1172
            aload 8 /* e */
            lconst_0
            invokevirtual java.util.zip.ZipEntry.setSize:(J)V
        22: .line 1173
            aload 8 /* e */
            lconst_0
            invokevirtual java.util.zip.ZipEntry.setCrc:(J)V
        23: .line 1174
            goto 26
      StackMap locals: java.util.zip.ZipEntry
      StackMap stack:
        24: aload 0 /* this */
            getfield sun.tools.jar.Main.flag0:Z
            ifeq 26
        25: .line 1175
            aload 0 /* this */
            aload 8 /* e */
            aload 3 /* file */
            invokevirtual sun.tools.jar.Main.crc32File:(Ljava/util/zip/ZipEntry;Ljava/io/File;)V
        26: .line 1177
      StackMap locals:
      StackMap stack:
            aload 1 /* zos */
            aload 8 /* e */
            invokevirtual java.util.zip.ZipOutputStream.putNextEntry:(Ljava/util/zip/ZipEntry;)V
        27: .line 1178
            iload 5 /* isDir */
            ifne 29
        28: .line 1179
            aload 0 /* this */
            aload 3 /* file */
            aload 1 /* zos */
            invokevirtual sun.tools.jar.Main.copy:(Ljava/io/File;Ljava/io/OutputStream;)V
        29: .line 1181
      StackMap locals:
      StackMap stack:
            aload 1 /* zos */
            invokevirtual java.util.zip.ZipOutputStream.closeEntry:()V
        30: .line 1183
            aload 0 /* this */
            getfield sun.tools.jar.Main.vflag:Z
            ifeq 43
        31: .line 1184
            aload 8 /* e */
            invokevirtual java.util.zip.ZipEntry.getSize:()J
            lstore 6 /* size */
        32: .line 1185
            aload 8 /* e */
            invokevirtual java.util.zip.ZipEntry.getCompressedSize:()J
            lstore 9 /* csize */
        start local 9 // long csize
        33: .line 1186
            aload 0 /* this */
            getfield sun.tools.jar.Main.out:Ljava/io/PrintWriter;
            ldc "out.size"
            lload 6 /* size */
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
        34: .line 1187
            lload 9 /* csize */
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
        35: .line 1186
            invokestatic sun.tools.jar.Main.formatMsg2:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        36: .line 1188
            aload 8 /* e */
            invokevirtual java.util.zip.ZipEntry.getMethod:()I
            bipush 8
            if_icmpne 42
        37: .line 1189
            lconst_0
            lstore 11 /* ratio */
        start local 11 // long ratio
        38: .line 1190
            lload 6 /* size */
            lconst_0
            lcmp
            ifeq 40
        39: .line 1191
            lload 6 /* size */
            lload 9 /* csize */
            lsub
            ldc 100
            lmul
            lload 6 /* size */
            ldiv
            lstore 11 /* ratio */
        40: .line 1193
      StackMap locals: long long
      StackMap stack:
            aload 0 /* this */
            ldc "out.deflated"
            lload 11 /* ratio */
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
        end local 11 // long ratio
        41: .line 1194
            goto 43
        42: .line 1195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "out.stored"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
        end local 9 // long csize
        43: .line 1198
      StackMap locals:
      StackMap stack:
            return
        end local 8 // java.util.zip.ZipEntry e
        end local 6 // long size
        end local 5 // boolean isDir
        end local 4 // java.lang.String name
        end local 3 // java.io.File file
        end local 2 // sun.tools.jar.Main$Entry entry
        end local 1 // java.util.zip.ZipOutputStream zos
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   44     0   this  Lsun/tools/jar/Main;
            0   44     1    zos  Ljava/util/zip/ZipOutputStream;
            0   44     2  entry  Lsun/tools/jar/Main$Entry;
            1   44     3   file  Ljava/io/File;
            2   44     4   name  Ljava/lang/String;
            3   44     5  isDir  Z
           15   44     6   size  J
           18   44     8      e  Ljava/util/zip/ZipEntry;
           33   43     9  csize  J
           38   41    11  ratio  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      zos    
      entry  

  private void copy(java.io.InputStream, java.io.OutputStream);
    descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.io.InputStream from
        start local 2 // java.io.OutputStream to
         0: .line 1217
            goto 2
        start local 3 // int n
         1: .line 1218
      StackMap locals: int
      StackMap stack:
            aload 2 /* to */
            aload 0 /* this */
            getfield sun.tools.jar.Main.copyBuf:[B
            iconst_0
            iload 3 /* n */
            invokevirtual java.io.OutputStream.write:([BII)V
        end local 3 // int n
         2: .line 1217
      StackMap locals:
      StackMap stack:
            aload 1 /* from */
            aload 0 /* this */
            getfield sun.tools.jar.Main.copyBuf:[B
            invokevirtual java.io.InputStream.read:([B)I
            dup
            istore 3 /* n */
        start local 3 // int n
         3: iconst_m1
            if_icmpne 1
         4: .line 1219
            return
        end local 3 // int n
        end local 2 // java.io.OutputStream to
        end local 1 // java.io.InputStream from
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/tools/jar/Main;
            0    5     1  from  Ljava/io/InputStream;
            0    5     2    to  Ljava/io/OutputStream;
            1    2     3     n  I
            3    5     3     n  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      from  
      to    

  private void copy(java.io.File, java.io.OutputStream);
    descriptor: (Ljava/io/File;Ljava/io/OutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.io.File from
        start local 2 // java.io.OutputStream to
         0: .line 1230
            aconst_null
            astore 3
            aconst_null
            astore 4
         1: new java.io.FileInputStream
            dup
            aload 1 /* from */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 5 /* in */
        start local 5 // java.io.InputStream in
         2: .line 1231
            aload 0 /* this */
            aload 5 /* in */
            aload 2 /* to */
            invokevirtual sun.tools.jar.Main.copy:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
         3: .line 1232
            aload 5 /* in */
            ifnull 9
            aload 5 /* in */
            invokevirtual java.io.InputStream.close:()V
            goto 9
      StackMap locals: sun.tools.jar.Main java.io.File java.io.OutputStream java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
         4: astore 3
            aload 5 /* in */
            ifnull 5
            aload 5 /* in */
            invokevirtual java.io.InputStream.close:()V
        end local 5 // java.io.InputStream in
      StackMap locals:
      StackMap stack:
         5: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 4
            aload 3
            ifnonnull 7
            aload 4
            astore 3
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 3
            aload 4
            if_acmpeq 8
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         8: aload 3
            athrow
         9: .line 1233
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.OutputStream to
        end local 1 // java.io.File from
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/tools/jar/Main;
            0   10     1  from  Ljava/io/File;
            0   10     2    to  Ljava/io/OutputStream;
            2    5     5    in  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           2     3       4  any
           1     6       6  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      from  
      to    

  private void copy(java.io.InputStream, java.io.File);
    descriptor: (Ljava/io/InputStream;Ljava/io/File;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.io.InputStream from
        start local 2 // java.io.File to
         0: .line 1244
            aconst_null
            astore 3
            aconst_null
            astore 4
         1: new java.io.FileOutputStream
            dup
            aload 2 /* to */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 5 /* out */
        start local 5 // java.io.OutputStream out
         2: .line 1245
            aload 0 /* this */
            aload 1 /* from */
            aload 5 /* out */
            invokevirtual sun.tools.jar.Main.copy:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
         3: .line 1246
            aload 5 /* out */
            ifnull 9
            aload 5 /* out */
            invokevirtual java.io.OutputStream.close:()V
            goto 9
      StackMap locals: sun.tools.jar.Main java.io.InputStream java.io.File java.lang.Throwable java.lang.Throwable java.io.OutputStream
      StackMap stack: java.lang.Throwable
         4: astore 3
            aload 5 /* out */
            ifnull 5
            aload 5 /* out */
            invokevirtual java.io.OutputStream.close:()V
        end local 5 // java.io.OutputStream out
      StackMap locals:
      StackMap stack:
         5: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 4
            aload 3
            ifnonnull 7
            aload 4
            astore 3
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 3
            aload 4
            if_acmpeq 8
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         8: aload 3
            athrow
         9: .line 1247
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.File to
        end local 1 // java.io.InputStream from
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/tools/jar/Main;
            0   10     1  from  Ljava/io/InputStream;
            0   10     2    to  Ljava/io/File;
            2    5     5   out  Ljava/io/OutputStream;
      Exception table:
        from    to  target  type
           2     3       4  any
           1     6       6  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      from  
      to    

  private void crc32ModuleInfo(java.util.zip.ZipEntry, byte[]);
    descriptor: (Ljava/util/zip/ZipEntry;[B)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.zip.ZipEntry e
        start local 2 // byte[] bytes
         0: .line 1254
            new sun.tools.jar.Main$CRC32OutputStream
            dup
            invokespecial sun.tools.jar.Main$CRC32OutputStream.<init>:()V
            astore 3 /* os */
        start local 3 // sun.tools.jar.Main$CRC32OutputStream os
         1: .line 1255
            new java.io.ByteArrayInputStream
            dup
            aload 2 /* bytes */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 4 /* in */
        start local 4 // java.io.ByteArrayInputStream in
         2: .line 1256
            aload 4 /* in */
            aload 3 /* os */
            invokevirtual java.io.ByteArrayInputStream.transferTo:(Ljava/io/OutputStream;)J
            pop2
         3: .line 1257
            aload 3 /* os */
            aload 1 /* e */
            invokevirtual sun.tools.jar.Main$CRC32OutputStream.updateEntry:(Ljava/util/zip/ZipEntry;)V
         4: .line 1258
            return
        end local 4 // java.io.ByteArrayInputStream in
        end local 3 // sun.tools.jar.Main$CRC32OutputStream os
        end local 2 // byte[] bytes
        end local 1 // java.util.zip.ZipEntry e
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lsun/tools/jar/Main;
            0    5     1      e  Ljava/util/zip/ZipEntry;
            0    5     2  bytes  [B
            1    5     3     os  Lsun/tools/jar/Main$CRC32OutputStream;
            2    5     4     in  Ljava/io/ByteArrayInputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      e      
      bytes  

  private void crc32Manifest(java.util.zip.ZipEntry, java.util.jar.Manifest);
    descriptor: (Ljava/util/zip/ZipEntry;Ljava/util/jar/Manifest;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.zip.ZipEntry e
        start local 2 // java.util.jar.Manifest m
         0: .line 1265
            new sun.tools.jar.Main$CRC32OutputStream
            dup
            invokespecial sun.tools.jar.Main$CRC32OutputStream.<init>:()V
            astore 3 /* os */
        start local 3 // sun.tools.jar.Main$CRC32OutputStream os
         1: .line 1266
            aload 2 /* m */
            aload 3 /* os */
            invokevirtual java.util.jar.Manifest.write:(Ljava/io/OutputStream;)V
         2: .line 1267
            aload 3 /* os */
            aload 1 /* e */
            invokevirtual sun.tools.jar.Main$CRC32OutputStream.updateEntry:(Ljava/util/zip/ZipEntry;)V
         3: .line 1268
            return
        end local 3 // sun.tools.jar.Main$CRC32OutputStream os
        end local 2 // java.util.jar.Manifest m
        end local 1 // java.util.zip.ZipEntry e
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/tools/jar/Main;
            0    4     1     e  Ljava/util/zip/ZipEntry;
            0    4     2     m  Ljava/util/jar/Manifest;
            1    4     3    os  Lsun/tools/jar/Main$CRC32OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      e     
      m     

  private void crc32File(java.util.zip.ZipEntry, java.io.File);
    descriptor: (Ljava/util/zip/ZipEntry;Ljava/io/File;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.zip.ZipEntry e
        start local 2 // java.io.File f
         0: .line 1275
            new sun.tools.jar.Main$CRC32OutputStream
            dup
            invokespecial sun.tools.jar.Main$CRC32OutputStream.<init>:()V
            astore 3 /* os */
        start local 3 // sun.tools.jar.Main$CRC32OutputStream os
         1: .line 1276
            aload 0 /* this */
            aload 2 /* f */
            aload 3 /* os */
            invokevirtual sun.tools.jar.Main.copy:(Ljava/io/File;Ljava/io/OutputStream;)V
         2: .line 1277
            aload 3 /* os */
            getfield sun.tools.jar.Main$CRC32OutputStream.n:J
            aload 2 /* f */
            invokevirtual java.io.File.length:()J
            lcmp
            ifeq 6
         3: .line 1278
            new sun.tools.jar.JarException
            dup
         4: .line 1279
            ldc "error.incorrect.length"
            aload 2 /* f */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
         5: .line 1278
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial sun.tools.jar.JarException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1281
      StackMap locals: sun.tools.jar.Main$CRC32OutputStream
      StackMap stack:
            aload 3 /* os */
            aload 1 /* e */
            invokevirtual sun.tools.jar.Main$CRC32OutputStream.updateEntry:(Ljava/util/zip/ZipEntry;)V
         7: .line 1282
            return
        end local 3 // sun.tools.jar.Main$CRC32OutputStream os
        end local 2 // java.io.File f
        end local 1 // java.util.zip.ZipEntry e
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/tools/jar/Main;
            0    8     1     e  Ljava/util/zip/ZipEntry;
            0    8     2     f  Ljava/io/File;
            1    8     3    os  Lsun/tools/jar/Main$CRC32OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      e     
      f     

  void replaceFSC(java.util.Map<java.lang.Integer, java.lang.String[]>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.Map filesMap
         0: .line 1285
            aload 1 /* filesMap */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            aload 1 /* filesMap */
            invokedynamic accept(Ljava/util/Map;)Ljava/util/function/Consumer;
              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;)V
                  sun/tools/jar/Main.lambda$8(Ljava/util/Map;Ljava/lang/Integer;)V (6)
                  (Ljava/lang/Integer;)V
            invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
         1: .line 1293
            return
        end local 1 // java.util.Map filesMap
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lsun/tools/jar/Main;
            0    2     1  filesMap  Ljava/util/Map<Ljava/lang/Integer;[Ljava/lang/String;>;
    Signature: (Ljava/util/Map<Ljava/lang/Integer;[Ljava/lang/String;>;)V
    MethodParameters:
          Name  Flags
      filesMap  

  java.util.Set<java.util.zip.ZipEntry> newDirSet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.tools.jar.Main this
         0: .line 1297
            new sun.tools.jar.Main$1
            dup
            aload 0 /* this */
            invokespecial sun.tools.jar.Main$1.<init>:(Lsun/tools/jar/Main;)V
            areturn
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jar/Main;
    Signature: ()Ljava/util/Set<Ljava/util/zip/ZipEntry;>;

  void updateLastModifiedTime(java.util.Set<java.util.zip.ZipEntry>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.Set zes
         0: .line 1304
            aload 1 /* zes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: sun.tools.jar.Main java.util.Set top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.zip.ZipEntry
            astore 2 /* ze */
        start local 2 // java.util.zip.ZipEntry ze
         2: .line 1305
            aload 2 /* ze */
            invokevirtual java.util.zip.ZipEntry.getTime:()J
            lstore 4 /* lastModified */
        start local 4 // long lastModified
         3: .line 1306
            lload 4 /* lastModified */
            ldc -1
            lcmp
            ifeq 8
         4: .line 1307
            aload 0 /* this */
            aload 2 /* ze */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            getstatic java.io.File.separatorChar:C
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.safeName:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         5: .line 1308
            aload 6 /* name */
            invokevirtual java.lang.String.length:()I
            ifeq 8
         6: .line 1309
            new java.io.File
            dup
            aload 6 /* name */
            bipush 47
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 7 /* f */
        start local 7 // java.io.File f
         7: .line 1310
            aload 7 /* f */
            lload 4 /* lastModified */
            invokevirtual java.io.File.setLastModified:(J)Z
            pop
        end local 7 // java.io.File f
        end local 6 // java.lang.String name
        end local 4 // long lastModified
        end local 2 // java.util.zip.ZipEntry ze
         8: .line 1304
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         9: .line 1314
            return
        end local 1 // java.util.Set zes
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lsun/tools/jar/Main;
            0   10     1           zes  Ljava/util/Set<Ljava/util/zip/ZipEntry;>;
            2    8     2            ze  Ljava/util/zip/ZipEntry;
            3    8     4  lastModified  J
            5    8     6          name  Ljava/lang/String;
            7    8     7             f  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Set<Ljava/util/zip/ZipEntry;>;)V
    MethodParameters:
      Name  Flags
      zes   

  boolean extract(java.io.InputStream, java.lang.String[]);
    descriptor: (Ljava/io/InputStream;[Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.io.InputStream in
        start local 2 // java.lang.String[] files
         0: .line 1323
            new java.util.zip.ZipInputStream
            dup
            aload 1 /* in */
            invokespecial java.util.zip.ZipInputStream.<init>:(Ljava/io/InputStream;)V
            astore 3 /* zis */
        start local 3 // java.util.zip.ZipInputStream zis
         1: .line 1327
            iconst_0
            istore 5 /* entriesFound */
        start local 5 // boolean entriesFound
         2: .line 1328
            aload 0 /* this */
            invokevirtual sun.tools.jar.Main.newDirSet:()Ljava/util/Set;
            astore 6 /* dirs */
        start local 6 // java.util.Set dirs
         3: .line 1329
            goto 16
        start local 4 // java.util.zip.ZipEntry e
         4: .line 1330
      StackMap locals: sun.tools.jar.Main java.io.InputStream java.lang.String[] java.util.zip.ZipInputStream java.util.zip.ZipEntry int java.util.Set
      StackMap stack:
            iconst_1
            istore 5 /* entriesFound */
         5: .line 1331
            aload 2 /* files */
            ifnonnull 8
         6: .line 1332
            aload 6 /* dirs */
            aload 0 /* this */
            aload 3 /* zis */
            aload 4 /* e */
            invokevirtual sun.tools.jar.Main.extractFile:(Ljava/io/InputStream;Ljava/util/zip/ZipEntry;)Ljava/util/zip/ZipEntry;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1333
            goto 16
         8: .line 1334
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
         9: .line 1335
            aload 2 /* files */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 15
      StackMap locals: sun.tools.jar.Main java.io.InputStream java.lang.String[] java.util.zip.ZipInputStream java.util.zip.ZipEntry int java.util.Set java.lang.String top int int java.lang.String[]
      StackMap stack:
        10: aload 11
            iload 9
            aaload
            astore 8 /* file */
        start local 8 // java.lang.String file
        11: .line 1336
            aload 7 /* name */
            aload 8 /* file */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 14
        12: .line 1337
            aload 6 /* dirs */
            aload 0 /* this */
            aload 3 /* zis */
            aload 4 /* e */
            invokevirtual sun.tools.jar.Main.extractFile:(Ljava/io/InputStream;Ljava/util/zip/ZipEntry;)Ljava/util/zip/ZipEntry;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        13: .line 1338
            goto 16
        end local 8 // java.lang.String file
        14: .line 1335
      StackMap locals:
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        15: iload 9
            iload 10
            if_icmplt 10
        end local 7 // java.lang.String name
        end local 4 // java.util.zip.ZipEntry e
        16: .line 1329
      StackMap locals: sun.tools.jar.Main java.io.InputStream java.lang.String[] java.util.zip.ZipInputStream top int java.util.Set
      StackMap stack:
            aload 3 /* zis */
            invokevirtual java.util.zip.ZipInputStream.getNextEntry:()Ljava/util/zip/ZipEntry;
            dup
            astore 4 /* e */
        start local 4 // java.util.zip.ZipEntry e
        17: ifnonnull 4
        18: .line 1348
            aload 0 /* this */
            aload 6 /* dirs */
            invokevirtual sun.tools.jar.Main.updateLastModifiedTime:(Ljava/util/Set;)V
        19: .line 1350
            iload 5 /* entriesFound */
            ireturn
        end local 6 // java.util.Set dirs
        end local 5 // boolean entriesFound
        end local 4 // java.util.zip.ZipEntry e
        end local 3 // java.util.zip.ZipInputStream zis
        end local 2 // java.lang.String[] files
        end local 1 // java.io.InputStream in
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Lsun/tools/jar/Main;
            0   20     1            in  Ljava/io/InputStream;
            0   20     2         files  [Ljava/lang/String;
            1   20     3           zis  Ljava/util/zip/ZipInputStream;
            4   16     4             e  Ljava/util/zip/ZipEntry;
           17   20     4             e  Ljava/util/zip/ZipEntry;
            2   20     5  entriesFound  Z
            3   20     6          dirs  Ljava/util/Set<Ljava/util/zip/ZipEntry;>;
            9   16     7          name  Ljava/lang/String;
           11   14     8          file  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      in     
      files  

  void extract(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.String fname
        start local 2 // java.lang.String[] files
         0: .line 1357
            new java.util.zip.ZipFile
            dup
            aload 1 /* fname */
            invokespecial java.util.zip.ZipFile.<init>:(Ljava/lang/String;)V
            astore 3 /* zf */
        start local 3 // java.util.zip.ZipFile zf
         1: .line 1358
            aload 0 /* this */
            invokevirtual sun.tools.jar.Main.newDirSet:()Ljava/util/Set;
            astore 4 /* dirs */
        start local 4 // java.util.Set dirs
         2: .line 1359
            aload 3 /* zf */
            invokevirtual java.util.zip.ZipFile.entries:()Ljava/util/Enumeration;
            astore 5 /* zes */
        start local 5 // java.util.Enumeration zes
         3: .line 1360
            goto 16
         4: .line 1361
      StackMap locals: java.util.zip.ZipFile java.util.Set java.util.Enumeration
      StackMap stack:
            aload 5 /* zes */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.util.zip.ZipEntry
            astore 6 /* e */
        start local 6 // java.util.zip.ZipEntry e
         5: .line 1362
            aload 2 /* files */
            ifnonnull 8
         6: .line 1363
            aload 4 /* dirs */
            aload 0 /* this */
            aload 3 /* zf */
            aload 6 /* e */
            invokevirtual java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
            aload 6 /* e */
            invokevirtual sun.tools.jar.Main.extractFile:(Ljava/io/InputStream;Ljava/util/zip/ZipEntry;)Ljava/util/zip/ZipEntry;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1364
            goto 16
         8: .line 1365
      StackMap locals: java.util.zip.ZipEntry
      StackMap stack:
            aload 6 /* e */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
         9: .line 1366
            aload 2 /* files */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 15
      StackMap locals: sun.tools.jar.Main java.lang.String java.lang.String[] java.util.zip.ZipFile java.util.Set java.util.Enumeration java.util.zip.ZipEntry java.lang.String top int int java.lang.String[]
      StackMap stack:
        10: aload 11
            iload 9
            aaload
            astore 8 /* file */
        start local 8 // java.lang.String file
        11: .line 1367
            aload 7 /* name */
            aload 8 /* file */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 14
        12: .line 1368
            aload 4 /* dirs */
            aload 0 /* this */
            aload 3 /* zf */
            aload 6 /* e */
            invokevirtual java.util.zip.ZipFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
            aload 6 /* e */
            invokevirtual sun.tools.jar.Main.extractFile:(Ljava/io/InputStream;Ljava/util/zip/ZipEntry;)Ljava/util/zip/ZipEntry;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        13: .line 1369
            goto 16
        end local 8 // java.lang.String file
        14: .line 1366
      StackMap locals:
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        15: iload 9
            iload 10
            if_icmplt 10
        end local 7 // java.lang.String name
        end local 6 // java.util.zip.ZipEntry e
        16: .line 1360
      StackMap locals: sun.tools.jar.Main java.lang.String java.lang.String[] java.util.zip.ZipFile java.util.Set java.util.Enumeration
      StackMap stack:
            aload 5 /* zes */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 4
        17: .line 1374
            aload 3 /* zf */
            invokevirtual java.util.zip.ZipFile.close:()V
        18: .line 1375
            aload 0 /* this */
            aload 4 /* dirs */
            invokevirtual sun.tools.jar.Main.updateLastModifiedTime:(Ljava/util/Set;)V
        19: .line 1376
            return
        end local 5 // java.util.Enumeration zes
        end local 4 // java.util.Set dirs
        end local 3 // java.util.zip.ZipFile zf
        end local 2 // java.lang.String[] files
        end local 1 // java.lang.String fname
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   20     0   this  Lsun/tools/jar/Main;
            0   20     1  fname  Ljava/lang/String;
            0   20     2  files  [Ljava/lang/String;
            1   20     3     zf  Ljava/util/zip/ZipFile;
            2   20     4   dirs  Ljava/util/Set<Ljava/util/zip/ZipEntry;>;
            3   20     5    zes  Ljava/util/Enumeration<+Ljava/util/zip/ZipEntry;>;
            5   16     6      e  Ljava/util/zip/ZipEntry;
            9   16     7   name  Ljava/lang/String;
           11   14     8   file  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      fname  
      files  

  java.util.zip.ZipEntry extractFile(java.io.InputStream, java.util.zip.ZipEntry);
    descriptor: (Ljava/io/InputStream;Ljava/util/zip/ZipEntry;)Ljava/util/zip/ZipEntry;
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.io.InputStream is
        start local 2 // java.util.zip.ZipEntry e
         0: .line 1384
            aconst_null
            astore 3 /* rc */
        start local 3 // java.util.zip.ZipEntry rc
         1: .line 1390
            aload 0 /* this */
            aload 2 /* e */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            getstatic java.io.File.separatorChar:C
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.safeName:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         2: .line 1391
            aload 4 /* name */
            invokevirtual java.lang.String.length:()I
            ifne 4
         3: .line 1392
            aload 3 /* rc */
            areturn
         4: .line 1394
      StackMap locals: java.util.zip.ZipEntry java.lang.String
      StackMap stack:
            new java.io.File
            dup
            aload 4 /* name */
            bipush 47
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 5 /* f */
        start local 5 // java.io.File f
         5: .line 1395
            aload 2 /* e */
            invokevirtual java.util.zip.ZipEntry.isDirectory:()Z
            ifeq 19
         6: .line 1396
            aload 5 /* f */
            invokevirtual java.io.File.exists:()Z
            ifeq 11
         7: .line 1397
            aload 5 /* f */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 16
         8: .line 1398
            new java.io.IOException
            dup
            ldc "error.create.dir"
         9: .line 1399
            aload 5 /* f */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
        10: .line 1398
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1402
      StackMap locals: java.io.File
      StackMap stack:
            aload 5 /* f */
            invokevirtual java.io.File.mkdirs:()Z
            ifne 15
        12: .line 1403
            new java.io.IOException
            dup
            ldc "error.create.dir"
        13: .line 1404
            aload 5 /* f */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
        14: .line 1403
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 1406
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            astore 3 /* rc */
        16: .line 1410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.vflag:Z
            ifeq 41
        17: .line 1411
            aload 0 /* this */
            ldc "out.create"
            aload 4 /* name */
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
        18: .line 1413
            goto 41
        19: .line 1414
      StackMap locals:
      StackMap stack:
            aload 5 /* f */
            invokevirtual java.io.File.getParent:()Ljava/lang/String;
            ifnull 26
        20: .line 1415
            new java.io.File
            dup
            aload 5 /* f */
            invokevirtual java.io.File.getParent:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 6 /* d */
        start local 6 // java.io.File d
        21: .line 1416
            aload 6 /* d */
            invokevirtual java.io.File.exists:()Z
            ifne 22
            aload 6 /* d */
            invokevirtual java.io.File.mkdirs:()Z
            ifeq 23
      StackMap locals: java.io.File
      StackMap stack:
        22: aload 6 /* d */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 26
        23: .line 1417
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
        24: .line 1418
            ldc "error.create.dir"
            aload 6 /* d */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
        25: .line 1417
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.io.File d
        26: .line 1422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* is */
            aload 5 /* f */
            invokevirtual sun.tools.jar.Main.copy:(Ljava/io/InputStream;Ljava/io/File;)V
        27: .line 1423
            goto 33
      StackMap locals:
      StackMap stack: java.lang.Throwable
        28: astore 6
        29: .line 1424
            aload 1 /* is */
            instanceof java.util.zip.ZipInputStream
            ifeq 31
        30: .line 1425
            aload 1 /* is */
            checkcast java.util.zip.ZipInputStream
            invokevirtual java.util.zip.ZipInputStream.closeEntry:()V
            goto 32
        31: .line 1427
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1 /* is */
            invokevirtual java.io.InputStream.close:()V
        32: .line 1428
      StackMap locals:
      StackMap stack:
            aload 6
            athrow
        33: .line 1424
      StackMap locals:
      StackMap stack:
            aload 1 /* is */
            instanceof java.util.zip.ZipInputStream
            ifeq 35
        34: .line 1425
            aload 1 /* is */
            checkcast java.util.zip.ZipInputStream
            invokevirtual java.util.zip.ZipInputStream.closeEntry:()V
            goto 36
        35: .line 1427
      StackMap locals:
      StackMap stack:
            aload 1 /* is */
            invokevirtual java.io.InputStream.close:()V
        36: .line 1429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.vflag:Z
            ifeq 41
        37: .line 1430
            aload 2 /* e */
            invokevirtual java.util.zip.ZipEntry.getMethod:()I
            bipush 8
            if_icmpne 40
        38: .line 1431
            aload 0 /* this */
            ldc "out.inflated"
            aload 4 /* name */
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
        39: .line 1432
            goto 41
        40: .line 1433
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "out.extracted"
            aload 4 /* name */
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
        41: .line 1437
      StackMap locals:
      StackMap stack:
            getstatic sun.tools.jar.Main.useExtractionTime:Z
            ifne 45
        42: .line 1438
            aload 2 /* e */
            invokevirtual java.util.zip.ZipEntry.getTime:()J
            lstore 6 /* lastModified */
        start local 6 // long lastModified
        43: .line 1439
            lload 6 /* lastModified */
            ldc -1
            lcmp
            ifeq 45
        44: .line 1440
            aload 5 /* f */
            lload 6 /* lastModified */
            invokevirtual java.io.File.setLastModified:(J)Z
            pop
        end local 6 // long lastModified
        45: .line 1443
      StackMap locals:
      StackMap stack:
            aload 3 /* rc */
            areturn
        end local 5 // java.io.File f
        end local 4 // java.lang.String name
        end local 3 // java.util.zip.ZipEntry rc
        end local 2 // java.util.zip.ZipEntry e
        end local 1 // java.io.InputStream is
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   46     0          this  Lsun/tools/jar/Main;
            0   46     1            is  Ljava/io/InputStream;
            0   46     2             e  Ljava/util/zip/ZipEntry;
            1   46     3            rc  Ljava/util/zip/ZipEntry;
            2   46     4          name  Ljava/lang/String;
            5   46     5             f  Ljava/io/File;
           21   26     6             d  Ljava/io/File;
           43   45     6  lastModified  J
      Exception table:
        from    to  target  type
          26    28      28  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      is    
      e     

  void list(java.io.InputStream, java.lang.String[]);
    descriptor: (Ljava/io/InputStream;[Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.io.InputStream in
        start local 2 // java.lang.String[] files
         0: .line 1450
            new java.util.zip.ZipInputStream
            dup
            aload 1 /* in */
            invokespecial java.util.zip.ZipInputStream.<init>:(Ljava/io/InputStream;)V
            astore 3 /* zis */
        start local 3 // java.util.zip.ZipInputStream zis
         1: .line 1452
            goto 4
        start local 4 // java.util.zip.ZipEntry e
         2: .line 1459
      StackMap locals: java.util.zip.ZipInputStream java.util.zip.ZipEntry
      StackMap stack:
            aload 3 /* zis */
            invokevirtual java.util.zip.ZipInputStream.closeEntry:()V
         3: .line 1460
            aload 0 /* this */
            aload 4 /* e */
            aload 2 /* files */
            invokevirtual sun.tools.jar.Main.printEntry:(Ljava/util/zip/ZipEntry;[Ljava/lang/String;)V
        end local 4 // java.util.zip.ZipEntry e
         4: .line 1452
      StackMap locals:
      StackMap stack:
            aload 3 /* zis */
            invokevirtual java.util.zip.ZipInputStream.getNextEntry:()Ljava/util/zip/ZipEntry;
            dup
            astore 4 /* e */
        start local 4 // java.util.zip.ZipEntry e
         5: ifnonnull 2
         6: .line 1462
            return
        end local 4 // java.util.zip.ZipEntry e
        end local 3 // java.util.zip.ZipInputStream zis
        end local 2 // java.lang.String[] files
        end local 1 // java.io.InputStream in
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lsun/tools/jar/Main;
            0    7     1     in  Ljava/io/InputStream;
            0    7     2  files  [Ljava/lang/String;
            1    7     3    zis  Ljava/util/zip/ZipInputStream;
            2    4     4      e  Ljava/util/zip/ZipEntry;
            5    7     4      e  Ljava/util/zip/ZipEntry;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      in     
      files  

  void list(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.String fname
        start local 2 // java.lang.String[] files
         0: .line 1468
            new java.util.zip.ZipFile
            dup
            aload 1 /* fname */
            invokespecial java.util.zip.ZipFile.<init>:(Ljava/lang/String;)V
            astore 3 /* zf */
        start local 3 // java.util.zip.ZipFile zf
         1: .line 1469
            aload 3 /* zf */
            invokevirtual java.util.zip.ZipFile.entries:()Ljava/util/Enumeration;
            astore 4 /* zes */
        start local 4 // java.util.Enumeration zes
         2: .line 1470
            goto 4
         3: .line 1471
      StackMap locals: java.util.zip.ZipFile java.util.Enumeration
      StackMap stack:
            aload 0 /* this */
            aload 4 /* zes */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.util.zip.ZipEntry
            aload 2 /* files */
            invokevirtual sun.tools.jar.Main.printEntry:(Ljava/util/zip/ZipEntry;[Ljava/lang/String;)V
         4: .line 1470
      StackMap locals:
      StackMap stack:
            aload 4 /* zes */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 3
         5: .line 1473
            aload 3 /* zf */
            invokevirtual java.util.zip.ZipFile.close:()V
         6: .line 1474
            return
        end local 4 // java.util.Enumeration zes
        end local 3 // java.util.zip.ZipFile zf
        end local 2 // java.lang.String[] files
        end local 1 // java.lang.String fname
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lsun/tools/jar/Main;
            0    7     1  fname  Ljava/lang/String;
            0    7     2  files  [Ljava/lang/String;
            1    7     3     zf  Ljava/util/zip/ZipFile;
            2    7     4    zes  Ljava/util/Enumeration<+Ljava/util/zip/ZipEntry;>;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      fname  
      files  

  void dumpIndex(java.lang.String, jdk.internal.util.jar.JarIndex);
    descriptor: (Ljava/lang/String;Ljdk/internal/util/jar/JarIndex;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.String rootjar
        start local 2 // jdk.internal.util.jar.JarIndex index
         0: .line 1481
            new java.io.File
            dup
            aload 1 /* rootjar */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 3 /* jarFile */
        start local 3 // java.io.File jarFile
         1: .line 1482
            aload 3 /* jarFile */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            astore 4 /* jarPath */
        start local 4 // java.nio.file.Path jarPath
         2: .line 1483
            aload 3 /* jarFile */
            invokestatic sun.tools.jar.Main.createTempFileInSameDirectoryAs:(Ljava/io/File;)Ljava/io/File;
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            astore 5 /* tmpPath */
        start local 5 // java.nio.file.Path tmpPath
         3: .line 1485
            aload 0 /* this */
            aload 4 /* jarPath */
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.newInputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;
         4: .line 1486
            aload 5 /* tmpPath */
            iconst_0
            anewarray java.nio.file.OpenOption
            invokestatic java.nio.file.Files.newOutputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;
         5: .line 1487
            aconst_null
            aconst_null
            aload 2 /* index */
         6: .line 1485
            invokevirtual sun.tools.jar.Main.update:(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/io/InputStream;Ljava/util/Map;Ljdk/internal/util/jar/JarIndex;)Z
         7: .line 1487
            ifeq 15
         8: .line 1489
            aload 5 /* tmpPath */
            aload 4 /* jarPath */
            iconst_1
            anewarray java.nio.file.CopyOption
            dup
            iconst_0
            getstatic java.nio.file.StandardCopyOption.REPLACE_EXISTING:Ljava/nio/file/StandardCopyOption;
            aastore
            invokestatic java.nio.file.Files.move:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
            pop
         9: .line 1490
            goto 15
      StackMap locals: sun.tools.jar.Main java.lang.String jdk.internal.util.jar.JarIndex java.io.File java.nio.file.Path java.nio.file.Path
      StackMap stack: java.io.IOException
        10: astore 6 /* e */
        start local 6 // java.io.IOException e
        11: .line 1491
            new java.io.IOException
            dup
            ldc "error.write.file"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            aload 6 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException e
        12: .line 1494
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        13: .line 1495
            aload 5 /* tmpPath */
            invokestatic java.nio.file.Files.deleteIfExists:(Ljava/nio/file/Path;)Z
            pop
        14: .line 1496
            aload 7
            athrow
        15: .line 1495
      StackMap locals:
      StackMap stack:
            aload 5 /* tmpPath */
            invokestatic java.nio.file.Files.deleteIfExists:(Ljava/nio/file/Path;)Z
            pop
        16: .line 1497
            return
        end local 5 // java.nio.file.Path tmpPath
        end local 4 // java.nio.file.Path jarPath
        end local 3 // java.io.File jarFile
        end local 2 // jdk.internal.util.jar.JarIndex index
        end local 1 // java.lang.String rootjar
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lsun/tools/jar/Main;
            0   17     1  rootjar  Ljava/lang/String;
            0   17     2    index  Ljdk/internal/util/jar/JarIndex;
            1   17     3  jarFile  Ljava/io/File;
            2   17     4  jarPath  Ljava/nio/file/Path;
            3   17     5  tmpPath  Ljava/nio/file/Path;
           11   12     6        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           8     9      10  Class java.io.IOException
           3    12      12  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      rootjar  
      index    

  java.util.List<java.lang.String> getJarPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.String jar
         0: .line 1506
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* files */
        start local 2 // java.util.List files
         1: .line 1507
            aload 2 /* files */
            aload 1 /* jar */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 1508
            aload 0 /* this */
            getfield sun.tools.jar.Main.jarPaths:Ljava/util/HashSet;
            aload 1 /* jar */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         3: .line 1511
            aload 1 /* jar */
            iconst_0
            iconst_0
            aload 1 /* jar */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            iconst_1
            iadd
            invokestatic java.lang.Math.max:(II)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* path */
        start local 3 // java.lang.String path
         4: .line 1516
            new java.util.jar.JarFile
            dup
            aload 1 /* jar */
            bipush 47
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokespecial java.util.jar.JarFile.<init>:(Ljava/lang/String;)V
            astore 4 /* rf */
        start local 4 // java.util.jar.JarFile rf
         5: .line 1518
            aload 4 /* rf */
            ifnull 20
         6: .line 1519
            aload 4 /* rf */
            invokevirtual java.util.jar.JarFile.getManifest:()Ljava/util/jar/Manifest;
            astore 5 /* man */
        start local 5 // java.util.jar.Manifest man
         7: .line 1520
            aload 5 /* man */
            ifnull 20
         8: .line 1521
            aload 5 /* man */
            invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
            astore 6 /* attr */
        start local 6 // java.util.jar.Attributes attr
         9: .line 1522
            aload 6 /* attr */
            ifnull 20
        10: .line 1523
            aload 6 /* attr */
            getstatic java.util.jar.Attributes$Name.CLASS_PATH:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 7 /* value */
        start local 7 // java.lang.String value
        11: .line 1524
            aload 7 /* value */
            ifnull 20
        12: .line 1525
            new java.util.StringTokenizer
            dup
            aload 7 /* value */
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
            astore 8 /* st */
        start local 8 // java.util.StringTokenizer st
        13: .line 1526
            goto 19
        14: .line 1527
      StackMap locals: sun.tools.jar.Main java.lang.String java.util.List java.lang.String java.util.jar.JarFile java.util.jar.Manifest java.util.jar.Attributes java.lang.String java.util.StringTokenizer
      StackMap stack:
            aload 8 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 9 /* ajar */
        start local 9 // java.lang.String ajar
        15: .line 1528
            aload 9 /* ajar */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 19
        16: .line 1529
            aload 3 /* path */
            aload 9 /* ajar */
            invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* ajar */
        17: .line 1531
            aload 0 /* this */
            getfield sun.tools.jar.Main.jarPaths:Ljava/util/HashSet;
            aload 9 /* ajar */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifne 19
        18: .line 1532
            aload 2 /* files */
            aload 0 /* this */
            aload 9 /* ajar */
            invokevirtual sun.tools.jar.Main.getJarPath:(Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 9 // java.lang.String ajar
        19: .line 1526
      StackMap locals:
      StackMap stack:
            aload 8 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 14
        end local 8 // java.util.StringTokenizer st
        end local 7 // java.lang.String value
        end local 6 // java.util.jar.Attributes attr
        end local 5 // java.util.jar.Manifest man
        20: .line 1540
      StackMap locals: sun.tools.jar.Main java.lang.String java.util.List java.lang.String java.util.jar.JarFile
      StackMap stack:
            aload 4 /* rf */
            invokevirtual java.util.jar.JarFile.close:()V
        21: .line 1541
            aload 2 /* files */
            areturn
        end local 4 // java.util.jar.JarFile rf
        end local 3 // java.lang.String path
        end local 2 // java.util.List files
        end local 1 // java.lang.String jar
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   22     0   this  Lsun/tools/jar/Main;
            0   22     1    jar  Ljava/lang/String;
            1   22     2  files  Ljava/util/List<Ljava/lang/String;>;
            4   22     3   path  Ljava/lang/String;
            5   22     4     rf  Ljava/util/jar/JarFile;
            7   20     5    man  Ljava/util/jar/Manifest;
            9   20     6   attr  Ljava/util/jar/Attributes;
           11   20     7  value  Ljava/lang/String;
           13   20     8     st  Ljava/util/StringTokenizer;
           15   19     9   ajar  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      jar   

  void genIndex(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.String rootjar
        start local 2 // java.lang.String[] files
         0: .line 1548
            aload 0 /* this */
            aload 1 /* rootjar */
            invokevirtual sun.tools.jar.Main.getJarPath:(Ljava/lang/String;)Ljava/util/List;
            astore 3 /* jars */
        start local 3 // java.util.List jars
         1: .line 1549
            aload 3 /* jars */
            invokeinterface java.util.List.size:()I
            istore 4 /* njars */
        start local 4 // int njars
         2: .line 1552
            iload 4 /* njars */
            iconst_1
            if_icmpne 9
            aload 2 /* files */
            ifnull 9
         3: .line 1555
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 7
         5: .line 1556
      StackMap locals: sun.tools.jar.Main java.lang.String java.lang.String[] java.util.List int top int
      StackMap stack:
            aload 3 /* jars */
            aload 0 /* this */
            aload 2 /* files */
            iload 6 /* i */
            aaload
            invokevirtual sun.tools.jar.Main.getJarPath:(Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         6: .line 1555
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 6 /* i */
            aload 2 /* files */
            arraylength
            if_icmplt 5
        end local 6 // int i
         8: .line 1558
            aload 3 /* jars */
            invokeinterface java.util.List.size:()I
            istore 4 /* njars */
         9: .line 1560
      StackMap locals: sun.tools.jar.Main java.lang.String java.lang.String[] java.util.List int
      StackMap stack:
            aload 3 /* jars */
            iload 4 /* njars */
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 5 /* jarfiles */
        start local 5 // java.lang.String[] jarfiles
        10: .line 1561
            new jdk.internal.util.jar.JarIndex
            dup
            aload 5 /* jarfiles */
            invokespecial jdk.internal.util.jar.JarIndex.<init>:([Ljava/lang/String;)V
            astore 6 /* index */
        start local 6 // jdk.internal.util.jar.JarIndex index
        11: .line 1562
            aload 0 /* this */
            aload 1 /* rootjar */
            aload 6 /* index */
            invokevirtual sun.tools.jar.Main.dumpIndex:(Ljava/lang/String;Ljdk/internal/util/jar/JarIndex;)V
        12: .line 1563
            return
        end local 6 // jdk.internal.util.jar.JarIndex index
        end local 5 // java.lang.String[] jarfiles
        end local 4 // int njars
        end local 3 // java.util.List jars
        end local 2 // java.lang.String[] files
        end local 1 // java.lang.String rootjar
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lsun/tools/jar/Main;
            0   13     1   rootjar  Ljava/lang/String;
            0   13     2     files  [Ljava/lang/String;
            1   13     3      jars  Ljava/util/List<Ljava/lang/String;>;
            2   13     4     njars  I
           10   13     5  jarfiles  [Ljava/lang/String;
            4    8     6         i  I
           11   13     6     index  Ljdk/internal/util/jar/JarIndex;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      rootjar  
      files    

  void printEntry(java.util.zip.ZipEntry, java.lang.String[]);
    descriptor: (Ljava/util/zip/ZipEntry;[Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.zip.ZipEntry e
        start local 2 // java.lang.String[] files
         0: .line 1569
            aload 2 /* files */
            ifnonnull 3
         1: .line 1570
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual sun.tools.jar.Main.printEntry:(Ljava/util/zip/ZipEntry;)V
         2: .line 1571
            goto 11
         3: .line 1572
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         4: .line 1573
            aload 2 /* files */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 10
      StackMap locals: sun.tools.jar.Main java.util.zip.ZipEntry java.lang.String[] java.lang.String top int int java.lang.String[]
      StackMap stack:
         5: aload 7
            iload 5
            aaload
            astore 4 /* file */
        start local 4 // java.lang.String file
         6: .line 1574
            aload 3 /* name */
            aload 4 /* file */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 9
         7: .line 1575
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual sun.tools.jar.Main.printEntry:(Ljava/util/zip/ZipEntry;)V
         8: .line 1576
            return
        end local 4 // java.lang.String file
         9: .line 1573
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        10: iload 5
            iload 6
            if_icmplt 5
        end local 3 // java.lang.String name
        11: .line 1580
      StackMap locals: sun.tools.jar.Main java.util.zip.ZipEntry java.lang.String[]
      StackMap stack:
            return
        end local 2 // java.lang.String[] files
        end local 1 // java.util.zip.ZipEntry e
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lsun/tools/jar/Main;
            0   12     1      e  Ljava/util/zip/ZipEntry;
            0   12     2  files  [Ljava/lang/String;
            4   11     3   name  Ljava/lang/String;
            6    9     4   file  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      e      
      files  

  void printEntry(java.util.zip.ZipEntry);
    descriptor: (Ljava/util/zip/ZipEntry;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.zip.ZipEntry e
         0: .line 1586
            aload 0 /* this */
            getfield sun.tools.jar.Main.vflag:Z
            ifeq 12
         1: .line 1587
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         2: .line 1588
            aload 1 /* e */
            invokevirtual java.util.zip.ZipEntry.getSize:()J
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
         3: .line 1589
            bipush 6
            aload 3 /* s */
            invokevirtual java.lang.String.length:()I
            isub
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 1590
      StackMap locals: java.lang.StringBuilder java.lang.String int
      StackMap stack:
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 1589
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            ifgt 5
        end local 4 // int i
         8: .line 1592
            aload 2 /* sb */
            aload 3 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            new java.util.Date
            dup
            aload 1 /* e */
            invokevirtual java.util.zip.ZipEntry.getTime:()J
            invokespecial java.util.Date.<init>:(J)V
            invokevirtual java.util.Date.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 1593
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* e */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 1594
            aload 0 /* this */
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
        end local 3 // java.lang.String s
        end local 2 // java.lang.StringBuilder sb
        11: .line 1595
            goto 13
        12: .line 1596
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
        13: .line 1598
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.zip.ZipEntry e
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lsun/tools/jar/Main;
            0   14     1     e  Ljava/util/zip/ZipEntry;
            2   11     2    sb  Ljava/lang/StringBuilder;
            3   11     3     s  Ljava/lang/String;
            4    8     4     i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      e     

  void usageError(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.String s
         0: .line 1604
            aload 0 /* this */
            getfield sun.tools.jar.Main.err:Ljava/io/PrintWriter;
            aload 1 /* s */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 1605
            aload 0 /* this */
            getfield sun.tools.jar.Main.err:Ljava/io/PrintWriter;
            ldc "main.usage.summary.try"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 1606
            return
        end local 1 // java.lang.String s
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/tools/jar/Main;
            0    3     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  void fatalError(java.lang.Exception);
    descriptor: (Ljava/lang/Exception;)V
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.Exception e
         0: .line 1612
            aload 1 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
         1: .line 1613
            return
        end local 1 // java.lang.Exception e
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/tools/jar/Main;
            0    2     1     e  Ljava/lang/Exception;
    MethodParameters:
      Name  Flags
      e     

  void fatalError(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.String s
         0: .line 1620
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield sun.tools.jar.Main.program:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.error:(Ljava/lang/String;)V
         1: .line 1621
            return
        end local 1 // java.lang.String s
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/tools/jar/Main;
            0    2     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  protected void output(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.String s
         0: .line 1627
            aload 0 /* this */
            getfield sun.tools.jar.Main.out:Ljava/io/PrintWriter;
            aload 1 /* s */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 1628
            return
        end local 1 // java.lang.String s
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/tools/jar/Main;
            0    2     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  void error(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.String s
         0: .line 1634
            aload 0 /* this */
            getfield sun.tools.jar.Main.err:Ljava/io/PrintWriter;
            aload 1 /* s */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 1635
            return
        end local 1 // java.lang.String s
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/tools/jar/Main;
            0    2     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  void warn(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.String s
         0: .line 1641
            aload 0 /* this */
            getfield sun.tools.jar.Main.err:Ljava/io/PrintWriter;
            aload 1 /* s */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 1642
            return
        end local 1 // java.lang.String s
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/tools/jar/Main;
            0    2     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 1648
            new sun.tools.jar.Main
            dup
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "jar"
            invokespecial sun.tools.jar.Main.<init>:(Ljava/io/PrintStream;Ljava/io/PrintStream;Ljava/lang/String;)V
            astore 1 /* jartool */
        start local 1 // sun.tools.jar.Main jartool
         1: .line 1649
            aload 1 /* jartool */
            aload 0 /* args */
            invokevirtual sun.tools.jar.Main.run:([Ljava/lang/String;)Z
            ifeq 2
            iconst_0
            goto 3
      StackMap locals: sun.tools.jar.Main
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: invokestatic java.lang.System.exit:(I)V
         4: .line 1650
            return
        end local 1 // sun.tools.jar.Main jartool
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     args  [Ljava/lang/String;
            1    5     1  jartool  Lsun/tools/jar/Main;
    MethodParameters:
      Name  Flags
      args  

  private java.io.File createTemporaryFile(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.String tmpbase
        start local 2 // java.lang.String suffix
         0: .line 1689
            aconst_null
            astore 3 /* tmpfile */
        start local 3 // java.io.File tmpfile
         1: .line 1692
            aload 1 /* tmpbase */
            aload 2 /* suffix */
            invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            astore 3 /* tmpfile */
         2: .line 1693
            goto 4
      StackMap locals: sun.tools.jar.Main java.lang.String java.lang.String java.io.File
      StackMap stack: java.lang.Exception
         3: pop
         4: .line 1696
      StackMap locals:
      StackMap stack:
            aload 3 /* tmpfile */
            ifnonnull 13
         5: .line 1698
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            ifnull 12
         6: .line 1700
            new java.io.File
            dup
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            astore 4 /* tmpfolder */
        start local 4 // java.io.File tmpfolder
         7: .line 1701
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc ".tmp"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* suffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* tmpfolder */
            invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
            astore 3 /* tmpfile */
        end local 4 // java.io.File tmpfolder
         8: .line 1702
            goto 13
      StackMap locals:
      StackMap stack: java.io.IOException
         9: astore 4 /* ioe */
        start local 4 // java.io.IOException ioe
        10: .line 1704
            aload 0 /* this */
            aload 4 /* ioe */
            invokevirtual sun.tools.jar.Main.fatalError:(Ljava/lang/Exception;)V
        end local 4 // java.io.IOException ioe
        11: .line 1706
            goto 13
        12: .line 1708
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.io.IOException
            dup
            ldc "error.create.tempfile"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            invokevirtual sun.tools.jar.Main.fatalError:(Ljava/lang/Exception;)V
        13: .line 1711
      StackMap locals:
      StackMap stack:
            aload 3 /* tmpfile */
            areturn
        end local 3 // java.io.File tmpfile
        end local 2 // java.lang.String suffix
        end local 1 // java.lang.String tmpbase
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lsun/tools/jar/Main;
            0   14     1    tmpbase  Ljava/lang/String;
            0   14     2     suffix  Ljava/lang/String;
            1   14     3    tmpfile  Ljava/io/File;
            7    8     4  tmpfolder  Ljava/io/File;
           10   11     4        ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
           1     2       3  Class java.lang.SecurityException
           6     8       9  Class java.io.IOException
    MethodParameters:
         Name  Flags
      tmpbase  
      suffix   

  private boolean describeModule(java.util.zip.ZipFile);
    descriptor: (Ljava/util/zip/ZipFile;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.zip.ZipFile zipFile
         0: .line 1764
            aload 1 /* zipFile */
            invokevirtual java.util.zip.ZipFile.stream:()Ljava/util/stream/Stream;
         1: .line 1765
            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
                  sun/tools/jar/Main.lambda$9(Ljava/util/zip/ZipEntry;)Z (6)
                  (Ljava/util/zip/ZipEntry;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         2: .line 1766
            getstatic sun.tools.jar.Main.ENTRY_COMPARATOR:Ljava/util/Comparator;
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
         3: .line 1767
            aload 1 /* zipFile */
            invokedynamic apply(Ljava/util/zip/ZipFile;)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;
                  sun/tools/jar/Main.lambda$10(Ljava/util/zip/ZipFile;Ljava/util/zip/ZipEntry;)Lsun/tools/jar/Main$ZipFileModuleInfoEntry; (6)
                  (Ljava/util/zip/ZipEntry;)Lsun/tools/jar/Main$ZipFileModuleInfoEntry;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         4: .line 1768
            invokedynamic apply()Ljava/util/function/IntFunction;
              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:
                  (I)Ljava/lang/Object;
                  sun/tools/jar/Main.lambda$11(I)[Lsun/tools/jar/Main$ZipFileModuleInfoEntry; (6)
                  (I)[Lsun/tools/jar/Main$ZipFileModuleInfoEntry;
            invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
            checkcast sun.tools.jar.Main$ZipFileModuleInfoEntry[]
         5: .line 1764
            astore 2 /* infos */
        start local 2 // sun.tools.jar.Main$ZipFileModuleInfoEntry[] infos
         6: .line 1770
            aload 2 /* infos */
            arraylength
            ifne 24
         7: .line 1772
            aload 1 /* zipFile */
            invokevirtual java.util.zip.ZipFile.getName:()Ljava/lang/String;
            astore 3 /* fn */
        start local 3 // java.lang.String fn
         8: .line 1773
            iconst_1
            anewarray java.nio.file.Path
            dup
            iconst_0
            aload 3 /* fn */
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            aastore
            invokestatic java.lang.module.ModuleFinder.of:([Ljava/nio/file/Path;)Ljava/lang/module/ModuleFinder;
            astore 4 /* mf */
        start local 4 // java.lang.module.ModuleFinder mf
         9: .line 1775
            aload 4 /* mf */
            invokeinterface java.lang.module.ModuleFinder.findAll:()Ljava/util/Set;
            astore 5 /* mref */
        start local 5 // java.util.Set mref
        10: .line 1776
            aload 5 /* mref */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 13
        11: .line 1777
            aload 0 /* this */
            ldc "error.unable.derive.automodule"
            aload 3 /* fn */
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
        12: .line 1778
            iconst_1
            ireturn
        13: .line 1780
      StackMap locals: sun.tools.jar.Main java.util.zip.ZipFile sun.tools.jar.Main$ZipFileModuleInfoEntry[] java.lang.String java.lang.module.ModuleFinder java.util.Set
      StackMap stack:
            aload 5 /* mref */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.module.ModuleReference
            invokevirtual java.lang.module.ModuleReference.descriptor:()Ljava/lang/module/ModuleDescriptor;
            astore 6 /* md */
        start local 6 // java.lang.module.ModuleDescriptor md
        14: .line 1781
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "out.automodule"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
        15: .line 1782
            aload 0 /* this */
            aload 6 /* md */
            aconst_null
            aconst_null
            ldc ""
            invokevirtual sun.tools.jar.Main.describeModule:(Ljava/lang/module/ModuleDescriptor;Ljdk/internal/module/ModuleTarget;Ljdk/internal/module/ModuleHashes;Ljava/lang/String;)V
        end local 6 // java.lang.module.ModuleDescriptor md
        end local 5 // java.util.Set mref
        16: .line 1783
            goto 25
      StackMap locals: sun.tools.jar.Main java.util.zip.ZipFile sun.tools.jar.Main$ZipFileModuleInfoEntry[] java.lang.String java.lang.module.ModuleFinder
      StackMap stack: java.lang.module.FindException
        17: astore 5 /* e */
        start local 5 // java.lang.module.FindException e
        18: .line 1784
            ldc "error.unable.derive.automodule"
            aload 3 /* fn */
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* msg */
        start local 6 // java.lang.String msg
        19: .line 1785
            aload 5 /* e */
            invokevirtual java.lang.module.FindException.getCause:()Ljava/lang/Throwable;
            astore 7 /* t */
        start local 7 // java.lang.Throwable t
        20: .line 1786
            aload 7 /* t */
            ifnull 22
        21: .line 1787
            new java.lang.StringBuilder
            dup
            aload 6 /* msg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* msg */
        22: .line 1788
      StackMap locals: java.lang.module.FindException java.lang.String java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            aload 6 /* msg */
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
        end local 7 // java.lang.Throwable t
        end local 6 // java.lang.String msg
        end local 5 // java.lang.module.FindException e
        end local 4 // java.lang.module.ModuleFinder mf
        end local 3 // java.lang.String fn
        23: .line 1790
            goto 25
        24: .line 1791
      StackMap locals: sun.tools.jar.Main java.util.zip.ZipFile sun.tools.jar.Main$ZipFileModuleInfoEntry[]
      StackMap stack:
            aload 0 /* this */
            aload 2 /* infos */
            invokevirtual sun.tools.jar.Main.describeModuleFromEntries:([Lsun/tools/jar/Main$ModuleInfoEntry;)Z
            ireturn
        25: .line 1793
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // sun.tools.jar.Main$ZipFileModuleInfoEntry[] infos
        end local 1 // java.util.zip.ZipFile zipFile
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0     this  Lsun/tools/jar/Main;
            0   26     1  zipFile  Ljava/util/zip/ZipFile;
            6   26     2    infos  [Lsun/tools/jar/Main$ZipFileModuleInfoEntry;
            8   23     3       fn  Ljava/lang/String;
            9   23     4       mf  Ljava/lang/module/ModuleFinder;
           10   16     5     mref  Ljava/util/Set<Ljava/lang/module/ModuleReference;>;
           14   16     6       md  Ljava/lang/module/ModuleDescriptor;
           18   23     5        e  Ljava/lang/module/FindException;
           19   23     6      msg  Ljava/lang/String;
           20   23     7        t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           9    12      17  Class java.lang.module.FindException
          13    16      17  Class java.lang.module.FindException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      zipFile  

  private boolean describeModuleFromStream(java.io.FileInputStream);
    descriptor: (Ljava/io/FileInputStream;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.io.FileInputStream fis
         0: .line 1799
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 2 /* infos */
        start local 2 // java.util.List infos
         1: .line 1801
            aconst_null
            astore 3
            aconst_null
            astore 4
         2: new java.io.BufferedInputStream
            dup
            aload 1 /* fis */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 5 /* bis */
        start local 5 // java.io.BufferedInputStream bis
         3: .line 1802
            new java.util.zip.ZipInputStream
            dup
            aload 5 /* bis */
            invokespecial java.util.zip.ZipInputStream.<init>:(Ljava/io/InputStream;)V
            astore 6 /* zis */
        start local 6 // java.util.zip.ZipInputStream zis
         4: .line 1804
            goto 8
        start local 7 // java.util.zip.ZipEntry e
         5: .line 1805
      StackMap locals: sun.tools.jar.Main java.io.FileInputStream java.util.List java.lang.Throwable java.lang.Throwable java.io.BufferedInputStream java.util.zip.ZipInputStream java.util.zip.ZipEntry
      StackMap stack:
            aload 7 /* e */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            astore 8 /* ename */
        start local 8 // java.lang.String ename
         6: .line 1806
            aload 8 /* ename */
            invokestatic sun.tools.jar.Main.isModuleInfoEntry:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 1807
            aload 2 /* infos */
            new sun.tools.jar.Main$StreamedModuleInfoEntry
            dup
            aload 8 /* ename */
            aload 6 /* zis */
            invokevirtual java.util.zip.ZipInputStream.readAllBytes:()[B
            invokespecial sun.tools.jar.Main$StreamedModuleInfoEntry.<init>:(Ljava/lang/String;[B)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.lang.String ename
        end local 7 // java.util.zip.ZipEntry e
         8: .line 1804
      StackMap locals:
      StackMap stack:
            aload 6 /* zis */
            invokevirtual java.util.zip.ZipInputStream.getNextEntry:()Ljava/util/zip/ZipEntry;
            dup
            astore 7 /* e */
        start local 7 // java.util.zip.ZipEntry e
         9: ifnonnull 5
        end local 7 // java.util.zip.ZipEntry e
        10: .line 1810
            aload 6 /* zis */
            ifnull 13
            aload 6 /* zis */
            invokevirtual java.util.zip.ZipInputStream.close:()V
            goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 3
            aload 6 /* zis */
            ifnull 12
            aload 6 /* zis */
            invokevirtual java.util.zip.ZipInputStream.close:()V
        end local 6 // java.util.zip.ZipInputStream zis
      StackMap locals:
      StackMap stack:
        12: aload 3
            athrow
      StackMap locals:
      StackMap stack:
        13: aload 5 /* bis */
            ifnull 21
            aload 5 /* bis */
            invokevirtual java.io.BufferedInputStream.close:()V
            goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 4
            aload 3
            ifnonnull 15
            aload 4
            astore 3
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 3
            aload 4
            if_acmpeq 16
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 5 /* bis */
            ifnull 17
            aload 5 /* bis */
            invokevirtual java.io.BufferedInputStream.close:()V
        end local 5 // java.io.BufferedInputStream bis
      StackMap locals:
      StackMap stack:
        17: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 4
            aload 3
            ifnonnull 19
            aload 4
            astore 3
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 3
            aload 4
            if_acmpeq 20
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        20: aload 3
            athrow
        21: .line 1812
      StackMap locals:
      StackMap stack:
            aload 2 /* infos */
            invokeinterface java.util.List.size:()I
            ifne 23
        22: .line 1813
            iconst_0
            ireturn
        23: .line 1815
      StackMap locals:
      StackMap stack:
            aload 2 /* infos */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        24: .line 1816
            invokedynamic apply()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;
                  sun/tools/jar/Main$ModuleInfoEntry.name()Ljava/lang/String; (9 itf)
                  (Lsun/tools/jar/Main$ModuleInfoEntry;)Ljava/lang/String;
            getstatic sun.tools.jar.Main.ENTRYNAME_COMPARATOR:Ljava/util/Comparator;
            invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;Ljava/util/Comparator;)Ljava/util/Comparator;
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
        25: .line 1817
            invokedynamic apply()Ljava/util/function/IntFunction;
              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:
                  (I)Ljava/lang/Object;
                  sun/tools/jar/Main.lambda$13(I)[Lsun/tools/jar/Main$ModuleInfoEntry; (6)
                  (I)[Lsun/tools/jar/Main$ModuleInfoEntry;
            invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
            checkcast sun.tools.jar.Main$ModuleInfoEntry[]
        26: .line 1815
            astore 3 /* sorted */
        start local 3 // sun.tools.jar.Main$ModuleInfoEntry[] sorted
        27: .line 1819
            aload 0 /* this */
            aload 3 /* sorted */
            invokevirtual sun.tools.jar.Main.describeModuleFromEntries:([Lsun/tools/jar/Main$ModuleInfoEntry;)Z
            ireturn
        end local 3 // sun.tools.jar.Main$ModuleInfoEntry[] sorted
        end local 2 // java.util.List infos
        end local 1 // java.io.FileInputStream fis
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   28     0    this  Lsun/tools/jar/Main;
            0   28     1     fis  Ljava/io/FileInputStream;
            1   28     2   infos  Ljava/util/List<Lsun/tools/jar/Main$ModuleInfoEntry;>;
            3   17     5     bis  Ljava/io/BufferedInputStream;
            4   12     6     zis  Ljava/util/zip/ZipInputStream;
            5    8     7       e  Ljava/util/zip/ZipEntry;
            9   10     7       e  Ljava/util/zip/ZipEntry;
            6    8     8   ename  Ljava/lang/String;
           27   28     3  sorted  [Lsun/tools/jar/Main$ModuleInfoEntry;
      Exception table:
        from    to  target  type
           4    10      11  any
           3    13      14  any
           2    18      18  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      fis   

  private boolean lessThanEqualReleaseValue(sun.tools.jar.Main$ModuleInfoEntry);
    descriptor: (Lsun/tools/jar/Main$ModuleInfoEntry;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // sun.tools.jar.Main$ModuleInfoEntry entry
         0: .line 1823
            aload 1 /* entry */
            invokestatic sun.tools.jar.Main.intVersionFromEntry:(Lsun/tools/jar/Main$ModuleInfoEntry;)I
            aload 0 /* this */
            getfield sun.tools.jar.Main.releaseValue:I
            if_icmpgt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // sun.tools.jar.Main$ModuleInfoEntry entry
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/tools/jar/Main;
            0    3     1  entry  Lsun/tools/jar/Main$ModuleInfoEntry;
    MethodParameters:
       Name  Flags
      entry  

  private static java.lang.String versionFromEntryName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 1827
            aload 0 /* name */
            getstatic sun.tools.jar.Main.VERSIONS_DIR_LENGTH:I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* s */
        start local 1 // java.lang.String s
         1: .line 1828
            aload 1 /* s */
            iconst_0
            aload 1 /* s */
            ldc "/"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String s
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  name  Ljava/lang/String;
            1    2     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private static int intVersionFromEntry(sun.tools.jar.Main$ModuleInfoEntry);
    descriptor: (Lsun/tools/jar/Main$ModuleInfoEntry;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // sun.tools.jar.Main$ModuleInfoEntry entry
         0: .line 1832
            aload 0 /* entry */
            invokeinterface sun.tools.jar.Main$ModuleInfoEntry.name:()Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 1833
            aload 1 /* name */
            ldc "META-INF/versions/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 3
         2: .line 1834
            iconst_0
            ireturn
         3: .line 1836
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* name */
            getstatic sun.tools.jar.Main.VERSIONS_DIR_LENGTH:I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* s */
        start local 2 // java.lang.String s
         4: .line 1837
            aload 2 /* s */
            iconst_0
            aload 2 /* s */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* s */
         5: .line 1838
            aload 2 /* s */
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 2 // java.lang.String s
        end local 1 // java.lang.String name
        end local 0 // sun.tools.jar.Main$ModuleInfoEntry entry
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  entry  Lsun/tools/jar/Main$ModuleInfoEntry;
            1    6     1   name  Ljava/lang/String;
            4    6     2      s  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      entry  

  private boolean describeModuleFromEntries(sun.tools.jar.Main$ModuleInfoEntry[]);
    descriptor: ([Lsun/tools/jar/Main$ModuleInfoEntry;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // sun.tools.jar.Main$ModuleInfoEntry[] infos
         0: .line 1849
            getstatic sun.tools.jar.Main.$assertionsDisabled:Z
            ifne 1
            aload 1 /* infos */
            arraylength
            ifgt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1852
      StackMap locals:
      StackMap stack:
            aload 1 /* infos */
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
         2: .line 1853
            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
                  sun/tools/jar/Main.lambda$14(Lsun/tools/jar/Main$ModuleInfoEntry;)Z (6)
                  (Lsun/tools/jar/Main$ModuleInfoEntry;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         3: .line 1854
            invokedynamic apply()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;
                  sun/tools/jar/Main$ModuleInfoEntry.name()Ljava/lang/String; (9 itf)
                  (Lsun/tools/jar/Main$ModuleInfoEntry;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         4: .line 1855
            invokedynamic apply()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;
                  sun/tools/jar/Main.versionFromEntryName(Ljava/lang/String;)Ljava/lang/String; (6)
                  (Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         5: .line 1856
            ldc " "
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
         6: .line 1852
            astore 2 /* releases */
        start local 2 // java.lang.String releases
         7: .line 1857
            aload 2 /* releases */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 9
         8: .line 1858
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "releases: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* releases */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
         9: .line 1861
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.releaseValue:I
            iconst_m1
            if_icmpeq 31
        10: .line 1862
            aconst_null
            astore 3 /* entry */
        start local 3 // sun.tools.jar.Main$ModuleInfoEntry entry
        11: .line 1863
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        12: .line 1864
            goto 15
        13: .line 1865
      StackMap locals: sun.tools.jar.Main$ModuleInfoEntry int
      StackMap stack:
            aload 1 /* infos */
            iload 4 /* i */
            aaload
            astore 3 /* entry */
        14: .line 1866
            iinc 4 /* i */ 1
        15: .line 1864
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            aload 1 /* infos */
            arraylength
            if_icmpge 16
            aload 0 /* this */
            aload 1 /* infos */
            iload 4 /* i */
            aaload
            invokevirtual sun.tools.jar.Main.lessThanEqualReleaseValue:(Lsun/tools/jar/Main$ModuleInfoEntry;)Z
            ifne 13
        16: .line 1869
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            ifnonnull 21
        17: .line 1870
            aload 0 /* this */
            ldc "error.no.operative.descriptor"
        18: .line 1871
            aload 0 /* this */
            getfield sun.tools.jar.Main.releaseValue:I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
        19: .line 1870
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
        20: .line 1872
            iconst_0
            ireturn
        21: .line 1875
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            invokeinterface sun.tools.jar.Main$ModuleInfoEntry.uriString:()Ljava/util/Optional;
            ldc ""
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* uriString */
        start local 5 // java.lang.String uriString
        22: .line 1876
            aconst_null
            astore 6
            aconst_null
            astore 7
        23: aload 3 /* entry */
            invokeinterface sun.tools.jar.Main$ModuleInfoEntry.bytes:()Ljava/io/InputStream;
            astore 8 /* is */
        start local 8 // java.io.InputStream is
        24: .line 1877
            aload 0 /* this */
            aload 8 /* is */
            aload 5 /* uriString */
            invokevirtual sun.tools.jar.Main.describeModule:(Ljava/io/InputStream;Ljava/lang/String;)V
        25: .line 1878
            aload 8 /* is */
            ifnull 43
            aload 8 /* is */
            invokevirtual java.io.InputStream.close:()V
            goto 43
      StackMap locals: sun.tools.jar.Main sun.tools.jar.Main$ModuleInfoEntry[] java.lang.String sun.tools.jar.Main$ModuleInfoEntry int java.lang.String java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
        26: astore 6
            aload 8 /* is */
            ifnull 27
            aload 8 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 8 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
        27: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        28: astore 7
            aload 6
            ifnonnull 29
            aload 7
            astore 6
            goto 30
      StackMap locals:
      StackMap stack:
        29: aload 6
            aload 7
            if_acmpeq 30
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        30: aload 6
            athrow
        end local 5 // java.lang.String uriString
        end local 4 // int i
        end local 3 // sun.tools.jar.Main$ModuleInfoEntry entry
        31: .line 1881
      StackMap locals: sun.tools.jar.Main sun.tools.jar.Main$ModuleInfoEntry[] java.lang.String
      StackMap stack:
            aload 1 /* infos */
            iconst_0
            aaload
            invokeinterface sun.tools.jar.Main$ModuleInfoEntry.name:()Ljava/lang/String;
            ldc "module-info.class"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 42
        32: .line 1882
            aload 1 /* infos */
            iconst_0
            aaload
            invokeinterface sun.tools.jar.Main$ModuleInfoEntry.uriString:()Ljava/util/Optional;
            ldc ""
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* uriString */
        start local 3 // java.lang.String uriString
        33: .line 1883
            aconst_null
            astore 4
            aconst_null
            astore 5
        34: aload 1 /* infos */
            iconst_0
            aaload
            invokeinterface sun.tools.jar.Main$ModuleInfoEntry.bytes:()Ljava/io/InputStream;
            astore 6 /* is */
        start local 6 // java.io.InputStream is
        35: .line 1884
            aload 0 /* this */
            aload 6 /* is */
            aload 3 /* uriString */
            invokevirtual sun.tools.jar.Main.describeModule:(Ljava/io/InputStream;Ljava/lang/String;)V
        36: .line 1885
            aload 6 /* is */
            ifnull 43
            aload 6 /* is */
            invokevirtual java.io.InputStream.close:()V
            goto 43
      StackMap locals: sun.tools.jar.Main sun.tools.jar.Main$ModuleInfoEntry[] java.lang.String java.lang.String java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
        37: astore 4
            aload 6 /* is */
            ifnull 38
            aload 6 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 6 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
        38: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        39: astore 5
            aload 4
            ifnonnull 40
            aload 5
            astore 4
            goto 41
      StackMap locals:
      StackMap stack:
        40: aload 4
            aload 5
            if_acmpeq 41
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        41: aload 4
            athrow
        end local 3 // java.lang.String uriString
        42: .line 1888
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "error.no.root.descriptor"
            invokestatic sun.tools.jar.Main.getMsg:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
        43: .line 1891
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // java.lang.String releases
        end local 1 // sun.tools.jar.Main$ModuleInfoEntry[] infos
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   44     0       this  Lsun/tools/jar/Main;
            0   44     1      infos  [Lsun/tools/jar/Main$ModuleInfoEntry;
            7   44     2   releases  Ljava/lang/String;
           11   31     3      entry  Lsun/tools/jar/Main$ModuleInfoEntry;
           12   31     4          i  I
           22   31     5  uriString  Ljava/lang/String;
           24   27     8         is  Ljava/io/InputStream;
           33   42     3  uriString  Ljava/lang/String;
           35   38     6         is  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
          24    25      26  any
          23    28      28  any
          35    36      37  any
          34    39      39  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      infos  

  static <T> java.lang.String toLowerCaseString(java.util.Collection<T>);
    descriptor: (Ljava/util/Collection;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Collection set
         0: .line 1895
            aload 0 /* set */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 1
            ldc ""
            areturn
         1: .line 1896
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc " "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* set */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()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;
                  sun/tools/jar/Main.lambda$17(Ljava/lang/Object;)Ljava/lang/String; (6)
                  (Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 1897
            invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
            ldc " "
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 1896
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.util.Collection set
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   set  Ljava/util/Collection<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<TT;>;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      set   

  static <T> java.lang.String toString(java.util.Collection<T>);
    descriptor: (Ljava/util/Collection;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Collection set
         0: .line 1901
            aload 0 /* set */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 1
            ldc ""
            areturn
         1: .line 1902
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc " "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* set */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()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;
                  sun/tools/jar/Main.lambda$18(Ljava/lang/Object;)Ljava/lang/String; (6)
                  (Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
            ldc " "
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.util.Collection set
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   set  Ljava/util/Collection<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<TT;>;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      set   

  private void describeModule(java.io.InputStream, java.lang.String);
    descriptor: (Ljava/io/InputStream;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.io.InputStream entryInputStream
        start local 2 // java.lang.String uriString
         0: .line 1908
            aload 1 /* entryInputStream */
            aconst_null
            invokestatic jdk.internal.module.ModuleInfo.read:(Ljava/io/InputStream;Ljava/util/function/Supplier;)Ljdk/internal/module/ModuleInfo$Attributes;
            astore 3 /* attrs */
        start local 3 // jdk.internal.module.ModuleInfo$Attributes attrs
         1: .line 1909
            aload 3 /* attrs */
            invokevirtual jdk.internal.module.ModuleInfo$Attributes.descriptor:()Ljava/lang/module/ModuleDescriptor;
            astore 4 /* md */
        start local 4 // java.lang.module.ModuleDescriptor md
         2: .line 1910
            aload 3 /* attrs */
            invokevirtual jdk.internal.module.ModuleInfo$Attributes.target:()Ljdk/internal/module/ModuleTarget;
            astore 5 /* target */
        start local 5 // jdk.internal.module.ModuleTarget target
         3: .line 1911
            aload 3 /* attrs */
            invokevirtual jdk.internal.module.ModuleInfo$Attributes.recordedHashes:()Ljdk/internal/module/ModuleHashes;
            astore 6 /* hashes */
        start local 6 // jdk.internal.module.ModuleHashes hashes
         4: .line 1913
            aload 0 /* this */
            aload 4 /* md */
            aload 5 /* target */
            aload 6 /* hashes */
            aload 2 /* uriString */
            invokevirtual sun.tools.jar.Main.describeModule:(Ljava/lang/module/ModuleDescriptor;Ljdk/internal/module/ModuleTarget;Ljdk/internal/module/ModuleHashes;Ljava/lang/String;)V
         5: .line 1914
            return
        end local 6 // jdk.internal.module.ModuleHashes hashes
        end local 5 // jdk.internal.module.ModuleTarget target
        end local 4 // java.lang.module.ModuleDescriptor md
        end local 3 // jdk.internal.module.ModuleInfo$Attributes attrs
        end local 2 // java.lang.String uriString
        end local 1 // java.io.InputStream entryInputStream
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lsun/tools/jar/Main;
            0    6     1  entryInputStream  Ljava/io/InputStream;
            0    6     2         uriString  Ljava/lang/String;
            1    6     3             attrs  Ljdk/internal/module/ModuleInfo$Attributes;
            2    6     4                md  Ljava/lang/module/ModuleDescriptor;
            3    6     5            target  Ljdk/internal/module/ModuleTarget;
            4    6     6            hashes  Ljdk/internal/module/ModuleHashes;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                  Name  Flags
      entryInputStream  
      uriString         

  private void describeModule(java.lang.module.ModuleDescriptor, jdk.internal.module.ModuleTarget, jdk.internal.module.ModuleHashes, java.lang.String);
    descriptor: (Ljava/lang/module/ModuleDescriptor;Ljdk/internal/module/ModuleTarget;Ljdk/internal/module/ModuleHashes;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=5
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.module.ModuleDescriptor md
        start local 2 // jdk.internal.module.ModuleTarget target
        start local 3 // jdk.internal.module.ModuleHashes hashes
        start local 4 // java.lang.String uriString
         0: .line 1922
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 5 /* sb */
        start local 5 // java.lang.StringBuilder sb
         1: .line 1924
            aload 5 /* sb */
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.toNameAndVersion:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 1926
            aload 4 /* uriString */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 4
         3: .line 1927
            aload 5 /* sb */
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* uriString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 1928
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.isOpen:()Z
            ifeq 6
         5: .line 1929
            aload 5 /* sb */
            ldc " open"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 1930
      StackMap locals:
      StackMap stack:
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.isAutomatic:()Z
            ifeq 8
         7: .line 1931
            aload 5 /* sb */
            ldc " automatic"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 1932
      StackMap locals:
      StackMap stack:
            aload 5 /* sb */
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 1935
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        10: .line 1936
            invokedynamic apply()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/lang/module/ModuleDescriptor$Exports.source()Ljava/lang/String; (5)
                  (Ljava/lang/module/ModuleDescriptor$Exports;)Ljava/lang/String;
            invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
        11: .line 1937
            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
                  sun/tools/jar/Main.lambda$20(Ljava/lang/module/ModuleDescriptor$Exports;)Z (6)
                  (Ljava/lang/module/ModuleDescriptor$Exports;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        12: .line 1938
            aload 5 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              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;)V
                  sun/tools/jar/Main.lambda$21(Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Exports;)V (6)
                  (Ljava/lang/module/ModuleDescriptor$Exports;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        13: .line 1943
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.requires:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
        14: .line 1944
            aload 5 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              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;)V
                  sun/tools/jar/Main.lambda$22(Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Requires;)V (6)
                  (Ljava/lang/module/ModuleDescriptor$Requires;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        15: .line 1949
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.uses:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
        16: .line 1950
            aload 5 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              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;)V
                  sun/tools/jar/Main.lambda$23(Ljava/lang/StringBuilder;Ljava/lang/String;)V (6)
                  (Ljava/lang/String;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        17: .line 1952
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.provides:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        18: .line 1953
            invokedynamic apply()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/lang/module/ModuleDescriptor$Provides.service()Ljava/lang/String; (5)
                  (Ljava/lang/module/ModuleDescriptor$Provides;)Ljava/lang/String;
            invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
        19: .line 1954
            aload 5 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              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;)V
                  sun/tools/jar/Main.lambda$25(Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Provides;)V (6)
                  (Ljava/lang/module/ModuleDescriptor$Provides;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        20: .line 1960
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        21: .line 1961
            invokedynamic apply()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/lang/module/ModuleDescriptor$Exports.source()Ljava/lang/String; (5)
                  (Ljava/lang/module/ModuleDescriptor$Exports;)Ljava/lang/String;
            invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
        22: .line 1962
            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/lang/module/ModuleDescriptor$Exports.isQualified()Z (5)
                  (Ljava/lang/module/ModuleDescriptor$Exports;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        23: .line 1963
            aload 5 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              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;)V
                  sun/tools/jar/Main.lambda$28(Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Exports;)V (6)
                  (Ljava/lang/module/ModuleDescriptor$Exports;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        24: .line 1968
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.opens:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        25: .line 1969
            invokedynamic apply()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/lang/module/ModuleDescriptor$Opens.source()Ljava/lang/String; (5)
                  (Ljava/lang/module/ModuleDescriptor$Opens;)Ljava/lang/String;
            invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
        26: .line 1970
            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
                  sun/tools/jar/Main.lambda$30(Ljava/lang/module/ModuleDescriptor$Opens;)Z (6)
                  (Ljava/lang/module/ModuleDescriptor$Opens;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        27: .line 1971
            aload 5 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              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;)V
                  sun/tools/jar/Main.lambda$31(Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Opens;)V (6)
                  (Ljava/lang/module/ModuleDescriptor$Opens;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        28: .line 1975
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.opens:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        29: .line 1976
            invokedynamic apply()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/lang/module/ModuleDescriptor$Opens.source()Ljava/lang/String; (5)
                  (Ljava/lang/module/ModuleDescriptor$Opens;)Ljava/lang/String;
            invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
        30: .line 1977
            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/lang/module/ModuleDescriptor$Opens.isQualified()Z (5)
                  (Ljava/lang/module/ModuleDescriptor$Opens;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        31: .line 1978
            aload 5 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              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;)V
                  sun/tools/jar/Main.lambda$34(Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Opens;)V (6)
                  (Ljava/lang/module/ModuleDescriptor$Opens;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        32: .line 1984
            new java.util.TreeSet
            dup
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.packages:()Ljava/util/Set;
            invokespecial java.util.TreeSet.<init>:(Ljava/util/Collection;)V
            astore 6 /* concealed */
        start local 6 // java.util.Set concealed
        33: .line 1985
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.exports:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()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/lang/module/ModuleDescriptor$Exports.source()Ljava/lang/String; (5)
                  (Ljava/lang/module/ModuleDescriptor$Exports;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 6 /* concealed */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/Set;)Ljava/util/function/Consumer;
              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;)V
                  java/util/Set.remove(Ljava/lang/Object;)Z (9 itf)
                  (Ljava/lang/String;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        34: .line 1986
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.opens:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()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/lang/module/ModuleDescriptor$Opens.source()Ljava/lang/String; (5)
                  (Ljava/lang/module/ModuleDescriptor$Opens;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 6 /* concealed */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/Set;)Ljava/util/function/Consumer;
              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;)V
                  java/util/Set.remove(Ljava/lang/Object;)Z (9 itf)
                  (Ljava/lang/String;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        35: .line 1987
            aload 6 /* concealed */
            aload 5 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              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;)V
                  sun/tools/jar/Main.lambda$39(Ljava/lang/StringBuilder;Ljava/lang/String;)V (6)
                  (Ljava/lang/String;)V
            invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
        36: .line 1989
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.mainClass:()Ljava/util/Optional;
            aload 5 /* sb */
            invokedynamic accept(Ljava/lang/StringBuilder;)Ljava/util/function/Consumer;
              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;)V
                  sun/tools/jar/Main.lambda$40(Ljava/lang/StringBuilder;Ljava/lang/String;)V (6)
                  (Ljava/lang/String;)V
            invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
        37: .line 1991
            aload 2 /* target */
            ifnull 41
        38: .line 1992
            aload 2 /* target */
            invokevirtual jdk.internal.module.ModuleTarget.targetPlatform:()Ljava/lang/String;
            astore 9 /* targetPlatform */
        start local 9 // java.lang.String targetPlatform
        39: .line 1993
            aload 9 /* targetPlatform */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 41
        40: .line 1994
            aload 5 /* sb */
            ldc "platform "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* targetPlatform */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 9 // java.lang.String targetPlatform
        41: .line 1997
      StackMap locals: java.util.Set
      StackMap stack:
            aload 3 /* hashes */
            ifnull 45
        42: .line 1998
            aload 3 /* hashes */
            invokevirtual jdk.internal.module.ModuleHashes.names:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
        43: .line 1999
            aload 5 /* sb */
            aload 3 /* hashes */
            invokedynamic accept(Ljava/lang/StringBuilder;Ljdk/internal/module/ModuleHashes;)Ljava/util/function/Consumer;
              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;)V
                  sun/tools/jar/Main.lambda$41(Ljava/lang/StringBuilder;Ljdk/internal/module/ModuleHashes;Ljava/lang/String;)V (6)
                  (Ljava/lang/String;)V
        44: .line 1998
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        45: .line 2005
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.output:(Ljava/lang/String;)V
        46: .line 2006
            return
        end local 6 // java.util.Set concealed
        end local 5 // java.lang.StringBuilder sb
        end local 4 // java.lang.String uriString
        end local 3 // jdk.internal.module.ModuleHashes hashes
        end local 2 // jdk.internal.module.ModuleTarget target
        end local 1 // java.lang.module.ModuleDescriptor md
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   47     0            this  Lsun/tools/jar/Main;
            0   47     1              md  Ljava/lang/module/ModuleDescriptor;
            0   47     2          target  Ljdk/internal/module/ModuleTarget;
            0   47     3          hashes  Ljdk/internal/module/ModuleHashes;
            0   47     4       uriString  Ljava/lang/String;
            1   47     5              sb  Ljava/lang/StringBuilder;
           33   47     6       concealed  Ljava/util/Set<Ljava/lang/String;>;
           39   41     9  targetPlatform  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      md         
      target     
      hashes     
      uriString  

  private static java.lang.String toHex(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // byte[] ba
         0: .line 2009
            new java.lang.StringBuilder
            dup
            aload 0 /* ba */
            arraylength
            iconst_1
            ishl
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 2010
            aload 0 /* ba */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: byte[] java.lang.StringBuilder top int int byte[]
      StackMap stack:
         2: aload 5
            iload 3
            baload
            istore 2 /* b */
        start local 2 // byte b
         3: .line 2011
            aload 1 /* sb */
            ldc "%02x"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* b */
            sipush 255
            iand
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // byte b
         4: .line 2010
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 2013
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // byte[] ba
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    ba  [B
            1    7     1    sb  Ljava/lang/StringBuilder;
            3    4     2     b  B
    MethodParameters:
      Name  Flags
      ba    

  static java.lang.String toBinaryName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String classname
         0: .line 2017
            new java.lang.StringBuilder
            dup
            aload 0 /* classname */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.String classname
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  classname  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      classname  

  private boolean checkModuleInfo(byte[], java.util.Set<java.lang.String>);
    descriptor: ([BLjava/util/Set;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // byte[] moduleInfoBytes
        start local 2 // java.util.Set entries
         0: .line 2023
            iconst_1
            istore 3 /* ok */
        start local 3 // boolean ok
         1: .line 2024
            aload 1 /* moduleInfoBytes */
            ifnull 13
         2: .line 2027
            aload 1 /* moduleInfoBytes */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            invokestatic java.lang.module.ModuleDescriptor.read:(Ljava/nio/ByteBuffer;)Ljava/lang/module/ModuleDescriptor;
            astore 4 /* md */
        start local 4 // java.lang.module.ModuleDescriptor md
         3: .line 2029
            aload 4 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.provides:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()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/lang/module/ModuleDescriptor$Provides.providers()Ljava/util/List; (5)
                  (Ljava/lang/module/ModuleDescriptor$Provides;)Ljava/util/List;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokedynamic apply()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/Collection.stream()Ljava/util/stream/Stream; (9 itf)
                  (Ljava/util/List;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         4: .line 2030
            aload 2 /* entries */
            invokedynamic test(Ljava/util/Set;)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
                  sun/tools/jar/Main.lambda$44(Ljava/util/Set;Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         5: .line 2031
            aload 0 /* this */
            invokedynamic accept(Lsun/tools/jar/Main;)Ljava/util/function/Consumer;
              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;)V
                  sun/tools/jar/Main.lambda$45(Ljava/lang/String;)V (7)
                  (Ljava/lang/String;)V
            invokeinterface java.util.stream.Stream.peek:(Ljava/util/function/Consumer;)Ljava/util/stream/Stream;
         6: .line 2032
            invokeinterface java.util.stream.Stream.count:()J
            lconst_0
         7: .line 2029
            lcmp
            ifeq 13
         8: .line 2033
            iconst_0
            istore 3 /* ok */
        end local 4 // java.lang.module.ModuleDescriptor md
         9: .line 2035
            goto 13
      StackMap locals: sun.tools.jar.Main byte[] java.util.Set int
      StackMap stack: java.lang.module.InvalidModuleDescriptorException
        10: astore 4 /* x */
        start local 4 // java.lang.module.InvalidModuleDescriptorException x
        11: .line 2036
            aload 0 /* this */
            aload 4 /* x */
            invokevirtual java.lang.module.InvalidModuleDescriptorException.getMessage:()Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.fatalError:(Ljava/lang/String;)V
        12: .line 2037
            iconst_0
            istore 3 /* ok */
        end local 4 // java.lang.module.InvalidModuleDescriptorException x
        13: .line 2040
      StackMap locals:
      StackMap stack:
            iload 3 /* ok */
            ireturn
        end local 3 // boolean ok
        end local 2 // java.util.Set entries
        end local 1 // byte[] moduleInfoBytes
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lsun/tools/jar/Main;
            0   14     1  moduleInfoBytes  [B
            0   14     2          entries  Ljava/util/Set<Ljava/lang/String;>;
            1   14     3               ok  Z
            3    9     4               md  Ljava/lang/module/ModuleDescriptor;
           11   13     4                x  Ljava/lang/module/InvalidModuleDescriptorException;
      Exception table:
        from    to  target  type
           2     9      10  Class java.lang.module.InvalidModuleDescriptorException
    Exceptions:
      throws java.io.IOException
    Signature: ([BLjava/util/Set<Ljava/lang/String;>;)Z
    MethodParameters:
                 Name  Flags
      moduleInfoBytes  
      entries          

  private void addExtendedModuleAttributes(java.util.Map<java.lang.String, byte[]>, java.util.Set<java.lang.String>);
    descriptor: (Ljava/util/Map;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.util.Map moduleInfos
        start local 2 // java.util.Set packages
         0: .line 2051
            aload 1 /* moduleInfos */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: sun.tools.jar.Main java.util.Map java.util.Set top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* e */
        start local 3 // java.util.Map$Entry e
         2: .line 2052
            aload 3 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast byte[]
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            invokestatic java.lang.module.ModuleDescriptor.read:(Ljava/nio/ByteBuffer;)Ljava/lang/module/ModuleDescriptor;
            astore 5 /* md */
        start local 5 // java.lang.module.ModuleDescriptor md
         3: .line 2053
            aload 3 /* e */
            aload 0 /* this */
            aload 5 /* md */
            aload 3 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast byte[]
            aload 2 /* packages */
            invokevirtual sun.tools.jar.Main.extendedInfoBytes:(Ljava/lang/module/ModuleDescriptor;[BLjava/util/Set;)[B
            invokeinterface java.util.Map$Entry.setValue:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.module.ModuleDescriptor md
        end local 3 // java.util.Map$Entry e
         4: .line 2051
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 2055
            return
        end local 2 // java.util.Set packages
        end local 1 // java.util.Map moduleInfos
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lsun/tools/jar/Main;
            0    6     1  moduleInfos  Ljava/util/Map<Ljava/lang/String;[B>;
            0    6     2     packages  Ljava/util/Set<Ljava/lang/String;>;
            2    4     3            e  Ljava/util/Map$Entry<Ljava/lang/String;[B>;
            3    4     5           md  Ljava/lang/module/ModuleDescriptor;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Map<Ljava/lang/String;[B>;Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
             Name  Flags
      moduleInfos  
      packages     

  static boolean isModuleInfoEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String name
         0: .line 2059
            aload 0 /* name */
            ldc "module-info.class"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 14
         1: .line 2060
            aload 0 /* name */
            invokevirtual java.lang.String.length:()I
            ldc "module-info.class"
            invokevirtual java.lang.String.length:()I
            isub
            istore 1 /* end */
        start local 1 // int end
         2: .line 2061
            iload 1 /* end */
            ifne 4
         3: .line 2062
            iconst_1
            ireturn
         4: .line 2063
      StackMap locals: int
      StackMap stack:
            aload 0 /* name */
            ldc "META-INF/versions/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 14
         5: .line 2064
            getstatic sun.tools.jar.Main.VERSIONS_DIR_LENGTH:I
            istore 2 /* off */
        start local 2 // int off
         6: .line 2065
            iload 2 /* off */
            iload 1 /* end */
            if_icmpne 11
         7: .line 2066
            iconst_0
            ireturn
         8: .line 2068
      StackMap locals: int
      StackMap stack:
            aload 0 /* name */
            iload 2 /* off */
            iinc 2 /* off */ 1
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
         9: .line 2069
            iload 3 /* c */
            bipush 48
            if_icmplt 10
            iload 3 /* c */
            bipush 57
            if_icmple 11
        10: .line 2070
      StackMap locals: int
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // char c
        11: .line 2067
      StackMap locals:
      StackMap stack:
            iload 2 /* off */
            iload 1 /* end */
            iconst_1
            isub
            if_icmplt 8
        12: .line 2072
            aload 0 /* name */
            iload 2 /* off */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 13
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        13: iconst_0
            ireturn
        end local 2 // int off
        end local 1 // int end
        14: .line 2075
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  name  Ljava/lang/String;
            2   14     1   end  I
            6   14     2   off  I
            9   11     3     c  C
    MethodParameters:
      Name  Flags
      name  

  private byte[] extendedInfoBytes(java.lang.module.ModuleDescriptor, byte[], java.util.Set<java.lang.String>);
    descriptor: (Ljava/lang/module/ModuleDescriptor;[BLjava/util/Set;)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.module.ModuleDescriptor md
        start local 2 // byte[] miBytes
        start local 3 // java.util.Set packages
         0: .line 2091
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 4 /* baos */
        start local 4 // java.io.ByteArrayOutputStream baos
         1: .line 2092
            new java.io.ByteArrayInputStream
            dup
            aload 2 /* miBytes */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 5 /* is */
        start local 5 // java.io.InputStream is
         2: .line 2093
            aload 5 /* is */
            invokestatic jdk.internal.module.ModuleInfoExtender.newExtender:(Ljava/io/InputStream;)Ljdk/internal/module/ModuleInfoExtender;
            astore 6 /* extender */
        start local 6 // jdk.internal.module.ModuleInfoExtender extender
         3: .line 2096
            aload 6 /* extender */
            aload 3 /* packages */
            invokevirtual jdk.internal.module.ModuleInfoExtender.packages:(Ljava/util/Set;)Ljdk/internal/module/ModuleInfoExtender;
            pop
         4: .line 2099
            aload 0 /* this */
            getfield sun.tools.jar.Main.ename:Ljava/lang/String;
            ifnull 6
         5: .line 2100
            aload 6 /* extender */
            aload 0 /* this */
            getfield sun.tools.jar.Main.ename:Ljava/lang/String;
            invokevirtual jdk.internal.module.ModuleInfoExtender.mainClass:(Ljava/lang/String;)Ljdk/internal/module/ModuleInfoExtender;
            pop
         6: .line 2103
      StackMap locals: java.io.ByteArrayOutputStream java.io.InputStream jdk.internal.module.ModuleInfoExtender
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.moduleVersion:Ljava/lang/module/ModuleDescriptor$Version;
            ifnull 8
         7: .line 2104
            aload 6 /* extender */
            aload 0 /* this */
            getfield sun.tools.jar.Main.moduleVersion:Ljava/lang/module/ModuleDescriptor$Version;
            invokevirtual jdk.internal.module.ModuleInfoExtender.version:(Ljava/lang/module/ModuleDescriptor$Version;)Ljdk/internal/module/ModuleInfoExtender;
            pop
         8: .line 2107
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.modulesToHash:Ljava/util/regex/Pattern;
            ifnull 16
         9: .line 2108
            aload 1 /* md */
            invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
            astore 7 /* mn */
        start local 7 // java.lang.String mn
        10: .line 2109
            new sun.tools.jar.Main$Hasher
            dup
            aload 0 /* this */
            aload 1 /* md */
            aload 0 /* this */
            getfield sun.tools.jar.Main.fname:Ljava/lang/String;
            invokespecial sun.tools.jar.Main$Hasher.<init>:(Lsun/tools/jar/Main;Ljava/lang/module/ModuleDescriptor;Ljava/lang/String;)V
            astore 8 /* hasher */
        start local 8 // sun.tools.jar.Main$Hasher hasher
        11: .line 2110
            aload 8 /* hasher */
            aload 7 /* mn */
            invokevirtual sun.tools.jar.Main$Hasher.computeHashes:(Ljava/lang/String;)Ljdk/internal/module/ModuleHashes;
            astore 9 /* moduleHashes */
        start local 9 // jdk.internal.module.ModuleHashes moduleHashes
        12: .line 2111
            aload 9 /* moduleHashes */
            ifnull 15
        13: .line 2112
            aload 6 /* extender */
            aload 9 /* moduleHashes */
            invokevirtual jdk.internal.module.ModuleInfoExtender.hashes:(Ljdk/internal/module/ModuleHashes;)Ljdk/internal/module/ModuleInfoExtender;
            pop
        14: .line 2113
            goto 16
        15: .line 2114
      StackMap locals: java.lang.String sun.tools.jar.Main$Hasher jdk.internal.module.ModuleHashes
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "warning: no module is recorded in hash in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* mn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.warn:(Ljava/lang/String;)V
        end local 9 // jdk.internal.module.ModuleHashes moduleHashes
        end local 8 // sun.tools.jar.Main$Hasher hasher
        end local 7 // java.lang.String mn
        16: .line 2118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.tools.jar.Main.moduleResolution:Ljdk/internal/module/ModuleResolution;
            invokevirtual jdk.internal.module.ModuleResolution.value:()I
            ifeq 18
        17: .line 2119
            aload 6 /* extender */
            aload 0 /* this */
            getfield sun.tools.jar.Main.moduleResolution:Ljdk/internal/module/ModuleResolution;
            invokevirtual jdk.internal.module.ModuleInfoExtender.moduleResolution:(Ljdk/internal/module/ModuleResolution;)Ljdk/internal/module/ModuleInfoExtender;
            pop
        18: .line 2122
      StackMap locals:
      StackMap stack:
            aload 6 /* extender */
            aload 4 /* baos */
            invokevirtual jdk.internal.module.ModuleInfoExtender.write:(Ljava/io/OutputStream;)V
        19: .line 2123
            aload 4 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            areturn
        end local 6 // jdk.internal.module.ModuleInfoExtender extender
        end local 5 // java.io.InputStream is
        end local 4 // java.io.ByteArrayOutputStream baos
        end local 3 // java.util.Set packages
        end local 2 // byte[] miBytes
        end local 1 // java.lang.module.ModuleDescriptor md
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Lsun/tools/jar/Main;
            0   20     1            md  Ljava/lang/module/ModuleDescriptor;
            0   20     2       miBytes  [B
            0   20     3      packages  Ljava/util/Set<Ljava/lang/String;>;
            1   20     4          baos  Ljava/io/ByteArrayOutputStream;
            2   20     5            is  Ljava/io/InputStream;
            3   20     6      extender  Ljdk/internal/module/ModuleInfoExtender;
           10   16     7            mn  Ljava/lang/String;
           11   16     8        hasher  Lsun/tools/jar/Main$Hasher;
           12   16     9  moduleHashes  Ljdk/internal/module/ModuleHashes;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/module/ModuleDescriptor;[BLjava/util/Set<Ljava/lang/String;>;)[B
    MethodParameters:
          Name  Flags
      md        
      miBytes   
      packages  

  private static int lambda$0(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=11, args_size=2
        start local 0 // java.lang.String s1
        start local 1 // java.lang.String s2
         0: .line 2210
            aload 0 /* s1 */
            aload 1 /* s2 */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            ireturn
         1: .line 2211
      StackMap locals:
      StackMap stack:
            aload 0 /* s1 */
            ldc "META-INF/versions/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            istore 2 /* b1 */
        start local 2 // boolean b1
         2: .line 2212
            aload 1 /* s2 */
            ldc "META-INF/versions/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            istore 3 /* b2 */
        start local 3 // boolean b2
         3: .line 2213
            iload 2 /* b1 */
            ifeq 4
            iload 3 /* b2 */
            ifne 4
            iconst_1
            ireturn
         4: .line 2214
      StackMap locals: int int
      StackMap stack:
            iload 2 /* b1 */
            ifne 5
            iload 3 /* b2 */
            ifeq 5
            iconst_m1
            ireturn
         5: .line 2215
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* n */
        start local 4 // int n
         6: .line 2216
            iload 2 /* b1 */
            ifeq 13
            iload 3 /* b2 */
            ifeq 13
         7: .line 2219
            ldc "META-INF/versions/"
            invokevirtual java.lang.String.length:()I
            istore 4 /* n */
         8: .line 2220
            aload 0 /* s1 */
            bipush 47
            iload 4 /* n */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 5 /* i1 */
        start local 5 // int i1
         9: .line 2221
            aload 1 /* s2 */
            bipush 47
            iload 4 /* n */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 6 /* i2 */
        start local 6 // int i2
        10: .line 2222
            iload 5 /* i1 */
            iconst_m1
            if_icmpne 11
            new sun.tools.jar.Validator$InvalidJarException
            dup
            aload 0 /* s1 */
            invokespecial sun.tools.jar.Validator$InvalidJarException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 2223
      StackMap locals: int int int
      StackMap stack:
            iload 6 /* i2 */
            iconst_m1
            if_icmpne 12
            new sun.tools.jar.Validator$InvalidJarException
            dup
            aload 1 /* s2 */
            invokespecial sun.tools.jar.Validator$InvalidJarException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 2225
      StackMap locals:
      StackMap stack:
            iload 5 /* i1 */
            iload 6 /* i2 */
            if_icmpeq 13
            iload 5 /* i1 */
            iload 6 /* i2 */
            isub
            ireturn
        end local 6 // int i2
        end local 5 // int i1
        13: .line 2228
      StackMap locals:
      StackMap stack:
            aload 0 /* s1 */
            invokevirtual java.lang.String.length:()I
            istore 5 /* l1 */
        start local 5 // int l1
        14: .line 2229
            aload 1 /* s2 */
            invokevirtual java.lang.String.length:()I
            istore 6 /* l2 */
        start local 6 // int l2
        15: .line 2230
            iload 5 /* l1 */
            iload 6 /* l2 */
            invokestatic java.lang.Math.min:(II)I
            istore 7 /* lim */
        start local 7 // int lim
        16: .line 2231
            iload 4 /* n */
            istore 8 /* k */
        start local 8 // int k
        17: goto 25
        18: .line 2232
      StackMap locals: java.lang.String java.lang.String int int int int int int int
      StackMap stack:
            aload 0 /* s1 */
            iload 8 /* k */
            invokevirtual java.lang.String.charAt:(I)C
            istore 9 /* c1 */
        start local 9 // char c1
        19: .line 2233
            aload 1 /* s2 */
            iload 8 /* k */
            invokevirtual java.lang.String.charAt:(I)C
            istore 10 /* c2 */
        start local 10 // char c2
        20: .line 2234
            iload 9 /* c1 */
            iload 10 /* c2 */
            if_icmpeq 24
        21: .line 2237
            iload 9 /* c1 */
            bipush 36
            if_icmpne 22
            iload 10 /* c2 */
            bipush 46
            if_icmpne 22
            iconst_1
            ireturn
        22: .line 2238
      StackMap locals: int int
      StackMap stack:
            iload 9 /* c1 */
            bipush 46
            if_icmpne 23
            iload 10 /* c2 */
            bipush 36
            if_icmpne 23
            iconst_m1
            ireturn
        23: .line 2239
      StackMap locals:
      StackMap stack:
            iload 9 /* c1 */
            iload 10 /* c2 */
            isub
            ireturn
        end local 10 // char c2
        end local 9 // char c1
        24: .line 2231
      StackMap locals:
      StackMap stack:
            iinc 8 /* k */ 1
      StackMap locals:
      StackMap stack:
        25: iload 8 /* k */
            iload 7 /* lim */
            if_icmplt 18
        end local 8 // int k
        26: .line 2242
            iload 5 /* l1 */
            iload 6 /* l2 */
            isub
            ireturn
        end local 7 // int lim
        end local 6 // int l2
        end local 5 // int l1
        end local 4 // int n
        end local 3 // boolean b2
        end local 2 // boolean b1
        end local 1 // java.lang.String s2
        end local 0 // java.lang.String s1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   27     0    s1  Ljava/lang/String;
            0   27     1    s2  Ljava/lang/String;
            2   27     2    b1  Z
            3   27     3    b2  Z
            6   27     4     n  I
            9   13     5    i1  I
           10   13     6    i2  I
           14   27     5    l1  I
           15   27     6    l2  I
           16   27     7   lim  I
           17   26     8     k  I
           19   24     9    c1  C
           20   24    10    c2  C

  private static boolean lambda$2(sun.tools.jar.Main$Entry);
    descriptor: (Lsun/tools/jar/Main$Entry;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.tools.jar.Main$Entry e
         0: .line 292
            aload 0 /* e */
            getfield sun.tools.jar.Main$Entry.isDir:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.tools.jar.Main$Entry e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Lsun/tools/jar/Main$Entry;

  private void lambda$3(java.util.Set, java.util.Set, sun.tools.jar.Main$Entry);
    descriptor: (Ljava/util/Set;Ljava/util/Set;Lsun/tools/jar/Main$Entry;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // sun.tools.jar.Main this
        start local 3 // sun.tools.jar.Main$Entry e
         0: .line 294
            aload 0 /* this */
            aload 1
            aload 3 /* e */
            getfield sun.tools.jar.Main$Entry.name:Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.addPackageIfNamed:(Ljava/util/Set;Ljava/lang/String;)V
         1: .line 295
            aload 2
            aload 3 /* e */
            getfield sun.tools.jar.Main$Entry.name:Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 296
            return
        end local 3 // sun.tools.jar.Main$Entry e
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/tools/jar/Main;
            0    3     3     e  Lsun/tools/jar/Main$Entry;

  private static java.lang.String[] lambda$5(int);
    descriptor: (I)[Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            iload 0
            anewarray java.lang.String
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private java.lang.String lambda$6(java.util.Set, int, java.lang.String);
    descriptor: (Ljava/util/Set;ILjava/lang/String;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.tools.jar.Main this
        start local 3 // java.lang.String f
         0: .line 460
            aload 0 /* this */
            aload 3 /* f */
            aload 1
            iconst_0
            invokevirtual sun.tools.jar.Main.toEntryName:(Ljava/lang/String;Ljava/util/Set;Z)Ljava/lang/String;
            iload 2
            invokestatic sun.tools.jar.Main.toVersionedName:(Ljava/lang/String;I)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String f
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jar/Main;
            0    1     3     f  Ljava/lang/String;

  private void lambda$7(java.util.Set, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/lang/String;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.tools.jar.Main this
        start local 2 // java.lang.String je
         0: .line 985
            aload 0 /* this */
            aload 1
            aload 2 /* je */
            invokevirtual sun.tools.jar.Main.addPackageIfNamed:(Ljava/util/Set;Ljava/lang/String;)V
            return
        end local 2 // java.lang.String je
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jar/Main;
            0    1     2    je  Ljava/lang/String;

  private static void lambda$8(java.util.Map, java.lang.Integer);
    descriptor: (Ljava/util/Map;Ljava/lang/Integer;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=4, args_size=2
        start local 1 // java.lang.Integer version
         0: .line 1286
            aload 0
            aload 1 /* version */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 2 /* files */
        start local 2 // java.lang.String[] files
         1: .line 1287
            aload 2 /* files */
            ifnull 7
         2: .line 1288
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 1289
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 2 /* files */
            iload 3 /* i */
            aload 2 /* files */
            iload 3 /* i */
            aaload
            getstatic java.io.File.separatorChar:C
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            aastore
         5: .line 1288
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* files */
            arraylength
            if_icmplt 4
        end local 3 // int i
        end local 2 // java.lang.String[] files
         7: .line 1292
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Integer version
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     1  version  Ljava/lang/Integer;
            1    7     2    files  [Ljava/lang/String;
            3    7     3        i  I

  private static boolean lambda$9(java.util.zip.ZipEntry);
    descriptor: (Ljava/util/zip/ZipEntry;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.zip.ZipEntry e
         0: .line 1765
            aload 0 /* e */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            invokestatic sun.tools.jar.Main.isModuleInfoEntry:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.util.zip.ZipEntry e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Ljava/util/zip/ZipEntry;

  private static sun.tools.jar.Main$ZipFileModuleInfoEntry lambda$10(java.util.zip.ZipFile, java.util.zip.ZipEntry);
    descriptor: (Ljava/util/zip/ZipFile;Ljava/util/zip/ZipEntry;)Lsun/tools/jar/Main$ZipFileModuleInfoEntry;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 1 // java.util.zip.ZipEntry e
         0: .line 1767
            new sun.tools.jar.Main$ZipFileModuleInfoEntry
            dup
            aload 0
            aload 1 /* e */
            invokespecial sun.tools.jar.Main$ZipFileModuleInfoEntry.<init>:(Ljava/util/zip/ZipFile;Ljava/util/zip/ZipEntry;)V
            areturn
        end local 1 // java.util.zip.ZipEntry e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     e  Ljava/util/zip/ZipEntry;

  private static sun.tools.jar.Main$ZipFileModuleInfoEntry[] lambda$11(int);
    descriptor: (I)[Lsun/tools/jar/Main$ZipFileModuleInfoEntry;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            iload 0
            anewarray sun.tools.jar.Main$ZipFileModuleInfoEntry
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static sun.tools.jar.Main$ModuleInfoEntry[] lambda$13(int);
    descriptor: (I)[Lsun/tools/jar/Main$ModuleInfoEntry;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            iload 0
            anewarray sun.tools.jar.Main$ModuleInfoEntry
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean lambda$14(sun.tools.jar.Main$ModuleInfoEntry);
    descriptor: (Lsun/tools/jar/Main$ModuleInfoEntry;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.tools.jar.Main$ModuleInfoEntry e
         0: .line 1853
            aload 0 /* e */
            invokeinterface sun.tools.jar.Main$ModuleInfoEntry.name:()Ljava/lang/String;
            ldc "module-info.class"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // sun.tools.jar.Main$ModuleInfoEntry e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Lsun/tools/jar/Main$ModuleInfoEntry;

  private static java.lang.String lambda$17(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object e
         0: .line 1896
            aload 0 /* e */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  TT;

  private static java.lang.String lambda$18(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object e
         0: .line 1902
            aload 0 /* e */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  TT;

  private static boolean lambda$20(java.lang.module.ModuleDescriptor$Exports);
    descriptor: (Ljava/lang/module/ModuleDescriptor$Exports;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.module.ModuleDescriptor$Exports e
         0: .line 1937
            aload 0 /* e */
            invokevirtual java.lang.module.ModuleDescriptor$Exports.isQualified:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.lang.module.ModuleDescriptor$Exports e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     e  Ljava/lang/module/ModuleDescriptor$Exports;

  private static void lambda$21(java.lang.StringBuilder, java.lang.module.ModuleDescriptor$Exports);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Exports;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.module.ModuleDescriptor$Exports e
         0: .line 1938
            aload 0
            ldc "exports "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* e */
            invokevirtual java.lang.module.ModuleDescriptor$Exports.source:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 1939
            aload 1 /* e */
            invokevirtual java.lang.module.ModuleDescriptor$Exports.modifiers:()Ljava/util/Set;
            invokestatic sun.tools.jar.Main.toLowerCaseString:(Ljava/util/Collection;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 1940
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.module.ModuleDescriptor$Exports e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     e  Ljava/lang/module/ModuleDescriptor$Exports;

  private static void lambda$22(java.lang.StringBuilder, java.lang.module.ModuleDescriptor$Requires);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Requires;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.module.ModuleDescriptor$Requires r
         0: .line 1944
            aload 0
            ldc "requires "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* r */
            invokevirtual java.lang.module.ModuleDescriptor$Requires.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 1945
            aload 1 /* r */
            invokevirtual java.lang.module.ModuleDescriptor$Requires.modifiers:()Ljava/util/Set;
            invokestatic sun.tools.jar.Main.toLowerCaseString:(Ljava/util/Collection;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 1946
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.module.ModuleDescriptor$Requires r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     r  Ljava/lang/module/ModuleDescriptor$Requires;

  private static void lambda$23(java.lang.StringBuilder, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String s
         0: .line 1950
            aload 0
            ldc "uses "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     s  Ljava/lang/String;

  private static void lambda$25(java.lang.StringBuilder, java.lang.module.ModuleDescriptor$Provides);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Provides;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.module.ModuleDescriptor$Provides p
         0: .line 1954
            aload 0
            ldc "provides "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* p */
            invokevirtual java.lang.module.ModuleDescriptor$Provides.service:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 1955
            ldc " with"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 1956
            aload 1 /* p */
            invokevirtual java.lang.module.ModuleDescriptor$Provides.providers:()Ljava/util/List;
            invokestatic sun.tools.jar.Main.toString:(Ljava/util/Collection;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 1957
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.module.ModuleDescriptor$Provides p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     1     p  Ljava/lang/module/ModuleDescriptor$Provides;

  private static void lambda$28(java.lang.StringBuilder, java.lang.module.ModuleDescriptor$Exports);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Exports;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.module.ModuleDescriptor$Exports e
         0: .line 1963
            aload 0
            ldc "qualified exports "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* e */
            invokevirtual java.lang.module.ModuleDescriptor$Exports.source:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 1964
            ldc " to"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* e */
            invokevirtual java.lang.module.ModuleDescriptor$Exports.targets:()Ljava/util/Set;
            invokestatic sun.tools.jar.Main.toLowerCaseString:(Ljava/util/Collection;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 1965
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.module.ModuleDescriptor$Exports e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     e  Ljava/lang/module/ModuleDescriptor$Exports;

  private static boolean lambda$30(java.lang.module.ModuleDescriptor$Opens);
    descriptor: (Ljava/lang/module/ModuleDescriptor$Opens;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.module.ModuleDescriptor$Opens o
         0: .line 1970
            aload 0 /* o */
            invokevirtual java.lang.module.ModuleDescriptor$Opens.isQualified:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.lang.module.ModuleDescriptor$Opens o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     o  Ljava/lang/module/ModuleDescriptor$Opens;

  private static void lambda$31(java.lang.StringBuilder, java.lang.module.ModuleDescriptor$Opens);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Opens;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.module.ModuleDescriptor$Opens o
         0: .line 1971
            aload 0
            ldc "opens "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* o */
            invokevirtual java.lang.module.ModuleDescriptor$Opens.source:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 1972
            aload 1 /* o */
            invokevirtual java.lang.module.ModuleDescriptor$Opens.modifiers:()Ljava/util/Set;
            invokestatic sun.tools.jar.Main.toLowerCaseString:(Ljava/util/Collection;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 1973
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.module.ModuleDescriptor$Opens o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     o  Ljava/lang/module/ModuleDescriptor$Opens;

  private static void lambda$34(java.lang.StringBuilder, java.lang.module.ModuleDescriptor$Opens);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/module/ModuleDescriptor$Opens;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.module.ModuleDescriptor$Opens o
         0: .line 1978
            aload 0
            ldc "qualified opens "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* o */
            invokevirtual java.lang.module.ModuleDescriptor$Opens.source:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 1979
            aload 1 /* o */
            invokevirtual java.lang.module.ModuleDescriptor$Opens.modifiers:()Ljava/util/Set;
            invokestatic sun.tools.jar.Main.toLowerCaseString:(Ljava/util/Collection;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 1980
            ldc " to"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* o */
            invokevirtual java.lang.module.ModuleDescriptor$Opens.targets:()Ljava/util/Set;
            invokestatic sun.tools.jar.Main.toLowerCaseString:(Ljava/util/Collection;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 1981
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.module.ModuleDescriptor$Opens o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     1     o  Ljava/lang/module/ModuleDescriptor$Opens;

  private static void lambda$39(java.lang.StringBuilder, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String p
         0: .line 1987
            aload 0
            ldc "contains "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* p */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.String p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     p  Ljava/lang/String;

  private static void lambda$40(java.lang.StringBuilder, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String v
         0: .line 1989
            aload 0
            ldc "main-class "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* v */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 1 // java.lang.String v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     v  Ljava/lang/String;

  private static void lambda$41(java.lang.StringBuilder, jdk.internal.module.ModuleHashes, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljdk/internal/module/ModuleHashes;Ljava/lang/String;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 2 // java.lang.String mod
         0: .line 1999
            aload 0
            ldc "hashes "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* mod */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 2000
            aload 1
            invokevirtual jdk.internal.module.ModuleHashes.algorithm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 2001
            aload 1
            aload 2 /* mod */
            invokevirtual jdk.internal.module.ModuleHashes.hashFor:(Ljava/lang/String;)[B
            invokestatic sun.tools.jar.Main.toHex:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 2002
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            return
        end local 2 // java.lang.String mod
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     2   mod  Ljava/lang/String;

  private static boolean lambda$44(java.util.Set, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String p
         0: .line 2030
            aload 0
            aload 1 /* p */
            invokestatic sun.tools.jar.Main.toBinaryName:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // java.lang.String p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     p  Ljava/lang/String;

  private void lambda$45(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.tools.jar.Main this
        start local 1 // java.lang.String p
         0: .line 2031
            aload 0 /* this */
            ldc "error.missing.provider"
            aload 1 /* p */
            invokestatic sun.tools.jar.Main.formatMsg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.tools.jar.Main.fatalError:(Ljava/lang/String;)V
            return
        end local 1 // java.lang.String p
        end local 0 // sun.tools.jar.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/tools/jar/Main;
            0    1     1     p  Ljava/lang/String;
}
SourceFile: "Main.java"
NestMembers:
  sun.tools.jar.Main$1  sun.tools.jar.Main$CRC32OutputStream  sun.tools.jar.Main$Entry  sun.tools.jar.Main$Hasher  sun.tools.jar.Main$Hasher$1  sun.tools.jar.Main$Hasher$2  sun.tools.jar.Main$ModuleInfoEntry  sun.tools.jar.Main$StreamedModuleInfoEntry  sun.tools.jar.Main$ZipFileModuleInfoEntry
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Exports = java.lang.module.ModuleDescriptor$Exports of java.lang.module.ModuleDescriptor
  public final Modifier = java.lang.module.ModuleDescriptor$Exports$Modifier of java.lang.module.ModuleDescriptor$Exports
  public final Opens = java.lang.module.ModuleDescriptor$Opens of java.lang.module.ModuleDescriptor
  public final Modifier = java.lang.module.ModuleDescriptor$Opens$Modifier of java.lang.module.ModuleDescriptor$Opens
  public final Provides = java.lang.module.ModuleDescriptor$Provides of java.lang.module.ModuleDescriptor
  public final Requires = java.lang.module.ModuleDescriptor$Requires of java.lang.module.ModuleDescriptor
  public final Modifier = java.lang.module.ModuleDescriptor$Requires$Modifier of java.lang.module.ModuleDescriptor$Requires
  public final Version = java.lang.module.ModuleDescriptor$Version of java.lang.module.ModuleDescriptor
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes
  public final Attributes = jdk.internal.module.ModuleInfo$Attributes of jdk.internal.module.ModuleInfo
  BadArgs = sun.tools.jar.GNUStyleOptions$BadArgs of sun.tools.jar.GNUStyleOptions
  sun.tools.jar.Main$1
  private CRC32OutputStream = sun.tools.jar.Main$CRC32OutputStream of sun.tools.jar.Main
  private Entry = sun.tools.jar.Main$Entry of sun.tools.jar.Main
  private Hasher = sun.tools.jar.Main$Hasher of sun.tools.jar.Main
  abstract ModuleInfoEntry = sun.tools.jar.Main$ModuleInfoEntry of sun.tools.jar.Main
  StreamedModuleInfoEntry = sun.tools.jar.Main$StreamedModuleInfoEntry of sun.tools.jar.Main
  ZipFileModuleInfoEntry = sun.tools.jar.Main$ZipFileModuleInfoEntry of sun.tools.jar.Main
  InvalidJarException = sun.tools.jar.Validator$InvalidJarException of sun.tools.jar.Validator