// File: oknenavin[P]cxon/examples/format-traits-ex02.cxx
// Function: main
int main() {
    std::map<std::string, std::string> cxx;
        cxon::from_bytes<UQK>(cxx, R"({ key: 'value' })");
    assert(cxx == (std::map<std::string, std::string> { {"key", "value"} }));
    std::string str;
        cxon::to_bytes<UQK>(str, cxx);
    assert(str == R"({key:'value'})");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x190, %rsp            # imm = 0x190
movl $0x0, -0x4(%rbp)
leaq -0x38(%rbp), %rdi
movq %rdi, -0x130(%rbp)
callq 0x26c0
movq -0x130(%rbp), %rsi
leaq 0x9200(%rip), %rdx      # 0xb5d0
leaq -0x50(%rbp), %rdi
callq 0x26e0
jmp 0x23db
leaq -0xe0(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
leaq 0x91f1(%rip), %rsi      # 0xb5e1
leaq 0x91ee(%rip), %rdx      # 0xb5e5
callq 0x2740
jmp 0x23fe
leaq -0xe0(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq $0x1, -0x98(%rbp)
leaq -0xea(%rbp), %rdi
movq %rdi, -0x138(%rbp)
callq 0x2850
movq -0x138(%rbp), %r8
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
leaq -0x90(%rbp), %rdi
leaq -0xe9(%rbp), %rcx
callq 0x2870
jmp 0x2454
leaq -0x38(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x2710
movb %al, -0x139(%rbp)
jmp 0x246c
movb -0x139(%rbp), %al
testb $0x1, %al
jne 0x2478
jmp 0x247d
jmp 0x2537
leaq 0x9167(%rip), %rdi      # 0xb5eb
leaq 0x91a1(%rip), %rsi      # 0xb62c
movl $0x15, %edx
leaq 0x91ac(%rip), %rcx      # 0xb643
callq 0x2130
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x26a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
movq -0xe8(%rbp), %rax
leaq -0xe0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x148(%rbp)
je 0x2504
movq -0x148(%rbp), %rdi
addq $-0x40, %rdi
movq %rdi, -0x150(%rbp)
callq 0x2820
movq -0x150(%rbp), %rax
leaq -0xe0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x148(%rbp)
jne 0x24d3
jmp 0x26a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x2610
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x2940
jmp 0x2610
leaq -0x90(%rbp), %rdi
callq 0x2940
leaq -0xea(%rbp), %rdi
callq 0x2960
leaq -0xe0(%rbp), %rax
movq %rax, -0x160(%rbp)
addq $0x40, %rax
movq %rax, -0x158(%rbp)
movq -0x158(%rbp), %rdi
addq $-0x40, %rdi
movq %rdi, -0x168(%rbp)
callq 0x2820
movq -0x160(%rbp), %rcx
movq -0x168(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x158(%rbp)
jne 0x2568
leaq -0x110(%rbp), %rdi
movq %rdi, -0x170(%rbp)
callq 0x2220
movq -0x170(%rbp), %rsi
leaq -0x128(%rbp), %rdi
leaq -0x38(%rbp), %rdx
callq 0x2980
jmp 0x25c5
leaq 0x9082(%rip), %rsi      # 0xb64e
leaq -0x110(%rbp), %rdi
callq 0x29b0
movb %al, -0x171(%rbp)
jmp 0x25e0
movb -0x171(%rbp), %al
testb $0x1, %al
jne 0x25ec
jmp 0x25f1
jmp 0x2682
leaq 0x9064(%rip), %rdi      # 0xb65c
leaq 0x902d(%rip), %rsi      # 0xb62c
movl $0x18, %edx
leaq 0x9038(%rip), %rcx      # 0xb643
callq 0x2130
leaq -0xea(%rbp), %rdi
callq 0x2960
leaq -0xe0(%rbp), %rax
movq %rax, -0x188(%rbp)
addq $0x40, %rax
movq %rax, -0x180(%rbp)
movq -0x180(%rbp), %rdi
addq $-0x40, %rdi
movq %rdi, -0x190(%rbp)
callq 0x2820
movq -0x188(%rbp), %rcx
movq -0x190(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x180(%rbp)
jne 0x2635
jmp 0x26a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x2110
jmp 0x26a3
leaq -0x110(%rbp), %rdi
callq 0x2110
leaq -0x38(%rbp), %rdi
callq 0x2940
movl -0x4(%rbp), %eax
addq $0x190, %rsp            # imm = 0x190
popq %rbp
retq
leaq -0x38(%rbp), %rdi
callq 0x2940
movq -0x58(%rbp), %rdi
callq 0x2270
nopw %cs:(%rax,%rax)
nop