public class java.util.Arrays
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.util.Arrays
  super_class: java.lang.Object
{
  private static final int MIN_ARRAY_SORT_GRAN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8192

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 71
            ldc Ljava/util/Arrays;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic java.util.Arrays.$assertionsDisabled:Z
         3: .line 1327
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Arrays this
         0: .line 82
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // java.util.Arrays this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/Arrays;

  private static void rangeCheck(int, int, int);
    descriptor: (III)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // int arrayLength
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 112
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            if_icmple 4
         1: .line 113
            new java.lang.IllegalArgumentException
            dup
         2: .line 114
            new java.lang.StringBuilder
            dup
            ldc "fromIndex("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* fromIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") > toIndex("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* toIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 113
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 116
      StackMap locals:
      StackMap stack:
            iload 1 /* fromIndex */
            ifge 6
         5: .line 117
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            iload 1 /* fromIndex */
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(I)V
            athrow
         6: .line 119
      StackMap locals:
      StackMap stack:
            iload 2 /* toIndex */
            iload 0 /* arrayLength */
            if_icmple 8
         7: .line 120
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            iload 2 /* toIndex */
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(I)V
            athrow
         8: .line 122
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // int arrayLength
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0  arrayLength  I
            0    9     1    fromIndex  I
            0    9     2      toIndex  I
    MethodParameters:
             Name  Flags
      arrayLength  
      fromIndex    
      toIndex      

  public static void sort(int[]);
    descriptor: ([I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // int[] a
         0: .line 144
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([III[III)V
         1: .line 145
            return
        end local 0 // int[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  [I
    MethodParameters:
      Name  Flags
      a     

  public static void sort(int[], int, int);
    descriptor: ([III)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // int[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 168
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 169
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([III[III)V
         2: .line 170
            return
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // int[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0          a  [I
            0    3     1  fromIndex  I
            0    3     2    toIndex  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  public static void sort(long[]);
    descriptor: ([J)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // long[] a
         0: .line 184
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([JII[JII)V
         1: .line 185
            return
        end local 0 // long[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  [J
    MethodParameters:
      Name  Flags
      a     

  public static void sort(long[], int, int);
    descriptor: ([JII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // long[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 208
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 209
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([JII[JII)V
         2: .line 210
            return
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // long[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0          a  [J
            0    3     1  fromIndex  I
            0    3     2    toIndex  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  public static void sort(short[]);
    descriptor: ([S)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // short[] a
         0: .line 224
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([SII[SII)V
         1: .line 225
            return
        end local 0 // short[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  [S
    MethodParameters:
      Name  Flags
      a     

  public static void sort(short[], int, int);
    descriptor: ([SII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // short[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 248
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 249
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([SII[SII)V
         2: .line 250
            return
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // short[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0          a  [S
            0    3     1  fromIndex  I
            0    3     2    toIndex  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  public static void sort(char[]);
    descriptor: ([C)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // char[] a
         0: .line 264
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([CII[CII)V
         1: .line 265
            return
        end local 0 // char[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  [C
    MethodParameters:
      Name  Flags
      a     

  public static void sort(char[], int, int);
    descriptor: ([CII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // char[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 288
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 289
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([CII[CII)V
         2: .line 290
            return
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // char[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0          a  [C
            0    3     1  fromIndex  I
            0    3     2    toIndex  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  public static void sort(byte[]);
    descriptor: ([B)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // byte[] a
         0: .line 304
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            iconst_1
            isub
            invokestatic java.util.DualPivotQuicksort.sort:([BII)V
         1: .line 305
            return
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  [B
    MethodParameters:
      Name  Flags
      a     

  public static void sort(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // byte[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 328
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 329
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iconst_1
            isub
            invokestatic java.util.DualPivotQuicksort.sort:([BII)V
         2: .line 330
            return
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0          a  [B
            0    3     1  fromIndex  I
            0    3     2    toIndex  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  public static void sort(float[]);
    descriptor: ([F)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // float[] a
         0: .line 352
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([FII[FII)V
         1: .line 353
            return
        end local 0 // float[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  [F
    MethodParameters:
      Name  Flags
      a     

  public static void sort(float[], int, int);
    descriptor: ([FII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // float[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 384
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 385
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([FII[FII)V
         2: .line 386
            return
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // float[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0          a  [F
            0    3     1  fromIndex  I
            0    3     2    toIndex  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  public static void sort(double[]);
    descriptor: ([D)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // double[] a
         0: .line 408
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([DII[DII)V
         1: .line 409
            return
        end local 0 // double[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  [D
    MethodParameters:
      Name  Flags
      a     

  public static void sort(double[], int, int);
    descriptor: ([DII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // double[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 440
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 441
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([DII[DII)V
         2: .line 442
            return
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // double[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0          a  [D
            0    3     1  fromIndex  I
            0    3     2    toIndex  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  public static void parallelSort(byte[]);
    descriptor: ([B)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=4, args_size=1
        start local 0 // byte[] a
         0: .line 463
            aload 0 /* a */
            arraylength
            istore 1 /* n */
        start local 1 // int n
         1: .line 464
            iload 1 /* n */
            sipush 8192
            if_icmple 4
         2: .line 465
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 2 /* p */
        start local 2 // int p
         3: iconst_1
            if_icmpne 5
        end local 2 // int p
         4: .line 466
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iconst_0
            iload 1 /* n */
            iconst_1
            isub
            invokestatic java.util.DualPivotQuicksort.sort:([BII)V
            goto 13
        start local 2 // int p
         5: .line 468
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJByte$Sorter
            dup
         6: .line 469
            aconst_null
            aload 0 /* a */
            iload 1 /* n */
            newarray 8
            iconst_0
            iload 1 /* n */
            iconst_0
         7: .line 470
            iload 1 /* n */
            iload 2 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 3 /* g */
        start local 3 // int g
         8: sipush 8192
            if_icmpgt 10
         9: .line 471
            sipush 8192
            goto 11
      StackMap locals: byte[] int int int
      StackMap stack: new 5 new 5 null byte[] byte[] int int int
        10: iload 3 /* g */
        11: .line 468
      StackMap locals: byte[] int int int
      StackMap stack: new 5 new 5 null byte[] byte[] int int int int
            invokespecial java.util.ArraysParallelSortHelpers$FJByte$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[B[BIIII)V
        12: .line 471
            invokevirtual java.util.ArraysParallelSortHelpers$FJByte$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 3 // int g
        end local 2 // int p
        13: .line 472
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int n
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0     a  [B
            1   14     1     n  I
            3    4     2     p  I
            5   13     2     p  I
            8   13     3     g  I
    MethodParameters:
      Name  Flags
      a     

  public static void parallelSort(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=6, args_size=3
        start local 0 // byte[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 502
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 503
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            isub
            istore 3 /* n */
        start local 3 // int n
         2: .line 504
            iload 3 /* n */
            sipush 8192
            if_icmple 5
         3: .line 505
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 4 /* p */
        start local 4 // int p
         4: iconst_1
            if_icmpne 6
        end local 4 // int p
         5: .line 506
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iconst_1
            isub
            invokestatic java.util.DualPivotQuicksort.sort:([BII)V
            goto 14
        start local 4 // int p
         6: .line 508
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJByte$Sorter
            dup
         7: .line 509
            aconst_null
            aload 0 /* a */
            iload 3 /* n */
            newarray 8
            iload 1 /* fromIndex */
            iload 3 /* n */
            iconst_0
         8: .line 510
            iload 3 /* n */
            iload 4 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 5 /* g */
        start local 5 // int g
         9: sipush 8192
            if_icmpgt 11
        10: .line 511
            sipush 8192
            goto 12
      StackMap locals: byte[] int int int int int
      StackMap stack: new 6 new 6 null byte[] byte[] int int int
        11: iload 5 /* g */
        12: .line 508
      StackMap locals: byte[] int int int int int
      StackMap stack: new 6 new 6 null byte[] byte[] int int int int
            invokespecial java.util.ArraysParallelSortHelpers$FJByte$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[B[BIIII)V
        13: .line 511
            invokevirtual java.util.ArraysParallelSortHelpers$FJByte$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 5 // int g
        end local 4 // int p
        14: .line 512
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int n
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0          a  [B
            0   15     1  fromIndex  I
            0   15     2    toIndex  I
            2   15     3          n  I
            4    5     4          p  I
            6   14     4          p  I
            9   14     5          g  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  public static void parallelSort(char[]);
    descriptor: ([C)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=4, args_size=1
        start local 0 // char[] a
         0: .line 533
            aload 0 /* a */
            arraylength
            istore 1 /* n */
        start local 1 // int n
         1: .line 534
            iload 1 /* n */
            sipush 8192
            if_icmple 4
         2: .line 535
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 2 /* p */
        start local 2 // int p
         3: iconst_1
            if_icmpne 5
        end local 2 // int p
         4: .line 536
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iconst_0
            iload 1 /* n */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([CII[CII)V
            goto 13
        start local 2 // int p
         5: .line 538
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJChar$Sorter
            dup
         6: .line 539
            aconst_null
            aload 0 /* a */
            iload 1 /* n */
            newarray 5
            iconst_0
            iload 1 /* n */
            iconst_0
         7: .line 540
            iload 1 /* n */
            iload 2 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 3 /* g */
        start local 3 // int g
         8: sipush 8192
            if_icmpgt 10
         9: .line 541
            sipush 8192
            goto 11
      StackMap locals: char[] int int int
      StackMap stack: new 5 new 5 null char[] char[] int int int
        10: iload 3 /* g */
        11: .line 538
      StackMap locals: char[] int int int
      StackMap stack: new 5 new 5 null char[] char[] int int int int
            invokespecial java.util.ArraysParallelSortHelpers$FJChar$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[C[CIIII)V
        12: .line 541
            invokevirtual java.util.ArraysParallelSortHelpers$FJChar$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 3 // int g
        end local 2 // int p
        13: .line 542
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int n
        end local 0 // char[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0     a  [C
            1   14     1     n  I
            3    4     2     p  I
            5   13     2     p  I
            8   13     3     g  I
    MethodParameters:
      Name  Flags
      a     

  public static void parallelSort(char[], int, int);
    descriptor: ([CII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=6, args_size=3
        start local 0 // char[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 572
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 573
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            isub
            istore 3 /* n */
        start local 3 // int n
         2: .line 574
            iload 3 /* n */
            sipush 8192
            if_icmple 5
         3: .line 575
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 4 /* p */
        start local 4 // int p
         4: iconst_1
            if_icmpne 6
        end local 4 // int p
         5: .line 576
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([CII[CII)V
            goto 14
        start local 4 // int p
         6: .line 578
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJChar$Sorter
            dup
         7: .line 579
            aconst_null
            aload 0 /* a */
            iload 3 /* n */
            newarray 5
            iload 1 /* fromIndex */
            iload 3 /* n */
            iconst_0
         8: .line 580
            iload 3 /* n */
            iload 4 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 5 /* g */
        start local 5 // int g
         9: sipush 8192
            if_icmpgt 11
        10: .line 581
            sipush 8192
            goto 12
      StackMap locals: char[] int int int int int
      StackMap stack: new 6 new 6 null char[] char[] int int int
        11: iload 5 /* g */
        12: .line 578
      StackMap locals: char[] int int int int int
      StackMap stack: new 6 new 6 null char[] char[] int int int int
            invokespecial java.util.ArraysParallelSortHelpers$FJChar$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[C[CIIII)V
        13: .line 581
            invokevirtual java.util.ArraysParallelSortHelpers$FJChar$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 5 // int g
        end local 4 // int p
        14: .line 582
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int n
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // char[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0          a  [C
            0   15     1  fromIndex  I
            0   15     2    toIndex  I
            2   15     3          n  I
            4    5     4          p  I
            6   14     4          p  I
            9   14     5          g  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  public static void parallelSort(short[]);
    descriptor: ([S)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=4, args_size=1
        start local 0 // short[] a
         0: .line 603
            aload 0 /* a */
            arraylength
            istore 1 /* n */
        start local 1 // int n
         1: .line 604
            iload 1 /* n */
            sipush 8192
            if_icmple 4
         2: .line 605
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 2 /* p */
        start local 2 // int p
         3: iconst_1
            if_icmpne 5
        end local 2 // int p
         4: .line 606
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iconst_0
            iload 1 /* n */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([SII[SII)V
            goto 13
        start local 2 // int p
         5: .line 608
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJShort$Sorter
            dup
         6: .line 609
            aconst_null
            aload 0 /* a */
            iload 1 /* n */
            newarray 9
            iconst_0
            iload 1 /* n */
            iconst_0
         7: .line 610
            iload 1 /* n */
            iload 2 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 3 /* g */
        start local 3 // int g
         8: sipush 8192
            if_icmpgt 10
         9: .line 611
            sipush 8192
            goto 11
      StackMap locals: short[] int int int
      StackMap stack: new 5 new 5 null short[] short[] int int int
        10: iload 3 /* g */
        11: .line 608
      StackMap locals: short[] int int int
      StackMap stack: new 5 new 5 null short[] short[] int int int int
            invokespecial java.util.ArraysParallelSortHelpers$FJShort$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[S[SIIII)V
        12: .line 611
            invokevirtual java.util.ArraysParallelSortHelpers$FJShort$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 3 // int g
        end local 2 // int p
        13: .line 612
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int n
        end local 0 // short[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0     a  [S
            1   14     1     n  I
            3    4     2     p  I
            5   13     2     p  I
            8   13     3     g  I
    MethodParameters:
      Name  Flags
      a     

  public static void parallelSort(short[], int, int);
    descriptor: ([SII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=6, args_size=3
        start local 0 // short[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 642
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 643
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            isub
            istore 3 /* n */
        start local 3 // int n
         2: .line 644
            iload 3 /* n */
            sipush 8192
            if_icmple 5
         3: .line 645
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 4 /* p */
        start local 4 // int p
         4: iconst_1
            if_icmpne 6
        end local 4 // int p
         5: .line 646
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([SII[SII)V
            goto 14
        start local 4 // int p
         6: .line 648
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJShort$Sorter
            dup
         7: .line 649
            aconst_null
            aload 0 /* a */
            iload 3 /* n */
            newarray 9
            iload 1 /* fromIndex */
            iload 3 /* n */
            iconst_0
         8: .line 650
            iload 3 /* n */
            iload 4 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 5 /* g */
        start local 5 // int g
         9: sipush 8192
            if_icmpgt 11
        10: .line 651
            sipush 8192
            goto 12
      StackMap locals: short[] int int int int int
      StackMap stack: new 6 new 6 null short[] short[] int int int
        11: iload 5 /* g */
        12: .line 648
      StackMap locals: short[] int int int int int
      StackMap stack: new 6 new 6 null short[] short[] int int int int
            invokespecial java.util.ArraysParallelSortHelpers$FJShort$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[S[SIIII)V
        13: .line 651
            invokevirtual java.util.ArraysParallelSortHelpers$FJShort$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 5 // int g
        end local 4 // int p
        14: .line 652
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int n
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // short[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0          a  [S
            0   15     1  fromIndex  I
            0   15     2    toIndex  I
            2   15     3          n  I
            4    5     4          p  I
            6   14     4          p  I
            9   14     5          g  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  public static void parallelSort(int[]);
    descriptor: ([I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=4, args_size=1
        start local 0 // int[] a
         0: .line 673
            aload 0 /* a */
            arraylength
            istore 1 /* n */
        start local 1 // int n
         1: .line 674
            iload 1 /* n */
            sipush 8192
            if_icmple 4
         2: .line 675
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 2 /* p */
        start local 2 // int p
         3: iconst_1
            if_icmpne 5
        end local 2 // int p
         4: .line 676
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iconst_0
            iload 1 /* n */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([III[III)V
            goto 13
        start local 2 // int p
         5: .line 678
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJInt$Sorter
            dup
         6: .line 679
            aconst_null
            aload 0 /* a */
            iload 1 /* n */
            newarray 10
            iconst_0
            iload 1 /* n */
            iconst_0
         7: .line 680
            iload 1 /* n */
            iload 2 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 3 /* g */
        start local 3 // int g
         8: sipush 8192
            if_icmpgt 10
         9: .line 681
            sipush 8192
            goto 11
      StackMap locals: int[] int int int
      StackMap stack: new 5 new 5 null int[] int[] int int int
        10: iload 3 /* g */
        11: .line 678
      StackMap locals: int[] int int int
      StackMap stack: new 5 new 5 null int[] int[] int int int int
            invokespecial java.util.ArraysParallelSortHelpers$FJInt$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[I[IIIII)V
        12: .line 681
            invokevirtual java.util.ArraysParallelSortHelpers$FJInt$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 3 // int g
        end local 2 // int p
        13: .line 682
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int n
        end local 0 // int[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0     a  [I
            1   14     1     n  I
            3    4     2     p  I
            5   13     2     p  I
            8   13     3     g  I
    MethodParameters:
      Name  Flags
      a     

  public static void parallelSort(int[], int, int);
    descriptor: ([III)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=6, args_size=3
        start local 0 // int[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 712
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 713
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            isub
            istore 3 /* n */
        start local 3 // int n
         2: .line 714
            iload 3 /* n */
            sipush 8192
            if_icmple 5
         3: .line 715
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 4 /* p */
        start local 4 // int p
         4: iconst_1
            if_icmpne 6
        end local 4 // int p
         5: .line 716
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([III[III)V
            goto 14
        start local 4 // int p
         6: .line 718
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJInt$Sorter
            dup
         7: .line 719
            aconst_null
            aload 0 /* a */
            iload 3 /* n */
            newarray 10
            iload 1 /* fromIndex */
            iload 3 /* n */
            iconst_0
         8: .line 720
            iload 3 /* n */
            iload 4 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 5 /* g */
        start local 5 // int g
         9: sipush 8192
            if_icmpgt 11
        10: .line 721
            sipush 8192
            goto 12
      StackMap locals: int[] int int int int int
      StackMap stack: new 6 new 6 null int[] int[] int int int
        11: iload 5 /* g */
        12: .line 718
      StackMap locals: int[] int int int int int
      StackMap stack: new 6 new 6 null int[] int[] int int int int
            invokespecial java.util.ArraysParallelSortHelpers$FJInt$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[I[IIIII)V
        13: .line 721
            invokevirtual java.util.ArraysParallelSortHelpers$FJInt$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 5 // int g
        end local 4 // int p
        14: .line 722
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int n
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // int[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0          a  [I
            0   15     1  fromIndex  I
            0   15     2    toIndex  I
            2   15     3          n  I
            4    5     4          p  I
            6   14     4          p  I
            9   14     5          g  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  public static void parallelSort(long[]);
    descriptor: ([J)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=4, args_size=1
        start local 0 // long[] a
         0: .line 743
            aload 0 /* a */
            arraylength
            istore 1 /* n */
        start local 1 // int n
         1: .line 744
            iload 1 /* n */
            sipush 8192
            if_icmple 4
         2: .line 745
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 2 /* p */
        start local 2 // int p
         3: iconst_1
            if_icmpne 5
        end local 2 // int p
         4: .line 746
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iconst_0
            iload 1 /* n */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([JII[JII)V
            goto 13
        start local 2 // int p
         5: .line 748
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJLong$Sorter
            dup
         6: .line 749
            aconst_null
            aload 0 /* a */
            iload 1 /* n */
            newarray 11
            iconst_0
            iload 1 /* n */
            iconst_0
         7: .line 750
            iload 1 /* n */
            iload 2 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 3 /* g */
        start local 3 // int g
         8: sipush 8192
            if_icmpgt 10
         9: .line 751
            sipush 8192
            goto 11
      StackMap locals: long[] int int int
      StackMap stack: new 5 new 5 null long[] long[] int int int
        10: iload 3 /* g */
        11: .line 748
      StackMap locals: long[] int int int
      StackMap stack: new 5 new 5 null long[] long[] int int int int
            invokespecial java.util.ArraysParallelSortHelpers$FJLong$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[J[JIIII)V
        12: .line 751
            invokevirtual java.util.ArraysParallelSortHelpers$FJLong$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 3 // int g
        end local 2 // int p
        13: .line 752
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int n
        end local 0 // long[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0     a  [J
            1   14     1     n  I
            3    4     2     p  I
            5   13     2     p  I
            8   13     3     g  I
    MethodParameters:
      Name  Flags
      a     

  public static void parallelSort(long[], int, int);
    descriptor: ([JII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=6, args_size=3
        start local 0 // long[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 782
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 783
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            isub
            istore 3 /* n */
        start local 3 // int n
         2: .line 784
            iload 3 /* n */
            sipush 8192
            if_icmple 5
         3: .line 785
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 4 /* p */
        start local 4 // int p
         4: iconst_1
            if_icmpne 6
        end local 4 // int p
         5: .line 786
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([JII[JII)V
            goto 14
        start local 4 // int p
         6: .line 788
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJLong$Sorter
            dup
         7: .line 789
            aconst_null
            aload 0 /* a */
            iload 3 /* n */
            newarray 11
            iload 1 /* fromIndex */
            iload 3 /* n */
            iconst_0
         8: .line 790
            iload 3 /* n */
            iload 4 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 5 /* g */
        start local 5 // int g
         9: sipush 8192
            if_icmpgt 11
        10: .line 791
            sipush 8192
            goto 12
      StackMap locals: long[] int int int int int
      StackMap stack: new 6 new 6 null long[] long[] int int int
        11: iload 5 /* g */
        12: .line 788
      StackMap locals: long[] int int int int int
      StackMap stack: new 6 new 6 null long[] long[] int int int int
            invokespecial java.util.ArraysParallelSortHelpers$FJLong$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[J[JIIII)V
        13: .line 791
            invokevirtual java.util.ArraysParallelSortHelpers$FJLong$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 5 // int g
        end local 4 // int p
        14: .line 792
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int n
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // long[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0          a  [J
            0   15     1  fromIndex  I
            0   15     2    toIndex  I
            2   15     3          n  I
            4    5     4          p  I
            6   14     4          p  I
            9   14     5          g  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  public static void parallelSort(float[]);
    descriptor: ([F)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=4, args_size=1
        start local 0 // float[] a
         0: .line 821
            aload 0 /* a */
            arraylength
            istore 1 /* n */
        start local 1 // int n
         1: .line 822
            iload 1 /* n */
            sipush 8192
            if_icmple 4
         2: .line 823
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 2 /* p */
        start local 2 // int p
         3: iconst_1
            if_icmpne 5
        end local 2 // int p
         4: .line 824
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iconst_0
            iload 1 /* n */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([FII[FII)V
            goto 13
        start local 2 // int p
         5: .line 826
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJFloat$Sorter
            dup
         6: .line 827
            aconst_null
            aload 0 /* a */
            iload 1 /* n */
            newarray 6
            iconst_0
            iload 1 /* n */
            iconst_0
         7: .line 828
            iload 1 /* n */
            iload 2 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 3 /* g */
        start local 3 // int g
         8: sipush 8192
            if_icmpgt 10
         9: .line 829
            sipush 8192
            goto 11
      StackMap locals: float[] int int int
      StackMap stack: new 5 new 5 null float[] float[] int int int
        10: iload 3 /* g */
        11: .line 826
      StackMap locals: float[] int int int
      StackMap stack: new 5 new 5 null float[] float[] int int int int
            invokespecial java.util.ArraysParallelSortHelpers$FJFloat$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[F[FIIII)V
        12: .line 829
            invokevirtual java.util.ArraysParallelSortHelpers$FJFloat$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 3 // int g
        end local 2 // int p
        13: .line 830
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int n
        end local 0 // float[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0     a  [F
            1   14     1     n  I
            3    4     2     p  I
            5   13     2     p  I
            8   13     3     g  I
    MethodParameters:
      Name  Flags
      a     

  public static void parallelSort(float[], int, int);
    descriptor: ([FII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=6, args_size=3
        start local 0 // float[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 868
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 869
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            isub
            istore 3 /* n */
        start local 3 // int n
         2: .line 870
            iload 3 /* n */
            sipush 8192
            if_icmple 5
         3: .line 871
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 4 /* p */
        start local 4 // int p
         4: iconst_1
            if_icmpne 6
        end local 4 // int p
         5: .line 872
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([FII[FII)V
            goto 14
        start local 4 // int p
         6: .line 874
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJFloat$Sorter
            dup
         7: .line 875
            aconst_null
            aload 0 /* a */
            iload 3 /* n */
            newarray 6
            iload 1 /* fromIndex */
            iload 3 /* n */
            iconst_0
         8: .line 876
            iload 3 /* n */
            iload 4 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 5 /* g */
        start local 5 // int g
         9: sipush 8192
            if_icmpgt 11
        10: .line 877
            sipush 8192
            goto 12
      StackMap locals: float[] int int int int int
      StackMap stack: new 6 new 6 null float[] float[] int int int
        11: iload 5 /* g */
        12: .line 874
      StackMap locals: float[] int int int int int
      StackMap stack: new 6 new 6 null float[] float[] int int int int
            invokespecial java.util.ArraysParallelSortHelpers$FJFloat$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[F[FIIII)V
        13: .line 877
            invokevirtual java.util.ArraysParallelSortHelpers$FJFloat$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 5 // int g
        end local 4 // int p
        14: .line 878
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int n
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // float[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0          a  [F
            0   15     1  fromIndex  I
            0   15     2    toIndex  I
            2   15     3          n  I
            4    5     4          p  I
            6   14     4          p  I
            9   14     5          g  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  public static void parallelSort(double[]);
    descriptor: ([D)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=4, args_size=1
        start local 0 // double[] a
         0: .line 907
            aload 0 /* a */
            arraylength
            istore 1 /* n */
        start local 1 // int n
         1: .line 908
            iload 1 /* n */
            sipush 8192
            if_icmple 4
         2: .line 909
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 2 /* p */
        start local 2 // int p
         3: iconst_1
            if_icmpne 5
        end local 2 // int p
         4: .line 910
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iconst_0
            iload 1 /* n */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([DII[DII)V
            goto 13
        start local 2 // int p
         5: .line 912
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJDouble$Sorter
            dup
         6: .line 913
            aconst_null
            aload 0 /* a */
            iload 1 /* n */
            newarray 7
            iconst_0
            iload 1 /* n */
            iconst_0
         7: .line 914
            iload 1 /* n */
            iload 2 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 3 /* g */
        start local 3 // int g
         8: sipush 8192
            if_icmpgt 10
         9: .line 915
            sipush 8192
            goto 11
      StackMap locals: double[] int int int
      StackMap stack: new 5 new 5 null double[] double[] int int int
        10: iload 3 /* g */
        11: .line 912
      StackMap locals: double[] int int int
      StackMap stack: new 5 new 5 null double[] double[] int int int int
            invokespecial java.util.ArraysParallelSortHelpers$FJDouble$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[D[DIIII)V
        12: .line 915
            invokevirtual java.util.ArraysParallelSortHelpers$FJDouble$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 3 // int g
        end local 2 // int p
        13: .line 916
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int n
        end local 0 // double[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0     a  [D
            1   14     1     n  I
            3    4     2     p  I
            5   13     2     p  I
            8   13     3     g  I
    MethodParameters:
      Name  Flags
      a     

  public static void parallelSort(double[], int, int);
    descriptor: ([DII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=6, args_size=3
        start local 0 // double[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 954
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 955
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            isub
            istore 3 /* n */
        start local 3 // int n
         2: .line 956
            iload 3 /* n */
            sipush 8192
            if_icmple 5
         3: .line 957
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 4 /* p */
        start local 4 // int p
         4: iconst_1
            if_icmpne 6
        end local 4 // int p
         5: .line 958
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iconst_1
            isub
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.DualPivotQuicksort.sort:([DII[DII)V
            goto 14
        start local 4 // int p
         6: .line 960
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJDouble$Sorter
            dup
         7: .line 961
            aconst_null
            aload 0 /* a */
            iload 3 /* n */
            newarray 7
            iload 1 /* fromIndex */
            iload 3 /* n */
            iconst_0
         8: .line 962
            iload 3 /* n */
            iload 4 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 5 /* g */
        start local 5 // int g
         9: sipush 8192
            if_icmpgt 11
        10: .line 963
            sipush 8192
            goto 12
      StackMap locals: double[] int int int int int
      StackMap stack: new 6 new 6 null double[] double[] int int int
        11: iload 5 /* g */
        12: .line 960
      StackMap locals: double[] int int int int int
      StackMap stack: new 6 new 6 null double[] double[] int int int int
            invokespecial java.util.ArraysParallelSortHelpers$FJDouble$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[D[DIIII)V
        13: .line 963
            invokevirtual java.util.ArraysParallelSortHelpers$FJDouble$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 5 // int g
        end local 4 // int p
        14: .line 964
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int n
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // double[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0          a  [D
            0   15     1  fromIndex  I
            0   15     2    toIndex  I
            2   15     3          n  I
            4    5     4          p  I
            6   14     4          p  I
            9   14     5          g  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  public static <T extends java.lang.Comparable<? super T>> void parallelSort();
    descriptor: ([Ljava/lang/Comparable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=4, args_size=1
        start local 0 // java.lang.Comparable[] a
         0: .line 1002
            aload 0 /* a */
            arraylength
            istore 1 /* n */
        start local 1 // int n
         1: .line 1003
            iload 1 /* n */
            sipush 8192
            if_icmple 4
         2: .line 1004
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 2 /* p */
        start local 2 // int p
         3: iconst_1
            if_icmpne 5
        end local 2 // int p
         4: .line 1005
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iconst_0
            iload 1 /* n */
            getstatic java.util.Arrays$NaturalOrder.INSTANCE:Ljava/util/Arrays$NaturalOrder;
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.TimSort.sort:([Ljava/lang/Object;IILjava/util/Comparator;[Ljava/lang/Object;II)V
            goto 15
        start local 2 // int p
         5: .line 1007
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJObject$Sorter
            dup
         6: .line 1008
            aconst_null
            aload 0 /* a */
         7: .line 1009
            aload 0 /* a */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            iload 1 /* n */
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.Comparable[]
         8: .line 1010
            iconst_0
            iload 1 /* n */
            iconst_0
            iload 1 /* n */
            iload 2 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 3 /* g */
        start local 3 // int g
         9: sipush 8192
            if_icmpgt 11
        10: .line 1011
            sipush 8192
            goto 12
      StackMap locals: java.lang.Comparable[] int int int
      StackMap stack: new 5 new 5 null java.lang.Comparable[] java.lang.Comparable[] int int int
        11: iload 3 /* g */
      StackMap locals: java.lang.Comparable[] int int int
      StackMap stack: new 5 new 5 null java.lang.Comparable[] java.lang.Comparable[] int int int int
        12: getstatic java.util.Arrays$NaturalOrder.INSTANCE:Ljava/util/Arrays$NaturalOrder;
        13: .line 1007
            invokespecial java.util.ArraysParallelSortHelpers$FJObject$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[Ljava/lang/Object;[Ljava/lang/Object;IIIILjava/util/Comparator;)V
        14: .line 1011
            invokevirtual java.util.ArraysParallelSortHelpers$FJObject$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 3 // int g
        end local 2 // int p
        15: .line 1012
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int n
        end local 0 // java.lang.Comparable[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0     a  [Ljava/lang/Comparable;
            1   16     1     n  I
            3    4     2     p  I
            5   15     2     p  I
            9   15     3     g  I
    Signature: <T::Ljava/lang/Comparable<-TT;>;>([TT;)V
    MethodParameters:
      Name  Flags
      a     

  public static <T extends java.lang.Comparable<? super T>> void parallelSort(T[], int, );
    descriptor: ([Ljava/lang/Comparable;II)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=6, args_size=3
        start local 0 // java.lang.Comparable[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 1060
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 1061
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            isub
            istore 3 /* n */
        start local 3 // int n
         2: .line 1062
            iload 3 /* n */
            sipush 8192
            if_icmple 5
         3: .line 1063
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 4 /* p */
        start local 4 // int p
         4: iconst_1
            if_icmpne 6
        end local 4 // int p
         5: .line 1064
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            getstatic java.util.Arrays$NaturalOrder.INSTANCE:Ljava/util/Arrays$NaturalOrder;
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.TimSort.sort:([Ljava/lang/Object;IILjava/util/Comparator;[Ljava/lang/Object;II)V
            goto 16
        start local 4 // int p
         6: .line 1066
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJObject$Sorter
            dup
         7: .line 1067
            aconst_null
            aload 0 /* a */
         8: .line 1068
            aload 0 /* a */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            iload 3 /* n */
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.Comparable[]
         9: .line 1069
            iload 1 /* fromIndex */
            iload 3 /* n */
            iconst_0
            iload 3 /* n */
            iload 4 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 5 /* g */
        start local 5 // int g
        10: sipush 8192
            if_icmpgt 12
        11: .line 1070
            sipush 8192
            goto 13
      StackMap locals: java.lang.Comparable[] int int int int int
      StackMap stack: new 6 new 6 null java.lang.Comparable[] java.lang.Comparable[] int int int
        12: iload 5 /* g */
      StackMap locals: java.lang.Comparable[] int int int int int
      StackMap stack: new 6 new 6 null java.lang.Comparable[] java.lang.Comparable[] int int int int
        13: getstatic java.util.Arrays$NaturalOrder.INSTANCE:Ljava/util/Arrays$NaturalOrder;
        14: .line 1066
            invokespecial java.util.ArraysParallelSortHelpers$FJObject$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[Ljava/lang/Object;[Ljava/lang/Object;IIIILjava/util/Comparator;)V
        15: .line 1070
            invokevirtual java.util.ArraysParallelSortHelpers$FJObject$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 5 // int g
        end local 4 // int p
        16: .line 1071
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int n
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // java.lang.Comparable[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0          a  [Ljava/lang/Comparable;
            0   17     1  fromIndex  I
            0   17     2    toIndex  I
            2   17     3          n  I
            4    5     4          p  I
            6   16     4          p  I
           10   16     5          g  I
    Signature: <T::Ljava/lang/Comparable<-TT;>;>([TT;II)V
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  public static <T> void parallelSort(T[], java.util.Comparator<? super T>);
    descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=5, args_size=2
        start local 0 // java.lang.Object[] a
        start local 1 // java.util.Comparator cmp
         0: .line 1108
            aload 1 /* cmp */
            ifnonnull 2
         1: .line 1109
            getstatic java.util.Arrays$NaturalOrder.INSTANCE:Ljava/util/Arrays$NaturalOrder;
            astore 1 /* cmp */
         2: .line 1110
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            istore 2 /* n */
        start local 2 // int n
         3: .line 1111
            iload 2 /* n */
            sipush 8192
            if_icmple 6
         4: .line 1112
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 3 /* p */
        start local 3 // int p
         5: iconst_1
            if_icmpne 7
        end local 3 // int p
         6: .line 1113
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iconst_0
            iload 2 /* n */
            aload 1 /* cmp */
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.TimSort.sort:([Ljava/lang/Object;IILjava/util/Comparator;[Ljava/lang/Object;II)V
            goto 17
        start local 3 // int p
         7: .line 1115
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJObject$Sorter
            dup
         8: .line 1116
            aconst_null
            aload 0 /* a */
         9: .line 1117
            aload 0 /* a */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            iload 2 /* n */
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.Object[]
        10: .line 1118
            iconst_0
            iload 2 /* n */
            iconst_0
            iload 2 /* n */
            iload 3 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 4 /* g */
        start local 4 // int g
        11: sipush 8192
            if_icmpgt 13
        12: .line 1119
            sipush 8192
            goto 14
      StackMap locals: java.lang.Object[] java.util.Comparator int int int
      StackMap stack: new 7 new 7 null java.lang.Object[] java.lang.Object[] int int int
        13: iload 4 /* g */
      StackMap locals: java.lang.Object[] java.util.Comparator int int int
      StackMap stack: new 7 new 7 null java.lang.Object[] java.lang.Object[] int int int int
        14: aload 1 /* cmp */
        15: .line 1115
            invokespecial java.util.ArraysParallelSortHelpers$FJObject$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[Ljava/lang/Object;[Ljava/lang/Object;IIIILjava/util/Comparator;)V
        16: .line 1119
            invokevirtual java.util.ArraysParallelSortHelpers$FJObject$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 4 // int g
        end local 3 // int p
        17: .line 1120
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int n
        end local 1 // java.util.Comparator cmp
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0     a  [Ljava/lang/Object;
            0   18     1   cmp  Ljava/util/Comparator<-TT;>;
            3   18     2     n  I
            5    6     3     p  I
            7   17     3     p  I
           11   17     4     g  I
    Signature: <T:Ljava/lang/Object;>([TT;Ljava/util/Comparator<-TT;>;)V
    MethodParameters:
      Name  Flags
      a     
      cmp   

  public static <T> void parallelSort(T[], int, int, java.util.Comparator<? super T>);
    descriptor: ([Ljava/lang/Object;IILjava/util/Comparator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=7, args_size=4
        start local 0 // java.lang.Object[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // java.util.Comparator cmp
         0: .line 1168
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 1169
            aload 3 /* cmp */
            ifnonnull 3
         2: .line 1170
            getstatic java.util.Arrays$NaturalOrder.INSTANCE:Ljava/util/Arrays$NaturalOrder;
            astore 3 /* cmp */
         3: .line 1171
      StackMap locals:
      StackMap stack:
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            isub
            istore 4 /* n */
        start local 4 // int n
         4: .line 1172
            iload 4 /* n */
            sipush 8192
            if_icmple 7
         5: .line 1173
            invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
            dup
            istore 5 /* p */
        start local 5 // int p
         6: iconst_1
            if_icmpne 8
        end local 5 // int p
         7: .line 1174
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            aload 3 /* cmp */
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.TimSort.sort:([Ljava/lang/Object;IILjava/util/Comparator;[Ljava/lang/Object;II)V
            goto 18
        start local 5 // int p
         8: .line 1176
      StackMap locals: int
      StackMap stack:
            new java.util.ArraysParallelSortHelpers$FJObject$Sorter
            dup
         9: .line 1177
            aconst_null
            aload 0 /* a */
        10: .line 1178
            aload 0 /* a */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            iload 4 /* n */
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.Object[]
        11: .line 1179
            iload 1 /* fromIndex */
            iload 4 /* n */
            iconst_0
            iload 4 /* n */
            iload 5 /* p */
            iconst_2
            ishl
            idiv
            dup
            istore 6 /* g */
        start local 6 // int g
        12: sipush 8192
            if_icmpgt 14
        13: .line 1180
            sipush 8192
            goto 15
      StackMap locals: java.lang.Object[] int int java.util.Comparator int int int
      StackMap stack: new 8 new 8 null java.lang.Object[] java.lang.Object[] int int int
        14: iload 6 /* g */
      StackMap locals: java.lang.Object[] int int java.util.Comparator int int int
      StackMap stack: new 8 new 8 null java.lang.Object[] java.lang.Object[] int int int int
        15: aload 3 /* cmp */
        16: .line 1176
            invokespecial java.util.ArraysParallelSortHelpers$FJObject$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[Ljava/lang/Object;[Ljava/lang/Object;IIIILjava/util/Comparator;)V
        17: .line 1180
            invokevirtual java.util.ArraysParallelSortHelpers$FJObject$Sorter.invoke:()Ljava/lang/Object;
            pop
        end local 6 // int g
        end local 5 // int p
        18: .line 1181
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int n
        end local 3 // java.util.Comparator cmp
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0          a  [Ljava/lang/Object;
            0   19     1  fromIndex  I
            0   19     2    toIndex  I
            0   19     3        cmp  Ljava/util/Comparator<-TT;>;
            4   19     4          n  I
            6    7     5          p  I
            8   18     5          p  I
           12   18     6          g  I
    Signature: <T:Ljava/lang/Object;>([TT;IILjava/util/Comparator<-TT;>;)V
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      cmp        

  public static void sort(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // java.lang.Object[] a
         0: .line 1243
            getstatic java.util.Arrays$LegacyMergeSort.userRequested:Z
            ifeq 2
         1: .line 1244
            aload 0 /* a */
            invokestatic java.util.Arrays.legacyMergeSort:([Ljava/lang/Object;)V
            goto 3
         2: .line 1246
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.ComparableTimSort.sort:([Ljava/lang/Object;II[Ljava/lang/Object;II)V
         3: .line 1247
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     a  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a     

  private static void legacyMergeSort(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.Object[] a
         0: .line 1251
            aload 0 /* a */
            invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 1 /* aux */
        start local 1 // java.lang.Object[] aux
         1: .line 1252
            aload 1 /* aux */
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            iconst_0
            invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;III)V
         2: .line 1253
            return
        end local 1 // java.lang.Object[] aux
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     a  [Ljava/lang/Object;
            1    3     1   aux  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a     

  public static void sort(java.lang.Object[], int, int);
    descriptor: ([Ljava/lang/Object;II)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.lang.Object[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 1308
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 1309
            getstatic java.util.Arrays$LegacyMergeSort.userRequested:Z
            ifeq 3
         2: .line 1310
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.legacyMergeSort:([Ljava/lang/Object;II)V
            goto 4
         3: .line 1312
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.ComparableTimSort.sort:([Ljava/lang/Object;II[Ljava/lang/Object;II)V
         4: .line 1313
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0          a  [Ljava/lang/Object;
            0    5     1  fromIndex  I
            0    5     2    toIndex  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  private static void legacyMergeSort(java.lang.Object[], int, int);
    descriptor: ([Ljava/lang/Object;II)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.Object[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 1318
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
            astore 3 /* aux */
        start local 3 // java.lang.Object[] aux
         1: .line 1319
            aload 3 /* aux */
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            ineg
            invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;III)V
         2: .line 1320
            return
        end local 3 // java.lang.Object[] aux
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0          a  [Ljava/lang/Object;
            0    3     1  fromIndex  I
            0    3     2    toIndex  I
            1    3     3        aux  [Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  private static void mergeSort(java.lang.Object[], java.lang.Object[], int, int, int);
    descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;III)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=5
        start local 0 // java.lang.Object[] src
        start local 1 // java.lang.Object[] dest
        start local 2 // int low
        start local 3 // int high
        start local 4 // int off
         0: .line 1343
            iload 3 /* high */
            iload 2 /* low */
            isub
            istore 5 /* length */
        start local 5 // int length
         1: .line 1346
            iload 5 /* length */
            bipush 7
            if_icmpge 14
         2: .line 1347
            iload 2 /* low */
            istore 6 /* i */
        start local 6 // int i
         3: goto 12
         4: .line 1348
      StackMap locals: int int
      StackMap stack:
            iload 6 /* i */
            istore 7 /* j */
        start local 7 // int j
         5: goto 8
         6: .line 1350
      StackMap locals: int
      StackMap stack:
            aload 1 /* dest */
            iload 7 /* j */
            iload 7 /* j */
            iconst_1
            isub
            invokestatic java.util.Arrays.swap:([Ljava/lang/Object;II)V
         7: .line 1349
            iinc 7 /* j */ -1
         8: .line 1348
      StackMap locals:
      StackMap stack:
            iload 7 /* j */
            iload 2 /* low */
            if_icmple 11
         9: .line 1349
            aload 1 /* dest */
            iload 7 /* j */
            iconst_1
            isub
            aaload
            checkcast java.lang.Comparable
            aload 1 /* dest */
            iload 7 /* j */
            aaload
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
        10: .line 1348
            ifgt 6
        end local 7 // int j
        11: .line 1347
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            iload 3 /* high */
            if_icmplt 4
        end local 6 // int i
        13: .line 1351
            return
        14: .line 1355
      StackMap locals:
      StackMap stack:
            iload 2 /* low */
            istore 6 /* destLow */
        start local 6 // int destLow
        15: .line 1356
            iload 3 /* high */
            istore 7 /* destHigh */
        start local 7 // int destHigh
        16: .line 1357
            iload 2 /* low */
            iload 4 /* off */
            iadd
            istore 2 /* low */
        17: .line 1358
            iload 3 /* high */
            iload 4 /* off */
            iadd
            istore 3 /* high */
        18: .line 1359
            iload 2 /* low */
            iload 3 /* high */
            iadd
            iconst_1
            iushr
            istore 8 /* mid */
        start local 8 // int mid
        19: .line 1360
            aload 1 /* dest */
            aload 0 /* src */
            iload 2 /* low */
            iload 8 /* mid */
            iload 4 /* off */
            ineg
            invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;III)V
        20: .line 1361
            aload 1 /* dest */
            aload 0 /* src */
            iload 8 /* mid */
            iload 3 /* high */
            iload 4 /* off */
            ineg
            invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;III)V
        21: .line 1365
            aload 0 /* src */
            iload 8 /* mid */
            iconst_1
            isub
            aaload
            checkcast java.lang.Comparable
            aload 0 /* src */
            iload 8 /* mid */
            aaload
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            ifgt 24
        22: .line 1366
            aload 0 /* src */
            iload 2 /* low */
            aload 1 /* dest */
            iload 6 /* destLow */
            iload 5 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 1367
            return
        24: .line 1371
      StackMap locals: int int int
      StackMap stack:
            iload 6 /* destLow */
            istore 9 /* i */
        start local 9 // int i
        25: iload 2 /* low */
            istore 10 /* p */
        start local 10 // int p
        26: iload 8 /* mid */
            istore 11 /* q */
        start local 11 // int q
        27: goto 32
        28: .line 1372
      StackMap locals: int int int
      StackMap stack:
            iload 11 /* q */
            iload 3 /* high */
            if_icmpge 29
            iload 10 /* p */
            iload 8 /* mid */
            if_icmpge 30
            aload 0 /* src */
            iload 10 /* p */
            aaload
            checkcast java.lang.Comparable
            aload 0 /* src */
            iload 11 /* q */
            aaload
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            ifgt 30
        29: .line 1373
      StackMap locals:
      StackMap stack:
            aload 1 /* dest */
            iload 9 /* i */
            aload 0 /* src */
            iload 10 /* p */
            iinc 10 /* p */ 1
            aaload
            aastore
            goto 31
        30: .line 1375
      StackMap locals:
      StackMap stack:
            aload 1 /* dest */
            iload 9 /* i */
            aload 0 /* src */
            iload 11 /* q */
            iinc 11 /* q */ 1
            aaload
            aastore
        31: .line 1371
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 9 /* i */
            iload 7 /* destHigh */
            if_icmplt 28
        end local 11 // int q
        end local 10 // int p
        end local 9 // int i
        33: .line 1377
            return
        end local 8 // int mid
        end local 7 // int destHigh
        end local 6 // int destLow
        end local 5 // int length
        end local 4 // int off
        end local 3 // int high
        end local 2 // int low
        end local 1 // java.lang.Object[] dest
        end local 0 // java.lang.Object[] src
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   34     0       src  [Ljava/lang/Object;
            0   34     1      dest  [Ljava/lang/Object;
            0   34     2       low  I
            0   34     3      high  I
            0   34     4       off  I
            1   34     5    length  I
            3   13     6         i  I
            5   11     7         j  I
           15   34     6   destLow  I
           16   34     7  destHigh  I
           19   34     8       mid  I
           25   33     9         i  I
           26   33    10         p  I
           27   33    11         q  I
    MethodParameters:
      Name  Flags
      src   
      dest  
      low   
      high  
      off   

  private static void swap(java.lang.Object[], int, int);
    descriptor: ([Ljava/lang/Object;II)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.lang.Object[] x
        start local 1 // int a
        start local 2 // int b
         0: .line 1383
            aload 0 /* x */
            iload 1 /* a */
            aaload
            astore 3 /* t */
        start local 3 // java.lang.Object t
         1: .line 1384
            aload 0 /* x */
            iload 1 /* a */
            aload 0 /* x */
            iload 2 /* b */
            aaload
            aastore
         2: .line 1385
            aload 0 /* x */
            iload 2 /* b */
            aload 3 /* t */
            aastore
         3: .line 1386
            return
        end local 3 // java.lang.Object t
        end local 2 // int b
        end local 1 // int a
        end local 0 // java.lang.Object[] x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     x  [Ljava/lang/Object;
            0    4     1     a  I
            0    4     2     b  I
            1    4     3     t  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      x     
      a     
      b     

  public static <T> void sort(T[], java.util.Comparator<? super T>);
    descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // java.lang.Object[] a
        start local 1 // java.util.Comparator c
         0: .line 1432
            aload 1 /* c */
            ifnonnull 3
         1: .line 1433
            aload 0 /* a */
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
         2: .line 1434
            goto 6
         3: .line 1435
      StackMap locals:
      StackMap stack:
            getstatic java.util.Arrays$LegacyMergeSort.userRequested:Z
            ifeq 5
         4: .line 1436
            aload 0 /* a */
            aload 1 /* c */
            invokestatic java.util.Arrays.legacyMergeSort:([Ljava/lang/Object;Ljava/util/Comparator;)V
            goto 6
         5: .line 1438
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            aload 1 /* c */
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.TimSort.sort:([Ljava/lang/Object;IILjava/util/Comparator;[Ljava/lang/Object;II)V
         6: .line 1440
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Comparator c
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     a  [Ljava/lang/Object;
            0    7     1     c  Ljava/util/Comparator<-TT;>;
    Signature: <T:Ljava/lang/Object;>([TT;Ljava/util/Comparator<-TT;>;)V
    MethodParameters:
      Name  Flags
      a     
      c     

  private static <T> void legacyMergeSort(T[], java.util.Comparator<? super T>);
    descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // java.lang.Object[] a
        start local 1 // java.util.Comparator c
         0: .line 1444
            aload 0 /* a */
            invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 2 /* aux */
        start local 2 // java.lang.Object[] aux
         1: .line 1445
            aload 1 /* c */
            ifnonnull 3
         2: .line 1446
            aload 2 /* aux */
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            iconst_0
            invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;III)V
            goto 4
         3: .line 1448
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 2 /* aux */
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            iconst_0
            aload 1 /* c */
            invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;IIILjava/util/Comparator;)V
         4: .line 1449
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object[] aux
        end local 1 // java.util.Comparator c
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     a  [Ljava/lang/Object;
            0    5     1     c  Ljava/util/Comparator<-TT;>;
            1    5     2   aux  [Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>([TT;Ljava/util/Comparator<-TT;>;)V
    MethodParameters:
      Name  Flags
      a     
      c     

  public static <T> void sort(T[], int, int, java.util.Comparator<? super T>);
    descriptor: ([Ljava/lang/Object;IILjava/util/Comparator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // java.lang.Object[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // java.util.Comparator c
         0: .line 1505
            aload 3 /* c */
            ifnonnull 3
         1: .line 1506
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;II)V
         2: .line 1507
            goto 7
         3: .line 1508
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         4: .line 1509
            getstatic java.util.Arrays$LegacyMergeSort.userRequested:Z
            ifeq 6
         5: .line 1510
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            aload 3 /* c */
            invokestatic java.util.Arrays.legacyMergeSort:([Ljava/lang/Object;IILjava/util/Comparator;)V
            goto 7
         6: .line 1512
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            aload 3 /* c */
            aconst_null
            iconst_0
            iconst_0
            invokestatic java.util.TimSort.sort:([Ljava/lang/Object;IILjava/util/Comparator;[Ljava/lang/Object;II)V
         7: .line 1514
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.Comparator c
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0          a  [Ljava/lang/Object;
            0    8     1  fromIndex  I
            0    8     2    toIndex  I
            0    8     3          c  Ljava/util/Comparator<-TT;>;
    Signature: <T:Ljava/lang/Object;>([TT;IILjava/util/Comparator<-TT;>;)V
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      c          

  private static <T> void legacyMergeSort(T[], int, int, java.util.Comparator<? super T>);
    descriptor: ([Ljava/lang/Object;IILjava/util/Comparator;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.lang.Object[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // java.util.Comparator c
         0: .line 1519
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
            astore 4 /* aux */
        start local 4 // java.lang.Object[] aux
         1: .line 1520
            aload 3 /* c */
            ifnonnull 3
         2: .line 1521
            aload 4 /* aux */
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            ineg
            invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;III)V
            goto 4
         3: .line 1523
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 4 /* aux */
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            ineg
            aload 3 /* c */
            invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;IIILjava/util/Comparator;)V
         4: .line 1524
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Object[] aux
        end local 3 // java.util.Comparator c
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0          a  [Ljava/lang/Object;
            0    5     1  fromIndex  I
            0    5     2    toIndex  I
            0    5     3          c  Ljava/util/Comparator<-TT;>;
            1    5     4        aux  [Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>([TT;IILjava/util/Comparator<-TT;>;)V
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      c          

  private static void mergeSort(java.lang.Object[], java.lang.Object[], int, int, int, java.util.Comparator);
    descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;IIILjava/util/Comparator;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=13, args_size=6
        start local 0 // java.lang.Object[] src
        start local 1 // java.lang.Object[] dest
        start local 2 // int low
        start local 3 // int high
        start local 4 // int off
        start local 5 // java.util.Comparator c
         0: .line 1539
            iload 3 /* high */
            iload 2 /* low */
            isub
            istore 6 /* length */
        start local 6 // int length
         1: .line 1542
            iload 6 /* length */
            bipush 7
            if_icmpge 12
         2: .line 1543
            iload 2 /* low */
            istore 7 /* i */
        start local 7 // int i
         3: goto 10
         4: .line 1544
      StackMap locals: int int
      StackMap stack:
            iload 7 /* i */
            istore 8 /* j */
        start local 8 // int j
         5: goto 8
         6: .line 1545
      StackMap locals: int
      StackMap stack:
            aload 1 /* dest */
            iload 8 /* j */
            iload 8 /* j */
            iconst_1
            isub
            invokestatic java.util.Arrays.swap:([Ljava/lang/Object;II)V
         7: .line 1544
            iinc 8 /* j */ -1
      StackMap locals:
      StackMap stack:
         8: iload 8 /* j */
            iload 2 /* low */
            if_icmple 9
            aload 5 /* c */
            aload 1 /* dest */
            iload 8 /* j */
            iconst_1
            isub
            aaload
            aload 1 /* dest */
            iload 8 /* j */
            aaload
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ifgt 6
        end local 8 // int j
         9: .line 1543
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 7 /* i */
            iload 3 /* high */
            if_icmplt 4
        end local 7 // int i
        11: .line 1546
            return
        12: .line 1550
      StackMap locals:
      StackMap stack:
            iload 2 /* low */
            istore 7 /* destLow */
        start local 7 // int destLow
        13: .line 1551
            iload 3 /* high */
            istore 8 /* destHigh */
        start local 8 // int destHigh
        14: .line 1552
            iload 2 /* low */
            iload 4 /* off */
            iadd
            istore 2 /* low */
        15: .line 1553
            iload 3 /* high */
            iload 4 /* off */
            iadd
            istore 3 /* high */
        16: .line 1554
            iload 2 /* low */
            iload 3 /* high */
            iadd
            iconst_1
            iushr
            istore 9 /* mid */
        start local 9 // int mid
        17: .line 1555
            aload 1 /* dest */
            aload 0 /* src */
            iload 2 /* low */
            iload 9 /* mid */
            iload 4 /* off */
            ineg
            aload 5 /* c */
            invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;IIILjava/util/Comparator;)V
        18: .line 1556
            aload 1 /* dest */
            aload 0 /* src */
            iload 9 /* mid */
            iload 3 /* high */
            iload 4 /* off */
            ineg
            aload 5 /* c */
            invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;IIILjava/util/Comparator;)V
        19: .line 1560
            aload 5 /* c */
            aload 0 /* src */
            iload 9 /* mid */
            iconst_1
            isub
            aaload
            aload 0 /* src */
            iload 9 /* mid */
            aaload
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ifgt 22
        20: .line 1561
            aload 0 /* src */
            iload 2 /* low */
            aload 1 /* dest */
            iload 7 /* destLow */
            iload 6 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        21: .line 1562
            return
        22: .line 1566
      StackMap locals: int int int
      StackMap stack:
            iload 7 /* destLow */
            istore 10 /* i */
        start local 10 // int i
        23: iload 2 /* low */
            istore 11 /* p */
        start local 11 // int p
        24: iload 9 /* mid */
            istore 12 /* q */
        start local 12 // int q
        25: goto 30
        26: .line 1567
      StackMap locals: int int int
      StackMap stack:
            iload 12 /* q */
            iload 3 /* high */
            if_icmpge 27
            iload 11 /* p */
            iload 9 /* mid */
            if_icmpge 28
            aload 5 /* c */
            aload 0 /* src */
            iload 11 /* p */
            aaload
            aload 0 /* src */
            iload 12 /* q */
            aaload
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ifgt 28
        27: .line 1568
      StackMap locals:
      StackMap stack:
            aload 1 /* dest */
            iload 10 /* i */
            aload 0 /* src */
            iload 11 /* p */
            iinc 11 /* p */ 1
            aaload
            aastore
            goto 29
        28: .line 1570
      StackMap locals:
      StackMap stack:
            aload 1 /* dest */
            iload 10 /* i */
            aload 0 /* src */
            iload 12 /* q */
            iinc 12 /* q */ 1
            aaload
            aastore
        29: .line 1566
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 10 /* i */
            iload 8 /* destHigh */
            if_icmplt 26
        end local 12 // int q
        end local 11 // int p
        end local 10 // int i
        31: .line 1572
            return
        end local 9 // int mid
        end local 8 // int destHigh
        end local 7 // int destLow
        end local 6 // int length
        end local 5 // java.util.Comparator c
        end local 4 // int off
        end local 3 // int high
        end local 2 // int low
        end local 1 // java.lang.Object[] dest
        end local 0 // java.lang.Object[] src
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   32     0       src  [Ljava/lang/Object;
            0   32     1      dest  [Ljava/lang/Object;
            0   32     2       low  I
            0   32     3      high  I
            0   32     4       off  I
            0   32     5         c  Ljava/util/Comparator;
            1   32     6    length  I
            3   11     7         i  I
            5    9     8         j  I
           13   32     7   destLow  I
           14   32     8  destHigh  I
           17   32     9       mid  I
           23   31    10         i  I
           24   31    11         p  I
           25   31    12         q  I
    MethodParameters:
      Name  Flags
      src   
      dest  
      low   
      high  
      off   
      c     

  public static <T> void parallelPrefix(T[], java.util.function.BinaryOperator<T>);
    descriptor: ([Ljava/lang/Object;Ljava/util/function/BinaryOperator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // java.lang.Object[] array
        start local 1 // java.util.function.BinaryOperator op
         0: .line 1592
            aload 1 /* op */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1593
            aload 0 /* array */
            arraylength
            ifle 6
         2: .line 1594
            new java.util.ArrayPrefixHelpers$CumulateTask
            dup
         3: .line 1595
            aconst_null
            aload 1 /* op */
            aload 0 /* array */
            iconst_0
            aload 0 /* array */
            arraylength
         4: .line 1594
            invokespecial java.util.ArrayPrefixHelpers$CumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$CumulateTask;Ljava/util/function/BinaryOperator;[Ljava/lang/Object;II)V
         5: .line 1595
            invokevirtual java.util.ArrayPrefixHelpers$CumulateTask.invoke:()Ljava/lang/Object;
            pop
         6: .line 1596
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.function.BinaryOperator op
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  array  [Ljava/lang/Object;
            0    7     1     op  Ljava/util/function/BinaryOperator<TT;>;
    Signature: <T:Ljava/lang/Object;>([TT;Ljava/util/function/BinaryOperator<TT;>;)V
    MethodParameters:
       Name  Flags
      array  
      op     

  public static <T> void parallelPrefix(T[], int, int, java.util.function.BinaryOperator<T>);
    descriptor: ([Ljava/lang/Object;IILjava/util/function/BinaryOperator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // java.lang.Object[] array
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // java.util.function.BinaryOperator op
         0: .line 1616
            aload 3 /* op */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1617
            aload 0 /* array */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         2: .line 1618
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            if_icmpge 7
         3: .line 1619
            new java.util.ArrayPrefixHelpers$CumulateTask
            dup
         4: .line 1620
            aconst_null
            aload 3 /* op */
            aload 0 /* array */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
         5: .line 1619
            invokespecial java.util.ArrayPrefixHelpers$CumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$CumulateTask;Ljava/util/function/BinaryOperator;[Ljava/lang/Object;II)V
         6: .line 1620
            invokevirtual java.util.ArrayPrefixHelpers$CumulateTask.invoke:()Ljava/lang/Object;
            pop
         7: .line 1621
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.function.BinaryOperator op
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0      array  [Ljava/lang/Object;
            0    8     1  fromIndex  I
            0    8     2    toIndex  I
            0    8     3         op  Ljava/util/function/BinaryOperator<TT;>;
    Signature: <T:Ljava/lang/Object;>([TT;IILjava/util/function/BinaryOperator<TT;>;)V
    MethodParameters:
           Name  Flags
      array      
      fromIndex  
      toIndex    
      op         

  public static void parallelPrefix(long[], java.util.function.LongBinaryOperator);
    descriptor: ([JLjava/util/function/LongBinaryOperator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // long[] array
        start local 1 // java.util.function.LongBinaryOperator op
         0: .line 1638
            aload 1 /* op */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1639
            aload 0 /* array */
            arraylength
            ifle 6
         2: .line 1640
            new java.util.ArrayPrefixHelpers$LongCumulateTask
            dup
         3: .line 1641
            aconst_null
            aload 1 /* op */
            aload 0 /* array */
            iconst_0
            aload 0 /* array */
            arraylength
         4: .line 1640
            invokespecial java.util.ArrayPrefixHelpers$LongCumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$LongCumulateTask;Ljava/util/function/LongBinaryOperator;[JII)V
         5: .line 1641
            invokevirtual java.util.ArrayPrefixHelpers$LongCumulateTask.invoke:()Ljava/lang/Object;
            pop
         6: .line 1642
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.function.LongBinaryOperator op
        end local 0 // long[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  array  [J
            0    7     1     op  Ljava/util/function/LongBinaryOperator;
    MethodParameters:
       Name  Flags
      array  
      op     

  public static void parallelPrefix(long[], int, int, java.util.function.LongBinaryOperator);
    descriptor: ([JIILjava/util/function/LongBinaryOperator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // long[] array
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // java.util.function.LongBinaryOperator op
         0: .line 1661
            aload 3 /* op */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1662
            aload 0 /* array */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         2: .line 1663
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            if_icmpge 7
         3: .line 1664
            new java.util.ArrayPrefixHelpers$LongCumulateTask
            dup
         4: .line 1665
            aconst_null
            aload 3 /* op */
            aload 0 /* array */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
         5: .line 1664
            invokespecial java.util.ArrayPrefixHelpers$LongCumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$LongCumulateTask;Ljava/util/function/LongBinaryOperator;[JII)V
         6: .line 1665
            invokevirtual java.util.ArrayPrefixHelpers$LongCumulateTask.invoke:()Ljava/lang/Object;
            pop
         7: .line 1666
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.function.LongBinaryOperator op
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // long[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0      array  [J
            0    8     1  fromIndex  I
            0    8     2    toIndex  I
            0    8     3         op  Ljava/util/function/LongBinaryOperator;
    MethodParameters:
           Name  Flags
      array      
      fromIndex  
      toIndex    
      op         

  public static void parallelPrefix(double[], java.util.function.DoubleBinaryOperator);
    descriptor: ([DLjava/util/function/DoubleBinaryOperator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // double[] array
        start local 1 // java.util.function.DoubleBinaryOperator op
         0: .line 1686
            aload 1 /* op */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1687
            aload 0 /* array */
            arraylength
            ifle 6
         2: .line 1688
            new java.util.ArrayPrefixHelpers$DoubleCumulateTask
            dup
         3: .line 1689
            aconst_null
            aload 1 /* op */
            aload 0 /* array */
            iconst_0
            aload 0 /* array */
            arraylength
         4: .line 1688
            invokespecial java.util.ArrayPrefixHelpers$DoubleCumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$DoubleCumulateTask;Ljava/util/function/DoubleBinaryOperator;[DII)V
         5: .line 1689
            invokevirtual java.util.ArrayPrefixHelpers$DoubleCumulateTask.invoke:()Ljava/lang/Object;
            pop
         6: .line 1690
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.function.DoubleBinaryOperator op
        end local 0 // double[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  array  [D
            0    7     1     op  Ljava/util/function/DoubleBinaryOperator;
    MethodParameters:
       Name  Flags
      array  
      op     

  public static void parallelPrefix(double[], int, int, java.util.function.DoubleBinaryOperator);
    descriptor: ([DIILjava/util/function/DoubleBinaryOperator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // double[] array
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // java.util.function.DoubleBinaryOperator op
         0: .line 1709
            aload 3 /* op */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1710
            aload 0 /* array */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         2: .line 1711
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            if_icmpge 7
         3: .line 1712
            new java.util.ArrayPrefixHelpers$DoubleCumulateTask
            dup
         4: .line 1713
            aconst_null
            aload 3 /* op */
            aload 0 /* array */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
         5: .line 1712
            invokespecial java.util.ArrayPrefixHelpers$DoubleCumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$DoubleCumulateTask;Ljava/util/function/DoubleBinaryOperator;[DII)V
         6: .line 1713
            invokevirtual java.util.ArrayPrefixHelpers$DoubleCumulateTask.invoke:()Ljava/lang/Object;
            pop
         7: .line 1714
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.function.DoubleBinaryOperator op
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // double[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0      array  [D
            0    8     1  fromIndex  I
            0    8     2    toIndex  I
            0    8     3         op  Ljava/util/function/DoubleBinaryOperator;
    MethodParameters:
           Name  Flags
      array      
      fromIndex  
      toIndex    
      op         

  public static void parallelPrefix(int[], java.util.function.IntBinaryOperator);
    descriptor: ([ILjava/util/function/IntBinaryOperator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // int[] array
        start local 1 // java.util.function.IntBinaryOperator op
         0: .line 1731
            aload 1 /* op */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1732
            aload 0 /* array */
            arraylength
            ifle 6
         2: .line 1733
            new java.util.ArrayPrefixHelpers$IntCumulateTask
            dup
         3: .line 1734
            aconst_null
            aload 1 /* op */
            aload 0 /* array */
            iconst_0
            aload 0 /* array */
            arraylength
         4: .line 1733
            invokespecial java.util.ArrayPrefixHelpers$IntCumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$IntCumulateTask;Ljava/util/function/IntBinaryOperator;[III)V
         5: .line 1734
            invokevirtual java.util.ArrayPrefixHelpers$IntCumulateTask.invoke:()Ljava/lang/Object;
            pop
         6: .line 1735
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.function.IntBinaryOperator op
        end local 0 // int[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  array  [I
            0    7     1     op  Ljava/util/function/IntBinaryOperator;
    MethodParameters:
       Name  Flags
      array  
      op     

  public static void parallelPrefix(int[], int, int, java.util.function.IntBinaryOperator);
    descriptor: ([IIILjava/util/function/IntBinaryOperator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // int[] array
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // java.util.function.IntBinaryOperator op
         0: .line 1754
            aload 3 /* op */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1755
            aload 0 /* array */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         2: .line 1756
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            if_icmpge 7
         3: .line 1757
            new java.util.ArrayPrefixHelpers$IntCumulateTask
            dup
         4: .line 1758
            aconst_null
            aload 3 /* op */
            aload 0 /* array */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
         5: .line 1757
            invokespecial java.util.ArrayPrefixHelpers$IntCumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$IntCumulateTask;Ljava/util/function/IntBinaryOperator;[III)V
         6: .line 1758
            invokevirtual java.util.ArrayPrefixHelpers$IntCumulateTask.invoke:()Ljava/lang/Object;
            pop
         7: .line 1759
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.function.IntBinaryOperator op
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // int[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0      array  [I
            0    8     1  fromIndex  I
            0    8     2    toIndex  I
            0    8     3         op  Ljava/util/function/IntBinaryOperator;
    MethodParameters:
           Name  Flags
      array      
      fromIndex  
      toIndex    
      op         

  public static int binarySearch(long[], long);
    descriptor: ([JJ)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // long[] a
        start local 1 // long key
         0: .line 1783
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            lload 1 /* key */
            invokestatic java.util.Arrays.binarySearch0:([JIIJ)I
            ireturn
        end local 1 // long key
        end local 0 // long[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  [J
            0    1     1   key  J
    MethodParameters:
      Name  Flags
      a     
      key   

  public static int binarySearch(long[], int, int, long);
    descriptor: ([JIIJ)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // long[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // long key
         0: .line 1820
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 1821
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            lload 3 /* key */
            invokestatic java.util.Arrays.binarySearch0:([JIIJ)I
            ireturn
        end local 3 // long key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // long[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0          a  [J
            0    2     1  fromIndex  I
            0    2     2    toIndex  I
            0    2     3        key  J
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        

  private static int binarySearch0(long[], int, int, long);
    descriptor: ([JIIJ)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // long[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // long key
         0: .line 1827
            iload 1 /* fromIndex */
            istore 5 /* low */
        start local 5 // int low
         1: .line 1828
            iload 2 /* toIndex */
            iconst_1
            isub
            istore 6 /* high */
        start local 6 // int high
         2: .line 1830
            goto 10
         3: .line 1831
      StackMap locals: int int
      StackMap stack:
            iload 5 /* low */
            iload 6 /* high */
            iadd
            iconst_1
            iushr
            istore 7 /* mid */
        start local 7 // int mid
         4: .line 1832
            aload 0 /* a */
            iload 7 /* mid */
            laload
            lstore 8 /* midVal */
        start local 8 // long midVal
         5: .line 1834
            lload 8 /* midVal */
            lload 3 /* key */
            lcmp
            ifge 7
         6: .line 1835
            iload 7 /* mid */
            iconst_1
            iadd
            istore 5 /* low */
            goto 10
         7: .line 1836
      StackMap locals: int long
      StackMap stack:
            lload 8 /* midVal */
            lload 3 /* key */
            lcmp
            ifle 9
         8: .line 1837
            iload 7 /* mid */
            iconst_1
            isub
            istore 6 /* high */
            goto 10
         9: .line 1839
      StackMap locals:
      StackMap stack:
            iload 7 /* mid */
            ireturn
        end local 8 // long midVal
        end local 7 // int mid
        10: .line 1830
      StackMap locals:
      StackMap stack:
            iload 5 /* low */
            iload 6 /* high */
            if_icmple 3
        11: .line 1841
            iload 5 /* low */
            iconst_1
            iadd
            ineg
            ireturn
        end local 6 // int high
        end local 5 // int low
        end local 3 // long key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // long[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0          a  [J
            0   12     1  fromIndex  I
            0   12     2    toIndex  I
            0   12     3        key  J
            1   12     5        low  I
            2   12     6       high  I
            4   10     7        mid  I
            5   10     8     midVal  J
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        

  public static int binarySearch(int[], int);
    descriptor: ([II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // int[] a
        start local 1 // int key
         0: .line 1864
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            iload 1 /* key */
            invokestatic java.util.Arrays.binarySearch0:([IIII)I
            ireturn
        end local 1 // int key
        end local 0 // int[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  [I
            0    1     1   key  I
    MethodParameters:
      Name  Flags
      a     
      key   

  public static int binarySearch(int[], int, int, int);
    descriptor: ([IIII)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // int[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // int key
         0: .line 1901
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 1902
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iload 3 /* key */
            invokestatic java.util.Arrays.binarySearch0:([IIII)I
            ireturn
        end local 3 // int key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // int[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0          a  [I
            0    2     1  fromIndex  I
            0    2     2    toIndex  I
            0    2     3        key  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        

  private static int binarySearch0(int[], int, int, int);
    descriptor: ([IIII)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=4
        start local 0 // int[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // int key
         0: .line 1908
            iload 1 /* fromIndex */
            istore 4 /* low */
        start local 4 // int low
         1: .line 1909
            iload 2 /* toIndex */
            iconst_1
            isub
            istore 5 /* high */
        start local 5 // int high
         2: .line 1911
            goto 10
         3: .line 1912
      StackMap locals: int int
      StackMap stack:
            iload 4 /* low */
            iload 5 /* high */
            iadd
            iconst_1
            iushr
            istore 6 /* mid */
        start local 6 // int mid
         4: .line 1913
            aload 0 /* a */
            iload 6 /* mid */
            iaload
            istore 7 /* midVal */
        start local 7 // int midVal
         5: .line 1915
            iload 7 /* midVal */
            iload 3 /* key */
            if_icmpge 7
         6: .line 1916
            iload 6 /* mid */
            iconst_1
            iadd
            istore 4 /* low */
            goto 10
         7: .line 1917
      StackMap locals: int int
      StackMap stack:
            iload 7 /* midVal */
            iload 3 /* key */
            if_icmple 9
         8: .line 1918
            iload 6 /* mid */
            iconst_1
            isub
            istore 5 /* high */
            goto 10
         9: .line 1920
      StackMap locals:
      StackMap stack:
            iload 6 /* mid */
            ireturn
        end local 7 // int midVal
        end local 6 // int mid
        10: .line 1911
      StackMap locals:
      StackMap stack:
            iload 4 /* low */
            iload 5 /* high */
            if_icmple 3
        11: .line 1922
            iload 4 /* low */
            iconst_1
            iadd
            ineg
            ireturn
        end local 5 // int high
        end local 4 // int low
        end local 3 // int key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // int[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0          a  [I
            0   12     1  fromIndex  I
            0   12     2    toIndex  I
            0   12     3        key  I
            1   12     4        low  I
            2   12     5       high  I
            4   10     6        mid  I
            5   10     7     midVal  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        

  public static int binarySearch(short[], short);
    descriptor: ([SS)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // short[] a
        start local 1 // short key
         0: .line 1945
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            iload 1 /* key */
            invokestatic java.util.Arrays.binarySearch0:([SIIS)I
            ireturn
        end local 1 // short key
        end local 0 // short[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  [S
            0    1     1   key  S
    MethodParameters:
      Name  Flags
      a     
      key   

  public static int binarySearch(short[], int, int, short);
    descriptor: ([SIIS)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // short[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // short key
         0: .line 1982
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 1983
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iload 3 /* key */
            invokestatic java.util.Arrays.binarySearch0:([SIIS)I
            ireturn
        end local 3 // short key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // short[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0          a  [S
            0    2     1  fromIndex  I
            0    2     2    toIndex  I
            0    2     3        key  S
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        

  private static int binarySearch0(short[], int, int, short);
    descriptor: ([SIIS)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=4
        start local 0 // short[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // short key
         0: .line 1989
            iload 1 /* fromIndex */
            istore 4 /* low */
        start local 4 // int low
         1: .line 1990
            iload 2 /* toIndex */
            iconst_1
            isub
            istore 5 /* high */
        start local 5 // int high
         2: .line 1992
            goto 10
         3: .line 1993
      StackMap locals: int int
      StackMap stack:
            iload 4 /* low */
            iload 5 /* high */
            iadd
            iconst_1
            iushr
            istore 6 /* mid */
        start local 6 // int mid
         4: .line 1994
            aload 0 /* a */
            iload 6 /* mid */
            saload
            istore 7 /* midVal */
        start local 7 // short midVal
         5: .line 1996
            iload 7 /* midVal */
            iload 3 /* key */
            if_icmpge 7
         6: .line 1997
            iload 6 /* mid */
            iconst_1
            iadd
            istore 4 /* low */
            goto 10
         7: .line 1998
      StackMap locals: int int
      StackMap stack:
            iload 7 /* midVal */
            iload 3 /* key */
            if_icmple 9
         8: .line 1999
            iload 6 /* mid */
            iconst_1
            isub
            istore 5 /* high */
            goto 10
         9: .line 2001
      StackMap locals:
      StackMap stack:
            iload 6 /* mid */
            ireturn
        end local 7 // short midVal
        end local 6 // int mid
        10: .line 1992
      StackMap locals:
      StackMap stack:
            iload 4 /* low */
            iload 5 /* high */
            if_icmple 3
        11: .line 2003
            iload 4 /* low */
            iconst_1
            iadd
            ineg
            ireturn
        end local 5 // int high
        end local 4 // int low
        end local 3 // short key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // short[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0          a  [S
            0   12     1  fromIndex  I
            0   12     2    toIndex  I
            0   12     3        key  S
            1   12     4        low  I
            2   12     5       high  I
            4   10     6        mid  I
            5   10     7     midVal  S
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        

  public static int binarySearch(char[], char);
    descriptor: ([CC)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // char[] a
        start local 1 // char key
         0: .line 2026
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            iload 1 /* key */
            invokestatic java.util.Arrays.binarySearch0:([CIIC)I
            ireturn
        end local 1 // char key
        end local 0 // char[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  [C
            0    1     1   key  C
    MethodParameters:
      Name  Flags
      a     
      key   

  public static int binarySearch(char[], int, int, char);
    descriptor: ([CIIC)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // char[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // char key
         0: .line 2063
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 2064
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iload 3 /* key */
            invokestatic java.util.Arrays.binarySearch0:([CIIC)I
            ireturn
        end local 3 // char key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // char[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0          a  [C
            0    2     1  fromIndex  I
            0    2     2    toIndex  I
            0    2     3        key  C
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        

  private static int binarySearch0(char[], int, int, char);
    descriptor: ([CIIC)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=4
        start local 0 // char[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // char key
         0: .line 2070
            iload 1 /* fromIndex */
            istore 4 /* low */
        start local 4 // int low
         1: .line 2071
            iload 2 /* toIndex */
            iconst_1
            isub
            istore 5 /* high */
        start local 5 // int high
         2: .line 2073
            goto 10
         3: .line 2074
      StackMap locals: int int
      StackMap stack:
            iload 4 /* low */
            iload 5 /* high */
            iadd
            iconst_1
            iushr
            istore 6 /* mid */
        start local 6 // int mid
         4: .line 2075
            aload 0 /* a */
            iload 6 /* mid */
            caload
            istore 7 /* midVal */
        start local 7 // char midVal
         5: .line 2077
            iload 7 /* midVal */
            iload 3 /* key */
            if_icmpge 7
         6: .line 2078
            iload 6 /* mid */
            iconst_1
            iadd
            istore 4 /* low */
            goto 10
         7: .line 2079
      StackMap locals: int int
      StackMap stack:
            iload 7 /* midVal */
            iload 3 /* key */
            if_icmple 9
         8: .line 2080
            iload 6 /* mid */
            iconst_1
            isub
            istore 5 /* high */
            goto 10
         9: .line 2082
      StackMap locals:
      StackMap stack:
            iload 6 /* mid */
            ireturn
        end local 7 // char midVal
        end local 6 // int mid
        10: .line 2073
      StackMap locals:
      StackMap stack:
            iload 4 /* low */
            iload 5 /* high */
            if_icmple 3
        11: .line 2084
            iload 4 /* low */
            iconst_1
            iadd
            ineg
            ireturn
        end local 5 // int high
        end local 4 // int low
        end local 3 // char key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // char[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0          a  [C
            0   12     1  fromIndex  I
            0   12     2    toIndex  I
            0   12     3        key  C
            1   12     4        low  I
            2   12     5       high  I
            4   10     6        mid  I
            5   10     7     midVal  C
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        

  public static int binarySearch(byte[], byte);
    descriptor: ([BB)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // byte[] a
        start local 1 // byte key
         0: .line 2107
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            iload 1 /* key */
            invokestatic java.util.Arrays.binarySearch0:([BIIB)I
            ireturn
        end local 1 // byte key
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  [B
            0    1     1   key  B
    MethodParameters:
      Name  Flags
      a     
      key   

  public static int binarySearch(byte[], int, int, byte);
    descriptor: ([BIIB)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // byte[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // byte key
         0: .line 2144
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 2145
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iload 3 /* key */
            invokestatic java.util.Arrays.binarySearch0:([BIIB)I
            ireturn
        end local 3 // byte key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0          a  [B
            0    2     1  fromIndex  I
            0    2     2    toIndex  I
            0    2     3        key  B
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        

  private static int binarySearch0(byte[], int, int, byte);
    descriptor: ([BIIB)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=4
        start local 0 // byte[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // byte key
         0: .line 2151
            iload 1 /* fromIndex */
            istore 4 /* low */
        start local 4 // int low
         1: .line 2152
            iload 2 /* toIndex */
            iconst_1
            isub
            istore 5 /* high */
        start local 5 // int high
         2: .line 2154
            goto 10
         3: .line 2155
      StackMap locals: int int
      StackMap stack:
            iload 4 /* low */
            iload 5 /* high */
            iadd
            iconst_1
            iushr
            istore 6 /* mid */
        start local 6 // int mid
         4: .line 2156
            aload 0 /* a */
            iload 6 /* mid */
            baload
            istore 7 /* midVal */
        start local 7 // byte midVal
         5: .line 2158
            iload 7 /* midVal */
            iload 3 /* key */
            if_icmpge 7
         6: .line 2159
            iload 6 /* mid */
            iconst_1
            iadd
            istore 4 /* low */
            goto 10
         7: .line 2160
      StackMap locals: int int
      StackMap stack:
            iload 7 /* midVal */
            iload 3 /* key */
            if_icmple 9
         8: .line 2161
            iload 6 /* mid */
            iconst_1
            isub
            istore 5 /* high */
            goto 10
         9: .line 2163
      StackMap locals:
      StackMap stack:
            iload 6 /* mid */
            ireturn
        end local 7 // byte midVal
        end local 6 // int mid
        10: .line 2154
      StackMap locals:
      StackMap stack:
            iload 4 /* low */
            iload 5 /* high */
            if_icmple 3
        11: .line 2165
            iload 4 /* low */
            iconst_1
            iadd
            ineg
            ireturn
        end local 5 // int high
        end local 4 // int low
        end local 3 // byte key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0          a  [B
            0   12     1  fromIndex  I
            0   12     2    toIndex  I
            0   12     3        key  B
            1   12     4        low  I
            2   12     5       high  I
            4   10     6        mid  I
            5   10     7     midVal  B
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        

  public static int binarySearch(double[], double);
    descriptor: ([DD)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // double[] a
        start local 1 // double key
         0: .line 2189
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            dload 1 /* key */
            invokestatic java.util.Arrays.binarySearch0:([DIID)I
            ireturn
        end local 1 // double key
        end local 0 // double[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  [D
            0    1     1   key  D
    MethodParameters:
      Name  Flags
      a     
      key   

  public static int binarySearch(double[], int, int, double);
    descriptor: ([DIID)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // double[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // double key
         0: .line 2227
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 2228
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            dload 3 /* key */
            invokestatic java.util.Arrays.binarySearch0:([DIID)I
            ireturn
        end local 3 // double key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // double[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0          a  [D
            0    2     1  fromIndex  I
            0    2     2    toIndex  I
            0    2     3        key  D
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        

  private static int binarySearch0(double[], int, int, double);
    descriptor: ([DIID)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=14, args_size=4
        start local 0 // double[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // double key
         0: .line 2234
            iload 1 /* fromIndex */
            istore 5 /* low */
        start local 5 // int low
         1: .line 2235
            iload 2 /* toIndex */
            iconst_1
            isub
            istore 6 /* high */
        start local 6 // int high
         2: .line 2237
            goto 16
         3: .line 2238
      StackMap locals: int int
      StackMap stack:
            iload 5 /* low */
            iload 6 /* high */
            iadd
            iconst_1
            iushr
            istore 7 /* mid */
        start local 7 // int mid
         4: .line 2239
            aload 0 /* a */
            iload 7 /* mid */
            daload
            dstore 8 /* midVal */
        start local 8 // double midVal
         5: .line 2241
            dload 8 /* midVal */
            dload 3 /* key */
            dcmpg
            ifge 7
         6: .line 2242
            iload 7 /* mid */
            iconst_1
            iadd
            istore 5 /* low */
            goto 16
         7: .line 2243
      StackMap locals: int double
      StackMap stack:
            dload 8 /* midVal */
            dload 3 /* key */
            dcmpl
            ifle 9
         8: .line 2244
            iload 7 /* mid */
            iconst_1
            isub
            istore 6 /* high */
            goto 16
         9: .line 2246
      StackMap locals:
      StackMap stack:
            dload 8 /* midVal */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 10 /* midBits */
        start local 10 // long midBits
        10: .line 2247
            dload 3 /* key */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 12 /* keyBits */
        start local 12 // long keyBits
        11: .line 2248
            lload 10 /* midBits */
            lload 12 /* keyBits */
            lcmp
            ifne 13
        12: .line 2249
            iload 7 /* mid */
            ireturn
        13: .line 2250
      StackMap locals: long long
      StackMap stack:
            lload 10 /* midBits */
            lload 12 /* keyBits */
            lcmp
            ifge 15
        14: .line 2251
            iload 7 /* mid */
            iconst_1
            iadd
            istore 5 /* low */
            goto 16
        15: .line 2253
      StackMap locals:
      StackMap stack:
            iload 7 /* mid */
            iconst_1
            isub
            istore 6 /* high */
        end local 12 // long keyBits
        end local 10 // long midBits
        end local 8 // double midVal
        end local 7 // int mid
        16: .line 2237
      StackMap locals: double[] int int double int int
      StackMap stack:
            iload 5 /* low */
            iload 6 /* high */
            if_icmple 3
        17: .line 2256
            iload 5 /* low */
            iconst_1
            iadd
            ineg
            ireturn
        end local 6 // int high
        end local 5 // int low
        end local 3 // double key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // double[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0          a  [D
            0   18     1  fromIndex  I
            0   18     2    toIndex  I
            0   18     3        key  D
            1   18     5        low  I
            2   18     6       high  I
            4   16     7        mid  I
            5   16     8     midVal  D
           10   16    10    midBits  J
           11   16    12    keyBits  J
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        

  public static int binarySearch(float[], float);
    descriptor: ([FF)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // float[] a
        start local 1 // float key
         0: .line 2280
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            fload 1 /* key */
            invokestatic java.util.Arrays.binarySearch0:([FIIF)I
            ireturn
        end local 1 // float key
        end local 0 // float[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  [F
            0    1     1   key  F
    MethodParameters:
      Name  Flags
      a     
      key   

  public static int binarySearch(float[], int, int, float);
    descriptor: ([FIIF)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // float[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // float key
         0: .line 2318
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 2319
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            fload 3 /* key */
            invokestatic java.util.Arrays.binarySearch0:([FIIF)I
            ireturn
        end local 3 // float key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // float[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0          a  [F
            0    2     1  fromIndex  I
            0    2     2    toIndex  I
            0    2     3        key  F
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        

  private static int binarySearch0(float[], int, int, float);
    descriptor: ([FIIF)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=10, args_size=4
        start local 0 // float[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // float key
         0: .line 2325
            iload 1 /* fromIndex */
            istore 4 /* low */
        start local 4 // int low
         1: .line 2326
            iload 2 /* toIndex */
            iconst_1
            isub
            istore 5 /* high */
        start local 5 // int high
         2: .line 2328
            goto 16
         3: .line 2329
      StackMap locals: int int
      StackMap stack:
            iload 4 /* low */
            iload 5 /* high */
            iadd
            iconst_1
            iushr
            istore 6 /* mid */
        start local 6 // int mid
         4: .line 2330
            aload 0 /* a */
            iload 6 /* mid */
            faload
            fstore 7 /* midVal */
        start local 7 // float midVal
         5: .line 2332
            fload 7 /* midVal */
            fload 3 /* key */
            fcmpg
            ifge 7
         6: .line 2333
            iload 6 /* mid */
            iconst_1
            iadd
            istore 4 /* low */
            goto 16
         7: .line 2334
      StackMap locals: int float
      StackMap stack:
            fload 7 /* midVal */
            fload 3 /* key */
            fcmpl
            ifle 9
         8: .line 2335
            iload 6 /* mid */
            iconst_1
            isub
            istore 5 /* high */
            goto 16
         9: .line 2337
      StackMap locals:
      StackMap stack:
            fload 7 /* midVal */
            invokestatic java.lang.Float.floatToIntBits:(F)I
            istore 8 /* midBits */
        start local 8 // int midBits
        10: .line 2338
            fload 3 /* key */
            invokestatic java.lang.Float.floatToIntBits:(F)I
            istore 9 /* keyBits */
        start local 9 // int keyBits
        11: .line 2339
            iload 8 /* midBits */
            iload 9 /* keyBits */
            if_icmpne 13
        12: .line 2340
            iload 6 /* mid */
            ireturn
        13: .line 2341
      StackMap locals: int int
      StackMap stack:
            iload 8 /* midBits */
            iload 9 /* keyBits */
            if_icmpge 15
        14: .line 2342
            iload 6 /* mid */
            iconst_1
            iadd
            istore 4 /* low */
            goto 16
        15: .line 2344
      StackMap locals:
      StackMap stack:
            iload 6 /* mid */
            iconst_1
            isub
            istore 5 /* high */
        end local 9 // int keyBits
        end local 8 // int midBits
        end local 7 // float midVal
        end local 6 // int mid
        16: .line 2328
      StackMap locals: float[] int int float int int
      StackMap stack:
            iload 4 /* low */
            iload 5 /* high */
            if_icmple 3
        17: .line 2347
            iload 4 /* low */
            iconst_1
            iadd
            ineg
            ireturn
        end local 5 // int high
        end local 4 // int low
        end local 3 // float key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // float[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0          a  [F
            0   18     1  fromIndex  I
            0   18     2    toIndex  I
            0   18     3        key  F
            1   18     4        low  I
            2   18     5       high  I
            4   16     6        mid  I
            5   16     7     midVal  F
           10   16     8    midBits  I
           11   16     9    keyBits  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        

  public static int binarySearch(java.lang.Object[], java.lang.Object);
    descriptor: ([Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Object[] a
        start local 1 // java.lang.Object key
         0: .line 2379
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            aload 1 /* key */
            invokestatic java.util.Arrays.binarySearch0:([Ljava/lang/Object;IILjava/lang/Object;)I
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  [Ljava/lang/Object;
            0    1     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a     
      key   

  public static int binarySearch(java.lang.Object[], int, int, java.lang.Object);
    descriptor: ([Ljava/lang/Object;IILjava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.Object[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // java.lang.Object key
         0: .line 2424
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 2425
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            aload 3 /* key */
            invokestatic java.util.Arrays.binarySearch0:([Ljava/lang/Object;IILjava/lang/Object;)I
            ireturn
        end local 3 // java.lang.Object key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0          a  [Ljava/lang/Object;
            0    2     1  fromIndex  I
            0    2     2    toIndex  I
            0    2     3        key  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        

  private static int binarySearch0(java.lang.Object[], int, int, java.lang.Object);
    descriptor: ([Ljava/lang/Object;IILjava/lang/Object;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=9, args_size=4
        start local 0 // java.lang.Object[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // java.lang.Object key
         0: .line 2431
            iload 1 /* fromIndex */
            istore 4 /* low */
        start local 4 // int low
         1: .line 2432
            iload 2 /* toIndex */
            iconst_1
            isub
            istore 5 /* high */
        start local 5 // int high
         2: .line 2434
            goto 11
         3: .line 2435
      StackMap locals: int int
      StackMap stack:
            iload 4 /* low */
            iload 5 /* high */
            iadd
            iconst_1
            iushr
            istore 6 /* mid */
        start local 6 // int mid
         4: .line 2437
            aload 0 /* a */
            iload 6 /* mid */
            aaload
            checkcast java.lang.Comparable
            astore 7 /* midVal */
        start local 7 // java.lang.Comparable midVal
         5: .line 2439
            aload 7 /* midVal */
            aload 3 /* key */
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            istore 8 /* cmp */
        start local 8 // int cmp
         6: .line 2441
            iload 8 /* cmp */
            ifge 8
         7: .line 2442
            iload 6 /* mid */
            iconst_1
            iadd
            istore 4 /* low */
            goto 11
         8: .line 2443
      StackMap locals: int java.lang.Comparable int
      StackMap stack:
            iload 8 /* cmp */
            ifle 10
         9: .line 2444
            iload 6 /* mid */
            iconst_1
            isub
            istore 5 /* high */
            goto 11
        10: .line 2446
      StackMap locals:
      StackMap stack:
            iload 6 /* mid */
            ireturn
        end local 8 // int cmp
        end local 7 // java.lang.Comparable midVal
        end local 6 // int mid
        11: .line 2434
      StackMap locals:
      StackMap stack:
            iload 4 /* low */
            iload 5 /* high */
            if_icmple 3
        12: .line 2448
            iload 4 /* low */
            iconst_1
            iadd
            ineg
            ireturn
        end local 5 // int high
        end local 4 // int low
        end local 3 // java.lang.Object key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0          a  [Ljava/lang/Object;
            0   13     1  fromIndex  I
            0   13     2    toIndex  I
            0   13     3        key  Ljava/lang/Object;
            1   13     4        low  I
            2   13     5       high  I
            4   11     6        mid  I
            5   11     7     midVal  Ljava/lang/Comparable;
            6   11     8        cmp  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        

  public static <T> int binarySearch(T[], T, java.util.Comparator<? super T>);
    descriptor: ([Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Comparator;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.Object[] a
        start local 1 // java.lang.Object key
        start local 2 // java.util.Comparator c
         0: .line 2482
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            aload 1 /* key */
            aload 2 /* c */
            invokestatic java.util.Arrays.binarySearch0:([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I
            ireturn
        end local 2 // java.util.Comparator c
        end local 1 // java.lang.Object key
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  [Ljava/lang/Object;
            0    1     1   key  TT;
            0    1     2     c  Ljava/util/Comparator<-TT;>;
    Signature: <T:Ljava/lang/Object;>([TT;TT;Ljava/util/Comparator<-TT;>;)I
    MethodParameters:
      Name  Flags
      a     
      key   
      c     

  public static <T> int binarySearch(T[], int, int, T, java.util.Comparator<? super T>);
    descriptor: ([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // java.lang.Object[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // java.lang.Object key
        start local 4 // java.util.Comparator c
         0: .line 2529
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 2530
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            aload 3 /* key */
            aload 4 /* c */
            invokestatic java.util.Arrays.binarySearch0:([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I
            ireturn
        end local 4 // java.util.Comparator c
        end local 3 // java.lang.Object key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0          a  [Ljava/lang/Object;
            0    2     1  fromIndex  I
            0    2     2    toIndex  I
            0    2     3        key  TT;
            0    2     4          c  Ljava/util/Comparator<-TT;>;
    Signature: <T:Ljava/lang/Object;>([TT;IITT;Ljava/util/Comparator<-TT;>;)I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        
      c          

  private static <T> int binarySearch0(T[], int, int, T, java.util.Comparator<? super T>);
    descriptor: ([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=5
        start local 0 // java.lang.Object[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // java.lang.Object key
        start local 4 // java.util.Comparator c
         0: .line 2536
            aload 4 /* c */
            ifnonnull 2
         1: .line 2537
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            aload 3 /* key */
            invokestatic java.util.Arrays.binarySearch0:([Ljava/lang/Object;IILjava/lang/Object;)I
            ireturn
         2: .line 2539
      StackMap locals:
      StackMap stack:
            iload 1 /* fromIndex */
            istore 5 /* low */
        start local 5 // int low
         3: .line 2540
            iload 2 /* toIndex */
            iconst_1
            isub
            istore 6 /* high */
        start local 6 // int high
         4: .line 2542
            goto 13
         5: .line 2543
      StackMap locals: int int
      StackMap stack:
            iload 5 /* low */
            iload 6 /* high */
            iadd
            iconst_1
            iushr
            istore 7 /* mid */
        start local 7 // int mid
         6: .line 2544
            aload 0 /* a */
            iload 7 /* mid */
            aaload
            astore 8 /* midVal */
        start local 8 // java.lang.Object midVal
         7: .line 2545
            aload 4 /* c */
            aload 8 /* midVal */
            aload 3 /* key */
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            istore 9 /* cmp */
        start local 9 // int cmp
         8: .line 2546
            iload 9 /* cmp */
            ifge 10
         9: .line 2547
            iload 7 /* mid */
            iconst_1
            iadd
            istore 5 /* low */
            goto 13
        10: .line 2548
      StackMap locals: int java.lang.Object int
      StackMap stack:
            iload 9 /* cmp */
            ifle 12
        11: .line 2549
            iload 7 /* mid */
            iconst_1
            isub
            istore 6 /* high */
            goto 13
        12: .line 2551
      StackMap locals:
      StackMap stack:
            iload 7 /* mid */
            ireturn
        end local 9 // int cmp
        end local 8 // java.lang.Object midVal
        end local 7 // int mid
        13: .line 2542
      StackMap locals:
      StackMap stack:
            iload 5 /* low */
            iload 6 /* high */
            if_icmple 5
        14: .line 2553
            iload 5 /* low */
            iconst_1
            iadd
            ineg
            ireturn
        end local 6 // int high
        end local 5 // int low
        end local 4 // java.util.Comparator c
        end local 3 // java.lang.Object key
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0          a  [Ljava/lang/Object;
            0   15     1  fromIndex  I
            0   15     2    toIndex  I
            0   15     3        key  TT;
            0   15     4          c  Ljava/util/Comparator<-TT;>;
            3   15     5        low  I
            4   15     6       high  I
            6   13     7        mid  I
            7   13     8     midVal  TT;
            8   13     9        cmp  I
    Signature: <T:Ljava/lang/Object;>([TT;IITT;Ljava/util/Comparator<-TT;>;)I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      key        
      c          

  public static boolean equals(long[], long[]);
    descriptor: ([J[J)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // long[] a
        start local 1 // long[] a2
         0: .line 2571
            aload 0 /* a */
            aload 1 /* a2 */
            if_acmpne 2
         1: .line 2572
            iconst_1
            ireturn
         2: .line 2573
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 3
            aload 1 /* a2 */
            ifnonnull 4
         3: .line 2574
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 2576
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         5: .line 2577
            aload 1 /* a2 */
            arraylength
            iload 2 /* length */
            if_icmpeq 7
         6: .line 2578
            iconst_0
            ireturn
         7: .line 2580
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 2581
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            laload
            aload 1 /* a2 */
            iload 3 /* i */
            laload
            lcmp
            ifeq 11
        10: .line 2582
            iconst_0
            ireturn
        11: .line 2580
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 9
        end local 3 // int i
        13: .line 2584
            iconst_1
            ireturn
        end local 2 // int length
        end local 1 // long[] a2
        end local 0 // long[] a
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0       a  [J
            0   14     1      a2  [J
            5   14     2  length  I
            8   13     3       i  I
    MethodParameters:
      Name  Flags
      a     
      a2    

  public static boolean equals(int[], int[]);
    descriptor: ([I[I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // int[] a
        start local 1 // int[] a2
         0: .line 2600
            aload 0 /* a */
            aload 1 /* a2 */
            if_acmpne 2
         1: .line 2601
            iconst_1
            ireturn
         2: .line 2602
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 3
            aload 1 /* a2 */
            ifnonnull 4
         3: .line 2603
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 2605
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         5: .line 2606
            aload 1 /* a2 */
            arraylength
            iload 2 /* length */
            if_icmpeq 7
         6: .line 2607
            iconst_0
            ireturn
         7: .line 2609
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 2610
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            iaload
            aload 1 /* a2 */
            iload 3 /* i */
            iaload
            if_icmpeq 11
        10: .line 2611
            iconst_0
            ireturn
        11: .line 2609
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 9
        end local 3 // int i
        13: .line 2613
            iconst_1
            ireturn
        end local 2 // int length
        end local 1 // int[] a2
        end local 0 // int[] a
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0       a  [I
            0   14     1      a2  [I
            5   14     2  length  I
            8   13     3       i  I
    MethodParameters:
      Name  Flags
      a     
      a2    

  public static boolean equals(short[], short[]);
    descriptor: ([S[S)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // short[] a
        start local 1 // short[] a2
         0: .line 2629
            aload 0 /* a */
            aload 1 /* a2 */
            if_acmpne 2
         1: .line 2630
            iconst_1
            ireturn
         2: .line 2631
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 3
            aload 1 /* a2 */
            ifnonnull 4
         3: .line 2632
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 2634
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         5: .line 2635
            aload 1 /* a2 */
            arraylength
            iload 2 /* length */
            if_icmpeq 7
         6: .line 2636
            iconst_0
            ireturn
         7: .line 2638
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 2639
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            saload
            aload 1 /* a2 */
            iload 3 /* i */
            saload
            if_icmpeq 11
        10: .line 2640
            iconst_0
            ireturn
        11: .line 2638
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 9
        end local 3 // int i
        13: .line 2642
            iconst_1
            ireturn
        end local 2 // int length
        end local 1 // short[] a2
        end local 0 // short[] a
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0       a  [S
            0   14     1      a2  [S
            5   14     2  length  I
            8   13     3       i  I
    MethodParameters:
      Name  Flags
      a     
      a2    

  public static boolean equals(char[], char[]);
    descriptor: ([C[C)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // char[] a
        start local 1 // char[] a2
         0: .line 2658
            aload 0 /* a */
            aload 1 /* a2 */
            if_acmpne 2
         1: .line 2659
            iconst_1
            ireturn
         2: .line 2660
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 3
            aload 1 /* a2 */
            ifnonnull 4
         3: .line 2661
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 2663
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         5: .line 2664
            aload 1 /* a2 */
            arraylength
            iload 2 /* length */
            if_icmpeq 7
         6: .line 2665
            iconst_0
            ireturn
         7: .line 2667
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 2668
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            caload
            aload 1 /* a2 */
            iload 3 /* i */
            caload
            if_icmpeq 11
        10: .line 2669
            iconst_0
            ireturn
        11: .line 2667
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 9
        end local 3 // int i
        13: .line 2671
            iconst_1
            ireturn
        end local 2 // int length
        end local 1 // char[] a2
        end local 0 // char[] a
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0       a  [C
            0   14     1      a2  [C
            5   14     2  length  I
            8   13     3       i  I
    MethodParameters:
      Name  Flags
      a     
      a2    

  public static boolean equals(byte[], byte[]);
    descriptor: ([B[B)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // byte[] a
        start local 1 // byte[] a2
         0: .line 2687
            aload 0 /* a */
            aload 1 /* a2 */
            if_acmpne 2
         1: .line 2688
            iconst_1
            ireturn
         2: .line 2689
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 3
            aload 1 /* a2 */
            ifnonnull 4
         3: .line 2690
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 2692
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         5: .line 2693
            aload 1 /* a2 */
            arraylength
            iload 2 /* length */
            if_icmpeq 7
         6: .line 2694
            iconst_0
            ireturn
         7: .line 2696
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 2697
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            baload
            aload 1 /* a2 */
            iload 3 /* i */
            baload
            if_icmpeq 11
        10: .line 2698
            iconst_0
            ireturn
        11: .line 2696
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 9
        end local 3 // int i
        13: .line 2700
            iconst_1
            ireturn
        end local 2 // int length
        end local 1 // byte[] a2
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0       a  [B
            0   14     1      a2  [B
            5   14     2  length  I
            8   13     3       i  I
    MethodParameters:
      Name  Flags
      a     
      a2    

  public static boolean equals(boolean[], boolean[]);
    descriptor: ([Z[Z)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // boolean[] a
        start local 1 // boolean[] a2
         0: .line 2716
            aload 0 /* a */
            aload 1 /* a2 */
            if_acmpne 2
         1: .line 2717
            iconst_1
            ireturn
         2: .line 2718
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 3
            aload 1 /* a2 */
            ifnonnull 4
         3: .line 2719
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 2721
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         5: .line 2722
            aload 1 /* a2 */
            arraylength
            iload 2 /* length */
            if_icmpeq 7
         6: .line 2723
            iconst_0
            ireturn
         7: .line 2725
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 2726
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            baload
            aload 1 /* a2 */
            iload 3 /* i */
            baload
            if_icmpeq 11
        10: .line 2727
            iconst_0
            ireturn
        11: .line 2725
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 9
        end local 3 // int i
        13: .line 2729
            iconst_1
            ireturn
        end local 2 // int length
        end local 1 // boolean[] a2
        end local 0 // boolean[] a
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0       a  [Z
            0   14     1      a2  [Z
            5   14     2  length  I
            8   13     3       i  I
    MethodParameters:
      Name  Flags
      a     
      a2    

  public static boolean equals(double[], double[]);
    descriptor: ([D[D)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // double[] a
        start local 1 // double[] a2
         0: .line 2751
            aload 0 /* a */
            aload 1 /* a2 */
            if_acmpne 2
         1: .line 2752
            iconst_1
            ireturn
         2: .line 2753
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 3
            aload 1 /* a2 */
            ifnonnull 4
         3: .line 2754
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 2756
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         5: .line 2757
            aload 1 /* a2 */
            arraylength
            iload 2 /* length */
            if_icmpeq 7
         6: .line 2758
            iconst_0
            ireturn
         7: .line 2760
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 2761
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            daload
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            aload 1 /* a2 */
            iload 3 /* i */
            daload
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lcmp
            ifeq 11
        10: .line 2762
            iconst_0
            ireturn
        11: .line 2760
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 9
        end local 3 // int i
        13: .line 2764
            iconst_1
            ireturn
        end local 2 // int length
        end local 1 // double[] a2
        end local 0 // double[] a
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0       a  [D
            0   14     1      a2  [D
            5   14     2  length  I
            8   13     3       i  I
    MethodParameters:
      Name  Flags
      a     
      a2    

  public static boolean equals(float[], float[]);
    descriptor: ([F[F)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // float[] a
        start local 1 // float[] a2
         0: .line 2786
            aload 0 /* a */
            aload 1 /* a2 */
            if_acmpne 2
         1: .line 2787
            iconst_1
            ireturn
         2: .line 2788
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 3
            aload 1 /* a2 */
            ifnonnull 4
         3: .line 2789
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 2791
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         5: .line 2792
            aload 1 /* a2 */
            arraylength
            iload 2 /* length */
            if_icmpeq 7
         6: .line 2793
            iconst_0
            ireturn
         7: .line 2795
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 12
         9: .line 2796
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            faload
            invokestatic java.lang.Float.floatToIntBits:(F)I
            aload 1 /* a2 */
            iload 3 /* i */
            faload
            invokestatic java.lang.Float.floatToIntBits:(F)I
            if_icmpeq 11
        10: .line 2797
            iconst_0
            ireturn
        11: .line 2795
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 9
        end local 3 // int i
        13: .line 2799
            iconst_1
            ireturn
        end local 2 // int length
        end local 1 // float[] a2
        end local 0 // float[] a
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0       a  [F
            0   14     1      a2  [F
            5   14     2  length  I
            8   13     3       i  I
    MethodParameters:
      Name  Flags
      a     
      a2    

  public static boolean equals(java.lang.Object[], java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.lang.Object[] a
        start local 1 // java.lang.Object[] a2
         0: .line 2817
            aload 0 /* a */
            aload 1 /* a2 */
            if_acmpne 2
         1: .line 2818
            iconst_1
            ireturn
         2: .line 2819
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            ifnull 3
            aload 1 /* a2 */
            ifnonnull 4
         3: .line 2820
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 2822
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         5: .line 2823
            aload 1 /* a2 */
            arraylength
            iload 2 /* length */
            if_icmpeq 7
         6: .line 2824
            iconst_0
            ireturn
         7: .line 2826
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 15
         9: .line 2827
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            aaload
            astore 4 /* o1 */
        start local 4 // java.lang.Object o1
        10: .line 2828
            aload 1 /* a2 */
            iload 3 /* i */
            aaload
            astore 5 /* o2 */
        start local 5 // java.lang.Object o2
        11: .line 2829
            aload 4 /* o1 */
            ifnonnull 12
            aload 5 /* o2 */
            ifnull 14
            goto 13
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
        12: aload 4 /* o1 */
            aload 5 /* o2 */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 14
        13: .line 2830
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // java.lang.Object o2
        end local 4 // java.lang.Object o1
        14: .line 2826
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 9
        end local 3 // int i
        16: .line 2833
            iconst_1
            ireturn
        end local 2 // int length
        end local 1 // java.lang.Object[] a2
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0       a  [Ljava/lang/Object;
            0   17     1      a2  [Ljava/lang/Object;
            5   17     2  length  I
            8   16     3       i  I
           10   14     4      o1  Ljava/lang/Object;
           11   14     5      o2  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a     
      a2    

  public static void fill(long[], long);
    descriptor: ([JJ)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // long[] a
        start local 1 // long val
         0: .line 2846
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: aload 0 /* a */
            arraylength
            istore 4 /* len */
        start local 4 // int len
         2: goto 5
         3: .line 2847
      StackMap locals: int int
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            lload 1 /* val */
            lastore
         4: .line 2846
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iload 4 /* len */
            if_icmplt 3
        end local 4 // int len
        end local 3 // int i
         6: .line 2848
            return
        end local 1 // long val
        end local 0 // long[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     a  [J
            0    7     1   val  J
            1    6     3     i  I
            2    6     4   len  I
    MethodParameters:
      Name  Flags
      a     
      val   

  public static void fill(long[], int, int, long);
    descriptor: ([JIIJ)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // long[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // long val
         0: .line 2868
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 2869
            iload 1 /* fromIndex */
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 2870
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 5 /* i */
            lload 3 /* val */
            lastore
         4: .line 2869
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            iload 2 /* toIndex */
            if_icmplt 3
        end local 5 // int i
         6: .line 2871
            return
        end local 3 // long val
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // long[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0          a  [J
            0    7     1  fromIndex  I
            0    7     2    toIndex  I
            0    7     3        val  J
            2    6     5          i  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      val        

  public static void fill(int[], int);
    descriptor: ([II)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // int[] a
        start local 1 // int val
         0: .line 2881
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: aload 0 /* a */
            arraylength
            istore 3 /* len */
        start local 3 // int len
         2: goto 5
         3: .line 2882
      StackMap locals: int int
      StackMap stack:
            aload 0 /* a */
            iload 2 /* i */
            iload 1 /* val */
            iastore
         4: .line 2881
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            iload 3 /* len */
            if_icmplt 3
        end local 3 // int len
        end local 2 // int i
         6: .line 2883
            return
        end local 1 // int val
        end local 0 // int[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     a  [I
            0    7     1   val  I
            1    6     2     i  I
            2    6     3   len  I
    MethodParameters:
      Name  Flags
      a     
      val   

  public static void fill(int[], int, int, int);
    descriptor: ([IIII)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // int[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // int val
         0: .line 2903
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 2904
            iload 1 /* fromIndex */
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 2905
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 4 /* i */
            iload 3 /* val */
            iastore
         4: .line 2904
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 2 /* toIndex */
            if_icmplt 3
        end local 4 // int i
         6: .line 2906
            return
        end local 3 // int val
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // int[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0          a  [I
            0    7     1  fromIndex  I
            0    7     2    toIndex  I
            0    7     3        val  I
            2    6     4          i  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      val        

  public static void fill(short[], short);
    descriptor: ([SS)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // short[] a
        start local 1 // short val
         0: .line 2916
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: aload 0 /* a */
            arraylength
            istore 3 /* len */
        start local 3 // int len
         2: goto 5
         3: .line 2917
      StackMap locals: int int
      StackMap stack:
            aload 0 /* a */
            iload 2 /* i */
            iload 1 /* val */
            sastore
         4: .line 2916
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            iload 3 /* len */
            if_icmplt 3
        end local 3 // int len
        end local 2 // int i
         6: .line 2918
            return
        end local 1 // short val
        end local 0 // short[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     a  [S
            0    7     1   val  S
            1    6     2     i  I
            2    6     3   len  I
    MethodParameters:
      Name  Flags
      a     
      val   

  public static void fill(short[], int, int, short);
    descriptor: ([SIIS)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // short[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // short val
         0: .line 2938
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 2939
            iload 1 /* fromIndex */
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 2940
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 4 /* i */
            iload 3 /* val */
            sastore
         4: .line 2939
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 2 /* toIndex */
            if_icmplt 3
        end local 4 // int i
         6: .line 2941
            return
        end local 3 // short val
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // short[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0          a  [S
            0    7     1  fromIndex  I
            0    7     2    toIndex  I
            0    7     3        val  S
            2    6     4          i  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      val        

  public static void fill(char[], char);
    descriptor: ([CC)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // char[] a
        start local 1 // char val
         0: .line 2951
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: aload 0 /* a */
            arraylength
            istore 3 /* len */
        start local 3 // int len
         2: goto 5
         3: .line 2952
      StackMap locals: int int
      StackMap stack:
            aload 0 /* a */
            iload 2 /* i */
            iload 1 /* val */
            castore
         4: .line 2951
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            iload 3 /* len */
            if_icmplt 3
        end local 3 // int len
        end local 2 // int i
         6: .line 2953
            return
        end local 1 // char val
        end local 0 // char[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     a  [C
            0    7     1   val  C
            1    6     2     i  I
            2    6     3   len  I
    MethodParameters:
      Name  Flags
      a     
      val   

  public static void fill(char[], int, int, char);
    descriptor: ([CIIC)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // char[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // char val
         0: .line 2973
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 2974
            iload 1 /* fromIndex */
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 2975
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 4 /* i */
            iload 3 /* val */
            castore
         4: .line 2974
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 2 /* toIndex */
            if_icmplt 3
        end local 4 // int i
         6: .line 2976
            return
        end local 3 // char val
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // char[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0          a  [C
            0    7     1  fromIndex  I
            0    7     2    toIndex  I
            0    7     3        val  C
            2    6     4          i  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      val        

  public static void fill(byte[], byte);
    descriptor: ([BB)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // byte[] a
        start local 1 // byte val
         0: .line 2986
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: aload 0 /* a */
            arraylength
            istore 3 /* len */
        start local 3 // int len
         2: goto 5
         3: .line 2987
      StackMap locals: int int
      StackMap stack:
            aload 0 /* a */
            iload 2 /* i */
            iload 1 /* val */
            bastore
         4: .line 2986
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            iload 3 /* len */
            if_icmplt 3
        end local 3 // int len
        end local 2 // int i
         6: .line 2988
            return
        end local 1 // byte val
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     a  [B
            0    7     1   val  B
            1    6     2     i  I
            2    6     3   len  I
    MethodParameters:
      Name  Flags
      a     
      val   

  public static void fill(byte[], int, int, byte);
    descriptor: ([BIIB)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // byte[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // byte val
         0: .line 3008
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 3009
            iload 1 /* fromIndex */
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 3010
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 4 /* i */
            iload 3 /* val */
            bastore
         4: .line 3009
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 2 /* toIndex */
            if_icmplt 3
        end local 4 // int i
         6: .line 3011
            return
        end local 3 // byte val
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0          a  [B
            0    7     1  fromIndex  I
            0    7     2    toIndex  I
            0    7     3        val  B
            2    6     4          i  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      val        

  public static void fill(boolean[], boolean);
    descriptor: ([ZZ)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // boolean[] a
        start local 1 // boolean val
         0: .line 3021
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: aload 0 /* a */
            arraylength
            istore 3 /* len */
        start local 3 // int len
         2: goto 5
         3: .line 3022
      StackMap locals: int int
      StackMap stack:
            aload 0 /* a */
            iload 2 /* i */
            iload 1 /* val */
            bastore
         4: .line 3021
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            iload 3 /* len */
            if_icmplt 3
        end local 3 // int len
        end local 2 // int i
         6: .line 3023
            return
        end local 1 // boolean val
        end local 0 // boolean[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     a  [Z
            0    7     1   val  Z
            1    6     2     i  I
            2    6     3   len  I
    MethodParameters:
      Name  Flags
      a     
      val   

  public static void fill(boolean[], int, int, boolean);
    descriptor: ([ZIIZ)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // boolean[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // boolean val
         0: .line 3044
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 3045
            iload 1 /* fromIndex */
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 3046
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 4 /* i */
            iload 3 /* val */
            bastore
         4: .line 3045
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 2 /* toIndex */
            if_icmplt 3
        end local 4 // int i
         6: .line 3047
            return
        end local 3 // boolean val
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // boolean[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0          a  [Z
            0    7     1  fromIndex  I
            0    7     2    toIndex  I
            0    7     3        val  Z
            2    6     4          i  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      val        

  public static void fill(double[], double);
    descriptor: ([DD)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // double[] a
        start local 1 // double val
         0: .line 3057
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: aload 0 /* a */
            arraylength
            istore 4 /* len */
        start local 4 // int len
         2: goto 5
         3: .line 3058
      StackMap locals: int int
      StackMap stack:
            aload 0 /* a */
            iload 3 /* i */
            dload 1 /* val */
            dastore
         4: .line 3057
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iload 4 /* len */
            if_icmplt 3
        end local 4 // int len
        end local 3 // int i
         6: .line 3059
            return
        end local 1 // double val
        end local 0 // double[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     a  [D
            0    7     1   val  D
            1    6     3     i  I
            2    6     4   len  I
    MethodParameters:
      Name  Flags
      a     
      val   

  public static void fill(double[], int, int, double);
    descriptor: ([DIID)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // double[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // double val
         0: .line 3079
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 3080
            iload 1 /* fromIndex */
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 3081
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 5 /* i */
            dload 3 /* val */
            dastore
         4: .line 3080
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            iload 2 /* toIndex */
            if_icmplt 3
        end local 5 // int i
         6: .line 3082
            return
        end local 3 // double val
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // double[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0          a  [D
            0    7     1  fromIndex  I
            0    7     2    toIndex  I
            0    7     3        val  D
            2    6     5          i  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      val        

  public static void fill(float[], float);
    descriptor: ([FF)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // float[] a
        start local 1 // float val
         0: .line 3092
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: aload 0 /* a */
            arraylength
            istore 3 /* len */
        start local 3 // int len
         2: goto 5
         3: .line 3093
      StackMap locals: int int
      StackMap stack:
            aload 0 /* a */
            iload 2 /* i */
            fload 1 /* val */
            fastore
         4: .line 3092
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            iload 3 /* len */
            if_icmplt 3
        end local 3 // int len
        end local 2 // int i
         6: .line 3094
            return
        end local 1 // float val
        end local 0 // float[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     a  [F
            0    7     1   val  F
            1    6     2     i  I
            2    6     3   len  I
    MethodParameters:
      Name  Flags
      a     
      val   

  public static void fill(float[], int, int, float);
    descriptor: ([FIIF)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // float[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // float val
         0: .line 3114
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 3115
            iload 1 /* fromIndex */
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 3116
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 4 /* i */
            fload 3 /* val */
            fastore
         4: .line 3115
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 2 /* toIndex */
            if_icmplt 3
        end local 4 // int i
         6: .line 3117
            return
        end local 3 // float val
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // float[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0          a  [F
            0    7     1  fromIndex  I
            0    7     2    toIndex  I
            0    7     3        val  F
            2    6     4          i  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      val        

  public static void fill(java.lang.Object[], java.lang.Object);
    descriptor: ([Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.Object[] a
        start local 1 // java.lang.Object val
         0: .line 3129
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: aload 0 /* a */
            arraylength
            istore 3 /* len */
        start local 3 // int len
         2: goto 5
         3: .line 3130
      StackMap locals: int int
      StackMap stack:
            aload 0 /* a */
            iload 2 /* i */
            aload 1 /* val */
            aastore
         4: .line 3129
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            iload 3 /* len */
            if_icmplt 3
        end local 3 // int len
        end local 2 // int i
         6: .line 3131
            return
        end local 1 // java.lang.Object val
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     a  [Ljava/lang/Object;
            0    7     1   val  Ljava/lang/Object;
            1    6     2     i  I
            2    6     3   len  I
    MethodParameters:
      Name  Flags
      a     
      val   

  public static void fill(java.lang.Object[], int, int, java.lang.Object);
    descriptor: ([Ljava/lang/Object;IILjava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // java.lang.Object[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // java.lang.Object val
         0: .line 3153
            aload 0 /* a */
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Arrays.rangeCheck:(III)V
         1: .line 3154
            iload 1 /* fromIndex */
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 3155
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 4 /* i */
            aload 3 /* val */
            aastore
         4: .line 3154
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 2 /* toIndex */
            if_icmplt 3
        end local 4 // int i
         6: .line 3156
            return
        end local 3 // java.lang.Object val
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0          a  [Ljava/lang/Object;
            0    7     1  fromIndex  I
            0    7     2    toIndex  I
            0    7     3        val  Ljava/lang/Object;
            2    6     4          i  I
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      val        

  public static <T> T[] copyOf(T[], );
    descriptor: ([Ljava/lang/Object;I)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object[] original
        start local 1 // int newLength
         0: .line 3181
            aload 0 /* original */
            iload 1 /* newLength */
            aload 0 /* original */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;ILjava/lang/Class;)[Ljava/lang/Object;
            areturn
        end local 1 // int newLength
        end local 0 // java.lang.Object[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0   original  [Ljava/lang/Object;
            0    1     1  newLength  I
    Signature: <T:Ljava/lang/Object;>([TT;I)[TT;
    MethodParameters:
           Name  Flags
      original   
      newLength  

  public static <T, U> T[] copyOf(U[], int, java.lang.Class<? extends T[]>);
    descriptor: ([Ljava/lang/Object;ILjava/lang/Class;)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // java.lang.Object[] original
        start local 1 // int newLength
        start local 2 // java.lang.Class newType
         0: .line 3210
            aload 2 /* newType */
            ldc [Ljava/lang/Object;
            if_acmpne 2
         1: .line 3211
            iload 1 /* newLength */
            anewarray java.lang.Object
            goto 3
         2: .line 3212
      StackMap locals:
      StackMap stack:
            aload 2 /* newType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            iload 1 /* newLength */
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.Object[]
         3: .line 3210
      StackMap locals:
      StackMap stack: java.lang.Object[]
            astore 3 /* copy */
        start local 3 // java.lang.Object[] copy
         4: .line 3213
            aload 0 /* original */
            iconst_0
            aload 3 /* copy */
            iconst_0
         5: .line 3214
            aload 0 /* original */
            arraylength
            iload 1 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         6: .line 3213
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 3215
            aload 3 /* copy */
            areturn
        end local 3 // java.lang.Object[] copy
        end local 2 // java.lang.Class newType
        end local 1 // int newLength
        end local 0 // java.lang.Object[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0   original  [Ljava/lang/Object;
            0    8     1  newLength  I
            0    8     2    newType  Ljava/lang/Class<+[TT;>;
            4    8     3       copy  [Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;U:Ljava/lang/Object;>([TU;ILjava/lang/Class<+[TT;>;)[TT;
    MethodParameters:
           Name  Flags
      original   
      newLength  
      newType    

  public static byte[] copyOf(byte[], int);
    descriptor: ([BI)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // byte[] original
        start local 1 // int newLength
         0: .line 3236
            iload 1 /* newLength */
            newarray 8
            astore 2 /* copy */
        start local 2 // byte[] copy
         1: .line 3237
            aload 0 /* original */
            iconst_0
            aload 2 /* copy */
            iconst_0
         2: .line 3238
            aload 0 /* original */
            arraylength
            iload 1 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         3: .line 3237
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 3239
            aload 2 /* copy */
            areturn
        end local 2 // byte[] copy
        end local 1 // int newLength
        end local 0 // byte[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0   original  [B
            0    5     1  newLength  I
            1    5     2       copy  [B
    MethodParameters:
           Name  Flags
      original   
      newLength  

  public static short[] copyOf(short[], int);
    descriptor: ([SI)[S
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // short[] original
        start local 1 // int newLength
         0: .line 3260
            iload 1 /* newLength */
            newarray 9
            astore 2 /* copy */
        start local 2 // short[] copy
         1: .line 3261
            aload 0 /* original */
            iconst_0
            aload 2 /* copy */
            iconst_0
         2: .line 3262
            aload 0 /* original */
            arraylength
            iload 1 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         3: .line 3261
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 3263
            aload 2 /* copy */
            areturn
        end local 2 // short[] copy
        end local 1 // int newLength
        end local 0 // short[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0   original  [S
            0    5     1  newLength  I
            1    5     2       copy  [S
    MethodParameters:
           Name  Flags
      original   
      newLength  

  public static int[] copyOf(int[], int);
    descriptor: ([II)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // int[] original
        start local 1 // int newLength
         0: .line 3284
            iload 1 /* newLength */
            newarray 10
            astore 2 /* copy */
        start local 2 // int[] copy
         1: .line 3285
            aload 0 /* original */
            iconst_0
            aload 2 /* copy */
            iconst_0
         2: .line 3286
            aload 0 /* original */
            arraylength
            iload 1 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         3: .line 3285
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 3287
            aload 2 /* copy */
            areturn
        end local 2 // int[] copy
        end local 1 // int newLength
        end local 0 // int[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0   original  [I
            0    5     1  newLength  I
            1    5     2       copy  [I
    MethodParameters:
           Name  Flags
      original   
      newLength  

  public static long[] copyOf(long[], int);
    descriptor: ([JI)[J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // long[] original
        start local 1 // int newLength
         0: .line 3308
            iload 1 /* newLength */
            newarray 11
            astore 2 /* copy */
        start local 2 // long[] copy
         1: .line 3309
            aload 0 /* original */
            iconst_0
            aload 2 /* copy */
            iconst_0
         2: .line 3310
            aload 0 /* original */
            arraylength
            iload 1 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         3: .line 3309
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 3311
            aload 2 /* copy */
            areturn
        end local 2 // long[] copy
        end local 1 // int newLength
        end local 0 // long[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0   original  [J
            0    5     1  newLength  I
            1    5     2       copy  [J
    MethodParameters:
           Name  Flags
      original   
      newLength  

  public static char[] copyOf(char[], int);
    descriptor: ([CI)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // char[] original
        start local 1 // int newLength
         0: .line 3332
            iload 1 /* newLength */
            newarray 5
            astore 2 /* copy */
        start local 2 // char[] copy
         1: .line 3333
            aload 0 /* original */
            iconst_0
            aload 2 /* copy */
            iconst_0
         2: .line 3334
            aload 0 /* original */
            arraylength
            iload 1 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         3: .line 3333
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 3335
            aload 2 /* copy */
            areturn
        end local 2 // char[] copy
        end local 1 // int newLength
        end local 0 // char[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0   original  [C
            0    5     1  newLength  I
            1    5     2       copy  [C
    MethodParameters:
           Name  Flags
      original   
      newLength  

  public static float[] copyOf(float[], int);
    descriptor: ([FI)[F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // float[] original
        start local 1 // int newLength
         0: .line 3356
            iload 1 /* newLength */
            newarray 6
            astore 2 /* copy */
        start local 2 // float[] copy
         1: .line 3357
            aload 0 /* original */
            iconst_0
            aload 2 /* copy */
            iconst_0
         2: .line 3358
            aload 0 /* original */
            arraylength
            iload 1 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         3: .line 3357
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 3359
            aload 2 /* copy */
            areturn
        end local 2 // float[] copy
        end local 1 // int newLength
        end local 0 // float[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0   original  [F
            0    5     1  newLength  I
            1    5     2       copy  [F
    MethodParameters:
           Name  Flags
      original   
      newLength  

  public static double[] copyOf(double[], int);
    descriptor: ([DI)[D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // double[] original
        start local 1 // int newLength
         0: .line 3380
            iload 1 /* newLength */
            newarray 7
            astore 2 /* copy */
        start local 2 // double[] copy
         1: .line 3381
            aload 0 /* original */
            iconst_0
            aload 2 /* copy */
            iconst_0
         2: .line 3382
            aload 0 /* original */
            arraylength
            iload 1 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         3: .line 3381
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 3383
            aload 2 /* copy */
            areturn
        end local 2 // double[] copy
        end local 1 // int newLength
        end local 0 // double[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0   original  [D
            0    5     1  newLength  I
            1    5     2       copy  [D
    MethodParameters:
           Name  Flags
      original   
      newLength  

  public static boolean[] copyOf(boolean[], int);
    descriptor: ([ZI)[Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // boolean[] original
        start local 1 // int newLength
         0: .line 3404
            iload 1 /* newLength */
            newarray 4
            astore 2 /* copy */
        start local 2 // boolean[] copy
         1: .line 3405
            aload 0 /* original */
            iconst_0
            aload 2 /* copy */
            iconst_0
         2: .line 3406
            aload 0 /* original */
            arraylength
            iload 1 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         3: .line 3405
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 3407
            aload 2 /* copy */
            areturn
        end local 2 // boolean[] copy
        end local 1 // int newLength
        end local 0 // boolean[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0   original  [Z
            0    5     1  newLength  I
            1    5     2       copy  [Z
    MethodParameters:
           Name  Flags
      original   
      newLength  

  public static <T> T[] copyOfRange(T[], int, );
    descriptor: ([Ljava/lang/Object;II)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.Object[] original
        start local 1 // int from
        start local 2 // int to
         0: .line 3441
            aload 0 /* original */
            iload 1 /* from */
            iload 2 /* to */
            aload 0 /* original */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;
            areturn
        end local 2 // int to
        end local 1 // int from
        end local 0 // java.lang.Object[] original
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  original  [Ljava/lang/Object;
            0    1     1      from  I
            0    1     2        to  I
    Signature: <T:Ljava/lang/Object;>([TT;II)[TT;
    MethodParameters:
          Name  Flags
      original  
      from      
      to        

  public static <T, U> T[] copyOfRange(U[], int, int, java.lang.Class<? extends T[]>);
    descriptor: ([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // java.lang.Object[] original
        start local 1 // int from
        start local 2 // int to
        start local 3 // java.lang.Class newType
         0: .line 3478
            iload 2 /* to */
            iload 1 /* from */
            isub
            istore 4 /* newLength */
        start local 4 // int newLength
         1: .line 3479
            iload 4 /* newLength */
            ifge 3
         2: .line 3480
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            iload 1 /* from */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " > "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* to */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 3482
      StackMap locals: int
      StackMap stack:
            aload 3 /* newType */
            ldc [Ljava/lang/Object;
            if_acmpne 5
         4: .line 3483
            iload 4 /* newLength */
            anewarray java.lang.Object
            goto 6
         5: .line 3484
      StackMap locals:
      StackMap stack:
            aload 3 /* newType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            iload 4 /* newLength */
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.Object[]
         6: .line 3482
      StackMap locals:
      StackMap stack: java.lang.Object[]
            astore 5 /* copy */
        start local 5 // java.lang.Object[] copy
         7: .line 3485
            aload 0 /* original */
            iload 1 /* from */
            aload 5 /* copy */
            iconst_0
         8: .line 3486
            aload 0 /* original */
            arraylength
            iload 1 /* from */
            isub
            iload 4 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         9: .line 3485
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 3487
            aload 5 /* copy */
            areturn
        end local 5 // java.lang.Object[] copy
        end local 4 // int newLength
        end local 3 // java.lang.Class newType
        end local 2 // int to
        end local 1 // int from
        end local 0 // java.lang.Object[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0   original  [Ljava/lang/Object;
            0   11     1       from  I
            0   11     2         to  I
            0   11     3    newType  Ljava/lang/Class<+[TT;>;
            1   11     4  newLength  I
            7   11     5       copy  [Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;U:Ljava/lang/Object;>([TU;IILjava/lang/Class<+[TT;>;)[TT;
    MethodParameters:
          Name  Flags
      original  
      from      
      to        
      newType   

  public static byte[] copyOfRange(byte[], int, int);
    descriptor: ([BII)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // byte[] original
        start local 1 // int from
        start local 2 // int to
         0: .line 3517
            iload 2 /* to */
            iload 1 /* from */
            isub
            istore 3 /* newLength */
        start local 3 // int newLength
         1: .line 3518
            iload 3 /* newLength */
            ifge 3
         2: .line 3519
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            iload 1 /* from */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " > "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* to */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 3520
      StackMap locals: int
      StackMap stack:
            iload 3 /* newLength */
            newarray 8
            astore 4 /* copy */
        start local 4 // byte[] copy
         4: .line 3521
            aload 0 /* original */
            iload 1 /* from */
            aload 4 /* copy */
            iconst_0
         5: .line 3522
            aload 0 /* original */
            arraylength
            iload 1 /* from */
            isub
            iload 3 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         6: .line 3521
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 3523
            aload 4 /* copy */
            areturn
        end local 4 // byte[] copy
        end local 3 // int newLength
        end local 2 // int to
        end local 1 // int from
        end local 0 // byte[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0   original  [B
            0    8     1       from  I
            0    8     2         to  I
            1    8     3  newLength  I
            4    8     4       copy  [B
    MethodParameters:
          Name  Flags
      original  
      from      
      to        

  public static short[] copyOfRange(short[], int, int);
    descriptor: ([SII)[S
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // short[] original
        start local 1 // int from
        start local 2 // int to
         0: .line 3553
            iload 2 /* to */
            iload 1 /* from */
            isub
            istore 3 /* newLength */
        start local 3 // int newLength
         1: .line 3554
            iload 3 /* newLength */
            ifge 3
         2: .line 3555
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            iload 1 /* from */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " > "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* to */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 3556
      StackMap locals: int
      StackMap stack:
            iload 3 /* newLength */
            newarray 9
            astore 4 /* copy */
        start local 4 // short[] copy
         4: .line 3557
            aload 0 /* original */
            iload 1 /* from */
            aload 4 /* copy */
            iconst_0
         5: .line 3558
            aload 0 /* original */
            arraylength
            iload 1 /* from */
            isub
            iload 3 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         6: .line 3557
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 3559
            aload 4 /* copy */
            areturn
        end local 4 // short[] copy
        end local 3 // int newLength
        end local 2 // int to
        end local 1 // int from
        end local 0 // short[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0   original  [S
            0    8     1       from  I
            0    8     2         to  I
            1    8     3  newLength  I
            4    8     4       copy  [S
    MethodParameters:
          Name  Flags
      original  
      from      
      to        

  public static int[] copyOfRange(int[], int, int);
    descriptor: ([III)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // int[] original
        start local 1 // int from
        start local 2 // int to
         0: .line 3589
            iload 2 /* to */
            iload 1 /* from */
            isub
            istore 3 /* newLength */
        start local 3 // int newLength
         1: .line 3590
            iload 3 /* newLength */
            ifge 3
         2: .line 3591
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            iload 1 /* from */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " > "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* to */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 3592
      StackMap locals: int
      StackMap stack:
            iload 3 /* newLength */
            newarray 10
            astore 4 /* copy */
        start local 4 // int[] copy
         4: .line 3593
            aload 0 /* original */
            iload 1 /* from */
            aload 4 /* copy */
            iconst_0
         5: .line 3594
            aload 0 /* original */
            arraylength
            iload 1 /* from */
            isub
            iload 3 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         6: .line 3593
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 3595
            aload 4 /* copy */
            areturn
        end local 4 // int[] copy
        end local 3 // int newLength
        end local 2 // int to
        end local 1 // int from
        end local 0 // int[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0   original  [I
            0    8     1       from  I
            0    8     2         to  I
            1    8     3  newLength  I
            4    8     4       copy  [I
    MethodParameters:
          Name  Flags
      original  
      from      
      to        

  public static long[] copyOfRange(long[], int, int);
    descriptor: ([JII)[J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // long[] original
        start local 1 // int from
        start local 2 // int to
         0: .line 3625
            iload 2 /* to */
            iload 1 /* from */
            isub
            istore 3 /* newLength */
        start local 3 // int newLength
         1: .line 3626
            iload 3 /* newLength */
            ifge 3
         2: .line 3627
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            iload 1 /* from */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " > "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* to */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 3628
      StackMap locals: int
      StackMap stack:
            iload 3 /* newLength */
            newarray 11
            astore 4 /* copy */
        start local 4 // long[] copy
         4: .line 3629
            aload 0 /* original */
            iload 1 /* from */
            aload 4 /* copy */
            iconst_0
         5: .line 3630
            aload 0 /* original */
            arraylength
            iload 1 /* from */
            isub
            iload 3 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         6: .line 3629
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 3631
            aload 4 /* copy */
            areturn
        end local 4 // long[] copy
        end local 3 // int newLength
        end local 2 // int to
        end local 1 // int from
        end local 0 // long[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0   original  [J
            0    8     1       from  I
            0    8     2         to  I
            1    8     3  newLength  I
            4    8     4       copy  [J
    MethodParameters:
          Name  Flags
      original  
      from      
      to        

  public static char[] copyOfRange(char[], int, int);
    descriptor: ([CII)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // char[] original
        start local 1 // int from
        start local 2 // int to
         0: .line 3661
            iload 2 /* to */
            iload 1 /* from */
            isub
            istore 3 /* newLength */
        start local 3 // int newLength
         1: .line 3662
            iload 3 /* newLength */
            ifge 3
         2: .line 3663
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            iload 1 /* from */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " > "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* to */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 3664
      StackMap locals: int
      StackMap stack:
            iload 3 /* newLength */
            newarray 5
            astore 4 /* copy */
        start local 4 // char[] copy
         4: .line 3665
            aload 0 /* original */
            iload 1 /* from */
            aload 4 /* copy */
            iconst_0
         5: .line 3666
            aload 0 /* original */
            arraylength
            iload 1 /* from */
            isub
            iload 3 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         6: .line 3665
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 3667
            aload 4 /* copy */
            areturn
        end local 4 // char[] copy
        end local 3 // int newLength
        end local 2 // int to
        end local 1 // int from
        end local 0 // char[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0   original  [C
            0    8     1       from  I
            0    8     2         to  I
            1    8     3  newLength  I
            4    8     4       copy  [C
    MethodParameters:
          Name  Flags
      original  
      from      
      to        

  public static float[] copyOfRange(float[], int, int);
    descriptor: ([FII)[F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // float[] original
        start local 1 // int from
        start local 2 // int to
         0: .line 3697
            iload 2 /* to */
            iload 1 /* from */
            isub
            istore 3 /* newLength */
        start local 3 // int newLength
         1: .line 3698
            iload 3 /* newLength */
            ifge 3
         2: .line 3699
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            iload 1 /* from */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " > "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* to */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 3700
      StackMap locals: int
      StackMap stack:
            iload 3 /* newLength */
            newarray 6
            astore 4 /* copy */
        start local 4 // float[] copy
         4: .line 3701
            aload 0 /* original */
            iload 1 /* from */
            aload 4 /* copy */
            iconst_0
         5: .line 3702
            aload 0 /* original */
            arraylength
            iload 1 /* from */
            isub
            iload 3 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         6: .line 3701
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 3703
            aload 4 /* copy */
            areturn
        end local 4 // float[] copy
        end local 3 // int newLength
        end local 2 // int to
        end local 1 // int from
        end local 0 // float[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0   original  [F
            0    8     1       from  I
            0    8     2         to  I
            1    8     3  newLength  I
            4    8     4       copy  [F
    MethodParameters:
          Name  Flags
      original  
      from      
      to        

  public static double[] copyOfRange(double[], int, int);
    descriptor: ([DII)[D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // double[] original
        start local 1 // int from
        start local 2 // int to
         0: .line 3733
            iload 2 /* to */
            iload 1 /* from */
            isub
            istore 3 /* newLength */
        start local 3 // int newLength
         1: .line 3734
            iload 3 /* newLength */
            ifge 3
         2: .line 3735
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            iload 1 /* from */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " > "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* to */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 3736
      StackMap locals: int
      StackMap stack:
            iload 3 /* newLength */
            newarray 7
            astore 4 /* copy */
        start local 4 // double[] copy
         4: .line 3737
            aload 0 /* original */
            iload 1 /* from */
            aload 4 /* copy */
            iconst_0
         5: .line 3738
            aload 0 /* original */
            arraylength
            iload 1 /* from */
            isub
            iload 3 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         6: .line 3737
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 3739
            aload 4 /* copy */
            areturn
        end local 4 // double[] copy
        end local 3 // int newLength
        end local 2 // int to
        end local 1 // int from
        end local 0 // double[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0   original  [D
            0    8     1       from  I
            0    8     2         to  I
            1    8     3  newLength  I
            4    8     4       copy  [D
    MethodParameters:
          Name  Flags
      original  
      from      
      to        

  public static boolean[] copyOfRange(boolean[], int, int);
    descriptor: ([ZII)[Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // boolean[] original
        start local 1 // int from
        start local 2 // int to
         0: .line 3769
            iload 2 /* to */
            iload 1 /* from */
            isub
            istore 3 /* newLength */
        start local 3 // int newLength
         1: .line 3770
            iload 3 /* newLength */
            ifge 3
         2: .line 3771
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            iload 1 /* from */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " > "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* to */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 3772
      StackMap locals: int
      StackMap stack:
            iload 3 /* newLength */
            newarray 4
            astore 4 /* copy */
        start local 4 // boolean[] copy
         4: .line 3773
            aload 0 /* original */
            iload 1 /* from */
            aload 4 /* copy */
            iconst_0
         5: .line 3774
            aload 0 /* original */
            arraylength
            iload 1 /* from */
            isub
            iload 3 /* newLength */
            invokestatic java.lang.Math.min:(II)I
         6: .line 3773
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 3775
            aload 4 /* copy */
            areturn
        end local 4 // boolean[] copy
        end local 3 // int newLength
        end local 2 // int to
        end local 1 // int from
        end local 0 // boolean[] original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0   original  [Z
            0    8     1       from  I
            0    8     2         to  I
            1    8     3  newLength  I
            4    8     4       copy  [Z
    MethodParameters:
          Name  Flags
      original  
      from      
      to        

  public static <T> java.util.List<T> asList(T[]);
    descriptor: ([Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object[] a
         0: .line 3800
            new java.util.Arrays$ArrayList
            dup
            aload 0 /* a */
            invokespecial java.util.Arrays$ArrayList.<init>:([Ljava/lang/Object;)V
            areturn
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  [Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>([TT;)Ljava/util/List<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
      Name  Flags
      a     

  public static int hashCode(long[]);
    descriptor: ([J)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // long[] a
         0: .line 3916
            aload 0 /* a */
            ifnonnull 2
         1: .line 3917
            iconst_0
            ireturn
         2: .line 3919
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* result */
        start local 1 // int result
         3: .line 3920
            aload 0 /* a */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 8
      StackMap locals: long[] int top top int int long[]
      StackMap stack:
         4: aload 6
            iload 4
            laload
            lstore 2 /* element */
        start local 2 // long element
         5: .line 3921
            lload 2 /* element */
            lload 2 /* element */
            bipush 32
            lushr
            lxor
            l2i
            istore 7 /* elementHash */
        start local 7 // int elementHash
         6: .line 3922
            bipush 31
            iload 1 /* result */
            imul
            iload 7 /* elementHash */
            iadd
            istore 1 /* result */
        end local 7 // int elementHash
        end local 2 // long element
         7: .line 3920
            iinc 4 1
      StackMap locals:
      StackMap stack:
         8: iload 4
            iload 5
            if_icmplt 4
         9: .line 3925
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // long[] a
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0            a  [J
            3   10     1       result  I
            5    7     2      element  J
            6    7     7  elementHash  I
    MethodParameters:
      Name  Flags
      a     

  public static int hashCode(int[]);
    descriptor: ([I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // int[] a
         0: .line 3945
            aload 0 /* a */
            ifnonnull 2
         1: .line 3946
            iconst_0
            ireturn
         2: .line 3948
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* result */
        start local 1 // int result
         3: .line 3949
            aload 0 /* a */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 7
      StackMap locals: int[] int top int int int[]
      StackMap stack:
         4: aload 5
            iload 3
            iaload
            istore 2 /* element */
        start local 2 // int element
         5: .line 3950
            bipush 31
            iload 1 /* result */
            imul
            iload 2 /* element */
            iadd
            istore 1 /* result */
        end local 2 // int element
         6: .line 3949
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 4
         8: .line 3952
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // int[] a
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0        a  [I
            3    9     1   result  I
            5    6     2  element  I
    MethodParameters:
      Name  Flags
      a     

  public static int hashCode(short[]);
    descriptor: ([S)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // short[] a
         0: .line 3972
            aload 0 /* a */
            ifnonnull 2
         1: .line 3973
            iconst_0
            ireturn
         2: .line 3975
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* result */
        start local 1 // int result
         3: .line 3976
            aload 0 /* a */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 7
      StackMap locals: short[] int top int int short[]
      StackMap stack:
         4: aload 5
            iload 3
            saload
            istore 2 /* element */
        start local 2 // short element
         5: .line 3977
            bipush 31
            iload 1 /* result */
            imul
            iload 2 /* element */
            iadd
            istore 1 /* result */
        end local 2 // short element
         6: .line 3976
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 4
         8: .line 3979
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // short[] a
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0        a  [S
            3    9     1   result  I
            5    6     2  element  S
    MethodParameters:
      Name  Flags
      a     

  public static int hashCode(char[]);
    descriptor: ([C)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // char[] a
         0: .line 3999
            aload 0 /* a */
            ifnonnull 2
         1: .line 4000
            iconst_0
            ireturn
         2: .line 4002
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* result */
        start local 1 // int result
         3: .line 4003
            aload 0 /* a */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 7
      StackMap locals: char[] int top int int char[]
      StackMap stack:
         4: aload 5
            iload 3
            caload
            istore 2 /* element */
        start local 2 // char element
         5: .line 4004
            bipush 31
            iload 1 /* result */
            imul
            iload 2 /* element */
            iadd
            istore 1 /* result */
        end local 2 // char element
         6: .line 4003
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 4
         8: .line 4006
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // char[] a
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0        a  [C
            3    9     1   result  I
            5    6     2  element  C
    MethodParameters:
      Name  Flags
      a     

  public static int hashCode(byte[]);
    descriptor: ([B)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // byte[] a
         0: .line 4026
            aload 0 /* a */
            ifnonnull 2
         1: .line 4027
            iconst_0
            ireturn
         2: .line 4029
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* result */
        start local 1 // int result
         3: .line 4030
            aload 0 /* a */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 7
      StackMap locals: byte[] int top int int byte[]
      StackMap stack:
         4: aload 5
            iload 3
            baload
            istore 2 /* element */
        start local 2 // byte element
         5: .line 4031
            bipush 31
            iload 1 /* result */
            imul
            iload 2 /* element */
            iadd
            istore 1 /* result */
        end local 2 // byte element
         6: .line 4030
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 4
         8: .line 4033
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0        a  [B
            3    9     1   result  I
            5    6     2  element  B
    MethodParameters:
      Name  Flags
      a     

  public static int hashCode(boolean[]);
    descriptor: ([Z)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // boolean[] a
         0: .line 4053
            aload 0 /* a */
            ifnonnull 2
         1: .line 4054
            iconst_0
            ireturn
         2: .line 4056
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* result */
        start local 1 // int result
         3: .line 4057
            aload 0 /* a */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 9
      StackMap locals: boolean[] int top int int boolean[]
      StackMap stack:
         4: aload 5
            iload 3
            baload
            istore 2 /* element */
        start local 2 // boolean element
         5: .line 4058
            bipush 31
            iload 1 /* result */
            imul
            iload 2 /* element */
            ifeq 6
            sipush 1231
            goto 7
      StackMap locals: boolean[] int int int int boolean[]
      StackMap stack: int
         6: sipush 1237
      StackMap locals: boolean[] int int int int boolean[]
      StackMap stack: int int
         7: iadd
            istore 1 /* result */
        end local 2 // boolean element
         8: .line 4057
            iinc 3 1
      StackMap locals: boolean[] int top int int boolean[]
      StackMap stack:
         9: iload 3
            iload 4
            if_icmplt 4
        10: .line 4060
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // boolean[] a
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0        a  [Z
            3   11     1   result  I
            5    8     2  element  Z
    MethodParameters:
      Name  Flags
      a     

  public static int hashCode(float[]);
    descriptor: ([F)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // float[] a
         0: .line 4080
            aload 0 /* a */
            ifnonnull 2
         1: .line 4081
            iconst_0
            ireturn
         2: .line 4083
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* result */
        start local 1 // int result
         3: .line 4084
            aload 0 /* a */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 7
      StackMap locals: float[] int top int int float[]
      StackMap stack:
         4: aload 5
            iload 3
            faload
            fstore 2 /* element */
        start local 2 // float element
         5: .line 4085
            bipush 31
            iload 1 /* result */
            imul
            fload 2 /* element */
            invokestatic java.lang.Float.floatToIntBits:(F)I
            iadd
            istore 1 /* result */
        end local 2 // float element
         6: .line 4084
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 4
         8: .line 4087
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // float[] a
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0        a  [F
            3    9     1   result  I
            5    6     2  element  F
    MethodParameters:
      Name  Flags
      a     

  public static int hashCode(double[]);
    descriptor: ([D)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=1
        start local 0 // double[] a
         0: .line 4107
            aload 0 /* a */
            ifnonnull 2
         1: .line 4108
            iconst_0
            ireturn
         2: .line 4110
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* result */
        start local 1 // int result
         3: .line 4111
            aload 0 /* a */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 8
      StackMap locals: double[] int top top int int double[]
      StackMap stack:
         4: aload 6
            iload 4
            daload
            dstore 2 /* element */
        start local 2 // double element
         5: .line 4112
            dload 2 /* element */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 7 /* bits */
        start local 7 // long bits
         6: .line 4113
            bipush 31
            iload 1 /* result */
            imul
            lload 7 /* bits */
            lload 7 /* bits */
            bipush 32
            lushr
            lxor
            l2i
            iadd
            istore 1 /* result */
        end local 7 // long bits
        end local 2 // double element
         7: .line 4111
            iinc 4 1
      StackMap locals:
      StackMap stack:
         8: iload 4
            iload 5
            if_icmplt 4
         9: .line 4115
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // double[] a
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0        a  [D
            3   10     1   result  I
            5    7     2  element  D
            6    7     7     bits  J
    MethodParameters:
      Name  Flags
      a     

  public static int hashCode(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // java.lang.Object[] a
         0: .line 4140
            aload 0 /* a */
            ifnonnull 2
         1: .line 4141
            iconst_0
            ireturn
         2: .line 4143
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* result */
        start local 1 // int result
         3: .line 4145
            aload 0 /* a */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 9
      StackMap locals: java.lang.Object[] int top int int java.lang.Object[]
      StackMap stack:
         4: aload 5
            iload 3
            aaload
            astore 2 /* element */
        start local 2 // java.lang.Object element
         5: .line 4146
            bipush 31
            iload 1 /* result */
            imul
            aload 2 /* element */
            ifnonnull 6
            iconst_0
            goto 7
      StackMap locals: java.lang.Object[] int java.lang.Object int int java.lang.Object[]
      StackMap stack: int
         6: aload 2 /* element */
            invokevirtual java.lang.Object.hashCode:()I
      StackMap locals: java.lang.Object[] int java.lang.Object int int java.lang.Object[]
      StackMap stack: int int
         7: iadd
            istore 1 /* result */
        end local 2 // java.lang.Object element
         8: .line 4145
            iinc 3 1
      StackMap locals: java.lang.Object[] int top int int java.lang.Object[]
      StackMap stack:
         9: iload 3
            iload 4
            if_icmplt 4
        10: .line 4148
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0        a  [Ljava/lang/Object;
            3   11     1   result  I
            5    8     2  element  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a     

  public static int deepHashCode(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // java.lang.Object[] a
         0: .line 4181
            aload 0 /* a */
            ifnonnull 2
         1: .line 4182
            iconst_0
            ireturn
         2: .line 4184
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* result */
        start local 1 // int result
         3: .line 4186
            aload 0 /* a */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 28
      StackMap locals: java.lang.Object[] int top int int java.lang.Object[]
      StackMap stack:
         4: aload 5
            iload 3
            aaload
            astore 2 /* element */
        start local 2 // java.lang.Object element
         5: .line 4187
            iconst_0
            istore 6 /* elementHash */
        start local 6 // int elementHash
         6: .line 4188
            aload 2 /* element */
            instanceof java.lang.Object[]
            ifeq 8
         7: .line 4189
            aload 2 /* element */
            checkcast java.lang.Object[]
            invokestatic java.util.Arrays.deepHashCode:([Ljava/lang/Object;)I
            istore 6 /* elementHash */
            goto 26
         8: .line 4190
      StackMap locals: java.lang.Object[] int java.lang.Object int int java.lang.Object[] int
      StackMap stack:
            aload 2 /* element */
            instanceof byte[]
            ifeq 10
         9: .line 4191
            aload 2 /* element */
            checkcast byte[]
            invokestatic java.util.Arrays.hashCode:([B)I
            istore 6 /* elementHash */
            goto 26
        10: .line 4192
      StackMap locals:
      StackMap stack:
            aload 2 /* element */
            instanceof short[]
            ifeq 12
        11: .line 4193
            aload 2 /* element */
            checkcast short[]
            invokestatic java.util.Arrays.hashCode:([S)I
            istore 6 /* elementHash */
            goto 26
        12: .line 4194
      StackMap locals:
      StackMap stack:
            aload 2 /* element */
            instanceof int[]
            ifeq 14
        13: .line 4195
            aload 2 /* element */
            checkcast int[]
            invokestatic java.util.Arrays.hashCode:([I)I
            istore 6 /* elementHash */
            goto 26
        14: .line 4196
      StackMap locals:
      StackMap stack:
            aload 2 /* element */
            instanceof long[]
            ifeq 16
        15: .line 4197
            aload 2 /* element */
            checkcast long[]
            invokestatic java.util.Arrays.hashCode:([J)I
            istore 6 /* elementHash */
            goto 26
        16: .line 4198
      StackMap locals:
      StackMap stack:
            aload 2 /* element */
            instanceof char[]
            ifeq 18
        17: .line 4199
            aload 2 /* element */
            checkcast char[]
            invokestatic java.util.Arrays.hashCode:([C)I
            istore 6 /* elementHash */
            goto 26
        18: .line 4200
      StackMap locals:
      StackMap stack:
            aload 2 /* element */
            instanceof float[]
            ifeq 20
        19: .line 4201
            aload 2 /* element */
            checkcast float[]
            invokestatic java.util.Arrays.hashCode:([F)I
            istore 6 /* elementHash */
            goto 26
        20: .line 4202
      StackMap locals:
      StackMap stack:
            aload 2 /* element */
            instanceof double[]
            ifeq 22
        21: .line 4203
            aload 2 /* element */
            checkcast double[]
            invokestatic java.util.Arrays.hashCode:([D)I
            istore 6 /* elementHash */
            goto 26
        22: .line 4204
      StackMap locals:
      StackMap stack:
            aload 2 /* element */
            instanceof boolean[]
            ifeq 24
        23: .line 4205
            aload 2 /* element */
            checkcast boolean[]
            invokestatic java.util.Arrays.hashCode:([Z)I
            istore 6 /* elementHash */
            goto 26
        24: .line 4206
      StackMap locals:
      StackMap stack:
            aload 2 /* element */
            ifnull 26
        25: .line 4207
            aload 2 /* element */
            invokevirtual java.lang.Object.hashCode:()I
            istore 6 /* elementHash */
        26: .line 4209
      StackMap locals:
      StackMap stack:
            bipush 31
            iload 1 /* result */
            imul
            iload 6 /* elementHash */
            iadd
            istore 1 /* result */
        end local 6 // int elementHash
        end local 2 // java.lang.Object element
        27: .line 4186
            iinc 3 1
      StackMap locals: java.lang.Object[] int top int int java.lang.Object[]
      StackMap stack:
        28: iload 3
            iload 4
            if_icmplt 4
        29: .line 4212
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   30     0            a  [Ljava/lang/Object;
            3   30     1       result  I
            5   27     2      element  Ljava/lang/Object;
            6   27     6  elementHash  I
    MethodParameters:
      Name  Flags
      a     

  public static boolean deepEquals(java.lang.Object[], java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.lang.Object[] a1
        start local 1 // java.lang.Object[] a2
         0: .line 4251
            aload 0 /* a1 */
            aload 1 /* a2 */
            if_acmpne 2
         1: .line 4252
            iconst_1
            ireturn
         2: .line 4253
      StackMap locals:
      StackMap stack:
            aload 0 /* a1 */
            ifnull 3
            aload 1 /* a2 */
            ifnonnull 4
         3: .line 4254
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 4255
      StackMap locals:
      StackMap stack:
            aload 0 /* a1 */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         5: .line 4256
            aload 1 /* a2 */
            arraylength
            iload 2 /* length */
            if_icmpeq 7
         6: .line 4257
            iconst_0
            ireturn
         7: .line 4259
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 19
         9: .line 4260
      StackMap locals: int
      StackMap stack:
            aload 0 /* a1 */
            iload 3 /* i */
            aaload
            astore 4 /* e1 */
        start local 4 // java.lang.Object e1
        10: .line 4261
            aload 1 /* a2 */
            iload 3 /* i */
            aaload
            astore 5 /* e2 */
        start local 5 // java.lang.Object e2
        11: .line 4263
            aload 4 /* e1 */
            aload 5 /* e2 */
            if_acmpne 13
        12: .line 4264
            goto 18
        13: .line 4265
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aload 4 /* e1 */
            ifnonnull 15
        14: .line 4266
            iconst_0
            ireturn
        15: .line 4269
      StackMap locals:
      StackMap stack:
            aload 4 /* e1 */
            aload 5 /* e2 */
            invokestatic java.util.Arrays.deepEquals0:(Ljava/lang/Object;Ljava/lang/Object;)Z
            istore 6 /* eq */
        start local 6 // boolean eq
        16: .line 4271
            iload 6 /* eq */
            ifne 18
        17: .line 4272
            iconst_0
            ireturn
        end local 6 // boolean eq
        end local 5 // java.lang.Object e2
        end local 4 // java.lang.Object e1
        18: .line 4259
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 9
        end local 3 // int i
        20: .line 4274
            iconst_1
            ireturn
        end local 2 // int length
        end local 1 // java.lang.Object[] a2
        end local 0 // java.lang.Object[] a1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0      a1  [Ljava/lang/Object;
            0   21     1      a2  [Ljava/lang/Object;
            5   21     2  length  I
            8   20     3       i  I
           10   18     4      e1  Ljava/lang/Object;
           11   18     5      e2  Ljava/lang/Object;
           16   18     6      eq  Z
    MethodParameters:
      Name  Flags
      a1    
      a2    

  static boolean deepEquals0(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Object e1
        start local 1 // java.lang.Object e2
         0: .line 4278
            getstatic java.util.Arrays.$assertionsDisabled:Z
            ifne 1
            aload 0 /* e1 */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 4280
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof java.lang.Object[]
            ifeq 4
            aload 1 /* e2 */
            instanceof java.lang.Object[]
            ifeq 4
         2: .line 4281
            aload 0 /* e1 */
            checkcast java.lang.Object[]
            aload 1 /* e2 */
            checkcast java.lang.Object[]
            invokestatic java.util.Arrays.deepEquals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
            istore 2 /* eq */
        start local 2 // boolean eq
         3: goto 29
        end local 2 // boolean eq
         4: .line 4282
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof byte[]
            ifeq 7
            aload 1 /* e2 */
            instanceof byte[]
            ifeq 7
         5: .line 4283
            aload 0 /* e1 */
            checkcast byte[]
            aload 1 /* e2 */
            checkcast byte[]
            invokestatic java.util.Arrays.equals:([B[B)Z
            istore 2 /* eq */
        start local 2 // boolean eq
         6: goto 29
        end local 2 // boolean eq
         7: .line 4284
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof short[]
            ifeq 10
            aload 1 /* e2 */
            instanceof short[]
            ifeq 10
         8: .line 4285
            aload 0 /* e1 */
            checkcast short[]
            aload 1 /* e2 */
            checkcast short[]
            invokestatic java.util.Arrays.equals:([S[S)Z
            istore 2 /* eq */
        start local 2 // boolean eq
         9: goto 29
        end local 2 // boolean eq
        10: .line 4286
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof int[]
            ifeq 13
            aload 1 /* e2 */
            instanceof int[]
            ifeq 13
        11: .line 4287
            aload 0 /* e1 */
            checkcast int[]
            aload 1 /* e2 */
            checkcast int[]
            invokestatic java.util.Arrays.equals:([I[I)Z
            istore 2 /* eq */
        start local 2 // boolean eq
        12: goto 29
        end local 2 // boolean eq
        13: .line 4288
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof long[]
            ifeq 16
            aload 1 /* e2 */
            instanceof long[]
            ifeq 16
        14: .line 4289
            aload 0 /* e1 */
            checkcast long[]
            aload 1 /* e2 */
            checkcast long[]
            invokestatic java.util.Arrays.equals:([J[J)Z
            istore 2 /* eq */
        start local 2 // boolean eq
        15: goto 29
        end local 2 // boolean eq
        16: .line 4290
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof char[]
            ifeq 19
            aload 1 /* e2 */
            instanceof char[]
            ifeq 19
        17: .line 4291
            aload 0 /* e1 */
            checkcast char[]
            aload 1 /* e2 */
            checkcast char[]
            invokestatic java.util.Arrays.equals:([C[C)Z
            istore 2 /* eq */
        start local 2 // boolean eq
        18: goto 29
        end local 2 // boolean eq
        19: .line 4292
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof float[]
            ifeq 22
            aload 1 /* e2 */
            instanceof float[]
            ifeq 22
        20: .line 4293
            aload 0 /* e1 */
            checkcast float[]
            aload 1 /* e2 */
            checkcast float[]
            invokestatic java.util.Arrays.equals:([F[F)Z
            istore 2 /* eq */
        start local 2 // boolean eq
        21: goto 29
        end local 2 // boolean eq
        22: .line 4294
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof double[]
            ifeq 25
            aload 1 /* e2 */
            instanceof double[]
            ifeq 25
        23: .line 4295
            aload 0 /* e1 */
            checkcast double[]
            aload 1 /* e2 */
            checkcast double[]
            invokestatic java.util.Arrays.equals:([D[D)Z
            istore 2 /* eq */
        start local 2 // boolean eq
        24: goto 29
        end local 2 // boolean eq
        25: .line 4296
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            instanceof boolean[]
            ifeq 28
            aload 1 /* e2 */
            instanceof boolean[]
            ifeq 28
        26: .line 4297
            aload 0 /* e1 */
            checkcast boolean[]
            aload 1 /* e2 */
            checkcast boolean[]
            invokestatic java.util.Arrays.equals:([Z[Z)Z
            istore 2 /* eq */
        start local 2 // boolean eq
        27: goto 29
        end local 2 // boolean eq
        28: .line 4299
      StackMap locals:
      StackMap stack:
            aload 0 /* e1 */
            aload 1 /* e2 */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            istore 2 /* eq */
        start local 2 // boolean eq
        29: .line 4300
      StackMap locals: int
      StackMap stack:
            iload 2 /* eq */
            ireturn
        end local 2 // boolean eq
        end local 1 // java.lang.Object e2
        end local 0 // java.lang.Object e1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   30     0    e1  Ljava/lang/Object;
            0   30     1    e2  Ljava/lang/Object;
            3    4     2    eq  Z
            6    7     2    eq  Z
            9   10     2    eq  Z
           12   13     2    eq  Z
           15   16     2    eq  Z
           18   19     2    eq  Z
           21   22     2    eq  Z
           24   25     2    eq  Z
           27   28     2    eq  Z
           29   30     2    eq  Z
    MethodParameters:
      Name  Flags
      e1    
      e2    

  public static java.lang.String toString(long[]);
    descriptor: ([J)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // long[] a
         0: .line 4317
            aload 0 /* a */
            ifnonnull 2
         1: .line 4318
            ldc "null"
            areturn
         2: .line 4319
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            iconst_1
            isub
            istore 1 /* iMax */
        start local 1 // int iMax
         3: .line 4320
            iload 1 /* iMax */
            iconst_m1
            if_icmpne 5
         4: .line 4321
            ldc "[]"
            areturn
         5: .line 4323
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* b */
        start local 2 // java.lang.StringBuilder b
         6: .line 4324
            aload 2 /* b */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 4325
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: .line 4326
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* b */
            aload 0 /* a */
            iload 3 /* i */
            laload
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
         9: .line 4327
            iload 3 /* i */
            iload 1 /* iMax */
            if_icmpne 11
        10: .line 4328
            aload 2 /* b */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        11: .line 4329
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 4325
            iinc 3 /* i */ 1
            goto 8
        end local 3 // int i
        end local 2 // java.lang.StringBuilder b
        end local 1 // int iMax
        end local 0 // long[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     a  [J
            3   13     1  iMax  I
            6   13     2     b  Ljava/lang/StringBuilder;
            8   13     3     i  I
    MethodParameters:
      Name  Flags
      a     

  public static java.lang.String toString(int[]);
    descriptor: ([I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // int[] a
         0: .line 4347
            aload 0 /* a */
            ifnonnull 2
         1: .line 4348
            ldc "null"
            areturn
         2: .line 4349
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            iconst_1
            isub
            istore 1 /* iMax */
        start local 1 // int iMax
         3: .line 4350
            iload 1 /* iMax */
            iconst_m1
            if_icmpne 5
         4: .line 4351
            ldc "[]"
            areturn
         5: .line 4353
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* b */
        start local 2 // java.lang.StringBuilder b
         6: .line 4354
            aload 2 /* b */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 4355
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: .line 4356
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* b */
            aload 0 /* a */
            iload 3 /* i */
            iaload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         9: .line 4357
            iload 3 /* i */
            iload 1 /* iMax */
            if_icmpne 11
        10: .line 4358
            aload 2 /* b */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        11: .line 4359
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 4355
            iinc 3 /* i */ 1
            goto 8
        end local 3 // int i
        end local 2 // java.lang.StringBuilder b
        end local 1 // int iMax
        end local 0 // int[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     a  [I
            3   13     1  iMax  I
            6   13     2     b  Ljava/lang/StringBuilder;
            8   13     3     i  I
    MethodParameters:
      Name  Flags
      a     

  public static java.lang.String toString(short[]);
    descriptor: ([S)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // short[] a
         0: .line 4377
            aload 0 /* a */
            ifnonnull 2
         1: .line 4378
            ldc "null"
            areturn
         2: .line 4379
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            iconst_1
            isub
            istore 1 /* iMax */
        start local 1 // int iMax
         3: .line 4380
            iload 1 /* iMax */
            iconst_m1
            if_icmpne 5
         4: .line 4381
            ldc "[]"
            areturn
         5: .line 4383
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* b */
        start local 2 // java.lang.StringBuilder b
         6: .line 4384
            aload 2 /* b */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 4385
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: .line 4386
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* b */
            aload 0 /* a */
            iload 3 /* i */
            saload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         9: .line 4387
            iload 3 /* i */
            iload 1 /* iMax */
            if_icmpne 11
        10: .line 4388
            aload 2 /* b */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        11: .line 4389
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 4385
            iinc 3 /* i */ 1
            goto 8
        end local 3 // int i
        end local 2 // java.lang.StringBuilder b
        end local 1 // int iMax
        end local 0 // short[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     a  [S
            3   13     1  iMax  I
            6   13     2     b  Ljava/lang/StringBuilder;
            8   13     3     i  I
    MethodParameters:
      Name  Flags
      a     

  public static java.lang.String toString(char[]);
    descriptor: ([C)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // char[] a
         0: .line 4407
            aload 0 /* a */
            ifnonnull 2
         1: .line 4408
            ldc "null"
            areturn
         2: .line 4409
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            iconst_1
            isub
            istore 1 /* iMax */
        start local 1 // int iMax
         3: .line 4410
            iload 1 /* iMax */
            iconst_m1
            if_icmpne 5
         4: .line 4411
            ldc "[]"
            areturn
         5: .line 4413
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* b */
        start local 2 // java.lang.StringBuilder b
         6: .line 4414
            aload 2 /* b */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 4415
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: .line 4416
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* b */
            aload 0 /* a */
            iload 3 /* i */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 4417
            iload 3 /* i */
            iload 1 /* iMax */
            if_icmpne 11
        10: .line 4418
            aload 2 /* b */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        11: .line 4419
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 4415
            iinc 3 /* i */ 1
            goto 8
        end local 3 // int i
        end local 2 // java.lang.StringBuilder b
        end local 1 // int iMax
        end local 0 // char[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     a  [C
            3   13     1  iMax  I
            6   13     2     b  Ljava/lang/StringBuilder;
            8   13     3     i  I
    MethodParameters:
      Name  Flags
      a     

  public static java.lang.String toString(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // byte[] a
         0: .line 4437
            aload 0 /* a */
            ifnonnull 2
         1: .line 4438
            ldc "null"
            areturn
         2: .line 4439
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            iconst_1
            isub
            istore 1 /* iMax */
        start local 1 // int iMax
         3: .line 4440
            iload 1 /* iMax */
            iconst_m1
            if_icmpne 5
         4: .line 4441
            ldc "[]"
            areturn
         5: .line 4443
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* b */
        start local 2 // java.lang.StringBuilder b
         6: .line 4444
            aload 2 /* b */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 4445
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: .line 4446
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* b */
            aload 0 /* a */
            iload 3 /* i */
            baload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         9: .line 4447
            iload 3 /* i */
            iload 1 /* iMax */
            if_icmpne 11
        10: .line 4448
            aload 2 /* b */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        11: .line 4449
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 4445
            iinc 3 /* i */ 1
            goto 8
        end local 3 // int i
        end local 2 // java.lang.StringBuilder b
        end local 1 // int iMax
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     a  [B
            3   13     1  iMax  I
            6   13     2     b  Ljava/lang/StringBuilder;
            8   13     3     i  I
    MethodParameters:
      Name  Flags
      a     

  public static java.lang.String toString(boolean[]);
    descriptor: ([Z)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // boolean[] a
         0: .line 4467
            aload 0 /* a */
            ifnonnull 2
         1: .line 4468
            ldc "null"
            areturn
         2: .line 4469
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            iconst_1
            isub
            istore 1 /* iMax */
        start local 1 // int iMax
         3: .line 4470
            iload 1 /* iMax */
            iconst_m1
            if_icmpne 5
         4: .line 4471
            ldc "[]"
            areturn
         5: .line 4473
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* b */
        start local 2 // java.lang.StringBuilder b
         6: .line 4474
            aload 2 /* b */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 4475
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: .line 4476
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* b */
            aload 0 /* a */
            iload 3 /* i */
            baload
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            pop
         9: .line 4477
            iload 3 /* i */
            iload 1 /* iMax */
            if_icmpne 11
        10: .line 4478
            aload 2 /* b */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        11: .line 4479
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 4475
            iinc 3 /* i */ 1
            goto 8
        end local 3 // int i
        end local 2 // java.lang.StringBuilder b
        end local 1 // int iMax
        end local 0 // boolean[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     a  [Z
            3   13     1  iMax  I
            6   13     2     b  Ljava/lang/StringBuilder;
            8   13     3     i  I
    MethodParameters:
      Name  Flags
      a     

  public static java.lang.String toString(float[]);
    descriptor: ([F)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // float[] a
         0: .line 4497
            aload 0 /* a */
            ifnonnull 2
         1: .line 4498
            ldc "null"
            areturn
         2: .line 4500
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            iconst_1
            isub
            istore 1 /* iMax */
        start local 1 // int iMax
         3: .line 4501
            iload 1 /* iMax */
            iconst_m1
            if_icmpne 5
         4: .line 4502
            ldc "[]"
            areturn
         5: .line 4504
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* b */
        start local 2 // java.lang.StringBuilder b
         6: .line 4505
            aload 2 /* b */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 4506
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: .line 4507
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* b */
            aload 0 /* a */
            iload 3 /* i */
            faload
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            pop
         9: .line 4508
            iload 3 /* i */
            iload 1 /* iMax */
            if_icmpne 11
        10: .line 4509
            aload 2 /* b */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        11: .line 4510
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 4506
            iinc 3 /* i */ 1
            goto 8
        end local 3 // int i
        end local 2 // java.lang.StringBuilder b
        end local 1 // int iMax
        end local 0 // float[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     a  [F
            3   13     1  iMax  I
            6   13     2     b  Ljava/lang/StringBuilder;
            8   13     3     i  I
    MethodParameters:
      Name  Flags
      a     

  public static java.lang.String toString(double[]);
    descriptor: ([D)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // double[] a
         0: .line 4528
            aload 0 /* a */
            ifnonnull 2
         1: .line 4529
            ldc "null"
            areturn
         2: .line 4530
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            iconst_1
            isub
            istore 1 /* iMax */
        start local 1 // int iMax
         3: .line 4531
            iload 1 /* iMax */
            iconst_m1
            if_icmpne 5
         4: .line 4532
            ldc "[]"
            areturn
         5: .line 4534
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* b */
        start local 2 // java.lang.StringBuilder b
         6: .line 4535
            aload 2 /* b */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 4536
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: .line 4537
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* b */
            aload 0 /* a */
            iload 3 /* i */
            daload
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            pop
         9: .line 4538
            iload 3 /* i */
            iload 1 /* iMax */
            if_icmpne 11
        10: .line 4539
            aload 2 /* b */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        11: .line 4540
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 4536
            iinc 3 /* i */ 1
            goto 8
        end local 3 // int i
        end local 2 // java.lang.StringBuilder b
        end local 1 // int iMax
        end local 0 // double[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     a  [D
            3   13     1  iMax  I
            6   13     2     b  Ljava/lang/StringBuilder;
            8   13     3     i  I
    MethodParameters:
      Name  Flags
      a     

  public static java.lang.String toString(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.Object[] a
         0: .line 4561
            aload 0 /* a */
            ifnonnull 2
         1: .line 4562
            ldc "null"
            areturn
         2: .line 4564
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            iconst_1
            isub
            istore 1 /* iMax */
        start local 1 // int iMax
         3: .line 4565
            iload 1 /* iMax */
            iconst_m1
            if_icmpne 5
         4: .line 4566
            ldc "[]"
            areturn
         5: .line 4568
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* b */
        start local 2 // java.lang.StringBuilder b
         6: .line 4569
            aload 2 /* b */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 4570
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: .line 4571
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 2 /* b */
            aload 0 /* a */
            iload 3 /* i */
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 4572
            iload 3 /* i */
            iload 1 /* iMax */
            if_icmpne 11
        10: .line 4573
            aload 2 /* b */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        11: .line 4574
      StackMap locals:
      StackMap stack:
            aload 2 /* b */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 4570
            iinc 3 /* i */ 1
            goto 8
        end local 3 // int i
        end local 2 // java.lang.StringBuilder b
        end local 1 // int iMax
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0     a  [Ljava/lang/Object;
            3   13     1  iMax  I
            6   13     2     b  Ljava/lang/StringBuilder;
            8   13     3     i  I
    MethodParameters:
      Name  Flags
      a     

  public static java.lang.String deepToString(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.Object[] a
         0: .line 4612
            aload 0 /* a */
            ifnonnull 2
         1: .line 4613
            ldc "null"
            areturn
         2: .line 4615
      StackMap locals:
      StackMap stack:
            bipush 20
            aload 0 /* a */
            arraylength
            imul
            istore 1 /* bufLen */
        start local 1 // int bufLen
         3: .line 4616
            aload 0 /* a */
            arraylength
            ifeq 5
            iload 1 /* bufLen */
            ifgt 5
         4: .line 4617
            ldc 2147483647
            istore 1 /* bufLen */
         5: .line 4618
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iload 1 /* bufLen */
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuilder buf
         6: .line 4619
            aload 0 /* a */
            aload 2 /* buf */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            invokestatic java.util.Arrays.deepToString:([Ljava/lang/Object;Ljava/lang/StringBuilder;Ljava/util/Set;)V
         7: .line 4620
            aload 2 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder buf
        end local 1 // int bufLen
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0       a  [Ljava/lang/Object;
            3    8     1  bufLen  I
            6    8     2     buf  Ljava/lang/StringBuilder;
    MethodParameters:
      Name  Flags
      a     

  private static void deepToString([], java.lang.StringBuilder, java.util.Set<java.lang.Object[]>);
    descriptor: ([Ljava/lang/Object;Ljava/lang/StringBuilder;Ljava/util/Set;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.lang.Object[] a
        start local 1 // java.lang.StringBuilder buf
        start local 2 // java.util.Set dejaVu
         0: .line 4625
            aload 0 /* a */
            ifnonnull 3
         1: .line 4626
            aload 1 /* buf */
            ldc "null"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 4627
            return
         3: .line 4629
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            arraylength
            iconst_1
            isub
            istore 3 /* iMax */
        start local 3 // int iMax
         4: .line 4630
            iload 3 /* iMax */
            iconst_m1
            if_icmpne 7
         5: .line 4631
            aload 1 /* buf */
            ldc "[]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 4632
            return
         7: .line 4635
      StackMap locals: int
      StackMap stack:
            aload 2 /* dejaVu */
            aload 0 /* a */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 4636
            aload 1 /* buf */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 4637
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        10: .line 4639
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 4 /* i */
            aaload
            astore 5 /* element */
        start local 5 // java.lang.Object element
        11: .line 4640
            aload 5 /* element */
            ifnonnull 14
        12: .line 4641
            aload 1 /* buf */
            ldc "null"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 4642
            goto 37
        14: .line 4643
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 5 /* element */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 6 /* eClass */
        start local 6 // java.lang.Class eClass
        15: .line 4645
            aload 6 /* eClass */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 36
        16: .line 4646
            aload 6 /* eClass */
            ldc [B
            if_acmpne 18
        17: .line 4647
            aload 1 /* buf */
            aload 5 /* element */
            checkcast byte[]
            invokestatic java.util.Arrays.toString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 37
        18: .line 4648
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 6 /* eClass */
            ldc [S
            if_acmpne 20
        19: .line 4649
            aload 1 /* buf */
            aload 5 /* element */
            checkcast short[]
            invokestatic java.util.Arrays.toString:([S)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 37
        20: .line 4650
      StackMap locals:
      StackMap stack:
            aload 6 /* eClass */
            ldc [I
            if_acmpne 22
        21: .line 4651
            aload 1 /* buf */
            aload 5 /* element */
            checkcast int[]
            invokestatic java.util.Arrays.toString:([I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 37
        22: .line 4652
      StackMap locals:
      StackMap stack:
            aload 6 /* eClass */
            ldc [J
            if_acmpne 24
        23: .line 4653
            aload 1 /* buf */
            aload 5 /* element */
            checkcast long[]
            invokestatic java.util.Arrays.toString:([J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 37
        24: .line 4654
      StackMap locals:
      StackMap stack:
            aload 6 /* eClass */
            ldc [C
            if_acmpne 26
        25: .line 4655
            aload 1 /* buf */
            aload 5 /* element */
            checkcast char[]
            invokestatic java.util.Arrays.toString:([C)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 37
        26: .line 4656
      StackMap locals:
      StackMap stack:
            aload 6 /* eClass */
            ldc [F
            if_acmpne 28
        27: .line 4657
            aload 1 /* buf */
            aload 5 /* element */
            checkcast float[]
            invokestatic java.util.Arrays.toString:([F)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 37
        28: .line 4658
      StackMap locals:
      StackMap stack:
            aload 6 /* eClass */
            ldc [D
            if_acmpne 30
        29: .line 4659
            aload 1 /* buf */
            aload 5 /* element */
            checkcast double[]
            invokestatic java.util.Arrays.toString:([D)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 37
        30: .line 4660
      StackMap locals:
      StackMap stack:
            aload 6 /* eClass */
            ldc [Z
            if_acmpne 32
        31: .line 4661
            aload 1 /* buf */
            aload 5 /* element */
            checkcast boolean[]
            invokestatic java.util.Arrays.toString:([Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 37
        32: .line 4663
      StackMap locals:
      StackMap stack:
            aload 2 /* dejaVu */
            aload 5 /* element */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 34
        33: .line 4664
            aload 1 /* buf */
            ldc "[...]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 37
        34: .line 4666
      StackMap locals:
      StackMap stack:
            aload 5 /* element */
            checkcast java.lang.Object[]
            aload 1 /* buf */
            aload 2 /* dejaVu */
            invokestatic java.util.Arrays.deepToString:([Ljava/lang/Object;Ljava/lang/StringBuilder;Ljava/util/Set;)V
        35: .line 4668
            goto 37
        36: .line 4669
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            aload 5 /* element */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 6 // java.lang.Class eClass
        37: .line 4672
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iload 3 /* iMax */
            if_icmpne 39
        38: .line 4673
            goto 41
        39: .line 4674
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // java.lang.Object element
        40: .line 4637
            iinc 4 /* i */ 1
            goto 10
        end local 4 // int i
        41: .line 4676
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        42: .line 4677
            aload 2 /* dejaVu */
            aload 0 /* a */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        43: .line 4678
            return
        end local 3 // int iMax
        end local 2 // java.util.Set dejaVu
        end local 1 // java.lang.StringBuilder buf
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   44     0        a  [Ljava/lang/Object;
            0   44     1      buf  Ljava/lang/StringBuilder;
            0   44     2   dejaVu  Ljava/util/Set<[Ljava/lang/Object;>;
            4   44     3     iMax  I
           10   41     4        i  I
           11   40     5  element  Ljava/lang/Object;
           15   37     6   eClass  Ljava/lang/Class<*>;
    Signature: ([Ljava/lang/Object;Ljava/lang/StringBuilder;Ljava/util/Set<[Ljava/lang/Object;>;)V
    MethodParameters:
        Name  Flags
      a       
      buf     
      dejaVu  

  public static <T> void setAll(T[], java.util.function.IntFunction<? extends T>);
    descriptor: ([Ljava/lang/Object;Ljava/util/function/IntFunction;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.Object[] array
        start local 1 // java.util.function.IntFunction generator
         0: .line 4696
            aload 1 /* generator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 4697
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 4698
      StackMap locals: int
      StackMap stack:
            aload 0 /* array */
            iload 2 /* i */
            aload 1 /* generator */
            iload 2 /* i */
            invokeinterface java.util.function.IntFunction.apply:(I)Ljava/lang/Object;
            aastore
         4: .line 4697
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* array */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 4699
            return
        end local 1 // java.util.function.IntFunction generator
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0      array  [Ljava/lang/Object;
            0    7     1  generator  Ljava/util/function/IntFunction<+TT;>;
            2    6     2          i  I
    Signature: <T:Ljava/lang/Object;>([TT;Ljava/util/function/IntFunction<+TT;>;)V
    MethodParameters:
           Name  Flags
      array      
      generator  

  public static <T> void parallelSetAll(T[], java.util.function.IntFunction<? extends T>);
    descriptor: ([Ljava/lang/Object;Ljava/util/function/IntFunction;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object[] array
        start local 1 // java.util.function.IntFunction generator
         0: .line 4717
            aload 1 /* generator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 4718
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic java.util.stream.IntStream.range:(II)Ljava/util/stream/IntStream;
            invokeinterface java.util.stream.IntStream.parallel:()Ljava/util/stream/IntStream;
            aload 0 /* array */
            aload 1 /* generator */
            invokedynamic accept([Ljava/lang/Object;Ljava/util/function/IntFunction;)Ljava/util/function/IntConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (I)V
                  java/util/Arrays.lambda$0([Ljava/lang/Object;Ljava/util/function/IntFunction;I)V (6)
                  (I)V
            invokeinterface java.util.stream.IntStream.forEach:(Ljava/util/function/IntConsumer;)V
         2: .line 4719
            return
        end local 1 // java.util.function.IntFunction generator
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0      array  [Ljava/lang/Object;
            0    3     1  generator  Ljava/util/function/IntFunction<+TT;>;
    Signature: <T:Ljava/lang/Object;>([TT;Ljava/util/function/IntFunction<+TT;>;)V
    MethodParameters:
           Name  Flags
      array      
      generator  

  public static void setAll(int[], java.util.function.IntUnaryOperator);
    descriptor: ([ILjava/util/function/IntUnaryOperator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // int[] array
        start local 1 // java.util.function.IntUnaryOperator generator
         0: .line 4735
            aload 1 /* generator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 4736
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 4737
      StackMap locals: int
      StackMap stack:
            aload 0 /* array */
            iload 2 /* i */
            aload 1 /* generator */
            iload 2 /* i */
            invokeinterface java.util.function.IntUnaryOperator.applyAsInt:(I)I
            iastore
         4: .line 4736
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* array */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 4738
            return
        end local 1 // java.util.function.IntUnaryOperator generator
        end local 0 // int[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0      array  [I
            0    7     1  generator  Ljava/util/function/IntUnaryOperator;
            2    6     2          i  I
    MethodParameters:
           Name  Flags
      array      
      generator  

  public static void parallelSetAll(int[], java.util.function.IntUnaryOperator);
    descriptor: ([ILjava/util/function/IntUnaryOperator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int[] array
        start local 1 // java.util.function.IntUnaryOperator generator
         0: .line 4755
            aload 1 /* generator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 4756
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic java.util.stream.IntStream.range:(II)Ljava/util/stream/IntStream;
            invokeinterface java.util.stream.IntStream.parallel:()Ljava/util/stream/IntStream;
            aload 0 /* array */
            aload 1 /* generator */
            invokedynamic accept([ILjava/util/function/IntUnaryOperator;)Ljava/util/function/IntConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (I)V
                  java/util/Arrays.lambda$1([ILjava/util/function/IntUnaryOperator;I)V (6)
                  (I)V
            invokeinterface java.util.stream.IntStream.forEach:(Ljava/util/function/IntConsumer;)V
         2: .line 4757
            return
        end local 1 // java.util.function.IntUnaryOperator generator
        end local 0 // int[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0      array  [I
            0    3     1  generator  Ljava/util/function/IntUnaryOperator;
    MethodParameters:
           Name  Flags
      array      
      generator  

  public static void setAll(long[], java.util.function.IntToLongFunction);
    descriptor: ([JLjava/util/function/IntToLongFunction;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // long[] array
        start local 1 // java.util.function.IntToLongFunction generator
         0: .line 4773
            aload 1 /* generator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 4774
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 4775
      StackMap locals: int
      StackMap stack:
            aload 0 /* array */
            iload 2 /* i */
            aload 1 /* generator */
            iload 2 /* i */
            invokeinterface java.util.function.IntToLongFunction.applyAsLong:(I)J
            lastore
         4: .line 4774
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* array */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 4776
            return
        end local 1 // java.util.function.IntToLongFunction generator
        end local 0 // long[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0      array  [J
            0    7     1  generator  Ljava/util/function/IntToLongFunction;
            2    6     2          i  I
    MethodParameters:
           Name  Flags
      array      
      generator  

  public static void parallelSetAll(long[], java.util.function.IntToLongFunction);
    descriptor: ([JLjava/util/function/IntToLongFunction;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // long[] array
        start local 1 // java.util.function.IntToLongFunction generator
         0: .line 4793
            aload 1 /* generator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 4794
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic java.util.stream.IntStream.range:(II)Ljava/util/stream/IntStream;
            invokeinterface java.util.stream.IntStream.parallel:()Ljava/util/stream/IntStream;
            aload 0 /* array */
            aload 1 /* generator */
            invokedynamic accept([JLjava/util/function/IntToLongFunction;)Ljava/util/function/IntConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (I)V
                  java/util/Arrays.lambda$2([JLjava/util/function/IntToLongFunction;I)V (6)
                  (I)V
            invokeinterface java.util.stream.IntStream.forEach:(Ljava/util/function/IntConsumer;)V
         2: .line 4795
            return
        end local 1 // java.util.function.IntToLongFunction generator
        end local 0 // long[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0      array  [J
            0    3     1  generator  Ljava/util/function/IntToLongFunction;
    MethodParameters:
           Name  Flags
      array      
      generator  

  public static void setAll(double[], java.util.function.IntToDoubleFunction);
    descriptor: ([DLjava/util/function/IntToDoubleFunction;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // double[] array
        start local 1 // java.util.function.IntToDoubleFunction generator
         0: .line 4811
            aload 1 /* generator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 4812
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 4813
      StackMap locals: int
      StackMap stack:
            aload 0 /* array */
            iload 2 /* i */
            aload 1 /* generator */
            iload 2 /* i */
            invokeinterface java.util.function.IntToDoubleFunction.applyAsDouble:(I)D
            dastore
         4: .line 4812
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* array */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 4814
            return
        end local 1 // java.util.function.IntToDoubleFunction generator
        end local 0 // double[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0      array  [D
            0    7     1  generator  Ljava/util/function/IntToDoubleFunction;
            2    6     2          i  I
    MethodParameters:
           Name  Flags
      array      
      generator  

  public static void parallelSetAll(double[], java.util.function.IntToDoubleFunction);
    descriptor: ([DLjava/util/function/IntToDoubleFunction;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // double[] array
        start local 1 // java.util.function.IntToDoubleFunction generator
         0: .line 4831
            aload 1 /* generator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 4832
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic java.util.stream.IntStream.range:(II)Ljava/util/stream/IntStream;
            invokeinterface java.util.stream.IntStream.parallel:()Ljava/util/stream/IntStream;
            aload 0 /* array */
            aload 1 /* generator */
            invokedynamic accept([DLjava/util/function/IntToDoubleFunction;)Ljava/util/function/IntConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (I)V
                  java/util/Arrays.lambda$3([DLjava/util/function/IntToDoubleFunction;I)V (6)
                  (I)V
            invokeinterface java.util.stream.IntStream.forEach:(Ljava/util/function/IntConsumer;)V
         2: .line 4833
            return
        end local 1 // java.util.function.IntToDoubleFunction generator
        end local 0 // double[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0      array  [D
            0    3     1  generator  Ljava/util/function/IntToDoubleFunction;
    MethodParameters:
           Name  Flags
      array      
      generator  

  public static <T> java.util.Spliterator<T> spliterator(T[]);
    descriptor: ([Ljava/lang/Object;)Ljava/util/Spliterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object[] array
         0: .line 4848
            aload 0 /* array */
         1: .line 4849
            sipush 1040
         2: .line 4848
            invokestatic java.util.Spliterators.spliterator:([Ljava/lang/Object;I)Ljava/util/Spliterator;
            areturn
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  array  [Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>([TT;)Ljava/util/Spliterator<TT;>;
    MethodParameters:
       Name  Flags
      array  

  public static <T> java.util.Spliterator<T> spliterator(T[], int, int);
    descriptor: ([Ljava/lang/Object;II)Ljava/util/Spliterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.Object[] array
        start local 1 // int startInclusive
        start local 2 // int endExclusive
         0: .line 4872
            aload 0 /* array */
            iload 1 /* startInclusive */
            iload 2 /* endExclusive */
         1: .line 4873
            sipush 1040
         2: .line 4872
            invokestatic java.util.Spliterators.spliterator:([Ljava/lang/Object;III)Ljava/util/Spliterator;
            areturn
        end local 2 // int endExclusive
        end local 1 // int startInclusive
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0           array  [Ljava/lang/Object;
            0    3     1  startInclusive  I
            0    3     2    endExclusive  I
    Signature: <T:Ljava/lang/Object;>([TT;II)Ljava/util/Spliterator<TT;>;
    MethodParameters:
                Name  Flags
      array           
      startInclusive  
      endExclusive    

  public static java.util.Spliterator$OfInt spliterator(int[]);
    descriptor: ([I)Ljava/util/Spliterator$OfInt;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int[] array
         0: .line 4888
            aload 0 /* array */
         1: .line 4889
            sipush 1040
         2: .line 4888
            invokestatic java.util.Spliterators.spliterator:([II)Ljava/util/Spliterator$OfInt;
            areturn
        end local 0 // int[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  array  [I
    MethodParameters:
       Name  Flags
      array  

  public static java.util.Spliterator$OfInt spliterator(int[], int, int);
    descriptor: ([III)Ljava/util/Spliterator$OfInt;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // int[] array
        start local 1 // int startInclusive
        start local 2 // int endExclusive
         0: .line 4911
            aload 0 /* array */
            iload 1 /* startInclusive */
            iload 2 /* endExclusive */
         1: .line 4912
            sipush 1040
         2: .line 4911
            invokestatic java.util.Spliterators.spliterator:([IIII)Ljava/util/Spliterator$OfInt;
            areturn
        end local 2 // int endExclusive
        end local 1 // int startInclusive
        end local 0 // int[] array
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0           array  [I
            0    3     1  startInclusive  I
            0    3     2    endExclusive  I
    MethodParameters:
                Name  Flags
      array           
      startInclusive  
      endExclusive    

  public static java.util.Spliterator$OfLong spliterator(long[]);
    descriptor: ([J)Ljava/util/Spliterator$OfLong;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // long[] array
         0: .line 4927
            aload 0 /* array */
         1: .line 4928
            sipush 1040
         2: .line 4927
            invokestatic java.util.Spliterators.spliterator:([JI)Ljava/util/Spliterator$OfLong;
            areturn
        end local 0 // long[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  array  [J
    MethodParameters:
       Name  Flags
      array  

  public static java.util.Spliterator$OfLong spliterator(long[], int, int);
    descriptor: ([JII)Ljava/util/Spliterator$OfLong;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // long[] array
        start local 1 // int startInclusive
        start local 2 // int endExclusive
         0: .line 4950
            aload 0 /* array */
            iload 1 /* startInclusive */
            iload 2 /* endExclusive */
         1: .line 4951
            sipush 1040
         2: .line 4950
            invokestatic java.util.Spliterators.spliterator:([JIII)Ljava/util/Spliterator$OfLong;
            areturn
        end local 2 // int endExclusive
        end local 1 // int startInclusive
        end local 0 // long[] array
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0           array  [J
            0    3     1  startInclusive  I
            0    3     2    endExclusive  I
    MethodParameters:
                Name  Flags
      array           
      startInclusive  
      endExclusive    

  public static java.util.Spliterator$OfDouble spliterator(double[]);
    descriptor: ([D)Ljava/util/Spliterator$OfDouble;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // double[] array
         0: .line 4967
            aload 0 /* array */
         1: .line 4968
            sipush 1040
         2: .line 4967
            invokestatic java.util.Spliterators.spliterator:([DI)Ljava/util/Spliterator$OfDouble;
            areturn
        end local 0 // double[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  array  [D
    MethodParameters:
       Name  Flags
      array  

  public static java.util.Spliterator$OfDouble spliterator(double[], int, int);
    descriptor: ([DII)Ljava/util/Spliterator$OfDouble;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // double[] array
        start local 1 // int startInclusive
        start local 2 // int endExclusive
         0: .line 4990
            aload 0 /* array */
            iload 1 /* startInclusive */
            iload 2 /* endExclusive */
         1: .line 4991
            sipush 1040
         2: .line 4990
            invokestatic java.util.Spliterators.spliterator:([DIII)Ljava/util/Spliterator$OfDouble;
            areturn
        end local 2 // int endExclusive
        end local 1 // int startInclusive
        end local 0 // double[] array
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0           array  [D
            0    3     1  startInclusive  I
            0    3     2    endExclusive  I
    MethodParameters:
                Name  Flags
      array           
      startInclusive  
      endExclusive    

  public static <T> java.util.stream.Stream<T> stream(T[]);
    descriptor: ([Ljava/lang/Object;)Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object[] array
         0: .line 5004
            aload 0 /* array */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;II)Ljava/util/stream/Stream;
            areturn
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  array  [Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>([TT;)Ljava/util/stream/Stream<TT;>;
    MethodParameters:
       Name  Flags
      array  

  public static <T> java.util.stream.Stream<T> stream(T[], int, int);
    descriptor: ([Ljava/lang/Object;II)Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.Object[] array
        start local 1 // int startInclusive
        start local 2 // int endExclusive
         0: .line 5023
            aload 0 /* array */
            iload 1 /* startInclusive */
            iload 2 /* endExclusive */
            invokestatic java.util.Arrays.spliterator:([Ljava/lang/Object;II)Ljava/util/Spliterator;
            iconst_0
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
            areturn
        end local 2 // int endExclusive
        end local 1 // int startInclusive
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0           array  [Ljava/lang/Object;
            0    1     1  startInclusive  I
            0    1     2    endExclusive  I
    Signature: <T:Ljava/lang/Object;>([TT;II)Ljava/util/stream/Stream<TT;>;
    MethodParameters:
                Name  Flags
      array           
      startInclusive  
      endExclusive    

  public static java.util.stream.IntStream stream(int[]);
    descriptor: ([I)Ljava/util/stream/IntStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int[] array
         0: .line 5035
            aload 0 /* array */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic java.util.Arrays.stream:([III)Ljava/util/stream/IntStream;
            areturn
        end local 0 // int[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  array  [I
    MethodParameters:
       Name  Flags
      array  

  public static java.util.stream.IntStream stream(int[], int, int);
    descriptor: ([III)Ljava/util/stream/IntStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // int[] array
        start local 1 // int startInclusive
        start local 2 // int endExclusive
         0: .line 5053
            aload 0 /* array */
            iload 1 /* startInclusive */
            iload 2 /* endExclusive */
            invokestatic java.util.Arrays.spliterator:([III)Ljava/util/Spliterator$OfInt;
            iconst_0
            invokestatic java.util.stream.StreamSupport.intStream:(Ljava/util/Spliterator$OfInt;Z)Ljava/util/stream/IntStream;
            areturn
        end local 2 // int endExclusive
        end local 1 // int startInclusive
        end local 0 // int[] array
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0           array  [I
            0    1     1  startInclusive  I
            0    1     2    endExclusive  I
    MethodParameters:
                Name  Flags
      array           
      startInclusive  
      endExclusive    

  public static java.util.stream.LongStream stream(long[]);
    descriptor: ([J)Ljava/util/stream/LongStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // long[] array
         0: .line 5065
            aload 0 /* array */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic java.util.Arrays.stream:([JII)Ljava/util/stream/LongStream;
            areturn
        end local 0 // long[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  array  [J
    MethodParameters:
       Name  Flags
      array  

  public static java.util.stream.LongStream stream(long[], int, int);
    descriptor: ([JII)Ljava/util/stream/LongStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // long[] array
        start local 1 // int startInclusive
        start local 2 // int endExclusive
         0: .line 5083
            aload 0 /* array */
            iload 1 /* startInclusive */
            iload 2 /* endExclusive */
            invokestatic java.util.Arrays.spliterator:([JII)Ljava/util/Spliterator$OfLong;
            iconst_0
            invokestatic java.util.stream.StreamSupport.longStream:(Ljava/util/Spliterator$OfLong;Z)Ljava/util/stream/LongStream;
            areturn
        end local 2 // int endExclusive
        end local 1 // int startInclusive
        end local 0 // long[] array
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0           array  [J
            0    1     1  startInclusive  I
            0    1     2    endExclusive  I
    MethodParameters:
                Name  Flags
      array           
      startInclusive  
      endExclusive    

  public static java.util.stream.DoubleStream stream(double[]);
    descriptor: ([D)Ljava/util/stream/DoubleStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // double[] array
         0: .line 5095
            aload 0 /* array */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic java.util.Arrays.stream:([DII)Ljava/util/stream/DoubleStream;
            areturn
        end local 0 // double[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  array  [D
    MethodParameters:
       Name  Flags
      array  

  public static java.util.stream.DoubleStream stream(double[], int, int);
    descriptor: ([DII)Ljava/util/stream/DoubleStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // double[] array
        start local 1 // int startInclusive
        start local 2 // int endExclusive
         0: .line 5113
            aload 0 /* array */
            iload 1 /* startInclusive */
            iload 2 /* endExclusive */
            invokestatic java.util.Arrays.spliterator:([DII)Ljava/util/Spliterator$OfDouble;
            iconst_0
            invokestatic java.util.stream.StreamSupport.doubleStream:(Ljava/util/Spliterator$OfDouble;Z)Ljava/util/stream/DoubleStream;
            areturn
        end local 2 // int endExclusive
        end local 1 // int startInclusive
        end local 0 // double[] array
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0           array  [D
            0    1     1  startInclusive  I
            0    1     2    endExclusive  I
    MethodParameters:
                Name  Flags
      array           
      startInclusive  
      endExclusive    

  private static void lambda$0(java.lang.Object[], java.util.function.IntFunction, int);
    descriptor: ([Ljava/lang/Object;Ljava/util/function/IntFunction;I)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 2 // int i
         0: .line 4718
            aload 0
            iload 2 /* i */
            aload 1
            iload 2 /* i */
            invokeinterface java.util.function.IntFunction.apply:(I)Ljava/lang/Object;
            aastore
            return
        end local 2 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     2     i  I

  private static void lambda$1(int[], java.util.function.IntUnaryOperator, int);
    descriptor: ([ILjava/util/function/IntUnaryOperator;I)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 2 // int i
         0: .line 4756
            aload 0
            iload 2 /* i */
            aload 1
            iload 2 /* i */
            invokeinterface java.util.function.IntUnaryOperator.applyAsInt:(I)I
            iastore
            return
        end local 2 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     2     i  I

  private static void lambda$2(long[], java.util.function.IntToLongFunction, int);
    descriptor: ([JLjava/util/function/IntToLongFunction;I)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 2 // int i
         0: .line 4794
            aload 0
            iload 2 /* i */
            aload 1
            iload 2 /* i */
            invokeinterface java.util.function.IntToLongFunction.applyAsLong:(I)J
            lastore
            return
        end local 2 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     2     i  I

  private static void lambda$3(double[], java.util.function.IntToDoubleFunction, int);
    descriptor: ([DLjava/util/function/IntToDoubleFunction;I)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 2 // int i
         0: .line 4832
            aload 0
            iload 2 /* i */
            aload 1
            iload 2 /* i */
            invokeinterface java.util.function.IntToDoubleFunction.applyAsDouble:(I)D
            dastore
            return
        end local 2 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     2     i  I
}
SourceFile: "Arrays.java"
NestMembers:
  java.util.Arrays$ArrayList  java.util.Arrays$LegacyMergeSort  java.util.Arrays$NaturalOrder
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  final CumulateTask = java.util.ArrayPrefixHelpers$CumulateTask of java.util.ArrayPrefixHelpers
  final DoubleCumulateTask = java.util.ArrayPrefixHelpers$DoubleCumulateTask of java.util.ArrayPrefixHelpers
  final IntCumulateTask = java.util.ArrayPrefixHelpers$IntCumulateTask of java.util.ArrayPrefixHelpers
  final LongCumulateTask = java.util.ArrayPrefixHelpers$LongCumulateTask of java.util.ArrayPrefixHelpers
  private ArrayList = java.util.Arrays$ArrayList of java.util.Arrays
  final LegacyMergeSort = java.util.Arrays$LegacyMergeSort of java.util.Arrays
  final NaturalOrder = java.util.Arrays$NaturalOrder of java.util.Arrays
  final FJByte = java.util.ArraysParallelSortHelpers$FJByte of java.util.ArraysParallelSortHelpers
  final Sorter = java.util.ArraysParallelSortHelpers$FJByte$Sorter of java.util.ArraysParallelSortHelpers$FJByte
  final FJChar = java.util.ArraysParallelSortHelpers$FJChar of java.util.ArraysParallelSortHelpers
  final Sorter = java.util.ArraysParallelSortHelpers$FJChar$Sorter of java.util.ArraysParallelSortHelpers$FJChar
  final FJDouble = java.util.ArraysParallelSortHelpers$FJDouble of java.util.ArraysParallelSortHelpers
  final Sorter = java.util.ArraysParallelSortHelpers$FJDouble$Sorter of java.util.ArraysParallelSortHelpers$FJDouble
  final FJFloat = java.util.ArraysParallelSortHelpers$FJFloat of java.util.ArraysParallelSortHelpers
  final Sorter = java.util.ArraysParallelSortHelpers$FJFloat$Sorter of java.util.ArraysParallelSortHelpers$FJFloat
  final FJInt = java.util.ArraysParallelSortHelpers$FJInt of java.util.ArraysParallelSortHelpers
  final Sorter = java.util.ArraysParallelSortHelpers$FJInt$Sorter of java.util.ArraysParallelSortHelpers$FJInt
  final FJLong = java.util.ArraysParallelSortHelpers$FJLong of java.util.ArraysParallelSortHelpers
  final Sorter = java.util.ArraysParallelSortHelpers$FJLong$Sorter of java.util.ArraysParallelSortHelpers$FJLong
  final FJObject = java.util.ArraysParallelSortHelpers$FJObject of java.util.ArraysParallelSortHelpers
  final Sorter = java.util.ArraysParallelSortHelpers$FJObject$Sorter of java.util.ArraysParallelSortHelpers$FJObject
  final FJShort = java.util.ArraysParallelSortHelpers$FJShort of java.util.ArraysParallelSortHelpers
  final Sorter = java.util.ArraysParallelSortHelpers$FJShort$Sorter of java.util.ArraysParallelSortHelpers$FJShort
  public abstract OfDouble = java.util.Spliterator$OfDouble of java.util.Spliterator
  public abstract OfInt = java.util.Spliterator$OfInt of java.util.Spliterator
  public abstract OfLong = java.util.Spliterator$OfLong of java.util.Spliterator