// File: Falldog[P]dcinja/src/include/nlohmann/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, std::vector<unsigned char, std::allocator<unsigned char>>>::json_value::json_value(nlohmann::detail::value_t)
json_value(value_t t)
        {
            switch (t)
            {
                case value_t::object:
                {
                    object = create<object_t>();
                    break;
                }

                case value_t::array:
                {
                    array = create<array_t>();
                    break;
                }

                case value_t::string:
                {
                    string = create<string_t>("");
                    break;
                }

                case value_t::binary:
                {
                    binary = create<binary_t>();
                    break;
                }

                case value_t::boolean:
                {
                    boolean = boolean_t(false);
                    break;
                }

                case value_t::number_integer:
                {
                    number_integer = number_integer_t(0);
                    break;
                }

                case value_t::number_unsigned:
                {
                    number_unsigned = number_unsigned_t(0);
                    break;
                }

                case value_t::number_float:
                {
                    number_float = number_float_t(0.0);
                    break;
                }

                case value_t::null:
                {
                    object = nullptr;  // silence warning, see #821
                    break;
                }

                default:
                {
                    object = nullptr;  // silence warning, see #821
                    if (JSON_HEDLEY_UNLIKELY(t == value_t::null))
                    {
                        JSON_THROW(other_error::create(500, "961c151d2e87f2686a955a9be24d316f1362bf21 3.9.1")); // LCOV_EXCL_LINE
                    }
                    break;
                }
            }
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movb %sil, %al
movq %rdi, -0x8(%rbp)
movb %al, -0x9(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x58(%rbp)
movzbl -0x9(%rbp), %eax
movq %rax, -0x50(%rbp)
subq $0x8, %rax
ja 0x548c3
movq -0x50(%rbp), %rax
leaq 0x6c449(%rip), %rcx     # 0xc0c60
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
callq 0x549a0
movq %rax, %rcx
movq -0x58(%rbp), %rax
movq %rcx, (%rax)
jmp 0x54989
callq 0x54a70
movq %rax, %rcx
movq -0x58(%rbp), %rax
movq %rcx, (%rax)
jmp 0x54989
leaq 0x6ddb0(%rip), %rdi     # 0xc25ff
callq 0x54b40
movq %rax, %rcx
movq -0x58(%rbp), %rax
movq %rcx, (%rax)
jmp 0x54989
callq 0x54c40
movq %rax, %rcx
movq -0x58(%rbp), %rax
movq %rcx, (%rax)
jmp 0x54989
movq -0x58(%rbp), %rax
movb $0x0, (%rax)
jmp 0x54989
movq -0x58(%rbp), %rax
movq $0x0, (%rax)
jmp 0x54989
movq -0x58(%rbp), %rax
movq $0x0, (%rax)
jmp 0x54989
movq -0x58(%rbp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, (%rax)
jmp 0x54989
movq -0x58(%rbp), %rax
movq $0x0, (%rax)
jmp 0x54989
movq -0x58(%rbp), %rax
movq $0x0, (%rax)
cmpb $0x0, -0x9(%rbp)
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x548e2
jmp 0x54987
movb $0x1, -0x45(%rbp)
movl $0x20, %edi
callq 0xb2c0
movq %rax, -0x68(%rbp)
leaq -0x31(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0xba70
movq -0x60(%rbp), %rdx
leaq 0x70a5c(%rip), %rsi     # 0xc5368
leaq -0x30(%rbp), %rdi
callq 0x10b90
jmp 0x54917
movq -0x68(%rbp), %rdi
movl $0x1f4, %esi            # imm = 0x1F4
leaq -0x30(%rbp), %rdx
callq 0x54d10
jmp 0x5492b
movq -0x68(%rbp), %rdi
movb $0x0, -0x45(%rbp)
leaq 0xc75a6(%rip), %rsi     # 0x11bee0
leaq 0x51f(%rip), %rdx       # 0x54e60
callq 0xb9f0
jmp 0x54998
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5496b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x30(%rbp), %rdi
callq 0xbb98
leaq -0x31(%rbp), %rdi
callq 0xb600
testb $0x1, -0x45(%rbp)
jne 0x5497c
jmp 0x54985
movq -0x68(%rbp), %rdi
callq 0xb460
jmp 0x5498f
jmp 0x54989
addq $0x70, %rsp
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0xba60
nopl (%rax,%rax)