// File: /workspace/github_c_makefile_star2_O2/chatziko-k08[P]lecture-code/tests/../include/acutest.h
// Function: acutest_cmdline_callback_
static int
acutest_cmdline_callback_(int id, const char* arg)
{
    switch(id) {
        case 's':
            acutest_skip_mode_ = 1;
            break;

        case 'e':
            if(arg == NULL || strcmp(arg, "always") == 0) {
                acutest_no_exec_ = 0;
            } else if(strcmp(arg, "never") == 0) {
                acutest_no_exec_ = 1;
            } else if(strcmp(arg, "auto") == 0) {
                /*noop*/
            } else {
                fprintf(stderr, "%s: Unrecognized argument '%s' for option --exec.\n", acutest_argv0_, arg);
                fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
                acutest_exit_(2);
            }
            break;

        case 'E':
            acutest_no_exec_ = 1;
            break;

        case 't':
#if defined ACUTEST_WIN_  ||  defined ACUTEST_HAS_POSIX_TIMER_
            if(arg == NULL || strcmp(arg, "real") == 0) {
                acutest_timer_ = 1;
    #ifndef ACUTEST_WIN_
            } else if(strcmp(arg, "cpu") == 0) {
                acutest_timer_ = 2;
    #endif
            } else {
                fprintf(stderr, "%s: Unrecognized argument '%s' for option --time.\n", acutest_argv0_, arg);
                fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
                acutest_exit_(2);
            }
#endif
            break;

        case 'S':
            acutest_no_summary_ = 1;
            break;

        case 'T':
            acutest_tap_ = 1;
            break;

        case 'l':
            acutest_list_names_();
            acutest_exit_(0);
            break;

        case 'v':
            acutest_verbose_level_ = (arg != NULL ? atoi(arg) : acutest_verbose_level_+1);
            break;

        case 'q':
            acutest_verbose_level_ = 0;
            break;

        case 'c':
            if(arg == NULL || strcmp(arg, "always") == 0) {
                acutest_colorize_ = 1;
            } else if(strcmp(arg, "never") == 0) {
                acutest_colorize_ = 0;
            } else if(strcmp(arg, "auto") == 0) {
                /*noop*/
            } else {
                fprintf(stderr, "%s: Unrecognized argument '%s' for option --color.\n", acutest_argv0_, arg);
                fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
                acutest_exit_(2);
            }
            break;

        case 'C':
            acutest_colorize_ = 0;
            break;

        case 'h':
            acutest_help_();
            acutest_exit_(0);
            break;

        case 'w':
            acutest_worker_ = 1;
            acutest_worker_index_ = atoi(arg);
            break;
        case 'x':
            acutest_xml_output_ = fopen(arg, "w");
            if (!acutest_xml_output_) {
                fprintf(stderr, "Unable to open '%s': %s\n", arg, strerror(errno));
                acutest_exit_(2);
            }
            break;

        case 0:
            if(acutest_lookup_(arg) == 0) {
                fprintf(stderr, "%s: Unrecognized unit test '%s'\n", acutest_argv0_, arg);
                fprintf(stderr, "Try '%s --list' for list of unit tests.\n", acutest_argv0_);
                acutest_exit_(2);
            }
            break;

        case ACUTEST_CMDLINE_OPTID_UNKNOWN_:
            fprintf(stderr, "Unrecognized command line option '%s'.\n", arg);
            fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
            acutest_exit_(2);
            break;

        case ACUTEST_CMDLINE_OPTID_MISSINGARG_:
            fprintf(stderr, "The command line option '%s' requires an argument.\n", arg);
            fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
            acutest_exit_(2);
            break;

        case ACUTEST_CMDLINE_OPTID_BOGUSARG_:
            fprintf(stderr, "The command line option '%s' does not expect an argument.\n", arg);
            fprintf(stderr, "Try '%s --help' for more information.\n", acutest_argv0_);
            acutest_exit_(2);
            break;
    }

    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, %r12
leal -0x63(%rdi), %eax
cmpl $0x15, %eax
ja 0x35ff
leaq 0x2a85(%rip), %rcx      # 0x6010
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
testq %r12, %r12
je 0x3828
leaq 0x3136(%rip), %rsi      # 0x66da
movq %r12, %rdi
callq 0x2170
testl %eax, %eax
je 0x3828
leaq 0x35df(%rip), %rsi      # 0x6b9a
movq %r12, %rdi
callq 0x2170
testl %eax, %eax
je 0x3661
leaq 0x310f(%rip), %rsi      # 0x66e1
movq %r12, %rdi
callq 0x2170
testl %eax, %eax
je 0x3970
movq 0x6a0f(%rip), %rbx      # 0x9ff8
movq (%rbx), %rdi
movq 0x6cc5(%rip), %rdx      # 0xa2b8
leaq 0x3182(%rip), %rsi      # 0x677c
jmp 0x3a15
testl %edi, %edi
je 0x37ce
cmpl $0x43, %edi
je 0x3661
cmpl $0x45, %edi
je 0x3777
cmpl $0x53, %edi
je 0x380d
cmpl $0x54, %edi
je 0x37c2
cmpl $0x80000001, %edi       # imm = 0x80000001
je 0x39cd
cmpl $0x80000002, %edi       # imm = 0x80000002
je 0x39e0
cmpl $0x80000003, %edi       # imm = 0x80000003
jne 0x3970
movq 0x69a6(%rip), %rbx      # 0x9ff8
movq (%rbx), %rdi
leaq 0x3215(%rip), %rsi      # 0x6871
jmp 0x39f1
andl $0x0, 0x6c58(%rip)      # 0xa2c0
jmp 0x3970
leaq 0x313c(%rip), %rsi      # 0x67b0
movq %r12, %rdi
callq 0x2200
movq %rax, 0x6c7d(%rip)      # 0xa300
testq %rax, %rax
jne 0x3970
movq 0x6965(%rip), %rax      # 0x9ff8
movq (%rax), %r14
callq 0x2050
movl (%rax), %edi
callq 0x2250
leaq 0x3109(%rip), %rsi      # 0x67b2
movq %r14, %rdi
movq %r12, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0x2180
jmp 0x3a37
movb $0x1, 0x6c2b(%rip)      # 0xa2f0
jmp 0x3970
testq %r12, %r12
je 0x3819
leaq 0x3066(%rip), %rsi      # 0x6740
movq %r12, %rdi
callq 0x2170
testl %eax, %eax
je 0x3819
leaq 0x3054(%rip), %rsi      # 0x6745
movq %r12, %rdi
callq 0x2170
testl %eax, %eax
jne 0x39fd
movl $0x2, 0x6c01(%rip)      # 0xa30c
jmp 0x3970
testq %r12, %r12
je 0x3837
leaq 0x2fba(%rip), %rsi      # 0x66da
movq %r12, %rdi
callq 0x2170
testl %eax, %eax
je 0x3837
leaq 0x3463(%rip), %rsi      # 0x6b9a
movq %r12, %rdi
callq 0x2170
testl %eax, %eax
je 0x3777
leaq 0x2f97(%rip), %rsi      # 0x66e1
movq %r12, %rdi
callq 0x2170
testl %eax, %eax
je 0x3970
movq 0x6897(%rip), %rbx      # 0x9ff8
movq (%rbx), %rdi
movq 0x6b4d(%rip), %rdx      # 0xa2b8
leaq 0x2f74(%rip), %rsi      # 0x66e6
jmp 0x3a15
movl $0x1, 0x69e3(%rip)      # 0xa164
jmp 0x3970
andl $0x0, 0x69d3(%rip)      # 0xa160
jmp 0x3970
movb $0x1, 0x6b4f(%rip)      # 0xa2e8
movq %r12, %rdi
callq 0x2210
movl %eax, 0x6b45(%rip)      # 0xa2ec
jmp 0x3970
testq %r12, %r12
je 0x3962
movq %r12, %rdi
callq 0x2210
jmp 0x396a
movb $0x1, 0x6b17(%rip)      # 0xa2e0
jmp 0x3970
movq 0x6af3(%rip), %r13      # 0xa2c8
xorl %r14d, %r14d
testl %r13d, %r13d
movl $0x0, %r15d
cmovgl %r13d, %r15d
leaq 0x6574(%rip), %rbx      # 0x9d60
cmpq %r14, %r15
je 0x3843
movq (%rbx), %rdi
movq %r12, %rsi
callq 0x2170
testl %eax, %eax
je 0x3958
incq %r14
addq $0x10, %rbx
jmp 0x37ec
movb $0x1, 0x6ad0(%rip)      # 0xa2e4
jmp 0x3970
movl $0x1, 0x6ae9(%rip)      # 0xa30c
jmp 0x3970
movl $0x1, 0x6a8e(%rip)      # 0xa2c0
jmp 0x3970
andl $0x0, 0x6926(%rip)      # 0xa164
jmp 0x3970
xorl %r14d, %r14d
leaq 0x6513(%rip), %rbx      # 0x9d60
movl $0x0, 0x4(%rsp)
movq %r12, %r15
movslq %r13d, %rax
cmpq %rax, %r14
jge 0x391b
movq %r13, 0x10(%rsp)
movq %r14, 0x8(%rsp)
shlq $0x4, %r14
movq (%r14,%rbx), %r14
movq %r15, %rdi
callq 0x20d0
movq %rax, %r13
movq %r14, %rbp
movq %rbp, %rdi
movq %r15, %rsi
callq 0x2270
testq %rax, %rax
je 0x3902
movq %rax, %rbp
movb $0x1, %r15b
movb $0x1, %bl
cmpq %r14, %rax
je 0x38ba
movsbl -0x1(%rbp), %esi
leaq 0x27d5(%rip), %rdi      # 0x6081
pushq $0xa
popq %rdx
callq 0x2130
testq %rax, %rax
setne %bl
movsbl (%rbp,%r13), %esi
testl %esi, %esi
je 0x38da
leaq 0x27b6(%rip), %rdi      # 0x6081
pushq $0xa
popq %rdx
callq 0x2130
testq %rax, %rax
setne %r15b
andb %r15b, %bl
incq %rbp
cmpb $0x1, %bl
movq %r12, %r15
jne 0x3884
movq 0x8(%rsp), %r14
movl %r14d, %edi
callq 0x3a3f
incl 0x4(%rsp)
movq 0x69c8(%rip), %r13      # 0xa2c8
jmp 0x390c
movq 0x10(%rsp), %r13
movq 0x8(%rsp), %r14
incq %r14
leaq 0x644a(%rip), %rbx      # 0x9d60
jmp 0x3858
movl 0x4(%rsp), %ebp
testl %ebp, %ebp
jg 0x3970
xorl %r14d, %r14d
movslq %r13d, %rax
cmpq %rax, %r14
jge 0x3981
movq (%rbx), %rdi
movq %r15, %rsi
callq 0x2270
testq %rax, %rax
je 0x394f
movl %r14d, %edi
callq 0x3a3f
incl %ebp
movq 0x6979(%rip), %r13      # 0xa2c8
incq %r14
addq $0x10, %rbx
jmp 0x3926
movl %r14d, %edi
callq 0x3a3f
jmp 0x3970
movl 0x67f8(%rip), %eax      # 0xa160
incl %eax
movl %eax, 0x67f0(%rip)      # 0xa160
xorl %eax, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
testl %ebp, %ebp
jne 0x3970
movq 0x666c(%rip), %rbx      # 0x9ff8
movq (%rbx), %rdi
movq 0x6922(%rip), %rdx      # 0xa2b8
leaq 0x2e2e(%rip), %rsi      # 0x67cb
movq %r15, %rcx
xorl %eax, %eax
callq 0x2180
movq (%rbx), %rdi
movq 0x6907(%rip), %rdx      # 0xa2b8
leaq 0x2e34(%rip), %rsi      # 0x67ec
jmp 0x3a30
callq 0x4623
jmp 0x39c6
callq 0x4663
xorl %edi, %edi
callq 0x355c
movq 0x6624(%rip), %rbx      # 0x9ff8
movq (%rbx), %rdi
leaq 0x2e37(%rip), %rsi      # 0x6815
jmp 0x39f1
movq 0x6611(%rip), %rbx      # 0x9ff8
movq (%rbx), %rdi
leaq 0x2e4c(%rip), %rsi      # 0x683d
movq %r12, %rdx
xorl %eax, %eax
callq 0x2180
jmp 0x3a1f
movq 0x65f4(%rip), %rbx      # 0x9ff8
movq (%rbx), %rdi
movq 0x68aa(%rip), %rdx      # 0xa2b8
leaq 0x2d34(%rip), %rsi      # 0x6749
movq %r12, %rcx
xorl %eax, %eax
callq 0x2180
movq (%rbx), %rdi
movq 0x688f(%rip), %rdx      # 0xa2b8
leaq 0x2ce9(%rip), %rsi      # 0x6719
xorl %eax, %eax
callq 0x2180
pushq $0x2
popq %rdi
callq 0x355c