(CommandList
  children: [
    (FuncDef
      name: _Dbg_usage
      body: 
        (BraceGroup
          children: [
            (C {(printf)} 
              {
                (DQ ('Usage:\n') ('   ') (${ VSub_Name _Dbg_pname) (' [OPTIONS] <script_file>\n') ('\n') 
                  ('Runs ') ($ VSub_Name '$_Dbg_shell_name') (' <script_file> under a debugger.\n') ('\n') ('options:\n') 
                  ('    -h | --help              Print this help.\n') ('    -q | --quiet             Do not print introductory and quiet messages.\n') 
                  ('    -A | --annotate  LEVEL   Set the annotation level.\n') ('    -B | --basename          Show basename only on source file listings.\n') 
                  ('                             (Needed in regression tests)\n') ('    --highlight {dark|light} Use dark or light background ANSI terminal sequence\n') 
                  ('                             syntax highlighting\n') ('       | --no-highlight\n') 
                  ("                             Don't use ANSI terminal sequences for syntax\n") ('                             highlight\n') ('    --highlight | --no-highlight\n') 
                  (
"                             Use or don't use ANSI terminal sequences for syntax\n"
                  ) ('                             highlight\n') 
                  ("    --init-file FILE         Source script file FILE. Similar to bash's\n") ('                             corresponding option. This option can be given\n') 
                  ('                             several times with different files.\n') ('    -L | --library DIRECTORY\n') 
                  (
'                             Set the directory location of library helper file: '
                  ) ($ VSub_Name '$_Dbg_main') ('\n') 
                  ('    -c | --command STRING    Run STRING instead of a script file\n') ("    -n | --nx | --no-init    Don't run initialization files.\n") 
                  (
'    -S | --style STYLE       Run use pygments STYLE for formatting source code\n'
                  ) ('    --tty | --terminal DEV   Set to terminal in debugger output to DEV\n') 
                  ('                             DEV can also be &1 for STDOUT\n') ('    -T | --tempdir DIRECTORY\n') 
                  ('                             Use DIRECTORY to store temporary files\n') ('    -V | --version           Print the debugger version number.\n') 
                  ('    -X | --trace             Set line tracing similar to set -x\n') ('    -x | --eval-command CMDFILE\n') 
                  ('                             Execute debugger commands from CMDFILE.\n')
                )
              }
            )
            (C {(exit)} {(100)})
          ]
          spids: [62]
        )
      spids: [58 61]
    )
    (FuncDef
      name: _Dbg_show_version
      body: 
        (BraceGroup
          children: [
            (C {(printf)} 
              {
                (DQ ('There is absolutely no warranty for ') ($ VSub_Name '$_Dbg_debugger_name') 
                  ('.  Type ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('show warranty') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' for details.\n')
                )
              }
            )
            (C {(exit)} {(101)})
          ]
          spids: [125]
        )
      spids: [121 124]
    )
    (Assignment
      keyword: Assign_Typeset
      flags: [-xa]
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_orig_script_args) op:Equal spids:[156])]
      spids: [152]
    )
    (C {(eval)} 
      {
        (DQ ('_Dbg_orig_script_args=(') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
          (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('@') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (')')
        )
      }
    )
    (Assignment
      keyword: Assign_Typeset
      flags: [-xa]
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_script_args) op:Equal spids:[190])]
      spids: [186]
    )
    (Assignment
      keyword: Assign_Typeset
      flags: [-i]
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_set_annotate) op:Equal rhs:{(0)} spids:[200])]
      spids: [196]
    )
    (Assignment
      keyword: Assign_Typeset
      flags: [-i]
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_set_linetrace) op:Equal rhs:{(0)} spids:[211])]
      spids: [207]
    )
    (Assignment
      keyword: Assign_Typeset
      flags: [-i]
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_set_basename) op:Equal rhs:{(0)} spids:[218])]
      spids: [214]
    )
    (Assignment
      keyword: Assign_Typeset
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_set_highlight) op:Equal rhs:{(SQ )} spids:[223])]
      spids: [221]
    )
    (Sentence
      child: 
        (Assignment
          keyword: Assign_Typeset
          flags: [-a]
          pairs: [(assign_pair lhs:(LhsName name:_Dbg_o_init_files) op:Equal spids:[234])]
          spids: [230]
        )
      terminator: <Op_Semi ';'>
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_Dbg_o_init_files)
          op: Equal
          rhs: {(ArrayLiteralPart)}
          spids: [237]
        )
      ]
      spids: [237]
    )
    (Assignment
      keyword: Assign_Typeset
      flags: [-i]
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_o_nx) op:Equal rhs:{(0)} spids:[245])]
      spids: [241]
    )
    (Assignment
      keyword: Assign_Typeset
      flags: [-ix]
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_working_term_highlight) op:Equal spids:[253])]
      spids: [249]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [{(${ VSub_Name _Dbg_libdir) (/lib/term-highlight.py)} {(-V)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 2
                      arg_word: {(/dev/null)}
                      spids: [265]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 1
                      arg_word: {(/dev/null)}
                      spids: [268]
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_Dbg_working_term_highlight)
                  op: Equal
                  rhs: {(1)}
                  spids: [276]
                )
              ]
              spids: [276]
            )
          ]
          spids: [16777215 273]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:_Dbg_working_term_highlight)
              op: Equal
              rhs: {(0)}
              spids: [282]
            )
          ]
          spids: [282]
        )
      ]
      spids: [279 285]
    )
    (Assignment
      keyword: Assign_Typeset
      flags: [-x]
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_set_style) op:Equal rhs:{(SQ )} spids:[292])]
      spids: [288]
    )
    (AndOr
      children: [
        (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$_Dbg_tmpdir')}))
        (Assignment
          keyword: Assign_Typeset
          pairs: [(assign_pair lhs:(LhsName name:_Dbg_tmpdir) op:Equal rhs:{(/tmp)} spids:[311])]
          spids: [309]
        )
      ]
      op_id: Op_DAmp
    )
    (FuncDef
      name: _Dbg_check_tty
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_Less
                      left: (ArithWord w:{($ VSub_Pound '$#')})
                      right: (ArithWord w:{(Lit_Digits 1)})
                    )
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DAmp
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tty)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [342]
                )
              ]
              spids: [340]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {($ VSub_Name '$tty')}
                              right: {(SQ <'&1'>)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C 
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (SimpleCommand
                                                  words: [{(touch)} {($ VSub_Name '$tty')}]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: 16777215
                                                      arg_word: {(/dev/null)}
                                                      spids: [374]
                                                    )
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: 2
                                                      arg_word: {(/dev/null)}
                                                      spids: [377]
                                                    )
                                                  ]
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [369 379]
                                        )
                                      }
                                    )
                                  ]
                                  negated: True
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(_Dbg_errmsg)} 
                              {(DQ ("Can't access ") ($ VSub_Name '$tty') (' for writing.'))}
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 382]
                        )
                      ]
                      spids: [16777215 399]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (LogicalNot
                                      child: (BoolUnary op_id:BoolUnary_w child:{($ VSub_Name '$tty')})
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(_Dbg_errmsg)} 
                              {(DQ ('tty ') ($ VSub_Name '$tty') (' needs to be writable'))}
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 416]
                        )
                      ]
                      spids: [16777215 433]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_Dbg_tty)
                          op: Equal
                          rhs: {($ VSub_Name '$tty')}
                          spids: [436]
                        )
                      ]
                      spids: [436]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_Dbg_prompt_output)
                          op: Equal
                          rhs: {($ VSub_Name '$_Dbg_tty')}
                          spids: [440]
                        )
                      ]
                      spids: [440]
                    )
                  ]
                  spids: [16777215 362]
                )
              ]
              spids: [16777215 444]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [319]
        )
      spids: [315 318]
    )
    (FuncDef
      name: _Dbg_parse_options
      body: 
        (BraceGroup
          children: [
            (C {(.)} {(${ VSub_Name _Dbg_libdir) (/getopts_long.sh)})
            (Assignment
              keyword: Assign_Typeset
              flags: [-i]
              pairs: [(assign_pair lhs:(LhsName name:_Dbg_o_quiet) op:Equal rhs:{(0)} spids:[475])]
              spids: [471]
            )
            (Assignment
              keyword: Assign_Typeset
              flags: [-i]
              pairs: [(assign_pair lhs:(LhsName name:_Dbg_o_version) op:Equal rhs:{(0)} spids:[483])]
              spids: [479]
            )
            (While
              cond: [
                (C {(getopts_long)} 
                  {(A) (Lit_Other ':') (Bc) (Lit_Other ':') (x) (Lit_Other ':') (hL) (Lit_Other ':') (nqTt) 
                    (Lit_Other ':') (VX)
                  } {(opt)} {(annotate)} {(required_argument)} {(basename)} {(no_argument)} {(command)} {(required_argument)} 
                  {(debugger)} {(no_argument)} {(eval-command)} {(required_argument)} {(help)} {(no_argument)} {(highlight)} 
                  {(required_argument)} {(init-file)} {(required_argument)} {(library)} {(required_argument)} {(no-highlight)} {(no_argument)} 
                  {(no-init)} {(no_argument)} {(nx)} {(no_argument)} {(quiet)} {(no_argument)} {(tempdir)} {(required_argument)} {(tty)} 
                  {(required_argument)} {(terminal)} {(required_argument)} {(version)} {(no_argument)} {(SQ )} {(DQ ($ VSub_At '$@'))}
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {(DQ ($ VSub_Name '$opt'))}
                      arms: [
                        (case_arm
                          pat_list: [{(A)} {(annotate)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_Dbg_o_annotate)
                                  op: Equal
                                  rhs: {($ VSub_Name '$OPTLARG')}
                                  spids: [639]
                                )
                              ]
                              spids: [639]
                            )
                          ]
                          spids: [630 636 641 16777215]
                        )
                        (case_arm
                          pat_list: [{(B)} {(basename)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_Dbg_set_basename)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [653]
                                )
                              ]
                              spids: [653]
                            )
                          ]
                          spids: [644 650 656 16777215]
                        )
                        (case_arm
                          pat_list: [{(c)} {(command)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_Dbg_EXECUTION_STRING)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$OPTLARG'))}
                                  spids: [668]
                                )
                              ]
                              spids: [668]
                            )
                          ]
                          spids: [659 665 673 16777215]
                        )
                        (case_arm
                          pat_list: [{(debugger)}]
                          spids: [676 678 685 16777215]
                        )
                        (case_arm
                          pat_list: [{(h)} {(help)}]
                          action: [(C {(_Dbg_usage)})]
                          spids: [688 694 699 16777215]
                        )
                        (case_arm
                          pat_list: [{(highlight)}]
                          action: [
                            (Case
                              to_match: {(DQ ($ VSub_Name '$OPTLARG'))}
                              arms: [
                                (case_arm
                                  pat_list: [{(light)} {(dark)}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:_Dbg_set_highlight)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTLARG')}
                                          spids: [725]
                                        )
                                      ]
                                      spids: [725]
                                    )
                                  ]
                                  spids: [716 722 729 16777215]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other '*')}]
                                  action: [
                                    (SimpleCommand
                                      words: [
                                        {(print)}
                                        {
                                          (DQ ("Expecting 'dark' or 'light', got ") 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\"'>
                                            ) (${ VSub_Name OPTLARG) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 16777215
                                          arg_word: {(2)}
                                          spids: [748]
                                        )
                                      ]
                                    )
                                    (C {(exit)} {(2)})
                                  ]
                                  spids: [732 734 16777215 757]
                                )
                              ]
                              spids: [707 713 757]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (Pipeline
                                          children: [
                                            (Subshell
                                              child: 
                                                (AndOr
                                                  children: [
                                                    (C {(pygmentize)} {(--version)})
                                                    (C {(pygmentize)} {(-V)})
                                                  ]
                                                  op_id: Op_DPipe
                                                )
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: 2
                                                  arg_word: {(/dev/null)}
                                                  spids: [779]
                                                )
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: 1
                                                  arg_word: {(/dev/null)}
                                                  spids: [782]
                                                )
                                              ]
                                              spids: [765 777]
                                            )
                                          ]
                                          negated: True
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (SimpleCommand
                                      words: [
                                        {(print)}
                                        {(DQ ("Can't run pygmentize. --highight forced off"))}
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 16777215
                                          arg_word: {(2)}
                                          spids: [796]
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:_Dbg_set_highlight)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [800]
                                        )
                                      ]
                                      spids: [800]
                                    )
                                  ]
                                  spids: [16777215 787]
                                )
                              ]
                              spids: [16777215 806]
                            )
                          ]
                          spids: [702 704 809 16777215]
                        )
                        (case_arm
                          pat_list: [{(no-highlight)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_Dbg_set_highlight)
                                  op: Equal
                                  rhs: {(SQ )}
                                  spids: [817]
                                )
                              ]
                              spids: [817]
                            )
                          ]
                          spids: [812 814 821 16777215]
                        )
                        (case_arm
                          pat_list: [{(init-file)}]
                          action: [
                            (C {(set)} {(-x)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_Dbg_o_init_files)
                                  op: PlusEqual
                                  rhs: {(DQ ($ VSub_Name '$OPTLARG'))}
                                  spids: [834]
                                )
                              ]
                              spids: [834]
                            )
                            (C {(set)} {(Lit_Other '+') (x)})
                          ]
                          spids: [824 826 846 16777215]
                        )
                        (case_arm
                          pat_list: [{(L)} {(library)}]
                          spids: [849 855 857 16777215]
                        )
                        (case_arm
                          pat_list: [{(V)} {(version)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_Dbg_o_version)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [869]
                                )
                              ]
                              spids: [869]
                            )
                          ]
                          spids: [860 866 872 16777215]
                        )
                        (case_arm
                          pat_list: [{(n)} {(nx)} {(no-init)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_Dbg_o_nx)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [888]
                                )
                              ]
                              spids: [888]
                            )
                          ]
                          spids: [875 885 891 16777215]
                        )
                        (case_arm
                          pat_list: [{(q)} {(quiet)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_Dbg_o_quiet)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [903]
                                )
                              ]
                              spids: [903]
                            )
                          ]
                          spids: [894 900 906 16777215]
                        )
                        (case_arm
                          pat_list: [{(tempdir)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_Dbg_tmpdir)
                                  op: Equal
                                  rhs: {($ VSub_Name '$OPTLARG')}
                                  spids: [913]
                                )
                              ]
                              spids: [913]
                            )
                          ]
                          spids: [909 910 916 16777215]
                        )
                        (case_arm
                          pat_list: [{(terminal)} {(tty)}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: (C {(_Dbg_check_tty)} {($ VSub_Name '$OPTLARG')})
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:_Dbg_tty)
                                          op: Equal
                                          rhs: {($ VSub_Name '$OPTLARG')}
                                          spids: [939]
                                        )
                                      ]
                                      spids: [939]
                                    )
                                  ]
                                  spids: [16777215 936]
                                )
                              ]
                              else_action: [(C {(_Dbg_errmsg)} {(SQ <'--tty option ignored'>)})]
                              spids: [943 953]
                            )
                          ]
                          spids: [919 925 956 16777215]
                        )
                        (case_arm
                          pat_list: [{(x)} {(eval-command)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:DBG_INPUT)
                                  op: Equal
                                  rhs: {($ VSub_Name '$OPTLARG')}
                                  spids: [968]
                                )
                              ]
                              spids: [968]
                            )
                          ]
                          spids: [959 965 971 16777215]
                        )
                        (case_arm
                          pat_list: [{(X)} {(trace)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_Dbg_set_linetrace)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [983]
                                )
                              ]
                              spids: [983]
                            )
                          ]
                          spids: [974 980 986 16777215]
                        )
                        (case_arm
                          pat_list: [{(SQ <'?'>)}]
                          action: [
                            (SimpleCommand
                              words: [{(echo)} {(SQ <'Use -h or --help to see options.'>)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: 16777215
                                  arg_word: {(2)}
                                  spids: [1001]
                                )
                              ]
                            )
                            (C {(exit)} {(2)})
                          ]
                          spids: [990 993 1013 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (SimpleCommand
                              words: [
                                {(echo)}
                                {
                                  (DQ ('Unknown option ') ($ VSub_Name '$opt') 
                                    ('. Use -h or --help to see options.')
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: 16777215
                                  arg_word: {(2)}
                                  spids: [1029]
                                )
                              ]
                            )
                            (C {(exit)} {(2)})
                          ]
                          spids: [1016 1018 1037 16777215]
                        )
                      ]
                      spids: [621 627 1040]
                    )
                  ]
                  spids: [618 1043]
                )
            )
            (C {(shift)} 
              {
                (DQ 
                  (ArithSubPart
                    anode: 
                      (ArithBinary
                        op_id: Arith_Minus
                        left: (ArithWord w:{($ VSub_Name '$OPTLIND')})
                        right: (ArithWord w:{(Lit_Digits 1)})
                      )
                    spids: [1049 1056]
                  )
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DParen child:(ArithVarRef name:_Dbg_o_version))
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(_Dbg_do_show_version)}) (C {(exit)} {(0)})]
                  spids: [16777215 1072]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (DParen
                              child: 
                                (ArithUnary
                                  op_id: Arith_Bang
                                  child: (ArithVarRef name:_Dbg_o_quiet)
                                )
                            )
                            (AndOr
                              children: [
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: {($ VSub_Name '$_Dbg_shell_name')}
                                    )
                                )
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: {($ VSub_Name '$_Dbg_release')}
                                    )
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ ($ VSub_Name '$_Dbg_shell_name') (' debugger, ') 
                          ($ VSub_Name '$_Dbg_debugger_name') (', release ') ($ VSub_Name '$_Dbg_release')
                        )
                      }
                    )
                    (C {(printf)} 
                      {
                        (SQ <'\n'> 
                          <'Copyright 2002, 2003, 2004, 2006-2012, 2014, 2016 Rocky Bernstein\n'> <'This is free software, covered by the GNU General Public License, and you are\n'> 
                          <
'welcome to change it and/or distribute copies of it under certain conditions.\n'
                          > <'\n'>
                        )
                      }
                    )
                  ]
                  spids: [1083 1118]
                )
              ]
              spids: [16777215 1143]
            )
            (AndOr
              children: [(DParen child:(ArithVarRef name:_Dbg_o_version)) (C {(_Dbg_show_version)})]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$_Dbg_o_annotate')})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(${ VSub_Name _Dbg_o_annotate)}
                                      right: {(Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '*')}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:_Dbg_set_annotate)
                                  op: Equal
                                  rhs: {($ VSub_Name '$_Dbg_o_annotate')}
                                  spids: [1196]
                                )
                              ]
                              spids: [1196]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DPipe
                                              left: 
                                                (ArithBinary
                                                  op_id: Arith_Great
                                                  left: (ArithVarRef name:_Dbg_set_annotate)
                                                  right: (ArithWord w:{(Lit_Digits 3)})
                                                )
                                              right: 
                                                (ArithBinary
                                                  op_id: Arith_Less
                                                  left: (ArithVarRef name:_Dbg_set_annotate)
                                                  right: (ArithWord w:{(Lit_Digits 0)})
                                                )
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (SimpleCommand
                                      words: [
                                        {(echo)}
                                        {
                                          (DQ 
                                            (
'Annotation level must be less between 0 and 3. Got: '
                                            ) ($ VSub_Name '$_Dbg_set_annotate') (.)
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 16777215
                                          arg_word: {(2)}
                                          spids: [1232]
                                        )
                                      ]
                                    )
                                    (SimpleCommand
                                      words: [{(echo)} {(DQ ('Setting Annotation level to 0.'))}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: 16777215
                                          arg_word: {(2)}
                                          spids: [1242]
                                        )
                                      ]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:_Dbg_set_annotate)
                                          op: Equal
                                          rhs: {(0)}
                                          spids: [1246]
                                        )
                                      ]
                                      spids: [1246]
                                    )
                                  ]
                                  spids: [16777215 1221]
                                )
                              ]
                              spids: [16777215 1250]
                            )
                          ]
                          spids: [16777215 1193]
                        )
                      ]
                      else_action: [
                        (SimpleCommand
                          words: [
                            {(echo)}
                            {
                              (DQ ('Annotate option should be an integer, got ') 
                                (${ VSub_Name _Dbg_o_annotate) (.)
                              )
                            }
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 16777215
                              arg_word: {(2)}
                              spids: [1266]
                            )
                          ]
                        )
                        (SimpleCommand
                          words: [{(echo)} {(DQ ('Setting annotation level to 0.'))}]
                          redirects: [
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 16777215
                              arg_word: {(2)}
                              spids: [1276]
                            )
                          ]
                        )
                      ]
                      spids: [1253 1280]
                    )
                  ]
                  spids: [16777215 1171]
                )
              ]
              spids: [16777215 1283]
            )
            (C {(unset)} {(_Dbg_o_annotate)} {(_Dbg_o_version)} {(_Dbg_o_quiet)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_Dbg_script_args)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{(DQ ($ VSub_At '$@'))}])}
                  spids: [1295]
                )
              ]
              spids: [1295]
            )
          ]
          spids: [458]
        )
      spids: [454 457]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: (BoolUnary op_id:BoolUnary_n child:{(DQ ($ VSub_Name '$_Dbg_dbg_opts_test'))})
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:OPTLIND) op:Equal rhs:{(1)} spids:[1326])]
              spids: [1326]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_Dbg_libdir)
                  op: Equal
                  rhs: {(SQ <.>)}
                  spids: [1330]
                )
              ]
              spids: [1330]
            )
            (AndOr
              children: [
                (DBracket
                  expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$_Dbg_input')})
                )
                (C {(Assign_Typeset typeset)} {(-p)} {(_Dbg_input)})
              ]
              op_id: Op_DAmp
            )
            (C {(_Dbg_parse_options)} {(DQ ($ VSub_At '$@'))})
            (C {(Assign_Typeset typeset)} {(-p)} {(_Dbg_set_highlight)})
            (C {(Assign_Typeset typeset)} {(-p)} {(_Dbg_set_annotate)})
            (C {(Assign_Typeset typeset)} {(-p)} {(_Dbg_set_linetrace)})
            (C {(Assign_Typeset typeset)} {(-p)} {(_Dbg_set_basename)})
          ]
          spids: [16777215 1323]
        )
      ]
      spids: [16777215 1387]
    )
  ]
)