class org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block
  super_class: java.lang.Object
{
  private long[] v;
    descriptor: [J
    flags: (0x0002) ACC_PRIVATE

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
         0: .line 631
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 633
            aload 0 /* this */
            sipush 128
            newarray 11
            putfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
         2: .line 634
            return
        end local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;

  void fromBytes(byte[]);
    descriptor: ([B)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
        start local 1 // byte[] input
         0: .line 638
            aload 1 /* input */
            arraylength
            sipush 1024
            if_icmpeq 2
         1: .line 640
            new java.lang.IllegalArgumentException
            dup
            ldc "input shorter than blocksize"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 643
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 645
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            iload 2 /* i */
            aload 1 /* input */
            iload 2 /* i */
            bipush 8
            imul
            invokestatic org.bouncycastle.util.Pack.littleEndianToLong:([BI)J
            lastore
         5: .line 643
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            arraylength
            if_icmplt 4
        end local 2 // int i
         7: .line 647
            return
        end local 1 // byte[] input
        end local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;
            0    8     1  input  [B
            3    7     2      i  I
    MethodParameters:
       Name  Flags
      input  

  byte[] toBytes();
    descriptor: ()[B
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
         0: .line 651
            sipush 1024
            newarray 8
            astore 1 /* result */
        start local 1 // byte[] result
         1: .line 653
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 655
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            iload 2 /* i */
            laload
            aload 1 /* result */
            iload 2 /* i */
            bipush 8
            imul
            invokestatic org.bouncycastle.util.Pack.longToLittleEndian:(J[BI)V
         4: .line 653
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 658
            aload 1 /* result */
            areturn
        end local 1 // byte[] result
        end local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;
            1    7     1  result  [B
            2    6     2       i  I

  private void copyBlock(org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block);
    descriptor: (Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
        start local 1 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block other
         0: .line 663
            aload 1 /* other */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            iconst_0
            aload 0 /* this */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            iconst_0
            aload 0 /* this */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 664
            return
        end local 1 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block other
        end local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;
            0    2     1  other  Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;
    MethodParameters:
       Name  Flags
      other  

  private void xor(org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block, org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block);
    descriptor: (Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
        start local 1 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block b1
        start local 2 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block b2
         0: .line 668
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 4
         2: .line 670
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            iload 3 /* i */
            aload 1 /* b1 */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            iload 3 /* i */
            laload
            aload 2 /* b2 */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            iload 3 /* i */
            laload
            lxor
            lastore
         3: .line 668
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 3 /* i */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            arraylength
            if_icmplt 2
        end local 3 // int i
         5: .line 672
            return
        end local 2 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block b2
        end local 1 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block b1
        end local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;
            0    6     1    b1  Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;
            0    6     2    b2  Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;
            1    5     3     i  I
    MethodParameters:
      Name  Flags
      b1    
      b2    

  public void xor(org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block, org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block, org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block);
    descriptor: (Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
        start local 1 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block b1
        start local 2 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block b2
        start local 3 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block b3
         0: .line 676
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 4
         2: .line 678
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            iload 4 /* i */
            aload 1 /* b1 */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            iload 4 /* i */
            laload
            aload 2 /* b2 */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            iload 4 /* i */
            laload
            lxor
            aload 3 /* b3 */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            iload 4 /* i */
            laload
            lxor
            lastore
         3: .line 676
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 4 /* i */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            arraylength
            if_icmplt 2
        end local 4 // int i
         5: .line 680
            return
        end local 3 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block b3
        end local 2 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block b2
        end local 1 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block b1
        end local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;
            0    6     1    b1  Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;
            0    6     2    b2  Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;
            0    6     3    b3  Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;
            1    5     4     i  I
    MethodParameters:
      Name  Flags
      b1    
      b2    
      b3    

  private void xorWith(org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block);
    descriptor: (Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
        start local 1 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block other
         0: .line 684
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 4
         2: .line 686
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            iload 2 /* i */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            iload 2 /* i */
            laload
            aload 1 /* other */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            iload 2 /* i */
            laload
            lxor
            lastore
         3: .line 684
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 2 /* i */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            arraylength
            if_icmplt 2
        end local 2 // int i
         5: .line 688
            return
        end local 1 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block other
        end local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;
            0    6     1  other  Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;
            1    5     2      i  I
    MethodParameters:
       Name  Flags
      other  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
         0: .line 692
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* result */
        start local 1 // java.lang.StringBuffer result
         1: .line 693
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 695
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 1 /* result */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            iload 2 /* i */
            laload
            invokestatic org.bouncycastle.util.Pack.longToLittleEndian:(J)[B
            invokestatic org.bouncycastle.util.encoders.Hex.toHexString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 693
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 698
            aload 1 /* result */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer result
        end local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;
            1    7     1  result  Ljava/lang/StringBuffer;
            2    6     2       i  I

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
         0: .line 703
            aload 0 /* this */
            getfield org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block.v:[J
            lconst_0
            invokestatic org.bouncycastle.util.Arrays.fill:([JJ)V
         1: .line 704
            return
        end local 0 // org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/crypto/generators/Argon2BytesGenerator$Block;
}
SourceFile: "Argon2BytesGenerator.java"
NestHost: org.bouncycastle.crypto.generators.Argon2BytesGenerator
InnerClasses:
  private Block = org.bouncycastle.crypto.generators.Argon2BytesGenerator$Block of org.bouncycastle.crypto.generators.Argon2BytesGenerator