// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/annotationsketch/gt_sketch_page.c
// Function: gt_sketch_page_option_parser_new
static GtOptionParser* gt_sketch_page_option_parser_new(void *tool_arguments)
{
  SketchPageArguments *arguments = tool_arguments;
  GtOptionParser *op;
  static const char *formats[] = {
#ifdef CAIRO_HAS_PDF_SURFACE
    "pdf",
#endif
#ifdef CAIRO_HAS_PS_SURFACE
    "ps",
#endif
    NULL
  };
  GtOption *o;
  op = gt_option_parser_new("outfile annotationfile",
                            "Draw a multi-page PDF/PS representation of "
                            "an annotation file.");
  o = gt_option_new_string("seqid", "sequence region to draw\n"
                                    "default: first in file",
                           arguments->seqid, NULL);
  gt_option_parser_add_option(op, o);
  gt_option_hide_default(o);

  o = gt_option_new_string("text", "text to show in header\n"
                                  "default: file name",
                           arguments->text, NULL);
  gt_option_parser_add_option(op, o);
  gt_option_hide_default(o);

  o = gt_option_new_double("fontsize", "header and footer font size "
                                       "(in points)",
                           &arguments->theight, 10.0);
  gt_option_parser_add_option(op, o);

  o = gt_option_new_range("range", "range to draw (e.g. 100 10000)\n"
                                   "default: full range",
                          &arguments->range, NULL);
  gt_option_parser_add_option(op, o);
  gt_option_hide_default(o);

  o = gt_option_new_uword_min("linewidth", "base width of a single "
                                           "repeated unit",
                              &arguments->width, 2000, 1000);
  gt_option_is_mandatory(o);
  gt_option_parser_add_option(op, o);

  o = gt_option_new_double("width", "page width in millimeters "
                                    "(default: DIN A4)",
                           &arguments->pwidth, 210.0);
  gt_option_parser_add_option(op, o);

  o = gt_option_new_double("height", "page height in millimeters "
                                     "(default: DIN A4)",
                           &arguments->pheight, 297.0);
  gt_option_parser_add_option(op, o);

  o = gt_option_new_choice("format", "output format\n"
                                     "choose from: "
#ifdef CAIRO_HAS_PDF_SURFACE
                                       "pdf"
#ifdef CAIRO_HAS_PS_SURFACE
                                       "|"
#endif
#endif
#ifdef CAIRO_HAS_PS_SURFACE
                                       "ps"
#endif
                                       "",
                            arguments->format, formats[0], formats );
  gt_option_parser_add_option(op, o);

  o = gt_option_new_string("style", "style file to use\n"
                                    "default: gtdata/sketch/default.style",
                                arguments->stylefile,
                                gt_str_get(arguments->stylefile));
  gt_option_parser_add_option(op, o);
  gt_option_hide_default(o);

  o = gt_option_new_filename("seqfile", "sequence file for GC content view",
                                arguments->seqfile);
  gt_option_parser_add_option(op, o);
  gt_option_is_extended_option(o);

  gt_option_parser_set_min_max_args(op, 2, 2);
  return op;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdi, %r14
leaq 0x1a8c02(%rip), %rdi    # 0x3c538e
leaq 0x1a8c12(%rip), %rsi    # 0x3c53a5
callq 0x107bfe
movq %rax, %rbx
movq 0x30(%r14), %rdx
leaq 0x1432f1(%rip), %rdi    # 0x35fa97
leaq 0x1a8c37(%rip), %rsi    # 0x3c53e4
xorl %ecx, %ecx
callq 0x10a770
movq %rax, %r15
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
movq %r15, %rdi
callq 0x10ac1f
movq 0x48(%r14), %rdx
leaq 0x1aa4ea(%rip), %rdi    # 0x3c6cbf
leaq 0x1a8c37(%rip), %rsi    # 0x3c5413
xorl %ecx, %ecx
callq 0x10a770
movq %rax, %r15
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
movq %r15, %rdi
callq 0x10ac1f
leaq 0x18(%r14), %rdx
leaq 0x1a8c39(%rip), %rdi    # 0x3c543d
leaq 0x1a8c3b(%rip), %rsi    # 0x3c5446
movsd 0x13878d(%rip), %xmm0   # 0x354fa0
callq 0x10a346
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
leaq 0x20(%r14), %rdx
leaq 0x160c1e(%rip), %rdi    # 0x37d44c
leaq 0x1a8c39(%rip), %rsi    # 0x3c546e
xorl %ecx, %ecx
callq 0x10a6f7
movq %rax, %r15
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
movq %r15, %rdi
callq 0x10ac1f
leaq 0x1a8c48(%rip), %rdi    # 0x3c54a1
leaq 0x1a8c4b(%rip), %rsi    # 0x3c54ab
movl $0x7d0, %ecx            # imm = 0x7D0
movl $0x3e8, %r8d            # imm = 0x3E8
movq %r14, %rdx
callq 0x10a5d1
movq %rax, %r15
movq %rax, %rdi
callq 0x10a87b
movq %rbx, %rdi
movq %r15, %rsi
callq 0x107cc0
leaq 0x8(%r14), %rdx
leaq 0x19aa52(%rip), %rdi    # 0x3b72e6
leaq 0x1a8c35(%rip), %rsi    # 0x3c54d0
movsd 0x1a8a85(%rip), %xmm0   # 0x3c5328
callq 0x10a346
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
leaq 0x10(%r14), %rdx
leaq 0x1ca185(%rip), %rdi    # 0x3e6a43
leaq 0x1a8c37(%rip), %rsi    # 0x3c54fc
movsd 0x1a8a63(%rip), %xmm0   # 0x3c5330
callq 0x10a346
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
movq 0x38(%r14), %rdx
movq 0x29e458(%rip), %rcx    # 0x4bad40
leaq 0x29e451(%rip), %r8     # 0x4bad40
leaq 0x13f2be(%rip), %rdi    # 0x35bbb4
leaq 0x1a8c2c(%rip), %rsi    # 0x3c5529
callq 0x10a7ed
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
movq 0x40(%r14), %r15
movq %r15, %rdi
callq 0x11b0a1
leaq 0x1a94c2(%rip), %rdi    # 0x3c5de2
leaq 0x1a8c24(%rip), %rsi    # 0x3c554b
movq %r15, %rdx
movq %rax, %rcx
callq 0x10a770
movq %rax, %r15
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
movq %r15, %rdi
callq 0x10ac1f
movq 0x50(%r14), %rdx
leaq 0x181447(%rip), %rdi    # 0x39dd9a
leaq 0x1a8c28(%rip), %rsi    # 0x3c5582
callq 0x10a7af
movq %rax, %r14
movq %rbx, %rdi
movq %rax, %rsi
callq 0x107cc0
movq %r14, %rdi
callq 0x10a9c4
movq %rbx, %rdi
movl $0x2, %esi
movl $0x2, %edx
callq 0x10874b
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq