(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags='> name:flags)
          op: assign_op.Equal
          rhs: (rhs_word.Empty)
          spids: [44]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'abstr='> name:abstr)
          op: assign_op.Equal
          rhs: (rhs_word.Empty)
          spids: [46]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'headr='> name:headr)
          op: assign_op.Equal
          rhs: {<BIBLIOGRAPHY>}
          spids: [48]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'xroff='> name:xroff)
          op: assign_op.Equal
          rhs: {<'/usr/bin/nroff'>}
          spids: [51]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'macro='> name:macro)
          op: assign_op.Equal
          rhs: {<-mbib>}
          spids: [54]
        )
      ]
      redirects: []
    )
    (command.ForEach
      iter_names: [i]
      iterable: (for_iter.Args)
      body: 
        (command.DoGroup
          children: [
            (command.Case
              to_match: {($ Id.VSub_Number 1)}
              arms: [
                (case_arm
                  pat_list: [
                    {<-> <Id.Lit_LBracket '['> <onsrT> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'>}
                    {<-> <Id.Lit_LBracket '['> <qeh> <Id.Lit_RBracket ']'>}
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags='> name:flags)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName flags) <' '> ($ Id.VSub_Number 1))}
                          spids: [84]
                        )
                      ]
                      redirects: []
                    )
                    (C {<shift>})
                  ]
                  spids: [71 81 94 -1]
                )
                (case_arm
                  pat_list: [{<-x>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'abstr='> name:abstr)
                          op: assign_op.Equal
                          rhs: {(DQ <'X.ig ]-'>)}
                          spids: [101]
                        )
                      ]
                      redirects: []
                    )
                    (C {<shift>})
                  ]
                  spids: [97 98 109 -1]
                )
                (case_arm
                  pat_list: [{<-m>}]
                  action: [
                    (C {<shift>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'macro='> name:macro)
                          op: assign_op.Equal
                          rhs: {(DQ <-m> ($ Id.VSub_Number 1))}
                          spids: [119]
                        )
                      ]
                      redirects: []
                    )
                    (C {<shift>})
                  ]
                  spids: [112 113 128 -1]
                )
                (case_arm
                  pat_list: [{<-Q>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'xroff='> name:xroff)
                          op: assign_op.Equal
                          rhs: {(DQ <'/usr/bin/troff'>)}
                          spids: [135]
                        )
                      ]
                      redirects: []
                    )
                    (C {<shift>})
                  ]
                  spids: [131 132 143 -1]
                )
                (case_arm
                  pat_list: [{<-H>}]
                  action: [
                    (C {<shift>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'headr='> name:headr)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_Number 1))}
                          spids: [153]
                        )
                      ]
                      redirects: []
                    )
                    (C {<shift>})
                  ]
                  spids: [146 147 161 -1]
                )
                (case_arm
                  pat_list: [{<-> <Id.Lit_Star '*'>}]
                  action: [
                    (C {<echo>} {(DQ <'roffbib: unknown flag: '> ($ Id.VSub_Number 1))})
                    (C {<shift>})
                  ]
                  spids: [164 166 -1 180]
                )
              ]
              redirects: []
            )
          ]
        )
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: (condition.Shell commands:[(C {<test>} {($ Id.VSub_Number 1)})])
          action: [
            (command.Pipeline
              children: [
                (command.Subshell
                  child: 
                    (command.CommandList
                      children: [
                        (command.Sentence
                          child: (C {<echo>} {<.ds>} {<TL>} {($ Id.VSub_DollarName headr)})
                          terminator: <Id.Op_Semi _>
                        )
                        (C {<'/usr/bin/refer'>} {<-a1>} {<-B> (DQ ($ Id.VSub_DollarName abstr))} 
                          {($ Id.VSub_Star '*')}
                        )
                      ]
                    )
                  redirects: []
                )
                (C {($ Id.VSub_DollarName xroff)} {($ Id.VSub_DollarName flags)} 
                  {($ Id.VSub_DollarName macro)}
                )
              ]
              negated: F
              stderr_indices: []
            )
          ]
          spids: [184 190]
        )
      ]
      else_action: [
        (command.Pipeline
          children: [
            (command.Subshell
              child: 
                (command.CommandList
                  children: [
                    (command.Sentence
                      child: (C {<echo>} {<.ds>} {<TL>} {($ Id.VSub_DollarName headr)})
                      terminator: <Id.Op_Semi _>
                    )
                    (C {<'/usr/bin/refer'>} {<-a1>} {<-B> (DQ ($ Id.VSub_DollarName abstr))})
                  ]
                )
              redirects: []
            )
            (C {($ Id.VSub_DollarName xroff)} {($ Id.VSub_DollarName flags)} 
              {($ Id.VSub_DollarName macro)}
            )
          ]
          negated: F
          stderr_indices: []
        )
      ]
      redirects: []
    )
  ]
)