// File: /workspace/github_cpp_makefile_star2_O1/moporgic[P]2048-Framework/./episode.h
// Function: operator>>(std::istream&, episode&)
std::istream& operator >>(std::istream& in, episode& ep) {
		ep = {};
		std::string token;
		std::getline(in, token, '|');
		std::stringstream(token) >> ep.ep_open;
		std::getline(in, token, '|');
		for (std::stringstream moves(token); !moves.eof(); moves.peek()) {
			ep.ep_moves.emplace_back();
			moves >> ep.ep_moves.back();
			ep.ep_score += action(ep.ep_moves.back()).apply(ep.ep_state);
		}
		std::getline(in, token, '|');
		std::stringstream(token) >> ep.ep_close;
		return in;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1c8, %rsp            # imm = 0x1C8
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x40(%rsp), %r13
movq %r13, %rdi
callq 0x5c40
movl $0x9, %ecx
movq %r14, %rdi
movq %r13, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq 0x48(%r13), %rax
movq %rax, 0x48(%r14)
movq 0x50(%r14), %rdi
movups 0x50(%r13), %xmm0
movq 0x60(%r13), %rax
movq %rdi, 0x50(%r13)
movups 0x58(%r14), %xmm1
movups %xmm0, 0x50(%r14)
movq %rax, 0x60(%r14)
movups %xmm1, 0x58(%r13)
xorps %xmm0, %xmm0
movups %xmm0, 0x50(%r13)
movq $0x0, 0x60(%r13)
testq %rdi, %rdi
je 0x60bc
callq 0x3250
leaq 0xb0(%rsp), %rbp
movq -0x8(%rbp), %rax
movq %rax, 0x68(%r14)
leaq 0x70(%r14), %r12
movq %r12, %rdi
movq %rbp, %rsi
callq 0x32e0
movq 0x20(%rbp), %rax
movq %rax, 0x90(%r14)
movl $0x98, %eax
leaq (%r14,%rax), %rdi
addq %rax, %r13
movq %rdi, 0x28(%rsp)
movq %r13, %rsi
callq 0x32e0
movq 0x48(%rbp), %rax
movq %rax, 0xb8(%r14)
movq 0x28(%rbp), %rdi
leaq 0xe8(%rsp), %rax
cmpq %rax, %rdi
je 0x6120
callq 0x3250
leaq 0xc0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6136
callq 0x3250
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x6148
callq 0x3250
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
movl $0x7c, %edx
callq 0x3460
leaq 0x40(%rsp), %rdi
leaq 0x8(%rsp), %rsi
movl $0x18, %edx
callq 0x33a0
leaq 0x40(%rsp), %rdi
movq %r12, %rsi
callq 0x6421
movq 0x6e22(%rip), %rsi      # 0xcfb8
leaq 0x40(%rsp), %rdi
callq 0x31e0
leaq 0xc0(%rsp), %rdi
callq 0x30e0
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
movl $0x7c, %edx
callq 0x3460
leaq 0x40(%rsp), %rdi
leaq 0x8(%rsp), %rsi
movl $0x18, %edx
callq 0x33a0
leaq 0x50(%r14), %r12
leaq 0x40(%rsp), %r13
leaq 0x68fd(%rip), %r15      # 0xcae0
leaq 0x30(%rsp), %rbp
movq 0x40(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x2, 0x60(%rsp,%rax)
jne 0x623b
movq %r12, %rdi
callq 0x6324
movq 0x58(%r14), %rsi
addq $-0x20, %rsi
movq %r13, %rdi
callq 0x635b
movq 0x58(%r14), %rax
movq %r15, 0x30(%rsp)
movl -0x18(%rax), %eax
movl %eax, 0x38(%rsp)
movq %rbp, %rdi
movq %r14, %rsi
callq 0x509c
cltq
addq %rax, 0x48(%r14)
movq %r13, %rdi
callq 0x3100
jmp 0x61e8
movq 0x6d76(%rip), %rsi      # 0xcfb8
leaq 0x40(%rsp), %rdi
callq 0x31e0
leaq 0xc0(%rsp), %rdi
callq 0x30e0
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
movl $0x7c, %edx
callq 0x3460
leaq 0x40(%rsp), %rdi
leaq 0x8(%rsp), %rsi
movl $0x18, %edx
callq 0x33a0
leaq 0x40(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0x6421
movq 0x6d23(%rip), %rsi      # 0xcfb8
leaq 0x40(%rsp), %rdi
callq 0x31e0
leaq 0xc0(%rsp), %rdi
callq 0x30e0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x62c0
callq 0x3250
movq %rbx, %rax
addq $0x1c8, %rsp            # imm = 0x1C8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x62e6
jmp 0x62df
jmp 0x62df
jmp 0x62e6
jmp 0x62df
movq %rax, %rbx
jmp 0x6307
jmp 0x62e6
movq %rax, %rbx
movq 0x6cc8(%rip), %rsi      # 0xcfb8
leaq 0x40(%rsp), %rdi
callq 0x31e0
leaq 0xc0(%rsp), %rdi
callq 0x30e0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x631b
callq 0x3250
movq %rbx, %rdi
callq 0x3420
nop