public class org.eclipse.jgit.diff.RawText extends org.eclipse.jgit.diff.Sequence
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jgit.diff.RawText
  super_class: org.eclipse.jgit.diff.Sequence
{
  public static final org.eclipse.jgit.diff.RawText EMPTY_TEXT;
    descriptor: Lorg/eclipse/jgit/diff/RawText;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static final int FIRST_FEW_BYTES;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8000

  protected final byte[] content;
    descriptor: [B
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.eclipse.jgit.util.IntList lines;
    descriptor: Lorg/eclipse/jgit/util/IntList;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 41
            new org.eclipse.jgit.diff.RawText
            dup
            iconst_0
            newarray 8
            invokespecial org.eclipse.jgit.diff.RawText.<init>:([B)V
            putstatic org.eclipse.jgit.diff.RawText.EMPTY_TEXT:Lorg/eclipse/jgit/diff/RawText;
         1: .line 44
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.diff.RawText this
        start local 1 // byte[] input
         0: .line 62
            aload 0 /* this */
            aload 1 /* input */
            aload 1 /* input */
            iconst_0
            aload 1 /* input */
            arraylength
            invokestatic org.eclipse.jgit.util.RawParseUtils.lineMap:([BII)Lorg/eclipse/jgit/util/IntList;
            invokespecial org.eclipse.jgit.diff.RawText.<init>:([BLorg/eclipse/jgit/util/IntList;)V
         1: .line 63
            return
        end local 1 // byte[] input
        end local 0 // org.eclipse.jgit.diff.RawText this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/eclipse/jgit/diff/RawText;
            0    2     1  input  [B
    MethodParameters:
       Name  Flags
      input  

  public void <init>(byte[], org.eclipse.jgit.util.IntList);
    descriptor: ([BLorg/eclipse/jgit/util/IntList;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.jgit.diff.RawText this
        start local 1 // byte[] input
        start local 2 // org.eclipse.jgit.util.IntList lineMap
         0: .line 78
            aload 0 /* this */
            invokespecial org.eclipse.jgit.diff.Sequence.<init>:()V
         1: .line 79
            aload 0 /* this */
            aload 1 /* input */
            putfield org.eclipse.jgit.diff.RawText.content:[B
         2: .line 80
            aload 0 /* this */
            aload 2 /* lineMap */
            putfield org.eclipse.jgit.diff.RawText.lines:Lorg/eclipse/jgit/util/IntList;
         3: .line 81
            return
        end local 2 // org.eclipse.jgit.util.IntList lineMap
        end local 1 // byte[] input
        end local 0 // org.eclipse.jgit.diff.RawText this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/eclipse/jgit/diff/RawText;
            0    4     1    input  [B
            0    4     2  lineMap  Lorg/eclipse/jgit/util/IntList;
    MethodParameters:
         Name  Flags
      input    
      lineMap  

  public void <init>(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.diff.RawText this
        start local 1 // java.io.File file
         0: .line 94
            aload 0 /* this */
            aload 1 /* file */
            invokestatic org.eclipse.jgit.util.IO.readFully:(Ljava/io/File;)[B
            invokespecial org.eclipse.jgit.diff.RawText.<init>:([B)V
         1: .line 95
            return
        end local 1 // java.io.File file
        end local 0 // org.eclipse.jgit.diff.RawText this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jgit/diff/RawText;
            0    2     1  file  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  

  public byte[] getRawContent();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.diff.RawText this
         0: .line 102
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.RawText.content:[B
            areturn
        end local 0 // org.eclipse.jgit.diff.RawText this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/diff/RawText;

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.diff.RawText this
         0: .line 113
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.RawText.lines:Lorg/eclipse/jgit/util/IntList;
            invokevirtual org.eclipse.jgit.util.IntList.size:()I
            iconst_2
            isub
            ireturn
        end local 0 // org.eclipse.jgit.diff.RawText this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/diff/RawText;

  public void writeLine(java.io.OutputStream, int);
    descriptor: (Ljava/io/OutputStream;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.eclipse.jgit.diff.RawText this
        start local 1 // java.io.OutputStream out
        start local 2 // int i
         0: .line 136
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual org.eclipse.jgit.diff.RawText.getStart:(I)I
            istore 3 /* start */
        start local 3 // int start
         1: .line 137
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual org.eclipse.jgit.diff.RawText.getEnd:(I)I
            istore 4 /* end */
        start local 4 // int end
         2: .line 138
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.RawText.content:[B
            iload 4 /* end */
            iconst_1
            isub
            baload
            bipush 10
            if_icmpne 4
         3: .line 139
            iinc 4 /* end */ -1
         4: .line 140
      StackMap locals: int int
      StackMap stack:
            aload 1 /* out */
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.RawText.content:[B
            iload 3 /* start */
            iload 4 /* end */
            iload 3 /* start */
            isub
            invokevirtual java.io.OutputStream.write:([BII)V
         5: .line 141
            return
        end local 4 // int end
        end local 3 // int start
        end local 2 // int i
        end local 1 // java.io.OutputStream out
        end local 0 // org.eclipse.jgit.diff.RawText this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/eclipse/jgit/diff/RawText;
            0    6     1    out  Ljava/io/OutputStream;
            0    6     2      i  I
            1    6     3  start  I
            2    6     4    end  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   
      i     

  public boolean isMissingNewlineAtEnd();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.diff.RawText this
         0: .line 149
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.RawText.lines:Lorg/eclipse/jgit/util/IntList;
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.RawText.lines:Lorg/eclipse/jgit/util/IntList;
            invokevirtual org.eclipse.jgit.util.IntList.size:()I
            iconst_1
            isub
            invokevirtual org.eclipse.jgit.util.IntList.get:(I)I
            istore 1 /* end */
        start local 1 // int end
         1: .line 150
            iload 1 /* end */
            ifne 3
         2: .line 151
            iconst_1
            ireturn
         3: .line 152
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.RawText.content:[B
            iload 1 /* end */
            iconst_1
            isub
            baload
            bipush 10
            if_icmpeq 4
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 1 // int end
        end local 0 // org.eclipse.jgit.diff.RawText this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jgit/diff/RawText;
            1    5     1   end  I

  public java.lang.String getString(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.diff.RawText this
        start local 1 // int i
         0: .line 164
            aload 0 /* this */
            iload 1 /* i */
            iload 1 /* i */
            iconst_1
            iadd
            iconst_1
            invokevirtual org.eclipse.jgit.diff.RawText.getString:(IIZ)Ljava/lang/String;
            areturn
        end local 1 // int i
        end local 0 // org.eclipse.jgit.diff.RawText this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/diff/RawText;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public java.lang.String getString(int, int, boolean);
    descriptor: (IIZ)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.eclipse.jgit.diff.RawText this
        start local 1 // int begin
        start local 2 // int end
        start local 3 // boolean dropLF
         0: .line 181
            iload 1 /* begin */
            iload 2 /* end */
            if_icmpne 2
         1: .line 182
            ldc ""
            areturn
         2: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* begin */
            invokevirtual org.eclipse.jgit.diff.RawText.getStart:(I)I
            istore 4 /* s */
        start local 4 // int s
         3: .line 185
            aload 0 /* this */
            iload 2 /* end */
            iconst_1
            isub
            invokevirtual org.eclipse.jgit.diff.RawText.getEnd:(I)I
            istore 5 /* e */
        start local 5 // int e
         4: .line 186
            iload 3 /* dropLF */
            ifeq 6
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.RawText.content:[B
            iload 5 /* e */
            iconst_1
            isub
            baload
            bipush 10
            if_icmpne 6
         5: .line 187
            iinc 5 /* e */ -1
         6: .line 188
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* s */
            iload 5 /* e */
            invokevirtual org.eclipse.jgit.diff.RawText.decode:(II)Ljava/lang/String;
            areturn
        end local 5 // int e
        end local 4 // int s
        end local 3 // boolean dropLF
        end local 2 // int end
        end local 1 // int begin
        end local 0 // org.eclipse.jgit.diff.RawText this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/eclipse/jgit/diff/RawText;
            0    7     1   begin  I
            0    7     2     end  I
            0    7     3  dropLF  Z
            3    7     4       s  I
            4    7     5       e  I
    MethodParameters:
        Name  Flags
      begin   
      end     
      dropLF  

  protected java.lang.String decode(int, int);
    descriptor: (II)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jgit.diff.RawText this
        start local 1 // int start
        start local 2 // int end
         0: .line 205
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.RawText.content:[B
            iload 1 /* start */
            iload 2 /* end */
            invokestatic org.eclipse.jgit.util.RawParseUtils.decode:([BII)Ljava/lang/String;
            areturn
        end local 2 // int end
        end local 1 // int start
        end local 0 // org.eclipse.jgit.diff.RawText this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jgit/diff/RawText;
            0    1     1  start  I
            0    1     2    end  I
    MethodParameters:
       Name  Flags
      start  
      end    

  private int getStart(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.diff.RawText this
        start local 1 // int i
         0: .line 209
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.RawText.lines:Lorg/eclipse/jgit/util/IntList;
            iload 1 /* i */
            iconst_1
            iadd
            invokevirtual org.eclipse.jgit.util.IntList.get:(I)I
            ireturn
        end local 1 // int i
        end local 0 // org.eclipse.jgit.diff.RawText this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/diff/RawText;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  private int getEnd(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.diff.RawText this
        start local 1 // int i
         0: .line 213
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.RawText.lines:Lorg/eclipse/jgit/util/IntList;
            iload 1 /* i */
            iconst_2
            iadd
            invokevirtual org.eclipse.jgit.util.IntList.get:(I)I
            ireturn
        end local 1 // int i
        end local 0 // org.eclipse.jgit.diff.RawText this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/diff/RawText;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public static boolean isBinary(byte[]);
    descriptor: ([B)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // byte[] raw
         0: .line 225
            aload 0 /* raw */
            aload 0 /* raw */
            arraylength
            invokestatic org.eclipse.jgit.diff.RawText.isBinary:([BI)Z
            ireturn
        end local 0 // byte[] raw
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   raw  [B
    MethodParameters:
      Name  Flags
      raw   

  public static boolean isBinary(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.io.InputStream raw
         0: .line 244
            sipush 8000
            newarray 8
            astore 1 /* buffer */
        start local 1 // byte[] buffer
         1: .line 245
            iconst_0
            istore 2 /* cnt */
        start local 2 // int cnt
         2: .line 246
            goto 7
         3: .line 247
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* raw */
            aload 1 /* buffer */
            iload 2 /* cnt */
            aload 1 /* buffer */
            arraylength
            iload 2 /* cnt */
            isub
            invokevirtual java.io.InputStream.read:([BII)I
            istore 3 /* n */
        start local 3 // int n
         4: .line 248
            iload 3 /* n */
            iconst_m1
            if_icmpne 6
         5: .line 249
            goto 8
         6: .line 250
      StackMap locals: int
      StackMap stack:
            iload 2 /* cnt */
            iload 3 /* n */
            iadd
            istore 2 /* cnt */
        end local 3 // int n
         7: .line 246
      StackMap locals:
      StackMap stack:
            iload 2 /* cnt */
            aload 1 /* buffer */
            arraylength
            if_icmplt 3
         8: .line 252
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            iload 2 /* cnt */
            invokestatic org.eclipse.jgit.diff.RawText.isBinary:([BI)Z
            ireturn
        end local 2 // int cnt
        end local 1 // byte[] buffer
        end local 0 // java.io.InputStream raw
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0     raw  Ljava/io/InputStream;
            1    9     1  buffer  [B
            2    9     2     cnt  I
            4    7     3       n  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      raw   

  public static boolean isBinary(byte[], int);
    descriptor: ([BI)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // byte[] raw
        start local 1 // int length
         0: .line 269
            iload 1 /* length */
            sipush 8000
            if_icmple 2
         1: .line 270
            sipush 8000
            istore 1 /* length */
         2: .line 271
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* ptr */
        start local 2 // int ptr
         3: goto 7
         4: .line 272
      StackMap locals: int
      StackMap stack:
            aload 0 /* raw */
            iload 2 /* ptr */
            baload
            ifne 6
         5: .line 273
            iconst_1
            ireturn
         6: .line 271
      StackMap locals:
      StackMap stack:
            iinc 2 /* ptr */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* ptr */
            iload 1 /* length */
            if_icmplt 4
        end local 2 // int ptr
         8: .line 275
            iconst_0
            ireturn
        end local 1 // int length
        end local 0 // byte[] raw
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0     raw  [B
            0    9     1  length  I
            3    8     2     ptr  I
    MethodParameters:
        Name  Flags
      raw     
      length  

  public static boolean isCrLfText(byte[]);
    descriptor: ([B)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // byte[] raw
         0: .line 289
            aload 0 /* raw */
            aload 0 /* raw */
            arraylength
            invokestatic org.eclipse.jgit.diff.RawText.isCrLfText:([BI)Z
            ireturn
        end local 0 // byte[] raw
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   raw  [B
    MethodParameters:
      Name  Flags
      raw   

  public static boolean isCrLfText(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.io.InputStream raw
         0: .line 310
            sipush 8000
            newarray 8
            astore 1 /* buffer */
        start local 1 // byte[] buffer
         1: .line 311
            iconst_0
            istore 2 /* cnt */
        start local 2 // int cnt
         2: .line 312
            goto 7
         3: .line 313
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* raw */
            aload 1 /* buffer */
            iload 2 /* cnt */
            aload 1 /* buffer */
            arraylength
            iload 2 /* cnt */
            isub
            invokevirtual java.io.InputStream.read:([BII)I
            istore 3 /* n */
        start local 3 // int n
         4: .line 314
            iload 3 /* n */
            iconst_m1
            if_icmpne 6
         5: .line 315
            goto 8
         6: .line 317
      StackMap locals: int
      StackMap stack:
            iload 2 /* cnt */
            iload 3 /* n */
            iadd
            istore 2 /* cnt */
        end local 3 // int n
         7: .line 312
      StackMap locals:
      StackMap stack:
            iload 2 /* cnt */
            aload 1 /* buffer */
            arraylength
            if_icmplt 3
         8: .line 319
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            iload 2 /* cnt */
            invokestatic org.eclipse.jgit.diff.RawText.isCrLfText:([BI)Z
            ireturn
        end local 2 // int cnt
        end local 1 // byte[] buffer
        end local 0 // java.io.InputStream raw
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0     raw  Ljava/io/InputStream;
            1    9     1  buffer  [B
            2    9     2     cnt  I
            4    7     3       n  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      raw   

  public static boolean isCrLfText(byte[], int);
    descriptor: ([BI)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // byte[] raw
        start local 1 // int length
         0: .line 335
            iconst_0
            istore 2 /* has_crlf */
        start local 2 // boolean has_crlf
         1: .line 336
            iconst_0
            istore 3 /* ptr */
        start local 3 // int ptr
         2: goto 8
         3: .line 337
      StackMap locals: int int
      StackMap stack:
            aload 0 /* raw */
            iload 3 /* ptr */
            baload
            ifne 5
         4: .line 338
            iconst_0
            ireturn
         5: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* raw */
            iload 3 /* ptr */
            baload
            bipush 13
            if_icmpne 7
            aload 0 /* raw */
            iload 3 /* ptr */
            iconst_1
            iadd
            baload
            bipush 10
            if_icmpne 7
         6: .line 340
            iconst_1
            istore 2 /* has_crlf */
         7: .line 336
      StackMap locals:
      StackMap stack:
            iinc 3 /* ptr */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* ptr */
            iload 1 /* length */
            iconst_1
            isub
            if_icmplt 3
        end local 3 // int ptr
         9: .line 343
            iload 2 /* has_crlf */
            ireturn
        end local 2 // boolean has_crlf
        end local 1 // int length
        end local 0 // byte[] raw
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0       raw  [B
            0   10     1    length  I
            1   10     2  has_crlf  Z
            2    9     3       ptr  I
    MethodParameters:
        Name  Flags
      raw     
      length  

  public java.lang.String getLineDelimiter();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.diff.RawText this
         0: .line 353
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.diff.RawText.size:()I
            ifne 2
         1: .line 354
            aconst_null
            areturn
         2: .line 356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.eclipse.jgit.diff.RawText.getEnd:(I)I
            istore 1 /* e */
        start local 1 // int e
         3: .line 357
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.RawText.content:[B
            iload 1 /* e */
            iconst_1
            isub
            baload
            bipush 10
            if_icmpeq 5
         4: .line 358
            aconst_null
            areturn
         5: .line 360
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.RawText.content:[B
            arraylength
            iconst_1
            if_icmple 7
            iload 1 /* e */
            iconst_1
            if_icmple 7
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.RawText.content:[B
            iload 1 /* e */
            iconst_2
            isub
            baload
            bipush 13
            if_icmpne 7
         6: .line 361
            ldc "\r\n"
            areturn
         7: .line 363
      StackMap locals:
      StackMap stack:
            ldc "\n"
            areturn
        end local 1 // int e
        end local 0 // org.eclipse.jgit.diff.RawText this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/eclipse/jgit/diff/RawText;
            3    8     1     e  I

  public static org.eclipse.jgit.diff.RawText load(org.eclipse.jgit.lib.ObjectLoader, int);
    descriptor: (Lorg/eclipse/jgit/lib/ObjectLoader;I)Lorg/eclipse/jgit/diff/RawText;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=12, args_size=2
        start local 0 // org.eclipse.jgit.lib.ObjectLoader ldr
        start local 1 // int threshold
         0: .line 384
            aload 0 /* ldr */
            invokevirtual org.eclipse.jgit.lib.ObjectLoader.getSize:()J
            lstore 2 /* sz */
        start local 2 // long sz
         1: .line 386
            lload 2 /* sz */
            iload 1 /* threshold */
            i2l
            lcmp
            ifle 3
         2: .line 387
            new org.eclipse.jgit.errors.BinaryBlobException
            dup
            invokespecial org.eclipse.jgit.errors.BinaryBlobException.<init>:()V
            athrow
         3: .line 390
      StackMap locals: long
      StackMap stack:
            lload 2 /* sz */
            ldc 8000
            lcmp
            ifgt 8
         4: .line 391
            aload 0 /* ldr */
            sipush 8000
            invokevirtual org.eclipse.jgit.lib.ObjectLoader.getCachedBytes:(I)[B
            astore 4 /* data */
        start local 4 // byte[] data
         5: .line 392
            aload 4 /* data */
            invokestatic org.eclipse.jgit.diff.RawText.isBinary:([B)Z
            ifeq 7
         6: .line 393
            new org.eclipse.jgit.errors.BinaryBlobException
            dup
            invokespecial org.eclipse.jgit.errors.BinaryBlobException.<init>:()V
            athrow
         7: .line 395
      StackMap locals: byte[]
      StackMap stack:
            new org.eclipse.jgit.diff.RawText
            dup
            aload 4 /* data */
            invokespecial org.eclipse.jgit.diff.RawText.<init>:([B)V
            areturn
        end local 4 // byte[] data
         8: .line 398
      StackMap locals:
      StackMap stack:
            sipush 8000
            newarray 8
            astore 4 /* head */
        start local 4 // byte[] head
         9: .line 399
            aconst_null
            astore 5
            aconst_null
            astore 6
        10: aload 0 /* ldr */
            invokevirtual org.eclipse.jgit.lib.ObjectLoader.openStream:()Lorg/eclipse/jgit/lib/ObjectStream;
            astore 7 /* stream */
        start local 7 // java.io.InputStream stream
        11: .line 400
            iconst_0
            istore 8 /* off */
        start local 8 // int off
        12: .line 401
            aload 4 /* head */
            arraylength
            istore 9 /* left */
        start local 9 // int left
        13: .line 402
            goto 24
        14: .line 403
      StackMap locals: org.eclipse.jgit.lib.ObjectLoader int long byte[] java.lang.Throwable java.lang.Throwable java.io.InputStream int int
      StackMap stack:
            aload 7 /* stream */
            aload 4 /* head */
            iload 8 /* off */
            iload 9 /* left */
            invokevirtual java.io.InputStream.read:([BII)I
            istore 10 /* n */
        start local 10 // int n
        15: .line 404
            iload 10 /* n */
            ifge 17
        16: .line 405
            new java.io.EOFException
            dup
            invokespecial java.io.EOFException.<init>:()V
            athrow
        17: .line 407
      StackMap locals: int
      StackMap stack:
            iload 9 /* left */
            iload 10 /* n */
            isub
            istore 9 /* left */
        18: .line 409
            goto 23
        19: .line 410
      StackMap locals:
      StackMap stack:
            aload 4 /* head */
            iload 8 /* off */
            baload
            ifne 21
        20: .line 411
            new org.eclipse.jgit.errors.BinaryBlobException
            dup
            invokespecial org.eclipse.jgit.errors.BinaryBlobException.<init>:()V
            athrow
        21: .line 413
      StackMap locals:
      StackMap stack:
            iinc 8 /* off */ 1
        22: .line 414
            iinc 10 /* n */ -1
        23: .line 409
      StackMap locals:
      StackMap stack:
            iload 10 /* n */
            ifgt 19
        end local 10 // int n
        24: .line 402
      StackMap locals:
      StackMap stack:
            iload 9 /* left */
            ifgt 14
        25: .line 420
            lload 2 /* sz */
            l2i
            newarray 8
            astore 10 /* data */
        start local 10 // byte[] data
        26: .line 421
            goto 29
        end local 10 // byte[] data
      StackMap locals:
      StackMap stack: java.lang.OutOfMemoryError
        27: astore 11 /* e */
        start local 11 // java.lang.OutOfMemoryError e
        28: .line 422
            new org.eclipse.jgit.errors.LargeObjectException$OutOfMemory
            dup
            aload 11 /* e */
            invokespecial org.eclipse.jgit.errors.LargeObjectException$OutOfMemory.<init>:(Ljava/lang/OutOfMemoryError;)V
            athrow
        end local 11 // java.lang.OutOfMemoryError e
        start local 10 // byte[] data
        29: .line 425
      StackMap locals: byte[]
      StackMap stack:
            aload 4 /* head */
            iconst_0
            aload 10 /* data */
            iconst_0
            aload 4 /* head */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        30: .line 426
            aload 7 /* stream */
            aload 10 /* data */
            iload 8 /* off */
            lload 2 /* sz */
            iload 8 /* off */
            i2l
            lsub
            l2i
            invokestatic org.eclipse.jgit.util.IO.readFully:(Ljava/io/InputStream;[BII)V
        31: .line 427
            new org.eclipse.jgit.diff.RawText
            dup
            aload 10 /* data */
            aload 10 /* data */
            iconst_0
            lload 2 /* sz */
            l2i
            invokestatic org.eclipse.jgit.util.RawParseUtils.lineMapOrBinary:([BII)Lorg/eclipse/jgit/util/IntList;
            invokespecial org.eclipse.jgit.diff.RawText.<init>:([BLorg/eclipse/jgit/util/IntList;)V
        32: .line 428
            aload 7 /* stream */
            ifnull 33
            aload 7 /* stream */
            invokevirtual java.io.InputStream.close:()V
        33: .line 427
      StackMap locals:
      StackMap stack: org.eclipse.jgit.diff.RawText
            areturn
        end local 10 // byte[] data
        end local 9 // int left
        end local 8 // int off
      StackMap locals: org.eclipse.jgit.lib.ObjectLoader int long byte[] java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
        34: astore 5
        35: .line 428
            aload 7 /* stream */
            ifnull 36
            aload 7 /* stream */
            invokevirtual java.io.InputStream.close:()V
        end local 7 // java.io.InputStream stream
      StackMap locals:
      StackMap stack:
        36: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        37: astore 6
            aload 5
            ifnonnull 38
            aload 6
            astore 5
            goto 39
      StackMap locals:
      StackMap stack:
        38: aload 5
            aload 6
            if_acmpeq 39
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        39: aload 5
            athrow
        end local 4 // byte[] head
        end local 2 // long sz
        end local 1 // int threshold
        end local 0 // org.eclipse.jgit.lib.ObjectLoader ldr
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   40     0        ldr  Lorg/eclipse/jgit/lib/ObjectLoader;
            0   40     1  threshold  I
            1   40     2         sz  J
            5    8     4       data  [B
            9   40     4       head  [B
           11   36     7     stream  Ljava/io/InputStream;
           12   34     8        off  I
           13   34     9       left  I
           15   24    10          n  I
           26   27    10       data  [B
           29   34    10       data  [B
           28   29    11          e  Ljava/lang/OutOfMemoryError;
      Exception table:
        from    to  target  type
          25    26      27  Class java.lang.OutOfMemoryError
          11    32      34  any
          10    33      37  any
          34    37      37  any
    Exceptions:
      throws java.io.IOException, org.eclipse.jgit.errors.BinaryBlobException
    MethodParameters:
           Name  Flags
      ldr        
      threshold  
}
SourceFile: "RawText.java"
InnerClasses:
  public OutOfMemory = org.eclipse.jgit.errors.LargeObjectException$OutOfMemory of org.eclipse.jgit.errors.LargeObjectException