(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:SOURCE_DIR) op:Equal rhs:{(/usr/local/src)} spids:[30])]
      spids: [30]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:OVERWRITE) op:Equal rhs:{(0)} spids:[36])]
      spids: [36]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SOFTWARE_DIR)
          op: Equal
          rhs: {(DQ ('http://www.minix3.org/software'))}
          spids: [42]
        )
      ]
      spids: [42]
    )
    (Case
      to_match: {($ VSub_Pound '$#')}
      arms: [
        (case_arm
          pat_list: [{(0)}]
          action: [
            (C {(echo)} {(Usage) (Lit_Other ':')} {($ VSub_Number '$0')} {(package)} {(...)})
            (ControlFlow token:<ControlFlow_Exit exit>)
          ]
          spids: [58 59 75 16777215]
        )
      ]
      spids: [52 56 77]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ORIG_DIR)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(pwd)})])
                left_token: <Left_Backtick '`'>
                spids: [84 86]
              )
            }
          spids: [83]
        )
      ]
      spids: [83]
    )
    (C {(rm)} {(-f)} {(Log)})
    (AndOr ops:[Op_DPipe] children:[(C {(mkdir)} {($ VSub_Name '$SOURCE_DIR')}) (C {(true)})])
    (AndOr
      ops: [Op_DPipe]
      children: [(C {(cd)} {($ VSub_Name '$SOURCE_DIR')}) (ControlFlow token:<ControlFlow_Exit exit>)]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other '[')} 
              {
                (DQ 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(id)} {(-u)})])
                    left_token: <Left_Backtick '`'>
                    spids: [119 123]
                  )
                )
              } {(-ne)} {(0)} {(Lit_Other ']')}
            )
          ]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [(C {(test)} {(KW_Bang '!')} {(-w)} {(.)})]
                  action: [
                    (C {(echo)} {(You)} {(KW_Do do)} {(not)} {(have)} {(write)} {(permission)} {(KW_For for)} 
                      {($ VSub_Name '$SOURCE_DIR')}
                    )
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                  spids: [16777215 151]
                )
              ]
              spids: [16777215 177]
            )
          ]
          spids: [16777215 132]
        )
      ]
      spids: [16777215 179]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {($ VSub_Number '$1')} {(Lit_Other '=')} {(DQ (-o))})]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:OVERWRITE) op:Equal rhs:{(1)} spids:[200])]
              spids: [200]
            )
            (C {(shift)})
          ]
          spids: [16777215 198]
        )
      ]
      spids: [16777215 206]
    )
    (ForEach
      iter_name: i
      do_arg_iter: T
      body: 
        (DoGroup
          children: [
            (Sentence child:(C {(echo)} {(DQ (' '))}) terminator:<Op_Semi ';'>)
            (C {(echo)} {(Start)} {(fetching)} {(package)} {($ VSub_Name '$i')})
            (SimpleCommand
              words: [{(echo)} {(DQ (' '))}]
              redirects: [
                (Redir
                  op_id: Redir_DGreat
                  fd: 16777215
                  arg_word: {($ VSub_Name '$ORIG_DIR') (/Log)}
                  spids: [248]
                )
              ]
            )
            (SimpleCommand
              words: [
                {(echo)}
                {(-------------)}
                {(Start)}
                {(fetching)}
                {($ VSub_Name '$i')}
                {(------------------)}
              ]
              redirects: [
                (Redir
                  op_id: Redir_DGreat
                  fd: 16777215
                  arg_word: {($ VSub_Name '$ORIG_DIR') (/Log)}
                  spids: [265]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [(C {(test)} {(-r)} {($ VSub_Name '$i')})]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [(C {(test)} {($ VSub_Name '$OVERWRITE')} {(Lit_Other '=')} {(0)})]
                          action: [
                            (C {(echo)} {($ VSub_Name '$i')} {(already)} {(exists.)} {(Skipping)} {(this)} 
                              {(package)}
                            )
                            (ControlFlow
                              token: <ControlFlow_Continue continue>
                            )
                          ]
                          spids: [16777215 296]
                        )
                      ]
                      else_action: [
                        (C {(rm)} {(-rf)} {($ VSub_Name '$i')})
                        (C {(echo)} {(Existing)} {(directory)} {($ VSub_Name '$i')} {(removed)})
                      ]
                      spids: [316 340]
                    )
                  ]
                  spids: [16777215 279]
                )
              ]
              spids: [16777215 343]
            )
            (C {(rm)} {(-f)} {($ VSub_Name '$i') (.tar.bz2)} {($ VSub_Name '$i') (.tar)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:URL)
                  op: Equal
                  rhs: {($ VSub_Name '$SOFTWARE_DIR') (/) ($ VSub_Name '$i') (.tar.bz2)}
                  spids: [367]
                )
              ]
              spids: [367]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:TARBZ)
                  op: Equal
                  rhs: {($ VSub_Name '$i') (.tar.bz2)}
                  spids: [374]
                )
              ]
              spids: [374]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (SimpleCommand
                      words: [{(urlget)} {($ VSub_Name '$URL')}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {($ VSub_Name '$TARBZ')}
                          spids: [385]
                        )
                        (Redir
                          op_id: Redir_Great
                          fd: 2
                          arg_word: {(/dev/null)}
                          spids: [388]
                        )
                      ]
                    )
                  ]
                  action: [(C {(Lit_Other ':')})]
                  spids: [16777215 392]
                )
              ]
              else_action: [
                (C {(echo)} {(Cannot)} {(get)} {($ VSub_Name '$i') (.)})
                (C {(echo)} {(DQ ('   '))} {(Tried)} {($ VSub_Name '$URL')})
                (C {(echo)} {(DQ ('   '))} {(Skipping)} {(this)} {(package)})
                (C {(rm)} {(-f)} {($ VSub_Name '$TARBZ')})
                (ControlFlow token:<ControlFlow_Continue continue>)
              ]
              spids: [397 445]
            )
            (C {(echo)} {(Package)} {($ VSub_Name '$i')} {(fetched)})
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(bunzip2)} {($ VSub_Name '$TARBZ')})
                (C {(smallbunzip2)} {($ VSub_Name '$TARBZ')})
              ]
            )
            (SimpleCommand
              words: [{(pax)} {(-r)}]
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: 16777215
                  arg_word: {($ VSub_Name '$i') (.tar)}
                  spids: [477]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [(C {(test)} {(KW_Bang '!')} {(-d)} {($ VSub_Name '$i')})]
                  action: [
                    (C {(echo)} {(Unable)} {(to)} {(unpack)} {($ VSub_Name '$i')})
                    (ControlFlow token:<ControlFlow_Continue continue>)
                  ]
                  spids: [16777215 493]
                )
              ]
              else_action: [(C {(echo)} {(Package)} {($ VSub_Name '$i')} {(unpacked)})]
              spids: [509 520]
            )
            (C {(cd)} {($ VSub_Name '$i')})
            (C {(binsizes)} {(big)})
            (If
              arms: [
                (if_arm
                  cond: [(C {(Lit_Other '[')} {(-f)} {(build.minix)} {(Lit_Other ']')})]
                  action: [
                    (SimpleCommand
                      words: [{(sh)} {(build.minix)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {($ VSub_Name '$ORIG_DIR') (/Log)}
                          spids: [555]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [559]
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:r)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [563]
                        )
                      ]
                      spids: [563]
                    )
                  ]
                  spids: [16777215 549]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(sh)} {(build)}]
                  redirects: [
                    (Redir
                      op_id: Redir_DGreat
                      fd: 16777215
                      arg_word: {($ VSub_Name '$ORIG_DIR') (/Log)}
                      spids: [573]
                    )
                    (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[577])
                  ]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:r)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [581]
                    )
                  ]
                  spids: [581]
                )
              ]
              spids: [567 585]
            )
            (If
              arms: [
                (if_arm
                  cond: [(C {(Lit_Other '[')} {($ VSub_Name '$r')} {(-eq)} {(0)} {(Lit_Other ']')})]
                  action: [(C {(echo)} {(Package)} {($ VSub_Name '$i')} {(installed)})]
                  spids: [16777215 602]
                )
              ]
              else_action: [
                (C {(echo)} {(Package)} {($ VSub_Name '$i')} {(failed)} {(to)} {(install) (Lit_Comma ',')} 
                  {(see)} {(Log)}
                )
              ]
              spids: [613 633]
            )
            (If
              arms: [
                (if_arm
                  cond: [(C {(Lit_Other '[')} {(-f)} {(.postinstall)} {(Lit_Other ']')})]
                  action: [
                    (C {(echo)} {(Running)} {(postinstall)} {(script.)})
                    (C {(sh)} {(-e)} {(.postinstall)})
                  ]
                  spids: [16777215 647]
                )
              ]
              spids: [16777215 665]
            )
            (C {(binsizes)} {(normal)})
            (C {(cd)} {(..)})
            (C {(rm)} {(-f)} {($ VSub_Name '$i') (.tar)} {($ VSub_Name '$TARBZ')})
          ]
          spids: [216 695]
        )
      spids: [16777215 16777215]
    )
  ]
)