// File: mh0fm4[P]SCDC/src/components/dataprov/dataprov_jobrun_relay.cc
// Function: scdc_dataprov_jobrun_relay::config_do_cmd_param(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, scdc_config_result&, bool&)
bool scdc_dataprov_jobrun_relay::config_do_cmd_param(const std::string &cmd, const std::string &param, std::string val, scdc_config_result &result, bool &done)
{
  SCDC_TRACE("config_do_cmd_param: cmd: '" << cmd << "', param: '" << param << "', val: '" << val << "', result: '" << result << "'");

  string c(cmd), p(param);

  done = true;
  bool ret = true;

  if (p == "")
  {
    ret = scdc_dataprov_relay::config_do_cmd_param(cmd, param, val, result, done);
    if (!ret) goto do_quit;

    if (c == "info")
    {
    } else if (c == "ls")
    {
      ret = scdc_dataprov_config::ls(result, "max_parallel_jobs");

    } else done = false;

  } else
  {
    ret = scdc_dataprov_relay::config_do_cmd_param(cmd, param, val, result, done);
    if (!ret) goto do_quit;

    if (done);
    else if (p == "max_parallel_jobs")
    {
      done = true;

      if (c == "info") ret = scdc_dataprov_config::ls(result, "maximum number of parallel jobs executed at once");
      else if (c == "get") ret = scdc_dataprov_config::get<scdcint_t>(result, "max_parallel_jobs", max_parallel_jobs);
      else done = false;
    }
  }

do_quit:
  if (done && !ret)
  {
    SCDC_FAIL("config_do_cmd_param: cmd '" << cmd << "' failed");
    return false;
  }

  return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x150, %rsp            # imm = 0x150
movq %rcx, -0xe0(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xd8(%rbp)
jmp 0x8d477
movq -0x18(%rbp), %rsi
leaq -0x58(%rbp), %rdi
callq 0xc270
movq -0x20(%rbp), %rsi
leaq -0x78(%rbp), %rdi
callq 0xc270
jmp 0x8d493
movq -0x38(%rbp), %rax
movb $0x1, (%rax)
movb $0x1, -0x85(%rbp)
leaq 0x190fc(%rip), %rsi     # 0xa65a4
leaq -0x78(%rbp), %rdi
callq 0x25b80
movb %al, -0xe1(%rbp)
jmp 0x8d4b9
movb -0xe1(%rbp), %al
testb $0x1, %al
jne 0x8d4c8
jmp 0x8d614
movq -0xe0(%rbp), %rsi
movq -0x18(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xf0(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0xc270
jmp 0x8d4f3
movq -0xf0(%rbp), %rdx
movq -0xf8(%rbp), %rsi
movq -0xd8(%rbp), %rdi
movq -0x30(%rbp), %r8
movq -0x38(%rbp), %r9
leaq -0xa8(%rbp), %rcx
callq 0x332a0
movb %al, -0xf9(%rbp)
jmp 0x8d524
movb -0xf9(%rbp), %al
andb $0x1, %al
movb %al, -0x85(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0xc3e0
testb $0x1, -0x85(%rbp)
jne 0x8d594
jmp 0x8d7ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x8d91c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
jmp 0x8d913
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0xc3e0
jmp 0x8d913
leaq 0x192d8(%rip), %rsi     # 0xa6873
leaq -0x58(%rbp), %rdi
callq 0x25b80
movb %al, -0xfa(%rbp)
jmp 0x8d5ac
movb -0xfa(%rbp), %al
testb $0x1, %al
jne 0x8d5b8
jmp 0x8d5ba
jmp 0x8d60f
leaq 0x1956f(%rip), %rsi     # 0xa6b30
leaq -0x58(%rbp), %rdi
callq 0x25b80
movb %al, -0xfb(%rbp)
jmp 0x8d5d2
movb -0xfb(%rbp), %al
testb $0x1, %al
jne 0x8d5de
jmp 0x8d606
movq -0x30(%rbp), %rdi
leaq 0x1bdda(%rip), %rsi     # 0xa93c3
callq 0x27920
movb %al, -0xfc(%rbp)
jmp 0x8d5f6
movb -0xfc(%rbp), %al
andb $0x1, %al
movb %al, -0x85(%rbp)
jmp 0x8d60d
movq -0x38(%rbp), %rax
movb $0x0, (%rax)
jmp 0x8d60f
jmp 0x8d7a9
movq -0xe0(%rbp), %rsi
movq -0x18(%rbp), %rax
movq %rax, -0x110(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x108(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0xc270
jmp 0x8d63f
movq -0x108(%rbp), %rdx
movq -0x110(%rbp), %rsi
movq -0xd8(%rbp), %rdi
movq -0x30(%rbp), %r8
movq -0x38(%rbp), %r9
leaq -0xc8(%rbp), %rcx
callq 0x332a0
movb %al, -0x111(%rbp)
jmp 0x8d670
movb -0x111(%rbp), %al
andb $0x1, %al
movb %al, -0x85(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0xc3e0
testb $0x1, -0x85(%rbp)
jne 0x8d6b8
jmp 0x8d7ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x80(%rbp)
movl %eax, -0x84(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0xc3e0
jmp 0x8d913
movq -0x38(%rbp), %rax
testb $0x1, (%rax)
je 0x8d6c6
jmp 0x8d7a7
leaq 0x1bcf6(%rip), %rsi     # 0xa93c3
leaq -0x78(%rbp), %rdi
callq 0x25b80
movb %al, -0x112(%rbp)
jmp 0x8d6de
movb -0x112(%rbp), %al
testb $0x1, %al
jne 0x8d6ed
jmp 0x8d7a5
movq -0x38(%rbp), %rax
movb $0x1, (%rax)
leaq 0x19178(%rip), %rsi     # 0xa6873
leaq -0x58(%rbp), %rdi
callq 0x25b80
movb %al, -0x113(%rbp)
jmp 0x8d70c
movb -0x113(%rbp), %al
testb $0x1, %al
jne 0x8d718
jmp 0x8d740
movq -0x30(%rbp), %rdi
leaq 0x1bc4d(%rip), %rsi     # 0xa9370
callq 0x27920
movb %al, -0x114(%rbp)
jmp 0x8d730
movb -0x114(%rbp), %al
andb $0x1, %al
movb %al, -0x85(%rbp)
jmp 0x8d7a3
leaq 0x19484(%rip), %rsi     # 0xa6bcb
leaq -0x58(%rbp), %rdi
callq 0x25b80
movb %al, -0x115(%rbp)
jmp 0x8d758
movb -0x115(%rbp), %al
testb $0x1, %al
jne 0x8d764
jmp 0x8d79a
movq -0xd8(%rbp), %rdx
movq -0x30(%rbp), %rdi
addq $0x128, %rdx            # imm = 0x128
leaq 0x1bc46(%rip), %rsi     # 0xa93c3
callq 0x83c30
movb %al, -0x116(%rbp)
jmp 0x8d78a
movb -0x116(%rbp), %al
andb $0x1, %al
movb %al, -0x85(%rbp)
jmp 0x8d7a1
movq -0x38(%rbp), %rax
movb $0x0, (%rax)
jmp 0x8d7a3
jmp 0x8d7a5
jmp 0x8d7a7
jmp 0x8d7a9
jmp 0x8d7ab
movq -0x38(%rbp), %rax
testb $0x1, (%rax)
je 0x8d8de
testb $0x1, -0x85(%rbp)
jne 0x8d8de
jmp 0x8d7c7
leaq 0x46eda(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, -0x120(%rbp)
jmp 0x8d7df
movq -0x120(%rbp), %rax
cmpq $0x0, %rax
je 0x8d8ca
leaq 0x46eb1(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25800
jmp 0x8d801
leaq 0x46ea0(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x257e0
movq %rax, -0x128(%rbp)
jmp 0x8d819
movq -0x128(%rbp), %rdi
leaq 0x18989(%rip), %rsi     # 0xa61b0
callq 0xc670
movq %rax, -0x130(%rbp)
jmp 0x8d835
movq -0x130(%rbp), %rdi
leaq 0x1bb15(%rip), %rsi     # 0xa9358
callq 0xc670
movq %rax, -0x138(%rbp)
jmp 0x8d851
movq -0x138(%rbp), %rdi
leaq 0x190df(%rip), %rsi     # 0xa693e
callq 0xc670
movq %rax, -0x140(%rbp)
jmp 0x8d86d
movq -0x140(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0xc5b0
movq %rax, -0x148(%rbp)
jmp 0x8d886
movq -0x148(%rbp), %rdi
leaq 0x1a678(%rip), %rsi     # 0xa7f0c
callq 0xc670
movq %rax, -0x150(%rbp)
jmp 0x8d8a2
movq -0x150(%rbp), %rdi
movq 0x46710(%rip), %rsi     # 0xd3fc0
callq 0xc6d0
jmp 0x8d8b7
leaq 0x46dea(%rip), %rax     # 0xd46a8
movq (%rax), %rdi
callq 0x25820
jmp 0x8d8c8
jmp 0x8d8ca
jmp 0x8d8cc
jmp 0x8d8ce
movb $0x0, -0x1(%rbp)
movl $0x1, -0xcc(%rbp)
jmp 0x8d8f3
movb -0x85(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
movl $0x1, -0xcc(%rbp)
leaq -0x78(%rbp), %rdi
callq 0xc3e0
leaq -0x58(%rbp), %rdi
callq 0xc3e0
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x150, %rsp            # imm = 0x150
popq %rbp
retq
leaq -0x78(%rbp), %rdi
callq 0xc3e0
leaq -0x58(%rbp), %rdi
callq 0xc3e0
movq -0x80(%rbp), %rdi
callq 0xcba0
nop