// File: /workspace/github_cpp_makefile_star2_O3/tomfunkhouser[P]gaps/pkgs/RNBasics/json.cpp
// Function: Json::StreamWriterBuilder::newStreamWriter() const
StreamWriter* StreamWriterBuilder::newStreamWriter() const
{
  std::string indentation = settings_["indentation"].asString();
  std::string cs_str = settings_["commentStyle"].asString();
  bool eyc = settings_["enableYAMLCompatibility"].asBool();
  bool dnp = settings_["dropNullPlaceholders"].asBool();
  bool usf = settings_["useSpecialFloats"].asBool(); 
  unsigned int pre = settings_["precision"].asUInt();
  CommentStyle::Enum cs = CommentStyle::All;
  if (cs_str == "All") {
    cs = CommentStyle::All;
  } else if (cs_str == "None") {
    cs = CommentStyle::None;
  } else {
    throwRuntimeError("commentStyle must be 'All' or 'None'");
  }
  std::string colonSymbol = " : ";
  if (eyc) {
    colonSymbol = ": ";
  } else if (indentation.empty()) {
    colonSymbol = ":";
  }
  std::string nullSymbol = "null";
  if (dnp) {
    nullSymbol = "";
  }
  if (pre > 17) pre = 17;
  std::string endingLineFeedSymbol = "";
  return new BuiltStyledStreamWriter(
      indentation, cs,
      colonSymbol, nullSymbol, endingLineFeedSymbol, usf, pre);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movq %rdi, %r15
addq $0x8, %r15
leaq 0x38d4f(%rip), %rsi     # 0xbfa66
leaq 0x38d53(%rip), %rdx     # 0xbfa71
movq %r15, %rdi
callq 0x82296
testq %rax, %rax
leaq 0x38220(%rip), %r14     # 0xbef50
cmoveq %r14, %rax
leaq 0x88(%rsp), %rdi
movq %rax, %rsi
callq 0x79efc
leaq 0x38d27(%rip), %rsi     # 0xbfa72
leaq 0x38d2c(%rip), %rdx     # 0xbfa7e
movq %r15, %rdi
callq 0x82296
testq %rax, %rax
cmoveq %r14, %rax
leaq 0x68(%rsp), %rdi
movq %rax, %rsi
callq 0x79efc
leaq 0x38d0a(%rip), %rsi     # 0xbfa7f
leaq 0x38d1a(%rip), %rdx     # 0xbfa96
movq %r15, %rdi
callq 0x82296
testq %rax, %rax
cmoveq %r14, %rax
movq %rax, %rdi
callq 0x7e8b8
movl %eax, %r12d
leaq 0x38cfa(%rip), %rsi     # 0xbfa97
leaq 0x38d07(%rip), %rdx     # 0xbfaab
movq %r15, %rdi
callq 0x82296
testq %rax, %rax
cmoveq %r14, %rax
movq %rax, %rdi
callq 0x7e8b8
movl %eax, %ebp
leaq 0x38ce8(%rip), %rsi     # 0xbfaac
leaq 0x38cf1(%rip), %rdx     # 0xbfabc
movq %r15, %rdi
callq 0x82296
testq %rax, %rax
cmoveq %r14, %rax
movq %rax, %rdi
callq 0x7e8b8
movl %eax, %ebx
leaq 0x38cd2(%rip), %rsi     # 0xbfabd
leaq 0x38cd4(%rip), %rdx     # 0xbfac6
movq %r15, %rdi
callq 0x82296
testq %rax, %rax
cmovneq %rax, %r14
movq %r14, %rdi
callq 0x80d46
movl %eax, %r15d
leaq 0x38cb4(%rip), %rsi     # 0xbfac7
leaq 0x68(%rsp), %rdi
callq 0x111b0
testl %eax, %eax
je 0x86e64
leaq 0x38ca3(%rip), %rsi     # 0xbfacb
leaq 0x68(%rsp), %rdi
callq 0x111b0
xorl %r14d, %r14d
testl %eax, %eax
je 0x86e6a
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x38c87(%rip), %rsi     # 0xbfad0
leaq 0x38ca4(%rip), %rdx     # 0xbfaf4
leaq 0x8(%rsp), %rdi
callq 0x1a88c
leaq 0x8(%rsp), %rdi
callq 0x789e4
movl $0x2, %r14d
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x38bdf(%rip), %rsi     # 0xbfa59
leaq 0x38bdb(%rip), %rdx     # 0xbfa5c
leaq 0x8(%rsp), %rdi
callq 0x1a88c
testb %r12b, %r12b
je 0x86e9f
movl $0x2, %r8d
leaq 0x38bbd(%rip), %rcx     # 0xbfa5a
jmp 0x86eb7
cmpq $0x0, 0x90(%rsp)
jne 0x86ec7
movl $0x1, %r8d
leaq 0x38b9b(%rip), %rcx     # 0xbfa52
leaq 0x8(%rsp), %rdi
movq 0x8(%rdi), %rdx
xorl %esi, %esi
callq 0x11910
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x38b42(%rip), %rsi     # 0xbfa1a
leaq 0x38b3f(%rip), %rdx     # 0xbfa1e
leaq 0x28(%rsp), %rdi
callq 0x1a88c
testb %bpl, %bpl
je 0x86f08
leaq 0x28(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x35736(%rip), %rcx     # 0xbc634
xorl %esi, %esi
xorl %r8d, %r8d
callq 0x11910
cmpl $0x11, %r15d
movl $0x11, %r13d
cmovbl %r15d, %r13d
leaq 0x58(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x3570e(%rip), %rdx     # 0xbc634
leaq 0x48(%rsp), %rdi
movq %rdx, %rsi
callq 0x1a88c
movl $0xe0, %edi
callq 0x115b0
movq %rax, %r15
movzbl %bl, %eax
leaq 0x88(%rsp), %rsi
leaq 0x8(%rsp), %rcx
leaq 0x28(%rsp), %r8
leaq 0x48(%rsp), %r9
movq %r15, %rdi
movl %r14d, %edx
pushq %r13
pushq %rax
callq 0x859d2
addq $0x10, %rsp
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x86f83
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x115c0
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x86f9a
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x115c0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x86fb6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x115c0
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x86fd1
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x115c0
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x86ff2
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x115c0
movq %r15, %rax
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
jne 0x87078
jmp 0x87092
jmp 0x8708f
jmp 0x8704a
jmp 0x87066
movq %rax, %rbx
movl $0xe0, %esi
movq %r15, %rdi
callq 0x115c0
jmp 0x87031
movq %rax, %rbx
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x8704d
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x115c0
jmp 0x8704d
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0x87069
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x115c0
jmp 0x87069
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x87092
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x115c0
jmp 0x87092
jmp 0x8708f
jmp 0x8708f
jmp 0x8708f
jmp 0x8708f
movq %rax, %rbx
leaq 0x78(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x870b2
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x115c0
jmp 0x870b2
movq %rax, %rbx
leaq 0x98(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x870d3
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x115c0
movq %rbx, %rdi
callq 0x11a60
nop