// File: ncbi[P]amr/common.cpp
// Function: Common_sp::exec(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void exec (const string &cmd,
           const string &logFName)
{
  ASSERT (! cmd. empty ());
  
//Chronometer_OnePass cop (cmd);  
  if (verbose ())
  	cout << cmd << endl;
  LOG (cmd);
  	
	const int status = system (cmd. c_str ());  // pipefail's are not caught
	LOG ("status = " + to_string (status));
	if (status)
	{
	  string err (cmd + "\nstatus = " + to_string (status));
	  if (! logFName. empty ())
	  {
	    const StringVector vec (logFName, (size_t) 10, false);  // PAR
	    err += "\n" + vec. toString ("\n");
	  }
		throw runtime_error (err);		
	}
}

// Assembly:
subq $0x298, %rsp            # imm = 0x298
movq %rdi, 0x290(%rsp)
movq %rsi, 0x288(%rsp)
callq 0xc090
movl $0x0, (%rax)
movq 0x290(%rsp), %rdi
callq 0xcc10
testb $0x1, %al
jne 0x4a998
jmp 0x4ac1f
callq 0xc8c0
cmpl $0x0, %eax
jne 0x4ac15
leaq 0x1e7(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0xcd00
movq 0x38(%rsp), %rdx
leaq 0x83055(%rip), %rsi     # 0xcda19
leaq 0x1e8(%rsp), %rdi
callq 0x29fd0
jmp 0x4a9d3
leaq 0x1b0(%rsp), %rdi
movl $0x6b1, %esi            # imm = 0x6B1
callq 0x2ded0
jmp 0x4a9e7
leaq 0x208(%rsp), %rdi
leaq 0x1e8(%rsp), %rsi
leaq 0x1b0(%rsp), %rdx
callq 0x2dde0
jmp 0x4aa06
leaq 0x81194(%rip), %rdx     # 0xcbba1
leaq 0x228(%rsp), %rdi
leaq 0x208(%rsp), %rsi
callq 0x2a2f0
jmp 0x4aa24
leaq 0x16f(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xcd00
movq 0x30(%rsp), %rdx
leaq 0x8381d(%rip), %rsi     # 0xce25f
leaq 0x170(%rsp), %rdi
callq 0x29fd0
jmp 0x4aa51
leaq 0x82fbe(%rip), %rdx     # 0xcda16
leaq 0x190(%rsp), %rdi
leaq 0x170(%rsp), %rsi
callq 0x2a2f0
jmp 0x4aa6f
leaq 0x248(%rsp), %rdi
leaq 0x228(%rsp), %rsi
leaq 0x190(%rsp), %rdx
callq 0x2dde0
jmp 0x4aa8e
leaq 0x837ff(%rip), %rdx     # 0xce294
leaq 0x268(%rsp), %rdi
leaq 0x248(%rsp), %rsi
callq 0x2a2f0
jmp 0x4aaac
leaq 0x268(%rsp), %rdi
callq 0x3e9b0
jmp 0x4aabb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
jmp 0x4ac03
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
jmp 0x4abf6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
jmp 0x4abe9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
jmp 0x4abdc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
jmp 0x4abc2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
jmp 0x4abb5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
jmp 0x4aba8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
jmp 0x4ab9b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
leaq 0x268(%rsp), %rdi
callq 0xce98
leaq 0x248(%rsp), %rdi
callq 0xce98
leaq 0x190(%rsp), %rdi
callq 0xce98
leaq 0x170(%rsp), %rdi
callq 0xce98
leaq 0x16f(%rsp), %rdi
callq 0xc7a0
leaq 0x228(%rsp), %rdi
callq 0xce98
leaq 0x208(%rsp), %rdi
callq 0xce98
leaq 0x1b0(%rsp), %rdi
callq 0xce98
leaq 0x1e8(%rsp), %rdi
callq 0xce98
leaq 0x1e7(%rsp), %rdi
callq 0xc7a0
jmp 0x4b037
movl $0x1, %edi
callq 0xc8d0
xorl %edi, %edi
callq 0x4a800
testb $0x1, %al
jne 0x4ac2c
jmp 0x4ac4f
movq 0x290(%rsp), %rsi
movq 0xbb355(%rip), %rdi     # 0x105f90
callq 0xc660
movq %rax, %rdi
movq 0xbb2f6(%rip), %rsi     # 0x105f40
callq 0xc760
cmpq $0x0, 0xbc021(%rip)     # 0x106c78
je 0x4ac7c
movq 0xbc018(%rip), %rdi     # 0x106c78
movq 0x290(%rsp), %rsi
callq 0xc660
movq %rax, %rdi
movq 0xbb2c9(%rip), %rsi     # 0x105f40
callq 0xc760
movq 0x290(%rsp), %rdi
callq 0xc300
movq %rax, %rdi
callq 0xc620
movl %eax, 0x168(%rsp)
cmpq $0x0, 0xbbfd8(%rip)     # 0x106c78
je 0x4ad77
movq 0xbbfcb(%rip), %rax     # 0x106c78
movq %rax, 0x20(%rsp)
movl 0x168(%rsp), %esi
leaq 0x128(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x2ded0
movq 0x28(%rsp), %rdx
leaq 0x835ce(%rip), %rsi     # 0xce2a5
leaq 0x148(%rsp), %rdi
callq 0x2a340
jmp 0x4ace6
movq 0x20(%rsp), %rdi
leaq 0x148(%rsp), %rsi
callq 0xc660
movq %rax, 0x18(%rsp)
jmp 0x4acff
movq 0x18(%rsp), %rdi
movq 0xbb235(%rip), %rsi     # 0x105f40
callq 0xc760
jmp 0x4ad12
leaq 0x148(%rsp), %rdi
callq 0xce98
leaq 0x128(%rsp), %rdi
callq 0xce98
jmp 0x4ad77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
jmp 0x4ad65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
leaq 0x148(%rsp), %rdi
callq 0xce98
leaq 0x128(%rsp), %rdi
callq 0xce98
jmp 0x4b037
cmpl $0x0, 0x168(%rsp)
je 0x4b02f
movq 0x290(%rsp), %rsi
leaq 0x83510(%rip), %rdx     # 0xce2a4
leaq 0xe8(%rsp), %rdi
callq 0x2d9a0
movl 0x168(%rsp), %esi
leaq 0xc8(%rsp), %rdi
callq 0x2ded0
jmp 0x4adb7
leaq 0x108(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
leaq 0xc8(%rsp), %rdx
callq 0x2dde0
jmp 0x4add6
leaq 0xc8(%rsp), %rdi
callq 0xce98
leaq 0xe8(%rsp), %rdi
callq 0xce98
movq 0x288(%rsp), %rdi
callq 0xcc10
testb $0x1, %al
jne 0x4afc4
movq 0x288(%rsp), %rsi
leaq 0xa8(%rsp), %rdi
movl $0xa, %edx
xorl %ecx, %ecx
callq 0x4d940
jmp 0x4ae23
leaq 0x47(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xcd00
movq 0x10(%rsp), %rdx
leaq 0x84bdf(%rip), %rsi     # 0xcfa1d
leaq 0x48(%rsp), %rdi
callq 0x29fd0
jmp 0x4ae4a
leaq 0x68(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0x4b050
jmp 0x4ae63
leaq 0x84bb3(%rip), %rsi     # 0xcfa1d
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rdx
callq 0x2a340
jmp 0x4ae7e
leaq 0x108(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0xc960
jmp 0x4ae95
leaq 0x88(%rsp), %rdi
callq 0xce98
leaq 0x68(%rsp), %rdi
callq 0xce98
leaq 0x48(%rsp), %rdi
callq 0xce98
leaq 0x47(%rsp), %rdi
callq 0xc7a0
leaq 0xa8(%rsp), %rdi
callq 0x2eef0
jmp 0x4afc4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
jmp 0x4af09
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
leaq 0xc8(%rsp), %rdi
callq 0xce98
leaq 0xe8(%rsp), %rdi
callq 0xce98
jmp 0x4b037
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
jmp 0x4b020
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
jmp 0x4afab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
jmp 0x4afa1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
jmp 0x4af97
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
leaq 0x88(%rsp), %rdi
callq 0xce98
leaq 0x68(%rsp), %rdi
callq 0xce98
leaq 0x48(%rsp), %rdi
callq 0xce98
leaq 0x47(%rsp), %rdi
callq 0xc7a0
leaq 0xa8(%rsp), %rdi
callq 0x2eef0
jmp 0x4b020
movl $0x10, %edi
callq 0xc3b0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, 0x8(%rsp)
leaq 0x108(%rsp), %rsi
callq 0xcbb0
jmp 0x4afe8
movq 0x8(%rsp), %rdi
movq 0xbaffc(%rip), %rsi     # 0x105ff0
movq 0xbaf75(%rip), %rdx     # 0x105f70
callq 0xcc80
jmp 0x4b044
movq 0x8(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1d8(%rsp)
movl %eax, 0x1d4(%rsp)
callq 0xc580
leaq 0x108(%rsp), %rdi
callq 0xce98
jmp 0x4b037
addq $0x298, %rsp            # imm = 0x298
retq
movq 0x1d8(%rsp), %rdi
callq 0xccf0
nopw %cs:(%rax,%rax)