// File: /workspace/github_cpp_makefile_star2_O1/richardposner[P]BioNetFit2/src/code/Pheromones.cpp
// Function: Pheromones::deserializeSwarmMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
Pheromones::swarmMessage Pheromones::deserializeSwarmMessage(std::string sm) {


	swarmMessage smessage;

	//char ch = sm.back();
	//cout << "Last character @" << ch << "@" << endl;
	if(sm.empty()){
	//if(ch=='\0')
		//sm.back() = '\n';
    	sm="\n";

	    if (swarm_->options.verbosity>=3) {

			cout << "String empty" << endl;
	    }
	}else{

		//cout << "last character is not empty, erasing" << endl;
		//sm.erase(sm.size()-1);
		//ch = sm.back();
		//cout << "new last character @" << ch << "@"<< endl;
	}


	if (swarm_->options.verbosity>=3) {

		cout << "serializing message start SM: " << sm << endl;
	}

	{
	std::stringstream iss;
	iss.str(sm);
	boost::archive::text_iarchive ia(iss);
	if (swarm_->options.verbosity>=3) {
		cout << "done serializing message" << endl;
	}
	ia >> smessage;
	}
	return smessage;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x10(%rdi), %rax
movq %rax, (%rdi)
xorl %eax, %eax
movq %rax, 0x8(%rdi)
movb $0x0, 0x10(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x28(%rdi)
movq %rax, 0x38(%rdi)
movq 0x8(%rdx), %rdx
testq %rdx, %rdx
jne 0x6d8ed
leaq 0x8b2cb(%rip), %rcx     # 0xf8b54
movl $0x1, %r8d
movq %r15, %rdi
xorl %esi, %esi
callq 0x22fb0
movq 0x50(%r14), %rax
cmpl $0x3, 0x1614(%rax)
jb 0x6d8ed
movq 0x1086e3(%rip), %r12    # 0x175f90
leaq 0x8e3a7(%rip), %rsi     # 0xfbc5b
movl $0xc, %edx
movq %r12, %rdi
callq 0x22ab0
movq (%r12), %rax
addq -0x18(%rax), %r12
movq %r12, %rdi
movl $0xa, %esi
callq 0x22940
movsbl %al, %esi
movq 0x1086b0(%rip), %rdi    # 0x175f90
callq 0x22050
movq %rax, %rdi
callq 0x22660
movq 0x50(%r14), %rax
cmpl $0x3, 0x1614(%rax)
jb 0x6d94f
movq 0x10868f(%rip), %rdi    # 0x175f90
leaq 0x8e360(%rip), %rsi     # 0xfbc68
movl $0x1e, %edx
callq 0x22ab0
movq (%r15), %rsi
movq 0x8(%r15), %rdx
movq 0x108670(%rip), %rdi    # 0x175f90
callq 0x22ab0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x22940
movsbl %al, %esi
movq %r12, %rdi
callq 0x22050
movq %rax, %rdi
callq 0x22660
leaq 0x80(%rsp), %rdi
callq 0x22680
leaq 0x98(%rsp), %rdi
movq %r15, %rsi
callq 0x22f00
movq %rsp, %rdi
leaq 0x80(%rsp), %rsi
xorl %edx, %edx
callq 0x664d4
movq 0x50(%r14), %rax
cmpl $0x3, 0x1614(%rax)
jb 0x6d9d1
movq 0x1085fe(%rip), %r14    # 0x175f90
leaq 0x8e2ee(%rip), %rsi     # 0xfbc87
movl $0x18, %edx
movq %r14, %rdi
callq 0x22ab0
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x22940
movsbl %al, %esi
movq 0x1085cc(%rip), %rdi    # 0x175f90
callq 0x22050
movq %rax, %rdi
callq 0x22660
callq 0x6f4c6
movq %rsp, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0xe6610
movq %rsp, %rdi
callq 0xe5f50
leaq 0x28(%rsp), %rdi
callq 0xe8b00
movq 0x10853b(%rip), %rsi    # 0x175f38
leaq 0x80(%rsp), %rdi
callq 0x226f0
leaq 0x100(%rsp), %rdi
callq 0x222d0
movq %rbx, %rax
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0x6da2b
movq %rax, %r14
jmp 0x6da4c
jmp 0x6da32
movq %rax, %r14
jmp 0x6da6d
movq %rax, %r14
movq %rsp, %rdi
callq 0xe5f50
leaq 0x28(%rsp), %rdi
callq 0xe8b00
movq 0x1084e5(%rip), %rsi    # 0x175f38
leaq 0x80(%rsp), %rdi
callq 0x226f0
leaq 0x100(%rsp), %rdi
callq 0x222d0
movq %rbx, %rdi
callq 0x6f078
movq %r14, %rdi
callq 0x23240
nop