// File: /workspace/github_cpp_makefile_star2_O2/tewalds[P]pentagod/board.cpp
// Function: Board::to_s[abi:cxx11](bool) const
string Board::to_s(bool color) const {
	string white = "O",
	       black = "@",
	       empty = ".",
	       coord = "",
	       reset = "";
	if(color){
		string esc = "\033";
		reset = esc + "[0m";
		coord = esc + "[1;37m";
		empty = reset + ".";
		white = esc + "[1;33m" + "@"; //yellow
		black = esc + "[1;34m" + "@"; //blue
	}

	// clockwise around, starting from left
	// 1 2
	//0   3
	//7   4
	// 6 5
	static string arrows[] = {"↙", "↗", "↖", "↘", "↗", "↙", "↘", "↖"}; // ↙↘↗↖
//	static string arrows[] = {"↓", "→", "←", "↓", "↑", "←", "→", "↑"}; // ←↑→↓
//	static string arrows[] = {"⬐", "↱", "↰", "⬎", "⬏", "↲", "↳", "⬑"}; // ↰ ↱ ↲ ↳ ⬐ ⬎ ⬑ ⬏ ↴ ↵
//	static string arrows[] = {"⤹", "↷", "↶", "⤸", "⤿", "⤾", "⤿", "⤾"}; // ↺ ↻ ⥀ ⥁ ⟲ ⟳ ↶ ↷ ⤾ ⤿ ⤸ ⤹ ⤺ ⤻

	static string top[]    = {arrows[1], " t     u ", arrows[2] };
	static string left[]   = {arrows[0], "s", " ", " ", "z", arrows[7] };
	static string right[]  = {arrows[3], "v", " ", " ", "w", arrows[4] };
	static string bottom[] = {arrows[6], " y     x ", arrows[5] };

	string s;
	s += coord;
	s += "    ";
	for(unsigned int i = 0; i < sizeof(top)/sizeof(string); i++)
		s += top[i];
	s += "\n";
	s += "    1 2 3 4 5 6\n";
	for(int y = 0; y < 6; y++){
		s += left[y] + " " + string(1, 'a' + y) + " ";
		for(int x = 0; x < 6; x++){
			int p = get(x, y);
			if(p == 0) s += empty;
			if(p == 1) s += white;
			if(p == 2) s += black;
			s += " ";
		}
		s += coord + right[y] + "\n";
	}
	s += "    ";
	for(unsigned int i = 0; i < sizeof(bottom)/sizeof(string); i++)
		s += bottom[i];
	s += reset + "\n";
	return s;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x138, %rsp            # imm = 0x138
movl %edx, %ebp
movq %rsi, 0x70(%rsp)
movq %rdi, %rbx
leaq 0xe305(%rip), %rsi      # 0x1dc23
leaq 0x118(%rsp), %rdi
leaq 0xf8(%rsp), %rdx
callq 0x40f0
leaq 0xf8c0(%rip), %rsi      # 0x1f1fa
leaq 0xf8(%rsp), %rdi
leaq 0xd8(%rsp), %rdx
callq 0x40f0
leaq 0xd6c2(%rip), %rsi      # 0x1d018
leaq 0xd8(%rsp), %rdi
leaq 0xb8(%rsp), %rdx
callq 0x40f0
leaq 0xd147(%rip), %rsi      # 0x1cab9
leaq 0xb8(%rsp), %rdi
leaq 0x98(%rsp), %rdx
callq 0x40f0
leaq 0xd12b(%rip), %rsi      # 0x1cab9
leaq 0x98(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x40f0
testb %bpl, %bpl
je 0xfb0b
leaq 0xf84c(%rip), %rsi      # 0x1f1fc
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0x40f0
leaq 0xf838(%rip), %rdx      # 0x1f1fe
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x11b6b
leaq 0x30(%rsp), %r15
leaq 0x98(%rsp), %rdi
movq %r15, %rsi
callq 0x43c0
movq %r15, %rdi
callq 0x4130
leaq 0xf809(%rip), %rdx      # 0x1f202
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x11b6b
leaq 0x30(%rsp), %r15
leaq 0xb8(%rsp), %rdi
movq %r15, %rsi
callq 0x43c0
movq %r15, %rdi
callq 0x4130
leaq 0xd5ec(%rip), %rdx      # 0x1d018
leaq 0x30(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x11b6b
leaq 0x30(%rsp), %r15
leaq 0xd8(%rsp), %rdi
movq %r15, %rsi
callq 0x43c0
movq %r15, %rdi
callq 0x4130
leaq 0xf7a7(%rip), %rdx      # 0x1f209
leaq 0x50(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x11b6b
leaq 0xf782(%rip), %rdx      # 0x1f1fa
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x6821
leaq 0x30(%rsp), %r15
leaq 0x118(%rsp), %rdi
movq %r15, %rsi
callq 0x43c0
movq %r15, %rdi
callq 0x4130
leaq 0x50(%rsp), %rdi
callq 0x4130
leaq 0xf75b(%rip), %rdx      # 0x1f210
leaq 0x50(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x11b6b
leaq 0xf72f(%rip), %rdx      # 0x1f1fa
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x6821
leaq 0x30(%rsp), %r15
leaq 0xf8(%rsp), %rdi
movq %r15, %rsi
callq 0x43c0
movq %r15, %rdi
callq 0x4130
leaq 0x50(%rsp), %rdi
callq 0x4130
leaq 0x10(%rsp), %rdi
callq 0x4130
movb 0x1b94f(%rip), %al      # 0x2b460
movq %rbx, (%rsp)
testb %al, %al
je 0xfde3
movb 0x1b9ad(%rip), %al      # 0x2b4d0
testb %al, %al
je 0xfef9
movb 0x1ba6f(%rip), %al      # 0x2b5a0
testb %al, %al
je 0xff7e
movb 0x1bb31(%rip), %al      # 0x2b670
testb %al, %al
je 0x10054
movb 0x1bb93(%rip), %al      # 0x2b6e0
testb %al, %al
je 0x1012a
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
andq $0x0, 0x8(%rbx)
movb $0x0, 0x10(%rbx)
leaq 0xb8(%rsp), %rsi
movq %rbx, %rdi
callq 0x4610
leaq 0xfc3e(%rip), %rsi      # 0x1f7ba
movq %rbx, %rdi
callq 0x45e0
leaq 0x1b8e5(%rip), %r12     # 0x2b470
xorl %r15d, %r15d
cmpq $0x60, %r15
je 0xfba6
leaq (%r12,%r15), %rsi
movq %rbx, %rdi
callq 0x4610
addq $0x20, %r15
jmp 0xfb8e
leaq 0xcf0b(%rip), %rsi      # 0x1cab8
movq %rbx, %rdi
callq 0x45e0
leaq 0xf67f(%rip), %rsi      # 0x1f23b
movq %rbx, %rdi
callq 0x45e0
leaq 0xfbf2(%rip), %r12      # 0x1f7bd
leaq 0x50(%rsp), %r15
xorl %ebp, %ebp
cmpq $0x6, %rbp
je 0xfd2c
movq %rbp, %r13
shlq $0x5, %r13
leaq 0x1b8f6(%rip), %rax     # 0x2b4e0
movq %r15, %rdi
leaq (%rax,%r13), %rsi
movq %r12, %rdx
callq 0x11b6b
leal 0x61(%rbp), %eax
leaq 0x88(%rsp), %rcx
movq %rcx, 0x78(%rsp)
leaq 0x78(%rsp), %rbx
movsbl %al, %edx
movq %rbx, %rdi
pushq $0x1
popq %rsi
callq 0x4350
leaq 0x30(%rsp), %r14
movq %r15, %rsi
movq %rbx, %rdx
movq %r14, %rdi
callq 0x8365
leaq 0x10(%rsp), %rbx
movq %r14, %rsi
movq %r12, %rdx
movq %rbx, %rdi
callq 0x6821
movq (%rsp), %rdi
movq %rbx, %rsi
callq 0x4610
movq %rbx, %rdi
callq 0x4130
movq %r14, %rdi
callq 0x4130
leaq 0x78(%rsp), %rdi
callq 0x4130
movq %r15, %rdi
callq 0x4130
xorl %r15d, %r15d
cmpl $0x6, %r15d
je 0xfccc
movq 0x70(%rsp), %rdi
movl %r15d, %esi
movl %ebp, %edx
callq 0x11b42
cmpb $0x2, %al
je 0xfcaa
movzbl %al, %eax
leaq 0x118(%rsp), %rsi
cmpl $0x1, %eax
je 0xfcb2
testl %eax, %eax
jne 0xfcbb
leaq 0xd8(%rsp), %rsi
jmp 0xfcb2
leaq 0xf8(%rsp), %rsi
movq (%rsp), %rdi
callq 0x4610
movq (%rsp), %rdi
movq %r12, %rsi
callq 0x45e0
incl %r15d
jmp 0xfc73
leaq 0x1b8dd(%rip), %rax     # 0x2b5b0
addq %rax, %r13
leaq 0xb8(%rsp), %rsi
movq %r14, %rdi
movq %r13, %rdx
callq 0x11ba3
movq (%rsp), %rbx
leaq 0x10(%rsp), %r13
leaq 0xcdbf(%rip), %rdx      # 0x1cab8
movq %r14, %rsi
movq %r13, %rdi
callq 0x6821
leaq 0x50(%rsp), %r15
movq %rbx, %rdi
movq %r13, %rsi
callq 0x4610
movq %r13, %rdi
callq 0x4130
movq %r14, %rdi
callq 0x4130
incq %rbp
jmp 0xfbd2
leaq 0xfa87(%rip), %rsi      # 0x1f7ba
movq %rbx, %rdi
callq 0x45e0
leaq 0x1b93e(%rip), %r15     # 0x2b680
xorl %r14d, %r14d
cmpq $0x60, %r14
je 0xfd5d
leaq (%r15,%r14), %rsi
movq %rbx, %rdi
callq 0x4610
addq $0x20, %r14
jmp 0xfd45
leaq 0xcd54(%rip), %rdx      # 0x1cab8
leaq 0x10(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x11b6b
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x4610
leaq 0x10(%rsp), %rdi
callq 0x4130
leaq 0x98(%rsp), %rdi
callq 0x4130
leaq 0xb8(%rsp), %rdi
callq 0x4130
leaq 0xd8(%rsp), %rdi
callq 0x4130
leaq 0xf8(%rsp), %rdi
callq 0x4130
leaq 0x118(%rsp), %rdi
callq 0x4130
movq %rbx, %rax
addq $0x138, %rsp            # imm = 0x138
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1b676(%rip), %rdi     # 0x2b460
callq 0x45b0
testl %eax, %eax
je 0xfb1d
leaq 0x1b562(%rip), %r15     # 0x2b360
leaq 0xf412(%rip), %rsi      # 0x1f217
leaq 0x10(%rsp), %rdx
movq %r15, %rdi
callq 0x40f0
leaq 0x1b567(%rip), %r12     # 0x2b380
leaq 0xf3fb(%rip), %rsi      # 0x1f21b
leaq 0x30(%rsp), %rdx
movq %r12, %rdi
callq 0x40f0
leaq 0x1b56c(%rip), %r12     # 0x2b3a0
leaq 0xf3e4(%rip), %rsi      # 0x1f21f
leaq 0x50(%rsp), %rdx
movq %r12, %rdi
callq 0x40f0
leaq 0x1b571(%rip), %r12     # 0x2b3c0
leaq 0xf3cd(%rip), %rsi      # 0x1f223
leaq 0x78(%rsp), %rdx
movq %r12, %rdi
callq 0x40f0
leaq 0x1b576(%rip), %r12     # 0x2b3e0
leaq 0xf3aa(%rip), %rsi      # 0x1f21b
leaq 0xf(%rsp), %rdx
movq %r12, %rdi
callq 0x40f0
leaq 0x1b57b(%rip), %r12     # 0x2b400
leaq 0xf38b(%rip), %rsi      # 0x1f217
leaq 0xe(%rsp), %rdx
movq %r12, %rdi
callq 0x40f0
leaq 0x1b580(%rip), %r12     # 0x2b420
leaq 0xf37c(%rip), %rsi      # 0x1f223
leaq 0xd(%rsp), %rdx
movq %r12, %rdi
callq 0x40f0
leaq 0x1b585(%rip), %r12     # 0x2b440
leaq 0xf35d(%rip), %rsi      # 0x1f21f
leaq 0xc(%rsp), %rdx
movq %r12, %rdi
callq 0x40f0
leaq -0xb896(%rip), %rdi     # 0x4640
leaq 0x1b443(%rip), %rdx     # 0x2b320
xorl %esi, %esi
callq 0x4280
leaq 0x1b575(%rip), %rdi     # 0x2b460
callq 0x41b0
movq (%rsp), %rbx
jmp 0xfb1d
leaq 0x1b5d0(%rip), %rdi     # 0x2b4d0
callq 0x45b0
testl %eax, %eax
je 0xfb2b
leaq 0x1b55c(%rip), %r15     # 0x2b470
leaq 0x1b465(%rip), %rsi     # 0x2b380
movq %r15, %rdi
callq 0x43f0
leaq 0x1b566(%rip), %r12     # 0x2b490
leaq 0xf2f6(%rip), %rsi      # 0x1f227
leaq 0x10(%rsp), %rdx
movq %r12, %rdi
callq 0x40f0
leaq 0x1b56b(%rip), %r12     # 0x2b4b0
leaq 0x1b454(%rip), %rsi     # 0x2b3a0
movq %r12, %rdi
callq 0x43f0
leaq -0xb8f0(%rip), %rdi     # 0x466b
leaq 0x1b3be(%rip), %rdx     # 0x2b320
xorl %esi, %esi
callq 0x4280
leaq 0x1b560(%rip), %rdi     # 0x2b4d0
callq 0x41b0
movq (%rsp), %rbx
jmp 0xfb2b
leaq 0x1b61b(%rip), %rdi     # 0x2b5a0
callq 0x45b0
testl %eax, %eax
je 0xfb39
leaq 0x1b547(%rip), %r15     # 0x2b4e0
leaq 0x1b3c0(%rip), %rsi     # 0x2b360
movq %r15, %rdi
callq 0x43f0
leaq 0x1b551(%rip), %r12     # 0x2b500
leaq 0xfe66(%rip), %rsi      # 0x1fe1c
leaq 0x10(%rsp), %rdx
movq %r12, %rdi
callq 0x40f0
leaq 0x1b556(%rip), %r12     # 0x2b520
leaq 0xf7ec(%rip), %rsi      # 0x1f7bd
leaq 0x30(%rsp), %rdx
movq %r12, %rdi
callq 0x40f0
leaq 0x1b55b(%rip), %r12     # 0x2b540
leaq 0xf7d1(%rip), %rsi      # 0x1f7bd
leaq 0x50(%rsp), %rdx
movq %r12, %rdi
callq 0x40f0
leaq 0x1b560(%rip), %r12     # 0x2b560
leaq 0xf335(%rip), %rsi      # 0x1f33c
leaq 0x78(%rsp), %rdx
movq %r12, %rdi
callq 0x40f0
leaq 0x1b565(%rip), %r12     # 0x2b580
leaq 0x1b41e(%rip), %rsi     # 0x2b440
movq %r12, %rdi
callq 0x43f0
leaq -0xb99d(%rip), %rdi     # 0x4694
leaq 0x1b2e8(%rip), %rdx     # 0x2b320
xorl %esi, %esi
callq 0x4280
leaq 0x1b55a(%rip), %rdi     # 0x2b5a0
callq 0x41b0
movq (%rsp), %rbx
jmp 0xfb39
leaq 0x1b615(%rip), %rdi     # 0x2b670
callq 0x45b0
testl %eax, %eax
je 0xfb47
leaq 0x1b541(%rip), %r15     # 0x2b5b0
leaq 0x1b34a(%rip), %rsi     # 0x2b3c0
movq %r15, %rdi
callq 0x43f0
leaq 0x1b54b(%rip), %r12     # 0x2b5d0
leaq 0xc20d(%rip), %rsi      # 0x1c299
leaq 0x10(%rsp), %rdx
movq %r12, %rdi
callq 0x40f0
leaq 0x1b550(%rip), %r12     # 0x2b5f0
leaq 0xf716(%rip), %rsi      # 0x1f7bd
leaq 0x30(%rsp), %rdx
movq %r12, %rdi
callq 0x40f0
leaq 0x1b555(%rip), %r12     # 0x2b610
leaq 0xf6fb(%rip), %rsi      # 0x1f7bd
leaq 0x50(%rsp), %rdx
movq %r12, %rdi
callq 0x40f0
leaq 0x1b55a(%rip), %r12     # 0x2b630
leaq 0xdb65(%rip), %rsi      # 0x1dc42
leaq 0x78(%rsp), %rdx
movq %r12, %rdi
callq 0x40f0
leaq 0x1b55f(%rip), %r12     # 0x2b650
leaq 0x1b2e8(%rip), %rsi     # 0x2b3e0
movq %r12, %rdi
callq 0x43f0
leaq -0xba48(%rip), %rdi     # 0x46bf
leaq 0x1b212(%rip), %rdx     # 0x2b320
xorl %esi, %esi
callq 0x4280
leaq 0x1b554(%rip), %rdi     # 0x2b670
callq 0x41b0
movq (%rsp), %rbx
jmp 0xfb47
leaq 0x1b5af(%rip), %rdi     # 0x2b6e0
callq 0x45b0
testl %eax, %eax
je 0xfb55
leaq 0x1b53b(%rip), %r15     # 0x2b680
leaq 0x1b2d4(%rip), %rsi     # 0x2b420
movq %r15, %rdi
callq 0x43f0
leaq 0x1b545(%rip), %r12     # 0x2b6a0
leaq 0xf0cf(%rip), %rsi      # 0x1f231
leaq 0x10(%rsp), %rdx
movq %r12, %rdi
callq 0x40f0
leaq 0x1b54a(%rip), %r12     # 0x2b6c0
leaq 0x1b283(%rip), %rsi     # 0x2b400
movq %r12, %rdi
callq 0x43f0
leaq -0xbaa2(%rip), %rdi     # 0x46ea
leaq 0x1b18d(%rip), %rdx     # 0x2b320
xorl %esi, %esi
callq 0x4280
leaq 0x1b53f(%rip), %rdi     # 0x2b6e0
callq 0x41b0
movq (%rsp), %rbx
jmp 0xfb55
movq %rax, %r14
jmp 0x10217
jmp 0x10220
jmp 0x10220
jmp 0x10220
movq %rax, %r14
jmp 0x10234
jmp 0x1023d
jmp 0x1023d
jmp 0x1023d
movq %rax, %r14
jmp 0x10251
movq %rax, %r14
jmp 0x1026e
jmp 0x101e1
jmp 0x101e1
jmp 0x101e1
jmp 0x101e1
jmp 0x101e1
jmp 0x101e1
movq %rax, %r14
addq $-0x20, %r12
movq %r12, %rdi
callq 0x4130
cmpq %r15, %r12
jne 0x101e4
leaq 0x1b264(%rip), %rdi     # 0x2b460
jmp 0x10275
movq %rax, %r14
jmp 0x101f5
movq %rax, %r14
addq $-0x20, %r12
movq %r12, %rdi
callq 0x4130
cmpq %r15, %r12
jne 0x10206
leaq 0x1b4c2(%rip), %rdi     # 0x2b6e0
jmp 0x10275
movq %rax, %r14
addq $-0x20, %r12
movq %r12, %rdi
callq 0x4130
cmpq %r15, %r12
jne 0x10223
leaq 0x1b435(%rip), %rdi     # 0x2b670
jmp 0x10275
movq %rax, %r14
addq $-0x20, %r12
movq %r12, %rdi
callq 0x4130
cmpq %r15, %r12
jne 0x10240
leaq 0x1b348(%rip), %rdi     # 0x2b5a0
jmp 0x10275
movq %rax, %r14
addq $-0x20, %r12
movq %r12, %rdi
callq 0x4130
cmpq %r15, %r12
jne 0x1025d
leaq 0x1b25b(%rip), %rdi     # 0x2b4d0
callq 0x41a0
jmp 0x1034d
jmp 0x10283
jmp 0x10298
leaq 0x50(%rsp), %rdi
movq %rax, %r14
callq 0x4130
jmp 0x1029b
jmp 0x10298
jmp 0x10298
jmp 0x10298
movq %rax, %r14
leaq 0x10(%rsp), %rdi
jmp 0x10348
movq %rax, %r14
jmp 0x1034d
leaq 0x10(%rsp), %rdi
movq %rax, %r14
jmp 0x10332
jmp 0x1033e
movq %rax, %r14
jmp 0x1035a
movq %rax, %r14
jmp 0x10367
movq %rax, %r14
jmp 0x10374
movq %rax, %r14
jmp 0x10381
jmp 0x10339
jmp 0x1033e
movq %rax, %r14
jmp 0x102f2
leaq 0x10(%rsp), %rdi
movq %rax, %r14
callq 0x4130
leaq 0x30(%rsp), %rdi
jmp 0x10332
jmp 0x10339
jmp 0x1033e
movq %rax, %r14
jmp 0x1032d
movq %rax, %r14
jmp 0x10323
movq %rax, %r14
jmp 0x10319
leaq 0x10(%rsp), %rdi
movq %rax, %r14
callq 0x4130
leaq 0x30(%rsp), %rdi
callq 0x4130
leaq 0x78(%rsp), %rdi
callq 0x4130
leaq 0x50(%rsp), %rdi
callq 0x4130
jmp 0x10341
movq %rax, %r14
jmp 0x10345
movq %rax, %r14
movq (%rsp), %rbx
movq %rbx, %rdi
callq 0x4130
leaq 0x98(%rsp), %rdi
callq 0x4130
leaq 0xb8(%rsp), %rdi
callq 0x4130
leaq 0xd8(%rsp), %rdi
callq 0x4130
leaq 0xf8(%rsp), %rdi
callq 0x4130
leaq 0x118(%rsp), %rdi
callq 0x4130
movq %r14, %rdi
callq 0x4590