// File: DoubleString[P]RtConverter/src/Json/json_writer.cpp
// Function: Json::StreamWriterBuilder::newStreamWriter() const
StreamWriter* StreamWriterBuilder::newStreamWriter() const {
  JSONCPP_STRING indentation = settings_["indentation"].asString();
  JSONCPP_STRING cs_str = settings_["commentStyle"].asString();
  JSONCPP_STRING pt_str = settings_["precisionType"].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'");
  }
  PrecisionType precisionType(significantDigits);
  if (pt_str == "significant") {
    precisionType = PrecisionType::significantDigits;
  } else if (pt_str == "decimal") {
    precisionType = PrecisionType::decimalPlaces;
  } else {
    throwRuntimeError("precisionType must be 'significant' or 'decimal'");
  }
  JSONCPP_STRING colonSymbol = " : ";
  if (eyc) {
    colonSymbol = ": ";
  } else if (indentation.empty()) {
    colonSymbol = ":";
  }
  JSONCPP_STRING nullSymbol = "null";
  if (dnp) {
    nullSymbol.clear();
  }
  if (pre > 17)
    pre = 17;
  JSONCPP_STRING endingLineFeedSymbol;
  return new BuiltStyledStreamWriter(indentation, cs, colonSymbol, nullSymbol,
                                     endingLineFeedSymbol, usf, pre,
                                     precisionType);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1f0, %rsp            # imm = 0x1F0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x160(%rbp)
addq $0x8, %rdi
movq %rdi, -0x158(%rbp)
leaq 0x8cb68(%rip), %rsi     # 0xbcc24
callq 0x23180
movq %rax, %rsi
leaq -0x28(%rbp), %rdi
callq 0x1fd10
movq -0x158(%rbp), %rdi
leaq 0x8cb55(%rip), %rsi     # 0xbcc30
callq 0x23180
movq %rax, -0x150(%rbp)
jmp 0x300e9
movq -0x150(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x1fd10
jmp 0x300fb
movq -0x160(%rbp), %rdi
addq $0x8, %rdi
leaq 0x8cb30(%rip), %rsi     # 0xbcc3d
callq 0x23180
movq %rax, -0x168(%rbp)
jmp 0x3011b
movq -0x168(%rbp), %rsi
leaq -0x78(%rbp), %rdi
callq 0x1fd10
jmp 0x3012d
movq -0x160(%rbp), %rdi
addq $0x8, %rdi
leaq 0x8cb0c(%rip), %rsi     # 0xbcc4b
callq 0x23180
movq %rax, -0x170(%rbp)
jmp 0x3014d
movq -0x170(%rbp), %rdi
callq 0x214a0
movb %al, -0x171(%rbp)
jmp 0x30161
movq -0x160(%rbp), %rdi
movb -0x171(%rbp), %al
andb $0x1, %al
movb %al, -0x79(%rbp)
addq $0x8, %rdi
leaq 0x8cae5(%rip), %rsi     # 0xbcc63
callq 0x23180
movq %rax, -0x180(%rbp)
jmp 0x3018c
movq -0x180(%rbp), %rdi
callq 0x214a0
movb %al, -0x181(%rbp)
jmp 0x301a0
movq -0x160(%rbp), %rdi
movb -0x181(%rbp), %al
andb $0x1, %al
movb %al, -0x7a(%rbp)
addq $0x8, %rdi
leaq 0x8cabb(%rip), %rsi     # 0xbcc78
callq 0x23180
movq %rax, -0x190(%rbp)
jmp 0x301cb
movq -0x190(%rbp), %rdi
callq 0x214a0
movb %al, -0x191(%rbp)
jmp 0x301df
movq -0x160(%rbp), %rdi
movb -0x191(%rbp), %al
andb $0x1, %al
movb %al, -0x7b(%rbp)
addq $0x8, %rdi
leaq 0x8ca8d(%rip), %rsi     # 0xbcc89
callq 0x23180
movq %rax, -0x1a0(%rbp)
jmp 0x3020a
movq -0x1a0(%rbp), %rdi
callq 0x20490
movl %eax, -0x1a4(%rbp)
jmp 0x3021e
movl -0x1a4(%rbp), %eax
movl %eax, -0x80(%rbp)
movl $0x2, -0x84(%rbp)
leaq 0x8ca5b(%rip), %rsi     # 0xbcc93
leaq -0x48(%rbp), %rdi
callq 0x31700
movb %al, -0x1a5(%rbp)
jmp 0x30249
movb -0x1a5(%rbp), %al
testb $0x1, %al
jne 0x30255
jmp 0x30297
movl $0x2, -0x84(%rbp)
jmp 0x3033d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x3065b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x30652
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x30649
leaq 0x8c9f9(%rip), %rsi     # 0xbcc97
leaq -0x48(%rbp), %rdi
callq 0x31700
movb %al, -0x1a6(%rbp)
jmp 0x302af
movb -0x1a6(%rbp), %al
testb $0x1, %al
jne 0x302bb
jmp 0x302c7
movl $0x0, -0x84(%rbp)
jmp 0x3033b
leaq -0xa9(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0x9d30
movq -0x1b0(%rbp), %rdx
leaq 0x8c9b4(%rip), %rsi     # 0xbcc9c
leaq -0xa8(%rbp), %rdi
callq 0x9a30
jmp 0x302f6
leaq -0xa8(%rbp), %rdi
callq 0x1db90
jmp 0x30304
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x3032a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x9480
leaq -0xa9(%rbp), %rdi
callq 0x97e0
jmp 0x30649
jmp 0x3033d
movl $0x0, -0xb0(%rbp)
leaq 0x8c973(%rip), %rsi     # 0xbccc1
leaq -0x78(%rbp), %rdi
callq 0x31700
movb %al, -0x1b1(%rbp)
jmp 0x3035f
movb -0x1b1(%rbp), %al
testb $0x1, %al
jne 0x3036b
jmp 0x3037a
movl $0x0, -0xb0(%rbp)
jmp 0x30420
leaq 0x8c94c(%rip), %rsi     # 0xbcccd
leaq -0x78(%rbp), %rdi
callq 0x31700
movb %al, -0x1b2(%rbp)
jmp 0x30392
movb -0x1b2(%rbp), %al
testb $0x1, %al
jne 0x3039e
jmp 0x303aa
movl $0x1, -0xb0(%rbp)
jmp 0x3041e
leaq -0xd1(%rbp), %rdi
movq %rdi, -0x1c0(%rbp)
callq 0x9d30
movq -0x1c0(%rbp), %rdx
leaq 0x8c90a(%rip), %rsi     # 0xbccd5
leaq -0xd0(%rbp), %rdi
callq 0x9a30
jmp 0x303d9
leaq -0xd0(%rbp), %rdi
callq 0x1db90
jmp 0x303e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x3040d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x9480
leaq -0xd1(%rbp), %rdi
callq 0x97e0
jmp 0x30649
jmp 0x30420
leaq -0xf9(%rbp), %rdi
movq %rdi, -0x1c8(%rbp)
callq 0x9d30
movq -0x1c8(%rbp), %rdx
leaq 0x8c62f(%rip), %rsi     # 0xbca70
leaq -0xf8(%rbp), %rdi
callq 0x9a30
jmp 0x3044f
leaq -0xf9(%rbp), %rdi
callq 0x97e0
testb $0x1, -0x79(%rbp)
je 0x304a6
leaq 0x8c609(%rip), %rsi     # 0xbca71
leaq -0xf8(%rbp), %rdi
callq 0x9a20
jmp 0x30476
jmp 0x304ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xf9(%rbp), %rdi
callq 0x97e0
jmp 0x30649
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x3063d
leaq -0x28(%rbp), %rdi
callq 0x9c50
testb $0x1, %al
jne 0x304b5
jmp 0x304cc
leaq 0x9baa8(%rip), %rsi     # 0xcbf64
leaq -0xf8(%rbp), %rdi
callq 0x9a20
jmp 0x304ca
jmp 0x304cc
jmp 0x304ce
leaq -0x121(%rbp), %rdi
movq %rdi, -0x1d0(%rbp)
callq 0x9d30
movq -0x1d0(%rbp), %rdx
leaq 0x8c577(%rip), %rsi     # 0xbca66
leaq -0x120(%rbp), %rdi
callq 0x9a30
jmp 0x304fd
leaq -0x121(%rbp), %rdi
callq 0x97e0
testb $0x1, -0x7a(%rbp)
je 0x3053a
leaq -0x120(%rbp), %rdi
callq 0x99d0
jmp 0x3053a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x121(%rbp), %rdi
callq 0x97e0
jmp 0x3063d
cmpl $0x11, -0x80(%rbp)
jbe 0x30547
movl $0x11, -0x80(%rbp)
leaq -0x148(%rbp), %rdi
callq 0x9a50
movl $0xe8, %edi
callq 0x9780
movq %rax, -0x1d8(%rbp)
jmp 0x30566
movq -0x1d8(%rbp), %rdi
movl -0x84(%rbp), %edx
movl -0x80(%rbp), %esi
movl -0xb0(%rbp), %r8d
movzbl -0x7b(%rbp), %ecx
movq %rsp, %rax
movl %r8d, 0x10(%rax)
movl %esi, 0x8(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
leaq -0x28(%rbp), %rsi
leaq -0xf8(%rbp), %rcx
leaq -0x120(%rbp), %r8
leaq -0x148(%rbp), %r9
callq 0x2e6e0
jmp 0x305b0
leaq -0x148(%rbp), %rdi
callq 0x9480
leaq -0x120(%rbp), %rdi
callq 0x9480
leaq -0xf8(%rbp), %rdi
callq 0x9480
leaq -0x78(%rbp), %rdi
callq 0x9480
leaq -0x48(%rbp), %rdi
callq 0x9480
leaq -0x28(%rbp), %rdi
callq 0x9480
movq -0x1d8(%rbp), %rax
addq $0x1f0, %rsp            # imm = 0x1F0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x30625
movq -0x1d8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
callq 0x9700
leaq -0x148(%rbp), %rdi
callq 0x9480
leaq -0x120(%rbp), %rdi
callq 0x9480
leaq -0xf8(%rbp), %rdi
callq 0x9480
leaq -0x78(%rbp), %rdi
callq 0x9480
leaq -0x48(%rbp), %rdi
callq 0x9480
leaq -0x28(%rbp), %rdi
callq 0x9480
movq -0x50(%rbp), %rdi
callq 0x9d20
nopl (%rax)