(CommandList
  children: [
    (FuncDef
      name: verify
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_Number '$1'))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ )}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[95])]
                    )
                    (SimpleCommand
                      words: [{(echo)} {(DQ (' *** Missing file: ') ($ VSub_Number '$1'))}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[106])]
                    )
                    (SimpleCommand
                      words: [{(echo)} {(SQ <' *** You need to run "make" before "make install".'>)}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[116])]
                    )
                    (SimpleCommand
                      words: [{(echo)} {(DQ )}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[125])]
                    )
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                  spids: [16777215 87]
                )
              ]
              spids: [16777215 134]
            )
          ]
          spids: [69]
        )
      spids: [64 68]
    )
    (C {(verify)} {(DQ ($ VSub_Number '$2'))})
    (C {(verify)} {(DQ ($ VSub_Number '$3'))})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(-x)} 
                  {(TildeSubPart prefix:'') (/bin/) (${ VSub_Name INSTALLKERNEL)} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: 
                (C {(exec)} {(TildeSubPart prefix:'') (/bin/) (${ VSub_Name INSTALLKERNEL)} 
                  {(DQ ($ VSub_At '$@'))}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [16777215 174]
        )
      ]
      spids: [16777215 189]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (SimpleCommand
                  words: [{(which)} {(${ VSub_Name INSTALLKERNEL)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [199]
                    )
                    (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[202])
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(exec)} {(${ VSub_Name INSTALLKERNEL)} {(DQ ($ VSub_At '$@'))})]
          spids: [16777215 206]
        )
      ]
      spids: [16777215 219]
    )
    (FuncDef
      name: back_it_up
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:file)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [235]
                )
              ]
              spids: [233]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(Lit_Other '[')} {(-f)} {(${ VSub_Name file)} {(Lit_Other ']')})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
              ]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:stamp)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (SimpleCommand
                                words: [{(stat)} {(-c)} {(Lit_Other '%') (Y)} {(${ VSub_Name file)}]
                                redirects: [
                                  (Redir
                                    op_id: Redir_Great
                                    fd: 2
                                    arg_word: {(/dev/null)}
                                    spids: [271]
                                  )
                                ]
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [259 273]
                      )
                    }
                  spids: [258]
                )
              ]
              spids: [256]
            )
            (C {(mv)} {(${ VSub_Name file)} 
              {(${ VSub_Name file) (.) 
                (BracedVarSub
                  token: <VSub_Name stamp>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(old)})
                  spids: [286 290]
                )
              }
            )
          ]
          spids: [230]
        )
      spids: [226 229]
    )
    (C {(back_it_up)} {($ VSub_Number '$4') (/uImage)})
    (C {(back_it_up)} {($ VSub_Number '$4') (/System.map)})
    (SimpleCommand
      words: [{(cat)} {($ VSub_Number '$2')}]
      redirects: [
        (Redir
          op_id: Redir_Great
          fd: 16777215
          arg_word: {($ VSub_Number '$4') (/uImage)}
          spids: [310]
        )
      ]
    )
    (C {(cp)} {($ VSub_Number '$3')} {($ VSub_Number '$4') (/System.map)})
  ]
)