// File: /workspace/github_cpp_makefile_star2_O2/redpony[P]cpyp/./cpyp/crp_table_manager.h
// Function: std::ostream& cpyp::operator<<<1u>(std::ostream&, cpyp::crp_table_manager<1u> const&)
std::ostream& operator<<(std::ostream& os, const crp_table_manager<N>& tm) {
  os << '[' << tm.num_customers() << " customer" << (tm.num_customers() == 1 ? "" : "s")
     << " at " << tm.num_tables() << " table" << (tm.num_tables() == 1 ? "" : "s") << " |||";
  bool first = true;
  for (unsigned floor = 0; floor < N; ++floor) {
    os << " floor:" << (floor+1) << '/' << N << ' ';
    if (tm.h[floor].begin() == tm.h[floor].end()) { os << "EMPTY"; }
    for (auto& table : tm.h[floor]) {
      if (first) first = false; else os << "  --  ";
      os << '(' << table.first << ") x " << table.second;
    }
  }
  return os << ']';
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r12
movq %rdi, %rbx
pushq $0x5b
popq %rsi
callq 0x21a0
movl (%r12), %esi
movq %rax, %rdi
callq 0x20e0
leaq 0x1734(%rip), %rsi      # 0x9b83
movq %rax, %rdi
callq 0x2170
cmpl $0x1, (%r12)
leaq 0xf54(%rip), %r15       # 0x93b7
leaq 0x14b0(%rip), %r14      # 0x991a
movq %r14, %rsi
cmoveq %r15, %rsi
movq %rax, %rdi
callq 0x2170
leaq 0x170d(%rip), %rsi      # 0x9b8d
movq %rax, %rdi
callq 0x2170
movl 0x4(%r12), %esi
movq %rax, %rdi
callq 0x20e0
leaq 0x16f6(%rip), %rsi      # 0x9b92
movq %rax, %rdi
callq 0x2170
cmpl $0x1, 0x4(%r12)
cmoveq %r15, %r14
movq %rax, %rdi
movq %r14, %rsi
callq 0x2170
leaq 0x16d9(%rip), %rsi      # 0x9b99
movq %rax, %rdi
callq 0x2170
movq %r12, %rcx
leaq 0x8(%r12), %rax
movq %rax, 0x8(%rsp)
movb $0x1, %al
leaq 0x10(%rsp), %rbp
leaq 0x30(%rsp), %r12
leaq 0x16cb(%rip), %r14      # 0x9bb3
movb $0x1, %r15b
movq %rcx, 0x28(%rsp)
testb $0x1, %al
je 0x867c
movq %rbx, %rdi
leaq 0x169c(%rip), %rsi      # 0x9b9e
callq 0x2170
movq %rax, %rdi
pushq $0x1
popq %r13
movq %r13, %rsi
callq 0x20e0
movq %rax, %rdi
pushq $0x2f
popq %rsi
callq 0x21a0
movq %rax, %rdi
movq %r13, %rsi
callq 0x20e0
movq %rax, %rdi
pushq $0x20
popq %rsi
callq 0x21a0
movq %rbp, %rdi
movq 0x8(%rsp), %rsi
callq 0x585e
movq 0x28(%rsp), %rcx
movb 0x81(%rcx), %al
cmpb 0x10(%rsp), %al
je 0x8574
testb %al, %al
je 0x865c
cmpq $0x0, 0x20(%rsp)
jne 0x8574
movq %rbx, %rdi
leaq 0x1637(%rip), %rsi      # 0x9ba6
callq 0x2170
movq %rbp, %rdi
movq 0x8(%rsp), %r13
movq %r13, %rsi
callq 0x585e
movq 0x28(%rsp), %rdx
movb 0x81(%rdx), %al
movl %eax, %ecx
xorb $0x1, %cl
movb %cl, 0x30(%rsp)
andq $0x0, 0x40(%rsp)
testb %al, %al
je 0x85ad
andq $0x0, 0x40(%rsp)
jmp 0x8642
movzbl 0x80(%rdx), %eax
leaq (,%rax,8), %rax
addq %r13, %rax
movq %rax, 0x38(%rsp)
jmp 0x8642
cmpb $0x0, 0x10(%rsp)
je 0x85d4
movq 0x18(%rsp), %r13
jmp 0x85dd
movq 0x20(%rsp), %r13
addq $0x8, %r13
testb $0x1, %r15b
jne 0x85f2
movq %rbx, %rdi
leaq 0x15bf(%rip), %rsi      # 0x9bac
callq 0x2170
movq %rbx, %rdi
pushq $0x28
popq %rsi
callq 0x21a0
movl (%r13), %esi
movq %rax, %rdi
callq 0x20e0
movq %rax, %rdi
movq %r14, %rsi
callq 0x2170
movl 0x4(%r13), %esi
movq %rax, %rdi
callq 0x20e0
cmpb $0x1, 0x10(%rsp)
jne 0x8632
addq $0x8, 0x18(%rsp)
xorl %r15d, %r15d
jmp 0x8642
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x20(%rsp)
xorl %r15d, %r15d
movq %rbp, %rdi
movq %r12, %rsi
callq 0x57fc
testb %al, %al
jne 0x85c6
xorl %eax, %eax
jmp 0x84f0
movzbl 0x80(%rcx), %eax
movq 0x8(%rsp), %rcx
leaq (%rcx,%rax,8), %rax
cmpq %rax, 0x18(%rsp)
jne 0x8574
jmp 0x8565
pushq $0x5d
popq %rsi
movq %rbx, %rdi
callq 0x21a0
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq