(command.CommandList
  children: [
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (C {(set)} {(-o)} {(errexit)})
    (command.Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:DASH spids:[34])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: 
                  (command.CommandList
                    children: [
                      (command.AndOr
                        ops: [Op_DPipe]
                        children: [
                          (command.SimpleCommand
                            words: [{(which)} {(dash)}]
                            redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                          )
                          (C {(echo)} {(/bin/sh)})
                        ]
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [35 48]
              )
            }
          spids: [34]
        )
      ]
      spids: [32]
    )
    (command.Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:BASH spids:[52])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: (command.CommandList children:[(C {(which)} {(bash)})])
                left_token: <Left_CommandSub '$('>
                spids: [53 57]
              )
            }
          spids: [52]
        )
      ]
      spids: [50]
    )
    (command.Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:MKSH spids:[61])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: (command.CommandList children:[(C {(which)} {(mksh)})])
                left_token: <Left_CommandSub '$('>
                spids: [62 66]
              )
            }
          spids: [61]
        )
      ]
      spids: [59]
    )
    (command.Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:ZSH spids:[70])
          op: Equal
          rhs: 
            {
              (word_part.CommandSubPart
                command_list: (command.CommandList children:[(C {(which)} {(zsh)})])
                left_token: <Left_CommandSub '$('>
                spids: [71 75]
              )
            }
          spids: [70]
        )
      ]
      spids: [68]
    )
    (command.Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:BUSYBOX_ASH spids:[79])
          op: Equal
          rhs: {(_tmp/shells/ash)}
          spids: [79]
        )
      ]
      spids: [77]
    )
    (command.Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:OSH_PYTHON spids:[85])
          op: Equal
          rhs: 
            {
              (word_part.BracedVarSub
                token: <VSub_Name OSH_PYTHON>
                suffix_op: 
                  (suffix_op.StringUnary
                    op_id: VTest_ColonHyphen
                    arg_word: {(bin) (Lit_Slash /) (osh)}
                  )
                spids: [86 92]
              )
            }
          spids: [85]
        )
      ]
      spids: [83]
    )
    (command.Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:OSH_OVM spids:[96])
          op: Equal
          rhs: 
            {
              (word_part.BracedVarSub
                token: <VSub_Name OSH_OVM>
                suffix_op: 
                  (suffix_op.StringUnary
                    op_id: VTest_ColonHyphen
                    arg_word: {(_bin) (Lit_Slash /) (osh)}
                  )
                spids: [97 103]
              )
            }
          spids: [96]
        )
      ]
      spids: [94]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {(test)} {(-e)} {($ VSub_DollarName '$OSH_OVM')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (command.Assignment
              keyword: Assign_Readonly
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:OSH spids:[133])
                  op: Equal
                  rhs: {(DQ ($ VSub_DollarName '$OSH_PYTHON') (' ') ($ VSub_DollarName '$OSH_OVM'))}
                  spids: [133]
                )
              ]
              spids: [131]
            )
          ]
          spids: [16777215 115]
        )
      ]
      else_action: [
        (command.Assignment
          keyword: Assign_Readonly
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:OSH spids:[145])
              op: Equal
              rhs: {(DQ ($ VSub_DollarName '$OSH_PYTHON'))}
              spids: [145]
            )
          ]
          spids: [143]
        )
      ]
      spids: [140 150]
    )
    (command.Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:REF_SHELLS spids:[162])
          op: Equal
          rhs: 
            {
              (word_part.ArrayLiteralPart
                words: [
                  {($ VSub_DollarName '$DASH')}
                  {($ VSub_DollarName '$BASH')}
                  {($ VSub_DollarName '$MKSH')}
                ]
              )
            }
          spids: [162]
        )
      ]
      spids: [160]
    )
    (command.FuncDef
      name: link-busybox-ash
      body: 
        (command.BraceGroup
          children: [
            (C {(mkdir)} {(-p)} 
              {
                (word_part.CommandSubPart
                  command_list: 
                    (command.CommandList
                      children: [(C {(dirname)} {($ VSub_DollarName '$BUSYBOX_ASH')})]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [193 197]
                )
              }
            )
            (C {(ln)} {(-s)} {(-f)} {(--verbose)} 
              {
                (DQ 
                  (word_part.CommandSubPart
                    command_list: (command.CommandList children:[(C {(which)} {(busybox)})])
                    left_token: <Left_CommandSub '$('>
                    spids: [209 213]
                  )
                )
              } {($ VSub_DollarName '$BUSYBOX_ASH')}
            )
          ]
          spids: [186]
        )
      spids: [182 185]
    )
    (command.FuncDef
      name: install-shells
      body: 
        (command.BraceGroup
          children: [
            (C {(sudo)} {(apt-get)} {(install)} {(busybox-static)} {(mksh)} {(zsh)})
            (C {(link-busybox-ash)})
          ]
          spids: [228]
        )
      spids: [224 227]
    )
    (command.FuncDef
      name: check-shells
      body: 
        (command.BraceGroup
          children: [
            (command.ForEach
              iter_name: sh
              iter_words: [
                {
                  (DQ 
                    (word_part.BracedVarSub
                      token: <VSub_Name REF_SHELLS>
                      bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                      spids: [266 271]
                    )
                  )
                }
                {($ VSub_DollarName '$ZSH')}
                {($ VSub_DollarName '$OSH')}
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(test)} {(-e)} {($ VSub_DollarName '$sh')})
                        (command.BraceGroup
                          children: [
                            (command.Sentence
                              child: 
                                (C {(echo)} 
                                  {(DQ ('ERROR: ') ($ VSub_DollarName '$sh') (' does not exist'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (command.Sentence
                              child: (command.ControlFlow token:<ControlFlow_Break break>)
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          spids: [290]
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(test)} {(-x)} {($ VSub_DollarName '$sh')})
                        (command.BraceGroup
                          children: [
                            (command.Sentence
                              child: 
                                (C {(echo)} 
                                  {(DQ ('ERROR: ') ($ VSub_DollarName '$sh') (" isn't executable"))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (command.Sentence
                              child: (command.ControlFlow token:<ControlFlow_Break break>)
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          spids: [315]
                        )
                      ]
                    )
                  ]
                  spids: [279 332]
                )
              spids: [264 277]
            )
          ]
          spids: [256]
        )
      spids: [252 255]
    )
    (command.FuncDef
      name: _wget
      body: 
        (command.BraceGroup
          children: [(C {(wget)} {(--no-clobber)} {(--directory)} {(_tmp/src)} {(DQ ($ VSub_At '$@'))})]
          spids: [341]
        )
      spids: [337 340]
    )
    (command.FuncDef
      name: download-shell-source
      body: 
        (command.BraceGroup
          children: [
            (C {(mkdir)} {(-p)} {(_tmp/src)})
            (C {(_wget)} {(https) (Lit_Other ':') (//ftp.gnu.org/gnu/bash/bash-4.4.tar.gz)})
            (C {(_wget)} {(https) (Lit_Other ':') (//www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R54.tgz)})
            (C {(_wget)} 
              {(https) (Lit_Other ':') 
                (//downloads.sourceforge.net/project/zsh/zsh/5.3.1/zsh-5.3.1.tar.xz)
              }
            )
          ]
          spids: [366]
        )
      spids: [362 365]
    )
    (command.FuncDef
      name: maybe-show
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:path spids:[444])
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [444]
                )
              ]
              spids: [442]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: (C {(test)} {(-e)} {($ VSub_DollarName '$path')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('--- ') ($ VSub_DollarName '$path') (' ---'))})
                    (C {(cat)} {($ VSub_DollarName '$path')})
                    (C {(echo)})
                  ]
                  spids: [16777215 457]
                )
              ]
              spids: [16777215 477]
            )
          ]
          spids: [439]
        )
      spids: [435 438]
    )
    (command.FuncDef
      name: version-text
      body: 
        (command.BraceGroup
          children: [
            (C {(date)})
            (C {(echo)})
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: (C {(test)} {(-d)} {(.git)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (command.Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:branch spids:[510])
                          op: Equal
                          rhs: 
                            {
                              (word_part.CommandSubPart
                                command_list: 
                                  (command.CommandList
                                    children: [(C {(git)} {(rev-parse)} {(--abbrev-ref)} {(HEAD)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [511 519]
                              )
                            }
                          spids: [510]
                        )
                      ]
                      spids: [508]
                    )
                    (command.Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:hash spids:[524])
                          op: Equal
                          rhs: 
                            {
                              (word_part.CommandSubPart
                                command_list: 
                                  (command.CommandList
                                    children: [
                                      (C {(git)} {(rev-parse)} {($ VSub_DollarName '$branch')})
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [525 531]
                              )
                            }
                          spids: [524]
                        )
                      ]
                      spids: [522]
                    )
                    (C {(echo)} 
                      {
                        (DQ ('oil repo: ') ($ VSub_DollarName '$hash') (' on branch ') 
                          ($ VSub_DollarName '$branch')
                        )
                      }
                    )
                  ]
                  spids: [16777215 505]
                )
              ]
              else_action: [(C {(echo)} {(DQ ('(not running from git repository)'))})]
              spids: [544 554]
            )
            (C {(echo)})
            (command.ForEach
              iter_name: bin
              iter_words: [{($ VSub_DollarName '$OSH')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {(echo)} 
                      {
                        (DQ (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (' ') 
                          ($ VSub_DollarName '$bin') (' --version')
                        )
                      }
                    )
                    (C {($ VSub_DollarName '$bin')} {(--version)})
                    (C {(echo)})
                  ]
                  spids: [570 591]
                )
              spids: [566 568]
            )
            (command.SimpleCommand
              words: [{(python)} {(--version)}]
              redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})]
            )
            (C {(echo)})
            (command.Pipeline
              children: [(C {($ VSub_DollarName '$BASH')} {(--version)}) (C {(head)} {(-n)} {(1)})]
              negated: F
            )
            (C {(echo)})
            (command.Pipeline
              children: [(C {($ VSub_DollarName '$ZSH')} {(--version)}) (C {(head)} {(-n)} {(1)})]
              negated: F
            )
            (C {(echo)})
            (command.Pipeline
              children: [(C {(dpkg)} {(-s)} {(dash)}) (C {(egrep)} {(SQ <'^Package|Version'>)})]
              negated: F
            )
            (C {(echo)})
            (command.Pipeline
              children: [(C {(dpkg)} {(-s)} {(mksh)}) (C {(egrep)} {(SQ <'^Package|Version'>)})]
              negated: F
            )
            (C {(echo)})
            (command.Pipeline
              children: [
                (command.BraceGroup
                  children: [
                    (command.Sentence
                      child: (command.AndOr ops:[Op_DPipe] children:[(C {(busybox)}) (C {(true)})])
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [687]
                )
                (C {(head)} {(-n)} {(1)})
              ]
              negated: F
            )
            (C {(echo)})
            (C {(maybe-show)} {(/etc/debian_version)})
            (C {(maybe-show)} {(/etc/lsb-release)})
          ]
          spids: [486]
        )
      spids: [482 485]
    )
    (command.FuncDef
      name: sh-spec
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:this_dir spids:[742])
                  op: Equal
                  rhs: 
                    {
                      (word_part.CommandSubPart
                        command_list: 
                          (command.CommandList
                            children: [
                              (command.AndOr
                                ops: [Op_DAmp]
                                children: [
                                  (C {(cd)} 
                                    {
                                      (word_part.CommandSubPart
                                        command_list: 
                                          (command.CommandList
                                            children: [(C {(dirname)} {($ VSub_Number '$0')})]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [746 750]
                                      )
                                    }
                                  )
                                  (C {(pwd)})
                                ]
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [743 755]
                      )
                    }
                  spids: [742]
                )
              ]
              spids: [740]
            )
            (command.Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:tmp_env spids:[761])
                  op: Equal
                  rhs: {($ VSub_DollarName '$this_dir') (/../_tmp/spec-tmp)}
                  spids: [761]
                )
              ]
              spids: [759]
            )
            (C {(mkdir)} {(-p)} {($ VSub_DollarName '$tmp_env')})
            (C {(test/sh_spec.py)} {(--tmp-env)} {($ VSub_DollarName '$tmp_env')} {(--path-env)} 
              {(DQ ($ VSub_DollarName '$this_dir') ('/../spec/bin:') ($ VSub_DollarName '$PATH'))} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [737]
        )
      spids: [733 736]
    )
    (command.FuncDef
      name: trace-var-sub
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:out spids:[823])
                  op: Equal
                  rhs: {(_tmp/coverage)}
                  spids: [823]
                )
              ]
              spids: [821]
            )
            (C {(mkdir)} {(-p)} {($ VSub_DollarName '$out')})
            (C {(python)} {(-m)} {(trace)} {(--trackcalls)} {(-C)} {($ VSub_DollarName '$out')} 
              {(test/sh_spec.py)} {(spec/var-sub.test.sh)} {($ VSub_DollarName '$DASH')} {($ VSub_DollarName '$BASH')} 
              {(DQ ($ VSub_At '$@'))}
            )
            (C {(ls)} {(-l)} {($ VSub_DollarName '$out')})
            (C {(head)} {($ VSub_DollarName '$out') (/) (Lit_Other '*') (.cover)})
          ]
          spids: [818]
        )
      spids: [814 817]
    )
    (command.FuncDef
      name: all
      body: 
        (command.BraceGroup
          children: [(C {(test/spec-runner.sh)} {(all-parallel)} {(DQ ($ VSub_At '$@'))})]
          spids: [911]
        )
      spids: [907 910]
    )
    (command.FuncDef
      name: smoke
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/smoke.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [956 961]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [949]
        )
      spids: [945 948]
    )
    (command.FuncDef
      name: osh-only
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/osh-only.test.sh)} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))})
          ]
          spids: [976]
        )
      spids: [972 975]
    )
    (command.FuncDef
      name: bugs
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/bugs.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1006 1011]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [999]
        )
      spids: [995 998]
    )
    (command.FuncDef
      name: blog1
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/blog1.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1035 1040]
                )
              } {($ VSub_DollarName '$ZSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1026]
        )
      spids: [1022 1025]
    )
    (command.FuncDef
      name: blog2
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/blog2.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1066 1071]
                )
              } {($ VSub_DollarName '$ZSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1057]
        )
      spids: [1053 1056]
    )
    (command.FuncDef
      name: blog-other1
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/blog-other1.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1097 1102]
                )
              } {($ VSub_DollarName '$ZSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1088]
        )
      spids: [1084 1087]
    )
    (command.FuncDef
      name: alias
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/alias.test.sh)} {(--osh-failures-allowed)} {(10)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1132 1137]
                )
              } {($ VSub_DollarName '$ZSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1119]
        )
      spids: [1115 1118]
    )
    (command.FuncDef
      name: comments
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/comments.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1161 1166]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1154]
        )
      spids: [1150 1153]
    )
    (command.FuncDef
      name: word-split
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/word-split.test.sh)} {(--osh-failures-allowed)} {(2)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1194 1199]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1181]
        )
      spids: [1177 1180]
    )
    (command.FuncDef
      name: word-eval
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/word-eval.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1223 1228]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1214]
        )
      spids: [1210 1213]
    )
    (command.FuncDef
      name: assign
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/assign.test.sh)} {(--osh-failures-allowed)} {(3)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1259 1264]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1246]
        )
      spids: [1242 1245]
    )
    (command.FuncDef
      name: background
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/background.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1289 1294]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1280]
        )
      spids: [1276 1279]
    )
    (command.FuncDef
      name: subshell
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/subshell.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1319 1324]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1310]
        )
      spids: [1306 1309]
    )
    (command.FuncDef
      name: quote
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/quote.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1349 1354]
                )
              } {($ VSub_DollarName '$BUSYBOX_ASH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1340]
        )
      spids: [1336 1339]
    )
    (command.FuncDef
      name: loop
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/loop.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1380 1385]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1371]
        )
      spids: [1367 1370]
    )
    (command.FuncDef
      name: case_
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/case_.test.sh)} {(--osh-failures-allowed)} {(2)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1416 1421]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1403]
        )
      spids: [1399 1402]
    )
    (command.FuncDef
      name: if_
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/if_.test.sh)} {(--osh-failures-allowed)} {(1)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1449 1454]
                )
              } {($ VSub_DollarName '$ZSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1436]
        )
      spids: [1432 1435]
    )
    (command.FuncDef
      name: builtins
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/builtins.test.sh)} {(--osh-failures-allowed)} {(1)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1484 1489]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1471]
        )
      spids: [1467 1470]
    )
    (command.FuncDef
      name: builtin-io
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/builtin-io.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1513 1518]
                )
              } {($ VSub_DollarName '$ZSH')} {($ VSub_DollarName '$BUSYBOX_ASH')} {($ VSub_DollarName '$OSH')} 
              {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1504]
        )
      spids: [1500 1503]
    )
    (command.FuncDef
      name: builtins2
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/builtins2.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1544 1549]
                )
              } {($ VSub_DollarName '$ZSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1537]
        )
      spids: [1533 1536]
    )
    (command.FuncDef
      name: builtin-dirs
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/builtin-dirs.test.sh)} {($ VSub_DollarName '$BASH')} 
              {($ VSub_DollarName '$ZSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1569]
        )
      spids: [1565 1568]
    )
    (command.FuncDef
      name: builtin-vars
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/builtin-vars.test.sh)} {(--osh-failures-allowed)} {(2)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1606 1611]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1593]
        )
      spids: [1589 1592]
    )
    (command.FuncDef
      name: builtin-getopts
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/builtin-getopts.test.sh)} {(--osh-failures-allowed)} {(1)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1639 1644]
                )
              } {($ VSub_DollarName '$BUSYBOX_ASH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1626]
        )
      spids: [1622 1625]
    )
    (command.FuncDef
      name: builtin-test
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/builtin-test.test.sh)} {(--osh-failures-allowed)} {(1)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1674 1679]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1661]
        )
      spids: [1657 1660]
    )
    (command.FuncDef
      name: builtin-trap
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/builtin-trap.test.sh)} {(--osh-failures-allowed)} {(3)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1707 1712]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1694]
        )
      spids: [1690 1693]
    )
    (command.FuncDef
      name: builtin-bash
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/builtin-bash.test.sh)} {($ VSub_DollarName '$BASH')} 
              {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1733]
        )
      spids: [1729 1732]
    )
    (command.FuncDef
      name: builtins-special
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/builtins-special.test.sh)} {(--osh-failures-allowed)} {(3)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1770 1775]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1757]
        )
      spids: [1753 1756]
    )
    (command.FuncDef
      name: command-parsing
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/command-parsing.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1797 1802]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1790]
        )
      spids: [1786 1789]
    )
    (command.FuncDef
      name: func-parsing
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/func-parsing.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1824 1829]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1817]
        )
      spids: [1813 1816]
    )
    (command.FuncDef
      name: func
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/func.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1853 1858]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1844]
        )
      spids: [1840 1843]
    )
    (command.FuncDef
      name: glob
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/glob.test.sh)} {(--osh-failures-allowed)} {(2)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1886 1891]
                )
              } {($ VSub_DollarName '$BUSYBOX_ASH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1873]
        )
      spids: [1869 1872]
    )
    (command.FuncDef
      name: arith
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/arith.test.sh)} {(--osh-failures-allowed)} {(3)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1921 1926]
                )
              } {($ VSub_DollarName '$ZSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1908]
        )
      spids: [1904 1907]
    )
    (command.FuncDef
      name: command-sub
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/command-sub.test.sh)} {(--osh-failures-allowed)} {(2)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1956 1961]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1943]
        )
      spids: [1939 1942]
    )
    (command.FuncDef
      name: command_
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/command_.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [1985 1990]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [1976]
        )
      spids: [1972 1975]
    )
    (command.FuncDef
      name: pipeline
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/pipeline.test.sh)} {(--osh-failures-allowed)} {(3)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2018 2023]
                )
              } {($ VSub_DollarName '$ZSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2005]
        )
      spids: [2001 2004]
    )
    (command.FuncDef
      name: explore-parsing
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/explore-parsing.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2049 2054]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2040]
        )
      spids: [2036 2039]
    )
    (command.FuncDef
      name: parse-errors
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/parse-errors.test.sh)} {(--osh-failures-allowed)} {(5)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2082 2087]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2069]
        )
      spids: [2065 2068]
    )
    (command.FuncDef
      name: here-doc
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/here-doc.test.sh)} {(--osh-failures-allowed)} {(1)} {(--range)} {(0-30)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2143 2148]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2102]
        )
      spids: [2098 2101]
    )
    (command.FuncDef
      name: redirect
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/redirect.test.sh)} {(--osh-failures-allowed)} {(5)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2176 2181]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2163]
        )
      spids: [2159 2162]
    )
    (command.FuncDef
      name: posix
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/posix.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2205 2210]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2196]
        )
      spids: [2192 2195]
    )
    (command.FuncDef
      name: special-vars
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/special-vars.test.sh)} {(--osh-failures-allowed)} {(4)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2238 2243]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2225]
        )
      spids: [2221 2224]
    )
    (command.FuncDef
      name: introspect
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/introspect.test.sh)} {(--osh-failures-allowed)} {(3)} 
              {($ VSub_DollarName '$BASH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2261]
        )
      spids: [2257 2260]
    )
    (command.FuncDef
      name: tilde
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/tilde.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2299 2304]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2292]
        )
      spids: [2288 2291]
    )
    (command.FuncDef
      name: var-op-test
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/var-op-test.test.sh)} {(--osh-failures-allowed)} {(5)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2332 2337]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2319]
        )
      spids: [2315 2318]
    )
    (command.FuncDef
      name: var-op-other
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/var-op-other.test.sh)} {(--osh-failures-allowed)} {(2)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2365 2370]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2352]
        )
      spids: [2348 2351]
    )
    (command.FuncDef
      name: var-op-strip
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/var-op-strip.test.sh)} {(--osh-failures-allowed)} {(1)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2398 2403]
                )
              } {($ VSub_DollarName '$ZSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2385]
        )
      spids: [2381 2384]
    )
    (command.FuncDef
      name: var-sub
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/var-sub.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2437 2442]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2420]
        )
      spids: [2416 2419]
    )
    (command.FuncDef
      name: var-num
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/var-num.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2466 2471]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2457]
        )
      spids: [2453 2456]
    )
    (command.FuncDef
      name: var-sub-quote
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/var-sub-quote.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2495 2500]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2486]
        )
      spids: [2482 2485]
    )
    (command.FuncDef
      name: sh-options
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/sh-options.test.sh)} {(--osh-failures-allowed)} {(3)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2528 2533]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2515]
        )
      spids: [2511 2514]
    )
    (command.FuncDef
      name: xtrace
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/xtrace.test.sh)} {(--osh-failures-allowed)} {(5)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2561 2566]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2548]
        )
      spids: [2544 2547]
    )
    (command.FuncDef
      name: strict-options
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/strict-options.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2590 2595]
                )
              } {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2581]
        )
      spids: [2577 2580]
    )
    (command.FuncDef
      name: errexit
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/errexit.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2619 2624]
                )
              } {($ VSub_DollarName '$BUSYBOX_ASH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2610]
        )
      spids: [2606 2609]
    )
    (command.FuncDef
      name: errexit-strict
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/errexit-strict.test.sh)} 
              {
                (word_part.BracedVarSub
                  token: <VSub_Name REF_SHELLS>
                  bracket_op: (bracket_op.WholeArray op_id:Lit_At)
                  spids: [2650 2655]
                )
              } {($ VSub_DollarName '$BUSYBOX_ASH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2641]
        )
      spids: [2637 2640]
    )
    (command.FuncDef
      name: arith-context
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/arith-context.test.sh)} {(--osh-failures-allowed)} {(3)} 
              {($ VSub_DollarName '$BASH')} {($ VSub_DollarName '$MKSH')} {($ VSub_DollarName '$ZSH')} {($ VSub_DollarName '$OSH')} 
              {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2685]
        )
      spids: [2681 2684]
    )
    (command.FuncDef
      name: array
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/array.test.sh)} {(--osh-failures-allowed)} {(8)} 
              {($ VSub_DollarName '$BASH')} {($ VSub_DollarName '$MKSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2717]
        )
      spids: [2713 2716]
    )
    (command.FuncDef
      name: array-compat
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/array-compat.test.sh)} {(--osh-failures-allowed)} {(7)} 
              {($ VSub_DollarName '$BASH')} {($ VSub_DollarName '$MKSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2747]
        )
      spids: [2743 2746]
    )
    (command.FuncDef
      name: type-compat
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/type-compat.test.sh)} {($ VSub_DollarName '$BASH')} 
              {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2777]
        )
      spids: [2773 2776]
    )
    (command.FuncDef
      name: append
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/append.test.sh)} {(--osh-failures-allowed)} {(4)} 
              {($ VSub_DollarName '$BASH')} {($ VSub_DollarName '$MKSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2800]
        )
      spids: [2796 2799]
    )
    (command.FuncDef
      name: assoc
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/assoc.test.sh)} {($ VSub_DollarName '$BASH')} {(DQ ($ VSub_At '$@'))})
          ]
          spids: [2834]
        )
      spids: [2830 2833]
    )
    (command.FuncDef
      name: assoc-zsh
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/assoc-zsh.test.sh)} {($ VSub_DollarName '$ZSH')} {(DQ ($ VSub_At '$@'))})
          ]
          spids: [2857]
        )
      spids: [2853 2856]
    )
    (command.FuncDef
      name: dbracket
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/dbracket.test.sh)} {(--osh-failures-allowed)} {(2)} 
              {($ VSub_DollarName '$BASH')} {($ VSub_DollarName '$MKSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2883]
        )
      spids: [2879 2882]
    )
    (command.FuncDef
      name: dparen
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/dparen.test.sh)} {($ VSub_DollarName '$BASH')} 
              {($ VSub_DollarName '$MKSH')} {($ VSub_DollarName '$ZSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2917]
        )
      spids: [2913 2916]
    )
    (command.FuncDef
      name: brace-expansion
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/brace-expansion.test.sh)} {(--osh-failures-allowed)} {(12)} 
              {($ VSub_DollarName '$BASH')} {($ VSub_DollarName '$MKSH')} {($ VSub_DollarName '$ZSH')} {($ VSub_DollarName '$OSH')} 
              {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2945]
        )
      spids: [2941 2944]
    )
    (command.FuncDef
      name: regex
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/regex.test.sh)} {(--osh-failures-allowed)} {(3)} 
              {($ VSub_DollarName '$BASH')} {($ VSub_DollarName '$ZSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [2981]
        )
      spids: [2977 2980]
    )
    (command.FuncDef
      name: process-sub
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/process-sub.test.sh)} {($ VSub_DollarName '$BASH')} 
              {($ VSub_DollarName '$ZSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [3011]
        )
      spids: [3007 3010]
    )
    (command.FuncDef
      name: extended-glob
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/extended-glob.test.sh)} {($ VSub_DollarName '$BASH')} 
              {($ VSub_DollarName '$MKSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [3041]
        )
      spids: [3037 3040]
    )
    (command.FuncDef
      name: var-ref
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/var-ref.test.sh)} {(--osh-failures-allowed)} {(5)} 
              {($ VSub_DollarName '$BASH')} {($ VSub_DollarName '$MKSH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [3070]
        )
      spids: [3066 3069]
    )
    (command.FuncDef
      name: let
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/let.test.sh)} {($ VSub_DollarName '$BASH')} 
              {($ VSub_DollarName '$MKSH')} {($ VSub_DollarName '$ZSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [3100]
        )
      spids: [3096 3099]
    )
    (command.FuncDef
      name: for-expr
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/for-expr.test.sh)} {($ VSub_DollarName '$MKSH')} 
              {($ VSub_DollarName '$BASH')} {($ VSub_DollarName '$OSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [3124]
        )
      spids: [3120 3123]
    )
    (command.FuncDef
      name: shell-grammar
      body: 
        (command.BraceGroup
          children: [
            (C {(sh-spec)} {(spec/shell-grammar.test.sh)} {($ VSub_DollarName '$BASH')} 
              {($ VSub_DollarName '$MKSH')} {($ VSub_DollarName '$ZSH')} {(DQ ($ VSub_At '$@'))}
            )
          ]
          spids: [3156]
        )
      spids: [3152 3155]
    )
    (C {(DQ ($ VSub_At '$@'))})
  ]
)