public class jdk.nio.zipfs.ZipInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.nio.zipfs.ZipInfo
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nio.zipfs.ZipInfo this
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.nio.zipfs.ZipInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nio/zipfs/ZipInfo;

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=9, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 45
            aload 0 /* args */
            arraylength
            iconst_1
            if_icmpge 3
         1: .line 46
            ldc "Usage: java ZipInfo zfname"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 47
            goto 28
         3: .line 48
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            astore 1 /* env */
        start local 1 // java.util.Map env
         4: .line 49
            new jdk.nio.zipfs.ZipFileSystemProvider
            dup
            invokespecial jdk.nio.zipfs.ZipFileSystemProvider.<init>:()V
         5: .line 50
            aload 0 /* args */
            iconst_0
            aaload
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            aload 1 /* env */
            invokevirtual jdk.nio.zipfs.ZipFileSystemProvider.newFileSystem:(Ljava/nio/file/Path;Ljava/util/Map;)Ljava/nio/file/FileSystem;
         6: .line 49
            checkcast jdk.nio.zipfs.ZipFileSystem
            astore 2 /* zfs */
        start local 2 // jdk.nio.zipfs.ZipFileSystem zfs
         7: .line 51
            aload 2 /* zfs */
            getfield jdk.nio.zipfs.ZipFileSystem.cen:[B
            astore 3 /* cen */
        start local 3 // byte[] cen
         8: .line 52
            aload 3 /* cen */
            ifnonnull 11
         9: .line 53
            ldc "zip file is empty%n"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        10: .line 54
            return
        11: .line 56
      StackMap locals: java.util.Map jdk.nio.zipfs.ZipFileSystem byte[]
      StackMap stack:
            iconst_0
            istore 4 /* pos */
        start local 4 // int pos
        12: .line 57
            sipush 1024
            newarray 8
            astore 5 /* buf */
        start local 5 // byte[] buf
        13: .line 58
            iconst_1
            istore 6 /* no */
        start local 6 // int no
        14: .line 59
            goto 26
        15: .line 60
      StackMap locals: int byte[] int
      StackMap stack:
            ldc "----------------#%d--------------------%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 6 /* no */
            iinc 6 /* no */ 1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        16: .line 61
            aload 3 /* cen */
            iload 4 /* pos */
            invokestatic jdk.nio.zipfs.ZipInfo.printCEN:([BI)V
        17: .line 66
            bipush 30
            aload 3 /* cen */
            iload 4 /* pos */
            invokestatic jdk.nio.zipfs.ZipConstants.CENNAM:([BI)I
            iadd
            aload 3 /* cen */
            iload 4 /* pos */
            invokestatic jdk.nio.zipfs.ZipConstants.CENEXT:([BI)I
            iadd
            bipush 46
            iadd
            i2l
            lstore 7 /* len */
        start local 7 // long len
        18: .line 67
            aload 2 /* zfs */
            aload 5 /* buf */
            iconst_0
            lload 7 /* len */
            aload 3 /* cen */
            iload 4 /* pos */
            invokestatic jdk.nio.zipfs.ZipInfo.locoff:([BI)J
            invokevirtual jdk.nio.zipfs.ZipFileSystem.readFullyAt:([BIJJ)J
            lload 7 /* len */
            lcmp
            ifeq 20
        19: .line 68
            ldc "read loc header failed"
            invokestatic jdk.nio.zipfs.ZipFileSystem.zerror:(Ljava/lang/String;)V
        20: .line 69
      StackMap locals: long
      StackMap stack:
            aload 5 /* buf */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCEXT:([B)I
            aload 3 /* cen */
            iload 4 /* pos */
            invokestatic jdk.nio.zipfs.ZipConstants.CENEXT:([BI)I
            bipush 46
            iadd
            if_icmple 24
        21: .line 71
            bipush 30
            aload 5 /* buf */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCNAM:([B)I
            iadd
            aload 5 /* buf */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCEXT:([B)I
            iadd
            i2l
            lstore 7 /* len */
        22: .line 72
            aload 2 /* zfs */
            aload 5 /* buf */
            iconst_0
            lload 7 /* len */
            aload 3 /* cen */
            iload 4 /* pos */
            invokestatic jdk.nio.zipfs.ZipInfo.locoff:([BI)J
            invokevirtual jdk.nio.zipfs.ZipFileSystem.readFullyAt:([BIJJ)J
            lload 7 /* len */
            lcmp
            ifeq 24
        23: .line 73
            ldc "read loc header failed"
            invokestatic jdk.nio.zipfs.ZipFileSystem.zerror:(Ljava/lang/String;)V
        24: .line 75
      StackMap locals:
      StackMap stack:
            aload 5 /* buf */
            invokestatic jdk.nio.zipfs.ZipInfo.printLOC:([B)V
        25: .line 76
            iload 4 /* pos */
            bipush 46
            aload 3 /* cen */
            iload 4 /* pos */
            invokestatic jdk.nio.zipfs.ZipConstants.CENNAM:([BI)I
            iadd
            aload 3 /* cen */
            iload 4 /* pos */
            invokestatic jdk.nio.zipfs.ZipConstants.CENEXT:([BI)I
            iadd
            aload 3 /* cen */
            iload 4 /* pos */
            invokestatic jdk.nio.zipfs.ZipConstants.CENCOM:([BI)I
            iadd
            iadd
            istore 4 /* pos */
        end local 7 // long len
        26: .line 59
      StackMap locals:
      StackMap stack:
            iload 4 /* pos */
            bipush 46
            iadd
            aload 3 /* cen */
            arraylength
            if_icmplt 15
        27: .line 78
            aload 2 /* zfs */
            invokevirtual jdk.nio.zipfs.ZipFileSystem.close:()V
        end local 6 // int no
        end local 5 // byte[] buf
        end local 4 // int pos
        end local 3 // byte[] cen
        end local 2 // jdk.nio.zipfs.ZipFileSystem zfs
        end local 1 // java.util.Map env
        28: .line 80
      StackMap locals: java.lang.String[]
      StackMap stack:
            return
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   29     0  args  [Ljava/lang/String;
            4   28     1   env  Ljava/util/Map<Ljava/lang/String;*>;
            7   28     2   zfs  Ljdk/nio/zipfs/ZipFileSystem;
            8   28     3   cen  [B
           12   28     4   pos  I
           13   28     5   buf  [B
           14   28     6    no  I
           18   26     7   len  J
    Exceptions:
      throws java.lang.Throwable
    MethodParameters:
      Name  Flags
      args  

  static void print(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String fmt
        start local 1 // java.lang.Object[] objs
         0: .line 83
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 0 /* fmt */
            aload 1 /* objs */
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
         1: .line 84
            return
        end local 1 // java.lang.Object[] objs
        end local 0 // java.lang.String fmt
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   fmt  Ljava/lang/String;
            0    2     1  objs  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      fmt   
      objs  

  static void printLOC(byte[]);
    descriptor: ([B)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=1, args_size=1
        start local 0 // byte[] loc
         0: .line 87
            ldc "%n"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 88
            ldc "[Local File Header]%n"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 89
            ldc "    Signature   :   %#010x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCSIG:([B)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 90
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCSIG:([B)J
            getstatic jdk.nio.zipfs.ZipConstants.LOCSIG:J
            lcmp
            ifeq 6
         4: .line 91
            ldc "    Wrong signature!"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 92
            return
         6: .line 94
      StackMap locals:
      StackMap stack:
            ldc "    Version     :       %#6x    [%d.%d]%n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         7: .line 95
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCVER:([B)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCVER:([B)I
            bipush 10
            idiv
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCVER:([B)I
            bipush 10
            irem
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         8: .line 94
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 96
            ldc "    Flag        :       %#6x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCFLG:([B)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        10: .line 97
            ldc "    Method      :       %#6x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCHOW:([B)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        11: .line 98
            ldc "    LastMTime   :   %#10x    [%tc]%n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        12: .line 99
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCTIM:([B)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCTIM:([B)J
            invokestatic jdk.nio.zipfs.ZipUtils.dosToJavaTime:(J)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
        13: .line 98
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        14: .line 100
            ldc "    CRC         :   %#10x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCCRC:([B)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        15: .line 101
            ldc "    CSize       :   %#10x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCSIZ:([B)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        16: .line 102
            ldc "    Size        :   %#10x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCLEN:([B)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        17: .line 103
            ldc "    NameLength  :       %#6x    [%s]%n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        18: .line 104
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCNAM:([B)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            new java.lang.String
            dup
            aload 0 /* loc */
            bipush 30
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCNAM:([B)I
            invokespecial java.lang.String.<init>:([BII)V
            aastore
        19: .line 103
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        20: .line 105
            ldc "    ExtraLength :       %#6x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCEXT:([B)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        21: .line 106
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCEXT:([B)I
            ifeq 23
        22: .line 107
            aload 0 /* loc */
            bipush 30
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCNAM:([B)I
            iadd
            aload 0 /* loc */
            invokestatic jdk.nio.zipfs.ZipConstants.LOCEXT:([B)I
            invokestatic jdk.nio.zipfs.ZipInfo.printExtra:([BII)V
        23: .line 108
      StackMap locals:
      StackMap stack:
            return
        end local 0 // byte[] loc
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0   loc  [B
    MethodParameters:
      Name  Flags
      loc   

  static void printCEN(byte[], int);
    descriptor: ([BI)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // byte[] cen
        start local 1 // int off
         0: .line 111
            ldc "[Central Directory Header]%n"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 112
            ldc "    Signature   :   %#010x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENSIG:([BI)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 113
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENSIG:([BI)J
            getstatic jdk.nio.zipfs.ZipConstants.CENSIG:J
            lcmp
            ifeq 5
         3: .line 114
            ldc "    Wrong signature!"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 115
            return
         5: .line 117
      StackMap locals:
      StackMap stack:
            ldc "    VerMadeby   :       %#6x    [%d, %d.%d]%n"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 118
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENVEM:([BI)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENVEM:([BI)I
            bipush 8
            ishr
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
         7: .line 119
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENVEM:([BI)I
            sipush 255
            iand
            bipush 10
            idiv
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
         8: .line 120
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENVEM:([BI)I
            sipush 255
            iand
            bipush 10
            irem
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         9: .line 117
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        10: .line 121
            ldc "    VerExtract  :       %#6x    [%d.%d]%n"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        11: .line 122
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENVER:([BI)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENVER:([BI)I
            bipush 10
            idiv
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENVER:([BI)I
            bipush 10
            irem
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        12: .line 121
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        13: .line 123
            ldc "    Flag        :       %#6x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENFLG:([BI)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        14: .line 124
            ldc "    Method      :       %#6x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENHOW:([BI)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        15: .line 125
            ldc "    LastMTime   :   %#10x    [%tc]%n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        16: .line 126
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENTIM:([BI)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENTIM:([BI)J
            invokestatic jdk.nio.zipfs.ZipUtils.dosToJavaTime:(J)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
        17: .line 125
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        18: .line 127
            ldc "    CRC         :   %#10x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENCRC:([BI)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        19: .line 128
            ldc "    CSize       :   %#10x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENSIZ:([BI)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        20: .line 129
            ldc "    Size        :   %#10x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENLEN:([BI)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        21: .line 130
            ldc "    NameLen     :       %#6x    [%s]%n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        22: .line 131
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENNAM:([BI)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            new java.lang.String
            dup
            aload 0 /* cen */
            iload 1 /* off */
            bipush 46
            iadd
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENNAM:([BI)I
            invokespecial java.lang.String.<init>:([BII)V
            aastore
        23: .line 130
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        24: .line 132
            ldc "    ExtraLen    :       %#6x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENEXT:([BI)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        25: .line 133
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENEXT:([BI)I
            ifeq 27
        26: .line 134
            aload 0 /* cen */
            iload 1 /* off */
            bipush 46
            iadd
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENNAM:([BI)I
            iadd
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENEXT:([BI)I
            invokestatic jdk.nio.zipfs.ZipInfo.printExtra:([BII)V
        27: .line 135
      StackMap locals:
      StackMap stack:
            ldc "    CommentLen  :       %#6x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENCOM:([BI)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        28: .line 136
            ldc "    DiskStart   :       %#6x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENDSK:([BI)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        29: .line 137
            ldc "    Attrs       :       %#6x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENATT:([BI)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        30: .line 138
            ldc "    AttrsEx     :   %#10x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENATX:([BI)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        31: .line 139
            ldc "    LocOff      :   %#10x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* cen */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.CENOFF:([BI)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        32: .line 141
            return
        end local 1 // int off
        end local 0 // byte[] cen
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   33     0   cen  [B
            0   33     1   off  I
    MethodParameters:
      Name  Flags
      cen   
      off   

  static long locoff(byte[], int);
    descriptor: ([BI)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // byte[] cen
        start local 1 // int pos
         0: .line 144
            aload 0 /* cen */
            iload 1 /* pos */
            invokestatic jdk.nio.zipfs.ZipConstants.CENOFF:([BI)J
            lstore 2 /* locoff */
        start local 2 // long locoff
         1: .line 145
            lload 2 /* locoff */
            ldc 4294967295
            lcmp
            ifne 17
         2: .line 146
            iload 1 /* pos */
            bipush 46
            iadd
            aload 0 /* cen */
            iload 1 /* pos */
            invokestatic jdk.nio.zipfs.ZipConstants.CENNAM:([BI)I
            iadd
            istore 4 /* off */
        start local 4 // int off
         3: .line 147
            iload 4 /* off */
            aload 0 /* cen */
            iload 1 /* pos */
            invokestatic jdk.nio.zipfs.ZipConstants.CENEXT:([BI)I
            iadd
            istore 5 /* end */
        start local 5 // int end
         4: .line 148
            goto 16
         5: .line 149
      StackMap locals: long int int
      StackMap stack:
            aload 0 /* cen */
            iload 4 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.SH:([BI)I
            istore 6 /* tag */
        start local 6 // int tag
         6: .line 150
            aload 0 /* cen */
            iload 4 /* off */
            iconst_2
            iadd
            invokestatic jdk.nio.zipfs.ZipConstants.SH:([BI)I
            istore 7 /* sz */
        start local 7 // int sz
         7: .line 151
            iload 6 /* tag */
            iconst_1
            if_icmpeq 10
         8: .line 152
            iload 4 /* off */
            iconst_4
            iload 7 /* sz */
            iadd
            iadd
            istore 4 /* off */
         9: .line 153
            goto 16
        10: .line 155
      StackMap locals: int int
      StackMap stack:
            iinc 4 /* off */ 4
        11: .line 156
            aload 0 /* cen */
            iload 1 /* pos */
            invokestatic jdk.nio.zipfs.ZipConstants.CENLEN:([BI)J
            ldc 4294967295
            lcmp
            ifne 13
        12: .line 157
            iinc 4 /* off */ 8
        13: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* cen */
            iload 1 /* pos */
            invokestatic jdk.nio.zipfs.ZipConstants.CENSIZ:([BI)J
            ldc 4294967295
            lcmp
            ifne 15
        14: .line 159
            iinc 4 /* off */ 8
        15: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* cen */
            iload 4 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.LL:([BI)J
            lreturn
        end local 7 // int sz
        end local 6 // int tag
        16: .line 148
      StackMap locals:
      StackMap stack:
            iload 4 /* off */
            iconst_4
            iadd
            iload 5 /* end */
            if_icmplt 5
        end local 5 // int end
        end local 4 // int off
        17: .line 164
      StackMap locals:
      StackMap stack:
            lload 2 /* locoff */
            lreturn
        end local 2 // long locoff
        end local 1 // int pos
        end local 0 // byte[] cen
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0     cen  [B
            0   18     1     pos  I
            1   18     2  locoff  J
            3   17     4     off  I
            4   17     5     end  I
            6   16     6     tag  I
            7   16     7      sz  I
    MethodParameters:
      Name  Flags
      cen   
      pos   

  static void printExtra(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // byte[] extra
        start local 1 // int off
        start local 2 // int len
         0: .line 168
            iload 1 /* off */
            iload 2 /* len */
            iadd
            istore 3 /* end */
        start local 3 // int end
         1: .line 169
            goto 48
         2: .line 170
      StackMap locals: int
      StackMap stack:
            aload 0 /* extra */
            iload 1 /* off */
            invokestatic jdk.nio.zipfs.ZipConstants.SH:([BI)I
            istore 4 /* tag */
        start local 4 // int tag
         3: .line 171
            aload 0 /* extra */
            iload 1 /* off */
            iconst_2
            iadd
            invokestatic jdk.nio.zipfs.ZipConstants.SH:([BI)I
            istore 5 /* sz */
        start local 5 // int sz
         4: .line 172
            ldc "        [tag=0x%04x, sz=%d, data= "
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 4 /* tag */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 5 /* sz */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 173
            iload 1 /* off */
            iload 5 /* sz */
            iadd
            iload 3 /* end */
            if_icmple 8
         6: .line 174
            ldc "    Error: Invalid extra data, beyond extra length"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 175
            goto 49
         8: .line 177
      StackMap locals: int int
      StackMap stack:
            iinc 1 /* off */ 4
         9: .line 178
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        10: goto 13
        11: .line 179
      StackMap locals: int
      StackMap stack:
            ldc "%02x "
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* extra */
            iload 1 /* off */
            iload 6 /* i */
            iadd
            baload
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        12: .line 178
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            iload 5 /* sz */
            if_icmplt 11
        end local 6 // int i
        14: .line 180
            ldc "]%n"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        15: .line 181
            iload 4 /* tag */
            lookupswitch { // 3
                    1: 16
                   10: 24
                21589: 37
              default: 46
          }
        16: .line 183
      StackMap locals:
      StackMap stack:
            ldc "         ->ZIP64: "
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        17: .line 184
            iload 1 /* off */
            istore 6 /* pos */
        start local 6 // int pos
        18: .line 185
            goto 21
        19: .line 186
      StackMap locals: int
      StackMap stack:
            ldc " *0x%x "
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* extra */
            iload 6 /* pos */
            invokestatic jdk.nio.zipfs.ZipConstants.LL:([BI)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        20: .line 187
            iinc 6 /* pos */ 8
        21: .line 185
      StackMap locals:
      StackMap stack:
            iload 6 /* pos */
            bipush 8
            iadd
            iload 1 /* off */
            iload 5 /* sz */
            iadd
            if_icmple 19
        22: .line 189
            ldc "%n"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        23: .line 190
            goto 47
        end local 6 // int pos
        24: .line 192
      StackMap locals:
      StackMap stack:
            ldc "         ->PKWare NTFS%n"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        25: .line 194
            aload 0 /* extra */
            iload 1 /* off */
            iconst_4
            iadd
            invokestatic jdk.nio.zipfs.ZipConstants.SH:([BI)I
            iconst_1
            if_icmpne 26
            aload 0 /* extra */
            iload 1 /* off */
            bipush 6
            iadd
            invokestatic jdk.nio.zipfs.ZipConstants.SH:([BI)I
            bipush 24
            if_icmpeq 27
        26: .line 195
      StackMap locals:
      StackMap stack:
            ldc "    Error: Invalid NTFS sub-tag or subsz"
            iconst_0
            anewarray java.lang.Object
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        27: .line 196
      StackMap locals:
      StackMap stack:
            ldc "            mtime:%tc%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        28: .line 197
            aload 0 /* extra */
            iload 1 /* off */
            bipush 8
            iadd
            invokestatic jdk.nio.zipfs.ZipConstants.LL:([BI)J
            invokestatic jdk.nio.zipfs.ZipUtils.winToJavaTime:(J)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
        29: .line 196
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        30: .line 198
            ldc "            atime:%tc%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        31: .line 199
            aload 0 /* extra */
            iload 1 /* off */
            bipush 16
            iadd
            invokestatic jdk.nio.zipfs.ZipConstants.LL:([BI)J
            invokestatic jdk.nio.zipfs.ZipUtils.winToJavaTime:(J)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
        32: .line 198
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        33: .line 200
            ldc "            ctime:%tc%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        34: .line 201
            aload 0 /* extra */
            iload 1 /* off */
            bipush 24
            iadd
            invokestatic jdk.nio.zipfs.ZipConstants.LL:([BI)J
            invokestatic jdk.nio.zipfs.ZipUtils.winToJavaTime:(J)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
        35: .line 200
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        36: .line 202
            goto 47
        37: .line 204
      StackMap locals:
      StackMap stack:
            ldc "         ->Info-ZIP Extended Timestamp: flag=%x%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* extra */
            iload 1 /* off */
            baload
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        38: .line 205
            iload 1 /* off */
            iconst_1
            iadd
            istore 6 /* pos */
        start local 6 // int pos
        39: .line 206
            goto 44
        40: .line 207
      StackMap locals: int
      StackMap stack:
            ldc "            *%tc%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        41: .line 208
            aload 0 /* extra */
            iload 6 /* pos */
            invokestatic jdk.nio.zipfs.ZipConstants.LG:([BI)J
            invokestatic jdk.nio.zipfs.ZipUtils.unixToJavaTime:(J)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
        42: .line 207
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        43: .line 209
            iinc 6 /* pos */ 4
        44: .line 206
      StackMap locals:
      StackMap stack:
            iload 6 /* pos */
            iconst_4
            iadd
            iload 1 /* off */
            iload 5 /* sz */
            iadd
            if_icmple 40
        45: .line 211
            goto 47
        end local 6 // int pos
        46: .line 213
      StackMap locals:
      StackMap stack:
            ldc "         ->[tag=%x, size=%d]%n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 4 /* tag */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 5 /* sz */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic jdk.nio.zipfs.ZipInfo.print:(Ljava/lang/String;[Ljava/lang/Object;)V
        47: .line 215
      StackMap locals:
      StackMap stack:
            iload 1 /* off */
            iload 5 /* sz */
            iadd
            istore 1 /* off */
        end local 5 // int sz
        end local 4 // int tag
        48: .line 169
      StackMap locals:
      StackMap stack:
            iload 1 /* off */
            iconst_4
            iadd
            iload 3 /* end */
            if_icmple 2
        49: .line 217
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int end
        end local 2 // int len
        end local 1 // int off
        end local 0 // byte[] extra
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   50     0  extra  [B
            0   50     1    off  I
            0   50     2    len  I
            1   50     3    end  I
            3   48     4    tag  I
            4   48     5     sz  I
           10   14     6      i  I
           18   24     6    pos  I
           39   46     6    pos  I
    MethodParameters:
       Name  Flags
      extra  
      off    
      len    
}
SourceFile: "ZipInfo.java"