// File: Konano[P]UselessDatabase/./Type.h
// Function: Type::Type(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>)
Type(json j) {
        strcpy(name, j["name"].get<std::string>().c_str());
        ty = (enumType)j["ty"].get<int>();
        char_len = j["char_len"].get<int>();
        key = (enumKeyType)j["key"].get<int>();
        null = j["null"].get<bool>();
        if (j.count("def")) {
            switch (ty) {
            case INT: { def = j["def"].get<int>(); break; }
            case DATE: { def = j["def"].get<int>(); break; }
            case CHAR: { def = j["def"].get<std::string>().c_str(); break; }
            case VARCHAR: { def = j["def"].get<std::string>().c_str(); break; }
            case DECIMAL: { def = j["def"].get<long double>(); break; }
            }
        } else {
            def = Any();
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x180, %rsp            # imm = 0x180
movq %rsi, -0xd0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
movb $0x1, (%rdi)
movb $0x0, 0x1(%rdi)
movl $0x0, 0x24(%rdi)
movb $0x0, 0x28(%rdi)
movl $0x2, 0x2c(%rdi)
addq $0x30, %rdi
movq %rdi, -0xe0(%rbp)
callq 0xd240
movq -0xd8(%rbp), %rax
movq -0xd0(%rbp), %rdi
addq $0x2, %rax
movq %rax, -0xc8(%rbp)
leaq 0x31558(%rip), %rsi     # 0x83c16
callq 0xae60
movq %rax, -0xc0(%rbp)
jmp 0x526cc
movq -0xc0(%rbp), %rsi
leaq -0x30(%rbp), %rdi
callq 0xb390
jmp 0x526de
leaq -0x30(%rbp), %rdi
movq %rdi, -0xf0(%rbp)
callq 0x6210
movq -0xc8(%rbp), %rdi
movq %rax, %rsi
callq 0x6460
movq -0xf0(%rbp), %rdi
callq 0x6340
movq -0xd0(%rbp), %rdi
leaq 0x3149e(%rip), %rsi     # 0x83bb5
callq 0xae60
movq %rax, -0xe8(%rbp)
jmp 0x52725
movq -0xe8(%rbp), %rdi
callq 0xb410
movl %eax, -0xf4(%rbp)
jmp 0x52739
movq -0xd0(%rbp), %rdi
movq -0xd8(%rbp), %rax
movl -0xf4(%rbp), %ecx
movl %ecx, 0x24(%rax)
leaq 0x31512(%rip), %rsi     # 0x83c69
callq 0xae60
movq %rax, -0x100(%rbp)
jmp 0x52765
movq -0x100(%rbp), %rdi
callq 0xb410
movl %eax, -0x104(%rbp)
jmp 0x52779
movq -0xd0(%rbp), %rdi
movq -0xd8(%rbp), %rax
movl -0x104(%rbp), %ecx
movb %cl, 0x28(%rax)
leaq 0x2edc1(%rip), %rsi     # 0x81558
callq 0xae60
movq %rax, -0x110(%rbp)
jmp 0x527a5
movq -0x110(%rbp), %rdi
callq 0xb410
movl %eax, -0x114(%rbp)
jmp 0x527b9
movq -0xd0(%rbp), %rdi
movq -0xd8(%rbp), %rax
movl -0x114(%rbp), %ecx
movl %ecx, 0x2c(%rax)
leaq 0x2c49f(%rip), %rsi     # 0x7ec76
callq 0xae60
movq %rax, -0x120(%rbp)
jmp 0x527e5
movq -0x120(%rbp), %rdi
callq 0x54470
movb %al, -0x121(%rbp)
jmp 0x527f9
movq -0xd0(%rbp), %rdi
movq -0xd8(%rbp), %rax
movb -0x121(%rbp), %cl
andb $0x1, %cl
movb %cl, (%rax)
leaq 0x31459(%rip), %rsi     # 0x83c72
callq 0x544a0
movq %rax, -0x130(%rbp)
jmp 0x52827
movq -0x130(%rbp), %rax
cmpq $0x0, %rax
je 0x52a77
movq -0xd8(%rbp), %rax
movl 0x24(%rax), %eax
movq %rax, -0x138(%rbp)
subq $0x4, %rax
ja 0x52a75
movq -0x138(%rbp), %rax
leaq 0x3129b(%rip), %rcx     # 0x83afc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x52acf
movq -0xd0(%rbp), %rdi
leaq 0x313e9(%rip), %rsi     # 0x83c72
callq 0xae60
movq %rax, -0x140(%rbp)
jmp 0x52897
movq -0x140(%rbp), %rdi
callq 0xb410
movl %eax, -0x144(%rbp)
jmp 0x528ab
movq -0xd8(%rbp), %rdi
movl -0x144(%rbp), %eax
movl %eax, -0x40(%rbp)
addq $0x30, %rdi
leaq -0x40(%rbp), %rsi
callq 0x52f60
jmp 0x528ca
jmp 0x52a75
movq -0xd0(%rbp), %rdi
leaq 0x31395(%rip), %rsi     # 0x83c72
callq 0xae60
movq %rax, -0x150(%rbp)
jmp 0x528eb
movq -0x150(%rbp), %rdi
callq 0xb410
movl %eax, -0x154(%rbp)
jmp 0x528ff
movq -0xd8(%rbp), %rdi
movl -0x154(%rbp), %eax
movl %eax, -0x44(%rbp)
addq $0x30, %rdi
leaq -0x44(%rbp), %rsi
callq 0x52f60
jmp 0x5291e
jmp 0x52a75
movq -0xd0(%rbp), %rdi
leaq 0x31341(%rip), %rsi     # 0x83c72
callq 0xae60
movq %rax, -0x160(%rbp)
jmp 0x5293f
movq -0x160(%rbp), %rsi
leaq -0x70(%rbp), %rdi
callq 0xb390
jmp 0x52951
leaq -0x70(%rbp), %rdi
callq 0x6210
movq -0xd8(%rbp), %rdi
movq %rax, -0x50(%rbp)
addq $0x30, %rdi
leaq -0x50(%rbp), %rsi
callq 0x544f0
jmp 0x52974
leaq -0x70(%rbp), %rdi
callq 0x6340
jmp 0x52a75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x6340
jmp 0x52acf
movq -0xd0(%rbp), %rdi
leaq 0x312c8(%rip), %rsi     # 0x83c72
callq 0xae60
movq %rax, -0x168(%rbp)
jmp 0x529b8
movq -0x168(%rbp), %rsi
leaq -0x98(%rbp), %rdi
callq 0xb390
jmp 0x529cd
leaq -0x98(%rbp), %rdi
callq 0x6210
movq -0xd8(%rbp), %rdi
movq %rax, -0x78(%rbp)
addq $0x30, %rdi
leaq -0x78(%rbp), %rsi
callq 0x544f0
jmp 0x529f3
leaq -0x98(%rbp), %rdi
callq 0x6340
jmp 0x52a75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x6340
jmp 0x52acf
movq -0xd0(%rbp), %rdi
leaq 0x31246(%rip), %rsi     # 0x83c72
callq 0xae60
movq %rax, -0x170(%rbp)
jmp 0x52a3a
movq -0x170(%rbp), %rdi
callq 0x54570
fstpt -0x17c(%rbp)
jmp 0x52a4e
movq -0xd8(%rbp), %rdi
fldt -0x17c(%rbp)
fstpt -0xb0(%rbp)
addq $0x30, %rdi
leaq -0xb0(%rbp), %rsi
callq 0x530e0
jmp 0x52a73
jmp 0x52a75
jmp 0x52ac6
leaq -0xb8(%rbp), %rdi
callq 0xd240
jmp 0x52a85
movq -0xd8(%rbp), %rdi
addq $0x30, %rdi
leaq -0xb8(%rbp), %rsi
callq 0xd320
jmp 0x52a9e
leaq -0xb8(%rbp), %rdi
callq 0xc3c0
jmp 0x52ac6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0xc3c0
jmp 0x52acf
addq $0x180, %rsp            # imm = 0x180
popq %rbp
retq
movq -0xe0(%rbp), %rdi
callq 0xc3c0
movq -0x38(%rbp), %rdi
callq 0x6890
nopw %cs:(%rax,%rax)
nop