// File: /workspace/github_c_makefile_star2_O0/deplinenoise[P]tundra/unittest/googletest/googletest/src/gtest.cc
// Function: testing::internal::ShouldShard(char const*, char const*, bool)
bool ShouldShard(const char* total_shards_env,
                 const char* shard_index_env,
                 bool in_subprocess_for_death_test) {
  if (in_subprocess_for_death_test) {
    return false;
  }

  const Int32 total_shards = Int32FromEnvOrDie(total_shards_env, -1);
  const Int32 shard_index = Int32FromEnvOrDie(shard_index_env, -1);

  if (total_shards == -1 && shard_index == -1) {
    return false;
  } else if (total_shards == -1 && shard_index != -1) {
    const Message msg = Message()
      << "Invalid environment variables: you have "
      << kTestShardIndex << " = " << shard_index
      << ", but have left " << kTestTotalShards << " unset.\n";
    ColoredPrintf(COLOR_RED, "%s", msg.GetString().c_str());
    fflush(stdout);
    exit(EXIT_FAILURE);
  } else if (total_shards != -1 && shard_index == -1) {
    const Message msg = Message()
      << "Invalid environment variables: you have "
      << kTestTotalShards << " = " << total_shards
      << ", but have left " << kTestShardIndex << " unset.\n";
    ColoredPrintf(COLOR_RED, "%s", msg.GetString().c_str());
    fflush(stdout);
    exit(EXIT_FAILURE);
  } else if (shard_index < 0 || shard_index >= total_shards) {
    const Message msg = Message()
      << "Invalid environment variables: we require 0 <= "
      << kTestShardIndex << " < " << kTestTotalShards
      << ", but you have " << kTestShardIndex << "=" << shard_index
      << ", " << kTestTotalShards << "=" << total_shards << ".\n";
    ColoredPrintf(COLOR_RED, "%s", msg.GetString().c_str());
    fflush(stdout);
    exit(EXIT_FAILURE);
  }

  return total_shards > 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1c0, %rsp            # imm = 0x1C0
movb %dl, %al
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
andb $0x1, %al
movb %al, -0x19(%rbp)
testb $0x1, -0x19(%rbp)
je 0x1ecc9
movb $0x0, -0x1(%rbp)
jmp 0x1f2b6
movq -0x10(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x1f2d0
movl %eax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x1f2d0
movl %eax, -0x24(%rbp)
cmpl $-0x1, -0x20(%rbp)
jne 0x1ed00
cmpl $-0x1, -0x24(%rbp)
jne 0x1ed00
movb $0x0, -0x1(%rbp)
jmp 0x1f2b6
cmpl $-0x1, -0x20(%rbp)
jne 0x1ee9f
cmpl $-0x1, -0x24(%rbp)
je 0x1ee9f
leaq -0x38(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
callq 0x16d70
movq -0xd8(%rbp), %rdi
leaq 0x6c5a1(%rip), %rsi     # 0x8b2d3
callq 0x373e0
movq %rax, -0xd0(%rbp)
jmp 0x1ed40
movq -0xd0(%rbp), %rdi
leaq 0x6a882(%rip), %rsi     # 0x895d0
callq 0x33980
movq %rax, -0xe0(%rbp)
jmp 0x1ed5c
movq -0xe0(%rbp), %rdi
leaq 0x6c61d(%rip), %rsi     # 0x8b387
callq 0x31e80
movq %rax, -0xe8(%rbp)
jmp 0x1ed78
movq -0xe8(%rbp), %rdi
leaq -0x24(%rbp), %rsi
callq 0x30be0
movq %rax, -0xf0(%rbp)
jmp 0x1ed91
movq -0xf0(%rbp), %rdi
leaq 0x6c55d(%rip), %rsi     # 0x8b2fc
callq 0x37420
movq %rax, -0xf8(%rbp)
jmp 0x1edad
movq -0xf8(%rbp), %rdi
leaq 0x6a7f5(%rip), %rsi     # 0x895b0
callq 0x37460
movq %rax, -0x100(%rbp)
jmp 0x1edc9
movq -0x100(%rbp), %rdi
leaq 0x6c536(%rip), %rsi     # 0x8b30d
callq 0x374a0
movq %rax, -0x108(%rbp)
jmp 0x1ede5
movq -0x108(%rbp), %rsi
leaq -0x30(%rbp), %rdi
callq 0x374e0
jmp 0x1edf7
leaq -0x38(%rbp), %rdi
callq 0x31070
leaq -0x68(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x170f0
jmp 0x1ee0f
leaq -0x68(%rbp), %rdi
callq 0xe2b0
movq %rax, %rdx
leaq 0x6c56b(%rip), %rsi     # 0x8b38d
xorl %eax, %eax
movl $0x1, %edi
callq 0x1e860
jmp 0x1ee30
leaq -0x68(%rbp), %rdi
callq 0xf058
movq 0xa2150(%rip), %rax     # 0xc0f90
movq (%rax), %rdi
callq 0xe970
jmp 0x1ee4a
movl $0x1, %edi
callq 0xe9d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x31070
jmp 0x1f2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x1ee91
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x68(%rbp), %rdi
callq 0xf058
leaq -0x30(%rbp), %rdi
callq 0x31070
jmp 0x1f2c4
cmpl $-0x1, -0x20(%rbp)
je 0x1f04a
cmpl $-0x1, -0x24(%rbp)
jne 0x1f04a
leaq -0x78(%rbp), %rdi
movq %rdi, -0x118(%rbp)
callq 0x16d70
movq -0x118(%rbp), %rdi
leaq 0x6c402(%rip), %rsi     # 0x8b2d3
callq 0x373e0
movq %rax, -0x110(%rbp)
jmp 0x1eedf
movq -0x110(%rbp), %rdi
leaq 0x6a6c3(%rip), %rsi     # 0x895b0
callq 0x37460
movq %rax, -0x120(%rbp)
jmp 0x1eefb
movq -0x120(%rbp), %rdi
leaq 0x6c47e(%rip), %rsi     # 0x8b387
callq 0x31e80
movq %rax, -0x128(%rbp)
jmp 0x1ef17
movq -0x128(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x30be0
movq %rax, -0x130(%rbp)
jmp 0x1ef30
movq -0x130(%rbp), %rdi
leaq 0x6c3be(%rip), %rsi     # 0x8b2fc
callq 0x37420
movq %rax, -0x138(%rbp)
jmp 0x1ef4c
movq -0x138(%rbp), %rdi
leaq 0x6a676(%rip), %rsi     # 0x895d0
callq 0x33980
movq %rax, -0x140(%rbp)
jmp 0x1ef68
movq -0x140(%rbp), %rdi
leaq 0x6c397(%rip), %rsi     # 0x8b30d
callq 0x374a0
movq %rax, -0x148(%rbp)
jmp 0x1ef84
movq -0x148(%rbp), %rsi
leaq -0x70(%rbp), %rdi
callq 0x374e0
jmp 0x1ef96
leaq -0x78(%rbp), %rdi
callq 0x31070
leaq -0x98(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x170f0
jmp 0x1efb1
leaq -0x98(%rbp), %rdi
callq 0xe2b0
movq %rax, %rdx
leaq 0x6c3c6(%rip), %rsi     # 0x8b38d
xorl %eax, %eax
movl $0x1, %edi
callq 0x1e860
jmp 0x1efd5
leaq -0x98(%rbp), %rdi
callq 0xf058
movq 0xa1fa8(%rip), %rax     # 0xc0f90
movq (%rax), %rdi
callq 0xe970
jmp 0x1eff2
movl $0x1, %edi
callq 0xe9d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x31070
jmp 0x1f2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x1f03c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x98(%rbp), %rdi
callq 0xf058
leaq -0x70(%rbp), %rdi
callq 0x31070
jmp 0x1f2c4
cmpl $0x0, -0x24(%rbp)
jl 0x1f05c
movl -0x24(%rbp), %eax
cmpl -0x20(%rbp), %eax
jl 0x1f2a4
leaq -0xa8(%rbp), %rdi
movq %rdi, -0x158(%rbp)
callq 0x16d70
movq -0x158(%rbp), %rdi
leaq 0x6c299(%rip), %rsi     # 0x8b316
callq 0x375c0
movq %rax, -0x150(%rbp)
jmp 0x1f08b
movq -0x150(%rbp), %rdi
leaq 0x6a537(%rip), %rsi     # 0x895d0
callq 0x33980
movq %rax, -0x160(%rbp)
jmp 0x1f0a7
movq -0x160(%rbp), %rdi
leaq 0x6c291(%rip), %rsi     # 0x8b346
callq 0x31e80
movq %rax, -0x168(%rbp)
jmp 0x1f0c3
movq -0x168(%rbp), %rdi
leaq 0x6a4df(%rip), %rsi     # 0x895b0
callq 0x37460
movq %rax, -0x170(%rbp)
jmp 0x1f0df
movq -0x170(%rbp), %rdi
leaq 0x6c25d(%rip), %rsi     # 0x8b34a
callq 0x31f60
movq %rax, -0x178(%rbp)
jmp 0x1f0fb
movq -0x178(%rbp), %rdi
leaq 0x6a4c7(%rip), %rsi     # 0x895d0
callq 0x33980
movq %rax, -0x180(%rbp)
jmp 0x1f117
movq -0x180(%rbp), %rdi
leaq 0x6dd98(%rip), %rsi     # 0x8cebd
callq 0x30ba0
movq %rax, -0x188(%rbp)
jmp 0x1f133
movq -0x188(%rbp), %rdi
leaq -0x24(%rbp), %rsi
callq 0x30be0
movq %rax, -0x190(%rbp)
jmp 0x1f14c
movq -0x190(%rbp), %rdi
leaq 0x6d194(%rip), %rsi     # 0x8c2ee
callq 0x320c0
movq %rax, -0x198(%rbp)
jmp 0x1f168
movq -0x198(%rbp), %rdi
leaq 0x6a43a(%rip), %rsi     # 0x895b0
callq 0x37460
movq %rax, -0x1a0(%rbp)
jmp 0x1f184
movq -0x1a0(%rbp), %rdi
leaq 0x6dd2b(%rip), %rsi     # 0x8cebd
callq 0x30ba0
movq %rax, -0x1a8(%rbp)
jmp 0x1f1a0
movq -0x1a8(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x30be0
movq %rax, -0x1b0(%rbp)
jmp 0x1f1b9
movq -0x1b0(%rbp), %rdi
leaq 0x6bb6e(%rip), %rsi     # 0x8ad35
callq 0x320c0
movq %rax, -0x1b8(%rbp)
jmp 0x1f1d5
movq -0x1b8(%rbp), %rsi
leaq -0xa0(%rbp), %rdi
callq 0x374e0
jmp 0x1f1ea
leaq -0xa8(%rbp), %rdi
callq 0x31070
leaq -0xc8(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x170f0
jmp 0x1f20b
leaq -0xc8(%rbp), %rdi
callq 0xe2b0
movq %rax, %rdx
leaq 0x6c16c(%rip), %rsi     # 0x8b38d
xorl %eax, %eax
movl $0x1, %edi
callq 0x1e860
jmp 0x1f22f
leaq -0xc8(%rbp), %rdi
callq 0xf058
movq 0xa1d4e(%rip), %rax     # 0xc0f90
movq (%rax), %rdi
callq 0xe970
jmp 0x1f24c
movl $0x1, %edi
callq 0xe9d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x31070
jmp 0x1f2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x1f296
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0xf058
leaq -0xa0(%rbp), %rdi
callq 0x31070
jmp 0x1f2c4
jmp 0x1f2a6
jmp 0x1f2a8
jmp 0x1f2aa
cmpl $0x1, -0x20(%rbp)
setg %al
andb $0x1, %al
movb %al, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x1c0, %rsp            # imm = 0x1C0
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0xee80
nopl (%rax)