// File: /workspace/github_cpp_makefile_star2_O2/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 $0x68, %rsp
movq %rcx, %r14
movq %rsi, 0x18(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, (%rdi)
movq %rdi, 0x8(%rsp)
andq $0x0, 0x10(%rdi)
movslq %edx, %rax
movq %rax, 0x20(%rsp)
pushq $0x1
popq %r12
leaq 0x28(%rsp), %r13
leaq 0x17(%rsp), %rbp
leaq 0x48(%rsp), %rbx
cmpq 0x20(%rsp), %r12
jge 0x30a8
movq (%r14,%r12,8), %r15
movq %r13, %rdi
leaq 0x11b1(%rip), %rsi      # 0x40f3
movq %rbp, %rdx
callq 0x2612
movq %r15, %rdi
movq %r13, %rsi
callq 0x35f4
testb %al, %al
jne 0x30dd
movq (%r14,%r12,8), %r15
movq %rbx, %rdi
leaq 0x119a(%rip), %rsi      # 0x4105
leaq 0x7(%rsp), %rdx
callq 0x2612
movq %r15, %rdi
movq %rbx, %rsi
callq 0x35f4
movl %eax, %r15d
movq %rbx, %rdi
callq 0x20d0
movq %r13, %rdi
callq 0x20d0
testb %r15b, %r15b
jne 0x30e7
movq (%r14,%r12,8), %r15
movq %r13, %rdi
leaq 0x115e(%rip), %rsi      # 0x4108
movq %rbp, %rdx
callq 0x2612
movq %r15, %rdi
movq %r13, %rsi
callq 0x35f4
testb %al, %al
je 0x2fcb
movq %r13, %rdi
callq 0x20d0
jmp 0x3006
movq (%r14,%r12,8), %r15
movq %rbx, %rdi
leaq 0x1137(%rip), %rsi      # 0x4110
leaq 0x7(%rsp), %rdx
callq 0x2612
movq %r15, %rdi
movq %rbx, %rsi
callq 0x35f4
movl %eax, %r15d
movq %rbx, %rdi
callq 0x20d0
movq %r13, %rdi
callq 0x20d0
testb %r15b, %r15b
je 0x3014
callq 0x2672
movb $0x1, 0x30(%rax)
jmp 0x30a0
movq (%r14,%r12,8), %r15
movq %r13, %rdi
leaq 0x10f1(%rip), %rsi      # 0x4113
movq %rbp, %rdx
callq 0x2612
movq %r15, %rdi
movq %r13, %rsi
callq 0x35f4
testb %al, %al
jne 0x3133
movq (%r14,%r12,8), %r15
movq %rbx, %rdi
leaq 0x10cf(%rip), %rsi      # 0x411a
leaq 0x7(%rsp), %rdx
callq 0x2612
movq %r15, %rdi
movq %rbx, %rsi
callq 0x35f4
movl %eax, %r15d
movq %rbx, %rdi
callq 0x20d0
movq %r13, %rdi
callq 0x20d0
testb %r15b, %r15b
jne 0x313d
movq (%r14,%r12,8), %rsi
movq %r13, %rdi
movq %rbx, %rdx
callq 0x2612
movq 0x8(%rsp), %rdi
movq %r13, %rsi
callq 0x370e
movq %r13, %rdi
callq 0x20d0
incq %r12
jmp 0x2f29
movq 0x8(%rsp), %r14
movq (%r14), %rax
cmpq 0x8(%r14), %rax
jne 0x30cb
movq 0x18(%rsp), %rsi
movq 0x18(%rsi), %rdi
addq $0x8, %rsi
movq %r14, %rdx
callq 0x3658
movq %r14, %rax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x28(%rsp), %rdi
callq 0x20d0
callq 0x2672
movq 0x3ed5(%rip), %rsi      # 0x6fc8
movq %rax, %rdi
callq 0x360a
movq 0x3ec6(%rip), %rdi      # 0x6fc8
callq 0x2130
pushq $0x10
popq %rdi
callq 0x20f0
leaq 0x3c72(%rip), %rcx      # 0x6d88
movq %rcx, (%rax)
andl $0x0, 0x8(%rax)
leaq 0x3c3c(%rip), %rsi      # 0x6d60
movq 0x3ead(%rip), %rdx      # 0x6fd8
movq %rax, %rdi
callq 0x2300
leaq 0x28(%rsp), %rdi
callq 0x20d0
movq 0x3e84(%rip), %rdi      # 0x6fc8
leaq 0xfd2(%rip), %rsi       # 0x411d
callq 0x21d0
movq (%r14), %rsi
movq %rax, %rdi
callq 0x21d0
leaq 0xfc3(%rip), %rsi       # 0x4125
movq %rax, %rdi
callq 0x21d0
movq 0x3e57(%rip), %rdi      # 0x6fc8
leaq 0xfd0(%rip), %rsi       # 0x4148
callq 0x21d0
leaq 0xfd9(%rip), %rsi       # 0x415d
movq %rax, %rdi
callq 0x21d0
leaq 0xff9(%rip), %rsi       # 0x418c
movq %rax, %rdi
callq 0x21d0
leaq 0x1039(%rip), %rsi      # 0x41db
movq %rax, %rdi
callq 0x21d0
leaq 0x1062(%rip), %rsi      # 0x4213
movq %rax, %rdi
callq 0x21d0
movq %rax, %rdi
callq 0x20e0
jmp 0x3107
movq %rax, %rbx
jmp 0x31f2
jmp 0x31db
jmp 0x31db
jmp 0x31ea
jmp 0x31ea
jmp 0x31db
jmp 0x31ea
jmp 0x31ea
jmp 0x31ea
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x20d0
jmp 0x31ed
movq %rax, %rbx
movq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x3202
movq %rbx, %rdi
callq 0x2320