(command.CommandList
  children: [
    (command.Simple
      blame_tok: <Id.Lit_Colon ':'>
      more_env: []
      words: [{<Id.Lit_Colon ':'>} {<include>} {<OPTIONS>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <eval>
      more_env: []
      words: [{<eval>} {($ Id.VSub_Number 1)}]
      redirects: []
      do_fork: T
    )
    (command.Simple blame_tok:<shift> more_env:[] words:[{<shift>}] redirects:[] do_fork:T)
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {($ Id.VSub_Number 1)}]
      redirects: []
      do_fork: T
    )
    (command.ForEach
      keyword: <Id.KW_For for>
      iter_names: [i]
      iterable: 
        (for_iter.Words
          words: [
            {<ACCT>}
            {<BRACEPAT>}
            {<ECHOPRINT>}
            {<ESH>}
            {<ESHPLUS>}
            {<FLOAT>}
            {<FS_3D>}
            {<IODELAY>}
            {<JOBS>}
            {<MULTIBYTE>}
            {<NEWTEST>}
            {<OLDTERMIO>}
            {<OLDTEST>}
            {<P_UID>}
            {<PDU>}
            {<POSIX>}
            {<RDS>}
            {<RAWONLY>}
            {<SEVENBIT>}
            {<SUID_EXEC>}
            {<TIMEOUT>}
            {<VSH>}
            {<LDYNAMIC>}
          ]
        )
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.Simple
              blame_tok: <Id.Lit_Colon ':'>
              more_env: []
              words: [
                {<Id.Lit_Colon ':'>}
                {<This>}
                {<could>}
                {<be>}
                {<Id.KW_Done done>}
                {<with>}
                {<eval> <Id.Lit_Comma ','>}
                {<but>}
                {<eval>}
                {<broken>}
                {<Id.KW_In in>}
                {<some>}
                {<shells>}
              ]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'j='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'j='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                  op: assign_op.Equal
                  rhs: {<0>}
                )
              ]
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName i)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <ACCT>
                  pattern: (pat.Words words:[{<ACCT>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName ACCT)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <BRACEPAT>
                  pattern: (pat.Words words:[{<BRACEPAT>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName BRACEPAT)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <ECHOPRINT>
                  pattern: (pat.Words words:[{<ECHOPRINT>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName ECHOPRINT)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <ESH>
                  pattern: (pat.Words words:[{<ESH>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName ESH)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <ESHPLUS>
                  pattern: (pat.Words words:[{<ESHPLUS>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName ESHPLUS)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <FLOAT>
                  pattern: (pat.Words words:[{<FLOAT>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName FLOAT)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <FS_3D>
                  pattern: (pat.Words words:[{<FS_3D>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName FS_3D)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <IODELAY>
                  pattern: (pat.Words words:[{<IODELAY>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName IODELAY)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <JOBS>
                  pattern: (pat.Words words:[{<JOBS>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName JOBS)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <LDYNAMIC>
                  pattern: (pat.Words words:[{<LDYNAMIC>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName LDYNAMIC)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <MULTIBYTE>
                  pattern: (pat.Words words:[{<MULTIBYTE>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName MULTIBYTE)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <NEWTEST>
                  pattern: (pat.Words words:[{<NEWTEST>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName NEWTEST)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <OLDTERMIO>
                  pattern: (pat.Words words:[{<OLDTERMIO>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'#include <sys/termios.h>'>)}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName tmp) <.c>}
                        )
                      ]
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'#include <sys/termio.h>'>)}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName tmp) <.c>}
                        )
                      ]
                      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: <Id.VSub_DollarName '$CC'>
                                  more_env: []
                                  words: [
                                    {($ Id.VSub_DollarName CC)}
                                    {<-E>}
                                    {($ Id.VSub_DollarName tmp) <.c>}
                                  ]
                                  redirects: [
                                    (Redir
                                      op: <Id.Redir_Great '>'>
                                      loc: (redir_loc.Fd fd:1)
                                      arg: {<'/dev/null'>}
                                    )
                                    (Redir
                                      op: <Id.Redir_GreatAnd '2>&'>
                                      loc: (redir_loc.Fd fd:2)
                                      arg: {<1>}
                                    )
                                  ]
                                  do_fork: T
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'j='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'j='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName OLDTERMIO)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [296 313]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <OLDTEST>
                  pattern: (pat.Words words:[{<OLDTEST>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName OLDTEST)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <P_UID>
                  pattern: (pat.Words words:[{<P_UID>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName P_UID)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <PDU>
                  pattern: (pat.Words words:[{<PDU>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName PDU)}
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.AndOr
                                  children: [
                                    (command.Simple
                                      blame_tok: <test>
                                      more_env: []
                                      words: [{<test>} {<0>} {<-ne>} {(DQ ($ Id.VSub_DollarName j))}]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.Simple
                                      blame_tok: <test>
                                      more_env: []
                                      words: [{<test>} {<-f>} {<'/usr/pdu/bin/pwd'>}]
                                      redirects: []
                                      do_fork: T
                                    )
                                  ]
                                  ops: [<Id.Op_DAmp _>]
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.Simple
                              blame_tok: <echo>
                              more_env: []
                              words: [{<echo>} {(DQ <'#define PDUBIN\t1'>)}]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          spids: [347 368]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <POSIX>
                  pattern: (pat.Words words:[{<POSIX>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName POSIX)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <RAWONLY>
                  pattern: (pat.Words words:[{<RAWONLY>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName RAWONLY)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <RDS>
                  pattern: (pat.Words words:[{<RDS>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName RDS)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <SEVENBIT>
                  pattern: (pat.Words words:[{<SEVENBIT>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName SEVENBIT)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <SUID_EXEC>
                  pattern: (pat.Words words:[{<SUID_EXEC>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName SUID_EXEC)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <TIMEOUT>
                  pattern: (pat.Words words:[{<TIMEOUT>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName TIMEOUT)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <VSH>
                  pattern: (pat.Words words:[{<VSH>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'j='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'j='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName VSH)}
                        )
                      ]
                      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_DollarName j)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <0>
                  pattern: (pat.Words words:[{<0>} {(DQ )}])
                  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.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {(DQ <'#define '> ($ Id.VSub_DollarName i) <'\t'> ($ Id.VSub_DollarName j))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
  ]
)