// File: /workspace/github_cpp_makefile_star2_O1/whitefusion[P]Jaipur_cardgame-/AllTokens.cpp
// Function: All_Tokens::printTokens()
void All_Tokens::printTokens(){
    int i, c, row, ts, tf;
    cout << ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>TOKENS<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" << endl;
 //   cout << "============================================================================================================================================================================================" << endl;
    // output the first four types of tokens: diamond, gold, silver, leather

    for (row = 0; row < 2; ++row){
        if (row == 0){
            ts = 0;  
            tf = 4;
        }
        else {
            ts = 4;
            tf = 7;
        }
        for (i = ts; i < tf; ++i){
            cout << "  "; 
            for(c = 0; c < getSize(i+1)-1; ++c)
                cout << "  * *";
            if (getSize(i+1) > 0){
                cout << "  * * *";
                cout << "           ";
            }
        }
        cout << endl;

        for (i = ts; i < tf; ++i){
            cout << "  ";
            for (c = 0; c < getSize(i+1)-1; ++c)
                cout << "*    ";
            if (getSize(i+1) > 0){
                cout << "*       *";
                cout << "         ";
            }
        }
        cout << endl;

        for (i = ts; i < tf; ++i){
            cout << " ";
            for (c = 0; c < getSize(i+1)-1; ++c)
                cout << allTokens.at(i).at(c).getVal() << "    ";
            if (getSize(i+1) > 0){
                if (i == 1)
                    cout << "*  " << allTokens.at(i).at(c).getType() << "   *";
                else 
                    cout << "*  " << allTokens.at(i).at(c).getType() << "  *";
                cout << "        ";
            }
            else
                cout << " ";
        }
        cout << endl;

        for (i = ts; i < tf; ++i){
            cout << " ";
            for (c = 0; c < getSize(i+1)-1; ++c)
                cout << "*    ";
            if (getSize(i+1) > 0){
                cout << "*   -" << allTokens.at(i).at(c).getVal() << "-   *";
                cout << "        ";
            }
            else
                cout << " ";
        }
        cout << endl;

        for (i = ts; i < tf; ++i){
            cout << "  ";
            for (c = 0; c < getSize(i+1)-1; ++c)
                cout << "*    ";
            if (getSize(i+1) > 0){
                cout << "*       *";
                cout << "         ";
            }
        }
        cout << endl;

        for (i = ts; i < tf; ++i){
            cout << "  "; 
            for(c = 0; c < getSize(i+1)-1; ++c)
                cout << "  * *";
            if (getSize(i+1) > 0){
                cout << "  * * *";
                cout << "           ";
            }
        }
        cout << endl;
    }

//    cout << "============================================================================================================================================================================================" << endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
movq 0x108e0(%rip), %r14     # 0x15fd0
leaq 0xab29(%rip), %rsi      # 0x10220
movl $0xbc, %edx
movq %r14, %rdi
callq 0x21d0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20f0
xorl %ecx, %ecx
leaq 0xaba9(%rip), %r12      # 0x102dd
xorl %eax, %eax
movq %rcx, 0x40(%rsp)
testl %ecx, %ecx
setne %al
leal (%rax,%rax,2), %r13d
addl $0x4, %r13d
movl %eax, %ebp
shll $0x2, %ebp
movl %ebp, 0x4(%rsp)
movl $0x2, %edx
movq %r14, %rdi
leaq 0xab94(%rip), %rsi      # 0x102f4
callq 0x21d0
incl %ebp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x54aa
cmpl $0x2, %eax
jl 0x579d
xorl %r15d, %r15d
movl $0x5, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0x21d0
incl %r15d
movq %rbx, %rdi
movl %ebp, %esi
callq 0x54aa
decl %eax
cmpl %eax, %r15d
jl 0x5779
movq %rbx, %rdi
movl %ebp, %esi
callq 0x54aa
testl %eax, %eax
jle 0x57d3
movl $0x7, %edx
movq %r14, %rdi
leaq 0xab29(%rip), %rsi      # 0x102e3
callq 0x21d0
movl $0xb, %edx
movq %r14, %rdi
leaq 0xab1d(%rip), %rsi      # 0x102eb
callq 0x21d0
cmpl %r13d, %ebp
jb 0x5751
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20f0
movl 0x4(%rsp), %ebp
movl $0x2, %edx
movq %r14, %rdi
leaq 0xaade(%rip), %rsi      # 0x102f4
callq 0x21d0
incl %ebp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x54aa
cmpl $0x2, %eax
leaq 0xaac6(%rip), %r12      # 0x102f7
jl 0x585a
xorl %r15d, %r15d
movl $0x5, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0x21d0
incl %r15d
movq %rbx, %rdi
movl %ebp, %esi
callq 0x54aa
decl %eax
cmpl %eax, %r15d
jl 0x5836
movq %rbx, %rdi
movl %ebp, %esi
callq 0x54aa
testl %eax, %eax
jle 0x5890
movl $0x9, %edx
movq %r14, %rdi
leaq 0xaa86(%rip), %rsi      # 0x102fd
callq 0x21d0
movl $0x9, %edx
movq %r14, %rdi
leaq 0xaa62(%rip), %rsi      # 0x102ed
callq 0x21d0
cmpl %r13d, %ebp
jb 0x5807
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20f0
movl 0x4(%rsp), %ebp
movl %r13d, %eax
movq %rax, 0x38(%rsp)
movq %rbp, 0x28(%rsp)
movl %r13d, 0x34(%rsp)
movl $0x1, %edx
movq %r14, %rdi
leaq 0xaa10(%rip), %rsi      # 0x102f5
callq 0x21d0
leaq 0x1(%rbp), %r15
movq %rbx, %rdi
movl %r15d, %esi
callq 0x54aa
cmpl $0x2, %eax
jl 0x59a6
xorl %r13d, %r13d
xorl %r12d, %r12d
movq (%rbx), %rax
movq 0x8(%rbx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rdx
cmpq %rbp, %rdx
jbe 0x5e7b
leaq (,%rbp,2), %rcx
addq %rbp, %rcx
movq (%rax,%rcx,8), %rdi
movq 0x8(%rax,%rcx,8), %rdx
subq %rdi, %rdx
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
cmpq %r12, %rdx
jbe 0x5e6f
addq %r13, %rdi
callq 0x43be
movq %r14, %rdi
movl %eax, %esi
callq 0x2270
movl $0x4, %edx
movq %rax, %rdi
leaq 0xa972(%rip), %rsi      # 0x102f2
callq 0x21d0
incq %r12
movq %rbx, %rdi
movl %r15d, %esi
callq 0x54aa
decl %eax
cltq
addq $0x28, %r13
cmpq %rax, %r12
jl 0x5908
jmp 0x59a9
xorl %r12d, %r12d
movq %rbx, %rdi
movl %r15d, %esi
callq 0x54aa
testl %eax, %eax
jle 0x5a63
movl $0x3, %edx
movq %r14, %rdi
leaq 0xa93c(%rip), %rsi      # 0x10307
callq 0x21d0
cmpq $0x1, %rbp
jne 0x5a77
movq (%rbx), %rax
movq 0x8(%rbx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rdx
cmpq $0x1, %rdx
jbe 0x5e95
movq 0x18(%rax), %rcx
movq 0x20(%rax), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
cmpq %r12, %rdx
jbe 0x5e6f
leaq (%r12,%r12,4), %rax
leaq (%rcx,%rax,8), %rsi
leaq 0x8(%rsp), %rdi
callq 0x439c
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x21d0
movl $0x4, %edx
movq %rax, %rdi
leaq 0xab08(%rip), %rsi      # 0x10561
callq 0x21d0
jmp 0x5b06
movl $0x1, %edx
movq %r14, %rdi
leaq 0xa883(%rip), %rsi      # 0x102f5
jmp 0x5b31
movq (%rbx), %rax
movq 0x8(%rbx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rdx
cmpq %rbp, %rdx
jbe 0x5e7b
leaq (,%rbp,2), %rdx
addq %rbp, %rdx
movq (%rax,%rdx,8), %rcx
movq 0x8(%rax,%rdx,8), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
cmpq %r12, %rdx
jbe 0x5e6f
leaq (%r12,%r12,4), %rax
leaq (%rcx,%rax,8), %rsi
leaq 0x8(%rsp), %rdi
callq 0x439c
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x21d0
movl $0x3, %edx
movq %rax, %rdi
leaq 0xaa61(%rip), %rsi      # 0x10562
callq 0x21d0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5b22
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21a0
movl $0x8, %edx
movq %r14, %rdi
leaq 0xa7bd(%rip), %rsi      # 0x102ee
callq 0x21d0
movq %r15, %rbp
cmpq 0x38(%rsp), %r15
jb 0x58d6
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20f0
leaq 0xa785(%rip), %rbp      # 0x102f7
movq 0x28(%rsp), %r13
movl $0x1, %edx
movq %r14, %rdi
leaq 0xa76f(%rip), %rsi      # 0x102f5
callq 0x21d0
movq %r13, 0x28(%rsp)
leaq 0x1(%r13), %r15
movq %rbx, %rdi
movl %r15d, %esi
callq 0x54aa
xorl %r12d, %r12d
cmpl $0x2, %eax
jl 0x5bcc
movl $0x5, %edx
movq %r14, %rdi
movq %rbp, %rsi
callq 0x21d0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x54aa
decl %eax
incq %r12
cmpl %eax, %r12d
jl 0x5ba7
movq %rbx, %rdi
movl %r15d, %esi
callq 0x54aa
testl %eax, %eax
jle 0x5c84
movl $0x5, %edx
movq %r14, %rdi
leaq 0xa71d(%rip), %rsi      # 0x1030b
callq 0x21d0
movq (%rbx), %rax
movq 0x8(%rbx), %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rdx
movq 0x28(%rsp), %rsi
cmpq %rsi, %rdx
jbe 0x5e8c
leaq (%rsi,%rsi,2), %rdx
movq (%rax,%rdx,8), %rcx
movq 0x8(%rax,%rdx,8), %rdx
subq %rcx, %rdx
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
cmpq %r12, %rdx
jbe 0x5e6f
leaq (%r12,%r12,4), %rax
leaq (%rcx,%rax,8), %rdi
callq 0x43be
movq %r14, %rdi
movl %eax, %esi
callq 0x2270
movl $0x5, %edx
movq %rax, %rdi
leaq 0xa6a3(%rip), %rsi      # 0x10311
callq 0x21d0
movl $0x8, %edx
movq %r14, %rdi
leaq 0xa66c(%rip), %rsi      # 0x102ee
jmp 0x5c93
movl $0x1, %edx
movq %r14, %rdi
leaq 0xa662(%rip), %rsi      # 0x102f5
callq 0x21d0
movq %r15, %r13
cmpq 0x38(%rsp), %r15
leaq 0xa636(%rip), %r12      # 0x102dd
jb 0x5b77
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20f0
movl 0x4(%rsp), %ebp
movl $0x2, %edx
movq %r14, %rdi
leaq 0xa60d(%rip), %rsi      # 0x102f4
callq 0x21d0
incl %ebp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x54aa
cmpl $0x2, %eax
leaq 0xa5f5(%rip), %r13      # 0x102f7
jl 0x5d2b
xorl %r15d, %r15d
movl $0x5, %edx
movq %r14, %rdi
movq %r13, %rsi
callq 0x21d0
incl %r15d
movq %rbx, %rdi
movl %ebp, %esi
callq 0x54aa
decl %eax
cmpl %eax, %r15d
jl 0x5d07
movq %rbx, %rdi
movl %ebp, %esi
callq 0x54aa
testl %eax, %eax
jle 0x5d61
movl $0x9, %edx
movq %r14, %rdi
leaq 0xa5b5(%rip), %rsi      # 0x102fd
callq 0x21d0
movl $0x9, %edx
movq %r14, %rdi
leaq 0xa591(%rip), %rsi      # 0x102ed
callq 0x21d0
movl 0x34(%rsp), %r15d
cmpl %r15d, %ebp
jb 0x5cd8
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20f0
movl 0x4(%rsp), %r13d
movl $0x2, %edx
movq %r14, %rdi
leaq 0xa54a(%rip), %rsi      # 0x102f4
callq 0x21d0
incl %r13d
movq %rbx, %rdi
movl %r13d, %esi
callq 0x54aa
cmpl $0x2, %eax
jl 0x5de7
xorl %ebp, %ebp
movl $0x5, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0x21d0
incl %ebp
movq %rbx, %rdi
movl %r13d, %esi
callq 0x54aa
decl %eax
cmpl %eax, %ebp
jl 0x5dc4
movq %rbx, %rdi
movl %r13d, %esi
callq 0x54aa
testl %eax, %eax
jle 0x5e1e
movl $0x7, %edx
movq %r14, %rdi
leaq 0xa4de(%rip), %rsi      # 0x102e3
callq 0x21d0
movl $0xb, %edx
movq %r14, %rdi
leaq 0xa4d2(%rip), %rsi      # 0x102eb
callq 0x21d0
cmpl %r15d, %r13d
jb 0x5d9b
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2180
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20f0
movq 0x40(%rsp), %rcx
leal 0x1(%rcx), %eax
testl %ecx, %ecx
movl %eax, %ecx
je 0x5734
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xa4d2(%rip), %rdi      # 0x10348
movq %r12, %rsi
jmp 0x5e85
leaq 0xa4c6(%rip), %rdi      # 0x10348
movq %rbp, %rsi
xorl %eax, %eax
callq 0x21f0
leaq 0xa4b5(%rip), %rdi      # 0x10348
jmp 0x5e85
leaq 0xa4ac(%rip), %rdi      # 0x10348
movl $0x1, %esi
jmp 0x5e85
jmp 0x5ea5
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5ec4
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21a0
movq %rbx, %rdi
callq 0x2280