// File: swxlion[P]swxJson/tests/swxJsonAdvancedTest_modify.cpp
// Function: advancedMergeTest()
void advancedMergeTest()
{
	cout<<"----------------- advancedMergeTest ---------------------"<<endl;
	{
		Json json;
		json.fill(23002, 32003);
		json.merge(tupleDemo);
		cout<<json<<endl;
	}
	{
		Json json;
		json.fill(23002, 32003);
		json.merge(arrayDemo);
		cout<<json<<endl;
	}

	{
		Json json;
		json.fill(23002, 32003);
		json.merge(dequeDemo);
		cout<<json<<endl;
	}
	{
		Json json;
		json.fill(23002, 32003);
		json.merge(boolvec);
		cout<<json<<endl;
		json.merge(intvec);
		cout<<json<<endl;
		json.merge(doublevec);
		cout<<json<<endl;
		json.merge(stringvec);
		cout<<json<<endl;
	}
	{
		Json json;
		json.fill(23002, 32003);
		json.merge(listDemo);
		cout<<json<<endl;
	}
	{
		Json json;
		json.fill(23002, 32003);
		json.merge(setDemo);
		cout<<json<<endl;
	}

	{
		Json json;
		json.fill(23002, 32003);
		json.merge(usetDemo);
		cout<<json<<endl;
	}
	{
		Json json;
		json.add("aaa", 23002);
		json.add("bbb", 32003);
		json.merge(boolmap);
		cout<<json<<endl;
		json.merge(intmap);
		cout<<json<<endl;
		json.merge(doublemap);
		cout<<json<<endl;
		json.merge(stringmap);
		cout<<json<<endl;
	}
	{
		Json json;
		json.add("aaa", 23002);
		json.add("bbb", 32003);
		json.merge(umapDemo);
		cout<<json<<endl;
	}
}

// Assembly:
subq $0x2d8, %rsp            # imm = 0x2D8
movq 0x46f5a(%rip), %rdi     # 0x89fd8
leaq 0x330dc(%rip), %rsi     # 0x76161
callq 0x40290
movq %rax, %rdi
movq 0x46f24(%rip), %rsi     # 0x89fb8
callq 0x402f0
leaq 0x2c8(%rsp), %rdi
movq %rdi, 0xf0(%rsp)
callq 0x48d30
movq 0xf0(%rsp), %rdi
movl $0x59da, %esi           # imm = 0x59DA
movl $0x7d03, %edx           # imm = 0x7D03
callq 0x4b120
jmp 0x430c7
leaq 0x471ca(%rip), %rsi     # 0x8a298
leaq 0x2c8(%rsp), %rdi
callq 0x4b170
jmp 0x430dd
movq 0x46ef4(%rip), %rdi     # 0x89fd8
leaq 0x2c8(%rsp), %rsi
callq 0x63e90
movq %rax, 0xe8(%rsp)
jmp 0x430fb
movq 0xe8(%rsp), %rdi
movq 0x46eae(%rip), %rsi     # 0x89fb8
callq 0x402f0
jmp 0x43111
leaq 0x2c8(%rsp), %rdi
callq 0x494f0
leaq 0x2a8(%rsp), %rdi
movq %rdi, 0xe0(%rsp)
callq 0x48d30
movq 0xe0(%rsp), %rdi
movl $0x59da, %esi           # imm = 0x59DA
movl $0x7d03, %edx           # imm = 0x7D03
callq 0x4b120
jmp 0x4314c
leaq 0x4716d(%rip), %rsi     # 0x8a2c0
leaq 0x2a8(%rsp), %rdi
callq 0x4b1c0
jmp 0x43162
movq 0x46e6f(%rip), %rdi     # 0x89fd8
leaq 0x2a8(%rsp), %rsi
callq 0x63e90
movq %rax, 0xd8(%rsp)
jmp 0x43180
movq 0xd8(%rsp), %rdi
movq 0x46e29(%rip), %rsi     # 0x89fb8
callq 0x402f0
jmp 0x43196
leaq 0x2a8(%rsp), %rdi
callq 0x494f0
leaq 0x298(%rsp), %rdi
movq %rdi, 0xd0(%rsp)
callq 0x48d30
movq 0xd0(%rsp), %rdi
movl $0x59da, %esi           # imm = 0x59DA
movl $0x7d03, %edx           # imm = 0x7D03
callq 0x4b120
jmp 0x431d1
leaq 0x47248(%rip), %rsi     # 0x8a420
leaq 0x298(%rsp), %rdi
callq 0x4b260
jmp 0x431e7
movq 0x46dea(%rip), %rdi     # 0x89fd8
leaq 0x298(%rsp), %rsi
callq 0x63e90
movq %rax, 0xc8(%rsp)
jmp 0x43205
movq 0xc8(%rsp), %rdi
movq 0x46da4(%rip), %rsi     # 0x89fb8
callq 0x402f0
jmp 0x4321b
leaq 0x298(%rsp), %rdi
callq 0x494f0
leaq 0x288(%rsp), %rdi
movq %rdi, 0xc0(%rsp)
callq 0x48d30
movq 0xc0(%rsp), %rdi
movl $0x59da, %esi           # imm = 0x59DA
movl $0x7d03, %edx           # imm = 0x7D03
callq 0x4b120
jmp 0x43256
leaq 0x47093(%rip), %rsi     # 0x8a2f0
leaq 0x288(%rsp), %rdi
callq 0x4b300
jmp 0x4326c
movq 0x46d65(%rip), %rdi     # 0x89fd8
leaq 0x288(%rsp), %rsi
callq 0x63e90
movq %rax, 0xb8(%rsp)
jmp 0x4328a
movq 0xb8(%rsp), %rdi
movq 0x46d1f(%rip), %rsi     # 0x89fb8
callq 0x402f0
jmp 0x432a0
leaq 0x47071(%rip), %rsi     # 0x8a318
leaq 0x288(%rsp), %rdi
callq 0x4b390
jmp 0x432b6
movq 0x46d1b(%rip), %rdi     # 0x89fd8
leaq 0x288(%rsp), %rsi
callq 0x63e90
movq %rax, 0xb0(%rsp)
jmp 0x432d4
movq 0xb0(%rsp), %rdi
movq 0x46cd5(%rip), %rsi     # 0x89fb8
callq 0x402f0
jmp 0x432ea
leaq 0x4703f(%rip), %rsi     # 0x8a330
leaq 0x288(%rsp), %rdi
callq 0x4b430
jmp 0x43300
movq 0x46cd1(%rip), %rdi     # 0x89fd8
leaq 0x288(%rsp), %rsi
callq 0x63e90
movq %rax, 0xa8(%rsp)
jmp 0x4331e
movq 0xa8(%rsp), %rdi
movq 0x46c8b(%rip), %rsi     # 0x89fb8
callq 0x402f0
jmp 0x43334
leaq 0x4700d(%rip), %rsi     # 0x8a348
leaq 0x288(%rsp), %rdi
callq 0x4b4e0
jmp 0x4334a
movq 0x46c87(%rip), %rdi     # 0x89fd8
leaq 0x288(%rsp), %rsi
callq 0x63e90
movq %rax, 0xa0(%rsp)
jmp 0x43368
movq 0xa0(%rsp), %rdi
movq 0x46c41(%rip), %rsi     # 0x89fb8
callq 0x402f0
jmp 0x4337e
leaq 0x288(%rsp), %rdi
callq 0x494f0
leaq 0x278(%rsp), %rdi
movq %rdi, 0x98(%rsp)
callq 0x48d30
movq 0x98(%rsp), %rdi
movl $0x59da, %esi           # imm = 0x59DA
movl $0x7d03, %edx           # imm = 0x7D03
callq 0x4b120
jmp 0x433b9
leaq 0x470b0(%rip), %rsi     # 0x8a470
leaq 0x278(%rsp), %rdi
callq 0x4b580
jmp 0x433cf
movq 0x46c02(%rip), %rdi     # 0x89fd8
leaq 0x278(%rsp), %rsi
callq 0x63e90
movq %rax, 0x90(%rsp)
jmp 0x433ed
movq 0x90(%rsp), %rdi
movq 0x46bbc(%rip), %rsi     # 0x89fb8
callq 0x402f0
jmp 0x43403
leaq 0x278(%rsp), %rdi
callq 0x494f0
leaq 0x268(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0x48d30
movq 0x88(%rsp), %rdi
movl $0x59da, %esi           # imm = 0x59DA
movl $0x7d03, %edx           # imm = 0x7D03
callq 0x4b120
jmp 0x4343e
leaq 0x47043(%rip), %rsi     # 0x8a488
leaq 0x268(%rsp), %rdi
callq 0x4b620
jmp 0x43454
movq 0x46b7d(%rip), %rdi     # 0x89fd8
leaq 0x268(%rsp), %rsi
callq 0x63e90
movq %rax, 0x80(%rsp)
jmp 0x43472
movq 0x80(%rsp), %rdi
movq 0x46b37(%rip), %rsi     # 0x89fb8
callq 0x402f0
jmp 0x43488
leaq 0x268(%rsp), %rdi
callq 0x494f0
leaq 0x258(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x48d30
movq 0x78(%rsp), %rdi
movl $0x59da, %esi           # imm = 0x59DA
movl $0x7d03, %edx           # imm = 0x7D03
callq 0x4b120
jmp 0x434bd
leaq 0x46ff4(%rip), %rsi     # 0x8a4b8
leaq 0x258(%rsp), %rdi
callq 0x4b6c0
jmp 0x434d3
movq 0x46afe(%rip), %rdi     # 0x89fd8
leaq 0x258(%rsp), %rsi
callq 0x63e90
movq %rax, 0x70(%rsp)
jmp 0x434ee
movq 0x70(%rsp), %rdi
movq 0x46abe(%rip), %rsi     # 0x89fb8
callq 0x402f0
jmp 0x43501
leaq 0x258(%rsp), %rdi
callq 0x494f0
leaq 0x248(%rsp), %rdi
callq 0x48d30
leaq 0x227(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0x40480
movq 0x68(%rsp), %rdx
leaq 0x32d40(%rip), %rsi     # 0x76279
leaq 0x228(%rsp), %rdi
callq 0x47fc0
jmp 0x43548
leaq 0x1ff(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x40480
movq 0x60(%rsp), %rdx
leaq 0x32c35(%rip), %rsi     # 0x7619b
leaq 0x200(%rsp), %rdi
callq 0x47fc0
jmp 0x43575
leaq 0x248(%rsp), %rdi
leaq 0x228(%rsp), %rsi
movl $0x59da, %edx           # imm = 0x59DA
leaq 0x200(%rsp), %rcx
callq 0x4b760
jmp 0x43599
leaq 0x200(%rsp), %rdi
callq 0x40170
leaq 0x1ff(%rsp), %rdi
callq 0x40310
leaq 0x228(%rsp), %rdi
callq 0x40170
leaq 0x227(%rsp), %rdi
callq 0x40310
leaq 0x1d7(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x40480
movq 0x58(%rsp), %rdx
leaq 0x32bf4(%rip), %rsi     # 0x761df
leaq 0x1d8(%rsp), %rdi
callq 0x47fc0
jmp 0x435fa
leaq 0x1af(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x40480
movq 0x50(%rsp), %rdx
leaq 0x32b83(%rip), %rsi     # 0x7619b
leaq 0x1b0(%rsp), %rdi
callq 0x47fc0
jmp 0x43627
leaq 0x248(%rsp), %rdi
leaq 0x1d8(%rsp), %rsi
movl $0x7d03, %edx           # imm = 0x7D03
leaq 0x1b0(%rsp), %rcx
callq 0x4b760
jmp 0x4364b
leaq 0x1b0(%rsp), %rdi
callq 0x40170
leaq 0x1af(%rsp), %rdi
callq 0x40310
leaq 0x1d8(%rsp), %rdi
callq 0x40170
leaq 0x1d7(%rsp), %rdi
callq 0x40310
leaq 0x46cda(%rip), %rsi     # 0x8a360
leaq 0x248(%rsp), %rdi
callq 0x4b7a0
jmp 0x43695
movq 0x4693c(%rip), %rdi     # 0x89fd8
leaq 0x248(%rsp), %rsi
callq 0x63e90
movq %rax, 0x48(%rsp)
jmp 0x436b0
movq 0x48(%rsp), %rdi
movq 0x468fc(%rip), %rsi     # 0x89fb8
callq 0x402f0
jmp 0x436c3
leaq 0x46cc6(%rip), %rsi     # 0x8a390
leaq 0x248(%rsp), %rdi
callq 0x4b870
jmp 0x436d9
movq 0x468f8(%rip), %rdi     # 0x89fd8
leaq 0x248(%rsp), %rsi
callq 0x63e90
movq %rax, 0x40(%rsp)
jmp 0x436f4
movq 0x40(%rsp), %rdi
movq 0x468b8(%rip), %rsi     # 0x89fb8
callq 0x402f0
jmp 0x43707
leaq 0x46cb2(%rip), %rsi     # 0x8a3c0
leaq 0x248(%rsp), %rdi
callq 0x4b940
jmp 0x4371d
movq 0x468b4(%rip), %rdi     # 0x89fd8
leaq 0x248(%rsp), %rsi
callq 0x63e90
movq %rax, 0x38(%rsp)
jmp 0x43738
movq 0x38(%rsp), %rdi
movq 0x46874(%rip), %rsi     # 0x89fb8
callq 0x402f0
jmp 0x4374b
leaq 0x46c9e(%rip), %rsi     # 0x8a3f0
leaq 0x248(%rsp), %rdi
callq 0x4ba10
jmp 0x43761
movq 0x46870(%rip), %rdi     # 0x89fd8
leaq 0x248(%rsp), %rsi
callq 0x63e90
movq %rax, 0x30(%rsp)
jmp 0x4377c
movq 0x30(%rsp), %rdi
movq 0x46830(%rip), %rsi     # 0x89fb8
callq 0x402f0
jmp 0x4378f
leaq 0x248(%rsp), %rdi
callq 0x494f0
leaq 0x198(%rsp), %rdi
callq 0x48d30
leaq 0x177(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x40480
movq 0x28(%rsp), %rdx
leaq 0x32ab2(%rip), %rsi     # 0x76279
leaq 0x178(%rsp), %rdi
callq 0x47fc0
jmp 0x437d6
leaq 0x14f(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x40480
movq 0x20(%rsp), %rdx
leaq 0x329a7(%rip), %rsi     # 0x7619b
leaq 0x150(%rsp), %rdi
callq 0x47fc0
jmp 0x43803
leaq 0x198(%rsp), %rdi
leaq 0x178(%rsp), %rsi
movl $0x59da, %edx           # imm = 0x59DA
leaq 0x150(%rsp), %rcx
callq 0x4b760
jmp 0x43827
leaq 0x150(%rsp), %rdi
callq 0x40170
leaq 0x14f(%rsp), %rdi
callq 0x40310
leaq 0x178(%rsp), %rdi
callq 0x40170
leaq 0x177(%rsp), %rdi
callq 0x40310
leaq 0x127(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x40480
movq 0x18(%rsp), %rdx
leaq 0x32966(%rip), %rsi     # 0x761df
leaq 0x128(%rsp), %rdi
callq 0x47fc0
jmp 0x43888
leaq 0xff(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x40480
movq 0x10(%rsp), %rdx
leaq 0x328f5(%rip), %rsi     # 0x7619b
leaq 0x100(%rsp), %rdi
callq 0x47fc0
jmp 0x438b5
leaq 0x198(%rsp), %rdi
leaq 0x128(%rsp), %rsi
movl $0x7d03, %edx           # imm = 0x7D03
leaq 0x100(%rsp), %rcx
callq 0x4b760
jmp 0x438d9
leaq 0x100(%rsp), %rdi
callq 0x40170
leaq 0xff(%rsp), %rdi
callq 0x40310
leaq 0x128(%rsp), %rdi
callq 0x40170
leaq 0x127(%rsp), %rdi
callq 0x40310
leaq 0x46bdc(%rip), %rsi     # 0x8a4f0
leaq 0x198(%rsp), %rdi
callq 0x4bb60
jmp 0x43923
movq 0x466ae(%rip), %rdi     # 0x89fd8
leaq 0x198(%rsp), %rsi
callq 0x63e90
movq %rax, 0x8(%rsp)
jmp 0x4393e
movq 0x8(%rsp), %rdi
movq 0x4666e(%rip), %rsi     # 0x89fb8
callq 0x402f0
jmp 0x43951
leaq 0x198(%rsp), %rdi
callq 0x494f0
addq $0x2d8, %rsp            # imm = 0x2D8
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
leaq 0x2c8(%rsp), %rdi
callq 0x494f0
jmp 0x43c95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
leaq 0x2a8(%rsp), %rdi
callq 0x494f0
jmp 0x43c95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
leaq 0x298(%rsp), %rdi
callq 0x494f0
jmp 0x43c95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
leaq 0x288(%rsp), %rdi
callq 0x494f0
jmp 0x43c95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
leaq 0x278(%rsp), %rdi
callq 0x494f0
jmp 0x43c95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
leaq 0x268(%rsp), %rdi
callq 0x494f0
jmp 0x43c95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
leaq 0x258(%rsp), %rdi
callq 0x494f0
jmp 0x43c95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
jmp 0x43ad7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
jmp 0x43abd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
leaq 0x200(%rsp), %rdi
callq 0x40170
leaq 0x1ff(%rsp), %rdi
callq 0x40310
leaq 0x228(%rsp), %rdi
callq 0x40170
leaq 0x227(%rsp), %rdi
callq 0x40310
jmp 0x43b73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
jmp 0x43b50
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
jmp 0x43b36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
leaq 0x1b0(%rsp), %rdi
callq 0x40170
leaq 0x1af(%rsp), %rdi
callq 0x40310
leaq 0x1d8(%rsp), %rdi
callq 0x40170
leaq 0x1d7(%rsp), %rdi
callq 0x40310
jmp 0x43b73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
leaq 0x248(%rsp), %rdi
callq 0x494f0
jmp 0x43c95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
jmp 0x43bec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
jmp 0x43bd2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
leaq 0x150(%rsp), %rdi
callq 0x40170
leaq 0x14f(%rsp), %rdi
callq 0x40310
leaq 0x178(%rsp), %rdi
callq 0x40170
leaq 0x177(%rsp), %rdi
callq 0x40310
jmp 0x43c88
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
jmp 0x43c65
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
jmp 0x43c4b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
leaq 0x100(%rsp), %rdi
callq 0x40170
leaq 0xff(%rsp), %rdi
callq 0x40310
leaq 0x128(%rsp), %rdi
callq 0x40170
leaq 0x127(%rsp), %rdi
callq 0x40310
jmp 0x43c88
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
leaq 0x198(%rsp), %rdi
callq 0x494f0
movq 0x2c0(%rsp), %rdi
callq 0x40470
nopw %cs:(%rax,%rax)