// File: /workspace/github_cpp_makefile_star2_O2/oknenavin[P]cxon/examples/cxcf-ex01.cxx
// Function: main
int main() {
    // load
    config cf;
        auto const r = cxon::from_bytes(cf, cf_);
    // ready for use
    assert(
        r &&
        (cf.prop1 == 42) &&
        (cf.prop_array == decltype(cf.prop_array) {"one", "two", "three"}) &&
        (cf.prop_object.key1 == decltype(cf.prop_object.key1) {{"key.1", {1, 3, 5}}, {"key.2", {2, 4, 6}}}) &&
        (cf.prop_object.key2 == true)
    );
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x1e0, %rsp            # imm = 0x1E0
leaq 0x80(%rsp), %rax
andl $0x0, -0x28(%rax)
xorps %xmm0, %xmm0
andq $0x0, -0x10(%rax)
movups %xmm0, -0x20(%rax)
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
movb $0x0, 0x28(%rax)
leaq 0x3cfd(%rip), %rdx      # 0x6070
leaq 0xe0(%rsp), %rdi
leaq 0x58(%rsp), %rsi
callq 0x2957
cmpl $0x0, 0xe0(%rsp)
jne 0x2582
cmpl $0x2a, 0x58(%rsp)
jne 0x2582
leaq 0x402b(%rip), %rsi      # 0x63d0
leaq 0x110(%rsp), %r14
leaq 0xf(%rsp), %rdx
movq %r14, %rdi
callq 0x2080
leaq 0x130(%rsp), %r15
leaq 0x400b(%rip), %rsi      # 0x63d4
leaq 0xe(%rsp), %rdx
movq %r15, %rdi
callq 0x2080
leaq 0x150(%rsp), %r15
leaq 0x3ff3(%rip), %rsi      # 0x63d8
leaq 0xd(%rsp), %rdx
movq %r15, %rdi
callq 0x2080
leaq 0x40(%rsp), %rdi
leaq 0x110(%rsp), %rsi
pushq $0x3
popq %rdx
leaq 0xc(%rsp), %rcx
callq 0x26b4
leaq 0x60(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x268a
testb %al, %al
je 0x2582
movabsq $0x300000001, %rax      # imm = 0x300000001
leaq 0x104(%rsp), %rsi
movq %rax, (%rsi)
movl $0x5, 0x8(%rsi)
leaq 0x28(%rsp), %rdi
pushq $0x3
popq %rdx
leaq 0xb(%rsp), %rcx
callq 0x26ee
leaq 0x3f86(%rip), %rsi      # 0x63de
leaq 0x170(%rsp), %r15
leaq 0x28(%rsp), %rdx
movq %r15, %rdi
callq 0x2724
leaq 0x1a8(%rsp), %r14
movabsq $0x400000002, %rax      # imm = 0x400000002
leaq 0xf8(%rsp), %rsi
movq %rax, (%rsi)
movl $0x6, 0x8(%rsi)
leaq 0x10(%rsp), %rdi
pushq $0x3
popq %rdx
leaq 0xa(%rsp), %rcx
callq 0x26ee
leaq 0x3f3a(%rip), %rsi      # 0x63e4
leaq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x2724
leaq 0xb0(%rsp), %rdi
leaq 0x170(%rsp), %rsi
pushq $0x2
popq %rdx
leaq 0x9(%rsp), %rcx
leaq 0x8(%rsp), %r8
callq 0x2760
leaq 0x78(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0x567a
testb %al, %al
je 0x2582
cmpb $0x0, 0xa8(%rsp)
je 0x2582
leaq 0xb0(%rsp), %rdi
callq 0x28c4
pushq $0x38
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x170, %rdi            # imm = 0x170
callq 0x27a8
addq $-0x38, %rbx
cmpq $-0x38, %rbx
jne 0x2511
leaq 0x10(%rsp), %rdi
callq 0x2854
leaq 0x28(%rsp), %rdi
callq 0x2854
leaq 0x40(%rsp), %rdi
callq 0x27be
pushq $0x40
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x110, %rdi            # imm = 0x110
callq 0x20b0
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0x254c
leaq 0x58(%rsp), %rdi
callq 0x27e0
xorl %eax, %eax
addq $0x1e0, %rsp            # imm = 0x1E0
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x3e61(%rip), %rdi      # 0x63ea
leaq 0x3f3e(%rip), %rsi      # 0x64ce
leaq 0x3f45(%rip), %rcx      # 0x64dc
pushq $0x3a
popq %rdx
callq 0x2100
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0x28c4
jmp 0x25b4
movq %rax, %rbx
pushq $0x38
popq %r12
leaq (%rsp,%r12), %rdi
addq $0x170, %rdi            # imm = 0x170
callq 0x27a8
addq $-0x38, %r12
cmpq $-0x38, %r12
jne 0x25b8
movb $0x1, %bpl
jmp 0x25dc
movq %rax, %rbx
xorl %ebp, %ebp
leaq 0x10(%rsp), %rdi
callq 0x2854
jmp 0x25f7
movq %rax, %rbx
xorl %ebp, %ebp
jmp 0x25f7
movq %rax, %rbx
xorl %ebp, %ebp
movq %r15, %r14
leaq 0x28(%rsp), %rdi
callq 0x2854
cmpq %r14, %r15
sete %al
orb %bpl, %al
jne 0x262c
leaq 0x170(%rsp), %r15
addq $-0x38, %r14
movq %r14, %rdi
callq 0x27a8
cmpq %r15, %r14
jne 0x2614
jmp 0x262c
jmp 0x2629
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x27be
pushq $0x40
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x110, %rdi            # imm = 0x110
callq 0x20b0
addq $-0x20, %r14
cmpq $-0x20, %r14
jne 0x263a
jmp 0x2678
movq %rax, %rbx
jmp 0x2636
jmp 0x265d
movq %rax, %rbx
addq $-0x20, %r15
movq %r15, %rdi
callq 0x20b0
cmpq %r14, %r15
jne 0x2660
jmp 0x2678
jmp 0x2675
movq %rax, %rbx
leaq 0x58(%rsp), %rdi
callq 0x27e0
movq %rbx, %rdi
callq 0x2210