(command.CommandList
  children: [
    (C {<set>} {<-e>})
    (command.ShAssignment
      pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:MD) op:assign_op.Equal rhs:{<99>} spids:[12])]
    )
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [
        (command.Simple
          words: [{<mdconfig>} {<-d>} {<-u>} {($ Id.VSub_DollarName '$MD')}]
          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
        )
        (C {<true>})
      ]
    )
    (C {<mdconfig>} {<-a>} {<-t>} {<malloc>} {<-s>} {<1m>} {<-u>} {($ Id.VSub_DollarName '$MD')})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:D)
          op: assign_op.Equal
          rhs: {<'/dev/md'> ($ Id.VSub_DollarName '$MD')}
          spids: [52]
        )
      ]
    )
    (C {<'./gbde'>} {<init>} {($ Id.VSub_DollarName '$D')} {<-P>} {<foo>} {<-L>} {<'/tmp/_l1'>})
    (C {<'./gbde'>} {<setkey>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo>} {<-l>} {<'/tmp/_l1'>} {<-P>} 
      {<bar>} {<-L>} {<'/tmp/_l1'>}
    )
    (C {<'./gbde'>} {<setkey>} {($ Id.VSub_DollarName '$D')} {<-p>} {<bar>} {<-l>} {<'/tmp/_l1'>} {<-P>} 
      {<foo>} {<-L>} {<'/tmp/_l1'>}
    )
    (C {<'./gbde'>} {<setkey>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo>} {<-l>} {<'/tmp/_l1'>} {<-n>} {<2>} 
      {<-P>} {<foo2>} {<-L>} {<'/tmp/_l2'>}
    )
    (C {<'./gbde'>} {<setkey>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo2>} {<-l>} {<'/tmp/_l2'>} {<-n>} 
      {<3>} {<-P>} {<foo3>} {<-L>} {<'/tmp/_l3'>}
    )
    (C {<'./gbde'>} {<setkey>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo3>} {<-l>} {<'/tmp/_l3'>} {<-n>} 
      {<4>} {<-P>} {<foo4>} {<-L>} {<'/tmp/_l4'>}
    )
    (C {<'./gbde'>} {<setkey>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo4>} {<-l>} {<'/tmp/_l4'>} {<-n>} 
      {<1>} {<-P>} {<foo1>} {<-L>} {<'/tmp/_l1'>}
    )
    (C {<'./gbde'>} {<nuke>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo1>} {<-l>} {<'/tmp/_l1'>} {<-n>} {<4>})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<'./gbde'>} {<nuke>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo4>} {<-l>} 
                      {<'/tmp/_l4'>} {<-n>} {<3>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [(command.Sentence child:(C {<false>}) terminator:<Id.Op_Semi _>)]
          spids: [239 261]
        )
      ]
    )
    (C {<'./gbde'>} {<destroy>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo2>} {<-l>} {<'/tmp/_l2'>})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<'./gbde'>} {<destroy>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo2>} {<-l>} 
                      {<'/tmp/_l2'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [(command.Sentence child:(C {<false>}) terminator:<Id.Op_Semi _>)]
          spids: [283 301]
        )
      ]
    )
    (C {<'./gbde'>} {<nuke>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo1>} {<-l>} {<'/tmp/_l1'>} {<-n>} {<-1>})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<'./gbde'>} {<nuke>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo1>} {<-l>} 
                      {<'/tmp/_l1'>} {<-n>} {<-1>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [(command.Sentence child:(C {<false>}) terminator:<Id.Op_Semi _>)]
          spids: [328 350]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<'./gbde'>} {<nuke>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo2>} {<-l>} 
                      {<'/tmp/_l2'>} {<-n>} {<-1>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [(command.Sentence child:(C {<false>}) terminator:<Id.Op_Semi _>)]
          spids: [358 380]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<'./gbde'>} {<nuke>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo3>} {<-l>} 
                      {<'/tmp/_l3'>} {<-n>} {<-1>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [(command.Sentence child:(C {<false>}) terminator:<Id.Op_Semi _>)]
          spids: [388 410]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<'./gbde'>} {<nuke>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo4>} {<-l>} 
                      {<'/tmp/_l4'>} {<-n>} {<-1>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [(command.Sentence child:(C {<false>}) terminator:<Id.Op_Semi _>)]
          spids: [418 440]
        )
      ]
    )
    (C {<rm>} {<-f>} {<'/tmp/_l1'>} {<'/tmp/_l2'>} {<'/tmp/_l3'>} {<'/tmp/_l4'>})
    (C {<'./gbde'>} {<init>} {($ Id.VSub_DollarName '$D')} {<-P>} {<foo>})
    (C {<'./gbde'>} {<setkey>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo>} {<-P>} {<bar>})
    (C {<'./gbde'>} {<setkey>} {($ Id.VSub_DollarName '$D')} {<-p>} {<bar>} {<-P>} {<foo>})
    (C {<'./gbde'>} {<setkey>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo>} {<-n>} {<2>} {<-P>} {<foo2>})
    (C {<'./gbde'>} {<setkey>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo2>} {<-n>} {<3>} {<-P>} {<foo3>})
    (C {<'./gbde'>} {<setkey>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo3>} {<-n>} {<4>} {<-P>} {<foo4>})
    (C {<'./gbde'>} {<setkey>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo4>} {<-n>} {<1>} {<-P>} {<foo1>})
    (C {<mdconfig>} {<-d>} {<-u>} {($ Id.VSub_DollarName '$MD')})
    (C {<mdconfig>} {<-a>} {<-t>} {<malloc>} {<-s>} {<1m>} {<-u>} {($ Id.VSub_DollarName '$MD')})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: (C {<Id.Lit_LBracket '['>} {<-f>} {<image.uu>} {<Id.Lit_RBracket ']'>})
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.Pipeline
              children: [
                (C {<uudecode>} {<-p>} {<image.uu>})
                (command.Simple
                  words: [{<bzcat>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName '$D')}
                    )
                  ]
                  do_fork: T
                )
              ]
              negated: F
            )
          ]
          spids: [600 612]
        )
      ]
      else_action: [
        (command.Pipeline
          children: [
            (C {<uudecode>} {<-p>} {(${ Id.VSub_Number 1) <'/image.uu'>})
            (command.Simple
              words: [{<bzcat>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$D')}
                )
              ]
              do_fork: T
            )
          ]
          negated: F
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} 
                      {
                        (command_sub
                          left_token: <Id.Left_Backtick '`'>
                          child: 
                            (command.Simple
                              words: [{<md5>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Less '<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: {($ Id.VSub_DollarName '$D')}
                                )
                              ]
                              do_fork: T
                            )
                        )
                      } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <a4066a739338d451b919e63f9ee4a12c>)} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'Failed to set up md(4) device correctly'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<2>})
          ]
          spids: [652 677]
        )
      ]
    )
    (C {<'./gbde'>} {<attach>} {($ Id.VSub_DollarName '$D')} {<-p>} {<foo>})
    (C {<fsck_ffs>} {(${ Id.VSub_Name D) <.bde>})
    (C {<'./gbde'>} {<detach>} {($ Id.VSub_DollarName '$D')})
    (C {<mdconfig>} {<-d>} {<-u>} {($ Id.VSub_DollarName '$MD')})
    (C {<echo>} {(DQ <'***********'>)})
    (C {<echo>} {(DQ <'Test passed'>)})
    (C {<echo>} {(DQ <'***********'>)})
    (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
  ]
)