// File: /workspace/github_cpp_makefile_star2_O1/eecs280staff[P]unit_test_framework/./unit_test_framework.hpp
// Function: unit_test_framework::TestSuite::get_test_names_to_run[abi:cxx11](int, char**)
std::vector<std::string> get_test_names_to_run(int argc, char** argv) {
      std::vector<std::string> test_names_to_run;
#if UNIT_TEST_ENABLE_REGEXP
      bool regexp_matching = false;
#endif
      for (auto i = 1; i < argc; ++i) {
        if (argv[i] == std::string("--show_test_names") or
            argv[i] == std::string("-n")) {

          TestSuite::get().print_test_names(std::cout);
          std::cout << std::flush;
          throw ExitSuite();
        }
        else if (argv[i] == std::string("--quiet") or
                 argv[i] == std::string("-q")) {
          TestSuite::get().enable_quiet_mode();
        }
#if UNIT_TEST_ENABLE_REGEXP
        else if (argv[i] == std::string("--regexp") or
                 argv[i] == std::string("-e")) {
          regexp_matching = true;
        }
#endif
        else if (argv[i] == std::string("--help") or
                 argv[i] == std::string("-h")) {
          std::cout << "usage: " << argv[0]
#if UNIT_TEST_ENABLE_REGEXP
                    << " [-h] [-e] [-n] [-q] [[TEST_NAME] ...]\n";
#else
          << " [-h] [-n] [-q] [[TEST_NAME] ...]\n";
#endif
          std::cout
            << "optional arguments:\n"
            << " -h, --help\t\t show this help message and exit\n"
#if UNIT_TEST_ENABLE_REGEXP
            << " -e, --regexp\t\t treat TEST_NAME as a regular expression\n"
#endif
            << " -n, --show_test_names\t print the names of all "
            "discovered test cases and exit\n"
            << " -q, --quiet\t\t print a reduced summary of test results\n"
            << " TEST_NAME ...\t\t run only the test cases whose names "
            "are "
            "listed here. Note: If no test names are specified, all "
            "discovered tests are run by default."
            << std::endl;

          throw ExitSuite();
        }
        else {
          test_names_to_run.push_back(argv[i]);
        }
      }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movq %rsi, 0x38(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, (%rdi)
movq %rdi, 0x28(%rsp)
movq $0x0, 0x10(%rdi)
cmpl $0x2, %edx
jl 0x3711
movq %rcx, %rbx
leaq 0x18(%rsp), %r12
movl %edx, %eax
movq %rax, 0x40(%rsp)
movl $0x1, %r13d
leaq 0x8(%rsp), %r15
leaq 0x48(%rsp), %r14
movq %rcx, 0x30(%rsp)
movq %r15, %rbp
movq (%rbx,%r13,8), %r15
movq %r12, 0x8(%rsp)
movq %rbp, %rdi
leaq 0x1c8b(%rip), %rsi      # 0x510f
leaq 0x1c95(%rip), %rdx      # 0x5120
callq 0x48e6
movq %rbp, %rdi
movq %r15, %rsi
callq 0x2080
movl %eax, %r15d
testl %eax, %eax
je 0x34db
movq %rbx, %rbp
movq (%rbx,%r13,8), %rbx
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
movq %r14, %rdi
leaq 0x1c64(%rip), %rsi      # 0x5121
leaq 0x1c5f(%rip), %rdx      # 0x5123
callq 0x48e6
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2080
testl %eax, %eax
sete %bl
jmp 0x34e0
movq %rbx, %rbp
movb $0x1, %bl
testl %r15d, %r15d
leaq 0x8(%rsp), %r15
je 0x3506
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x3506
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x2210
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x351d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2210
testb %bl, %bl
jne 0x3749
movq (%rbp,%r13,8), %rbx
movq %r12, 0x8(%rsp)
movq %r15, %rdi
leaq 0x1beb(%rip), %rsi      # 0x5124
leaq 0x1beb(%rip), %rdx      # 0x512b
callq 0x48e6
movq %r15, %rdi
movq %rbx, %rsi
callq 0x2080
movl %eax, %r15d
testl %eax, %eax
je 0x35a7
movq %r12, %r14
movq (%rbp,%r13,8), %rbx
leaq 0x98(%rsp), %rax
movq %rax, 0x88(%rsp)
leaq 0x88(%rsp), %r12
movq %r12, %rdi
leaq 0x1bab(%rip), %rsi      # 0x512c
leaq 0x1ba6(%rip), %rdx      # 0x512e
callq 0x48e6
movq %r12, %rdi
movq %rbx, %rsi
callq 0x2080
testl %eax, %eax
sete %bl
movq %r14, %r12
leaq 0x48(%rsp), %r14
jmp 0x35a9
movb $0x1, %bl
testl %r15d, %r15d
leaq 0x8(%rsp), %r15
je 0x35d8
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x35d8
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x2210
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x35ef
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2210
testb %bl, %bl
je 0x3604
callq 0x26d4
movq %rbp, %rbx
movb $0x1, 0x30(%rax)
jmp 0x3703
movq (%rbp,%r13,8), %rbx
movq %r12, 0x8(%rsp)
movq %r15, %rdi
leaq 0x1b17(%rip), %rsi      # 0x512f
leaq 0x1b16(%rip), %rdx      # 0x5135
callq 0x48e6
movq %r15, %r14
movq %r15, %rdi
movq %rbx, %rsi
callq 0x2080
movl %eax, %r15d
testl %eax, %eax
je 0x367f
movq %r12, %rbp
movq 0x30(%rsp), %rax
movq (%rax,%r13,8), %rbx
leaq 0x78(%rsp), %rax
movq %rax, 0x68(%rsp)
leaq 0x68(%rsp), %r12
movq %r12, %rdi
leaq 0x1ad8(%rip), %rsi      # 0x5136
leaq 0x1ad3(%rip), %rdx      # 0x5138
callq 0x48e6
movq %r12, %rdi
movq %rbx, %rsi
callq 0x2080
testl %eax, %eax
sete %bl
movq %rbp, %r12
jmp 0x3681
movb $0x1, %bl
testl %r15d, %r15d
je 0x36a2
movq 0x68(%rsp), %rdi
leaq 0x78(%rsp), %rax
cmpq %rax, %rdi
je 0x36a2
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x2210
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
movq %r14, %r15
je 0x36bc
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2210
testb %bl, %bl
movq 0x30(%rsp), %rbx
leaq 0x48(%rsp), %r14
jne 0x379a
movq (%rbx,%r13,8), %rsi
movq %r15, %rdi
leaq 0x7(%rsp), %rdx
callq 0x2696
movq 0x28(%rsp), %rdi
movq %r15, %rsi
callq 0x404c
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x3703
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2210
incq %r13
cmpq %r13, 0x40(%rsp)
jne 0x346e
movq 0x28(%rsp), %rbx
movq (%rbx), %rax
cmpq 0x8(%rbx), %rax
jne 0x3734
movq 0x38(%rsp), %rsi
movq 0x18(%rsi), %rdi
addq $0x8, %rsi
movq %rbx, %rdx
callq 0x3eec
movq %rbx, %rax
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x26d4
movq 0x4873(%rip), %rsi      # 0x7fc8
movq %rax, %rdi
callq 0x3e88
movq 0x4864(%rip), %rdi      # 0x7fc8
callq 0x2150
movl $0x10, %edi
callq 0x2100
leaq 0x4606(%rip), %rcx      # 0x7d80
movq %rcx, (%rax)
movl $0x0, 0x8(%rax)
leaq 0x45cd(%rip), %rsi      # 0x7d58
movq 0x4846(%rip), %rdx      # 0x7fd8
movq %rax, %rdi
callq 0x2310
movq 0x4827(%rip), %rdi      # 0x7fc8
leaq 0x1991(%rip), %rsi      # 0x5139
movl $0x7, %edx
callq 0x2230
movq 0x30(%rsp), %rax
movq (%rax), %rsi
movq 0x4807(%rip), %rdi      # 0x7fc8
callq 0x21f0
leaq 0x1974(%rip), %rsi      # 0x5141
movl $0x22, %edx
movq %rax, %rdi
callq 0x2230
movq 0x47e7(%rip), %rdi      # 0x7fc8
leaq 0x197c(%rip), %rsi      # 0x5164
movl $0x14, %edx
callq 0x2230
movq 0x47cf(%rip), %rdi      # 0x7fc8
leaq 0x1979(%rip), %rsi      # 0x5179
movl $0x2e, %edx
callq 0x2230
movq 0x47b7(%rip), %rdi      # 0x7fc8
leaq 0x1990(%rip), %rsi      # 0x51a8
movl $0x4e, %edx
callq 0x2230
movq 0x479f(%rip), %rdi      # 0x7fc8
leaq 0x19c7(%rip), %rsi      # 0x51f7
movl $0x37, %edx
callq 0x2230
movq 0x4787(%rip), %rdi      # 0x7fc8
leaq 0x19e7(%rip), %rsi      # 0x522f
movl $0x94, %edx
callq 0x2230
movq 0x476f(%rip), %rdi      # 0x7fc8
callq 0x20f0
jmp 0x3769
jmp 0x38ab
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
jne 0x3898
jmp 0x38ae
jmp 0x38ab
jmp 0x38ab
jmp 0x388b
jmp 0x38ab
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
jne 0x3898
jmp 0x38ae
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
je 0x38ae
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x2210
jmp 0x38ae
jmp 0x38ab
jmp 0x38ab
movq %rax, %rbx
movq 0x28(%rsp), %rdi
callq 0x38c0
movq %rbx, %rdi
callq 0x2330