// File: /workspace/github_cpp_makefile_star2_O3/mattn[P]wandbox-run/./json.hpp
// Function: nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer>::parser::expect(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer>::lexer::token_type) const
void expect(typename lexer::token_type t) const
        {
            if (t != last_token)
            {
                std::string error_msg = "parse error - unexpected ";
                error_msg += (last_token == lexer::token_type::parse_error ? ("'" +  m_lexer.get_token_string() +
                              "'") :
                              lexer::token_type_name(last_token));
                error_msg += "; expected " + lexer::token_type_name(t);
                JSON_THROW(std::invalid_argument(error_msg));
            }
        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0xa8, %rsp
cmpl %esi, 0x28(%rdi)
jne 0x1845c
addq $0xa8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl %esi, %ebx
movq %rdi, %r14
leaq 0x38(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xb362f(%rip), %rsi     # 0xcbaa0
leaq 0xb3641(%rip), %rdx     # 0xcbab9
leaq 0x28(%rsp), %rdi
callq 0x19ef6
movl 0x28(%r14), %ebp
cmpl $0xe, %ebp
jne 0x184f0
addq $0x30, %r14
leaq 0x68(%rsp), %rdi
movq %r14, %rsi
callq 0x19d14
leaq 0xb37d2(%rip), %rsi     # 0xcbc75
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rdx
callq 0x19ca3
leaq 0xb37b9(%rip), %rsi     # 0xcbc75
leaq 0x88(%rsp), %rdi
callq 0x9a780
leaq 0x18(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rsi
jne 0x18604
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
jmp 0x18611
leaq 0x8(%rsp), %rdi
movl %ebp, %esi
callq 0x19d58
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x28(%rsp), %rdi
callq 0x9a640
leaq 0x18(%rsp), %r14
movq -0x10(%r14), %rdi
cmpq %r14, %rdi
je 0x1852b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1c0c0
cmpl $0xe, %ebp
jne 0x1856c
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x18551
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x1c0c0
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1856c
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x1c0c0
leaq 0x48(%rsp), %rdi
movl %ebx, %esi
callq 0x19d58
leaq 0xb3f5a(%rip), %rsi     # 0xcc4d9
leaq 0x8(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq 0x19ca3
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x28(%rsp), %rdi
callq 0x9a640
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x185b9
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1c0c0
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x185d4
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x1c0c0
movl $0x10, %edi
callq 0x1c3a0
movq %rax, %r14
leaq 0x28(%rsp), %rsi
movq %rax, %rdi
callq 0x4ddd0
leaq 0xed8b3(%rip), %rsi     # 0x105ea8
leaq 0xd724(%rip), %rdx      # 0x25d20
movq %r14, %rdi
callq 0x1d3f0
movq %rsi, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
jmp 0x184fc
jmp 0x1869b
movq %rax, %rbx
movq %r14, %rdi
callq 0x1c400
jmp 0x186e4
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1865f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1c0c0
jmp 0x1865f
movq %rax, %rbx
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x186e4
movq 0x58(%rsp), %rsi
jmp 0x186dc
jmp 0x1869b
movq %rax, %rbx
jmp 0x186c9
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x186a3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x1c0c0
jmp 0x186a3
movq %rax, %rbx
jmp 0x186e4
movq %rax, %rbx
cmpl $0xe, %ebp
jne 0x186e4
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x186c9
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x1c0c0
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x186e4
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x1c0c0
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x186fb
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x1c0c0
movq %rbx, %rdi
callq 0xc7ad0
nop