// File: ncbi[P]amr/common.cpp
// Function: Common_sp::PairFile::next()
bool PairFile::next ()
{ 
  if (! f. nextLine ())
	  return false;
	  
  iss. reset (f. line);
  name2. clear ();
  iss >> name1 >> name2;
  
  if (name2. empty ())
  	throw runtime_error (FUNC "No pair: " + strQuote (name1) + " - " + strQuote (name2));
  if (! sameAllowed && name1 == name2)
  	throw runtime_error (FUNC "Same name: " + name1);
  	
  if (orderNames && name1 > name2)
  	swap (name1, name2);
  	
  return true;
}

// Assembly:
subq $0x1a8, %rsp            # imm = 0x1A8
movq %rdi, 0x198(%rsp)
movq 0x198(%rsp), %rdi
movq %rdi, 0x28(%rsp)
addq $0x8, %rdi
callq 0x3d390
testb $0x1, %al
jne 0x5a536
movb $0x0, 0x1a7(%rsp)
jmp 0x5a9e1
movq 0x28(%rsp), %rsi
movq %rsi, %rdi
addq $0x2b0, %rdi            # imm = 0x2B0
addq $0x8, %rsi
addq $0x268, %rsi            # imm = 0x268
callq 0x2f350
movq 0x28(%rsp), %rdi
addq $0x458, %rdi            # imm = 0x458
callq 0xc9a0
movq 0x28(%rsp), %rsi
movq %rsi, %rdi
addq $0x2b0, %rdi            # imm = 0x2B0
addq $0x438, %rsi            # imm = 0x438
callq 0xc950
movq 0x28(%rsp), %rsi
movq %rax, %rdi
addq $0x458, %rsi            # imm = 0x458
callq 0xc950
movq 0x28(%rsp), %rdi
addq $0x458, %rdi            # imm = 0x458
callq 0xcc10
testb $0x1, %al
jne 0x5a5af
jmp 0x5a823
movb $0x1, 0x9f(%rsp)
movl $0x10, %edi
callq 0xc3b0
movq %rax, 0x18(%rsp)
leaq 0xf7(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xcd00
movq 0x20(%rsp), %rdx
leaq 0x7475c(%rip), %rsi     # 0xced40
leaq 0xf8(%rsp), %rdi
callq 0x29fd0
jmp 0x5a5f3
leaq 0x74767(%rip), %rdx     # 0xced61
leaq 0x118(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x2a2f0
jmp 0x5a611
movq 0x28(%rsp), %rsi
addq $0x438, %rsi            # imm = 0x438
leaq 0xc0(%rsp), %rdi
movl $0x22, %edx
callq 0x424f0
jmp 0x5a631
leaq 0x138(%rsp), %rdi
leaq 0x118(%rsp), %rsi
leaq 0xc0(%rsp), %rdx
callq 0x2dde0
jmp 0x5a650
leaq 0x74716(%rip), %rdx     # 0xced6d
leaq 0x158(%rsp), %rdi
leaq 0x138(%rsp), %rsi
callq 0x2a2f0
jmp 0x5a66e
movq 0x28(%rsp), %rsi
addq $0x458, %rsi            # imm = 0x458
leaq 0xa0(%rsp), %rdi
movl $0x22, %edx
callq 0x424f0
jmp 0x5a68e
leaq 0x178(%rsp), %rdi
leaq 0x158(%rsp), %rsi
leaq 0xa0(%rsp), %rdx
callq 0x2dde0
jmp 0x5a6ad
movq 0x18(%rsp), %rdi
leaq 0x178(%rsp), %rsi
callq 0xcbb0
jmp 0x5a6c1
movq 0x18(%rsp), %rdi
movb $0x0, 0x9f(%rsp)
movq 0xab91b(%rip), %rsi     # 0x105ff0
movq 0xab894(%rip), %rdx     # 0x105f70
callq 0xcc80
jmp 0x5a9ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
jmp 0x5a7fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
jmp 0x5a7ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
jmp 0x5a7e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
jmp 0x5a7d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
jmp 0x5a7c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
jmp 0x5a7ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
jmp 0x5a7ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
leaq 0x178(%rsp), %rdi
callq 0xce98
leaq 0xa0(%rsp), %rdi
callq 0xce98
leaq 0x158(%rsp), %rdi
callq 0xce98
leaq 0x138(%rsp), %rdi
callq 0xce98
leaq 0xc0(%rsp), %rdi
callq 0xce98
leaq 0x118(%rsp), %rdi
callq 0xce98
leaq 0xf8(%rsp), %rdi
callq 0xce98
leaq 0xf7(%rsp), %rdi
callq 0xc7a0
testb $0x1, 0x9f(%rsp)
jne 0x5a814
jmp 0x5a81e
movq 0x18(%rsp), %rdi
callq 0xc580
jmp 0x5a9f2
movq 0x28(%rsp), %rax
testb $0x1, 0x430(%rax)
jne 0x5a98f
movq 0x28(%rsp), %rsi
movq %rsi, %rdi
addq $0x438, %rdi            # imm = 0x438
addq $0x458, %rsi            # imm = 0x458
callq 0x30100
testb $0x1, %al
jne 0x5a859
jmp 0x5a98f
movb $0x1, 0x36(%rsp)
movl $0x10, %edi
callq 0xc3b0
movq %rax, 0x8(%rsp)
leaq 0x37(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xcd00
movq 0x10(%rsp), %rdx
leaq 0x744b8(%rip), %rsi     # 0xced40
leaq 0x38(%rsp), %rdi
callq 0x29fd0
jmp 0x5a894
leaq 0x744d6(%rip), %rdx     # 0xced71
leaq 0x58(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0x2a2f0
jmp 0x5a8ac
movq 0x28(%rsp), %rdx
addq $0x438, %rdx            # imm = 0x438
leaq 0x78(%rsp), %rdi
leaq 0x58(%rsp), %rsi
callq 0x2e220
jmp 0x5a8c9
movq 0x8(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0xcbb0
jmp 0x5a8da
movq 0x8(%rsp), %rdi
movb $0x0, 0x36(%rsp)
movq 0xab705(%rip), %rsi     # 0x105ff0
movq 0xab67e(%rip), %rdx     # 0x105f70
callq 0xcc80
jmp 0x5a9ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
jmp 0x5a970
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
jmp 0x5a966
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
jmp 0x5a95c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xe8(%rsp)
movl %eax, 0xe4(%rsp)
leaq 0x78(%rsp), %rdi
callq 0xce98
leaq 0x58(%rsp), %rdi
callq 0xce98
leaq 0x38(%rsp), %rdi
callq 0xce98
leaq 0x37(%rsp), %rdi
callq 0xc7a0
testb $0x1, 0x36(%rsp)
jne 0x5a983
jmp 0x5a98d
movq 0x8(%rsp), %rdi
callq 0xc580
jmp 0x5a9f2
movq 0x28(%rsp), %rax
testb $0x1, 0x431(%rax)
je 0x5a9d9
movq 0x28(%rsp), %rsi
movq %rsi, %rdi
addq $0x438, %rdi            # imm = 0x438
addq $0x458, %rsi            # imm = 0x458
callq 0x75740
testb $0x1, %al
jne 0x5a9be
jmp 0x5a9d9
movq 0x28(%rsp), %rsi
movq %rsi, %rdi
addq $0x438, %rdi            # imm = 0x438
addq $0x458, %rsi            # imm = 0x458
callq 0x34530
movb $0x1, 0x1a7(%rsp)
movb 0x1a7(%rsp), %al
andb $0x1, %al
addq $0x1a8, %rsp            # imm = 0x1A8
retq
movq 0xe8(%rsp), %rdi
callq 0xccf0
nop