// File: ncbi[P]amr/common.cpp
// Function: Common_sp::StringVector::StringVector(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, unsigned long, bool)
StringVector::StringVector (const string &fName,
                            size_t reserve_size,
                            bool trimP)
{
	searchSorted = true;
	
	reserve (reserve_size);
  try
  {
  	LineInput f (fName);
  	string prev;
    while (f. nextLine ())
    {
      if (trimP)
        trim (f. line);
      *this << f. line;
  	  if (f. line < prev)
  	  	searchSorted = false;
      prev = std::move (f. line);
    }
  }
  catch (const exception &e)
  {
    throw runtime_error ("Reading file " + shellQuote (fName) + "\n" + e. what ());
  }  
}

// Assembly:
subq $0x3c8, %rsp            # imm = 0x3C8
movb %cl, %al
movq %rdi, 0x3c0(%rsp)
movq %rsi, 0x3b8(%rsp)
movq %rdx, 0x3b0(%rsp)
andb $0x1, %al
movb %al, 0x3af(%rsp)
movq 0x3c0(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x35160
movq 0x18(%rsp), %rdi
movb $0x1, 0x18(%rdi)
movq 0x3b0(%rsp), %rsi
callq 0x32840
jmp 0x4d994
movq 0x3b8(%rsp), %rsi
leaq 0xf0(%rsp), %rdi
xorl %edx, %edx
callq 0x2f200
jmp 0x4d9ad
leaq 0xd0(%rsp), %rdi
callq 0xca10
leaq 0xf0(%rsp), %rdi
callq 0x3d390
movb %al, 0x17(%rsp)
jmp 0x4d9cd
movb 0x17(%rsp), %al
testb $0x1, %al
jne 0x4d9da
jmp 0x4dbaf
testb $0x1, 0x3af(%rsp)
je 0x4db4f
leaq 0x358(%rsp), %rdi
callq 0x73800
jmp 0x4d9f7
jmp 0x4db4f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3a0(%rsp)
movl %eax, 0x39c(%rsp)
jmp 0x4dcb2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3a0(%rsp)
movl %eax, 0x39c(%rsp)
jmp 0x4da59
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3a0(%rsp)
movl %eax, 0x39c(%rsp)
leaq 0xd0(%rsp), %rdi
callq 0xce98
leaq 0xf0(%rsp), %rdi
callq 0x2f490
movl 0x39c(%rsp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x4dcb2
movq 0x3a0(%rsp), %rdi
callq 0xc2f0
movq %rax, 0xc8(%rsp)
movb $0x1, 0x27(%rsp)
movl $0x10, %edi
callq 0xc3b0
movq %rax, 0x8(%rsp)
movq 0x3b8(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0xc320
jmp 0x4daaa
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x2d3d0
jmp 0x4dabb
leaq 0x80ad5(%rip), %rsi     # 0xce597
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0x2a340
jmp 0x4dad3
leaq 0x81f43(%rip), %rdx     # 0xcfa1d
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x2a2f0
jmp 0x4daee
movq 0xc8(%rsp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, %rdx
leaq 0xa8(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x2a2f0
jmp 0x4db19
movq 0x8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0xcbb0
jmp 0x4db2d
movq 0x8(%rsp), %rdi
movb $0x0, 0x27(%rsp)
movq 0xb84b2(%rip), %rsi     # 0x105ff0
movq 0xb842b(%rip), %rdx     # 0x105f70
callq 0xcc80
jmp 0x4dcd1
movq 0x18(%rsp), %rdi
leaq 0x358(%rsp), %rsi
callq 0x2f170
jmp 0x4db63
leaq 0xf0(%rsp), %rdi
addq $0x268, %rdi            # imm = 0x268
leaq 0xd0(%rsp), %rsi
callq 0x2c7d0
testb $0x1, %al
jne 0x4db85
jmp 0x4db8e
movq 0x18(%rsp), %rax
movb $0x0, 0x18(%rax)
leaq 0xf0(%rsp), %rsi
addq $0x268, %rsi            # imm = 0x268
leaq 0xd0(%rsp), %rdi
callq 0xc8f0
jmp 0x4d9ba
leaq 0xd0(%rsp), %rdi
callq 0xce98
leaq 0xf0(%rsp), %rdi
callq 0x2f490
jmp 0x4dcaa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3a0(%rsp)
movl %eax, 0x39c(%rsp)
jmp 0x4dc8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3a0(%rsp)
movl %eax, 0x39c(%rsp)
jmp 0x4dc84
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3a0(%rsp)
movl %eax, 0x39c(%rsp)
jmp 0x4dc7a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3a0(%rsp)
movl %eax, 0x39c(%rsp)
jmp 0x4dc70
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3a0(%rsp)
movl %eax, 0x39c(%rsp)
jmp 0x4dc63
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3a0(%rsp)
movl %eax, 0x39c(%rsp)
leaq 0xa8(%rsp), %rdi
callq 0xce98
leaq 0x88(%rsp), %rdi
callq 0xce98
leaq 0x68(%rsp), %rdi
callq 0xce98
leaq 0x48(%rsp), %rdi
callq 0xce98
leaq 0x28(%rsp), %rdi
callq 0xce98
testb $0x1, 0x27(%rsp)
jne 0x4dc97
jmp 0x4dca1
movq 0x8(%rsp), %rdi
callq 0xc580
callq 0xcbe0
jmp 0x4dca8
jmp 0x4dcb2
addq $0x3c8, %rsp            # imm = 0x3C8
retq
movq 0x18(%rsp), %rdi
callq 0x350f0
movq 0x3a0(%rsp), %rdi
callq 0xccf0
movq %rax, %rdi
callq 0x2ad70
nopw %cs:(%rax,%rax)