// File: /workspace/github_cpp_makefile_star2_O2/myint[P]optparse/./optparse.h
// Function: optparse::OptionParser::add_option(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> const&)
Option &add_option(const std::vector<std::string> &opt)
        {
            _opts.resize(_opts.size() + 1);
            Option &option = _opts.back();
            std::string dest_fallback;
            for (std::vector<std::string>::const_iterator it = opt.begin(); it != opt.end(); ++it)
            {
                if (it->substr(0, 2) == "--")
                {
                    const std::string s = it->substr(2);
                    if (option.dest().empty())
                        option.dest(detail::str_replace(s, "-", "_"));
                    option._long_opts.insert(s);
                    _optmap_l[s] = &option;
                }
                else
                {
                    const std::string s = it->substr(1, 1);
                    if (dest_fallback.empty())
                        dest_fallback = s;
                    option._short_opts.insert(s);
                    _optmap_s[s] = &option;
                }
            }
            if (option.dest().empty())
            {
                option.dest(dest_fallback);
            }
            return option;
        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x248, %rsp            # imm = 0x248
movq %rsi, %rbx
movq %rdi, %rbp
leaq 0x148(%rdi), %r14
movq 0x158(%rdi), %r15
incq %r15
leaq 0xd8(%rsp), %r12
movq %r12, %rdi
callq 0x8900
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
callq 0x88b4
leaq 0xd8(%rsp), %rdi
callq 0x7338
movq 0x150(%rbp), %rcx
leaq 0x48(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
leaq 0x10(%rcx), %r15
movb $0x0, (%rax)
movq (%rbx), %r13
leaq 0x160(%rbp), %rax
movq %rax, 0x30(%rsp)
leaq 0xb0(%rcx), %rax
movq %rax, 0x10(%rsp)
movq %rcx, 0x18(%rsp)
leaq 0x40(%rcx), %rax
movq %rax, 0x28(%rsp)
addq $0x190, %rbp            # imm = 0x190
movq %rbp, 0x20(%rsp)
leaq 0x78(%rsp), %rbp
cmpq 0x8(%rbx), %r13
je 0x87a6
movq %rbp, %rdi
movq %r13, %rsi
xorl %edx, %edx
pushq $0x2
popq %rcx
callq 0x3290
movq %rbp, %rdi
leaq 0x5431(%rip), %rsi      # 0xdaac
callq 0x8a6f
movl %eax, %r14d
movq %rbp, %rdi
callq 0x3300
testb %r14b, %r14b
je 0x8754
movq %rbp, %rdi
movq %r13, %rsi
pushq $0x2
popq %rdx
pushq $-0x1
popq %rcx
callq 0x3290
movq 0x18(%rsp), %rax
cmpq $0x0, 0xb8(%rax)
jne 0x872d
leaq 0x58(%rsp), %rdi
leaq 0x548d(%rip), %rsi      # 0xdb4d
leaq 0xf(%rsp), %rdx
callq 0x30d0
leaq 0x98(%rsp), %r14
movq %r14, %rdi
leaq 0x525c(%rip), %rsi      # 0xd938
leaq 0xe(%rsp), %rdx
callq 0x30d0
leaq 0xb8(%rsp), %r12
movq %r12, %rdi
movq %rbp, %rsi
leaq 0x58(%rsp), %rdx
movq %r14, %rcx
callq 0x58f0
movq 0x10(%rsp), %rdi
movq %r12, %rsi
callq 0x3160
movq %r12, %rdi
callq 0x3300
leaq 0x98(%rsp), %rdi
callq 0x3300
leaq 0x58(%rsp), %rdi
callq 0x3300
movq 0x28(%rsp), %rdi
movq %rbp, %rsi
callq 0x8ce8
movq 0x20(%rsp), %rdi
movq %rbp, %rsi
callq 0x8a7c
movq %r15, (%rax)
movq %rbp, %rdi
callq 0x3300
jmp 0x879d
movq %rbp, %rdi
movq %r13, %rsi
pushq $0x1
popq %rcx
movq %rcx, %rdx
callq 0x3290
cmpq $0x0, 0x40(%rsp)
jne 0x877a
leaq 0x38(%rsp), %rdi
movq %rbp, %rsi
callq 0x3160
movq %r15, %rdi
movq %rbp, %rsi
callq 0x8ce8
movq 0x30(%rsp), %rdi
movq %rbp, %rsi
callq 0x8a7c
movq %r15, (%rax)
movq %rbp, %rdi
callq 0x3300
addq $0x20, %r13
jmp 0x8657
movq 0x18(%rsp), %rax
cmpq $0x0, 0xb8(%rax)
jne 0x87c4
leaq 0x38(%rsp), %rsi
movq 0x10(%rsp), %rdi
callq 0x3160
leaq 0x38(%rsp), %rdi
callq 0x3300
movq %r15, %rax
addq $0x248, %rsp            # imm = 0x248
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x885d
movq %rax, %rbx
leaq 0xd8(%rsp), %rdi
callq 0x7338
jmp 0x886a
movq %rax, %rbx
leaq 0xb8(%rsp), %rdi
callq 0x3300
jmp 0x8813
jmp 0x882c
movq %rax, %rbx
jmp 0x8820
movq %rax, %rbx
leaq 0x98(%rsp), %rdi
callq 0x3300
leaq 0x58(%rsp), %rdi
callq 0x3300
jmp 0x882f
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x3300
jmp 0x8860
jmp 0x885d
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x3300
jmp 0x8860
jmp 0x885d
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x3300
jmp 0x8860
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x3300
movq %rbx, %rdi
callq 0x3430
movq %rax, %rdi
callq 0x62a4