(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ACDIR='> name:ACDIR)
          op: assign_op.Equal
          rhs: {<'/tmp/acpica-unix-20091112'>}
          spids: [88]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ACSRC='> name:ACSRC)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName ACDIR)}
          spids: [92]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ACINC='> name:ACINC)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName ACDIR) <'/include'>}
          spids: [95]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DIFF='> name:DIFF)
          op: assign_op.Equal
          rhs: {(DQ <'diff -w'>)}
          spids: [100]
        )
      ]
      redirects: []
    )
    (command.Pipeline
      children: [(C {<which_scm>}) (C {<read>} {<WS_SCM>} {<WSDIR>})]
      negated: F
      stderr_indices: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WSSRC='> name:WSSRC)
          op: assign_op.Equal
          rhs: {<'usr/src/uts/intel/io/acpica'>}
          spids: [126]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WSHDR='> name:WSHDR)
          op: assign_op.Equal
          rhs: {<'usr/src/uts/intel/sys/acpi'>}
          spids: [129]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ACFILES='> name:ACFILES)
          op: assign_op.Equal
          rhs: {<'/tmp/'> ($ Id.VSub_Dollar '$') <.acfiles>}
          spids: [132]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCDIRS='> name:SRCDIRS)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'debugger '> <'\tdisassembler '> <'\tdispatcher '> <'\tevents '> <'\texecuter '> 
                <'\thardware '> <'\tnamespace '> <'\tparser '> <'\tresources '> <'\ttables '> <'\tutilities'>
              )
            }
          spids: [137]
        )
      ]
      redirects: []
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<cd>} {($ Id.VSub_DollarName ACSRC)})
          terminator: <Id.Op_Semi _>
        )
        (command.Sentence
          child: 
            (command.Simple
              words: [{<find>} {($ Id.VSub_DollarName SRCDIRS)} {<-type>} {<f>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName ACFILES)}
                )
              ]
              more_env: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<cd>} {<->})
      ]
    )
    (command.ForEach
      iter_names: [i]
      iterable: 
        (for_iter.Words
          words: [
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Simple
                    words: []
                    redirects: [
                      (redir
                        op: <Id.Redir_Less '<'>
                        loc: (redir_loc.Fd fd:0)
                        arg: {($ Id.VSub_DollarName ACFILES)}
                      )
                    ]
                    more_env: []
                    do_fork: F
                  )
                right: <Id.Backtick_Right '`'>
              )
            }
          ]
        )
      body: 
        (command.DoGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.DBracket
                          expr: 
                            (bool_expr.LogicalNot
                              child: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_a
                                  child: 
                                    {($ Id.VSub_DollarName WSDIR) <'/'> ($ Id.VSub_DollarName WSSRC) 
                                      <'/'> ($ Id.VSub_DollarName i)
                                    }
                                )
                            )
                          redirects: []
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCNEW='> name:SRCNEW)
                          op: assign_op.Equal
                          rhs: 
                            {($ Id.VSub_DollarName SRCNEW) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\ '>
                                ch: ' '
                              ) ($ Id.VSub_DollarName i)
                            }
                          spids: [232]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [212 229]
                )
              ]
              else_action: [
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Subshell
                              child: 
                                (command.Pipeline
                                  children: [
                                    (command.Simple
                                      words: [
                                        {($ Id.VSub_DollarName DIFF)}
                                        {($ Id.VSub_DollarName WSDIR) <'/'> 
                                          ($ Id.VSub_DollarName WSSRC) <'/'> ($ Id.VSub_DollarName i)
                                        }
                                        {($ Id.VSub_DollarName ACSRC) <'/'> ($ Id.VSub_DollarName i)}
                                      ]
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_Great '>'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {<'/dev/null'>}
                                        )
                                      ]
                                      more_env: []
                                      do_fork: T
                                    )
                                  ]
                                  negated: T
                                  stderr_indices: []
                                )
                              redirects: []
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SRCCHG='> name:SRCCHG)
                              op: assign_op.Equal
                              rhs: 
                                {($ Id.VSub_DollarName SRCCHG) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\ '>
                                    ch: ' '
                                  ) ($ Id.VSub_DollarName i)
                                }
                              spids: [268]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [241 265]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
              ]
              redirects: []
            )
          ]
        )
      redirects: []
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {<cd>} {($ Id.VSub_DollarName ACINC)})
          terminator: <Id.Op_Semi _>
        )
        (command.Sentence
          child: 
            (command.Simple
              words: [{<find>} {<.>} {<-type>} {<f>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName ACFILES)}
                )
              ]
              more_env: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<cd>} {<->})
      ]
    )
    (command.ForEach
      iter_names: [i]
      iterable: 
        (for_iter.Words
          words: [
            {
              (command_sub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Simple
                    words: []
                    redirects: [
                      (redir
                        op: <Id.Redir_Less '<'>
                        loc: (redir_loc.Fd fd:0)
                        arg: {($ Id.VSub_DollarName ACFILES)}
                      )
                    ]
                    more_env: []
                    do_fork: F
                  )
                right: <Id.Backtick_Right '`'>
              )
            }
          ]
        )
      body: 
        (command.DoGroup
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.DBracket
                          expr: 
                            (bool_expr.LogicalNot
                              child: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_a
                                  child: 
                                    {($ Id.VSub_DollarName WSDIR) <'/'> ($ Id.VSub_DollarName WSHDR) 
                                      <'/'> ($ Id.VSub_DollarName i)
                                    }
                                )
                            )
                          redirects: []
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HDRNEW='> name:HDRNEW)
                          op: assign_op.Equal
                          rhs: 
                            {($ Id.VSub_DollarName HDRNEW) 
                              (word_part.EscapedLiteral
                                token: <Id.Lit_EscapedChar '\\ '>
                                ch: ' '
                              ) ($ Id.VSub_DollarName i)
                            }
                          spids: [351]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [331 348]
                )
              ]
              else_action: [
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Subshell
                              child: 
                                (command.Pipeline
                                  children: [
                                    (command.Simple
                                      words: [
                                        {($ Id.VSub_DollarName DIFF)}
                                        {($ Id.VSub_DollarName WSDIR) <'/'> 
                                          ($ Id.VSub_DollarName WSHDR) <'/'> ($ Id.VSub_DollarName i)
                                        }
                                        {($ Id.VSub_DollarName ACINC) <'/'> ($ Id.VSub_DollarName i)}
                                      ]
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_Great '>'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {<'/dev/null'>}
                                        )
                                      ]
                                      more_env: []
                                      do_fork: T
                                    )
                                  ]
                                  negated: T
                                  stderr_indices: []
                                )
                              redirects: []
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HDRCHG='> name:HDRCHG)
                              op: assign_op.Equal
                              rhs: 
                                {($ Id.VSub_DollarName HDRCHG) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\ '>
                                    ch: ' '
                                  ) ($ Id.VSub_DollarName i)
                                }
                              spids: [387]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [360 384]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
              ]
              redirects: []
            )
          ]
        )
      redirects: []
    )
    (C {<cd>} {($ Id.VSub_DollarName WSDIR)})
    (command.ForEach
      iter_names: [i]
      iterable: (for_iter.Words words:[{($ Id.VSub_DollarName SRCCHG)}])
      body: 
        (command.DoGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'targ='> name:targ)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName WSSRC) <'/'> ($ Id.VSub_DollarName i)}
                  spids: [416]
                )
              ]
              redirects: []
            )
            (C {<cp>} {($ Id.VSub_DollarName ACSRC) <'/'> ($ Id.VSub_DollarName i)} 
              {($ Id.VSub_DollarName targ)}
            )
          ]
        )
      redirects: []
    )
    (command.ForEach
      iter_names: [i]
      iterable: (for_iter.Words words:[{($ Id.VSub_DollarName SRCNEW)}])
      body: 
        (command.DoGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'targ='> name:targ)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName WSSRC) <'/'> ($ Id.VSub_DollarName i)}
                  spids: [444]
                )
              ]
              redirects: []
            )
            (C {<cp>} {($ Id.VSub_DollarName ACSRC) <'/'> ($ Id.VSub_DollarName i)} 
              {($ Id.VSub_DollarName targ)}
            )
            (C {<chmod>} {<Id.Lit_Other '+'> <w>} {($ Id.VSub_DollarName targ)})
            (C {<hg>} {<add>} {($ Id.VSub_DollarName targ)})
          ]
        )
      redirects: []
    )
    (command.ForEach
      iter_names: [i]
      iterable: (for_iter.Words words:[{($ Id.VSub_DollarName HDRCHG)}])
      body: 
        (command.DoGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'targ='> name:targ)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName WSHDR) <'/'> ($ Id.VSub_DollarName i)}
                  spids: [487]
                )
              ]
              redirects: []
            )
            (C {<cp>} {($ Id.VSub_DollarName ACINC) <'/'> ($ Id.VSub_DollarName i)} 
              {($ Id.VSub_DollarName targ)}
            )
          ]
        )
      redirects: []
    )
    (command.ForEach
      iter_names: [i]
      iterable: (for_iter.Words words:[{($ Id.VSub_DollarName HDRNEW)}])
      body: 
        (command.DoGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'targ='> name:targ)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName WSHDR) <'/'> ($ Id.VSub_DollarName i)}
                  spids: [515]
                )
              ]
              redirects: []
            )
            (C {<cp>} {($ Id.VSub_DollarName ACINC) <'/'> ($ Id.VSub_DollarName i)} 
              {($ Id.VSub_DollarName targ)}
            )
            (C {<chmod>} {<Id.Lit_Other '+'> <w>} {($ Id.VSub_DollarName targ)})
            (C {<hg>} {<add>} {($ Id.VSub_DollarName targ)})
          ]
        )
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Subshell
                  child: 
                    (command.Pipeline
                      children: [
                        (command.Simple
                          words: [
                            {($ Id.VSub_DollarName DIFF)}
                            {($ Id.VSub_DollarName WSDIR) <'/'> ($ Id.VSub_DollarName WSSRC) 
                              <'/changes.txt'>
                            }
                            {($ Id.VSub_DollarName ACDIR) <'/changes.txt'>}
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'/dev/null'>}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                      negated: T
                      stderr_indices: []
                    )
                  redirects: []
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'targ='> name:targ)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName WSSRC) <'/changes.txt'>}
                  spids: [571]
                )
              ]
              redirects: []
            )
            (C {<cp>} {($ Id.VSub_DollarName ACDIR) <'/changes.txt'>} {($ Id.VSub_DollarName targ)})
          ]
          spids: [547 568]
        )
      ]
      else_action: []
      redirects: []
    )
    (C {<cd>} {<->})
    (C {<echo>} {<New>} {<source>} {<files> <Id.Lit_Colon ':'>})
    (C {<echo>} {($ Id.VSub_DollarName SRCNEW)})
    (C {<echo>} {<New>} {<header>} {<files> <Id.Lit_Colon ':'>})
    (C {<echo>} {($ Id.VSub_DollarName HDRNEW)})
  ]
)