// File: yeonnic[P]solparser/././argx.hpp
// Function: bool args::ArgumentParser::ParseShort<__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const*, 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>>>>>>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const*, 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>>>>>&, __gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const*, 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>>>>>)
bool ParseShort(It &it, It end)
            {
                const auto &chunk = *it;
                const auto argchunk = chunk.substr(shortprefix.size());
                for (auto argit = std::begin(argchunk); argit != std::end(argchunk); ++argit)
                {
                    const auto arg = *argit;

                    if (auto flag = Match(arg))
                    {
                        const std::string value(argit + 1, std::end(argchunk));
                        std::vector<std::string> values;
                        const std::string errorMessage = ParseArgsValues(*flag, std::string(1, arg), it, end,
                                                                         allowSeparateShortValue, allowJoinedShortValue,
                                                                         !value.empty(), value, !value.empty(), values);

                        if (!errorMessage.empty())
                        {
#ifndef ARGS_NOEXCEPT
                            throw ParseError(errorMessage);
#else
                            error = Error::Parse;
                            errorMsg = errorMessage;
                            return false;
#endif
                        }

                        if (!readCompletion)
                        {
                            flag->ParseValue(values);
                        }

                        if (flag->KickOut())
                        {
                            ++it;
                            return false;
                        }

                        if (!values.empty())
                        {
                            break;
                        }
                    } else
                    {
                        const std::string errorMessage("Flag could not be matched: '" + std::string(1, arg) + "'");
#ifndef ARGS_NOEXCEPT
                        throw ParseError(errorMessage);
#else
                        error = Error::Parse;
                        errorMsg = errorMessage;
                        return false;
#endif
                    }
                }

                return true;
            }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x280, %rsp            # imm = 0x280
movq %rdx, -0x20(%rbp)
movq %rdi, -0x28(%rbp)
movq %rsi, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x1e0(%rbp)
movq -0x30(%rbp), %rdi
callq 0x206c0
movq -0x1e0(%rbp), %rdi
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x1d8(%rbp)
addq $0x198, %rdi            # imm = 0x198
callq 0x6240
movq -0x1d8(%rbp), %rsi
movq %rax, %rdx
leaq -0x58(%rbp), %rdi
movq %rdi, -0x1d0(%rbp)
movq $-0x1, %rcx
callq 0x6350
movq -0x1d0(%rbp), %rdi
callq 0x28550
movq %rax, -0x1c8(%rbp)
jmp 0x25636
movq -0x1c8(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x28580
movq %rax, -0x1e8(%rbp)
jmp 0x25653
movq -0x1e8(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq -0x60(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x16ac0
testb $0x1, %al
jne 0x25674
jmp 0x25c09
leaq -0x60(%rbp), %rdi
callq 0x16b00
movb (%rax), %al
movb %al, -0x79(%rbp)
movsbl -0x79(%rbp), %esi
leaq -0xb0(%rbp), %rdi
callq 0x8540
jmp 0x25694
movq -0x1e0(%rbp), %rdi
movq (%rdi), %rax
movq 0x38(%rax), %rax
leaq -0xb0(%rbp), %rsi
callq *%rax
movq %rax, -0x1f0(%rbp)
jmp 0x256b4
leaq -0xb0(%rbp), %rdi
callq 0x85f0
movq -0x1f0(%rbp), %rax
movq %rax, -0x88(%rbp)
cmpq $0x0, -0x88(%rbp)
je 0x25a9a
leaq -0x60(%rbp), %rdi
movl $0x1, %esi
callq 0x285b0
movq %rax, -0xd8(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x28580
movq %rax, -0x1f8(%rbp)
jmp 0x25703
movq -0x1f8(%rbp), %rax
movq %rax, -0xe0(%rbp)
leaq -0xe1(%rbp), %rdi
movq %rdi, -0x200(%rbp)
callq 0x6630
movq -0x200(%rbp), %rcx
movq -0xd8(%rbp), %rsi
movq -0xe0(%rbp), %rdx
leaq -0xd0(%rbp), %rdi
callq 0x285f0
jmp 0x25747
leaq -0xe1(%rbp), %rdi
callq 0x6390
leaq -0x100(%rbp), %rdi
callq 0xb7d0
movq -0x88(%rbp), %rax
movq %rax, -0x218(%rbp)
movsbl -0x79(%rbp), %eax
movl %eax, -0x20c(%rbp)
leaq -0x141(%rbp), %rdi
movq %rdi, -0x208(%rbp)
callq 0x6630
movl -0x20c(%rbp), %edx
movq -0x208(%rbp), %rcx
leaq -0x140(%rbp), %rdi
movl $0x1, %esi
callq 0x6220
jmp 0x257aa
movq -0x1e0(%rbp), %rax
movq -0x30(%rbp), %rcx
movq %rcx, -0x220(%rbp)
movq -0x20(%rbp), %rcx
movq %rcx, -0x150(%rbp)
movzbl 0x1fa(%rax), %ecx
movl %ecx, -0x224(%rbp)
movzbl 0x1f8(%rax), %eax
movl %eax, -0x228(%rbp)
leaq -0xd0(%rbp), %rdi
movq %rdi, -0x238(%rbp)
callq 0x65c0
movq -0x238(%rbp), %rdi
xorb $0x1, %al
movb %al, -0x229(%rbp)
callq 0x65c0
movq -0x238(%rbp), %r11
movb -0x229(%rbp), %r10b
movl -0x228(%rbp), %edi
movl -0x224(%rbp), %ecx
movq -0x1e0(%rbp), %rsi
movq -0x218(%rbp), %rdx
movq -0x220(%rbp), %r8
movb %al, %bl
xorb $0x1, %bl
movq -0x150(%rbp), %r9
movq %rsp, %rax
leaq -0x100(%rbp), %r14
movq %r14, 0x28(%rax)
movzbl %bl, %ebx
movl %ebx, 0x20(%rax)
movq %r11, 0x18(%rax)
movzbl %r10b, %r10d
movl %r10d, 0x10(%rax)
andl $0x1, %edi
movl %edi, 0x8(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
leaq -0x120(%rbp), %rdi
leaq -0x140(%rbp), %rcx
callq 0x27840
jmp 0x25883
leaq -0x140(%rbp), %rdi
callq 0x61f0
leaq -0x141(%rbp), %rdi
callq 0x6390
leaq -0x120(%rbp), %rdi
callq 0x65c0
testb $0x1, %al
jne 0x259a3
movl $0x10, %edi
callq 0x61a0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x240(%rbp)
leaq -0x120(%rbp), %rsi
callq 0x25d30
jmp 0x258d4
movq -0x240(%rbp), %rdi
leaq 0x26ade(%rip), %rsi     # 0x4c3c0
leaq -0x4d99(%rip), %rdx     # 0x20b50
callq 0x65e0
jmp 0x25c43
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x25c31
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x85f0
jmp 0x25c31
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xe1(%rbp), %rdi
callq 0x6390
jmp 0x25c31
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x25964
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x61f0
leaq -0x141(%rbp), %rdi
callq 0x6390
jmp 0x25a7d
movq -0x240(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
callq 0x6270
jmp 0x25a71
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x25a71
movq -0x1e0(%rbp), %rax
testb $0x1, 0x208(%rax)
jne 0x259d1
movq -0x88(%rbp), %rdi
movq (%rdi), %rax
movq 0xa0(%rax), %rax
leaq -0x100(%rbp), %rsi
callq *%rax
jmp 0x259cf
jmp 0x259d1
movq -0x88(%rbp), %rdi
callq 0x25fc0
testb $0x1, %al
jne 0x259e3
jmp 0x259fc
movq -0x30(%rbp), %rdi
callq 0x206e0
movb $0x0, -0x11(%rbp)
movl $0x1, -0x154(%rbp)
jmp 0x25a22
leaq -0x100(%rbp), %rdi
callq 0x272e0
testb $0x1, %al
jne 0x25a18
movl $0x2, -0x154(%rbp)
jmp 0x25a22
movl $0x0, -0x154(%rbp)
leaq -0x120(%rbp), %rdi
callq 0x61f0
leaq -0x100(%rbp), %rdi
callq 0x13c70
leaq -0xd0(%rbp), %rdi
callq 0x61f0
movl -0x154(%rbp), %eax
movl %eax, -0x244(%rbp)
testl %eax, %eax
je 0x25a6c
jmp 0x25a58
movl -0x244(%rbp), %eax
subl $0x2, %eax
je 0x25c09
jmp 0x25c17
jmp 0x25bf9
leaq -0x120(%rbp), %rdi
callq 0x61f0
leaq -0x100(%rbp), %rdi
callq 0x13c70
leaq -0xd0(%rbp), %rdi
callq 0x61f0
jmp 0x25c31
movsbl -0x79(%rbp), %eax
movl %eax, -0x254(%rbp)
leaq -0x1b9(%rbp), %rdi
movq %rdi, -0x250(%rbp)
callq 0x6630
movl -0x254(%rbp), %edx
movq -0x250(%rbp), %rcx
leaq -0x1b8(%rbp), %rdi
movl $0x1, %esi
callq 0x6220
jmp 0x25ad7
leaq 0x119a4(%rip), %rsi     # 0x37482
leaq -0x198(%rbp), %rdi
leaq -0x1b8(%rbp), %rdx
callq 0x28670
jmp 0x25af3
leaq 0x119a3(%rip), %rdx     # 0x3749d
leaq -0x178(%rbp), %rdi
leaq -0x198(%rbp), %rsi
callq 0x168d0
jmp 0x25b0f
leaq -0x198(%rbp), %rdi
callq 0x61f0
leaq -0x1b8(%rbp), %rdi
callq 0x61f0
leaq -0x1b9(%rbp), %rdi
callq 0x6390
movl $0x10, %edi
callq 0x61a0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x260(%rbp)
leaq -0x178(%rbp), %rsi
callq 0x25d30
jmp 0x25b58
movq -0x260(%rbp), %rdi
leaq 0x2685a(%rip), %rsi     # 0x4c3c0
leaq -0x501d(%rip), %rdx     # 0x20b50
callq 0x65e0
jmp 0x25c43
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x25bb7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x25bab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x198(%rbp), %rdi
callq 0x61f0
leaq -0x1b8(%rbp), %rdi
callq 0x61f0
leaq -0x1b9(%rbp), %rdi
callq 0x6390
jmp 0x25c31
movq -0x260(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
callq 0x6270
jmp 0x25beb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x61f0
jmp 0x25c31
jmp 0x25bfb
leaq -0x60(%rbp), %rdi
callq 0x16b50
jmp 0x25641
movb $0x1, -0x11(%rbp)
movl $0x1, -0x154(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x61f0
movb -0x11(%rbp), %al
andb $0x1, %al
addq $0x280, %rsp            # imm = 0x280
popq %rbx
popq %r14
popq %rbp
retq
leaq -0x58(%rbp), %rdi
callq 0x61f0
movq -0x68(%rbp), %rdi
callq 0x6620
nopw %cs:(%rax,%rax)
nopl (%rax)