// File: 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
movq %rsp, %rbp
subq $0x110, %rsp            # imm = 0x110
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rcx
movq %rcx, -0xf8(%rbp)
movl -0xc(%rbp), %eax
cmpl 0x28(%rcx), %eax
je 0x19510
leaq -0x31(%rbp), %rdi
movq %rdi, -0x100(%rbp)
callq 0x26cc0
movq -0x100(%rbp), %rdx
leaq 0xbc084(%rip), %rsi     # 0xd532b
leaq -0x30(%rbp), %rdi
callq 0x17380
jmp 0x192b2
leaq -0x31(%rbp), %rdi
callq 0x26ce0
movq -0xf8(%rbp), %rax
movl 0x28(%rax), %eax
movb $0x0, -0xa9(%rbp)
movb $0x0, -0xaa(%rbp)
cmpl $0xe, %eax
jne 0x19336
movq -0xf8(%rbp), %rsi
addq $0x30, %rsi
leaq -0xa8(%rbp), %rdi
callq 0x1d800
jmp 0x192f1
movb $0x1, -0xa9(%rbp)
leaq 0xbc201(%rip), %rsi     # 0xd5500
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rdx
callq 0x1d7b0
jmp 0x19314
movb $0x1, -0xaa(%rbp)
leaq 0xbc1de(%rip), %rdx     # 0xd5500
leaq -0x68(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x1d760
jmp 0x19334
jmp 0x1934d
movq -0xf8(%rbp), %rax
movl 0x28(%rax), %esi
leaq -0x68(%rbp), %rdi
callq 0x1d8c0
jmp 0x1934b
jmp 0x1934d
leaq -0x30(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0xa3af0
jmp 0x1935c
leaq -0x68(%rbp), %rdi
callq 0xa23d0
testb $0x1, -0xaa(%rbp)
jne 0x19370
jmp 0x1937c
leaq -0x88(%rbp), %rdi
callq 0xa23d0
testb $0x1, -0xa9(%rbp)
jne 0x19387
jmp 0x19393
leaq -0xa8(%rbp), %rdi
callq 0xa23d0
movl -0xc(%rbp), %esi
leaq -0xf0(%rbp), %rdi
callq 0x1d8c0
jmp 0x193a4
leaq 0xbcb43(%rip), %rsi     # 0xd5eee
leaq -0xd0(%rbp), %rdi
leaq -0xf0(%rbp), %rdx
callq 0x1d7b0
jmp 0x193c0
leaq -0x30(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0xa3af0
jmp 0x193d2
leaq -0xd0(%rbp), %rdi
callq 0xa23d0
leaq -0xf0(%rbp), %rdi
callq 0xa23d0
movl $0x10, %edi
callq 0x25740
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x108(%rbp)
leaq -0x30(%rbp), %rsi
callq 0x571d0
jmp 0x1940c
movq -0x108(%rbp), %rdi
leaq 0xfba8e(%rip), %rsi     # 0x114ea8
leaq 0x15cff(%rip), %rdx     # 0x2f120
callq 0x26790
jmp 0x19522
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x31(%rbp), %rdi
callq 0x26ce0
jmp 0x19519
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x19505
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x194a0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x19487
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x68(%rbp), %rdi
callq 0xa23d0
testb $0x1, -0xaa(%rbp)
jne 0x19492
jmp 0x1949e
leaq -0x88(%rbp), %rdi
callq 0xa23d0
jmp 0x194a0
testb $0x1, -0xa9(%rbp)
jne 0x194ab
jmp 0x194b7
leaq -0xa8(%rbp), %rdi
callq 0xa23d0
jmp 0x19505
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x194df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0xa23d0
leaq -0xf0(%rbp), %rdi
callq 0xa23d0
jmp 0x19505
movq -0x108(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
callq 0x257a0
leaq -0x30(%rbp), %rdi
callq 0xa23d0
jmp 0x19519
addq $0x110, %rsp            # imm = 0x110
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0xd1250
nopw %cs:(%rax,%rax)
nopl (%rax)