public class org.eclipse.jgit.diff.MyersDiff<S 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.MyersDiff
  super_class: java.lang.Object
{
  public static final org.eclipse.jgit.diff.DiffAlgorithm INSTANCE;
    descriptor: Lorg/eclipse/jgit/diff/DiffAlgorithm;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  protected org.eclipse.jgit.diff.EditList edits;
    descriptor: Lorg/eclipse/jgit/diff/EditList;
    flags: (0x0004) ACC_PROTECTED

  protected org.eclipse.jgit.diff.HashedSequenceComparator<S> cmp;
    descriptor: Lorg/eclipse/jgit/diff/HashedSequenceComparator;
    flags: (0x0004) ACC_PROTECTED
    Signature: Lorg/eclipse/jgit/diff/HashedSequenceComparator<TS;>;

  protected org.eclipse.jgit.diff.HashedSequence<S> a;
    descriptor: Lorg/eclipse/jgit/diff/HashedSequence;
    flags: (0x0004) ACC_PROTECTED
    Signature: Lorg/eclipse/jgit/diff/HashedSequence<TS;>;

  protected org.eclipse.jgit.diff.HashedSequence<S> b;
    descriptor: Lorg/eclipse/jgit/diff/HashedSequence;
    flags: (0x0004) ACC_PROTECTED
    Signature: Lorg/eclipse/jgit/diff/HashedSequence<TS;>;

  org.eclipse.jgit.diff.MyersDiff<S>.MiddleEdit middle;
    descriptor: Lorg/eclipse/jgit/diff/MyersDiff$MiddleEdit;
    flags: (0x0000) 
    Signature: Lorg/eclipse/jgit/diff/MyersDiff<TS;>.MiddleEdit;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 83
            new org.eclipse.jgit.diff.MyersDiff$1
            dup
            invokespecial org.eclipse.jgit.diff.MyersDiff$1.<init>:()V
            putstatic org.eclipse.jgit.diff.MyersDiff.INSTANCE:Lorg/eclipse/jgit/diff/DiffAlgorithm;
         1: .line 91
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(org.eclipse.jgit.diff.EditList, org.eclipse.jgit.diff.HashedSequenceComparator<S>, org.eclipse.jgit.diff.HashedSequence<S>, org.eclipse.jgit.diff.HashedSequence<S>, org.eclipse.jgit.diff.Edit);
    descriptor: (Lorg/eclipse/jgit/diff/EditList;Lorg/eclipse/jgit/diff/HashedSequenceComparator;Lorg/eclipse/jgit/diff/HashedSequence;Lorg/eclipse/jgit/diff/HashedSequence;Lorg/eclipse/jgit/diff/Edit;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // org.eclipse.jgit.diff.MyersDiff this
        start local 1 // org.eclipse.jgit.diff.EditList edits
        start local 2 // org.eclipse.jgit.diff.HashedSequenceComparator cmp
        start local 3 // org.eclipse.jgit.diff.HashedSequence a
        start local 4 // org.eclipse.jgit.diff.HashedSequence b
        start local 5 // org.eclipse.jgit.diff.Edit region
         0: .line 112
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 122
            aload 0 /* this */
            new org.eclipse.jgit.diff.MyersDiff$MiddleEdit
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jgit.diff.MyersDiff$MiddleEdit.<init>:(Lorg/eclipse/jgit/diff/MyersDiff;)V
            putfield org.eclipse.jgit.diff.MyersDiff.middle:Lorg/eclipse/jgit/diff/MyersDiff$MiddleEdit;
         2: .line 114
            aload 0 /* this */
            aload 1 /* edits */
            putfield org.eclipse.jgit.diff.MyersDiff.edits:Lorg/eclipse/jgit/diff/EditList;
         3: .line 115
            aload 0 /* this */
            aload 2 /* cmp */
            putfield org.eclipse.jgit.diff.MyersDiff.cmp:Lorg/eclipse/jgit/diff/HashedSequenceComparator;
         4: .line 116
            aload 0 /* this */
            aload 3 /* a */
            putfield org.eclipse.jgit.diff.MyersDiff.a:Lorg/eclipse/jgit/diff/HashedSequence;
         5: .line 117
            aload 0 /* this */
            aload 4 /* b */
            putfield org.eclipse.jgit.diff.MyersDiff.b:Lorg/eclipse/jgit/diff/HashedSequence;
         6: .line 118
            aload 0 /* this */
            aload 5 /* region */
            invokevirtual org.eclipse.jgit.diff.MyersDiff.calculateEdits:(Lorg/eclipse/jgit/diff/Edit;)V
         7: .line 119
            return
        end local 5 // org.eclipse.jgit.diff.Edit region
        end local 4 // org.eclipse.jgit.diff.HashedSequence b
        end local 3 // org.eclipse.jgit.diff.HashedSequence a
        end local 2 // org.eclipse.jgit.diff.HashedSequenceComparator cmp
        end local 1 // org.eclipse.jgit.diff.EditList edits
        end local 0 // org.eclipse.jgit.diff.MyersDiff this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/eclipse/jgit/diff/MyersDiff<TS;>;
            0    8     1   edits  Lorg/eclipse/jgit/diff/EditList;
            0    8     2     cmp  Lorg/eclipse/jgit/diff/HashedSequenceComparator<TS;>;
            0    8     3       a  Lorg/eclipse/jgit/diff/HashedSequence<TS;>;
            0    8     4       b  Lorg/eclipse/jgit/diff/HashedSequence<TS;>;
            0    8     5  region  Lorg/eclipse/jgit/diff/Edit;
    Signature: (Lorg/eclipse/jgit/diff/EditList;Lorg/eclipse/jgit/diff/HashedSequenceComparator<TS;>;Lorg/eclipse/jgit/diff/HashedSequence<TS;>;Lorg/eclipse/jgit/diff/HashedSequence<TS;>;Lorg/eclipse/jgit/diff/Edit;)V
    MethodParameters:
        Name  Flags
      edits   
      cmp     
      a       
      b       
      region  

  private void calculateEdits(org.eclipse.jgit.diff.Edit);
    descriptor: (Lorg/eclipse/jgit/diff/Edit;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.diff.MyersDiff this
        start local 1 // org.eclipse.jgit.diff.Edit r
         0: .line 130
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.MyersDiff.middle:Lorg/eclipse/jgit/diff/MyersDiff$MiddleEdit;
            aload 1 /* r */
            getfield org.eclipse.jgit.diff.Edit.beginA:I
            aload 1 /* r */
            getfield org.eclipse.jgit.diff.Edit.endA:I
            aload 1 /* r */
            getfield org.eclipse.jgit.diff.Edit.beginB:I
            aload 1 /* r */
            getfield org.eclipse.jgit.diff.Edit.endB:I
            invokevirtual org.eclipse.jgit.diff.MyersDiff$MiddleEdit.initialize:(IIII)V
         1: .line 131
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.MyersDiff.middle:Lorg/eclipse/jgit/diff/MyersDiff$MiddleEdit;
            getfield org.eclipse.jgit.diff.MyersDiff$MiddleEdit.beginA:I
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.MyersDiff.middle:Lorg/eclipse/jgit/diff/MyersDiff$MiddleEdit;
            getfield org.eclipse.jgit.diff.MyersDiff$MiddleEdit.endA:I
            if_icmplt 4
         2: .line 132
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.MyersDiff.middle:Lorg/eclipse/jgit/diff/MyersDiff$MiddleEdit;
            getfield org.eclipse.jgit.diff.MyersDiff$MiddleEdit.beginB:I
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.MyersDiff.middle:Lorg/eclipse/jgit/diff/MyersDiff$MiddleEdit;
            getfield org.eclipse.jgit.diff.MyersDiff$MiddleEdit.endB:I
            if_icmplt 4
         3: .line 133
            return
         4: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.MyersDiff.middle:Lorg/eclipse/jgit/diff/MyersDiff$MiddleEdit;
            getfield org.eclipse.jgit.diff.MyersDiff$MiddleEdit.beginA:I
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.MyersDiff.middle:Lorg/eclipse/jgit/diff/MyersDiff$MiddleEdit;
            getfield org.eclipse.jgit.diff.MyersDiff$MiddleEdit.endA:I
         5: .line 136
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.MyersDiff.middle:Lorg/eclipse/jgit/diff/MyersDiff$MiddleEdit;
            getfield org.eclipse.jgit.diff.MyersDiff$MiddleEdit.beginB:I
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.MyersDiff.middle:Lorg/eclipse/jgit/diff/MyersDiff$MiddleEdit;
            getfield org.eclipse.jgit.diff.MyersDiff$MiddleEdit.endB:I
         6: .line 135
            invokevirtual org.eclipse.jgit.diff.MyersDiff.calculateEdits:(IIII)V
         7: .line 137
            return
        end local 1 // org.eclipse.jgit.diff.Edit r
        end local 0 // org.eclipse.jgit.diff.MyersDiff this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/eclipse/jgit/diff/MyersDiff<TS;>;
            0    8     1     r  Lorg/eclipse/jgit/diff/Edit;
    MethodParameters:
      Name  Flags
      r     

  protected void calculateEdits(int, int, int, int);
    descriptor: (IIII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // org.eclipse.jgit.diff.MyersDiff this
        start local 1 // int beginA
        start local 2 // int endA
        start local 3 // int beginB
        start local 4 // int endB
         0: .line 158
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.MyersDiff.middle:Lorg/eclipse/jgit/diff/MyersDiff$MiddleEdit;
            iload 1 /* beginA */
            iload 2 /* endA */
            iload 3 /* beginB */
            iload 4 /* endB */
            invokevirtual org.eclipse.jgit.diff.MyersDiff$MiddleEdit.calculate:(IIII)Lorg/eclipse/jgit/diff/Edit;
            astore 5 /* edit */
        start local 5 // org.eclipse.jgit.diff.Edit edit
         1: .line 160
            iload 1 /* beginA */
            aload 5 /* edit */
            getfield org.eclipse.jgit.diff.Edit.beginA:I
            if_icmplt 2
            iload 3 /* beginB */
            aload 5 /* edit */
            getfield org.eclipse.jgit.diff.Edit.beginB:I
            if_icmpge 5
         2: .line 161
      StackMap locals: org.eclipse.jgit.diff.Edit
      StackMap stack:
            aload 5 /* edit */
            getfield org.eclipse.jgit.diff.Edit.beginB:I
            aload 5 /* edit */
            getfield org.eclipse.jgit.diff.Edit.beginA:I
            isub
            istore 6 /* k */
        start local 6 // int k
         3: .line 162
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.MyersDiff.middle:Lorg/eclipse/jgit/diff/MyersDiff$MiddleEdit;
            getfield org.eclipse.jgit.diff.MyersDiff$MiddleEdit.backward:Lorg/eclipse/jgit/diff/MyersDiff$MiddleEdit$EditPaths;
            iload 6 /* k */
            aload 5 /* edit */
            getfield org.eclipse.jgit.diff.Edit.beginA:I
            invokevirtual org.eclipse.jgit.diff.MyersDiff$MiddleEdit$EditPaths.snake:(II)I
            istore 7 /* x */
        start local 7 // int x
         4: .line 163
            aload 0 /* this */
            iload 1 /* beginA */
            iload 7 /* x */
            iload 3 /* beginB */
            iload 6 /* k */
            iload 7 /* x */
            iadd
            invokevirtual org.eclipse.jgit.diff.MyersDiff.calculateEdits:(IIII)V
        end local 7 // int x
        end local 6 // int k
         5: .line 166
      StackMap locals:
      StackMap stack:
            aload 5 /* edit */
            invokevirtual org.eclipse.jgit.diff.Edit.getType:()Lorg/eclipse/jgit/diff/Edit$Type;
            getstatic org.eclipse.jgit.diff.Edit$Type.EMPTY:Lorg/eclipse/jgit/diff/Edit$Type;
            if_acmpeq 7
         6: .line 167
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.MyersDiff.edits:Lorg/eclipse/jgit/diff/EditList;
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.MyersDiff.edits:Lorg/eclipse/jgit/diff/EditList;
            invokevirtual org.eclipse.jgit.diff.EditList.size:()I
            aload 5 /* edit */
            invokevirtual org.eclipse.jgit.diff.EditList.add:(ILjava/lang/Object;)V
         7: .line 170
      StackMap locals:
      StackMap stack:
            iload 2 /* endA */
            aload 5 /* edit */
            getfield org.eclipse.jgit.diff.Edit.endA:I
            if_icmpgt 8
            iload 4 /* endB */
            aload 5 /* edit */
            getfield org.eclipse.jgit.diff.Edit.endB:I
            if_icmple 11
         8: .line 171
      StackMap locals:
      StackMap stack:
            aload 5 /* edit */
            getfield org.eclipse.jgit.diff.Edit.endB:I
            aload 5 /* edit */
            getfield org.eclipse.jgit.diff.Edit.endA:I
            isub
            istore 6 /* k */
        start local 6 // int k
         9: .line 172
            aload 0 /* this */
            getfield org.eclipse.jgit.diff.MyersDiff.middle:Lorg/eclipse/jgit/diff/MyersDiff$MiddleEdit;
            getfield org.eclipse.jgit.diff.MyersDiff$MiddleEdit.forward:Lorg/eclipse/jgit/diff/MyersDiff$MiddleEdit$EditPaths;
            iload 6 /* k */
            aload 5 /* edit */
            getfield org.eclipse.jgit.diff.Edit.endA:I
            invokevirtual org.eclipse.jgit.diff.MyersDiff$MiddleEdit$EditPaths.snake:(II)I
            istore 7 /* x */
        start local 7 // int x
        10: .line 173
            aload 0 /* this */
            iload 7 /* x */
            iload 2 /* endA */
            iload 6 /* k */
            iload 7 /* x */
            iadd
            iload 4 /* endB */
            invokevirtual org.eclipse.jgit.diff.MyersDiff.calculateEdits:(IIII)V
        end local 7 // int x
        end local 6 // int k
        11: .line 175
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.eclipse.jgit.diff.Edit edit
        end local 4 // int endB
        end local 3 // int beginB
        end local 2 // int endA
        end local 1 // int beginA
        end local 0 // org.eclipse.jgit.diff.MyersDiff this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/eclipse/jgit/diff/MyersDiff<TS;>;
            0   12     1  beginA  I
            0   12     2    endA  I
            0   12     3  beginB  I
            0   12     4    endB  I
            1   12     5    edit  Lorg/eclipse/jgit/diff/Edit;
            3    5     6       k  I
            4    5     7       x  I
            9   11     6       k  I
           10   11     7       x  I
    MethodParameters:
        Name  Flags
      beginA  
      endA    
      beginB  
      endB    

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 533
            aload 0 /* args */
            arraylength
            iconst_2
            if_icmpeq 3
         1: .line 534
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.need2Arguments:Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 535
            iconst_1
            invokestatic java.lang.System.exit:(I)V
         3: .line 538
      StackMap locals:
      StackMap stack:
            new org.eclipse.jgit.diff.RawText
            dup
            new java.io.File
            dup
            aload 0 /* args */
            iconst_0
            aaload
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokespecial org.eclipse.jgit.diff.RawText.<init>:(Ljava/io/File;)V
            astore 1 /* a */
        start local 1 // org.eclipse.jgit.diff.RawText a
         4: .line 539
            new org.eclipse.jgit.diff.RawText
            dup
            new java.io.File
            dup
            aload 0 /* args */
            iconst_1
            aaload
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokespecial org.eclipse.jgit.diff.RawText.<init>:(Ljava/io/File;)V
            astore 2 /* b */
        start local 2 // org.eclipse.jgit.diff.RawText b
         5: .line 540
            getstatic org.eclipse.jgit.diff.MyersDiff.INSTANCE:Lorg/eclipse/jgit/diff/DiffAlgorithm;
            getstatic org.eclipse.jgit.diff.RawTextComparator.DEFAULT:Lorg/eclipse/jgit/diff/RawTextComparator;
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.eclipse.jgit.diff.DiffAlgorithm.diff:(Lorg/eclipse/jgit/diff/SequenceComparator;Lorg/eclipse/jgit/diff/Sequence;Lorg/eclipse/jgit/diff/Sequence;)Lorg/eclipse/jgit/diff/EditList;
            astore 3 /* r */
        start local 3 // org.eclipse.jgit.diff.EditList r
         6: .line 541
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 3 /* r */
            invokevirtual org.eclipse.jgit.diff.EditList.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // org.eclipse.jgit.diff.EditList r
        end local 2 // org.eclipse.jgit.diff.RawText b
        end local 1 // org.eclipse.jgit.diff.RawText a
         7: .line 542
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Exception
         8: astore 1 /* e */
        start local 1 // java.lang.Exception e
         9: .line 543
            aload 1 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 1 // java.lang.Exception e
        10: .line 545
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  args  [Ljava/lang/String;
            4    7     1     a  Lorg/eclipse/jgit/diff/RawText;
            5    7     2     b  Lorg/eclipse/jgit/diff/RawText;
            6    7     3     r  Lorg/eclipse/jgit/diff/EditList;
            9   10     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     7       8  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      args  
}
Signature: <S:Lorg/eclipse/jgit/diff/Sequence;>Ljava/lang/Object;
SourceFile: "MyersDiff.java"
NestMembers:
  org.eclipse.jgit.diff.MyersDiff$1  org.eclipse.jgit.diff.MyersDiff$MiddleEdit  org.eclipse.jgit.diff.MyersDiff$MiddleEdit$BackwardEditPaths  org.eclipse.jgit.diff.MyersDiff$MiddleEdit$EditPaths  org.eclipse.jgit.diff.MyersDiff$MiddleEdit$ForwardEditPaths
InnerClasses:
  public final Type = org.eclipse.jgit.diff.Edit$Type of org.eclipse.jgit.diff.Edit
  org.eclipse.jgit.diff.MyersDiff$1
  MiddleEdit = org.eclipse.jgit.diff.MyersDiff$MiddleEdit of org.eclipse.jgit.diff.MyersDiff
  abstract EditPaths = org.eclipse.jgit.diff.MyersDiff$MiddleEdit$EditPaths of org.eclipse.jgit.diff.MyersDiff$MiddleEdit