public class org.apache.commons.io.HexDump
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.io.HexDump
  super_class: java.lang.Object
{
  public static final java.lang.String EOL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final char[] _hexcodes;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 122
            ldc "line.separator"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
         1: .line 121
            putstatic org.apache.commons.io.HexDump.EOL:Ljava/lang/String;
         2: .line 124
            bipush 16
            newarray 5
            dup
            iconst_0
         3: .line 125
            bipush 48
            castore
            dup
            iconst_1
            bipush 49
            castore
            dup
            iconst_2
            bipush 50
            castore
            dup
            iconst_3
            bipush 51
            castore
            dup
            iconst_4
            bipush 52
            castore
            dup
            iconst_5
            bipush 53
            castore
            dup
            bipush 6
            bipush 54
            castore
            dup
            bipush 7
            bipush 55
            castore
            dup
            bipush 8
            bipush 56
            castore
            dup
            bipush 9
            bipush 57
            castore
            dup
            bipush 10
         4: .line 126
            bipush 65
            castore
            dup
            bipush 11
            bipush 66
            castore
            dup
            bipush 12
            bipush 67
            castore
            dup
            bipush 13
            bipush 68
            castore
            dup
            bipush 14
            bipush 69
            castore
            dup
            bipush 15
            bipush 70
            castore
         5: .line 123
            putstatic org.apache.commons.io.HexDump._hexcodes:[C
         6: .line 129
            bipush 8
            newarray 10
            dup
            iconst_0
         7: .line 130
            bipush 28
            iastore
            dup
            iconst_1
            bipush 24
            iastore
            dup
            iconst_2
            bipush 20
            iastore
            dup
            iconst_3
            bipush 16
            iastore
            dup
            iconst_4
            bipush 12
            iastore
            dup
            iconst_5
            bipush 8
            iastore
            dup
            bipush 6
            iconst_4
            iastore
         8: .line 128
            putstatic org.apache.commons.io.HexDump._shifts:[I
         9: .line 131
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.io.HexDump this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 39
            return
        end local 0 // org.apache.commons.io.HexDump this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/io/HexDump;

  public static void dump(byte[], long, java.io.OutputStream, int);
    descriptor: ([BJLjava/io/OutputStream;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // byte[] data
        start local 1 // long offset
        start local 3 // java.io.OutputStream stream
        start local 4 // int index
         0: .line 76
            iload 4 /* index */
            iflt 1
            iload 4 /* index */
            aload 0 /* data */
            arraylength
            if_icmplt 6
         1: .line 77
      StackMap locals:
      StackMap stack:
            new java.lang.ArrayIndexOutOfBoundsException
            dup
         2: .line 78
            new java.lang.StringBuilder
            dup
            ldc "illegal index: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " into array of length "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 79
            aload 0 /* data */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         4: .line 78
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 77
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 81
      StackMap locals:
      StackMap stack:
            aload 3 /* stream */
            ifnonnull 8
         7: .line 82
            new java.lang.IllegalArgumentException
            dup
            ldc "cannot write to nullstream"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 84
      StackMap locals:
      StackMap stack:
            lload 1 /* offset */
            iload 4 /* index */
            i2l
            ladd
            lstore 5 /* display_offset */
        start local 5 // long display_offset
         9: .line 85
            new java.lang.StringBuilder
            dup
            bipush 74
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 7 /* buffer */
        start local 7 // java.lang.StringBuilder buffer
        10: .line 87
            iload 4 /* index */
            istore 8 /* j */
        start local 8 // int j
        11: goto 39
        12: .line 88
      StackMap locals: long java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* data */
            arraylength
            iload 8 /* j */
            isub
            istore 9 /* chars_read */
        start local 9 // int chars_read
        13: .line 90
            iload 9 /* chars_read */
            bipush 16
            if_icmple 15
        14: .line 91
            bipush 16
            istore 9 /* chars_read */
        15: .line 93
      StackMap locals: int
      StackMap stack:
            aload 7 /* buffer */
            lload 5 /* display_offset */
            invokestatic org.apache.commons.io.HexDump.dump:(Ljava/lang/StringBuilder;J)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 94
            iconst_0
            istore 10 /* k */
        start local 10 // int k
        17: goto 24
        18: .line 95
      StackMap locals: int
      StackMap stack:
            iload 10 /* k */
            iload 9 /* chars_read */
            if_icmpge 21
        19: .line 96
            aload 7 /* buffer */
            aload 0 /* data */
            iload 10 /* k */
            iload 8 /* j */
            iadd
            baload
            invokestatic org.apache.commons.io.HexDump.dump:(Ljava/lang/StringBuilder;B)Ljava/lang/StringBuilder;
            pop
        20: .line 97
            goto 22
        21: .line 98
      StackMap locals:
      StackMap stack:
            aload 7 /* buffer */
            ldc "  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 100
      StackMap locals:
      StackMap stack:
            aload 7 /* buffer */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        23: .line 94
            iinc 10 /* k */ 1
      StackMap locals:
      StackMap stack:
        24: iload 10 /* k */
            bipush 16
            if_icmplt 18
        end local 10 // int k
        25: .line 102
            iconst_0
            istore 10 /* k */
        start local 10 // int k
        26: goto 32
        27: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* data */
            iload 10 /* k */
            iload 8 /* j */
            iadd
            baload
            bipush 32
            if_icmplt 30
            aload 0 /* data */
            iload 10 /* k */
            iload 8 /* j */
            iadd
            baload
            bipush 127
            if_icmpge 30
        28: .line 104
            aload 7 /* buffer */
            aload 0 /* data */
            iload 10 /* k */
            iload 8 /* j */
            iadd
            baload
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        29: .line 105
            goto 31
        30: .line 106
      StackMap locals:
      StackMap stack:
            aload 7 /* buffer */
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        31: .line 102
      StackMap locals:
      StackMap stack:
            iinc 10 /* k */ 1
      StackMap locals:
      StackMap stack:
        32: iload 10 /* k */
            iload 9 /* chars_read */
            if_icmplt 27
        end local 10 // int k
        33: .line 109
            aload 7 /* buffer */
            getstatic org.apache.commons.io.HexDump.EOL:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        34: .line 111
            aload 3 /* stream */
            aload 7 /* buffer */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            invokevirtual java.io.OutputStream.write:([B)V
        35: .line 112
            aload 3 /* stream */
            invokevirtual java.io.OutputStream.flush:()V
        36: .line 113
            aload 7 /* buffer */
            iconst_0
            invokevirtual java.lang.StringBuilder.setLength:(I)V
        37: .line 114
            lload 5 /* display_offset */
            iload 9 /* chars_read */
            i2l
            ladd
            lstore 5 /* display_offset */
        end local 9 // int chars_read
        38: .line 87
            iinc 8 /* j */ 16
      StackMap locals:
      StackMap stack:
        39: iload 8 /* j */
            aload 0 /* data */
            arraylength
            if_icmplt 12
        end local 8 // int j
        40: .line 116
            return
        end local 7 // java.lang.StringBuilder buffer
        end local 5 // long display_offset
        end local 4 // int index
        end local 3 // java.io.OutputStream stream
        end local 1 // long offset
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   41     0            data  [B
            0   41     1          offset  J
            0   41     3          stream  Ljava/io/OutputStream;
            0   41     4           index  I
            9   41     5  display_offset  J
           10   41     7          buffer  Ljava/lang/StringBuilder;
           11   40     8               j  I
           13   38     9      chars_read  I
           17   25    10               k  I
           26   33    10               k  I
    Exceptions:
      throws java.io.IOException, java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException
    MethodParameters:
        Name  Flags
      data    final
      offset  final
      stream  final
      index   final

  private static java.lang.StringBuilder dump(java.lang.StringBuilder, long);
    descriptor: (Ljava/lang/StringBuilder;J)Ljava/lang/StringBuilder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // java.lang.StringBuilder _lbuffer
        start local 1 // long value
         0: .line 141
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         1: goto 5
         2: .line 142
      StackMap locals: int
      StackMap stack:
            aload 0 /* _lbuffer */
         3: .line 143
            getstatic org.apache.commons.io.HexDump._hexcodes:[C
            lload 1 /* value */
            getstatic org.apache.commons.io.HexDump._shifts:[I
            iload 3 /* j */
            iaload
            lshr
            l2i
            bipush 15
            iand
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 141
            iinc 3 /* j */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* j */
            bipush 8
            if_icmplt 2
        end local 3 // int j
         6: .line 145
            aload 0 /* _lbuffer */
            areturn
        end local 1 // long value
        end local 0 // java.lang.StringBuilder _lbuffer
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0  _lbuffer  Ljava/lang/StringBuilder;
            0    7     1     value  J
            1    6     3         j  I
    MethodParameters:
          Name  Flags
      _lbuffer  final
      value     final

  private static java.lang.StringBuilder dump(java.lang.StringBuilder, byte);
    descriptor: (Ljava/lang/StringBuilder;B)Ljava/lang/StringBuilder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // java.lang.StringBuilder _cbuffer
        start local 1 // byte value
         0: .line 156
            iconst_0
            istore 2 /* j */
        start local 2 // int j
         1: goto 4
         2: .line 157
      StackMap locals: int
      StackMap stack:
            aload 0 /* _cbuffer */
            getstatic org.apache.commons.io.HexDump._hexcodes:[C
            iload 1 /* value */
            getstatic org.apache.commons.io.HexDump._shifts:[I
            iload 2 /* j */
            bipush 6
            iadd
            iaload
            ishr
            bipush 15
            iand
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 156
            iinc 2 /* j */ 1
      StackMap locals:
      StackMap stack:
         4: iload 2 /* j */
            iconst_2
            if_icmplt 2
        end local 2 // int j
         5: .line 159
            aload 0 /* _cbuffer */
            areturn
        end local 1 // byte value
        end local 0 // java.lang.StringBuilder _cbuffer
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0  _cbuffer  Ljava/lang/StringBuilder;
            0    6     1     value  B
            1    5     2         j  I
    MethodParameters:
          Name  Flags
      _cbuffer  final
      value     final
}
SourceFile: "HexDump.java"