(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DEFAULT_FILE='> name:DEFAULT_FILE)
          op: assign_op.Equal
          rhs: {(DQ <'/etc/default/sendmail'>)}
          spids: [70]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SENDMAIL='> name:SENDMAIL)
          op: assign_op.Equal
          rhs: {(DQ <'/usr/lib/smtp/sendmail/sendmail'>)}
          spids: [75]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATH='> name:PATH)
          op: assign_op.Equal
          rhs: {(DQ <'/usr/bin:/usr/sbin:/usr/ccs/bin'>)}
          spids: [80]
        )
      ]
      redirects: []
    )
    (C {<export>} {<PATH>})
    (command.ShFunction
      name: check_queue_interval_syntax
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'default='> name:default)
                  op: assign_op.Equal
                  rhs: {(DQ <15m>)}
                  spids: [97]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '#')} {<-lt>} {<1>} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'answer='> name:answer)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName default)}
                          spids: [119]
                        )
                      ]
                      redirects: []
                    )
                    (command.ControlFlow token:<Id.ControlFlow_Return return>)
                  ]
                  spids: [103 116]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<echo>} {($ Id.VSub_Number 1)})
                                (command.Simple
                                  words: [{<egrep>} {(SQ <'^([0-9]*[1-9][0-9]*[smhdw])+$'>)}]
                                  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>}
                                    )
                                  ]
                                  more_env: []
                                  do_fork: T
                                )
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'answer='> name:answer)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_Number 1)}
                          spids: [153]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [129 150]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'answer='> name:answer)
                      op: assign_op.Equal
                      rhs: {($ Id.VSub_DollarName default)}
                      spids: [160]
                    )
                  ]
                  redirects: []
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: check_and_kill
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PID='> name:PID)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: (C {<head>} {<-1>} {($ Id.VSub_Number 1)})
                        right: <Id.Backtick_Right '`'>
                      )
                    }
                  spids: [176]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [{<kill>} {<-0>} {($ Id.VSub_DollarName PID)}]
              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>})
              ]
              more_env: []
              do_fork: T
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-eq>} {<0>} {<Id.Lit_RBracket ']'>})
                (C {<kill>} {($ Id.VSub_DollarName PID)})
              ]
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: exist_or_exit
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {($ Id.VSub_Number 1)} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Simple
                      words: [{<echo>} {(DQ ($ Id.VSub_Number 1) <' does not exist'>)}]
                      redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
                      more_env: []
                      do_fork: T
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)}
                    )
                  ]
                  spids: [228 241]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: turn_m4_crank
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '#')} {<-lt>} {<2>} {<Id.Lit_RBracket ']'>})
                (command.ControlFlow token:<Id.ControlFlow_Return return>)
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cf_path='> name:cf_path)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                  spids: [291]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'm4_path='> name:m4_path)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 2)}
                  spids: [295]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName m4_path))} 
                              {<Id.Lit_Equals '='>} {(DQ <_DONT_TOUCH_THIS>)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-f>} 
                                      {(DQ (${ Id.VSub_Name cf_path) <.old>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<mv>} {(DQ ($ Id.VSub_DollarName cf_path))} 
                              {(DQ (${ Id.VSub_Name cf_path) <.new>)}
                            )
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} 
                                  {<Id.Lit_RBracket ']'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Exit exit>
                                  arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)}
                                )
                              ]
                            )
                            (C {<mv>} {(DQ (${ Id.VSub_Name cf_path) <.old>)} 
                              {(DQ ($ Id.VSub_DollarName cf_path))}
                            )
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} 
                                  {<Id.Lit_RBracket ']'>}
                                )
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Exit exit>
                                  arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)}
                                )
                              ]
                            )
                          ]
                          spids: [319 335]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [299 316]
                )
              ]
              else_action: [
                (command.Case
                  to_match: {(DQ ($ Id.VSub_DollarName m4_path))}
                  arms: [
                    (case_arm
                      pat_list: [{<'/'> <Id.Lit_Star '*'>}]
                      action: []
                      spids: [431 433 435 -1]
                    )
                    (case_arm
                      pat_list: [{<Id.Lit_Star '*'>}]
                      action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)]
                      spids: [441 442 445 -1]
                    )
                  ]
                  redirects: []
                )
                (C {<exist_or_exit>} {(DQ ($ Id.VSub_DollarName m4_path))})
                (C {<cd>} 
                  {
                    (command_sub
                      left_token: <Id.Left_Backtick '`'>
                      child: (C {<dirname>} {(DQ ($ Id.VSub_DollarName m4_path))})
                      right: <Id.Backtick_Right '`'>
                    )
                  }
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'base='> name:base)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: <Id.Left_Backtick '`'>
                            child: (C {<basename>} {(DQ ($ Id.VSub_DollarName m4_path))})
                            right: <Id.Backtick_Right '`'>
                          )
                        }
                      spids: [471]
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'name='> name:name)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: <Id.Left_Backtick '`'>
                            child: (C {<basename>} {(DQ ($ Id.VSub_DollarName m4_path))} {<.mc>})
                            right: <Id.Backtick_Right '`'>
                          )
                        }
                      spids: [483]
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'info='> name:info)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: <Id.Left_Backtick '`'>
                            child: 
                              (command.Simple
                                words: [
                                  {<svcprop>}
                                  {<-p>}
                                  {<'config/include_info'>}
                                  {($ Id.VSub_DollarName SMF_FMRI)}
                                ]
                                redirects: [
                                  (redir
                                    op: <Id.Redir_Great '2>'>
                                    loc: (redir_loc.Fd fd:2)
                                    arg: {<'/dev/null'>}
                                  )
                                ]
                                more_env: []
                                do_fork: T
                              )
                            right: <Id.Backtick_Right '`'>
                          )
                        }
                      spids: [497]
                    )
                  ]
                  redirects: []
                )
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName info))} 
                                  {<Id.Lit_Equals '='>} {(DQ <true>)} {<Id.Lit_RBracket ']'>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'm4flags='> name:m4flags)
                              op: assign_op.Equal
                              rhs: {(DQ )}
                              spids: [534]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [514 531]
                    )
                  ]
                  else_action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'm4flags='> name:m4flags)
                          op: assign_op.Equal
                          rhs: {(DQ <-DSUN_HIDE_INTERNAL_DETAILS>)}
                          spids: [542]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  redirects: []
                )
                (command.Simple
                  words: [
                    {<m4>}
                    {($ Id.VSub_DollarName m4flags)}
                    {<'/etc/mail/cf/m4/cf.m4'>}
                    {(DQ ($ Id.VSub_DollarName base))}
                  ]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {(DQ (${ Id.VSub_Name name) <.cf>)}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} 
                      {<Id.Lit_RBracket ']'>}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)}
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {<cmp>} {<-s>} {(DQ (${ Id.VSub_Name name) <.cf>)} 
                      {(DQ ($ Id.VSub_DollarName cf_path))}
                    )
                    (command.Subshell
                      child: 
                        (command.AndOr
                          ops: [Id.Op_DAmp Id.Op_DAmp Id.Op_DAmp]
                          children: [
                            (C {<cp>} {(DQ (${ Id.VSub_Name name) <.cf>)} 
                              {(DQ (${ Id.VSub_Name cf_path) <.tmp>)}
                            )
                            (C {<chown>} {<root> <Id.Lit_Colon ':'> <bin>} 
                              {(DQ (${ Id.VSub_Name cf_path) <.tmp>)}
                            )
                            (C {<chmod>} {<444>} {(DQ (${ Id.VSub_Name cf_path) <.tmp>)})
                            (C {<mv>} {(DQ (${ Id.VSub_Name cf_path) <.tmp>)} 
                              {(DQ ($ Id.VSub_DollarName cf_path))}
                            )
                          ]
                        )
                      redirects: []
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} 
                      {<Id.Lit_RBracket ']'>}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)}
                    )
                  ]
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
  ]
)