// File: Heptagon196[P]Gos/Reflection/JSON.cpp
// Function: void printMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, JSON>(std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char>>&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, JSON, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, JSON>>>&)
static void printMap(std::stringstream& out, std::unordered_map<T, V>& val) {
    out << "{";
    if (useIndent) {
        indent++;
    }
    if (val.size() > 0) {
        auto iter = val.begin();
        if (useIndent) {
            out << std::endl;
            printIndent(out);
        } else {
            out << " ";
        }
        print(out, iter->first);
        out << ": ";
        print(out, iter->second.content());
        iter++;
        while (iter != val.end()) {
            out << ",";
            if (useIndent) {
                out << std::endl;
                printIndent(out);
            } else {
                out << " ";
            }
            print(out, iter->first);
            out << ": ";
            print(out, iter->second.content());
            iter++;
        }
    }
    if (useIndent) {
        indent--;
        if (val.size() > 0) {
            out << std::endl;
            printIndent(out);
        }
    }
    out << "}";
}

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq 0x50(%rsp), %rdi
addq $0x10, %rdi
leaq 0x1e1bc2(%rip), %rsi    # 0x20ca40
callq 0x13380
testb $0x1, 0x2d64e6(%rip)    # 0x301370
je 0x2ae9b
movl 0x2d65d2(%rip), %eax    # 0x301464
addl $0x1, %eax
movl %eax, 0x2d65c9(%rip)    # 0x301464
movq 0x48(%rsp), %rdi
callq 0x164d60
cmpq $0x0, %rax
jbe 0x2b069
movq 0x48(%rsp), %rdi
callq 0x165070
movq %rax, 0x40(%rsp)
testb $0x1, 0x2d64ab(%rip)    # 0x301370
je 0x2aee8
movq 0x50(%rsp), %rdi
addq $0x10, %rdi
movq 0x2d6109(%rip), %rsi    # 0x300fe0
callq 0x135d0
movq 0x50(%rsp), %rdi
callq 0x2b0d0
jmp 0x2aefd
movq 0x50(%rsp), %rdi
addq $0x10, %rdi
leaq 0x1f5dcd(%rip), %rsi    # 0x220cc5
callq 0x13380
movq 0x50(%rsp), %rax
movq %rax, 0x18(%rsp)
leaq 0x40(%rsp), %rdi
callq 0x169310
movq 0x18(%rsp), %rdi
movq %rax, %rsi
callq 0x2b120
movq 0x50(%rsp), %rdi
addq $0x10, %rdi
leaq 0x1e1ec9(%rip), %rsi    # 0x20cdf7
callq 0x13380
movq 0x50(%rsp), %rax
movq %rax, 0x20(%rsp)
leaq 0x40(%rsp), %rdi
callq 0x169310
movq %rax, %rdi
addq $0x20, %rdi
callq 0x28870
movq 0x20(%rsp), %rdi
movq %rax, %rsi
callq 0x2a6e0
leaq 0x40(%rsp), %rdi
xorl %esi, %esi
callq 0x169330
movq %rax, 0x38(%rsp)
movq 0x48(%rsp), %rdi
callq 0x164dc0
movq %rax, 0x30(%rsp)
leaq 0x40(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x164d70
xorb $-0x1, %al
testb $0x1, %al
jne 0x2af9a
jmp 0x2b067
movq 0x50(%rsp), %rdi
addq $0x10, %rdi
leaq 0x1e1a98(%rip), %rsi    # 0x20ca42
callq 0x13380
testb $0x1, 0x2d63ba(%rip)    # 0x301370
je 0x2afd9
movq 0x50(%rsp), %rdi
addq $0x10, %rdi
movq 0x2d6018(%rip), %rsi    # 0x300fe0
callq 0x135d0
movq 0x50(%rsp), %rdi
callq 0x2b0d0
jmp 0x2afee
movq 0x50(%rsp), %rdi
addq $0x10, %rdi
leaq 0x1f5cdc(%rip), %rsi    # 0x220cc5
callq 0x13380
movq 0x50(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0x40(%rsp), %rdi
callq 0x169310
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x2b120
movq 0x50(%rsp), %rdi
addq $0x10, %rdi
leaq 0x1e1dd8(%rip), %rsi    # 0x20cdf7
callq 0x13380
movq 0x50(%rsp), %rax
movq %rax, 0x10(%rsp)
leaq 0x40(%rsp), %rdi
callq 0x169310
movq %rax, %rdi
addq $0x20, %rdi
callq 0x28870
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0x2a6e0
leaq 0x40(%rsp), %rdi
xorl %esi, %esi
callq 0x169330
movq %rax, 0x28(%rsp)
jmp 0x2af71
jmp 0x2b069
testb $0x1, 0x2d6300(%rip)    # 0x301370
je 0x2b0b2
movl 0x2d63ec(%rip), %eax    # 0x301464
addl $-0x1, %eax
movl %eax, 0x2d63e3(%rip)    # 0x301464
movq 0x48(%rsp), %rdi
callq 0x164d60
cmpq $0x0, %rax
jbe 0x2b0b0
movq 0x50(%rsp), %rdi
addq $0x10, %rdi
movq 0x2d5f3f(%rip), %rsi    # 0x300fe0
callq 0x135d0
movq 0x50(%rsp), %rdi
callq 0x2b0d0
jmp 0x2b0b2
movq 0x50(%rsp), %rdi
addq $0x10, %rdi
leaq 0x1e1982(%rip), %rsi    # 0x20ca44
callq 0x13380
addq $0x58, %rsp
retq
nopl (%rax)