(command.CommandList
  children: [
    (command.Simple
      blame_tok: <Id.Lit_Colon ':'>
      more_env: []
      words: [{<Id.Lit_Colon ':'>} {<pax>} {<tests>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <integer>
      more_env: []
      words: [{<integer>} {<Id.Lit_VarLike 'errors='> <0>} {<Id.Lit_VarLike 'tests='> <0>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <typeset>
      more_env: []
      words: [{<typeset>} {<-Z>} {<Id.Lit_VarLike 'TEST='> <00>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'bail='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'bail='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bail='> name:bail)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'clobber='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'clobber='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'clobber='> name:clobber)
          op: assign_op.Equal
          rhs: {<1>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'tmp='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'tmp='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tmp='> name:tmp)
          op: assign_op.Equal
          rhs: {<pax.tmp>}
        )
      ]
      redirects: []
    )
    (command.WhileUntil
      keyword: <Id.KW_While while>
      cond: 
        (condition.Shell
          commands: [
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [{<Id.Lit_Colon ':'>}]
              redirects: []
              do_fork: T
            )
          ]
        )
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_Number 1)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Other '+'>
                  pattern: (pat.Words words:[{<Id.Lit_Other '+'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'PS4='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'PS4='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PS4='> name:PS4)
                              op: assign_op.Equal
                              rhs: {(SQ <'+$LINENO+ '>)}
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <shift>
                          more_env: []
                          words: [{<shift>}]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Simple
                      blame_tok: <set>
                      more_env: []
                      words: [{<set>} {<-x>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <->
                  pattern: (pat.Words words:[{<->}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'clobber='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'clobber='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'clobber='> name:clobber)
                              op: assign_op.Equal
                              rhs: (rhs_word__Empty)
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Simple
                      blame_tok: <shift>
                      more_env: []
                      words: [{<shift>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <.>
                  pattern: (pat.Words words:[{<.>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'bail='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'bail='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bail='> name:bail)
                              op: assign_op.Equal
                              rhs: {<1>}
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Simple
                      blame_tok: <shift>
                      more_env: []
                      words: [{<shift>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Break break>)]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_Number 1)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <Id.Lit_Star '*'>
          pattern: (pat.Words words:[{<Id.Lit_Star '*'> <tar>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Sentence
              child: 
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'tar='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'tar='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tar='> name:tar)
                      op: assign_op.Equal
                      rhs: {($ Id.VSub_Number 1)}
                    )
                  ]
                  redirects: []
                )
              terminator: <Id.Op_Semi _>
            )
            (command.Sentence
              child: 
                (command.Simple
                  blame_tok: <shift>
                  more_env: []
                  words: [{<shift>}]
                  redirects: []
                  do_fork: T
                )
              terminator: <Id.Op_Semi _>
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'formats='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'formats='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'formats='> name:formats)
                  op: assign_op.Equal
                  rhs: {(DQ <tar.tar>)}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <Id.Lit_Star '*'>
          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Sentence
              child: 
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'tar='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'tar='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tar='> name:tar)
                      op: assign_op.Equal
                      rhs: {(SQ )}
                    )
                  ]
                  redirects: []
                )
              terminator: <Id.Op_Semi _>
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'formats='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'formats='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'formats='> name:formats)
                  op: assign_op.Equal
                  rhs: {(DQ <'pax.pax pax:gzip.pgz cpio.cpio tar.tar tar:gzip.tgz'>)}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_Number 1)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <->
          pattern: (pat.Words words:[{<-> <Id.Lit_Star '*'>} {(SQ )}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <set>
              more_env: []
              words: [{<set>} {<pax>} {(DQ ($ Id.VSub_At '@'))}]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Simple
      blame_tok: <set>
      more_env: []
      words: [{<set>} {(DQ ($ Id.VSub_At '@'))} {<--physical>} {<--nosummary>} {<--noverify>}]
      redirects: []
      do_fork: T
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_Number 1)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <'/'>
          pattern: (pat.Words words:[{<'/'> <Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: []
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <Id.Lit_Star '*'>
          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'cmd='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'cmd='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <shift>
              more_env: []
              words: [{<shift>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <set>
              more_env: []
              words: [
                {<set>}
                {(DQ ($ Id.VSub_DollarName PWD) <'/'> ($ Id.VSub_DollarName cmd))}
                {(DQ ($ Id.VSub_At '@'))}
              ]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [{<print>} {<-u2>} {(DQ <'TEST\t'> ($ Id.VSub_At '@'))}]
      redirects: []
      do_fork: T
    )
    (command.ForEach
      keyword: <Id.KW_For for>
      iter_names: [format]
      iterable: (for_iter.Words words:[{($ Id.VSub_DollarName formats)}])
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'suf='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'suf='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'suf='> name:suf)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (BracedVarSub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name format>
                        var_name: format
                        suffix_op: 
                          (suffix_op.Unary
                            op: <Id.VOp1_DPound '##'>
                            arg_word: {<Id.Lit_Other '*'> <.>}
                          )
                        right: <Id.Right_DollarBrace '}'>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'fmt='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'fmt='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fmt='> name:fmt)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ <'--format='> 
                        (BracedVarSub
                          left: <Id.Left_DollarBrace '${'>
                          token: <Id.VSub_Name format>
                          var_name: format
                          suffix_op: 
                            (suffix_op.Unary
                              op: <Id.VOp1_Percent '%'>
                              arg_word: {<.> <Id.Lit_Other '*'>}
                            )
                          right: <Id.Right_DollarBrace '}'>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [
                {<Id.Lit_Colon ':'>}
                {<all>}
                {<files>}
                {<created>}
                {<Id.KW_In in>}
                {($ Id.VSub_DollarName tmp)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <rm>
              more_env: []
              words: [{<rm>} {<-rf>} {($ Id.VSub_DollarName tmp)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {($ Id.VSub_DollarName tmp)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cd>
              more_env: []
              words: [{<cd>} {($ Id.VSub_DollarName tmp)}]
              redirects: []
              do_fork: T
            )
            (command.DParen
              left: <Id.Op_DLeftParen _>
              child: 
                (arith_expr.UnaryAssign
                  op_id: Id.Node_PostDPlus
                  child: ($ Id.Lit_ArithVarLike tests)
                )
              right: <Id.Op_DRightParen _>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'status='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'status='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                  op: assign_op.Equal
                  rhs: {<0>}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [{<Id.Lit_Colon ':'>} {<old>} {<files>} {<and>} {<base>} {<archive>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<old>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cd>
              more_env: []
              words: [{<cd>} {<old>}]
              redirects: []
              do_fork: T
            )
            (command.ForEach
              keyword: <Id.KW_For for>
              iter_names: [i]
              iterable: (for_iter.Words words:[{<a>} {<b>} {<c>} {<d>} {<e>} {<f>} {<g>}])
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.Simple
                      blame_tok: <print>
                      more_env: []
                      words: [
                        {<print>}
                        {($ Id.VSub_DollarName i) ($ Id.VSub_DollarName i) ($ Id.VSub_DollarName i)}
                      ]
                      redirects: [
                        (Redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName i)}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: []
            )
            (command.Simple
              blame_tok: <ln>
              more_env: []
              words: [{<ln>} {<a>} {<i>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <ln>
              more_env: []
              words: [{<ln>} {<b>} {<j>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <ln>
              more_env: []
              words: [{<ln>} {<-s>} {<c>} {<k>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <ln>
              more_env: []
              words: [{<ln>} {<-s>} {<d>} {<m>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<dirsub>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <print>
              more_env: []
              words: [{<print>} {<aha>}]
              redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'dirsub/x'>})]
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName tar)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Left_SingleQuote '\''>
                  pattern: (pat.Words words:[{(SQ )}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <Id.Left_DoubleQuote '"'>
                          more_env: []
                          words: [
                            {(DQ ($ Id.VSub_At '@'))}
                            {<-wf>}
                            {<'../old.'> ($ Id.VSub_DollarName suf)}
                            {($ Id.VSub_DollarName fmt)}
                            {<Id.Lit_Star '*'>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'status='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'status='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                              op: assign_op.Equal
                              rhs: {<1>}
                            )
                          ]
                          redirects: []
                        )
                      ]
                      ops: [<Id.Op_DPipe _>]
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <Id.VSub_DollarName '$tar'>
                          more_env: []
                          words: [
                            {($ Id.VSub_DollarName tar)}
                            {<cf>}
                            {<'../old.'> ($ Id.VSub_DollarName suf)}
                            {<.>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'status='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'status='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                              op: assign_op.Equal
                              rhs: {<1>}
                            )
                          ]
                          redirects: []
                        )
                      ]
                      ops: [<Id.Op_DPipe _>]
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Simple
              blame_tok: <cd>
              more_env: []
              words: [{<cd>} {<..>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [{<Id.Lit_Colon ':'>} {<new>} {<files>} {<and>} {<base>} {<archive>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<new>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cd>
              more_env: []
              words: [{<cd>} {<new>}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Simple
                          blame_tok: <false>
                          more_env: []
                          words: [{<false>}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <Id.Left_DoubleQuote '"'>
                          more_env: []
                          words: [
                            {(DQ ($ Id.VSub_At '@'))}
                            {<-rf>}
                            {<'../old.'> ($ Id.VSub_DollarName suf)}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'status='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'status='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                              op: assign_op.Equal
                              rhs: {<1>}
                            )
                          ]
                          redirects: []
                        )
                      ]
                      ops: [<Id.Op_DPipe _>]
                    )
                  ]
                  spids: [576 581]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.Simple
                  blame_tok: <Id.Lit_Colon ':'>
                  more_env: []
                  words: [
                    {<Id.Lit_Colon ':'>}
                    {<directory>}
                    {<link>}
                    {<order>}
                    {<matters> <Id.KW_Bang '!'>}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.ForEach
                  keyword: <Id.KW_For for>
                  iter_names: [i]
                  iterable: (for_iter.Words words:[{<a>} {<b>} {<c>} {<d>} {<e>} {<f>} {<g>}])
                  body: 
                    (command.DoGroup
                      left: <Id.KW_Do do>
                      children: [
                        (command.Simple
                          blame_tok: <print>
                          more_env: []
                          words: [
                            {<print>}
                            {($ Id.VSub_DollarName i) ($ Id.VSub_DollarName i) 
                              ($ Id.VSub_DollarName i)
                            }
                          ]
                          redirects: [
                            (Redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {($ Id.VSub_DollarName i)}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      right: <Id.KW_Done done>
                    )
                  redirects: []
                )
                (command.Simple
                  blame_tok: <ln>
                  more_env: []
                  words: [{<ln>} {<a>} {<i>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <ln>
                  more_env: []
                  words: [{<ln>} {<b>} {<j>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <ln>
                  more_env: []
                  words: [{<ln>} {<-s>} {<c>} {<k>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <ln>
                  more_env: []
                  words: [{<ln>} {<-s>} {<d>} {<m>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <print>
                  more_env: []
                  words: [{<print>} {(DQ <xxxx>)}]
                  redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<ca>})]
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <Id.Lit_Colon ':'>
                  more_env: []
                  words: [
                    {<Id.Lit_Colon ':'>}
                    {<have>}
                    {<a>}
                    {<dir>}
                    {<alphabetically>}
                    {<between>}
                    {<file1>}
                    {<and>}
                    {<file2>}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <mkdir>
                  more_env: []
                  words: [{<mkdir>} {<csubdir>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <print>
                  more_env: []
                  words: [{<print>} {(DQ <ccc>)}]
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {<'csubdir/h'>}
                    )
                  ]
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <mkdir>
                  more_env: []
                  words: [{<mkdir>} {<dirsub>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <Id.Lit_Colon ':'>
                  more_env: []
                  words: [
                    {<Id.Lit_Colon ':'>}
                    {<have>}
                    {<file1>}
                    {<alphabetically>}
                    {<less>}
                    {<than>}
                    {<file2>}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <ln>
                  more_env: []
                  words: [{<ln>} {<ca>} {<'dirsub/y'>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <print>
                  more_env: []
                  words: [{<print>} {<aha>}]
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {<'dirsub/x'>}
                    )
                  ]
                  do_fork: T
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <rm>
              more_env: []
              words: [{<rm>} {<a>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sleep>
              more_env: []
              words: [{<sleep>} {<1>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <print>
              more_env: []
              words: [{<print>} {<DDD>}]
              redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<d>})]
              do_fork: T
            )
            (command.Simple
              blame_tok: <print>
              more_env: []
              words: [{<print>} {<zzz>}]
              redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<z>})]
              do_fork: T
            )
            (command.Simple
              blame_tok: <rm>
              more_env: []
              words: [{<rm>} {<m>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <ln>
              more_env: []
              words: [{<ln>} {<-s>} {<e>} {<m>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<beta>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <print>
              more_env: []
              words: [{<print>} {<ppp>}]
              redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'beta/p'>})]
              do_fork: T
            )
            (command.Simple
              blame_tok: <print>
              more_env: []
              words: [{<print>} {<qqq>}]
              redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'beta/q'>})]
              do_fork: T
            )
            (command.Simple
              blame_tok: <print>
              more_env: []
              words: [{<print>} {<rrr>}]
              redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'beta/r'>})]
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName tar)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Left_SingleQuote '\''>
                  pattern: (pat.Words words:[{(SQ )}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <Id.Left_DoubleQuote '"'>
                          more_env: []
                          words: [
                            {(DQ ($ Id.VSub_At '@'))}
                            {<-wf>}
                            {<'../new.'> ($ Id.VSub_DollarName suf)}
                            {($ Id.VSub_DollarName fmt)}
                            {<Id.Lit_Star '*'>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'status='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'status='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                              op: assign_op.Equal
                              rhs: {<1>}
                            )
                          ]
                          redirects: []
                        )
                      ]
                      ops: [<Id.Op_DPipe _>]
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <Id.VSub_DollarName '$tar'>
                          more_env: []
                          words: [
                            {($ Id.VSub_DollarName tar)}
                            {<cf>}
                            {<'../new.'> ($ Id.VSub_DollarName suf)}
                            {<.>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'status='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'status='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                              op: assign_op.Equal
                              rhs: {<1>}
                            )
                          ]
                          redirects: []
                        )
                      ]
                      ops: [<Id.Op_DPipe _>]
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Simple
              blame_tok: <cd>
              more_env: []
              words: [{<cd>} {<..>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [{<Id.Lit_Colon ':'>} {<delta>} {<archive>}]
              redirects: []
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.Left_DoubleQuote '"'>
                  more_env: []
                  words: [
                    {(DQ ($ Id.VSub_At '@'))}
                    {<-rf>}
                    {<new.> ($ Id.VSub_DollarName suf)}
                    {<-wf>}
                    {<old-new.> ($ Id.VSub_DollarName suf)}
                    {($ Id.VSub_DollarName fmt)}
                    {<-z>}
                    {<old.> ($ Id.VSub_DollarName suf)}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'status='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'status='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                      op: assign_op.Equal
                      rhs: {<1>}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [{<Id.Lit_Colon ':'>} {<replicate>} {<new>} {<archive>}]
              redirects: []
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.Left_DoubleQuote '"'>
                  more_env: []
                  words: [
                    {(DQ ($ Id.VSub_At '@'))}
                    {<-rf>}
                    {<old-new.> ($ Id.VSub_DollarName suf)}
                    {<-z>}
                    {<old.> ($ Id.VSub_DollarName suf)}
                    {<-wf>}
                    {<rep.> ($ Id.VSub_DollarName suf)}
                    {($ Id.VSub_DollarName fmt)}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'status='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'status='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                      op: assign_op.Equal
                      rhs: {<1>}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [{<Id.Lit_Colon ':'>} {<verify>} {<replica>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<rep>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cd>
              more_env: []
              words: [{<cd>} {<rep>}]
              redirects: []
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.Left_DoubleQuote '"'>
                  more_env: []
                  words: [{(DQ ($ Id.VSub_At '@'))} {<-rf>} {<'../rep.'> ($ Id.VSub_DollarName suf)}]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'status='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'status='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                      op: assign_op.Equal
                      rhs: {<1>}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.Simple
              blame_tok: <cd>
              more_env: []
              words: [{<cd>} {<..>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <diff>
              more_env: []
              words: [{<diff>} {<-r>} {<new>} {<rep>}]
              redirects: []
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName status) ($ Id.VSub_QMark '?')})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <00>
                  pattern: (pat.Words words:[{<00>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'result='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'result='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                          op: assign_op.Equal
                          rhs: (rhs_word__Empty)
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'result='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'result='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                              op: assign_op.Equal
                              rhs: {(DQ <' FAILED'>)}
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.DParen
                      left: <Id.Op_DLeftParen _>
                      child: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike errors)
                        )
                      right: <Id.Op_DRightParen _>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'TEST='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'TEST='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST='> name:TEST)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName tests)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <print>
              more_env: []
              words: [
                {<print>}
                {<-u2>}
                {
                  (DQ ($ Id.VSub_DollarName TEST) <'\tbase '> ($ Id.VSub_DollarName fmt) 
                    ($ Id.VSub_DollarName result)
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: 
                (case_arg.Word
                  w: {($ Id.VSub_DollarName bail) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName result)}
                )
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <1>
                  pattern: 
                    (pat.Words
                      words: [{<1> <Id.Lit_Colon ':'> <Id.Lit_QMark '?'> <Id.Lit_Star '*'>}]
                    )
                  middle: <Id.Right_CasePat _>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.DParen
              left: <Id.Op_DLeftParen _>
              child: 
                (arith_expr.UnaryAssign
                  op_id: Id.Node_PostDPlus
                  child: ($ Id.Lit_ArithVarLike tests)
                )
              right: <Id.Op_DRightParen _>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'status='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'status='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                  op: assign_op.Equal
                  rhs: {<0>}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [{<Id.Lit_Colon ':'>} {<add>} {<subdir>} {<to>} {<old>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sleep>
              more_env: []
              words: [{<sleep>} {<1>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<'old/asub'>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <zzz>)}]
              redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'old/asub/w'>})]
              do_fork: T
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [
                {<Id.Lit_Colon ':'>}
                {<add>}
                {<same>}
                {<subdir>}
                {<to>}
                {<new>}
                {<but>}
                {<with>}
                {<newer>}
                {<Id.KW_Time time>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sleep>
              more_env: []
              words: [{<sleep>} {<1>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<'new/asub'>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <zzz>)}]
              redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'new/asub/w'>})]
              do_fork: T
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [{<Id.Lit_Colon ':'>} {<redo>} {<the>} {<old>} {<and>} {<new>} {<base>} {<archives>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cd>
              more_env: []
              words: [{<cd>} {<old>}]
              redirects: []
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName tar)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Left_SingleQuote '\''>
                  pattern: (pat.Words words:[{(SQ )}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <Id.Left_DoubleQuote '"'>
                          more_env: []
                          words: [
                            {(DQ ($ Id.VSub_At '@'))}
                            {<-wf>}
                            {<'../old.'> ($ Id.VSub_DollarName suf)}
                            {($ Id.VSub_DollarName fmt)}
                            {<Id.Lit_Star '*'>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'status='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'status='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                              op: assign_op.Equal
                              rhs: {<1>}
                            )
                          ]
                          redirects: []
                        )
                      ]
                      ops: [<Id.Op_DPipe _>]
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <Id.VSub_DollarName '$tar'>
                          more_env: []
                          words: [
                            {($ Id.VSub_DollarName tar)}
                            {<cf>}
                            {<'../old.'> ($ Id.VSub_DollarName suf)}
                            {<.>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'status='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'status='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                              op: assign_op.Equal
                              rhs: {<1>}
                            )
                          ]
                          redirects: []
                        )
                      ]
                      ops: [<Id.Op_DPipe _>]
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Simple
              blame_tok: <cd>
              more_env: []
              words: [{<cd>} {<'../new'>}]
              redirects: []
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName tar)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Left_SingleQuote '\''>
                  pattern: (pat.Words words:[{(SQ )}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <Id.Left_DoubleQuote '"'>
                          more_env: []
                          words: [
                            {(DQ ($ Id.VSub_At '@'))}
                            {<-wf>}
                            {<'../new.'> ($ Id.VSub_DollarName suf)}
                            {($ Id.VSub_DollarName fmt)}
                            {<Id.Lit_Star '*'>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'status='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'status='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                              op: assign_op.Equal
                              rhs: {<1>}
                            )
                          ]
                          redirects: []
                        )
                      ]
                      ops: [<Id.Op_DPipe _>]
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <Id.VSub_DollarName '$tar'>
                          more_env: []
                          words: [
                            {($ Id.VSub_DollarName tar)}
                            {<cf>}
                            {<'../new.'> ($ Id.VSub_DollarName suf)}
                            {<.>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'status='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'status='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                              op: assign_op.Equal
                              rhs: {<1>}
                            )
                          ]
                          redirects: []
                        )
                      ]
                      ops: [<Id.Op_DPipe _>]
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Simple
              blame_tok: <cd>
              more_env: []
              words: [{<cd>} {<..>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [{<Id.Lit_Colon ':'>} {<delta>} {<archive>}]
              redirects: []
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.Left_DoubleQuote '"'>
                  more_env: []
                  words: [
                    {(DQ ($ Id.VSub_At '@'))}
                    {<-rf>}
                    {<new.> ($ Id.VSub_DollarName suf)}
                    {<-wf>}
                    {<old-new.> ($ Id.VSub_DollarName suf)}
                    {($ Id.VSub_DollarName fmt)}
                    {<-z>}
                    {<old.> ($ Id.VSub_DollarName suf)}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'status='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'status='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                      op: assign_op.Equal
                      rhs: {<1>}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [{<Id.Lit_Colon ':'>} {<replicate>} {<new>} {<archive>}]
              redirects: []
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.Left_DoubleQuote '"'>
                  more_env: []
                  words: [
                    {(DQ ($ Id.VSub_At '@'))}
                    {<-rf>}
                    {<old-new.> ($ Id.VSub_DollarName suf)}
                    {<-z>}
                    {<old.> ($ Id.VSub_DollarName suf)}
                    {<-wf>}
                    {<rep.> ($ Id.VSub_DollarName suf)}
                    {($ Id.VSub_DollarName fmt)}
                  ]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'status='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'status='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                      op: assign_op.Equal
                      rhs: {<1>}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [{<Id.Lit_Colon ':'>} {<verify>} {<replica>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <rm>
              more_env: []
              words: [{<rm>} {<-rf>} {<rep>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<rep>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cd>
              more_env: []
              words: [{<cd>} {<rep>}]
              redirects: []
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.Left_DoubleQuote '"'>
                  more_env: []
                  words: [{(DQ ($ Id.VSub_At '@'))} {<-rf>} {<'../rep.'> ($ Id.VSub_DollarName suf)}]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'status='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'status='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                      op: assign_op.Equal
                      rhs: {<1>}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.Simple
              blame_tok: <cd>
              more_env: []
              words: [{<cd>} {<..>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <diff>
              more_env: []
              words: [{<diff>} {<-r>} {<new>} {<rep>}]
              redirects: []
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName status) ($ Id.VSub_QMark '?')})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <00>
                  pattern: (pat.Words words:[{<00>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'result='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'result='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                          op: assign_op.Equal
                          rhs: (rhs_word__Empty)
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'result='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'result='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                              op: assign_op.Equal
                              rhs: {(DQ <' FAILED'>)}
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.DParen
                      left: <Id.Op_DLeftParen _>
                      child: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike errors)
                        )
                      right: <Id.Op_DRightParen _>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'TEST='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'TEST='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST='> name:TEST)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName tests)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <print>
              more_env: []
              words: [
                {<print>}
                {<-u2>}
                {
                  (DQ ($ Id.VSub_DollarName TEST) <'\tdelta '> ($ Id.VSub_DollarName fmt) 
                    ($ Id.VSub_DollarName result)
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: 
                (case_arg.Word
                  w: {($ Id.VSub_DollarName bail) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName result)}
                )
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <1>
                  pattern: 
                    (pat.Words
                      words: [{<1> <Id.Lit_Colon ':'> <Id.Lit_QMark '?'> <Id.Lit_Star '*'>}]
                    )
                  middle: <Id.Right_CasePat _>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.DParen
              left: <Id.Op_DLeftParen _>
              child: 
                (arith_expr.UnaryAssign
                  op_id: Id.Node_PostDPlus
                  child: ($ Id.Lit_ArithVarLike tests)
                )
              right: <Id.Op_DRightParen _>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'status='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'status='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                  op: assign_op.Equal
                  rhs: {<0>}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [{<Id.Lit_Colon ':'>} {<verify>} {<dir>} {<to>} {<ar>} {<to>} {<dir>} {<to>} {<ar>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cd>
              more_env: []
              words: [{<cd>} {<old>}]
              redirects: []
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.Left_DoubleQuote '"'>
                  more_env: []
                  words: [{(DQ ($ Id.VSub_At '@'))} {<-wf>} {<'../o'>} {<.>}]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'status='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'status='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                      op: assign_op.Equal
                      rhs: {<1>}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.Simple
              blame_tok: <cd>
              more_env: []
              words: [{<cd>} {<'../new'>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <rm>
              more_env: []
              words: [{<rm>} {<-r>} {<Id.Lit_Star '*'>}]
              redirects: []
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.Left_DoubleQuote '"'>
                  more_env: []
                  words: [{(DQ ($ Id.VSub_At '@'))} {<-rf>} {<'../o'>}]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'status='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'status='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                      op: assign_op.Equal
                      rhs: {<1>}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <Id.Left_DoubleQuote '"'>
                  more_env: []
                  words: [{(DQ ($ Id.VSub_At '@'))} {<-wf>} {<'../n'>} {<.>}]
                  redirects: []
                  do_fork: T
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'status='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'status='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                      op: assign_op.Equal
                      rhs: {<1>}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.Simple
              blame_tok: <cd>
              more_env: []
              words: [{<cd>} {<..>}]
              redirects: []
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.Pipeline
                  children: [
                    (command.Simple
                      blame_tok: <Id.Left_DoubleQuote '"'>
                      more_env: []
                      words: [{(DQ ($ Id.VSub_At '@'))} {<-vf>} {<o>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_Great '2>'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [{<sed>} {<-e>} {(SQ <'/^l/s/ ... [ 0-9][0-9] [0-9][0-9]:[0-9][0-9] / /'>)}]
                      redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<oo>})]
                      do_fork: T
                    )
                  ]
                  ops: [<Id.Op_Pipe _>]
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'status='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'status='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                      op: assign_op.Equal
                      rhs: {<1>}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.AndOr
              children: [
                (command.Pipeline
                  children: [
                    (command.Simple
                      blame_tok: <Id.Left_DoubleQuote '"'>
                      more_env: []
                      words: [{(DQ ($ Id.VSub_At '@'))} {<-vf>} {<n>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_Great '2>'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [{<sed>} {<-e>} {(SQ <'/^l/s/ ... [ 0-9][0-9] [0-9][0-9]:[0-9][0-9] / /'>)}]
                      redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<nn>})]
                      do_fork: T
                    )
                  ]
                  ops: [<Id.Op_Pipe _>]
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'status='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'status='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
                      op: assign_op.Equal
                      rhs: {<1>}
                    )
                  ]
                  redirects: []
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.Simple
              blame_tok: <diff>
              more_env: []
              words: [{<diff>} {<oo>} {<nn>}]
              redirects: []
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName status) ($ Id.VSub_QMark '?')})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <00>
                  pattern: (pat.Words words:[{<00>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'result='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'result='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                          op: assign_op.Equal
                          rhs: (rhs_word__Empty)
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'result='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'result='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                              op: assign_op.Equal
                              rhs: {(DQ <' FAILED'>)}
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.DParen
                      left: <Id.Op_DLeftParen _>
                      child: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike errors)
                        )
                      right: <Id.Op_DRightParen _>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'TEST='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'TEST='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST='> name:TEST)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName tests)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <print>
              more_env: []
              words: [
                {<print>}
                {<-u2>}
                {
                  (DQ ($ Id.VSub_DollarName TEST) <'\tio '> ($ Id.VSub_DollarName fmt) 
                    ($ Id.VSub_DollarName result)
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: 
                (case_arg.Word
                  w: {($ Id.VSub_DollarName bail) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName result)}
                )
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <1>
                  pattern: 
                    (pat.Words
                      words: [{<1> <Id.Lit_Colon ':'> <Id.Lit_QMark '?'> <Id.Lit_Star '*'>}]
                    )
                  middle: <Id.Right_CasePat _>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [{<Id.Lit_Colon ':'>} {<back>} {<to>} {<parent>} {<of>} {($ Id.VSub_DollarName tmp)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cd>
              more_env: []
              words: [{<cd>} {<..>}]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (command.Simple
      blame_tok: <cd>
      more_env: []
      words: [{<cd>} {($ Id.VSub_DollarName tmp)}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <Id.Lit_Colon ':'>
      more_env: []
      words: [{<Id.Lit_Colon ':'>} {<rw>} {<test>}]
      redirects: []
      do_fork: T
    )
    (command.DParen
      left: <Id.Op_DLeftParen _>
      child: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike tests))
      right: <Id.Op_DRightParen _>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'status='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'status='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
          op: assign_op.Equal
          rhs: {<0>}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <mkdir>
      more_env: []
      words: [{<mkdir>} {<cpy>}]
      redirects: []
      do_fork: T
    )
    (command.AndOr
      children: [
        (command.Simple
          blame_tok: <Id.Left_DoubleQuote '"'>
          more_env: []
          words: [{(DQ ($ Id.VSub_At '@'))} {<-rw>} {<new>} {<cpy>}]
          redirects: []
          do_fork: T
        )
        (command.ShAssignment
          left: <Id.Lit_VarLike 'status='>
          pairs: [
            (AssignPair
              left: <Id.Lit_VarLike 'status='>
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'status='> name:status)
              op: assign_op.Equal
              rhs: {<1>}
            )
          ]
          redirects: []
        )
      ]
      ops: [<Id.Op_DPipe _>]
    )
    (command.Simple
      blame_tok: <diff>
      more_env: []
      words: [{<diff>} {<-r>} {<new>} {<'cpy/new'>}]
      redirects: []
      do_fork: T
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName status) ($ Id.VSub_QMark '?')})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <00>
          pattern: (pat.Words words:[{<00>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: (rhs_word__Empty)
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <Id.Lit_Star '*'>
          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Sentence
              child: 
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'result='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'result='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                      op: assign_op.Equal
                      rhs: {(DQ <' FAILED'>)}
                    )
                  ]
                  redirects: []
                )
              terminator: <Id.Op_Semi _>
            )
            (command.DParen
              left: <Id.Op_DLeftParen _>
              child: 
                (arith_expr.UnaryAssign
                  op_id: Id.Node_PostDPlus
                  child: ($ Id.Lit_ArithVarLike errors)
                )
              right: <Id.Op_DRightParen _>
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'TEST='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TEST='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST='> name:TEST)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName tests)}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [
        {<print>}
        {<-u2>}
        {(DQ ($ Id.VSub_DollarName TEST) <'\tcopy new cpy'> ($ Id.VSub_DollarName result))}
      ]
      redirects: []
      do_fork: T
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: 
        (case_arg.Word
          w: {($ Id.VSub_DollarName bail) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName result)}
        )
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <1>
          pattern: (pat.Words words:[{<1> <Id.Lit_Colon ':'> <Id.Lit_QMark '?'> <Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Simple
      blame_tok: <Id.Lit_Colon ':'>
      more_env: []
      words: [{<Id.Lit_Colon ':'>} {<conversion>} {<test>}]
      redirects: []
      do_fork: T
    )
    (command.DParen
      left: <Id.Op_DLeftParen _>
      child: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike tests))
      right: <Id.Op_DRightParen _>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'x='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'x='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'x='> name:x)
          op: assign_op.Equal
          rhs: {<ascii>}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <echo>
      more_env: []
      words: [
        {<echo>}
        {($ Id.VSub_DollarName x) ($ Id.VSub_DollarName x) ($ Id.VSub_DollarName x) 
          ($ Id.VSub_DollarName x) ($ Id.VSub_DollarName x) ($ Id.VSub_DollarName x) ($ Id.VSub_DollarName x) ($ Id.VSub_DollarName x) 
          ($ Id.VSub_DollarName x) ($ Id.VSub_DollarName x) ($ Id.VSub_DollarName x) ($ Id.VSub_DollarName x) ($ Id.VSub_DollarName x) 
          ($ Id.VSub_DollarName x) ($ Id.VSub_DollarName x) ($ Id.VSub_DollarName x)
        }
      ]
      redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<a>})]
      do_fork: T
    )
    (command.ForEach
      keyword: <Id.KW_For for>
      iter_names: [i]
      iterable: (for_iter.Words words:[{<1>} {<2>} {<3>} {<4>}])
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.Simple
              blame_tok: <cat>
              more_env: []
              words: [{<cat>} {<a>} {<a>}]
              redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<b>})]
              do_fork: T
            )
            (command.Simple
              blame_tok: <cat>
              more_env: []
              words: [{<cat>} {<b>} {<b>}]
              redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<a>})]
              do_fork: T
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (command.Simple
      blame_tok: <Id.Left_DoubleQuote '"'>
      more_env: []
      words: [
        {(DQ ($ Id.VSub_At '@'))}
        {<-wf>}
        {<a.pax>}
        {<-s>}
        {<Id.Lit_Comma ','> <a> <Id.Lit_Comma ','> <b> <Id.Lit_Comma ','>}
        {<--to> <Id.Lit_Equals '='> <ebcdic3>}
        {<a>}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <Id.Left_DoubleQuote '"'>
      more_env: []
      words: [{(DQ ($ Id.VSub_At '@'))} {<-rf>} {<a.pax>} {<--from> <Id.Lit_Equals '='> <ebcdic3>}]
      redirects: []
      do_fork: T
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Simple
                  blame_tok: <cmp>
                  more_env: []
                  words: [{<cmp>} {<-s>} {<a>} {<b>}]
                  redirects: []
                  do_fork: T
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'result='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'result='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
                  op: assign_op.Equal
                  rhs: (rhs_word__Empty)
                )
              ]
              redirects: []
            )
          ]
          spids: [2040 2050]
        )
      ]
      else_kw: <Id.KW_Else else>
      else_action: [
        (command.ShAssignment
          left: <Id.Lit_VarLike 'result='>
          pairs: [
            (AssignPair
              left: <Id.Lit_VarLike 'result='>
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'result='> name:result)
              op: assign_op.Equal
              rhs: {(DQ <' FAILED'>)}
            )
          ]
          redirects: []
        )
        (command.DParen
          left: <Id.Op_DLeftParen _>
          child: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike errors))
          right: <Id.Op_DRightParen _>
          redirects: []
        )
      ]
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'TEST='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TEST='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST='> name:TEST)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName tests)}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [
        {<print>}
        {<-u2>}
        {(DQ ($ Id.VSub_DollarName TEST) <'\tcodeset conversion'> ($ Id.VSub_DollarName result))}
      ]
      redirects: []
      do_fork: T
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: 
        (case_arg.Word
          w: {($ Id.VSub_DollarName bail) <Id.Lit_Colon ':'> ($ Id.VSub_DollarName result)}
        )
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <1>
          pattern: (pat.Words words:[{<1> <Id.Lit_Colon ':'> <Id.Lit_QMark '?'> <Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Simple
      blame_tok: <Id.Lit_Colon ':'>
      more_env: []
      words: [{<Id.Lit_Colon ':'>} {<clean>} {<up>}]
      redirects: []
      do_fork: T
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName clobber)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <Id.Lit_QMark '?'>
          pattern: (pat.Words words:[{<Id.Lit_QMark '?'> <Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.Simple
              blame_tok: <cd>
              more_env: []
              words: [{<cd>} {<..>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <rm>
              more_env: []
              words: [{<rm>} {<-rf>} {($ Id.VSub_DollarName tmp)}]
              redirects: []
              do_fork: T
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName errors)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <1>
          pattern: (pat.Words words:[{<1>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'plural='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'plural='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'plural='> name:plural)
                  op: assign_op.Equal
                  rhs: (rhs_word__Empty)
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
        (CaseArm
          left: <Id.Lit_Star '*'>
          pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'plural='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'plural='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'plural='> name:plural)
                  op: assign_op.Equal
                  rhs: {<s>}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Simple
      blame_tok: <print>
      more_env: []
      words: [
        {<print>}
        {<-u2>}
        {
          (DQ <'TEST\t'> ($ Id.VSub_Number 1) <', '> ($ Id.VSub_DollarName tests) <' tests, '> 
            ($ Id.VSub_DollarName errors) <' error'> ($ Id.VSub_DollarName plural)
          )
        }
      ]
      redirects: []
      do_fork: T
    )
  ]
)