// File: ridgelab[P]Kmer-SSR/src/SSRcontainer.cpp
// Function: SSRcontainer::toJson[abi:cxx11]() const
string SSRcontainer::toJson() const
{
	string json = "SSRcontainer: {";

	if (this->size() != 0)
	{
		json += "\n\t";
		
		for (unordered_map<string, vector<SSR*>*>::iterator itr = this->ssrs->begin(); itr != this->ssrs->end(); ++itr)
		{
			if (itr != this->ssrs->begin())
			{
				json += ",\n\t";
			}
			
			json += itr->first + ": {";

			if (itr->second->size() != 0)
			{
				json += "\n\t\t";
				
				for (uint32_t i = 0; i < itr->second->size(); ++i)
				{
					if (i != 0)
					{
						json += ",\n\t\t";
					}
					
					json += itr->second->at(i)->toString();
				}
		
				json += "\n\t";
			}
			else
			{
				json += ' ';
			}

			json += "}";
		}

		json += '\n';
	}
	else
	{
		json += ' ';
	}

	json += '}';

	return json;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x98(%rbp)
movq %rdi, %rax
movq %rax, -0xa8(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xa0(%rbp)
movb $0x0, -0x11(%rbp)
leaq -0x12(%rbp), %rdi
movq %rdi, -0x90(%rbp)
callq 0x4700
movq -0x98(%rbp), %rdi
movq -0x90(%rbp), %rdx
leaq 0x1aa80(%rip), %rsi     # 0x21078
callq 0x6da0
jmp 0x65ff
leaq -0x12(%rbp), %rdi
callq 0x4410
movq -0xa0(%rbp), %rdi
callq 0x5c90
cmpl $0x0, %eax
je 0x6897
movq -0x98(%rbp), %rdi
leaq 0x1aa5e(%rip), %rsi     # 0x21089
callq 0x4370
jmp 0x6632
movq -0xa0(%rbp), %rax
movq (%rax), %rdi
callq 0x6c10
movq %rax, -0x30(%rbp)
movq -0xa0(%rbp), %rax
movq (%rax), %rdi
callq 0x6c70
movq %rax, -0x38(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x6c40
testb $0x1, %al
jne 0x666e
jmp 0x6882
movq -0xa0(%rbp), %rax
movq (%rax), %rdi
callq 0x6c10
movq %rax, -0x40(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0x6c40
testb $0x1, %al
jne 0x6694
jmp 0x66d6
movq -0x98(%rbp), %rdi
leaq 0x1a9e6(%rip), %rsi     # 0x21088
callq 0x4370
jmp 0x66a9
jmp 0x66d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x12(%rbp), %rdi
callq 0x4410
jmp 0x68f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x68e5
leaq -0x30(%rbp), %rdi
callq 0x6ca0
movq %rax, %rsi
leaq 0x1abcf(%rip), %rdx     # 0x212b8
leaq -0x60(%rbp), %rdi
callq 0x6e50
jmp 0x66f4
movq -0x98(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x44f0
jmp 0x6706
leaq -0x60(%rbp), %rdi
callq 0x4788
leaq -0x30(%rbp), %rdi
callq 0x6ca0
movq 0x20(%rax), %rdi
callq 0x6bb0
cmpq $0x0, %rax
je 0x6848
movq -0x98(%rbp), %rdi
leaq 0x1a954(%rip), %rsi     # 0x2108d
callq 0x4370
jmp 0x6740
movl $0x0, -0x64(%rbp)
movl -0x64(%rbp), %eax
movq %rax, -0xb0(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x6ca0
movq 0x20(%rax), %rdi
callq 0x6bb0
movq %rax, %rcx
movq -0xb0(%rbp), %rax
cmpq %rcx, %rax
jae 0x6831
cmpl $0x0, -0x64(%rbp)
je 0x67ad
movq -0x98(%rbp), %rdi
leaq 0x1a902(%rip), %rsi     # 0x2108c
callq 0x4370
jmp 0x6791
jmp 0x67ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x4788
jmp 0x68e5
leaq -0x30(%rbp), %rdi
callq 0x6ca0
movq 0x20(%rax), %rdi
movl -0x64(%rbp), %eax
movl %eax, %esi
callq 0x6bd0
movq %rax, -0xb8(%rbp)
jmp 0x67cd
movq -0xb8(%rbp), %rax
movq (%rax), %rsi
leaq -0x88(%rbp), %rdi
callq 0x5960
jmp 0x67e5
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x44f0
jmp 0x67fa
leaq -0x88(%rbp), %rdi
callq 0x4788
movl -0x64(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x64(%rbp)
jmp 0x6747
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x4788
jmp 0x68e5
movq -0x98(%rbp), %rdi
leaq 0x1a84a(%rip), %rsi     # 0x21089
callq 0x4370
jmp 0x6846
jmp 0x685d
movq -0x98(%rbp), %rdi
movl $0x20, %esi
callq 0x4220
jmp 0x685b
jmp 0x685d
movq -0x98(%rbp), %rdi
leaq 0x1a916(%rip), %rsi     # 0x21181
callq 0x4370
jmp 0x6872
jmp 0x6874
leaq -0x30(%rbp), %rdi
callq 0x6d50
jmp 0x6645
movq -0x98(%rbp), %rdi
movl $0xa, %esi
callq 0x4220
jmp 0x6895
jmp 0x68ac
movq -0x98(%rbp), %rdi
movl $0x20, %esi
callq 0x4220
jmp 0x68aa
jmp 0x68ac
movq -0x98(%rbp), %rdi
movl $0x7d, %esi
callq 0x4220
jmp 0x68bf
movb $0x1, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
jne 0x68d5
movq -0x98(%rbp), %rdi
callq 0x4788
movq -0xa8(%rbp), %rax
addq $0xc0, %rsp
popq %rbp
retq
movq -0x98(%rbp), %rdi
callq 0x4788
movq -0x20(%rbp), %rdi
callq 0x46e0
nopw (%rax,%rax)