(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'now='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'now='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'now='> name:now)
          op: assign_op.Equal
          rhs: {<2008-05-01> <Id.Lit_Other '+'> <01> <Id.Lit_Colon ':'> <02> <Id.Lit_Colon ':'> <03>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'regress='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'regress='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'regress='> name:regress)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number 1)}
        )
      ]
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.DBracket
                  left: <Id.KW_DLeftBracket '[['>
                  expr: (bool_expr.WordTest w:{($ Id.VSub_DollarName regress)})
                  right: <Id.Lit_DRightBracket ']]'>
                  redirects: []
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.Simple
              blame_tok: <printf>
              more_env: []
              words: [
                {<printf>}
                {
                  (SingleQuoted
                    left: <Id.Left_DollarSingleQuote '$\''>
                    tokens: [
                      <Id.Char_Literals '%s'>
                      <Id.Char_OneChar '\\t'>
                      <Id.Char_OneChar '\\t'>
                      <Id.Char_OneChar '\\t'>
                      <Id.Char_OneChar '\\t'>
                      <Id.Char_OneChar '\\t'>
                      <Id.Char_Literals '%s'>
                      <Id.Char_OneChar '\\t'>
                      <Id.Char_Literals '%s'>
                      <Id.Char_OneChar '\\n'>
                    ]
                    right: <Id.Right_SingleQuote '\''>
                  )
                }
                {(DQ <SET>)}
                {(DQ <NOW>)}
                {(DQ ($ Id.VSub_DollarName now))}
              ]
              redirects: []
              do_fork: T
            )
          ]
          spids: [80 88]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.WhileUntil
      keyword: <Id.KW_While while>
      cond: 
        (condition.Shell
          commands: [
            (command.Simple
              blame_tok: <read>
              more_env: []
              words: [{<read>} {<d>}]
              redirects: []
              do_fork: T
            )
          ]
        )
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.DBracket
                          left: <Id.KW_DLeftBracket '[['>
                          expr: (bool_expr.WordTest w:{($ Id.VSub_DollarName d)})
                          right: <Id.Lit_DRightBracket ']]'>
                          redirects: []
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.DBracket
                                  left: <Id.KW_DLeftBracket '[['>
                                  expr: (bool_expr.WordTest w:{($ Id.VSub_DollarName regress)})
                                  right: <Id.Lit_DRightBracket ']]'>
                                  redirects: []
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'width='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'width='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'width='> name:width)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (BracedVarSub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name d>
                                        var_name: d
                                        prefix_op: <Id.VSub_Pound '#'>
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              if_kw: <Id.KW_If if>
                              arms: [
                                (IfArm
                                  keyword: <Id.KW_If if>
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.DParen
                                          left: <Id.Op_DLeftParen _>
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_Less
                                              left: ($ Id.Lit_ArithVarLike width)
                                              right: {<Id.Lit_Digits 8>}
                                            )
                                          right: <Id.Op_DRightParen _>
                                          redirects: []
                                        )
                                      ]
                                    )
                                  then_kw: <Id.KW_Then then>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'sep='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'sep='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'sep='>
                                              name: sep
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (SingleQuoted
                                                left: <Id.Left_DollarSingleQuote '$\''>
                                                tokens: [
                                                  <Id.Char_OneChar '\\t'>
                                                  <Id.Char_OneChar '\\t'>
                                                  <Id.Char_OneChar '\\t'>
                                                  <Id.Char_OneChar '\\t'>
                                                  <Id.Char_OneChar '\\t'>
                                                ]
                                                right: <Id.Right_SingleQuote '\''>
                                              )
                                            }
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [161 175]
                                )
                                (IfArm
                                  keyword: <Id.KW_Elif elif>
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.DParen
                                          left: <Id.Op_DLeftParen _>
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_Less
                                              left: ($ Id.Lit_ArithVarLike width)
                                              right: {<Id.Lit_Digits 16>}
                                            )
                                          right: <Id.Op_DRightParen _>
                                          redirects: []
                                        )
                                      ]
                                    )
                                  then_kw: <Id.KW_Then then>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'sep='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'sep='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'sep='>
                                              name: sep
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (SingleQuoted
                                                left: <Id.Left_DollarSingleQuote '$\''>
                                                tokens: [
                                                  <Id.Char_OneChar '\\t'>
                                                  <Id.Char_OneChar '\\t'>
                                                  <Id.Char_OneChar '\\t'>
                                                  <Id.Char_OneChar '\\t'>
                                                ]
                                                right: <Id.Right_SingleQuote '\''>
                                              )
                                            }
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [187 201]
                                )
                                (IfArm
                                  keyword: <Id.KW_Elif elif>
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.DParen
                                          left: <Id.Op_DLeftParen _>
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_Less
                                              left: ($ Id.Lit_ArithVarLike width)
                                              right: {<Id.Lit_Digits 24>}
                                            )
                                          right: <Id.Op_DRightParen _>
                                          redirects: []
                                        )
                                      ]
                                    )
                                  then_kw: <Id.KW_Then then>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'sep='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'sep='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'sep='>
                                              name: sep
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (SingleQuoted
                                                left: <Id.Left_DollarSingleQuote '$\''>
                                                tokens: [
                                                  <Id.Char_OneChar '\\t'>
                                                  <Id.Char_OneChar '\\t'>
                                                  <Id.Char_OneChar '\\t'>
                                                ]
                                                right: <Id.Right_SingleQuote '\''>
                                              )
                                            }
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [212 226]
                                )
                                (IfArm
                                  keyword: <Id.KW_Elif elif>
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.DParen
                                          left: <Id.Op_DLeftParen _>
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_Less
                                              left: ($ Id.Lit_ArithVarLike width)
                                              right: {<Id.Lit_Digits 32>}
                                            )
                                          right: <Id.Op_DRightParen _>
                                          redirects: []
                                        )
                                      ]
                                    )
                                  then_kw: <Id.KW_Then then>
                                  action: [
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'sep='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'sep='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'sep='>
                                              name: sep
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (SingleQuoted
                                                left: <Id.Left_DollarSingleQuote '$\''>
                                                tokens: [
                                                  <Id.Char_OneChar '\\t'>
                                                  <Id.Char_OneChar '\\t'>
                                                ]
                                                right: <Id.Right_SingleQuote '\''>
                                              )
                                            }
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [236 250]
                                )
                              ]
                              else_kw: <Id.KW_Else else>
                              else_action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'sep='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'sep='>
                                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'sep='> name:sep)
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SingleQuoted
                                            left: <Id.Left_DollarSingleQuote '$\''>
                                            tokens: [<Id.Char_OneChar '\\t'>]
                                            right: <Id.Right_SingleQuote '\''>
                                          )
                                        }
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              fi_kw: <Id.KW_Fi fi>
                              redirects: []
                            )
                            (command.If
                              if_kw: <Id.KW_If if>
                              arms: [
                                (IfArm
                                  keyword: <Id.KW_If if>
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.DBracket
                                          left: <Id.KW_DLeftBracket '[['>
                                          expr: 
                                            (bool_expr.Binary
                                              op_id: Id.BoolBinary_GlobDEqual
                                              left: {($ Id.VSub_DollarName d)}
                                              right: 
                                                {
                                                  (word_part.ExtGlob
                                                    op: <Id.ExtGlob_Plus '+('>
                                                    arms: [{<'[a-z]'>}]
                                                    right: <Id.Right_ExtGlob _>
                                                  ) <day>
                                                }
                                            )
                                          right: <Id.Lit_DRightBracket ']]'>
                                          redirects: []
                                        )
                                      ]
                                    )
                                  then_kw: <Id.KW_Then then>
                                  action: [
                                    (command.Simple
                                      blame_tok: <printf>
                                      more_env: []
                                      words: [
                                        {<printf>}
                                        {
                                          (SingleQuoted
                                            left: <Id.Left_DollarSingleQuote '$\''>
                                            tokens: [
                                              <Id.Char_Literals '%s%sNULL'>
                                              <Id.Char_OneChar '\\t'>
                                              <Id.Char_Literals '%s'>
                                              <Id.Char_OneChar '\\n'>
                                            ]
                                            right: <Id.Right_SingleQuote '\''>
                                          )
                                        }
                                        {(DQ ($ Id.VSub_DollarName d))}
                                        {(DQ ($ Id.VSub_DollarName sep))}
                                        {
                                          (DQ 
                                            (CommandSub
                                              left_token: <Id.Left_DollarParen '$('>
                                              child: 
                                                (command.Pipeline
                                                  children: [
                                                    (command.Simple
                                                      blame_tok: <date>
                                                      more_env: []
                                                      words: [
                                                        {<date>}
                                                        {<-s>}
                                                        {
                                                          (DQ ($ Id.VSub_DollarName now) <' '> 
                                                            ($ Id.VSub_DollarName d)
                                                          )
                                                        }
                                                      ]
                                                      redirects: []
                                                      do_fork: T
                                                    )
                                                    (command.Simple
                                                      blame_tok: <tail>
                                                      more_env: []
                                                      words: [{<tail>} {<-1>}]
                                                      redirects: []
                                                      do_fork: T
                                                    )
                                                  ]
                                                  ops: [<Id.Op_Pipe _>]
                                                )
                                              right: <Id.Eof_RParen _>
                                            )
                                          )
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  ]
                                  spids: [270 286]
                                )
                              ]
                              else_kw: <Id.KW_Else else>
                              else_action: [
                                (command.Simple
                                  blame_tok: <printf>
                                  more_env: []
                                  words: [
                                    {<printf>}
                                    {
                                      (SingleQuoted
                                        left: <Id.Left_DollarSingleQuote '$\''>
                                        tokens: [
                                          <Id.Char_Literals '%s%sNULL'>
                                          <Id.Char_OneChar '\\t'>
                                          <Id.Char_Literals '%s'>
                                          <Id.Char_OneChar '\\n'>
                                        ]
                                        right: <Id.Right_SingleQuote '\''>
                                      )
                                    }
                                    {(DQ ($ Id.VSub_DollarName d))}
                                    {(DQ ($ Id.VSub_DollarName sep))}
                                    {
                                      (DQ 
                                        (CommandSub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: 
                                            (command.Pipeline
                                              children: [
                                                (command.Simple
                                                  blame_tok: <date>
                                                  more_env: []
                                                  words: [
                                                    {<date>}
                                                    {<-s>}
                                                    {(DQ ($ Id.VSub_DollarName now))}
                                                    {(DQ ($ Id.VSub_DollarName d))}
                                                  ]
                                                  redirects: []
                                                  do_fork: T
                                                )
                                                (command.Simple
                                                  blame_tok: <tail>
                                                  more_env: []
                                                  words: [{<tail>} {<-1>}]
                                                  redirects: []
                                                  do_fork: T
                                                )
                                              ]
                                              ops: [<Id.Op_Pipe _>]
                                            )
                                          right: <Id.Eof_RParen _>
                                        )
                                      )
                                    }
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              fi_kw: <Id.KW_Fi fi>
                              redirects: []
                            )
                          ]
                          spids: [143 152]
                        )
                      ]
                      else_kw: <Id.KW_Else else>
                      else_action: [
                        (command.Simple
                          blame_tok: <printf>
                          more_env: []
                          words: [
                            {<printf>}
                            {
                              (SingleQuoted
                                left: <Id.Left_DollarSingleQuote '$\''>
                                tokens: [<Id.Char_Literals '%s %s'> <Id.Char_OneChar '\\n'>]
                                right: <Id.Right_SingleQuote '\''>
                              )
                            }
                            {
                              (DQ 
                                (CommandSub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (command.Simple
                                          blame_tok: <date>
                                          more_env: []
                                          words: [
                                            {<date>}
                                            {<-s>}
                                            {(DQ ($ Id.VSub_DollarName now))}
                                            {(DQ ($ Id.VSub_DollarName d))}
                                          ]
                                          redirects: []
                                          do_fork: T
                                        )
                                        (command.Simple
                                          blame_tok: <tail>
                                          more_env: []
                                          words: [{<tail>} {<-1>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                      ]
                                      ops: [<Id.Op_Pipe _>]
                                    )
                                  right: <Id.Eof_RParen _>
                                )
                              )
                            }
                            {(DQ ($ Id.VSub_DollarName d))}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                  ]
                  spids: [128 137]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.Simple
                  blame_tok: <printf>
                  more_env: []
                  words: [
                    {<printf>}
                    {
                      (SingleQuoted
                        left: <Id.Left_DollarSingleQuote '$\''>
                        tokens: [<Id.Char_OneChar '\\n'>]
                        right: <Id.Right_SingleQuote '\''>
                      )
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: [
        (Redir
          op: <Id.Redir_DLess '<<'>
          loc: (redir_loc.Fd fd:0)
          arg: 
            (redir_param.HereDoc
              here_begin: {<Id.KW_Bang '!'>}
              here_end_tok: <Id.Undefined_Tok ''>
              stdin_parts: [
                <'\n'>
                <'now\n'>
                <'\n'>
                <'sunday\n'>
                <'monday\n'>
                <'tuesday\n'>
                <'wednesday\n'>
                <'thursday\n'>
                <'friday\n'>
                <'saturday\n'>
                <'\n'>
                <'this month\n'>
                <'last month\n'>
                <'next month\n'>
                <'\n'>
                <'this month 1st monday\n'>
                <'this month first monday\n'>
                <'1st monday may 2008\n'>
                <'first monday may 2008\n'>
                <'\n'>
                <'this month 2nd monday\n'>
                <'this month second monday\n'>
                <'2nd monday may 2008\n'>
                <'second monday may 2008\n'>
                <'\n'>
                <'this month 3rd monday\n'>
                <'this month third monday\n'>
                <'3rd monday may 2008\n'>
                <'third monday may 2008\n'>
                <'\n'>
                <'this month 4th monday\n'>
                <'this month fourth monday\n'>
                <'4th monday may 2008\n'>
                <'fourth monday may 2008\n'>
                <'\n'>
                <'this month 5th monday\n'>
                <'this month fifth monday\n'>
                <'5th monday may 2008\n'>
                <'fifth monday may 2008\n'>
                <'\n'>
                <'this month 6th monday\n'>
                <'this month sixth monday\n'>
                <'6th monday may 2008\n'>
                <'sixth monday may 2008\n'>
                <'\n'>
                <'this month nth monday\n'>
                <'this month final monday\n'>
                <'nth monday may 2008\n'>
                <'final monday may 2008\n'>
                <'\n'>
                <'last month first monday\n'>
                <'last month 1st monday\n'>
                <'last month second monday\n'>
                <'last month 2nd monday\n'>
                <'last month third monday\n'>
                <'last month 3rd monday\n'>
                <'last month fourth monday\n'>
                <'last month 4th monday\n'>
                <'last month final monday\n'>
                <'last month nth monday\n'>
                <'\n'>
                <'next month first monday\n'>
                <'next month 1st monday\n'>
                <'next month second monday\n'>
                <'next month 2nd monday\n'>
                <'next month third monday\n'>
                <'next month 3rd monday\n'>
                <'next month fourth monday\n'>
                <'next month 4th monday\n'>
                <'next month final monday\n'>
                <'next month nth monday\n'>
                <'\n'>
              ]
            )
        )
      ]
    )
  ]
)