// File: ncbi[P]amr/stx/stxtyper.cpp
// Function: (anonymous namespace)::ThisApplication::ThisApplication()
ThisApplication ()
    : ShellApplication ("Determine stx type(s) of a genome, print .tsv-file", true, true/*threadsUsed*/, true, true)
    {
    	addKey ("nucleotide", "Input nucleotide FASTA file (can be gzipped)", "", 'n', "NUC_FASTA");
    //addKey ("translation_table", "NCBI genetic code for translated BLAST", "11", 't', "TRANSLATION_TABLE");
      addKey ("name", "Text to be added as the first column \"name\" to all rows of the report, for example it can be an assembly name", "", '\0', "NAME");
      addKey ("output", "Write output to OUTPUT_FILE instead of STDOUT", "", 'o', "OUTPUT_FILE");
    	addKey ("blast_bin", "Directory for BLAST. Deafult: $BLAST_BIN", "", '\0', "BLAST_DIR");
    	addFlag ("amrfinder", "Print output in the nucleotide AMRFinderPlus format");
    	addFlag ("print_node", "Print AMRFinderPlus hierarchy node");
      addKey ("nucleotide_output", "Output nucleotide FASTA file of reported nucleotide sequences", "", '\0', "NUC_FASTA_OUT");
        // Flag: only for COMPLETE_NOVEL ??

      version = SVN_REV;
    }

// Assembly:
subq $0x4d8, %rsp            # imm = 0x4D8
movq %rdi, 0x4d0(%rsp)
movq 0x4d0(%rsp), %rax
movq %rax, 0xc8(%rsp)
leaq 0x4af(%rsp), %rdi
movq %rdi, 0xd0(%rsp)
callq 0xccc0
movq 0xd0(%rsp), %rdx
leaq 0xb6d11(%rip), %rsi     # 0xc4044
leaq 0x4b0(%rsp), %rdi
callq 0x2efd0
jmp 0xd342
movq 0xc8(%rsp), %rdi
leaq 0x4b0(%rsp), %rsi
movl $0x1, %r9d
movl %r9d, %edx
movl %r9d, %ecx
movl %r9d, %r8d
callq 0x2f470
jmp 0xd368
leaq 0x4b0(%rsp), %rdi
callq 0xce58
leaq 0x4af(%rsp), %rdi
callq 0xc780
movq 0xc8(%rsp), %rax
leaq 0xee07f(%rip), %rcx     # 0xfb410
movq %rcx, (%rax)
leaq 0x477(%rsp), %rdi
movq %rdi, 0xc0(%rsp)
callq 0xccc0
movq 0xc0(%rsp), %rdx
leaq 0xb6cbf(%rip), %rsi     # 0xc4077
leaq 0x478(%rsp), %rdi
callq 0x2efd0
jmp 0xd3c7
leaq 0x44f(%rsp), %rdi
movq %rdi, 0xb8(%rsp)
callq 0xccc0
movq 0xb8(%rsp), %rdx
leaq 0xb6c97(%rip), %rsi     # 0xc4082
leaq 0x450(%rsp), %rdi
callq 0x2efd0
jmp 0xd3fa
leaq 0x427(%rsp), %rdi
movq %rdi, 0xb0(%rsp)
callq 0xccc0
movq 0xb0(%rsp), %rdx
leaq 0xba394(%rip), %rsi     # 0xc77b2
leaq 0x428(%rsp), %rdi
callq 0x2efd0
jmp 0xd42d
leaq 0x3ff(%rsp), %rdi
movq %rdi, 0xa8(%rsp)
callq 0xccc0
movq 0xa8(%rsp), %rdx
leaq 0xb6c5e(%rip), %rsi     # 0xc40af
leaq 0x400(%rsp), %rdi
callq 0x2efd0
jmp 0xd460
movq 0xc8(%rsp), %rdi
leaq 0x478(%rsp), %rsi
leaq 0x450(%rsp), %rdx
leaq 0x428(%rsp), %rcx
movl $0x6e, %r8d
leaq 0x400(%rsp), %r9
callq 0x5f270
jmp 0xd495
leaq 0x400(%rsp), %rdi
callq 0xce58
leaq 0x3ff(%rsp), %rdi
callq 0xc780
leaq 0x428(%rsp), %rdi
callq 0xce58
leaq 0x427(%rsp), %rdi
callq 0xc780
leaq 0x450(%rsp), %rdi
callq 0xce58
leaq 0x44f(%rsp), %rdi
callq 0xc780
leaq 0x478(%rsp), %rdi
callq 0xce58
leaq 0x477(%rsp), %rdi
callq 0xc780
leaq 0x3d7(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
callq 0xccc0
movq 0xa0(%rsp), %rdx
leaq 0xb7401(%rip), %rsi     # 0xc4922
leaq 0x3d8(%rsp), %rdi
callq 0x2efd0
jmp 0xd530
leaq 0x3af(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0xccc0
movq 0x98(%rsp), %rdx
leaq 0xb6b65(%rip), %rsi     # 0xc40b9
leaq 0x3b0(%rsp), %rdi
callq 0x2efd0
jmp 0xd563
leaq 0x387(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0xccc0
movq 0x90(%rsp), %rdx
leaq 0xba22b(%rip), %rsi     # 0xc77b2
leaq 0x388(%rsp), %rdi
callq 0x2efd0
jmp 0xd596
leaq 0x35f(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0xccc0
movq 0x88(%rsp), %rdx
leaq 0xb86b2(%rip), %rsi     # 0xc5c6c
leaq 0x360(%rsp), %rdi
callq 0x2efd0
jmp 0xd5c9
movq 0xc8(%rsp), %rdi
leaq 0x3d8(%rsp), %rsi
leaq 0x3b0(%rsp), %rdx
leaq 0x388(%rsp), %rcx
xorl %r8d, %r8d
leaq 0x360(%rsp), %r9
callq 0x5f270
jmp 0xd5fb
leaq 0x360(%rsp), %rdi
callq 0xce58
leaq 0x35f(%rsp), %rdi
callq 0xc780
leaq 0x388(%rsp), %rdi
callq 0xce58
leaq 0x387(%rsp), %rdi
callq 0xc780
leaq 0x3b0(%rsp), %rdi
callq 0xce58
leaq 0x3af(%rsp), %rdi
callq 0xc780
leaq 0x3d8(%rsp), %rdi
callq 0xce58
leaq 0x3d7(%rsp), %rdi
callq 0xc780
leaq 0x337(%rsp), %rdi
movq %rdi, 0x80(%rsp)
callq 0xccc0
movq 0x80(%rsp), %rdx
leaq 0xb6b84(%rip), %rsi     # 0xc420b
leaq 0x338(%rsp), %rdi
callq 0x2efd0
jmp 0xd696
leaq 0x30f(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0xccc0
movq 0x78(%rsp), %rdx
leaq 0xb6a73(%rip), %rsi     # 0xc4127
leaq 0x310(%rsp), %rdi
callq 0x2efd0
jmp 0xd6c3
leaq 0x2e7(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0xccc0
movq 0x70(%rsp), %rdx
leaq 0xba0d1(%rip), %rsi     # 0xc77b2
leaq 0x2e8(%rsp), %rdi
callq 0x2efd0
jmp 0xd6f0
leaq 0x2bf(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0xccc0
movq 0x68(%rsp), %rdx
leaq 0xb6a47(%rip), %rsi     # 0xc4155
leaq 0x2c0(%rsp), %rdi
callq 0x2efd0
jmp 0xd71d
movq 0xc8(%rsp), %rdi
leaq 0x338(%rsp), %rsi
leaq 0x310(%rsp), %rdx
leaq 0x2e8(%rsp), %rcx
movl $0x6f, %r8d
leaq 0x2c0(%rsp), %r9
callq 0x5f270
jmp 0xd752
leaq 0x2c0(%rsp), %rdi
callq 0xce58
leaq 0x2bf(%rsp), %rdi
callq 0xc780
leaq 0x2e8(%rsp), %rdi
callq 0xce58
leaq 0x2e7(%rsp), %rdi
callq 0xc780
leaq 0x310(%rsp), %rdi
callq 0xce58
leaq 0x30f(%rsp), %rdi
callq 0xc780
leaq 0x338(%rsp), %rdi
callq 0xce58
leaq 0x337(%rsp), %rdi
callq 0xc780
leaq 0x297(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0xccc0
movq 0x60(%rsp), %rdx
leaq 0xb6989(%rip), %rsi     # 0xc4161
leaq 0x298(%rsp), %rdi
callq 0x2efd0
jmp 0xd7e7
leaq 0x26f(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0xccc0
movq 0x58(%rsp), %rdx
leaq 0xb6966(%rip), %rsi     # 0xc416b
leaq 0x270(%rsp), %rdi
callq 0x2efd0
jmp 0xd814
leaq 0x247(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0xccc0
movq 0x50(%rsp), %rdx
leaq 0xb9f80(%rip), %rsi     # 0xc77b2
leaq 0x248(%rsp), %rdi
callq 0x2efd0
jmp 0xd841
leaq 0x21f(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0xccc0
movq 0x48(%rsp), %rdx
leaq 0xb6935(%rip), %rsi     # 0xc4194
leaq 0x220(%rsp), %rdi
callq 0x2efd0
jmp 0xd86e
movq 0xc8(%rsp), %rdi
leaq 0x298(%rsp), %rsi
leaq 0x270(%rsp), %rdx
leaq 0x248(%rsp), %rcx
xorl %r8d, %r8d
leaq 0x220(%rsp), %r9
callq 0x5f270
jmp 0xd8a0
leaq 0x220(%rsp), %rdi
callq 0xce58
leaq 0x21f(%rsp), %rdi
callq 0xc780
leaq 0x248(%rsp), %rdi
callq 0xce58
leaq 0x247(%rsp), %rdi
callq 0xc780
leaq 0x270(%rsp), %rdi
callq 0xce58
leaq 0x26f(%rsp), %rdi
callq 0xc780
leaq 0x298(%rsp), %rdi
callq 0xce58
leaq 0x297(%rsp), %rdi
callq 0xc780
leaq 0x1f7(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0xccc0
movq 0x40(%rsp), %rdx
leaq 0xb6a56(%rip), %rsi     # 0xc437c
leaq 0x1f8(%rsp), %rdi
callq 0x2efd0
jmp 0xd935
leaq 0x1cf(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0xccc0
movq 0x38(%rsp), %rdx
leaq 0xb684b(%rip), %rsi     # 0xc419e
leaq 0x1d0(%rsp), %rdi
callq 0x2efd0
jmp 0xd962
movq 0xc8(%rsp), %rdi
leaq 0x1f8(%rsp), %rsi
leaq 0x1d0(%rsp), %rdx
xorl %ecx, %ecx
callq 0x5fad0
jmp 0xd983
leaq 0x1d0(%rsp), %rdi
callq 0xce58
leaq 0x1cf(%rsp), %rdi
callq 0xc780
leaq 0x1f8(%rsp), %rdi
callq 0xce58
leaq 0x1f7(%rsp), %rdi
callq 0xc780
leaq 0x1a7(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xccc0
movq 0x30(%rsp), %rdx
leaq 0xb67fd(%rip), %rsi     # 0xc41d2
leaq 0x1a8(%rsp), %rdi
callq 0x2efd0
jmp 0xd9e4
leaq 0x17f(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0xccc0
movq 0x28(%rsp), %rdx
leaq 0xb67db(%rip), %rsi     # 0xc41dd
leaq 0x180(%rsp), %rdi
callq 0x2efd0
jmp 0xda11
movq 0xc8(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
leaq 0x180(%rsp), %rdx
xorl %ecx, %ecx
callq 0x5fad0
jmp 0xda32
leaq 0x180(%rsp), %rdi
callq 0xce58
leaq 0x17f(%rsp), %rdi
callq 0xc780
leaq 0x1a8(%rsp), %rdi
callq 0xce58
leaq 0x1a7(%rsp), %rdi
callq 0xc780
leaq 0x157(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xccc0
movq 0x20(%rsp), %rdx
leaq 0xb677c(%rip), %rsi     # 0xc4200
leaq 0x158(%rsp), %rdi
callq 0x2efd0
jmp 0xda93
leaq 0x12f(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xccc0
movq 0x18(%rsp), %rdx
leaq 0xb6761(%rip), %rsi     # 0xc4212
leaq 0x130(%rsp), %rdi
callq 0x2efd0
jmp 0xdac0
leaq 0x107(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xccc0
movq 0x10(%rsp), %rdx
leaq 0xb9cd4(%rip), %rsi     # 0xc77b2
leaq 0x108(%rsp), %rdi
callq 0x2efd0
jmp 0xdaed
leaq 0xdf(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xccc0
movq 0x8(%rsp), %rdx
leaq 0xb6745(%rip), %rsi     # 0xc4250
leaq 0xe0(%rsp), %rdi
callq 0x2efd0
jmp 0xdb1a
movq 0xc8(%rsp), %rdi
leaq 0x158(%rsp), %rsi
leaq 0x130(%rsp), %rdx
leaq 0x108(%rsp), %rcx
xorl %r8d, %r8d
leaq 0xe0(%rsp), %r9
callq 0x5f270
jmp 0xdb4c
leaq 0xe0(%rsp), %rdi
callq 0xce58
leaq 0xdf(%rsp), %rdi
callq 0xc780
leaq 0x108(%rsp), %rdi
callq 0xce58
leaq 0x107(%rsp), %rdi
callq 0xc780
leaq 0x130(%rsp), %rdi
callq 0xce58
leaq 0x12f(%rsp), %rdi
callq 0xc780
leaq 0x158(%rsp), %rdi
callq 0xce58
leaq 0x157(%rsp), %rdi
callq 0xc780
movq 0xc8(%rsp), %rdi
addq $0x28, %rdi
leaq 0xb6697(%rip), %rsi     # 0xc425e
callq 0xc9e0
jmp 0xdbce
addq $0x4d8, %rsp            # imm = 0x4D8
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xdc0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
leaq 0x4b0(%rsp), %rdi
callq 0xce58
leaq 0x4af(%rsp), %rdi
callq 0xc780
jmp 0xe18a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xdcec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xdcd2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xdcb8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xdc9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
leaq 0x400(%rsp), %rdi
callq 0xce58
leaq 0x3ff(%rsp), %rdi
callq 0xc780
leaq 0x428(%rsp), %rdi
callq 0xce58
leaq 0x427(%rsp), %rdi
callq 0xc780
leaq 0x450(%rsp), %rdi
callq 0xce58
leaq 0x44f(%rsp), %rdi
callq 0xc780
leaq 0x478(%rsp), %rdi
callq 0xce58
leaq 0x477(%rsp), %rdi
callq 0xc780
jmp 0xe17d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xddcb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xddb1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xdd97
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xdd7d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
leaq 0x360(%rsp), %rdi
callq 0xce58
leaq 0x35f(%rsp), %rdi
callq 0xc780
leaq 0x388(%rsp), %rdi
callq 0xce58
leaq 0x387(%rsp), %rdi
callq 0xc780
leaq 0x3b0(%rsp), %rdi
callq 0xce58
leaq 0x3af(%rsp), %rdi
callq 0xc780
leaq 0x3d8(%rsp), %rdi
callq 0xce58
leaq 0x3d7(%rsp), %rdi
callq 0xc780
jmp 0xe17d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xdeaa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xde90
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xde76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xde5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
leaq 0x2c0(%rsp), %rdi
callq 0xce58
leaq 0x2bf(%rsp), %rdi
callq 0xc780
leaq 0x2e8(%rsp), %rdi
callq 0xce58
leaq 0x2e7(%rsp), %rdi
callq 0xc780
leaq 0x310(%rsp), %rdi
callq 0xce58
leaq 0x30f(%rsp), %rdi
callq 0xc780
leaq 0x338(%rsp), %rdi
callq 0xce58
leaq 0x337(%rsp), %rdi
callq 0xc780
jmp 0xe17d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xdf89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xdf6f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xdf55
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xdf3b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
leaq 0x220(%rsp), %rdi
callq 0xce58
leaq 0x21f(%rsp), %rdi
callq 0xc780
leaq 0x248(%rsp), %rdi
callq 0xce58
leaq 0x247(%rsp), %rdi
callq 0xc780
leaq 0x270(%rsp), %rdi
callq 0xce58
leaq 0x26f(%rsp), %rdi
callq 0xc780
leaq 0x298(%rsp), %rdi
callq 0xce58
leaq 0x297(%rsp), %rdi
callq 0xc780
jmp 0xe17d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xe002
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xdfe8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
leaq 0x1d0(%rsp), %rdi
callq 0xce58
leaq 0x1cf(%rsp), %rdi
callq 0xc780
leaq 0x1f8(%rsp), %rdi
callq 0xce58
leaq 0x1f7(%rsp), %rdi
callq 0xc780
jmp 0xe17d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xe07b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xe061
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
leaq 0x180(%rsp), %rdi
callq 0xce58
leaq 0x17f(%rsp), %rdi
callq 0xc780
leaq 0x1a8(%rsp), %rdi
callq 0xce58
leaq 0x1a7(%rsp), %rdi
callq 0xc780
jmp 0xe17d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xe15a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xe140
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xe126
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
jmp 0xe10c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
leaq 0xe0(%rsp), %rdi
callq 0xce58
leaq 0xdf(%rsp), %rdi
callq 0xc780
leaq 0x108(%rsp), %rdi
callq 0xce58
leaq 0x107(%rsp), %rdi
callq 0xc780
leaq 0x130(%rsp), %rdi
callq 0xce58
leaq 0x12f(%rsp), %rdi
callq 0xc780
leaq 0x158(%rsp), %rdi
callq 0xce58
leaq 0x157(%rsp), %rdi
callq 0xc780
jmp 0xe17d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x4a0(%rsp)
movl %eax, 0x49c(%rsp)
movq 0xc8(%rsp), %rdi
callq 0x6b6f0
movq 0x4a0(%rsp), %rdi
callq 0xccb0
nopw (%rax,%rax)