// File: /workspace/github_cpp_makefile_star2_O2/hzy1754785321[P]warehouse-manage-system/menu.cpp
// Function: MenuMain::menuShow()
void MenuMain::menuShow()
{
	int flag,x;
/*	readStop();
     while(stop>0)
	{
			system("clear");
			cout << "\033[31m limit login!" << endl << "\033[31m countdown:" << "\033[37m" << stop << endl;
			stop--;
			writeStop();
			sleep(1);
	}
*/
	Person* pt;
	while(1)
	{
			system("clear");
			showTime();
//			printf("\033[5mhhhhhhhh\033[5m\n");
		cout << "\t\t\t\t\t\033[31m★★★★★★★★★★★★★★★★★★★★★★★★★★★★\033[37m\n"
			 << "\t\t\t\t\t\033[5;34m欢迎来到何朝阳の仓库管理系统!\033[37m\n"
		     << "\t\t\t\t\t\033[31m★★★★★★★★★★★★★★★★★★★★★★★★★★★★\033[37m\n"
	         << "\t\t\t\t\t▶        1:admin            ◀\n"
			 <<	"\t\t\t\t\t▶        2:inPeople         ◀\n"
			 << "\t\t\t\t\t▶        3:outPeople        ◀\n"
			 << "\t\t\t\t\t▶        4:commonPeople     ◀\n" 
			 << "\t\t\t\t\t▶        5:exit             ◀\n"
			 << "\t\t\t\t\t▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲\n"
			 << "\t\t\t\t\t☛ please input your choice(1-5):" ;
	//	flashShow();
		cin >> flag;
		pp.readPeople();
		switch(flag)
		{
			case 1://pp.readPeople();
				   x=adminLogin();
				   if(x==0)
						   break;
				   if(ps!=NULL)
				   {
						   MenuAdmin m1(ps);
						   cout << "\033[1m \t\t\t\t\twelcome admin login" << endl;
						   cout << "\033[22m";
						   sleep(1);
						   m1.menuShow();
						   delete(ps);
						   ps=NULL;
				   }
				   else
						   cout << "error" << endl;
				   break;
			case 2://pp.readPeople();
				   pt=login();
				   if(pt!=NULL)
				   {
						   cout << "\033[1m \t\t\t\t\twelcome inPeople login" << endl;
						   cout << "\033[22m";
						   sleep(1);
						   ps=new InPeople(pt);
						   MenuIn m2(ps);
						   m2.menuShow();
						   delete(ps);
						   ps=NULL;
				   }
				   break;
			case 3://pp.readPeople();
				   pt=login();
				   if(pt!=NULL)
				   {
						   cout << "\033[1m \t\t\t\t\twelcome outPeople login" << endl;
						   cout << "\033[22m";
						   sleep(1);
						   ps=new OutPeople(pt);
						   MenuOut m3(ps);
						   m3.menuShow();
						   delete(ps);
						   ps=NULL;
				   }
				   break;
			case 4://pp.readPeople();
				   pt=login();
				   if(pt!=NULL)
				   {
						   cout << "\033[1m \t\t\t\t\twelcome commonPeople login" << endl;
						   cout << "\033[22m";
						   sleep(1);
						   ps=new CommonPeople(pt);
						   MenuCommon m4(ps);
						   m4.menuShow();
						   delete(ps);
						   ps=NULL;
				   }
				   break;
			case 5:cout << "\t\t\t\t\tbye!" << endl;
				   exit(0);
			default:
				   cout << "\t\t\t\t\tinput error!" << endl;
				   break;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
leaq 0x10(%rdi), %r14
movq 0x75b1(%rip), %r12      # 0xcfd0
leaq 0x2dfc(%rip), %r13      # 0x8822
movq %r14, -0x30(%rbp)
leaq 0x2deb(%rip), %rdi      # 0x881c
callq 0x2170
callq 0x5dec
movq %r12, %rdi
movq %r13, %rsi
callq 0x21c0
movq %rax, %rdi
leaq 0x2e37(%rip), %rsi      # 0x8887
callq 0x21c0
movq %rax, %rdi
movq %r13, %rsi
callq 0x21c0
movq %rax, %rdi
leaq 0x2e5b(%rip), %rsi      # 0x88c5
callq 0x21c0
movq %rax, %rdi
leaq 0x2e74(%rip), %rsi      # 0x88ed
callq 0x21c0
movq %rax, %rdi
leaq 0x2e8d(%rip), %rsi      # 0x8915
callq 0x21c0
movq %rax, %rdi
leaq 0x2ea6(%rip), %rsi      # 0x893d
callq 0x21c0
movq %rax, %rdi
leaq 0x2ebf(%rip), %rsi      # 0x8965
callq 0x21c0
movq %rax, %rdi
leaq 0x2ed8(%rip), %rsi      # 0x898d
callq 0x21c0
movq %rax, %rdi
leaq 0x2f27(%rip), %rsi      # 0x89eb
callq 0x21c0
movq 0x7510(%rip), %rdi      # 0xcfe0
leaq -0x34(%rbp), %rsi
callq 0x2100
movq %r14, %rdi
callq 0x3380
movl -0x34(%rbp), %eax
decl %eax
cmpl $0x4, %eax
ja 0x5d4d
leaq 0x2c26(%rip), %rcx      # 0x871c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rbx, %rdi
callq 0x5e50
testl %eax, %eax
je 0x5a2a
movq 0x40(%rbx), %rsi
testq %rsi, %rsi
je 0x5d69
leaq -0x68(%rbp), %r15
movq %r15, %rdi
callq 0x6f58
movq %r12, %rdi
leaq 0x2ee1(%rip), %rsi      # 0x8a13
callq 0x21c0
movq %rax, %rdi
callq 0x20e0
movq %r12, %rdi
leaq 0x2ee8(%rip), %rsi      # 0x8a31
callq 0x21c0
pushq $0x1
popq %rdi
callq 0x2140
movq %r15, %rdi
callq 0x63e4
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
je 0x5b6d
movq (%rdi), %rax
callq *0x8(%rax)
andq $0x0, 0x40(%rbx)
movq %r15, %rdi
callq 0x72d4
jmp 0x5a2a
movq %rbx, %rdi
callq 0x655c
testq %rax, %rax
je 0x5a2a
movq %rax, %r15
movq %r12, %rdi
leaq 0x2ec1(%rip), %rsi      # 0x8a5e
callq 0x21c0
movq %rax, %rdi
callq 0x20e0
movq %r12, %rdi
leaq 0x2e7d(%rip), %rsi      # 0x8a31
callq 0x21c0
pushq $0x1
popq %rdi
callq 0x2140
movl $0xb8, %edi
callq 0x21d0
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x3b86
movq %r14, 0x40(%rbx)
leaq -0x68(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x6ff4
movq %r15, %rdi
callq 0x6c10
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
je 0x5c03
movq (%rdi), %rax
callq *0x8(%rax)
andq $0x0, 0x40(%rbx)
movq %r15, %rdi
callq 0x7304
movq -0x30(%rbp), %r14
jmp 0x5a2a
movq %rbx, %rdi
callq 0x655c
testq %rax, %rax
je 0x5a2a
movq %rax, %r15
movq %r12, %rdi
leaq 0x2e49(%rip), %rsi      # 0x8a80
callq 0x21c0
movq %rax, %rdi
callq 0x20e0
movq %r12, %rdi
leaq 0x2de3(%rip), %rsi      # 0x8a31
callq 0x21c0
pushq $0x1
popq %rdi
callq 0x2140
movl $0xb8, %edi
callq 0x21d0
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x3bba
movq %r14, 0x40(%rbx)
leaq -0x68(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x7042
movq %r15, %rdi
callq 0x6db2
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
je 0x5c9d
movq (%rdi), %rax
callq *0x8(%rax)
andq $0x0, 0x40(%rbx)
movq %r15, %rdi
callq 0x731c
movq -0x30(%rbp), %r14
jmp 0x5a2a
movq %rbx, %rdi
callq 0x655c
testq %rax, %rax
je 0x5a2a
movq %rax, %r15
movq %r12, %rdi
leaq 0x2d6c(%rip), %rsi      # 0x8a3d
callq 0x21c0
movq %rax, %rdi
callq 0x20e0
movq %r12, %rdi
leaq 0x2d49(%rip), %rsi      # 0x8a31
callq 0x21c0
pushq $0x1
popq %rdi
callq 0x2140
movl $0xb8, %edi
callq 0x21d0
movq %rax, %r14
movq %rax, %rdi
movq %r15, %rsi
callq 0x3b54
movq %r14, 0x40(%rbx)
leaq -0x68(%rbp), %r15
movq %r15, %rdi
movq %r14, %rsi
callq 0x6fa6
movq %r15, %rdi
callq 0x6a4c
movq 0x40(%rbx), %rdi
testq %rdi, %rdi
je 0x5d37
movq (%rdi), %rax
callq *0x8(%rax)
andq $0x0, 0x40(%rbx)
movq %r15, %rdi
callq 0x72ec
movq -0x30(%rbp), %r14
jmp 0x5a2a
movq %r12, %rdi
leaq 0x241f(%rip), %rsi      # 0x8176
callq 0x21c0
movq %rax, %rdi
callq 0x20e0
jmp 0x5a2a
movq %r12, %rdi
leaq 0x2cc4(%rip), %rsi      # 0x8a37
jmp 0x5d57
movq 0x7254(%rip), %rdi      # 0xcfd0
leaq 0x2d22(%rip), %rsi      # 0x8aa5
callq 0x21c0
movq %rax, %rdi
callq 0x20e0
xorl %edi, %edi
callq 0x2230
movq %rax, %rbx
leaq -0x68(%rbp), %rdi
callq 0x731c
jmp 0x5de3
movq %rax, %rbx
leaq -0x68(%rbp), %rdi
callq 0x7304
jmp 0x5de3
movq %rax, %rbx
leaq -0x68(%rbp), %rdi
callq 0x72ec
jmp 0x5de3
jmp 0x5dc5
jmp 0x5dc5
movq %rax, %rbx
movl $0xb8, %esi
movq %r14, %rdi
callq 0x21e0
jmp 0x5de3
movq %rax, %rbx
leaq -0x68(%rbp), %rdi
callq 0x72d4
movq %rbx, %rdi
callq 0x2310
nop